autoupdate
autoupdate
update from texinfo
mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc

These were found when building the latest grep snapshot on IRIX 6.5.
* lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
"b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
never used later.
* lib/quotearg.c (quoting_options_from_style):
* lib/xstrtol.c (__xstrtol):
Use enum instead of 0, to pacify IRIX 6.5 cc.
getlogin-tests: avoid false failure under sudo/ssh etc.

* modules/getlogin-tests (configure.ac): Check for ttyname().
* tests/test-getlogin.c (main): Don't depend on environment variables
to correlate with getlogin(), since sudo and ssh etc. can tamper
with the LOGNAME and USER env vars.  Instead lookup the name from
the uid associated with the stdin tty.
autoupdate
doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms

Problem reported by Eli Zaretskii in:
http://lists.gnu.org/archive/html/bug-grep/2014-05/msg00118.html
* doc/posix-functions/execl.texi (execl):
* doc/posix-functions/execle.texi (execle):
* doc/posix-functions/execlp.texi (execlp):
* doc/posix-functions/execv.texi (execv):
* doc/posix-functions/execve.texi (execve):
* doc/posix-functions/execvp.texi (execvp):
Mention spawn+exit problem on non-Cygwin Windows platforms.
doc: document mbrtowc and mbrlen problem with empty input

* doc/posix-functions/mbrlen.texi (mbrlen):
* doc/posix-functions/mbrtowc.texi (mbrtowc):
Document portability problem when the input string is empty.  See:
https://sourceware.org/bugzilla/show_bug.cgi?id=16950
mbrlen, mbrtowc: fix bug with empty input

* lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
* m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
so this is mainly for documentation.
* m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
(gl_FUNC_MBRTOWC): Use it.
* tests/test-mbrtowc.c (main): Test for the bug.
mbrtowc.m4: fix a comment typo

* m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
emitted documentation string.
getlogin-tests: avoid false failure under cron

* tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
since that's not what's under test.  Centos 6 was seen to return
EINVAL for ttyname() when run from cron.
getlogin_r-tests: avoid false failure under sudo/ssh etc.

* tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
changes from commit 97249cf29 to not depend on environment variables.
xalloc: don't potentially generate invalid code for xmemdup calls

* lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
this function can initialize the newly-allocated storage with new
pointers, which means this function is not malloc-like.  See:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
update from texinfo
fchdir: port 'open' and 'close' redefinitions to AIX 7.1

* lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
* lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
* lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
* lib/spawn-pipe.c:
Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
and then 'int open64(const char *, int, ...);', which means the
declaration for 'open' gets lost if we later '#undef open'.
Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
where the compilation reported the non-fatal error "In function
'openat_proc_name' ... warning: implicit declaration of function
'open'".  In this case the error is relatively harmless, but in
other cases it might not be so minor.
getlogin_r-tests: fix various issues in recent change

* tests/test-getlogin_r.c: Include required headers that were
missed in recent commit eec20b4e.
Also consistently check the errno rather than the return value from
getlogin_r as POSIX only specifies that non zero is returned on error.
* modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
getlogin_r-tests: check return value rather than errno

* tests/test-getlogin_r.c (main): As per POSIX we should be
verifying the return value from getlogin_r() rather than errno.
gnulib-tool: adjust translation wget to avoid a https redirection

Context: http://translationproject.org/latest/gnulib redirects to
         https://translationproject.org/latest/gnulib/
Rationale: if the user falls back to wget, she doesn't have rsync and
is probably in a minimal build environment, where packages such as
'ca-certificates' are missing as well, resulting in a failed (and
difficult to detect since ignored) translation initial fetch.
Consequently let's avoid https if possible, and add the missing
trailing slash.  This also avoids an unnecessary 302 redirection.
* gnulib-tool: Add trailing slash to gnulib URL.
gnulib-tool: wget translations using --no-verbose rather than --quiet

This allows the user to see error messages if any (--quiet hides them)
* gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
pthread_sigmask, timer-time: use gl_THREADLIB only if needed

Without this fix, Emacs would sometimes call sigprocmask instead
of pthread_sigmask, which is a no-no in multithreaded applications.
Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
Suppress check for pthread_sigmask working without -lpthread if
the application always links with -lpthread.  Do not link with
$LIBMULTITHREAD if gl_THREADLIB is not defined.
* m4/timer_time.m4 (gl_TIMER_TIME):
Require gl_THREADLIB only if it is defined.  Do not append
$LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.