aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
blob: e698bcea421f8cd32cde37dfc903d30ba30f954a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
2021-05-28  Eric Blake  <eblake@redhat.com>

	version 1.4.19
	* NEWS: Record release date.

2021-05-28  Eric Blake  <eblake@redhat.com>

	tests: Skip signal detection on Haiku
	On Haiku, using 'kill -9' fromm /bin/shactually causes a process to
	die with the non-standard SIGKILLTHR 15, which causes 198.sysval to
	fail from the unexpected value.

	* doc/m4.texi (Sysval): Skip test on Haiku.
	Reported by Bruno Haible,
	https://lists.gnu.org/archive/html/bug-m4/2021-05/msg00004.html

2021-05-26  Bruno Haible  <bruno@clisp.org>

	Enable more single-thread optimizations in gnulib code
	On many systems (esp. BSD ones), building a recent m4 snapshot produces these
	warnings:

	--------------------------------------------------------------------------------
	  CC       regex.o
	In file included from ../../lib/regex_internal.h:57:0,
	                 from ../../lib/regex.c:70:
	../../lib/regcomp.c: In function 'rpl_regfree':
	../../lib/glthread/lock.h:640:38: warning: statement with no effect [-Wunused-value]
	 # define glthread_lock_destroy(NAME) 0
	                                      ^
	../../lib/regex_internal.h:60:26: note: in expansion of macro 'glthread_lock_destroy'
	 # define lock_fini(lock) glthread_lock_destroy (&(lock))
	                          ^
	...
	--------------------------------------------------------------------------------
	According to the Gnulib documentation section "Optimizations of multithreaded
	code" several more optimizations can be enabled. This patch
	  - enables these single-threading optimizations,
	  - by doing so, gets rid of the warnings in regex.c,
	  - causes no test failures.

	* configure.ac (GNULIB_REGEX_SINGLE_THREAD, GNULIB_MBRTOWC_SINGLE_THREAD,
	GNULIB_WCHAR_SINGLE_LOCALE): Define as C macros.
	Message-Id: <3311608.oHEOCP8NKg@omega>

2021-05-26  Eric Blake  <eblake@redhat.com>

	maint: Update to newer gnulib
	Gnulib has improved stack overflow detection (the c-stack module now
	uses gnulib's stripped-down libsigsegv on more platforms, without
	having to install GNU libsigsegv); with this update, GNU Linux systems
	get stack overflow protection without an external library dependency.
	* gnulib: Update to latest.
	* NEWS: Mention the impact.

2021-05-12  Eric Blake  <eblake@redhat.com>

	maint: translation string tweak
	* src/m4.c (usage): Tweak translation of a newline.
	Reported by Benno Schulenberg,
	https://lists.gnu.org/archive/html/m4-discuss/2021-05/msg00011.html

2021-05-11  Eric Blake  <eblake@redhat.com>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 1.4.18d
	* NEWS: Recored release date.

2021-05-10  Eric Blake  <eblake@redhat.com>

	po: fix syntax-check
	* po/POTFILES.in: Update list to match previous patch.

	m4: translate more strings
	* src/m4.c (usage): Split large paragraphs, and mark for translation.
	(main): Translate more strings.
	* src/builtin.c: Likewise.
	* src/eval.c (evaluate): Likewise.
	* src/format.c (expand_format): Likewise.
	* src/freeze.c: Likewise.
	* src/input.c: Likewise.
	* src/macro.c: Likewise.
	* src/output.c: Likewise.
	Reported by Benno Schulenberg:
	https://lists.gnu.org/archive/html/m4-discuss/2021-05/msg00005.html

2021-05-10  Eric Blake  <eblake@redhat.com>

	maint: update gnulib
	Fix several issues reported by Bruno Haible while testing 1.4.18b:
	https://lists.gnu.org/archive/html/bug-m4/2021-05/msg00002.html
	https://lists.gnu.org/archive/html/bug-m4/2021-05/msg00003.html

	* gnulib: Bump to latest, for various fixes.
	* NEWS: Mention this.

