version-etc: new year

* lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.

Signed-off-by: Eric Blake <eblake@redhat.com>
maint: update copyright

I ran 'make update-copyright'.

Signed-off-by: Eric Blake <eblake@redhat.com>
doc: update main copyright year

* doc/gnulib.texi: Update copyright date.
autoupdate
maint: fix public-submodule-commit to work with newer git

* top/maint.mk (public-submodule-commit): Remove excess quoting.
We were over-quoting the test arguments, and somewhere prior to
version 1.8.5.2.229, git stopped removing those excess quotes,
which made the test fail, since the unexpanded strings would
always differ; using GIT_TRACE=1 confirmed that the git merge-base
command wasn't even being run.
relocatable-script: remove unused code

Problem reported by Reuben Thomas in:
http://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00117.html
* build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
autoupdate
manywarnings: remove -Wmudflap

* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
it is no longer supported in gcc-4.9-to-be.
freading: declare with attribute "pure"

* lib/freading.h (freading): Declare with the "pure" attribute.
doc: use ASCII in .texi files where UTF-8 isn't needed

* doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
* doc/posix-functions/setkey.texi, doc/regex.texi:
Use ASCII input, not UTF-8.
maint.mk: adapt openat.h-include-without-use test

* top/maint.mk (sc_prohibit_openat_without_use): Also check for
FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
failing on gnulib's own lib/{chmod,chown,stat}at.c files.
With this change, running "make sc_maint" in gnulib's top-level
directory now passes for me.
freadable, fwritable, fwriting: declare with the "pure" attribute

* lib/freadable.h (freadable): Declare with the "pure" attribute.
* lib/fwritable.h (fwritable): Likewise.
* lib/fwriting.h (fwriting): Likewise.
Suggested by Bruno Haible.
maint: add a gnulib-local rule to keep non-ascii out of .texi files

* cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
so that "make sc_maint" will ding anyone who puts non-ascii
in any of gnulib's .texi files.
include_next: port to autoconf 2.63

On RHEL 6.4 (using autoconf 2.63), './gnulib-tool --test math'
fails with the following, since commit 74540d44:
executing autoconf
configure:5693: error: possibly undefined macro: AS_VAR_COPY
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.

Since we document that we support out-of-the-box use with autoconf
2.59 and later, the fix is to provide a fallback definition.

* m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.

Signed-off-by: Eric Blake <eblake@redhat.com>
md5, sha1, sha256, sha512: support older autoconf

On RHEL 6 (using autoconf 2.63), './gnulib-tool --test crypto/md5'
fails with this, ever since commit 3386f398:

executing aclocal -I glm4
glm4/gl-openssl.m4:11: error: m4_defn: undefined macro: _m4_divert_diversion
glm4/gl-openssl.m4:11: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: autom4te failed with exit status: 1

Autoconf 2.63b introduced some bug fixes to m4_divert*, including
the ability to use the diversion stack prior to calling m4_init;
and aclocal happens to be a use of autom4te where m4_init was
not invoked prior to the expansion of gl_CRYPTO_CHECK.  The fix
is to copy the trick used in newer autoconf - wrap the entire
execution of autom4te inside one more layer of diversion stack,
where _m4_divert_diversion being defined serves as a nice witness
of whether we are already wrapped.  This workaround has to live
in 00gnulib.m4 in order to come prior to any other m4 file that
might be included by virtue of gnulib.

Then, with my first attempt applied, I still got failures on
RHEL 5 (using autoconf 2.59); it turns out that without the
guaranteed-FIFO behavior of m4_wrap added in 2.62 and newer,
places that _do_ use m4_init got confused if our wrapper pops
its state in an m4_wrap that happens in LIFO order.  It took
some experimenting to find a formula that guarantees we undo
the wrap at the correct moment before the m4_init warning
message can chew us out about an unabalanced diversion stack.

* m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
on older autoconf.
Reported off-list by Pavel Hrdina.

Signed-off-by: Eric Blake <eblake@redhat.com>
update from texinfo
tests: simplify porting to Solaris 10 /bin/sh

Some test cases in 'grep' need a shell that groks '$(';
export re_shell_ for their benefit.  Problem reported for 'grep'
by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
* tests/init.sh (re_shell_): Export if it's used.
tests: fix export bug in previous patch

Problem reported by Jim Meyering.
* tests/init.sh (re_shell): New var, which is exported instead of
re_shell_.
relocatable-shell: Update suggested usage in maintainer documentation.

Instead of suggesting an inline usage of "sed", that would have to be
cut-and-pasted for every directory to be relocated, suggest a shell
function.

Make the example obviously an example, whereas previously it looked like
it might be literal text.

Thanks to Reuben Thomas <rrt@sc3d.org> for pointing out these issues.  See
http://lists.gnu.org/archive/html/bug-gnulib/2014-01/msg00039.html for
further context.
relocatable-perl: like relocatable-script, but for Perl scripts

* build-aux/relocatable.pl.in: Add.
* doc/relocatable-maint.texi: Add documentation.
* modules/relocatable-perl: Add.