From olaf at infovore.xs4all.nl Fri Feb 7 23:40:02 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:26 2005 Subject: [tex-pretest] Web2C 7.4.6 Message-ID: <874r7fn29p.fsf@infovore.xs4all.nl> Web2C 7.4.6 -- for testing purposes - adds e-Omega 1.23., based on Fabrice's port from 1.15. - web2c's makefile has been extensively rewritten. It is not (yet) expected to be pefect - a change to the search algorithm of kpathsea when there are multiple candidates. (Booing all over the place.) Use these links to get it: ftp://ftp.tug.org/private/tex/web-7.4.6.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.4.6-etex-2.1.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.4.6-omega-1.23.2.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.4.6-pdftex-3.14159-1.10a.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.4.6-pdftexlibs.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.4.6.tar.gz Or failing that, fall back on these: http://www.xs4all.nl/~infovore/web-7.4.6.tar.gz http://www.xs4all.nl/~infovore/web2c-7.4.6-etex-2.1.tar.gz http://www.xs4all.nl/~infovore/web2c-7.4.6-omega-1.23.2.tar.gz http://www.xs4all.nl/~infovore/web2c-7.4.6-pdftex-3.14159-1.10a.tar.gz http://www.xs4all.nl/~infovore/web2c-7.4.6-pdftexlibs.tar.gz http://www.xs4all.nl/~infovore/web2c-7.4.6.tar.gz -- Olaf Weber (This space left blank for technical reasons.) From olaf at infovore.xs4all.nl Fri Feb 7 23:42:26 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:26 2005 Subject: [tex-pretest] Re: Web2C 7.4.6 In-Reply-To: <874r7fn29p.fsf@infovore.xs4all.nl> References: <874r7fn29p.fsf@infovore.xs4all.nl> Message-ID: <87znp7lnl9.fsf@infovore.xs4all.nl> Olaf Weber writes: > Web2C 7.4.6 -- for testing purposes > - adds e-Omega 1.23., based on Fabrice's port from 1.15. > - web2c's makefile has been extensively rewritten. It is not (yet) > expected to be pefect > - a change to the search algorithm of kpathsea when there are multiple > candidates. (Booing all over the place.) (In other words, just fiddling with various bits and pieces of the backlog.) > Use these links to get it: > ftp://ftp.tug.org/private/tex/web-7.4.6.tar.gz > ftp://ftp.tug.org/private/tex/web2c-7.4.6-etex-2.1.tar.gz > ftp://ftp.tug.org/private/tex/web2c-7.4.6-omega-1.23.2.tar.gz Should be ftp://ftp.tug.org/private/tex/web2c-7.4.6-omega-1.23.2.1.tar.gz > ftp://ftp.tug.org/private/tex/web2c-7.4.6-pdftex-3.14159-1.10a.tar.gz > ftp://ftp.tug.org/private/tex/web2c-7.4.6-pdftexlibs.tar.gz > ftp://ftp.tug.org/private/tex/web2c-7.4.6.tar.gz > Or failing that, fall back on these: > http://www.xs4all.nl/~infovore/web-7.4.6.tar.gz > http://www.xs4all.nl/~infovore/web2c-7.4.6-etex-2.1.tar.gz > http://www.xs4all.nl/~infovore/web2c-7.4.6-omega-1.23.2.tar.gz Should be http://www.xs4all.nl/~infovore/web2c-7.4.6-omega-1.23.2.1.tar.gz > http://www.xs4all.nl/~infovore/web2c-7.4.6-pdftex-3.14159-1.10a.tar.gz > http://www.xs4all.nl/~infovore/web2c-7.4.6-pdftexlibs.tar.gz > http://www.xs4all.nl/~infovore/web2c-7.4.6.tar.gz -- Olaf Weber (This space left blank for technical reasons.) From peb at mppmu.mpg.de Tue Feb 11 17:06:21 2003 From: peb at mppmu.mpg.de (Peter Breitenlohner) Date: Fri Feb 18 15:06:26 2005 Subject: [tex-pretest] Web2C 7.4.6 In-Reply-To: <874r7fn29p.fsf@infovore.xs4all.nl> References: <874r7fn29p.fsf@infovore.xs4all.nl> Message-ID: On Fri, 7 Feb 2003, Olaf Weber wrote: > Web2C 7.4.6 -- for testing purposes Hi Olaf, I just tested this and everything compiles fine, BUT: My first attempt to run 'make check' (on ix86-linux-gnu) failed with this: ========================= begin ==================== CWEBINPUTS=../../../web2c-7.4.6/texk/web2c/cwebdir ./cweave common.w || : This is CWEAVE, Version 3.64 (Web2C 7.4.6) ! Cannot open change file /dev/null. (l. 0) (That was a fatal error, my friend.) make[2]: *** [cweave-check] Error 1 ========================= end ==================== Next I applied this patch: ========================= begin ==================== diff -ur web2c-7.4.6.orig/texk/web2c/Makefile.in web2c-7.4.6/texk/web2c/Makefile.in --- web2c-7.4.6.orig/texk/web2c/Makefile.in 2003-02-07 22:22:52.000000000 +0100 +++ web2c-7.4.6/texk/web2c/Makefile.in 2003-02-11 16:38:31.000000000 +0100 @@ -148,7 +148,7 @@ CWEBINPUTS=$(srcdir)/cwebdir ./ctangle cweave cweav-w2c check: cweave-check cweave-check: cweave - CWEBINPUTS=$(srcdir)/cwebdir ./cweave common.w + CWEBINPUTS=$(srcdir)/cwebdir ./cweave common.w || : clean:: cweave-clean cweave-clean: rm -f cweave cweave.o cweave.c ========================= end ==================== But then 'make check' failed like this: ========================= begin ==================== (TFMFONTS=../../../web2c-7.4.6/texk/web2c/tests ./dvicopy <../../../web2c-7.4.6/texk/web2c/tests/pplr.dvi \ >tests/xpplr.dvi) 2>&1 This is DVIcopy, Version 1.5 (Web2C 7.4.6) Copyright (C) 1990,95 Peter Breitenlohner Distributed under terms of GNU General Public License DVI file: ' TeX output 1995.05.27:1708', num=25400000, den=473628672, mag=1000. DVI: font 50 = pplr. DVI: font 36 = cmti10. DVI: font 31 = cmtt8. DVI: font 29 = cmtt10. DVI: font 3 = cmr7. DVI: font 0 = cmr10. DVI: processing page 1. DVI: font 3 = cmr7. TFM: font 4 = cmr7. OUT: font 4 = cmr7. DVI: font 31 = cmtt8. TFM: font 2 = cmtt8 ---not loaded, TFM file can't be opened!. (That was a fatal error, my friend.) make[2]: *** [dvicopy-check] Error 1 ========================= end ==================== so I finally gave up. While failure for the new target 'cweave-check' might be expected, the second test of the old target 'dvicopy-check' now fails, whereas it used to succeed for web2c-7.4.5. Any comments? regards Peter Breitenlohner From olaf at infovore.xs4all.nl Tue Feb 11 20:04:38 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:26 2005 Subject: [tex-pretest] Web2C 7.4.6 In-Reply-To: References: <874r7fn29p.fsf@infovore.xs4all.nl> Message-ID: <874r7awse1.fsf@infovore.xs4all.nl> Peter Breitenlohner writes: > On Fri, 7 Feb 2003, Olaf Weber wrote: >> Web2C 7.4.6 -- for testing purposes > While failure for the new target 'cweave-check' might be expected, the > second test of the old target 'dvicopy-check' now fails, whereas it used to > succeed for web2c-7.4.5. > Any comments? For cweave-test: Index: pathsearch.c =================================================================== RCS file: /usr/local/cvsroot/texk/texk/kpathsea/pathsearch.c,v retrieving revision 1.14 diff -u -r1.14 pathsearch.c --- pathsearch.c 7 Feb 2003 22:06:32 -0000 1.14 +++ pathsearch.c 11 Feb 2003 19:01:41 -0000 @@ -435,6 +435,14 @@ /* No need to do any expansion on names. */ + for (namep = names; *namep; namep++) { + if (kpse_absolute_p(*namep, true) && kpse_readable_file(*namep)) { + str_list_add(&ret_list, xstrdup(*namep)); + /* I know, I know... */ + goto out; + } + } + /* Look at each path element in turn. */ for (elt = kpse_path_element (path); !done && elt; elt = kpse_path_element (NULL)) @@ -480,6 +488,7 @@ } } + out: if (STR_LIST_LENGTH (ret_list) == 0 || (all && STR_LIST_LAST_ELT (ret_list) != NULL)) str_list_add (&ret_list, NULL); For dvicopy-check: change the line (TFMFONTS=$(srcdir)/tests ./dvicopy <$(srcdir)/tests/pplr.dvi \ to (TFMFONTS=$(srcdir)/tests: ./dvicopy <$(srcdir)/tests/pplr.dvi \ That is, add a colon in the TFMFONTS definition. I was playing with making that part self-contained, and not everything needed made it into the package. -- Olaf Weber (This space left blank for technical reasons.) From peb at mppmu.mpg.de Fri Feb 14 13:56:05 2003 From: peb at mppmu.mpg.de (Peter Breitenlohner) Date: Fri Feb 18 15:06:26 2005 Subject: [tex-pretest] Re: [tex-implementors] MFT: name capacity exceeded In-Reply-To: References: Message-ID: On Fri, 14 Feb 2003, Boguslaw Jackowski wrote: > strugling with huge fonts, i.e., containing more than thousand glyphs, > I have been thwarted by MFT (version 2.0, Web2c 7.3.7x): > ! Sorry, name capacity exceeded. > The size of the source to be formatted is circa 1.5MB, the error > occured somewhere in the middle of the file. The source is written in > a METAPOST lingo (I'm using my METAPOST engine for generating Type 1 > fonts, METATYPE1; METAPOST processes the source without trouble). > > Can the problem be cured or patched somehow? Boguslaw, ======== The only way I can imagine to fix this, is to rebuild MFT with an increased value for max_names (in the web source, maxnames in the generated mft.c). You then probably should increase max_bytes as well. Technically, you have to add these modifications to the web2c changefile mft.ch, and then rebuild the mft binary. These values (currently max_bytes=10000, max_names=1000) are hardcoded into the program (as web macros, converted into cpp macros) and not run-time configurable. To the Web2c list: ================= I think it might be a good idea to increase (double or triple) these values for the next web2c distribution (and maybe increase the values of such constants in some of the other programs as well). Boguslaw, ======== Once you succeed in enlarging MFT, could you tell us by how much you had to do this. regards Peter Breitenlohner From olaf at infovore.xs4all.nl Sat Feb 15 15:28:10 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:26 2005 Subject: [tex-pretest] Web2C 7.5.0 Message-ID: <87r8a9pqit.fsf@infovore.xs4all.nl> Web2C 7.5.0 -- "breaking lots of things" Changes compared to 7.4.6: - libtool Not sure whether it still works: - The omega 1.23.4 tree Next up: - either encTeX or DEK's new stuff -- the latter needs an e-TeX update. Use these links to get it: ftp://ftp.tug.org/private/tex/web-7.5.0.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.5.0-etex-2.1.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.5.0-omega-1.23.2.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.5.0-pdftex-3.14159-1.10b-beta-20030213.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.5.0-pdftexlibs.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.5.0.tar.gz Or failing that, fall back on these: http://www.xs4all.nl/~infovore/web-7.5.0.tar.gz http://www.xs4all.nl/~infovore/web2c-7.5.0-etex-2.1.tar.gz http://www.xs4all.nl/~infovore/web2c-7.5.0-omega-1.23.2.tar.gz http://www.xs4all.nl/~infovore/web2c-7.5.0-pdftex-3.14159-1.10b-beta-20030213.tar.gz http://www.xs4all.nl/~infovore/web2c-7.5.0-pdftexlibs.tar.gz http://www.xs4all.nl/~infovore/web2c-7.5.0.tar.gz -- Olaf Weber (This space left blank for technical reasons.) From te at dbs.uni-hannover.de Sat Feb 15 15:40:30 2003 From: te at dbs.uni-hannover.de (Thomas Esser) Date: Fri Feb 18 15:06:26 2005 Subject: [tex-pretest] Web2C 7.5.0 In-Reply-To: Your message of 15 Feb 2003 15:28:10 +0100 <87r8a9pqit.fsf@infovore.xs4all.nl> References: <87r8a9pqit.fsf@infovore.xs4all.nl> Message-ID: <200302151440.h1FEeUfC012996@gauss.dbs.uni-hannover.de> > Web2C 7.5.0 -- "breaking lots of things" Oh, cool. After that long "stability" towards teTeX-2.0, that's what I have waited for. > - libtool Great. > Not sure whether it still works: > - The omega 1.23.4 tree We'll see... > Next up: > - either encTeX or DEK's new stuff -- the latter needs an e-TeX update. I'd vote for Knuth's stuff. IMHO, I would not hurt if you make a release that is broken wrt. eTeX (and even Omega). The relevant people should pick up your stuff an make their adjustments. Teamwork is how I'd tell this... So, my suggestion is to make change the DEK's stuff first. The question is if TeX Live 8 will follow all these... (I hope so). Thomas From olaf at infovore.xs4all.nl Sat Feb 15 15:53:57 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:26 2005 Subject: [tex-pretest] Web2C 7.5.0 In-Reply-To: <200302151440.h1FEeUfC012996@gauss.dbs.uni-hannover.de> References: <87r8a9pqit.fsf@infovore.xs4all.nl> <200302151440.h1FEeUfC012996@gauss.dbs.uni-hannover.de> Message-ID: <87adgxppbu.fsf@infovore.xs4all.nl> Thomas Esser writes: >> Web2C 7.5.0 -- "breaking lots of things" > Oh, cool. After that long "stability" towards teTeX-2.0, that's what > I have waited for. Just clearing the backlog, bit by bit. >> - libtool > Great. You can use Albert Chin-A-Young's patches as a guide to what needs to where special things need to be done in your tree. Much should be picked up from the ../make/*.mk files (phew) but places that don't, for example, get their "clean" and "distclean" targets from those will require changes. >> Not sure whether it still works: >> - The omega 1.23.4 tree > We'll see... And once they've got it working again, I'll see if I can break it more thoroughly next time. :^) >> Next up: >> - either encTeX or DEK's new stuff -- the latter needs an e-TeX update. > I'd vote for Knuth's stuff. IMHO, I would not hurt if you make a release > that is broken wrt. eTeX (and even Omega). The relevant people should pick > up your stuff an make their adjustments. Teamwork is how I'd tell this... > So, my suggestion is to make change the DEK's stuff first. > The question is if TeX Live 8 will follow all these... (I hope so). So do I. At the very least the development tree should start tracking these changes: merging new stuff will become progressively more painful. -- Olaf Weber (This space left blank for technical reasons.) From olaf at infovore.xs4all.nl Sat Feb 15 15:59:11 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:26 2005 Subject: [tex-pretest] Re: [tex-implementors] MFT: name capacity exceeded In-Reply-To: References: Message-ID: <87y94hoaio.fsf@infovore.xs4all.nl> Peter Breitenlohner writes: > These values (currently max_bytes=10000, max_names=1000) are hardcoded into > the program (as web macros, converted into cpp macros) and not run-time > configurable. I'm using 60000 and 6000 in Web2C 7.5.0. -- Olaf Weber (This space left blank for technical reasons.) From sebastian.rahtz at computing-services.oxford.ac.uk Sat Feb 15 16:11:56 2003 From: sebastian.rahtz at computing-services.oxford.ac.uk (Sebastian Rahtz) Date: Fri Feb 18 15:06:26 2005 Subject: [tex-pretest] Web2C 7.5.0 In-Reply-To: <200302151440.h1FEeUfC012996@gauss.dbs.uni-hannover.de> References: <87r8a9pqit.fsf@infovore.xs4all.nl> <200302151440.h1FEeUfC012996@gauss.dbs.uni-hannover.de> Message-ID: <20030215151156.GD2790@spqr-dell> > > I'd vote for Knuth's stuff. so would I. get that out of the way. > The question is if TeX Live 8 will follow all these... (I hope so). I am absolutely in favour -- Sebastian Rahtz OUCS Information Manager 13 Banbury Road, Oxford OX2 6NN. Phone +44 1865 283431 From olaf at infovore.xs4all.nl Sat Feb 15 23:38:04 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:27 2005 Subject: [tex-pretest] Web2C 7.5.0 In-Reply-To: <20030215151156.GD2790@spqr-dell> References: <87r8a9pqit.fsf@infovore.xs4all.nl> <200302151440.h1FEeUfC012996@gauss.dbs.uni-hannover.de> <20030215151156.GD2790@spqr-dell> Message-ID: <87heb5gofn.fsf@infovore.xs4all.nl> Sebastian Rahtz writes: >> I'd vote for Knuth's stuff. > so would I. get that out of the way. I now have a workarea with merged changes, including possible changes for e-TeX (called "2.2" in my tree), pdfTeX and pdfeTeX, Omega and e-Omega (called "1.23.2.2", derived from the 1.23.2 tree). My diffs, just the change files, and who knows, they might even be correct! (Don't expect full tarballs before monday late my time.) (And I _do_ I'm not upsetting anyone by touching files that strictly speaking I'm not supposed to touch (esp e-TeX).) diff -ur web2c/src/texk/texk/web2c/eomegadir/eobase.ch tmp/texk/web2c-7.5.0-knuth/texk/web2c/eomegadir/eobase.ch --- web2c/src/texk/texk/web2c/eomegadir/eobase.ch 2003-02-07 18:40:58.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/eomegadir/eobase.ch 2003-02-15 22:45:17.000000000 +0100 @@ -176,13 +176,13 @@ @z %--------------------------------------- @x [1] m.2 l.187 - e-TeX basic -@d banner=='This is Omega, Version 3.14159--1.23.2.1' {printed when \TeX\ starts} +@d banner=='This is Omega, Version 3.141592--1.23.2.2' {printed when \TeX\ starts} @y -@d banner=='This is e-Omega, Version 3.14159--1.23.2.1--2.1' {printed when \TeX\ starts} +@d banner=='This is e-Omega, Version 3.141592--1.23.2.2--2.2' {printed when \TeX\ starts} @# -@d eTeX_version_string=='3.14159--1.23.2.1--2.1' {current \eTeX\ version} +@d eTeX_version_string=='3.14159--1.23.2.2--2.2' {current \eTeX\ version} @d eTeX_version=2 { \.{\\eTeXversion} } -@d eTeX_revision==".1" { \.{\\eTeXrevision} } +@d eTeX_revision==".2" { \.{\\eTeXrevision} } @# @d eTeX_banner=='This is e-Omega, Version ',eTeX_version_string {printed when \eTeX\ starts} diff -ur web2c/src/texk/texk/web2c/eomegadir/eomegaextra.h tmp/texk/web2c-7.5.0-knuth/texk/web2c/eomegadir/eomegaextra.h --- web2c/src/texk/texk/web2c/eomegadir/eomegaextra.h 2003-02-07 18:40:58.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/eomegadir/eomegaextra.h 2003-02-15 22:49:30.000000000 +0100 @@ -24,7 +24,7 @@ */ -#define BANNER "This is e-Omega, Version 3.14159-1.23.2.1-2.1" +#define BANNER "This is e-Omega, Version 3.141592-1.23.2.2-2.2" #define COPYRIGHT_HOLDER "J. Plaice and Y. Haralambous" #define AUTHOR NULL #define PROGRAM_HELP EOMEGAHELP diff -ur web2c/src/texk/texk/web2c/eomegadir/omega.ch0 tmp/texk/web2c-7.5.0-knuth/texk/web2c/eomegadir/omega.ch0 --- web2c/src/texk/texk/web2c/eomegadir/omega.ch0 2003-02-07 19:57:33.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/eomegadir/omega.ch0 2003-02-15 22:45:44.000000000 +0100 @@ -7,9 +7,9 @@ % Public domain. @x -@d banner=='This is e-Omega, Version 3.14159--1.23.2.1--2.1' {printed when \TeX\ starts} +@d banner=='This is e-Omega, Version 3.141592--1.23.2.2--2.2' {printed when \TeX\ starts} @y -@d banner=='This is Omega, Version 3.14159--1.23.2.1' {printed when \TeX\ starts} +@d banner=='This is Omega, Version 3.141592--1.23.2.2' {printed when \TeX\ starts} @z @x diff -ur web2c/src/texk/texk/web2c/eomegadir/omega.ch1 tmp/texk/web2c-7.5.0-knuth/texk/web2c/eomegadir/omega.ch1 --- web2c/src/texk/texk/web2c/eomegadir/omega.ch1 2003-02-07 18:40:58.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/eomegadir/omega.ch1 2003-02-15 22:46:11.000000000 +0100 @@ -7,11 +7,11 @@ % Public domain. @x -@d banner=='This is Omega, Version 3.14159--1.23.2.1' {printed when \TeX\ starts} -@d banner_k=='This is Omegak, Version 3.14159--1.23.2.1' {printed when \TeX\ starts} +@d banner=='This is Omega, Version 3.141592--1.23.2.2' {printed when \TeX\ starts} +@d banner_k=='This is Omegak, Version 3.141592--1.23.2.2' {printed when \TeX\ starts} @y -@d banner=='This is e-Omega, Version 3.14159--1.23.2.1--2.1' {printed when \TeX\ starts} -@d banner_k=='This is e-Omegak, Version 3.14159--1.23.2.1--2.1' {printed when \TeX\ starts} +@d banner=='This is e-Omega, Version 3.141592--1.23.2.2--2.2' {printed when \TeX\ starts} +@d banner_k=='This is e-Omegak, Version 3.141592--1.23.2.2--2.2' {printed when \TeX\ starts} @z @x [1.2] l.188 - Web2C: extensions imply we're not TeX. diff -ur web2c/src/texk/texk/web2c/eomegadir/omega.ch2 tmp/texk/web2c-7.5.0-knuth/texk/web2c/eomegadir/omega.ch2 --- web2c/src/texk/texk/web2c/eomegadir/omega.ch2 2003-02-07 20:31:10.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/eomegadir/omega.ch2 2003-02-15 22:46:33.000000000 +0100 @@ -52,9 +52,9 @@ @z @x - print("Omega output, Version 3.14159--1.23.2.1, "); + print("Omega output, Version 3.141592--1.23.2.2, "); @y - print("e-Omega output, Version 3.14159--1.23.2.1--2.1, "); + print("e-Omega output, Version 3.141592--1.23.2.2--2.2, "); @z @x diff -ur web2c/src/texk/texk/web2c/etexdir/etex.ch tmp/texk/web2c-7.5.0-knuth/texk/web2c/etexdir/etex.ch --- web2c/src/texk/texk/web2c/etexdir/etex.ch 1999-01-31 00:00:00.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/etexdir/etex.ch 2003-02-15 22:52:09.000000000 +0100 @@ -156,13 +156,13 @@ @z %--------------------------------------- @x [1] m.2 l.187 - e-TeX basic -@d banner=='This is TeX, Version 3.14159' {printed when \TeX\ starts} +@d banner=='This is TeX, Version 3.141592' {printed when \TeX\ starts} @y -@d banner=='This is TeX, Version 3.14159' {printed when \TeX\ starts} +@d banner=='This is TeX, Version 3.141592' {printed when \TeX\ starts} @# -@d eTeX_version_string=='3.14159-2.1' {current \eTeX\ version} +@d eTeX_version_string=='3.141592-2.2' {current \eTeX\ version} @d eTeX_version=2 { \.{\\eTeXversion} } -@d eTeX_revision==".1" { \.{\\eTeXrevision} } +@d eTeX_revision==".2" { \.{\\eTeXrevision} } @# @d eTeX_banner=='This is e-TeX, Version ',eTeX_version_string {printed when \eTeX\ starts} @@ -1474,9 +1474,13 @@ %--------------------------------------- @x [32] m.619 l.12309 hlist_out - e-TeX add_glue @!glue_temp:real; {glue value before rounding} -begin this_box:=temp_ptr; g_order:=glue_order(this_box); @y -begin this_box:=temp_ptr; +@z + +@x +this_box:=temp_ptr; g_order:=glue_order(this_box); +@y +this_box:=temp_ptr; @z %--------------------------------------- @x [32] m.619 l.12315 hlist_out - e-TeX TeXXeT @@ -1554,15 +1558,17 @@ @x [32] m.625 l.12401 - e-TeX add_glue begin if g_sign=stretching then begin if stretch_order(g)=g_order then - begin vet_glue(float(glue_set(this_box))*stretch(g)); + begin cur_glue:=cur_glue+stretch(g); + vet_glue(float(glue_set(this_box))*cur_glue); @^real multiplication@> - rule_wd:=rule_wd+round(glue_temp); + cur_g:=round(glue_temp); end; end else if shrink_order(g)=g_order then - begin vet_glue(float(glue_set(this_box))*shrink(g)); - rule_wd:=rule_wd-round(glue_temp); - end; + begin cur_glue:=cur_glue-shrink(g); + vet_glue(float(glue_set(this_box))*cur_glue); + cur_g:=round(glue_temp); + end; end; @y add_glue(rule_wd); @@ -1597,9 +1603,12 @@ %--------------------------------------- @x [32] m.629 l.12498 vlist_out - e-TeX add_glue @!glue_temp:real; {glue value before rounding} -begin this_box:=temp_ptr; g_order:=glue_order(this_box); @y -begin this_box:=temp_ptr; +@z +@x +this_box:=temp_ptr; g_order:=glue_order(this_box); +@y +this_box:=temp_ptr; @z %--------------------------------------- @x [32] m.632 l.12544 - e-TeX TeXXeT @@ -1622,15 +1631,17 @@ @x [32] m.634 l.12564 - e-TeX add_glue begin if g_sign=stretching then begin if stretch_order(g)=g_order then - begin vet_glue(float(glue_set(this_box))*stretch(g)); + begin cur_glue:=cur_glue+stretch(g); + vet_glue(float(glue_set(this_box))*cur_glue); @^real multiplication@> - rule_ht:=rule_ht+round(glue_temp); + cur_g:=round(glue_temp); end; end else if shrink_order(g)=g_order then - begin vet_glue(float(glue_set(this_box))*shrink(g)); - rule_ht:=rule_ht-round(glue_temp); - end; + begin cur_glue:=cur_glue-shrink(g); + vet_glue(float(glue_set(this_box))*cur_glue); + cur_g:=round(glue_temp); + end; end; @y add_glue(rule_ht); @@ -5500,7 +5511,7 @@ if cur_val<256 then box(cur_val):=#@+else set_sa_box(#) @# @d set_sa_box(#)==begin find_sa_element(box_val,cur_val,false); - if cur_ptr<>0 then + if cur_ptr<>null then begin sa_ptr(cur_ptr):=#; add_sa_ref(cur_ptr); delete_sa_ref(cur_ptr); end; end Only in web2c/src/texk/texk/web2c/etexdir: etex.fix diff -ur web2c/src/texk/texk/web2c/etexdir/etex.mk tmp/texk/web2c-7.5.0-knuth/texk/web2c/etexdir/etex.mk --- web2c/src/texk/texk/web2c/etexdir/etex.mk 2003-02-15 15:10:18.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/etexdir/etex.mk 2003-02-15 22:52:14.000000000 +0100 @@ -26,9 +26,9 @@ ./tangle etex.web etex.ch # Generation of the web and ch file. -etex.web: tie tex.web etexdir/etex.ch etexdir/etex.fix etexdir/etex.mk +etex.web: tie tex.web etexdir/etex.ch etexdir/etex.mk ./tie -m etex.web $(srcdir)/tex.web \ - $(srcdir)/etexdir/etex.ch $(srcdir)/etexdir/etex.fix + $(srcdir)/etexdir/etex.ch etex.ch: tie etex.web etexdir/tex.ch0 tex.ch etexdir/tex.ch1 etexdir/tex.ech \ etexdir/tex.ch2 etexdir/etex.mk ./tie -c etex.ch etex.web \ diff -ur web2c/src/texk/texk/web2c/etexdir/etex.version tmp/texk/web2c-7.5.0-knuth/texk/web2c/etexdir/etex.version --- web2c/src/texk/texk/web2c/etexdir/etex.version 1999-01-31 21:31:39.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/etexdir/etex.version 2003-02-15 23:18:26.000000000 +0100 @@ -1 +1 @@ -2.1 \ No newline at end of file +2.2 \ No newline at end of file diff -ur web2c/src/texk/texk/web2c/etexdir/etexextra.h tmp/texk/web2c-7.5.0-knuth/texk/web2c/etexdir/etexextra.h --- web2c/src/texk/texk/web2c/etexdir/etexextra.h 1999-01-31 21:37:34.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/etexdir/etexextra.h 2003-02-15 22:49:16.000000000 +0100 @@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#define BANNER "This is e-TeX, Version 3.14159-2.1" +#define BANNER "This is e-TeX, Version 3.141592-2.2" #define COPYRIGHT_HOLDER "The NTS Team" #define AUTHOR NULL #define PROGRAM_HELP ETEXHELP diff -ur web2c/src/texk/texk/web2c/etexdir/etrip/etrip.tex tmp/texk/web2c-7.5.0-knuth/texk/web2c/etexdir/etrip/etrip.tex --- web2c/src/texk/texk/web2c/etexdir/etrip/etrip.tex 1999-01-31 00:00:00.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/etexdir/etrip/etrip.tex 2003-02-15 23:14:26.000000000 +0100 @@ -10,8 +10,8 @@ %%; \catcode`\{=1\catcode`\}=2\catcode`\#=6 \let\bgroup={ \let\egroup=} \def\etripdate {1999/01/32} -\def\texversion {3.14159} -\def\etripversion{2.1} +\def\texversion {3.141592} +\def\etripversion{2.2} % \message{This is the e-Trip test [\etripdate] for e-TeX v\texversion-\etripversion.} diff -ur web2c/src/texk/texk/web2c/lib/texmfmp.c tmp/texk/web2c-7.5.0-knuth/texk/web2c/lib/texmfmp.c --- web2c/src/texk/texk/web2c/lib/texmfmp.c 2003-02-07 20:43:21.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/lib/texmfmp.c 2003-02-15 22:48:58.000000000 +0100 @@ -49,7 +49,7 @@ #elif defined (eOmega) #include #else -#define BANNER "This is TeX, Version 3.14159" +#define BANNER "This is TeX, Version 3.141592" #define COPYRIGHT_HOLDER "D.E. Knuth" #define AUTHOR NULL #define PROGRAM_HELP TEXHELP @@ -64,7 +64,7 @@ #define edit_var "TEXEDIT" #endif /* TeX */ #ifdef MF -#define BANNER "This is Metafont, Version 2.7182" +#define BANNER "This is Metafont, Version 2.71828" #define COPYRIGHT_HOLDER "D.E. Knuth" #define AUTHOR NULL #define PROGRAM_HELP MFHELP diff -ur web2c/src/texk/texk/web2c/omegadir/com16bit.ch tmp/texk/web2c-7.5.0-knuth/texk/web2c/omegadir/com16bit.ch --- web2c/src/texk/texk/web2c/omegadir/com16bit.ch 2003-01-31 23:28:53.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/omegadir/com16bit.ch 2003-02-15 22:37:41.000000000 +0100 @@ -40,10 +40,10 @@ @z @x -@d banner=='This is Omega, Version 3.14159--1.23.2.1' {printed when \TeX\ starts} +@d banner=='This is Omega, Version 3.141592--1.23.2.2' {printed when \TeX\ starts} @y -@d banner=='This is Omega, Version 3.14159--1.23.2.1' {printed when \TeX\ starts} -@d banner_k=='This is Omegak, Version 3.14159--1.23.2.1' {printed when \TeX\ starts} +@d banner=='This is Omega, Version 3.141592--1.23.2.2' {printed when \TeX\ starts} +@d banner_k=='This is Omegak, Version 3.141592--1.23.2.2' {printed when \TeX\ starts} @z @x [1.4] l.233 - program header diff -ur web2c/src/texk/texk/web2c/omegadir/om16bit.ch tmp/texk/web2c-7.5.0-knuth/texk/web2c/omegadir/om16bit.ch --- web2c/src/texk/texk/web2c/omegadir/om16bit.ch 2003-01-31 23:28:53.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/omegadir/om16bit.ch 2003-02-15 22:34:53.000000000 +0100 @@ -74,9 +74,9 @@ @z %--------------------------------------- @x [1] m.2 l.187 - Omega -@d banner=='This is TeX, Version 3.14159' {printed when \TeX\ starts} +@d banner=='This is TeX, Version 3.141592' {printed when \TeX\ starts} @y -@d banner=='This is Omega, Version 3.14159--1.23.2.1' {printed when \TeX\ starts} +@d banner=='This is Omega, Version 3.141592--1.23.2.2' {printed when \TeX\ starts} @z %--------------------------------------- @x [1] m.4 l.243 diff -ur web2c/src/texk/texk/web2c/omegadir/omdir.ch tmp/texk/web2c-7.5.0-knuth/texk/web2c/omegadir/omdir.ch --- web2c/src/texk/texk/web2c/omegadir/omdir.ch 2003-01-31 23:28:53.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/omegadir/omdir.ch 2003-02-15 22:43:43.000000000 +0100 @@ -1155,8 +1155,9 @@ @z %------------------------- @x [32] m.629 -@!glue_temp:real; {glue value before rounding} -begin this_box:=temp_ptr; g_order:=glue_order(this_box); +@!cur_g:scaled; {rounded equivalent of |cur_glue| times the glue ratio} +begin cur_g:=0; cur_glue:=float_constant(0); +this_box:=temp_ptr; g_order:=glue_order(this_box); g_sign:=glue_sign(this_box); p:=list_ptr(this_box); incr(cur_s); if cur_s>0 then dvi_out(push); @@ -1169,7 +1170,7 @@ if cur_s>0 then dvi_pop(save_loc); decr(cur_s); @y -@!glue_temp:real; {glue value before rounding} +@!cur_g:scaled; {rounded equivalent of |cur_glue| times the glue ratio} @!save_direction: integer; @!effective_vertical: scaled; @!basepoint_horizontal: scaled; @@ -1177,7 +1178,8 @@ @!edge_v: scaled; @!saving_v: scaled; @!saving_h: scaled; -begin this_box:=temp_ptr; g_order:=glue_order(this_box); +begin cur_g:=0; cur_glue:=float_constant(0); +this_box:=temp_ptr; g_order:=glue_order(this_box); g_sign:=glue_sign(this_box); p:=list_ptr(this_box); saving_v:=dvi_v; saving_h:=dvi_h; save_direction:=dvi_direction; diff -ur web2c/src/texk/texk/web2c/omegadir/omega.version tmp/texk/web2c-7.5.0-knuth/texk/web2c/omegadir/omega.version --- web2c/src/texk/texk/web2c/omegadir/omega.version 2003-01-31 23:28:53.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/omegadir/omega.version 2003-02-15 23:18:15.000000000 +0100 @@ -1 +1 @@ -1.23.2.1 +1.23.2.2 diff -ur web2c/src/texk/texk/web2c/omegadir/omegaextra.h tmp/texk/web2c-7.5.0-knuth/texk/web2c/omegadir/omegaextra.h --- web2c/src/texk/texk/web2c/omegadir/omegaextra.h 2003-01-31 23:28:53.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/omegadir/omegaextra.h 2003-02-15 22:49:51.000000000 +0100 @@ -24,7 +24,7 @@ */ -#define BANNER "This is Omega, Version 3.14159-1.23.2.1" +#define BANNER "This is Omega, Version 3.141592-1.23.2.2" #define COPYRIGHT_HOLDER "J. Plaice and Y. Haralambous" #define AUTHOR NULL #define PROGRAM_HELP OMEGAHELP diff -ur web2c/src/texk/texk/web2c/omegadir/omstr.ch tmp/texk/web2c-7.5.0-knuth/texk/web2c/omegadir/omstr.ch --- web2c/src/texk/texk/web2c/omegadir/omstr.ch 2003-01-31 23:28:53.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/omegadir/omstr.ch 2003-02-15 22:47:48.000000000 +0100 @@ -785,7 +785,7 @@ @x [32] m.617 l.12262 - Omega print(" TeX output "); print_int(year); print_char("."); @y - print("Omega output, Version 3.14159--1.23.2.1, "); + print("Omega output, Version 3.141592--1.23.2.2, "); print_int(year); print_char("."); @z %--------------------------------------- diff -ur web2c/src/texk/texk/web2c/pdfetexdir/pdfetex.ch2 tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdfetexdir/pdfetex.ch2 --- web2c/src/texk/texk/web2c/pdfetexdir/pdfetex.ch2 2003-02-15 10:51:46.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdfetexdir/pdfetex.ch2 2003-02-15 22:33:05.000000000 +0100 @@ -27,17 +27,17 @@ @z @x [2] -@d banner=='This is pdfTeX, Version 3.14159','-',pdftex_version_string +@d banner=='This is pdfTeX, Version 3.141592','-',pdftex_version_string {printed when \pdfTeX\ starts} @y -@d banner=='This is pdfeTeX, Version 3.14159','-',pdftex_version_string,'-',eTeX_version_string +@d banner=='This is pdfeTeX, Version 3.141592','-',pdftex_version_string,'-',eTeX_version_string {printed when \pdfTeX\ starts} @z @x [2] -@d eTeX_version_string=='3.14159-2.1' {current \eTeX\ version} +@d eTeX_version_string=='3.141592-2.2' {current \eTeX\ version} @y -@d eTeX_version_string=='2.1' {current \eTeX\ version} +@d eTeX_version_string=='2.2' {current \eTeX\ version} @z @x [230] diff -ur web2c/src/texk/texk/web2c/pdfetexdir/pdfetex.mk tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdfetexdir/pdfetex.mk --- web2c/src/texk/texk/web2c/pdfetexdir/pdfetex.mk 2003-02-15 14:00:11.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdfetexdir/pdfetex.mk 2003-02-15 22:54:28.000000000 +0100 @@ -27,13 +27,12 @@ ./tangle pdfetex.web pdfetex.ch # Generation of the web and ch file. -pdfetex.web: tie tex.web etexdir/etex.ch etexdir/etex.fix \ +pdfetex.web: tie tex.web etexdir/etex.ch \ pdfetexdir/pdfetex.ch1 pdftexdir/pdftex.ch \ pdfetexdir/pdfetex.ch2 pdfetexdir/pdfetex.h \ pdfetexdir/pdfetex.defines pdfetexdir/pdfetex.mk ./tie -m pdfetex.web $(srcdir)/tex.web \ $(srcdir)/etexdir/etex.ch \ - $(srcdir)/etexdir/etex.fix \ $(srcdir)/pdfetexdir/pdfetex.ch1 \ $(srcdir)/pdftexdir/pdftex.ch \ $(srcdir)/pdfetexdir/pdfetex.ch2 diff -ur web2c/src/texk/texk/web2c/pdfetexdir/pdfetexextra.h tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdfetexdir/pdfetexextra.h --- web2c/src/texk/texk/web2c/pdfetexdir/pdfetexextra.h 2003-02-15 10:51:46.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdfetexdir/pdfetexextra.h 2003-02-15 22:50:07.000000000 +0100 @@ -26,7 +26,7 @@ (generated from ../lib/texmfmp.c). */ -#define BANNER "This is pdfeTeX, Version 3.14159-1.10b-2.1-beta-20030213" +#define BANNER "This is pdfeTeX, Version 3.141592-1.10b-2.2-beta-20030213" #define COPYRIGHT_HOLDER "The NTS Team (eTeX)/Han The Thanh (pdfTeX)" #define AUTHOR NULL #define PROGRAM_HELP PDFETEXHELP diff -ur web2c/src/texk/texk/web2c/pdfetexdir/tex.ch0 tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdfetexdir/tex.ch0 --- web2c/src/texk/texk/web2c/pdfetexdir/tex.ch0 2003-02-15 10:51:46.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdfetexdir/tex.ch0 2003-02-15 22:29:10.000000000 +0100 @@ -25,8 +25,8 @@ % Public domain. @x -@d banner=='This is pdfeTeX, Version 3.14159','-',pdftex_version_string,'-',eTeX_version_string +@d banner=='This is pdfeTeX, Version 3.141592','-',pdftex_version_string,'-',eTeX_version_string {printed when \pdfTeX\ starts} @y -@d banner=='This is TeX, Version 3.14159' {printed when \TeX\ starts} +@d banner=='This is TeX, Version 3.141592' {printed when \TeX\ starts} @z diff -ur web2c/src/texk/texk/web2c/pdfetexdir/tex.ch1 tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdfetexdir/tex.ch1 --- web2c/src/texk/texk/web2c/pdfetexdir/tex.ch1 2003-02-15 10:51:46.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdfetexdir/tex.ch1 2003-02-15 22:29:25.000000000 +0100 @@ -25,12 +25,12 @@ % Public domain. @x -@d banner=='This is TeX, Version 3.14159' {printed when \TeX\ starts} -@d banner_k=='This is TeXk, Version 3.14159' {printed when \TeX\ starts} +@d banner=='This is TeX, Version 3.141592' {printed when \TeX\ starts} +@d banner_k=='This is TeXk, Version 3.141592' {printed when \TeX\ starts} @y -@d banner=='This is pdfeTeX, Version 3.14159','-',pdftex_version_string,'-',eTeX_version_string +@d banner=='This is pdfeTeX, Version 3.141592','-',pdftex_version_string,'-',eTeX_version_string {printed when \pdfTeX\ starts} -@d banner_k=='This is pdfeTeXk, Version 3.14159','-',pdftex_version_string,'-',eTeX_version_string +@d banner_k=='This is pdfeTeXk, Version 3.141592','-',pdftex_version_string,'-',eTeX_version_string {printed when \pdfTeX\ starts} @z diff -ur web2c/src/texk/texk/web2c/pdftexdir/pdftex.ch tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdftexdir/pdftex.ch --- web2c/src/texk/texk/web2c/pdftexdir/pdftex.ch 2003-02-15 10:51:43.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdftexdir/pdftex.ch 2003-02-15 22:30:39.000000000 +0100 @@ -43,9 +43,9 @@ @z @x [2] - This change is made for TeX 3.14159 -@d banner=='This is TeX, Version 3.14159' {printed when \TeX\ starts} +@d banner=='This is TeX, Version 3.141592' {printed when \TeX\ starts} @y -@d banner=='This is pdfTeX, Version 3.14159','-',pdftex_version_string +@d banner=='This is pdfTeX, Version 3.141592','-',pdftex_version_string {printed when \pdfTeX\ starts} @d pdftex_version==110 { \.{\\pdftexversion} } @d pdftex_revision=="b" { \.{\\pdftexrevision} } diff -ur web2c/src/texk/texk/web2c/pdftexdir/pdftex.version tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdftexdir/pdftex.version --- web2c/src/texk/texk/web2c/pdftexdir/pdftex.version 2003-02-15 10:51:43.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdftexdir/pdftex.version 2003-02-15 23:17:54.000000000 +0100 @@ -1 +1 @@ -3.14159-1.10b-beta-20030213 +3.141592-1.10b-beta-20030213 Only in tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdftexdir: pdftex.version~ diff -ur web2c/src/texk/texk/web2c/pdftexdir/pdftexextra.h tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdftexdir/pdftexextra.h --- web2c/src/texk/texk/web2c/pdftexdir/pdftexextra.h 2003-02-15 10:51:43.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdftexdir/pdftexextra.h 2003-02-15 22:50:25.000000000 +0100 @@ -26,7 +26,7 @@ (generated from ../lib/texmfmp.c). */ -#define BANNER "This is pdfTeX, Version 3.14159-1.10b-beta-20030213" +#define BANNER "This is pdfTeX, Version 3.141592-1.10b-beta-20030213" #define COPYRIGHT_HOLDER "Han The Thanh" #define AUTHOR NULL #define PROGRAM_HELP PDFTEXHELP Only in web2c/src/texk/texk/web2c/pdftexdir: pdftoepdf.o Only in web2c/src/texk/texk/web2c/pdftexdir: pkin.o diff -ur web2c/src/texk/texk/web2c/pdftexdir/tex.ch0 tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdftexdir/tex.ch0 --- web2c/src/texk/texk/web2c/pdftexdir/tex.ch0 2003-02-15 10:51:43.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdftexdir/tex.ch0 2003-02-15 22:31:04.000000000 +0100 @@ -25,8 +25,8 @@ % Public domain. @x [2] - This change is made for TeX 3.14159 -@d banner=='This is pdfTeX, Version 3.14159','-',pdftex_version_string +@d banner=='This is pdfTeX, Version 3.141592','-',pdftex_version_string {printed when \pdfTeX\ starts} @y -@d banner=='This is TeX, Version 3.14159' {printed when \TeX\ starts} +@d banner=='This is TeX, Version 3.141592' {printed when \TeX\ starts} @z diff -ur web2c/src/texk/texk/web2c/pdftexdir/tex.ch1 tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdftexdir/tex.ch1 --- web2c/src/texk/texk/web2c/pdftexdir/tex.ch1 2003-02-15 10:51:43.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/pdftexdir/tex.ch1 2003-02-15 22:31:26.000000000 +0100 @@ -24,11 +24,11 @@ % Public domain. @x [1.2] l.188 - Web2C: extensions imply we're not TeX. -@d banner=='This is TeX, Version 3.14159' {printed when \TeX\ starts} -@d banner_k=='This is TeXk, Version 3.14159' {printed when \TeX\ starts} +@d banner=='This is TeX, Version 3.141592' {printed when \TeX\ starts} +@d banner_k=='This is TeXk, Version 3.141592' {printed when \TeX\ starts} @y -@d banner=='This is pdfTeX, Version 3.14159','-',pdftex_version_string +@d banner=='This is pdfTeX, Version 3.141592','-',pdftex_version_string {printed when \pdfTeX\ starts} -@d banner_k=='This is pdfTeXk, Version 3.14159','-',pdftex_version_string +@d banner_k=='This is pdfTeXk, Version 3.141592','-',pdftex_version_string {printed when \pdfTeX\ starts} @z diff -ur web2c/src/texk/texk/web2c/tex.ch tmp/texk/web2c-7.5.0-knuth/texk/web2c/tex.ch --- web2c/src/texk/texk/web2c/tex.ch 2003-01-24 21:55:58.000000000 +0100 +++ tmp/texk/web2c-7.5.0-knuth/texk/web2c/tex.ch 2003-02-15 22:12:07.000000000 +0100 @@ -70,10 +70,10 @@ @z @x [1.2] l.188 -@d banner=='This is TeX, Version 3.14159' {printed when \TeX\ starts} +@d banner=='This is TeX, Version 3.141592' {printed when \TeX\ starts} @y -@d banner=='This is TeX, Version 3.14159' {printed when \TeX\ starts} -@d banner_k=='This is TeXk, Version 3.14159' {printed when \TeX\ starts} +@d banner=='This is TeX, Version 3.141592' {printed when \TeX\ starts} +@d banner_k=='This is TeXk, Version 3.141592' {printed when \TeX\ starts} @z @x [1.4] l.233 - program header -- Olaf Weber (This space left blank for technical reasons.) From ms at artcom-gmbh.de Sun Feb 16 01:50:18 2003 From: ms at artcom-gmbh.de (Martin Schroeder) Date: Fri Feb 18 15:06:27 2005 Subject: [tex-pretest] Web2C 7.5.0 In-Reply-To: <200302151440.h1FEeUfC012996@gauss.dbs.uni-hannover.de> References: <87r8a9pqit.fsf@infovore.xs4all.nl> <200302151440.h1FEeUfC012996@gauss.dbs.uni-hannover.de> Message-ID: <20030216005018.GD6512@lucien.kn-bremen.de> On 2003-02-15 15:40:30 +0100, Thomas Esser wrote: > So, my suggestion is to make change the DEK's stuff first. Btw: I just noticed that MikTeX has integrated DEK's stuff. It might be worthy to examine it (http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/miktex/miktex/). Best regards Martin -- Martin Schr?der, MS@ArtCom-GmbH.DE ArtCom GmbH, Grazer Stra?e 8, D-28359 Bremen Voice +49 421 20419-44 / Fax +49 421 20419-10 From olaf at infovore.xs4all.nl Sun Feb 16 11:53:45 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:27 2005 Subject: [tex-pretest] Web2C 7.5.0 In-Reply-To: <20030216005018.GD6512@lucien.kn-bremen.de> References: <87r8a9pqit.fsf@infovore.xs4all.nl> <200302151440.h1FEeUfC012996@gauss.dbs.uni-hannover.de> <20030216005018.GD6512@lucien.kn-bremen.de> Message-ID: <87of5cmr7q.fsf@infovore.xs4all.nl> Martin Schroeder writes: > On 2003-02-15 15:40:30 +0100, Thomas Esser wrote: >> So, my suggestion is to make change the DEK's stuff first. > Btw: I just noticed that MikTeX has integrated DEK's stuff. It > might be worthy to examine it > (http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/miktex/miktex/). For e-TeX, MikTeX basically undoes the TeX changes before the e-TeX change file is applied. In the affected area this works because e-TeX completely replaces that stretch of code anyway. -- Olaf Weber (This space left blank for technical reasons.) From olaf at infovore.xs4all.nl Sun Feb 16 15:59:03 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:27 2005 Subject: [tex-pretest] Web2C 7.5.0 In-Reply-To: <87heb5gofn.fsf@infovore.xs4all.nl> References: <87r8a9pqit.fsf@infovore.xs4all.nl> <200302151440.h1FEeUfC012996@gauss.dbs.uni-hannover.de> <20030215151156.GD2790@spqr-dell> <87heb5gofn.fsf@infovore.xs4all.nl> Message-ID: <87k7g0uv9k.fsf@infovore.xs4all.nl> Olaf Weber writes: > (Don't expect full tarballs before monday late my time.) (And I > _do_ [hope] I'm not upsetting anyone by touching files that strictly > speaking I'm not supposed to touch (esp e-TeX).) Note that the e-TeX bits are likely wrong. -- Olaf Weber (This space left blank for technical reasons.) From olaf at infovore.xs4all.nl Mon Feb 17 09:03:16 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:27 2005 Subject: [tex-pretest] Web2C 7.5.1 -- "aiming for instability" Message-ID: <87isvj1ghn.fsf@infovore.xs4all.nl> Web2C 7.5.1 -- "aiming for instability" Changes compared to 7.5.0: - new sources from DEK (to merge with e-TeX, I effectively had to back out DEK's leaders fix). - little fixes Fairly certain it doesn't work anymore: - The omega 1.23.4 tree Next up: - probably encTeX Use these links to get it: ftp://ftp.tug.org/private/tex/web-7.5.1.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.5.1-etex-2.1.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.5.1-omega-1.23.2.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.5.1-pdftex-3.14159-1.10b-beta-20030213.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.5.1-pdftexlibs.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.5.1.tar.gz Or failing that, fall back on these: http://www.xs4all.nl/~infovore/web-7.5.1.tar.gz http://www.xs4all.nl/~infovore/web2c-7.5.1-etex-2.1.tar.gz http://www.xs4all.nl/~infovore/web2c-7.5.1-omega-1.23.2.tar.gz http://www.xs4all.nl/~infovore/web2c-7.5.1-pdftex-3.14159-1.10b-beta-20030213.tar.gz http://www.xs4all.nl/~infovore/web2c-7.5.1-pdftexlibs.tar.gz http://www.xs4all.nl/~infovore/web2c-7.5.1.tar.gz -- Olaf Weber (This space left blank for technical reasons.) From olaf at infovore.xs4all.nl Mon Feb 17 18:37:14 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:27 2005 Subject: [tex-pretest] Re: Web2C 7.5.1 -- "aiming for instability" In-Reply-To: <87isvj1ghn.fsf@infovore.xs4all.nl> References: <87isvj1ghn.fsf@infovore.xs4all.nl> Message-ID: <874r7224hh.fsf@infovore.xs4all.nl> Olaf Weber writes: This: > ftp://ftp.tug.org/private/tex/web2c-7.5.1-pdftex-3.14159-1.10b-beta-20030213.tar.gz should have been ftp://ftp.tug.org/private/tex/web2c-7.5.1-pdftex-3.141592-1.10b-beta-20030213.tar.gz Update: ftp://ftp.tug.org/private/tex/web2c-7.5.1-pdftex-3.141592-1.10b-beta-20030217.tar.gz -- Olaf Weber (This space left blank for technical reasons.) From olaf at infovore.xs4all.nl Wed Feb 19 22:13:38 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:27 2005 Subject: [tex-pretest] Web2C 7.5.2 -- "critical fixes" Message-ID: <87n0kst1ml.fsf@infovore.xs4all.nl> Web2C 7.5.2 -- "critical fixes" Changes compared to 7.5.1: - fix bug in kpathsea that caused coredumps during file search. - picking nits in the confgure stuff - picking nits in the makefiles _and_ in the *dir/*.mk makefile fragments. Fairly certain it doesn't work anymore: - The omega 1.23.4 tree Next up: - probably encTeX, but not before the weekend. Let's see if can get the links correct in one try this time: ftp://ftp.tug.org/private/tex/web-7.5.2.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.5.2-etex-2.1.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.5.2-omega-1.23.2.2.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.5.2-pdftex-3.141592-1.10b-beta-20030219.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.5.2-pdftexlibs.tar.gz ftp://ftp.tug.org/private/tex/web2c-7.5.2.tar.gz Or failing that, fall back on these: http://www.xs4all.nl/~infovore/web-7.5.2.tar.gz http://www.xs4all.nl/~infovore/web2c-7.5.2-etex-2.1.tar.gz http://www.xs4all.nl/~infovore/web2c-7.5.2-omega-1.23.2.2.tar.gz http://www.xs4all.nl/~infovore/web2c-7.5.2-pdftex-3.141592-1.10b-beta-20030219.tar.gz http://www.xs4all.nl/~infovore/web2c-7.5.2-pdftexlibs.tar.gz http://www.xs4all.nl/~infovore/web2c-7.5.2.tar.gz -- Olaf Weber (This space left blank for technical reasons.) From Fabrice.Popineau at supelec.fr Sat Feb 22 12:17:50 2003 From: Fabrice.Popineau at supelec.fr (Fabrice Popineau) Date: Fri Feb 18 15:06:27 2005 Subject: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: <87n0kst1ml.fsf@infovore.xs4all.nl> (Olaf Weber's message of "19 Feb 2003 22:13:38 +0100") References: <87n0kst1ml.fsf@infovore.xs4all.nl> Message-ID: > Web2C 7.5.2 -- "critical fixes" Changes compared to 7.5.1: > - probably encTeX, but not before the weekend. I have been caught by enctex and dumping/undumping things for a moment. There is this piece of code in texmfmp.h : /* `dump_int' is called with constant integers, so we put them into a variable first. */ #define dumpint(x) \ do \ { \ integer x_val = (x); \ generic_dump (x_val); \ } \ while (0) /* web2c/regfix puts variables in the format file loading into registers. Some compilers aren't willing to take addresses of such variables. So we must kludge. */ #ifdef REGFIX #define undumpint(x) \ do \ { \ integer x_val; \ generic_undump (x_val); \ x = x_val; \ } \ while (0) #else #define undumpint generic_undump #endif I find it very strange that both aren't exactly symetric. EncTeX is dumping a boolean and it was dumped as an int and undumped as a boolean (different sizes). So be warned. I had to define REGFIX. Fabrice From olaf at infovore.xs4all.nl Sat Feb 22 14:24:20 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:27 2005 Subject: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: References: <87n0kst1ml.fsf@infovore.xs4all.nl> Message-ID: <87fzqgh2ij.fsf@infovore.xs4all.nl> Fabrice Popineau writes: >> Web2C 7.5.2 -- "critical fixes" Changes compared to 7.5.1: >> - probably encTeX, but not before the weekend. > I have been caught by enctex and dumping/undumping things for a moment. > There is this piece of code in texmfmp.h : > /* `dump_int' is called with constant integers, so we put them into a > variable first. */ > #define dumpint(x) \ > do \ > { \ > integer x_val = (x); \ > generic_dump (x_val); \ > } \ > while (0) > /* web2c/regfix puts variables in the format file loading into > registers. Some compilers aren't willing to take addresses of such > variables. So we must kludge. */ > #ifdef REGFIX > #define undumpint(x) \ > do \ > { \ > integer x_val; \ > generic_undump (x_val); \ > x = x_val; \ > } \ > while (0) > #else > #define undumpint generic_undump > #endif > I find it very strange that both aren't exactly symetric. I'm not sure I understand your point? > EncTeX is dumping a boolean and it was dumped as an int and undumped > as a boolean (different sizes). So be warned. I had to define > REGFIX. Don't ever dump booleans directly. Where is encTeX doing this? > Fabrice -- Olaf Weber (This space left blank for technical reasons.) From Fabrice.Popineau at supelec.fr Sat Feb 22 15:47:49 2003 From: Fabrice.Popineau at supelec.fr (Fabrice Popineau) Date: Fri Feb 18 15:06:27 2005 Subject: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: <87fzqgh2ij.fsf@infovore.xs4all.nl> (Olaf Weber's message of "22 Feb 2003 14:24:20 +0100") References: <87n0kst1ml.fsf@infovore.xs4all.nl> <87fzqgh2ij.fsf@infovore.xs4all.nl> Message-ID: > I'm not sure I understand your point? I mean to be exactly symetric, REGFIX should always be defined. >> EncTeX is dumping a boolean and it was dumped as an int and undumped >> as a boolean (different sizes). So be warned. I had to define REGFIX. > Don't ever dump booleans directly. Where is encTeX doing this? in enc-option.patch-to-7.5 : +dump_int(enc_option); +if enc_option then +begin + dump_things(xord[0], 256); + dump_things(xchr[0], 256); + dump_things(xprn[0], 256); + dump_things(mubyte_read[0], 256); + dump_things(mubyte_write[0], 256); + dump_things(mubyte_cswrite[0], 128); + print (" encTeX data dumped"); +end If you dump a boolean using dump_int, it will be cast to an int. If you undump it without REGFIX defined, then it will be undumped as a boolean, at least on my machine/compiler. Fabrice From olaf at infovore.xs4all.nl Sat Feb 22 16:43:55 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:27 2005 Subject: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: References: <87n0kst1ml.fsf@infovore.xs4all.nl> <87fzqgh2ij.fsf@infovore.xs4all.nl> Message-ID: <87bs14gw1w.fsf@infovore.xs4all.nl> Fabrice Popineau writes: >> I'm not sure I understand your point? > I mean to be exactly symetric, REGFIX should always be defined. Speed, I think. It's old code. >>> EncTeX is dumping a boolean and it was dumped as an int and undumped >>> as a boolean (different sizes). So be warned. I had to define REGFIX. >> Don't ever dump booleans directly. Where is encTeX doing this? > in enc-option.patch-to-7.5 : > +dump_int(enc_option); > If you dump a boolean using dump_int, it will be cast to an int. If you > undump it without REGFIX defined, then it will be undumped as a boolean, > at least on my machine/compiler. You shouldn't dump booleans at all because on different machines you can end up with different sizes: note how mltex_p is handled. There's some other stuff that seems off in the patch: web2c's 'dump_int(hyph_prime)' gets turned into 'dump_int(hyph_size)'; I'm not convinced that is a good idea. I may also end up suggesting somewhat different messages. -- Olaf Weber (This space left blank for technical reasons.) From petr at olsak.net Sat Feb 22 21:19:29 2003 From: petr at olsak.net (Petr Olsak) Date: Fri Feb 18 15:06:27 2005 Subject: [tex-live] Re: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: <87bs14gw1w.fsf@infovore.xs4all.nl> Message-ID: > You shouldn't dump booleans at all because on different machines you > can end up with different sizes: note how mltex_p is handled. > > There's some other stuff that seems off in the patch: web2c's > 'dump_int(hyph_prime)' gets turned into 'dump_int(hyph_size)'; I'm not > convinced that is a good idea. > > I may also end up suggesting somewhat different messages. OK, my mistake. Declare enc_option as integer with zero as false, use tests "if enc_option > 0 then .." instead "if enc_option" and use assigments "enc_option := 0" or "1" instead "false" or "true". Thank you Petr Olsak From petr at olsak.net Sat Feb 22 22:17:14 2003 From: petr at olsak.net (Petr Olsak) Date: Fri Feb 18 15:06:27 2005 Subject: [tex-live] Re: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: <87bs14gw1w.fsf@infovore.xs4all.nl> Message-ID: On 22 Feb 2003, Olaf Weber wrote: > You shouldn't dump booleans at all because on different machines you > can end up with different sizes: note how mltex_p is handled. I am appending the enc-option-integer-to-7.5 patch which makes enc_option and enc_from_fmt as integer variables. Apply this patch after enc-option.patch-to-7.5 I will correct my encTeX distribution by this patch. Best regards Petr Olsak -------------- next part -------------- --- tex.ch.0 Sat Feb 22 22:10:04 2003 +++ tex.ch Sat Feb 22 22:10:37 2003 @@ -350,8 +350,8 @@ cs_converting: boolean; { true only if we need csname converting } special_printing: boolean; { true only if we need converting in special } message_printing: boolean; { true if message or errmessage prints to string } -enc_option: boolean; { -enc option is used } -enc_from_fmt: boolean; { encTeX initialized from format } +enc_option: integer; { -enc option is used } +enc_from_fmt: integer; { encTeX initialized from format } fmt_is_read: boolean; { format file was read } @z @@ -371,7 +371,7 @@ write_noexpanding := false; cs_converting := false; special_printing := false; message_printing := false; no_convert := false; active_noconvert := false; -fmt_is_read := false; enc_from_fmt := false; +fmt_is_read := false; enc_from_fmt := 0; @z % we need not setup_char_set in encTeX, the change of [2.24] is removed @@ -807,7 +807,7 @@ wterm(version_string); if format_ident>0 then slow_print(format_ident); print_ln; -if enc_option then begin +if enc_option > 0 then begin wterm (encTeX_banner); wterm_ln (', the reencoding enabled.'); end; if shell_enabled_p then begin @@ -1260,7 +1260,7 @@ primitive("tracingcharsubdef",assign_int,int_base+tracing_char_sub_def_code);@/ @!@:tracing_char_sub_def_}{\.{\\tracingcharsubdef} primitive@> end; -if enc_option then +if enc_option > 0 then begin primitive("mubytein",assign_int,int_base+mubyte_in_code);@/ @!@:mubyte_in_}{\.{\\mubytein} primitive@> @@ -1450,7 +1450,7 @@ @y primitive("endcsname",end_cs_name,0);@/ @!@:end_cs_name_}{\.{\\endcsname} primitive@> -if enc_option then primitive("endmubyte",end_cs_name,10);@/ +if enc_option > 0 then primitive("endmubyte",end_cs_name,10);@/ @!@:end_mubyte_}{\.{\\endmubyte} primitive@> @z @@ -2251,16 +2251,16 @@ end @y selector := term_and_log; -if fmt_is_read and enc_option and (not enc_from_fmt) then +if fmt_is_read and (enc_option > 0) and (enc_from_fmt = 0) then begin wlog_cr; file_offset := 0; print ("encTeX is disabled in format file, use -enc in initex."); wterm_cr; term_offset := 0; - enc_option := false; + enc_option := 0; end; -if enc_from_fmt then +if enc_from_fmt > 0 then begin - if (not enc_option) then + if enc_option = 0 then begin wterm (encTeX_banner); wterm (' initialized from format, the reencoding enabled.'); @@ -2269,15 +2269,15 @@ wlog_cr; wlog (encTeX_banner); wlog (' initialized from format, the reencoding enabled.'); - enc_option := true; + enc_option := 1; end else -if enc_option then +if enc_option > 0 then begin wlog_cr; wlog (encTeX_banner); wlog ('initialized, the reencoding enabled.'); end; -if enc_option and translate_filename then +if (enc_option > 0) and translate_filename then begin wlog_cr; file_offset := 0; print ("TCX may overwrite the encTeX values \xordcode, \xchrcode, \xprncode:"); @@ -2288,7 +2288,7 @@ print (")"); wterm_cr; term_offset := 0; end; -if not enc_option then +if enc_option = 0 then begin setup_charset; { may be xprn vector is set by locale info } if translate_filename then @@ -3534,7 +3534,7 @@ @y primitive("futurelet",let,normal+1);@/ @!@:future_let_}{\.{\\futurelet} primitive@> -if enc_option then primitive("mubyte",let,normal+10);@/ +if enc_option > 0 then primitive("mubyte",let,normal+10);@/ @!@:mubyte_}{\.{\\mubyte} primitive@> primitive("noconvert",let,normal+11);@/ @!@:noconvert_}{\.{\\noconvert} primitive@> @@ -3703,7 +3703,7 @@ primitive("catcode",def_code,cat_code_base); @!@:cat_code_}{\.{\\catcode} primitive@> @y -if enc_option then +if enc_option > 0 then begin primitive("xordcode",def_code,xord_code_base); @!@:xord_code_}{\.{\\xordcode} primitive@> @@ -3924,7 +3924,7 @@ @y 23784 dump_int(hyph_size); dump_int(enc_option); -if enc_option then +if enc_option > 0 then begin dump_things(xord[0], 256); dump_things(xchr[0], 256); @@ -3999,7 +3999,7 @@ if x<>hyph_size then goto bad_fmt; fmt_is_read := true; undump_int (enc_from_fmt); -if enc_from_fmt then +if enc_from_fmt > 0 then begin undump_things(xord[0], 256); undump_things(xchr[0], 256); From olaf at infovore.xs4all.nl Sun Feb 23 18:36:41 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:28 2005 Subject: [tex-live] Re: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: References: Message-ID: <87vfzaew5y.fsf@infovore.xs4all.nl> Petr Olsak writes: > On 22 Feb 2003, Olaf Weber wrote: >> You shouldn't dump booleans at all because on different machines you >> can end up with different sizes: note how mltex_p is handled. > I am appending the enc-option-integer-to-7.5 patch which makes > enc_option and enc_from_fmt as integer variables. > Apply this patch after enc-option.patch-to-7.5 > I will correct my encTeX distribution by this patch. I think I prefer a different solution, more like the way mltex is done. I also find that I really don't understand the code at present. For example, the way write_mubyte is done -- it stores a value at offset mubyte_zero, yet every use seems to take that offset into account, so why bother? The write_stream is handled I don't figure either. -- Olaf Weber (This space left blank for technical reasons.) From olaf at infovore.xs4all.nl Sun Feb 23 19:06:23 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:28 2005 Subject: [tex-live] Re: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: <87vfzaew5y.fsf@infovore.xs4all.nl> References: <87vfzaew5y.fsf@infovore.xs4all.nl> Message-ID: <87n0kmeusg.fsf@infovore.xs4all.nl> Olaf Weber writes: > Petr Olsak writes: >> On 22 Feb 2003, Olaf Weber wrote: >>> You shouldn't dump booleans at all because on different machines you >>> can end up with different sizes: note how mltex_p is handled. >> I am appending the enc-option-integer-to-7.5 patch which makes >> enc_option and enc_from_fmt as integer variables. >> Apply this patch after enc-option.patch-to-7.5 >> I will correct my encTeX distribution by this patch. > I think I prefer a different solution, more like the way mltex is > done. PS: Note that I already have that part working. -- Olaf Weber (This space left blank for technical reasons.) From petr at olsak.net Mon Feb 24 08:32:24 2003 From: petr at olsak.net (Petr Olsak) Date: Fri Feb 18 15:06:28 2005 Subject: [tex-live] Re: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: <87vfzaew5y.fsf@infovore.xs4all.nl> Message-ID: On 23 Feb 2003, Olaf Weber wrote: > Petr Olsak writes: > > On 22 Feb 2003, Olaf Weber wrote: > > >> You shouldn't dump booleans at all because on different machines you > >> can end up with different sizes: note how mltex_p is handled. > > > I am appending the enc-option-integer-to-7.5 patch which makes > > enc_option and enc_from_fmt as integer variables. > > Apply this patch after enc-option.patch-to-7.5 > > > I will correct my encTeX distribution by this patch. > > I think I prefer a different solution, more like the way mltex is > done. Yes, OK. I'll prepare the second patch with the code similar as: dump_int(x), unpump_int(x), if x=1 then enc_from_fmt := true; > I also find that I really don't understand the code at present. For > example, the way write_mubyte is done -- it stores a value at offset > mubyte_zero, yet every use seems to take that offset into account, so > why bother? The write_stream is handled I don't figure either. In original TeX, the write_stream is stored in halfword part of whatsit node. The halfword is two bytes in minimal TeX implementation (no exactly in web2c, but encTeX have to calculate with all possible TeX implementations). The write_stream is integer in the range 0..17 (or 0..18 in web2c extension) thus the one byte is sufficient for storing of this value. This was a reason why I divided the halfword for write_stream to two quarterwords, first one stores the write_stream value as usual and second one stores the \mubyteout value with offset mubyte_zero. The quarterword can save 256 different values but we are not sure if negative values are implemented in this type of memory. So, I used the offest and only first 128 values from this quarterword. I need to handle negative \mubyteout values and I round these values to the range -64..63 when it is saved to whatsit node and the value is shifted by mubyte_zero. Of course, if I implement encTeX only for web2c, I know that quarterword is implemented as int and this is no problem for storing negative values to this type of memory. But this is not true on all TeX distributions. Petr Olsak From petr at olsak.net Mon Feb 24 09:27:43 2003 From: petr at olsak.net (Petr Olsak) Date: Fri Feb 18 15:06:28 2005 Subject: [tex-live] Re: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: <87vfzaew5y.fsf@infovore.xs4all.nl> Message-ID: On 23 Feb 2003, Olaf Weber wrote: > Petr Olsak writes: > > On 22 Feb 2003, Olaf Weber wrote: > > >> You shouldn't dump booleans at all because on different machines you > >> can end up with different sizes: note how mltex_p is handled. > > > I am appending the enc-option-integer-to-7.5 patch which makes > > enc_option and enc_from_fmt as integer variables. > > Apply this patch after enc-option.patch-to-7.5 > > > I will correct my encTeX distribution by this patch. > > I think I prefer a different solution, more like the way mltex is > done. I am appending my second patch enc-option2.patch-to-7.5 which follows your suggestions. Please, remove my previous patch enc-option-integer-to-7.5 : this is unnecessarily complicated code. Apply enc-option2.patch-to-7.5 after enctex.patch-to-7.5 and enc-option.patch-to-7.5 from my encTeX distribution. I'll correct the encTeX distribution by enc-option2.patch-to-7.5 tomorrow if no better suggestions occurs. Best regards Petr Olsak -------------- next part -------------- --- tex.ch.0 Mon Feb 24 08:56:50 2003 +++ tex.ch Mon Feb 24 09:10:09 2003 @@ -2254,7 +2254,7 @@ if fmt_is_read and enc_option and (not enc_from_fmt) then begin wlog_cr; file_offset := 0; - print ("encTeX is disabled in format file, use -enc in initex."); + print (" encTeX is disabled in format file, use -enc in initex."); wterm_cr; term_offset := 0; enc_option := false; end; @@ -3923,9 +3923,9 @@ dump_int(hyph_size) @y 23784 dump_int(hyph_size); -dump_int(enc_option); if enc_option then begin + dump_int (1); dump_things(xord[0], 256); dump_things(xchr[0], 256); dump_things(xprn[0], 256); @@ -3933,7 +3933,7 @@ dump_things(mubyte_write[0], 256); dump_things(mubyte_cswrite[0], 128); print (" encTeX data dumped"); -end +end else dump_int (0); @z @x [50.1308] l.23793 - texarray @@ -3998,7 +3998,8 @@ @y 23804 if x<>hyph_size then goto bad_fmt; fmt_is_read := true; -undump_int (enc_from_fmt); +undump_int (x); +if x=0 then enc_from_fmt := false else enc_from_fmt := true; if enc_from_fmt then begin undump_things(xord[0], 256); From olaf at infovore.xs4all.nl Mon Feb 24 11:57:40 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:28 2005 Subject: [tex-live] Re: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: References: Message-ID: <878yw6q72z.fsf@infovore.xs4all.nl> Petr Olsak writes: > Apply enc-option2.patch-to-7.5 after enctex.patch-to-7.5 and > enc-option.patch-to-7.5 from my encTeX distribution. > I'll correct the encTeX distribution by enc-option2.patch-to-7.5 > tomorrow if no better suggestions occurs. The code I'm currently playing with looks like this -- note in particular the addition of a magic number that should help ensure that wrong formats are detected early during loading. @x [50.1302] l.23694 - MLTeX: dump |mltex_p| to fmt file @; @y @; dump_int(@"4D4C5458); {ML\TeX's magic constant: "MLTX"} if mltex_p then dump_int(1) else dump_int(0); dump_int(@"454E5458); {enc\TeX's magic constant: "ENTX"} if enctex_p then dump_int(1) else dump_int(0); @; @z @x [50.1303] l.23694 - MLTeX: undump |mltex_enabled_p| from fmt file begin @; @y begin @; undump_int(x); {check magic constant of ML\TeX} if x<>@"4D4C5458 then goto bad_fmt; undump_int(x); {undump |mltex_p| flag into |mltex_enabled_p|} if x=1 then mltex_enabled_p:=true else if x<>0 then goto bad_fmt; undump_int(x); {check magic constant of enc\TeX} if x<>@"454E5458 then goto bad_fmt; undump_int(x); {undump |enctex_p| flag into |entex_enabled_p|} if x=1 then enctex_enabled_p:=true else if x<>0 then goto bad_fmt; @; @z With later (in the system-dependent extensions section): @ @= if enctex_p then begin dump_things(xord[0], 256); dump_things(xchr[0], 256); dump_things(xprn[0], 256); dump_things(mubyte_read[0], 256); dump_things(mubyte_write[0], 256); dump_things(mubyte_cswrite[0], 128); end; @ @= if enctex_enabled_p then begin undump_things(xord[0], 256); undump_things(xchr[0], 256); undump_things(xprn[0], 256); undump_things(mubyte_read[0], 256); undump_things(mubyte_write[0], 256); undump_things(mubyte_cswrite[0], 128); end; And earlier the detection of whether --enc was given while we're not --ini and have a non-enc-enabled format. @x [29.534] l.10293 - MLTeX: add MLTeX banner after loading fmt file @; @y @; if mltex_enabled_p then begin wlog_cr; wlog('MLTeX v2.2 enabled'); end else if mltex_p and not ini_version then begin wlog_cr; wlog('(--mltex works only for INITEX)'); end; if enctex_enabled_p then begin wlog_cr; wlog('encTeX v. Feb. 2003'); end else if enctex_p and not ini_version then begin wlog_cr; wlog('(--enc works only for INITEX)'); end; @z @x [51.1337] l.24371 - Allocate hyphenation tries, do char translation, MLTeX fix_date_and_time;@/ @y if mltex_enabled_p then begin wterm_ln('MLTeX v2.2 enabled'); end else if mltex_p and not ini_version then begin wterm_ln('(--mltex works only for INITEX)'); end; if enctex_enabled_p then begin wterm_ln('encTeX v. Feb. 2003'); end else if enctex_p and not ini_version then begin wterm_ln('(--enc works only for INITEX)'); end; fix_date_and_time;@/ -- Olaf Weber (This space left blank for technical reasons.) From petr at olsak.net Mon Feb 24 12:20:36 2003 From: petr at olsak.net (Petr Olsak) Date: Fri Feb 18 15:06:28 2005 Subject: [tex-live] Re: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: <878yw6q72z.fsf@infovore.xs4all.nl> Message-ID: On 24 Feb 2003, Olaf Weber wrote: > Petr Olsak writes: > > > Apply enc-option2.patch-to-7.5 after enctex.patch-to-7.5 and > > enc-option.patch-to-7.5 from my encTeX distribution. > > I'll correct the encTeX distribution by enc-option2.patch-to-7.5 > > tomorrow if no better suggestions occurs. > > The code I'm currently playing with looks like this -- note in > particular the addition of a magic number that should help ensure that > wrong formats are detected early during loading. > ... All your code is concerned to web2c specific, not the encTeX core. By another words, this code does not change the enctex.patch but only enc-option.patch. I have no protest against such code. IMHO, the code from enc-option.patch can help you to implement encTeX but you can use another one. > And earlier the detection of whether --enc was given while we're not > --ini and have a non-enc-enabled format. > > @x [29.534] l.10293 - MLTeX: add MLTeX banner after loading fmt file > @; > @y > @; > if mltex_enabled_p then > begin wlog_cr; wlog('MLTeX v2.2 enabled'); > end > else if mltex_p and not ini_version then > begin wlog_cr; wlog('(--mltex works only for INITEX)'); > end; > if enctex_enabled_p then > begin wlog_cr; wlog('encTeX v. Feb. 2003'); > end > else if enctex_p and not ini_version then > begin wlog_cr; wlog('(--enc works only for INITEX)'); > end; > @z I did put the code about wlog and wterm together in section 29/536 because (1) we don't know if enctex is used _before_ format is read and because (2) this is more clear to have this code together. This approach is included in my enc-option.patch. If you find out that your code is more usable for you, I don't protest. Petr Olsak From olaf at infovore.xs4all.nl Mon Feb 24 13:31:00 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:28 2005 Subject: [tex-live] Re: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: References: Message-ID: <874r6trhbv.fsf@infovore.xs4all.nl> Petr Olsak writes: > All your code is concerned to web2c specific, not the encTeX core. By > another words, this code does not change the enctex.patch but only > enc-option.patch. I have no protest against such code. IMHO, the code > from enc-option.patch can help you to implement encTeX but you can use > another one. The code I'm changing at the moment is indeed web2c specific, related to the integration of encTeX and web2c. There are also some bits and pieces of encTeX that I'd like to move around -- prehaps for web2c only, but perhaps some of that can be adopted elsewhere. Examples: - the additional functions you declare I'd like to see moved to a separate section at the end. - in web2c, slow_make_string seems to serve the same purpose for which you use my_make_string. If that's true, then I'd like to drop my_make_string in the web2c change file. I'll provide you with a more complete overview when I've got things set up to my liking. > I did put the code about wlog and wterm together in section 29/536 > because (1) we don't know if enctex is used _before_ format is read > and because (2) this is more clear to have this code together. This > approach is included in my enc-option.patch. The MLTeX code deals with exactly the same issues. -- Olaf Weber (This space left blank for technical reasons.) From petr at olsak.net Mon Feb 24 13:51:02 2003 From: petr at olsak.net (Petr Olsak) Date: Fri Feb 18 15:06:28 2005 Subject: [tex-live] Re: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: <874r6trhbv.fsf@infovore.xs4all.nl> Message-ID: On 24 Feb 2003, Olaf Weber wrote: > The code I'm changing at the moment is indeed web2c specific, related > to the integration of encTeX and web2c. There are also some bits and > pieces of encTeX that I'd like to move around -- prehaps for web2c > only, but perhaps some of that can be adopted elsewhere. > > Examples: > > - the additional functions you declare I'd like to see moved to a > separate section at the end. OK. > - in web2c, slow_make_string seems to serve the same purpose for which > you use my_make_string. If that's true, then I'd like to drop > my_make_string in the web2c change file. I know about the slow_make_string function. I know only one difference between these functions: if the new string is the same as string with number zero, then slow_make_string returns zero but my_make_string allocates new string. Strings in encTeX have to be different from zero for internal purposes of encTeX. You can change the slow_make_string in order to do the same thinks as my_make_string (I mean that this don't case any problem outside). I did not use slow_make_string because slow_make_string is not in standard TeX --- it means, I need my own implementation in encTeX. > I'll provide you with a more complete overview when I've got things > set up to my liking. > > > I did put the code about wlog and wterm together in section 29/536 > > because (1) we don't know if enctex is used _before_ format is read > > and because (2) this is more clear to have this code together. This > > approach is included in my enc-option.patch. > > The MLTeX code deals with exactly the same issues. The MLTeX does not print about this extension on terminal when it is initialised from format. It print only to log file in such case. This is a bug (for my point ow view) and this bug is not copied to encTeX in enc-option.patch implementation. Moreower, the co-operation with TCX tables is solved in section 29/536 too, because we do not know if enctex is used before format is read. We cannot print the definitive banner in section 5/61. Petr Olsak From olaf at infovore.xs4all.nl Tue Feb 25 14:26:24 2003 From: olaf at infovore.xs4all.nl (Olaf Weber) Date: Fri Feb 18 15:06:28 2005 Subject: [tex-live] Re: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: References: Message-ID: <87n0kkpk3j.fsf@infovore.xs4all.nl> Petr Olsak writes: > On 24 Feb 2003, Olaf Weber wrote: >> - in web2c, slow_make_string seems to serve the same purpose for which >> you use my_make_string. If that's true, then I'd like to drop >> my_make_string in the web2c change file. > I know about the slow_make_string function. I know only one difference > between these functions: if the new string is the same as string with > number zero, then slow_make_string returns zero but my_make_string > allocates new string. Strings in encTeX have to be different from zero for > internal purposes of encTeX. slow_make_string will never return zero: function slow_make_string : str_number; label exit; var s: str_number; {result of |search_string|} @!t: str_number; {new string} begin t:=make_string; s:=search_string(t); if s>0 then begin flush_string; slow_make_string:=s; return; end; slow_make_string:=t; exit:end; (Note that search_string (another of the web2c-specific functions) will return 0 on failure, and otherwise a string number > 255. So it seems to me that for web2c, slow_make_string should be able to fill the role encTeX requires.) > You can change the slow_make_string in order to do the same thinks > as my_make_string (I mean that this don't case any problem outside). > I did not use slow_make_string because slow_make_string is not in > standard TeX --- it means, I need my own implementation in encTeX. Of course. [...] > The MLTeX does not print about this extension on terminal when > it is initialised from format. It print only to log file in such case. > This is a bug (for my point ow view) and this bug is not copied to > encTeX in enc-option.patch implementation. MLTeX does announce itself on the terminal: $ mltex story This is TeXk, Version 3.141592 (Web2C 7.5.2) %&-line parsing enabled. MLTeX v2.2 enabled (/usr/local/share/texmf/tex/plain/base/story.tex [1]) *\bye Output written on story.dvi (1 page, 680 bytes). Transcript written on story.log. > Moreower, the co-operation with TCX tables is solved in section 29/536 > too, because we do not know if enctex is used before format is read. > We cannot print the definitive banner in section 5/61. MLTeX prints in banner to the log in 29.534 and to the terminal in 51.1337. Postponing TCX handling for this long has potentially interesting side effects...as does the fact that TCX manipulations in the iniTeX phase will get into the format file if you use --enc, but not otherwise. General questions/random ideas: - Would it make sense to always dump the xord/xchr/xprn tables? - Would it make sense to make TCX an iniTeX only option? > Petr Olsak -- Olaf Weber (This space left blank for technical reasons.) From petr at olsak.net Wed Feb 26 08:22:00 2003 From: petr at olsak.net (Petr Olsak) Date: Fri Feb 18 15:06:28 2005 Subject: [tex-live] Re: [tex-pretest] Web2C 7.5.2 -- "critical fixes" In-Reply-To: <87n0kkpk3j.fsf@infovore.xs4all.nl> Message-ID: On 25 Feb 2003, Olaf Weber wrote: > General questions/random ideas: > > - Would it make sense to always dump the xord/xchr/xprn tables? IMHO only if -enc is used. The problem is that TCX has no documentation. The current behavior can be documented by the following way: TCX sets xord/xchr/xprn tables only for one TeX run (iniTeX or virTeX) and these tables are not stored in the format. New sentence in such virtual documentation: If -enc -translate-file=... is used in iniTeX then xord/xchr/xprn tables are stored to the format thus you cannot use -translate-file in virTeX again. If you still use this one in virTeX then current values from format are re-written by the new TCX file specification. The similar ideas are stored in encTeX documentation, see encdoc-e.pdf, section "1.3. EncTeX in web2c distribution, TCX tables". > - Would it make sense to make TCX an iniTeX only option? No, it is not backward compatible. Moreower, TCX is commonly used in our country with the same format, but with more than one tcx file specification in various documents. If your suggestion is implemented then we need more (almost the same) formats for such documents, only with different xord/xchr vectors. Petr Olsak