~ubuntu-branches/ubuntu/gutsy/m4/gutsy

« back to all changes in this revision

Viewing changes to ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): Santiago Vila
  • Date: 2006-11-29 16:53:44 UTC
  • Revision ID: james.westby@ubuntu.com-20061129165344-0qimyyyhh135a7mf
Tags: 1.4.8-1
New upstream release. Lots of fixes, see the NEWS file for details.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
2006-11-20  Eric Blake  <ebb9@byu.net>
 
2
 
 
3
        Release 1.4.8:
 
4
 
 
5
        * configure.ac (AC_INIT): Bump version number.
 
6
        * NEWS: Describe changes since 1.4.7.
 
7
 
 
8
2006-11-16  Eric Blake  <ebb9@byu.net>
 
9
 
 
10
        * doc/m4.texinfo (Include, Search Path, Diversions, Divert):
 
11
        Minor tweaks noticed while porting to head.
 
12
 
 
13
2006-11-14  Eric Blake  <ebb9@byu.net>
 
14
 
 
15
        * src/output.c (cleanup_tmpfile, freeze_diversions): Clean up
 
16
        spent iterators.
 
17
        (m4_tmpname): Avoid memory leak.
 
18
 
 
19
2006-11-13  Eric Blake  <ebb9@byu.net>
 
20
 
 
21
        * src/output.c (cleanup_tmpfile): Avoid double error message when
 
22
        umask is prohibitive.
 
23
        (m4_tmpname, m4_tmpopen, m4_tmpclose, m4_tmpremove): New
 
24
        functions.
 
25
        (m4_tmpfile): Add parameter, move cloexec action here.
 
26
        (make_room_for): Adjust caller.  Don't keep too many files open.
 
27
        (insert_diversion_helper): Unlink emptied temp files.
 
28
        (make_diversion): Don't keep too many files open.
 
29
        * doc/m4.texinfo (Diversions): Tweak wording, now that open file
 
30
        descriptors are no longer a limiting factor.
 
31
        * NEWS: Document this change.
 
32
 
 
33
        Backport sparse diversion handling from head.
 
34
        * m4/gnulib-cache.m4: Augment with 'gnulib-tool --import
 
35
        avltree-oset'.
 
36
        * src/output.c (struct m4_diversion): Rename from struct
 
37
        diversion, and update members.  All users changed.
 
38
        (diversion_table): Change to an ordered set, instead of an array.
 
39
        (div0): New storage for diversion 0.
 
40
        (diversions): No longer needed.
 
41
        (free_list): New list to allow recycling diversion storage.
 
42
        (diversion_storage): New storage to reduce malloc overhead.
 
43
        (cmp_diversion_CB, threshold_diversion_CB): New callbacks.
 
44
        (output_init, output_exit, cleanup_tmpfile, make_room_for)
 
45
        (make_diversion): Handle new diversion storage scheme.
 
46
        (insert_diversion_helper): New function.
 
47
        (insert_diversion, undivert_all, freeze_diversions): Use it.
 
48
        * doc/m4.texinfo (Divert, Diversions): Move hidden test of memory
 
49
        exhaustion to visible test of large diversion numbers.
 
50
        * NEWS: Document this fix.
 
51
 
 
52
2006-11-11  Eric Blake  <ebb9@byu.net>
 
53
 
 
54
        * src/builtin.c (m4_translit): Slight optimization.
 
55
 
 
56
        * src/m4.h (to_uchar): Depend on HAVE_INLINE.
 
57
 
 
58
        * src/builtin.c: Remove unnecessary casts.
 
59
        (expand_ranges): Make 8-bit clean.
 
60
        * doc/m4.texinfo (Translit): Add tests and wording.
 
61
        * NEWS: Document this fix.
 
62
 
 
63
2006-11-07  Eric Blake  <ebb9@byu.net>
 
64
 
 
65
        * src/m4.h (output_exit): New prototype.
 
66
        * src/m4.c (main): Use it.
 
67
        * src/output.c (cleanup_tmpfile): Close files before removing
 
68
        directory.
 
69
        (insert_diversion): Check for failure.
 
70
        (output_exit): Avoid memory leak.
 
