2012-03-01  Eric Blake  <eblake@redhat.com>

	Release Version 2.68b.
	It's been more than a year since 2.68; time for a beta release
	to shake out any last minute bugs, before a release of 2.69
	in the near future.

	* NEWS: Mention the release.
	* HACKING: Update some instructions.

2012-03-01  Eric Blake  <eblake@redhat.com>

	maint: resync files from upstream
	* GNUmakefile: Resync via 'make fetch'.
	* build-aux/config.guess: Likewise.
	* build-aux/config.sub: Likewise.
	* build-aux/texinfo.tex: Likewise.
	* build-aux/update-copyright: Likewise.
	* doc/standards.texi: Likewise.
	* lib/Autom4te/Channels.pm: Likewise.
	* lib/Autom4te/Configure_ac.pm: Likewise.
	* lib/Autom4te/FileUtils.pm: Likewise.
	* lib/Autom4te/Getopt.pm: Likewise.
	* lib/Autom4te/Struct.pm: Likewise.
	* lib/Autom4te/XFile.pm: Likewise.
	* maint.mk: Likewise.

2012-02-25  Eric Blake  <eblake@redhat.com>

	tests: add test for AS_EXECUTABLE_P
	Now that this is public, we should regression test it.

	* tests/m4sh.at (AS@&t@_EXECUTABLE): New test.

2012-02-24  Eric Blake  <eblake@redhat.com>

	m4sh: make AS_EXECUTABLE_P public
	In the process of making it public, factor it into a reusable
	function.  This makes constructs like AC_CHECK_PROGRAM smaller,
	as well as making libtool's naughty use of $as_executable_p safer.

	* lib/m4sugar/m4sh.m4 (_AS_TEST_PREPARE): Add a shell function.
	(AS_EXECUTABLE_P): Forward to shell function.
	* doc/autoconf.texi (Common Shell Constructs): Document it.
	* NEWS: Mention this.

2012-02-24  Eric Blake  <eblake@redhat.com>

	m4sh: require that 'test -x' works
	4.3BSD is no longer a reasonable portability target; and we are
	pretty sure that these days we can find at least one shell on any
	platform that supports 'test -x'.  Drop a horribly unsafe use of
	eval as a result. :)

	Libtool still uses $as_executable_p without so much as calling
	either AS_TEST_X or AS_EXECUTABLE_P; even though the latter has
	existed, although undocumented, since at least 2.59; furthermore,
	libtool uses it in a context where filtering out directories
	would have been desirable.  Shame on them.

	* lib/m4sugar/m4sh.m4 (_AS_TEST_X_WORKS): New probe.
	(AS_SHELL_SANITIZE, AS_INIT): Use it in shell searching.
	(AS_TEST_X, AS_EXECUTABLE_P): Simplify.

2012-02-24  Eric Blake  <eblake@redhat.com>

	doc: mention more pitfalls of file mode tests
	4.3BSD is museum-ware now, so we can assume that test -x exists;
	however, we still can't assume that it always does what we want.

	* doc/autoconf.texi (Limitations of Builtins) <test (files)>:
	Treat 'test -x' as mostly portable, but mention problems with
	root user, ACLs, and TOCTTOU races.

2012-02-16  Eric Blake  <eblake@redhat.com>

	docs: tweak 'rm -f' limitations
	Based on http://debbugs.gnu.org/10819 and
	http://austingroupbugs.net/view.php?id=542

	* doc/autoconf.texi (Limitations of Usual Tools) <rm>: More
	details on 'rm -f' without files.

2012-02-10  Paul Eggert  <eggert@cs.ucla.edu>

	maint: replace FSF snail-mail addresses with URLs
	* tests/erlang.at, tests/go.at, tests/statesave.m4:
	Replace FSF snail mail addresses with URLs, as per GNU coding
	standards, and for consistency with other tests.

2012-01-28  Jim Meyering  <meyering@redhat.com>

	maint: avoid "make syntax-check" failure
	* Makefile.am ($(srcdir)/INSTALL): Remove spurious space-before-TAB.

2012-01-23  Eric Blake  <eblake@redhat.com>

	tests: fix test regression due to additional output
	This test has been failing since commit 5285ea8c (sadly, since
	last July; thankfully, unreleased).

	* tests/m4sugar.at (m4@&t@_require: nested): Fix test.

