source: trunk/third/m4/NEWS @ 13394

Revision 13394, 6.4 KB checked in by ghudson, 26 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r13393, which included commits to RCS files with non-trunk default branches.
Line 
1GNU m4 NEWS - User visible changes.
2Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
3
4Version 1.4 - October 1994, by Franc,ois Pinard
5
6(No user visible changes)
7
8Version 1.3 - September 1994, by Franc,ois Pinard
9
10* Diversions are created as needed.  Option `-N' is still accepted, but
11otherwise ignored.  Users should use only negative diversion numbers,
12instead of high positive numbers, for diverting to nowhere.
13
14* Diversions should also work faster.  No temporary files will be needed
15at all if all diversions taken altogether do not use more than 512K.
16
17* Frozen state files may be produced with the `--freeze-state' (-F)
18option and later brought back through the `--reload-state' (-R) option.
19
20Version 1.2 - July 1994, by Franc,ois Pinard
21
22* In patsubst(STRING, REGEXP, REPLACEMENT), \& in REPLACEMENT has been
23changed to represent this part of STRING matched by the whole REGEXP,
24instead of the whole STRING as before.  \0 does the same, but emits a
25diagnostic saying it will disappear in some subsequent release.
26
27* eval(EXPR) emits a diagnostic if EXPR has suffixed crumb.  The same for
28other numeric conversions in incr(), decr(), divert(), etc.
29
30* `--fatal-warnings' (-E) stops execution at first warning.
31
32* `--nesting-limit=LEVEL' (-L LEVEL) sets a limit to macro nesting.
33It is initially fixed at 250.
34
35* `--word-regexp=REGEXP' (-W REGEXP) modifies macro name syntax, like
36does the new `changeword(REGEXP)' macro.  This feature is experimental,
37tell me your opinions about it.  You do need --enable-changeword at
38configure time to get these things.  Do *not* depend on them yet.
39
40* Trace output format is scannable by GNU Emacs' next-error function.
41
42* Stack overflow is detected and diagnosed on some capable systems.
43
44* Various bugs have been corrected, m4 should be more portable.  See the
45ChangeLog for details.
46
47Version 1.1 - November 1993, by Franc,ois Pinard
48
49Changes which might affect existing GNU m4 scripts:
50
51* Option `-V' has been removed, use `--version' instead.  `--version'
52writes on standard output instead of standard error, and inhibits any
53script execution.
54
55* `--no-gnu-extensions' has been renamed `--traditional'.
56
57* In `eval', `^' used to indicate exponentiation, use `**' instead.
58
59* The automatic undiversion which takes place at end of all input is
60forced into the main output stream.
61
62Changes which are unlikely to affect existing scripts:
63
64* `--help' prints an usage summary on standard output.  Script execution
65is then inhibited.
66
67* `--prefix-builtins' (-P) prefixes all builtin macros by `m4_'.
68
69* Most builtin macros for which arguments are mandatory, called without
70any arguments, are no more recognized as builtin macros: they are
71consequently copied verbatim to the output stream.
72
73* `define' and `pushdef' are usable with only one argument, they give
74this argument an empty definition.
75
76* `eval' new operators for binary representation handling: `^' for
77exclusive-or, `~' for the bitwise negation, `<<' and `>>' for shifts.
78
79* `eval' recognizes the notation 0bDIGITS for binary numbers and the
80notation 0rRADIX:DIGITS for numbers in any radix from 1 to 36.
81
82Version 1.0.3 - December 1992, by Franc,ois Pinard
83
84Changes for the user:
85
86* `dnl' outputs a diagnostic if immediately followed by `('.  Usually,
87`dnl' is followed by newline or whitespace.
88
89* `ifelse' accepts without complaining the common idiom of having only
90one argument.  This is useful for introducing long comments.
91
92* `eval' always expresses values as signed, whatever the radix.
93
94* M4OPTS environment variable is no longer obeyed.
95
96* `--no-warnings' option is renamed `--silent'.
97
98* Debug lines use a new format more compatible with GNU standards.
99
100* Various bugs have been corrected.  See the ChangeLog for details.
101
102Changes for the installer:
103
104* GNU m4 now uses an Autoconf-generated configure script, and should be
105more easily portable in many ways.  (Cray is not supported yet).
106
107* `make check' has been made more portable, expect no errors.
108
109Changes for the programmer:
110
111* Sources have been fully reindented to comply with GNU standards, and
112cleaned up in many ways.
113
114* Sources have been protoized.  Non-ANSI compilers are automatically
115detected, then sources are unprotoized on the fly before compilation.
116
117* GNU m4 uses newer versions of obstack, regex, getopt, etc.
118
119Version 1.0 - October 1991, by Rene' Seindal
120
121* Uses GNU configure, taken from the gdb distribution.
122
123* Uses GNU getopt(), with long option names.
124
125* The -Q/+quiet option is added, which suppresses warnings about missing
126or superflous arguments to built-in macros.
127
128* Added default options via the M4OPTS environment variable.
129
130* Several minor bugs have been fixed.
131
132Version 0.99 - July 1991, by Rene' Seindal
133
134* The builtins `incr' and `decr' are now implemented without use of
135`eval'.
136
137* The builtin `indir' is added, to allow for indirect macro calls
138(allows use of "illegal" macro names).
139
140* The debugging and tracing facilities has been enhanced considerably.
141See the manual for details.
142
143* The -tMACRO option is added, marks MACRO for tracing as soon as it
144is defined.
145
146* Builtins are traced after renaming iff they were before.
147
148* Named files can now be undiverted.
149
150* The -Nnum option can be used to increase the number of divertions
151available.
152
153* Calling changecom without arguments now disables all comment handling.
154
155* A bug in `dnl' is fixed.
156
157* A bug in the multi-character quoting code is fixed.
158
159* Several typos in the manual has been corrected.  More probably persist.
160
161Version 0.75 - November 1990, by Rene' Seindal
162
163* Implemented search path for include files (-I option and M4PATH
164environment variable).
165
166* Implemented builtin `format' for printf-like formatting.
167
168* Implemented builtin `regexp' for searching for regular expressions.
169
170* Implemented builtin `patsubst' for substitution with regular
171expressions.
172
173* Implemented builtin `esyscmd', which expands to a shell commands output.
174
175* Implemented `__file__' and `__line__' for use in error messages.
176
177* Implemented character ranges in `translit'.
178
179* Implemented control over debugging output.
180
181* Implemented multi-character quotes.
182
183* Implemented multi-character comment delimiters.
184
185* Changed predefined macro `gnu' to `__gnu__'.
186
187* Changed predefined macro `unix' to `__unix__', when the -G option is
188not used.  With -G, `unix' is still defined.
189
190* Added program name to error messages.
191
192* Fixed two missing null bytes bugs.
193
194Version 0.50 - January 1990, by Rene' Seindal
195
196* Initial beta release.
197
198Local Variables:
199fill-column: 75
200End:
Note: See TracBrowser for help on using the repository browser.