71
        * doc/m4.texinfo (Diversions): Test this bug.
 
72
 
 
73
        * doc/m4.texinfo (Esyscmd, Errprint): Minor touchups.
 
74
 
 
75
2006-11-01  Eric Blake  <ebb9@byu.net>
 
76
 
 
77
        Allow C++ compilation on Linux, as a safety measure in type
 
78
        checking.
 
79
        * m4/gnulib-cache.m4: Augment with 'gnulib-tool --import
 
80
        stdbool'.
 
81
        * src/m4.h (hack_symbol, hack_all_symbols): Use full prototype.
 
82
        (boolean): Kill this, and use stdbool.h instead.
 
83
        * src/debug.c, src/eval.c, src/input.c, src/macro.c, src/m4.c:
 
84
        * src/output.c, src/symtab.c: All users changed.
 
85
        * src/symtab.c (hack_all_symbols): Update prototype.
 
86
        * src/builtin.c (dump_symbol, set_trace): Update signature.
 
87
        (m4_dumpdef, m4_traceon, m4_traceoff): Update callers.
 
88
        (mkstemp_helper, m4_m4wrap, expand_ranges, m4_translit): Allow
 
89
        C++ compilation.
 
90
        * src/debug.c (trace_flush): Likewise.
 
91
        * src/freeze.c (reload_frozen_state): Likewise.
 
92
        * src/input.c (push_file, push_string_finish, push_wrapup):
 
93
        (token_bottom, next_token): Likewise.
 
94
        * src/m4.c (main): Likewise.
 
95
 
 
96
        * doc/m4.texinfo (Invoking m4): Update according to POSIX 200x
 
97
        draft wording.
 
98
        * src/m4.h (m4_path_search): Tweak signature.
 
99
        * src/path.c (m4_path_search): Likewise.
 
100
        * src/builtin.c (include): Update caller.
 
101
        * src/m4.c (main): Allow -D, -U, -t, and -s to be interspersed
 
102
        with file names.  Don't write to **argv.
 
103
        (process_file): New helper method.
 
104
        * NEWS: Document this fix.
 
105
 
 
106
2006-10-31  Eric Blake  <ebb9@byu.net>
 
107
 
 
108
        * m4/gnulib-cache.m4: Augment with 'gnulib-tool --import strstr'.
 
109
        * doc/m4.texinfo (Translit): Improve the documentation.
 
110
        * src/builtin.c (m4_translit): Optimize to O(n) instead of O(n^2)
 
111
        algorithm.
 
112
        (m4_index): Simplify, and speed up slightly.
 
113
        * NEWS: Document this fix.
 
114
 
 
115
2006-10-28  Eric Blake  <ebb9@byu.net>
 
116
 
 
117
        * src/input.c (set_quotes): Don't allow empty end-quote with
 
118
        non-empty start-quote.
 
119
        (set_comment): Likewise for end-comment.
 
120
        * src/builtin.c (m4_changecom): Adjust caller.
 
121
        * doc/m4.texinfo (Changequote, Changecom): Update documentation to
 
122
        match behavior.
 
123
        (Incompatibilities): Document another POSIX bug.
 
124
        * NEWS: Mention this change.
 
125
 
 
126
2006-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
127
 
 
128
        * examples/Makefile.am (EXTRA_DIST): Distribute recently-added
 
129
        files.
 
130
 
 
131
2006-10-26  Eric Blake  <ebb9@byu.net>
 
132
 
 
133
        Silence -Wwrite-strings -Wpointer-arith warnings.
 
134
        * src/builtin.c (define_user_macro): Allow NULL argument.
 
135
        (m4_builtin, m4_indir): Cast away const of "".
 
136
        * src/format.c (format): Likewise.
 
137
        * src/macro.c (collect_arguments): Likewise.
 
138
        (expand_macro): Avoid math on void*.
 
139
        * src/m4.c (main): Adjust caller.
 
140
        * src/output.c (freeze_diversions): Detect off_t overflow.
 
141
 
 
142
        * src/input.c (pop_input): Remove unnecessary code.
 
143
 
 
144
2006-10-25  Eric Blake  <ebb9@byu.net>
 