2012-01-23  Eric Blake  <eblake@redhat.com>

	INSTALL: convert to '' quoting, drop blank line at end
	This is allowed by recent GNU Coding Standards changes, and
	mirrors recent gnulib changes:
	https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00267.html
	https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00298.html

	I've confirmed that after these changes, the INSTALL generated and
	installed by autoconf matches the INSTALL.ISO in gnulib.

	* Makefile.am ($(srcdir)/INSTALL): Match gnulib INSTALL.ISO.

2012-01-23  Jim Meyering  <meyering@redhat.com>

	maint: convert .x-sc_* into exclude_file_name_regexp--sc_* exemptions
	Many of the .x-sc_* exemptions were no long necessary.  Remove those
	files and instead, provide exemptions via variable definitions in
	cfg.mk to address the few remaining exceptions.
	* .x-sc_prohibit_atoi_atof: Remove file.
	* .x-sc_space_tab: Likewise.
	* .x-sc_sun_os_names: Likewise.
	* .x-sc_trailing_blank: Likewise.
	* .x-sc_two_space_separator_in_usage: Likewise.
	* .x-sc_useless_cpp_parens: Likewise.
	* cfg.mk: Add minimal exemptions.
	* cfg.mk: Add minimal exemptions.
	* doc/standards.texi (Standard C): Address the sole useless-cpp-parens
	violation in this file:
	-#if defined (__STDC__) || defined (WINDOWSNT)
	+#if defined __STDC__ || defined WINDOWSNT
	With that, the only remaining offender is config.guess, whose name
	is now listed in cfg.mk.
	Suggested by Eric Blake.

2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	doc: work around mingw-w64 alloca problem with example
	* doc/autoconf.texi (Particular Functions): In example code for
	alloca, do not re-#define alloca.  This works around a mingw-w64
	problem reported by Vincent Torri in
	<http://lists.gnu.org/archive/html/autoconf/2012-01/msg00018.html>.

2012-01-21  Jim Meyering  <meyering@redhat.com>

	maint: fix or disable failing syntax-check rules
	* cfg.mk (local-checks-to-skip): List failing tests, so we skip
	them, for now.
	(old_NEWS_hash): Update.
	* doc/autoconf.texi: Per suggestion from Eric Blake, obfuscate
	the first word of "Filesystem Hierarchy Standard" as File@/system
	so it continues to render as one word, yet doesn't trigger the
	syntax-check prohibition.

	maint: also sync maint.mk and useless-if-before-free from gnulib
	* cfg.mk (gnulib-update): Add them to the list.
	* maint.mk: Update from gnulib.
	* build-aux/gitlog-to-changelog: Likewise.
	* build-aux/useless-if-before-free: New file, from gnulib.
	* doc/gnu-oids.texi: Update.

	maint.mk: update from gnulib
	* maint.mk: Update.

	maint: placate syntax-check rules: exempt some false positives
	* cfg.mk: Exempt maint.mk from the "undesirable word seq" check.
	Exempt maint.mk and autoconf.texi from the test_minus_ao check.

	maint: tweak to avoid triggering space-tab-prohibiting syntax-check
	* tests/m4sh.at (nargs): Use TAB-SP, not SP-TAB in abusive file name,
	to avoid triggering the space-tab-prohibiting syntax-check.

	maint: remove empty lines at EOF
	* man/autoconf.x: Remove empty line at EOF.
	* man/autoheader.x: Likewise.
	* man/autoscan.x: Likewise.
	* man/autoupdate.x: Likewise.
	* man/ifnames.x: Likewise.
	* tests/compile.at: Likewise.
	* doc/fdl.texi: Likewise.

	doc: fix grammar/doubled-word errors
	* doc/autoconf.texi: Remove/fix doubled-word errors.
	Also, s/can not/cannot/.
	* lib/m4sugar/m4sh.m4: Reword "if IF" comment to avoid triggering
	the doubled-word warning.

2012-01-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: sync files from gnulib
	* GNUmakefile: Sync from gnulib.
	* build-aux/announce-gen: Likewise.
	* build-aux/config.guess: Likewise.
	* build-aux/config.sub: Likewise.
	* build-aux/git-version-gen: Likewise.
	* build-aux/gnupload: Likewise.
	* build-aux/move-if-change: Likewise.
	* build-aux/texinfo.tex: Likewise.
	* build-aux/update-copyright: Likewise.
	* build-aux/vc-list-files: Likewise.
	* doc/gendocs_template: Likewise.
	* doc/standards.texi: Likewise.
	* m4/autobuild.m4: Likewise.

