2 This file is public domain.
4 ----------------------------------------------------------------------
5 What is new in MetaPost beta version 1.090:
6 ----------------------------------------------------------------------
8 This MetaPost release is based on MPlib. For those of you who are not
9 aware of the MPlib project yet:
11 MPlib is the name of the new, revamped version of the MetaPost
12 interpreter. It is implemented in Cweb, and internally consists
13 of a core library, an mpx generation library, and a frontend
14 driver program (mpost).
16 There are no changes to the MetaPost language, but nevertheless there
17 are some minor differences with the last pascal-web based version of
20 * The MPlib distribution is released under the GPL version 2 or,
21 at your option, any later version.
23 * The commandline is slightly different, run mpost --help for details.
25 * The mem file format is changed, you have to regenerate any
28 * The new mpx generation library includes the label generation
29 functionality that was previously provided by 'makempx', and
30 this internal code will be used instead of an external program.
31 That is, unless the MPXCOMMAND variable is set in the environment
32 or texmf.cnf. The 'mpware' programs became obsolete and are no
33 longer included in the distribution.
35 * Most of the memory configuration variables from texmf.cnf
36 have become obsolete due to dynamic reallocation. The four remaining
37 ones are 'main_memory', 'hash_size', 'max_in_open', 'param_size'.
38 These are only taken into account at mem generation time, the
39 values are stored in and reloaded from the mem file.
41 * The core MPlib library does not interpret an initial '&' as anything
42 special and it does not support re-initialization using a different
43 mem file either. The command line program mpost _does_ interpret '&'
44 as an alias for the -mem switch to preserve (some) compatility.
46 * The MPlib distribution includes lua script language bindings.
48 Following are the NEWS items for the previous beta releases of MPlib.
50 ----------------------------------------------------------------------
51 What is new in the beta release of MPlib 1.090:
52 ----------------------------------------------------------------------
54 * The lua bindings to MPlib are added to the distribution, and
55 build.sh can now build an mplib.so loadable module for lua
56 (this needs an installed lua 5.1 distribution)
58 * Some internal macros are renamed so that the exported C structure
59 fields could have better names, and a new document (mplibapi.tex)
60 provides the documentation of the C api and Lua bindings.
62 * The texmf and manual trees are now included again.
64 * (un)dumping mem files is delegated to a separate cweb source file.
66 * All gcc-isms in the build and configure scripts have been removed.
68 * The kpathsea library is updated.
70 ----------------------------------------------------------------------
71 What is new in the beta release of MPlib 1.085:
72 ----------------------------------------------------------------------
74 * Determination of the mem name to use in non-ini mode is now much
75 closer to the web2c approach.
77 * There is now a magic word in the beginning of the mem file to make
78 sure it is written by the correct version of MPlib.
80 * Fixed the disappearing comment sign in the to-be-typeset document
81 created by the mpx generation subsystem.
83 * Various identifiers have been renamed to avoid clashes (that prevented
84 the source from building correctly on many platforms)
86 * A great many small changes and fixes have been added after running
87 splint on the generated C source.
90 ----------------------------------------------------------------------
91 What is new in the beta release of MPlib 1.080:
92 ----------------------------------------------------------------------
94 * The MPlib distribution is released under the GPL version 2 or, at
95 your option, any later version. The copyright statements in the source
96 files have been updated to reflect this.
98 * The mpost program banner now contains the kpathsea version, and no
99 longer mentions the fact that the source is now cweb at all.
101 * The mpost program once again supports 'E' error responses.
103 * There are some minor internal API changes, but there is still no
104 documentation for the API, so that is not very interesting yet.
107 ----------------------------------------------------------------------
108 What is new in the beta release of MPlib 1.060:
109 ----------------------------------------------------------------------
111 * The MPlib distribution is released under the GPL version 2.
113 * This release is the first that replaces the old metapost distribution
114 completely. The executable is now named 'mpost' with engine name
117 * The release now includes a cweb implementation of the makempx
118 functionality that is linked into the mpost executable.
119 This internal code will be used unless the MPXCOMMAND variable is set.
120 Because of this functionality, the mpware directory is no longer
121 included and the standalone programs 'makempx', 'newer', 'mpto',
122 'dvitomp' and 'dmp'. are no longer maintained.
124 * This is the first development release of the new cycle, and contains
125 all of the functionality of Metapost 1.005. The mpost version is now
126 1.060, and the special version number for the cweb version has been
127 removed from the banner.
129 ----------------------------------------------------------------------
130 What is new in the alpha release of MPlib (0.20.0):
131 ----------------------------------------------------------------------
133 * Two bugs in MP 1.002 were fixed by Giuseppe Bilotta, both fixes
134 are about polygonals pens and will be included in the upcoming
135 MP 1.003 release also.
137 * It is now possible to ask for the envelope of a path drawn as
138 traced by a (non-elliptical) pen:
141 p = fullcircle scaled 30;
142 q = envelope pensquare of p;
144 * There is a lua interface now, and it is already used by luatex.
146 To play with this, currently the best solution is to fetch the
147 0.25.0 beta of luatex: http://foundry.supelec.fr/projects/luatex
148 This embeds MPlib 0.25.0 as well as its documentation.
150 * Many bugs were fixed.
152 ----------------------------------------------------------------------
153 What is new in the alpha release of MPlib (0.10.0):
154 ----------------------------------------------------------------------
156 * The source is converted to cweb, and split into a library part
157 (mpdir/lib/*.w) and a frontend executable (mpdir/mpost.w).
159 * The front end executable is named "newmpost", this takes
160 care of configuring the MPlib library via C code, and uses
161 kpathsea for file searching. There is no change file involved,
162 and the web2c runtime library is not used.
164 * Some of the internal arrays now grow dynamically when needed:
167 * the string pool and number of strings
168 * the font memory and number of fonts
169 * the number of "readfrom" and "write" files
170 * the path segment size
171 * the input nesting stack
172 * the number of new internals
173 * the TFM writing arrays (but these are limited by TFM format)
175 Still not doing that (so these can only be changed in --ini mode):
179 * the number of simultaneous macro parameters
180 * the level of "input" file nesting
182 * The following command-line options are ignored by the front-end
185 -[no-]file-line-error
188 -[no-]parse-first-line
194 The other web2c command-line options should work as normal.
196 * the mpware tools are not in this distribution, their functionality
197 will eventually be assimilated into the frontend application.
199 * the build process depends on a local "ctangle" command being in the
200 path, for now. The confiration and building system is not yet complete.
202 * API documentation is still missing, but the MetaPost input language
205 ----------------------------------------------------------------------
206 What is new in version 1.002:
207 ----------------------------------------------------------------------
209 * Version 1.001 introduced a memory allocation error in mpto that could
210 result in the program looping endlessly
212 ----------------------------------------------------------------------
213 What is new in version 1.001:
214 ----------------------------------------------------------------------
216 * The default cmyk 'black' color now uses only black, not all four
217 ink colors (after a discussion on the mailing list).
219 * Some issues were reported with the new turningnumber algorithm,
220 all known problems are now fixed.
222 * Gábor Braun discovered that mpost did not always download the font
223 encodings into all the created output files.
225 * Akira Kakuto and Hartmut Henkel found some small issues in mpto
226 regarding trailing and leading whitespace.
228 * A fix for the 'Helvetica' entries in trfonts.map was provided by
229 Werner Lemberg, and Michail Vidiassov supplied two extra font
230 entries for troff.map (Symbol and ZapfDingbats). Karl Berry
231 provided the new file troff-updmap.map, to be used by the updmap
234 * Mpost now supports web2c's --output-directory option.
236 * Any warnings about missing fonts and characters are now always
237 written to the terminal as well as to the log.
239 * Now that makempx is a C program, it needed a different install line
240 in build.sh. Also, Olaf Mersmann contributed a patch to recognize
243 * Luigi Scarso found some typing errors in the web source that prevented
244 clean weaving of the source.
246 * Stephan Hennig fixed a number of problems in the manual (mpman.tex)
247 and the introduction paper (mpintro.tex). He also wrote new sections on
248 how to preview metapost graphics and on how to use metapost graphics
249 inside other documents. On top of that, the manual is now hypertext-aware,
250 and fixes for a whole series of small problems have been applied.
252 ----------------------------------------------------------------------
253 What is new in version 1.000:
254 ----------------------------------------------------------------------
256 * The use of DSC (document structuring) comments has been
257 been cleaned up, thanks to comments by Michail Vidiassov.
259 * By setting prologues to 2 or 3, you can ask MetaPost to
260 reencode and include the used labels fonts in the output,
261 thus creating proper Encapsulated PostScript files even
262 if labels are present.
264 * Support for greyscale and cmykcolor models is added.
266 * The new drawing options "withprescript" and withpostscript"
267 allow the user to attach PostSCript special text to a specific
270 * Setting the new internal "mpprocset" to 1 will make MetaPost
271 create a somewhat extended preamble that defines shortcuts
272 for the postscript commands (e..g "l" instead of "lineto").
273 For big images, this can help shrink the output a bit.
275 * The pool file is now integrated in the executable, so there
276 is not separate 'mp.pool' anymore, except at build time.
278 * Groff support is redone, and dmp now uses kpathsea searching.
279 Groff related changes are thanks to the efforts of Werner
280 Lemberg and Michail Vidiassov
282 * makempx is now a compiled executable on all systems,
283 thank you Akira Kakuto
285 * The error for 'special's longer then 255 characters
286 is removed, so specials can now be of any length.
288 * There is new turningnumber implementation that attempts
289 to find the mathematically correct "turningnumber" of a
290 path. The formulae are derived from a mailinglist discussion
291 between (especially) Dan Luecking and Giuseppe Bilotta.
293 * The manual is updated and modernized. It is currently
294 maintained by Stephan Hennig and Troy Henderson.
296 ------------------------------------------------------------------
297 Changes in version 0.920:
298 ----------------------------------------------------------------------
300 * Fixed a long-standing bug in web2c where changing values of the
301 memory_size setting in web2c could cause crashes and other random
302 problems. The memory array size is now written to the dump file
303 and loading is aborted if the values do not match.
304 * Implement configurable figure output filename templates.
305 * Implement cmyk, greyscale, and marking only color models.
306 * The mpost executable is now version 0.920
308 ----------------------------------------------------------------------
309 Changes in version 0.902:
310 ----------------------------------------------------------------------
311 * Fix a bug in mpto resulting in correctly placed labels (with
312 thanks to Dan Luecking)
313 * Fix a bug blocking compilation of dmp on MacOSX
314 * The mpost,dmp,mpto executables are now version 0.902
317 ----------------------------------------------------------------------
318 Changes in version 0.901:
319 ----------------------------------------------------------------------
320 * A corrected bugfix for bug item 3 from version 0.9 (the old fix
321 made metapost fail the trap test)
322 * Included mpost.mp for mem generation
323 * Updated the trap test output.
324 * The mpost executable is now version 0.901
326 ----------------------------------------------------------------------
327 What is new in version 0.9:
328 ----------------------------------------------------------------------
329 1. There is a new internal quantity called mpversion that reports the
330 current metapost version, and the version information is also written
331 to the PostScript file.
332 2. The LaTeX sources of the mpman, mpintro, and mpgraph manuals have
333 become part of the distribution package.
334 3. TEX.mp now has TeX format support through a pair of macros called
335 TEXPRE() and TEXPOST(). This llows you to process the contents of
336 the TEX() macro with, for example, LaTeX (instead of plain TeX).
337 An example is given in the manual.
338 4. metapost now writes a %%HiReSBoundingBox comment
339 5. The EPS output no longer contains actual spaces within PostScript
340 strings as for example output by label("a space"), but their
341 octal escape (\040) instead.
342 6. The EPS output now also has a %%BeginProlog DSC comment
343 as well as %%EndProlog
344 7. The comments in the Web source have been changed to point out
345 that on modern machines, acquiring the random seed has actually
346 become a system-dependant operation (a granularity of whole seconds
347 is not small enough on new machines).
348 8. The 'newer' command now accepts more than 2 arguments, testing
349 each of the files in turn.
351 ----------------------------------------------------------------------
352 Bugfixes in version 0.9:
353 ----------------------------------------------------------------------
354 1. Documentation improvements: all known errata and typos have been
355 removed, better explanations of e.g. dash patterns and dotlabel have
356 been provided, and a number of omissions has been rectified.
357 2. The BoundingBox was not computed correctly when a filldraw command
358 with a noticeable pen size was used at the edge of the picture.
359 3. Paths starting with degenerate constructions like (0,0)--(0,0)--(0,0)
360 could overflow memory.
361 4. The PostScript output could accidentally contain 8-bit characters
362 within PostScript strings in previous versions because a test was
363 shared between terminal printing and PostScript printing.
364 5. A bug has been found in the assignment of serial numbers to independant
365 variables in metafont 2.71828. This bug affected MP as well, and the
366 same patch has been applied.
367 6. The turningnumber was sometimes wrong in unexpected ways. The new
368 implementation is still sometimes wrong (when there are strange path
369 segments involved), but in a much more predictable way: the new code
370 always draws straight lines between the actual points, and calculates
371 the turningnumber based on that path instead of the actual path. The
372 effect is that cusps and loops within segments are now completely
373 ignored. A more thorough fix of turningnumber is planned for the
375 7. There was an 'off by one' error in dvitomp wrt. the interpretation
377 8. mpto uses a new TeX macro for the generation of labels, making it
378 more robust wrt. strange user code within the actual label text.
379 9. A missing colon in boxes.mp has been added
380 10. A missing save in mfplain.mp has been added
381 11. The generisize in boxes.mp has been fixed so that it now accepts [[ as
382 a valid variable name
384 ----------------------------------------------------------------------
386 ----------------------------------------------------------------------
387 The only change was to fix the code for transforming a picture that
388 contains a filldraw. Version 0.64 introduced a bug that caused an
389 inappropriate memory reference in that case.
391 ----------------------------------------------------------------------
392 What is new in Version 0.64:
393 ----------------------------------------------------------------------
394 1. A new primitive command closefrom filename closes a readfrom file
395 so that subsequent calls to readfrom with that file name will go back
396 to the beginning of the file.
397 2. The ^^ notation for unprintable characters is now used only when printing
398 on the terminal or the log file. Internal computations and the write
399 command are all 8-bit clean. (This is partly due to material in mp.ch
400 that changes the initialization of the xchr array. Without these
401 system-dependent changes, the write command would map all non-ascii
402 characters to spaces.)
403 3. Arithmetic overflow during a comparison such as 20000>-20000 is now
404 ignored. This avoids extraneous error message when using the graph.mp
406 4. Transformations with negative determinants now work properly on pictures
407 drawn with polygonal pens.
408 5. When the readfrom operator is applied to a file that does not exist,
409 an attempt to close a non-open file could cause problems in some
410 implementations. This has now been fixed.
411 6. Using draw picture_expression withpen where the picture_expression
412 was a scaled picture containing dashed lines, the dash lengths would
413 change. This bug has been fixed.
414 7. The dashpart operator could return an invalid picture or a picture that
415 is not properly scaled. This has also been fixed.
416 8. The |char_base| variable could become negative when using fonts that
417 do not start at character 0. There was also bad Pascal code in function
418 b_open_in. This has all been fixed.
419 9. Dvitomp has been fixed to avoid a font data structure problem that
420 could cause some characters to come out in the wrong font when you
421 mix virtual and non-virtual fonts.
422 10. Dvitomp now correctly prints font names when there is a checksum
423 mismatch, and it aborts instead of just printing an error if a tfm
425 11. In plain.mp, the drawdblarrow macro now uses filldraw so that it works
426 better with large pen sizes.
428 ----------------------------------------------------------------------
430 ----------------------------------------------------------------------
431 When prologues is negative, the output files use full precision for
432 coordinates in "%%BoundingBox" comments. In btex..etex blocks,
433 "number too large" and "invalid character" errors are suppressed.
434 The result of btex..etex is now guaranteed to be in a setbounds path
435 so that a for...within iteration will always treat it as a unit.
437 There are also some obscure bug fixes involving string compaction when
438 scanning a file name or when mp is compiled in debug mode. Some possible
439 identifier name conflicts and range check errors have also been fixed.
442 ----------------------------------------------------------------------
444 ----------------------------------------------------------------------
445 This version fixes an obscure bug that could cause certain perfectly valid
446 strings to be printed as "???" or " NONEXISTENT". It also includes a minor
447 fix to the PATHEXPAND code that prevents running out of file descriptors.
450 ----------------------------------------------------------------------
451 What is new in Version 0.63:
452 ----------------------------------------------------------------------
453 1. Backslashes in the PostScript output are rendered correctly. They used
454 to come out as (\) instead of (\\).
455 2. Recycling an independent variable should no longer cause spurious overflows.
456 (This bug was recently found in mf.web.)
457 3. Pythagorean addition should now be faster in certain trivial cases.
458 4. Rotating text by arbitrary angles should no longer cause bad PostScript
459 output. The problem was that arguments to "fshow" could be inaccurate.
460 5. Obscure bugs inherited from mf.web are now fixed. These involve
461 balancing parentheses showing on the terminal, reporting the correct
462 line number in case of buffer overflow, and removing spurious reference
463 counts that could effect end-of-job statistics.
464 6. Fonts with ec=255 should no longer cause mp's PostScript output routines
466 7. When mp's string mechanism was heavily used, file names could occaisonally
467 be printed on the terminal and log file as "(?)". This has been fixed.
468 8. Setting PATHEXPAND in site.h causes mp, dvitomp and dmp to understand "//"
469 in path variables as "search multiple levels of subdirectories". This is
470 for compatibility with recent versions of the Web2c TeX distribution.
471 9. A typo in mpware/makempx and mpware/troffmpx has been fixed. Previous
472 versions of these scripts would not run on some systems.
473 10. Data files *.d have been added to the doc directory. These are used by
474 doc/mpgraph.mp which generates figures for "Drawing Graphs with MetaPost".
475 11. Typos in mpintro.tex and mp.web's TeX material have been fixed.
476 12. Files examples.mp, mpintro.tex and mpintro.bib have moved from mplib to
478 13. The author's email address now appears in the README file.
481 ----------------------------------------------------------------------
482 Macros added to the mplib directory between Versions 0.50 and 0.62:
483 ----------------------------------------------------------------------
484 rboxes.mp is a slightly more general version of boxes.mp
485 TEX.mp provides a way of running tex dynamically instead of as a pre-processor
486 graph.mp, format.mp, and sarith.mp are documented in doc/mpgraph.ps
487 (This is the same as ftp://netlib.att.com/netlib/att/cs/cstr/164.ps.Z)
488 marith.mp, string.mp, texnum.mp, and troffnum.mp are low-level packages
489 used by graph.mp, format.mp, and sarith.mp.
492 ----------------------------------------------------------------------
493 Other minor bug fixes subsequent to Version 0.60
494 ----------------------------------------------------------------------
495 1. plain.mp has been fixed so that the x**y works properly when x<0 and y is
497 2. Programs mptotex.c and mptotr.c which extract btex..etex material have been
498 fixed so they work properly with input files that do not end with a newline
500 3. Program dmp.c which handles troff output from btex..etex blocks has been
501 modified to avoid outputting any non-ASCII characters that the C function
503 4. Program dmp.c no longer gets troff graphics specials confused with text.
504 This seldom matters because btex..etex blocks are unlikely to contain
506 5. Pictures containing clipped subpictures could come out with some colors
507 in the subpicture wrong.
508 6. Colors in PostSript output were not being restricted to the standard 0..1
510 7. Transforming a path or a pen should no longer generate extraneous overflow
511 errors in certain unusual situations.
512 8. Drawing with a degenerate 2-vertex polygonal pen such as penrazor should
513 no longer cause an infinite loop in certain unusual situations.
514 9. There were some bugs in the mfplain macros. (These macros are designed
515 to similate plain METAFONT.) The drawing and filling macros now apply
516 currenttransform to the path but not the pen rather than vice versa.
517 The predefined modes now set o_correction to 1.0.
518 10. For security reasons, mp can no longer read or write files whose names
522 ----------------------------------------------------------------------
523 Changes to the MetaPost language between Version 0.50 and Version 0.60
524 ----------------------------------------------------------------------
525 1. New operator `readfrom <filename>' and new command
526 `write <string expression> to <filename>' do file I/O. Plain defines
527 a special string EOF that readfrom returns to indicate end-of-file
528 and write..to understands as well.
529 2. New iteration type `for p within <picture expression>: <loop text> endfor'
530 iterates through the interior components of the picture. An `interior
531 component' is a single pen stroke, filled outline, or piece of typeset
532 text. A part of the picture enclosed in a clipping or setbounds path
533 also counts as an interior component. If the whole picture is enclosed
534 in such a path, the for..within iteration looks inside. Note that a
535 picture generated by btex..etex is enclosed in a setbounds path.
536 3. The length operator now applies to pictures. It returns the number of
538 4. New boolean operators stroked, filled, textual, clipped, bounded test
539 the first component of a picture. A picture enclosed in a clipping or
540 setbounds path counts as a single component.
541 5. Part extraction operators now work for pictures. Standard operators
542 redpart, greenpart, bluepart apply to the color of the first component
543 and xpart, ypart, xxpart, xypart, yxpart, yypart extract parts of the
544 tranformation that has been applied to a text component. If `textual p'
545 is false, the transform components are all zero; if `clipped p' or
546 `bounded p' is true, the color parts are all zero. Additional operators
547 fontpart, textpart, pathpart, penpart, dashpart extract other information
548 from the first component of a picture. They all return null values when
549 the first component has the wrong type: fontpart and textpart return
550 null strings; pathpart returns the path (0,0); penpart returns nullpen;
551 and dashpart returns nullpicture.
552 6. The construction `dashed nullpicture' is now a no-op. It used to be
554 7. The clip and setbounds statements used to ignore operations on empty
555 pictures. Now they do not.
556 8. Structuring comments in the PostScript output are now based on EPSF-3.0
557 as described in the 2nd Edition of the PostScript Reference Manual.
558 When prologues is 0, some structuring comments are included but the
559 output is not flagged a `conforming document'. Previous versions of
560 MetaPost behaved similarly but used slightly different structuring
562 9. When warningcheck is 0, numeric tokens and results from the hex and
563 oct operators can be as large as 32767.99998. The old limit of about
564 4096 applies only when warningcheck is positive.
565 10. Various optimizations should make the output a little more compact.
566 11. For PostScript engines that obey the scan-conversion rules documented
567 in the 2nd edition PostScript Language Reference Manual, hrules and
568 vrules in btex..etex blocks should now come out to exactly the right
569 number of pixels. The change affects all pen strokes drawn in MetaPost
570 It is implemented via PostScripts dtransform and idtransform operators.
571 12. A bug involving setbounds and MetaPost's corner operators has been fixed.
572 13. Degenerate elliptical pens no longer cause PostScript to divide by zero.
573 14. Fixed a very obscure bug involving readstring and end-of-file.
574 15. String compaction statistics are now printed correctly when the job
575 terminates with tracingstats positive.
579 ----------------------------------------------------------------------
580 Changes to the source files between Version 0.50 and Version 0.60
581 ----------------------------------------------------------------------
583 CHANGES to ./README.MP
584 The installation instructions should now be clearer. They also explain
585 how to cope with verious versions of WEB2C.
588 I removed unused entries and clarified instructions in commentary material.
589 Confusing comments about possibly merging it with the WEB2C version of site.h
590 were removed--I think such merging is a bad idea.
592 CHANGES TO ./Makefile, mp/Makefile, mpware/Makefile:
593 Improved default settings, simplified the `install' recipe,
594 fixed a few missing depencies, portability problems, etc.
597 mp/mp.defines, mpware/mpware.defines, mpware/dvitompext.c
598 TO mp/mp.def, mpware/mpware.def, mpware/dvimpext.c
599 (The names also changed in the Makefiles and convert scripts)
601 CHANGES TO mp/mp.web, mp/mp.ch, mp/mp.def, mp/mpext.c:
602 Lots of new features were added as noted above. The only new system-
603 dependencies are for `readfrom' and `write...to'.
604 The change file now increases max_read_files; it doesn't bother with
605 max_write_files, but perhaps it should. There is a new change entitled
606 "Path selector for..readfrom file". From the web2C sources I borrowed
607 a change "`logname' is declared in <unistd.h> in some systems". I also
608 added a PASCAL-like eof() routine to mpext, removed a change entitled
609 "avoid using eof() in read_psname_table" and added a new change
610 "[48.1199] `eof'...[in read_mem_file]".
612 Reorganization of math routines in the mp directory:
613 I moved the floating-point math routines from mpext.c to mpath.c. A
614 C-language version of the standard math routines was moved from mpmath.c
615 to a new file pmath.c for use in mathtest only. This required chages to
616 mathtest.c and time.c (also used only for mathtest). The point of all
617 this is that there is now just one copy of the floating-point math routines
618 and it is used for mathtest and (optionally) for mp itself.
620 Routines in doc and mp/trapdir:
621 The output was updated to Version 0.60. Another test file mptrap.mp
622 tests new features. There have also been minor updates to the manual,
623 although the new features for Version 0.60 are not included yet.
625 CHANGES to macros in mplib:
626 A minor change to boxes.mp should make it more robust. Changed default
627 setting of tracinglostchars in mfplain.mp and plain.mp. Added a string
628 constant EOF to plain.mp for use with readfrom and write..to.
629 Changed mproof.tex to make it more portable as suggested by Knuth.
631 CHANGES to mpware/dvitomp.web, mpware/dvitomp.ch:
632 The web file was changed to output rules as horizontal or vertical
633 penstrokes with butt endcaps. This also affected dvitomp.ch. Also in
634 dvitomp.ch, put terminal output on stdout instead of stderr and require
635 the output file to be given on the command line.
637 CHANGES to mpware/makempx, mpware/troffmpx:
638 Added comments explaining what path names need fixing. Portability improvements
639 and dvitomp's output change affect makempx only.
641 CHANGES to mpware/mptotex.c mpware/mptotr.c mpware/testex.err mpware/testex.mp:
642 Ignore an initial newline in the TeX (or troff) material to avoid generating
643 a blank line in the output file. The test file now covers this case.
645 CHANGE to mpware/newer.c
646 Minor changes to make it compile in strict ANSI/POSIX environments.