145
 
 
146
        * src/symtab.c (symtab_init): Avoid size_t overflow.
 
147
        * src/output.c (make_diversion): Avoid size_t overflow.
 
148
        * doc/m4.texinfo (Diversions): Test this fix.
 
149
        * src/input.c (input_block): Remove unused member.  Reduce size
 
150
        of struct.
 
151
        (push_file, pop_input): Avoid useless assignment.
 
152
        * NEWS: Document the bug fix.
 
153
 
 
154
        Redo location tracking.  Instead of having just files track the
 
155
        line to return to when popping input, now all input blocks track
 
156
        their current line.
 
157
        * src/input.c (INPUT_STRING_WRAP, INPUT_FILE_INIT): No longer
 
158
        needed.
 
159
        (input_block): Have line and file storage for all input types, and
 
160
        rename some members.
 
161
        (input_change): New global flag.
 
162
        (push_file, push_macro, push_string_init, push_wrapup): Store
 
163
        location.
 
164
        (push_string_finish, pop_input, pop_wrapup): Notice changes in
 
165
        input blocks.
 
166
        (peek_input): Adjust to new member names.
 
167
        (next_char, next_char1): Adjust location if needed.
 
168
        (skip_line): Simplify restoring location.
 
169
        * doc/m4.texinfo (Location): Augment the test to catch line
 
170
        location of expansion of multi-line arguments.
 
171
        Reported by Stepan Kasal.
 
172
 
 
173
2006-10-23  Eric Blake  <ebb9@byu.net>
 
174
 
 
175
        * doc/m4.texinfo (Macro Arguments): Document that leading space
 
176
        in argument collection stops at macro expansion.
 
177
        (Incompatibilities): Document POSIX whitespace wording issue.
 
178
 
 
179
2006-10-20  Eric Blake  <ebb9@byu.net>
 
180
 
 
181
        * doc/m4.texinfo: Trailing '@comment' doesn't format nicely in
 
182
        TeX, so recognize '@w{ }' instead.  Likewise, @code{_name} at the
 
183
        end of a TeX line splits incorrectly.
 
184
        (Foreach, Improved foreach): Write these sections, borrowing ideas
 
185
        from CVS head and from m4sugar.
 
186
        * checks/get-them: Accomodate new way to show trailing space in
 
187
        examples.
 
188
        * examples/foreach.m4: Make usable in documentation.
 
189
        * examples/foreachq.m4: New file.
 
190
        * examples/foreachq2.m4: New file.
 
191
        * examples/foreach2.m4: New file.
 
192
        * NEWS: Document the documentation updates.
 
193
 
 
194
2006-10-19  Eric Blake  <ebb9@byu.net>
 
195
 
 
196
        * src/builtin.c (mkstemp_helper, m4_mkstemp): New functions.
 
197
        (m4_maketemp): Provide traditional behavior.
 
198
        * doc/m4.texinfo (Mkstemp): Rename from Maketemp.  Document the
 
199
        new `mkstemp' macro and the flaws of the old `maketemp'.
 
200
        (Incompatibilities): Move maketemp discussion to...
 
201
        (Extensions): ...here, since -G now supresses the GNU extension.
 
202
        * NEWS: Document this.
 
203
 
 
204
        * examples/forloop.m4: Simplify.
 
205
        * examples/forloop2.m4: New file.
 
206
        * examples/quote.m4: New file.
 
207
        * doc/m4.texinfo (Loops): Rename to...
 
208
        (Shift): ...this node.
 
209
        (Forloop, Foreach, Improved forloop, Improved foreach): New
 
210
        nodes.
 
211
 
 
212
2006-10-17  Eric Blake  <ebb9@byu.net>
 
213
 
 
214
        * m4/gnulib-cache.m4: Update with 'gnulib-tool --import
 
215
        config-h'.
 
216
        * configure.ac (AC_CONFIG_HEADERS): Create config.h alongside
 
217
        gnulib headers, rather than in top directory.
 
218
        * src/Makefile.am (AUTOMAKE_OPTIONS): Add nostdinc, to reduce make
 
219
        output clutter.
 
220
 
 
221
2006-10-16  Eric Blake  <ebb9@byu.net>
 