2012-01-21  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: make position of gnulib checkout configurable
	Some gnulib-related tools (most prominently, the gnulib-provided
	'bootstrap' script) allow the user to define the position of his
	gnulib's repository checkout through the use of the 'GNULIB_SRCDIR'
	environment variable.  We should do the same, for consistency and
	to easily support slightly unusual layouts in developers' source
	trees.

	* cfg.mk (gnulib_dir): Define to "$GNULIB_SRCDIR" if that's set,
	and to default value of "'$(abs_srcdir)'/../gnulib" otherwise.
	Update comments.

2012-01-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

	getopt: sync from Automake repository
	* lib/Autom4te/Getopt.am: The master copy of this file has
	been moved to the  Automake repository (see Automake commit
	'v1.11-662-g52246cc' 2012-01-18, "cmdline parsing: move into
	a dedicated perl module").  So we now we sync it from there,
	by listing it ...
	* cfg.mk (autom4te_files): ... in this variable.

2012-01-20  Stefano Lattarini  <stefano.lattarini@gmail.com>

	build: fix automake error due to missing ChangeLog
	Apparently, Automake does not accept the '$(srcdir)/ChangeLog'
	target in Makefile.am as a declaration that ChangeLog is
	automatically generated (and thus does not need to exist at
	automake time).  One has to use a *literal* 'ChangeLog' target.

	Problem introduced in commit v2.68-118-g6ed5195 of 2012-01-17,
	"maint: generate ChangeLog from git log".

	* Makefile.ma ($(srcdir)/ChangeLog): Renamed ...
	(ChangeLog): ... to this.

2012-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	getopt: new Autom4te::Getopt module
	* lib/Autom4te/General.pm (getopt): Move the guts of its
	implementation ...
	* lib/Autom4te/Getopt.pm (parse_options): .. into this function
	in the new Autom4te::Getopt module.  This will make it simpler
	for the implementation to be shared with other projects (right
	now, Automake).
	* lib/Automake/Makefile.am (dist_perllib_DATA): Add the new
	module.

2012-01-17  Jim Meyering  <meyering@redhat.com>

	tests: avoid spurious failure for each gnu-fortran-using test
	The tests compare pre- and post-run lists of envvars, which must
	be the same, modulo a list of known, filtered-out exceptions.
	However, when running fortran-checking tests with GNU fortran, each
	would fail due to the post-run addition of the GFC symbol added in
	v2.68-97-gbd962ac.
	* tests/local.at (AT_CHECK_ENV): Add GFC to the list of symbols
	that we ignore in pre-/post-run environment diffs.

2012-01-17  Stefano Lattarini  <stefano.lattarini@gmail.com>

	maint: generate ChangeLog from git log
	Following the practice set by various other GNU projects, we start
	to automatically generate the ChangeLog file from the git commit
	messages.  This will avoid duplication (as the ChangeLog entries
	were always inserted both in the git commit message and in the
	version-controlled ChangeLog file), and potential problems with
	spurious merge conflicts (which, although greatly mitigated by
	Bruno Haible's `git-merge-changelog' helper program, have never
	been completely solved).

	* ChangeLog: Moved ...
	* ChangeLog.3: ... to this.
	* build-aux/gitlog-to-changelog: New script, synced from gnulib.
	* cfg.mk (gnulib-update): Also sync gitlog-to-changelog.
	* Makefile.am (gen-ChangeLog): New .PHONY rule, generate the
	ChangeLog for distribution.
	(dist-hook): Depend on it.
	($(srcdir)/ChangeLog): New dummy rule, to pacify automake "gnu"
	strictness.  Creates a dummy ChangeLog, that will be overridden
	by the proper one at distribution time.
	(gen_start_date): New variable, the date starting from which the
	git log entries are to be copied in the generated ChangeLog.
	(EXTRA_DIST): Add ChangeLog.3 and gitlog-to-changelog.
	* configure.ac (AC_CONFIG_SRCDIR): Use 'lib/autoconf/autoconf.m4'
	instead of 'ChangeLog' as the sentinel file.
	* .gitignore: Add ChangeLog.

2012-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	cosmetics: fix some typos in ChangeLog