2021-05-10  Eric Blake  <eblake@redhat.com>

	maint: update m4-latest* symlinks during upload
	Avoid the situation we had for several years where m4-latest.tar.xz
	pointed to m4-1.4.17.tar.xz in spite of m4-1.4.18.tar.xz existing.
	https://lists.gnu.org/archive/html/m4-discuss/2021-05/msg00003.html

	* cfg.mk (GNUPLOADFLAGS): Update *-latest symlinks during gnupload.

2021-05-10  Eric Blake  <eblake@redhat.com>

	maint: mention ci project
	Bruno Haible has added a continuous integration environment:
	https://lists.gnu.org/archive/html/bug-m4/2020-03/msg00000.html

	* HACKING (Continuous Integration): New section.

2021-05-10  Bruno Haible  <bruno@clisp.org>

	eval: avoid undefined behaviour when parsing -2147483648
	* src/eval.c (eval_lex): Use an unsigned variable for accumulating the
	value.
	https://lists.gnu.org/archive/html/bug-m4/2021-05/msg00001.html

2021-05-07  Eric Blake  <eblake@redhat.com>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 1.4.18b
	* NEWS: Record release date.

	maint: prepare for beta release
	* all: Prefer https over http in URLs.
	* doc/m4.texi (History): Update URLs to follow redirects.
	* NEWS: Prepare for release.
	* cfg.mk (old_NEWS_hash): Regenerate via 'make update-NEWS-hash'
	* HACKING: Update URL to gnulib, drop reference to CVS.

	maint: update gnulib to latest
	* gnulib: Pick up latest in preparation for release.