222
 
 
223
        * doc/m4.texinfo: Backport some minor cleanups from head.
 
224
        (Cleardivert): Rename from cleardiv.
 
225
 
 
226
        * doc/m4.texinfo (Invoking m4): Promote to a chapter, instead of
 
227
        a section of Preliminaries.
 
228
        (Operation modes, Preprocessor features, Limits control)
 
229
        (Frozen state, Debugging options, Command line files): Subdivide
 
230
        into new sections.
 
231
        (Input processing, Quoting Arguments, Define, Arguments)
 
232
        (Cleardiv, Format, M4exit): Fix grammar of references.
 
233
        (Inhibiting Invocation, Macro Arguments, Builtin, Trace)
 
234
        (Debug Levels, Debug Output, Include, Search Path, Divert)
 
235
        (Platform macros, Syscmd, Location, Extensions): Point to new
 
236
        sections.
 
237
        (Top, Loops, Include, Undivert, Location, Incompatibilities):
 
238
        Improve file references.
 
239
 
 
240
2006-10-14  Eric Blake  <ebb9@byu.net>
 
241
 
 
242
        * m4/input.c (file_clean): Don't close stdin twice, POSIX says it
 
243
        is not portable.
 
244
        Reported by Ralf Wildenhues.
 
245
 
 
246
        * src/builtin.c (m4_undivert): Check for read error.
 
247
 
 
248
2006-10-13  Eric Blake  <ebb9@byu.net>
 
249
 
 
250
        * src/m4.h (UNIX, W32_NATIVE, OS2): Move platform checks after
 
251
        header files are included, since <unistd.h> can affect the tests.
 
252
        * THANKS: Updated.
 
253
        Reported by Martin Koeppe.
 
254
 
 
255
        Backport head's usage of clean-temp module, as it is cleaner than
 
256
        using tmpfile-safer.
 
257
        * m4/gnulib-cache.m4: Augment with 'gnulib-tool --import
 
258
        clean-temp closeout', and remove tmpfile-safer.
 
259
        * src/m4.h (includes): Adjust.
 
260
        (m4_path_search): Rename from path_search, to avoid collision
 
261
        with gnulib.
 
262
        * src/m4.c (main): Install closeout handler.  Adjust caller.
 
263
        (usage): Now done by closeout module.
 
264
        * src/builtin.c (m4_m4exit): Likewise.
 
265
        (m4_undivert, include): Adjust callers.
 
266
        * src/freeze.c (reload_frozen_state): Likewise.
 
267
        * src/path.c (m4_path_search): Rename from path_search.
 
268
        * src/output.c (output_temp_dir): New variable.
 
269
        (cleanup_tmpfile, m4_tmpfile): New functions, from head.
 
270
        (insert_diversion, make_room_for): Use them.
 
271
        * doc/m4.texinfo (Diversions): Document this, and add a test.
 
272
        (Improved fatal_error): Fix typo.
 
273
        (Maketemp): Port test to mingw, and no longer hide from
 
274
        documentation.
 
275
        * NEWS: Document the change in TMPDIR behavior.
 
276
 
 
277
        * configure.ac (m4_pattern_forbid): Narrow the range of forbidden
 
278
        macros, to work with recent gnulib-tool update.
 
279
 
 
280
        * src/builtin.c (m4_builtin, m4_indir): Allow transparent
 
281
        handling of defn results.
 
282
        * doc/m4.texinfo (Builtin, Indir): Add test cases.
 
283
        * NEWS: Document this.
 
284
 
 
285
2006-10-12  Eric Blake  <ebb9@byu.net>
 
286
 
 
287
        * doc/m4.texinfo (Location): Fix typo in previous commit.
 
288
        (Changeword): Catch one more case.
 
289
        * src/input.c (skip_line): Fix case when outer file used macro to
 
290
        supply the \n.
 
291
 
 
292
2006-10-11  Eric Blake  <ebb9@byu.net>
 
293
 
 
294
        * src/input.c (enum input_type): Add additional types, to shave
 
295
        time off the common case.
 
296
        (push_wrapup): Wrapped strings remember location.
 
