This file records noteworthy changes. 7.2 (15 March 1998) * New upstream version of MetaPost: 0.64. * TeX, METAFONT, MetaPost: Allow for more restrictions on the files written by \openout. * TeX, METAFONT, MetaPost: New option --interaction, which can be used to set batchmode, nonstopmode, scrollmode, or errorstopmode. Thus we can replace a construct like tex '\batchmode \input foo' with tex --interaction=batchmode foo and have a %&format line select the correct format. * When %&format selects a format, the search paths are changed to conform to that format. * TeX, METAFONT, MetaPost: During an "ini" run, the name of the format to be dumped can be set with the --fmt/--efmt/--base/--mem options. * web2c: Extensive support for building e-TeX, Omega, a PDFTeX. * web2c: The manual pages are back. 7.1 (10 November 1997) * Some MSDOS/Win32 support added to the sources. * BibTeX: increased capacity. * VPtoVF: Increased capacity. * TeX, METAFONT, MetaPost: - File foo.bar.tex results in \jobname foo.bar, hence foo.bar.{log,dvi,...}. This as opposed to foo and foo.{log,dvi,...} which it how it used to be in version 6. In 7.0 situation was confusing, as the heuristics used would sometimes result in the extension being stripped, sometimes not. * TeX: - The -extend-jobname option has been removed. - Printing of non-ASCII characters in diagnostics, code by Bernd Raichle. - All three of LF, CR, and CRLF are recognized end-of-line tokens. * web2c: - Some support for e-TeX added to convert. 7.0 (6 February 1997) * Update from Knuth for tex, mf, dvitype, pltotf, vptovf, and tangle, John Hobby's MetaPost (and support programs) included, update from P. Breitenlohner to dvicopy 1.5 and patgen 2.3. * Update for kpathsea 3.0. * Texinfo manual written. * Amiga, OS/2, Windows NT support in the sources. * TeX: - if -shell-escape or shell_escape in texmf.cnf is enabled, \write18{str} passes str to system(3) for processing by sh. - MLTeX extensions (\charsubdef, etc.) can be enabled at runtime. - Many array sizes can be set dynamically, in texmf.cnf. - MakeTeXTFM installed and enabled by default. - IPC communications to an external program for incremental DVI reading. - texfonts.map applies to TFM files, as originally intended. - More than 256 fonts are allowed. - DVI comment (with timestamp) can be overridden. - tex.web's consistency checks on .fmt files restored. * Metafont: - A few array sizes can be set dynamically, in texmf.cnf. - X11 support disabled by default; configure --with-x to enable it. - MakeTeXMF enabled and installed by default. * TeX, Metafont, MetaPost: - If the first line of the main input file starts with %&, the rest of the line is used as the fmt/base/mem file (if it can be found), except that %&ini means initex/inimf/inimpost. - One binary: initex/mf/mpost capabilities merged with virtex/mf/mpost. - New option -progname sets program name independently of argv[0]. - Eight-bit filenames are output correctly in ^^ notation, instead of always being simplified to ^^@. - MakeTeX* scripts can be named and disabled via texmf.cnf. - MakeTeX* scripts are silent if \batchmode is in effect. - TEXMFINI environment variable checked for pool/fmt/base/mem lookups. - \openout (TeX) and write (MP) by default will not write to files whose names start with `.'. - ``Small'' versions no longer supported without source hacking. - Length bug regarding single non-ASCII characters in MF and MP fixed. * BibTeX: - Some arrays dynamically reallocated as needed, other sizes increased. - Default behavior is verbose; new -terse option changes that. - Statistics are written to the .blg file. - Does not look at TEXINPUTS to find .bst files, but does check TEXBIB (after BIBINPUTS). - Does not interactively ask for the top-level .aux name. * All programs: - Supply default extensions and default output files. - Support the standard --help and --version options. - Filenames not arbitrarily restricted in length. - Output written in the current directory, not the directory of an input file. (Most interesting for tangle.) - Times-Roman etc. work as font names, via texfonts.map and subsidiaries. * dvitype prints decimal opcode numbers with --show-opcodes. * bibtex and gftodvi never interactively ask for filenames; dvitype and dvicopy do not enter interactive dialogues. * mft looks in MFTINPUTS, not TEXINPUTS. * Configuration: - Optional features are enabled via configure --with-* and --enable-* options. Run configure --help. - There is no small TeX, Metafont, or MetaPost. If you want it, you'll have to change the change files, #define SMALL* yourself, and do whatever else is necessary yourself. * Source hierarchy substantially simplified. * Web2c: - Support for ifndef...endifn, a la ifdef. - Support for const expressions. - Can generate ANSI code. Version 6.1 (3 February 1994) * foo.bar found before foo.tex (found before foo). * configure links sun.c to sun-sunview.c if SUNWIN is defined. * -DLONG_64_BITS is supplied automatically (if appropriate). * Various changes for configure --srcdir. * Sample MakeTeX* scripts included. Version 6.0 (24 January 1994) * Default paths changed. * Update for TeX 3.1415, etc. * Change to use the kpathsea library, a la dvipsk and xdvik. * TeX's \openin command invokes MakeTeXTeX just like \input. * TeX & Metafont: - 16-byte values can be dumped, thus allowing native `long' on the DEC Alpha. - But 32-bit integers are used if sharable format files are desired, even on 64-bit machines. - Interrupts are accepted when waiting for input. * Online output support in Metafont for Regis terminals and the NeXT. * gftopk can handle characters with up to 100,000 rows. * vftovp's -charcode-format=ascii works properly. * patgen doesn't give bizarre numeric output where it should be text. * configuration: - -lX11 is used for OpenWindows. - The MakeTeX... scripts are individually selectable by default, and can always be invoked if certain environment variables are set. - The subdirectory trick using st_nlink can be turned off. * Makefiles: - man/Makefile doesn't remove itself at `clean'. - {tex,mf}/clean-tr[ia]p doesn't reinstall a {tex,mf}d.h with the test constants. - web2c/Makefile removes lex and yacc output at `clean'. - mkdirchain invoked as an absolute filename. * web2c: - sync is no longer invoked; instead the Makefiles touch texd.h and mfd.h after they are finished. Version 5.851d (22 February 1993) * A file `texfonts.map' allows arbitrary mapping of font names (as given to, for instance, \font) to filenames. * Metafont & TeX: - If a .tex, .tfm, or .mf file can't be found, MakeTeX{TeX,TFM,MF} is invoked before giving up, as in dvips' MakeTeXPK. - Sharable format/base files load faster on LittleEndian machines. - TEXMFOUTPUT is only used for those files which can't be written in the current directory, instead of all files after the first such. Its usage is also reflected in the `... written on ...' messages at the end of the run. - If the DISPLAY environment variable is set, Metafont assumes you are running under X11 for the purposes of online output (instead of relying on the TERM or MFTERM envvar). - Checks for write errors on DVI/GF output. - Unusual glue values no longer make TeX dump core on some systems. * BibTeX: - The cross-reference feature works as documented (I had foolishly changed the default value of min_crossrefs to eliminate it). - New option -min-crossrefs=<number> to change it dynamically. - New option -verbose; without it, normal reportage is eliminated. - Maximum number of .bib files increased to 100. - Non-printable-ASCII characters in .bib files are preserved. * TeXware: - tftopl adds a default extension `.tfm' to the input file if necessary. * web2c: - Unsigned types are used where possible to represent Pascal subranges. Among other things, this eliminates a system dependency in creating format/base files (small_number was defined as `schar', which varies between systems). * configuration: - Unpacks into web2c-<version> instead of src-<version>.*. - site.h merged into lib/c-auto.h.in and ./Makefile.in. - sed is used instead of patch to make the ``small'' change files. - sed is used instead of ed to make the trip/trap files. - The configure script looks in more directories for the X libraries and include files, and is generated from the latest version of Autoconf. - mfware and texware directories merged into the others. - The web2c version is defined in one place, so system information can be added to the banners more easily. * Makefiles: - Makefiles in subdirectories are created by configure. - $(srcdir) (i.e., compiling in a different directory) is closer to working. - Stamp files are not used at the top level, or for {tex,mf}/convert. - New targets install-data and install-exec, to only install architecture-(in)dependent files. * PROBLEMS.W2C has some notes on compiling and using these programs under DOS, contributed by melvin@math.psu.edu. * The man pages have been significantly updated and improved by beebe@math.utah.edu. * The original web files haven't changed. Release 4.893b: * Include patches from Tim to web2c to turn off the verbose output, unless -d is supplied to web2c. * Change $(AR) in the MFwindow Makefile to `ar'. * Try to get the base file from the program name in Metafont, as well in TeX. Implication: mf.script and tex.script are no longer supplied, since a link to plain.{base,fmt} named {mf,tex}.{base,fmt} suffices. `make install' doesn't create these links, since they only need to be done once. * Move some stuff from site.h that should never be changed to a new file, defaults.h. Add a new definition, SIGNAL_HANDLER_RETURN_TYPE, to site.h, to get rid of the warnings in {tex,mf}/extra.c. * Use a sed script, contributed by eggert@twinsun.com, instead of the awk script, at the beginning of the pipeline. * Fix an unsigned comparison problem in pltotf, that made cc produce infinite ligature loops when converting trip.pl. * Change threshold in Metafont, and f in tftopl, so broken C compilers (like some versions of pcc) don't get confused. * Port vftovp and vptovf. Move pktogf and pktype to fontutil. * Allow more than 500 kern pairs in pltotf. * Change the first parameter to {mf,extra}/extra.c to *filename from filename[]. * Use a better hack for the mutually recursive procedures in pltotf et al., from Tor Lillqvist <tml@hemuli.atk.vtt.fi>. Release 2.993+1.9 = 4.893a: Sebastian contributed the updates to ctex.ch, tftopl.ch, and pltotf.ch. Karl did the cmf.ch update. Release 3.0: Brings everything up to the new 8-bit versions. Almost every file has changed at least somewhat, so I'm not going to list all the changes. Here are some highlights: * char is now 0..255 instead of 0..127 in *.defines. * `packed' is no longer ignored as part of an identifier (e.g., `packed_trie'). * new Makefiles to make it easier to do the trip/trap test, and with all the support programs integrated. * ctex.ch has a hack to get around trie_op_hash being an array with a negative lower bound. * pltotf.ch has a hack to get around mutually recursive routines.