2021-05-07  Eric Blake  <eblake@redhat.com>

	maint: update bootstrap, (re-)enable po file generation
	In commit 4694c4e67, I disabled bootstrap pulling in po files, because
	I got an error while attempting to get them, and remembered that while
	the experimental 2.0 has a .pot file, branch-1.4 (and the 1.4.18
	release) historically did not.  Basically, since the translation
	project does not have any m4.pot corresponding to a released m4 that
	needs it, they deleted tp/latest/m4, and with nothing to pull from,
	rsync fails.  I did not, however, realize that commit 610290de had
	intentionally added translation support, such that m4 1.4.19 WILL have
	translations; so until I get that directory reinstated by releasing
	1.4.18b, I'll just use './bootstrap --skip-po'.

	Meanwhile, Gary's upstream bootstrap has had some commits
	(https://github.com/gnulib-modules/bootstrap.git)
	Regenerate them via:
	for f in gl/build-aux/*; do cp ~/bootstrap/build-aux/$(basename $f) $f; done
	gl/build-aux/inline-source gl/build-aux/bootstrap.in > bootstrap

	* gl/build-aux/*: Sync from upstream.
	* bootstrap: Regenerate.
	* bootstrap.conf (m4_bootstrap_options_prep): Re-enable po.
	* NEWS: Document this as intentional.
	Fixes: 4694c4e67

2021-05-07  Eric Blake  <eblake@redhat.com>

	maint: fix syntax-check issues
	* src/Makefile.am (m4_LDADD): Rename...
	(LDADD): ...to this, and use spelling that satisfies syntax-check.
	* po/POTFILES.in: Update to satisfy syntax-check.
	* cfg.mk (old_NEWS_hash): Update with 'make update-NEWS-hash'.

	maint: bump copyright year
	* all: Use 'make update-copyright' to add 2021.

	README: add GNU Project notice
	* README: Add section to attract more people towards the GNU project.
	Inspired by a suggestion from Jose E. Marchesi <jemarch@gnu.org> on
	the gnu-prog-discuss mailing list.

2021-04-22  Eric Blake  <eblake@redhat.com>

	m4: change command-line -H default
	* src/m4.h (HASHMAX): Bump to ~64k.
	* doc/m4.texi (Limits control): Document it.
	* NEWS: Likewise.

	maint: another gnulib update
	* gnulib: Update to latest, to fix build on rawhide.

2021-04-21  Eric Blake  <eblake@redhat.com>

	symtab: use less memory in pushdef stacks
	No need to xstrdup identical names when we can share the same name
	across the pushdef stack.

	* src/symtab.c (free_symbol): Don't free shared name.
	(lookup_symbol): Share name across pushdef stack.

2021-04-21  Eric Blake  <eblake@redhat.com>

	symtab: make symtab private
	No need for a leaky abstraction of freezing to have to duplicate how
	our symbol hash table is organized; use the public function
	hack_all_symbols instead.  This will make it easier to refactor the
	symbol table (such as automatic resizing, or switching to a trie).

	* src/m4.h (symtab, SYMBOL_NEXT): Make private.
	* src/freeze.c (produce_frozen_state): Split out...
	(freeze_symbol): ...new helper, for use by hack_all_symbols.
	* src/symtab.c (lookup_symbol, symtab_print_list): Update to treat
	next as internal-only code.

2021-04-21  Eric Blake  <eblake@redhat.com>

	symtab: sort by hash before name
	It is faster to do an integer compare than a string compare when
	managing hash table collisions (reserving a string compare for ties).
	Testing with CFLAGS=-DDEBUG_SYM=1 and 'time M4=src/m4 autoconf -f',
	the results are noticeable; on my machine, execution speeds up from
	2.3s to 2.2s, and the debug trace that used to report:

	m4: lookup mode 0 called 1243301 times, 7859589 compares, 6734330 misses, 23941043 bytes

	now reports

	m4: lookup mode 0 called 1243301 times, 1125259 compares, 0 misses, 12433237 bytes

	* src/m4.h (struct symbol): Add hash member.
	* src/symtab.c (lookup_symbol): Sort by hash first, then name.
	(symtab_print_list): Add hash debug.

2021-04-21  Eric Blake  <eblake@redhat.com>

	maint: switch from git:// to https:// for gnulib submodule
	https:// is nicer than git:// for a transport for avoiding
	man-in-the-middle attacks, provided that the server is using a
	new-enough version of git to make https:// efficient (which
	savannah does).
	* .gitmodules: Prefer better URL.

2021-04-21  Paul Eggert  <eggert@cs.ucla.edu>

	maint: port to Solaris 10
	Add libraries needed by current Gnulib.
	* src/Makefile.am (m4_LDADD): Add LIB_CLOCK_GETTIME,
	LIB_GETRANDOM, LIB_HARD_LOCALE, LIB_POSIX_SPAWN,
	LIB_SETLOCALE_NULL, LIBUNISTRING, INTL_MACOSX_LIBS.
	These are all needed by current Gnulib, according to gnulib-tool.
	LIB_CLOCK_GETTIME is certainly needed for Solaris 10; otherwise
	the m4 link fails with clock_gettime not found.

	maint: port to macOS 11.2.3 (arm64)
	* m4/gnulib-cache.m4: Add fopen-gnu, replacing cloexec and fopen.
	Avoid getopt-posix-tests, since they are not needed for m4
	and currently fail on macOS 11.2.3 (arm64).
	* src/builtin.c (m4_incr, m4_decr): Avoid undefined behavior
	on integer overflow that causes tests to fail on macOS.
	* src/debug.c (debug_set_output):
	* src/output.c (m4_tmpfile, m4_tmpopen):
	* src/path.c (m4_fopen):
	Use GNU fopen with "e" rather than set_cloexec_flag.  This is
	simpler, and works around a Gnulib bug on macOS with fopen
	being replaced by rpl_fopen sometimes but not other times.
	* src/freeze.c (produce_frozen_state): Use GNU fopen with "e";
	no need to expose the fd to subprocesses.

	build: update gnulib submodule to latest

2021-04-17  Eric Blake  <eblake@redhat.com>

	symtab: drop redundant symbol flag
	In writing the previous patch, I noticed that the shadow flag is only
	ever set when a pushdef stack is present, which makes it redundant now
	that the pushdef stack is separate from the hash collision stack.

	* src/m4.h (SYMBOL_SHADOWED): Delete.
	* src/builtin.c (dump_symbol): Simplify, now that hack_all_symbols
	no longer visits shadowed macros.
	* src/symtab.c (lookup_symbol, symtab_print_list): Simplify.

2021-04-17  Eric Blake  <eblake@redhat.com>

	symtab: better handling of macro stacks
	I ran into a scenario where running a program took 22s with the
	default -H509, but less than a second with -H517 [1].  The culprit?  A
	collision between 'stack' and 'substr' in the default hash table size
	caused lookups for substr to get progressively slower as pushdef stack
	got deeper.  This is easy enough to fix, and may also make it easier
	to dynamically grow the hashtable.

	[1] https://lists.gnu.org/archive/html/bug-m4/2021-04/msg00000.html

	* src/m4.h (struct symbol): Add stack member.
	* src/symtab.c (lookup_symbol): Separate stack from bucket list.
	(symtab_print_list): Update traversal to match.
	* src/freeze.c (produce_frozen_state): Likewise.
	(reverse_symbol_list): Reverse stack, not bucket.

2021-04-17  Eric Blake  <eblake@redhat.com>

	input: optimize macro tail-call memory usage
	I encountered an m4 program that performed over 20 million iterations
	of a tail-call recursion paradigm.  Without this patch, memory usage
	grew to over 6 gigabytes, pausing the program for several seconds when
	the recursion finally ended just to reclaim the memory.  But with the
	patch, m4 never needed more than 3 megabytes of resident memory.

	* src/input.c (push_string_init): Prune empty string blocks before
	starting another one.

2021-04-17  Eric Blake  <eblake@redhat.com>

	maint: update gnulib and fix build failures
	I got failures when trying to bootstrap:

	bootstrap: getting translations into po/.reference for m4...
	receiving incremental file list
	rsync: change_dir "/latest/m4" (in tp) failed: No such file or directory (2)

	since m4-1.4 has no translation files, and the translation project
	dropped the stale .po files for the unreleased 1.9 development branch.

	Once that was fixed, I also got compilation failures, from an
	incomplete update to the gnulib execute module:

	builtin.c: In function 'm4_syscmd':
	builtin.c:968:44: error: passing argument 3 of 'execute' from incompatible pointer type [-Werror=incompatible-pointer-types]
	  968 |   status = execute (ARG (0), SYSCMD_SHELL, prog_args, NULL, false,
	      |                                            ^~~~~~~~~
	      |                                            |
	      |                                            const char **

	Fixes: 4e5c2c0157

	* gnulib: Update to latest.
	* bootstrap.conf (copyright_holder): Silence bootstrap warning.
	(m4_bootstrap_options_prep): Turn off po update.

2020-12-12  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* src/builtin.c (m4_syscmd): Update 'execute' invocation.
	(m4_esyscmd): Update 'create_pipe_in' invocation.
	* po/POTFILES.in: Remove lib/w32spawn.h. Add lib/openat-die.c, lib/os2-spawn.c.

2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>

	* HACKING: Autoconf 2.64 required now.

2020-08-23  Bruno Haible  <bruno@clisp.org>

	build: Fix bootstrap failure with the newest gnulib.
	* configure.ac: Require Autoconf 2.64 at least.

2020-07-17  Paul Eggert  <eggert@cs.ucla.edu>

	Port recent changes to AIX 7.1
	* src/Makefile.am (m4_LDADD): Add LIB_MBRTOWC, LIB_SETLOCALE.
	AIX 7.1 needs these to get the pthread support linked in.

2020-07-13  Paul Eggert  <eggert@cs.ucla.edu>

	Support gettext and proper names
	This way, ‘m4 --version’ outputs “Written by René Seindal”
	instead of “Written by Rene' Seindal” when in a UTF-8 locale.
	As the Translation project adds translations, NLS should
	get better.
	* .gitignore: Add translation-related file names.
	* AUTHORS, ChangeLog-2014, NEWS, README, acinclude.m4, c-boxes.el:
	Spell “François” and “René” without ASCIIfying.
	* HACKING: Add Gettext as a prereq.
	* Makefile.am (SUBDIRS): Add po.
	* configure.ac: Do not use -Wvla.  Add AM_GNU_GETTEXT
	and AM_GNU_GETTEXT_VERSION calls.
	* lib/Makefile.am (MAINTAINERCLEANFILES): Define to empty.
	* m4/gnulib-cache.m4: Add configmake, gettext-h, propername,
	and setlocale modules.
	* po/POTFILES.in: New file.
	* src/Makefile.am (m4_LDADD): Add $(LIBICONV), $(LIBINTL).
	* src/m4.c: Include configmake.h, propername.h.
	(main): Set the locale.
	* src/m4.h: Include locale.h, gettext.h.
	(textdomain, bindtextdomain) [!ENABLE_NLS]: Provide defaults.
	(_): Now an alias for gettext, instead of a no-op.

	Use c-ctype.h instead of ctype.h
	This simplifies the code a bit, and prepares for setlocale.
	* m4/gnulib-cache.m4: Add c-ctype module.
	* src/builtin.c (numeric_arg, m4_undivert, expand_user_macro):
	* src/eval.c (eval_lex):
	* src/format.c (arg_int, arg_long, arg_double, expand_format):
	* src/freeze.c (GET_NUMBER): m
	* src/input.c (next_token, peek_token):
	* src/macro.c (expand_argument):
	Prefer c-ctype macros to ctype macros.
	Omit now-unnecessary calls to to_uchar.
	* src/m4.h: Include c-ctype.h instead of ctype.h.

2020-07-11  Paul Eggert  <eggert@cs.ucla.edu>

	Regenerate bootstrap

	Convert m4.texi from Latin-1 to UTF-8
	* HACKING: Texinfo 4.11 and Autoconf 2.63 are now prereqs.
	* doc/m4.texi: Convert to UTF-8.

2020-07-05  Paul Eggert  <eggert@cs.ucla.edu>

	Port to recent GCC with --enable-gcc-warnings
	* m4/gnulib-cache.m4: Add attribute, verify.
	* src/m4.c (m4_failure, m4_failure_at_line): New functions.
	These replace all uses of M4ERROR ((EXIT_FAILURE, ...)) and
	M4ERROR_WITH_LINE ((EXIT_FAILURE, ...), so that the compiler can
	deduce they do not return.
	* src/m4.h: Include attribute.h, verify.h.
	(M4_GNUC_ATTRIBUTE, M4_GNUC_UNUSED, M4_GNUC_PRINTF)
	(M4_GNUC_NORETURN, M4_GNUC_PURE): Remove.
	All uses replaced by corresponding attributes from attribute.h.
	Also, use attribute.h’s FALLTHROUGH macro as needed in all files.
	* src/macro.c (expand_macro): Cast to uintptr_t instead of to char *
	to pacify GCC alignment warning.

	maint: update copyright date
	Arrived at via:
	make update-copyright
	gl/build-aux/inline-source gl/build-aux/bootstrap.in > bootstrap

	build: adjust to gnulib changes
	* configure.ac: Require Autoconf 2.63; needed by Gnulib.
	* m4/gnulib-cache.m4: Regenerate.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed
	* src/output.c (m4_tmpfile, m4_tmpopen): Update fopen_temp invocations.
	* gl/lib/clean-temp.c.diff: Remove file, no longer needed.

2020-07-05  Paul Eggert  <eggert@cs.ucla.edu>

	build: update gnulib submodule to latest

2017-01-02  Eric Blake  <eblake@redhat.com>

	maint: bump copyright year
	Needed to keep 'make syntax-check' passing.

	* gnulib: Update to latest.
	* bootstrap: Regenerate.
	* all files: Use 'make update-copyright' to bump year.

2016-12-31  Eric Blake  <eblake@redhat.com>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

	version 1.4.18
	* NEWS: Record release date.

	doc: abbreviate and update release history
	* doc/m4.texi (History): Shorten, and call out today's release.

2016-12-31  Eric Blake  <eblake@redhat.com>

	maint: automate creation of release tag
	The gnulib makefile was already set up to automate things with
	'make release ...', but we were still doing things by hand, and
	thereby risking missing some steps.

	* m4/gnulib-cache.m4 (gl_MODULES): Import do-release-commit-and-tag.
	* gnulib: Update, for latest version of the script.
	* HACKING: Mention its use.

2016-12-31  Eric Blake  <eblake@redhat.com>

	maint: generate ChangeLog from git commits
	Follow the practice set in numerous other GNU projects, where
	the ChangeLog (since 2015) is generated from git commit messages.
	This avoids duplication or subtle differences between the two,
	as well as making it easier to merge patches across branches
	(as good as Bruno Haible's 'git-merge-changelog' helper program
	is, it still doesn't handle cross-branch cherry-picks very well).

	* ChangeLog: Move...
	* ChangeLog-2014: ...to this.
	* Makefile.am (EXTRA_DIST): Ship renamed file.
	(gen-ChangeLog): New rule, copied mostly from coreutils.
	(dist-hook): Generate the ChangeLog.
	* m4/gnulib-cache.m4 (gl_MODULES): Import gitlog-to-changelog.
	* .gitignore: Ignore ChangeLog.
	* .gitattributes: Likewise.
	* HACKING: Reword to match new procedure, and simplify by
	referring to an external description of ChangeLog style.

2016-12-31  Eric Blake  <eblake@redhat.com>

	maint: summarize highlights of pending release
	* NEWS: Add some blurbs.

2016-12-31  Eric Blake  <eblake@redhat.com>

	maint: make silent builds the default
	The user still has full control over verbosity levels, both setting
	their per-project defaults at configure time (or even in a config.site
	file), as well as a per-run override. But these days, most projects
	are defaulting to silent rules without user intervention.

	* configure.ac (AM_SILENT_RULES): Add, to match what most projects
	are doing these days.

2016-12-31  Eric Blake  <eblake@redhat.com>

	maint: release no longer creates a diff file
	Ever since commit f1cf390 (1.4.14 release), we no longer create
	diff files as part of the release process.  These days, it is
	assumed that it is easier to download a fresh tarball rather
	than to try and use a diff file to patch an older tarball.

2016-12-30  Eric Blake  <eblake@redhat.com>

	doc: drop obsolete @setcontentsaftertitlepage
	texinfo 6.1 complains (during 'make dvi'):

	/home/eblake/m4-1.4/doc/./m4.texi:9: @setcontentsaftertitlepage has been remove
	d as a Texinfo command; move your @contents command if you want the contents af
	ter the title page..

	It turns out that eliminating the command has no effect - modern
	tools correctly emit the contents in-place, right after the title
	page, so it was leftover cruft from an older time.

	* doc/m4.texi: Satisfy newer texinfo.

2016-12-29  Eric Blake  <eblake@redhat.com>

	build: update to latest gnulib
	I hit a weird failure during 'make check', and traced it to a recent
	gnulib regression in parallel test safety.  Pick up the gnulib fix.

	* gnulib: Update to latest, to fix failure in getopt tests.

2016-12-29  Eric Blake  <eblake@redhat.com>

	maint: regenerate bootstrap
	Missed during the copyright update.

	* bootstrap: Regenerate.

2016-12-29  Eric Blake  <eblake@redhat.com>

	maint: bump copyright year
	Sadly, there's no commit in 2015, which means we don't get to benefit
	from using a copyright range.

	Done with 'make update-copyright'.

	* all files: Version control now has a commit in 2016.

2016-12-29  Eric Blake  <eblake@redhat.com>

	gnulib: Update to latest
	* gnulib: Update to latest.
	* m4/gnulib-cache.m4: Regenerate.
	* src/macro.c (expand_macro): Deal with obstack API change.
	* src/builtin.c (mkstemp_helper): Likewise.