297
        (push_string_finish): Normal strings carry no location.
 
298
        (push_file): Start new files uninitialized.
 
299
        (peek_input, next_char_1): Optimize common cases by updating
 
300
        location only on new input types.
 
301
        (pop_input): Update to honor new input types.
 
302
        (skip_line, push_string_finish): Fix regression in previous patch
 
303
        when dnl is not followed by newline in included file.
 
304
        (push_string_init): Initialize all fields of INPUT_STRING sooner.
 
305
        (peek_token): Simplify.
 
306
        (peek_input): Don't pop input files on peek, so that __file__ and
 
307
        __line__ as last token of include file work correctly.
 
308
        * doc/m4.texinfo (History): Mention 1.4.8.
 
309
        (Answers): Split into sections, one per answer.
 
310
        (Improved exch, Improved cleardivert, Improved fatal_error): New
 
311
        nodes.
 
312
        (Dnl, M4wrap, Location, M4exit, Improved fatal_error): Update to
 
313
        new m4wrap location semantics.
 
314
        (Changeword): Add test that caught the regression.
 
315
        * NEWS: Document this.
 
316
 
 
317
        * src/macro.c (expand_macro): In macro expansion errors, report
 
318
        line number at open parenthesis.
 
319
        * src/input.c (next_token): Fix off-by-one bug in reporting end
 
320
        of file in unterminated comment and string.
 
321
        (file_names): New obstack, necessary since expand_macro now hangs
 
322
        on to file names longer than the files remain open.
 
323
        (input_init): Initialize new obstack.
 
324
        (push_file): Use new obstack.  Delay updates to current_file
 
325
        until after expand_macro has restored state.
 
326
        (peek_input, next_char_1): Update current_file if necessary.
 
327
        (pop_wrapup): Release memory.
 
328
        * doc/m4.texinfo (Macro Arguments, Changequote, Changecom): Catch
 
329
        the off-by-one bug.
 
330
        (Dnl): Update to the new location reporting rules.
 
331
        * NEWS: Document these changes.
 
332
 
 
333
2006-10-10  Eric Blake  <ebb9@byu.net>
 
334
 
 
335
        * src/macro.c (argc_stack, argv_stack): New variables for sharing
 
336
        obstacks across multiple macro calls.
 
337
        (expand_input): Initialize and tear down stack once per input
 
338
        file, instead of once per macro.
 
339
        (expand_macro): Reuse existing stacks when possible.
 
340
        (collect_arguments): Simplify slightly.
 
341
 
 
342
        * src/path.c (include_env_init): Fix botched patch application.
 
343
        Reported by Ralf Wildenhues.
 
344
 
 
345
2006-10-09  Eric Blake  <ebb9@byu.net>
 
346
 
 
347
        * src/m4.c (usage, main): Detect write failures to stderr.
 
348
        * src/builtin.c (m4_m4exit): Likewise.
 
349
        * NEWS: Document this.
 
350
 
 
351
        * src/macro.c (expand_macro): Allow --nesting-limit=0 to remove
 
352
        the limit.
 
353
        * NEWS: Document this.
 
354
        * doc/m4.texinfo (Invoking m4): Likewise.
 
355
 
 
356
2006-10-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
357
 
 
358
        * src/path.c (include_env_init): Copy the string returned
 
359
        by getenv before overwriting it; POSIX disallows this.
 
360
 
 
361
2006-10-09  Eric Blake  <ebb9@byu.net>
 
362
 
 
363
        * src/m4.c (main): Defer debugfile until after --help.
 
364
        * configure.ac (AC_INIT): Bump version number.
 
365
        * NEWS: Start changes of 1.4.7a.
 
366
 
1
367
2006-09-25  Eric Blake  <ebb9@byu.net>
2
368
 
3
369
        Release 1.4.7:
3005
3371
 
3006
3372
        -----
3007
3373
 
3008
 
        $Revision: 1.1.1.1.2.181 $ $Date: 2006/09/25 12:15:00 $
 
3374
        $Revision: 1.1.1.1.2.224 $ $Date: 2006/11/21 04:08:44 $
3009
3375
 
3010
3376
        Local Variables:
3011
3377
        coding: utf-8