1 | GNU m4 NEWS - User visible changes. |
---|
2 | Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. |
---|
3 | |
---|
4 | Version 1.4 - October 1994, by Franc,ois Pinard |
---|
5 | |
---|
6 | (No user visible changes) |
---|
7 | |
---|
8 | Version 1.3 - September 1994, by Franc,ois Pinard |
---|
9 | |
---|
10 | * Diversions are created as needed. Option `-N' is still accepted, but |
---|
11 | otherwise ignored. Users should use only negative diversion numbers, |
---|
12 | instead of high positive numbers, for diverting to nowhere. |
---|
13 | |
---|
14 | * Diversions should also work faster. No temporary files will be needed |
---|
15 | at 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) |
---|
18 | option and later brought back through the `--reload-state' (-R) option. |
---|
19 | |
---|
20 | Version 1.2 - July 1994, by Franc,ois Pinard |
---|
21 | |
---|
22 | * In patsubst(STRING, REGEXP, REPLACEMENT), \& in REPLACEMENT has been |
---|
23 | changed to represent this part of STRING matched by the whole REGEXP, |
---|
24 | instead of the whole STRING as before. \0 does the same, but emits a |
---|
25 | diagnostic saying it will disappear in some subsequent release. |
---|
26 | |
---|
27 | * eval(EXPR) emits a diagnostic if EXPR has suffixed crumb. The same for |
---|
28 | other 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. |
---|
33 | It is initially fixed at 250. |
---|
34 | |
---|
35 | * `--word-regexp=REGEXP' (-W REGEXP) modifies macro name syntax, like |
---|
36 | does the new `changeword(REGEXP)' macro. This feature is experimental, |
---|
37 | tell me your opinions about it. You do need --enable-changeword at |
---|
38 | configure 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 |
---|
45 | ChangeLog for details. |
---|
46 | |
---|
47 | Version 1.1 - November 1993, by Franc,ois Pinard |
---|
48 | |
---|
49 | Changes which might affect existing GNU m4 scripts: |
---|
50 | |
---|
51 | * Option `-V' has been removed, use `--version' instead. `--version' |
---|
52 | writes on standard output instead of standard error, and inhibits any |
---|
53 | script 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 |
---|
60 | forced into the main output stream. |
---|
61 | |
---|
62 | Changes which are unlikely to affect existing scripts: |
---|
63 | |
---|
64 | * `--help' prints an usage summary on standard output. Script execution |
---|
65 | is 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 |
---|
70 | any arguments, are no more recognized as builtin macros: they are |
---|
71 | consequently copied verbatim to the output stream. |
---|
72 | |
---|
73 | * `define' and `pushdef' are usable with only one argument, they give |
---|
74 | this argument an empty definition. |
---|
75 | |
---|
76 | * `eval' new operators for binary representation handling: `^' for |
---|
77 | exclusive-or, `~' for the bitwise negation, `<<' and `>>' for shifts. |
---|
78 | |
---|
79 | * `eval' recognizes the notation 0bDIGITS for binary numbers and the |
---|
80 | notation 0rRADIX:DIGITS for numbers in any radix from 1 to 36. |
---|
81 | |
---|
82 | Version 1.0.3 - December 1992, by Franc,ois Pinard |
---|
83 | |
---|
84 | Changes 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 |
---|
90 | one 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 | |
---|
102 | Changes for the installer: |
---|
103 | |
---|
104 | * GNU m4 now uses an Autoconf-generated configure script, and should be |
---|
105 | more easily portable in many ways. (Cray is not supported yet). |
---|
106 | |
---|
107 | * `make check' has been made more portable, expect no errors. |
---|
108 | |
---|
109 | Changes for the programmer: |
---|
110 | |
---|
111 | * Sources have been fully reindented to comply with GNU standards, and |
---|
112 | cleaned up in many ways. |
---|
113 | |
---|
114 | * Sources have been protoized. Non-ANSI compilers are automatically |
---|
115 | detected, then sources are unprotoized on the fly before compilation. |
---|
116 | |
---|
117 | * GNU m4 uses newer versions of obstack, regex, getopt, etc. |
---|
118 | |
---|
119 | Version 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 |
---|
126 | or 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 | |
---|
132 | Version 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. |
---|
141 | See the manual for details. |
---|
142 | |
---|
143 | * The -tMACRO option is added, marks MACRO for tracing as soon as it |
---|
144 | is 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 |
---|
151 | available. |
---|
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 | |
---|
161 | Version 0.75 - November 1990, by Rene' Seindal |
---|
162 | |
---|
163 | * Implemented search path for include files (-I option and M4PATH |
---|
164 | environment 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 |
---|
171 | expressions. |
---|
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 |
---|
188 | not used. With -G, `unix' is still defined. |
---|
189 | |
---|
190 | * Added program name to error messages. |
---|
191 | |
---|
192 | * Fixed two missing null bytes bugs. |
---|
193 | |
---|
194 | Version 0.50 - January 1990, by Rene' Seindal |
---|
195 | |
---|
196 | * Initial beta release. |
---|
197 | |
---|
198 | Local Variables: |
---|
199 | fill-column: 75 |
---|
200 | End: |
---|