summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* version 1.4.18v1.4.18Eric Blake2016-12-311-1/+1
| | | | * NEWS: Record release date.
* doc: abbreviate and update release historyEric Blake2016-12-311-5/+2
| | | | | | * doc/m4.texi (History): Shorten, and call out today's release. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: automate creation of release tagEric Blake2016-12-313-23/+29
| | | | | | | | | | | | 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. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: generate ChangeLog from git commitsEric Blake2016-12-316-104/+50
| | | | | | | | | | | | | | | | | | | | | | 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. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: summarize highlights of pending releaseEric Blake2016-12-311-0/+4
| | | | | | * NEWS: Add some blurbs. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: make silent builds the defaultEric Blake2016-12-312-0/+5
| | | | | | | | | | | | 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. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: release no longer creates a diff fileEric Blake2016-12-312-5/+6
| | | | | | | | | 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. Signed-off-by: Eric Blake <eblake@redhat.com>
* doc: drop obsolete @setcontentsaftertitlepageEric Blake2016-12-302-3/+5
| | | | | | | | | | | | | | | | 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. Signed-off-by: Eric Blake <eblake@redhat.com>
* build: update to latest gnulibEric Blake2016-12-292-0/+3
| | | | | | | | | 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. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: regenerate bootstrapEric Blake2016-12-292-3/+6
| | | | | | | | Missed during the copyright update. * bootstrap: Regenerate. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: bump copyright yearEric Blake2016-12-2942-46/+61
| | | | | | | | | | | 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. Signed-off-by: Eric Blake <eblake@redhat.com>
* gnulib: Update to latestEric Blake2016-12-295-7/+15
| | | | | | | | | * 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. Signed-off-by: Eric Blake <eblake@redhat.com>
* m4: fdopen() with a text mode explicitly on OS/2.KO Myung-Hun2014-11-191-0/+6
| | | | | | | | | On OS/2 kLIBC, fdopen() creates a stream in a mode of a file descriptor. So specify "t" to open a stream in a text mode explicitly on OS/2. * src/builtin.c (m4_esyscmd): fdopen() in a text mode on OS/2. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* configury: add -Zargs-resp to LDFLAGS on OS/2.KO Myung-Hun2014-11-192-0/+4
| | | | | | | | -Zargs-resp enables a response file support on OS/2. * configure.ac (OS2_LDFLAGS): Add -Zargs-resp on *-*-os2*. * src/Makefile.am (AM_LDFLAGS): Add OS2_LDFLAGS. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* configury: append $EXEEXT suffix to /bin/sh.KO Myung-Hun2014-11-193-1/+4
| | | | | | | | | Without $EXEEXT, /bin/sh cannot be located on OS/2. * configure.ac (with_syscmd_shell): append $EXEEXT suffix to /bin/sh. * THANKS: Add KO Myung-Hun. * NEWS: Update. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* bootstrap: sync with upstream.Gary V. Vaughan2014-11-196-585/+971
| | | | | | | | | * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/inline-source, gl/build-aux/options-parser: Sync with upstream. * bootstrap: Regenerate. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* doc: fix line-wrapped macro definitionsEric Blake2014-05-132-2/+9
| | | | | | | | | | | | | | | | The html rendering of the manual ate a comma and inserted an awkward line wrap for the "example" macro prototype: https://www.gnu.org/software/m4/manual/m4-1.4.17/html_node/Manual.html As documented in autoconf, use of @c does not work for macros which are designed for inline use within @deffn and friends. http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=a357718 * doc/m4.texi: Drop bogus @c. Reported by Marijn Schouten, fix by Patrice Dumas copied from autoconf code base. Signed-off-by: Eric Blake <eblake@redhat.com>
* main: diagnose unsupported --word-regexpVitezslav Crhonek2014-02-053-0/+9
| | | | | | | | | | | The long option for -W (--word-regexp) was accepted without ENABLE_CHANGEWORD defined. * src/m4.c (long_options): Don't allow long option if short option is rejected. * THANKS: Add attribution. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: bump copyright yearEric Blake2014-01-0144-43/+49
| | | | | | | * all files: Version control now has a commit in 2014. * gnulib: Update to latest. Signed-off-by: Eric Blake <eblake@redhat.com>
* build: fix regression for DragonFly BSDEric Blake2013-11-082-0/+5
| | | | | | | | | Fixes an issue reported by GW: https://lists.gnu.org/archive/html/bug-m4/2013-11/msg00000.html * gnulib: Update to latest gnulib, for fpending fix. Signed-off-by: Eric Blake <eblake@redhat.com>
* build: improve default build for non-gccEric Blake2013-09-244-6/+13
| | | | | | | | | | | | | | | | | | Dagobert Michelsen reported that in a setup that uses git to track patches on top of the distributed tarball, we ended up having configure defaults that did not play nicely with the Sun Studio 12.3 compiler. Gnulib has fixed the problems with detecting (un-)supported compiler flags, and additionally we can use a better witness file of whether we are likely to be a developer where it is worth enabling warnings by default. * gnulib: Update to latest gnulib. * configure.ac (gl_WARN_ADD): Drop flags now guaranteed by gnulib. (--enable-gcc-warnings): Set default based on a tarball-only file, rather than whether .git exists. * THANKS: Update. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: update HACKING release instructions.Gary V. Vaughan2013-09-221-8/+6
| | | | | | * HACKING: Update release instructions. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* maint: post-release administriviaGary V. Vaughan2013-09-223-2/+5
| | | | | | * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update.
* Release version 1.4.17v1.4.17Gary V. Vaughan2013-09-222-1/+1
| | | | | | | * gnulib: Update to lastest for assorted OS X fixes. * NEWS: Set the release date. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* configury: specify subdir-objects for future automake releases.Gary V. Vaughan2013-09-152-1/+6
| | | | | | | | Latest automake warns about future incompatibility if subdir-objects is not specified by AM_INIT_AUTOMAKE. * configure.ac (AM_INIT_AUTOMAKE): Add subdir-objects. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* bootstrap: require newer texinfo release.Gary V. Vaughan2013-09-152-1/+5
| | | | | | | * bootstrap.conf (buildreq): Bump required makeinfo binary release number to 4.13 to support --build-dir option. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* bootstrap: don't double-specify --no-changelog to gnulib-tool.Gary V. Vaughan2013-09-152-2/+7
| | | | | | | | * bootstrap.conf (gnulib_tool_option_extras): Rename from this... (gnulib_tool_options): ...this, and append options rather than overwrite. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* maint: add missing ChangeLog entry.Gary V. Vaughan2013-09-151-0/+8
| | | | Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* bootstrap: sync with upstream.Gary V. Vaughan2013-09-155-256/+670
| | | | | | | | | * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/options-parser: Update from upstream to pick up recent improvements. * bootstrap: Regenerate. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* Clean up documentationMichael Witten2013-08-172-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider: $ git grep SVR4 861325a84f231a2a2da307b53ef5ff527d67e876 | cut -c 42- ChangeLog: that Jim developped stackovf.c on a 486 running SVR4.0 (ESIX), and ChangeLog: `boolean'. This tag conflicts with <sys/types.h> on SVR4. README:processor. It is mostly SVR4 compatible, although it has some doc/m4.texinfo:processor. It is mostly SVR4 compatible, although it has some examples/WWW/m4lib/whatis.m4:version, and SVR4, although it has some extensions (for example, src/stackovf.c: signal stacks using either SVR4 or BSD interfaces. src/stackovf.c: 1. The siginfo parameter (with siginfo.h, i.e., SVR4). src/stackovf.c:/* SVR4. */ In particular: doc/m4.texinfo:processor. It is mostly SVR4 compatible, although it has some Elsewhere in `doc/m4.texinfo', only `Release 3' is referenced: $ git grep Release 861325a84f231a2a2da307b53ef5ff527d67e876 -- doc/m4.texinfo | cut -c 42- doc/m4.texinfo:System V, Release 3 version, except for some minor differences. doc/m4.texinfo:UNIX, such as System V Release 3, Solaris, and @acronym{BSD} flavors. This commit simply changes those last 2 lines by replacing `Release 3' with `Release 4'. * doc/m4.texinfo: Note that m4 is mostly compatible with SVR4. Signed-off-by: Michael Witten <mfwitten@gmail.com>
* maint: update to latest gnulibEric Blake2013-08-172-0/+5
| | | | | | * gnulib: Update to latest, for various fixes. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: update to latest gnulibEric Blake2013-04-182-0/+5
| | | | | | | | | | Commit 9f80fa84 picked up a newer regex from gnulib, but at a time where the m4 tests rejected glibc regex because it differed from gnulib with regards to behavior that POSIX left unspecified. * gnulib: Update to latest, for regex fixes. Signed-off-by: Eric Blake <eblake@redhat.com>
* build: avoid test failure on HPUXEric Blake2013-03-152-0/+13
| | | | | | | | | | | | | | | | | | | | | | POSIX permits implementations to open fd 0, 1, and 2 on exec(), even when the user tried to close them. HPUX-11.23 is one of the implementations that does not allow closed standard descriptors, leading to a failure of test 005.command_li. But a test that makes sure we behave gracefully in the face of closed standard descriptors makes no sense on a platform where we can never have them closed, so add some code to skip the test on "helpful" platforms. Note - HPUX opens any closed standard descriptor as O_WRONLY on /dev/null. This means that attempts to close stdout generally result in silent success, but attempts to close stdin often still result in failure when it is not possible to read from the O_WRONLY stdin. * doc/m4.texi (Command line files): Skip tests on systems where it is impossible to start with stdin/out closed. Reported by Gary V. Vaughan. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: update to latest gnulibEric Blake2013-03-122-0/+5
| | | | | | | | | | | | | | | | | | | | | With the latest gnulib, 'make check' no longer fails to compile for mingw. There are still six gnulib unit test failures, and I'm still investigating if I can come up with some gnulib fixes in the next day or two. But in looking at those failures: FAIL: test-localeconv.exe FAIL: test-lock.exe FAIL: test-mbrtowc1.sh FAIL: test-mbrtowc-w32=1.sh FAIL: test-thread_self.exe FAIL: test-thread_create.exe None of them are show-stoppers to a release of m4 itself, since we still haven't converted m4 to use anything other than the C locale, and since we are single-threaded and don't care about multi-thread locking. * gnulib: Update to latest, for mingw compile fixes. Signed-off-by: Eric Blake <eblake@redhat.com>
* build: fix large diversions on mingwEric Blake2013-03-113-0/+23
| | | | | | | | | | | | | | | | | | | | | Gnulib's clean-temp module defaults to using _O_TEMPORARY on mingw, which has the effect of deleting a file the first time it is closed. This resulted in a testsuite failure in 146.diversions, with m4 complaining that it could not create a temporary file for holding a diversion. In reality, m4 was trying to rename the file, but because mingw does not allow renaming an open file, we have to close it first - but closing it first deleted the file. For now, we will just work around the gnulib issue by disabling the use of _O_TEMPORARY. This was probably introduced in commit da5f6db (1.4.13), although my testing environment was painfully slow to confirm this, so I did not call out a 'regression since xyz' in the NEWS entry. * gl/lib/clean-temp.c.diff: New file. Signed-off-by: Eric Blake <eblake@redhat.com>
* Revert "bootstrap: require newer texinfo release."Eric Blake2013-03-113-7/+1
| | | | | | | | | | This reverts commit bb213870593b17fa7501413334053e85cd58e062. Instead, update to the latest gnulib, where gendocs.sh has been patched to no longer require makeinfo 5.0. * bootstrap.conf: Relax makeinfo requirement. * gnulib: Update to latest, for gendocs.sh fix.
* bootstrap: require newer texinfo release.Gary V. Vaughan2013-03-082-1/+7
| | | | | | | * bootstrap.conf (buildreq): Bump required makeinfo binary release number to 5.0 to support --build-dir option. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* bootstrap: remove reintroduced CVS cruft.Gary V. Vaughan2013-03-082-27/+6
| | | | | | | | | * bootstrap.conf (m4_ignore_gnulib_ignore): Remove. The code this was factored from was removed between making the bootstrap branch, and merging, so this function is actually obsolete. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* maint: automake 1.11.5 and earlier generate insecure dist rules.Gary V. Vaughan2013-03-082-1/+7
| | | | | | * configure.ac (AM_INIT_AUTOMAKE): Require 1.11.6 or newer. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* maint: update to latest gnulib.Gary V. Vaughan2013-03-081-0/+0
|
* bootstrap: upgrade to canonical upstream version.Gary V. Vaughan2013-03-0815-189/+10186
| | | | | | | | | | | | | | | * bootstrap.conf: New file to configure gnulib bootstrap. * gl: New gnulib overrides directory. * gl/modules/bootstrap, gl/modules/extract-trace, gl/modules/funclib.sh, gl/modules/inline-source, gl/modules/options-parser: Import canonical bootstrap modules. * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aix/inline-source, gl/build-aux/options-parser: Import module implementations. * bootstrap: Regenerate. * m4/gnulib-cache.m4: Regenerate. Signed-off-by: Gary V. Vaughan <gary@gnu.org>
* maint: automake recommends *.texi nowEric Blake2013-01-025-4/+13
| | | | | | | | | | | | | See this email for the motivation: https://lists.gnu.org/archive/html/automake-patches/2013-01/msg00009.html * doc/m4.texinfo: Move... * doc/m4.texi: ...here, for the eventual automake 1.14. * HACKING: Reflect the rename. * doc/Makefile.am (info_TEXINFOS): Likewise. * checks/Makefile.am ($(srcdir)/stamp-checks): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: bump copyright yearEric Blake2013-01-0136-37/+40
| | | | | | * all files: Version control now has a commit in 2013. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: update to latest gnulibEric Blake2013-01-014-2/+13
| | | | | | | | | | | | | | | | | | | | Upstream gnulib has added several improvements: - the regex module allows for rational range interprtation (that is, guaranteeing that the regex "[a-z]" evaluates to the same 26 bytes as in ASCII, even when in a non-C locale). Technically, m4 isn't yet using non-C locales, so I don't know if this will make much difference, but it can't hurt to include - various build fixes that I found while smoke-testing on alternative platforms - bump the copyright year to 2013 (I'll do m4 next) * gnulib: Update to latest, for rational range regex, build fixes, copyright update. * m4/gnulib-cache.m4: Regenerate. * NEWS: Document this. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: enable tight_scope syntax checkEric Blake2012-12-224-64/+75
| | | | | | | | | | | | | | I noticed that 'make syntax-check' was outputting a warning about the tight_scope rule being worthless. This makes the rule work, ensuring that we use 'static' where possible. * src/Makefile.am (m4_SOURCES): Move m4.h... (noinst_HEADERS): ...into separate listing for syntax check. * src/m4.h: Add 'extern' to function declarations. (expansion_level): Declare extern variable here... * src/debug.c: ...not here. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: move syntax check exemptions into cfg.mkEric Blake2012-12-225-13/+13
| | | | | | | | | | | | | It's easier to maintain exemptions in a single file than it is to maintain a bunch of hidden .x files. * .x-sc_prohibit_tab_based_indentation: Delete file. * .x-update-copyright: Likewise. * Makefile.am (syntax_check_exceptions): Delete rule. * cfg.mk (exclude_file_name_regexp): Move exemptions here. (local-checks-to-skip): Re-enable copyright check. Signed-off-by: Eric Blake <eblake@redhat.com>
* build: update to latest gnulibEric Blake2012-12-222-0/+5
| | | | | | * gnulib: Update to latest. Signed-off-by: Eric Blake <eblake@redhat.com>
* build: avoid problematic gcc 4.4 warningsEric Blake2012-11-193-1/+29
| | | | | | | | | | | | | Warnings that make sense under newer gcc can cause spurious failures under older gcc; it's nice to allow out-of-the-box development on stable releases while still getting the benefit of improved warning detection in bleeding-edge setups. * configure.ac (nw): Disable gcc warnings that cause build failures under RHEL 6.3. * gnulib: Update to latest. Signed-off-by: Eric Blake <eblake@redhat.com>
* doc: improve prehistory discussionPaul Eggert2012-11-142-9/+40
| | | | | | | * doc/m4.texinfo (History): Describe M6 and related processors. From a suggestion by Doug McIlroy in <http://lists.gnu.org/archive/html/m4-discuss/2012-05/msg00004.html>. Also, improve citation quality by giving URLs and so forth.
* maint: drop more CVS cruftEric Blake2012-09-213-21/+11
| | | | | | | | | | | | Commit 47c48ce was intended to remove all CVS support, but missed some pieces. * bootstrap (Version control): Don't generate .cvsignore or prepopulate m4/.gitignore. * .gitignore: Allow m4/gnulib-cache.m4 manually. Reported by Stefano Lattarini. Signed-off-by: Eric Blake <eblake@redhat.com>