From: Glenn Morris Date: Wed, 13 Feb 2013 04:31:09 +0000 (-0800) Subject: Merge from emacs-24; up to 2012-12-17T11:17:34Z!rgm@gnu.org X-Git-Tag: emacs-24.3.90~173^2~7^2~64 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/01fcc3a532872b29784a4d888ab9cc1aef0eed01?hp=1a359750bbac95fd6bf8fe1233e747a1d26f0082 Merge from emacs-24; up to 2012-12-17T11:17:34Z!rgm@gnu.org --- diff --git a/ChangeLog b/ChangeLog index cddaaa58a5..6a90eb178f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,65 +1,379 @@ -2013-01-16 Glenn Morris +2013-02-12 Eli Zaretskii + + * lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/memrchr.$(O). + ($(BLD)/memrchr.$(O)): New dependency. + +2013-02-11 Paul Eggert + + Tune by using memchr and memrchr. + * .bzrignore: Add string.h. + * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. + * lib/memrchr.c, lib/string.in.h, m4/memrchr.m4, m4/string_h.m4: + New files, from gnulib. + + Merge from gnulib, incorporating: + 2013-02-11 unsetenv etc.: port to Solaris 11 + GNU Emacs + 2013-02-09 secure_getenv: fix C++ declaration typo + +2013-02-11 Glenn Morris + + * configure.ac (emacs_config_options): Record some env vars. + +2013-02-10 Glenn Morris + + * configure.ac (emacs_config_options): Strip out the (internal) + arguments --no-create and --no-recursion. + +2013-02-08 Paul Eggert + + Merge from gnulib, incorporating: + 2013-02-08 careadlinkat: stop exporting careadlinkatcwd + The MS-Windows port can remove careadlinkatcwd at its convenience. + 2013-02-08 extensions: port better to HP-UX + 2013-02-06 extensions: port better to MINIX 3, HP-UX, autoheader 2.62 + 2013-02-06 unistd: avoid namespace pollution on non-glibc systems + 2013-02-04 secure_getenv: new module [module not used by Emacs] + 2013-01-30 sys_time: port to Solaris 2.6 + +2013-02-01 Paul Eggert + + Use fdopendir, fstatat and readlinkat, for efficiency (Bug#13539). + On my host, this speeds up directory-files-and-attributes by a + factor of 3, when applied to Emacs's src directory. + These functions are standardized by POSIX and are common these + days; fall back on a (slower) gnulib implementation if the host + is too old to supply them. + * .bzrignore: Add lib/dirent.h. + * lib/Makefile.am (libgnu_a_SOURCES): Add openat-die.c, save-cwd.c. + * lib/careadlinkat.c, lib/careadlinkat.h: Merge from gnulib, + incorporating: 2013-01-29 careadlinkat: do not provide careadlinkatcwd. + * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. + * lib/dirent.in.h, lib/fdopendir.c, lib/fstatat.c, lib/openat-priv.h: + * lib/openat-proc.c, lib/openat.h, m4/dirent_h.m4, m4/fdopendir.m4: + * m4/fstatat.m4: New files, from gnulib. + * lib/openat-die.c, lib/save-cwd.c, lib/save-cwd.h: New files. + These last three are specific to Emacs and are not copied from gnulib. + They are simpler than the gnulib versions and are tuned for Emacs. + +2013-02-01 Glenn Morris + + * make-dist: Only README files exist in lisp/ now, not README*. + +2013-01-23 Giorgos Keramidas (tiny change) + + * .bzrignore: add lib-src/blessmail. + +2013-01-23 Paul Eggert + + Merge from gnulib, incorporating: + 2013-01-16 unistd: port to recent mingw + +2013-01-19 Glenn Morris * Makefile.in (install-arch-indep): Put back a chmod that was removed 2012-05-19. (Bug#13430) -2013-01-10 Glenn Morris +2013-01-16 Paul Eggert + + Merge from gnulib, incorporating: + 2013-01-16 largefile: port better to Mac OS X 10.5 + 2013-01-15 stdint: fix build with Android's Bionic fox x86 + +2013-01-16 Paul Eggert + + * configure.ac: Document that --enable-gcc-warnings emits errors. + (Bug#13448) + +2013-01-13 Glenn Morris * make-dist: Add options for xz compression and no compression. +2013-01-12 Paul Eggert + + Enable conservative stack scanning for all architectures. + Suggested by Stefan Monnier in + . + * configure.ac (GC_MARK_STACK): Remove. + +2013-01-11 Paul Eggert + + * lib/getopt_.h: Remove trailing CRs that crept in. + +2013-01-11 Eli Zaretskii + + * lib/getopt_.h: Regenerate. + +2013-01-10 Paul Eggert + + Merge from gnulib, incorporating: + 2013-01-09 stdlib: port to Solaris 2.6 + 2013-01-04 Glenn Morris * info/dir: Add htmlfontify. -2012-12-29 Andreas Schwab +2013-01-04 Paul Eggert + + Merge from gnulib, incorporating: + 2013-01-04 stdio: remove now-unnecessary stdio.c + 2013-01-04 fprintftime: depend on stdio, not ignore-value + 2013-01-04 fwrite: silence __wur only for older glibc versions + 2013-01-04 fwrite: silence __wur without using inline + * lib/stdio.c: Remove. + * lib/stdio.in.h, lib/strftime.c: Update from gnulib. + * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. + +2013-01-02 Paul Eggert + + Merge from gnulib, incorporating copyright-date changes and: + 2012-12-31 dup2: work around cygwin bug + +2012-12-30 Jan Djärv + + * configure.ac: Check for GtkHandlebox. + Check for GtkTearoffMenuItem. + New enable: --enable-gtk-deprecation-warnings, default off. + (HAVE_GTK3): If above enable is off, add + -DGDK_DISABLE_DEPRECATION_WARNINGS to GTK_CFLAGS. + +2012-12-30 Andreas Schwab * configure.ac (TEMACS_LDFLAGS2): Don't define. (LIBS_GNUSTEP): Set for GNUstep and substitute. (LD_SWITCH_SYSTEM_TEMACS): Don't set for GNUstep. -2012-12-24 Andreas Schwab +2012-12-27 Glenn Morris + + * configure.ac (emacs_config_options): New. + Use $@ rather than undocumented $ac_configure_args. + Replace any embedded double quotes. (Bug#13274) + +2012-12-27 Andreas Schwab * configure.ac (SIGNALS_VIA_CHARACTERS): Also define for darwin. (Bug#13222) -2012-12-20 Akinori MUSHA (tiny change) +2012-12-26 Paul Eggert + + Revert static checking of stack smashing. + * configure.ac (WARN_CFLAGS): Omit -Wstack-protector when + configured with --enable-gcc-warnings. -Wstack-protector causes + diagnostics to be issued on Ubuntu 12.10 x86-64. + +2012-12-24 Paul Eggert + + Merge from gnulib, incorporating: + 2012-12-21 AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf + 2012-12-20 AC_PROG_MKDIR_P: don't workaround if not buggy + 2012-12-17 filemode, sys_stat: Handle MPX files a la AIX. + +2012-12-21 Akinori MUSHA (tiny change) * Makefile.in (install-arch-dep): Ignore chmod errors. (Bug#13233) +2012-12-16 Romain Francoise + + * configure.ac (acl): New option. + (HAVE_POSIX_ACL): Test for POSIX ACL support. This is typically + provided by libacl on GNU/Linux. + +2012-12-14 Paul Eggert + + Fix permissions bugs with setgid directories etc. (Bug#13125) + * configure.ac (BSD4_2): Remove; no longer needed. + 2012-12-13 Glenn Morris - * info/dir: Add bovine, wisent. + * info/dir: Add bovine, srecode, wisent. -2012-12-12 Andreas Schwab +2012-12-13 Andreas Schwab * Makefile.in (install-info): Use `${MAKE} -s' for echo-info. - (uninstall): Likewise. + (uninstall): Likewise. (Bug#13143) + +2012-12-11 Paul Eggert + + Merge from gnulib for 'inline' (Bug#13040), incorporating: + 2012-12-11 extern-inline: avoid incompatibility with Darwin Libc + * m4/extern-inline.m4: Update from gnulib. + +2012-12-11 Juanma Barranquero + + * lib/makefile.w32-in (SIG2STR_H): New macro. + ($(BLD)/sig2str.$(O)): Update dependencies. + +2012-12-10 Paul Eggert + + * configure.ac (HAVE_INOTIFY): Speed up configure-time test. + There's no need to test for any of three inotify functions, + since we use all three. Check for just the first one. + +2012-12-10 Daniel Colascione + + * .bzrignore: add src/emacs.res. + + * configure.ac (W32_RES, W32_RES_LINK, WINDRES): Teach the cygw32 + build how to compile Windows resource files; use these variables + to tell src/Makefile.in how and whether to compile resources. + +2012-12-10 Rüdiger Sonderfeld + + * configure.ac (inotify): New option. + (HAVE_INOTIFY): Test for inotify. -2012-12-12 Glenn Morris +2012-12-09 Andreas Schwab - * info/dir: Add srecode. + * configure.ac: Fix source command in .gdbinit. + Don't quote $MAKEINFO. -2012-12-11 Nicolas Richard (tiny change) +2012-12-09 Paul Eggert - * Makefile.in (install-info, uninstall): Ensure make's messages - about changing directories are in English. (Bug#13143) + Allow spaces in some configuration vars (Bug#13078). + * configure.ac (srcdir): Don't assume $PWD lacks spaces. + (srcdir, MAKEINFO, PKG_CONFIG, PKG_CONFIG_MIN_VERSION): + All uses quoted, to allow spaces in these vars. -2012-12-05 Glenn Morris +2012-12-08 Paul Eggert + + Use putenv+unsetenv instead of modifying environ directly (Bug#13070). + * lib/putenv.c, lib/unsetenv.c, m4/putenv.m4, m4/setenv.m4: + New files, copied automatically from gnulib. + * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. + +2012-12-08 Eli Zaretskii + + * lib/makefile.w32-in ($(BLD)/sig2str.$(O)): New dependency. + Remove a stray character at the beginning of the file. + (Bug#13026) + +2012-12-08 Paul Eggert + + Simplify get_lim_data. + * configure.ac (ULIMIT_BREAK_VALUE): Remove. + + Assume POSIX 1003.1-1988 or later for signal.h (Bug#13026). + * configure.ac (PTY_OPEN, PTY_TTY_NAME_SPRINTF): + Use SIGCHLD rather than SIGCLD. + * lib/sig2str.c, lib/sig2str.h, m4/sig2str.m4: New files, from gnulib. + * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. + * lib/makefile.w32-in (GNULIBOBJS): Add $(BUILD)/sig2str.$(O). + +2012-12-06 Glenn Morris * configure.ac: Handle info/ files with or without ".info" extension. -2012-11-24 Eli Zaretskii +2012-11-30 Paul Eggert + + Merge from gnulib for 'inline' (Bug#13040), incorporating: + 2012-11-29 snippet/warn-on-use: no 'static inline' + 2012-11-29 ftruncate, fts, lstat, openat, raise: no 'static inline' + 2012-11-29 arctwo, md4, md5, sha1, sha256, sha512: no 'static inline' + 2012-11-29 fflush, stat: no 'static inline' + 2012-11-29 stdio: better 'inline' + 2012-11-29 sys_stat: no 'static inline' + 2012-11-29 unistd: better 'inline' + 2012-11-29 c-strtod, memcoll, readutmp: no 'static inline' + 2012-11-29 extern-inline: no 'static inline' + 2012-11-29 sys_socket: better 'inline' + * lib/stdio.c, lib/unistd.c: New files, from gnulib. + * build-aux/snippet/warn-on-use.h, lib/gnulib.mk, lib/lstat.c: + * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c, lib/stat.c: + * lib/stdio.in.h, lib/sys_stat.in.h, lib/unistd.in.h, m4/c-strtod.m4: + * m4/extern-inline.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/md5.m4: + * m4/sha1.m4, m4/sha256.m4, m4/sha512.m4, m4/stat.m4, m4/stdio_h.m4: + * m4/sys_socket_h.m4, m4/sys_stat_h.m4, m4/unistd_h.m4: + Update from gnulib. + +2012-11-27 Eli Zaretskii * make-dist (nt): Adjust to changes in names of the *.manifest files. +2012-11-24 Ken Brown + + * configure.ac (HAVE_MOUSE): Remove. + +2012-11-23 Paul Eggert + + Assume POSIX 1003.1-1988 or later for dirent.h (Bug#12958). + * configure.ac: Do not check for dirent.h or closdir. + +2012-11-21 Paul Eggert + + Assume POSIX 1003.1-1988 or later for unistd.h (Bug#12945). + * configure.ac: Do not check for getcwd or getwd. + 2012-11-21 Glenn Morris * configure.ac (--enable-profiling): Doc fix. +2012-11-20 Paul Eggert + + Improve static checking of integer overflow and stack smashing. + * configure.ac (WARN_CFLAGS): Add -Wstack-protector + if using GCC 4.7.2 or later on a platform with + at least 64-bit long int. This improves static checking on these + platforms, when configured with --enable-gcc-warnings. + +2012-11-17 Paul Eggert + + Assume POSIX 1003.1-1988 or later for fcntl.h (Bug#12881). + * configure.ac: Do not check for fcntl.h. + * lib/gnulib.mk: Regenerate. + +2012-11-16 Paul Eggert + + Remove no-longer-used pty_max_bytes variable. + * configure.ac (fpathconf): Remove unnecessary check. + +2012-11-14 Paul Eggert + + Use faccessat, not access, when checking file permissions (Bug#12632). + * .bzrignore: Add lib/fcntl.h. + * configure.ac (euidaccess): Remove check; gnulib does this for us now. + (gl_FCNTL_O_FLAGS): Define a dummy version. + * lib/at-func.c, lib/euidaccess.c, lib/faccessat.c, lib/fcntl.in.h: + * lib/getgroups.c, lib/group-member.c, lib/root-uid.h: + * lib/xalloc-oversized.h, m4/euidaccess.m4, m4/faccessat.m4: + * m4/fcntl_h.m4, m4/getgroups.m4, m4/group-member.m4: + New files, from gnulib. + * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. + +2012-11-05 Paul Eggert + + Assume at least POSIX.1-1988 for getpgrp, setpgid, setsid (Bug#12800). + * configure.ac (setpgid, setsid): Assume their existence. + (AC_FUNC_GETPGRP, SETPGRP_RELEASES_CTTY): Remove; obsolete. + + Simplify by assuming __fpending. + Now that Emacs is using the gnulib fpending module, + there's no need for Emacs to have a separate implementation. + * configure.ac (stdio_ext.h, __fpending): Remove now-duplicate checks. + (PENDING_OUTPUT_COUNT, DISPNEW_NEEDS_STDIO_EXT): Remove. + +2012-11-03 Eli Zaretskii + + * lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/fpending.$(O) and + $(BLD)/close-stream.$(O). + ($(BLD)/close-stream.$(O)): + ($(BLD)/fpending.$(O)): New dependencies. + +2012-11-03 Paul Eggert + + Fix data-loss with --batch (Bug#9574). + * lib/close-stream.c, lib/close-stream.h, lib/fpending.c + * lib/fpending.h, m4/close-stream.m4, m4/fpending.m4: + New files, from gnulib. + * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. + 2012-11-03 Eli Zaretskii * config.bat: Copy lib/execinfo.in.h to lib/execinfo.in-h if needed. +2012-11-02 Glenn Morris + + * Makefile.in (EMACS_ICON): New variable. + (install-etc): Use EMACS_ICON to allow choice of icon. + 2012-10-26 Glenn Morris * Makefile.in (EMACS_NAME): New variable. diff --git a/Makefile.in b/Makefile.in index 9f1e9707d1..a2de4f3b16 100644 --- a/Makefile.in +++ b/Makefile.in @@ -635,6 +635,11 @@ install-man: done ## Install those items from etc/ that need to end up elsewhere. + +## If you prefer, choose "emacs22" at installation time. +## Note: emacs22 does not have all the resolutions. +EMACS_ICON=emacs + install-etc: umask 022; ${MKDIR_P} $(DESTDIR)${desktopdir} tmp=etc/emacs.tmpdesktop; rm -f $${tmp}; \ @@ -649,10 +654,10 @@ install-etc: for dir in */*/apps */*/mimetypes; do \ [ -d $${dir} ] || continue ; \ ( cd $${thisdir}; ${MKDIR_P} $(DESTDIR)${icondir}/$${dir} ) ; \ - for icon in $${dir}/emacs[.-]*; do \ + for icon in $${dir}/${EMACS_ICON}[.-]*; do \ [ -r $${icon} ] || continue ; \ ext=`echo "$${icon}" | sed -e 's|.*\.||'`; \ - dest=`echo "$${icon}" | sed -e 's|.*/||' -e "s|\.$${ext}$$||" -e '$(TRANSFORM)'`.$${ext} ; \ + dest=`echo "$${icon}" | sed -e 's|.*/||' -e "s|\.$${ext}$$||" -e 's/$(EMACS_ICON)/emacs/' -e '$(TRANSFORM)'`.$${ext} ; \ ( cd $${thisdir}; \ ${INSTALL_DATA} ${iconsrcdir}/$${icon} $(DESTDIR)${icondir}/$${dir}/$${dest} ) \ || exit 1; \ diff --git a/README b/README index cfd9a22094..ebd07eaaa3 100644 --- a/README +++ b/README @@ -2,7 +2,7 @@ Copyright (C) 2001-2013 Free Software Foundation, Inc. See the end of the file for license conditions. -This directory tree holds version 24.2.93 of GNU Emacs, the extensible, +This directory tree holds version 24.3.50 of GNU Emacs, the extensible, customizable, self-documenting real-time display editor. The file INSTALL in this directory says how to build and install GNU diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES index 661cde9c43..393cf56e99 100644 --- a/admin/CPP-DEFINES +++ b/admin/CPP-DEFINES @@ -9,7 +9,6 @@ documented in config.in, and this file would not be necessary. AIX _AIX -BSD4_2 BSD_SYSTEM CYGWIN Compiling the Cygwin port. __CYGWIN__ Ditto @@ -86,7 +85,6 @@ anymore, so they can be removed. AMPERSAND_FULL_NAME BROKEN_DATAGRAM_SOCKETS BROKEN_FIONREAD -BROKEN_GETWD BROKEN_GET_CURRENT_DIR_NAME BROKEN_NON_BLOCKING_CONNECT BROKEN_PTY_READ_AFTER_EAGAIN @@ -119,7 +117,6 @@ HAVE_CFMAKERAW HAVE_CFSETSPEED HAVE_CLOCK_GETTIME HAVE_CLOCK_SETTIME -HAVE_CLOSEDIR HAVE_COFF_H HAVE_COM_ERR_H HAVE_COPYSIGN @@ -144,15 +141,12 @@ HAVE_DES_H HAVE_DEV_PTMX HAVE_DIALOGS HAVE_DIFFTIME -HAVE_DIRENT_H HAVE_DUP2 HAVE_ENDGRENT HAVE_ENDPWENT HAVE_ENVIRON_DECL HAVE_EUIDACCESS -HAVE_FCNTL_H HAVE_FORK -HAVE_FPATHCONF HAVE_FREEIFADDRS HAVE_FREETYPE HAVE_FSEEKO @@ -163,7 +157,6 @@ HAVE_FUTIMESAT HAVE_GAI_STRERROR HAVE_GCONF HAVE_GETADDRINFO -HAVE_GETCWD HAVE_GETDELIM HAVE_GETGRENT HAVE_GETHOSTNAME @@ -180,7 +173,6 @@ HAVE_GETRLIMIT HAVE_GETRUSAGE HAVE_GETSOCKNAME HAVE_GETTIMEOFDAY -HAVE_GETWD HAVE_GET_CURRENT_DIR_NAME HAVE_GHOSTSCRIPT HAVE_GIF @@ -266,7 +258,6 @@ HAVE_MEMSET HAVE_MENUS HAVE_MKSTEMP HAVE_MMAP -HAVE_MOUSE HAVE_MULTILINGUAL_MENU HAVE_NANOTIME HAVE_NET_IF_DL_H @@ -298,9 +289,7 @@ HAVE_SENDTO HAVE_SEQPACKET HAVE_SETITIMER HAVE_SETLOCALE -HAVE_SETPGID HAVE_SETRLIMIT -HAVE_SETSID HAVE_SHARED_GAME_DIR HAVE_SHUTDOWN HAVE_SIGNED_${GLTYPE} @@ -308,7 +297,6 @@ HAVE_SIGNED_SIG_ATOMIC_T HAVE_SIGNED_WCHAR_T HAVE_SIGNED_WINT_T HAVE_SIGSET_T -HAVE_SIZE_T HAVE_SNPRINTF HAVE_SOCKETS HAVE_SOUND @@ -373,7 +361,6 @@ HAVE_TM_ZONE HAVE_TOUCHLOCK HAVE_TZNAME HAVE_TZSET -HAVE_UNISTD_H HAVE_UNSIGNED_LONG_LONG_INT HAVE_UTIL_H HAVE_UTIMENSAT @@ -422,10 +409,7 @@ NSIG NSIG_MINIMUM NULL_DEVICE ORDINARY_LINK -O_RDONLY -O_RDWR PAGESIZE -PENDING_OUTPUT_COUNT PREFER_VSUSP PTY_ITERATION PTY_NAME_SPRINTF @@ -433,16 +417,8 @@ PTY_OPEN PTY_TTY_NAME_SPRINTF PURESIZE RUN_TIME_REMAP -SETPGRP_RELEASES_CTTY SETUP_SLAVE_PTY -SIGALRM -SIGCHLD -SIGHUP -SIGKILL SIGNALS_VIA_CHARACTERS -SIGPIPE -SIGQUIT -SIGTRAP STDC_HEADERS SYSTEM_PURESIZE_EXTRA SYSTEM_MALLOC @@ -452,7 +428,6 @@ TERM TIME_WITH_SYS_TIME TIOCSIGSEND TM_IN_SYS_TIME -ULIMIT_BREAK_VALUE UNIX98_PTYS USE_TOOLKIT_SCROLL_BARS USG_SUBTTY_WORKS diff --git a/admin/ChangeLog b/admin/ChangeLog index 279ef4c0ba..7e72e10cd9 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,101 @@ +2013-02-11 Paul Eggert + + Tune by using memchr and memrchr. + * merge-gnulib (GNULIB_MODULES): Add memrchr. + +2013-02-01 Paul Eggert + + Use fdopendir, fstatat and readlinkat, for efficiency (Bug#13539). + * merge-gnulib (GNULIB_MODULES): Add fdopendir, fstatat, readlinkat. + (GNULIB_TOOL_FLAGS): Do not avoid at-internal, openat-h. + Avoid dup, open, opendir. + +2013-01-15 Dmitry Antipov + + * coccinelle/xsave.cocci: Semantic patch to adjust users of + XSAVE_POINTER and XSAVE_INTEGER macros. + +2013-01-03 Glenn Morris + + * check-doc-strings: Update for CVS->bzr, moved lispref/ directory. + + * emacs-pretesters, make-announcement, make-changelog-diff: + Remove files. + +2012-12-14 Paul Eggert + + Fix permissions bugs with setgid directories etc. (Bug#13125) + * CPP-DEFINES (BSD4_2): Remove. + +2012-12-08 Paul Eggert + + Use putenv+unsetenv instead of modifying environ directly (Bug#13070). + * merge-gnulib (GNULIB_MODULES): Add putenv, unsetenv. + + Simplify get_lim_data. + * CPP-DEFINES (ULIMIT_BREAK_VALUE): Remove. + +2012-12-03 Paul Eggert + + Assume POSIX 1003.1-1988 or later for signal.h (Bug#13026). + * CPP-DEFINES (SIGALRM, SIGCHLD, SIGHUP, SIGKILL, SIGPIPE, SIGQUIT): + Remove. + (SIGTRAP): Remove this one too, as config.h no longer defines it. + * merge-gnulib (GNULIB_MODULES): Add sig2str. + +2012-11-24 Ken Brown + + * CPP-DEFINES (HAVE_MOUSE): Remove. + +2012-11-23 Paul Eggert + + Assume POSIX 1003.1-1988 or later for dirent.h (Bug#12958). + * CPP-DEFINES (HAVE_CLOSEDIR, HAVE_DIRENT_H): Remove. + * notes/copyright: Adjust to src/ndir.h -> nt/inc/dirent.h renaming. + +2012-11-21 Paul Eggert + + Assume POSIX 1003.1-1988 or later for unistd.h (Bug#12945). + * CPP-DEFINES (BROKEN_GETWD, HAVE_GETCWD, HAVE_GETWD, HAVE_SIZE_T) + (HAVE_UNISTD_H): Remove. + +2012-11-17 Paul Eggert + + Assume POSIX 1003.1-1988 or later for fcntl.h (Bug#12881). + * CPP-DEFINES (O_RDONLY, O_RDWR, HAVE_FCNTL_H): Remove. + * merge-gnulib (GNULIB_MODULES): Add fcntl-h. + +2012-11-16 Paul Eggert + + Remove no-longer-used pty_max_bytes variable. + * CPP-DEFINES (HAVE_FPATHCONF): Remove. + +2012-11-14 Paul Eggert + + Use faccessat, not access, when checking file permissions (Bug#12632). + * merge-gnulib (GNULIB_MODULES): Add faccessat. + (GNULIB_TOOL_FLAGS): Avoid at-internal, fchdir, malloc-posix, + openat-die, openat-h, save-cwd. Do not avoid fcntl-h. + Omit gnulib's m4/fcntl-o.m4. + +2012-11-05 Paul Eggert + + Assume at least POSIX.1-1988 for getpgrp, setpgid, setsid (Bug#12800). + * CPP-DEFINES (HAVE_SETPGID, HAVE_SETSID, SETPGRP_RELEASES_CTTY): + Remove; obsolete. + + Simplify by assuming __fpending. + * CPP-DEFINES (PENDING_OUTPUT_COUNT): Remove. + +2012-11-03 Glenn Morris + + * admin.el (set-copyright): Add msdos/sed2v2.inp. + +2012-11-01 Paul Eggert + + Fix data-loss with --batch (Bug#9574). + * merge-gnulib (GNULIB_MODULES): Add close-stream. + 2012-10-12 Kenichi Handa * charsets/Makefile (JISC6226.map): Add missing mappings. diff --git a/admin/MAINTAINERS b/admin/MAINTAINERS index 34763083e9..efcc63081b 100644 --- a/admin/MAINTAINERS +++ b/admin/MAINTAINERS @@ -16,9 +16,6 @@ maintainer has been found so far. 1. ============================================================================== -Richard Stallman - ??? - Jason Rumney W32 @@ -71,13 +68,6 @@ Jay Belanger etc/calccard.tex doc/misc/calc.texi -Michael Olson - ERC - lisp/erc/* - etc/ERC-NEWS - doc/misc/erc.texi - lisp/emacs-lisp/tq.el - Bastien Guerry Org lisp/org/* @@ -87,9 +77,6 @@ Bastien Guerry 2. ============================================================================== -Steven Tamm - MacOS - Eli Zaretskii doc/* lispref/* diff --git a/admin/README b/admin/README index 5e410e1045..d696a14176 100644 --- a/admin/README +++ b/admin/README @@ -24,10 +24,6 @@ Instructions to create pretest or release tarballs, announcements, etc. Utilities for setting version numbers and alike. -** make-announcement, make-changelog-diff - -Scripts used to prepare release announcements. - * Scripts that can be used to build and test Emacs. diff --git a/admin/admin.el b/admin/admin.el index b1a9b37a96..e815dfade4 100644 --- a/admin/admin.el +++ b/admin/admin.el @@ -158,6 +158,10 @@ Root must be the root of an Emacs source tree." (set-version-in-file root "configure.ac" copyright (rx (and bol "copyright" (0+ (not (in ?\"))) ?\" (submatch (1+ (not (in ?\")))) ?\"))) + (set-version-in-file root "msdos/sed2v2.inp" copyright + (rx (and bol "/^#undef " (1+ not-newline) + "define COPYRIGHT" (1+ space) + ?\" (submatch (1+ (not (in ?\")))) ?\"))) (set-version-in-file root "nt/config.nt" copyright (rx (and bol "#" (0+ blank) "define" (1+ blank) "COPYRIGHT" (1+ blank) diff --git a/admin/check-doc-strings b/admin/check-doc-strings index ef4b203cd7..c69ff47ebf 100755 --- a/admin/check-doc-strings +++ b/admin/check-doc-strings @@ -17,7 +17,7 @@ formal parameters, docstrings, and lispref texi. This program is in the public domain.\n"; die $usage if @ARGV; -die $usage unless -r "src/alloc.c" && -d "CVS" && -d "lisp"; +die $usage unless -r "src/alloc.c" && -d ".bzr" && -d "lisp"; my %texi_funtype; my %texi_arglist; @@ -197,10 +197,8 @@ sub Check_function { Show_details $show_details, $function, "@parms", $docstring; } -my $lisprefdir; -if (-d "man/lispref") { $lisprefdir = "man/lispref"; } -elsif (-d "lispref") { $lisprefdir = "lispref"; } -else { die "Can't find lispref texi directory.\n"; } +my $lisprefdir = "doc/lispref"; +die "Can't find lispref texi directory.\n" unless -d $lisprefdir; open (FIND, "find $lisprefdir -name '*.texi' -print |") or die; while (my $file = ) { diff --git a/admin/coccinelle/xsave.cocci b/admin/coccinelle/xsave.cocci new file mode 100644 index 0000000000..5172bb55b3 --- /dev/null +++ b/admin/coccinelle/xsave.cocci @@ -0,0 +1,11 @@ +// Adjust users of XSAVE_POINTER and XSAVE_INTEGER. +@@ +expression E; +@@ +( +- XSAVE_POINTER (E) ++ XSAVE_POINTER (E, 0) +| +- XSAVE_INTEGER (E) ++ XSAVE_INTEGER (E, 1) +) diff --git a/admin/emacs-pretesters b/admin/emacs-pretesters deleted file mode 100644 index 3b1270b477..0000000000 --- a/admin/emacs-pretesters +++ /dev/null @@ -1,217 +0,0 @@ -Here are the guidelines for being an Emacs pretester. -If you would like to do this, say so, and I'll add you to -the pretest list. - - - Information for Emacs Pretesters - -The purpose of Emacs pretesting is to verify that the new Emacs -distribution, about to be released, works properly on your system *with -no change whatever*, when installed following the precise -recommendations that come with the Emacs distribution. - -Here are some guidelines on how to do pretesting so as to make it -helpful. All of them follow from common sense together with the -nature of the purpose and the situation. - -Please save this file, and reread it when a new series of pretests -starts. - -* Get the pretest from gnu/emacs/pretest/emacs-MM.0.NN.tar.gz -on alpha.gnu.org. - -* After a few days of testing, if there are no problems, please report -that Emacs works for you and what configuration you are testing it on. - -* If you want to communicate with other pretesters, send mail to -emacs-pretesters@gnu.org. I don't use that mailing list when I send -to you because I've found that mailing lists tend to amplify random -noise into long discussions or even arguments, and that can waste a -lot of time. But when you have a reason to ask other pretesters for -help, you can do it that way. - -* It is absolutely vital that you report even the smallest change or -departure from the standard sources and procedure. - -Otherwise, you are not testing the same program that we asked you to -test. Testing a different program is usually of no use whatever. It -can even cause trouble, if you fail to tell us that you tested some -other program instead of what we are about to release. We might think -that Emacs works, when in fact it has not even been tried, and might -have a glaring fault. - -* Don't use a site-load.el file or a site-init.el file when you pretest. -Using either of those files means you are not testing Emacs as a typical -site would use it. - -Actually, it does no harm to test Emacs with such customizations *as -well as* testing it "out of the box". Anything you do that could find -a bug is useful, as long as you make sure we know exactly what you -did. The important point is that testing with local changes is no -substitute for testing Emacs exactly as it is distributed. - -* Even changing the compilation options counts as a change in the -program. The Emacs sources specify which compilation options to use. -Some of them are specified in makefiles, and some in machine-specific -configuration files. They also give you ways to override this--but if -you do, then you are not testing what ordinary users will do. -Therefore, when pretesting, it is vital to test with the default -compilation options. - -(Testing with a different set of options can be useful *in addition*, -but not *instead of* the default options.) - -* The machine and system configuration files of Emacs are parts of -Emacs. So when you test Emacs, you need to do it with the -configuration files that come with Emacs. - -If Emacs does not come with configuration files for a certain machine, -and you test it with configuration files that don't come with Emacs, -this is effectively changing Emacs. Because the crucial fact about -the planned release is that, without changes, it doesn't work on that -machine. - -To make Emacs work on that machine, we would need to install new -configuration files. That is not out of the question, since it is -safe--it certainly won't break any other machines that already work. -But you will have to rush in the legal papers to give the FSF -permission to use such a large piece of text. - -* Look in the etc/MACHINES file. - -The etc/MACHINES file says which configuration files to use for your -machine, so use the ones that are recommended. If you guess, you might -guess wrong and encounter spurious difficulties. What's more, if you -don't follow etc/MACHINES then you aren't helping to test that its -recommendations are valid. - -The etc/MACHINES file may describe other things that you need to do -to make Emacs work on your machine. If so, you should follow these -recommendations also, for the same reason. - -* Send your problem reports to bug-gnu-emacs@gnu.org. - -Sometimes we won't know what to do about a system-dependent issue, and -we may need people to say what happens if you try a certain thing on a -certain system. When this happens, we'll send out a query. - -* Don't delay sending information. - -When you test on a system and encounter no problems, please report it -right away. That way, we will know that someone has tested Emacs on -that kind of system. - -Please don't wait for several days "to see if it really works before -you say anything." Tell us right away that Emacs seems basically to -work; then, if you notice a problem a few days later, tell us -immediately about that when you see it. - -It is okay if you double check things before reporting a problem, such -as to see if you can easily fix it. But don't wait very long. A good -rule to use in pretesting is always to report every problem on the -same day you encounter it, even if that means you can't find a -solution before you report the problem. - -I'd much rather hear about a problem today and a solution tomorrow -than get both of them tomorrow at the same time. - -* Make each bug report self-contained. - -If you refer back to another message, whether from you or from someone -else, then it will be necessary for anyone who wants to investigate -the bug to find the other message. This may be difficult, it is -probably time-consuming. - -To help save our time, simply copy the relevant parts of any previous -messages into your own bug report. - -In particular, if we ask you for more information because a bug report -was incomplete, it is best to send me the *entire* collection of -relevant information, all together. If you send just the additional -information, that makes extra work for us. There is even a risk that -we won't remember what question you are sending the answer to. - -* When you encounter a bug that manifests itself as a Lisp error, -try setting debug-on-error to t and making the bug happen again. -Then you will get a Lisp backtrace. Including that in your bug report -is very useful. - -* For advice on debugging, see etc/DEBUG. - -* Debugging optimized code is possible, if you compile with GCC, but -in some cases the optimized code can be confusing. If you are not -accustomed to that, recompile Emacs without -O. One way to do this is - - make clean - make CFLAGS=-g - -* Configure tries to figure out what kind of system you have by -compiling and linking programs which calls various functions and looks -at whether that succeeds. The file config.log contains any messages -produced by compilers while running configure, to aid debugging if -configure makes a mistake. But note that config.cache reads: - -# Giving --cache-file=/dev/null disables caching, for debugging configure. - -or more simply, - -rm config.cache -./configure - -* Don't try changing Emacs *in any way* during pretest unless it fails -to work unchanged. - -* Always be precise when talking about changes you have made. Show -things rather than describing them. Use exact filenames (relative to -the main directory of the distribution), not partial ones. For -example, say "I changed Makefile" rather than "I changed the -makefile". Instead of saying "I defined the MUMBLE macro", send a -diff. - -* Always use `diff -c' to make diffs. If you don't include context, it -may be hard for us to figure out where you propose to make the -changes. So we might ignore your patch. - -* When you write a fix, keep in mind that we can't install a change -that *might* break other systems without the risk that it will fail to -work and therefore require an additional cycle of pretesting. - -People often suggest fixing a problem by changing config.h or -src/Makefile to do something special that a particular system needs. -Sometimes it is totally obvious that such changes would break Emacs -for almost all users. We can't possibly make a change like that. All -we can do is ask you to find a fix that is safe to install. - -Sometimes people send fixes that *might* be an improvement in -general--but it is hard to be sure of this. I can install such -changes some of the time, but not during pretest, when I am trying to -get a new version to work reliably as quickly as possible. - -The safest changes for us to install are changes to the s- and m- -files. At least those can't break other systems. - -Another safe kind of change is one that uses a conditional to make -sure it will apply only to a particular kind of system. Ordinarily, -that is a bad way to solve a problem, and I would want to find a -cleaner alternative. But the virtue of safety can make it superior at -pretest time. - -* Don't suggest changes during pretest to add features or make -something cleaner. Every change risks introducing a bug, so I won't -install a change during pretest unless it is *necessary*. - -* If you would like to suggest changes for purposes other than fixing -user-visible bugs, don't wait till pretest time. Instead, send them -after we have made a release that proves to be stable. That is the -easiest time to consider such suggestions. If you send them at -pretest time, we will have to defer them till later, and that might -mean we forget all about them. - -* In some cases, if you don't follow these guidelines, your -information might still be useful, but we would have to do more work -to make use of it. That might cause it to fall by the wayside. - -Local Variables: -mode: text -End: - diff --git a/admin/make-announcement b/admin/make-announcement deleted file mode 100755 index 7d2482fc38..0000000000 --- a/admin/make-announcement +++ /dev/null @@ -1,87 +0,0 @@ -#! /bin/bash - -## Copyright (C) 2002-2013 Free Software Foundation, Inc. - -## Author: Francesco Potorti` - -## This file is part of GNU Emacs. - -## GNU Emacs is free software: you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation, either version 3 of the License, or -## (at your option) any later version. - -## GNU Emacs is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. - -## You should have received a copy of the GNU General Public License -## along with GNU Emacs. If not, see . - - -### Code: - -if [ $# -ne 2 ]; then - echo "usage: $0 " >&2 - exit 1 -fi - -if [ ! -f INSTALL -o ! -f configure -o ! -d lib-src ]; then - echo "this script should be run in the emacs root directory" >&2 - exit 2 -fi - -OLD=$1 -NEW=$2 -outfile=emacs-$NEW.announce -oldtag=EMACS_PRETEST_$(echo $OLD|tr . _) -newtag=EMACS_PRETEST_$(echo $NEW|tr . _) - -if [ -f $outfile ]; then - echo "$outfile exists" - echo -n "interrupt to abort, ENTER to overwrite "; read answer -fi - -echo -n "tag name for OLD emacs version $OLD [$oldtag]: "; read answer -if [ "$answer" ]; then oldtag=$answer; fi - -echo -n "tag name for NEW emacs version $NEW [$newtag]: "; read answer -if [ "$answer" ]; then newtag=$answer; fi - -exec > $outfile - -cat < - -Please report results from compiling and running the pretest to -. Your feedback is necessary for us -to know on which platforms the pretest has been tried. - -If you have the tars from the previous pretest, and you have the -\`xdelta' utility, you can instead download the much smaller - - - -You can use a command like - - $ xdelta patch XDELTA PREVIOUS-TAR CURRENT-TAR - -to generate the new tar from the old one, where XDELTA is the xdelta -file you downloaded, PREVIOUS-TAR is the tar file from the previous -pretest, and CURRENT-TAR is the name of the tar file you downloaded. - -Information about xdelta can be found on the GNU ftp site, in -/non-gnu/xdelta.README. - -Changes since $OLD - -EOF - -make-changelog-diff $oldtag $newtag - -echo " announcement created in $outfile" >&2 - diff --git a/admin/make-changelog-diff b/admin/make-changelog-diff deleted file mode 100755 index 88461131a3..0000000000 --- a/admin/make-changelog-diff +++ /dev/null @@ -1,29 +0,0 @@ -#! /bin/bash - -## Author: Francesco Potorti` - -if [ $# -ne 2 ]; then - echo "usage: $0 TAG1 TAG2" >&2 - exit 1 -fi - -if [ ! -f INSTALL -o ! -f configure -o ! -d lib-src ]; then - echo "this script should be run in the emacs root directory" >&2 - exit 2 -fi - -cvs -q diff -b -r $1 -r $2 $(find -name ChangeLog|sort) | - sed -n -e 's/^=\+/======/p' -e 's/^> //p' -e 's/^diff.*//p' \ - -e 's/^RCS file: .cvsroot.emacs.emacs.\(.*\),v/\1/p' | - sed -n -e "/^======$/ { - N - N - h - d - } - H - s/.*// - x - s/^\n// - p" - diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt index eda28b639d..3825ac4927 100644 --- a/admin/make-tarball.txt +++ b/admin/make-tarball.txt @@ -2,41 +2,66 @@ Instructions to create pretest or release tarballs. -- originally written by Gerd Moellmann, amended by Francesco Potortì with the initial help of Eli Zaretskii -For each step, check for possible errors. + +Steps to take before starting on the first pretest in any release sequence: + +1. Decide on versions of automake and autoconf, and ensure you will + have them available for the duration of the release process. + +2. Consider increasing the value of the variable + `customize-changed-options-previous-release' in cus-edit.el to + refer to a newer version of Emacs. (This is probably needed only + when preparing the first pretest for a major Emacs release.) + Commit cus-edit.el if changed. + + +General steps (for each step, check for possible errors): 1. `bzr update' (for a bound branch), or `bzr pull'. - bzr status # check for locally modified files + bzr status # check for locally modified files 2. Bootstrap to make 100% sure all elc files are up-to-date, and to make sure that the later tagged version will bootstrap, should it be necessary to check it out. -3. Regenerate Emacs' etc/AUTHORS file (M-x load-file RET - lisp/emacs-lisp/authors.el RET, then M-x authors RET, then save - the *Authors* buffer). This may require fixing syntactically - incorrect ChangeLog entries beforehand. +3. Regenerate the etc/AUTHORS file: + M-: (require 'authors) RET + M-x authors RET + + There is almost guaranteed to be an "*Authors Errors*" buffer with + problems caused by certain bad ChangeLog entries. You can ignore + the very old ones (eg lisp/erc has a lot). If there are errors + related to new entries (especially entries that are new since the + last pretest), see if you can fix them. If there was a ChangeLog + typo, fix it. If a file was deleted or renamed, consider adding + an appropriate entry to authors-ignored-files, authors-valid-file-names, + or authors-renamed-files-alist. + + If necessary, repeat M-x authors after making those changes. + Save the "*Authors*" buffer as etc/AUTHORS. + Check the diff looks reasonable. Maybe add entries to + authors-ambiguous-files or authors-aliases, and repeat. + Commit any fixes to ChangeLogs or authors.el. 4. Set the version number (M-x load-file RET admin/admin.el RET, then - M-x set-version RET). For a release, add released change log + M-x set-version RET). For a release, add released ChangeLog entries (M-x add-release-logs RET). For a pretest, start at version .90. After .99, use .990 (so that it sorts). - If needed, increment the value of the variable - `customize-changed-options-previous-release' in cus-edit.el to - refer to a newer release of Emacs. (This is probably needed only - when preparing a major Emacs release, or branching for it.) - 5. autoreconf -i -I m4 --force make bootstrap -6. Commit etc/AUTHORS, all the files changed by M-x set-version, and - lisp/cus-edit.el (if modified). - Copy lisp/loaddefs.el to lisp/ldefs-boot.el and commit lisp/ldefs-boot.el. +6. Copy lisp/loaddefs.el to lisp/ldefs-boot.el. + + Commit etc/AUTHORS, lisp/ldefs-boot.el, and the files changed + by M-x set-version. For a release, also commit the ChangeLog files in all directories. -7. make-dist --snapshot. Check the contents of the new tar with +7. ./make-dist --snapshot --no-compress + + Check the contents of the new tar with admin/diff-tar-files against an older tar file. Some old pretest tarballs may be found at ; old release tarballs are at . @@ -46,17 +71,15 @@ For each step, check for possible errors. something like `find . | sort' in a clean bzr tree, and compare the results against the new tar contents. -8. xdelta delta emacs-OLD.tar.gz emacs-NEW.tar.gz emacs-OLD-NEW.xdelta - -9. tar -zxf emacs-NEW.tar.gz; cd emacs-NEW - ./configure && make && make -n install +8. tar -xf emacs-NEW.tar; cd emacs-NEW + ./configure --prefix=/tmp/emacs && make && make install Use `script' or M-x compile to save the compilation log in compile-NEW.log and compare it against an old one. The easiest way to do that is to visit the old log in Emacs, change the version number of the old Emacs to __, do the same with the new log and do M-x ediff. Especially check that Info files aren't built. -10. cd EMACS_ROOT_DIR; bzr tag TAG +9. cd EMACS_ROOT_DIR && bzr tag TAG TAG is emacs-XX.Y.ZZ for a pretest, emacs-XX.Y for a release. Shortly before the release, cut the version branch also, and open @@ -64,17 +87,37 @@ For each step, check for possible errors. be sent to the emacs-diffs mailing list (by default, the list normally only gets commits to the trunk). -11. Now you should upload the files to the GNU ftp server. In order to +10. Decide what compression schemes to offer. + For a release, at least gz and xz: + gzip --best -c emacs-NEW.tar > emacs-NEW.tar.gz + xz -c emacs-NEW.tar > emacs-NEW.tar.xz + + Now you should upload the files to the GNU ftp server. In order to do that, you must be registered as an Emacs maintainer and have your - GPG key acknowledged by the ftp people. Mail - for instructions. + GPG key acknowledged by the ftp people. For instructions, see + http://www.gnu.org/prep/maintain/html_node/Automated-Upload-Registration.html + The simplest method is to use the gnulib + script "build-aux/gnupload" to upload each FILE, like this: + + For a pretest: + gnupload [--user your@gpg.key.email] --to alpha.gnu.org:emacs/pretest \ + FILE.gz FILE.xz ... + + For a release: + gnupload [--user your@gpg.key.email] --to ftp.gnu.org:emacs \ + FILE.gz FILE.xz ... + + You only need the --user part if you have multiple GPG keys and do + not want to use the default. + Obviously, if you do not have a fast uplink, be prepared for the + upload to take a while. - You can use the gnupload script to upload each FILE, like this: - gnupload --to alpha.gnu.org:emacs/pretest FILE (for a pretest) - gnupload --to ftp.gnu.org:emacs FILE (for a release) - Instead of using gnupload, for each FILE, create a detached GPG - binary signature and a clearsigned directive file like this: + If you prefer to do it yourself rather than use gnupload: + + For each FILE, create a detached GPG binary signature and a + clearsigned directive file like this: + gpg -b FILE echo directory: emacs/pretest > FILE.directive (for a pretest) echo directory: emacs > FILE.directive (for a release) @@ -85,16 +128,17 @@ For each step, check for possible errors. For a pretest, place the files in /incoming/alpha instead, so that they appear on ftp://alpha.gnu.org/. - For a release, upload a bz2 tarfile as well; this can save a lot - of bandwidth. - -12. After five minutes, verify that the files are visible at - ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, at +11. After five minutes, verify that the files are visible at + ftp://alpha.gnu.org/gnu/emacs/pretest/ for a pretest, or ftp://ftp.gnu.org/gnu/emacs/ for a release. -13. For a pretest, announce it on emacs-devel and BCC the pretesters. - For a release, announce it on info-gnu@gnu.org, - info-gnu-emacs@gnu.org, and emacs-devel. + Download them and check the signatures. Check they build. + +12. For a pretest, announce it on emacs-devel and info-gnu-emacs@gnu.org. + For a release, also announce it on info-gnu@gnu.org. (Probably + bcc the info- addresses to make it less likely that people will + followup on those lists.) -14. For a release, update the Emacs homepage in the web repository. +13. For a release, update the Emacs homepage in the web repository. Also add the new NEWS file as NEWS.xx.y. + Maybe regenerate the html manuals, update the FAQ, etc, etc. diff --git a/admin/merge-gnulib b/admin/merge-gnulib index 9a722b5bd8..b43f2bd9bb 100755 --- a/admin/merge-gnulib +++ b/admin/merge-gnulib @@ -27,21 +27,25 @@ GNULIB_URL=git://git.savannah.gnu.org/gnulib.git GNULIB_MODULES=' alloca-opt c-ctype c-strcase - careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 - dtoastr dtotimespec dup2 environ execinfo - filemode getloadavg getopt-gnu gettime gettimeofday + careadlinkat close-stream crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 + dtoastr dtotimespec dup2 environ execinfo faccessat + fcntl-h fdopendir filemode fstatat getloadavg getopt-gnu gettime gettimeofday ignore-value intprops largefile lstat - manywarnings mktime pselect pthread_sigmask readlink - socklen stat-time stdalign stdarg stdbool stdio + manywarnings memrchr mktime + pselect pthread_sigmask putenv readlink readlinkat + sig2str socklen stat-time stdalign stdarg stdbool stdio strftime strtoimax strtoumax symlink sys_stat - sys_time time timer-time timespec-add timespec-sub utimens + sys_time time timer-time timespec-add timespec-sub unsetenv utimens warnings ' GNULIB_TOOL_FLAGS=' - --avoid=errno --avoid=fcntl --avoid=fcntl-h --avoid=fstat - --avoid=msvc-inval --avoid=msvc-nothrow - --avoid=raise --avoid=select --avoid=sigprocmask --avoid=sys_types + --avoid=dup + --avoid=errno --avoid=fchdir --avoid=fcntl --avoid=fstat + --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow + --avoid=open --avoid=openat-die --avoid=opendir + --avoid=raise + --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=sys_types --avoid=threadlib --conditional-dependencies --import --no-changelog --no-vc-files --makefile-name=gnulib.mk @@ -85,7 +89,7 @@ test -x "$gnulib_srcdir"/gnulib-tool || { } "$gnulib_srcdir"/gnulib-tool --dir="$src" $GNULIB_TOOL_FLAGS $GNULIB_MODULES && -rm -- "$src"m4/gnulib-cache.m4 "$src"m4/warn-on-use.m4 && +rm -- "$src"m4/fcntl-o.m4 "$src"m4/gnulib-cache.m4 "$src"m4/warn-on-use.m4 && cp -- "$gnulib_srcdir"/build-aux/texinfo.tex "$src"doc/misc && cp -- "$gnulib_srcdir"/build-aux/move-if-change "$src"build-aux && autoreconf -i -I m4 -- ${src:+"$src"} diff --git a/admin/notes/bzr b/admin/notes/bzr index 50eaf3710e..cdcfa7e7e3 100644 --- a/admin/notes/bzr +++ b/admin/notes/bzr @@ -182,6 +182,71 @@ where revision N+1 is the one where file was removed. You could also try `bzr add --file-ids-from', if you have a copy of another branch where file still exists. +* Undoing a commit (uncommitting) + +It is possible to undo/remove a bzr commit (ie, to uncommit). +Only do this if you really, really, need to. For example, if you +somehow made a commit that triggers a bug in bzr itself. +Don't do it because you made a typo in a commit or the log. + +If you do need to do this, do it as soon as possible, because the +longer you leave it, the more work is involved. + +0. First, tell emacs-devel that you are going to do this, and suggest +people not commit anything to the affected branch for the duration. + +In the following, replace USER with your Savannah username, and +BRANCH with the name of the branch. +Let's assume that revno 100 is the bad commit, and that there have +been two more commits after that (because nothing is ever easy). + +1. Ensure your copy of the branch is up-to-date (for a bound +branch, bzr up; for an unbound branch, bzr pull) and has no local +changes (bzr st). + +2. Make a record of the commits you are going to undo: +bzr diff -c 102 > /tmp/102.diff +etc + +Also record the commit message, author, and any --fixes information. + +3. Most Emacs branches are set up to prevent just this kind of thing. +So we need to disable that protection: + +bzr config append_revisions_only=False \ + -d bzr+ssh://USER@bzr.savannah.gnu.org/emacs/BRANCH/ + +4. Undo the commits: +bzr uncommit -r -4 + +This will show the commits it is going to undo, and prompt you to confirm. + +5. If using an unbound branch: +bzr push --overwrite + +6. Now, replay the commits you just undid (obviously, fix whatever it +was in the bad commit that caused the problem): + +patch -p0 < /tmp/100.diff +bzr commit --author ... --fixes ... -F /tmp/100.log +etc + +7. If using an unbound branch: +bzr push + +8. Finally, re-enable the branch protection: +bzr config append_revisions_only=True \ + -d bzr+ssh://USER@bzr.savannah.gnu.org/emacs/BRANCH/ + +9. Tell emacs-devel that it is ok to use the branch again. +Anyone with local changes should back them up before doing anything. + +For a bound branch, bzr up will convert any of the undone commits to a +pending merge. Just bzr revert these away. + +For an unbound branch, bzr pull will complain about diverged branches +and refuse to do anything. Use bzr pull --overwrite. + * Loggerhead Loggerhead is the bzr tool for viewing a repository over http (similar diff --git a/admin/notes/copyright b/admin/notes/copyright index 67a5d0b663..3a404b6967 100644 --- a/admin/notes/copyright +++ b/admin/notes/copyright @@ -380,7 +380,7 @@ Makefile.in does now. src/gmalloc.c - contains numerous copyrights from the GNU C library. Leave them alone. -src/ndir.h +nt/inc/dirent.h - see comments below. This file is OK to be released with Emacs 22, but we may want to revisit it afterwards. @@ -429,7 +429,7 @@ admin/check-doc-strings File says it's in the public domain, but that might not make it so. etc/e/eterm-color.ti -src/ndir.h +nt/inc/dirent.h On legal advice from Matt Norwood, the following comment was added to these files in Feb/Mar 2007: diff --git a/admin/nt/README-ftp-server b/admin/nt/README-ftp-server index 16d8887ed5..5983a0f961 100644 --- a/admin/nt/README-ftp-server +++ b/admin/nt/README-ftp-server @@ -288,4 +288,4 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs. If not, see . +along with GNU Emacs. If not, see http://www.gnu.org/licenses/. diff --git a/autogen/Makefile.in b/autogen/Makefile.in index 98c8ab0885..65d3880c02 100644 --- a/autogen/Makefile.in +++ b/autogen/Makefile.in @@ -15,7 +15,7 @@ @SET_MAKE@ -# Copyright (C) 2002-2012 Free Software Foundation, Inc. +# Copyright (C) 2002-2013 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -36,7 +36,7 @@ # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=errno --avoid=fcntl --avoid=fcntl-h --avoid=fstat --avoid=msvc-inval --avoid=msvc-nothrow --avoid=raise --avoid=select --avoid=sigprocmask --avoid=sys_types --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt c-ctype c-strcase careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo filemode getloadavg getopt-gnu gettime gettimeofday ignore-value intprops largefile lstat manywarnings mktime pselect pthread_sigmask readlink socklen stat-time stdalign stdarg stdbool stdio strftime strtoimax strtoumax symlink sys_stat sys_time time timer-time timespec-add timespec-sub utimens warnings +# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=dup --avoid=errno --avoid=fchdir --avoid=fcntl --avoid=fstat --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow --avoid=open --avoid=openat-die --avoid=opendir --avoid=raise --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=sys_types --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt c-ctype c-strcase careadlinkat close-stream crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo faccessat fcntl-h fdopendir filemode fstatat getloadavg getopt-gnu gettime gettimeofday ignore-value intprops largefile lstat manywarnings memrchr mktime pselect pthread_sigmask putenv readlink readlinkat sig2str socklen stat-time stdalign stdarg stdbool stdio strftime strtoimax strtoumax symlink sys_stat sys_time time timer-time timespec-add timespec-sub unsetenv utimens warnings VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ @@ -64,31 +64,40 @@ subdir = lib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/alloca.m4 $(top_srcdir)/m4/c-strtod.m4 \ - $(top_srcdir)/m4/clock_time.m4 $(top_srcdir)/m4/dup2.m4 \ - $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/execinfo.m4 \ + $(top_srcdir)/m4/clock_time.m4 \ + $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/dirent_h.m4 \ + $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/environ.m4 \ + $(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/execinfo.m4 \ $(top_srcdir)/m4/extensions.m4 \ - $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/filemode.m4 \ - $(top_srcdir)/m4/getloadavg.m4 $(top_srcdir)/m4/getopt.m4 \ - $(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \ + $(top_srcdir)/m4/extern-inline.m4 \ + $(top_srcdir)/m4/faccessat.m4 $(top_srcdir)/m4/fcntl_h.m4 \ + $(top_srcdir)/m4/fdopendir.m4 $(top_srcdir)/m4/filemode.m4 \ + $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fstatat.m4 \ + $(top_srcdir)/m4/getgroups.m4 $(top_srcdir)/m4/getloadavg.m4 \ + $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettime.m4 \ + $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ $(top_srcdir)/m4/gnulib-comp.m4 \ + $(top_srcdir)/m4/group-member.m4 \ $(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inttypes.m4 \ $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/manywarnings.m4 \ - $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/mktime.m4 \ - $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nocrash.m4 \ - $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/pathmax.m4 \ - $(top_srcdir)/m4/pselect.m4 \ - $(top_srcdir)/m4/pthread_sigmask.m4 \ - $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/sha1.m4 \ + $(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memrchr.m4 \ + $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/multiarch.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ + $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/pselect.m4 \ + $(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \ + $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \ + $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sha1.m4 \ $(top_srcdir)/m4/sha256.m4 $(top_srcdir)/m4/sha512.m4 \ - $(top_srcdir)/m4/signal_h.m4 $(top_srcdir)/m4/socklen.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/st_dm_mode.m4 \ - $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \ - $(top_srcdir)/m4/stdalign.m4 $(top_srcdir)/m4/stdarg.m4 \ - $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \ - $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \ - $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strftime.m4 \ + $(top_srcdir)/m4/sig2str.m4 $(top_srcdir)/m4/signal_h.m4 \ + $(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/ssize_t.m4 \ + $(top_srcdir)/m4/st_dm_mode.m4 $(top_srcdir)/m4/stat-time.m4 \ + $(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdalign.m4 \ + $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \ + $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ + $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ + $(top_srcdir)/m4/strftime.m4 $(top_srcdir)/m4/string_h.m4 \ $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtoll.m4 \ $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \ $(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_select_h.m4 \ @@ -111,18 +120,20 @@ libgnu_a_AR = $(AR) $(ARFLAGS) am__DEPENDENCIES_1 = am__libgnu_a_SOURCES_DIST = allocator.c c-ctype.h c-ctype.c \ c-strcase.h c-strcasecmp.c c-strncasecmp.c careadlinkat.c \ - md5.c sha1.c sha256.c sha512.c dtoastr.c dtotimespec.c \ - filemode.c gettext.h gettime.c stat-time.c strftime.c \ - timespec.c timespec-add.c timespec-sub.c u64.c utimens.c + close-stream.c md5.c sha1.c sha256.c sha512.c dtoastr.c \ + dtotimespec.c filemode.c gettext.h gettime.c stat-time.c \ + strftime.c timespec.c timespec-add.c timespec-sub.c u64.c \ + unistd.c utimens.c openat-die.c save-cwd.c am__objects_1 = am_libgnu_a_OBJECTS = allocator.$(OBJEXT) c-ctype.$(OBJEXT) \ c-strcasecmp.$(OBJEXT) c-strncasecmp.$(OBJEXT) \ - careadlinkat.$(OBJEXT) md5.$(OBJEXT) sha1.$(OBJEXT) \ - sha256.$(OBJEXT) sha512.$(OBJEXT) dtoastr.$(OBJEXT) \ - dtotimespec.$(OBJEXT) filemode.$(OBJEXT) $(am__objects_1) \ - gettime.$(OBJEXT) stat-time.$(OBJEXT) strftime.$(OBJEXT) \ - timespec.$(OBJEXT) timespec-add.$(OBJEXT) \ - timespec-sub.$(OBJEXT) u64.$(OBJEXT) utimens.$(OBJEXT) + careadlinkat.$(OBJEXT) close-stream.$(OBJEXT) md5.$(OBJEXT) \ + sha1.$(OBJEXT) sha256.$(OBJEXT) sha512.$(OBJEXT) \ + dtoastr.$(OBJEXT) dtotimespec.$(OBJEXT) filemode.$(OBJEXT) \ + $(am__objects_1) gettime.$(OBJEXT) stat-time.$(OBJEXT) \ + strftime.$(OBJEXT) timespec.$(OBJEXT) timespec-add.$(OBJEXT) \ + timespec-sub.$(OBJEXT) u64.$(OBJEXT) unistd.$(OBJEXT) \ + utimens.$(OBJEXT) openat-die.$(OBJEXT) save-cwd.$(OBJEXT) libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__depfiles_maybe = depfiles @@ -193,12 +204,15 @@ GCONF_LIBS = @GCONF_LIBS@ GETLOADAVG_LIBS = @GETLOADAVG_LIBS@ GETOPT_H = @GETOPT_H@ GMALLOC_OBJ = @GMALLOC_OBJ@ +GNULIB_ALPHASORT = @GNULIB_ALPHASORT@ GNULIB_ATOLL = @GNULIB_ATOLL@ GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@ GNULIB_CHDIR = @GNULIB_CHDIR@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ +GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ +GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ GNULIB_DUP = @GNULIB_DUP@ GNULIB_DUP2 = @GNULIB_DUP2@ @@ -210,9 +224,13 @@ GNULIB_FCHDIR = @GNULIB_FCHDIR@ GNULIB_FCHMODAT = @GNULIB_FCHMODAT@ GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@ GNULIB_FCLOSE = @GNULIB_FCLOSE@ +GNULIB_FCNTL = @GNULIB_FCNTL@ GNULIB_FDATASYNC = @GNULIB_FDATASYNC@ GNULIB_FDOPEN = @GNULIB_FDOPEN@ +GNULIB_FDOPENDIR = @GNULIB_FDOPENDIR@ GNULIB_FFLUSH = @GNULIB_FFLUSH@ +GNULIB_FFSL = @GNULIB_FFSL@ +GNULIB_FFSLL = @GNULIB_FFSLL@ GNULIB_FGETC = @GNULIB_FGETC@ GNULIB_FGETS = @GNULIB_FGETS@ GNULIB_FOPEN = @GNULIB_FOPEN@ @@ -263,7 +281,25 @@ GNULIB_LINKAT = @GNULIB_LINKAT@ GNULIB_LSEEK = @GNULIB_LSEEK@ GNULIB_LSTAT = @GNULIB_LSTAT@ GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@ +GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@ +GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@ +GNULIB_MBSCHR = @GNULIB_MBSCHR@ +GNULIB_MBSCSPN = @GNULIB_MBSCSPN@ +GNULIB_MBSLEN = @GNULIB_MBSLEN@ +GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@ +GNULIB_MBSNLEN = @GNULIB_MBSNLEN@ +GNULIB_MBSPBRK = @GNULIB_MBSPBRK@ +GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@ +GNULIB_MBSRCHR = @GNULIB_MBSRCHR@ +GNULIB_MBSSEP = @GNULIB_MBSSEP@ +GNULIB_MBSSPN = @GNULIB_MBSSPN@ +GNULIB_MBSSTR = @GNULIB_MBSSTR@ +GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@ GNULIB_MBTOWC = @GNULIB_MBTOWC@ +GNULIB_MEMCHR = @GNULIB_MEMCHR@ +GNULIB_MEMMEM = @GNULIB_MEMMEM@ +GNULIB_MEMPCPY = @GNULIB_MEMPCPY@ +GNULIB_MEMRCHR = @GNULIB_MEMRCHR@ GNULIB_MKDIRAT = @GNULIB_MKDIRAT@ GNULIB_MKDTEMP = @GNULIB_MKDTEMP@ GNULIB_MKFIFO = @GNULIB_MKFIFO@ @@ -276,8 +312,12 @@ GNULIB_MKSTEMP = @GNULIB_MKSTEMP@ GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@ GNULIB_MKTIME = @GNULIB_MKTIME@ GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@ +GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@ GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@ GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@ +GNULIB_OPEN = @GNULIB_OPEN@ +GNULIB_OPENAT = @GNULIB_OPENAT@ +GNULIB_OPENDIR = @GNULIB_OPENDIR@ GNULIB_PCLOSE = @GNULIB_PCLOSE@ GNULIB_PERROR = @GNULIB_PERROR@ GNULIB_PIPE = @GNULIB_PIPE@ @@ -299,7 +339,9 @@ GNULIB_PWRITE = @GNULIB_PWRITE@ GNULIB_RAISE = @GNULIB_RAISE@ GNULIB_RANDOM = @GNULIB_RANDOM@ GNULIB_RANDOM_R = @GNULIB_RANDOM_R@ +GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@ GNULIB_READ = @GNULIB_READ@ +GNULIB_READDIR = @GNULIB_READDIR@ GNULIB_READLINK = @GNULIB_READLINK@ GNULIB_READLINKAT = @GNULIB_READLINKAT@ GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@ @@ -307,9 +349,12 @@ GNULIB_REALPATH = @GNULIB_REALPATH@ GNULIB_REMOVE = @GNULIB_REMOVE@ GNULIB_RENAME = @GNULIB_RENAME@ GNULIB_RENAMEAT = @GNULIB_RENAMEAT@ +GNULIB_REWINDDIR = @GNULIB_REWINDDIR@ GNULIB_RMDIR = @GNULIB_RMDIR@ GNULIB_RPMATCH = @GNULIB_RPMATCH@ +GNULIB_SCANDIR = @GNULIB_SCANDIR@ GNULIB_SCANF = @GNULIB_SCANF@ +GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@ GNULIB_SELECT = @GNULIB_SELECT@ GNULIB_SETENV = @GNULIB_SETENV@ GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@ @@ -322,12 +367,28 @@ GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@ GNULIB_STAT = @GNULIB_STAT@ GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@ GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@ +GNULIB_STPCPY = @GNULIB_STPCPY@ +GNULIB_STPNCPY = @GNULIB_STPNCPY@ +GNULIB_STRCASESTR = @GNULIB_STRCASESTR@ +GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@ +GNULIB_STRDUP = @GNULIB_STRDUP@ +GNULIB_STRERROR = @GNULIB_STRERROR@ +GNULIB_STRERROR_R = @GNULIB_STRERROR_R@ +GNULIB_STRNCAT = @GNULIB_STRNCAT@ +GNULIB_STRNDUP = @GNULIB_STRNDUP@ +GNULIB_STRNLEN = @GNULIB_STRNLEN@ +GNULIB_STRPBRK = @GNULIB_STRPBRK@ GNULIB_STRPTIME = @GNULIB_STRPTIME@ +GNULIB_STRSEP = @GNULIB_STRSEP@ +GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ +GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@ +GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@ +GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ GNULIB_SYMLINK = @GNULIB_SYMLINK@ GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@ GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@ @@ -369,12 +430,16 @@ GTK_LIBS = @GTK_LIBS@ GTK_OBJ = @GTK_OBJ@ GZIP_INFO = @GZIP_INFO@ GZIP_PROG = @GZIP_PROG@ +HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ +HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@ HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@ +HAVE_DECL_FDOPENDIR = @HAVE_DECL_FDOPENDIR@ HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@ HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@ HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@ @@ -388,15 +453,24 @@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ +HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ +HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@ +HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@ +HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@ +HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@ +HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@ +HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@ HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@ +HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@ HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@ HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@ +HAVE_DIRENT_H = @HAVE_DIRENT_H@ HAVE_DPRINTF = @HAVE_DPRINTF@ HAVE_DUP2 = @HAVE_DUP2@ HAVE_DUP3 = @HAVE_DUP3@ @@ -405,7 +479,11 @@ HAVE_FACCESSAT = @HAVE_FACCESSAT@ HAVE_FCHDIR = @HAVE_FCHDIR@ HAVE_FCHMODAT = @HAVE_FCHMODAT@ HAVE_FCHOWNAT = @HAVE_FCHOWNAT@ +HAVE_FCNTL = @HAVE_FCNTL@ HAVE_FDATASYNC = @HAVE_FDATASYNC@ +HAVE_FDOPENDIR = @HAVE_FDOPENDIR@ +HAVE_FFSL = @HAVE_FFSL@ +HAVE_FFSLL = @HAVE_FFSLL@ HAVE_FSEEKO = @HAVE_FSEEKO@ HAVE_FSTATAT = @HAVE_FSTATAT@ HAVE_FSYNC = @HAVE_FSYNC@ @@ -430,6 +508,9 @@ HAVE_LINKAT = @HAVE_LINKAT@ HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@ HAVE_LSTAT = @HAVE_LSTAT@ HAVE_MAKEINFO = @HAVE_MAKEINFO@ +HAVE_MBSLEN = @HAVE_MBSLEN@ +HAVE_MEMCHR = @HAVE_MEMCHR@ +HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ @@ -441,6 +522,8 @@ HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@ HAVE_MKSTEMP = @HAVE_MKSTEMP@ HAVE_MKSTEMPS = @HAVE_MKSTEMPS@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@ +HAVE_OPENAT = @HAVE_OPENAT@ +HAVE_OPENDIR = @HAVE_OPENDIR@ HAVE_OS_H = @HAVE_OS_H@ HAVE_PCLOSE = @HAVE_PCLOSE@ HAVE_PIPE = @HAVE_PIPE@ @@ -458,11 +541,16 @@ HAVE_RAISE = @HAVE_RAISE@ HAVE_RANDOM = @HAVE_RANDOM@ HAVE_RANDOM_H = @HAVE_RANDOM_H@ HAVE_RANDOM_R = @HAVE_RANDOM_R@ +HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@ +HAVE_READDIR = @HAVE_READDIR@ HAVE_READLINK = @HAVE_READLINK@ HAVE_READLINKAT = @HAVE_READLINKAT@ HAVE_REALPATH = @HAVE_REALPATH@ HAVE_RENAMEAT = @HAVE_RENAMEAT@ +HAVE_REWINDDIR = @HAVE_REWINDDIR@ HAVE_RPMATCH = @HAVE_RPMATCH@ +HAVE_SCANDIR = @HAVE_SCANDIR@ +HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ HAVE_SIGACTION = @HAVE_SIGACTION@ @@ -474,13 +562,20 @@ HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@ HAVE_SIGSET_T = @HAVE_SIGSET_T@ HAVE_SLEEP = @HAVE_SLEEP@ HAVE_STDINT_H = @HAVE_STDINT_H@ +HAVE_STPCPY = @HAVE_STPCPY@ +HAVE_STPNCPY = @HAVE_STPNCPY@ +HAVE_STRCASESTR = @HAVE_STRCASESTR@ +HAVE_STRCHRNUL = @HAVE_STRCHRNUL@ +HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ +HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@ HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@ +HAVE_STRVERSCMP = @HAVE_STRVERSCMP@ HAVE_SYMLINK = @HAVE_SYMLINK@ HAVE_SYMLINKAT = @HAVE_SYMLINKAT@ HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@ @@ -529,6 +624,7 @@ LD_SWITCH_SYSTEM = @LD_SWITCH_SYSTEM@ LD_SWITCH_SYSTEM_TEMACS = @LD_SWITCH_SYSTEM_TEMACS@ LD_SWITCH_X_SITE = @LD_SWITCH_X_SITE@ LD_SWITCH_X_SITE_RPATH = @LD_SWITCH_X_SITE_RPATH@ +LIBACL_LIBS = @LIBACL_LIBS@ LIBGIF = @LIBGIF@ LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@ LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@ @@ -561,6 +657,7 @@ LIBXTR6 = @LIBXTR6@ LIBXT_OTHER = @LIBXT_OTHER@ LIBX_OTHER = @LIBX_OTHER@ LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ +LIB_EACCESS = @LIB_EACCESS@ LIB_EXECINFO = @LIB_EXECINFO@ LIB_GCC = @LIB_GCC@ LIB_MATH = @LIB_MATH@ @@ -576,6 +673,8 @@ M17N_FLT_LIBS = @M17N_FLT_LIBS@ MAKEINFO = @MAKEINFO@ MKDEPDIR = @MKDEPDIR@ MKDIR_P = @MKDIR_P@ +NEXT_AS_FIRST_DIRECTIVE_DIRENT_H = @NEXT_AS_FIRST_DIRECTIVE_DIRENT_H@ +NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@ @@ -584,11 +683,14 @@ NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@ NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@ NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@ NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@ +NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@ NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@ NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@ +NEXT_DIRENT_H = @NEXT_DIRENT_H@ +NEXT_FCNTL_H = @NEXT_FCNTL_H@ NEXT_GETOPT_H = @NEXT_GETOPT_H@ NEXT_INTTYPES_H = @NEXT_INTTYPES_H@ NEXT_SIGNAL_H = @NEXT_SIGNAL_H@ @@ -597,6 +699,7 @@ NEXT_STDDEF_H = @NEXT_STDDEF_H@ NEXT_STDINT_H = @NEXT_STDINT_H@ NEXT_STDIO_H = @NEXT_STDIO_H@ NEXT_STDLIB_H = @NEXT_STDLIB_H@ +NEXT_STRING_H = @NEXT_STRING_H@ NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@ NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@ NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@ @@ -634,12 +737,16 @@ REPLACE_CALLOC = @REPLACE_CALLOC@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@ REPLACE_CHOWN = @REPLACE_CHOWN@ REPLACE_CLOSE = @REPLACE_CLOSE@ +REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@ +REPLACE_DIRFD = @REPLACE_DIRFD@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ +REPLACE_FCNTL = @REPLACE_FCNTL@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ +REPLACE_FDOPENDIR = @REPLACE_FDOPENDIR@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FOPEN = @REPLACE_FOPEN@ REPLACE_FPRINTF = @REPLACE_FPRINTF@ @@ -670,6 +777,8 @@ REPLACE_LSEEK = @REPLACE_LSEEK@ REPLACE_LSTAT = @REPLACE_LSTAT@ REPLACE_MALLOC = @REPLACE_MALLOC@ REPLACE_MBTOWC = @REPLACE_MBTOWC@ +REPLACE_MEMCHR = @REPLACE_MEMCHR@ +REPLACE_MEMMEM = @REPLACE_MEMMEM@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKNOD = @REPLACE_MKNOD@ @@ -678,6 +787,9 @@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ +REPLACE_OPEN = @REPLACE_OPEN@ +REPLACE_OPENAT = @REPLACE_OPENAT@ +REPLACE_OPENDIR = @REPLACE_OPENDIR@ REPLACE_PERROR = @REPLACE_PERROR@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_PREAD = @REPLACE_PREAD@ @@ -706,8 +818,20 @@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ +REPLACE_STPNCPY = @REPLACE_STPNCPY@ +REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ +REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ +REPLACE_STRDUP = @REPLACE_STRDUP@ +REPLACE_STRERROR = @REPLACE_STRERROR@ +REPLACE_STRERROR_R = @REPLACE_STRERROR_R@ +REPLACE_STRNCAT = @REPLACE_STRNCAT@ +REPLACE_STRNDUP = @REPLACE_STRNDUP@ +REPLACE_STRNLEN = @REPLACE_STRNLEN@ +REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ +REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@ +REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ @@ -748,6 +872,7 @@ TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@ TOOLKIT_LIBW = @TOOLKIT_LIBW@ UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@ UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@ +UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@ UNEXEC_OBJ = @UNEXEC_OBJ@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@ UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@ @@ -755,6 +880,8 @@ VERSION = @VERSION@ VMLIMIT_OBJ = @VMLIMIT_OBJ@ W32_LIBS = @W32_LIBS@ W32_OBJ = @W32_OBJ@ +W32_RES = @W32_RES@ +W32_RES_LINK = @W32_RES_LINK@ WARN_CFLAGS = @WARN_CFLAGS@ WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@ WERROR_CFLAGS = @WERROR_CFLAGS@ @@ -762,6 +889,7 @@ WIDGET_OBJ = @WIDGET_OBJ@ WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@ WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@ WINDOW_SYSTEM_OBJ = @WINDOW_SYSTEM_OBJ@ +WINDRES = @WINDRES@ WINT_T_SUFFIX = @WINT_T_SUFFIX@ XFT_CFLAGS = @XFT_CFLAGS@ XFT_LIBS = @XFT_LIBS@ @@ -856,52 +984,62 @@ x_default_search_path = @x_default_search_path@ # statements but through direct file reference. Therefore this snippet must be # present in all Makefile.am that need it. This is ensured by the applicability # 'all' defined above. -BUILT_SOURCES = $(ALLOCA_H) $(EXECINFO_H) $(GETOPT_H) inttypes.h \ - signal.h arg-nonnull.h c++defs.h warn-on-use.h $(STDALIGN_H) \ - $(STDARG_H) $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) stdio.h \ - stdlib.h sys/select.h sys/stat.h sys/time.h time.h unistd.h -EXTRA_DIST = alloca.in.h allocator.h careadlinkat.h md5.h sha1.h \ - sha256.h sha512.h dosname.h ftoastr.c ftoastr.h dup2.c \ - execinfo.c execinfo.in.h filemode.h getloadavg.c getopt.c \ - getopt.in.h getopt1.c getopt_int.h gettimeofday.c \ - ignore-value.h intprops.h inttypes.in.h lstat.c \ - mktime-internal.h mktime.c pathmax.h pselect.c \ - pthread_sigmask.c readlink.c signal.in.h \ +BUILT_SOURCES = $(ALLOCA_H) dirent.h $(EXECINFO_H) fcntl.h $(GETOPT_H) \ + inttypes.h signal.h arg-nonnull.h c++defs.h warn-on-use.h \ + $(STDALIGN_H) $(STDARG_H) $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) \ + stdio.h stdlib.h string.h sys/select.h sys/stat.h sys/time.h \ + time.h unistd.h +EXTRA_DIST = alloca.in.h allocator.h openat-priv.h openat-proc.c \ + careadlinkat.h close-stream.h md5.h sha1.h sha256.h sha512.h \ + dirent.in.h dosname.h ftoastr.c ftoastr.h dup2.c euidaccess.c \ + execinfo.c execinfo.in.h at-func.c faccessat.c fcntl.in.h \ + fdopendir.c filemode.h fpending.c fpending.h at-func.c \ + fstatat.c getgroups.c getloadavg.c getopt.c getopt.in.h \ + getopt1.c getopt_int.h gettimeofday.c group-member.c \ + ignore-value.h intprops.h inttypes.in.h lstat.c memrchr.c \ + mktime-internal.h mktime.c openat.h pathmax.h pselect.c \ + pthread_sigmask.c putenv.c readlink.c at-func.c readlinkat.c \ + root-uid.h sig2str.c sig2str.h signal.in.h \ $(top_srcdir)/build-aux/snippet/_Noreturn.h \ $(top_srcdir)/build-aux/snippet/arg-nonnull.h \ $(top_srcdir)/build-aux/snippet/c++defs.h \ $(top_srcdir)/build-aux/snippet/warn-on-use.h stat.c \ stat-time.h stdalign.in.h stdarg.in.h stdbool.in.h stddef.in.h \ - stdint.in.h stdio.in.h stdlib.in.h strftime.h strtoimax.c \ - strtol.c strtoll.c strtol.c strtoul.c strtoull.c strtoimax.c \ - strtoumax.c symlink.c sys_select.in.h sys_stat.in.h \ - sys_time.in.h time.in.h time_r.c timespec.h u64.h unistd.in.h \ - utimens.h verify.h + stdint.in.h stdio.in.h stdlib.in.h strftime.h string.in.h \ + strtoimax.c strtol.c strtoll.c strtol.c strtoul.c strtoull.c \ + strtoimax.c strtoumax.c symlink.c sys_select.in.h \ + sys_stat.in.h sys_time.in.h time.in.h time_r.c timespec.h \ + u64.h unistd.in.h unsetenv.c utimens.h verify.h \ + xalloc-oversized.h MOSTLYCLEANDIRS = sys sys -MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t execinfo.h \ - execinfo.h-t getopt.h getopt.h-t inttypes.h inttypes.h-t \ - signal.h signal.h-t arg-nonnull.h arg-nonnull.h-t c++defs.h \ - c++defs.h-t warn-on-use.h warn-on-use.h-t stdalign.h \ - stdalign.h-t stdarg.h stdarg.h-t stdbool.h stdbool.h-t \ - stddef.h stddef.h-t stdint.h stdint.h-t stdio.h stdio.h-t \ - stdlib.h stdlib.h-t sys/select.h sys/select.h-t sys/stat.h \ - sys/stat.h-t sys/time.h sys/time.h-t time.h time.h-t unistd.h \ - unistd.h-t +MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t dirent.h \ + dirent.h-t execinfo.h execinfo.h-t fcntl.h fcntl.h-t getopt.h \ + getopt.h-t inttypes.h inttypes.h-t signal.h signal.h-t \ + arg-nonnull.h arg-nonnull.h-t c++defs.h c++defs.h-t \ + warn-on-use.h warn-on-use.h-t stdalign.h stdalign.h-t stdarg.h \ + stdarg.h-t stdbool.h stdbool.h-t stddef.h stddef.h-t stdint.h \ + stdint.h-t stdio.h stdio.h-t stdlib.h stdlib.h-t string.h \ + string.h-t sys/select.h sys/select.h-t sys/stat.h sys/stat.h-t \ + sys/time.h sys/time.h-t time.h time.h-t unistd.h unistd.h-t noinst_LIBRARIES = libgnu.a AM_CFLAGS = $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS) DEFAULT_INCLUDES = -I. -I$(top_srcdir)/lib -I../src -I$(top_srcdir)/src libgnu_a_SOURCES = allocator.c c-ctype.h c-ctype.c c-strcase.h \ - c-strcasecmp.c c-strncasecmp.c careadlinkat.c md5.c sha1.c \ - sha256.c sha512.c dtoastr.c dtotimespec.c filemode.c \ - $(am__append_1) gettime.c stat-time.c strftime.c timespec.c \ - timespec-add.c timespec-sub.c u64.c utimens.c + c-strcasecmp.c c-strncasecmp.c careadlinkat.c close-stream.c \ + md5.c sha1.c sha256.c sha512.c dtoastr.c dtotimespec.c \ + filemode.c $(am__append_1) gettime.c stat-time.c strftime.c \ + timespec.c timespec-add.c timespec-sub.c u64.c unistd.c \ + utimens.c openat-die.c save-cwd.c libgnu_a_LIBADD = $(gl_LIBOBJS) libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) -EXTRA_libgnu_a_SOURCES = ftoastr.c dup2.c execinfo.c getloadavg.c \ - getopt.c getopt1.c gettimeofday.c lstat.c mktime.c pselect.c \ - pthread_sigmask.c readlink.c stat.c strtoimax.c strtol.c \ +EXTRA_libgnu_a_SOURCES = openat-proc.c ftoastr.c dup2.c euidaccess.c \ + execinfo.c at-func.c faccessat.c fdopendir.c fpending.c \ + at-func.c fstatat.c getgroups.c getloadavg.c getopt.c \ + getopt1.c gettimeofday.c group-member.c lstat.c memrchr.c \ + mktime.c pselect.c pthread_sigmask.c putenv.c readlink.c \ + at-func.c readlinkat.c sig2str.c stat.c strtoimax.c strtol.c \ strtoll.c strtol.c strtoul.c strtoull.c strtoimax.c \ - strtoumax.c symlink.c time_r.c + strtoumax.c symlink.c time_r.c unsetenv.c # Because this Makefile snippet defines a variable used by other # gnulib Makefile snippets, it must be present in all Makefile.am that @@ -960,30 +1098,46 @@ distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allocator.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/at-func.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-ctype.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strcasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strncasecmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/careadlinkat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close-stream.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dtoastr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dtotimespec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dup2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/euidaccess.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execinfo.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdopendir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filemode.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fpending.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstatat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftoastr.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getloadavg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettimeofday.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/group-member.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memrchr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mktime.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-die.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-proc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pthread_sigmask.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/putenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlink.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlinkat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/save-cwd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha256.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha512.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sig2str.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat-time.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strftime.Po@am__quote@ @@ -999,6 +1153,8 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timespec-sub.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timespec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/u64.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unistd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unsetenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utimens.Po@am__quote@ .c.o: @@ -1227,6 +1383,45 @@ uninstall-am: @GL_GENERATE_ALLOCA_H_FALSE@alloca.h: $(top_builddir)/config.status @GL_GENERATE_ALLOCA_H_FALSE@ rm -f $@ +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +dirent.h: dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''HAVE_DIRENT_H''@|$(HAVE_DIRENT_H)|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \ + -e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \ + -e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \ + -e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \ + -e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \ + -e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \ + -e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \ + -e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \ + -e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \ + -e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \ + -e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \ + -e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \ + -e 's/@''HAVE_CLOSEDIR''@/$(HAVE_CLOSEDIR)/g' \ + -e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \ + -e 's|@''HAVE_DECL_FDOPENDIR''@|$(HAVE_DECL_FDOPENDIR)|g' \ + -e 's|@''HAVE_FDOPENDIR''@|$(HAVE_FDOPENDIR)|g' \ + -e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \ + -e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \ + -e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \ + -e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \ + -e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \ + -e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/dirent.in.h; \ + } > $@-t && \ + mv $@-t $@ + # We need the following in order to create when the system # doesn't have one that works. @GL_GENERATE_EXECINFO_H_TRUE@execinfo.h: execinfo.in.h $(top_builddir)/config.status @@ -1238,6 +1433,32 @@ uninstall-am: @GL_GENERATE_EXECINFO_H_FALSE@execinfo.h: $(top_builddir)/config.status @GL_GENERATE_EXECINFO_H_FALSE@ rm -f $@ +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +fcntl.h: fcntl.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \ + -e 's/@''GNULIB_FCNTL''@/$(GNULIB_FCNTL)/g' \ + -e 's/@''GNULIB_NONBLOCKING''@/$(GNULIB_NONBLOCKING)/g' \ + -e 's/@''GNULIB_OPEN''@/$(GNULIB_OPEN)/g' \ + -e 's/@''GNULIB_OPENAT''@/$(GNULIB_OPENAT)/g' \ + -e 's|@''HAVE_FCNTL''@|$(HAVE_FCNTL)|g' \ + -e 's|@''HAVE_OPENAT''@|$(HAVE_OPENAT)|g' \ + -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \ + -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \ + -e 's|@''REPLACE_OPENAT''@|$(REPLACE_OPENAT)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ + < $(srcdir)/fcntl.in.h; \ + } > $@-t && \ + mv $@-t $@ + # We need the following in order to create when the system # doesn't have one that works with the given compiler. getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) @@ -1595,6 +1816,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \ -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \ -e 's/@''GNULIB_RPMATCH''@/$(GNULIB_RPMATCH)/g' \ + -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \ -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \ -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \ -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \ @@ -1623,6 +1845,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ + -e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \ -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ @@ -1653,6 +1876,97 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ } > $@-t && \ mv $@-t $@ +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) + $(AM_V_GEN)rm -f $@-t $@ && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ + sed -e 's|@''GUARD_PREFIX''@|GL|g' \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \ + -e 's/@''GNULIB_FFSL''@/$(GNULIB_FFSL)/g' \ + -e 's/@''GNULIB_FFSLL''@/$(GNULIB_FFSLL)/g' \ + -e 's/@''GNULIB_MBSLEN''@/$(GNULIB_MBSLEN)/g' \ + -e 's/@''GNULIB_MBSNLEN''@/$(GNULIB_MBSNLEN)/g' \ + -e 's/@''GNULIB_MBSCHR''@/$(GNULIB_MBSCHR)/g' \ + -e 's/@''GNULIB_MBSRCHR''@/$(GNULIB_MBSRCHR)/g' \ + -e 's/@''GNULIB_MBSSTR''@/$(GNULIB_MBSSTR)/g' \ + -e 's/@''GNULIB_MBSCASECMP''@/$(GNULIB_MBSCASECMP)/g' \ + -e 's/@''GNULIB_MBSNCASECMP''@/$(GNULIB_MBSNCASECMP)/g' \ + -e 's/@''GNULIB_MBSPCASECMP''@/$(GNULIB_MBSPCASECMP)/g' \ + -e 's/@''GNULIB_MBSCASESTR''@/$(GNULIB_MBSCASESTR)/g' \ + -e 's/@''GNULIB_MBSCSPN''@/$(GNULIB_MBSCSPN)/g' \ + -e 's/@''GNULIB_MBSPBRK''@/$(GNULIB_MBSPBRK)/g' \ + -e 's/@''GNULIB_MBSSPN''@/$(GNULIB_MBSSPN)/g' \ + -e 's/@''GNULIB_MBSSEP''@/$(GNULIB_MBSSEP)/g' \ + -e 's/@''GNULIB_MBSTOK_R''@/$(GNULIB_MBSTOK_R)/g' \ + -e 's/@''GNULIB_MEMCHR''@/$(GNULIB_MEMCHR)/g' \ + -e 's/@''GNULIB_MEMMEM''@/$(GNULIB_MEMMEM)/g' \ + -e 's/@''GNULIB_MEMPCPY''@/$(GNULIB_MEMPCPY)/g' \ + -e 's/@''GNULIB_MEMRCHR''@/$(GNULIB_MEMRCHR)/g' \ + -e 's/@''GNULIB_RAWMEMCHR''@/$(GNULIB_RAWMEMCHR)/g' \ + -e 's/@''GNULIB_STPCPY''@/$(GNULIB_STPCPY)/g' \ + -e 's/@''GNULIB_STPNCPY''@/$(GNULIB_STPNCPY)/g' \ + -e 's/@''GNULIB_STRCHRNUL''@/$(GNULIB_STRCHRNUL)/g' \ + -e 's/@''GNULIB_STRDUP''@/$(GNULIB_STRDUP)/g' \ + -e 's/@''GNULIB_STRNCAT''@/$(GNULIB_STRNCAT)/g' \ + -e 's/@''GNULIB_STRNDUP''@/$(GNULIB_STRNDUP)/g' \ + -e 's/@''GNULIB_STRNLEN''@/$(GNULIB_STRNLEN)/g' \ + -e 's/@''GNULIB_STRPBRK''@/$(GNULIB_STRPBRK)/g' \ + -e 's/@''GNULIB_STRSEP''@/$(GNULIB_STRSEP)/g' \ + -e 's/@''GNULIB_STRSTR''@/$(GNULIB_STRSTR)/g' \ + -e 's/@''GNULIB_STRCASESTR''@/$(GNULIB_STRCASESTR)/g' \ + -e 's/@''GNULIB_STRTOK_R''@/$(GNULIB_STRTOK_R)/g' \ + -e 's/@''GNULIB_STRERROR''@/$(GNULIB_STRERROR)/g' \ + -e 's/@''GNULIB_STRERROR_R''@/$(GNULIB_STRERROR_R)/g' \ + -e 's/@''GNULIB_STRSIGNAL''@/$(GNULIB_STRSIGNAL)/g' \ + -e 's/@''GNULIB_STRVERSCMP''@/$(GNULIB_STRVERSCMP)/g' \ + < $(srcdir)/string.in.h | \ + sed -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \ + -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \ + -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \ + -e 's|@''HAVE_MEMCHR''@|$(HAVE_MEMCHR)|g' \ + -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ + -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ + -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ + -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ + -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ + -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ + -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \ + -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \ + -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \ + -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \ + -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \ + -e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \ + -e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \ + -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \ + -e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \ + -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \ + -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \ + -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ + -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ + -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ + -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \ + -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \ + -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ + -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \ + -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \ + -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \ + -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \ + -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \ + -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \ + -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ + -e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \ + -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \ + -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ + -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \ + < $(srcdir)/string.in.h; \ + } > $@-t && \ + mv $@-t $@ + # We need the following in order to create when the system # doesn't have one that works with the given compiler. sys/select.h: sys_select.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) diff --git a/autogen/aclocal.m4 b/autogen/aclocal.m4 index 0bc91e263c..8065a9e643 100644 --- a/autogen/aclocal.m4 +++ b/autogen/aclocal.m4 @@ -988,18 +988,28 @@ m4_include([m4/00gnulib.m4]) m4_include([m4/alloca.m4]) m4_include([m4/c-strtod.m4]) m4_include([m4/clock_time.m4]) +m4_include([m4/close-stream.m4]) +m4_include([m4/dirent_h.m4]) m4_include([m4/dup2.m4]) m4_include([m4/environ.m4]) +m4_include([m4/euidaccess.m4]) m4_include([m4/execinfo.m4]) m4_include([m4/extensions.m4]) m4_include([m4/extern-inline.m4]) +m4_include([m4/faccessat.m4]) +m4_include([m4/fcntl_h.m4]) +m4_include([m4/fdopendir.m4]) m4_include([m4/filemode.m4]) +m4_include([m4/fpending.m4]) +m4_include([m4/fstatat.m4]) +m4_include([m4/getgroups.m4]) m4_include([m4/getloadavg.m4]) m4_include([m4/getopt.m4]) m4_include([m4/gettime.m4]) m4_include([m4/gettimeofday.m4]) m4_include([m4/gnulib-common.m4]) m4_include([m4/gnulib-comp.m4]) +m4_include([m4/group-member.m4]) m4_include([m4/include_next.m4]) m4_include([m4/inttypes.m4]) m4_include([m4/largefile.m4]) @@ -1007,6 +1017,7 @@ m4_include([m4/longlong.m4]) m4_include([m4/lstat.m4]) m4_include([m4/manywarnings.m4]) m4_include([m4/md5.m4]) +m4_include([m4/memrchr.m4]) m4_include([m4/mktime.m4]) m4_include([m4/multiarch.m4]) m4_include([m4/nocrash.m4]) @@ -1014,10 +1025,14 @@ m4_include([m4/off_t.m4]) m4_include([m4/pathmax.m4]) m4_include([m4/pselect.m4]) m4_include([m4/pthread_sigmask.m4]) +m4_include([m4/putenv.m4]) m4_include([m4/readlink.m4]) +m4_include([m4/readlinkat.m4]) +m4_include([m4/setenv.m4]) m4_include([m4/sha1.m4]) m4_include([m4/sha256.m4]) m4_include([m4/sha512.m4]) +m4_include([m4/sig2str.m4]) m4_include([m4/signal_h.m4]) m4_include([m4/socklen.m4]) m4_include([m4/ssize_t.m4]) @@ -1032,6 +1047,7 @@ m4_include([m4/stdint.m4]) m4_include([m4/stdio_h.m4]) m4_include([m4/stdlib_h.m4]) m4_include([m4/strftime.m4]) +m4_include([m4/string_h.m4]) m4_include([m4/strtoimax.m4]) m4_include([m4/strtoll.m4]) m4_include([m4/strtoull.m4]) diff --git a/autogen/config.in b/autogen/config.in index 95aed317c5..0492fc2011 100644 --- a/autogen/config.in +++ b/autogen/config.in @@ -50,18 +50,12 @@ along with GNU Emacs. If not, see . */ /* Define to the number of bits in type 'wint_t'. */ #undef BITSIZEOF_WINT_T -/* Define if getwd should not be used. */ -#undef BROKEN_GETWD - /* Define if get_current_dir_name should not be used. */ #undef BROKEN_GET_CURRENT_DIR_NAME /* Define on FreeBSD to work around an issue when reading from a PTY. */ #undef BROKEN_PTY_READ_AFTER_EAGAIN -/* Define if the system is compatible with BSD 4.2. */ -#undef BSD4_2 - /* Define if the system is compatible with BSD 4.2. */ #undef BSD_SYSTEM @@ -114,9 +108,6 @@ along with GNU Emacs. If not, see . */ /* Character that separates directories in a file name. */ #undef DIRECTORY_SEP -/* Define if dispnew.c should include stdio_ext.h. */ -#undef DISPNEW_NEEDS_STDIO_EXT - /* Define if process.c does not need to close a pty to make it a controlling terminal (it is already a controlling terminal of the subprocess, because we did ioctl TIOCSCTTY). */ @@ -169,16 +160,17 @@ along with GNU Emacs. If not, see . */ /* Mark a secondary stack, like the register stack on the ia64. */ #undef GC_MARK_SECONDARY_STACK -/* Define to GC_USE_GCPROS_AS_BEFORE if conservative garbage collection is not - known to work. */ -#undef GC_MARK_STACK - /* Define if setjmp is known to save all registers relevant for conservative garbage collection in the jmp_buf. */ #undef GC_SETJMP_WORKS -/* Define to 1 if the `getpgrp' function requires zero arguments. */ -#undef GETPGRP_VOID +/* Define to the type of elements in the array set by `getgroups'. Usually + this is either `int' or `gid_t'. */ +#undef GETGROUPS_T + +/* Define this to 1 if getgroups(0,NULL) does not return the number of groups. + */ +#undef GETGROUPS_ZERO_BUG /* Define if gettimeofday clobbers the localtime buffer. */ #undef GETTIMEOFDAY_CLOBBERS_LOCALTIME @@ -190,6 +182,18 @@ along with GNU Emacs. If not, see . */ /* Define this to enable glyphs debugging code. */ #undef GLYPH_DEBUG +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module close-stream shall be considered present. */ +#undef GNULIB_CLOSE_STREAM + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module faccessat shall be considered present. */ +#undef GNULIB_FACCESSAT + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module fdopendir shall be considered present. */ +#undef GNULIB_FDOPENDIR + /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module fscanf shall be considered present. */ #undef GNULIB_FSCANF @@ -211,6 +215,9 @@ along with GNU Emacs. If not, see . */ startup, if using GTK. */ #undef G_SLICE_ALWAYS_MALLOC +/* Define to 1 if you have the `access' function. */ +#undef HAVE_ACCESS + /* Define to 1 if the file /usr/lpp/X11/bin/smt.exp exists. */ #undef HAVE_AIX_SMT_EXP @@ -243,9 +250,6 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have the `clock_settime' function. */ #undef HAVE_CLOCK_SETTIME -/* Define to 1 if you have the `closedir' function. */ -#undef HAVE_CLOSEDIR - /* Define to 1 if you have the header file. */ #undef HAVE_COFF_H @@ -276,6 +280,10 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have the `dbus_watch_get_unix_fd' function. */ #undef HAVE_DBUS_WATCH_GET_UNIX_FD +/* Define to 1 if you have the declaration of `fdopendir', and to 0 if you + don't. */ +#undef HAVE_DECL_FDOPENDIR + /* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. */ #undef HAVE_DECL_GETENV @@ -284,6 +292,10 @@ along with GNU Emacs. If not, see . */ don't. */ #undef HAVE_DECL_LOCALTIME_R +/* Define to 1 if you have the declaration of `memrchr', and to 0 if you + don't. */ +#undef HAVE_DECL_MEMRCHR + /* Define to 1 if you have the declaration of `strmode', and to 0 if you don't. */ #undef HAVE_DECL_STRMODE @@ -312,6 +324,14 @@ along with GNU Emacs. If not, see . */ */ #undef HAVE_DECL_TZNAME +/* Define to 1 if you have the declaration of `unsetenv', and to 0 if you + don't. */ +#undef HAVE_DECL_UNSETENV + +/* Define to 1 if you have the declaration of `__fpending', and to 0 if you + don't. */ +#undef HAVE_DECL___FPENDING + /* Define to 1 if you have the declaration of `__sys_siglist', and to 0 if you don't. */ #undef HAVE_DECL___SYS_SIGLIST @@ -331,6 +351,9 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have the 'dup2' function. */ #undef HAVE_DUP2 +/* Define to 1 if you have the `eaccess' function. */ +#undef HAVE_EACCESS + /* Define to 1 if you have the `endgrent' function. */ #undef HAVE_ENDGRENT @@ -346,15 +369,15 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have the header file. */ #undef HAVE_EXECINFO_H -/* Define to 1 if you have the header file. */ -#undef HAVE_FCNTL_H +/* Define to 1 if you have the `faccessat' function. */ +#undef HAVE_FACCESSAT + +/* Define to 1 if you have the `fdopendir' function. */ +#undef HAVE_FDOPENDIR /* Define to 1 if you have the `fork' function. */ #undef HAVE_FORK -/* Define to 1 if you have the `fpathconf' function. */ -#undef HAVE_FPATHCONF - /* Define to 1 if you have the `freeifaddrs' function. */ #undef HAVE_FREEIFADDRS @@ -364,6 +387,9 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #undef HAVE_FSEEKO +/* Define to 1 if you have the `fstatat' function. */ +#undef HAVE_FSTATAT + /* Define to 1 if you have the `fsync' function. */ #undef HAVE_FSYNC @@ -385,15 +411,15 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have the `getaddrinfo' function. */ #undef HAVE_GETADDRINFO -/* Define to 1 if you have the `getcwd' function. */ -#undef HAVE_GETCWD - /* Define to 1 if you have the `getdelim' function. */ #undef HAVE_GETDELIM /* Define to 1 if you have the `getgrent' function. */ #undef HAVE_GETGRENT +/* Define to 1 if your system has a working `getgroups' function. */ +#undef HAVE_GETGROUPS + /* Define to 1 if you have the `gethostname' function. */ #undef HAVE_GETHOSTNAME @@ -433,9 +459,6 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY -/* Define to 1 if you have the `getwd' function. */ -#undef HAVE_GETWD - /* Define to 1 if you have the `get_current_dir_name' function. */ #undef HAVE_GET_CURRENT_DIR_NAME @@ -473,12 +496,18 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have the `gtk_file_selection_new' function. */ #undef HAVE_GTK_FILE_SELECTION_NEW +/* Define to 1 if you have the `gtk_handle_box_new' function. */ +#undef HAVE_GTK_HANDLE_BOX_NEW + /* Define to 1 if you have the `gtk_main' function. */ #undef HAVE_GTK_MAIN /* Define to 1 if you have the `gtk_orientable_set_orientation' function. */ #undef HAVE_GTK_ORIENTABLE_SET_ORIENTATION +/* Define to 1 if you have the `gtk_tearoff_menu_item_new' function. */ +#undef HAVE_GTK_TEAROFF_MENU_ITEM_NEW + /* Define to 1 if you have the `gtk_widget_get_mapped' function. */ #undef HAVE_GTK_WIDGET_GET_MAPPED @@ -509,6 +538,9 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have inet sockets. */ #undef HAVE_INET_SOCKETS +/* Define to 1 to use inotify. */ +#undef HAVE_INOTIFY + /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H @@ -560,6 +592,9 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have the `dnet' library (-ldnet). */ #undef HAVE_LIBDNET +/* Define to 1 if you have the header file. */ +#undef HAVE_LIBGEN_H + /* Define to 1 if you have the hesiod library (-lhesiod). */ #undef HAVE_LIBHESIOD @@ -662,6 +697,9 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H +/* Define to 1 if you have the `memrchr' function. */ +#undef HAVE_MEMRCHR + /* Define to 1 if you have mouse menus. (This is automatic if you use X, but the option to specify it remains.) It is also defined with other window systems that support xmenu.c. */ @@ -673,9 +711,6 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have a working `mmap' system call. */ #undef HAVE_MMAP -/* Define if you have mouse support. */ -#undef HAVE_MOUSE - /* Define to 1 if you have the `nanotime' function. */ #undef HAVE_NANOTIME @@ -707,6 +742,9 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have the header file. */ #undef HAVE_PNG_H +/* Define to 1 if using POSIX ACL support. */ +#undef HAVE_POSIX_ACL + /* Define to 1 if you have the `posix_memalign' function. */ #undef HAVE_POSIX_MEMALIGN @@ -773,18 +811,15 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE -/* Define to 1 if you have the `setpgid' function. */ -#undef HAVE_SETPGID - /* Define to 1 if you have the `setrlimit' function. */ #undef HAVE_SETRLIMIT -/* Define to 1 if you have the `setsid' function. */ -#undef HAVE_SETSID - /* Define to 1 if you have the `shutdown' function. */ #undef HAVE_SHUTDOWN +/* Define to 1 if you have the `sig2str' function. */ +#undef HAVE_SIG2STR + /* Define to 1 if 'sig_atomic_t' is a signed integer type. */ #undef HAVE_SIGNED_SIG_ATOMIC_T @@ -907,6 +942,9 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_BITYPES_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_INOTIFY_H + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_INTTYPES_H @@ -984,6 +1022,9 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H +/* Define to 1 if you have the `unsetenv' function. */ +#undef HAVE_UNSETENV + /* Define to 1 if the system has the type 'unsigned long long int'. */ #undef HAVE_UNSIGNED_LONG_LONG_INT @@ -1023,6 +1064,10 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if `fork' works. */ #undef HAVE_WORKING_FORK +/* Define to 1 if fstatat (..., 0) works. For example, it does not work in AIX + 7.1. */ +#undef HAVE_WORKING_FSTATAT_ZERO_FLAG + /* Define if utimes works properly. */ #undef HAVE_WORKING_UTIMES @@ -1206,8 +1251,8 @@ along with GNU Emacs. If not, see . */ /* Define to the version of this package. */ #undef PACKAGE_VERSION -/* Number of chars of output in the buffer of a stdio stream. */ -#undef PENDING_OUTPUT_COUNT +/* the number of pending output bytes on stream 'fp' */ +#undef PENDING_OUTPUT_N_BYTES /* Define to empty to suppress deprecation warnings when building with --enable-gcc-warnings and with libpng versions before 1.5, which lack @@ -1264,9 +1309,6 @@ along with GNU Emacs. If not, see . */ /* Character that separates PATH elements. */ #undef SEPCHAR -/* Define if process.c:child_setup should not call setpgrp. */ -#undef SETPGRP_RELEASES_CTTY - /* How to set up a slave PTY, if needed. */ #undef SETUP_SLAVE_PTY @@ -1332,9 +1374,6 @@ along with GNU Emacs. If not, see . */ timespec. */ #undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC -/* Undocumented. */ -#undef ULIMIT_BREAK_VALUE - /* Define to 1 for Encore UMAX. */ #undef UMAX @@ -1366,6 +1405,38 @@ along with GNU Emacs. If not, see . */ /* Define to 1 if using the Motif X toolkit. */ #undef USE_MOTIF +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# undef _ALL_SOURCE +#endif +/* Enable general extensions on OS X. */ +#ifndef _DARWIN_C_SOURCE +# undef _DARWIN_C_SOURCE +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# undef _GNU_SOURCE +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# undef _POSIX_PTHREAD_SEMANTICS +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# undef _TANDEM_SOURCE +#endif +/* Enable X/Open extensions if necessary. HP-UX 11.11 defines + mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of + whether compiling with -Ae or -D_HPUX_SOURCE=1. */ +#ifndef _XOPEN_SOURCE +# undef _XOPEN_SOURCE +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif + + /* Define to 1 if we should use toolkit scroll bars. */ #undef USE_TOOLKIT_SCROLL_BARS @@ -1391,6 +1462,9 @@ along with GNU Emacs. If not, see . */ /* Version number of package */ #undef VERSION +/* Define to 1 if unsetenv returns void instead of int. */ +#undef VOID_UNSETENV + /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'wchar_t'. */ #undef WCHAR_T_SUFFIX @@ -1427,10 +1501,8 @@ along with GNU Emacs. If not, see . */ /* Define if the system is AIX. */ #undef _AIX -/* Enable large inode numbers on Mac OS X. */ -#ifndef _DARWIN_USE_64_BIT_INODE -# define _DARWIN_USE_64_BIT_INODE 1 -#endif +/* Enable large inode numbers on Mac OS X 10.5. */ +#undef _DARWIN_USE_64_BIT_INODE /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS @@ -1451,6 +1523,9 @@ along with GNU Emacs. If not, see . */ /* Define if GNUstep uses ObjC exceptions. */ #undef _NATIVE_OBJC_EXCEPTIONS +/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ +#undef _NETBSD_SOURCE + /* The _Noreturn keyword of C11. */ #if ! (defined _Noreturn \ || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) @@ -1475,35 +1550,6 @@ along with GNU Emacs. If not, see . */ /* Needed for system_process_attributes on Solaris. */ #undef _STRUCTURED_PROC -/* Define to 500 only on HP-UX. */ -#undef _XOPEN_SOURCE - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable general extensions on Mac OS X. */ -#ifndef _DARWIN_C_SOURCE -# undef _DARWIN_C_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif - - /* Define to rpl_ if the getopt replacement functions and variables should be used. */ #undef __GETOPT_PREFIX @@ -1524,13 +1570,19 @@ along with GNU Emacs. If not, see . */ when FOO is an inline function in the header; see . _GL_INLINE_HEADER_END contains useful stuff to put - in the same include file, after uses of _GL_INLINE. */ -#if (__GNUC__ \ - ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ - : 199901L <= __STDC_VERSION__) + in the same include file, after uses of _GL_INLINE. + + Suppress the use of extern inline on Apple's platforms, + as Libc-825.25 (2012-09-19) is incompatible with it; see + . + Perhaps Apple will fix this some day. */ +#if ((__GNUC__ \ + ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ + : 199901L <= __STDC_VERSION__) \ + && !defined __APPLE__) # define _GL_INLINE inline # define _GL_EXTERN_INLINE extern inline -#elif 2 < __GNUC__ + (7 <= __GNUC_MINOR__) +#elif 2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __APPLE__ # if __GNUC_GNU_INLINE__ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ # define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) @@ -1539,8 +1591,8 @@ along with GNU Emacs. If not, see . */ # endif # define _GL_EXTERN_INLINE extern #else -# define _GL_INLINE static inline -# define _GL_EXTERN_INLINE static inline +# define _GL_INLINE static _GL_UNUSED +# define _GL_EXTERN_INLINE static _GL_UNUSED #endif #if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) @@ -1568,12 +1620,6 @@ along with GNU Emacs. If not, see . */ /* Define to rpl_gmtime if the replacement function should be used. */ #undef gmtime -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -#undef inline -#endif - /* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. diff --git a/autogen/configure b/autogen/configure index 14437b168b..8f58b87ab2 100755 --- a/autogen/configure +++ b/autogen/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for emacs 24.2.93. +# Generated by GNU Autoconf 2.65 for emacs 24.3.50. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -549,8 +549,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='emacs' PACKAGE_TARNAME='emacs' -PACKAGE_VERSION='24.2.93' -PACKAGE_STRING='emacs 24.2.93' +PACKAGE_VERSION='24.3.50' +PACKAGE_STRING='emacs 24.3.50' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -611,6 +611,8 @@ LD_SWITCH_SYSTEM_TEMACS LIBGNU_LTLIBDEPS LIBGNU_LIBDEPS gltests_WITNESS +gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_FALSE +gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_TRUE gl_GNULIB_ENABLED_verify_FALSE gl_GNULIB_ENABLED_verify_TRUE gl_GNULIB_ENABLED_strtoull_FALSE @@ -619,14 +621,27 @@ gl_GNULIB_ENABLED_strtoll_FALSE gl_GNULIB_ENABLED_strtoll_TRUE gl_GNULIB_ENABLED_stat_FALSE gl_GNULIB_ENABLED_stat_TRUE +gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c_FALSE +gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c_TRUE gl_GNULIB_ENABLED_pathmax_FALSE gl_GNULIB_ENABLED_pathmax_TRUE +gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7_FALSE +gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7_TRUE +gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1_FALSE +gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1_TRUE gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36_FALSE gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36_TRUE +gl_GNULIB_ENABLED_getgroups_FALSE +gl_GNULIB_ENABLED_getgroups_TRUE +gl_GNULIB_ENABLED_euidaccess_FALSE +gl_GNULIB_ENABLED_euidaccess_TRUE gl_GNULIB_ENABLED_dosname_FALSE gl_GNULIB_ENABLED_dosname_TRUE +gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b_FALSE +gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b_TRUE LTLIBINTL LIBINTL +LIB_EACCESS WINDOWS_64_BIT_OFF_T HAVE_UNISTD_H NEXT_AS_FIRST_DIRECTIVE_UNISTD_H @@ -640,6 +655,8 @@ NEXT_TIME_H WINDOWS_64_BIT_ST_SIZE NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H NEXT_SYS_STAT_H +NEXT_AS_FIRST_DIRECTIVE_STRING_H +NEXT_STRING_H NEXT_AS_FIRST_DIRECTIVE_STDLIB_H NEXT_STDLIB_H NEXT_AS_FIRST_DIRECTIVE_STDIO_H @@ -804,39 +821,79 @@ GNULIB_TIMEGM GNULIB_STRPTIME GNULIB_NANOSLEEP GNULIB_MKTIME -REPLACE_UTIMENSAT -REPLACE_STAT -REPLACE_MKNOD -REPLACE_MKFIFO -REPLACE_MKDIR -REPLACE_LSTAT -REPLACE_FUTIMENS -REPLACE_FSTATAT -REPLACE_FSTAT -HAVE_UTIMENSAT -HAVE_MKNODAT -HAVE_MKNOD -HAVE_MKFIFOAT -HAVE_MKFIFO -HAVE_MKDIRAT -HAVE_LSTAT -HAVE_LCHMOD -HAVE_FUTIMENS -HAVE_FSTATAT -HAVE_FCHMODAT -GNULIB_UTIMENSAT -GNULIB_STAT -GNULIB_MKNODAT -GNULIB_MKNOD -GNULIB_MKFIFOAT -GNULIB_MKFIFO -GNULIB_MKDIRAT -GNULIB_LSTAT -GNULIB_LCHMOD -GNULIB_FUTIMENS -GNULIB_FSTATAT -GNULIB_FSTAT -GNULIB_FCHMODAT +UNDEFINE_STRTOK_R +REPLACE_STRTOK_R +REPLACE_STRSIGNAL +REPLACE_STRNLEN +REPLACE_STRNDUP +REPLACE_STRNCAT +REPLACE_STRERROR_R +REPLACE_STRERROR +REPLACE_STRCHRNUL +REPLACE_STRCASESTR +REPLACE_STRSTR +REPLACE_STRDUP +REPLACE_STPNCPY +REPLACE_MEMMEM +REPLACE_MEMCHR +HAVE_STRVERSCMP +HAVE_DECL_STRSIGNAL +HAVE_DECL_STRERROR_R +HAVE_DECL_STRTOK_R +HAVE_STRCASESTR +HAVE_STRSEP +HAVE_STRPBRK +HAVE_DECL_STRNLEN +HAVE_DECL_STRNDUP +HAVE_DECL_STRDUP +HAVE_STRCHRNUL +HAVE_STPNCPY +HAVE_STPCPY +HAVE_RAWMEMCHR +HAVE_DECL_MEMRCHR +HAVE_MEMPCPY +HAVE_DECL_MEMMEM +HAVE_MEMCHR +HAVE_FFSLL +HAVE_FFSL +HAVE_MBSLEN +GNULIB_STRVERSCMP +GNULIB_STRSIGNAL +GNULIB_STRERROR_R +GNULIB_STRERROR +GNULIB_MBSTOK_R +GNULIB_MBSSEP +GNULIB_MBSSPN +GNULIB_MBSPBRK +GNULIB_MBSCSPN +GNULIB_MBSCASESTR +GNULIB_MBSPCASECMP +GNULIB_MBSNCASECMP +GNULIB_MBSCASECMP +GNULIB_MBSSTR +GNULIB_MBSRCHR +GNULIB_MBSCHR +GNULIB_MBSNLEN +GNULIB_MBSLEN +GNULIB_STRTOK_R +GNULIB_STRCASESTR +GNULIB_STRSTR +GNULIB_STRSEP +GNULIB_STRPBRK +GNULIB_STRNLEN +GNULIB_STRNDUP +GNULIB_STRNCAT +GNULIB_STRDUP +GNULIB_STRCHRNUL +GNULIB_STPNCPY +GNULIB_STPCPY +GNULIB_RAWMEMCHR +GNULIB_MEMRCHR +GNULIB_MEMPCPY +GNULIB_MEMMEM +GNULIB_MEMCHR +GNULIB_FFSLL +GNULIB_FFSL NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H NEXT_INTTYPES_H UINT64_MAX_EQ_ULONG_MAX @@ -895,10 +952,6 @@ GETOPT_H HAVE_GETOPT_H NEXT_AS_FIRST_DIRECTIVE_GETOPT_H NEXT_GETOPT_H -PRAGMA_COLUMNS -PRAGMA_SYSTEM_HEADER -INCLUDE_NEXT_AS_FIRST_DIRECTIVE -INCLUDE_NEXT GETLOADAVG_LIBS REPLACE_WCTOMB REPLACE_UNSETENV @@ -924,6 +977,7 @@ HAVE_STRTOLL HAVE_STRTOD HAVE_DECL_SETENV HAVE_SETENV +HAVE_SECURE_GETENV HAVE_RPMATCH HAVE_REALPATH HAVE_RANDOM_R @@ -951,6 +1005,7 @@ GNULIB_STRTOULL GNULIB_STRTOLL GNULIB_STRTOD GNULIB_SETENV +GNULIB_SECURE_GETENV GNULIB_RPMATCH GNULIB_REALPATH GNULIB_REALLOC_POSIX @@ -974,10 +1029,82 @@ GNULIB_CANONICALIZE_FILE_NAME GNULIB_CALLOC_POSIX GNULIB_ATOLL GNULIB__EXIT +REPLACE_UTIMENSAT +REPLACE_STAT +REPLACE_MKNOD +REPLACE_MKFIFO +REPLACE_MKDIR +REPLACE_LSTAT +REPLACE_FUTIMENS +REPLACE_FSTATAT +REPLACE_FSTAT +HAVE_UTIMENSAT +HAVE_MKNODAT +HAVE_MKNOD +HAVE_MKFIFOAT +HAVE_MKFIFO +HAVE_MKDIRAT +HAVE_LSTAT +HAVE_LCHMOD +HAVE_FUTIMENS +HAVE_FSTATAT +HAVE_FCHMODAT +GNULIB_UTIMENSAT +GNULIB_STAT +GNULIB_MKNODAT +GNULIB_MKNOD +GNULIB_MKFIFOAT +GNULIB_MKFIFO +GNULIB_MKDIRAT +GNULIB_LSTAT +GNULIB_LCHMOD +GNULIB_FUTIMENS +GNULIB_FSTATAT +GNULIB_FSTAT +GNULIB_FCHMODAT +NEXT_AS_FIRST_DIRECTIVE_FCNTL_H +NEXT_FCNTL_H +REPLACE_OPENAT +REPLACE_OPEN +REPLACE_FCNTL +HAVE_OPENAT +HAVE_FCNTL +GNULIB_OPENAT +GNULIB_OPEN +GNULIB_NONBLOCKING +GNULIB_FCNTL GL_GENERATE_EXECINFO_H_FALSE GL_GENERATE_EXECINFO_H_TRUE LIB_EXECINFO EXECINFO_H +HAVE_DIRENT_H +NEXT_AS_FIRST_DIRECTIVE_DIRENT_H +NEXT_DIRENT_H +PRAGMA_COLUMNS +PRAGMA_SYSTEM_HEADER +INCLUDE_NEXT_AS_FIRST_DIRECTIVE +INCLUDE_NEXT +REPLACE_FDOPENDIR +REPLACE_DIRFD +REPLACE_CLOSEDIR +REPLACE_OPENDIR +HAVE_ALPHASORT +HAVE_SCANDIR +HAVE_FDOPENDIR +HAVE_DECL_FDOPENDIR +HAVE_DECL_DIRFD +HAVE_CLOSEDIR +HAVE_REWINDDIR +HAVE_READDIR +HAVE_OPENDIR +GNULIB_ALPHASORT +GNULIB_SCANDIR +GNULIB_FDOPENDIR +GNULIB_DIRFD +GNULIB_CLOSEDIR +GNULIB_REWINDDIR +GNULIB_READDIR +GNULIB_OPENDIR UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS UNISTD_H_HAVE_WINSOCK2_H REPLACE_WRITE @@ -1179,6 +1306,7 @@ FONTCONFIG_LIBS FONTCONFIG_CFLAGS LIBXMU LIBXTR6 +LIBACL_LIBS LIBGNUTLS_LIBS LIBGNUTLS_CFLAGS LIBSELINUX_LIBS @@ -1204,8 +1332,11 @@ LIB_PTHREAD VMLIMIT_OBJ GMALLOC_OBJ HAVE_XSERVER +W32_RES_LINK +W32_RES W32_LIBS W32_OBJ +WINDRES LIB_STANDARD NS_OBJC_OBJ NS_OBJ @@ -1370,7 +1501,9 @@ with_dbus with_gconf with_gsettings with_selinux +with_acl with_gnutls +with_inotify with_makeinfo with_compress_info with_pkg_config_prog @@ -1383,6 +1516,7 @@ enable_checking enable_check_lisp_object_type enable_profiling enable_autodepend +enable_gtk_deprecation_warnings enable_dependency_tracking enable_largefile enable_gcc_warnings @@ -1940,7 +2074,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures emacs 24.2.93 to adapt to many kinds of systems. +\`configure' configures emacs 24.3.50 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2014,7 +2148,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of emacs 24.2.93:";; + short | recursive ) echo "Configuration of emacs 24.3.50:";; esac cat <<\_ACEOF @@ -2042,6 +2176,8 @@ Optional Features: --enable-autodepend automatically generate dependencies to .h-files. Requires GNU Make and Gcc. Enabled if GNU Make and Gcc is found + --enable-gtk-deprecation-warnings + Show Gtk+/Gdk deprecation warnings for Gtk+ >= 3.0 --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --disable-largefile omit support for large files @@ -2093,16 +2229,18 @@ Optional Packages: --without-gconf don't compile with GConf support --without-gsettings don't compile with GSettings support --without-selinux don't compile with SELinux support + --without-acl don't compile with ACL support --without-gnutls don't use -lgnutls for SSL/TLS support + --without-inotify don't compile with inotify (file-watch) support --without-makeinfo don't require makeinfo for building manuals --without-compress-info don't compress the installed Info pages - --with-pkg-config-prog=PATH - path to pkg-config for finding GTK and librsvg + --with-pkg-config-prog=FILENAME + file name of pkg-config for finding GTK and librsvg --with-crt-dir=DIR directory containing crtn.o etc. The default is /usr/lib, or /usr/lib64 on some platforms. --with-gameuser=USER user for shared game score files - --with-gnustep-conf=PATH - path to GNUstep.conf; default $GNUSTEP_CONFIG_FILE, + --with-gnustep-conf=FILENAME + name of GNUstep.conf; default $GNUSTEP_CONFIG_FILE, or /etc/GNUstep/GNUstep.conf --with-x use the X Window System @@ -2183,7 +2321,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -emacs configure 24.2.93 +emacs configure 24.3.50 generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2905,7 +3043,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by emacs $as_me 24.2.93, which was +It was created by emacs $as_me 24.3.50, which was generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -3186,8 +3324,6 @@ fi as_fn_append ac_header_list " linux/version.h" as_fn_append ac_header_list " sys/systeminfo.h" -as_fn_append ac_header_list " stdio_ext.h" -as_fn_append ac_header_list " fcntl.h" as_fn_append ac_header_list " coff.h" as_fn_append ac_header_list " pty.h" as_fn_append ac_header_list " sys/vlimit.h" @@ -3195,7 +3331,6 @@ as_fn_append ac_header_list " sys/resource.h" as_fn_append ac_header_list " sys/utsname.h" as_fn_append ac_header_list " pwd.h" as_fn_append ac_header_list " utmp.h" -as_fn_append ac_header_list " dirent.h" as_fn_append ac_header_list " util.h" as_fn_append ac_header_list " sys/socket.h" as_fn_append ac_header_list " stdlib.h" @@ -3207,7 +3342,13 @@ as_fn_append ac_header_list " maillock.h" as_fn_append ac_header_list " sys/un.h" as_fn_append ac_func_list " tzset" as_fn_append ac_func_list " readlinkat" +as_fn_append ac_header_list " dirent.h" as_fn_append ac_header_list " execinfo.h" +as_fn_append ac_func_list " faccessat" +as_fn_append ac_func_list " fdopendir" +as_fn_append ac_header_list " stdio_ext.h" +as_fn_append ac_func_list " __fpending" +as_fn_append ac_func_list " fstatat" gl_getopt_required=GNU as_fn_append ac_header_list " getopt.h" as_fn_append ac_func_list " gettimeofday" @@ -3301,6 +3442,19 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu + +emacs_config_options="$@" +## Add some environment variables, if they were passed via the environment +## rather than on the command-line. +for var in CFLAGS CPPFLAGS LDFLAGS; do + case "$emacs_config_options" in + *$var=*) continue ;; + esac + eval val="\$${var}" + test x"$val" = x && continue + emacs_config_options="${emacs_config_options}${emacs_config_options:+ }$var=\"$val\"" +done + ac_config_headers="$ac_config_headers src/config.h:src/config.in" @@ -3655,7 +3809,6 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } - mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; @@ -3766,7 +3919,7 @@ fi # Define the identity of the package. PACKAGE='emacs' - VERSION='24.2.93' + VERSION='24.3.50' cat >>confdefs.h <<_ACEOF @@ -4148,6 +4301,14 @@ else fi +# Check whether --with-acl was given. +if test "${with_acl+set}" = set; then : + withval=$with_acl; +else + with_acl=$with_features +fi + + # Check whether --with-gnutls was given. if test "${with_gnutls+set}" = set; then : withval=$with_gnutls; @@ -4156,6 +4317,14 @@ else fi +# Check whether --with-inotify was given. +if test "${with_inotify+set}" = set; then : + withval=$with_inotify; +else + with_inotify=$with_features +fi + + ## For the times when you want to build Emacs but don't have ## a suitable makeinfo, and can live without the manuals. @@ -4351,8 +4520,14 @@ else fi +# Check whether --enable-gtk-deprecation-warnings was given. +if test "${enable_gtk_deprecation_warnings+set}" = set; then : + enableval=$enable_gtk_deprecation_warnings; ac_enable_gtk_deprecation_warnings="${enableval}" +fi + + #### Make srcdir absolute, if it isn't already. It's important to -#### avoid running the path through pwd unnecessarily, since pwd can +#### avoid running the file name through pwd unnecessarily, since pwd can #### give you automounter prefixes, which can go away. We do all this #### so Emacs can find its files when run uninstalled. ## Make sure CDPATH doesn't affect cd (in case PWD is relative). @@ -4362,17 +4537,17 @@ case "${srcdir}" in . ) ## We may be able to use the $PWD environment variable to make this ## absolute. But sometimes PWD is inaccurate. - ## Note: we used to use ${PWD} at the end instead of `pwd`, + ## Note: we used to use $PWD at the end instead of `pwd`, ## but that tested only for a well-formed and valid PWD, ## it did not object when PWD was well-formed and valid but just wrong. - if test ".${PWD}" != "." && test ".`(cd ${PWD} ; sh -c pwd)`" = ".`pwd`" ; + if test ".$PWD" != "." && test ".`(cd "$PWD" ; sh -c pwd)`" = ".`pwd`" ; then srcdir="$PWD" else - srcdir="`(cd ${srcdir}; pwd)`" + srcdir=`(cd "$srcdir"; pwd)` fi ;; - * ) srcdir="`(cd ${srcdir}; pwd)`" ;; + * ) srcdir=`(cd "$srcdir"; pwd)` ;; esac ### Canonicalize the configuration name. @@ -5739,6 +5914,8 @@ else test "x$NON_GCC_TEST_OPTIONS" != x && CC="$CC $NON_GCC_TEST_OPTIONS" fi +# Avoid gnulib's tests for O_NOATIME and O_NOFOLLOW, as we don't use them. + # Avoid gnulib's threadlib module, as we do threads our own way. @@ -6381,8 +6558,6 @@ done - - ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" if test "x$ac_cv_header_minix_config_h" = x""yes; then : MINIX=yes @@ -6401,15 +6576,10 @@ $as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h $as_echo "#define _MINIX 1" >>confdefs.h - fi - - case "$host_os" in - hpux*) -$as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h +$as_echo "#define _NETBSD_SOURCE 1" >>confdefs.h - ;; - esac + fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 @@ -6452,6 +6622,54 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5 +$as_echo_n "checking whether _XOPEN_SOURCE should be defined... " >&6; } +if test "${ac_cv_should_define__xopen_source+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_should_define__xopen_source=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + mbstate_t x; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #define _XOPEN_SOURCE 500 + #include + mbstate_t x; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_should_define__xopen_source=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5 +$as_echo "$ac_cv_should_define__xopen_source" >&6; } + test $ac_cv_should_define__xopen_source = yes && + $as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h + @@ -6657,6 +6875,8 @@ rm -rf conftest* fi +$as_echo "#define _DARWIN_USE_64_BIT_INODE 1" >>confdefs.h + fi case $ac_cv_prog_cc_stdc in #( @@ -6956,30 +7176,41 @@ esac # Code from module alloca-opt: # Code from module allocator: + # Code from module at-internal: # Code from module c-ctype: # Code from module c-strcase: # Code from module careadlinkat: # Code from module clock-time: + # Code from module close-stream: # Code from module crypto/md5: # Code from module crypto/sha1: # Code from module crypto/sha256: # Code from module crypto/sha512: + # Code from module dirent: # Code from module dosname: # Code from module dtoastr: # Code from module dtotimespec: # Code from module dup2: # Code from module environ: + # Code from module euidaccess: # Code from module execinfo: # Code from module extensions: # Code from module extern-inline: + # Code from module faccessat: + # Code from module fcntl-h: + # Code from module fdopendir: # Code from module filemode: + # Code from module fpending: + # Code from module fstatat: + # Code from module getgroups: # Code from module getloadavg: # Code from module getopt-gnu: # Code from module getopt-posix: # Code from module gettext-h: # Code from module gettime: # Code from module gettimeofday: + # Code from module group-member: # Code from module ignore-value: # Code from module include_next: # Code from module intprops: @@ -6988,13 +7219,19 @@ esac # Code from module lstat: # Code from module manywarnings: + # Code from module memrchr: # Code from module mktime: # Code from module multiarch: # Code from module nocrash: + # Code from module openat-h: # Code from module pathmax: # Code from module pselect: # Code from module pthread_sigmask: + # Code from module putenv: # Code from module readlink: + # Code from module readlinkat: + # Code from module root-uid: + # Code from module sig2str: # Code from module signal-h: # Code from module snippet/_Noreturn: # Code from module snippet/arg-nonnull: @@ -7015,6 +7252,7 @@ esac # Code from module stdio: # Code from module stdlib: # Code from module strftime: + # Code from module string: # Code from module strtoimax: # Code from module strtoll: # Code from module strtoull: @@ -7031,9 +7269,11 @@ esac # Code from module timespec-sub: # Code from module u64: # Code from module unistd: + # Code from module unsetenv: # Code from module utimens: # Code from module verify: # Code from module warnings: + # Code from module xalloc-oversized: # It's helpful to have C macros available to GDB, so prefer -g3 to -g @@ -7225,6 +7465,8 @@ fi nw="$nw -Wfloat-equal" # warns about high-quality code nw="$nw -Winline" # OK to ignore 'inline' nw="$nw -Wjump-misses-init" # We sometimes safely jump over init. + nw="$nw -Wstrict-overflow" # OK to optimize assuming that + # signed overflow has undefined behavior nw="$nw -Wsync-nand" # irrelevant here, and provokes ObjC warning nw="$nw -Wunsafe-loop-optimizations" # OK to suppress unsafe optimizations @@ -7232,9 +7474,10 @@ fi # . nw="$nw -Wshadow" - # The following lines should be removable at some point. + # Emacs's use of alloca inhibits protecting the stack. nw="$nw -Wstack-protector" - nw="$nw -Wstrict-overflow" + + # The following line should be removable at some point. nw="$nw -Wsuggest-attribute=pure" @@ -8084,9 +8327,13 @@ $as_echo "no" >&6; } fi -if test "$MAKEINFO" != "no" && \ - test x"`$MAKEINFO --version 2> /dev/null | $EGREP 'texinfo[^0-9]*([1-4][0-9]+|[5-9]|4\.[7-9]|4\.[1-6][0-9]+)'`" = x; then - MAKEINFO=no +if test "$MAKEINFO" != "no"; then + case ` + $MAKEINFO --version 2> /dev/null | + $EGREP 'texinfo[^0-9]*([1-4][0-9]+|[5-9]|4\.[7-9]|4\.[1-6][0-9]+)' + ` in + '') MAKEINFO=no;; + esac fi ## Makeinfo is unusual. For a released Emacs, the manuals are @@ -8104,7 +8351,7 @@ if test "$MAKEINFO" = "no"; then MAKEINFO=makeinfo if test "x${with_makeinfo}" = "xno"; then HAVE_MAKEINFO=no - elif test ! -e $srcdir/info/emacs && test ! -e $srcdir/info/emacs.info; then + elif test ! -e "$srcdir/info/emacs" && test ! -e "$srcdir/info/emacs.info"; then as_fn_error "You do not seem to have makeinfo >= 4.7, and your source tree does not seem to have pre-built manuals in the \`info' directory. Either install a suitable version of makeinfo, or re-run configure @@ -8595,13 +8842,13 @@ fi HAVE_ALSA=no else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ALSA_MODULES" >&5 $as_echo_n "checking for $ALSA_MODULES... " >&6; } - if $PKG_CONFIG --exists "$ALSA_MODULES" 2>&5 && - ALSA_CFLAGS=`$PKG_CONFIG --cflags "$ALSA_MODULES" 2>&5` && - ALSA_LIBS=`$PKG_CONFIG --libs "$ALSA_MODULES" 2>&5`; then + if "$PKG_CONFIG" --exists "$ALSA_MODULES" 2>&5 && + ALSA_CFLAGS=`"$PKG_CONFIG" --cflags "$ALSA_MODULES" 2>&5` && + ALSA_LIBS=`"$PKG_CONFIG" --libs "$ALSA_MODULES" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -8621,7 +8868,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - ALSA_PKG_ERRORS=`($PKG_CONFIG --print-errors "$ALSA_MODULES") 2>&1` + ALSA_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "$ALSA_MODULES") 2>&1` fi @@ -8740,12 +8987,6 @@ done - - - - - - @@ -9621,6 +9862,8 @@ CPPFLAGS="$tmp_CPPFLAGS" HAVE_W32=no W32_OBJ= W32_LIBS= +W32_RES= +W32_RES_LINK= if test "${with_w32}" != no; then if test "${opsys}" != "cygwin"; then as_fn_error "Using w32 with an autotools build is only supported for Cygwin." "$LINENO" 5 @@ -9637,14 +9880,112 @@ fi $as_echo "#define HAVE_NTGUI 1" >>confdefs.h + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args. +set dummy ${ac_tool_prefix}windres; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_WINDRES+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$WINDRES"; then + ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_WINDRES="${ac_tool_prefix}windres" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +WINDRES=$ac_cv_prog_WINDRES +if test -n "$WINDRES"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WINDRES" >&5 +$as_echo "$WINDRES" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_WINDRES"; then + ac_ct_WINDRES=$WINDRES + # Extract the first word of "windres", so it can be a program name with args. +set dummy windres; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_WINDRES+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_WINDRES"; then + ac_cv_prog_ac_ct_WINDRES="$ac_ct_WINDRES" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_WINDRES="windres" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_WINDRES=$ac_cv_prog_ac_ct_WINDRES +if test -n "$ac_ct_WINDRES"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WINDRES" >&5 +$as_echo "$ac_ct_WINDRES" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_WINDRES" = x; then + WINDRES="as_fn_error "No resource compiler found." "$LINENO" 5" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + WINDRES=$ac_ct_WINDRES + fi +else + WINDRES="$ac_cv_prog_WINDRES" +fi + W32_OBJ="w32fns.o w32menu.o w32reg.o w32font.o w32term.o" W32_OBJ="$W32_OBJ w32xfns.o w32select.o w32uniscribe.o" W32_LIBS="$W32_LIBS -lkernel32 -luser32 -lgdi32 -lole32 -lcomdlg32" W32_LIBS="$W32_LIBS -lusp10 -lcomctl32 -lwinspool" + W32_RES="emacs.res" + # Tell the linker that emacs.res is an object (which we compile from + # the rc file), not a linker script. + W32_RES_LINK="-Wl,-bpe-i386 -Wl,emacs.res" fi + + if test "${HAVE_W32}" = "yes"; then window_system=w32 with_xft=no @@ -10482,13 +10823,13 @@ if test "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes"; then : else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $RSVG_MODULE" >&5 $as_echo_n "checking for $RSVG_MODULE... " >&6; } - if $PKG_CONFIG --exists "$RSVG_MODULE" 2>&5 && - RSVG_CFLAGS=`$PKG_CONFIG --cflags "$RSVG_MODULE" 2>&5` && - RSVG_LIBS=`$PKG_CONFIG --libs "$RSVG_MODULE" 2>&5`; then + if "$PKG_CONFIG" --exists "$RSVG_MODULE" 2>&5 && + RSVG_CFLAGS=`"$PKG_CONFIG" --cflags "$RSVG_MODULE" 2>&5` && + RSVG_LIBS=`"$PKG_CONFIG" --libs "$RSVG_MODULE" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -10508,7 +10849,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - RSVG_PKG_ERRORS=`($PKG_CONFIG --print-errors "$RSVG_MODULE") 2>&1` + RSVG_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "$RSVG_MODULE") 2>&1` fi @@ -10553,13 +10894,13 @@ if test "${HAVE_X11}" = "yes"; then : else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $IMAGEMAGICK_MODULE" >&5 $as_echo_n "checking for $IMAGEMAGICK_MODULE... " >&6; } - if $PKG_CONFIG --exists "$IMAGEMAGICK_MODULE" 2>&5 && - IMAGEMAGICK_CFLAGS=`$PKG_CONFIG --cflags "$IMAGEMAGICK_MODULE" 2>&5` && - IMAGEMAGICK_LIBS=`$PKG_CONFIG --libs "$IMAGEMAGICK_MODULE" 2>&5`; then + if "$PKG_CONFIG" --exists "$IMAGEMAGICK_MODULE" 2>&5 && + IMAGEMAGICK_CFLAGS=`"$PKG_CONFIG" --cflags "$IMAGEMAGICK_MODULE" 2>&5` && + IMAGEMAGICK_LIBS=`"$PKG_CONFIG" --libs "$IMAGEMAGICK_MODULE" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -10579,7 +10920,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - IMAGEMAGICK_PKG_ERRORS=`($PKG_CONFIG --print-errors "$IMAGEMAGICK_MODULE") 2>&1` + IMAGEMAGICK_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "$IMAGEMAGICK_MODULE") 2>&1` fi @@ -10640,13 +10981,13 @@ if test "${with_gtk3}" = "yes" || test "${with_gtk}" = "yes" || test "$USE_X_TOO pkg_check_gtk=no else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $GTK_MODULES" >&5 $as_echo_n "checking for $GTK_MODULES... " >&6; } - if $PKG_CONFIG --exists "$GTK_MODULES" 2>&5 && - GTK_CFLAGS=`$PKG_CONFIG --cflags "$GTK_MODULES" 2>&5` && - GTK_LIBS=`$PKG_CONFIG --libs "$GTK_MODULES" 2>&5`; then + if "$PKG_CONFIG" --exists "$GTK_MODULES" 2>&5 && + GTK_CFLAGS=`"$PKG_CONFIG" --cflags "$GTK_MODULES" 2>&5` && + GTK_LIBS=`"$PKG_CONFIG" --libs "$GTK_MODULES" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -10666,7 +11007,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - GTK_PKG_ERRORS=`($PKG_CONFIG --print-errors "$GTK_MODULES") 2>&1` + GTK_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "$GTK_MODULES") 2>&1` fi @@ -10694,6 +11035,9 @@ $as_echo "#define HAVE_GTK3 1" >>confdefs.h GTK_OBJ=emacsgtkfixed.o term_header=gtkutil.h USE_GTK_TOOLKIT="GTK3" + if test "x$ac_enable_gtk_deprecation_warnings" = x; then + GTK_CFLAGS="$GTK_CFLAGS -DGDK_DISABLE_DEPRECATION_WARNINGS" + fi else check_gtk2=yes gtk3_pkg_errors="$GTK_PKG_ERRORS " @@ -10712,13 +11056,13 @@ if test "${with_gtk2}" = "yes" || test "$check_gtk2" = "yes"; then pkg_check_gtk=no else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $GTK_MODULES" >&5 $as_echo_n "checking for $GTK_MODULES... " >&6; } - if $PKG_CONFIG --exists "$GTK_MODULES" 2>&5 && - GTK_CFLAGS=`$PKG_CONFIG --cflags "$GTK_MODULES" 2>&5` && - GTK_LIBS=`$PKG_CONFIG --libs "$GTK_MODULES" 2>&5`; then + if "$PKG_CONFIG" --exists "$GTK_MODULES" 2>&5 && + GTK_CFLAGS=`"$PKG_CONFIG" --cflags "$GTK_MODULES" 2>&5` && + GTK_LIBS=`"$PKG_CONFIG" --libs "$GTK_MODULES" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -10738,7 +11082,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - GTK_PKG_ERRORS=`($PKG_CONFIG --print-errors "$GTK_MODULES") 2>&1` + GTK_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "$GTK_MODULES") 2>&1` fi @@ -10794,7 +11138,7 @@ $as_echo "#define USE_GTK 1" >>confdefs.h GTK_OBJ="gtkutil.o $GTK_OBJ" USE_X_TOOLKIT=none - if $PKG_CONFIG --atleast-version=2.10 gtk+-2.0; then + if "$PKG_CONFIG" --atleast-version=2.10 gtk+-2.0; then : else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your version of Gtk+ will have problems with @@ -10843,6 +11187,53 @@ done fi + HAVE_GTK_HANDLE_BOX=no + ac_fn_c_check_decl "$LINENO" "GTK_TYPE_HANDLE_BOX" "ac_cv_have_decl_GTK_TYPE_HANDLE_BOX" "$ac_includes_default +#include +" +if test "x$ac_cv_have_decl_GTK_TYPE_HANDLE_BOX" = x""yes; then : + HAVE_GTK_HANDLE_BOX=yes +else + HAVE_GTK_HANDLE_BOX=no +fi + + if test "$HAVE_GTK_HANDLE_BOX" = yes; then + for ac_func in gtk_handle_box_new +do : + ac_fn_c_check_func "$LINENO" "gtk_handle_box_new" "ac_cv_func_gtk_handle_box_new" +if test "x$ac_cv_func_gtk_handle_box_new" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GTK_HANDLE_BOX_NEW 1 +_ACEOF + +fi +done + + fi + + HAVE_GTK_TEAROFF_MENU_ITEM=no + ac_fn_c_check_decl "$LINENO" "GTK_TYPE_TEAROFF_MENU_ITEM" "ac_cv_have_decl_GTK_TYPE_TEAROFF_MENU_ITEM" "$ac_includes_default +#include +" +if test "x$ac_cv_have_decl_GTK_TYPE_TEAROFF_MENU_ITEM" = x""yes; then : + HAVE_GTK_TEAROFF_MENU_ITEM=yes +else + HAVE_GTK_TEAROFF_MENU_ITEM=no +fi + + if test "$HAVE_GTK_TEAROFF_MENU_ITEM" = yes; then + for ac_func in gtk_tearoff_menu_item_new +do : + ac_fn_c_check_func "$LINENO" "gtk_tearoff_menu_item_new" "ac_cv_func_gtk_tearoff_menu_item_new" +if test "x$ac_cv_func_gtk_tearoff_menu_item_new" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GTK_TEAROFF_MENU_ITEM_NEW 1 +_ACEOF + +fi +done + + fi for ac_func in gtk_widget_get_window gtk_widget_set_has_window \ gtk_dialog_get_action_area gtk_widget_get_sensitive \ @@ -10875,13 +11266,13 @@ if test "${with_dbus}" = "yes"; then HAVE_DBUS=no else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dbus-1 >= 1.0" >&5 $as_echo_n "checking for dbus-1 >= 1.0... " >&6; } - if $PKG_CONFIG --exists "dbus-1 >= 1.0" 2>&5 && - DBUS_CFLAGS=`$PKG_CONFIG --cflags "dbus-1 >= 1.0" 2>&5` && - DBUS_LIBS=`$PKG_CONFIG --libs "dbus-1 >= 1.0" 2>&5`; then + if "$PKG_CONFIG" --exists "dbus-1 >= 1.0" 2>&5 && + DBUS_CFLAGS=`"$PKG_CONFIG" --cflags "dbus-1 >= 1.0" 2>&5` && + DBUS_LIBS=`"$PKG_CONFIG" --libs "dbus-1 >= 1.0" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -10901,7 +11292,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - DBUS_PKG_ERRORS=`($PKG_CONFIG --print-errors "dbus-1 >= 1.0") 2>&1` + DBUS_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "dbus-1 >= 1.0") 2>&1` fi @@ -10956,13 +11347,13 @@ if test "${HAVE_X11}" = "yes" && test "${with_gsettings}" = "yes"; then HAVE_GSETTINGS=no else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gio-2.0 >= 2.26" >&5 $as_echo_n "checking for gio-2.0 >= 2.26... " >&6; } - if $PKG_CONFIG --exists "gio-2.0 >= 2.26" 2>&5 && - GSETTINGS_CFLAGS=`$PKG_CONFIG --cflags "gio-2.0 >= 2.26" 2>&5` && - GSETTINGS_LIBS=`$PKG_CONFIG --libs "gio-2.0 >= 2.26" 2>&5`; then + if "$PKG_CONFIG" --exists "gio-2.0 >= 2.26" 2>&5 && + GSETTINGS_CFLAGS=`"$PKG_CONFIG" --cflags "gio-2.0 >= 2.26" 2>&5` && + GSETTINGS_LIBS=`"$PKG_CONFIG" --libs "gio-2.0 >= 2.26" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -10982,7 +11373,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - GSETTINGS_PKG_ERRORS=`($PKG_CONFIG --print-errors "gio-2.0 >= 2.26") 2>&1` + GSETTINGS_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "gio-2.0 >= 2.26") 2>&1` fi @@ -11018,13 +11409,13 @@ if test "${HAVE_X11}" = "yes" && test "${with_gconf}" = "yes"; then HAVE_GCONF=no else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gconf-2.0 >= 2.13" >&5 $as_echo_n "checking for gconf-2.0 >= 2.13... " >&6; } - if $PKG_CONFIG --exists "gconf-2.0 >= 2.13" 2>&5 && - GCONF_CFLAGS=`$PKG_CONFIG --cflags "gconf-2.0 >= 2.13" 2>&5` && - GCONF_LIBS=`$PKG_CONFIG --libs "gconf-2.0 >= 2.13" 2>&5`; then + if "$PKG_CONFIG" --exists "gconf-2.0 >= 2.13" 2>&5 && + GCONF_CFLAGS=`"$PKG_CONFIG" --cflags "gconf-2.0 >= 2.13" 2>&5` && + GCONF_LIBS=`"$PKG_CONFIG" --libs "gconf-2.0 >= 2.13" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -11044,7 +11435,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - GCONF_PKG_ERRORS=`($PKG_CONFIG --print-errors "gconf-2.0 >= 2.13") 2>&1` + GCONF_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "gconf-2.0 >= 2.13") 2>&1` fi @@ -11079,13 +11470,13 @@ if test "$HAVE_GSETTINGS" = "yes" || test "$HAVE_GCONF" = "yes"; then HAVE_GOBJECT=no else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gobject-2.0 >= 2.0" >&5 $as_echo_n "checking for gobject-2.0 >= 2.0... " >&6; } - if $PKG_CONFIG --exists "gobject-2.0 >= 2.0" 2>&5 && - GOBJECT_CFLAGS=`$PKG_CONFIG --cflags "gobject-2.0 >= 2.0" 2>&5` && - GOBJECT_LIBS=`$PKG_CONFIG --libs "gobject-2.0 >= 2.0" 2>&5`; then + if "$PKG_CONFIG" --exists "gobject-2.0 >= 2.0" 2>&5 && + GOBJECT_CFLAGS=`"$PKG_CONFIG" --cflags "gobject-2.0 >= 2.0" 2>&5` && + GOBJECT_LIBS=`"$PKG_CONFIG" --libs "gobject-2.0 >= 2.0" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -11105,7 +11496,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - GOBJECT_PKG_ERRORS=`($PKG_CONFIG --print-errors "gobject-2.0 >= 2.0") 2>&1` + GOBJECT_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "gobject-2.0 >= 2.0") 2>&1` fi @@ -11213,13 +11604,13 @@ if test "${with_gnutls}" = "yes" ; then HAVE_GNUTLS=no else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnutls >= 2.6.6" >&5 $as_echo_n "checking for gnutls >= 2.6.6... " >&6; } - if $PKG_CONFIG --exists "gnutls >= 2.6.6" 2>&5 && - LIBGNUTLS_CFLAGS=`$PKG_CONFIG --cflags "gnutls >= 2.6.6" 2>&5` && - LIBGNUTLS_LIBS=`$PKG_CONFIG --libs "gnutls >= 2.6.6" 2>&5`; then + if "$PKG_CONFIG" --exists "gnutls >= 2.6.6" 2>&5 && + LIBGNUTLS_CFLAGS=`"$PKG_CONFIG" --cflags "gnutls >= 2.6.6" 2>&5` && + LIBGNUTLS_LIBS=`"$PKG_CONFIG" --libs "gnutls >= 2.6.6" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -11239,7 +11630,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - LIBGNUTLS_PKG_ERRORS=`($PKG_CONFIG --print-errors "gnutls >= 2.6.6") 2>&1` + LIBGNUTLS_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "gnutls >= 2.6.6") 2>&1` fi @@ -11287,18 +11678,112 @@ fi -HAVE_XAW3D=no -LUCID_LIBW= -if test x"${USE_X_TOOLKIT}" = xmaybe || test x"${USE_X_TOOLKIT}" = xLUCID; then - if test "$with_xaw3d" != no; then - if test "${emacs_cv_xaw3d+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +if test "${with_inotify}" = "yes"; then + for ac_header in sys/inotify.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/inotify.h" "ac_cv_header_sys_inotify_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_inotify_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_INOTIFY_H 1 +_ACEOF -#include -#include +fi + +done + + if test "$ac_cv_header_sys_inotify_h" = yes ; then + ac_fn_c_check_func "$LINENO" "inotify_init1" "ac_cv_func_inotify_init1" +if test "x$ac_cv_func_inotify_init1" = x""yes; then : + +fi + + fi +fi +if test "$ac_cv_func_inotify_init1" = yes; then + +$as_echo "#define HAVE_INOTIFY 1" >>confdefs.h + +fi + +HAVE_POSIX_ACL=no +LIBACL_LIBS= +if test "${with_acl}" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acl_set_file in -lacl" >&5 +$as_echo_n "checking for acl_set_file in -lacl... " >&6; } +if test "${ac_cv_lib_acl_acl_set_file+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lacl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char acl_set_file (); +int +main () +{ +return acl_set_file (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_acl_acl_set_file=yes +else + ac_cv_lib_acl_acl_set_file=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_acl_acl_set_file" >&5 +$as_echo "$ac_cv_lib_acl_acl_set_file" >&6; } +if test "x$ac_cv_lib_acl_acl_set_file" = x""yes; then : + HAVE_POSIX_ACL=yes +else + HAVE_POSIX_ACL=no +fi + + if test "$HAVE_POSIX_ACL" = yes; then + +$as_echo "#define HAVE_POSIX_ACL 1" >>confdefs.h + + LIBACL_LIBS=-lacl + else + ac_fn_c_check_func "$LINENO" "acl_set_file" "ac_cv_func_acl_set_file" +if test "x$ac_cv_func_acl_set_file" = x""yes; then : + HAVE_POSIX_ACL=yes +else + HAVE_POSIX_ACL=no +fi + + if test "$HAVE_POSIX_ACL" = yes; then + +$as_echo "#define HAVE_POSIX_ACL 1" >>confdefs.h + + fi + fi +fi + + +HAVE_XAW3D=no +LUCID_LIBW= +if test x"${USE_X_TOOLKIT}" = xmaybe || test x"${USE_X_TOOLKIT}" = xLUCID; then + if test "$with_xaw3d" != no; then + if test "${emacs_cv_xaw3d+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include int main () { @@ -11847,13 +12332,13 @@ if test "${HAVE_X11}" = "yes"; then HAVE_FC=no else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fontconfig >= 2.2.0" >&5 $as_echo_n "checking for fontconfig >= 2.2.0... " >&6; } - if $PKG_CONFIG --exists "fontconfig >= 2.2.0" 2>&5 && - FONTCONFIG_CFLAGS=`$PKG_CONFIG --cflags "fontconfig >= 2.2.0" 2>&5` && - FONTCONFIG_LIBS=`$PKG_CONFIG --libs "fontconfig >= 2.2.0" 2>&5`; then + if "$PKG_CONFIG" --exists "fontconfig >= 2.2.0" 2>&5 && + FONTCONFIG_CFLAGS=`"$PKG_CONFIG" --cflags "fontconfig >= 2.2.0" 2>&5` && + FONTCONFIG_LIBS=`"$PKG_CONFIG" --libs "fontconfig >= 2.2.0" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -11873,7 +12358,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - FONTCONFIG_PKG_ERRORS=`($PKG_CONFIG --print-errors "fontconfig >= 2.2.0") 2>&1` + FONTCONFIG_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "fontconfig >= 2.2.0") 2>&1` fi @@ -11906,13 +12391,13 @@ $as_echo "no" >&6; } HAVE_XFT=no else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xft >= 0.13.0" >&5 $as_echo_n "checking for xft >= 0.13.0... " >&6; } - if $PKG_CONFIG --exists "xft >= 0.13.0" 2>&5 && - XFT_CFLAGS=`$PKG_CONFIG --cflags "xft >= 0.13.0" 2>&5` && - XFT_LIBS=`$PKG_CONFIG --libs "xft >= 0.13.0" 2>&5`; then + if "$PKG_CONFIG" --exists "xft >= 0.13.0" 2>&5 && + XFT_CFLAGS=`"$PKG_CONFIG" --cflags "xft >= 0.13.0" 2>&5` && + XFT_LIBS=`"$PKG_CONFIG" --libs "xft >= 0.13.0" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -11932,7 +12417,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - XFT_PKG_ERRORS=`($PKG_CONFIG --print-errors "xft >= 0.13.0") 2>&1` + XFT_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "xft >= 0.13.0") 2>&1` fi @@ -12074,13 +12559,13 @@ $as_echo "#define HAVE_XFT 1" >>confdefs.h HAVE_FREETYPE=no else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for freetype2" >&5 $as_echo_n "checking for freetype2... " >&6; } - if $PKG_CONFIG --exists "freetype2" 2>&5 && - FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2" 2>&5` && - FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2" 2>&5`; then + if "$PKG_CONFIG" --exists "freetype2" 2>&5 && + FREETYPE_CFLAGS=`"$PKG_CONFIG" --cflags "freetype2" 2>&5` && + FREETYPE_LIBS=`"$PKG_CONFIG" --libs "freetype2" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -12100,7 +12585,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - FREETYPE_PKG_ERRORS=`($PKG_CONFIG --print-errors "freetype2") 2>&1` + FREETYPE_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "freetype2") 2>&1` fi @@ -12135,13 +12620,13 @@ $as_echo "#define HAVE_FREETYPE 1" >>confdefs.h HAVE_LIBOTF=no else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libotf" >&5 $as_echo_n "checking for libotf... " >&6; } - if $PKG_CONFIG --exists "libotf" 2>&5 && - LIBOTF_CFLAGS=`$PKG_CONFIG --cflags "libotf" 2>&5` && - LIBOTF_LIBS=`$PKG_CONFIG --libs "libotf" 2>&5`; then + if "$PKG_CONFIG" --exists "libotf" 2>&5 && + LIBOTF_CFLAGS=`"$PKG_CONFIG" --cflags "libotf" 2>&5` && + LIBOTF_LIBS=`"$PKG_CONFIG" --libs "libotf" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -12161,7 +12646,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - LIBOTF_PKG_ERRORS=`($PKG_CONFIG --print-errors "libotf") 2>&1` + LIBOTF_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "libotf") 2>&1` fi @@ -12244,13 +12729,13 @@ $as_echo "#define HAVE_OTF_GET_VARIATION_GLYPHS 1" >>confdefs.h HAVE_M17N_FLT=no else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for m17n-flt" >&5 $as_echo_n "checking for m17n-flt... " >&6; } - if $PKG_CONFIG --exists "m17n-flt" 2>&5 && - M17N_FLT_CFLAGS=`$PKG_CONFIG --cflags "m17n-flt" 2>&5` && - M17N_FLT_LIBS=`$PKG_CONFIG --libs "m17n-flt" 2>&5`; then + if "$PKG_CONFIG" --exists "m17n-flt" 2>&5 && + M17N_FLT_CFLAGS=`"$PKG_CONFIG" --cflags "m17n-flt" 2>&5` && + M17N_FLT_LIBS=`"$PKG_CONFIG" --libs "m17n-flt" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -12270,7 +12755,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - M17N_FLT_PKG_ERRORS=`($PKG_CONFIG --print-errors "m17n-flt") 2>&1` + M17N_FLT_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "m17n-flt") 2>&1` fi @@ -13032,13 +13517,13 @@ if test "${with_xml2}" != "no"; then HAVE_LIBXML2=no else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 > 2.6.17" >&5 $as_echo_n "checking for libxml-2.0 > 2.6.17... " >&6; } - if $PKG_CONFIG --exists "libxml-2.0 > 2.6.17" 2>&5 && - LIBXML2_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0 > 2.6.17" 2>&5` && - LIBXML2_LIBS=`$PKG_CONFIG --libs "libxml-2.0 > 2.6.17" 2>&5`; then + if "$PKG_CONFIG" --exists "libxml-2.0 > 2.6.17" 2>&5 && + LIBXML2_CFLAGS=`"$PKG_CONFIG" --cflags "libxml-2.0 > 2.6.17" 2>&5` && + LIBXML2_LIBS=`"$PKG_CONFIG" --libs "libxml-2.0 > 2.6.17" 2>&5`; then edit_cflags=" s,///*,/,g s/^/ / @@ -13058,7 +13543,7 @@ $as_echo "no" >&6; } ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - LIBXML2_PKG_ERRORS=`($PKG_CONFIG --print-errors "libxml-2.0 > 2.6.17") 2>&1` + LIBXML2_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "libxml-2.0 > 2.6.17") 2>&1` fi @@ -13416,11 +13901,11 @@ esac for ac_func in gethostname \ -closedir getrusage get_current_dir_name \ -lrand48 setsid \ -fpathconf select euidaccess getpagesize setlocale \ -utimes getrlimit setrlimit setpgid getcwd shutdown getaddrinfo \ -__fpending strsignal setitimer \ +getrusage get_current_dir_name \ +lrand48 \ +select getpagesize setlocale \ +utimes getrlimit setrlimit shutdown getaddrinfo \ +strsignal setitimer \ sendto recvfrom getsockname getpeername getifaddrs freeifaddrs \ gai_strerror mkstemp getline getdelim fsync sync \ difftime posix_memalign \ @@ -13440,24 +13925,6 @@ fi done -if test $opsys = unixware; then - -$as_echo "#define BROKEN_GETWD 1" >>confdefs.h - -else - for ac_func in getwd -do : - ac_fn_c_check_func "$LINENO" "getwd" "ac_cv_func_getwd" -if test "x$ac_cv_func_getwd" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETWD 1 -_ACEOF - -fi -done - -fi - ## Eric Backus says, HP-UX 9.x on HP 700 machines ## has a broken `rint' in some library versions including math library ## version number A.09.05. @@ -13586,40 +14053,6 @@ $as_echo "#define HAVE_FSEEKO 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getpgrp requires zero arguments" >&5 -$as_echo_n "checking whether getpgrp requires zero arguments... " >&6; } -if test "${ac_cv_func_getpgrp_void+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # Use it with a single arg. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -getpgrp (0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_func_getpgrp_void=no -else - ac_cv_func_getpgrp_void=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getpgrp_void" >&5 -$as_echo "$ac_cv_func_getpgrp_void" >&6; } -if test $ac_cv_func_getpgrp_void = yes; then - -$as_echo "#define GETPGRP_VOID 1" >>confdefs.h - -fi - - # UNIX98 PTYs. for ac_func in grantpt do : @@ -15297,7 +15730,7 @@ $as_echo "#define UNIX98_PTYS 1" >>confdefs.h $as_echo "#define FIRST_PTY_LETTER 'q'" >>confdefs.h - $as_echo "#define PTY_OPEN { struct sigaction ocstat, cstat; struct stat stb; char * name; sigemptyset(&cstat.sa_mask); cstat.sa_handler = SIG_DFL; cstat.sa_flags = 0; sigaction(SIGCLD, &cstat, &ocstat); name = _getpty (&fd, O_RDWR | O_NDELAY, 0600, 0); sigaction(SIGCLD, &ocstat, (struct sigaction *)0); if (name == 0) return -1; if (fd < 0) return -1; if (fstat (fd, &stb) < 0) return -1; strcpy (pty_name, name); }" >>confdefs.h + $as_echo "#define PTY_OPEN { struct sigaction ocstat, cstat; struct stat stb; char * name; sigemptyset(&cstat.sa_mask); cstat.sa_handler = SIG_DFL; cstat.sa_flags = 0; sigaction(SIGCHLD, &cstat, &ocstat); name = _getpty (&fd, O_RDWR | O_NDELAY, 0600, 0); sigaction(SIGCHLD, &ocstat, (struct sigaction *)0); if (name == 0) return -1; if (fd < 0) return -1; if (fstat (fd, &stb) < 0) return -1; strcpy (pty_name, name); }" >>confdefs.h $as_echo "#define PTY_NAME_SPRINTF /**/" >>confdefs.h @@ -15306,12 +15739,12 @@ $as_echo "#define UNIX98_PTYS 1" >>confdefs.h ;; sol2* ) - $as_echo "#define PTY_TTY_NAME_SPRINTF { char *ptsname (int), *ptyname; int grantpt_result; sigset_t blocked; sigemptyset (&blocked); sigaddset (&blocked, SIGCLD); pthread_sigmask (SIG_BLOCK, &blocked, 0); grantpt_result = grantpt (fd); pthread_sigmask (SIG_UNBLOCK, &blocked, 0); if (grantpt_result == -1 || unlockpt (fd) == -1 || !(ptyname = ptsname (fd))) { emacs_close (fd); return -1; } snprintf (pty_name, sizeof pty_name, \"%s\", ptyname); }" >>confdefs.h + $as_echo "#define PTY_TTY_NAME_SPRINTF { char *ptsname (int), *ptyname; int grantpt_result; sigset_t blocked; sigemptyset (&blocked); sigaddset (&blocked, SIGCHLD); pthread_sigmask (SIG_BLOCK, &blocked, 0); grantpt_result = grantpt (fd); pthread_sigmask (SIG_UNBLOCK, &blocked, 0); if (grantpt_result == -1 || unlockpt (fd) == -1 || !(ptyname = ptsname (fd))) { emacs_close (fd); return -1; } snprintf (pty_name, sizeof pty_name, \"%s\", ptyname); }" >>confdefs.h ;; unixware ) - $as_echo "#define PTY_TTY_NAME_SPRINTF { char *ptsname (int), *ptyname; int grantpt_result; sigset_t blocked; sigemptyset (&blocked); sigaddset (&blocked, SIGCLD); pthread_sigmask (SIG_BLOCK, &blocked, 0); grantpt_result = grantpt (fd); pthread_sigmask (SIG_UNBLOCK, &blocked, 0); if (grantpt_result == -1) fatal(\"could not grant slave pty\"); if (unlockpt(fd) == -1) fatal(\"could not unlock slave pty\"); if (!(ptyname = ptsname(fd))) fatal (\"could not enable slave pty\"); snprintf (pty_name, sizeof pty_name, \"%s\", ptyname); }" >>confdefs.h + $as_echo "#define PTY_TTY_NAME_SPRINTF { char *ptsname (int), *ptyname; int grantpt_result; sigset_t blocked; sigemptyset (&blocked); sigaddset (&blocked, SIGCHLD); pthread_sigmask (SIG_BLOCK, &blocked, 0); grantpt_result = grantpt (fd); pthread_sigmask (SIG_UNBLOCK, &blocked, 0); if (grantpt_result == -1) fatal(\"could not grant slave pty\"); if (unlockpt(fd) == -1) fatal(\"could not unlock slave pty\"); if (!(ptyname = ptsname(fd))) fatal (\"could not enable slave pty\"); snprintf (pty_name, sizeof pty_name, \"%s\", ptyname); }" >>confdefs.h ;; esac @@ -15375,145 +15808,6 @@ esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C library" >&5 -$as_echo_n "checking whether we are using the GNU C library... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifndef __GNU_LIBRARY__ -# error "this is not the GNU C library" -#endif - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - emacs_glibc=yes -else - emacs_glibc=no -fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $emacs_glibc" >&5 -$as_echo "$emacs_glibc" >&6; } - -if test $emacs_glibc = yes; then - - emacs_pending_output=unknown - - case $opsys in - gnu | gnu-linux | gnu-kfreebsd ) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of pending output formalism" >&5 -$as_echo_n "checking for style of pending output formalism... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#if !defined (_IO_STDIO_H) && !defined (_STDIO_USES_IOSTREAM) -# error "stdio definitions not found" -#endif - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - emacs_pending_output=new -fi -rm -f conftest.err conftest.$ac_ext - - if test $emacs_pending_output = unknown; then - case $opsys in - gnu-linux | gnu-kfreebsd) - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifndef __UCLIBC__ -# error "not using uclibc" -#endif - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - emacs_pending_output=uclibc -else - emacs_pending_output=old -fi -rm -f conftest.err conftest.$ac_ext - ;; - esac - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $emacs_pending_output" >&5 -$as_echo "$emacs_pending_output" >&6; } - - case $emacs_pending_output in - new) - $as_echo "#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base)" >>confdefs.h - - ;; - uclibc) - $as_echo "#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__bufpos - (FILE)->__bufstart)" >>confdefs.h - - ;; - old) - $as_echo "#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_pptr - (FILE)->_pbase)" >>confdefs.h - - ;; - esac - ;; - esac - if test $emacs_pending_output = unknown; then - $as_echo "#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__bufp - (FILE)->__buffer)" >>confdefs.h - - fi - -else - case $opsys in - cygwin | darwin | freebsd | netbsd | openbsd ) - $as_echo "#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)" >>confdefs.h - - ;; - - unixware) - $as_echo "#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__ptr - (FILE)->__base)" >>confdefs.h - - ;; - - *) - if test x$ac_cv_header_stdio_ext_h = xyes && \ - test x$ac_cv_func___fpending = xyes; then - $as_echo "#define PENDING_OUTPUT_COUNT(FILE) __fpending (FILE)" >>confdefs.h - - -$as_echo "#define DISPNEW_NEEDS_STDIO_EXT 1" >>confdefs.h - - else - $as_echo "#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_ptr - (FILE)->_base)" >>confdefs.h - - fi - ;; - esac -fi - - - case $opsys in gnu) @@ -15538,7 +15832,6 @@ esac - case $opsys in darwin) $as_echo "#define TAB3 OXTABS" >>confdefs.h ;; @@ -15552,27 +15845,6 @@ $as_echo "#define TABDLY OXTABS" >>confdefs.h ;; gnu-linux | gnu-kfreebsd ) - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifndef __i386__ -# error "not i386" -#endif - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - $as_echo "#define ULIMIT_BREAK_VALUE (32*1024*1024)" >>confdefs.h - -fi -rm -f conftest.err conftest.$ac_ext - cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -15601,25 +15873,13 @@ rm -f conftest.err conftest.$ac_ext $as_echo "#define RUN_TIME_REMAP 1" >>confdefs.h ;; - - irix6-5) - $as_echo "#define ULIMIT_BREAK_VALUE 0x14000000" >>confdefs.h - - ;; esac - - case $opsys in - aix4-2 | hpux* | unixware) - $as_echo "#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE" >>confdefs.h - - ;; - gnu-linux | gnu-kfreebsd ) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -15644,9 +15904,6 @@ _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : $as_echo "#define GC_SETJMP_WORKS 1" >>confdefs.h -else - $as_echo "#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE" >>confdefs.h - fi rm -f conftest.err conftest.$ac_ext ;; @@ -15759,7 +16016,6 @@ esac - case $opsys in aix4-2) $as_echo "#define USG /**/" >>confdefs.h @@ -15798,9 +16054,7 @@ $as_echo "#define CYGWIN 1" >>confdefs.h ;; darwin) - $as_echo "#define BSD4_2 /**/" >>confdefs.h - - $as_echo "#define BSD_SYSTEM /**/" >>confdefs.h + $as_echo "#define BSD_SYSTEM /**/" >>confdefs.h $as_echo "#define DARWIN_OS /**/" >>confdefs.h @@ -15808,16 +16062,12 @@ $as_echo "#define DARWIN_OS /**/" >>confdefs.h ;; freebsd) - $as_echo "#define BSD4_2 /**/" >>confdefs.h - $as_echo "#define BSD_SYSTEM_AHB 1" >>confdefs.h ;; gnu | netbsd | openbsd ) - $as_echo "#define BSD4_2 /**/" >>confdefs.h - cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -15991,9 +16241,6 @@ $as_echo "#define USG_SUBTTY_WORKS 1" >>confdefs.h $as_echo "#define PREFER_VSUSP 1" >>confdefs.h - -$as_echo "#define SETPGRP_RELEASES_CTTY 1" >>confdefs.h - ;; sol2-10) @@ -16081,9 +16328,10 @@ cat >>confdefs.h <<_ACEOF #define EMACS_CONFIGURATION "${canonical}" _ACEOF +emacs_config_options=`echo "$emacs_config_options " | sed -e 's/--no-create //' -e 's/--no-recursion //' -e 's/ *$//' -e "s/\"/'/g"` cat >>confdefs.h <<_ACEOF -#define EMACS_CONFIG_OPTIONS "${ac_configure_args}" +#define EMACS_CONFIG_OPTIONS "${emacs_config_options}" _ACEOF @@ -16688,92 +16936,6 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 -$as_echo_n "checking for inline... " >&6; } -if test "${ac_cv_c_inline+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_inline=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break -done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 -$as_echo "$ac_cv_c_inline" >&6; } - -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strtold conforms to C99" >&5 -$as_echo_n "checking whether strtold conforms to C99... " >&6; } -if test "${gl_cv_func_c99_strtold+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* On HP-UX before 11.23, strtold returns a struct instead of - long double. Reject implementations like that, by requiring - compatibility with the C99 prototype. */ - #include - static long double (*p) (char const *, char **) = strtold; - static long double - test (char const *nptr, char **endptr) - { - long double r; - r = strtold (nptr, endptr); - return r; - } -int -main () -{ -return test ("1.0", NULL) != 1 || p ("1.0", NULL) != 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_c99_strtold=yes -else - gl_cv_func_c99_strtold=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_c99_strtold" >&5 -$as_echo "$gl_cv_func_c99_strtold" >&6; } - if test $gl_cv_func_c99_strtold = yes; then - -$as_echo "#define HAVE_C99_STRTOLD 1" >>confdefs.h - - fi - GNULIB_CHDIR=0; GNULIB_CHOWN=0; @@ -16898,183 +17060,27 @@ $as_echo "#define HAVE_C99_STRTOLD 1" >>confdefs.h - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5 -$as_echo_n "checking if environ is properly declared... " >&6; } - if test "${gt_cv_var_environ_declaration+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if HAVE_UNISTD_H - #include - #endif - /* mingw, BeOS, Haiku declare environ in , not in . */ - #include - - extern struct { int foo; } environ; -int -main () -{ -environ.foo = 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_var_environ_declaration=no -else - gt_cv_var_environ_declaration=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5 -$as_echo "$gt_cv_var_environ_declaration" >&6; } - if test $gt_cv_var_environ_declaration = yes; then - -$as_echo "#define HAVE_ENVIRON_DECL 1" >>confdefs.h - - fi - - - if test $gt_cv_var_environ_declaration != yes; then - HAVE_DECL_ENVIRON=0 - fi - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for st_dm_mode in struct stat" >&5 -$as_echo_n "checking for st_dm_mode in struct stat... " >&6; } -if test "${ac_cv_struct_st_dm_mode+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -int -main () -{ -struct stat s; s.st_dm_mode; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_struct_st_dm_mode=yes -else - ac_cv_struct_st_dm_mode=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_st_dm_mode" >&5 -$as_echo "$ac_cv_struct_st_dm_mode" >&6; } - - if test $ac_cv_struct_st_dm_mode = yes; then - -$as_echo "#define HAVE_ST_DM_MODE 1" >>confdefs.h - - fi - - -ac_fn_c_check_decl "$LINENO" "strmode" "ac_cv_have_decl_strmode" "$ac_includes_default" -if test "x$ac_cv_have_decl_strmode" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRMODE $ac_have_decl -_ACEOF - - - GNULIB__EXIT=0; - GNULIB_ATOLL=0; - GNULIB_CALLOC_POSIX=0; - GNULIB_CANONICALIZE_FILE_NAME=0; - GNULIB_GETLOADAVG=0; - GNULIB_GETSUBOPT=0; - GNULIB_GRANTPT=0; - GNULIB_MALLOC_POSIX=0; - GNULIB_MBTOWC=0; - GNULIB_MKDTEMP=0; - GNULIB_MKOSTEMP=0; - GNULIB_MKOSTEMPS=0; - GNULIB_MKSTEMP=0; - GNULIB_MKSTEMPS=0; - GNULIB_POSIX_OPENPT=0; - GNULIB_PTSNAME=0; - GNULIB_PTSNAME_R=0; - GNULIB_PUTENV=0; - GNULIB_RANDOM=0; - GNULIB_RANDOM_R=0; - GNULIB_REALLOC_POSIX=0; - GNULIB_REALPATH=0; - GNULIB_RPMATCH=0; - GNULIB_SETENV=0; - GNULIB_STRTOD=0; - GNULIB_STRTOLL=0; - GNULIB_STRTOULL=0; - GNULIB_SYSTEM_POSIX=0; - GNULIB_UNLOCKPT=0; - GNULIB_UNSETENV=0; - GNULIB_WCTOMB=0; - HAVE__EXIT=1; - HAVE_ATOLL=1; - HAVE_CANONICALIZE_FILE_NAME=1; - HAVE_DECL_GETLOADAVG=1; - HAVE_GETSUBOPT=1; - HAVE_GRANTPT=1; - HAVE_MKDTEMP=1; - HAVE_MKOSTEMP=1; - HAVE_MKOSTEMPS=1; - HAVE_MKSTEMP=1; - HAVE_MKSTEMPS=1; - HAVE_POSIX_OPENPT=1; - HAVE_PTSNAME=1; - HAVE_PTSNAME_R=1; - HAVE_RANDOM=1; - HAVE_RANDOM_H=1; - HAVE_RANDOM_R=1; - HAVE_REALPATH=1; - HAVE_RPMATCH=1; - HAVE_SETENV=1; - HAVE_DECL_SETENV=1; - HAVE_STRTOD=1; - HAVE_STRTOLL=1; - HAVE_STRTOULL=1; - HAVE_STRUCT_RANDOM_DATA=1; - HAVE_SYS_LOADAVG_H=0; - HAVE_UNLOCKPT=1; - HAVE_DECL_UNSETENV=1; - REPLACE_CALLOC=0; - REPLACE_CANONICALIZE_FILE_NAME=0; - REPLACE_MALLOC=0; - REPLACE_MBTOWC=0; - REPLACE_MKSTEMP=0; - REPLACE_PTSNAME=0; - REPLACE_PTSNAME_R=0; - REPLACE_PUTENV=0; - REPLACE_RANDOM_R=0; - REPLACE_REALLOC=0; - REPLACE_REALPATH=0; - REPLACE_SETENV=0; - REPLACE_STRTOD=0; - REPLACE_UNSETENV=0; - REPLACE_WCTOMB=0; + GNULIB_OPENDIR=0; + GNULIB_READDIR=0; + GNULIB_REWINDDIR=0; + GNULIB_CLOSEDIR=0; + GNULIB_DIRFD=0; + GNULIB_FDOPENDIR=0; + GNULIB_SCANDIR=0; + GNULIB_ALPHASORT=0; + HAVE_OPENDIR=1; + HAVE_READDIR=1; + HAVE_REWINDDIR=1; + HAVE_CLOSEDIR=1; + HAVE_DECL_DIRFD=1; + HAVE_DECL_FDOPENDIR=1; + HAVE_FDOPENDIR=1; + HAVE_SCANDIR=1; + HAVE_ALPHASORT=1; + REPLACE_OPENDIR=0; + REPLACE_CLOSEDIR=0; + REPLACE_DIRFD=0; + REPLACE_FDOPENDIR=0; @@ -17193,8 +17199,48 @@ $as_echo "$gl_cv_pragma_columns" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strtold conforms to C99" >&5 +$as_echo_n "checking whether strtold conforms to C99... " >&6; } +if test "${gl_cv_func_c99_strtold+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* On HP-UX before 11.23, strtold returns a struct instead of + long double. Reject implementations like that, by requiring + compatibility with the C99 prototype. */ + #include + static long double (*p) (char const *, char **) = strtold; + static long double + test (char const *nptr, char **endptr) + { + long double r; + r = strtold (nptr, endptr); + return r; + } +int +main () +{ +return test ("1.0", NULL) != 1 || p ("1.0", NULL) != 1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_func_c99_strtold=yes +else + gl_cv_func_c99_strtold=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_c99_strtold" >&5 +$as_echo "$gl_cv_func_c99_strtold" >&6; } + if test $gl_cv_func_c99_strtold = yes; then +$as_echo "#define HAVE_C99_STRTOLD 1" >>confdefs.h + fi @@ -17203,171 +17249,443 @@ $as_echo "$gl_cv_pragma_columns" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if environ is properly declared" >&5 +$as_echo_n "checking if environ is properly declared... " >&6; } + if test "${gt_cv_var_environ_declaration+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_UNISTD_H + #include + #endif + /* mingw, BeOS, Haiku declare environ in , not in . */ + #include - if test $gl_cv_have_include_next = yes; then - gl_cv_next_getopt_h='<'getopt.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_getopt_h+set}" = set; then : - $as_echo_n "(cached) " >&6 + extern struct { int foo; } environ; +int +main () +{ +environ.foo = 1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_var_environ_declaration=no else + gt_cv_var_environ_declaration=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi - if test $ac_cv_header_getopt_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_var_environ_declaration" >&5 +$as_echo "$gt_cv_var_environ_declaration" >&6; } + if test $gt_cv_var_environ_declaration = yes; then +$as_echo "#define HAVE_ENVIRON_DECL 1" >>confdefs.h - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + fi -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + if test $gt_cv_var_environ_declaration != yes; then + HAVE_DECL_ENVIRON=0 + fi - gl_header_literal_regex=`echo 'getopt.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_getopt_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_getopt_h='<'getopt.h'>' - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_getopt_h" >&5 -$as_echo "$gl_cv_next_getopt_h" >&6; } - fi - NEXT_GETOPT_H=$gl_cv_next_getopt_h - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'getopt.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_getopt_h - fi - NEXT_AS_FIRST_DIRECTIVE_GETOPT_H=$gl_next_as_first_directive - if test $ac_cv_header_getopt_h = yes; then - HAVE_GETOPT_H=1 - else - HAVE_GETOPT_H=0 - fi + GNULIB_FCNTL=0; + GNULIB_NONBLOCKING=0; + GNULIB_OPEN=0; + GNULIB_OPENAT=0; + HAVE_FCNTL=1; + HAVE_OPENAT=1; + REPLACE_FCNTL=0; + REPLACE_OPEN=0; + REPLACE_OPENAT=0; - gl_replace_getopt= - if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then - for ac_header in getopt.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" -if test "x$ac_cv_header_getopt_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETOPT_H 1 +ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" +if test "x$ac_cv_type_mode_t" = x""yes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define mode_t int _ACEOF +fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for st_dm_mode in struct stat" >&5 +$as_echo_n "checking for st_dm_mode in struct stat... " >&6; } +if test "${ac_cv_struct_st_dm_mode+set}" = set; then : + $as_echo_n "(cached) " >&6 else - gl_replace_getopt=yes + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +int +main () +{ +struct stat s; s.st_dm_mode; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_struct_st_dm_mode=yes +else + ac_cv_struct_st_dm_mode=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_st_dm_mode" >&5 +$as_echo "$ac_cv_struct_st_dm_mode" >&6; } -done + if test $ac_cv_struct_st_dm_mode = yes; then + +$as_echo "#define HAVE_ST_DM_MODE 1" >>confdefs.h fi - if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then - for ac_func in getopt_long_only -do : - ac_fn_c_check_func "$LINENO" "getopt_long_only" "ac_cv_func_getopt_long_only" -if test "x$ac_cv_func_getopt_long_only" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETOPT_LONG_ONLY 1 -_ACEOF +ac_fn_c_check_decl "$LINENO" "strmode" "ac_cv_have_decl_strmode" "$ac_includes_default" +if test "x$ac_cv_have_decl_strmode" = x""yes; then : + ac_have_decl=1 else - gl_replace_getopt=yes + ac_have_decl=0 fi -done - fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRMODE $ac_have_decl +_ACEOF - if test -z "$gl_replace_getopt"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getopt is POSIX compatible" >&5 -$as_echo_n "checking whether getopt is POSIX compatible... " >&6; } -if test "${gl_cv_func_getopt_posix+set}" = set; then : + + + + + + GNULIB_FCHMODAT=0; + GNULIB_FSTAT=0; + GNULIB_FSTATAT=0; + GNULIB_FUTIMENS=0; + GNULIB_LCHMOD=0; + GNULIB_LSTAT=0; + GNULIB_MKDIRAT=0; + GNULIB_MKFIFO=0; + GNULIB_MKFIFOAT=0; + GNULIB_MKNOD=0; + GNULIB_MKNODAT=0; + GNULIB_STAT=0; + GNULIB_UTIMENSAT=0; + HAVE_FCHMODAT=1; + HAVE_FSTATAT=1; + HAVE_FUTIMENS=1; + HAVE_LCHMOD=1; + HAVE_LSTAT=1; + HAVE_MKDIRAT=1; + HAVE_MKFIFO=1; + HAVE_MKFIFOAT=1; + HAVE_MKNOD=1; + HAVE_MKNODAT=1; + HAVE_UTIMENSAT=1; + REPLACE_FSTAT=0; + REPLACE_FSTATAT=0; + REPLACE_FUTIMENS=0; + REPLACE_LSTAT=0; + REPLACE_MKDIR=0; + REPLACE_MKFIFO=0; + REPLACE_MKNOD=0; + REPLACE_STAT=0; + REPLACE_UTIMENSAT=0; + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 +$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } +if test "${gl_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then : $as_echo_n "(cached) " >&6 else + rm -f conftest.sym conftest.file + echo >conftest.file + if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; + esac - if test $cross_compiling = no; then - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run test program while cross compiling -See \`config.log' for more details." "$LINENO" 5; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#include -#include -#include - +$ac_includes_default int main () { - static char program[] = "program"; - static char a[] = "-a"; - static char foo[] = "foo"; - static char bar[] = "bar"; - char *argv[] = { program, a, foo, bar, NULL }; - int c; +struct stat sbuf; + /* Linux will dereference the symlink and fail, as required by + POSIX. That is better in the sense that it means we will not + have to compile and use the lstat wrapper. */ + return lstat ("conftest.sym/", &sbuf) == 0; - c = getopt (4, argv, "ab"); - if (!(c == 'a')) - return 1; - c = getopt (4, argv, "ab"); - if (!(c == -1)) - return 2; - if (!(optind == 2)) - return 3; + ; return 0; } - _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_getopt_posix=maybe + gl_cv_func_lstat_dereferences_slashed_symlink=yes else - gl_cv_func_getopt_posix=no + gl_cv_func_lstat_dereferences_slashed_symlink=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - if test $gl_cv_func_getopt_posix = maybe; then - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + else + # If the 'ln -s' command failed, then we probably don't even + # have an lstat function. + gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" + fi + rm -f conftest.sym conftest.file + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lstat_dereferences_slashed_symlink" >&5 +$as_echo "$gl_cv_func_lstat_dereferences_slashed_symlink" >&6; } + case "$gl_cv_func_lstat_dereferences_slashed_symlink" in + *yes) + +cat >>confdefs.h <<_ACEOF +#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 +_ACEOF + + ;; + esac + + + + + GNULIB__EXIT=0; + GNULIB_ATOLL=0; + GNULIB_CALLOC_POSIX=0; + GNULIB_CANONICALIZE_FILE_NAME=0; + GNULIB_GETLOADAVG=0; + GNULIB_GETSUBOPT=0; + GNULIB_GRANTPT=0; + GNULIB_MALLOC_POSIX=0; + GNULIB_MBTOWC=0; + GNULIB_MKDTEMP=0; + GNULIB_MKOSTEMP=0; + GNULIB_MKOSTEMPS=0; + GNULIB_MKSTEMP=0; + GNULIB_MKSTEMPS=0; + GNULIB_POSIX_OPENPT=0; + GNULIB_PTSNAME=0; + GNULIB_PTSNAME_R=0; + GNULIB_PUTENV=0; + GNULIB_RANDOM=0; + GNULIB_RANDOM_R=0; + GNULIB_REALLOC_POSIX=0; + GNULIB_REALPATH=0; + GNULIB_RPMATCH=0; + GNULIB_SECURE_GETENV=0; + GNULIB_SETENV=0; + GNULIB_STRTOD=0; + GNULIB_STRTOLL=0; + GNULIB_STRTOULL=0; + GNULIB_SYSTEM_POSIX=0; + GNULIB_UNLOCKPT=0; + GNULIB_UNSETENV=0; + GNULIB_WCTOMB=0; + HAVE__EXIT=1; + HAVE_ATOLL=1; + HAVE_CANONICALIZE_FILE_NAME=1; + HAVE_DECL_GETLOADAVG=1; + HAVE_GETSUBOPT=1; + HAVE_GRANTPT=1; + HAVE_MKDTEMP=1; + HAVE_MKOSTEMP=1; + HAVE_MKOSTEMPS=1; + HAVE_MKSTEMP=1; + HAVE_MKSTEMPS=1; + HAVE_POSIX_OPENPT=1; + HAVE_PTSNAME=1; + HAVE_PTSNAME_R=1; + HAVE_RANDOM=1; + HAVE_RANDOM_H=1; + HAVE_RANDOM_R=1; + HAVE_REALPATH=1; + HAVE_RPMATCH=1; + HAVE_SECURE_GETENV=1; + HAVE_SETENV=1; + HAVE_DECL_SETENV=1; + HAVE_STRTOD=1; + HAVE_STRTOLL=1; + HAVE_STRTOULL=1; + HAVE_STRUCT_RANDOM_DATA=1; + HAVE_SYS_LOADAVG_H=0; + HAVE_UNLOCKPT=1; + HAVE_DECL_UNSETENV=1; + REPLACE_CALLOC=0; + REPLACE_CANONICALIZE_FILE_NAME=0; + REPLACE_MALLOC=0; + REPLACE_MBTOWC=0; + REPLACE_MKSTEMP=0; + REPLACE_PTSNAME=0; + REPLACE_PTSNAME_R=0; + REPLACE_PUTENV=0; + REPLACE_RANDOM_R=0; + REPLACE_REALLOC=0; + REPLACE_REALPATH=0; + REPLACE_SETENV=0; + REPLACE_STRTOD=0; + REPLACE_UNSETENV=0; + REPLACE_WCTOMB=0; + + + + + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_getopt_h='<'getopt.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_getopt_h+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + + if test $ac_cv_header_getopt_h = yes; then + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'getopt.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_getopt_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + else + gl_cv_next_getopt_h='<'getopt.h'>' + fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_getopt_h" >&5 +$as_echo "$gl_cv_next_getopt_h" >&6; } + fi + NEXT_GETOPT_H=$gl_cv_next_getopt_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'getopt.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_getopt_h + fi + NEXT_AS_FIRST_DIRECTIVE_GETOPT_H=$gl_next_as_first_directive + + + + + if test $ac_cv_header_getopt_h = yes; then + HAVE_GETOPT_H=1 + else + HAVE_GETOPT_H=0 + fi + + + gl_replace_getopt= + + if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then + for ac_header in getopt.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" +if test "x$ac_cv_header_getopt_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETOPT_H 1 +_ACEOF + +else + gl_replace_getopt=yes +fi + +done + + fi + + if test -z "$gl_replace_getopt" && test $gl_getopt_required = GNU; then + for ac_func in getopt_long_only +do : + ac_fn_c_check_func "$LINENO" "getopt_long_only" "ac_cv_func_getopt_long_only" +if test "x$ac_cv_func_getopt_long_only" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETOPT_LONG_ONLY 1 +_ACEOF + +else + gl_replace_getopt=yes +fi +done + + fi + + if test -z "$gl_replace_getopt"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getopt is POSIX compatible" >&5 +$as_echo_n "checking whether getopt is POSIX compatible... " >&6; } +if test "${gl_cv_func_getopt_posix+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + + if test $cross_compiling = no; then + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error "cannot run test program while cross compiling See \`config.log' for more details." "$LINENO" 5; } else @@ -17382,30 +17700,75 @@ int main () { static char program[] = "program"; - static char donald[] = "donald"; - static char p[] = "-p"; - static char billy[] = "billy"; - static char duck[] = "duck"; static char a[] = "-a"; + static char foo[] = "foo"; static char bar[] = "bar"; - char *argv[] = { program, donald, p, billy, duck, a, bar, NULL }; + char *argv[] = { program, a, foo, bar, NULL }; int c; - c = getopt (7, argv, "+abp:q:"); + c = getopt (4, argv, "ab"); + if (!(c == 'a')) + return 1; + c = getopt (4, argv, "ab"); if (!(c == -1)) - return 4; - if (!(strcmp (argv[0], "program") == 0)) - return 5; - if (!(strcmp (argv[1], "donald") == 0)) - return 6; - if (!(strcmp (argv[2], "-p") == 0)) - return 7; - if (!(strcmp (argv[3], "billy") == 0)) - return 8; - if (!(strcmp (argv[4], "duck") == 0)) - return 9; - if (!(strcmp (argv[5], "-a") == 0)) - return 10; + return 2; + if (!(optind == 2)) + return 3; + return 0; +} + +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_getopt_posix=maybe +else + gl_cv_func_getopt_posix=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + if test $gl_cv_func_getopt_posix = maybe; then + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error "cannot run test program while cross compiling +See \`config.log' for more details." "$LINENO" 5; } +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include + +int +main () +{ + static char program[] = "program"; + static char donald[] = "donald"; + static char p[] = "-p"; + static char billy[] = "billy"; + static char duck[] = "duck"; + static char a[] = "-a"; + static char bar[] = "bar"; + char *argv[] = { program, donald, p, billy, duck, a, bar, NULL }; + int c; + + c = getopt (7, argv, "+abp:q:"); + if (!(c == -1)) + return 4; + if (!(strcmp (argv[0], "program") == 0)) + return 5; + if (!(strcmp (argv[1], "donald") == 0)) + return 6; + if (!(strcmp (argv[2], "-p") == 0)) + return 7; + if (!(strcmp (argv[3], "billy") == 0)) + return 8; + if (!(strcmp (argv[4], "duck") == 0)) + return 9; + if (!(strcmp (argv[5], "-a") == 0)) + return 10; if (!(strcmp (argv[6], "bar") == 0)) return 11; if (!(optind == 1)) @@ -17703,184 +18066,2125 @@ main () return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_getopt_gnu=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_getopt_gnu=yes +else + gl_cv_func_getopt_gnu=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + case $gl_had_POSIXLY_CORRECT in + exported) ;; + yes) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;}; POSIXLY_CORRECT=1 ;; + *) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} ;; + esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_gnu" >&5 +$as_echo "$gl_cv_func_getopt_gnu" >&6; } + if test "$gl_cv_func_getopt_gnu" != yes; then + gl_replace_getopt=yes + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt_long function" >&5 +$as_echo_n "checking for working GNU getopt_long function... " >&6; } +if test "${gl_cv_func_getopt_long_gnu+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + openbsd*) gl_cv_func_getopt_long_gnu="guessing no";; + *) gl_cv_func_getopt_long_gnu="guessing yes";; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include + +int +main () +{ +static const struct option long_options[] = + { + { "xtremely-",no_argument, NULL, 1003 }, + { "xtra", no_argument, NULL, 1001 }, + { "xtreme", no_argument, NULL, 1002 }, + { "xtremely", no_argument, NULL, 1003 }, + { NULL, 0, NULL, 0 } + }; + /* This code fails on OpenBSD 5.0. */ + { + static char program[] = "program"; + static char xtremel[] = "--xtremel"; + char *argv[] = { program, xtremel, NULL }; + int option_index; + optind = 1; opterr = 0; + if (getopt_long (2, argv, "", long_options, &option_index) != 1003) + return 1; + } + return 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_getopt_long_gnu=yes +else + gl_cv_func_getopt_long_gnu=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_long_gnu" >&5 +$as_echo "$gl_cv_func_getopt_long_gnu" >&6; } + case "$gl_cv_func_getopt_long_gnu" in + *yes) ;; + *) gl_replace_getopt=yes ;; + esac + fi + fi + + + + + + + REPLACE_GETOPT=0 + if test -n "$gl_replace_getopt"; then + REPLACE_GETOPT=1 + fi + + if test $REPLACE_GETOPT = 1; then + + GETOPT_H=getopt.h + +$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h + + + + fi + +ac_fn_c_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "$ac_includes_default" +if test "x$ac_cv_have_decl_getenv" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_GETENV $ac_have_decl +_ACEOF + +: + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 +$as_echo_n "checking for C/C++ restrict keyword... " >&6; } +if test "${ac_cv_c_restrict+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_restrict=no + # The order here caters to the fact that C++ does not require restrict. + for ac_kw in __restrict __restrict__ _Restrict restrict; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +typedef int * int_ptr; + int foo (int_ptr $ac_kw ip) { + return ip[0]; + } +int +main () +{ +int s[1]; + int * $ac_kw t = s; + t[0] = 0; + return foo(t) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_restrict=$ac_kw +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_restrict" != no && break + done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 +$as_echo "$ac_cv_c_restrict" >&6; } + + case $ac_cv_c_restrict in + restrict) ;; + no) $as_echo "#define restrict /**/" >>confdefs.h + ;; + *) cat >>confdefs.h <<_ACEOF +#define restrict $ac_cv_c_restrict +_ACEOF + ;; + esac + + + GNULIB_GETTIMEOFDAY=0; + HAVE_GETTIMEOFDAY=1; + HAVE_STRUCT_TIMEVAL=1; + HAVE_SYS_TIME_H=1; + REPLACE_GETTIMEOFDAY=0; + REPLACE_STRUCT_TIMEVAL=0; + + + + + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_time_h='<'sys/time.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_sys_time_h+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + + if test $ac_cv_header_sys_time_h = yes; then + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'sys/time.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_sys_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + else + gl_cv_next_sys_time_h='<'sys/time.h'>' + fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_time_h" >&5 +$as_echo "$gl_cv_next_sys_time_h" >&6; } + fi + NEXT_SYS_TIME_H=$gl_cv_next_sys_time_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/time.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_time_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H=$gl_next_as_first_directive + + + + + + if test $ac_cv_header_sys_time_h != yes; then + HAVE_SYS_TIME_H=0 + fi + + + + + + if test $ac_cv_header_sys_socket_h != yes; then + for ac_header in winsock2.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WINSOCK2_H 1 +_ACEOF + +fi + +done + + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5 +$as_echo_n "checking for struct timeval... " >&6; } +if test "${gl_cv_sys_struct_timeval+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_SYS_TIME_H + #include + #endif + #include + #if HAVE_WINSOCK2_H + # include + #endif + +int +main () +{ +static struct timeval x; x.tv_sec = x.tv_usec; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_timeval=yes +else + gl_cv_sys_struct_timeval=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval" >&5 +$as_echo "$gl_cv_sys_struct_timeval" >&6; } + if test $gl_cv_sys_struct_timeval != yes; then + HAVE_STRUCT_TIMEVAL=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wide-enough struct timeval.tv_sec member" >&5 +$as_echo_n "checking for wide-enough struct timeval.tv_sec member... " >&6; } +if test "${gl_cv_sys_struct_timeval_tv_sec+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_SYS_TIME_H + #include + #endif + #include + #if HAVE_WINSOCK2_H + # include + #endif + +int +main () +{ +static struct timeval x; + typedef int verify_tv_sec_type[ + sizeof (time_t) <= sizeof x.tv_sec ? 1 : -1 + ]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_timeval_tv_sec=yes +else + gl_cv_sys_struct_timeval_tv_sec=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval_tv_sec" >&5 +$as_echo "$gl_cv_sys_struct_timeval_tv_sec" >&6; } + if test $gl_cv_sys_struct_timeval_tv_sec != yes; then + REPLACE_STRUCT_TIMEVAL=1 + fi + fi + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5 +$as_echo_n "checking for unsigned long long int... " >&6; } +if test "${ac_cv_type_unsigned_long_long_int+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_type_unsigned_long_long_int=yes + if test "x${ac_cv_prog_cc_c99-no}" = xno; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + /* For now, do not test the preprocessor; as of 2007 there are too many + implementations with broken preprocessors. Perhaps this can + be revisited in 2012. In the meantime, code should not expect + #if to work with literals wider than 32 bits. */ + /* Test literals. */ + long long int ll = 9223372036854775807ll; + long long int nll = -9223372036854775807LL; + unsigned long long int ull = 18446744073709551615ULL; + /* Test constant expressions. */ + typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) + ? 1 : -1)]; + typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 + ? 1 : -1)]; + int i = 63; +int +main () +{ +/* Test availability of runtime routines for shift and division. */ + long long int llmax = 9223372036854775807ll; + unsigned long long int ullmax = 18446744073709551615ull; + return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) + | (llmax / ll) | (llmax % ll) + | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) + | (ullmax / ull) | (ullmax % ull)); + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +else + ac_cv_type_unsigned_long_long_int=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5 +$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } + if test $ac_cv_type_unsigned_long_long_int = yes; then + +$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h + + fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 +$as_echo_n "checking for long long int... " >&6; } +if test "${ac_cv_type_long_long_int+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_type_long_long_int=yes + if test "x${ac_cv_prog_cc_c99-no}" = xno; then + ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int + if test $ac_cv_type_long_long_int = yes; then + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #ifndef LLONG_MAX + # define HALF \ + (1LL << (sizeof (long long int) * CHAR_BIT - 2)) + # define LLONG_MAX (HALF - 1 + HALF) + #endif +int +main () +{ +long long int n = 1; + int i; + for (i = 0; ; i++) + { + long long int m = n << i; + if (m >> i != n) + return 1; + if (LLONG_MAX / 2 < m) + break; + } + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_type_long_long_int=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5 +$as_echo "$ac_cv_type_long_long_int" >&6; } + if test $ac_cv_type_long_long_int = yes; then + +$as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h + + fi + + + + + + + gl_cv_c_multiarch=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + arch= + prev= + for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do + if test -n "$prev"; then + case $word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$arch" || test "$arch" = "$word"; then + arch="$word" + else + gl_cv_c_multiarch=yes + fi + ;; + esac + prev= + else + if test "x$word" = "x-arch"; then + prev=arch + fi + fi + done + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $gl_cv_c_multiarch = yes; then + APPLE_UNIVERSAL_BUILD=1 + else + APPLE_UNIVERSAL_BUILD=0 + fi + + + + + + if test $ac_cv_type_long_long_int = yes; then + HAVE_LONG_LONG_INT=1 + else + HAVE_LONG_LONG_INT=0 + fi + + + if test $ac_cv_type_unsigned_long_long_int = yes; then + HAVE_UNSIGNED_LONG_LONG_INT=1 + else + HAVE_UNSIGNED_LONG_LONG_INT=0 + fi + + + + if test $ac_cv_header_wchar_h = yes; then + HAVE_WCHAR_H=1 + else + HAVE_WCHAR_H=0 + fi + + + if test $ac_cv_header_inttypes_h = yes; then + HAVE_INTTYPES_H=1 + else + HAVE_INTTYPES_H=0 + fi + + + if test $ac_cv_header_sys_types_h = yes; then + HAVE_SYS_TYPES_H=1 + else + HAVE_SYS_TYPES_H=0 + fi + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stdint_h='<'stdint.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_stdint_h+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + + if test $ac_cv_header_stdint_h = yes; then + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'stdint.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + else + gl_cv_next_stdint_h='<'stdint.h'>' + fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5 +$as_echo "$gl_cv_next_stdint_h" >&6; } + fi + NEXT_STDINT_H=$gl_cv_next_stdint_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'stdint.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_stdint_h + fi + NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive + + + + + if test $ac_cv_header_stdint_h = yes; then + HAVE_STDINT_H=1 + else + HAVE_STDINT_H=0 + fi + + + if test $ac_cv_header_stdint_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5 +$as_echo_n "checking whether stdint.h conforms to C99... " >&6; } +if test "${gl_cv_header_working_stdint_h+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + gl_cv_header_working_stdint_h=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ +#include +/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ +#if !(defined WCHAR_MIN && defined WCHAR_MAX) +#error "WCHAR_MIN, WCHAR_MAX not defined in " +#endif + + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + +#ifdef INT8_MAX +int8_t a1 = INT8_MAX; +int8_t a1min = INT8_MIN; +#endif +#ifdef INT16_MAX +int16_t a2 = INT16_MAX; +int16_t a2min = INT16_MIN; +#endif +#ifdef INT32_MAX +int32_t a3 = INT32_MAX; +int32_t a3min = INT32_MIN; +#endif +#ifdef INT64_MAX +int64_t a4 = INT64_MAX; +int64_t a4min = INT64_MIN; +#endif +#ifdef UINT8_MAX +uint8_t b1 = UINT8_MAX; +#else +typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; +#endif +#ifdef UINT16_MAX +uint16_t b2 = UINT16_MAX; +#endif +#ifdef UINT32_MAX +uint32_t b3 = UINT32_MAX; +#endif +#ifdef UINT64_MAX +uint64_t b4 = UINT64_MAX; +#endif +int_least8_t c1 = INT8_C (0x7f); +int_least8_t c1max = INT_LEAST8_MAX; +int_least8_t c1min = INT_LEAST8_MIN; +int_least16_t c2 = INT16_C (0x7fff); +int_least16_t c2max = INT_LEAST16_MAX; +int_least16_t c2min = INT_LEAST16_MIN; +int_least32_t c3 = INT32_C (0x7fffffff); +int_least32_t c3max = INT_LEAST32_MAX; +int_least32_t c3min = INT_LEAST32_MIN; +int_least64_t c4 = INT64_C (0x7fffffffffffffff); +int_least64_t c4max = INT_LEAST64_MAX; +int_least64_t c4min = INT_LEAST64_MIN; +uint_least8_t d1 = UINT8_C (0xff); +uint_least8_t d1max = UINT_LEAST8_MAX; +uint_least16_t d2 = UINT16_C (0xffff); +uint_least16_t d2max = UINT_LEAST16_MAX; +uint_least32_t d3 = UINT32_C (0xffffffff); +uint_least32_t d3max = UINT_LEAST32_MAX; +uint_least64_t d4 = UINT64_C (0xffffffffffffffff); +uint_least64_t d4max = UINT_LEAST64_MAX; +int_fast8_t e1 = INT_FAST8_MAX; +int_fast8_t e1min = INT_FAST8_MIN; +int_fast16_t e2 = INT_FAST16_MAX; +int_fast16_t e2min = INT_FAST16_MIN; +int_fast32_t e3 = INT_FAST32_MAX; +int_fast32_t e3min = INT_FAST32_MIN; +int_fast64_t e4 = INT_FAST64_MAX; +int_fast64_t e4min = INT_FAST64_MIN; +uint_fast8_t f1 = UINT_FAST8_MAX; +uint_fast16_t f2 = UINT_FAST16_MAX; +uint_fast32_t f3 = UINT_FAST32_MAX; +uint_fast64_t f4 = UINT_FAST64_MAX; +#ifdef INTPTR_MAX +intptr_t g = INTPTR_MAX; +intptr_t gmin = INTPTR_MIN; +#endif +#ifdef UINTPTR_MAX +uintptr_t h = UINTPTR_MAX; +#endif +intmax_t i = INTMAX_MAX; +uintmax_t j = UINTMAX_MAX; + +#include /* for CHAR_BIT */ +#define TYPE_MINIMUM(t) \ + ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) +#define TYPE_MAXIMUM(t) \ + ((t) ((t) 0 < (t) -1 \ + ? (t) -1 \ + : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) +struct s { + int check_PTRDIFF: + PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) + && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) + ? 1 : -1; + /* Detect bug in FreeBSD 6.0 / ia64. */ + int check_SIG_ATOMIC: + SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) + && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) + ? 1 : -1; + int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; + int check_WCHAR: + WCHAR_MIN == TYPE_MINIMUM (wchar_t) + && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) + ? 1 : -1; + /* Detect bug in mingw. */ + int check_WINT: + WINT_MIN == TYPE_MINIMUM (wint_t) + && WINT_MAX == TYPE_MAXIMUM (wint_t) + ? 1 : -1; + + /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ + int check_UINT8_C: + (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; + int check_UINT16_C: + (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; + + /* Detect bugs in OpenBSD 3.9 stdint.h. */ +#ifdef UINT8_MAX + int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; +#endif +#ifdef UINT16_MAX + int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; +#endif +#ifdef UINT32_MAX + int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; +#endif +#ifdef UINT64_MAX + int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; +#endif + int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; + int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; + int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; + int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; + int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; + int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; + int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; + int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; + int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; + int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; + int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; +}; + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + if test "$cross_compiling" = yes; then : + gl_cv_header_working_stdint_h=yes + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ +#include + + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + +#include +#include +#define MVAL(macro) MVAL1(macro) +#define MVAL1(expression) #expression +static const char *macro_values[] = + { +#ifdef INT8_MAX + MVAL (INT8_MAX), +#endif +#ifdef INT16_MAX + MVAL (INT16_MAX), +#endif +#ifdef INT32_MAX + MVAL (INT32_MAX), +#endif +#ifdef INT64_MAX + MVAL (INT64_MAX), +#endif +#ifdef UINT8_MAX + MVAL (UINT8_MAX), +#endif +#ifdef UINT16_MAX + MVAL (UINT16_MAX), +#endif +#ifdef UINT32_MAX + MVAL (UINT32_MAX), +#endif +#ifdef UINT64_MAX + MVAL (UINT64_MAX), +#endif + NULL + }; + +int +main () +{ + + const char **mv; + for (mv = macro_values; *mv != NULL; mv++) + { + const char *value = *mv; + /* Test whether it looks like a cast expression. */ + if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 + || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 + || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 + || strncmp (value, "((int)"/*)*/, 6) == 0 + || strncmp (value, "((signed short)"/*)*/, 15) == 0 + || strncmp (value, "((signed char)"/*)*/, 14) == 0) + return mv - macro_values + 1; + } + return 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_header_working_stdint_h=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5 +$as_echo "$gl_cv_header_working_stdint_h" >&6; } + fi + if test "$gl_cv_header_working_stdint_h" = yes; then + STDINT_H= + else + for ac_header in sys/inttypes.h sys/bitypes.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + if test $ac_cv_header_sys_inttypes_h = yes; then + HAVE_SYS_INTTYPES_H=1 + else + HAVE_SYS_INTTYPES_H=0 + fi + + if test $ac_cv_header_sys_bitypes_h = yes; then + HAVE_SYS_BITYPES_H=1 + else + HAVE_SYS_BITYPES_H=0 + fi + + + + + if test $APPLE_UNIVERSAL_BUILD = 0; then + + + for gltype in ptrdiff_t size_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 +$as_echo_n "checking for bit size of $gltype... " >&6; } +if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + +#include "; then : + +else + result=unknown +fi + + eval gl_cv_bitsizeof_${gltype}=\$result + +fi +eval ac_res=\$gl_cv_bitsizeof_${gltype} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval result=\$gl_cv_bitsizeof_${gltype} + if test $result = unknown; then + result=0 + fi + GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + cat >>confdefs.h <<_ACEOF +#define BITSIZEOF_${GLTYPE} $result +_ACEOF + + eval BITSIZEOF_${GLTYPE}=\$result + done + + + fi + + + for gltype in sig_atomic_t wchar_t wint_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 +$as_echo_n "checking for bit size of $gltype... " >&6; } +if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + +#include "; then : + +else + result=unknown +fi + + eval gl_cv_bitsizeof_${gltype}=\$result + +fi +eval ac_res=\$gl_cv_bitsizeof_${gltype} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval result=\$gl_cv_bitsizeof_${gltype} + if test $result = unknown; then + result=0 + fi + GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + cat >>confdefs.h <<_ACEOF +#define BITSIZEOF_${GLTYPE} $result +_ACEOF + + eval BITSIZEOF_${GLTYPE}=\$result + done + + + + + for gltype in sig_atomic_t wchar_t wint_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5 +$as_echo_n "checking whether $gltype is signed... " >&6; } +if { as_var=gl_cv_type_${gltype}_signed; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + result=yes +else + result=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + eval gl_cv_type_${gltype}_signed=\$result + +fi +eval ac_res=\$gl_cv_type_${gltype}_signed + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval result=\$gl_cv_type_${gltype}_signed + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + if test "$result" = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_SIGNED_${GLTYPE} 1 +_ACEOF + + eval HAVE_SIGNED_${GLTYPE}=1 + else + eval HAVE_SIGNED_${GLTYPE}=0 + fi + done + + + gl_cv_type_ptrdiff_t_signed=yes + gl_cv_type_size_t_signed=no + if test $APPLE_UNIVERSAL_BUILD = 0; then + + + for gltype in ptrdiff_t size_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 +$as_echo_n "checking for $gltype integer literal suffix... " >&6; } +if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + eval gl_cv_type_${gltype}_suffix=no + eval result=\$gl_cv_type_${gltype}_signed + if test "$result" = yes; then + glsufu= + else + glsufu=u + fi + for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do + case $glsuf in + '') gltype1='int';; + l) gltype1='long int';; + ll) gltype1='long long int';; + i64) gltype1='__int64';; + u) gltype1='unsigned int';; + ul) gltype1='unsigned long int';; + ull) gltype1='unsigned long long int';; + ui64)gltype1='unsigned __int64';; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + extern $gltype foo; + extern $gltype1 foo; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval gl_cv_type_${gltype}_suffix=\$glsuf +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" != no && break + done +fi +eval ac_res=\$gl_cv_type_${gltype}_suffix + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" = no && result= + eval ${GLTYPE}_SUFFIX=\$result + cat >>confdefs.h <<_ACEOF +#define ${GLTYPE}_SUFFIX $result +_ACEOF + + done + + + fi + + + for gltype in sig_atomic_t wchar_t wint_t ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 +$as_echo_n "checking for $gltype integer literal suffix... " >&6; } +if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + eval gl_cv_type_${gltype}_suffix=no + eval result=\$gl_cv_type_${gltype}_signed + if test "$result" = yes; then + glsufu= + else + glsufu=u + fi + for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do + case $glsuf in + '') gltype1='int';; + l) gltype1='long int';; + ll) gltype1='long long int';; + i64) gltype1='__int64';; + u) gltype1='unsigned int';; + ul) gltype1='unsigned long int';; + ull) gltype1='unsigned long long int';; + ui64)gltype1='unsigned __int64';; + esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + /* BSD/OS 4.0.1 has a bug: , and must be + included before . */ + #include + #include + #if HAVE_WCHAR_H + # include + # include + # include + #endif + + extern $gltype foo; + extern $gltype1 foo; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval gl_cv_type_${gltype}_suffix=\$glsuf +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" != no && break + done +fi +eval ac_res=\$gl_cv_type_${gltype}_suffix + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` + eval result=\$gl_cv_type_${gltype}_suffix + test "$result" = no && result= + eval ${GLTYPE}_SUFFIX=\$result + cat >>confdefs.h <<_ACEOF +#define ${GLTYPE}_SUFFIX $result +_ACEOF + + done + + + + if test $BITSIZEOF_WINT_T -lt 32; then + BITSIZEOF_WINT_T=32 + fi + + STDINT_H=stdint.h + fi + + if test -n "$STDINT_H"; then + GL_GENERATE_STDINT_H_TRUE= + GL_GENERATE_STDINT_H_FALSE='#' +else + GL_GENERATE_STDINT_H_TRUE='#' + GL_GENERATE_STDINT_H_FALSE= +fi + + + + + + GNULIB_IMAXABS=0; + GNULIB_IMAXDIV=0; + GNULIB_STRTOIMAX=0; + GNULIB_STRTOUMAX=0; + HAVE_DECL_IMAXABS=1; + HAVE_DECL_IMAXDIV=1; + HAVE_DECL_STRTOIMAX=1; + HAVE_DECL_STRTOUMAX=1; + REPLACE_STRTOIMAX=0; + INT32_MAX_LT_INTMAX_MAX=1; + INT64_MAX_EQ_LONG_MAX='defined _LP64'; + PRI_MACROS_BROKEN=0; + PRIPTR_PREFIX=__PRIPTR_PREFIX; + UINT32_MAX_LT_UINTMAX_MAX=1; + UINT64_MAX_EQ_ULONG_MAX='defined _LP64'; + + + + + + + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_inttypes_h='<'inttypes.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_inttypes_h+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + + if test $ac_cv_header_inttypes_h = yes; then + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'inttypes.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_inttypes_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + else + gl_cv_next_inttypes_h='<'inttypes.h'>' + fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_inttypes_h" >&5 +$as_echo "$gl_cv_next_inttypes_h" >&6; } + fi + NEXT_INTTYPES_H=$gl_cv_next_inttypes_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'inttypes.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_inttypes_h + fi + NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H=$gl_next_as_first_directive + + + + + + + + + + + + case "$host_os" in + mingw*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit off_t" >&5 +$as_echo_n "checking for 64-bit off_t... " >&6; } +if test "${gl_cv_type_off_t_64+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1]; + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_type_off_t_64=yes +else + gl_cv_type_off_t_64=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_off_t_64" >&5 +$as_echo "$gl_cv_type_off_t_64" >&6; } + if test $gl_cv_type_off_t_64 = no; then + WINDOWS_64_BIT_OFF_T=1 + else + WINDOWS_64_BIT_OFF_T=0 + fi + WINDOWS_64_BIT_ST_SIZE=1 + ;; + *) + WINDOWS_64_BIT_OFF_T=0 + WINDOWS_64_BIT_ST_SIZE=0 + ;; + esac + + + + + GNULIB_FFSL=0; + GNULIB_FFSLL=0; + GNULIB_MEMCHR=0; + GNULIB_MEMMEM=0; + GNULIB_MEMPCPY=0; + GNULIB_MEMRCHR=0; + GNULIB_RAWMEMCHR=0; + GNULIB_STPCPY=0; + GNULIB_STPNCPY=0; + GNULIB_STRCHRNUL=0; + GNULIB_STRDUP=0; + GNULIB_STRNCAT=0; + GNULIB_STRNDUP=0; + GNULIB_STRNLEN=0; + GNULIB_STRPBRK=0; + GNULIB_STRSEP=0; + GNULIB_STRSTR=0; + GNULIB_STRCASESTR=0; + GNULIB_STRTOK_R=0; + GNULIB_MBSLEN=0; + GNULIB_MBSNLEN=0; + GNULIB_MBSCHR=0; + GNULIB_MBSRCHR=0; + GNULIB_MBSSTR=0; + GNULIB_MBSCASECMP=0; + GNULIB_MBSNCASECMP=0; + GNULIB_MBSPCASECMP=0; + GNULIB_MBSCASESTR=0; + GNULIB_MBSCSPN=0; + GNULIB_MBSPBRK=0; + GNULIB_MBSSPN=0; + GNULIB_MBSSEP=0; + GNULIB_MBSTOK_R=0; + GNULIB_STRERROR=0; + GNULIB_STRERROR_R=0; + GNULIB_STRSIGNAL=0; + GNULIB_STRVERSCMP=0; + HAVE_MBSLEN=0; + HAVE_FFSL=1; + HAVE_FFSLL=1; + HAVE_MEMCHR=1; + HAVE_DECL_MEMMEM=1; + HAVE_MEMPCPY=1; + HAVE_DECL_MEMRCHR=1; + HAVE_RAWMEMCHR=1; + HAVE_STPCPY=1; + HAVE_STPNCPY=1; + HAVE_STRCHRNUL=1; + HAVE_DECL_STRDUP=1; + HAVE_DECL_STRNDUP=1; + HAVE_DECL_STRNLEN=1; + HAVE_STRPBRK=1; + HAVE_STRSEP=1; + HAVE_STRCASESTR=1; + HAVE_DECL_STRTOK_R=1; + HAVE_DECL_STRERROR_R=1; + HAVE_DECL_STRSIGNAL=1; + HAVE_STRVERSCMP=1; + REPLACE_MEMCHR=0; + REPLACE_MEMMEM=0; + REPLACE_STPNCPY=0; + REPLACE_STRDUP=0; + REPLACE_STRSTR=0; + REPLACE_STRCASESTR=0; + REPLACE_STRCHRNUL=0; + REPLACE_STRERROR=0; + REPLACE_STRERROR_R=0; + REPLACE_STRNCAT=0; + REPLACE_STRNDUP=0; + REPLACE_STRNLEN=0; + REPLACE_STRSIGNAL=0; + REPLACE_STRTOK_R=0; + UNDEFINE_STRTOK_R=0; + +ac_fn_c_check_decl "$LINENO" "memrchr" "ac_cv_have_decl_memrchr" "$ac_includes_default" +if test "x$ac_cv_have_decl_memrchr" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_MEMRCHR $ac_have_decl +_ACEOF + + + GNULIB_MKTIME=0; + GNULIB_NANOSLEEP=0; + GNULIB_STRPTIME=0; + GNULIB_TIMEGM=0; + GNULIB_TIME_R=0; + HAVE_DECL_LOCALTIME_R=1; + HAVE_NANOSLEEP=1; + HAVE_STRPTIME=1; + HAVE_TIMEGM=1; + REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; + REPLACE_MKTIME=GNULIB_PORTCHECK; + REPLACE_NANOSLEEP=GNULIB_PORTCHECK; + REPLACE_TIMEGM=GNULIB_PORTCHECK; + + + + + GNULIB_PSELECT=0; + GNULIB_SELECT=0; + HAVE_PSELECT=1; + REPLACE_PSELECT=0; + REPLACE_SELECT=0; + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 +$as_echo_n "checking whether is self-contained... " >&6; } +if test "${gl_cv_header_sys_select_h_selfcontained+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +struct timeval b; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_sys_select_h_selfcontained=yes +else + gl_cv_header_sys_select_h_selfcontained=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $gl_cv_header_sys_select_h_selfcontained = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +int memset; int bzero; + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ + + #undef memset + #define memset nonexistent_memset + extern + #ifdef __cplusplus + "C" + #endif + void *memset (void *, int, unsigned long); + #undef bzero + #define bzero nonexistent_bzero + extern + #ifdef __cplusplus + "C" + #endif + void bzero (void *, unsigned long); + fd_set fds; + FD_ZERO (&fds); + + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +else + gl_cv_header_sys_select_h_selfcontained=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5 +$as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; } + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_select_h='<'sys/select.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_sys_select_h+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + + if test $ac_cv_header_sys_select_h = yes; then + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'sys/select.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_sys_select_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + else + gl_cv_next_sys_select_h='<'sys/select.h'>' + fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5 +$as_echo "$gl_cv_next_sys_select_h" >&6; } + fi + NEXT_SYS_SELECT_H=$gl_cv_next_sys_select_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/select.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_select_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H=$gl_next_as_first_directive + + + + + if test $ac_cv_header_sys_select_h = yes; then + HAVE_SYS_SELECT_H=1 + else + HAVE_SYS_SELECT_H=0 + fi + + + + + + if test $ac_cv_header_sys_socket_h != yes; then + for ac_header in winsock2.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WINSOCK2_H 1 +_ACEOF + +fi + +done + + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi + + + + + + + + + GNULIB_PTHREAD_SIGMASK=0; + GNULIB_RAISE=0; + GNULIB_SIGNAL_H_SIGPIPE=0; + GNULIB_SIGPROCMASK=0; + GNULIB_SIGACTION=0; + HAVE_POSIX_SIGNALBLOCKING=1; + HAVE_PTHREAD_SIGMASK=1; + HAVE_RAISE=1; + HAVE_SIGSET_T=1; + HAVE_SIGINFO_T=1; + HAVE_SIGACTION=1; + HAVE_STRUCT_SIGACTION_SA_SIGACTION=1; + + HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1; + + HAVE_SIGHANDLER_T=1; + REPLACE_PTHREAD_SIGMASK=0; + REPLACE_RAISE=0; + + + + + + + + ac_fn_c_check_type "$LINENO" "sigset_t" "ac_cv_type_sigset_t" " + #include + /* Mingw defines sigset_t not in , but in . */ + #include + +" +if test "x$ac_cv_type_sigset_t" = x""yes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_SIGSET_T 1 +_ACEOF + +gl_cv_type_sigset_t=yes +else + gl_cv_type_sigset_t=no +fi + + if test $gl_cv_type_sigset_t != yes; then + HAVE_SIGSET_T=0 + fi + + + + if test $ac_cv_header_sys_socket_h = no; then + for ac_header in ws2tcpip.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "ws2tcpip.h" "ac_cv_header_ws2tcpip_h" "$ac_includes_default" +if test "x$ac_cv_header_ws2tcpip_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WS2TCPIP_H 1 +_ACEOF + +fi + +done + + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 +$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } +if test "${ac_cv_header_stdbool_h+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: true is not defined" + #endif + #if true != 1 + "error: true is not 1" + #endif + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif + + struct s { _Bool s: 1; _Bool t; } s; + + char a[true == 1 ? 1 : -1]; + char b[false == 0 ? 1 : -1]; + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; + char d[(bool) 0.5 == true ? 1 : -1]; + /* See body of main program for 'e'. */ + char f[(_Bool) 0.0 == false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + enum { j = false, k = true, l = false * true, m = true * 256 }; + /* The following fails for + HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ + _Bool n[m]; + char o[sizeof n == m * sizeof n[0] ? 1 : -1]; + char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; + /* Catch a bug in an HP-UX C compiler. See + http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + */ + _Bool q = true; + _Bool *pq = &q; + +int +main () +{ + + bool e = &s; + *pq |= q; + *pq |= ! q; + /* Refer to every declared value, to avoid compiler optimizations. */ + return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + + !m + !n + !o + !p + !q + !pq); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdbool_h=yes else - gl_cv_func_getopt_gnu=no + ac_cv_header_stdbool_h=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 +$as_echo "$ac_cv_header_stdbool_h" >&6; } + ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" +if test "x$ac_cv_type__Bool" = x""yes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE__BOOL 1 +_ACEOF - case $gl_had_POSIXLY_CORRECT in - exported) ;; - yes) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;}; POSIXLY_CORRECT=1 ;; - *) { POSIXLY_CORRECT=; unset POSIXLY_CORRECT;} ;; - esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_gnu" >&5 -$as_echo "$gl_cv_func_getopt_gnu" >&6; } - if test "$gl_cv_func_getopt_gnu" != yes; then - gl_replace_getopt=yes - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working GNU getopt_long function" >&5 -$as_echo_n "checking for working GNU getopt_long function... " >&6; } -if test "${gl_cv_func_getopt_long_gnu+set}" = set; then : + + + + REPLACE_NULL=0; + HAVE_WCHAR_T=1; + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 +$as_echo_n "checking for wchar_t... " >&6; } +if test "${gt_cv_c_wchar_t+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then : - case "$host_os" in - openbsd*) gl_cv_func_getopt_long_gnu="guessing no";; - *) gl_cv_func_getopt_long_gnu="guessing yes";; - esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + wchar_t foo = (wchar_t)'\0'; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_c_wchar_t=yes +else + gt_cv_c_wchar_t=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 +$as_echo "$gt_cv_c_wchar_t" >&6; } + if test $gt_cv_c_wchar_t = yes; then + +$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h + + fi + + + GNULIB_DPRINTF=0; + GNULIB_FCLOSE=0; + GNULIB_FDOPEN=0; + GNULIB_FFLUSH=0; + GNULIB_FGETC=0; + GNULIB_FGETS=0; + GNULIB_FOPEN=0; + GNULIB_FPRINTF=0; + GNULIB_FPRINTF_POSIX=0; + GNULIB_FPURGE=0; + GNULIB_FPUTC=0; + GNULIB_FPUTS=0; + GNULIB_FREAD=0; + GNULIB_FREOPEN=0; + GNULIB_FSCANF=0; + GNULIB_FSEEK=0; + GNULIB_FSEEKO=0; + GNULIB_FTELL=0; + GNULIB_FTELLO=0; + GNULIB_FWRITE=0; + GNULIB_GETC=0; + GNULIB_GETCHAR=0; + GNULIB_GETDELIM=0; + GNULIB_GETLINE=0; + GNULIB_OBSTACK_PRINTF=0; + GNULIB_OBSTACK_PRINTF_POSIX=0; + GNULIB_PCLOSE=0; + GNULIB_PERROR=0; + GNULIB_POPEN=0; + GNULIB_PRINTF=0; + GNULIB_PRINTF_POSIX=0; + GNULIB_PUTC=0; + GNULIB_PUTCHAR=0; + GNULIB_PUTS=0; + GNULIB_REMOVE=0; + GNULIB_RENAME=0; + GNULIB_RENAMEAT=0; + GNULIB_SCANF=0; + GNULIB_SNPRINTF=0; + GNULIB_SPRINTF_POSIX=0; + GNULIB_STDIO_H_NONBLOCKING=0; + GNULIB_STDIO_H_SIGPIPE=0; + GNULIB_TMPFILE=0; + GNULIB_VASPRINTF=0; + GNULIB_VFSCANF=0; + GNULIB_VSCANF=0; + GNULIB_VDPRINTF=0; + GNULIB_VFPRINTF=0; + GNULIB_VFPRINTF_POSIX=0; + GNULIB_VPRINTF=0; + GNULIB_VPRINTF_POSIX=0; + GNULIB_VSNPRINTF=0; + GNULIB_VSPRINTF_POSIX=0; + HAVE_DECL_FPURGE=1; + HAVE_DECL_FSEEKO=1; + HAVE_DECL_FTELLO=1; + HAVE_DECL_GETDELIM=1; + HAVE_DECL_GETLINE=1; + HAVE_DECL_OBSTACK_PRINTF=1; + HAVE_DECL_SNPRINTF=1; + HAVE_DECL_VSNPRINTF=1; + HAVE_DPRINTF=1; + HAVE_FSEEKO=1; + HAVE_FTELLO=1; + HAVE_PCLOSE=1; + HAVE_POPEN=1; + HAVE_RENAMEAT=1; + HAVE_VASPRINTF=1; + HAVE_VDPRINTF=1; + REPLACE_DPRINTF=0; + REPLACE_FCLOSE=0; + REPLACE_FDOPEN=0; + REPLACE_FFLUSH=0; + REPLACE_FOPEN=0; + REPLACE_FPRINTF=0; + REPLACE_FPURGE=0; + REPLACE_FREOPEN=0; + REPLACE_FSEEK=0; + REPLACE_FSEEKO=0; + REPLACE_FTELL=0; + REPLACE_FTELLO=0; + REPLACE_GETDELIM=0; + REPLACE_GETLINE=0; + REPLACE_OBSTACK_PRINTF=0; + REPLACE_PERROR=0; + REPLACE_POPEN=0; + REPLACE_PRINTF=0; + REPLACE_REMOVE=0; + REPLACE_RENAME=0; + REPLACE_RENAMEAT=0; + REPLACE_SNPRINTF=0; + REPLACE_SPRINTF=0; + REPLACE_STDIO_READ_FUNCS=0; + REPLACE_STDIO_WRITE_FUNCS=0; + REPLACE_TMPFILE=0; + REPLACE_VASPRINTF=0; + REPLACE_VDPRINTF=0; + REPLACE_VFPRINTF=0; + REPLACE_VPRINTF=0; + REPLACE_VSNPRINTF=0; + REPLACE_VSPRINTF=0; +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 +$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } +if test "${ac_cv_struct_tm+set}" = set; then : + $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - #include +#include +#include int main () { -static const struct option long_options[] = - { - { "xtremely-",no_argument, NULL, 1003 }, - { "xtra", no_argument, NULL, 1001 }, - { "xtreme", no_argument, NULL, 1002 }, - { "xtremely", no_argument, NULL, 1003 }, - { NULL, 0, NULL, 0 } - }; - /* This code fails on OpenBSD 5.0. */ - { - static char program[] = "program"; - static char xtremel[] = "--xtremel"; - char *argv[] = { program, xtremel, NULL }; - int option_index; - optind = 1; opterr = 0; - if (getopt_long (2, argv, "", long_options, &option_index) != 1003) - return 1; - } - return 0; - +struct tm tm; + int *p = &tm.tm_sec; + return !p; ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_getopt_long_gnu=yes +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_struct_tm=time.h else - gl_cv_func_getopt_long_gnu=no + ac_cv_struct_tm=sys/time.h fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 +$as_echo "$ac_cv_struct_tm" >&6; } +if test $ac_cv_struct_tm = sys/time.h; then +$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getopt_long_gnu" >&5 -$as_echo "$gl_cv_func_getopt_long_gnu" >&6; } - case "$gl_cv_func_getopt_long_gnu" in - *yes) ;; - *) gl_replace_getopt=yes ;; - esac - fi - fi - - - - +ac_fn_c_check_member "$LINENO" "struct tm" "tm_zone" "ac_cv_member_struct_tm_tm_zone" "#include +#include <$ac_cv_struct_tm> - REPLACE_GETOPT=0 - if test -n "$gl_replace_getopt"; then - REPLACE_GETOPT=1 - fi - - if test $REPLACE_GETOPT = 1; then +" +if test "x$ac_cv_member_struct_tm_tm_zone" = x""yes; then : - GETOPT_H=getopt.h +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_TM_TM_ZONE 1 +_ACEOF -$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h +fi +if test "$ac_cv_member_struct_tm_tm_zone" = yes; then - fi +$as_echo "#define HAVE_TM_ZONE 1" >>confdefs.h -ac_fn_c_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "$ac_includes_default" -if test "x$ac_cv_have_decl_getenv" = x""yes; then : +else + ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include +" +if test "x$ac_cv_have_decl_tzname" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_GETENV $ac_have_decl +#define HAVE_DECL_TZNAME $ac_have_decl _ACEOF -: - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 -$as_echo_n "checking for C/C++ restrict keyword... " >&6; } -if test "${ac_cv_c_restrict+set}" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 +$as_echo_n "checking for tzname... " >&6; } +if test "${ac_cv_var_tzname+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_cv_c_restrict=no - # The order here caters to the fact that C++ does not require restrict. - for ac_kw in __restrict __restrict__ _Restrict restrict; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -typedef int * int_ptr; - int foo (int_ptr $ac_kw ip) { - return ip[0]; - } +#include +#if !HAVE_DECL_TZNAME +extern char *tzname[]; +#endif + int main () { -int s[1]; - int * $ac_kw t = s; - t[0] = 0; - return foo(t) +return tzname[0][0]; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_restrict=$ac_kw +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_var_tzname=yes +else + ac_cv_var_tzname=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_restrict" != no && break - done - +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 -$as_echo "$ac_cv_c_restrict" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5 +$as_echo "$ac_cv_var_tzname" >&6; } + if test $ac_cv_var_tzname = yes; then - case $ac_cv_c_restrict in - restrict) ;; - no) $as_echo "#define restrict /**/" >>confdefs.h - ;; - *) cat >>confdefs.h <<_ACEOF -#define restrict $ac_cv_c_restrict -_ACEOF - ;; - esac +$as_echo "#define HAVE_TZNAME 1" >>confdefs.h + fi +fi - GNULIB_GETTIMEOFDAY=0; - HAVE_GETTIMEOFDAY=1; - HAVE_STRUCT_TIMEVAL=1; - HAVE_SYS_TIME_H=1; - REPLACE_GETTIMEOFDAY=0; - REPLACE_STRUCT_TIMEVAL=0; + ac_fn_c_check_member "$LINENO" "struct tm" "tm_gmtoff" "ac_cv_member_struct_tm_tm_gmtoff" "#include +" +if test "x$ac_cv_member_struct_tm_tm_gmtoff" = x""yes; then : +$as_echo "#define HAVE_TM_GMTOFF 1" >>confdefs.h +fi @@ -17895,20 +20199,17 @@ _ACEOF if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_time_h='<'sys/time.h'>' + gl_cv_next_string_h='<'string.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_time_h+set}" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_string_h+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_sys_time_h = yes; then - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in @@ -17926,7 +20227,7 @@ _ACEOF esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'sys/time.h' \ + gl_header_literal_regex=`echo 'string.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ @@ -17934,346 +20235,202 @@ _ACEOF p q }' - gl_cv_next_sys_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + gl_cv_next_string_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_sys_time_h='<'sys/time.h'>' - fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_time_h" >&5 -$as_echo "$gl_cv_next_sys_time_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_string_h" >&5 +$as_echo "$gl_cv_next_string_h" >&6; } fi - NEXT_SYS_TIME_H=$gl_cv_next_sys_time_h + NEXT_STRING_H=$gl_cv_next_string_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/time.h'>' + gl_next_as_first_directive='<'string.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_time_h + gl_next_as_first_directive=$gl_cv_next_string_h fi - NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_STRING_H=$gl_next_as_first_directive - if test $ac_cv_header_sys_time_h != yes; then - HAVE_SYS_TIME_H=0 - fi +ac_fn_c_check_decl "$LINENO" "strtoimax" "ac_cv_have_decl_strtoimax" "$ac_includes_default" +if test "x$ac_cv_have_decl_strtoimax" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRTOIMAX $ac_have_decl _ACEOF + + +ac_fn_c_check_decl "$LINENO" "strtoumax" "ac_cv_have_decl_strtoumax" "$ac_includes_default" +if test "x$ac_cv_have_decl_strtoumax" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 fi -done +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRTOUMAX $ac_have_decl +_ACEOF - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timeval" >&5 -$as_echo_n "checking for struct timeval... " >&6; } -if test "${gl_cv_sys_struct_timeval+set}" = set; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 +$as_echo_n "checking whether stat file-mode macros are broken... " >&6; } +if test "${ac_cv_header_stat_broken+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if HAVE_SYS_TIME_H - #include - #endif - #include - #if HAVE_WINSOCK2_H - # include - #endif +#include +#include -int -main () -{ -static struct timeval x; x.tv_sec = x.tv_usec; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_sys_struct_timeval=yes -else - gl_cv_sys_struct_timeval=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +#if defined S_ISBLK && defined S_IFDIR +extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1]; +#endif -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval" >&5 -$as_echo "$gl_cv_sys_struct_timeval" >&6; } - if test $gl_cv_sys_struct_timeval != yes; then - HAVE_STRUCT_TIMEVAL=0 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wide-enough struct timeval.tv_sec member" >&5 -$as_echo_n "checking for wide-enough struct timeval.tv_sec member... " >&6; } -if test "${gl_cv_sys_struct_timeval_tv_sec+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if HAVE_SYS_TIME_H - #include - #endif - #include - #if HAVE_WINSOCK2_H - # include - #endif +#if defined S_ISBLK && defined S_IFCHR +extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1]; +#endif -int -main () -{ -static struct timeval x; - typedef int verify_tv_sec_type[ - sizeof (time_t) <= sizeof x.tv_sec ? 1 : -1 - ]; +#if defined S_ISLNK && defined S_IFREG +extern char c3[S_ISLNK (S_IFREG) ? -1 : 1]; +#endif + +#if defined S_ISSOCK && defined S_IFREG +extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; +#endif - ; - return 0; -} _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_sys_struct_timeval_tv_sec=yes + ac_cv_header_stat_broken=no else - gl_cv_sys_struct_timeval_tv_sec=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timeval_tv_sec" >&5 -$as_echo "$gl_cv_sys_struct_timeval_tv_sec" >&6; } - if test $gl_cv_sys_struct_timeval_tv_sec != yes; then - REPLACE_STRUCT_TIMEVAL=1 - fi - fi + ac_cv_header_stat_broken=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5 +$as_echo "$ac_cv_header_stat_broken" >&6; } +if test $ac_cv_header_stat_broken = yes; then +$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5 -$as_echo_n "checking for unsigned long long int... " >&6; } -if test "${ac_cv_type_unsigned_long_long_int+set}" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 +$as_echo_n "checking for struct timespec in ... " >&6; } +if test "${gl_cv_sys_struct_timespec_in_time_h+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_cv_type_unsigned_long_long_int=yes - if test "x${ac_cv_prog_cc_c99-no}" = xno; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include - /* For now, do not test the preprocessor; as of 2007 there are too many - implementations with broken preprocessors. Perhaps this can - be revisited in 2012. In the meantime, code should not expect - #if to work with literals wider than 32 bits. */ - /* Test literals. */ - long long int ll = 9223372036854775807ll; - long long int nll = -9223372036854775807LL; - unsigned long long int ull = 18446744073709551615ULL; - /* Test constant expressions. */ - typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - ? 1 : -1)]; - typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 - ? 1 : -1)]; - int i = 63; int main () { -/* Test availability of runtime routines for shift and division. */ - long long int llmax = 9223372036854775807ll; - unsigned long long int ullmax = 18446744073709551615ull; - return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) - | (llmax / ll) | (llmax % ll) - | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) - | (ullmax / ull) | (ullmax % ull)); +static struct timespec x; x.tv_sec = x.tv_nsec; ; return 0; } - _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_timespec_in_time_h=yes else - ac_cv_type_unsigned_long_long_int=no + gl_cv_sys_struct_timespec_in_time_h=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5 -$as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } - if test $ac_cv_type_unsigned_long_long_int = yes; then - -$as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h - - fi - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5 +$as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 -$as_echo_n "checking for long long int... " >&6; } -if test "${ac_cv_type_long_long_int+set}" = set; then : + TIME_H_DEFINES_STRUCT_TIMESPEC=0 + SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 + PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0 + if test $gl_cv_sys_struct_timespec_in_time_h = yes; then + TIME_H_DEFINES_STRUCT_TIMESPEC=1 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 +$as_echo_n "checking for struct timespec in ... " >&6; } +if test "${gl_cv_sys_struct_timespec_in_sys_time_h+set}" = set; then : $as_echo_n "(cached) " >&6 -else - ac_cv_type_long_long_int=yes - if test "x${ac_cv_prog_cc_c99-no}" = xno; then - ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int - if test $ac_cv_type_long_long_int = yes; then - if test "$cross_compiling" = yes; then : - : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #ifndef LLONG_MAX - # define HALF \ - (1LL << (sizeof (long long int) * CHAR_BIT - 2)) - # define LLONG_MAX (HALF - 1 + HALF) - #endif +#include + int main () { -long long int n = 1; - int i; - for (i = 0; ; i++) - { - long long int m = n << i; - if (m >> i != n) - return 1; - if (LLONG_MAX / 2 < m) - break; - } - return 0; +static struct timespec x; x.tv_sec = x.tv_nsec; ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_timespec_in_sys_time_h=yes else - ac_cv_type_long_long_int=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gl_cv_sys_struct_timespec_in_sys_time_h=no fi - - fi - fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5 -$as_echo "$ac_cv_type_long_long_int" >&6; } - if test $ac_cv_type_long_long_int = yes; then - -$as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h - - fi - - - - - - - gl_cv_c_multiarch=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5 +$as_echo "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; } + if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then + SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 +$as_echo_n "checking for struct timespec in ... " >&6; } +if test "${gl_cv_sys_struct_timespec_in_pthread_h+set}" = set; then : + $as_echo_n "(cached) " >&6 +else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; +#include +int +main () +{ +static struct timespec x; x.tv_sec = x.tv_nsec; + ; + return 0; +} _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - - arch= - prev= - for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do - if test -n "$prev"; then - case $word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$arch" || test "$arch" = "$word"; then - arch="$word" - else - gl_cv_c_multiarch=yes - fi - ;; - esac - prev= - else - if test "x$word" = "x-arch"; then - prev=arch - fi - fi - done - + gl_cv_sys_struct_timespec_in_pthread_h=yes +else + gl_cv_sys_struct_timespec_in_pthread_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $gl_cv_c_multiarch = yes; then - APPLE_UNIVERSAL_BUILD=1 - else - APPLE_UNIVERSAL_BUILD=0 - fi - - - - - - if test $ac_cv_type_long_long_int = yes; then - HAVE_LONG_LONG_INT=1 - else - HAVE_LONG_LONG_INT=0 - fi - - - if test $ac_cv_type_unsigned_long_long_int = yes; then - HAVE_UNSIGNED_LONG_LONG_INT=1 - else - HAVE_UNSIGNED_LONG_LONG_INT=0 - fi - - - - if test $ac_cv_header_wchar_h = yes; then - HAVE_WCHAR_H=1 - else - HAVE_WCHAR_H=0 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5 +$as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; } + if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then + PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1 + fi + fi fi - if test $ac_cv_header_inttypes_h = yes; then - HAVE_INTTYPES_H=1 - else - HAVE_INTTYPES_H=0 - fi - if test $ac_cv_header_sys_types_h = yes; then - HAVE_SYS_TYPES_H=1 - else - HAVE_SYS_TYPES_H=0 - fi @@ -18286,20 +20443,17 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdint_h='<'stdint.h'>' + gl_cv_next_time_h='<'time.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdint_h+set}" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_time_h+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_stdint_h = yes; then - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in @@ -18317,7 +20471,7 @@ _ACEOF esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'stdint.h' \ + gl_header_literal_regex=`echo 'time.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ @@ -18325,662 +20479,489 @@ _ACEOF p q }' - gl_cv_next_stdint_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + gl_cv_next_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_stdint_h='<'stdint.h'>' - fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdint_h" >&5 -$as_echo "$gl_cv_next_stdint_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5 +$as_echo "$gl_cv_next_time_h" >&6; } fi - NEXT_STDINT_H=$gl_cv_next_stdint_h + NEXT_TIME_H=$gl_cv_next_time_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stdint.h'>' + gl_next_as_first_directive='<'time.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdint_h + gl_next_as_first_directive=$gl_cv_next_time_h fi - NEXT_AS_FIRST_DIRECTIVE_STDINT_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_TIME_H=$gl_next_as_first_directive + + - if test $ac_cv_header_stdint_h = yes; then - HAVE_STDINT_H=1 - else - HAVE_STDINT_H=0 - fi - if test $ac_cv_header_stdint_h = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stdint.h conforms to C99" >&5 -$as_echo_n "checking whether stdint.h conforms to C99... " >&6; } -if test "${gl_cv_header_working_stdint_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - gl_cv_header_working_stdint_h=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include -/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in . */ -#if !(defined WCHAR_MIN && defined WCHAR_MAX) -#error "WCHAR_MIN, WCHAR_MAX not defined in " -#endif - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif -#ifdef INT8_MAX -int8_t a1 = INT8_MAX; -int8_t a1min = INT8_MIN; -#endif -#ifdef INT16_MAX -int16_t a2 = INT16_MAX; -int16_t a2min = INT16_MIN; -#endif -#ifdef INT32_MAX -int32_t a3 = INT32_MAX; -int32_t a3min = INT32_MIN; -#endif -#ifdef INT64_MAX -int64_t a4 = INT64_MAX; -int64_t a4min = INT64_MIN; -#endif -#ifdef UINT8_MAX -uint8_t b1 = UINT8_MAX; -#else -typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; -#endif -#ifdef UINT16_MAX -uint16_t b2 = UINT16_MAX; -#endif -#ifdef UINT32_MAX -uint32_t b3 = UINT32_MAX; -#endif -#ifdef UINT64_MAX -uint64_t b4 = UINT64_MAX; -#endif -int_least8_t c1 = INT8_C (0x7f); -int_least8_t c1max = INT_LEAST8_MAX; -int_least8_t c1min = INT_LEAST8_MIN; -int_least16_t c2 = INT16_C (0x7fff); -int_least16_t c2max = INT_LEAST16_MAX; -int_least16_t c2min = INT_LEAST16_MIN; -int_least32_t c3 = INT32_C (0x7fffffff); -int_least32_t c3max = INT_LEAST32_MAX; -int_least32_t c3min = INT_LEAST32_MIN; -int_least64_t c4 = INT64_C (0x7fffffffffffffff); -int_least64_t c4max = INT_LEAST64_MAX; -int_least64_t c4min = INT_LEAST64_MIN; -uint_least8_t d1 = UINT8_C (0xff); -uint_least8_t d1max = UINT_LEAST8_MAX; -uint_least16_t d2 = UINT16_C (0xffff); -uint_least16_t d2max = UINT_LEAST16_MAX; -uint_least32_t d3 = UINT32_C (0xffffffff); -uint_least32_t d3max = UINT_LEAST32_MAX; -uint_least64_t d4 = UINT64_C (0xffffffffffffffff); -uint_least64_t d4max = UINT_LEAST64_MAX; -int_fast8_t e1 = INT_FAST8_MAX; -int_fast8_t e1min = INT_FAST8_MIN; -int_fast16_t e2 = INT_FAST16_MAX; -int_fast16_t e2min = INT_FAST16_MIN; -int_fast32_t e3 = INT_FAST32_MAX; -int_fast32_t e3min = INT_FAST32_MIN; -int_fast64_t e4 = INT_FAST64_MAX; -int_fast64_t e4min = INT_FAST64_MIN; -uint_fast8_t f1 = UINT_FAST8_MAX; -uint_fast16_t f2 = UINT_FAST16_MAX; -uint_fast32_t f3 = UINT_FAST32_MAX; -uint_fast64_t f4 = UINT_FAST64_MAX; -#ifdef INTPTR_MAX -intptr_t g = INTPTR_MAX; -intptr_t gmin = INTPTR_MIN; -#endif -#ifdef UINTPTR_MAX -uintptr_t h = UINTPTR_MAX; -#endif -intmax_t i = INTMAX_MAX; -uintmax_t j = UINTMAX_MAX; +ac_fn_c_check_decl "$LINENO" "unsetenv" "ac_cv_have_decl_unsetenv" "$ac_includes_default" +if test "x$ac_cv_have_decl_unsetenv" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi -#include /* for CHAR_BIT */ -#define TYPE_MINIMUM(t) \ - ((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t))) -#define TYPE_MAXIMUM(t) \ - ((t) ((t) 0 < (t) -1 \ - ? (t) -1 \ - : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) -struct s { - int check_PTRDIFF: - PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) - && PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) - ? 1 : -1; - /* Detect bug in FreeBSD 6.0 / ia64. */ - int check_SIG_ATOMIC: - SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) - && SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) - ? 1 : -1; - int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; - int check_WCHAR: - WCHAR_MIN == TYPE_MINIMUM (wchar_t) - && WCHAR_MAX == TYPE_MAXIMUM (wchar_t) - ? 1 : -1; - /* Detect bug in mingw. */ - int check_WINT: - WINT_MIN == TYPE_MINIMUM (wint_t) - && WINT_MAX == TYPE_MAXIMUM (wint_t) - ? 1 : -1; +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_UNSETENV $ac_have_decl +_ACEOF - /* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ - int check_UINT8_C: - (-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; - int check_UINT16_C: - (-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; - /* Detect bugs in OpenBSD 3.9 stdint.h. */ -#ifdef UINT8_MAX - int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; -#endif -#ifdef UINT16_MAX - int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; -#endif -#ifdef UINT32_MAX - int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; -#endif -#ifdef UINT64_MAX - int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; -#endif - int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; - int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; - int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; - int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; - int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; - int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; - int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; - int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; - int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; - int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; - int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; -}; + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the utimes function works" >&5 +$as_echo_n "checking whether the utimes function works... " >&6; } +if test "${gl_cv_func_working_utimes+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + + if test "$cross_compiling" = yes; then : + gl_cv_func_working_utimes=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static int +inorder (time_t a, time_t b, time_t c) +{ + return a <= b && b <= c; +} int main () { + int result = 0; + char const *file = "conftest.utimes"; + static struct timeval timeval[2] = {{9, 10}, {999999, 999999}}; + + /* Test whether utimes() essentially works. */ + { + struct stat sbuf; + FILE *f = fopen (file, "w"); + if (f == NULL) + result |= 1; + else if (fclose (f) != 0) + result |= 1; + else if (utimes (file, timeval) != 0) + result |= 2; + else if (lstat (file, &sbuf) != 0) + result |= 1; + else if (!(sbuf.st_atime == timeval[0].tv_sec + && sbuf.st_mtime == timeval[1].tv_sec)) + result |= 4; + if (unlink (file) != 0) + result |= 1; + } + + /* Test whether utimes() with a NULL argument sets the file's timestamp + to the current time. Use 'fstat' as well as 'time' to + determine the "current" time, to accommodate NFS file systems + if there is a time skew between the host and the NFS server. */ + { + int fd = open (file, O_WRONLY|O_CREAT, 0644); + if (fd < 0) + result |= 1; + else + { + time_t t0, t2; + struct stat st0, st1, st2; + if (time (&t0) == (time_t) -1) + result |= 1; + else if (fstat (fd, &st0) != 0) + result |= 1; + else if (utimes (file, timeval) != 0) + result |= 2; + else if (utimes (file, NULL) != 0) + result |= 8; + else if (fstat (fd, &st1) != 0) + result |= 1; + else if (write (fd, "\n", 1) != 1) + result |= 1; + else if (fstat (fd, &st2) != 0) + result |= 1; + else if (time (&t2) == (time_t) -1) + result |= 1; + else + { + int m_ok_POSIX = inorder (t0, st1.st_mtime, t2); + int m_ok_NFS = inorder (st0.st_mtime, st1.st_mtime, st2.st_mtime); + if (! (st1.st_atime == st1.st_mtime)) + result |= 16; + if (! (m_ok_POSIX || m_ok_NFS)) + result |= 32; + } + if (close (fd) != 0) + result |= 1; + } + if (unlink (file) != 0) + result |= 1; + } - ; - return 0; + /* Test whether utimes() with a NULL argument works on read-only files. */ + { + int fd = open (file, O_WRONLY|O_CREAT, 0444); + if (fd < 0) + result |= 1; + else if (close (fd) != 0) + result |= 1; + else if (utimes (file, NULL) != 0) + result |= 64; + if (unlink (file) != 0) + result |= 1; + } + + return result; } -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if test "$cross_compiling" = yes; then : - gl_cv_header_working_stdint_h=yes +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_working_utimes=yes else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + gl_cv_func_working_utimes=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_utimes" >&5 +$as_echo "$gl_cv_func_working_utimes" >&6; } -#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ -#include + if test $gl_cv_func_working_utimes = yes; then +$as_echo "#define HAVE_WORKING_UTIMES 1" >>confdefs.h - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif + fi -#include -#include -#define MVAL(macro) MVAL1(macro) -#define MVAL1(expression) #expression -static const char *macro_values[] = - { -#ifdef INT8_MAX - MVAL (INT8_MAX), -#endif -#ifdef INT16_MAX - MVAL (INT16_MAX), -#endif -#ifdef INT32_MAX - MVAL (INT32_MAX), -#endif -#ifdef INT64_MAX - MVAL (INT64_MAX), -#endif -#ifdef UINT8_MAX - MVAL (UINT8_MAX), -#endif -#ifdef UINT16_MAX - MVAL (UINT16_MAX), -#endif -#ifdef UINT32_MAX - MVAL (UINT32_MAX), -#endif -#ifdef UINT64_MAX - MVAL (UINT64_MAX), -#endif - NULL - }; + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct utimbuf" >&5 +$as_echo_n "checking for struct utimbuf... " >&6; } +if test "${gl_cv_sys_struct_utimbuf+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_SYS_TIME_H + #include + #endif + #include + #ifdef HAVE_UTIME_H + #include + #endif int main () { - - const char **mv; - for (mv = macro_values; *mv != NULL; mv++) - { - const char *value = *mv; - /* Test whether it looks like a cast expression. */ - if (strncmp (value, "((unsigned int)"/*)*/, 15) == 0 - || strncmp (value, "((unsigned short)"/*)*/, 17) == 0 - || strncmp (value, "((unsigned char)"/*)*/, 16) == 0 - || strncmp (value, "((int)"/*)*/, 6) == 0 - || strncmp (value, "((signed short)"/*)*/, 15) == 0 - || strncmp (value, "((signed char)"/*)*/, 14) == 0) - return mv - macro_values + 1; - } - return 0; - +static struct utimbuf x; x.actime = x.modtime; ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_header_working_stdint_h=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_sys_struct_utimbuf=yes +else + gl_cv_sys_struct_utimbuf=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_utimbuf" >&5 +$as_echo "$gl_cv_sys_struct_utimbuf" >&6; } + if test $gl_cv_sys_struct_utimbuf = yes; then -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +$as_echo "#define HAVE_STRUCT_UTIMBUF 1" >>confdefs.h -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdint_h" >&5 -$as_echo "$gl_cv_header_working_stdint_h" >&6; } fi - if test "$gl_cv_header_working_stdint_h" = yes; then - STDINT_H= - else - for ac_header in sys/inttypes.h sys/bitypes.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF -fi -done - if test $ac_cv_header_sys_inttypes_h = yes; then - HAVE_SYS_INTTYPES_H=1 - else - HAVE_SYS_INTTYPES_H=0 - fi - if test $ac_cv_header_sys_bitypes_h = yes; then - HAVE_SYS_BITYPES_H=1 - else - HAVE_SYS_BITYPES_H=0 - fi - if test $APPLE_UNIVERSAL_BUILD = 0; then - for gltype in ptrdiff_t size_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 -$as_echo_n "checking for bit size of $gltype... " >&6; } -if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then : + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking type of array argument to getgroups" >&5 +$as_echo_n "checking type of array argument to getgroups... " >&6; } +if test "${ac_cv_type_getgroups+set}" = set; then : $as_echo_n "(cached) " >&6 else - if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - -#include "; then : + if test "$cross_compiling" = yes; then : + ac_cv_type_getgroups=cross +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Thanks to Mike Rendell for this test. */ +$ac_includes_default +#define NGID 256 +#undef MAX +#define MAX(x, y) ((x) > (y) ? (x) : (y)) +int +main () +{ + gid_t gidset[NGID]; + int i, n; + union { gid_t gval; long int lval; } val; + + val.lval = -1; + for (i = 0; i < NGID; i++) + gidset[i] = val.gval; + n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1, + gidset); + /* Exit non-zero if getgroups seems to require an array of ints. This + happens when gid_t is short int but getgroups modifies an array + of ints. */ + return n > 0 && gidset[n] != val.gval; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_type_getgroups=gid_t else - result=unknown + ac_cv_type_getgroups=int +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - eval gl_cv_bitsizeof_${gltype}=\$result +if test $ac_cv_type_getgroups = cross; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -fi -eval ac_res=\$gl_cv_bitsizeof_${gltype} - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_bitsizeof_${gltype} - if test $result = unknown; then - result=0 - fi - GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - cat >>confdefs.h <<_ACEOF -#define BITSIZEOF_${GLTYPE} $result _ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "getgroups.*int.*gid_t" >/dev/null 2>&1; then : + ac_cv_type_getgroups=gid_t +else + ac_cv_type_getgroups=int +fi +rm -f conftest* - eval BITSIZEOF_${GLTYPE}=\$result - done - +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_getgroups" >&5 +$as_echo "$ac_cv_type_getgroups" >&6; } - fi +cat >>confdefs.h <<_ACEOF +#define GETGROUPS_T $ac_cv_type_getgroups +_ACEOF - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bit size of $gltype" >&5 -$as_echo_n "checking for bit size of $gltype... " >&6; } -if { as_var=gl_cv_bitsizeof_${gltype}; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "sizeof ($gltype) * CHAR_BIT" "result" " - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif -#include "; then : + if false; then + GL_COND_LIBTOOL_TRUE= + GL_COND_LIBTOOL_FALSE='#' else - result=unknown + GL_COND_LIBTOOL_TRUE='#' + GL_COND_LIBTOOL_FALSE= fi - eval gl_cv_bitsizeof_${gltype}=\$result + gl_cond_libtool=false + gl_libdeps= + gl_ltlibdeps= + gl_m4_base='m4' + -fi -eval ac_res=\$gl_cv_bitsizeof_${gltype} - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_bitsizeof_${gltype} - if test $result = unknown; then - result=0 - fi - GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - cat >>confdefs.h <<_ACEOF -#define BITSIZEOF_${GLTYPE} $result -_ACEOF - eval BITSIZEOF_${GLTYPE}=\$result - done - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $gltype is signed" >&5 -$as_echo_n "checking whether $gltype is signed... " >&6; } -if { as_var=gl_cv_type_${gltype}_signed; eval "test \"\${$as_var+set}\" = set"; }; then : + + + gl_source_base='lib' + + + if test $ac_cv_func_alloca_works = no; then + : + fi + + # Define an additional variable used in the Makefile substitution. + if test $ac_cv_working_alloca_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5 +$as_echo_n "checking for alloca as a compiler built-in... " >&6; } +if test "${gl_cv_rpl_alloca+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - int verify[2 * (($gltype) -1 < ($gltype) 0) - 1]; -int -main () -{ +#if defined __GNUC__ || defined _AIX || defined _MSC_VER + Need own alloca +#endif - ; - return 0; -} _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - result=yes +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Need own alloca" >/dev/null 2>&1; then : + gl_cv_rpl_alloca=yes else - result=no + gl_cv_rpl_alloca=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval gl_cv_type_${gltype}_signed=\$result +rm -f conftest* + fi -eval ac_res=\$gl_cv_type_${gltype}_signed - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval result=\$gl_cv_type_${gltype}_signed - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - if test "$result" = yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_SIGNED_${GLTYPE} 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5 +$as_echo "$gl_cv_rpl_alloca" >&6; } + if test $gl_cv_rpl_alloca = yes; then - eval HAVE_SIGNED_${GLTYPE}=1 +$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h + + ALLOCA_H=alloca.h else - eval HAVE_SIGNED_${GLTYPE}=0 + ALLOCA_H= fi - done - - - gl_cv_type_ptrdiff_t_signed=yes - gl_cv_type_size_t_signed=no - if test $APPLE_UNIVERSAL_BUILD = 0; then - + else + ALLOCA_H=alloca.h + fi - for gltype in ptrdiff_t size_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 -$as_echo_n "checking for $gltype integer literal suffix... " >&6; } -if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 + if test -n "$ALLOCA_H"; then + GL_GENERATE_ALLOCA_H_TRUE= + GL_GENERATE_ALLOCA_H_FALSE='#' else - eval gl_cv_type_${gltype}_suffix=no - eval result=\$gl_cv_type_${gltype}_signed - if test "$result" = yes; then - glsufu= - else - glsufu=u - fi - for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do - case $glsuf in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - i64) gltype1='__int64';; - u) gltype1='unsigned int';; - ul) gltype1='unsigned long int';; - ull) gltype1='unsigned long long int';; - ui64)gltype1='unsigned __int64';; - esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + GL_GENERATE_ALLOCA_H_TRUE='#' + GL_GENERATE_ALLOCA_H_FALSE= +fi - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - extern $gltype foo; - extern $gltype1 foo; -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval gl_cv_type_${gltype}_suffix=\$glsuf -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" != no && break - done -fi -eval ac_res=\$gl_cv_type_${gltype}_suffix - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" = no && result= - eval ${GLTYPE}_SUFFIX=\$result - cat >>confdefs.h <<_ACEOF -#define ${GLTYPE}_SUFFIX $result -_ACEOF - done - fi + # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. + # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. + # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all* + # programs in the package would end up linked with that potentially-shared + # library, inducing unnecessary run-time overhead. + LIB_CLOCK_GETTIME= - for gltype in sig_atomic_t wchar_t wint_t ; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $gltype integer literal suffix" >&5 -$as_echo_n "checking for $gltype integer literal suffix... " >&6; } -if { as_var=gl_cv_type_${gltype}_suffix; eval "test \"\${$as_var+set}\" = set"; }; then : + gl_saved_libs=$LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 +$as_echo_n "checking for library containing clock_gettime... " >&6; } +if test "${ac_cv_search_clock_gettime+set}" = set; then : $as_echo_n "(cached) " >&6 else - eval gl_cv_type_${gltype}_suffix=no - eval result=\$gl_cv_type_${gltype}_signed - if test "$result" = yes; then - glsufu= - else - glsufu=u - fi - for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do - case $glsuf in - '') gltype1='int';; - l) gltype1='long int';; - ll) gltype1='long long int';; - i64) gltype1='__int64';; - u) gltype1='unsigned int';; - ul) gltype1='unsigned long int';; - ull) gltype1='unsigned long long int';; - ui64)gltype1='unsigned __int64';; - esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - /* BSD/OS 4.0.1 has a bug: , and must be - included before . */ - #include - #include - #if HAVE_WCHAR_H - # include - # include - # include - #endif - - extern $gltype foo; - extern $gltype1 foo; +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char clock_gettime (); int main () { - +return clock_gettime (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval gl_cv_type_${gltype}_suffix=\$glsuf +for ac_lib in '' rt posix4; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_clock_gettime=$ac_res fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" != no && break - done +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_clock_gettime+set}" = set; then : + break fi -eval ac_res=\$gl_cv_type_${gltype}_suffix - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` - eval result=\$gl_cv_type_${gltype}_suffix - test "$result" = no && result= - eval ${GLTYPE}_SUFFIX=\$result - cat >>confdefs.h <<_ACEOF -#define ${GLTYPE}_SUFFIX $result +done +if test "${ac_cv_search_clock_gettime+set}" = set; then : + +else + ac_cv_search_clock_gettime=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 +$as_echo "$ac_cv_search_clock_gettime" >&6; } +ac_res=$ac_cv_search_clock_gettime +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + test "$ac_cv_search_clock_gettime" = "none required" || + LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime +fi + + for ac_func in clock_gettime clock_settime +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF - done +fi +done + LIBS=$gl_saved_libs - if test $BITSIZEOF_WINT_T -lt 32; then - BITSIZEOF_WINT_T=32 - fi + : - STDINT_H=stdint.h - fi - if test -n "$STDINT_H"; then - GL_GENERATE_STDINT_H_TRUE= - GL_GENERATE_STDINT_H_FALSE='#' -else - GL_GENERATE_STDINT_H_TRUE='#' - GL_GENERATE_STDINT_H_FALSE= -fi +cat >>confdefs.h <<_ACEOF +#define GNULIB_CLOSE_STREAM 1 +_ACEOF + + + + + : + + + + : - GNULIB_IMAXABS=0; - GNULIB_IMAXDIV=0; - GNULIB_STRTOIMAX=0; - GNULIB_STRTOUMAX=0; - HAVE_DECL_IMAXABS=1; - HAVE_DECL_IMAXDIV=1; - HAVE_DECL_STRTOIMAX=1; - HAVE_DECL_STRTOUMAX=1; - REPLACE_STRTOIMAX=0; - INT32_MAX_LT_INTMAX_MAX=1; - INT64_MAX_EQ_LONG_MAX='defined _LP64'; - PRI_MACROS_BROKEN=0; - PRIPTR_PREFIX=__PRIPTR_PREFIX; - UINT32_MAX_LT_UINTMAX_MAX=1; - UINT64_MAX_EQ_ULONG_MAX='defined _LP64'; @@ -18997,20 +20978,20 @@ fi if test $gl_cv_have_include_next = yes; then - gl_cv_next_inttypes_h='<'inttypes.h'>' + gl_cv_next_dirent_h='<'dirent.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_inttypes_h+set}" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_dirent_h+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_inttypes_h = yes; then + if test $ac_cv_header_dirent_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in @@ -19028,7 +21009,7 @@ _ACEOF esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'inttypes.h' \ + gl_header_literal_regex=`echo 'dirent.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ @@ -19036,422 +21017,308 @@ _ACEOF p q }' - gl_cv_next_inttypes_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + gl_cv_next_dirent_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else - gl_cv_next_inttypes_h='<'inttypes.h'>' + gl_cv_next_dirent_h='<'dirent.h'>' fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_inttypes_h" >&5 -$as_echo "$gl_cv_next_inttypes_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_dirent_h" >&5 +$as_echo "$gl_cv_next_dirent_h" >&6; } fi - NEXT_INTTYPES_H=$gl_cv_next_inttypes_h + NEXT_DIRENT_H=$gl_cv_next_dirent_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'inttypes.h'>' + gl_next_as_first_directive='<'dirent.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_inttypes_h + gl_next_as_first_directive=$gl_cv_next_dirent_h fi - NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H=$gl_next_as_first_directive - - - - + NEXT_AS_FIRST_DIRECTIVE_DIRENT_H=$gl_next_as_first_directive + if test $ac_cv_header_dirent_h = yes; then + HAVE_DIRENT_H=1 + else + HAVE_DIRENT_H=0 + fi - case "$host_os" in - mingw*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit off_t" >&5 -$as_echo_n "checking for 64-bit off_t... " >&6; } -if test "${gl_cv_type_off_t_64+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1]; -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_type_off_t_64=yes -else - gl_cv_type_off_t_64=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_type_off_t_64" >&5 -$as_echo "$gl_cv_type_off_t_64" >&6; } - if test $gl_cv_type_off_t_64 = no; then - WINDOWS_64_BIT_OFF_T=1 - else - WINDOWS_64_BIT_OFF_T=0 - fi - WINDOWS_64_BIT_ST_SIZE=1 - ;; - *) - WINDOWS_64_BIT_OFF_T=0 - WINDOWS_64_BIT_ST_SIZE=0 - ;; - esac - GNULIB_FCHMODAT=0; - GNULIB_FSTAT=0; - GNULIB_FSTATAT=0; - GNULIB_FUTIMENS=0; - GNULIB_LCHMOD=0; - GNULIB_LSTAT=0; - GNULIB_MKDIRAT=0; - GNULIB_MKFIFO=0; - GNULIB_MKFIFOAT=0; - GNULIB_MKNOD=0; - GNULIB_MKNODAT=0; - GNULIB_STAT=0; - GNULIB_UTIMENSAT=0; - HAVE_FCHMODAT=1; - HAVE_FSTATAT=1; - HAVE_FUTIMENS=1; - HAVE_LCHMOD=1; - HAVE_LSTAT=1; - HAVE_MKDIRAT=1; - HAVE_MKFIFO=1; - HAVE_MKFIFOAT=1; - HAVE_MKNOD=1; - HAVE_MKNODAT=1; - HAVE_UTIMENSAT=1; - REPLACE_FSTAT=0; - REPLACE_FSTATAT=0; - REPLACE_FUTIMENS=0; - REPLACE_LSTAT=0; - REPLACE_MKDIR=0; - REPLACE_MKFIFO=0; - REPLACE_MKNOD=0; - REPLACE_STAT=0; - REPLACE_UTIMENSAT=0; +$as_echo "#define HAVE_DUP2 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 -$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } -if test "${gl_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then : + if test $HAVE_DUP2 = 1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dup2 works" >&5 +$as_echo_n "checking whether dup2 works... " >&6; } +if test "${gl_cv_func_dup2_works+set}" = set; then : $as_echo_n "(cached) " >&6 else - rm -f conftest.sym conftest.file - echo >conftest.file - if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then - if test "$cross_compiling" = yes; then : + if test "$cross_compiling" = yes; then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; - esac - + mingw*) # on this platform, dup2 always returns 0 for success + gl_cv_func_dup2_works="guessing no" ;; + cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 + gl_cv_func_dup2_works="guessing no" ;; + linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a + # closed fd may yield -EBADF instead of -1 / errno=EBADF. + gl_cv_func_dup2_works="guessing no" ;; + freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF. + gl_cv_func_dup2_works="guessing no" ;; + haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. + gl_cv_func_dup2_works="guessing no" ;; + *) gl_cv_func_dup2_works="guessing yes" ;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default + + #include +#include +#include int main () { -struct stat sbuf; - /* Linux will dereference the symlink and fail, as required by - POSIX. That is better in the sense that it means we will not - have to compile and use the lstat wrapper. */ - return lstat ("conftest.sym/", &sbuf) == 0; +int result = 0; +#ifdef FD_CLOEXEC + if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) + result |= 1; +#endif + if (dup2 (1, 1) == 0) + result |= 2; +#ifdef FD_CLOEXEC + if (fcntl (1, F_GETFD) != FD_CLOEXEC) + result |= 4; +#endif + close (0); + if (dup2 (0, 0) != -1) + result |= 8; + /* Many gnulib modules require POSIX conformance of EBADF. */ + if (dup2 (2, 1000000) == -1 && errno != EBADF) + result |= 16; + /* Flush out a cygwin core dump. */ + if (dup2 (2, -1) != -1 || errno != EBADF) + result |= 32; + return result; ; return 0; } + _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_lstat_dereferences_slashed_symlink=yes + gl_cv_func_dup2_works=yes else - gl_cv_func_lstat_dereferences_slashed_symlink=no + gl_cv_func_dup2_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - else - # If the 'ln -s' command failed, then we probably don't even - # have an lstat function. - gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" - fi - rm -f conftest.sym conftest.file fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_lstat_dereferences_slashed_symlink" >&5 -$as_echo "$gl_cv_func_lstat_dereferences_slashed_symlink" >&6; } - case "$gl_cv_func_lstat_dereferences_slashed_symlink" in - *yes) +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dup2_works" >&5 +$as_echo "$gl_cv_func_dup2_works" >&6; } + case "$gl_cv_func_dup2_works" in + *yes) ;; + *) + REPLACE_DUP2=1 + ;; + esac + fi + + + if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS dup2.$ac_objext" + + + fi + + + + + + GNULIB_DUP2=1 + + + + + + -cat >>confdefs.h <<_ACEOF -#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 -_ACEOF - ;; - esac - GNULIB_MKTIME=0; - GNULIB_NANOSLEEP=0; - GNULIB_STRPTIME=0; - GNULIB_TIMEGM=0; - GNULIB_TIME_R=0; - HAVE_DECL_LOCALTIME_R=1; - HAVE_NANOSLEEP=1; - HAVE_STRPTIME=1; - HAVE_TIMEGM=1; - REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; - REPLACE_MKTIME=GNULIB_PORTCHECK; - REPLACE_NANOSLEEP=GNULIB_PORTCHECK; - REPLACE_TIMEGM=GNULIB_PORTCHECK; + GNULIB_ENVIRON=1 - GNULIB_PSELECT=0; - GNULIB_SELECT=0; - HAVE_PSELECT=1; - REPLACE_PSELECT=0; - REPLACE_SELECT=0; + LIB_EXECINFO='' + EXECINFO_H='execinfo.h' - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -$as_echo_n "checking whether is self-contained... " >&6; } -if test "${gl_cv_header_sys_select_h_selfcontained+set}" = set; then : + if test $ac_cv_header_execinfo_h = yes; then + gl_saved_libs=$LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing backtrace_symbols_fd" >&5 +$as_echo_n "checking for library containing backtrace_symbols_fd... " >&6; } +if test "${ac_cv_search_backtrace_symbols_fd+set}" = set; then : $as_echo_n "(cached) " >&6 else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char backtrace_symbols_fd (); int main () { -struct timeval b; +return backtrace_symbols_fd (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_select_h_selfcontained=yes +for ac_lib in '' execinfo; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_backtrace_symbols_fd=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_backtrace_symbols_fd+set}" = set; then : + break +fi +done +if test "${ac_cv_search_backtrace_symbols_fd+set}" = set; then : + else - gl_cv_header_sys_select_h_selfcontained=no + ac_cv_search_backtrace_symbols_fd=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_backtrace_symbols_fd" >&5 +$as_echo "$ac_cv_search_backtrace_symbols_fd" >&6; } +ac_res=$ac_cv_search_backtrace_symbols_fd +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + test "$ac_cv_search_backtrace_symbols_fd" = "none required" || + LIB_EXECINFO=$ac_cv_search_backtrace_symbols_fd fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $gl_cv_header_sys_select_h_selfcontained = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int memset; int bzero; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ + LIBS=$gl_saved_libs + test "$ac_cv_search_backtrace_symbols_fd" = no || EXECINFO_H='' + fi - #undef memset - #define memset nonexistent_memset - extern - #ifdef __cplusplus - "C" - #endif - void *memset (void *, int, unsigned long); - #undef bzero - #define bzero nonexistent_bzero - extern - #ifdef __cplusplus - "C" - #endif - void bzero (void *, unsigned long); - fd_set fds; - FD_ZERO (&fds); + if test -n "$EXECINFO_H"; then - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : -else - gl_cv_header_sys_select_h_selfcontained=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5 -$as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; } + gl_LIBOBJS="$gl_LIBOBJS execinfo.$ac_objext" + fi + if test -n "$EXECINFO_H"; then + GL_GENERATE_EXECINFO_H_TRUE= + GL_GENERATE_EXECINFO_H_FALSE='#' +else + GL_GENERATE_EXECINFO_H_TRUE='#' + GL_GENERATE_EXECINFO_H_FALSE= +fi - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_select_h='<'sys/select.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_select_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test $ac_cv_header_sys_select_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'sys/select.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_sys_select_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_sys_select_h='<'sys/select.h'>' - fi + if test $ac_cv_func_faccessat = no; then + HAVE_FACCESSAT=0 + fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5 -$as_echo "$gl_cv_next_sys_select_h" >&6; } - fi - NEXT_SYS_SELECT_H=$gl_cv_next_sys_select_h + if test $HAVE_FACCESSAT = 0; then - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/select.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_select_h - fi - NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H=$gl_next_as_first_directive - if test $ac_cv_header_sys_select_h = yes; then - HAVE_SYS_SELECT_H=1 - else - HAVE_SYS_SELECT_H=0 - fi + gl_LIBOBJS="$gl_LIBOBJS faccessat.$ac_objext" - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h + for ac_func in access do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = x""yes; then : + ac_fn_c_check_func "$LINENO" "access" "ac_cv_func_access" +if test "x$ac_cv_func_access" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 +#define HAVE_ACCESS 1 _ACEOF fi - done - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 - else - HAVE_WINSOCK2_H=0 + fi +cat >>confdefs.h <<_ACEOF +#define GNULIB_FACCESSAT 1 +_ACEOF - GNULIB_PTHREAD_SIGMASK=0; - GNULIB_RAISE=0; - GNULIB_SIGNAL_H_SIGPIPE=0; - GNULIB_SIGPROCMASK=0; - GNULIB_SIGACTION=0; - HAVE_POSIX_SIGNALBLOCKING=1; - HAVE_PTHREAD_SIGMASK=1; - HAVE_RAISE=1; - HAVE_SIGSET_T=1; - HAVE_SIGINFO_T=1; - HAVE_SIGACTION=1; - HAVE_STRUCT_SIGACTION_SA_SIGACTION=1; - HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=1; + GNULIB_FACCESSAT=1 - HAVE_SIGHANDLER_T=1; - REPLACE_PTHREAD_SIGMASK=0; - REPLACE_RAISE=0; @@ -19459,820 +21326,924 @@ done - ac_fn_c_check_type "$LINENO" "sigset_t" "ac_cv_type_sigset_t" " - #include - /* Mingw defines sigset_t not in , but in . */ - #include -" -if test "x$ac_cv_type_sigset_t" = x""yes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_SIGSET_T 1 -_ACEOF -gl_cv_type_sigset_t=yes + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_fcntl_h='<'fcntl.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_fcntl_h+set}" = set; then : + $as_echo_n "(cached) " >&6 else - gl_cv_type_sigset_t=no -fi - if test $gl_cv_type_sigset_t != yes; then - HAVE_SIGSET_T=0 - fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'fcntl.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_fcntl_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' - if test $ac_cv_header_sys_socket_h = no; then - for ac_header in ws2tcpip.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "ws2tcpip.h" "ac_cv_header_ws2tcpip_h" "$ac_includes_default" -if test "x$ac_cv_header_ws2tcpip_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WS2TCPIP_H 1 -_ACEOF fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_fcntl_h" >&5 +$as_echo "$gl_cv_next_fcntl_h" >&6; } + fi + NEXT_FCNTL_H=$gl_cv_next_fcntl_h -done + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'fcntl.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_fcntl_h + fi + NEXT_AS_FIRST_DIRECTIVE_FCNTL_H=$gl_next_as_first_directive - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 -$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } -if test "${ac_cv_header_stdbool_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - #include - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: true is not defined" - #endif - #if true != 1 - "error: true is not 1" - #endif - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - struct s { _Bool s: 1; _Bool t; } s; - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - /* See body of main program for 'e'. */ - char f[(_Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - /* The following fails for - HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ - _Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; - /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ - _Bool q = true; - _Bool *pq = &q; -int -main () -{ - bool e = &s; - *pq |= q; - *pq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdbool_h=yes -else - ac_cv_header_stdbool_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 -$as_echo "$ac_cv_header_stdbool_h" >&6; } - ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" -if test "x$ac_cv_type__Bool" = x""yes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE__BOOL 1 -_ACEOF -fi - REPLACE_NULL=0; - HAVE_WCHAR_T=1; - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 -$as_echo_n "checking for wchar_t... " >&6; } -if test "${gt_cv_c_wchar_t+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - wchar_t foo = (wchar_t)'\0'; -int -main () -{ + ac_fn_c_check_decl "$LINENO" "fdopendir" "ac_cv_have_decl_fdopendir" " +#include - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_c_wchar_t=yes +" +if test "x$ac_cv_have_decl_fdopendir" = x""yes; then : + ac_have_decl=1 else - gt_cv_c_wchar_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_have_decl=0 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 -$as_echo "$gt_cv_c_wchar_t" >&6; } - if test $gt_cv_c_wchar_t = yes; then - -$as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h - - fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_FDOPENDIR $ac_have_decl +_ACEOF +if test $ac_have_decl = 1; then : - GNULIB_DPRINTF=0; - GNULIB_FCLOSE=0; - GNULIB_FDOPEN=0; - GNULIB_FFLUSH=0; - GNULIB_FGETC=0; - GNULIB_FGETS=0; - GNULIB_FOPEN=0; - GNULIB_FPRINTF=0; - GNULIB_FPRINTF_POSIX=0; - GNULIB_FPURGE=0; - GNULIB_FPUTC=0; - GNULIB_FPUTS=0; - GNULIB_FREAD=0; - GNULIB_FREOPEN=0; - GNULIB_FSCANF=0; - GNULIB_FSEEK=0; - GNULIB_FSEEKO=0; - GNULIB_FTELL=0; - GNULIB_FTELLO=0; - GNULIB_FWRITE=0; - GNULIB_GETC=0; - GNULIB_GETCHAR=0; - GNULIB_GETDELIM=0; - GNULIB_GETLINE=0; - GNULIB_OBSTACK_PRINTF=0; - GNULIB_OBSTACK_PRINTF_POSIX=0; - GNULIB_PCLOSE=0; - GNULIB_PERROR=0; - GNULIB_POPEN=0; - GNULIB_PRINTF=0; - GNULIB_PRINTF_POSIX=0; - GNULIB_PUTC=0; - GNULIB_PUTCHAR=0; - GNULIB_PUTS=0; - GNULIB_REMOVE=0; - GNULIB_RENAME=0; - GNULIB_RENAMEAT=0; - GNULIB_SCANF=0; - GNULIB_SNPRINTF=0; - GNULIB_SPRINTF_POSIX=0; - GNULIB_STDIO_H_NONBLOCKING=0; - GNULIB_STDIO_H_SIGPIPE=0; - GNULIB_TMPFILE=0; - GNULIB_VASPRINTF=0; - GNULIB_VFSCANF=0; - GNULIB_VSCANF=0; - GNULIB_VDPRINTF=0; - GNULIB_VFPRINTF=0; - GNULIB_VFPRINTF_POSIX=0; - GNULIB_VPRINTF=0; - GNULIB_VPRINTF_POSIX=0; - GNULIB_VSNPRINTF=0; - GNULIB_VSPRINTF_POSIX=0; - HAVE_DECL_FPURGE=1; - HAVE_DECL_FSEEKO=1; - HAVE_DECL_FTELLO=1; - HAVE_DECL_GETDELIM=1; - HAVE_DECL_GETLINE=1; - HAVE_DECL_OBSTACK_PRINTF=1; - HAVE_DECL_SNPRINTF=1; - HAVE_DECL_VSNPRINTF=1; - HAVE_DPRINTF=1; - HAVE_FSEEKO=1; - HAVE_FTELLO=1; - HAVE_PCLOSE=1; - HAVE_POPEN=1; - HAVE_RENAMEAT=1; - HAVE_VASPRINTF=1; - HAVE_VDPRINTF=1; - REPLACE_DPRINTF=0; - REPLACE_FCLOSE=0; - REPLACE_FDOPEN=0; - REPLACE_FFLUSH=0; - REPLACE_FOPEN=0; - REPLACE_FPRINTF=0; - REPLACE_FPURGE=0; - REPLACE_FREOPEN=0; - REPLACE_FSEEK=0; - REPLACE_FSEEKO=0; - REPLACE_FTELL=0; - REPLACE_FTELLO=0; - REPLACE_GETDELIM=0; - REPLACE_GETLINE=0; - REPLACE_OBSTACK_PRINTF=0; - REPLACE_PERROR=0; - REPLACE_POPEN=0; - REPLACE_PRINTF=0; - REPLACE_REMOVE=0; - REPLACE_RENAME=0; - REPLACE_RENAMEAT=0; - REPLACE_SNPRINTF=0; - REPLACE_SPRINTF=0; - REPLACE_STDIO_READ_FUNCS=0; - REPLACE_STDIO_WRITE_FUNCS=0; - REPLACE_TMPFILE=0; - REPLACE_VASPRINTF=0; - REPLACE_VDPRINTF=0; - REPLACE_VFPRINTF=0; - REPLACE_VPRINTF=0; - REPLACE_VSNPRINTF=0; - REPLACE_VSPRINTF=0; +else + HAVE_DECL_FDOPENDIR=0 +fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 -$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if test "${ac_cv_struct_tm+set}" = set; then : + + if test $ac_cv_func_fdopendir = no; then + HAVE_FDOPENDIR=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fdopendir works" >&5 +$as_echo_n "checking whether fdopendir works... " >&6; } +if test "${gl_cv_func_fdopendir_works+set}" = set; then : $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_fdopendir_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_fdopendir_works="guessing no" ;; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include + +#include +#include +#include +#if !HAVE_DECL_FDOPENDIR +extern +# ifdef __cplusplus +"C" +# endif +DIR *fdopendir (int); +#endif int main () { -struct tm tm; - int *p = &tm.tm_sec; - return !p; +int result = 0; + int fd = open ("conftest.c", O_RDONLY); + if (fd < 0) result |= 1; + if (fdopendir (fd)) result |= 2; + if (close (fd)) result |= 4; + return result; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_struct_tm=time.h +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_fdopendir_works=yes else - ac_cv_struct_tm=sys/time.h + gl_cv_func_fdopendir_works=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 -$as_echo "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fdopendir_works" >&5 +$as_echo "$gl_cv_func_fdopendir_works" >&6; } + case "$gl_cv_func_fdopendir_works" in + *yes) ;; + *) + REPLACE_FDOPENDIR=1 + ;; + esac + fi + + if test $HAVE_FDOPENDIR = 0 || test $REPLACE_FDOPENDIR = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS fdopendir.$ac_objext" + + fi + + + + + + GNULIB_FDOPENDIR=1 + + + + -ac_fn_c_check_member "$LINENO" "struct tm" "tm_zone" "ac_cv_member_struct_tm_tm_zone" "#include -#include <$ac_cv_struct_tm> -" -if test "x$ac_cv_member_struct_tm_tm_zone" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_TM_TM_ZONE 1 +#define GNULIB_FDOPENDIR 1 _ACEOF -fi -if test "$ac_cv_member_struct_tm_tm_zone" = yes; then -$as_echo "#define HAVE_TM_ZONE 1" >>confdefs.h -else - ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include + + + + + fp_headers=' +# include +# if HAVE_STDIO_EXT_H +# include +# endif +' + ac_fn_c_check_decl "$LINENO" "__fpending" "ac_cv_have_decl___fpending" "$fp_headers " -if test "x$ac_cv_have_decl_tzname" = x""yes; then : +if test "x$ac_cv_have_decl___fpending" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_TZNAME $ac_have_decl +#define HAVE_DECL___FPENDING $ac_have_decl _ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 -$as_echo_n "checking for tzname... " >&6; } -if test "${ac_cv_var_tzname+set}" = set; then : + + if test $ac_cv_func___fpending = no; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS fpending.$ac_objext" + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to determine the number of pending output bytes on a stream" >&5 +$as_echo_n "checking how to determine the number of pending output bytes on a stream... " >&6; } +if test "${ac_cv_sys_pending_output_n_bytes+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + + for ac_expr in \ + \ + '# glibc2' \ + 'fp->_IO_write_ptr - fp->_IO_write_base' \ + \ + '# traditional Unix' \ + 'fp->_ptr - fp->_base' \ + \ + '# BSD' \ + 'fp->_p - fp->_bf._base' \ + \ + '# SCO, Unixware' \ + '(fp->__ptr ? fp->__ptr - fp->__base : 0)' \ + \ + '# QNX' \ + '(fp->_Mode & 0x2000 /*_MWRITE*/ ? fp->_Next - fp->_Buf : 0)' \ + \ + '# old glibc?' \ + 'fp->__bufp - fp->__buffer' \ + \ + '# old glibc iostream?' \ + 'fp->_pptr - fp->_pbase' \ + \ + '# emx+gcc' \ + 'fp->_ptr - fp->_buffer' \ + \ + '# Minix' \ + 'fp->_ptr - fp->_buf' \ + \ + '# Plan9' \ + 'fp->wp - fp->buf' \ + \ + '# VMS' \ + '(*fp)->_ptr - (*fp)->_base' \ + \ + '# e.g., DGUX R4.11; the info is not available' \ + 1 \ + ; do + + # Skip each embedded comment. + case "$ac_expr" in '#'*) continue;; esac + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *fp = stdin; (void) ($ac_expr); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + fp_done=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$fp_done" = yes && break + done + + ac_cv_sys_pending_output_n_bytes=$ac_expr + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_pending_output_n_bytes" >&5 +$as_echo "$ac_cv_sys_pending_output_n_bytes" >&6; } + +cat >>confdefs.h <<_ACEOF +#define PENDING_OUTPUT_N_BYTES $ac_cv_sys_pending_output_n_bytes +_ACEOF + + + fi + + + + + + + if test $ac_cv_func_fstatat = no; then + HAVE_FSTATAT=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fstatat (..., 0) works" >&5 +$as_echo_n "checking whether fstatat (..., 0) works... " >&6; } +if test "${gl_cv_func_fstatat_zero_flag+set}" = set; then : $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + aix*) gl_cv_func_fstatat_zero_flag="guessing no";; + *) gl_cv_func_fstatat_zero_flag="guessing yes";; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#if !HAVE_DECL_TZNAME -extern char *tzname[]; + + #include + #include + int + main (void) + { + struct stat a; + return fstatat (AT_FDCWD, ".", &a, 0) != 0; + } + +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_fstatat_zero_flag=yes +else + gl_cv_func_fstatat_zero_flag=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_fstatat_zero_flag" >&5 +$as_echo "$gl_cv_func_fstatat_zero_flag" >&6; } + + case $gl_cv_func_fstatat_zero_flag+$gl_cv_func_lstat_dereferences_slashed_symlink in + *yes+*yes) ;; + *) REPLACE_FSTATAT=1 + case $gl_cv_func_fstatat_zero_flag in + *yes) + +$as_echo "#define HAVE_WORKING_FSTATAT_ZERO_FLAG 1" >>confdefs.h + + ;; + esac + ;; + esac + fi + + if test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1; then + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS fstatat.$ac_objext" + + fi + + + + + + GNULIB_FSTATAT=1 + + + + + + + +# Persuade glibc to declare getloadavg(). + + +gl_save_LIBS=$LIBS + +# getloadvg is present in libc on glibc >= 2.2, Mac OS X, FreeBSD >= 2.0, +# NetBSD >= 0.9, OpenBSD >= 2.0, Solaris >= 7. +HAVE_GETLOADAVG=1 +ac_fn_c_check_func "$LINENO" "getloadavg" "ac_cv_func_getloadavg" +if test "x$ac_cv_func_getloadavg" = x""yes; then : + +else + gl_func_getloadavg_done=no + + # Some systems with -lutil have (and need) -lkvm as well, some do not. + # On Solaris, -lkvm requires nlist from -lelf, so check that first + # to get the right answer into the cache. + # For kstat on solaris, we need to test for libelf and libkvm to force the + # definition of SVR4 below. + if test $gl_func_getloadavg_done = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_begin in -lelf" >&5 +$as_echo_n "checking for elf_begin in -lelf... " >&6; } +if test "${ac_cv_lib_elf_elf_begin+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lelf $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" #endif +char elf_begin (); +int +main () +{ +return elf_begin (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_elf_elf_begin=yes +else + ac_cv_lib_elf_elf_begin=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_elf_elf_begin" >&5 +$as_echo "$ac_cv_lib_elf_elf_begin" >&6; } +if test "x$ac_cv_lib_elf_elf_begin" = x""yes; then : + LIBS="-lelf $LIBS" +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kvm_open in -lkvm" >&5 +$as_echo_n "checking for kvm_open in -lkvm... " >&6; } +if test "${ac_cv_lib_kvm_kvm_open+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lkvm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char kvm_open (); int main () { -return tzname[0][0]; +return kvm_open (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_var_tzname=yes + ac_cv_lib_kvm_kvm_open=yes else - ac_cv_var_tzname=no + ac_cv_lib_kvm_kvm_open=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5 -$as_echo "$ac_cv_var_tzname" >&6; } - if test $ac_cv_var_tzname = yes; then - -$as_echo "#define HAVE_TZNAME 1" >>confdefs.h - - fi -fi - - - ac_fn_c_check_member "$LINENO" "struct tm" "tm_gmtoff" "ac_cv_member_struct_tm_tm_gmtoff" "#include -" -if test "x$ac_cv_member_struct_tm_tm_gmtoff" = x""yes; then : - -$as_echo "#define HAVE_TM_GMTOFF 1" >>confdefs.h - -fi - - - - -ac_fn_c_check_decl "$LINENO" "strtoimax" "ac_cv_have_decl_strtoimax" "$ac_includes_default" -if test "x$ac_cv_have_decl_strtoimax" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRTOIMAX $ac_have_decl -_ACEOF - - - -ac_fn_c_check_decl "$LINENO" "strtoumax" "ac_cv_have_decl_strtoumax" "$ac_includes_default" -if test "x$ac_cv_have_decl_strtoumax" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kvm_kvm_open" >&5 +$as_echo "$ac_cv_lib_kvm_kvm_open" >&6; } +if test "x$ac_cv_lib_kvm_kvm_open" = x""yes; then : + LIBS="-lkvm $LIBS" fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRTOUMAX $ac_have_decl -_ACEOF - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 -$as_echo_n "checking whether stat file-mode macros are broken... " >&6; } -if test "${ac_cv_header_stat_broken+set}" = set; then : + # Check for the 4.4BSD definition of getloadavg. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getloadavg in -lutil" >&5 +$as_echo_n "checking for getloadavg in -lutil... " >&6; } +if test "${ac_cv_lib_util_getloadavg+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_check_lib_save_LIBS=$LIBS +LIBS="-lutil $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#include - -#if defined S_ISBLK && defined S_IFDIR -extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1]; -#endif - -#if defined S_ISBLK && defined S_IFCHR -extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1]; -#endif - -#if defined S_ISLNK && defined S_IFREG -extern char c3[S_ISLNK (S_IFREG) ? -1 : 1]; -#endif -#if defined S_ISSOCK && defined S_IFREG -extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" #endif - +char getloadavg (); +int +main () +{ +return getloadavg (); + ; + return 0; +} _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stat_broken=no +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_util_getloadavg=yes else - ac_cv_header_stat_broken=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_lib_util_getloadavg=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5 -$as_echo "$ac_cv_header_stat_broken" >&6; } -if test $ac_cv_header_stat_broken = yes; then - -$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h - +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi - - - -ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" -if test "x$ac_cv_type_mode_t" = x""yes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define mode_t int -_ACEOF - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_getloadavg" >&5 +$as_echo "$ac_cv_lib_util_getloadavg" >&6; } +if test "x$ac_cv_lib_util_getloadavg" = x""yes; then : + LIBS="-lutil $LIBS" gl_func_getloadavg_done=yes fi + fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 -$as_echo_n "checking for struct timespec in ... " >&6; } -if test "${gl_cv_sys_struct_timespec_in_time_h+set}" = set; then : + if test $gl_func_getloadavg_done = no; then + # There is a commonly available library for RS/6000 AIX. + # Since it is not a standard part of AIX, it might be installed locally. + gl_getloadavg_LIBS=$LIBS + LIBS="-L/usr/local/lib $LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getloadavg in -lgetloadavg" >&5 +$as_echo_n "checking for getloadavg in -lgetloadavg... " >&6; } +if test "${ac_cv_lib_getloadavg_getloadavg+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgetloadavg $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char getloadavg (); int main () { -static struct timespec x; x.tv_sec = x.tv_nsec; +return getloadavg (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_sys_struct_timespec_in_time_h=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_getloadavg_getloadavg=yes else - gl_cv_sys_struct_timespec_in_time_h=no + ac_cv_lib_getloadavg_getloadavg=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_getloadavg_getloadavg" >&5 +$as_echo "$ac_cv_lib_getloadavg_getloadavg" >&6; } +if test "x$ac_cv_lib_getloadavg_getloadavg" = x""yes; then : + LIBS="-lgetloadavg $LIBS" gl_func_getloadavg_done=yes +else + LIBS=$gl_getloadavg_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_time_h" >&5 -$as_echo "$gl_cv_sys_struct_timespec_in_time_h" >&6; } - TIME_H_DEFINES_STRUCT_TIMESPEC=0 - SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=0 - PTHREAD_H_DEFINES_STRUCT_TIMESPEC=0 - if test $gl_cv_sys_struct_timespec_in_time_h = yes; then - TIME_H_DEFINES_STRUCT_TIMESPEC=1 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 -$as_echo_n "checking for struct timespec in ... " >&6; } -if test "${gl_cv_sys_struct_timespec_in_sys_time_h+set}" = set; then : + fi + + # Set up the replacement function if necessary. + if test $gl_func_getloadavg_done = no; then + HAVE_GETLOADAVG=0 + + # Solaris has libkstat which does not require root. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kstat_open in -lkstat" >&5 +$as_echo_n "checking for kstat_open in -lkstat... " >&6; } +if test "${ac_cv_lib_kstat_kstat_open+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_check_lib_save_LIBS=$LIBS +LIBS="-lkstat $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char kstat_open (); int main () { -static struct timespec x; x.tv_sec = x.tv_nsec; +return kstat_open (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_sys_struct_timespec_in_sys_time_h=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_kstat_kstat_open=yes else - gl_cv_sys_struct_timespec_in_sys_time_h=no + ac_cv_lib_kstat_kstat_open=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_sys_time_h" >&5 -$as_echo "$gl_cv_sys_struct_timespec_in_sys_time_h" >&6; } - if test $gl_cv_sys_struct_timespec_in_sys_time_h = yes; then - SYS_TIME_H_DEFINES_STRUCT_TIMESPEC=1 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct timespec in " >&5 -$as_echo_n "checking for struct timespec in ... " >&6; } -if test "${gl_cv_sys_struct_timespec_in_pthread_h+set}" = set; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kstat_kstat_open" >&5 +$as_echo "$ac_cv_lib_kstat_kstat_open" >&6; } +if test "x$ac_cv_lib_kstat_kstat_open" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBKSTAT 1 +_ACEOF + + LIBS="-lkstat $LIBS" + +fi + + test $ac_cv_lib_kstat_kstat_open = yes && gl_func_getloadavg_done=yes + + # AIX has libperfstat which does not require root + if test $gl_func_getloadavg_done = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perfstat_cpu_total in -lperfstat" >&5 +$as_echo_n "checking for perfstat_cpu_total in -lperfstat... " >&6; } +if test "${ac_cv_lib_perfstat_perfstat_cpu_total+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_check_lib_save_LIBS=$LIBS +LIBS="-lperfstat $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char perfstat_cpu_total (); int main () { -static struct timespec x; x.tv_sec = x.tv_nsec; +return perfstat_cpu_total (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_sys_struct_timespec_in_pthread_h=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_perfstat_perfstat_cpu_total=yes else - gl_cv_sys_struct_timespec_in_pthread_h=no + ac_cv_lib_perfstat_perfstat_cpu_total=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_timespec_in_pthread_h" >&5 -$as_echo "$gl_cv_sys_struct_timespec_in_pthread_h" >&6; } - if test $gl_cv_sys_struct_timespec_in_pthread_h = yes; then - PTHREAD_H_DEFINES_STRUCT_TIMESPEC=1 - fi - fi - fi - - - - - - - - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_perfstat_perfstat_cpu_total" >&5 +$as_echo "$ac_cv_lib_perfstat_perfstat_cpu_total" >&6; } +if test "x$ac_cv_lib_perfstat_perfstat_cpu_total" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBPERFSTAT 1 +_ACEOF + LIBS="-lperfstat $LIBS" +fi + test $ac_cv_lib_perfstat_perfstat_cpu_total = yes && gl_func_getloadavg_done=yes + fi + if test $gl_func_getloadavg_done = no; then + ac_fn_c_check_header_mongrel "$LINENO" "sys/dg_sys_info.h" "ac_cv_header_sys_dg_sys_info_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_dg_sys_info_h" = x""yes; then : + gl_func_getloadavg_done=yes +$as_echo "#define DGUX 1" >>confdefs.h - if test $gl_cv_have_include_next = yes; then - gl_cv_next_time_h='<'time.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_time_h+set}" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dg_sys_info in -ldgc" >&5 +$as_echo_n "checking for dg_sys_info in -ldgc... " >&6; } +if test "${ac_cv_lib_dgc_dg_sys_info+set}" = set; then : $as_echo_n "(cached) " >&6 else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldgc $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dg_sys_info (); +int +main () +{ +return dg_sys_info (); + ; + return 0; +} _ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'time.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_time_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - - +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dgc_dg_sys_info=yes +else + ac_cv_lib_dgc_dg_sys_info=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_time_h" >&5 -$as_echo "$gl_cv_next_time_h" >&6; } - fi - NEXT_TIME_H=$gl_cv_next_time_h - - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'time.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_time_h - fi - NEXT_AS_FIRST_DIRECTIVE_TIME_H=$gl_next_as_first_directive - - - +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dgc_dg_sys_info" >&5 +$as_echo "$ac_cv_lib_dgc_dg_sys_info" >&6; } +if test "x$ac_cv_lib_dgc_dg_sys_info" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBDGC 1 +_ACEOF + LIBS="-ldgc $LIBS" +fi +fi + fi + fi +fi +if test "x$gl_save_LIBS" = x; then + GETLOADAVG_LIBS=$LIBS +else + GETLOADAVG_LIBS=`echo "$LIBS" | sed "s!$gl_save_LIBS!!"` +fi +LIBS=$gl_save_LIBS +# Test whether the system declares getloadavg. Solaris has the function +# but declares it in , not . +for ac_header in sys/loadavg.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/loadavg.h" "ac_cv_header_sys_loadavg_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_loadavg_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_LOADAVG_H 1 +_ACEOF +fi +done - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the utimes function works" >&5 -$as_echo_n "checking whether the utimes function works... " >&6; } -if test "${gl_cv_func_working_utimes+set}" = set; then : - $as_echo_n "(cached) " >&6 +if test $ac_cv_header_sys_loadavg_h = yes; then + HAVE_SYS_LOADAVG_H=1 else + HAVE_SYS_LOADAVG_H=0 +fi +ac_fn_c_check_decl "$LINENO" "getloadavg" "ac_cv_have_decl_getloadavg" "#if HAVE_SYS_LOADAVG_H + # include + #endif + #include +" +if test "x$ac_cv_have_decl_getloadavg" = x""yes; then : - if test "$cross_compiling" = yes; then : - gl_cv_func_working_utimes=no else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -static int -inorder (time_t a, time_t b, time_t c) -{ - return a <= b && b <= c; -} - -int -main () -{ - int result = 0; - char const *file = "conftest.utimes"; - static struct timeval timeval[2] = {{9, 10}, {999999, 999999}}; + HAVE_DECL_GETLOADAVG=0 +fi - /* Test whether utimes() essentially works. */ - { - struct stat sbuf; - FILE *f = fopen (file, "w"); - if (f == NULL) - result |= 1; - else if (fclose (f) != 0) - result |= 1; - else if (utimes (file, timeval) != 0) - result |= 2; - else if (lstat (file, &sbuf) != 0) - result |= 1; - else if (!(sbuf.st_atime == timeval[0].tv_sec - && sbuf.st_mtime == timeval[1].tv_sec)) - result |= 4; - if (unlink (file) != 0) - result |= 1; - } - /* Test whether utimes() with a NULL argument sets the file's timestamp - to the current time. Use 'fstat' as well as 'time' to - determine the "current" time, to accommodate NFS file systems - if there is a time skew between the host and the NFS server. */ - { - int fd = open (file, O_WRONLY|O_CREAT, 0644); - if (fd < 0) - result |= 1; - else - { - time_t t0, t2; - struct stat st0, st1, st2; - if (time (&t0) == (time_t) -1) - result |= 1; - else if (fstat (fd, &st0) != 0) - result |= 1; - else if (utimes (file, timeval) != 0) - result |= 2; - else if (utimes (file, NULL) != 0) - result |= 8; - else if (fstat (fd, &st1) != 0) - result |= 1; - else if (write (fd, "\n", 1) != 1) - result |= 1; - else if (fstat (fd, &st2) != 0) - result |= 1; - else if (time (&t2) == (time_t) -1) - result |= 1; - else - { - int m_ok_POSIX = inorder (t0, st1.st_mtime, t2); - int m_ok_NFS = inorder (st0.st_mtime, st1.st_mtime, st2.st_mtime); - if (! (st1.st_atime == st1.st_mtime)) - result |= 16; - if (! (m_ok_POSIX || m_ok_NFS)) - result |= 32; - } - if (close (fd) != 0) - result |= 1; - } - if (unlink (file) != 0) - result |= 1; - } + if test $HAVE_GETLOADAVG = 0; then + - /* Test whether utimes() with a NULL argument works on read-only files. */ - { - int fd = open (file, O_WRONLY|O_CREAT, 0444); - if (fd < 0) - result |= 1; - else if (close (fd) != 0) - result |= 1; - else if (utimes (file, NULL) != 0) - result |= 64; - if (unlink (file) != 0) - result |= 1; - } - return result; -} + + + + + gl_LIBOBJS="$gl_LIBOBJS getloadavg.$ac_objext" + + +# Figure out what our getloadavg.c needs. + + + +# On HPUX9, an unprivileged user can get load averages this way. +if test $gl_func_getloadavg_done = no; then + for ac_func in pstat_getdynamic +do : + ac_fn_c_check_func "$LINENO" "pstat_getdynamic" "ac_cv_func_pstat_getdynamic" +if test "x$ac_cv_func_pstat_getdynamic" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_PSTAT_GETDYNAMIC 1 _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_working_utimes=yes -else - gl_cv_func_working_utimes=no + gl_func_getloadavg_done=yes fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +done + fi +# We cannot check for , because Solaris 2 does not use dwarf (it +# uses stabs), but it is still SVR4. We cannot check for because +# Irix 4.0.5F has the header but not the library. +if test $gl_func_getloadavg_done = no && test "$ac_cv_lib_elf_elf_begin" = yes \ + && test "$ac_cv_lib_kvm_kvm_open" = yes; then + gl_func_getloadavg_done=yes + +$as_echo "#define SVR4 1" >>confdefs.h + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_utimes" >&5 -$as_echo "$gl_cv_func_working_utimes" >&6; } - if test $gl_cv_func_working_utimes = yes; then +if test $gl_func_getloadavg_done = no; then + ac_fn_c_check_header_mongrel "$LINENO" "inq_stats/cpustats.h" "ac_cv_header_inq_stats_cpustats_h" "$ac_includes_default" +if test "x$ac_cv_header_inq_stats_cpustats_h" = x""yes; then : + gl_func_getloadavg_done=yes -$as_echo "#define HAVE_WORKING_UTIMES 1" >>confdefs.h +$as_echo "#define UMAX 1" >>confdefs.h - fi +$as_echo "#define UMAX4_3 1" >>confdefs.h + +fi +fi +if test $gl_func_getloadavg_done = no; then + ac_fn_c_check_header_mongrel "$LINENO" "sys/cpustats.h" "ac_cv_header_sys_cpustats_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_cpustats_h" = x""yes; then : + gl_func_getloadavg_done=yes; $as_echo "#define UMAX 1" >>confdefs.h + +fi + + +fi + +if test $gl_func_getloadavg_done = no; then + for ac_header in mach/mach.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "mach/mach.h" "ac_cv_header_mach_mach_h" "$ac_includes_default" +if test "x$ac_cv_header_mach_mach_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_MACH_MACH_H 1 +_ACEOF + +fi + +done + +fi + +for ac_header in nlist.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "nlist.h" "ac_cv_header_nlist_h" "$ac_includes_default" +if test "x$ac_cv_header_nlist_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_NLIST_H 1 +_ACEOF + ac_fn_c_check_member "$LINENO" "struct nlist" "n_un.n_name" "ac_cv_member_struct_nlist_n_un_n_name" "#include +" +if test "x$ac_cv_member_struct_nlist_n_un_n_name" = x""yes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_NLIST_N_UN_N_NAME 1 +_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct utimbuf" >&5 -$as_echo_n "checking for struct utimbuf... " >&6; } -if test "${gl_cv_sys_struct_utimbuf+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if HAVE_SYS_TIME_H - #include - #endif - #include - #ifdef HAVE_UTIME_H - #include - #endif +fi + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main () { -static struct utimbuf x; x.actime = x.modtime; +struct nlist x; + #ifdef HAVE_STRUCT_NLIST_N_UN_N_NAME + x.n_un.n_name = ""; + #else + x.n_name = ""; + #endif ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_sys_struct_utimbuf=yes -else - gl_cv_sys_struct_utimbuf=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +if ac_fn_c_try_link "$LINENO"; then : + +$as_echo "#define N_NAME_POINTER 1" >>confdefs.h + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sys_struct_utimbuf" >&5 -$as_echo "$gl_cv_sys_struct_utimbuf" >&6; } +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext - if test $gl_cv_sys_struct_utimbuf = yes; then +fi -$as_echo "#define HAVE_STRUCT_UTIMBUF 1" >>confdefs.h +done fi @@ -20280,6 +22251,7 @@ $as_echo "#define HAVE_STRUCT_UTIMBUF 1" >>confdefs.h + GNULIB_GETLOADAVG=1 @@ -20287,20 +22259,10 @@ $as_echo "#define HAVE_STRUCT_UTIMBUF 1" >>confdefs.h - if false; then - GL_COND_LIBTOOL_TRUE= - GL_COND_LIBTOOL_FALSE='#' -else - GL_COND_LIBTOOL_TRUE='#' - GL_COND_LIBTOOL_FALSE= -fi - gl_cond_libtool=false - gl_libdeps= - gl_ltlibdeps= - gl_m4_base='m4' + if test $REPLACE_GETOPT = 1; then @@ -20308,282 +22270,232 @@ fi - gl_source_base='lib' + gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" - if test $ac_cv_func_alloca_works = no; then - : - fi - # Define an additional variable used in the Makefile substitution. - if test $ac_cv_working_alloca_h = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca as a compiler built-in" >&5 -$as_echo_n "checking for alloca as a compiler built-in... " >&6; } -if test "${gl_cv_rpl_alloca+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined __GNUC__ || defined _AIX || defined _MSC_VER - Need own alloca -#endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Need own alloca" >/dev/null 2>&1; then : - gl_cv_rpl_alloca=yes -else - gl_cv_rpl_alloca=no -fi -rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_rpl_alloca" >&5 -$as_echo "$gl_cv_rpl_alloca" >&6; } - if test $gl_cv_rpl_alloca = yes; then -$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h - ALLOCA_H=alloca.h - else - ALLOCA_H= - fi - else - ALLOCA_H=alloca.h + gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" + + + + + GNULIB_GL_UNISTD_H_GETOPT=1 fi - if test -n "$ALLOCA_H"; then - GL_GENERATE_ALLOCA_H_TRUE= - GL_GENERATE_ALLOCA_H_FALSE='#' -else - GL_GENERATE_ALLOCA_H_TRUE='#' - GL_GENERATE_ALLOCA_H_FALSE= -fi - # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. - # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. + REPLACE_GETOPT=0 + if test -n "$gl_replace_getopt"; then + REPLACE_GETOPT=1 + fi + + if test $REPLACE_GETOPT = 1; then + + GETOPT_H=getopt.h + +$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h - # Save and restore LIBS so e.g., -lrt, isn't added to it. Otherwise, *all* - # programs in the package would end up linked with that potentially-shared - # library, inducing unnecessary run-time overhead. - LIB_CLOCK_GETTIME= - gl_saved_libs=$LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 -$as_echo_n "checking for library containing clock_gettime... " >&6; } -if test "${ac_cv_search_clock_gettime+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char clock_gettime (); -int -main () -{ -return clock_gettime (); - ; - return 0; -} -_ACEOF -for ac_lib in '' rt posix4; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_clock_gettime=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if test "${ac_cv_search_clock_gettime+set}" = set; then : - break -fi -done -if test "${ac_cv_search_clock_gettime+set}" = set; then : -else - ac_cv_search_clock_gettime=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 -$as_echo "$ac_cv_search_clock_gettime" >&6; } -ac_res=$ac_cv_search_clock_gettime -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - test "$ac_cv_search_clock_gettime" = "none required" || - LIB_CLOCK_GETTIME=$ac_cv_search_clock_gettime -fi + if test $REPLACE_GETOPT = 1; then - for ac_func in clock_gettime clock_settime -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF -fi -done - LIBS=$gl_saved_libs - : + gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" - : + gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" + GNULIB_GL_UNISTD_H_GETOPT=1 + fi -$as_echo "#define HAVE_DUP2 1" >>confdefs.h - if test $HAVE_DUP2 = 1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether dup2 works" >&5 -$as_echo_n "checking whether dup2 works... " >&6; } -if test "${gl_cv_func_dup2_works+set}" = set; then : + + + + + + gl_gettimeofday_timezone=void + if test $ac_cv_func_gettimeofday != yes; then + HAVE_GETTIMEOFDAY=0 + else + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5 +$as_echo_n "checking whether gettimeofday clobbers localtime buffer... " >&6; } +if test "${gl_cv_func_gettimeofday_clobber+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : - case "$host_os" in - mingw*) # on this platform, dup2 always returns 0 for success - gl_cv_func_dup2_works="guessing no" ;; - cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0 - gl_cv_func_dup2_works="guessing no" ;; - linux*) # On linux between 2008-07-27 and 2009-05-11, dup2 of a - # closed fd may yield -EBADF instead of -1 / errno=EBADF. - gl_cv_func_dup2_works="guessing no" ;; - freebsd*) # on FreeBSD 6.1, dup2(1,1000000) gives EMFILE, not EBADF. - gl_cv_func_dup2_works="guessing no" ;; - haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. - gl_cv_func_dup2_works="guessing no" ;; - *) gl_cv_func_dup2_works="guessing yes" ;; - esac + # When cross-compiling: + case "$host_os" in + # Guess all is fine on glibc systems. + *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_gettimeofday_clobber="guessing yes" ;; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include + #include + #include + #include - #include -#include -#include int main () { -int result = 0; -#ifdef FD_CLOEXEC - if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) - result |= 1; -#endif - if (dup2 (1, 1) == 0) - result |= 2; -#ifdef FD_CLOEXEC - if (fcntl (1, F_GETFD) != FD_CLOEXEC) - result |= 4; -#endif - close (0); - if (dup2 (0, 0) != -1) - result |= 8; - /* Many gnulib modules require POSIX conformance of EBADF. */ - if (dup2 (2, 1000000) == -1 && errno != EBADF) - result |= 16; - return result; + + time_t t = 0; + struct tm *lt; + struct tm saved_lt; + struct timeval tv; + lt = localtime (&t); + saved_lt = *lt; + gettimeofday (&tv, NULL); + return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; ; return 0; } - _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_dup2_works=yes + gl_cv_func_gettimeofday_clobber=no else - gl_cv_func_dup2_works=no + gl_cv_func_gettimeofday_clobber=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_dup2_works" >&5 -$as_echo "$gl_cv_func_dup2_works" >&6; } - case "$gl_cv_func_dup2_works" in - *yes) ;; - *) - REPLACE_DUP2=1 - ;; - esac - fi - - - if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then - - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS dup2.$ac_objext" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_clobber" >&5 +$as_echo "$gl_cv_func_gettimeofday_clobber" >&6; } + case "$gl_cv_func_gettimeofday_clobber" in + *yes) + REPLACE_GETTIMEOFDAY=1 - fi +$as_echo "#define gmtime rpl_gmtime" >>confdefs.h +$as_echo "#define localtime rpl_localtime" >>confdefs.h - GNULIB_DUP2=1 +$as_echo "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5 +$as_echo_n "checking for gettimeofday with POSIX signature... " >&6; } +if test "${gl_cv_func_gettimeofday_posix_signature+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + struct timeval c; + int gettimeofday (struct timeval *restrict, void *restrict); +int +main () +{ +/* glibc uses struct timezone * rather than the POSIX void * + if _GNU_SOURCE is defined. However, since the only portable + use of gettimeofday uses NULL as the second parameter, and + since the glibc definition is actually more typesafe, it is + not worth wrapping this to get a compliant signature. */ + int (*f) (struct timeval *restrict, void *restrict) + = gettimeofday; + int x = f (&c, 0); + return !(x | c.tv_sec | c.tv_usec); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_gettimeofday_posix_signature=yes +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int gettimeofday (struct timeval *restrict, struct timezone *restrict); +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_gettimeofday_posix_signature=almost +else + gl_cv_func_gettimeofday_posix_signature=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5 +$as_echo "$gl_cv_func_gettimeofday_posix_signature" >&6; } + if test $gl_cv_func_gettimeofday_posix_signature = almost; then + gl_gettimeofday_timezone='struct timezone' + elif test $gl_cv_func_gettimeofday_posix_signature != yes; then + REPLACE_GETTIMEOFDAY=1 + fi + if test $REPLACE_STRUCT_TIMEVAL = 1; then + REPLACE_GETTIMEOFDAY=1 + fi + fi +cat >>confdefs.h <<_ACEOF +#define GETTIMEOFDAY_TIMEZONE $gl_gettimeofday_timezone +_ACEOF - GNULIB_ENVIRON=1 + if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then @@ -20592,642 +22504,517 @@ $as_echo "$gl_cv_func_dup2_works" >&6; } - LIB_EXECINFO='' - EXECINFO_H='execinfo.h' + gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" - if test $ac_cv_header_execinfo_h = yes; then - gl_saved_libs=$LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing backtrace_symbols_fd" >&5 -$as_echo_n "checking for library containing backtrace_symbols_fd... " >&6; } -if test "${ac_cv_search_backtrace_symbols_fd+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char backtrace_symbols_fd (); -int -main () -{ -return backtrace_symbols_fd (); - ; - return 0; -} + for ac_header in sys/timeb.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_timeb_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_TIMEB_H 1 _ACEOF -for ac_lib in '' execinfo; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_backtrace_symbols_fd=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if test "${ac_cv_search_backtrace_symbols_fd+set}" = set; then : - break + fi + done -if test "${ac_cv_search_backtrace_symbols_fd+set}" = set; then : -else - ac_cv_search_backtrace_symbols_fd=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_backtrace_symbols_fd" >&5 -$as_echo "$ac_cv_search_backtrace_symbols_fd" >&6; } -ac_res=$ac_cv_search_backtrace_symbols_fd -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - test "$ac_cv_search_backtrace_symbols_fd" = "none required" || - LIB_EXECINFO=$ac_cv_search_backtrace_symbols_fd + for ac_func in _ftime +do : + ac_fn_c_check_func "$LINENO" "_ftime" "ac_cv_func__ftime" +if test "x$ac_cv_func__ftime" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE__FTIME 1 +_ACEOF + fi +done + - LIBS=$gl_saved_libs - test "$ac_cv_search_backtrace_symbols_fd" = no || EXECINFO_H='' fi - if test -n "$EXECINFO_H"; then + GNULIB_GETTIMEOFDAY=1 + - gl_LIBOBJS="$gl_LIBOBJS execinfo.$ac_objext" + + + + + if test $ac_cv_func_lstat = yes; then + + case "$gl_cv_func_lstat_dereferences_slashed_symlink" in + *no) + REPLACE_LSTAT=1 + ;; + esac + else + HAVE_LSTAT=0 fi + if test $REPLACE_LSTAT = 1; then - if test -n "$EXECINFO_H"; then - GL_GENERATE_EXECINFO_H_TRUE= - GL_GENERATE_EXECINFO_H_FALSE='#' -else - GL_GENERATE_EXECINFO_H_TRUE='#' - GL_GENERATE_EXECINFO_H_FALSE= -fi + gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext" + : + fi -# Persuade glibc to declare getloadavg(). -gl_save_LIBS=$LIBS -# getloadvg is present in libc on glibc >= 2.2, Mac OS X, FreeBSD >= 2.0, -# NetBSD >= 0.9, OpenBSD >= 2.0, Solaris >= 7. -HAVE_GETLOADAVG=1 -ac_fn_c_check_func "$LINENO" "getloadavg" "ac_cv_func_getloadavg" -if test "x$ac_cv_func_getloadavg" = x""yes; then : + GNULIB_LSTAT=1 -else - gl_func_getloadavg_done=no - # Some systems with -lutil have (and need) -lkvm as well, some do not. - # On Solaris, -lkvm requires nlist from -lelf, so check that first - # to get the right answer into the cache. - # For kstat on solaris, we need to test for libelf and libkvm to force the - # definition of SVR4 below. - if test $gl_func_getloadavg_done = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for elf_begin in -lelf" >&5 -$as_echo_n "checking for elf_begin in -lelf... " >&6; } -if test "${ac_cv_lib_elf_elf_begin+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lelf $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char elf_begin (); -int -main () -{ -return elf_begin (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_elf_elf_begin=yes -else - ac_cv_lib_elf_elf_begin=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_elf_elf_begin" >&5 -$as_echo "$ac_cv_lib_elf_elf_begin" >&6; } -if test "x$ac_cv_lib_elf_elf_begin" = x""yes; then : - LIBS="-lelf $LIBS" -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kvm_open in -lkvm" >&5 -$as_echo_n "checking for kvm_open in -lkvm... " >&6; } -if test "${ac_cv_lib_kvm_kvm_open+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lkvm $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char kvm_open (); -int -main () -{ -return kvm_open (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_kvm_kvm_open=yes -else - ac_cv_lib_kvm_kvm_open=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kvm_kvm_open" >&5 -$as_echo "$ac_cv_lib_kvm_kvm_open" >&6; } -if test "x$ac_cv_lib_kvm_kvm_open" = x""yes; then : - LIBS="-lkvm $LIBS" -fi - # Check for the 4.4BSD definition of getloadavg. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getloadavg in -lutil" >&5 -$as_echo_n "checking for getloadavg in -lutil... " >&6; } -if test "${ac_cv_lib_util_getloadavg+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lutil $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char getloadavg (); -int -main () -{ -return getloadavg (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_util_getloadavg=yes -else - ac_cv_lib_util_getloadavg=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_getloadavg" >&5 -$as_echo "$ac_cv_lib_util_getloadavg" >&6; } -if test "x$ac_cv_lib_util_getloadavg" = x""yes; then : - LIBS="-lutil $LIBS" gl_func_getloadavg_done=yes -fi - fi - if test $gl_func_getloadavg_done = no; then - # There is a commonly available library for RS/6000 AIX. - # Since it is not a standard part of AIX, it might be installed locally. - gl_getloadavg_LIBS=$LIBS - LIBS="-L/usr/local/lib $LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getloadavg in -lgetloadavg" >&5 -$as_echo_n "checking for getloadavg in -lgetloadavg... " >&6; } -if test "${ac_cv_lib_getloadavg_getloadavg+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgetloadavg $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char getloadavg (); -int -main () -{ -return getloadavg (); - ; - return 0; -} + if test $ac_cv_have_decl_memrchr = no; then + HAVE_DECL_MEMRCHR=0 + fi + + for ac_func in memrchr +do : + ac_fn_c_check_func "$LINENO" "memrchr" "ac_cv_func_memrchr" +if test "x$ac_cv_func_memrchr" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_MEMRCHR 1 _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_getloadavg_getloadavg=yes -else - ac_cv_lib_getloadavg_getloadavg=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_getloadavg_getloadavg" >&5 -$as_echo "$ac_cv_lib_getloadavg_getloadavg" >&6; } -if test "x$ac_cv_lib_getloadavg_getloadavg" = x""yes; then : - LIBS="-lgetloadavg $LIBS" gl_func_getloadavg_done=yes -else - LIBS=$gl_getloadavg_LIBS + fi +done + + + if test $ac_cv_func_memrchr = no; then + - fi - # Set up the replacement function if necessary. - if test $gl_func_getloadavg_done = no; then - HAVE_GETLOADAVG=0 - # Solaris has libkstat which does not require root. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kstat_open in -lkstat" >&5 -$as_echo_n "checking for kstat_open in -lkstat... " >&6; } -if test "${ac_cv_lib_kstat_kstat_open+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lkstat $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char kstat_open (); -int -main () -{ -return kstat_open (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_kstat_kstat_open=yes -else - ac_cv_lib_kstat_kstat_open=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_kstat_kstat_open" >&5 -$as_echo "$ac_cv_lib_kstat_kstat_open" >&6; } -if test "x$ac_cv_lib_kstat_kstat_open" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBKSTAT 1 -_ACEOF - LIBS="-lkstat $LIBS" -fi - test $ac_cv_lib_kstat_kstat_open = yes && gl_func_getloadavg_done=yes + gl_LIBOBJS="$gl_LIBOBJS memrchr.$ac_objext" - # AIX has libperfstat which does not require root - if test $gl_func_getloadavg_done = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perfstat_cpu_total in -lperfstat" >&5 -$as_echo_n "checking for perfstat_cpu_total in -lperfstat... " >&6; } -if test "${ac_cv_lib_perfstat_perfstat_cpu_total+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lperfstat $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + : + fi -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char perfstat_cpu_total (); -int -main () -{ -return perfstat_cpu_total (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_perfstat_perfstat_cpu_total=yes -else - ac_cv_lib_perfstat_perfstat_cpu_total=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_perfstat_perfstat_cpu_total" >&5 -$as_echo "$ac_cv_lib_perfstat_perfstat_cpu_total" >&6; } -if test "x$ac_cv_lib_perfstat_perfstat_cpu_total" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBPERFSTAT 1 -_ACEOF - LIBS="-lperfstat $LIBS" -fi - test $ac_cv_lib_perfstat_perfstat_cpu_total = yes && gl_func_getloadavg_done=yes - fi - if test $gl_func_getloadavg_done = no; then - ac_fn_c_check_header_mongrel "$LINENO" "sys/dg_sys_info.h" "ac_cv_header_sys_dg_sys_info_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_dg_sys_info_h" = x""yes; then : - gl_func_getloadavg_done=yes + GNULIB_MEMRCHR=1 -$as_echo "#define DGUX 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dg_sys_info in -ldgc" >&5 -$as_echo_n "checking for dg_sys_info in -ldgc... " >&6; } -if test "${ac_cv_lib_dgc_dg_sys_info+set}" = set; then : + + + + + + + + + + if test $APPLE_UNIVERSAL_BUILD = 1; then + # A universal build on Apple Mac OS X platforms. + # The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode. + # But we need a configuration result that is valid in both modes. + gl_cv_func_working_mktime=no + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mktime" >&5 +$as_echo_n "checking for working mktime... " >&6; } +if test "${gl_cv_func_working_mktime+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldgc $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test "$cross_compiling" = yes; then : + gl_cv_func_working_mktime=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +/* Test program from Paul Eggert and Tony Leneis. */ +#include +#include +#include -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" +#ifdef HAVE_UNISTD_H +# include #endif -char dg_sys_info (); -int -main () + +#ifndef HAVE_ALARM +# define alarm(X) /* empty */ +#endif + +/* Work around redefinition to rpl_putenv by other config tests. */ +#undef putenv + +static time_t time_t_max; +static time_t time_t_min; + +/* Values we'll use to set the TZ environment variable. */ +static char *tz_strings[] = { + (char *) 0, "TZ=GMT0", "TZ=JST-9", + "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" +}; +#define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) + +/* Return 0 if mktime fails to convert a date in the spring-forward gap. + Based on a problem report from Andreas Jaeger. */ +static int +spring_forward_gap () { -return dg_sys_info (); - ; - return 0; + /* glibc (up to about 1998-10-07) failed this test. */ + struct tm tm; + + /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" + instead of "TZ=America/Vancouver" in order to detect the bug even + on systems that don't support the Olson extension, or don't have the + full zoneinfo tables installed. */ + putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); + + tm.tm_year = 98; + tm.tm_mon = 3; + tm.tm_mday = 5; + tm.tm_hour = 2; + tm.tm_min = 0; + tm.tm_sec = 0; + tm.tm_isdst = -1; + return mktime (&tm) != (time_t) -1; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dgc_dg_sys_info=yes -else - ac_cv_lib_dgc_dg_sys_info=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dgc_dg_sys_info" >&5 -$as_echo "$ac_cv_lib_dgc_dg_sys_info" >&6; } -if test "x$ac_cv_lib_dgc_dg_sys_info" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBDGC 1 -_ACEOF - LIBS="-ldgc $LIBS" +static int +mktime_test1 (time_t now) +{ + struct tm *lt; + return ! (lt = localtime (&now)) || mktime (lt) == now; +} + +static int +mktime_test (time_t now) +{ + return (mktime_test1 (now) + && mktime_test1 ((time_t) (time_t_max - now)) + && mktime_test1 ((time_t) (time_t_min + now))); +} + +static int +irix_6_4_bug () +{ + /* Based on code from Ariel Faigon. */ + struct tm tm; + tm.tm_year = 96; + tm.tm_mon = 3; + tm.tm_mday = 0; + tm.tm_hour = 0; + tm.tm_min = 0; + tm.tm_sec = 0; + tm.tm_isdst = -1; + mktime (&tm); + return tm.tm_mon == 2 && tm.tm_mday == 31; +} + +static int +bigtime_test (int j) +{ + struct tm tm; + time_t now; + tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; + now = mktime (&tm); + if (now != (time_t) -1) + { + struct tm *lt = localtime (&now); + if (! (lt + && lt->tm_year == tm.tm_year + && lt->tm_mon == tm.tm_mon + && lt->tm_mday == tm.tm_mday + && lt->tm_hour == tm.tm_hour + && lt->tm_min == tm.tm_min + && lt->tm_sec == tm.tm_sec + && lt->tm_yday == tm.tm_yday + && lt->tm_wday == tm.tm_wday + && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) + == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) + return 0; + } + return 1; +} -fi +static int +year_2050_test () +{ + /* The correct answer for 2050-02-01 00:00:00 in Pacific time, + ignoring leap seconds. */ + unsigned long int answer = 2527315200UL; -fi + struct tm tm; + time_t t; + tm.tm_year = 2050 - 1900; + tm.tm_mon = 2 - 1; + tm.tm_mday = 1; + tm.tm_hour = tm.tm_min = tm.tm_sec = 0; + tm.tm_isdst = -1; + /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" + instead of "TZ=America/Vancouver" in order to detect the bug even + on systems that don't support the Olson extension, or don't have the + full zoneinfo tables installed. */ + putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); - fi - fi -fi + t = mktime (&tm); + /* Check that the result is either a failure, or close enough + to the correct answer that we can assume the discrepancy is + due to leap seconds. */ + return (t == (time_t) -1 + || (0 < t && answer - 120 <= t && t <= answer + 120)); +} -if test "x$gl_save_LIBS" = x; then - GETLOADAVG_LIBS=$LIBS -else - GETLOADAVG_LIBS=`echo "$LIBS" | sed "s!$gl_save_LIBS!!"` -fi -LIBS=$gl_save_LIBS +int +main () +{ + int result = 0; + time_t t, delta; + int i, j; + int time_t_signed_magnitude = (time_t) ~ (time_t) 0 < (time_t) -1; + int time_t_signed = ! ((time_t) 0 < (time_t) -1); + /* This test makes some buggy mktime implementations loop. + Give up after 60 seconds; a mktime slower than that + isn't worth using anyway. */ + alarm (60); -# Test whether the system declares getloadavg. Solaris has the function -# but declares it in , not . -for ac_header in sys/loadavg.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/loadavg.h" "ac_cv_header_sys_loadavg_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_loadavg_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_LOADAVG_H 1 -_ACEOF + time_t_max = (! time_t_signed + ? (time_t) -1 + : ((((time_t) 1 << (sizeof (time_t) * CHAR_BIT - 2)) - 1) + * 2 + 1)); + time_t_min = (! time_t_signed + ? (time_t) 0 + : time_t_signed_magnitude + ? ~ (time_t) 0 + : ~ time_t_max); -fi + delta = time_t_max / 997; /* a suitable prime number */ + for (i = 0; i < N_STRINGS; i++) + { + if (tz_strings[i]) + putenv (tz_strings[i]); -done + for (t = 0; t <= time_t_max - delta && (result & 1) == 0; t += delta) + if (! mktime_test (t)) + result |= 1; + if ((result & 2) == 0 + && ! (mktime_test ((time_t) 1) + && mktime_test ((time_t) (60 * 60)) + && mktime_test ((time_t) (60 * 60 * 24)))) + result |= 2; -if test $ac_cv_header_sys_loadavg_h = yes; then - HAVE_SYS_LOADAVG_H=1 + for (j = 1; (result & 4) == 0; j <<= 1) + { + if (! bigtime_test (j)) + result |= 4; + if (INT_MAX / 2 < j) + break; + } + if ((result & 8) == 0 && ! bigtime_test (INT_MAX)) + result |= 8; + } + if (! irix_6_4_bug ()) + result |= 16; + if (! spring_forward_gap ()) + result |= 32; + if (! year_2050_test ()) + result |= 64; + return result; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_working_mktime=yes else - HAVE_SYS_LOADAVG_H=0 + gl_cv_func_working_mktime=no fi -ac_fn_c_check_decl "$LINENO" "getloadavg" "ac_cv_have_decl_getloadavg" "#if HAVE_SYS_LOADAVG_H - # include - #endif - #include -" -if test "x$ac_cv_have_decl_getloadavg" = x""yes; then : - -else - HAVE_DECL_GETLOADAVG=0 +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - if test $HAVE_GETLOADAVG = 0; then - +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_mktime" >&5 +$as_echo "$gl_cv_func_working_mktime" >&6; } + if test $gl_cv_func_working_mktime = no; then + REPLACE_MKTIME=1 + else + REPLACE_MKTIME=0 + fi + if test $REPLACE_MKTIME = 1; then - gl_LIBOBJS="$gl_LIBOBJS getloadavg.$ac_objext" -# Figure out what our getloadavg.c needs. + gl_LIBOBJS="$gl_LIBOBJS mktime.$ac_objext" + : + fi -# On HPUX9, an unprivileged user can get load averages this way. -if test $gl_func_getloadavg_done = no; then - for ac_func in pstat_getdynamic -do : - ac_fn_c_check_func "$LINENO" "pstat_getdynamic" "ac_cv_func_pstat_getdynamic" -if test "x$ac_cv_func_pstat_getdynamic" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_PSTAT_GETDYNAMIC 1 -_ACEOF - gl_func_getloadavg_done=yes -fi -done -fi -# We cannot check for , because Solaris 2 does not use dwarf (it -# uses stabs), but it is still SVR4. We cannot check for because -# Irix 4.0.5F has the header but not the library. -if test $gl_func_getloadavg_done = no && test "$ac_cv_lib_elf_elf_begin" = yes \ - && test "$ac_cv_lib_kvm_kvm_open" = yes; then - gl_func_getloadavg_done=yes -$as_echo "#define SVR4 1" >>confdefs.h -fi + GNULIB_MKTIME=1 -if test $gl_func_getloadavg_done = no; then - ac_fn_c_check_header_mongrel "$LINENO" "inq_stats/cpustats.h" "ac_cv_header_inq_stats_cpustats_h" "$ac_includes_default" -if test "x$ac_cv_header_inq_stats_cpustats_h" = x""yes; then : - gl_func_getloadavg_done=yes -$as_echo "#define UMAX 1" >>confdefs.h -$as_echo "#define UMAX4_3 1" >>confdefs.h -fi -fi -if test $gl_func_getloadavg_done = no; then - ac_fn_c_check_header_mongrel "$LINENO" "sys/cpustats.h" "ac_cv_header_sys_cpustats_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_cpustats_h" = x""yes; then : - gl_func_getloadavg_done=yes; $as_echo "#define UMAX 1" >>confdefs.h -fi -fi + if test $ac_cv_func_pselect = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether signature of pselect conforms to POSIX" >&5 +$as_echo_n "checking whether signature of pselect conforms to POSIX... " >&6; } +if test "${gl_cv_sig_pselect+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -if test $gl_func_getloadavg_done = no; then - for ac_header in mach/mach.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "mach/mach.h" "ac_cv_header_mach_mach_h" "$ac_includes_default" -if test "x$ac_cv_header_mach_mach_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_MACH_MACH_H 1 +int +main () +{ +int (*p) (int, fd_set *, fd_set *, fd_set *restrict, + struct timespec const *restrict, + sigset_t const *restrict) = pselect; + return !p; + ; + return 0; +} _ACEOF - +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_sig_pselect=yes +else + gl_cv_sig_pselect=no fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sig_pselect" >&5 +$as_echo "$gl_cv_sig_pselect" >&6; } -done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pselect detects invalid fds" >&5 +$as_echo_n "checking whether pselect detects invalid fds... " >&6; } +if test "${gl_cv_func_pselect_detects_ebadf+set}" = set; then : + $as_echo_n "(cached) " >&6 +else -fi + if test "$cross_compiling" = yes; then : -for ac_header in nlist.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "nlist.h" "ac_cv_header_nlist_h" "$ac_includes_default" -if test "x$ac_cv_header_nlist_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NLIST_H 1 -_ACEOF - ac_fn_c_check_member "$LINENO" "struct nlist" "n_un.n_name" "ac_cv_member_struct_nlist_n_un_n_name" "#include -" -if test "x$ac_cv_member_struct_nlist_n_un_n_name" = x""yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_pselect_detects_ebadf="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_pselect_detects_ebadf="guessing no" ;; + esac -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_NLIST_N_UN_N_NAME 1 -_ACEOF +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#if HAVE_SYS_SELECT_H +# include +#endif +#include +#include +int +main () +{ -fi + fd_set set; + dup2(0, 16); + FD_ZERO(&set); + FD_SET(16, &set); + close(16); + struct timespec timeout; + timeout.tv_sec = 0; + timeout.tv_nsec = 5000; + return pselect (17, &set, NULL, NULL, &timeout, NULL) != -1 || errno != EBADF; - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -struct nlist x; - #ifdef HAVE_STRUCT_NLIST_N_UN_N_NAME - x.n_un.n_name = ""; - #else - x.n_name = ""; - #endif ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_pselect_detects_ebadf=yes +else + gl_cv_func_pselect_detects_ebadf=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi -$as_echo "#define N_NAME_POINTER 1" >>confdefs.h fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pselect_detects_ebadf" >&5 +$as_echo "$gl_cv_func_pselect_detects_ebadf" >&6; } + case $gl_cv_func_pselect_detects_ebadf in + *yes) ;; + *) REPLACE_PSELECT=1 ;; + esac + fi -fi + if test $ac_cv_func_pselect = no || test $gl_cv_sig_pselect = no; then + REPLACE_PSELECT=1 + fi -done + if test $HAVE_PSELECT = 0 || test $REPLACE_PSELECT = 1; then - fi - GNULIB_GETLOADAVG=1 + gl_LIBOBJS="$gl_LIBOBJS pselect.$ac_objext" + fi + GNULIB_PSELECT=1 - if test $REPLACE_GETOPT = 1; then @@ -21235,57 +23022,259 @@ done + LIB_PTHREAD_SIGMASK= - gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" + if test "$gl_threads_api" = posix; then + if test $ac_cv_func_pthread_sigmask = yes; then + : + else + if test -n "$LIBMULTITHREAD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_sigmask in $LIBMULTITHREAD" >&5 +$as_echo_n "checking for pthread_sigmask in $LIBMULTITHREAD... " >&6; } +if test "${gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + gl_save_LIBS="$LIBS" + LIBS="$LIBS $LIBMULTITHREAD" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include +int +main () +{ +return pthread_sigmask (0, (sigset_t *) 0, (sigset_t *) 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=yes +else + gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gl_save_LIBS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD" >&5 +$as_echo "$gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD" >&6; } + if test $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD = yes; then + LIB_PTHREAD_SIGMASK="$LIBMULTITHREAD" + else + HAVE_PTHREAD_SIGMASK=0 + fi + else + HAVE_PTHREAD_SIGMASK=0 + fi + fi + else + if test $ac_cv_func_pthread_sigmask = yes; then + REPLACE_PTHREAD_SIGMASK=1 + else + HAVE_PTHREAD_SIGMASK=0 + fi + fi - gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" + if test $HAVE_PTHREAD_SIGMASK = 1; then + if test -z "$LIB_PTHREAD_SIGMASK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthread_sigmask works without -lpthread" >&5 +$as_echo_n "checking whether pthread_sigmask works without -lpthread... " >&6; } +if test "${gl_cv_func_pthread_sigmask_in_libc_works+set}" = set; then : + $as_echo_n "(cached) " >&6 +else - GNULIB_GL_UNISTD_H_GETOPT=1 - fi + if test "$cross_compiling" = yes; then : + case "$host_os" in + freebsd* | hpux* | solaris | solaris2.[2-9]*) + gl_cv_func_pthread_sigmask_in_libc_works="guessing no";; + *) + gl_cv_func_pthread_sigmask_in_libc_works="guessing yes";; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +int main () +{ + sigset_t set; + sigemptyset (&set); + return pthread_sigmask (1729, &set, NULL) != 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_pthread_sigmask_in_libc_works=no +else + gl_cv_func_pthread_sigmask_in_libc_works=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_in_libc_works" >&5 +$as_echo "$gl_cv_func_pthread_sigmask_in_libc_works" >&6; } + case "$gl_cv_func_pthread_sigmask_in_libc_works" in + *no) + REPLACE_PTHREAD_SIGMASK=1 +$as_echo "#define PTHREAD_SIGMASK_INEFFECTIVE 1" >>confdefs.h - REPLACE_GETOPT=0 - if test -n "$gl_replace_getopt"; then - REPLACE_GETOPT=1 + ;; + esac fi - if test $REPLACE_GETOPT = 1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthread_sigmask returns error numbers" >&5 +$as_echo_n "checking whether pthread_sigmask returns error numbers... " >&6; } +if test "${gl_cv_func_pthread_sigmask_return_works+set}" = set; then : + $as_echo_n "(cached) " >&6 +else - GETOPT_H=getopt.h + gl_save_LIBS="$LIBS" + LIBS="$LIBS $LIB_PTHREAD_SIGMASK" + if test "$cross_compiling" = yes; then : + case "$host_os" in + cygwin*) + gl_cv_func_pthread_sigmask_return_works="guessing no";; + *) + gl_cv_func_pthread_sigmask_return_works="guessing yes";; + esac -$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +int main () +{ + sigset_t set; + sigemptyset (&set); + if (pthread_sigmask (1729, &set, NULL) == -1) + return 1; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_pthread_sigmask_return_works=yes +else + gl_cv_func_pthread_sigmask_return_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + LIBS="$gl_save_LIBS" - fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_return_works" >&5 +$as_echo "$gl_cv_func_pthread_sigmask_return_works" >&6; } + case "$gl_cv_func_pthread_sigmask_return_works" in + *no) + REPLACE_PTHREAD_SIGMASK=1 - if test $REPLACE_GETOPT = 1; then +$as_echo "#define PTHREAD_SIGMASK_FAILS_WITH_ERRNO 1" >>confdefs.h + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthread_sigmask unblocks signals correctly" >&5 +$as_echo_n "checking whether pthread_sigmask unblocks signals correctly... " >&6; } +if test "${gl_cv_func_pthread_sigmask_unblock_works+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case "$host_os" in + irix*) + gl_cv_func_pthread_sigmask_unblock_works="guessing no";; + *) + gl_cv_func_pthread_sigmask_unblock_works="guessing yes";; + esac + gl_save_LIBS="$LIBS" + LIBS="$LIBS $LIBMULTITHREAD" + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +#include +static volatile int sigint_occurred; +static void +sigint_handler (int sig) +{ + sigint_occurred++; +} +int main () +{ + sigset_t set; + int pid = getpid (); + char command[80]; + signal (SIGINT, sigint_handler); + sigemptyset (&set); + sigaddset (&set, SIGINT); + if (!(pthread_sigmask (SIG_BLOCK, &set, NULL) == 0)) + return 1; + sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, pid); + if (!(system (command) == 0)) + return 2; + sleep (2); + if (!(sigint_occurred == 0)) + return 3; + if (!(pthread_sigmask (SIG_UNBLOCK, &set, NULL) == 0)) + return 4; + if (!(sigint_occurred == 1)) /* This fails on IRIX. */ + return 5; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + : +else + gl_cv_func_pthread_sigmask_unblock_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + LIBS="$gl_save_LIBS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_unblock_works" >&5 +$as_echo "$gl_cv_func_pthread_sigmask_unblock_works" >&6; } + case "$gl_cv_func_pthread_sigmask_unblock_works" in + *no) + REPLACE_PTHREAD_SIGMASK=1 +$as_echo "#define PTHREAD_SIGMASK_UNBLOCK_BUG 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext" + ;; + esac + fi + if test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1; then @@ -21294,207 +23283,215 @@ $as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS pthread_sigmask.$ac_objext" + if test $HAVE_PTHREAD_SIGMASK = 1; then +$as_echo "#define HAVE_PTHREAD_SIGMASK 1" >>confdefs.h - GNULIB_GL_UNISTD_H_GETOPT=1 fi + fi + GNULIB_PTHREAD_SIGMASK=1 - gl_gettimeofday_timezone=void - if test $ac_cv_func_gettimeofday != yes; then - HAVE_GETTIMEOFDAY=0 - else - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gettimeofday clobbers localtime buffer" >&5 -$as_echo_n "checking whether gettimeofday clobbers localtime buffer... " >&6; } -if test "${gl_cv_func_gettimeofday_clobber+set}" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for putenv compatible with GNU and SVID" >&5 +$as_echo_n "checking for putenv compatible with GNU and SVID... " >&6; } +if test "${gl_cv_func_svid_putenv+set}" = set; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : - # When cross-compiling: - case "$host_os" in - # Guess all is fine on glibc systems. - *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; - # If we don't know, assume the worst. - *) gl_cv_func_gettimeofday_clobber="guessing yes" ;; - esac + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_svid_putenv="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_svid_putenv="guessing no" ;; + esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - #include - #include - +$ac_includes_default int main () { - time_t t = 0; - struct tm *lt; - struct tm saved_lt; - struct timeval tv; - lt = localtime (&t); - saved_lt = *lt; - gettimeofday (&tv, NULL); - return memcmp (lt, &saved_lt, sizeof (struct tm)) != 0; + /* Put it in env. */ + if (putenv ("CONFTEST_putenv=val")) + return 1; + + /* Try to remove it. */ + if (putenv ("CONFTEST_putenv")) + return 2; + + /* Make sure it was deleted. */ + if (getenv ("CONFTEST_putenv") != 0) + return 3; + + return 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_gettimeofday_clobber=no + gl_cv_func_svid_putenv=yes else - gl_cv_func_gettimeofday_clobber=yes + gl_cv_func_svid_putenv=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_clobber" >&5 -$as_echo "$gl_cv_func_gettimeofday_clobber" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_svid_putenv" >&5 +$as_echo "$gl_cv_func_svid_putenv" >&6; } + case "$gl_cv_func_svid_putenv" in + *yes) ;; + *) + REPLACE_PUTENV=1 + ;; + esac - case "$gl_cv_func_gettimeofday_clobber" in - *yes) - REPLACE_GETTIMEOFDAY=1 + if test $REPLACE_PUTENV = 1; then -$as_echo "#define gmtime rpl_gmtime" >>confdefs.h -$as_echo "#define localtime rpl_localtime" >>confdefs.h -$as_echo "#define GETTIMEOFDAY_CLOBBERS_LOCALTIME 1" >>confdefs.h - ;; - esac + gl_LIBOBJS="$gl_LIBOBJS putenv.$ac_objext" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gettimeofday with POSIX signature" >&5 -$as_echo_n "checking for gettimeofday with POSIX signature... " >&6; } -if test "${gl_cv_func_gettimeofday_posix_signature+set}" = set; then : + fi + + + + + + GNULIB_PUTENV=1 + + + + + + + + + if test $ac_cv_func_readlink = no; then + HAVE_READLINK=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink signature is correct" >&5 +$as_echo_n "checking whether readlink signature is correct... " >&6; } +if test "${gl_cv_decl_readlink_works+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - struct timeval c; - int gettimeofday (struct timeval *restrict, void *restrict); - +#include + /* Cause compilation failure if original declaration has wrong type. */ + ssize_t readlink (const char *, char *, size_t); int main () { -/* glibc uses struct timezone * rather than the POSIX void * - if _GNU_SOURCE is defined. However, since the only portable - use of gettimeofday uses NULL as the second parameter, and - since the glibc definition is actually more typesafe, it is - not worth wrapping this to get a compliant signature. */ - int (*f) (struct timeval *restrict, void *restrict) - = gettimeofday; - int x = f (&c, 0); - return !(x | c.tv_sec | c.tv_usec); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_gettimeofday_posix_signature=yes + gl_cv_decl_readlink_works=yes +else + gl_cv_decl_readlink_works=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_readlink_works" >&5 +$as_echo "$gl_cv_decl_readlink_works" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink handles trailing slash correctly" >&5 +$as_echo_n "checking whether readlink handles trailing slash correctly... " >&6; } +if test "${gl_cv_func_readlink_works+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + # We have readlink, so assume ln -s works. + ln -s conftest.no-such conftest.link + ln -s conftest.link conftest.lnk2 + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_readlink_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_readlink_works="guessing no" ;; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int gettimeofday (struct timeval *restrict, struct timezone *restrict); +#include int main () { - +char buf[20]; + return readlink ("conftest.lnk2/", buf, sizeof buf) != -1; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_gettimeofday_posix_signature=almost +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_readlink_works=yes else - gl_cv_func_gettimeofday_posix_signature=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + gl_cv_func_readlink_works=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_gettimeofday_posix_signature" >&5 -$as_echo "$gl_cv_func_gettimeofday_posix_signature" >&6; } - if test $gl_cv_func_gettimeofday_posix_signature = almost; then - gl_gettimeofday_timezone='struct timezone' - elif test $gl_cv_func_gettimeofday_posix_signature != yes; then - REPLACE_GETTIMEOFDAY=1 - fi - if test $REPLACE_STRUCT_TIMEVAL = 1; then - REPLACE_GETTIMEOFDAY=1 - fi - - fi - -cat >>confdefs.h <<_ACEOF -#define GETTIMEOFDAY_TIMEZONE $gl_gettimeofday_timezone -_ACEOF - - - if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then - + rm -f conftest.link conftest.lnk2 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_readlink_works" >&5 +$as_echo "$gl_cv_func_readlink_works" >&6; } + case "$gl_cv_func_readlink_works" in + *yes) + if test "$gl_cv_decl_readlink_works" != yes; then + REPLACE_READLINK=1 + fi + ;; + *) +$as_echo "#define READLINK_TRAILING_SLASH_BUG 1" >>confdefs.h + REPLACE_READLINK=1 + ;; + esac + fi + if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then - gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext" - for ac_header in sys/timeb.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_timeb_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_TIMEB_H 1 -_ACEOF -fi -done - for ac_func in _ftime -do : - ac_fn_c_check_func "$LINENO" "_ftime" "ac_cv_func__ftime" -if test "x$ac_cv_func__ftime" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE__FTIME 1 -_ACEOF + gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext" -fi -done + : fi @@ -21502,9 +23499,7 @@ done - GNULIB_GETTIMEOFDAY=1 - - + GNULIB_READLINK=1 @@ -21513,31 +23508,21 @@ done - if test $ac_cv_func_lstat = yes; then - case "$gl_cv_func_lstat_dereferences_slashed_symlink" in - *no) - REPLACE_LSTAT=1 - ;; - esac - else - HAVE_LSTAT=0 + if test $ac_cv_func_readlinkat = no; then + HAVE_READLINKAT=0 fi - if test $REPLACE_LSTAT = 1; then - - - + if test $HAVE_READLINKAT = 0; then - gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext" - : + gl_LIBOBJS="$gl_LIBOBJS readlinkat.$ac_objext" fi @@ -21545,781 +23530,697 @@ done - GNULIB_LSTAT=1 - - - - - + GNULIB_READLINKAT=1 - if test $APPLE_UNIVERSAL_BUILD = 1; then - # A universal build on Apple Mac OS X platforms. - # The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode. - # But we need a configuration result that is valid in both modes. - gl_cv_func_working_mktime=no - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mktime" >&5 -$as_echo_n "checking for working mktime... " >&6; } -if test "${gl_cv_func_working_mktime+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - gl_cv_func_working_mktime=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Test program from Paul Eggert and Tony Leneis. */ -#include -#include -#include + for ac_func in sig2str +do : + ac_fn_c_check_func "$LINENO" "sig2str" "ac_cv_func_sig2str" +if test "x$ac_cv_func_sig2str" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SIG2STR 1 +_ACEOF -#ifdef HAVE_UNISTD_H -# include -#endif +fi +done -#ifndef HAVE_ALARM -# define alarm(X) /* empty */ -#endif -/* Work around redefinition to rpl_putenv by other config tests. */ -#undef putenv + if test $ac_cv_func_sig2str = no; then -static time_t time_t_max; -static time_t time_t_min; -/* Values we'll use to set the TZ environment variable. */ -static char *tz_strings[] = { - (char *) 0, "TZ=GMT0", "TZ=JST-9", - "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" -}; -#define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) -/* Return 0 if mktime fails to convert a date in the spring-forward gap. - Based on a problem report from Andreas Jaeger. */ -static int -spring_forward_gap () -{ - /* glibc (up to about 1998-10-07) failed this test. */ - struct tm tm; - /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" - instead of "TZ=America/Vancouver" in order to detect the bug even - on systems that don't support the Olson extension, or don't have the - full zoneinfo tables installed. */ - putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); - tm.tm_year = 98; - tm.tm_mon = 3; - tm.tm_mday = 5; - tm.tm_hour = 2; - tm.tm_min = 0; - tm.tm_sec = 0; - tm.tm_isdst = -1; - return mktime (&tm) != (time_t) -1; -} -static int -mktime_test1 (time_t now) -{ - struct tm *lt; - return ! (lt = localtime (&now)) || mktime (lt) == now; -} -static int -mktime_test (time_t now) -{ - return (mktime_test1 (now) - && mktime_test1 ((time_t) (time_t_max - now)) - && mktime_test1 ((time_t) (time_t_min + now))); -} -static int -irix_6_4_bug () -{ - /* Based on code from Ariel Faigon. */ - struct tm tm; - tm.tm_year = 96; - tm.tm_mon = 3; - tm.tm_mday = 0; - tm.tm_hour = 0; - tm.tm_min = 0; - tm.tm_sec = 0; - tm.tm_isdst = -1; - mktime (&tm); - return tm.tm_mon == 2 && tm.tm_mday == 31; -} + gl_LIBOBJS="$gl_LIBOBJS sig2str.$ac_objext" -static int -bigtime_test (int j) -{ - struct tm tm; - time_t now; - tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; - now = mktime (&tm); - if (now != (time_t) -1) - { - struct tm *lt = localtime (&now); - if (! (lt - && lt->tm_year == tm.tm_year - && lt->tm_mon == tm.tm_mon - && lt->tm_mday == tm.tm_mday - && lt->tm_hour == tm.tm_hour - && lt->tm_min == tm.tm_min - && lt->tm_sec == tm.tm_sec - && lt->tm_yday == tm.tm_yday - && lt->tm_wday == tm.tm_wday - && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) - == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) - return 0; - } - return 1; -} -static int -year_2050_test () -{ - /* The correct answer for 2050-02-01 00:00:00 in Pacific time, - ignoring leap seconds. */ - unsigned long int answer = 2527315200UL; + : - struct tm tm; - time_t t; - tm.tm_year = 2050 - 1900; - tm.tm_mon = 2 - 1; - tm.tm_mday = 1; - tm.tm_hour = tm.tm_min = tm.tm_sec = 0; - tm.tm_isdst = -1; + fi - /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" - instead of "TZ=America/Vancouver" in order to detect the bug even - on systems that don't support the Olson extension, or don't have the - full zoneinfo tables installed. */ - putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); - t = mktime (&tm); - /* Check that the result is either a failure, or close enough - to the correct answer that we can assume the discrepancy is - due to leap seconds. */ - return (t == (time_t) -1 - || (0 < t && answer - 120 <= t && t <= answer + 120)); -} -int -main () -{ - int result = 0; - time_t t, delta; - int i, j; - int time_t_signed_magnitude = (time_t) ~ (time_t) 0 < (time_t) -1; - int time_t_signed = ! ((time_t) 0 < (time_t) -1); - /* This test makes some buggy mktime implementations loop. - Give up after 60 seconds; a mktime slower than that - isn't worth using anyway. */ - alarm (60); - time_t_max = (! time_t_signed - ? (time_t) -1 - : ((((time_t) 1 << (sizeof (time_t) * CHAR_BIT - 2)) - 1) - * 2 + 1)); - time_t_min = (! time_t_signed - ? (time_t) 0 - : time_t_signed_magnitude - ? ~ (time_t) 0 - : ~ time_t_max); - delta = time_t_max / 997; /* a suitable prime number */ - for (i = 0; i < N_STRINGS; i++) - { - if (tz_strings[i]) - putenv (tz_strings[i]); - for (t = 0; t <= time_t_max - delta && (result & 1) == 0; t += delta) - if (! mktime_test (t)) - result |= 1; - if ((result & 2) == 0 - && ! (mktime_test ((time_t) 1) - && mktime_test ((time_t) (60 * 60)) - && mktime_test ((time_t) (60 * 60 * 24)))) - result |= 2; - for (j = 1; (result & 4) == 0; j <<= 1) - { - if (! bigtime_test (j)) - result |= 4; - if (INT_MAX / 2 < j) - break; - } - if ((result & 8) == 0 && ! bigtime_test (INT_MAX)) - result |= 8; - } - if (! irix_6_4_bug ()) - result |= 16; - if (! spring_forward_gap ()) - result |= 32; - if (! year_2050_test ()) - result |= 64; - return result; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_working_mktime=yes + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_signal_h='<'signal.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_signal_h+set}" = set; then : + $as_echo_n "(cached) " >&6 else - gl_cv_func_working_mktime=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_mktime" >&5 -$as_echo "$gl_cv_func_working_mktime" >&6; } +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac - if test $gl_cv_func_working_mktime = no; then - REPLACE_MKTIME=1 - else - REPLACE_MKTIME=0 - fi + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - if test $REPLACE_MKTIME = 1; then + gl_header_literal_regex=`echo 'signal.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_signal_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_signal_h" >&5 +$as_echo "$gl_cv_next_signal_h" >&6; } + fi + NEXT_SIGNAL_H=$gl_cv_next_signal_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'signal.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_signal_h + fi + NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H=$gl_next_as_first_directive - gl_LIBOBJS="$gl_LIBOBJS mktime.$ac_objext" +# AIX declares sig_atomic_t to already include volatile, and C89 compilers +# then choke on 'volatile sig_atomic_t'. C99 requires that it compile. + ac_fn_c_check_type "$LINENO" "volatile sig_atomic_t" "ac_cv_type_volatile_sig_atomic_t" " +#include - : - fi +" +if test "x$ac_cv_type_volatile_sig_atomic_t" = x""yes; then : +else + HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0 +fi - GNULIB_MKTIME=1 + ac_fn_c_check_type "$LINENO" "sighandler_t" "ac_cv_type_sighandler_t" " +#include +" +if test "x$ac_cv_type_sighandler_t" = x""yes; then : +else + HAVE_SIGHANDLER_T=0 +fi + ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" " +/* is not needed according to POSIX, but the + in i386-unknown-freebsd4.10 and + powerpc-apple-darwin5.5 required it. */ +#include +#if HAVE_SYS_SOCKET_H +# include +#elif HAVE_WS2TCPIP_H +# include +#endif +" +if test "x$ac_cv_type_socklen_t" = x""yes; then : - if test $ac_cv_func_pselect = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether signature of pselect conforms to POSIX" >&5 -$as_echo_n "checking whether signature of pselect conforms to POSIX... " >&6; } -if test "${gl_cv_sig_pselect+set}" = set; then : +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5 +$as_echo_n "checking for socklen_t equivalent... " >&6; } + if test "${gl_cv_socklen_t_equiv+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + # Systems have either "struct sockaddr *" or + # "void *" as the second argument to getpeername + gl_cv_socklen_t_equiv= + for arg2 in "struct sockaddr" void; do + for t in int size_t "unsigned int" "long int" "unsigned long int"; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + #include + int getpeername (int, $arg2 *, $t *); int main () { -int (*p) (int, fd_set *, fd_set *, fd_set *restrict, - struct timespec const *restrict, - sigset_t const *restrict) = pselect; - return !p; +$t len; + getpeername (0, 0, &len); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_sig_pselect=yes -else - gl_cv_sig_pselect=no +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_socklen_t_equiv="$t" fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$gl_cv_socklen_t_equiv" != "" && break + done + test "$gl_cv_socklen_t_equiv" != "" && break + done + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_sig_pselect" >&5 -$as_echo "$gl_cv_sig_pselect" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pselect detects invalid fds" >&5 -$as_echo_n "checking whether pselect detects invalid fds... " >&6; } -if test "${gl_cv_func_pselect_detects_ebadf+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + if test "$gl_cv_socklen_t_equiv" = ""; then + as_fn_error "Cannot find a type to use in place of socklen_t" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socklen_t_equiv" >&5 +$as_echo "$gl_cv_socklen_t_equiv" >&6; } - if test "$cross_compiling" = yes; then : +cat >>confdefs.h <<_ACEOF +#define socklen_t $gl_cv_socklen_t_equiv +_ACEOF - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_pselect_detects_ebadf="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_pselect_detects_ebadf="guessing no" ;; - esac +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 +$as_echo_n "checking for ssize_t... " >&6; } +if test "${gt_cv_ssize_t+set}" = set; then : + $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include -#include -#if HAVE_SYS_SELECT_H -# include -#endif -#include -#include - int main () { - - fd_set set; - dup2(0, 16); - FD_ZERO(&set); - FD_SET(16, &set); - close(16); - struct timespec timeout; - timeout.tv_sec = 0; - timeout.tv_nsec = 5000; - return pselect (17, &set, NULL, NULL, &timeout, NULL) != -1 || errno != EBADF; - +int x = sizeof (ssize_t *) + sizeof (ssize_t); + return !x; ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_pselect_detects_ebadf=yes +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_ssize_t=yes else - gl_cv_func_pselect_detects_ebadf=no + gt_cv_ssize_t=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5 +$as_echo "$gt_cv_ssize_t" >&6; } + if test $gt_cv_ssize_t = no; then +$as_echo "#define ssize_t int" >>confdefs.h -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pselect_detects_ebadf" >&5 -$as_echo "$gl_cv_func_pselect_detects_ebadf" >&6; } - case $gl_cv_func_pselect_detects_ebadf in - *yes) ;; - *) REPLACE_PSELECT=1 ;; - esac - fi - - if test $ac_cv_func_pselect = no || test $gl_cv_sig_pselect = no; then - REPLACE_PSELECT=1 fi - if test $HAVE_PSELECT = 0 || test $REPLACE_PSELECT = 1; then - - - - - - - - gl_LIBOBJS="$gl_LIBOBJS pselect.$ac_objext" - fi + ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.tv_nsec" "ac_cv_member_struct_stat_st_atim_tv_nsec" "#include + #include +" +if test "x$ac_cv_member_struct_stat_st_atim_tv_nsec" = x""yes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1 +_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct stat.st_atim is of type struct timespec" >&5 +$as_echo_n "checking whether struct stat.st_atim is of type struct timespec... " >&6; } +if test "${ac_cv_typeof_struct_stat_st_atim_is_struct_timespec+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - GNULIB_PSELECT=1 + #include + #include + #if HAVE_SYS_TIME_H + # include + #endif + #include + struct timespec ts; + struct stat st; +int +main () +{ + st.st_atim = ts; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes +else + ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&5 +$as_echo "$ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&6; } + if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then +$as_echo "#define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1" >>confdefs.h + fi +else + ac_fn_c_check_member "$LINENO" "struct stat" "st_atimespec.tv_nsec" "ac_cv_member_struct_stat_st_atimespec_tv_nsec" "#include + #include +" +if test "x$ac_cv_member_struct_stat_st_atimespec_tv_nsec" = x""yes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1 +_ACEOF +else + ac_fn_c_check_member "$LINENO" "struct stat" "st_atimensec" "ac_cv_member_struct_stat_st_atimensec" "#include + #include +" +if test "x$ac_cv_member_struct_stat_st_atimensec" = x""yes; then : - LIB_PTHREAD_SIGMASK= +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1 +_ACEOF +else + ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.st__tim.tv_nsec" "ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" "#include + #include +" +if test "x$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" = x""yes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC 1 +_ACEOF - if test "$gl_threads_api" = posix; then - if test $ac_cv_func_pthread_sigmask = yes; then - : - else - if test -n "$LIBMULTITHREAD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_sigmask in $LIBMULTITHREAD" >&5 -$as_echo_n "checking for pthread_sigmask in $LIBMULTITHREAD... " >&6; } -if test "${gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - gl_save_LIBS="$LIBS" - LIBS="$LIBS $LIBMULTITHREAD" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include -int -main () -{ -return pthread_sigmask (0, (sigset_t *) 0, (sigset_t *) 0); - ; - return 0; -} +fi -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=yes -else - gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD" >&5 -$as_echo "$gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD" >&6; } - if test $gl_cv_func_pthread_sigmask_in_LIBMULTITHREAD = yes; then - LIB_PTHREAD_SIGMASK="$LIBMULTITHREAD" - else - HAVE_PTHREAD_SIGMASK=0 - fi - else - HAVE_PTHREAD_SIGMASK=0 - fi - fi - else - if test $ac_cv_func_pthread_sigmask = yes; then - REPLACE_PTHREAD_SIGMASK=1 - else - HAVE_PTHREAD_SIGMASK=0 - fi - fi +fi - if test $HAVE_PTHREAD_SIGMASK = 1; then - if test -z "$LIB_PTHREAD_SIGMASK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthread_sigmask works without -lpthread" >&5 -$as_echo_n "checking whether pthread_sigmask works without -lpthread... " >&6; } -if test "${gl_cv_func_pthread_sigmask_in_libc_works+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimespec.tv_nsec" "ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" "#include + #include +" +if test "x$ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" = x""yes; then : - if test "$cross_compiling" = yes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 1 +_ACEOF - case "$host_os" in - freebsd* | hpux* | solaris | solaris2.[2-9]*) - gl_cv_func_pthread_sigmask_in_libc_works="guessing no";; - *) - gl_cv_func_pthread_sigmask_in_libc_works="guessing yes";; - esac else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimensec" "ac_cv_member_struct_stat_st_birthtimensec" "#include + #include +" +if test "x$ac_cv_member_struct_stat_st_birthtimensec" = x""yes; then : -#include -#include -#include -int main () -{ - sigset_t set; - sigemptyset (&set); - return pthread_sigmask (1729, &set, NULL) != 0; -} +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC 1 _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_pthread_sigmask_in_libc_works=no + + else - gl_cv_func_pthread_sigmask_in_libc_works=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi + ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtim.tv_nsec" "ac_cv_member_struct_stat_st_birthtim_tv_nsec" "#include + #include +" +if test "x$ac_cv_member_struct_stat_st_birthtim_tv_nsec" = x""yes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC 1 +_ACEOF fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_in_libc_works" >&5 -$as_echo "$gl_cv_func_pthread_sigmask_in_libc_works" >&6; } - case "$gl_cv_func_pthread_sigmask_in_libc_works" in - *no) - REPLACE_PTHREAD_SIGMASK=1 -$as_echo "#define PTHREAD_SIGMASK_INEFFECTIVE 1" >>confdefs.h +fi - ;; - esac - fi +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthread_sigmask returns error numbers" >&5 -$as_echo_n "checking whether pthread_sigmask returns error numbers... " >&6; } -if test "${gl_cv_func_pthread_sigmask_return_works+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - gl_save_LIBS="$LIBS" - LIBS="$LIBS $LIB_PTHREAD_SIGMASK" - if test "$cross_compiling" = yes; then : - case "$host_os" in - cygwin*) - gl_cv_func_pthread_sigmask_return_works="guessing no";; - *) - gl_cv_func_pthread_sigmask_return_works="guessing yes";; - esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working stdalign.h" >&5 +$as_echo_n "checking for working stdalign.h... " >&6; } +if test "${gl_cv_header_working_stdalign_h+set}" = set; then : + $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include + #include -#include -#include -#include -int main () + /* Test that alignof yields a result consistent with offsetof. + This catches GCC bug 52023 + . */ + #ifdef __cplusplus + template struct alignof_helper { char a; t b; }; + # define ao(type) offsetof (alignof_helper, b) + #else + # define ao(type) offsetof (struct { char a; type b; }, b) + #endif + char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1]; + char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1]; + char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1]; + + /* Test _Alignas only on platforms where gnulib can help. */ + #if \ + (__GNUC__ || __IBMC__ || __IBMCPP__ \ + || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) + int alignas (8) alignas_int = 1; + char test_alignas[_Alignof (alignas_int) == 8 ? 1 : -1]; + #endif + +int +main () { - sigset_t set; - sigemptyset (&set); - if (pthread_sigmask (1729, &set, NULL) == -1) - return 1; + + ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_pthread_sigmask_return_works=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_working_stdalign_h=yes else - gl_cv_func_pthread_sigmask_return_works=no + gl_cv_header_working_stdalign_h=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdalign_h" >&5 +$as_echo "$gl_cv_header_working_stdalign_h" >&6; } + + if test $gl_cv_header_working_stdalign_h = yes; then + STDALIGN_H='' + else + STDALIGN_H='stdalign.h' + fi - LIBS="$gl_save_LIBS" + if test -n "$STDALIGN_H"; then + GL_GENERATE_STDALIGN_H_TRUE= + GL_GENERATE_STDALIGN_H_FALSE='#' +else + GL_GENERATE_STDALIGN_H_TRUE='#' + GL_GENERATE_STDALIGN_H_FALSE= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_return_works" >&5 -$as_echo "$gl_cv_func_pthread_sigmask_return_works" >&6; } - case "$gl_cv_func_pthread_sigmask_return_works" in - *no) - REPLACE_PTHREAD_SIGMASK=1 -$as_echo "#define PTHREAD_SIGMASK_FAILS_WITH_ERRNO 1" >>confdefs.h - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthread_sigmask unblocks signals correctly" >&5 -$as_echo_n "checking whether pthread_sigmask unblocks signals correctly... " >&6; } -if test "${gl_cv_func_pthread_sigmask_unblock_works+set}" = set; then : + STDARG_H='' + NEXT_STDARG_H='' + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5 +$as_echo_n "checking for va_copy... " >&6; } + if test "${gl_cv_func_va_copy+set}" = set; then : $as_echo_n "(cached) " >&6 else - case "$host_os" in - irix*) - gl_cv_func_pthread_sigmask_unblock_works="guessing no";; - *) - gl_cv_func_pthread_sigmask_unblock_works="guessing yes";; - esac - gl_save_LIBS="$LIBS" - LIBS="$LIBS $LIBMULTITHREAD" - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - -#include -#include -#include -#include -#include -static volatile int sigint_occurred; -static void -sigint_handler (int sig) -{ - sigint_occurred++; -} -int main () +#include +int +main () { - sigset_t set; - int pid = getpid (); - char command[80]; - signal (SIGINT, sigint_handler); - sigemptyset (&set); - sigaddset (&set, SIGINT); - if (!(pthread_sigmask (SIG_BLOCK, &set, NULL) == 0)) - return 1; - sprintf (command, "sh -c 'sleep 1; kill -%d %d' &", SIGINT, pid); - if (!(system (command) == 0)) - return 2; - sleep (2); - if (!(sigint_occurred == 0)) - return 3; - if (!(pthread_sigmask (SIG_UNBLOCK, &set, NULL) == 0)) - return 4; - if (!(sigint_occurred == 1)) /* This fails on IRIX. */ - return 5; + +#ifndef va_copy +void (*func) (va_list, va_list) = va_copy; +#endif + + ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - : +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_func_va_copy=yes else - gl_cv_func_pthread_sigmask_unblock_works=no + gl_cv_func_va_copy=no fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - LIBS="$gl_save_LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5 +$as_echo "$gl_cv_func_va_copy" >&6; } + if test $gl_cv_func_va_copy = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined _AIX && !defined __GNUC__ + AIX vaccine + #endif +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "vaccine" >/dev/null 2>&1; then : + gl_aixcc=yes +else + gl_aixcc=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_pthread_sigmask_unblock_works" >&5 -$as_echo "$gl_cv_func_pthread_sigmask_unblock_works" >&6; } - case "$gl_cv_func_pthread_sigmask_unblock_works" in - *no) - REPLACE_PTHREAD_SIGMASK=1 - -$as_echo "#define PTHREAD_SIGMASK_UNBLOCK_BUG 1" >>confdefs.h - - ;; - esac - fi - - if test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1; then - - - - - +rm -f conftest* + if test $gl_aixcc = yes; then + STDARG_H=stdarg.h - gl_LIBOBJS="$gl_LIBOBJS pthread_sigmask.$ac_objext" - if test $HAVE_PTHREAD_SIGMASK = 1; then -$as_echo "#define HAVE_PTHREAD_SIGMASK 1" >>confdefs.h - fi - fi + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stdarg_h='<'stdarg.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_stdarg_h+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - GNULIB_PTHREAD_SIGMASK=1 + gl_header_literal_regex=`echo 'stdarg.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_stdarg_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdarg_h" >&5 +$as_echo "$gl_cv_next_stdarg_h" >&6; } + fi + NEXT_STDARG_H=$gl_cv_next_stdarg_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'stdarg.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_stdarg_h + fi + NEXT_AS_FIRST_DIRECTIVE_STDARG_H=$gl_next_as_first_directive + if test "$gl_cv_next_stdarg_h" = '""'; then + gl_cv_next_stdarg_h='"///usr/include/stdarg.h"' + NEXT_STDARG_H="$gl_cv_next_stdarg_h" + fi + else - if test $ac_cv_func_readlink = no; then - HAVE_READLINK=0 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink signature is correct" >&5 -$as_echo_n "checking whether readlink signature is correct... " >&6; } -if test "${gl_cv_decl_readlink_works+set}" = set; then : + saved_as_echo_n="$as_echo_n" + as_echo_n=':' + if test "${gl_cv_func___va_copy+set}" = set; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - /* Cause compilation failure if original declaration has wrong type. */ - ssize_t readlink (const char *, char *, size_t); +#include int main () { +#ifndef __va_copy +error, bail out +#endif + ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_decl_readlink_works=yes + gl_cv_func___va_copy=yes else - gl_cv_decl_readlink_works=no + gl_cv_func___va_copy=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_readlink_works" >&5 -$as_echo "$gl_cv_decl_readlink_works" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether readlink handles trailing slash correctly" >&5 -$as_echo_n "checking whether readlink handles trailing slash correctly... " >&6; } -if test "${gl_cv_func_readlink_works+set}" = set; then : - $as_echo_n "(cached) " >&6 + + as_echo_n="$saved_as_echo_n" + + if test $gl_cv_func___va_copy = yes; then + +$as_echo "#define va_copy __va_copy" >>confdefs.h + + else + + +$as_echo "#define va_copy gl_va_copy" >>confdefs.h + + fi + fi + fi + + if test -n "$STDARG_H"; then + GL_GENERATE_STDARG_H_TRUE= + GL_GENERATE_STDARG_H_FALSE='#' else - # We have readlink, so assume ln -s works. - ln -s conftest.no-such conftest.link - ln -s conftest.link conftest.lnk2 - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_readlink_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_readlink_works="guessing no" ;; - esac + GL_GENERATE_STDARG_H_TRUE='#' + GL_GENERATE_STDARG_H_FALSE= +fi + + + + + + # Define two additional variables used in the Makefile substitution. + + if test "$ac_cv_header_stdbool_h" = yes; then + STDBOOL_H='' + else + STDBOOL_H='stdbool.h' + fi + + if test -n "$STDBOOL_H"; then + GL_GENERATE_STDBOOL_H_TRUE= + GL_GENERATE_STDBOOL_H_FALSE='#' +else + GL_GENERATE_STDBOOL_H_TRUE='#' + GL_GENERATE_STDBOOL_H_FALSE= +fi + + + if test "$ac_cv_type__Bool" = yes; then + HAVE__BOOL=1 + else + HAVE__BOOL=0 + fi + + + + + + STDDEF_H= + if test $gt_cv_c_wchar_t = no; then + HAVE_WCHAR_T=0 + STDDEF_H=stddef.h + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5 +$as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; } +if test "${gl_cv_decl_null_works+set}" = set; then : + $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include + int test[2 * (sizeof NULL == sizeof (void *)) -1]; int main () { -char buf[20]; - return readlink ("conftest.lnk2/", buf, sizeof buf) != -1; + ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_readlink_works=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_decl_null_works=yes else - gl_cv_func_readlink_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gl_cv_decl_null_works=no fi - - rm -f conftest.link conftest.lnk2 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_readlink_works" >&5 -$as_echo "$gl_cv_func_readlink_works" >&6; } - case "$gl_cv_func_readlink_works" in - *yes) - if test "$gl_cv_decl_readlink_works" != yes; then - REPLACE_READLINK=1 - fi - ;; - *) - -$as_echo "#define READLINK_TRAILING_SLASH_BUG 1" >>confdefs.h - - REPLACE_READLINK=1 - ;; - esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5 +$as_echo "$gl_cv_decl_null_works" >&6; } + if test $gl_cv_decl_null_works = no; then + REPLACE_NULL=1 + STDDEF_H=stddef.h fi - if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then + if test -n "$STDDEF_H"; then + GL_GENERATE_STDDEF_H_TRUE= + GL_GENERATE_STDDEF_H_FALSE='#' +else + GL_GENERATE_STDDEF_H_TRUE='#' + GL_GENERATE_STDDEF_H_FALSE= +fi + if test -n "$STDDEF_H"; then @@ -22327,22 +24228,67 @@ $as_echo "#define READLINK_TRAILING_SLASH_BUG 1" >>confdefs.h - gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext" + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stddef_h='<'stddef.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_stddef_h+set}" = set; then : + $as_echo_n "(cached) " >&6 +else - : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include - fi +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'stddef.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5 +$as_echo "$gl_cv_next_stddef_h" >&6; } + fi + NEXT_STDDEF_H=$gl_cv_next_stddef_h - GNULIB_READLINK=1 + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'stddef.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_stddef_h + fi + NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive + fi @@ -22356,17 +24302,17 @@ $as_echo "#define READLINK_TRAILING_SLASH_BUG 1" >>confdefs.h if test $gl_cv_have_include_next = yes; then - gl_cv_next_signal_h='<'signal.h'>' + gl_cv_next_stdio_h='<'stdio.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_signal_h+set}" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_stdio_h+set}" = set; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in @@ -22384,7 +24330,7 @@ _ACEOF esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'signal.h' \ + gl_header_literal_regex=`echo 'stdio.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ @@ -22392,615 +24338,384 @@ _ACEOF p q }' - gl_cv_next_signal_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + gl_cv_next_stdio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_signal_h" >&5 -$as_echo "$gl_cv_next_signal_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5 +$as_echo "$gl_cv_next_stdio_h" >&6; } fi - NEXT_SIGNAL_H=$gl_cv_next_signal_h + NEXT_STDIO_H=$gl_cv_next_stdio_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'signal.h'>' + gl_next_as_first_directive='<'stdio.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_signal_h + gl_next_as_first_directive=$gl_cv_next_stdio_h fi - NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H=$gl_next_as_first_directive - - - - - -# AIX declares sig_atomic_t to already include volatile, and C89 compilers -# then choke on 'volatile sig_atomic_t'. C99 requires that it compile. - ac_fn_c_check_type "$LINENO" "volatile sig_atomic_t" "ac_cv_type_volatile_sig_atomic_t" " -#include - -" -if test "x$ac_cv_type_volatile_sig_atomic_t" = x""yes; then : - -else - HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0 -fi - - - - - - - - ac_fn_c_check_type "$LINENO" "sighandler_t" "ac_cv_type_sighandler_t" " -#include - -" -if test "x$ac_cv_type_sighandler_t" = x""yes; then : - -else - HAVE_SIGHANDLER_T=0 -fi + NEXT_AS_FIRST_DIRECTIVE_STDIO_H=$gl_next_as_first_directive - ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" " -/* is not needed according to POSIX, but the - in i386-unknown-freebsd4.10 and - powerpc-apple-darwin5.5 required it. */ -#include -#if HAVE_SYS_SOCKET_H -# include -#elif HAVE_WS2TCPIP_H -# include -#endif -" -if test "x$ac_cv_type_socklen_t" = x""yes; then : + GNULIB_FSCANF=1 -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t equivalent" >&5 -$as_echo_n "checking for socklen_t equivalent... " >&6; } - if test "${gl_cv_socklen_t_equiv+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # Systems have either "struct sockaddr *" or - # "void *" as the second argument to getpeername - gl_cv_socklen_t_equiv= - for arg2 in "struct sockaddr" void; do - for t in int size_t "unsigned int" "long int" "unsigned long int"; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - int getpeername (int, $arg2 *, $t *); -int -main () -{ -$t len; - getpeername (0, 0, &len); - ; - return 0; -} +cat >>confdefs.h <<_ACEOF +#define GNULIB_FSCANF 1 _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_socklen_t_equiv="$t" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$gl_cv_socklen_t_equiv" != "" && break - done - test "$gl_cv_socklen_t_equiv" != "" && break - done -fi - if test "$gl_cv_socklen_t_equiv" = ""; then - as_fn_error "Cannot find a type to use in place of socklen_t" "$LINENO" 5 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_socklen_t_equiv" >&5 -$as_echo "$gl_cv_socklen_t_equiv" >&6; } + GNULIB_SCANF=1 + cat >>confdefs.h <<_ACEOF -#define socklen_t $gl_cv_socklen_t_equiv +#define GNULIB_SCANF 1 _ACEOF -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 -$as_echo_n "checking for ssize_t... " >&6; } -if test "${gt_cv_ssize_t+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int x = sizeof (ssize_t *) + sizeof (ssize_t); - return !x; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gt_cv_ssize_t=yes -else - gt_cv_ssize_t=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5 -$as_echo "$gt_cv_ssize_t" >&6; } - if test $gt_cv_ssize_t = no; then -$as_echo "#define ssize_t int" >>confdefs.h + GNULIB_FGETC=1 + GNULIB_GETC=1 + GNULIB_GETCHAR=1 + GNULIB_FGETS=1 + GNULIB_FREAD=1 - fi + GNULIB_FPRINTF=1 + GNULIB_PRINTF=1 + GNULIB_VFPRINTF=1 + GNULIB_VPRINTF=1 + GNULIB_FPUTC=1 + GNULIB_PUTC=1 + GNULIB_PUTCHAR=1 + GNULIB_FPUTS=1 + GNULIB_PUTS=1 + GNULIB_FWRITE=1 - ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.tv_nsec" "ac_cv_member_struct_stat_st_atim_tv_nsec" "#include - #include -" -if test "x$ac_cv_member_struct_stat_st_atim_tv_nsec" = x""yes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1 -_ACEOF -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct stat.st_atim is of type struct timespec" >&5 -$as_echo_n "checking whether struct stat.st_atim is of type struct timespec... " >&6; } -if test "${ac_cv_typeof_struct_stat_st_atim_is_struct_timespec+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - #include - #include - #if HAVE_SYS_TIME_H - # include - #endif - #include - struct timespec ts; - struct stat st; -int -main () -{ - st.st_atim = ts; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes -else - ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&5 -$as_echo "$ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&6; } - if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then -$as_echo "#define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1" >>confdefs.h - fi -else - ac_fn_c_check_member "$LINENO" "struct stat" "st_atimespec.tv_nsec" "ac_cv_member_struct_stat_st_atimespec_tv_nsec" "#include - #include -" -if test "x$ac_cv_member_struct_stat_st_atimespec_tv_nsec" = x""yes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1 -_ACEOF + if test $gl_cv_have_include_next = yes; then + gl_cv_next_stdlib_h='<'stdlib.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_stdlib_h+set}" = set; then : + $as_echo_n "(cached) " >&6 else - ac_fn_c_check_member "$LINENO" "struct stat" "st_atimensec" "ac_cv_member_struct_stat_st_atimensec" "#include - #include -" -if test "x$ac_cv_member_struct_stat_st_atimensec" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1 -_ACEOF - -else - ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.st__tim.tv_nsec" "ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" "#include - #include -" -if test "x$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" = x""yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC 1 _ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' -fi - -fi + gl_header_literal_regex=`echo 'stdlib.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' -fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5 +$as_echo "$gl_cv_next_stdlib_h" >&6; } + fi + NEXT_STDLIB_H=$gl_cv_next_stdlib_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'stdlib.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_stdlib_h + fi + NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive - ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimespec.tv_nsec" "ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" "#include - #include -" -if test "x$ac_cv_member_struct_stat_st_birthtimespec_tv_nsec" = x""yes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 1 -_ACEOF -else - ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtimensec" "ac_cv_member_struct_stat_st_birthtimensec" "#include - #include -" -if test "x$ac_cv_member_struct_stat_st_birthtimensec" = x""yes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC 1 -_ACEOF + # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE. -else - ac_fn_c_check_member "$LINENO" "struct stat" "st_birthtim.tv_nsec" "ac_cv_member_struct_stat_st_birthtim_tv_nsec" "#include - #include -" -if test "x$ac_cv_member_struct_stat_st_birthtim_tv_nsec" = x""yes; then : -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC 1 -_ACEOF -fi -fi -fi +$as_echo "#define my_strftime nstrftime" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working stdalign.h" >&5 -$as_echo_n "checking for working stdalign.h... " >&6; } -if test "${gl_cv_header_working_stdalign_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - /* Test that alignof yields a result consistent with offsetof. - This catches GCC bug 52023 - . */ - #ifdef __cplusplus - template struct alignof_helper { char a; t b; }; - # define ao(type) offsetof (alignof_helper, b) - #else - # define ao(type) offsetof (struct { char a; type b; }, b) - #endif - char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1]; - char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1]; - char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1]; - /* Test _Alignas only on platforms where gnulib can help. */ - #if \ - (__GNUC__ || __IBMC__ || __IBMCPP__ \ - || 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER) - int alignas (8) alignas_int = 1; - char test_alignas[_Alignof (alignas_int) == 8 ? 1 : -1]; - #endif -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_working_stdalign_h=yes -else - gl_cv_header_working_stdalign_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_working_stdalign_h" >&5 -$as_echo "$gl_cv_header_working_stdalign_h" >&6; } - if test $gl_cv_header_working_stdalign_h = yes; then - STDALIGN_H='' - else - STDALIGN_H='stdalign.h' - fi - if test -n "$STDALIGN_H"; then - GL_GENERATE_STDALIGN_H_TRUE= - GL_GENERATE_STDALIGN_H_FALSE='#' -else - GL_GENERATE_STDALIGN_H_TRUE='#' - GL_GENERATE_STDALIGN_H_FALSE= -fi + if test "$ac_cv_have_decl_strtoimax" != yes; then + HAVE_DECL_STRTOIMAX=0 + fi - STDARG_H='' - NEXT_STDARG_H='' - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for va_copy" >&5 -$as_echo_n "checking for va_copy... " >&6; } - if test "${gl_cv_func_va_copy+set}" = set; then : + if test $ac_cv_func_strtoimax = yes; then + HAVE_STRTOIMAX=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strtoimax works" >&5 +$as_echo_n "checking whether strtoimax works... " >&6; } +if test "${gl_cv_func_strtoimax+set}" = set; then : $as_echo_n "(cached) " >&6 else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess no on AIX 5. + aix5*) gl_cv_func_strtoimax="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_strtoimax="guessing yes" ;; + esac - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int -main () -{ - -#ifndef va_copy -void (*func) (va_list, va_list) = va_copy; -#endif - ; +#include +#include +#include +int main () +{ + if (sizeof (intmax_t) > sizeof (int)) + { + const char *s = "4294967295"; + char *p; + intmax_t res; + errno = 0; + res = strtoimax (s, &p, 10); + if (p != s + strlen (s)) + return 1; + if (errno != 0) + return 2; + if (res != (intmax_t) 65535 * (intmax_t) 65537) + return 3; + } + else + { + const char *s = "2147483647"; + char *p; + intmax_t res; + errno = 0; + res = strtoimax (s, &p, 10); + if (p != s + strlen (s)) + return 1; + if (errno != 0) + return 2; + if (res != 2147483647) + return 3; + } return 0; } + _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func_va_copy=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_strtoimax=yes else - gl_cv_func_va_copy=no + gl_cv_func_strtoimax=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_va_copy" >&5 -$as_echo "$gl_cv_func_va_copy" >&6; } - if test $gl_cv_func_va_copy = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined _AIX && !defined __GNUC__ - AIX vaccine - #endif -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "vaccine" >/dev/null 2>&1; then : - gl_aixcc=yes -else - gl_aixcc=no fi -rm -f conftest* - - if test $gl_aixcc = yes; then - STDARG_H=stdarg.h - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strtoimax" >&5 +$as_echo "$gl_cv_func_strtoimax" >&6; } + case "$gl_cv_func_strtoimax" in + *no) REPLACE_STRTOIMAX=1 ;; + esac + else + HAVE_STRTOIMAX=0 + fi + if test $HAVE_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; then - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdarg_h='<'stdarg.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdarg_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac + gl_LIBOBJS="$gl_LIBOBJS strtoimax.$ac_objext" - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'stdarg.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_stdarg_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' + ac_fn_c_check_decl "$LINENO" "strtoll" "ac_cv_have_decl_strtoll" "$ac_includes_default" +if test "x$ac_cv_have_decl_strtoll" = x""yes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRTOLL $ac_have_decl +_ACEOF -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdarg_h" >&5 -$as_echo "$gl_cv_next_stdarg_h" >&6; } - fi - NEXT_STDARG_H=$gl_cv_next_stdarg_h - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stdarg.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdarg_h - fi - NEXT_AS_FIRST_DIRECTIVE_STDARG_H=$gl_next_as_first_directive + fi - if test "$gl_cv_next_stdarg_h" = '""'; then - gl_cv_next_stdarg_h='"///usr/include/stdarg.h"' - NEXT_STDARG_H="$gl_cv_next_stdarg_h" - fi - else - saved_as_echo_n="$as_echo_n" - as_echo_n=':' - if test "${gl_cv_func___va_copy+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ + GNULIB_STRTOIMAX=1 -#ifndef __va_copy -error, bail out -#endif - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_func___va_copy=yes -else - gl_cv_func___va_copy=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - as_echo_n="$saved_as_echo_n" - if test $gl_cv_func___va_copy = yes; then -$as_echo "#define va_copy __va_copy" >>confdefs.h - else -$as_echo "#define va_copy gl_va_copy" >>confdefs.h - fi - fi + if test "$ac_cv_have_decl_strtoumax" != yes; then + HAVE_DECL_STRTOUMAX=0 fi - if test -n "$STDARG_H"; then - GL_GENERATE_STDARG_H_TRUE= - GL_GENERATE_STDARG_H_FALSE='#' -else - GL_GENERATE_STDARG_H_TRUE='#' - GL_GENERATE_STDARG_H_FALSE= -fi + if test $ac_cv_func_strtoumax = no; then - # Define two additional variables used in the Makefile substitution. - if test "$ac_cv_header_stdbool_h" = yes; then - STDBOOL_H='' - else - STDBOOL_H='stdbool.h' - fi - if test -n "$STDBOOL_H"; then - GL_GENERATE_STDBOOL_H_TRUE= - GL_GENERATE_STDBOOL_H_FALSE='#' + gl_LIBOBJS="$gl_LIBOBJS strtoumax.$ac_objext" + + + ac_fn_c_check_decl "$LINENO" "strtoull" "ac_cv_have_decl_strtoull" "$ac_includes_default" +if test "x$ac_cv_have_decl_strtoull" = x""yes; then : + ac_have_decl=1 else - GL_GENERATE_STDBOOL_H_TRUE='#' - GL_GENERATE_STDBOOL_H_FALSE= + ac_have_decl=0 fi +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_STRTOULL $ac_have_decl +_ACEOF + + - if test "$ac_cv_type__Bool" = yes; then - HAVE__BOOL=1 - else - HAVE__BOOL=0 fi - STDDEF_H= - if test $gt_cv_c_wchar_t = no; then - HAVE_WCHAR_T=0 - STDDEF_H=stddef.h - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NULL can be used in arbitrary expressions" >&5 -$as_echo_n "checking whether NULL can be used in arbitrary expressions... " >&6; } -if test "${gl_cv_decl_null_works+set}" = set; then : + GNULIB_STRTOUMAX=1 + + + + + + + + if test $ac_cv_func_symlink = no; then + HAVE_SYMLINK=0 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symlink handles trailing slash correctly" >&5 +$as_echo_n "checking whether symlink handles trailing slash correctly... " >&6; } +if test "${gl_cv_func_symlink_works+set}" = set; then : $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_symlink_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_symlink_works="guessing no" ;; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - int test[2 * (sizeof NULL == sizeof (void *)) -1]; +#include int main () { +int result = 0; + if (!symlink ("a", "conftest.link/")) + result |= 1; + if (symlink ("conftest.f", "conftest.lnk2")) + result |= 2; + else if (!symlink ("a", "conftest.lnk2/")) + result |= 4; + return result; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_decl_null_works=yes +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_symlink_works=yes else - gl_cv_decl_null_works=no + gl_cv_func_symlink_works=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_decl_null_works" >&5 -$as_echo "$gl_cv_decl_null_works" >&6; } - if test $gl_cv_decl_null_works = no; then - REPLACE_NULL=1 - STDDEF_H=stddef.h - fi - if test -n "$STDDEF_H"; then - GL_GENERATE_STDDEF_H_TRUE= - GL_GENERATE_STDDEF_H_FALSE='#' -else - GL_GENERATE_STDDEF_H_TRUE='#' - GL_GENERATE_STDDEF_H_FALSE= + rm -f conftest.f conftest.link conftest.lnk2 fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlink_works" >&5 +$as_echo "$gl_cv_func_symlink_works" >&6; } + case "$gl_cv_func_symlink_works" in + *yes) ;; + *) + REPLACE_SYMLINK=1 + ;; + esac + fi - if test -n "$STDDEF_H"; then + if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then @@ -23009,70 +24724,104 @@ fi - if test $gl_cv_have_include_next = yes; then - gl_cv_next_stddef_h='<'stddef.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stddef_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else + gl_LIBOBJS="$gl_LIBOBJS symlink.$ac_objext" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + fi -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'stddef.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_stddef_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stddef_h" >&5 -$as_echo "$gl_cv_next_stddef_h" >&6; } - fi - NEXT_STDDEF_H=$gl_cv_next_stddef_h + GNULIB_SYMLINK=1 + + + + - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stddef.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stddef_h - fi - NEXT_AS_FIRST_DIRECTIVE_STDDEF_H=$gl_next_as_first_directive + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 +$as_echo_n "checking whether is self-contained... " >&6; } +if test "${gl_cv_header_sys_select_h_selfcontained+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +struct timeval b; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_header_sys_select_h_selfcontained=yes +else + gl_cv_header_sys_select_h_selfcontained=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $gl_cv_header_sys_select_h_selfcontained = yes; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +int memset; int bzero; + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ + + #undef memset + #define memset nonexistent_memset + extern + #ifdef __cplusplus + "C" + #endif + void *memset (void *, int, unsigned long); + #undef bzero + #define bzero nonexistent_bzero + extern + #ifdef __cplusplus + "C" + #endif + void bzero (void *, unsigned long); + fd_set fds; + FD_ZERO (&fds); - fi + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : +else + gl_cv_header_sys_select_h_selfcontained=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5 +$as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; } @@ -23083,17 +24832,20 @@ $as_echo "$gl_cv_next_stddef_h" >&6; } if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdio_h='<'stdio.h'>' + gl_cv_next_sys_select_h='<'sys/select.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdio_h+set}" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_sys_select_h+set}" = set; then : $as_echo_n "(cached) " >&6 else + if test $ac_cv_header_sys_select_h = yes; then + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in @@ -23111,7 +24863,7 @@ _ACEOF esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'stdio.h' \ + gl_header_literal_regex=`echo 'sys/select.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ @@ -23119,62 +24871,67 @@ _ACEOF p q }' - gl_cv_next_stdio_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + gl_cv_next_sys_select_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' + else + gl_cv_next_sys_select_h='<'sys/select.h'>' + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdio_h" >&5 -$as_echo "$gl_cv_next_stdio_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5 +$as_echo "$gl_cv_next_sys_select_h" >&6; } fi - NEXT_STDIO_H=$gl_cv_next_stdio_h + NEXT_SYS_SELECT_H=$gl_cv_next_sys_select_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stdio.h'>' + gl_next_as_first_directive='<'sys/select.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdio_h + gl_next_as_first_directive=$gl_cv_next_sys_select_h fi - NEXT_AS_FIRST_DIRECTIVE_STDIO_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H=$gl_next_as_first_directive + + if test $ac_cv_header_sys_select_h = yes; then + HAVE_SYS_SELECT_H=1 + else + HAVE_SYS_SELECT_H=0 + fi + - GNULIB_FSCANF=1 -cat >>confdefs.h <<_ACEOF -#define GNULIB_FSCANF 1 + if test $ac_cv_header_sys_socket_h != yes; then + for ac_header in winsock2.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WINSOCK2_H 1 _ACEOF +fi - GNULIB_SCANF=1 +done + fi + if test "$ac_cv_header_winsock2_h" = yes; then + HAVE_WINSOCK2_H=1 + UNISTD_H_HAVE_WINSOCK2_H=1 + SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + else + HAVE_WINSOCK2_H=0 + fi -cat >>confdefs.h <<_ACEOF -#define GNULIB_SCANF 1 -_ACEOF - GNULIB_FGETC=1 - GNULIB_GETC=1 - GNULIB_GETCHAR=1 - GNULIB_FGETS=1 - GNULIB_FREAD=1 - GNULIB_FPRINTF=1 - GNULIB_PRINTF=1 - GNULIB_VFPRINTF=1 - GNULIB_VPRINTF=1 - GNULIB_FPUTC=1 - GNULIB_PUTC=1 - GNULIB_PUTCHAR=1 - GNULIB_FPUTS=1 - GNULIB_PUTS=1 - GNULIB_FWRITE=1 @@ -23191,17 +24948,20 @@ _ACEOF if test $gl_cv_have_include_next = yes; then - gl_cv_next_stdlib_h='<'stdlib.h'>' + gl_cv_next_sys_stat_h='<'sys/stat.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_stdlib_h+set}" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_sys_stat_h+set}" = set; then : $as_echo_n "(cached) " >&6 else + if test $ac_cv_header_sys_stat_h = yes; then + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in @@ -23219,140 +24979,35 @@ _ACEOF esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'stdlib.h' \ + gl_header_literal_regex=`echo 'sys/stat.h' \ | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_stdlib_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_stdlib_h" >&5 -$as_echo "$gl_cv_next_stdlib_h" >&6; } - fi - NEXT_STDLIB_H=$gl_cv_next_stdlib_h - - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'stdlib.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_stdlib_h - fi - NEXT_AS_FIRST_DIRECTIVE_STDLIB_H=$gl_next_as_first_directive - - - - - - - - - - # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE. - - - - - - - -$as_echo "#define my_strftime nstrftime" >>confdefs.h - - - - - - - - - if test "$ac_cv_have_decl_strtoimax" != yes; then - HAVE_DECL_STRTOIMAX=0 - fi - - if test $ac_cv_func_strtoimax = yes; then - HAVE_STRTOIMAX=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strtoimax works" >&5 -$as_echo_n "checking whether strtoimax works... " >&6; } -if test "${gl_cv_func_strtoimax+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess no on AIX 5. - aix5*) gl_cv_func_strtoimax="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_strtoimax="guessing yes" ;; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -int main () -{ - if (sizeof (intmax_t) > sizeof (int)) - { - const char *s = "4294967295"; - char *p; - intmax_t res; - errno = 0; - res = strtoimax (s, &p, 10); - if (p != s + strlen (s)) - return 1; - if (errno != 0) - return 2; - if (res != (intmax_t) 65535 * (intmax_t) 65537) - return 3; - } - else - { - const char *s = "2147483647"; - char *p; - intmax_t res; - errno = 0; - res = strtoimax (s, &p, 10); - if (p != s + strlen (s)) - return 1; - if (errno != 0) - return 2; - if (res != 2147483647) - return 3; - } - return 0; -} - -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_strtoimax=yes -else - gl_cv_func_strtoimax=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + else + gl_cv_next_sys_stat_h='<'sys/stat.h'>' + fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_strtoimax" >&5 -$as_echo "$gl_cv_func_strtoimax" >&6; } - case "$gl_cv_func_strtoimax" in - *no) REPLACE_STRTOIMAX=1 ;; - esac - else - HAVE_STRTOIMAX=0 - fi - - if test $HAVE_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 +$as_echo "$gl_cv_next_sys_stat_h" >&6; } + fi + NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/stat.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_stat_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive @@ -23360,31 +25015,26 @@ $as_echo "$gl_cv_func_strtoimax" >&6; } - gl_LIBOBJS="$gl_LIBOBJS strtoimax.$ac_objext" - ac_fn_c_check_decl "$LINENO" "strtoll" "ac_cv_have_decl_strtoll" "$ac_includes_default" -if test "x$ac_cv_have_decl_strtoll" = x""yes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRTOLL $ac_have_decl -_ACEOF + if test $WINDOWS_64_BIT_ST_SIZE = 1; then +$as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h fi + ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include + #include +" +if test "x$ac_cv_type_nlink_t" = x""yes; then : +else +$as_echo "#define nlink_t int" >>confdefs.h - - GNULIB_STRTOIMAX=1 - - +fi @@ -23392,11 +25042,7 @@ _ACEOF - if test "$ac_cv_have_decl_strtoumax" != yes; then - HAVE_DECL_STRTOUMAX=0 - fi - if test $ac_cv_func_strtoumax = no; then @@ -23405,95 +25051,71 @@ _ACEOF - gl_LIBOBJS="$gl_LIBOBJS strtoumax.$ac_objext" - ac_fn_c_check_decl "$LINENO" "strtoull" "ac_cv_have_decl_strtoull" "$ac_includes_default" -if test "x$ac_cv_have_decl_strtoull" = x""yes; then : + ac_fn_c_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" "#include +" +if test "x$ac_cv_have_decl_localtime_r" = x""yes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_STRTOULL $ac_have_decl +#define HAVE_DECL_LOCALTIME_R $ac_have_decl _ACEOF - - + if test $ac_cv_have_decl_localtime_r = no; then + HAVE_DECL_LOCALTIME_R=0 fi - - - - GNULIB_STRTOUMAX=1 - - - - - - - - if test $ac_cv_func_symlink = no; then - HAVE_SYMLINK=0 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether symlink handles trailing slash correctly" >&5 -$as_echo_n "checking whether symlink handles trailing slash correctly... " >&6; } -if test "${gl_cv_func_symlink_works+set}" = set; then : + if test $ac_cv_func_localtime_r = yes; then + HAVE_LOCALTIME_R=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether localtime_r is compatible with its POSIX signature" >&5 +$as_echo_n "checking whether localtime_r is compatible with its POSIX signature... " >&6; } +if test "${gl_cv_time_r_posix+set}" = set; then : $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_symlink_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_symlink_works="guessing no" ;; - esac - else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - +#include int main () { -int result = 0; - if (!symlink ("a", "conftest.link/")) - result |= 1; - if (symlink ("conftest.f", "conftest.lnk2")) - result |= 2; - else if (!symlink ("a", "conftest.lnk2/")) - result |= 4; - return result; - +/* We don't need to append 'restrict's to the argument types, + even though the POSIX signature has the 'restrict's, + since C99 says they can't affect type compatibility. */ + struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; + if (ptr) return 0; + /* Check the return type is a pointer. + On HP-UX 10 it is 'int'. */ + *localtime_r (0, 0); ; return 0; } + _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_symlink_works=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_time_r_posix=yes else - gl_cv_func_symlink_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + gl_cv_time_r_posix=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - rm -f conftest.f conftest.link conftest.lnk2 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_symlink_works" >&5 -$as_echo "$gl_cv_func_symlink_works" >&6; } - case "$gl_cv_func_symlink_works" in - *yes) ;; - *) - REPLACE_SYMLINK=1 - ;; - esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_time_r_posix" >&5 +$as_echo "$gl_cv_time_r_posix" >&6; } + if test $gl_cv_time_r_posix = yes; then + REPLACE_LOCALTIME_R=0 + else + REPLACE_LOCALTIME_R=1 + fi + else + HAVE_LOCALTIME_R=0 fi - if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then + if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then @@ -23502,7 +25124,10 @@ $as_echo "$gl_cv_func_symlink_works" >&6; } - gl_LIBOBJS="$gl_LIBOBJS symlink.$ac_objext" + gl_LIBOBJS="$gl_LIBOBJS time_r.$ac_objext" + + + : fi @@ -23510,7 +25135,7 @@ $as_echo "$gl_cv_func_symlink_works" >&6; } - GNULIB_SYMLINK=1 + GNULIB_TIME_R=1 @@ -23519,87 +25144,103 @@ $as_echo "$gl_cv_func_symlink_works" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether is self-contained" >&5 -$as_echo_n "checking whether is self-contained... " >&6; } -if test "${gl_cv_header_sys_select_h_selfcontained+set}" = set; then : + + + LIB_TIMER_TIME= + + gl_saved_libs=$LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing timer_settime" >&5 +$as_echo_n "checking for library containing timer_settime... " >&6; } +if test "${ac_cv_search_timer_settime+set}" = set; then : $as_echo_n "(cached) " >&6 else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char timer_settime (); int main () { -struct timeval b; +return timer_settime (); ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_sys_select_h_selfcontained=yes +for ac_lib in '' rt posix4; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_timer_settime=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_timer_settime+set}" = set; then : + break +fi +done +if test "${ac_cv_search_timer_settime+set}" = set; then : + else - gl_cv_header_sys_select_h_selfcontained=no + ac_cv_search_timer_settime=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_timer_settime" >&5 +$as_echo "$ac_cv_search_timer_settime" >&6; } +ac_res=$ac_cv_search_timer_settime +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + test "$ac_cv_search_timer_settime" = "none required" || + LIB_TIMER_TIME=$ac_cv_search_timer_settime fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $gl_cv_header_sys_select_h_selfcontained = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int memset; int bzero; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int -main () -{ - #undef memset - #define memset nonexistent_memset - extern - #ifdef __cplusplus - "C" - #endif - void *memset (void *, int, unsigned long); - #undef bzero - #define bzero nonexistent_bzero - extern - #ifdef __cplusplus - "C" - #endif - void bzero (void *, unsigned long); - fd_set fds; - FD_ZERO (&fds); +#include +#ifdef __GNU_LIBRARY__ + #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || (__GLIBC__ > 2)) \ + && !defined __UCLIBC__ + Thread emulation available + #endif +#endif - ; - return 0; -} +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Thread" >/dev/null 2>&1; then : + LIB_TIMER_TIME="$LIB_TIMER_TIME $LIBMULTITHREAD" +fi +rm -f conftest* + for ac_func in timer_settime +do : + ac_fn_c_check_func "$LINENO" "timer_settime" "ac_cv_func_timer_settime" +if test "x$ac_cv_func_timer_settime" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_TIMER_SETTIME 1 _ACEOF -if ac_fn_c_try_link "$LINENO"; then : -else - gl_cv_header_sys_select_h_selfcontained=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +done + + LIBS=$gl_saved_libs + + : + -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_sys_select_h_selfcontained" >&5 -$as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; } @@ -23610,20 +25251,20 @@ $as_echo "$gl_cv_header_sys_select_h_selfcontained" >&6; } if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_select_h='<'sys/select.h'>' + gl_cv_next_unistd_h='<'unistd.h'>' else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_select_h+set}" = set; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if test "${gl_cv_next_unistd_h+set}" = set; then : $as_echo_n "(cached) " >&6 else - if test $ac_cv_header_sys_select_h = yes; then + if test $ac_cv_header_unistd_h = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +#include _ACEOF case "$host_os" in @@ -23641,7 +25282,7 @@ _ACEOF esac gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'sys/select.h' \ + gl_header_literal_regex=`echo 'unistd.h' \ | sed -e "$gl_make_literal_regex_sed"` gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ @@ -23649,63 +25290,172 @@ _ACEOF p q }' - gl_cv_next_sys_select_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | sed -n "$gl_absolute_header_sed"`'"' else - gl_cv_next_sys_select_h='<'sys/select.h'>' + gl_cv_next_unistd_h='<'unistd.h'>' fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_select_h" >&5 -$as_echo "$gl_cv_next_sys_select_h" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5 +$as_echo "$gl_cv_next_unistd_h" >&6; } fi - NEXT_SYS_SELECT_H=$gl_cv_next_sys_select_h + NEXT_UNISTD_H=$gl_cv_next_unistd_h if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/select.h'>' + gl_next_as_first_directive='<'unistd.h'>' else # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_select_h + gl_next_as_first_directive=$gl_cv_next_unistd_h fi - NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H=$gl_next_as_first_directive + NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive - if test $ac_cv_header_sys_select_h = yes; then - HAVE_SYS_SELECT_H=1 + if test $ac_cv_header_unistd_h = yes; then + HAVE_UNISTD_H=1 else - HAVE_SYS_SELECT_H=0 + HAVE_UNISTD_H=0 fi - if test $ac_cv_header_sys_socket_h != yes; then - for ac_header in winsock2.h + + + + + + + if test $ac_cv_have_decl_unsetenv = no; then + HAVE_DECL_UNSETENV=0 + fi + for ac_func in unsetenv do : - ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" -if test "x$ac_cv_header_winsock2_h" = x""yes; then : + ac_fn_c_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv" +if test "x$ac_cv_func_unsetenv" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_WINSOCK2_H 1 +#define HAVE_UNSETENV 1 _ACEOF fi - done - fi - if test "$ac_cv_header_winsock2_h" = yes; then - HAVE_WINSOCK2_H=1 - UNISTD_H_HAVE_WINSOCK2_H=1 - SYS_IOCTL_H_HAVE_WINSOCK2_H=1 + if test $ac_cv_func_unsetenv = no; then + HAVE_UNSETENV=0 else - HAVE_WINSOCK2_H=0 + HAVE_UNSETENV=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsetenv() return type" >&5 +$as_echo_n "checking for unsetenv() return type... " >&6; } +if test "${gt_cv_func_unsetenv_ret+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#undef _BSD +#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 */ +#include +extern +#ifdef __cplusplus +"C" +#endif +int unsetenv (const char *name); + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gt_cv_func_unsetenv_ret='int' +else + gt_cv_func_unsetenv_ret='void' +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_unsetenv_ret" >&5 +$as_echo "$gt_cv_func_unsetenv_ret" >&6; } + if test $gt_cv_func_unsetenv_ret = 'void'; then + +$as_echo "#define VOID_UNSETENV 1" >>confdefs.h + + REPLACE_UNSETENV=1 + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether unsetenv obeys POSIX" >&5 +$as_echo_n "checking whether unsetenv obeys POSIX... " >&6; } +if test "${gl_cv_func_unsetenv_works+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_unsetenv_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_unsetenv_works="guessing no" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #include + extern char **environ; + +int +main () +{ + + char entry1[] = "a=1"; + char entry2[] = "b=2"; + char *env[] = { entry1, entry2, NULL }; + if (putenv ((char *) "a=1")) return 1; + if (putenv (entry2)) return 2; + entry2[0] = 'a'; + unsetenv ("a"); + if (getenv ("a")) return 3; + if (!unsetenv ("") || errno != EINVAL) return 4; + entry2[0] = 'b'; + environ = env; + if (!getenv ("a")) return 5; + entry2[0] = 'a'; + unsetenv ("a"); + if (getenv ("a")) return 6; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_unsetenv_works=yes +else + gl_cv_func_unsetenv_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unsetenv_works" >&5 +$as_echo "$gl_cv_func_unsetenv_works" >&6; } + case "$gl_cv_func_unsetenv_works" in + *yes) ;; + *) + REPLACE_UNSETENV=1 + ;; + esac fi + if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then @@ -23714,82 +25464,104 @@ done + gl_LIBOBJS="$gl_LIBOBJS unsetenv.$ac_objext" + fi + GNULIB_UNSETENV=1 - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_stat_h='<'sys/stat.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_sys_stat_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test $ac_cv_header_sys_stat_h = yes; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'sys/stat.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_sys_stat_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_sys_stat_h='<'sys/stat.h'>' - fi + if test $ac_cv_func_futimens = no && test $ac_cv_func_futimesat = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether futimesat handles NULL file" >&5 +$as_echo_n "checking whether futimesat handles NULL file... " >&6; } +if test "${gl_cv_func_futimesat_works+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + touch conftest.file + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_futimesat_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_futimesat_works="guessing no" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include + +int +main () +{ + int fd = open ("conftest.file", O_RDWR); + if (fd < 0) return 1; + if (futimesat (fd, NULL, NULL)) return 2; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_futimesat_works=yes +else + gl_cv_func_futimesat_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_stat_h" >&5 -$as_echo "$gl_cv_next_sys_stat_h" >&6; } - fi - NEXT_SYS_STAT_H=$gl_cv_next_sys_stat_h - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/stat.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_stat_h - fi - NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H=$gl_next_as_first_directive + rm -f conftest.file +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_futimesat_works" >&5 +$as_echo "$gl_cv_func_futimesat_works" >&6; } + case "$gl_cv_func_futimesat_works" in + *yes) ;; + *) +$as_echo "#define FUTIMESAT_NULL_BUG 1" >>confdefs.h + + ;; + esac + fi + gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b=false + gl_gnulib_enabled_dosname=false + gl_gnulib_enabled_euidaccess=false + gl_gnulib_enabled_getgroups=false + gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36=false + gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1=false + gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7=false + gl_gnulib_enabled_pathmax=false + gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c=false + gl_gnulib_enabled_stat=false + gl_gnulib_enabled_strtoll=false + gl_gnulib_enabled_strtoull=false + gl_gnulib_enabled_verify=false + gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec=false + func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b () + { + if ! $gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b; then @@ -23798,24 +25570,41 @@ $as_echo "$gl_cv_next_sys_stat_h" >&6; } + gl_LIBOBJS="$gl_LIBOBJS openat-proc.$ac_objext" - if test $WINDOWS_64_BIT_ST_SIZE = 1; then + gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b=true + fi + } + func_gl_gnulib_m4code_dosname () + { + if ! $gl_gnulib_enabled_dosname; then + gl_gnulib_enabled_dosname=true + fi + } + func_gl_gnulib_m4code_euidaccess () + { + if ! $gl_gnulib_enabled_euidaccess; then -$as_echo "#define _GL_WINDOWS_64_BIT_ST_SIZE 1" >>confdefs.h - fi - ac_fn_c_check_type "$LINENO" "nlink_t" "ac_cv_type_nlink_t" "#include - #include -" -if test "x$ac_cv_type_nlink_t" = x""yes; then : -else -$as_echo "#define nlink_t int" >>confdefs.h + for ac_func in euidaccess +do : + ac_fn_c_check_func "$LINENO" "euidaccess" "ac_cv_func_euidaccess" +if test "x$ac_cv_func_euidaccess" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_EUIDACCESS 1 +_ACEOF fi +done + + if test $ac_cv_func_euidaccess = no; then + HAVE_EUIDACCESS=0 + fi + if test $HAVE_EUIDACCESS = 0; then @@ -23824,117 +25613,255 @@ fi + gl_LIBOBJS="$gl_LIBOBJS euidaccess.$ac_objext" + for ac_header in libgen.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "libgen.h" "ac_cv_header_libgen_h" "$ac_includes_default" +if test "x$ac_cv_header_libgen_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBGEN_H 1 +_ACEOF +fi +done + ac_fn_c_check_func "$LINENO" "getgroups" "ac_cv_func_getgroups" +if test "x$ac_cv_func_getgroups" = x""yes; then : +fi - ac_fn_c_check_decl "$LINENO" "localtime_r" "ac_cv_have_decl_localtime_r" "#include -" -if test "x$ac_cv_have_decl_localtime_r" = x""yes; then : - ac_have_decl=1 + + # If we don't yet have getgroups, see if it's in -lbsd. + # This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1. + ac_save_LIBS=$LIBS + if test $ac_cv_func_getgroups = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getgroups in -lbsd" >&5 +$as_echo_n "checking for getgroups in -lbsd... " >&6; } +if test "${ac_cv_lib_bsd_getgroups+set}" = set; then : + $as_echo_n "(cached) " >&6 else - ac_have_decl=0 -fi + ac_check_lib_save_LIBS=$LIBS +LIBS="-lbsd $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_LOCALTIME_R $ac_have_decl +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char getgroups (); +int +main () +{ +return getgroups (); + ; + return 0; +} _ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_bsd_getgroups=yes +else + ac_cv_lib_bsd_getgroups=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_getgroups" >&5 +$as_echo "$ac_cv_lib_bsd_getgroups" >&6; } +if test "x$ac_cv_lib_bsd_getgroups" = x""yes; then : + GETGROUPS_LIB=-lbsd +fi - if test $ac_cv_have_decl_localtime_r = no; then - HAVE_DECL_LOCALTIME_R=0 fi - - if test $ac_cv_func_localtime_r = yes; then - HAVE_LOCALTIME_R=1 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether localtime_r is compatible with its POSIX signature" >&5 -$as_echo_n "checking whether localtime_r is compatible with its POSIX signature... " >&6; } -if test "${gl_cv_time_r_posix+set}" = set; then : + # Run the program to test the functionality of the system-supplied + # getgroups function only if there is such a function. + if test $ac_cv_func_getgroups = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getgroups" >&5 +$as_echo_n "checking for working getgroups... " >&6; } +if test "${ac_cv_func_getgroups_works+set}" = set; then : $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in # (( + # Guess yes on glibc systems. + *-gnu*) ac_cv_func_getgroups_works="guessing yes" ;; + # If we don't know, assume the worst. + *) ac_cv_func_getgroups_works="guessing no" ;; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +$ac_includes_default int main () { -/* We don't need to append 'restrict's to the argument types, - even though the POSIX signature has the 'restrict's, - since C99 says they can't affect type compatibility. */ - struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; - if (ptr) return 0; - /* Check the return type is a pointer. - On HP-UX 10 it is 'int'. */ - *localtime_r (0, 0); +/* On Ultrix 4.3, getgroups (0, 0) always fails. */ + return getgroups (0, 0) == -1; ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_time_r_posix=yes +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_getgroups_works=yes else - gl_cv_time_r_posix=no + ac_cv_func_getgroups_works=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_time_r_posix" >&5 -$as_echo "$gl_cv_time_r_posix" >&6; } - if test $gl_cv_time_r_posix = yes; then - REPLACE_LOCALTIME_R=0 - else - REPLACE_LOCALTIME_R=1 - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getgroups_works" >&5 +$as_echo "$ac_cv_func_getgroups_works" >&6; } else - HAVE_LOCALTIME_R=0 + ac_cv_func_getgroups_works=no fi + case "$ac_cv_func_getgroups_works" in + *yes) - if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then +$as_echo "#define HAVE_GETGROUPS 1" >>confdefs.h + + ;; + esac + LIBS=$ac_save_LIBS + # Solaris 9 and 10 need -lgen to get the eaccess function. + # Save and restore LIBS so -lgen isn't added to it. Otherwise, *all* + # programs in the package would end up linked with that potentially-shared + # library, inducing unnecessary run-time overhead. + LIB_EACCESS= + gl_saved_libs=$LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing eaccess" >&5 +$as_echo_n "checking for library containing eaccess... " >&6; } +if test "${ac_cv_search_eaccess+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char eaccess (); +int +main () +{ +return eaccess (); + ; + return 0; +} +_ACEOF +for ac_lib in '' gen; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_eaccess=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_eaccess+set}" = set; then : + break +fi +done +if test "${ac_cv_search_eaccess+set}" = set; then : +else + ac_cv_search_eaccess=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_eaccess" >&5 +$as_echo "$ac_cv_search_eaccess" >&6; } +ac_res=$ac_cv_search_eaccess +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + test "$ac_cv_search_eaccess" = "none required" || + LIB_EACCESS=$ac_cv_search_eaccess +fi + for ac_func in eaccess +do : + ac_fn_c_check_func "$LINENO" "eaccess" "ac_cv_func_eaccess" +if test "x$ac_cv_func_eaccess" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_EACCESS 1 +_ACEOF +fi +done - gl_LIBOBJS="$gl_LIBOBJS time_r.$ac_objext" + LIBS=$gl_saved_libs + fi - : - fi + GNULIB_EUIDACCESS=1 - GNULIB_TIME_R=1 + gl_gnulib_enabled_euidaccess=true + if test $HAVE_EUIDACCESS = 0; then + func_gl_gnulib_m4code_a9786850e999ae65a836a6041e8e5ed1 + fi + func_gl_gnulib_m4code_6099e9737f757db36c47fa9d9f02e88c + if test $HAVE_EUIDACCESS = 0; then + func_gl_gnulib_m4code_stat + fi + fi + } + func_gl_gnulib_m4code_getgroups () + { + if ! $gl_gnulib_enabled_getgroups; then + ac_fn_c_check_func "$LINENO" "getgroups" "ac_cv_func_getgroups" +if test "x$ac_cv_func_getgroups" = x""yes; then : +fi - LIB_TIMER_TIME= - gl_saved_libs=$LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing timer_settime" >&5 -$as_echo_n "checking for library containing timer_settime... " >&6; } -if test "${ac_cv_search_timer_settime+set}" = set; then : + # If we don't yet have getgroups, see if it's in -lbsd. + # This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1. + ac_save_LIBS=$LIBS + if test $ac_cv_func_getgroups = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getgroups in -lbsd" >&5 +$as_echo_n "checking for getgroups in -lbsd... " >&6; } +if test "${ac_cv_lib_bsd_getgroups+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_func_search_save_LIBS=$LIBS + ac_check_lib_save_LIBS=$LIBS +LIBS="-lbsd $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -23944,163 +25871,201 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char timer_settime (); +char getgroups (); int main () { -return timer_settime (); +return getgroups (); ; return 0; } _ACEOF -for ac_lib in '' rt posix4; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_timer_settime=$ac_res +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_bsd_getgroups=yes +else + ac_cv_lib_bsd_getgroups=no fi rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if test "${ac_cv_search_timer_settime+set}" = set; then : - break + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -done -if test "${ac_cv_search_timer_settime+set}" = set; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_getgroups" >&5 +$as_echo "$ac_cv_lib_bsd_getgroups" >&6; } +if test "x$ac_cv_lib_bsd_getgroups" = x""yes; then : + GETGROUPS_LIB=-lbsd +fi + + fi + + # Run the program to test the functionality of the system-supplied + # getgroups function only if there is such a function. + if test $ac_cv_func_getgroups = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getgroups" >&5 +$as_echo_n "checking for working getgroups... " >&6; } +if test "${ac_cv_func_getgroups_works+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in # (( + # Guess yes on glibc systems. + *-gnu*) ac_cv_func_getgroups_works="guessing yes" ;; + # If we don't know, assume the worst. + *) ac_cv_func_getgroups_works="guessing no" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +/* On Ultrix 4.3, getgroups (0, 0) always fails. */ + return getgroups (0, 0) == -1; + ; + return 0; +} + +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_getgroups_works=yes +else + ac_cv_func_getgroups_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getgroups_works" >&5 +$as_echo "$ac_cv_func_getgroups_works" >&6; } + else + ac_cv_func_getgroups_works=no + fi + case "$ac_cv_func_getgroups_works" in + *yes) + +$as_echo "#define HAVE_GETGROUPS 1" >>confdefs.h + + ;; + esac + LIBS=$ac_save_LIBS + + if test $ac_cv_func_getgroups != yes; then + HAVE_GETGROUPS=0 + else + if test "$ac_cv_type_getgroups" != gid_t \ + || { case "$ac_cv_func_getgroups_works" in + *yes) false;; + *) true;; + esac + }; then + REPLACE_GETGROUPS=1 + +$as_echo "#define GETGROUPS_ZERO_BUG 1" >>confdefs.h + + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getgroups handles negative values" >&5 +$as_echo_n "checking whether getgroups handles negative values... " >&6; } +if test "${gl_cv_func_getgroups_works+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_getgroups_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_getgroups_works="guessing no" ;; + esac else - ac_cv_search_timer_settime=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +int size = getgroups (0, 0); + gid_t *list = malloc (size * sizeof *list); + return getgroups (-1, list) != -1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_getgroups_works=yes +else + gl_cv_func_getgroups_works=no fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_timer_settime" >&5 -$as_echo "$ac_cv_search_timer_settime" >&6; } -ac_res=$ac_cv_search_timer_settime -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - test "$ac_cv_search_timer_settime" = "none required" || - LIB_TIMER_TIME=$ac_cv_search_timer_settime +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getgroups_works" >&5 +$as_echo "$gl_cv_func_getgroups_works" >&6; } + case "$gl_cv_func_getgroups_works" in + *yes) ;; + *) REPLACE_GETGROUPS=1 ;; + esac + fi + fi + test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS" -#include -#ifdef __GNU_LIBRARY__ - #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || (__GLIBC__ > 2)) \ - && !defined __UCLIBC__ - Thread emulation available - #endif -#endif + if test $HAVE_GETGROUPS = 0 || test $REPLACE_GETGROUPS = 1; then -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "Thread" >/dev/null 2>&1; then : - LIB_TIMER_TIME="$LIB_TIMER_TIME $LIBMULTITHREAD" -fi -rm -f conftest* - for ac_func in timer_settime -do : - ac_fn_c_check_func "$LINENO" "timer_settime" "ac_cv_func_timer_settime" -if test "x$ac_cv_func_timer_settime" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_TIMER_SETTIME 1 -_ACEOF -fi -done - LIBS=$gl_saved_libs - : + gl_LIBOBJS="$gl_LIBOBJS getgroups.$ac_objext" + fi + GNULIB_GETGROUPS=1 - if test $gl_cv_have_include_next = yes; then - gl_cv_next_unistd_h='<'unistd.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if test "${gl_cv_next_unistd_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test $ac_cv_header_unistd_h = yes; then + gl_gnulib_enabled_getgroups=true + fi + } + func_gl_gnulib_m4code_be453cec5eecf5731a274f2de7f2db36 () + { + if ! $gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include + gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36=true + fi + } + func_gl_gnulib_m4code_a9786850e999ae65a836a6041e8e5ed1 () + { + if ! $gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1; then -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - gl_header_literal_regex=`echo 'unistd.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_unistd_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - else - gl_cv_next_unistd_h='<'unistd.h'>' - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_unistd_h" >&5 -$as_echo "$gl_cv_next_unistd_h" >&6; } - fi - NEXT_UNISTD_H=$gl_cv_next_unistd_h + ac_fn_c_check_func "$LINENO" "group_member" "ac_cv_func_group_member" +if test "x$ac_cv_func_group_member" = x""yes; then : - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'unistd.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_unistd_h - fi - NEXT_AS_FIRST_DIRECTIVE_UNISTD_H=$gl_next_as_first_directive +else + HAVE_GROUP_MEMBER=0 +fi - if test $ac_cv_header_unistd_h = yes; then - HAVE_UNISTD_H=1 - else - HAVE_UNISTD_H=0 - fi + if test $HAVE_GROUP_MEMBER = 0; then @@ -24109,88 +26074,36 @@ $as_echo "$gl_cv_next_unistd_h" >&6; } + gl_LIBOBJS="$gl_LIBOBJS group-member.$ac_objext" + fi - if test $ac_cv_func_futimens = no && test $ac_cv_func_futimesat = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether futimesat handles NULL file" >&5 -$as_echo_n "checking whether futimesat handles NULL file... " >&6; } -if test "${gl_cv_func_futimesat_works+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - touch conftest.file - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_futimesat_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_futimesat_works="guessing no" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -int -main () -{ - int fd = open ("conftest.file", O_RDWR); - if (fd < 0) return 1; - if (futimesat (fd, NULL, NULL)) return 2; + GNULIB_GROUP_MEMBER=1 - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_futimesat_works=yes -else - gl_cv_func_futimesat_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - rm -f conftest.file -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_futimesat_works" >&5 -$as_echo "$gl_cv_func_futimesat_works" >&6; } - case "$gl_cv_func_futimesat_works" in - *yes) ;; - *) -$as_echo "#define FUTIMESAT_NULL_BUG 1" >>confdefs.h - ;; - esac - fi - gl_gnulib_enabled_dosname=false - gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36=false - gl_gnulib_enabled_pathmax=false - gl_gnulib_enabled_stat=false - gl_gnulib_enabled_strtoll=false - gl_gnulib_enabled_strtoull=false - gl_gnulib_enabled_verify=false - func_gl_gnulib_m4code_dosname () - { - if ! $gl_gnulib_enabled_dosname; then - gl_gnulib_enabled_dosname=true + gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1=true + if test $HAVE_GROUP_MEMBER = 0; then + func_gl_gnulib_m4code_getgroups + fi + if test $HAVE_GROUP_MEMBER = 0; then + func_gl_gnulib_m4code_682e609604ccaac6be382e4ee3a4eaec + fi fi } - func_gl_gnulib_m4code_be453cec5eecf5731a274f2de7f2db36 () + func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7 () { - if ! $gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36; then - - - gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36=true + if ! $gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7; then + gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7=true fi } func_gl_gnulib_m4code_pathmax () @@ -24202,6 +26115,12 @@ $as_echo "#define FUTIMESAT_NULL_BUG 1" >>confdefs.h gl_gnulib_enabled_pathmax=true fi } + func_gl_gnulib_m4code_6099e9737f757db36c47fa9d9f02e88c () + { + if ! $gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c; then + gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c=true + fi + } func_gl_gnulib_m4code_stat () { if ! $gl_gnulib_enabled_stat; then @@ -24320,10 +26239,7 @@ $as_echo "#define REPLACE_FUNC_STAT_FILE 1" >>confdefs.h gl_LIBOBJS="$gl_LIBOBJS stat.$ac_objext" - - - : - + : fi @@ -24458,6 +26374,36 @@ done gl_gnulib_enabled_verify=true fi } + func_gl_gnulib_m4code_682e609604ccaac6be382e4ee3a4eaec () + { + if ! $gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec; then + gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec=true + fi + } + if test $HAVE_FACCESSAT = 0; then + func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b + fi + if test $HAVE_FACCESSAT = 0; then + func_gl_gnulib_m4code_dosname + fi + if test $HAVE_FACCESSAT = 0; then + func_gl_gnulib_m4code_euidaccess + fi + if test $HAVE_FACCESSAT = 0; then + func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7 + fi + if test $HAVE_FDOPENDIR = 0; then + func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b + fi + if test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1; then + func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b + fi + if test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1; then + func_gl_gnulib_m4code_dosname + fi + if test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1; then + func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7 + fi if test $REPLACE_GETOPT = 1; then func_gl_gnulib_m4code_be453cec5eecf5731a274f2de7f2db36 fi @@ -24470,6 +26416,15 @@ done if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then func_gl_gnulib_m4code_stat fi + if test $HAVE_READLINKAT = 0; then + func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b + fi + if test $HAVE_READLINKAT = 0; then + func_gl_gnulib_m4code_dosname + fi + if test $HAVE_READLINKAT = 0; then + func_gl_gnulib_m4code_03e0aaad4cb89ca757653bd367a6ccb7 + fi if { test $HAVE_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; } && test $ac_cv_type_long_long_int = yes; then func_gl_gnulib_m4code_strtoll fi @@ -24483,6 +26438,14 @@ done func_gl_gnulib_m4code_verify fi + if $gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b; then + gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b_TRUE= + gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b_FALSE='#' +else + gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b_TRUE='#' + gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b_FALSE= +fi + if $gl_gnulib_enabled_dosname; then gl_GNULIB_ENABLED_dosname_TRUE= gl_GNULIB_ENABLED_dosname_FALSE='#' @@ -24491,6 +26454,22 @@ else gl_GNULIB_ENABLED_dosname_FALSE= fi + if $gl_gnulib_enabled_euidaccess; then + gl_GNULIB_ENABLED_euidaccess_TRUE= + gl_GNULIB_ENABLED_euidaccess_FALSE='#' +else + gl_GNULIB_ENABLED_euidaccess_TRUE='#' + gl_GNULIB_ENABLED_euidaccess_FALSE= +fi + + if $gl_gnulib_enabled_getgroups; then + gl_GNULIB_ENABLED_getgroups_TRUE= + gl_GNULIB_ENABLED_getgroups_FALSE='#' +else + gl_GNULIB_ENABLED_getgroups_TRUE='#' + gl_GNULIB_ENABLED_getgroups_FALSE= +fi + if $gl_gnulib_enabled_be453cec5eecf5731a274f2de7f2db36; then gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36_TRUE= gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36_FALSE='#' @@ -24499,6 +26478,22 @@ else gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36_FALSE= fi + if $gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1; then + gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1_TRUE= + gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1_FALSE='#' +else + gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1_TRUE='#' + gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1_FALSE= +fi + + if $gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7; then + gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7_TRUE= + gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7_FALSE='#' +else + gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7_TRUE='#' + gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7_FALSE= +fi + if $gl_gnulib_enabled_pathmax; then gl_GNULIB_ENABLED_pathmax_TRUE= gl_GNULIB_ENABLED_pathmax_FALSE='#' @@ -24507,6 +26502,14 @@ else gl_GNULIB_ENABLED_pathmax_FALSE= fi + if $gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c; then + gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c_TRUE= + gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c_FALSE='#' +else + gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c_TRUE='#' + gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c_FALSE= +fi + if $gl_gnulib_enabled_stat; then gl_GNULIB_ENABLED_stat_TRUE= gl_GNULIB_ENABLED_stat_FALSE='#' @@ -24539,6 +26542,14 @@ else gl_GNULIB_ENABLED_verify_FALSE= fi + if $gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec; then + gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_TRUE= + gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_FALSE='#' +else + gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_TRUE='#' + gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_FALSE= +fi + # End of code from modules @@ -24715,9 +26726,6 @@ if test "$window_system" != "none"; then $as_echo "#define HAVE_WINDOW_SYSTEM 1" >>confdefs.h - -$as_echo "#define HAVE_MOUSE 1" >>confdefs.h - WINDOW_SYSTEM_OBJ="fontset.o fringe.o image.o" fi @@ -24836,7 +26844,7 @@ ac_config_files="$ac_config_files Makefile lib/Makefile lib-src/Makefile oldXMen opt_makefile=test/automated/Makefile -if test -f $srcdir/${opt_makefile}.in; then +if test -f "$srcdir/$opt_makefile.in"; then SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $opt_makefile" ac_config_files="$ac_config_files test/automated/Makefile" @@ -24845,7 +26853,7 @@ fi opt_makefile=admin/unidata/Makefile -if test -f $srcdir/${opt_makefile}.in; then +if test -f "$srcdir/$opt_makefile.in"; then SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $opt_makefile" ac_config_files="$ac_config_files admin/unidata/Makefile" @@ -25011,18 +27019,42 @@ if test -z "${GL_GENERATE_STDDEF_H_TRUE}" && test -z "${GL_GENERATE_STDDEF_H_FAL as_fn_error "conditional \"GL_GENERATE_STDDEF_H\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b_TRUE}" && test -z "${gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b_FALSE}"; then + as_fn_error "conditional \"gl_GNULIB_ENABLED_260941c0e5dc67ec9e87d1fb321c300b\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${gl_GNULIB_ENABLED_dosname_TRUE}" && test -z "${gl_GNULIB_ENABLED_dosname_FALSE}"; then as_fn_error "conditional \"gl_GNULIB_ENABLED_dosname\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${gl_GNULIB_ENABLED_euidaccess_TRUE}" && test -z "${gl_GNULIB_ENABLED_euidaccess_FALSE}"; then + as_fn_error "conditional \"gl_GNULIB_ENABLED_euidaccess\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${gl_GNULIB_ENABLED_getgroups_TRUE}" && test -z "${gl_GNULIB_ENABLED_getgroups_FALSE}"; then + as_fn_error "conditional \"gl_GNULIB_ENABLED_getgroups\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36_TRUE}" && test -z "${gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36_FALSE}"; then as_fn_error "conditional \"gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1_TRUE}" && test -z "${gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1_FALSE}"; then + as_fn_error "conditional \"gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7_TRUE}" && test -z "${gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7_FALSE}"; then + as_fn_error "conditional \"gl_GNULIB_ENABLED_03e0aaad4cb89ca757653bd367a6ccb7\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${gl_GNULIB_ENABLED_pathmax_TRUE}" && test -z "${gl_GNULIB_ENABLED_pathmax_FALSE}"; then as_fn_error "conditional \"gl_GNULIB_ENABLED_pathmax\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c_TRUE}" && test -z "${gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c_FALSE}"; then + as_fn_error "conditional \"gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${gl_GNULIB_ENABLED_stat_TRUE}" && test -z "${gl_GNULIB_ENABLED_stat_FALSE}"; then as_fn_error "conditional \"gl_GNULIB_ENABLED_stat\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -25038,6 +27070,10 @@ fi if test -z "${gl_GNULIB_ENABLED_verify_TRUE}" && test -z "${gl_GNULIB_ENABLED_verify_FALSE}"; then as_fn_error "conditional \"gl_GNULIB_ENABLED_verify\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_TRUE}" && test -z "${gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_FALSE}"; then + as_fn_error "conditional \"gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi gl_libobjs= @@ -25479,7 +27515,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by emacs $as_me 24.2.93, which was +This file was extended by emacs $as_me 24.3.50, which was generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -25545,7 +27581,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -emacs config.status 24.2.93 +emacs config.status 24.3.50 configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" @@ -26421,9 +28457,9 @@ echo creating src/epaths.h ${MAKE-make} MAKEFILE_NAME=do-not-make-Makefile epaths-force ;; "gdbinit":C) -if test ! -f src/.gdbinit && test -f $srcdir/src/.gdbinit; then +if test ! -f src/.gdbinit && test -f "$srcdir/src/.gdbinit"; then echo creating src/.gdbinit - echo source $srcdir/src/.gdbinit > src/.gdbinit + echo "source $srcdir/src/.gdbinit" > src/.gdbinit fi ;; diff --git a/build-aux/snippet/warn-on-use.h b/build-aux/snippet/warn-on-use.h index d4cb94f352..1736a1bd7a 100644 --- a/build-aux/snippet/warn-on-use.h +++ b/build-aux/snippet/warn-on-use.h @@ -1,5 +1,5 @@ /* A C macro for emitting warnings if a function is used. - Copyright (C) 2010-2012 Free Software Foundation, Inc. + Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -55,7 +55,7 @@ rather than issue the nice warning, but the end result of informing the developer about their portability problem is still achieved): #if HAVE_RAW_DECL_ENVIRON - static inline char ***rpl_environ (void) { return &environ; } + static char ***rpl_environ (void) { return &environ; } _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared"); # undef environ # define environ (*rpl_environ ()) diff --git a/configure.ac b/configure.ac index c163ecee3f..e751dc1a3c 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,22 @@ dnl You should have received a copy of the GNU General Public License dnl along with GNU Emacs. If not, see . AC_PREREQ(2.65) -AC_INIT(emacs, 24.2.93) +AC_INIT(emacs, 24.3.50) + +dnl This is the documented way to record the args passed to configure, +dnl rather than $ac_configure_args. +emacs_config_options="$@" +## Add some environment variables, if they were passed via the environment +## rather than on the command-line. +for var in CFLAGS CPPFLAGS LDFLAGS; do + case "$emacs_config_options" in + *$var=*) continue ;; + esac + eval val="\$${var}" + test x"$val" = x && continue + emacs_config_options="${emacs_config_options}${emacs_config_options:+ }$var=\"$val\"" +done + AC_CONFIG_HEADER(src/config.h:src/config.in) AC_CONFIG_SRCDIR(src/lisp.h) AC_CONFIG_AUX_DIR(build-aux) @@ -130,7 +145,7 @@ OPTION_DEFAULT_ON([sound],[don't compile with sound support]) dnl FIXME currently it is not the last. dnl This should be the last --with option, because --with-x is -dnl added later on when we find the path of X, and it's best to +dnl added later on when we find the file name of X, and it's best to dnl keep them together visually. AC_ARG_WITH([x-toolkit],[AS_HELP_STRING([--with-x-toolkit=KIT], [use an X toolkit (KIT one of: yes or gtk, gtk2, gtk3, lucid or athena, motif, no)])], @@ -184,7 +199,9 @@ OPTION_DEFAULT_ON([dbus],[don't compile with D-Bus support]) OPTION_DEFAULT_ON([gconf],[don't compile with GConf support]) OPTION_DEFAULT_ON([gsettings],[don't compile with GSettings support]) OPTION_DEFAULT_ON([selinux],[don't compile with SELinux support]) +OPTION_DEFAULT_ON([acl],[don't compile with ACL support]) OPTION_DEFAULT_ON([gnutls],[don't use -lgnutls for SSL/TLS support]) +OPTION_DEFAULT_ON([inotify],[don't compile with inotify (file-watch) support]) ## For the times when you want to build Emacs but don't have ## a suitable makeinfo, and can live without the manuals. @@ -205,8 +222,8 @@ fi AC_SUBST(GZIP_INFO) AC_ARG_WITH([pkg-config-prog],dnl -[AS_HELP_STRING([--with-pkg-config-prog=PATH], - [path to pkg-config for finding GTK and librsvg])]) +[AS_HELP_STRING([--with-pkg-config-prog=FILENAME], + [file name of pkg-config for finding GTK and librsvg])]) if test "X${with_pkg_config_prog}" != X; then if test "${with_pkg_config_prog}" != yes; then PKG_CONFIG="${with_pkg_config_prog}" @@ -226,7 +243,8 @@ test "X${with_gameuser}" != X && test "${with_gameuser}" != yes \ test "X$gameuser" = X && gameuser=games AC_ARG_WITH([gnustep-conf],dnl -[AS_HELP_STRING([--with-gnustep-conf=PATH],[path to GNUstep.conf; default $GNUSTEP_CONFIG_FILE, or /etc/GNUstep/GNUstep.conf])]) +[AS_HELP_STRING([--with-gnustep-conf=FILENAME], + [name of GNUstep.conf; default $GNUSTEP_CONFIG_FILE, or /etc/GNUstep/GNUstep.conf])]) test "X${with_gnustep_conf}" != X && test "${with_gnustep_conf}" != yes && \ GNUSTEP_CONFIG_FILE="${with_gnustep_conf}" test "X$GNUSTEP_CONFIG_FILE" = "X" && \ @@ -353,8 +371,13 @@ AC_ARG_ENABLE(autodepend, found])], [ac_enable_autodepend="${enableval}"],[ac_enable_autodepend=yes]) +AC_ARG_ENABLE(gtk-deprecation-warnings, +[AS_HELP_STRING([--enable-gtk-deprecation-warnings], + [Show Gtk+/Gdk deprecation warnings for Gtk+ >= 3.0])], +[ac_enable_gtk_deprecation_warnings="${enableval}"],[]) + #### Make srcdir absolute, if it isn't already. It's important to -#### avoid running the path through pwd unnecessarily, since pwd can +#### avoid running the file name through pwd unnecessarily, since pwd can #### give you automounter prefixes, which can go away. We do all this #### so Emacs can find its files when run uninstalled. ## Make sure CDPATH doesn't affect cd (in case PWD is relative). @@ -364,17 +387,17 @@ case "${srcdir}" in . ) ## We may be able to use the $PWD environment variable to make this ## absolute. But sometimes PWD is inaccurate. - ## Note: we used to use ${PWD} at the end instead of `pwd`, + ## Note: we used to use $PWD at the end instead of `pwd`, ## but that tested only for a well-formed and valid PWD, ## it did not object when PWD was well-formed and valid but just wrong. - if test ".${PWD}" != "." && test ".`(cd ${PWD} ; sh -c pwd)`" = ".`pwd`" ; + if test ".$PWD" != "." && test ".`(cd "$PWD" ; sh -c pwd)`" = ".`pwd`" ; then srcdir="$PWD" else - srcdir="`(cd ${srcdir}; pwd)`" + srcdir=`(cd "$srcdir"; pwd)` fi ;; - * ) srcdir="`(cd ${srcdir}; pwd)`" ;; + * ) srcdir=`(cd "$srcdir"; pwd)` ;; esac ### Canonicalize the configuration name. @@ -577,6 +600,8 @@ else test "x$NON_GCC_TEST_OPTIONS" != x && CC="$CC $NON_GCC_TEST_OPTIONS" fi +# Avoid gnulib's tests for O_NOATIME and O_NOFOLLOW, as we don't use them. +AC_DEFUN([gl_FCNTL_O_FLAGS]) # Avoid gnulib's threadlib module, as we do threads our own way. AC_DEFUN([gl_THREADLIB]) @@ -713,6 +738,8 @@ else nw="$nw -Wfloat-equal" # warns about high-quality code nw="$nw -Winline" # OK to ignore 'inline' nw="$nw -Wjump-misses-init" # We sometimes safely jump over init. + nw="$nw -Wstrict-overflow" # OK to optimize assuming that + # signed overflow has undefined behavior nw="$nw -Wsync-nand" # irrelevant here, and provokes ObjC warning nw="$nw -Wunsafe-loop-optimizations" # OK to suppress unsafe optimizations @@ -720,9 +747,10 @@ else # . nw="$nw -Wshadow" - # The following lines should be removable at some point. + # Emacs's use of alloca inhibits protecting the stack. nw="$nw -Wstack-protector" - nw="$nw -Wstrict-overflow" + + # The following line should be removable at some point. nw="$nw -Wsuggest-attribute=pure" gl_MANYWARN_ALL_GCC([ws]) @@ -794,9 +822,13 @@ fi AC_PATH_PROG(MAKEINFO, makeinfo, no) dnl By this stage, configure has already checked for egrep and set EGREP, dnl or exited with an error if no egrep was found. -if test "$MAKEINFO" != "no" && \ - test x"`$MAKEINFO --version 2> /dev/null | $EGREP 'texinfo[[^0-9]]*([[1-4]][[0-9]]+|[[5-9]]|4\.[[7-9]]|4\.[[1-6]][[0-9]]+)'`" = x; then - MAKEINFO=no +if test "$MAKEINFO" != "no"; then + case ` + $MAKEINFO --version 2> /dev/null | + $EGREP 'texinfo[[^0-9]]*([[1-4]][[0-9]]+|[[5-9]]|4\.[[7-9]]|4\.[[1-6]][[0-9]]+)' + ` in + '') MAKEINFO=no;; + esac fi ## Makeinfo is unusual. For a released Emacs, the manuals are @@ -814,7 +846,7 @@ if test "$MAKEINFO" = "no"; then MAKEINFO=makeinfo if test "x${with_makeinfo}" = "xno"; then HAVE_MAKEINFO=no - elif test ! -e $srcdir/info/emacs && test ! -e $srcdir/info/emacs.info; then + elif test ! -e "$srcdir/info/emacs" && test ! -e "$srcdir/info/emacs.info"; then AC_MSG_ERROR( [You do not seem to have makeinfo >= 4.7, and your source tree does not seem to have pre-built manuals in the `info' directory. Either install a suitable version of makeinfo, or re-run configure @@ -1170,15 +1202,15 @@ AC_DEFUN([PKG_CHECK_MODULES], [ if test "$PKG_CONFIG" = "no" ; then ifelse([$4], , [AC_MSG_ERROR([ - *** The pkg-config script could not be found. Make sure it is in your path, or give the full path to pkg-config with the PKG_CONFIG environment variable or --with-pkg-config-prog. Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config.])], [$4]) + *** The pkg-config script could not be found. Make sure it is in your path, or give the full name of pkg-config with the PKG_CONFIG environment variable or --with-pkg-config-prog. Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config.])], [$4]) else PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + if "$PKG_CONFIG" --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then AC_MSG_CHECKING(for $2) - if $PKG_CONFIG --exists "$2" 2>&AS_MESSAGE_LOG_FD && - $1_CFLAGS=`$PKG_CONFIG --cflags "$2" 2>&AS_MESSAGE_LOG_FD` && - $1_LIBS=`$PKG_CONFIG --libs "$2" 2>&AS_MESSAGE_LOG_FD`; then + if "$PKG_CONFIG" --exists "$2" 2>&AS_MESSAGE_LOG_FD && + $1_CFLAGS=`"$PKG_CONFIG" --cflags "$2" 2>&AS_MESSAGE_LOG_FD` && + $1_LIBS=`"$PKG_CONFIG" --libs "$2" 2>&AS_MESSAGE_LOG_FD`; then edit_cflags=" s,///*,/,g s/^/ / @@ -1196,7 +1228,7 @@ AC_DEFUN([PKG_CHECK_MODULES], [ ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. Do it in a subshell ## to capture any diagnostics in invoking pkg-config. - $1_PKG_ERRORS=`($PKG_CONFIG --print-errors "$2") 2>&1` + $1_PKG_ERRORS=`("$PKG_CONFIG" --print-errors "$2") 2>&1` ifelse([$4], ,echo "$$1_PKG_ERRORS",) fi @@ -1271,9 +1303,9 @@ fi dnl checks for header files AC_CHECK_HEADERS_ONCE( linux/version.h sys/systeminfo.h - stdio_ext.h fcntl.h coff.h pty.h + coff.h pty.h sys/vlimit.h sys/resource.h - sys/utsname.h pwd.h utmp.h dirent.h util.h) + sys/utsname.h pwd.h utmp.h util.h) AC_MSG_CHECKING(if personality LINUX32 can be set) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[personality (PER_LINUX32)]])], @@ -1584,6 +1616,8 @@ AC_SUBST(LIB_STANDARD) HAVE_W32=no W32_OBJ= W32_LIBS= +W32_RES= +W32_RES_LINK= if test "${with_w32}" != no; then if test "${opsys}" != "cygwin"; then AC_MSG_ERROR([Using w32 with an autotools build is only supported for Cygwin.]) @@ -1592,13 +1626,21 @@ if test "${with_w32}" != no; then [AC_MSG_ERROR([`--with-w32' was specified, but windows.h cannot be found.])]) AC_DEFINE(HAVE_NTGUI, 1, [Define to use native MS Windows GUI.]) + AC_CHECK_TOOL(WINDRES, [windres], + [AC_MSG_ERROR([No resource compiler found.])]) W32_OBJ="w32fns.o w32menu.o w32reg.o w32font.o w32term.o" W32_OBJ="$W32_OBJ w32xfns.o w32select.o w32uniscribe.o" W32_LIBS="$W32_LIBS -lkernel32 -luser32 -lgdi32 -lole32 -lcomdlg32" W32_LIBS="$W32_LIBS -lusp10 -lcomctl32 -lwinspool" + W32_RES="emacs.res" + # Tell the linker that emacs.res is an object (which we compile from + # the rc file), not a linker script. + W32_RES_LINK="-Wl,-bpe-i386 -Wl,emacs.res" fi AC_SUBST(W32_OBJ) AC_SUBST(W32_LIBS) +AC_SUBST(W32_RES) +AC_SUBST(W32_RES_LINK) if test "${HAVE_W32}" = "yes"; then window_system=w32 @@ -1971,6 +2013,9 @@ if test "${with_gtk3}" = "yes" || test "${with_gtk}" = "yes" || test "$USE_X_TOO GTK_OBJ=emacsgtkfixed.o term_header=gtkutil.h USE_GTK_TOOLKIT="GTK3" + if test "x$ac_enable_gtk_deprecation_warnings" = x; then + GTK_CFLAGS="$GTK_CFLAGS -DGDK_DISABLE_DEPRECATION_WARNINGS" + fi else check_gtk2=yes gtk3_pkg_errors="$GTK_PKG_ERRORS " @@ -2011,7 +2056,7 @@ if test x"$pkg_check_gtk" = xyes; then AC_DEFINE(USE_GTK, 1, [Define to 1 if using GTK.]) GTK_OBJ="gtkutil.o $GTK_OBJ" USE_X_TOOLKIT=none - if $PKG_CONFIG --atleast-version=2.10 gtk+-2.0; then + if "$PKG_CONFIG" --atleast-version=2.10 gtk+-2.0; then : else AC_MSG_WARN([[Your version of Gtk+ will have problems with @@ -2046,6 +2091,23 @@ if test "${HAVE_GTK}" = "yes"; then AC_CHECK_FUNCS(gtk_file_selection_new) fi + dnl Same as above for gtk_handle_box. + HAVE_GTK_HANDLE_BOX=no + AC_CHECK_DECL(GTK_TYPE_HANDLE_BOX, HAVE_GTK_HANDLE_BOX=yes, + HAVE_GTK_HANDLE_BOX=no, [AC_INCLUDES_DEFAULT +#include ]) + if test "$HAVE_GTK_HANDLE_BOX" = yes; then + AC_CHECK_FUNCS(gtk_handle_box_new) + fi + + dnl Same as above for gtk_tearoff_menu_item. + HAVE_GTK_TEAROFF_MENU_ITEM=no + AC_CHECK_DECL(GTK_TYPE_TEAROFF_MENU_ITEM, HAVE_GTK_TEAROFF_MENU_ITEM=yes, + HAVE_GTK_TEAROFF_MENU_ITEM=no, [AC_INCLUDES_DEFAULT +#include ]) + if test "$HAVE_GTK_TEAROFF_MENU_ITEM" = yes; then + AC_CHECK_FUNCS(gtk_tearoff_menu_item_new) + fi dnl Check for functions introduced in 2.14 and later. AC_CHECK_FUNCS(gtk_widget_get_window gtk_widget_set_has_window \ @@ -2154,6 +2216,34 @@ fi AC_SUBST(LIBGNUTLS_LIBS) AC_SUBST(LIBGNUTLS_CFLAGS) +dnl inotify is only available on GNU/Linux. +if test "${with_inotify}" = "yes"; then + AC_CHECK_HEADERS(sys/inotify.h) + if test "$ac_cv_header_sys_inotify_h" = yes ; then + AC_CHECK_FUNC(inotify_init1) + fi +fi +if test "$ac_cv_func_inotify_init1" = yes; then + AC_DEFINE(HAVE_INOTIFY, 1, [Define to 1 to use inotify.]) +fi + +dnl POSIX ACL support: provided by libacl on GNU/Linux, by libc on FreeBSD. +HAVE_POSIX_ACL=no +LIBACL_LIBS= +if test "${with_acl}" = "yes"; then + AC_CHECK_LIB([acl], [acl_set_file], HAVE_POSIX_ACL=yes, HAVE_POSIX_ACL=no) + if test "$HAVE_POSIX_ACL" = yes; then + AC_DEFINE(HAVE_POSIX_ACL, 1, [Define to 1 if using POSIX ACL support.]) + LIBACL_LIBS=-lacl + else + AC_CHECK_FUNC(acl_set_file, HAVE_POSIX_ACL=yes, HAVE_POSIX_ACL=no) + if test "$HAVE_POSIX_ACL" = yes; then + AC_DEFINE(HAVE_POSIX_ACL, 1, [Define to 1 if using POSIX ACL support.]) + fi + fi +fi +AC_SUBST(LIBACL_LIBS) + dnl Do not put whitespace before the #include statements below. dnl Older compilers (eg sunos4 cc) choke on it. HAVE_XAW3D=no @@ -2875,11 +2965,11 @@ AC_SUBST(BLESSMAIL_TARGET) AC_CHECK_FUNCS(gethostname \ -closedir getrusage get_current_dir_name \ -lrand48 setsid \ -fpathconf select euidaccess getpagesize setlocale \ -utimes getrlimit setrlimit setpgid getcwd shutdown getaddrinfo \ -__fpending strsignal setitimer \ +getrusage get_current_dir_name \ +lrand48 \ +select getpagesize setlocale \ +utimes getrlimit setrlimit shutdown getaddrinfo \ +strsignal setitimer \ sendto recvfrom getsockname getpeername getifaddrs freeifaddrs \ gai_strerror mkstemp getline getdelim fsync sync \ difftime posix_memalign \ @@ -2887,14 +2977,6 @@ getpwent endpwent getgrent endgrent \ touchlock \ cfmakeraw cfsetspeed copysign __executable_start) -dnl getwd appears to be buggy on SVR4.2, so we don't use it. -if test $opsys = unixware; then - dnl In case some other test ends up checking for getwd. - AC_DEFINE(BROKEN_GETWD, 1, [Define if getwd should not be used.]) -else - AC_CHECK_FUNCS(getwd) -fi - ## Eric Backus says, HP-UX 9.x on HP 700 machines ## has a broken `rint' in some library versions including math library ## version number A.09.05. @@ -2921,8 +3003,6 @@ AC_CHECK_HEADERS_ONCE(sys/un.h) AC_FUNC_FSEEKO -AC_FUNC_GETPGRP - # UNIX98 PTYs. AC_CHECK_FUNCS(grantpt) @@ -3594,7 +3674,7 @@ case $opsys in AC_DEFINE(PTY_ITERATION, []) dnl Not used, because PTY_ITERATION is defined. AC_DEFINE(FIRST_PTY_LETTER, ['q']) - AC_DEFINE(PTY_OPEN, [ { struct sigaction ocstat, cstat; struct stat stb; char * name; sigemptyset(&cstat.sa_mask); cstat.sa_handler = SIG_DFL; cstat.sa_flags = 0; sigaction(SIGCLD, &cstat, &ocstat); name = _getpty (&fd, O_RDWR | O_NDELAY, 0600, 0); sigaction(SIGCLD, &ocstat, (struct sigaction *)0); if (name == 0) return -1; if (fd < 0) return -1; if (fstat (fd, &stb) < 0) return -1; strcpy (pty_name, name); }]) + AC_DEFINE(PTY_OPEN, [ { struct sigaction ocstat, cstat; struct stat stb; char * name; sigemptyset(&cstat.sa_mask); cstat.sa_handler = SIG_DFL; cstat.sa_flags = 0; sigaction(SIGCHLD, &cstat, &ocstat); name = _getpty (&fd, O_RDWR | O_NDELAY, 0600, 0); sigaction(SIGCHLD, &ocstat, (struct sigaction *)0); if (name == 0) return -1; if (fd < 0) return -1; if (fstat (fd, &stb) < 0) return -1; strcpy (pty_name, name); }]) dnl No need to get the pty name at all. AC_DEFINE(PTY_NAME_SPRINTF, []) dnl No need to use sprintf to get the tty name--we get that from _getpty. @@ -3605,12 +3685,12 @@ case $opsys in dnl On SysVr4, grantpt(3) forks a subprocess, so keep sigchld_handler() dnl from intercepting that death. If any child but grantpt's should die dnl within, it should be caught after sigrelse(2). - AC_DEFINE(PTY_TTY_NAME_SPRINTF, [{ char *ptsname (int), *ptyname; int grantpt_result; sigset_t blocked; sigemptyset (&blocked); sigaddset (&blocked, SIGCLD); pthread_sigmask (SIG_BLOCK, &blocked, 0); grantpt_result = grantpt (fd); pthread_sigmask (SIG_UNBLOCK, &blocked, 0); if (grantpt_result == -1 || unlockpt (fd) == -1 || !(ptyname = ptsname (fd))) { emacs_close (fd); return -1; } snprintf (pty_name, sizeof pty_name, "%s", ptyname); }]) + AC_DEFINE(PTY_TTY_NAME_SPRINTF, [{ char *ptsname (int), *ptyname; int grantpt_result; sigset_t blocked; sigemptyset (&blocked); sigaddset (&blocked, SIGCHLD); pthread_sigmask (SIG_BLOCK, &blocked, 0); grantpt_result = grantpt (fd); pthread_sigmask (SIG_UNBLOCK, &blocked, 0); if (grantpt_result == -1 || unlockpt (fd) == -1 || !(ptyname = ptsname (fd))) { emacs_close (fd); return -1; } snprintf (pty_name, sizeof pty_name, "%s", ptyname); }]) ;; unixware ) dnl Comments are as per sol2*. - AC_DEFINE(PTY_TTY_NAME_SPRINTF, [{ char *ptsname (int), *ptyname; int grantpt_result; sigset_t blocked; sigemptyset (&blocked); sigaddset (&blocked, SIGCLD); pthread_sigmask (SIG_BLOCK, &blocked, 0); grantpt_result = grantpt (fd); pthread_sigmask (SIG_UNBLOCK, &blocked, 0); if (grantpt_result == -1) fatal("could not grant slave pty"); if (unlockpt(fd) == -1) fatal("could not unlock slave pty"); if (!(ptyname = ptsname(fd))) fatal ("could not enable slave pty"); snprintf (pty_name, sizeof pty_name, "%s", ptyname); }]) + AC_DEFINE(PTY_TTY_NAME_SPRINTF, [{ char *ptsname (int), *ptyname; int grantpt_result; sigset_t blocked; sigemptyset (&blocked); sigaddset (&blocked, SIGCHLD); pthread_sigmask (SIG_BLOCK, &blocked, 0); grantpt_result = grantpt (fd); pthread_sigmask (SIG_UNBLOCK, &blocked, 0); if (grantpt_result == -1) fatal("could not grant slave pty"); if (unlockpt(fd) == -1) fatal("could not unlock slave pty"); if (!(ptyname = ptsname(fd))) fatal ("could not enable slave pty"); snprintf (pty_name, sizeof pty_name, "%s", ptyname); }]) ;; esac @@ -3655,100 +3735,6 @@ case $opsys in esac -dnl Used in dispnew.c -AH_TEMPLATE(PENDING_OUTPUT_COUNT, [Number of chars of output in the - buffer of a stdio stream.]) - -AC_MSG_CHECKING([whether we are using the GNU C library]) -AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ -#include -#ifndef __GNU_LIBRARY__ -# error "this is not the GNU C library" -#endif - ]], [[]])], emacs_glibc=yes, emacs_glibc=no) -AC_MSG_RESULT([$emacs_glibc]) - -if test $emacs_glibc = yes; then - - emacs_pending_output=unknown - - case $opsys in - gnu | gnu-linux | gnu-kfreebsd ) - AC_MSG_CHECKING([for style of pending output formalism]) - dnl In autoconf 2.67 and later, we could use a single test - dnl since the preprocessed output is accessible in "conftest.i". - AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ -#include -#if !defined (_IO_STDIO_H) && !defined (_STDIO_USES_IOSTREAM) -# error "stdio definitions not found" -#endif - ]], [[]])], emacs_pending_output=new, []) - - if test $emacs_pending_output = unknown; then - case $opsys in - gnu-linux | gnu-kfreebsd) - AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ -#include -#ifndef __UCLIBC__ -# error "not using uclibc" -#endif - ]], [[]])], emacs_pending_output=uclibc, emacs_pending_output=old) - ;; - esac - fi - - AC_MSG_RESULT([$emacs_pending_output]) - - case $emacs_pending_output in - new) - dnl New C libio names. - AC_DEFINE(PENDING_OUTPUT_COUNT(FILE), - [((FILE)->_IO_write_ptr - (FILE)->_IO_write_base)]) - ;; - uclibc) - dnl Using the uClibc library. - AC_DEFINE(PENDING_OUTPUT_COUNT(FILE), - [((FILE)->__bufpos - (FILE)->__bufstart)]) - ;; - old) - dnl Old C++ iostream names. - AC_DEFINE(PENDING_OUTPUT_COUNT(FILE), - [((FILE)->_pptr - (FILE)->_pbase)]) - ;; - esac - ;; - esac dnl opsys - - if test $emacs_pending_output = unknown; then - AC_DEFINE(PENDING_OUTPUT_COUNT(FILE), [((FILE)->__bufp - (FILE)->__buffer)]) - fi - -else dnl !emacs_glibc - - case $opsys in - cygwin | darwin | freebsd | netbsd | openbsd ) - AC_DEFINE(PENDING_OUTPUT_COUNT(FILE), [((FILE)->_p - (FILE)->_bf._base)]) - ;; - - unixware) - AC_DEFINE(PENDING_OUTPUT_COUNT(FILE), [((FILE)->__ptr - (FILE)->__base)]) - ;; - - *) - dnl HAVE_STDIO_EXT_H && HAVE___FPENDING - if test x$ac_cv_header_stdio_ext_h = xyes && \ - test x$ac_cv_func___fpending = xyes; then - AC_DEFINE(PENDING_OUTPUT_COUNT(FILE), [__fpending (FILE)]) - AC_DEFINE(DISPNEW_NEEDS_STDIO_EXT, 1, - [Define if dispnew.c should include stdio_ext.h.]) - else - AC_DEFINE(PENDING_OUTPUT_COUNT(FILE), [((FILE)->_ptr - (FILE)->_base)]) - fi - ;; - esac -fi dnl emacs_glibc - - dnl Used in vm-limit.c AH_TEMPLATE(DATA_START, [Address of the start of the data segment.]) dnl Used in lisp.h, emacs.c, mem-limits.h @@ -3776,7 +3762,6 @@ case $opsys in esac -AH_TEMPLATE(ULIMIT_BREAK_VALUE, [Undocumented.]) AH_TEMPLATE(TAB3, [Undocumented.]) case $opsys in @@ -3788,14 +3773,6 @@ case $opsys in ;; gnu-linux | gnu-kfreebsd ) - dnl libc-linux/sysdeps/linux/i386/ulimit.c says that due to shared - dnl library, we cannot get the maximum address for brk. - AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ -#ifndef __i386__ -# error "not i386" -#endif - ]], [[]])], AC_DEFINE(ULIMIT_BREAK_VALUE, [(32*1024*1024)]), []) - AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ #ifndef __ia64__ # error "not ia64" @@ -3809,30 +3786,16 @@ case $opsys in AC_DEFINE(RUN_TIME_REMAP, 1, [Define if emacs.c needs to call run_time_remap; for HPUX.]) ;; - - irix6-5) - dnl Ulimit(UL_GMEMLIM) is busted... - AC_DEFINE(ULIMIT_BREAK_VALUE, [0x14000000]) - ;; esac -dnl These won't be used automatically yet. We also need to know, at least, +dnl This won't be used automatically yet. We also need to know, at least, dnl that the stack is continuous. AH_TEMPLATE(GC_SETJMP_WORKS, [Define if setjmp is known to save all registers relevant for conservative garbage collection in the jmp_buf.]) -AH_TEMPLATE(GC_MARK_STACK, [Define to GC_USE_GCPROS_AS_BEFORE if - conservative garbage collection is not known to work.]) - case $opsys in - aix4-2 | hpux* | unixware) - dnl Conservative garbage collection has not been tested, so for now - dnl play it safe and stick with the old-fashioned way of marking. - AC_DEFINE(GC_MARK_STACK, [GC_USE_GCPROS_AS_BEFORE]) - ;; - dnl Not all the architectures are tested, but there are Debian packages dnl for SCM and/or Guile on them, so the technique must work. See also dnl comments in alloc.c concerning setjmp and gcc. @@ -3847,8 +3810,7 @@ case $opsys in #else # error "setjmp not known to work on this arch" #endif - ]], [[]])], AC_DEFINE(GC_SETJMP_WORKS, 1), - AC_DEFINE(GC_MARK_STACK, [GC_USE_GCPROS_AS_BEFORE]) ) + ]], [[]])], AC_DEFINE(GC_SETJMP_WORKS, 1)) ;; esac @@ -3916,7 +3878,6 @@ esac dnl Define symbols to identify the version of Unix this is. dnl Define all the symbols that apply correctly. -AH_TEMPLATE(BSD4_2, [Define if the system is compatible with BSD 4.2.]) AH_TEMPLATE(BSD_SYSTEM, [Define if the system is compatible with BSD 4.2.]) AH_TEMPLATE(DOS_NT, [Define if the system is MS DOS or MS Windows.]) AH_TEMPLATE(MSDOS, [Define if the system is MS DOS.]) @@ -3942,7 +3903,6 @@ case $opsys in darwin) dnl BSD4_3 and BSD4_4 are already defined in sys/param.h. - AC_DEFINE(BSD4_2, []) AC_DEFINE(BSD_SYSTEM, []) dnl More specific than the above two. We cannot use __APPLE__ as this dnl may not be defined on non-OSX Darwin, and we cannot define DARWIN @@ -3952,7 +3912,6 @@ case $opsys in ;; freebsd) - AC_DEFINE(BSD4_2, []) dnl Hack to avoid calling AC_PREPROC_IFELSE multiple times. dnl Would not be needed with autoconf >= 2.67, where the dnl preprocessed output is accessible in "conftest.i". @@ -3960,7 +3919,6 @@ case $opsys in ;; gnu | netbsd | openbsd ) - AC_DEFINE(BSD4_2, []) AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ #ifndef BSD_SYSTEM # error "BSD_SYSTEM not defined" @@ -4063,8 +4021,6 @@ case $opsys in irix6-5) AC_DEFINE(PREFER_VSUSP, 1, [Define if process_send_signal should use VSUSP instead of VSWTCH.]) - AC_DEFINE(SETPGRP_RELEASES_CTTY, 1, [Define if process.c:child_setup - should not call setpgrp.]) ;; sol2-10) @@ -4142,7 +4098,9 @@ fi AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "${canonical}", [Define to the canonical Emacs configuration name.]) -AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "${ac_configure_args}", +dnl Replace any embedded " characters (bug#13274). +emacs_config_options=`echo "$emacs_config_options " | sed -e 's/--no-create //' -e 's/--no-recursion //' -e 's/ *$//' -e "s/\"/'/g"` +AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "${emacs_config_options}", [Define to the options passed to configure.]) AH_TEMPLATE(config_opsysfile, [Some platforms that do not use configure define this to include extra configuration information.]) @@ -4443,7 +4401,6 @@ AC_SUBST(LIB_GCC) ## Common for all window systems if test "$window_system" != "none"; then AC_DEFINE(HAVE_WINDOW_SYSTEM, 1, [Define if you have a window system.]) - AC_DEFINE(HAVE_MOUSE, 1, [Define if you have mouse support.]) WINDOW_SYSTEM_OBJ="fontset.o fringe.o image.o" fi @@ -4609,7 +4566,7 @@ AC_CONFIG_FILES([Makefile lib/Makefile lib-src/Makefile oldXMenu/Makefile \ dnl test/ is not present in release tarfiles. opt_makefile=test/automated/Makefile -if test -f $srcdir/${opt_makefile}.in; then +if test -f "$srcdir/$opt_makefile.in"; then SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $opt_makefile" dnl Again, it's best not to use a variable. Though you can add dnl ", [], [opt_makefile='$opt_makefile']" and it should work. @@ -4620,7 +4577,7 @@ fi dnl admin/ may or may not be present. opt_makefile=admin/unidata/Makefile -if test -f $srcdir/${opt_makefile}.in; then +if test -f "$srcdir/$opt_makefile.in"; then SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $opt_makefile" AC_CONFIG_FILES([admin/unidata/Makefile]) fi @@ -4651,9 +4608,9 @@ ${MAKE-make} MAKEFILE_NAME=do-not-make-Makefile epaths-force ], [GCC="$GCC" CPPFLAGS="$CPPFLAGS"]) AC_CONFIG_COMMANDS([gdbinit], [ -if test ! -f src/.gdbinit && test -f $srcdir/src/.gdbinit; then +if test ! -f src/.gdbinit && test -f "$srcdir/src/.gdbinit"; then echo creating src/.gdbinit - echo source $srcdir/src/.gdbinit > src/.gdbinit + echo "source $srcdir/src/.gdbinit" > src/.gdbinit fi ]) diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index f07c329758..e5404a15c5 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,17 +1,38 @@ +2013-02-13 Paul Eggert + + * cmdargs.texi (General Variables): + Fix TMPDIR documentation to match the code's behavior. + 2013-02-10 Glenn Morris * trouble.texi (Checklist): Update bug keybinding. -2013-01-18 Glenn Morris +2013-02-09 Eli Zaretskii - * custom.texi (Directory Variables): Fix paren typo. + * msdog.texi (Text and Binary): Delete the description of + file-name-buffer-file-type-alist. -2013-01-16 Glenn Morris +2013-01-19 Paul Eggert + + * trouble.texi (Crashing): Suggest -p for newer addr2line. (Bug#13445) + Without it, I don't see function names. Older addr2line + implementations will die out sooner or later, so tailor the + first suggestion to recent addr2line, with a followup about + older ones. + +2013-01-19 Glenn Morris + + * custom.texi (Directory Variables): Fix paren typo. * trouble.texi (Crashing): Not all addr2line have -p. (Bug#13445) * custom.texi (Custom Themes): Fix typo. +2013-01-07 Bastien Guerry + + * help.texi (Apropos): Document `apropos-user-option' and update + the doc for `apropos-variable'. + 2013-01-05 Glenn Morris * text.texi (HTML Mode): Remove deleted nxml C-RET binding. @@ -26,35 +47,63 @@ * frames.texi (Mouse Commands): Fix description of the effect of mouse dragging (Bug#13049). -2012-12-08 Dani Moncayo +2012-12-15 Juri Linkov + + * misc.texi (Recursive Edit): Add a link to "Query Replace". + (Bug#13181) + +2012-12-10 Dani Moncayo * killing.texi (Deletion): Doc fix (Bug#12748). -2012-12-03 Juanma Barranquero +2012-12-06 Paul Eggert + + * doclicense.texi, gpl.texi: Update to latest version from FSF. + These are just minor editorial changes. + +2012-12-06 Juanma Barranquero * vc1-xtra.texi (General VC Options): Remove obsolete reference to `vc-path'. -2012-12-02 Chong Yidong +2012-12-03 Chong Yidong * custom.texi (Init Rebinding): kbd is now a function (Bug#13052). -2012-11-18 Dani Moncayo +2012-12-02 Kevin Ryde + + * maintaining.texi (Tag Syntax): Mention (defvar foo) handling. + +2012-12-01 Kevin Ryde + + * maintaining.texi (Tag Syntax): Mention Perl's "use constant". + +2012-11-24 Paul Eggert + + * doclicense.texi, gpl.texi: Update to latest version from FSF. + These are just minor editorial changes. + +2012-11-21 Dani Moncayo * display.texi (Auto Scrolling): Fix some inaccuracies, plus clarifications (Bug#12865). (Horizontal Scrolling): Clarifications. -2012-11-17 Dani Moncayo +2012-11-18 Dani Moncayo * mark.texi (Disabled Transient Mark): Doc fixes (Bug#12746). -2012-11-12 Chong Yidong +2012-11-16 Eli Zaretskii + + * trouble.texi (Crashing): Add information about MS-Windows and + the emacs_backtrace.txt file. (Bug#12908) + +2012-11-13 Chong Yidong * building.texi (Multithreaded Debugging): gdb-stopped-hooks is actually named gdb-stopped-functions. -2012-11-12 Glenn Morris +2012-11-13 Glenn Morris * misc.texi (Single Shell): Mention async-shell-command-buffer. @@ -62,23 +111,21 @@ * misc.texi (Terminal emulator): Rename `term-face' to `term'. -2012-11-09 Glenn Morris - * emacs.texi (Acknowledgments): Add profiler author. * ack.texi (Acknowledgments): Add some recent contributions. -2012-11-08 Chong Yidong +2012-11-10 Chong Yidong * files.texi (Diff Mode): Doc fixes for diff-delete-trailing-whitespace (Bug#12831). * trouble.texi (Crashing): Copyedits. -2012-11-08 Glenn Morris +2012-11-10 Glenn Morris * files.texi (Diff Mode): Trailing whitespace updates. -2012-11-07 Chong Yidong +2012-11-10 Chong Yidong * misc.texi (Terminal emulator): Document Term mode faces. @@ -93,13 +140,13 @@ * trouble.texi (Memory Full): Capitalize Buffer Menu. -2012-11-05 Eli Zaretskii +2012-11-10 Eli Zaretskii * display.texi (Auto Scrolling): Clarify that scroll-step is ignored when scroll-conservatively is set to a non-zero value. (Bug#12801) -2012-11-05 Chong Yidong +2012-11-10 Chong Yidong * dired.texi (Dired Updating): Doc fix (Bug#11744). diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index c4a7404286..19b439afc7 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi @@ -567,10 +567,9 @@ terminal specified by @env{TERM}. This defaults to These environment variables are used to initialize the variable @code{temporary-file-directory}, which specifies a directory in which to put temporary files (@pxref{Backup}). Emacs tries to use -@env{TMPDIR} first; if that is unset, it tries @env{TMP}, then -@env{TEMP}, and finally @file{/tmp}. But on MS-Windows and MS-DOS, -Emacs tries @env{TEMP}, then @env{TMPDIR}, then @env{TMP}, and finally -@file{c:/temp}. +@env{TMPDIR} first. If that is unset, Emacs normally falls back on +@file{/tmp}, but on MS-Windows and MS-DOS it instead falls back on +@env{TMP}, then @env{TEMP}, and finally @file{c:/temp}. @item TZ This specifies the current time zone and possibly also daylight diff --git a/doc/emacs/doclicense.texi b/doc/emacs/doclicense.texi index 51342e96d6..9c3bbe56e9 100644 --- a/doc/emacs/doclicense.texi +++ b/doc/emacs/doclicense.texi @@ -1,4 +1,3 @@ -@c -*-texinfo-*- @c The GNU Free Documentation License. @center Version 1.3, 3 November 2008 @@ -6,7 +5,7 @@ @c hence no sectioning command or @node. @display -Copyright @copyright{} 2000, 2001, 2002, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. @uref{http://fsf.org/} Everyone is permitted to copy and distribute verbatim copies @@ -93,16 +92,16 @@ An image format is not Transparent if used for any substantial amount of text. A copy that is not ``Transparent'' is called ``Opaque''. Examples of suitable formats for Transparent copies include plain -@sc{ascii} without markup, Texinfo input format, La@TeX{} input -format, @acronym{SGML} or @acronym{XML} using a publicly available -@acronym{DTD}, and standard-conforming simple @acronym{HTML}, -PostScript or @acronym{PDF} designed for human modification. Examples -of transparent image formats include @acronym{PNG}, @acronym{XCF} and -@acronym{JPG}. Opaque formats include proprietary formats that can be -read and edited only by proprietary word processors, @acronym{SGML} or -@acronym{XML} for which the @acronym{DTD} and/or processing tools are -not generally available, and the machine-generated @acronym{HTML}, -PostScript or @acronym{PDF} produced by some word processors for +ASCII without markup, Texinfo input format, La@TeX{} input +format, SGML or XML using a publicly available +DTD, and standard-conforming simple HTML, +PostScript or PDF designed for human modification. Examples +of transparent image formats include PNG, XCF and +JPG@. Opaque formats include proprietary formats that can be +read and edited only by proprietary word processors, SGML or +XML for which the DTD and/or processing tools are +not generally available, and the machine-generated HTML, +PostScript or PDF produced by some word processors for output purposes only. The ``Title Page'' means, for a printed book, the title page itself, @@ -482,7 +481,7 @@ license notices just after the title page: @end smallexample If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the ``with@dots{}Texts.'' line with this: +replace the ``with@dots{}Texts.''@: line with this: @smallexample @group @@ -501,8 +500,6 @@ recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. - @c Local Variables: @c ispell-local-pdict: "ispell-dict" @c End: - diff --git a/doc/emacs/emacsver.texi b/doc/emacs/emacsver.texi index 310caade05..408d6612d5 100644 --- a/doc/emacs/emacsver.texi +++ b/doc/emacs/emacsver.texi @@ -1,4 +1,4 @@ @c It would be nicer to generate this using configure and @version@. @c However, that would mean emacsver.texi would always be newer @c then the info files in release tarfiles. -@set EMACSVER 24.2.93 +@set EMACSVER 24.3.50 diff --git a/doc/emacs/gpl.texi b/doc/emacs/gpl.texi index 1908d1f8f9..0e2e212acb 100644 --- a/doc/emacs/gpl.texi +++ b/doc/emacs/gpl.texi @@ -2,7 +2,7 @@ @center Version 3, 29 June 2007 @c This file is intended to be included within another document, -@c hence no sectioning command or @node. +@c hence no sectioning command or @node. @display Copyright @copyright{} 2007 Free Software Foundation, Inc. @url{http://fsf.org/} @@ -222,7 +222,7 @@ terms of section 4, provided that you also meet all of these conditions: @enumerate a -@item +@item The work must carry prominent notices stating that you modified it, and giving a relevant date. @@ -623,12 +623,12 @@ later version. @item Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +APPLICABLE LAW@. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND -PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE +A PARTICULAR PURPOSE@. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU@. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. @@ -670,7 +670,7 @@ state the exclusion of warranty; and each file should have at least the ``copyright'' line and a pointer to where the full notice is found. @smallexample -@var{one line to give the program's name and a brief idea of what it does.} +@var{one line to give the program's name and a brief idea of what it does.} Copyright (C) @var{year} @var{name of author} This program is free software: you can redistribute it and/or modify @@ -680,7 +680,7 @@ your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE@. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License @@ -693,7 +693,7 @@ If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: @smallexample -@var{program} Copyright (C) @var{year} @var{name of author} +@var{program} Copyright (C) @var{year} @var{name of author} This program comes with ABSOLUTELY NO WARRANTY; for details type @samp{show w}. This is free software, and you are welcome to redistribute it under certain conditions; type @samp{show c} for details. diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi index 0a0a3865d2..75b250d0f4 100644 --- a/doc/emacs/help.texi +++ b/doc/emacs/help.texi @@ -295,11 +295,16 @@ search for noninteractive functions too. Search for functions and variables. Both interactive functions (commands) and noninteractive functions can be found by this. -@item M-x apropos-variable -@findex apropos-variable +@item M-x apropos-user-option +@findex apropos-user-option Search for user-customizable variables. With a prefix argument, search for non-customizable variables too. +@item M-x apropos-variable +@findex apropos-variable +Search for variables. With a prefix argument, search for +customizable variables only. + @item M-x apropos-value @findex apropos-value Search for variables whose values match the specified pattern. With a diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index acf1a87fc4..c8d9e9f208 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi @@ -1676,9 +1676,11 @@ specifies (using Bourne shell syntax) that the commands @item In Lisp code, any function defined with @code{defun}, any variable -defined with @code{defvar} or @code{defconst}, and in general the first -argument of any expression that starts with @samp{(def} in column zero is -a tag. +defined with @code{defvar} or @code{defconst}, and in general the +first argument of any expression that starts with @samp{(def} in +column zero is a tag. As an exception, expressions of the form +@code{(defvar @var{foo})} are treated as declarations, and are only +tagged if the @samp{--declarations} option is given. @item In Scheme code, tags include anything defined with @code{def} or with a @@ -1766,11 +1768,11 @@ the file. @item In Perl code, the tags are the packages, subroutines and variables -defined by the @code{package}, @code{sub}, @code{my} and @code{local} -keywords. Use @samp{--globals} if you want to tag global variables. -Tags for subroutines are named @samp{@var{package}::@var{sub}}. The -name for subroutines defined in the default package is -@samp{main::@var{sub}}. +defined by the @code{package}, @code{sub}, @code{use constant}, +@code{my}, and @code{local} keywords. Use @samp{--globals} if you +want to tag global variables. Tags for subroutines are named +@samp{@var{package}::@var{sub}}. The name for subroutines defined in +the default package is @samp{main::@var{sub}}. @item In PHP code, tags are functions, classes and defines. Vars are tags diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 261676a7c5..73c1c85e2f 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -2180,7 +2180,7 @@ commands to perform arbitrary editing while in the middle of another Emacs command. For example, when you type @kbd{C-r} inside of a @code{query-replace}, you enter a recursive edit in which you can change the current buffer. On exiting from the recursive edit, you go back to -the @code{query-replace}. +the @code{query-replace}. @xref{Query Replace}. @kindex C-M-c @findex exit-recursive-edit diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi index 2c22c89a11..0f01958b51 100644 --- a/doc/emacs/msdog.texi +++ b/doc/emacs/msdog.texi @@ -218,29 +218,6 @@ set conversion, only end-of-line conversion. Essentially, it directs Emacs to create new files with the Unix-style convention of using newline at the end of a line. @xref{Coding Systems}. -@vindex file-name-buffer-file-type-alist -@cindex binary files, on MS-DOS/MS-Windows - Some kinds of files should not be converted at all, because their -contents are not really text. Therefore, Emacs on MS-Windows distinguishes -certain files as @dfn{binary files}. (This distinction is not part of -MS-Windows; it is made by Emacs only.) Binary files include executable -programs, compressed archives, etc. Emacs uses the file name to decide -whether to treat a file as binary: the variable -@code{file-name-buffer-file-type-alist} defines the file-name patterns -that indicate binary files. If a file name matches one of the patterns -for binary files (those whose associations are of the type -@code{(@var{pattern} . t)}, Emacs reads and writes that file using the -@code{no-conversion} coding system (@pxref{Coding Systems}) which turns -off @emph{all} coding-system conversions, not only the EOL conversion. -@code{file-name-buffer-file-type-alist} also includes file-name patterns -for files which are known to be Windows-style text files with -carriage-return linefeed EOL format, such as @file{CONFIG.SYS}; Emacs -always writes those files with Windows-style EOLs. - - If a file that belongs to an untranslated file system matches one of -the file-name patterns in @code{file-name-buffer-file-type-alist}, the -EOL conversion is determined by @code{file-name-buffer-file-type-alist}. - @node Windows Files @section File Names on MS-Windows @cindex file names on MS-Windows diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index e83fe769ae..1c667bc56c 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi @@ -282,18 +282,23 @@ itself, and the reserve supply may not be enough. @subsection When Emacs Crashes @cindex crash report +@cindex backtrace +@cindex @file{emacs_backtrace.txt} file, MS-Windows Emacs is not supposed to crash, but if it does, it produces a @dfn{crash report} prior to exiting. The crash report is printed to the standard error stream. If Emacs was started from a graphical -desktop, the standard error stream is commonly redirected to a file -such as @file{~/.xsession-errors}, so you can look for the crash -report there. +desktop on a GNU or Unix system, the standard error stream is commonly +redirected to a file such as @file{~/.xsession-errors}, so you can +look for the crash report there. On MS-Windows, the crash report is +written to a file named @file{emacs_backtrace.txt} in the current +directory of the Emacs process, in addition to the standard error +stream. The format of the crash report depends on the platform. On some platforms, such as those using the GNU C Library, the crash report includes a @dfn{backtrace} describing the execution state prior to crashing, which can be used to help debug the crash. Here is an -example: +example for a GNU system: @example Fatal error 11: Segmentation fault @@ -320,23 +325,26 @@ backtrace with source-code line numbers: @example sed -n 's/.*\[\(.*\)]$/\1/p' @var{backtrace} | - addr2line -C -f -i -e @var{bindir}/emacs + addr2line -C -f -i -p -e @var{bindir}/@var{emacs-binary} @end example @noindent Here, @var{backtrace} is the name of a text file containing a copy of -the backtrace, and @var{bindir} is the name of the directory that -contains the Emacs executable.@footnote{You may wish to add the -@option{-p} option, if your version of @command{addr2line} supports it.} +the backtrace, @var{bindir} is the name of the directory that +contains the Emacs executable, and @var{emacs-binary} is the name of +the Emacs executable file, normally @file{emacs} on GNU and Unix +systems and @file{emacs.exe} on MS-Windows and MS-DOS. Omit the +@option{-p} option if your version of @command{addr2line} is too old +to have it. @cindex core dump - Optionally, Emacs can generate a @dfn{core dump} when it crashes. A -core dump is a file containing voluminous data about the state of the -program prior to the crash, usually examined by loading it into a -debugger such as GDB@. On many platforms, core dumps are disabled by -default, and you must explicitly enable them by running the shell -command @samp{ulimit -c unlimited} (e.g., in your shell startup -script). + Optionally, Emacs can generate a @dfn{core dump} when it crashes, on +systems that support core files. A core dump is a file containing +voluminous data about the state of the program prior to the crash, +usually examined by loading it into a debugger such as GDB@. On many +platforms, core dumps are disabled by default, and you must explicitly +enable them by running the shell command @samp{ulimit -c unlimited} +(e.g., in your shell startup script). @node After a Crash @subsection Recovery After a Crash diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index 23a7d3d8e0..993d0d051e 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -5,6 +5,23 @@ (emacs-lisp-intro.pdf, emacs-lisp-intro.html): Use $srcs for dependencies. +2012-12-14 Paul Eggert + + Fix permissions bugs with setgid directories etc. (Bug#13125) + * emacs-lisp-intro.texi (Files List): + directory-files-and-attributes now outputs t for attribute that's + now a placeholder. + +2012-12-06 Paul Eggert + + * doclicense.texi: Update to latest version from FSF. + These are just minor editorial changes. + +2012-11-24 Paul Eggert + + * doclicense.texi: Update to latest version from FSF. + These are just minor editorial changes. + 2012-10-24 Paul Eggert * emacs-lisp-intro.texi (Files List): diff --git a/doc/lispintro/doclicense.texi b/doc/lispintro/doclicense.texi index 51342e96d6..9c3bbe56e9 100644 --- a/doc/lispintro/doclicense.texi +++ b/doc/lispintro/doclicense.texi @@ -1,4 +1,3 @@ -@c -*-texinfo-*- @c The GNU Free Documentation License. @center Version 1.3, 3 November 2008 @@ -6,7 +5,7 @@ @c hence no sectioning command or @node. @display -Copyright @copyright{} 2000, 2001, 2002, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. @uref{http://fsf.org/} Everyone is permitted to copy and distribute verbatim copies @@ -93,16 +92,16 @@ An image format is not Transparent if used for any substantial amount of text. A copy that is not ``Transparent'' is called ``Opaque''. Examples of suitable formats for Transparent copies include plain -@sc{ascii} without markup, Texinfo input format, La@TeX{} input -format, @acronym{SGML} or @acronym{XML} using a publicly available -@acronym{DTD}, and standard-conforming simple @acronym{HTML}, -PostScript or @acronym{PDF} designed for human modification. Examples -of transparent image formats include @acronym{PNG}, @acronym{XCF} and -@acronym{JPG}. Opaque formats include proprietary formats that can be -read and edited only by proprietary word processors, @acronym{SGML} or -@acronym{XML} for which the @acronym{DTD} and/or processing tools are -not generally available, and the machine-generated @acronym{HTML}, -PostScript or @acronym{PDF} produced by some word processors for +ASCII without markup, Texinfo input format, La@TeX{} input +format, SGML or XML using a publicly available +DTD, and standard-conforming simple HTML, +PostScript or PDF designed for human modification. Examples +of transparent image formats include PNG, XCF and +JPG@. Opaque formats include proprietary formats that can be +read and edited only by proprietary word processors, SGML or +XML for which the DTD and/or processing tools are +not generally available, and the machine-generated HTML, +PostScript or PDF produced by some word processors for output purposes only. The ``Title Page'' means, for a printed book, the title page itself, @@ -482,7 +481,7 @@ license notices just after the title page: @end smallexample If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the ``with@dots{}Texts.'' line with this: +replace the ``with@dots{}Texts.''@: line with this: @smallexample @group @@ -501,8 +500,6 @@ recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. - @c Local Variables: @c ispell-local-pdict: "ispell-dict" @c End: - diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 102689f54d..3366ad6e7f 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -15688,7 +15688,7 @@ nil "-rw-r--r--" @end group @group -nil +t 2971624 773) @end group diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 79ba145c5f..be1bdfcfa3 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -4,31 +4,39 @@ * modes.texi (Minor Mode Conventions): Fix typo. -2013-02-12 Glenn Morris - * keymaps.texi (Scanning Keymaps): Remove obsolete sentence about meta characters; this changed in 22.1. (Bug#13684) -2013-02-11 Glenn Morris - * objects.texi (Char-Table Type): Add cindex. * keymaps.texi (Key Binding Commands): Trivial rephrasing. -2013-02-09 Glenn Morris +2013-02-10 Glenn Morris * keymaps.texi (Creating Keymaps): Update make-keymap result. +2013-02-09 Eli Zaretskii + + * modes.texi (%-Constructs): Remove the description of %t. + + * nonascii.texi (MS-DOS File Types): Delete node. + 2013-02-08 Glenn Morris * keymaps.texi (Active Keymaps, Searching Keymaps): Remove confusing mention of "symbolic prefix". (Bug#13643) -2013-01-16 Glenn Morris +2013-01-19 Glenn Morris * macros.texi (Indenting Macros): Fix order of an indent symbol's arguments. (Bug#13450) +2013-01-19 Paul Eggert + + Allow floating-point file offsets. + * files.texi (Reading from Files, Writing to Files): + Say that file offsets can be numbers, not just integers. + 2013-01-09 Glenn Morris * commands.texi (Interactive Codes): @@ -52,10 +60,14 @@ * keymaps.texi (Key Sequences): Remove obsolete sentence (Bug#13356). -2013-01-03 Ari Roponen (tiny change) +2013-01-04 Ari Roponen (tiny change) * hash.texi (Defining Hash): Fix typo. (Bug#13345) +2013-01-04 Stefan Monnier + + * files.texi (File Attributes): Undocument return format of file-acl. + 2013-01-03 Glenn Morris * processes.texi (System Processes): @@ -65,7 +77,7 @@ * elisp.texi (DATE): Bump to Jan 2013. -2012-12-31 Glenn Morris +2013-01-02 Glenn Morris * customize.texi (Common Keywords, Type Keywords): Replace "active field" with "button". (Bug#13310) @@ -73,7 +85,7 @@ * customize.texi (Common Keywords): Add xref. (Bug#13311) * tips.texi (Library Headers): Add cindex. -2012-12-29 Wolfgang Jenkner +2012-12-30 Wolfgang Jenkner * functions.texi (Declare Form): * intro.texi (A Sample Function Description): @@ -81,6 +93,11 @@ * variables.texi (Using Lexical Binding): Don't use @var or CAPS in @def.. commands. (Bug#13292) +2012-12-29 Eli Zaretskii + + * files.texi (Changing Files): Document the return values of + set-file-selinux-context and set-file-acl. + 2012-12-27 Glenn Morris * files.texi (File Names): Mention Cygwin conversion functions. @@ -90,6 +107,12 @@ * windows.texi (Selecting Windows): Reword description of select-window (Bug#13248). +2012-12-22 Eli Zaretskii + + * files.texi (File Attributes, Changing Files): Remove the details + about the text returned by file-acl. Instead, just document that + it is an opaque string meant to be used by set-file-acl. + 2012-12-21 Chong Yidong * modes.texi (Auto Major Mode): Fix typo (Bug#13230). @@ -97,26 +120,71 @@ * customize.texi (Simple Types): Document key-sequence type (Bug#13048). -2012-12-15 Chong Yidong - * strings.texi (Text Comparison): Doc fix for compare-strings. -2012-12-09 Stefan Monnier +2012-12-19 Michael Albinus - * control.texi (Pattern matching case statement): New node. + * files.texi (Magic File Names): Add `file-acl', + `file-selinux-context', `set-file-acl' and + `set-file-selinux-context'. Make the list consistent. + +2012-12-19 Jonas Bernoulli + + * tips.texi (Library Headers): New header keyword `Homepage'. + Make continuation lines syntax more precise. + +2012-12-17 Eli Zaretskii + + * files.texi (File Attributes, Changing Files): Update to include + MS-Windows support for ACLs. + +2012-12-16 Romain Francoise + + * files.texi (File Attributes): Document ACL support and new + `file-acl' function. + (Changing Files): Mention argument name change of `copy-file' and + document new function `set-file-acl'. -2012-12-06 Stefan Monnier +2012-12-14 Paul Eggert + + Fix permissions bugs with setgid directories etc. (Bug#13125) + * files.texi (Testing Accessibility): Document GROUP arg + of file-ownership-preserved-p. + (File Attributes): Document that 9th element is now + just a placeholder. + * os.texi (User Identification): Document new functions group-gid, + group-real-gid. + +2012-12-11 Paul Eggert + + * internals.texi (C Integer Types): New section. + This follows up and records an email in + . + +2012-12-10 Stefan Monnier + + * control.texi (Pattern matching case statement): New node. * customize.texi (Variable Definitions): Mention the default :group for defcustoms (bug#13093). -2012-12-05 Chong Yidong +2012-12-09 Glenn Morris + + * customize.texi (Variable Definitions): Mention eval-defun + on a defcustom calls the :set function when appropriate. + +2012-12-06 Paul Eggert + + * doclicense.texi, gpl.texi: Update to latest version from FSF. + These are just minor editorial changes. + +2012-12-06 Chong Yidong * lists.texi (Plist Access): Move put example to Symbol Plists. * symbols.texi (Standard Properties): Fix typo. -2012-12-02 Chong Yidong +2012-12-03 Chong Yidong * symbols.texi (Symbol Properties): New node. (Symbol Plists): Make it a subsection under Symbol Properties. @@ -133,7 +201,17 @@ * commands.texi (Using Interactive): Fix index entry. -2012-11-23 Martin Rudalics +2012-11-24 Paul Eggert + + * doclicense.texi: Update to latest version from FSF. + These are just minor editorial changes. + * elisp.texi (GNU Free Documentation License) + (GNU General Public Licens): + Provide sectioning, since doclicense.texi no longer does that. + + * loading.texi (Named Features): @ -> @@ to fix typo. + +2012-11-24 Martin Rudalics * windows.texi (Basic Windows): Fix typo. (Windows and Frames): Fix example. Move description of @@ -148,34 +226,34 @@ dedicatedness affects functions removing buffers or windows. * buffers.texi (The Buffer List): Fix description of bury-buffer. -2012-11-23 Chong Yidong +2012-11-24 Chong Yidong * modes.texi (%-Constructs): Fix statement about mode construct padding (Bug#12866). -2012-11-21 Stefan Monnier +2012-11-24 Stefan Monnier * debugging.texi (Profiling): Make it more clear that --enable-profiling is about profiling the C code. 2012-11-21 Glenn Morris - * debugging.texi (Profiling): Mention --enable-profiling (if !tex). - Add some basic information about the profile report buffer. - (Debugging): Mention profiling in the introduction. - -2012-11-20 Glenn Morris + * display.texi (Attribute Functions): + Update for set-face-* name changes. + Add new "inherit" argument for face-bold-p etc. + Move description of this argument to a common section, like "frame". - * debugging.texi (Profiling): New section, in progress. + * debugging.texi (Profiling): New section. + (Debugging): Mention profiling in the introduction. * tips.texi (Compilation Tips): Move profiling to separate section. * elisp.texi: Add Profiling to detailed menu. -2012-11-18 Martin Rudalics +2012-11-21 Martin Rudalics * windows.texi (Display Action Functions): Fix recently added example. Suggested by Michael Heerdegen. -2012-11-18 Paul Eggert +2012-11-21 Paul Eggert Minor cleanup for times as lists of four integers. * os.texi (Time Parsing): Time values can now be four integers. @@ -185,16 +263,14 @@ * loading.texi (How Programs Do Loading): Add eager macro expansion. * macros.texi (Expansion): Mention eager macro expansion. -2012-11-17 Glenn Morris - * minibuf.texi (Basic Completion): Mention misc completion-table funcs. -2012-11-17 Leo Liu +2012-11-18 Leo Liu * minibuf.texi (Programmed Completion): Doc fix for metadata request (Bug#12850). -2012-11-17 Glenn Morris +2012-11-18 Glenn Morris * display.texi (Temporary Displays): Document with-temp-buffer-window. @@ -211,31 +287,35 @@ Fix description of display-buffer-below-selected. Reorder actions. Add example (Bug#12848). -2012-11-15 Stefan Monnier - - * keymaps.texi (Translation Keymaps): Add a subsection "Interaction - with normal keymaps" (bug#12868). - -2012-11-15 Glenn Morris +2012-11-16 Glenn Morris * display.texi (Face Attributes): Fix :underline COLOR description. (Attribute Functions): Update for set-face-underline rename. Tweak descriptions of face-underline-p, face-inverse-video-p. -2012-11-14 Glenn Morris - * keymaps.texi (Searching Keymaps, Tool Bar): Untabify examples, so they align better in info. (Active Keymaps, Searching Keymaps, Controlling Active Maps): Document set-temporary-overlay-map. -2012-11-12 Glenn Morris +2012-11-15 Stefan Monnier + + * keymaps.texi (Translation Keymaps): Add a subsection "Interaction + with normal keymaps". + +2012-11-15 Dmitry Antipov + + * internals.texi (Garbage Collection): Update descriptions + of vectorlike_header, garbage-collect and gc-cons-threshold. + (Object Internals): Explain Lisp_Object layout and the basics + of an internal type system. + (Buffer Internals): Update description of struct buffer. + +2012-11-13 Glenn Morris * variables.texi (Adding Generalized Variables): At least mention gv-define-expander and gv-letplace. -2012-11-11 Glenn Morris - * debugging.texi (Error Debugging): Mention debug-on-message. (Using Debugger): Mention debugger-bury-or-kill. @@ -246,14 +326,14 @@ * variables.texi (Adding Generalized Variables): Use standard formatting for common lisp note about setf functions. -2012-11-07 Martin Rudalics +2012-11-10 Martin Rudalics * elisp.texi (Top): Add Recombining Windows to menu. * windows.texi (Recombining Windows): New subsection. (Splitting Windows): Rewrite text on handling of window combinations and move it to new subsection. -2012-11-07 Chong Yidong +2012-11-10 Chong Yidong * searching.texi (Replacing Match): Document \? in replace-match. @@ -266,13 +346,11 @@ * edebug.texi (Specification List): setf is no longer CL-only. -2012-11-07 Glenn Morris +2012-11-10 Glenn Morris * variables.texi (Adding Generalized Variables): Update description of FIX-RETURN expansion. -2012-11-06 Glenn Morris - * variables.texi (Setting Generalized Variables): Split most of previous contents into this subsection. (Adding Generalized Variables): New subsection. @@ -280,10 +358,17 @@ * elisp.texi: Add Generalized Variables subsections to detailed menu. -2012-11-05 Chong Yidong +2012-11-10 Chong Yidong * frames.texi (Initial Parameters): Doc fix (Bug#12144). +2012-11-08 Michael Albinus + + * os.texi (Notifications): Update descriptions of + notifications-notify, notifications-close-notification and + notifications-get-capabilities according to latest code changes. + Add notifications-get-server-information. + 2012-11-03 Chong Yidong * objects.texi (General Escape Syntax): Clarify the explanation of diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi index 2b375b1bcc..e926030905 100644 --- a/doc/lispref/customize.texi +++ b/doc/lispref/customize.texi @@ -310,8 +310,10 @@ defined with @code{defgroup} in the same file will be used. This way, most When you evaluate a @code{defcustom} form with @kbd{C-M-x} in Emacs Lisp mode (@code{eval-defun}), a special feature of @code{eval-defun} arranges to set the variable unconditionally, without testing whether -its value is void. (The same feature applies to @code{defvar}.) -@xref{Defining Variables}. +its value is void. (The same feature applies to @code{defvar}, +@pxref{Defining Variables}.) Using @code{eval-defun} on a defcustom +that is already defined calls the @code{:set} function (see below), +if there is one. If you put a @code{defcustom} in a pre-loaded Emacs Lisp file (@pxref{Building Emacs}), the standard value installed at dump time diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index b7ea39ab69..cc6e980dad 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -2433,12 +2433,12 @@ This sets the @code{:stipple} attribute of @var{face} to This sets the @code{:font} attribute of @var{face} to @var{font}. @end deffn -@defun set-face-bold-p face bold-p &optional frame +@defun set-face-bold face bold-p &optional frame This sets the @code{:weight} attribute of @var{face} to @var{normal} if @var{bold-p} is @code{nil}, and to @var{bold} otherwise. @end defun -@defun set-face-italic-p face italic-p &optional frame +@defun set-face-italic face italic-p &optional frame This sets the @code{:slant} attribute of @var{face} to @var{normal} if @var{italic-p} is @code{nil}, and to @var{italic} otherwise. @end defun @@ -2448,7 +2448,7 @@ This sets the @code{:underline} attribute of @var{face} to @var{underline}. @end defun -@defun set-face-inverse-video-p face inverse-video-p &optional frame +@defun set-face-inverse-video face inverse-video-p &optional frame This sets the @code{:inverse-video} attribute of @var{face} to @var{inverse-video-p}. @end defun @@ -2461,59 +2461,48 @@ This swaps the foreground and background colors of face @var{face}. don't specify @var{frame}, they refer to the selected frame; @code{t} refers to the default data for new frames. They return the symbol @code{unspecified} if the face doesn't define any value for that -attribute. +attribute. If @var{inherit} is @code{nil}, only an attribute directly +defined by the face is returned. If @var{inherit} is non-@code{nil}, +any faces specified by its @code{:inherit} attribute are considered as +well, and if @var{inherit} is a face or a list of faces, then they are +also considered, until a specified attribute is found. To ensure that +the return value is always specified, use a value of @code{default} for +@var{inherit}. + +@defun face-font face &optional frame +This function returns the name of the font of face @var{face}. +@end defun @defun face-foreground face &optional frame inherit @defunx face-background face &optional frame inherit These functions return the foreground color (or background color, respectively) of face @var{face}, as a string. - -If @var{inherit} is @code{nil}, only a color directly defined by the face is -returned. If @var{inherit} is non-@code{nil}, any faces specified by its -@code{:inherit} attribute are considered as well, and if @var{inherit} -is a face or a list of faces, then they are also considered, until a -specified color is found. To ensure that the return value is always -specified, use a value of @code{default} for @var{inherit}. @end defun @defun face-stipple face &optional frame inherit This function returns the name of the background stipple pattern of face @var{face}, or @code{nil} if it doesn't have one. - -If @var{inherit} is @code{nil}, only a stipple directly defined by the -face is returned. If @var{inherit} is non-@code{nil}, any faces -specified by its @code{:inherit} attribute are considered as well, and -if @var{inherit} is a face or a list of faces, then they are also -considered, until a specified stipple is found. To ensure that the -return value is always specified, use a value of @code{default} for -@var{inherit}. -@end defun - -@defun face-font face &optional frame -This function returns the name of the font of face @var{face}. @end defun -@defun face-bold-p face &optional frame +@defun face-bold-p face &optional frame inherit This function returns a non-@code{nil} value if the @code{:weight} attribute of @var{face} is bolder than normal (i.e., one of @code{semi-bold}, @code{bold}, @code{extra-bold}, or @code{ultra-bold}). Otherwise, it returns @code{nil}. @end defun -@defun face-italic-p face &optional frame +@defun face-italic-p face &optional frame inherit This function returns a non-@code{nil} value if the @code{:slant} attribute of @var{face} is @code{italic} or @code{oblique}, and @code{nil} otherwise. @end defun -@c Note the weasel words. A face that inherits from an underlined -@c face but does not specify :underline will return nil. -@defun face-underline-p face &optional frame +@defun face-underline-p face &optional frame inherit This function returns non-@code{nil} if face @var{face} specifies a non-@code{nil} @code{:underline} attribute. @end defun -@defun face-inverse-video-p face &optional frame +@defun face-inverse-video-p face &optional frame inherit This function returns non-@code{nil} if face @var{face} specifies a non-@code{nil} @code{:inverse-video} attribute. @end defun diff --git a/doc/lispref/doclicense.texi b/doc/lispref/doclicense.texi index 6e7ec924f6..9c3bbe56e9 100644 --- a/doc/lispref/doclicense.texi +++ b/doc/lispref/doclicense.texi @@ -1,15 +1,11 @@ -@c -*-texinfo-*- @c The GNU Free Documentation License. -@node GNU Free Documentation License - -@appendix GNU Free Documentation License @center Version 1.3, 3 November 2008 @c This file is intended to be included within another document, @c hence no sectioning command or @node. @display -Copyright @copyright{} 2000, 2001, 2002, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. @uref{http://fsf.org/} Everyone is permitted to copy and distribute verbatim copies @@ -96,16 +92,16 @@ An image format is not Transparent if used for any substantial amount of text. A copy that is not ``Transparent'' is called ``Opaque''. Examples of suitable formats for Transparent copies include plain -@sc{ascii} without markup, Texinfo input format, La@TeX{} input -format, @acronym{SGML} or @acronym{XML} using a publicly available -@acronym{DTD}, and standard-conforming simple @acronym{HTML}, -PostScript or @acronym{PDF} designed for human modification. Examples -of transparent image formats include @acronym{PNG}, @acronym{XCF} and -@acronym{JPG}. Opaque formats include proprietary formats that can be -read and edited only by proprietary word processors, @acronym{SGML} or -@acronym{XML} for which the @acronym{DTD} and/or processing tools are -not generally available, and the machine-generated @acronym{HTML}, -PostScript or @acronym{PDF} produced by some word processors for +ASCII without markup, Texinfo input format, La@TeX{} input +format, SGML or XML using a publicly available +DTD, and standard-conforming simple HTML, +PostScript or PDF designed for human modification. Examples +of transparent image formats include PNG, XCF and +JPG@. Opaque formats include proprietary formats that can be +read and edited only by proprietary word processors, SGML or +XML for which the DTD and/or processing tools are +not generally available, and the machine-generated HTML, +PostScript or PDF produced by some word processors for output purposes only. The ``Title Page'' means, for a printed book, the title page itself, @@ -485,7 +481,7 @@ license notices just after the title page: @end smallexample If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the ``with@dots{}Texts.'' line with this: +replace the ``with@dots{}Texts.''@: line with this: @smallexample @group @@ -504,7 +500,6 @@ recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. - @c Local Variables: @c ispell-local-pdict: "ispell-dict" @c End: diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 5ad9e8212a..3d1c4cf577 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -1209,8 +1209,6 @@ Coding Systems for a single file operation. * Explicit Encoding:: Encoding or decoding text without doing I/O. * Terminal I/O Encoding:: Use of encoding for terminal I/O. -* MS-DOS File Types:: How DOS "text" and "binary" files - relate to coding systems. Searching and Matching @@ -1593,7 +1591,11 @@ Object Internals @c appendices @include anti.texi +@node GNU Free Documentation License +@appendix GNU Free Documentation License @include doclicense.texi +@node GPL +@appendix GNU General Public License @include gpl.texi @include tips.texi @include internals.texi diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index c976f5b2ec..be44590f2e 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -533,9 +533,9 @@ is visiting the file @var{filename}: these include the buffer's visited file name and its last save file modtime. This feature is used by @code{find-file-noselect} and you probably should not use it yourself. -If @var{beg} and @var{end} are non-@code{nil}, they should be integers -specifying the portion of the file to insert. In this case, @var{visit} -must be @code{nil}. For example, +If @var{beg} and @var{end} are non-@code{nil}, they should be numbers +that are byte offsets specifying the portion of the file to insert. +In this case, @var{visit} must be @code{nil}. For example, @example (insert-file-contents filename nil 0 500) @@ -605,8 +605,8 @@ that string, rather than text from the buffer. @var{end} is ignored in this case. If @var{append} is non-@code{nil}, then the specified text is appended -to the existing file contents (if any). If @var{append} is an -integer, @code{write-region} seeks to that byte offset from the start +to the existing file contents (if any). If @var{append} is a +number, @code{write-region} seeks to that byte offset from the start of the file and writes the data from there. If @var{mustbenew} is non-@code{nil}, then @code{write-region} asks @@ -895,11 +895,14 @@ returns @code{nil}. However, if the open fails, it signals an error using @var{string} as the error message text. @end defun -@defun file-ownership-preserved-p filename +@defun file-ownership-preserved-p filename &optional group This function returns @code{t} if deleting the file @var{filename} and then creating it anew would keep the file's owner unchanged. It also returns @code{t} for nonexistent files. +If the optional argument @var{group} is non-@code{nil}, this function +also checks that the file's group would be unchanged. + If @var{filename} is a symbolic link, then, unlike the other functions discussed here, @code{file-ownership-preserved-p} does @emph{not} replace @var{filename} with its target. However, it does recursively @@ -1246,8 +1249,7 @@ The file's modes, as a string of ten letters or dashes, as in @samp{ls -l}. @item -@code{t} if the file's @acronym{GID} would change if file were -deleted and recreated; @code{nil} otherwise. +An unspecified value, present for backward compatibility. @item The file's inode number. If possible, this is an integer. If the @@ -1279,7 +1281,7 @@ For example, here are the file attributes for @file{files.texi}: (20000 23 0 0) (20614 64555 902289 872000) 122295 "-rw-rw-rw-" - nil (5888 2 . 43978) + t (5888 2 . 43978) (15479 . 46724)) @end group @end example @@ -1318,8 +1320,8 @@ end-of-line format is CR-LF.) @item "-rw-rw-rw-" has a mode of read and write access for the owner, group, and world. -@item nil -would retain the same @acronym{GID} if it were recreated. +@item t +is merely a placeholder; it carries no information. @item (5888 2 . 43978) has an inode number of 6473924464520138. @@ -1350,6 +1352,29 @@ not support SELinux, or if Emacs was not compiled with SELinux support, then the return value is @code{(nil nil nil nil)}. @end defun +@cindex access control list +@cindex ACL entries + If Emacs has been compiled with @dfn{ACL} (access control list) +support, you can use the function @code{file-acl} to retrieve a file's +ACL entries. The interface implementation is platform-specific; on +GNU/Linux and BSD, Emacs uses the POSIX ACL interface, while on +MS-Windows Emacs emulates the POSIX ACL interface with native file +security APIs. + +@defun file-acl filename +This function returns the ACL entries of the file @var{filename}. The +return value is a platform-dependent object containing some +representation of the ACL entries. Don't use it for anything except +passing it to the @code{set-file-acl} function (@pxref{Changing Files, +set-file-acl}). + +If the file does not exist or is inaccessible, or if Emacs was unable to +determine the ACL entries, then the return value is @code{nil}. The +latter can happen for local files if Emacs was not compiled with ACL +support, or for remote files if the file handler returns nil for the +file's ACL entries. +@end defun + @node Locating Files @subsection How to Locate Files in Standard Places @cindex locate file in path @@ -1539,9 +1564,10 @@ non-@code{nil}, we attempt to copy the user and group ownership of the file. This works only on some operating systems, and only if you have the correct permissions to do so. -If the optional argument @var{preserve-selinux} is non-@code{nil}, and -Emacs has been compiled with SELinux support, this function attempts -to copy the file's SELinux context (@pxref{File Attributes}). +If the optional argument @var{preserve-extended-attributes} is +non-@code{nil}, and Emacs has been built with the appropriate support, +this function attempts to copy the file's extended attributes, such as +its SELinux context and ACL entries (@pxref{File Attributes}). @end deffn @deffn Command make-symbolic-link filename newname &optional ok-if-exists @@ -1677,9 +1703,21 @@ This function sets the SELinux security context of the file @var{filename} to @var{context}. @xref{File Attributes}, for a brief description of SELinux contexts. The @var{context} argument should be a list @code{(@var{user} @var{role} @var{type} @var{range})}, like the -return value of @code{file-selinux-context}. The function does -nothing if SELinux is disabled, or if Emacs was compiled without -SELinux support. +return value of @code{file-selinux-context}. The function returns +@code{t} if it succeeds to set the SELinux security context of +@var{filename}, @code{nil} otherwise. The function does nothing and +returns @code{nil} if SELinux is disabled, or if Emacs was compiled +without SELinux support. +@end defun + +@defun set-file-acl filename acl-string +This function sets the ACL entries of the file @var{filename} to +@var{acl-string}. @xref{File Attributes}, for a brief description of +ACLs. The @var{acl-string} argument should be a string containing the +textual representation of the desired ACL entries as returned by +@code{file-acl} (@pxref{File Attributes, file-acl}). The function +returns @code{t} if it succeeds to set the ACL entries of +@var{filename}, @code{nil} otherwise. @end defun @node File Names @@ -2724,9 +2762,12 @@ first, before handlers for jobs such as remote file access. @code{dired-compress-file}, @code{dired-uncache},@* @code{expand-file-name}, @code{file-accessible-directory-p}, +@code{file-acl}, @code{file-attributes}, @code{file-directory-p}, +@code{file-equal-p}, @code{file-executable-p}, @code{file-exists-p}, +@code{file-in-directory-p}, @code{file-local-copy}, @code{file-remote-p}, @code{file-modes}, @code{file-name-all-completions}, @code{file-name-as-directory}, @@ -2735,9 +2776,10 @@ first, before handlers for jobs such as remote file access. @code{file-name-nondirectory}, @code{file-name-sans-versions}, @code{file-newer-than-file-p}, @code{file-ownership-preserved-p}, -@code{file-readable-p}, @code{file-regular-p}, @code{file-in-directory-p}, +@code{file-readable-p}, @code{file-regular-p}, +@code{file-selinux-context}, @code{file-symlink-p}, @code{file-truename}, @code{file-writable-p}, -@code{file-equal-p}, @code{find-backup-file-name}, +@code{find-backup-file-name}, @c Not sure why it was here: @code{find-file-noselect},@* @code{get-file-buffer}, @code{insert-directory}, @@ -2748,7 +2790,8 @@ first, before handlers for jobs such as remote file access. @code{make-directory-internal}, @code{make-symbolic-link},@* @code{process-file}, -@code{rename-file}, @code{set-file-modes}, @code{set-file-times}, +@code{rename-file}, @code{set-file-acl}, @code{set-file-modes}, +@code{set-file-selinux-context}, @code{set-file-times}, @code{set-visited-file-modtime}, @code{shell-command}, @code{start-file-process}, @code{substitute-in-file-name},@* @@ -2771,9 +2814,12 @@ first, before handlers for jobs such as remote file access. @code{dired-compress-file}, @code{dired-uncache}, @code{expand-file-name}, @code{file-accessible-direc@discretionary{}{}{}tory-p}, +@code{file-acl}, @code{file-attributes}, @code{file-direct@discretionary{}{}{}ory-p}, +@code{file-equal-p}, @code{file-executable-p}, @code{file-exists-p}, +@code{file-in-directory-p}, @code{file-local-copy}, @code{file-remote-p}, @code{file-modes}, @code{file-name-all-completions}, @code{file-name-as-directory}, @@ -2782,18 +2828,22 @@ first, before handlers for jobs such as remote file access. @code{file-name-nondirec@discretionary{}{}{}tory}, @code{file-name-sans-versions}, @code{file-newer-than-file-p}, @code{file-ownership-pre@discretionary{}{}{}served-p}, -@code{file-readable-p}, @code{file-regular-p}, @code{file-symlink-p}, -@code{file-truename}, @code{file-writable-p}, +@code{file-readable-p}, @code{file-regular-p}, +@code{file-selinux-context}, +@code{file-symlink-p}, @code{file-truename}, @code{file-writable-p}, @code{find-backup-file-name}, @c Not sure why it was here: @code{find-file-noselect}, @code{get-file-buffer}, @code{insert-directory}, @code{insert-file-contents}, -@code{load}, @code{make-direc@discretionary{}{}{}tory}, +@code{load}, +@code{make-auto-save-file-name}, +@code{make-direc@discretionary{}{}{}tory}, @code{make-direc@discretionary{}{}{}tory-internal}, @code{make-symbolic-link}, @code{process-file}, -@code{rename-file}, @code{set-file-modes}, +@code{rename-file}, @code{set-file-acl}, @code{set-file-modes}, +@code{set-file-selinux-context}, @code{set-file-times}, @code{set-visited-file-modtime}, @code{shell-command}, @code{start-file-process}, @code{substitute-in-file-name}, diff --git a/doc/lispref/gpl.texi b/doc/lispref/gpl.texi index 6dc50a9751..0e2e212acb 100644 --- a/doc/lispref/gpl.texi +++ b/doc/lispref/gpl.texi @@ -1,12 +1,8 @@ -@c -*-texinfo-*- - -@node GPL -@appendix GNU General Public License @c The GNU General Public License. @center Version 3, 29 June 2007 @c This file is intended to be included within another document, -@c hence no sectioning command or @node. +@c hence no sectioning command or @node. @display Copyright @copyright{} 2007 Free Software Foundation, Inc. @url{http://fsf.org/} @@ -226,7 +222,7 @@ terms of section 4, provided that you also meet all of these conditions: @enumerate a -@item +@item The work must carry prominent notices stating that you modified it, and giving a relevant date. @@ -627,12 +623,12 @@ later version. @item Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +APPLICABLE LAW@. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND -PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE +A PARTICULAR PURPOSE@. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU@. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. @@ -674,7 +670,7 @@ state the exclusion of warranty; and each file should have at least the ``copyright'' line and a pointer to where the full notice is found. @smallexample -@var{one line to give the program's name and a brief idea of what it does.} +@var{one line to give the program's name and a brief idea of what it does.} Copyright (C) @var{year} @var{name of author} This program is free software: you can redistribute it and/or modify @@ -684,7 +680,7 @@ your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE@. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License @@ -697,7 +693,7 @@ If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: @smallexample -@var{program} Copyright (C) @var{year} @var{name of author} +@var{program} Copyright (C) @var{year} @var{name of author} This program comes with ABSOLUTELY NO WARRANTY; for details type @samp{show w}. This is free software, and you are welcome to redistribute it under certain conditions; type @samp{show c} for details. diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi index 14ebde46b0..3269776b62 100644 --- a/doc/lispref/internals.texi +++ b/doc/lispref/internals.texi @@ -17,6 +17,7 @@ internal aspects of GNU Emacs that may be of interest to C programmers. * Memory Usage:: Info about total size of Lisp objects made so far. * Writing Emacs Primitives:: Writing C code for Emacs. * Object Internals:: Data formats of buffers, windows, processes. +* C Integer Types:: How C integer types are used inside Emacs. @end menu @node Building Emacs @@ -227,12 +228,11 @@ of 8k bytes, and small vectors are packed into blocks of 4k bytes). Beyond the basic vector, a lot of objects like window, buffer, and frame are managed as if they were vectors. The corresponding C data structures include the @code{struct vectorlike_header} field whose -@code{next} field points to the next object in the chain: -@code{header.next.buffer} points to the next buffer (which could be -a killed buffer), and @code{header.next.vector} points to the next -vector in a free list. If a vector is small (smaller than or equal to -@code{VBLOCK_BYTES_MAX} bytes, see @file{alloc.c}), then -@code{header.next.nbytes} contains the vector size in bytes. +@code{size} member contains the subtype enumerated by @code{enum pvec_type} +and an information about how many @code{Lisp_Object} fields this structure +contains and what the size of the rest data is. This information is +needed to calculate the memory footprint of an object, and used +by the vector allocation code while iterating over the vector blocks. @cindex garbage collection It is quite common to use some storage for a while, then release it @@ -285,88 +285,147 @@ the amount of space in use. (Garbage collection can also occur spontaneously if you use more than @code{gc-cons-threshold} bytes of Lisp data since the previous garbage collection.) -@code{garbage-collect} returns a list containing the following -information: +@code{garbage-collect} returns a list with information on amount of space in +use, where each entry has the form @samp{(@var{name} @var{size} @var{used})} +or @samp{(@var{name} @var{size} @var{used} @var{free})}. In the entry, +@var{name} is a symbol describing the kind of objects this entry represents, +@var{size} is the number of bytes used by each one, @var{used} is the number +of those objects that were found live in the heap, and optional @var{free} is +the number of those objects that are not live but that Emacs keeps around for +future allocations. So an overall result is: @example -@group -((@var{used-conses} . @var{free-conses}) - (@var{used-syms} . @var{free-syms}) -@end group - (@var{used-miscs} . @var{free-miscs}) - @var{used-string-chars} - @var{used-vector-slots} - (@var{used-floats} . @var{free-floats}) - (@var{used-intervals} . @var{free-intervals}) - (@var{used-strings} . @var{free-strings})) +((@code{conses} @var{cons-size} @var{used-conses} @var{free-conses}) + (@code{symbols} @var{symbol-size} @var{used-symbols} @var{free-symbols}) + (@code{miscs} @var{misc-size} @var{used-miscs} @var{free-miscs}) + (@code{strings} @var{string-size} @var{used-strings} @var{free-strings}) + (@code{string-bytes} @var{byte-size} @var{used-bytes}) + (@code{vectors} @var{vector-size} @var{used-vectors}) + (@code{vector-slots} @var{slot-size} @var{used-slots} @var{free-slots}) + (@code{floats} @var{float-size} @var{used-floats} @var{free-floats}) + (@code{intervals} @var{interval-size} @var{used-intervals} @var{free-intervals}) + (@code{buffers} @var{buffer-size} @var{used-buffers}) + (@code{heap} @var{unit-size} @var{total-size} @var{free-size})) @end example Here is an example: @example -@group (garbage-collect) - @result{} ((106886 . 13184) (9769 . 0) - (7731 . 4651) 347543 121628 - (31 . 94) (1273 . 168) - (25474 . 3569)) -@end group + @result{} ((conses 16 49126 8058) (symbols 48 14607 0) + (miscs 40 34 56) (strings 32 2942 2607) + (string-bytes 1 78607) (vectors 16 7247) + (vector-slots 8 341609 29474) (floats 8 71 102) + (intervals 56 27 26) (buffers 944 8) + (heap 1024 11715 2678)) @end example -Here is a table explaining each element: +Below is a table explaining each element. Note that last @code{heap} entry +is optional and present only if an underlying @code{malloc} implementation +provides @code{mallinfo} function. @table @var +@item cons-size +Internal size of a cons cell, i.e., @code{sizeof (struct Lisp_Cons)}. + @item used-conses The number of cons cells in use. @item free-conses -The number of cons cells for which space has been obtained from the -operating system, but that are not currently being used. +The number of cons cells for which space has been obtained from +the operating system, but that are not currently being used. -@item used-syms +@item symbol-size +Internal size of a symbol, i.e., @code{sizeof (struct Lisp_Symbol)}. + +@item used-symbols The number of symbols in use. -@item free-syms -The number of symbols for which space has been obtained from the -operating system, but that are not currently being used. +@item free-symbols +The number of symbols for which space has been obtained from +the operating system, but that are not currently being used. + +@item misc-size +Internal size of a miscellaneous entity, i.e., +@code{sizeof (union Lisp_Misc)}, which is a size of the +largest type enumerated in @code{enum Lisp_Misc_Type}. @item used-miscs -The number of miscellaneous objects in use. These include markers and -overlays, plus certain objects not visible to users. +The number of miscellaneous objects in use. These include markers +and overlays, plus certain objects not visible to users. @item free-miscs The number of miscellaneous objects for which space has been obtained from the operating system, but that are not currently being used. -@item used-string-chars -The total size of all strings, in characters. +@item string-size +Internal size of a string header, i.e., @code{sizeof (struct Lisp_String)}. + +@item used-strings +The number of string headers in use. + +@item free-strings +The number of string headers for which space has been obtained +from the operating system, but that are not currently being used. + +@item byte-size +This is used for convenience and equals to @code{sizeof (char)}. + +@item used-bytes +The total size of all string data in bytes. + +@item vector-size +Internal size of a vector header, i.e., @code{sizeof (struct Lisp_Vector)}. + +@item used-vectors +The number of vector headers allocated from the vector blocks. + +@item slot-size +Internal size of a vector slot, always equal to @code{sizeof (Lisp_Object)}. -@item used-vector-slots -The total number of elements of existing vectors. +@item used-slots +The number of slots in all used vectors. + +@item free-slots +The number of free slots in all vector blocks. + +@item float-size +Internal size of a float object, i.e., @code{sizeof (struct Lisp_Float)}. +(Do not confuse it with the native platform @code{float} or @code{double}.) @item used-floats The number of floats in use. @item free-floats -The number of floats for which space has been obtained from the -operating system, but that are not currently being used. +The number of floats for which space has been obtained from +the operating system, but that are not currently being used. + +@item interval-size +Internal size of an interval object, i.e., @code{sizeof (struct interval)}. @item used-intervals -The number of intervals in use. Intervals are an internal -data structure used for representing text properties. +The number of intervals in use. @item free-intervals -The number of intervals for which space has been obtained -from the operating system, but that are not currently being used. +The number of intervals for which space has been obtained from +the operating system, but that are not currently being used. -@item used-strings -The number of strings in use. +@item buffer-size +Internal size of a buffer, i.e., @code{sizeof (struct buffer)}. +(Do not confuse with the value returned by @code{buffer-size} function.) -@item free-strings -The number of string headers for which the space was obtained from the -operating system, but which are currently not in use. (A string -object consists of a header and the storage for the string text -itself; the latter is only allocated when the string is created.) +@item used-buffers +The number of buffer objects in use. This includes killed buffers +invisible to users, i.e., all buffers in @code{all_buffers} list. + +@item unit-size +The unit of heap space measurement, always equal to 1024 bytes. + +@item total-size +Total heap size, in @var{unit-size} units. + +@item free-size +Heap space which is not currently used, in @var{unit-size} units. @end table If there was overflow in pure space (@pxref{Pure Storage}), @@ -389,23 +448,25 @@ careful writing them. @defopt gc-cons-threshold The value of this variable is the number of bytes of storage that must be allocated for Lisp objects after one garbage collection in order to -trigger another garbage collection. A cons cell counts as eight bytes, -a string as one byte per character plus a few bytes of overhead, and so -on; space allocated to the contents of buffers does not count. Note -that the subsequent garbage collection does not happen immediately when -the threshold is exhausted, but only the next time the Lisp evaluator is -called. - -The initial threshold value is 800,000. If you specify a larger -value, garbage collection will happen less often. This reduces the -amount of time spent garbage collecting, but increases total memory use. -You may want to do this when running a program that creates lots of -Lisp data. - -You can make collections more frequent by specifying a smaller value, -down to 10,000. A value less than 10,000 will remain in effect only -until the subsequent garbage collection, at which time -@code{garbage-collect} will set the threshold back to 10,000. +trigger another garbage collection. You can use the result returned by +@code{garbage-collect} to get an information about size of the particular +object type; space allocated to the contents of buffers does not count. +Note that the subsequent garbage collection does not happen immediately +when the threshold is exhausted, but only the next time the Lisp interpreter +is called. + +The initial threshold value is @code{GC_DEFAULT_THRESHOLD}, defined in +@file{alloc.c}. Since it's defined in @code{word_size} units, the value +is 400,000 for the default 32-bit configuration and 800,000 for the 64-bit +one. If you specify a larger value, garbage collection will happen less +often. This reduces the amount of time spent garbage collecting, but +increases total memory use. You may want to do this when running a program +that creates lots of Lisp data. + +You can make collections more frequent by specifying a smaller value, down +to 1/10th of @code{GC_DEFAULT_THRESHOLD}. A value less than this minimum +will remain in effect only until the subsequent garbage collection, at which +time @code{garbage-collect} will set the threshold back to the minimum. @end defopt @defopt gc-cons-percentage @@ -640,7 +701,12 @@ in the file @file{lisp.h}.) If the primitive has no upper limit on the number of Lisp arguments, it must have exactly two C arguments: the first is the number of Lisp arguments, and the second is the address of a block containing their values. These have types -@code{int} and @w{@code{Lisp_Object *}} respectively. +@code{int} and @w{@code{Lisp_Object *}} respectively. Since +@code{Lisp_Object} can hold any Lisp object of any data type, you +can determine the actual data type only at run time; so if you want +a primitive to accept only a certain type of argument, you must check +the type explicitly using a suitable predicate (@pxref{Type Predicates}). +@cindex type checking internals @cindex @code{GCPRO} and @code{UNGCPRO} @cindex protect C variables from garbage collection @@ -821,23 +887,70 @@ knows about it. @section Object Internals @cindex object internals -@c FIXME Is this still true? Does --with-wide-int affect anything? - GNU Emacs Lisp manipulates many different types of data. The actual -data are stored in a heap and the only access that programs have to it -is through pointers. Each pointer is 32 bits wide on 32-bit machines, -and 64 bits wide on 64-bit machines; three of these bits are used for -the tag that identifies the object's type, and the remainder are used -to address the object. - - Because Lisp objects are represented as tagged pointers, it is always -possible to determine the Lisp data type of any object. The C data type -@code{Lisp_Object} can hold any Lisp object of any data type. Ordinary -variables have type @code{Lisp_Object}, which means they can hold any -type of Lisp value; you can determine the actual data type only at run -time. The same is true for function arguments; if you want a function -to accept only a certain type of argument, you must check the type -explicitly using a suitable predicate (@pxref{Type Predicates}). -@cindex type checking internals + Emacs Lisp provides a rich set of the data types. Some of them, like cons +cells, integers and strings, are common to nearly all Lisp dialects. Some +others, like markers and buffers, are quite special and needed to provide +the basic support to write editor commands in Lisp. To implement such +a variety of object types and provide an efficient way to pass objects between +the subsystems of an interpreter, there is a set of C data structures and +a special type to represent the pointers to all of them, which is known as +@dfn{tagged pointer}. + + In C, the tagged pointer is an object of type @code{Lisp_Object}. Any +initialized variable of such a type always holds the value of one of the +following basic data types: integer, symbol, string, cons cell, float, +vectorlike or miscellaneous object. Each of these data types has the +corresponding tag value. All tags are enumerated by @code{enum Lisp_Type} +and placed into a 3-bit bitfield of the @code{Lisp_Object}. The rest of the +bits is the value itself. Integer values are immediate, i.e., directly +represented by those @dfn{value bits}, and all other objects are represented +by the C pointers to a corresponding object allocated from the heap. Width +of the @code{Lisp_Object} is platform- and configuration-dependent: usually +it's equal to the width of an underlying platform pointer (i.e., 32-bit on +a 32-bit machine and 64-bit on a 64-bit one), but also there is a special +configuration where @code{Lisp_Object} is 64-bit but all pointers are 32-bit. +The latter trick was designed to overcome the limited range of values for +Lisp integers on a 32-bit system by using 64-bit @code{long long} type for +@code{Lisp_Object}. + + The following C data structures are defined in @file{lisp.h} to represent +the basic data types beyond integers: + +@table @code +@item struct Lisp_Cons +Cons cell, an object used to construct lists. + +@item struct Lisp_String +String, the basic object to represent a sequence of characters. + +@item struct Lisp_Vector +Array, a fixed-size set of Lisp objects which may be accessed by an index. + +@item struct Lisp_Symbol +Symbol, the unique-named entity commonly used as an identifier. + +@item struct Lisp_Float +Floating point value. + +@item union Lisp_Misc +Miscellaneous kinds of objects which don't fit into any of the above. +@end table + + These types are the first-class citizens of an internal type system. +Since the tag space is limited, all other types are the subtypes of either +@code{Lisp_Vectorlike} or @code{Lisp_Misc}. Vector subtypes are enumerated +by @code{enum pvec_type}, and nearly all complex objects like windows, buffers, +frames, and processes fall into this category. The rest of special types, +including markers and overlays, are enumerated by @code{enum Lisp_Misc_Type} +and form the set of subtypes of @code{Lisp_Misc}. + + Below there is a description of a few subtypes of @code{Lisp_Vectorlike}. +Buffer object represents the text to display and edit. Window is the part +of display structure which shows the buffer or used as a container to +recursively place other windows on the same frame. (Do not confuse Emacs Lisp +window object with the window as an entity managed by the user interface +system like X; in Emacs terminology, the latter is called frame.) Finally, +process object is used to manage the subprocesses. @menu * Buffer Internals:: Components of a buffer structure. @@ -913,12 +1026,8 @@ Some of the fields of @code{struct buffer} are: @table @code @item header -A @code{struct vectorlike_header} structure where @code{header.next} -points to the next buffer, in the chain of all buffers (including -killed buffers). This chain is used only for garbage collection, in -order to collect killed buffers properly. Note that vectors, and most -kinds of objects allocated as vectors, are all on one chain, but -buffers are on a separate chain of their own. +A header of type @code{struct vectorlike_header} is common to all +vectorlike objects. @item own_text A @code{struct buffer_text} structure that ordinarily holds the buffer @@ -929,6 +1038,11 @@ A pointer to the @code{buffer_text} structure for this buffer. In an ordinary buffer, this is the @code{own_text} field above. In an indirect buffer, this is the @code{own_text} field of the base buffer. +@item next +A pointer to the next buffer, in the chain of all buffers, including +killed buffers. This chain is used only for allocation and garbage +collection, in order to collect killed buffers properly. + @item pt @itemx pt_byte The character and byte positions of point in a buffer. @@ -1419,4 +1533,91 @@ Symbol indicating the type of process: @code{real}, @code{network}, @end table +@node C Integer Types +@section C Integer Types +@cindex integer types (C programming language) + +Here are some guidelines for use of integer types in the Emacs C +source code. These guidelines sometimes give competing advice; common +sense is advised. + +@itemize @bullet +@item +Avoid arbitrary limits. For example, avoid @code{int len = strlen +(s);} unless the length of @code{s} is required for other reasons to +fit in @code{int} range. + +@item +Do not assume that signed integer arithmetic wraps around on overflow. +This is no longer true of Emacs porting targets: signed integer +overflow has undefined behavior in practice, and can dump core or +even cause earlier or later code to behave ``illogically''. Unsigned +overflow does wrap around reliably, modulo a power of two. + +@item +Prefer signed types to unsigned, as code gets confusing when signed +and unsigned types are combined. Many other guidelines assume that +types are signed; in the rarer cases where unsigned types are needed, +similar advice may apply to the unsigned counterparts (e.g., +@code{size_t} instead of @code{ptrdiff_t}, or @code{uintptr_t} instead +of @code{intptr_t}). + +@item +Prefer @code{int} for Emacs character codes, in the range 0 ..@: 0x3FFFFF. + +@item +Prefer @code{ptrdiff_t} for sizes, i.e., for integers bounded by the +maximum size of any individual C object or by the maximum number of +elements in any C array. This is part of Emacs's general preference +for signed types. Using @code{ptrdiff_t} limits objects to +@code{PTRDIFF_MAX} bytes, but larger objects would cause trouble +anyway since they would break pointer subtraction, so this does not +impose an arbitrary limit. + +@item +Prefer @code{intptr_t} for internal representations of pointers, or +for integers bounded only by the number of objects that can exist at +any given time or by the total number of bytes that can be allocated. +Currently Emacs sometimes uses other types when @code{intptr_t} would +be better; fixing this is lower priority, as the code works as-is on +Emacs's current porting targets. + +@item +Prefer the Emacs-defined type @code{EMACS_INT} for representing values +converted to or from Emacs Lisp fixnums, as fixnum arithmetic is based +on @code{EMACS_INT}. + +@item +When representing a system value (such as a file size or a count of +seconds since the Epoch), prefer the corresponding system type (e.g., +@code{off_t}, @code{time_t}). Do not assume that a system type is +signed, unless this assumption is known to be safe. For example, +although @code{off_t} is always signed, @code{time_t} need not be. + +@item +Prefer the Emacs-defined type @code{printmax_t} for representing +values that might be any signed integer value that can be printed, +using a @code{printf}-family function. + +@item +Prefer @code{intmax_t} for representing values that might be any +signed integer value. + +@item +In bitfields, prefer @code{unsigned int} or @code{signed int} to +@code{int}, as @code{int} is less portable: it might be signed, and +might not be. Single-bit bit fields are invariably @code{unsigned +int} so that their values are 0 and 1. + +@item +In C, Emacs commonly uses @code{bool}, 1, and 0 for boolean values. +Using @code{bool} for booleans can make programs easier to read and a +bit faster than using @code{int}. Although it is also OK to use +@code{int}, this older style is gradually being phased out. When +using @code{bool}, respect the limitations of the replacement +implementation of @code{bool}, as documented in the source file +@file{lib/stdbool.in.h}, so that Emacs remains portable to pre-C99 +platforms. +@end itemize + @c FIXME Mention src/globals.h somewhere in this file? diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi index 8c2c8498a5..51a060bc6c 100644 --- a/doc/lispref/loading.texi +++ b/doc/lispref/loading.texi @@ -729,7 +729,7 @@ file should call @code{provide} at the top level to add the feature to (defun idlwave-complete-filename () "Use the comint stuff to complete a file name." (require 'comint) - (let* ((comint-file-name-chars "~/A-Za-z0-9+@:_.$#%=@{@}\\-") + (let* ((comint-file-name-chars "~/A-Za-z0-9+@@:_.$#%=@{@}\\-") (comint-completion-addsuffix nil) ...) (comint-dynamic-complete-filename))) diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index 425bb58b65..5f1eb8619e 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi @@ -2150,11 +2150,6 @@ visible on screen; or @samp{Bottom} or @samp{All}. The status of the subprocess belonging to the current buffer, obtained with @code{process-status}. @xref{Process Information}. -@item %t -Whether the visited file is a text file or a binary file. This is a -meaningful distinction only on certain operating systems (@pxref{MS-DOS -File Types}). - @item %z The mnemonics of keyboard, terminal, and buffer coding systems. diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index 9ad68be60c..e462c3b4ce 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -855,8 +855,6 @@ documented here. for a single file operation. * Explicit Encoding:: Encoding or decoding text without doing I/O. * Terminal I/O Encoding:: Use of encoding for terminal I/O. -* MS-DOS File Types:: How DOS "text" and "binary" files - relate to coding systems. @end menu @node Coding System Basics @@ -1775,62 +1773,6 @@ for encoding terminal output from @var{terminal}. If @code{nil}, that means the currently selected frame's terminal. @end deffn -@node MS-DOS File Types -@subsection MS-DOS File Types -@cindex DOS file types -@cindex MS-DOS file types -@cindex Windows file types -@cindex file types on MS-DOS and Windows -@cindex text files and binary files -@cindex binary files and text files - - On MS-DOS and Microsoft Windows, Emacs guesses the appropriate -end-of-line conversion for a file by looking at the file's name. This -feature classifies files as @dfn{text files} and @dfn{binary files}. By -``binary file'' we mean a file of literal byte values that are not -necessarily meant to be characters; Emacs does no end-of-line conversion -and no character code conversion for them. On the other hand, the bytes -in a text file are intended to represent characters; when you create a -new file whose name implies that it is a text file, Emacs uses DOS -end-of-line conversion. - -@defvar buffer-file-type -This variable, automatically buffer-local in each buffer, records the -file type of the buffer's visited file. When a buffer does not specify -a coding system with @code{buffer-file-coding-system}, this variable is -used to determine which coding system to use when writing the contents -of the buffer. It should be @code{nil} for text, @code{t} for binary. -If it is @code{t}, the coding system is @code{no-conversion}. -Otherwise, @code{undecided-dos} is used. - -Normally this variable is set by visiting a file; it is set to -@code{nil} if the file was visited without any actual conversion. - -Its default value is used to decide how to handle files for which -@code{file-name-buffer-file-type-alist} says nothing about the type: -If the default value is non-@code{nil}, then these files are treated as -binary: the coding system @code{no-conversion} is used. Otherwise, -nothing special is done for them---the coding system is deduced solely -from the file contents, in the usual Emacs fashion. -@end defvar - -@defopt file-name-buffer-file-type-alist -This variable holds an alist for recognizing text and binary files. -Each element has the form (@var{regexp} . @var{type}), where -@var{regexp} is matched against the file name, and @var{type} may be -@code{nil} for text, @code{t} for binary, or a function to call to -compute which. If it is a function, then it is called with a single -argument (the file name) and should return @code{t} or @code{nil}. - -When running on MS-DOS or MS-Windows, Emacs checks this alist to decide -which coding system to use when reading a file. For a text file, -@code{undecided-dos} is used. For a binary file, @code{no-conversion} -is used. - -If no element in this alist matches a given file name, then -the default value of @code{buffer-file-type} says how to treat the file. -@end defopt - @node Input Methods @section Input Methods @cindex input methods diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 6506cdb5da..b481c330f9 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -1157,6 +1157,16 @@ This function returns the effective @acronym{UID} of the user. The value may be a floating point number. @end defun +@defun group-gid +This function returns the effective @acronym{GID} of the Emacs process. +The value may be a floating point number. +@end defun + +@defun group-real-gid +This function returns the real @acronym{GID} of the Emacs process. +The value may be a floating point number. +@end defun + @defun system-users This function returns a list of strings, listing the user names on the system. If Emacs cannot retrieve this information, the return value @@ -2276,13 +2286,19 @@ These arguments should consist of alternating keyword and value pairs. The supported keywords and values are as follows: @table @code +@item :bus @var{bus} +The D-Bus bus. This argument is needed only if a bus other than +@code{:session} shall be used. + @item :title @var{title} The notification title. @item :body @var{text} The notification body text. Depending on the implementation of the notification server, the text could contain HTML markups, like -@samp{"bold text"}, hyperlinks, or images. +@samp{"bold text"}, hyperlinks, or images. Special HTML +characters must be encoded, as @samp{"Contact +<postmaster@@localhost>!"}. @item :app-name @var{name} The name of the application sending the notification. The default is @@ -2317,7 +2333,10 @@ When this keyword is given, the @var{title} string of the actions is interpreted as icon name. @item :category @var{category} -The type of notification this is, a string. +The type of notification this is, a string. See the +@uref{http://developer.gnome.org/notification-spec/#categories, +Desktop Notifications Specification} for a list of standard +categories. @item :desktop-entry @var{filename} This specifies the name of the desktop filename representing the @@ -2420,13 +2439,17 @@ A message window opens on the desktop. Press "I agree" @end example @end defun -@defun notifications-close-notification id +@defun notifications-close-notification id &optional bus This function closes a notification with identifier @var{id}. +@var{bus} can be a string denoting a D-Bus connection, the default is +@code{:session}. @end defun -@defun notifications-get-capabilities -Returns the capabilities of the notification server, a list of strings. -The following capabilities can be expected: +@defun notifications-get-capabilities &optional bus +Returns the capabilities of the notification server, a list of +symbols. @var{bus} can be a string denoting a D-Bus connection, the +default is @code{:session}. The following capabilities can be +expected: @table @code @item :actions @@ -2463,6 +2486,30 @@ Further vendor-specific caps start with @code{:x-vendor}, like @code{:x-gnome-foo-cap}. @end defun +@defun notifications-get-server-information &optional bus +Return information on the notification server, a list of strings. +@var{bus} can be a string denoting a D-Bus connection, the default is +@code{:session}. The returned list is @code{(@var{name} @var{vendor} +@var{version} @var{spec-version})}. + +@table @var +@item name +The product name of the server. + +@item vendor +The vendor name. For example, @samp{"KDE"}, @samp{"GNOME"}. + +@item version +The server's version number. + +@item spec-version +The specification version the server is compliant with. +@end table + +If @var{SPEC_VERSION} is @code{nil}, the server supports a +specification prior to @samp{"1.0"}. +@end defun + @node Dynamic Libraries @section Dynamically Loaded Libraries diff --git a/doc/lispref/symbols.texi b/doc/lispref/symbols.texi index 3e6c8266ef..9f91654990 100644 --- a/doc/lispref/symbols.texi +++ b/doc/lispref/symbols.texi @@ -564,7 +564,7 @@ side-effects, for determining function safety (@pxref{Function Safety}) as well as for byte compiler optimizations. Do not set it. @item variable-documentation -If non-@code{nil}, this specifies the named vaariable's documentation +If non-@code{nil}, this specifies the named variable's documentation string. This is set automatically by @code{defvar} and related functions. @xref{Defining Faces}. @end table diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index 4f467f96d7..4c443da3af 100644 --- a/doc/lispref/tips.texi +++ b/doc/lispref/tips.texi @@ -942,6 +942,7 @@ explains these conventions, starting with an example: ;; Created: 14 Jul 2010 @group ;; Keywords: languages +;; Homepage: http://example.com/foo ;; This file is not part of GNU Emacs. @@ -980,8 +981,7 @@ the conventional possibilities for @var{header-name}: @item Author This line states the name and email address of at least the principal author of the library. If there are multiple authors, list them on -continuation lines led by @code{;;} and whitespace (this is easier -for tools to parse than having more than one author on one line). +continuation lines led by @code{;;} and a tab or at least two spaces. We recommend including a contact email address, of the form @samp{<@dots{}>}. For example: @@ -1028,6 +1028,9 @@ The name of this field is unfortunate, since people often assume it is the place to write arbitrary keywords that describe their package, rather than just the relevant Finder keywords. +@item Homepage +This line states the homepage of the library. + @item Package-Version If @samp{Version} is not suitable for use by the package manager, then a package can define @samp{Package-Version}; it will be used instead. diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index cca337df4f..792002add8 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi @@ -1084,7 +1084,7 @@ including the space earlier stolen from @var{W3}. @end smallexample @noindent -This can be counterintutive, in particular if @var{W4} were used for +This can be counterintuitive, in particular if @var{W4} were used for displaying a buffer only temporarily (@pxref{Temporary Displays}), and you want to continue working with the initial layout. @@ -2443,7 +2443,7 @@ buffer previously shown no longer exists, this function calls @code{switch-to-prev-buffer} (@pxref{Window History}) to show some other buffer instead. -The optional argument @var{bury-or-kill} specifes how to deal with +The optional argument @var{bury-or-kill} specifies how to deal with @var{window}'s buffer. The following values are handled: @table @code diff --git a/doc/man/ChangeLog b/doc/man/ChangeLog index 0c77a9516e..8a2a90f789 100644 --- a/doc/man/ChangeLog +++ b/doc/man/ChangeLog @@ -1,3 +1,7 @@ +2012-12-02 Kevin Ryde + + * etags.1: Mention effect of --declarations in Lisp. + 2012-06-03 Glenn Morris * rcs-checkin.1: Remove. diff --git a/doc/man/emacs.1 b/doc/man/emacs.1 index 6db2bfe2d1..3d0c5107ad 100644 --- a/doc/man/emacs.1 +++ b/doc/man/emacs.1 @@ -1,5 +1,5 @@ .\" See section COPYING for copyright and redistribution information. -.TH EMACS 1 "2007 April 13" "GNU Emacs 24.2.93" +.TH EMACS 1 "2007 April 13" "GNU Emacs 24.3.50" . . .SH NAME diff --git a/doc/man/etags.1 b/doc/man/etags.1 index 20be5c8268..5ccf528868 100644 --- a/doc/man/etags.1 +++ b/doc/man/etags.1 @@ -88,6 +88,7 @@ Only \fBctags\fP accepts this option. .B \-\-declarations In C and derived languages, create tags for function declarations, and create tags for extern variables unless \-\-no\-globals is used. +In Lisp, create tags for (defvar foo) declarations. .TP .B \-D, \-\-no\-defines Do not create tag entries for C preprocessor constant definitions diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index db3bd46005..11ff3700da 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,8 @@ +2013-02-09 Jay Belanger + + * calc.texi (Basic Operations on Units): + (Customizing Calc): Mention the variable `calc-allow-units-as-numbers'. + 2013-02-08 Aidan Gauland * eshell.texi: Fill most of the missing sections. @@ -9,11 +14,11 @@ (Org-Plot): Fix link. (Checkboxes, Radio lists): Fix typos. -2013-02-06 Glenn Morris +2013-02-07 Glenn Morris * cl.texi (Equality Predicates): Mention memql. -2013-02-03 Eric Ludlam +2013-02-07 Eric Ludlam * doc/misc/ede.texi (Creating a project): Make ede-new doc less specific, and only about items it supports, indicating that there @@ -21,14 +26,23 @@ from ede new. (Simple projects): Re-write to not talk about ede-simple-project which is deprecated, and instead use the term to mean projects - that don't do much management, just project wrapping. - Add ede-generic-project link. + that don't do much management, just project wrapping. Add + ede-generic-project link. (ede-generic-project): New node (bug#11441). -2013-02-03 Glenn Morris +2013-02-07 Glenn Morris * cl.texi (Equality Predicates): Fix eq/eql pedantry. +2013-02-01 Glenn Morris + + * calc.texi (Help Commands): Update calc-view-news description. + Mention etc/CALC-NEWS. + +2013-01-24 Michael Albinus + + * tramp.texi (Filename Syntax): Filenames must be unibyte strings. + 2013-01-13 Bastien Guerry * org.texi (Installation): Simplify. @@ -40,7 +54,11 @@ variable `org-id-link-to-org-use-id'. Mention the need to load the org-id library. -2013-01-08 Bastien Guerry +2013-01-10 Michael Albinus + + * tramp.texi (Default Host): Introduce `tramp-default-host-alist'. + +2013-01-09 Bastien Guerry * org.texi (Pushing to MobileOrg): Add footnote about using symbolic links in `org-directory'. @@ -55,6 +73,11 @@ `org-mark-subtree'. (Tag inheritance): Document `org-agenda-use-tag-inheritance'. +2013-01-08 Juri Linkov + + * info.texi (Go to node): Mention the abbreviated format + `(FILENAME)' equal to `(FILENAME)Top'. (Bug#13365) + 2013-01-06 Andreas Schwab * autotype.texi: Remove undefined command @subtitlefont. @@ -76,7 +99,8 @@ * ede.texi (Top): Rename from top, all uses changed. * eshell.texi: Add missing argument to @sp. * forms.texi (Top): Reorder menu to match structure. - * htmlfontify.texi (Customisation): Add missing @item in @enumerate. + * htmlfontify.texi (Customisation): Add missing @item in + @enumerate. * org.texi (Advanced features): Add missing argument for @item. (Property searches): Use @backslashchar{} in macro argument. * pcl-cvs.texi: Add missing argument to @sp. @@ -105,7 +129,12 @@ * htmlfontify.texi: New file. -2012-12-22 Glenn Morris +2013-01-02 Jay Belanger + + * calc.texi (Free-Form Dates): Expand on the date reading + algorithm. + +2012-12-27 Glenn Morris * viper.texi (Rudimentary Changes, Key Bindings, Key Bindings): Avoid some overfull lines. @@ -130,14 +159,42 @@ * Makefile.in (gfdl): New variable. Use throughout where appropriate so that targets depend on doclicense.texi. +2012-12-25 Lars Ingebrigtsen + + * gnus.texi (Customizing the IMAP Connection): Mention the other + authenticators. + +2012-12-24 Lars Ingebrigtsen + + * gnus.texi (Browse Foreign Server): Document + `gnus-browse-delete-group'. + +2012-12-22 Glenn Morris + + * ada-mode.texi, ebrowse.texi, ediff.texi, ert.texi, eshell.texi: + * eudc.texi, idlwave.texi, pcl-cvs.texi, rcirc.texi, reftex.texi: + * remember.texi, ses.texi, speedbar.texi, vip.texi, viper.texi: + * widget.texi, wisent.texi: Nuke hand-written node pointers. + + * Makefile.in (gfdl): New variable. Use throughout where + appropriate so that targets depend on doclicense.texi. + 2012-12-22 Eli Zaretskii * makefile.w32-in ($(INFO_TARGETS), $(DVI_TARGETS)): Depend on doclicense.texi. Remove doclicense.texi from all targets that mentioned it explicitly. + ($(infodir)/woman$(INFO_EXT), woman.dvi): Depend on + $(emacsdir)/emacsver.texi. + ($(infodir)/erc$(INFO_EXT), erc.dvi): Don't depend on gpl.texi. 2012-12-21 Glenn Morris + * woman.texi (UPDATED, VERSION): Remove in favor of EMACSVER. + Include emacsver.texi. Nuke hand-written node pointers. + * Makefile.in ($(buildinfodir)/woman$(INFO_EXT), woman.dvi, woman.pdf): + Depend on emacsver.texi. + * auth.texi, emacs-gnutls.texi, epa.texi, ert.texi: * gnus-coding.texi, info.texi, nxml-mode.texi, sasl.texi: May as well just include doclicense.texi in everything. @@ -160,17 +217,32 @@ * erc.texi: No need to include gpl in this small manual. -2012-12-14 Glenn Morris - * org.texi (copying): Include a copy of the GFDL. (GNU Free Documentation License): New section. -2012-12-13 Bastien Guerry +2012-12-21 Bastien Guerry * org.texi: Fix typos. +2012-12-16 Paul Eggert + + * calc.texi (ISO 8601): Rename from ISO-8601, + as it's typically spelled without a hyphen. + +2012-12-16 Jay Belanger + + * calc.texi (ISO-8601): New section. + (Date Formatting Codes): Mention new codes. + (Standard Date Formats): Mention new formats. + +2012-12-14 Michael Albinus + + * tramp.texi (External methods): Move `adb' method here. + 2012-12-13 Glenn Morris + * cl.texi (Modify Macros, Obsolete Macros): Now letf == cl-letf. + * wisent.texi: Small edits. Set copyright to FSF, update license to GFDL 1.3+. * Makefile.in (INFO_TARGETS, DVI_TARGETS, PDF_TARGETS): Add wisent. @@ -193,7 +265,7 @@ * bovine.texi, wisent.texi: New files, imported from CEDET trunk. -2012-12-12 Glenn Morris +2012-12-13 Glenn Morris * flymake.texi (Customizable variables, Locating the buildfile): Remove refs to flymake-buildfile-dirs, removed 2007-07-20. (Bug#13148) @@ -206,11 +278,11 @@ * makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean): Add srecode. ($(infodir)/srecode$(INFO_EXT), srecode.dvi): New targets. -2012-12-12 Eric Ludlam +2012-12-13 Eric Ludlam * srecode.texi: New file, imported from CEDET trunk. -2012-12-12 Bastien Guerry +2012-12-13 Bastien Guerry * org.texi (Summary, Code block specific header arguments) (Code block specific header arguments) @@ -220,47 +292,108 @@ * org.texi (System-wide header arguments) (Header arguments in Org mode properties, Conflicts) - (Dynamic blocks, Using the mapping API): Fix indendation of - Elisp code examples. + (Dynamic blocks, Using the mapping API): + Fix indentation of Elisp code examples. * org.texi (Comment lines): Fix description of the comment syntax. * org.texi (Installation): Mention "make test" in the correct section. -2012-12-02 Michael Albinus +2012-12-06 Paul Eggert + + * doclicense.texi, gpl.texi: Update to latest version from FSF. + These are just minor editorial changes. + +2012-12-04 Michael Albinus + + * tramp.texi (History): Mention ADB. + (Inline methods): Add `adb' method. + +2012-12-03 Michael Albinus * tramp.texi (Top, Obtaining Tramp): Replace CVS by Git. (External methods): Fix typo. -2012-11-30 Glenn Morris +2012-12-03 Glenn Morris * rcirc.texi (Notices): Fix typo. -2012-11-20 Michael Albinus +2012-11-25 Bill Wohler + + Release MH-E manual version 8.4. + + * mh-e.texi: (VERSION, EDITION, UPDATED, UPDATE-MONTH, Preface): + Update for release 8.4. + + * mh-e.texi (Sequences): Add mh-whitelist-preserves-sequences-flag. + (Junk): Add mh-whitelist-preserves-sequences-flag, + mh-blacklist-msg-hook, mh-whitelist-msg-hook, + mh-folder-blacklisted, mh-folder-whitelisted (closes SF #2945712). + +2012-11-25 Paul Eggert + + * mh-e.texi (Procmail): Fix two @ typos. + +2012-11-24 Paul Eggert + + * doclicense.texi, gpl.texi: Update to latest version from FSF. + These are just minor editorial changes. + +2012-11-23 Jay Belanger + + * calc.texi (Date Formatting Codes): Mention the new beginning of + the date numbering system. - * trampver.texi: Downgrade version to 2.2.6-24.3, in order to - distinguish from trunk. +2012-11-22 Paul Eggert + + * calc.texi: Fix TeX issues with capitals followed by ".", "?", "!". + (Date Forms): Correct off-by-one error in explanation of + Julian day numbers. Give Gregorian equivalent of its origin. + +2012-11-22 Jay Belanger + + * doc/misc/calc.texi (Date Forms): Mention the customizable + Gregorian-Julian switch. + (Customizing Calc): Mention the variable `calc-gregorian-switch'. + +2012-11-17 Paul Eggert + + Calc now uses the Gregorian calendar for all dates (Bug#12633). + It also uses January 1, 1 AD as its day number 1. + * calc.texi (Date Forms): Document this. 2012-11-16 Glenn Morris * cl.texi (Function Bindings): Clarify that cl-flet is lexical. (Obsolete Macros): Move example here from Function Bindings. -2012-11-13 Glenn Morris - * erc.texi: Use @code{nil} rather than just "nil". (Modules): Undocument obsolete "hecomplete". Add "notifications". (Connecting): Add brief section on passwords. (Options): Make a start by adding erc-hide-list, erc-lurker-hide-list. -2012-11-12 Glenn Morris +2012-11-13 Glenn Morris * flymake.texi (Customizable variables) (Highlighting erroneous lines): Mention flymake-error-bitmap, flymake-warning-bitmap, and flymake-fringe-indicator-position. -2012-11-09 Chong Yidong +2012-11-12 Vincent Belaïche + + * ses.texi: Doc for ses-rename-cell, ses-repair-cell-reference-all & ses-range. + In all file place SES into @acronym{...}. + (Advanced Features): Add key index and function index for + ses-set-header-row. Add description for function + ses-rename-cell. Add description for function + ses-repair-cell-reference-all. + (Ranges in formulas): Add description for ses-range flags. + +2012-11-12 Paul Eggert + + * texinfo.tex: Merge from gnulib. + +2012-11-10 Chong Yidong * url.texi (Introduction): Move url-configuration-directory to Customization node. @@ -271,21 +404,17 @@ Improve docs for url-queue-*. (Supported URL Types): Copyedits. Delete empty subnodes. -2012-11-08 Chong Yidong - - * url.texi (Introduction): Rename from Getting Started. - Rewrite the introduction. + * url.texi (Introduction): Rename from Getting Started. Rewrite + the introduction. (URI Parsing): Rewrite. Omit the obsolete attributes slot. -2012-11-07 Glenn Morris +2012-11-10 Glenn Morris * cl.texi (Obsolete Setf Customization): Revert defsetf example to the more correct let rather than prog1. Give define-modify-macro, defsetf, and define-setf-method gv.el replacements. -2012-11-06 Glenn Morris - * cl.texi (Overview): Mention EIEIO here, as well as the appendix. (Setf Extensions): Remove obsolete reference. (Obsolete Setf Customization): @@ -301,11 +430,13 @@ (Compiler Optimizations): Rename from "Optimizing Compiler"; reword. (Creating Symbols, Random Numbers): De-emphasize internal variables cl--gensym-counter and cl--random-state. (Bug#12788) + (Naming Conventions, Type Predicates, Macros) + (Predicates on Numbers): No longer mention cl-floatp-safe. -2012-11-02 Glenn Morris +2012-11-02 Katsumi Yamaoka - * cl.texi (Naming Conventions, Type Predicates, Macros) - (Predicates on Numbers): No longer mention cl-floatp-safe. + * gnus.texi (Mail Source Specifiers): + Document :leave keyword used for pop mail source. 2012-11-01 Glenn Morris @@ -374,14 +505,14 @@ 2012-10-26 Bastien Guerry - * org.texi (Installation): Update the link to Org's ELPA. - Also don't mention org-install.el anymore as the replacement file + * org.texi (Installation): Update the link to Org's ELPA. Also + don't mention org-install.el anymore as the replacement file org-loaddefs.el is now loaded by org.el. 2012-10-25 Michael Albinus - * tramp.texi (Frequently Asked Questions): - Mention `tramp-completion-reread-directory-timeout' for performance + * tramp.texi (Frequently Asked Questions): Mention + `tramp-completion-reread-directory-timeout' for performance improvement. 2012-10-25 Glenn Morris @@ -485,7 +616,8 @@ (Imprint): Mention Wolfgang in list of contributors. (Creating Citations): Give a hint about how to auto-revert the BibTeX database file when using external editors. - (Referencing Labels): Simplify section about reference macro cycling. + (Referencing Labels): Simplify section about reference macro + cycling. (Options (Referencing Labels)): Adapt to new structure of `reftex-ref-style-alist'. (Referencing Labels, Reference Styles): Document changes in the @@ -503,8 +635,8 @@ (Referencing Labels): Update regarding reference styles. (Citation Styles): Mention support for ConTeXt. (Options (Defining Label Environments)): Fix typo. - (Options (Creating Citations)): - Document `reftex-cite-key-separator'. + (Options (Creating Citations)): Document + `reftex-cite-key-separator'. 2012-09-30 Achim Gratz @@ -536,8 +668,8 @@ 2012-09-30 Bastien Guerry - * org.texi (Installation, Feedback, Batch execution): - Use (add-to-list 'load-path ... t) for the contrib dir. + * org.texi (Installation, Feedback, Batch execution): Use + (add-to-list 'load-path ... t) for the contrib dir. * org.texi (results): Update documentation for ":results drawer" and ":results org". @@ -554,16 +686,18 @@ * org.texi (History and Acknowledgments): Fix typo. - * org.texi (History and Acknowledgments): Add my own acknowledgments. + * org.texi (History and Acknowledgments): Add my own + acknowledgments. * org.texi (Agenda commands): Document the new command and the new option. * org.texi (Agenda commands): Delete `org-agenda-action' section. - (Agenda commands): Reorder. Document `*' to toggle persistent marks. + (Agenda commands): Reorder. Document `*' to toggle persistent + marks. - * org.texi (Agenda dispatcher): - Mention `org-toggle-agenda-sticky'. + * org.texi (Agenda dispatcher): Mention + `org-toggle-agenda-sticky'. (Agenda commands, Exporting Agenda Views): Fix typo. * org.texi (Templates in contexts, Setting Options): Update to @@ -581,7 +715,8 @@ * org.texi (Formula syntax for Lisp): Reformat. * org.texi (Special properties, Column attributes) - (Agenda column view): Document the new special property CLOCKSUM_T. + (Agenda column view): Document the new special property + CLOCKSUM_T. * org.texi (Template expansion): Document the new %l template. @@ -737,8 +872,8 @@ (Unsafe Simplifications): Mention `m E'. (Simplification of Units): Mention `m U'. (Trigonometric/Hyperbolic Functions, Reducing and Mapping) - (Kinds of Declarations, Functions for Declarations): - Mention "algebraic simplifications" instead of `a s'. + (Kinds of Declarations, Functions for Declarations): Mention + "algebraic simplifications" instead of `a s'. (Algebraic Entry): Remove mention of default simplifications. 2012-07-30 Jay Belanger @@ -770,8 +905,8 @@ 2012-07-06 Michael Albinus - * tramp.texi (Multi-hops): - Introduce `tramp-restricted-shell-hosts-alist'. + * tramp.texi (Multi-hops): Introduce + `tramp-restricted-shell-hosts-alist'. 2012-06-26 Lars Magne Ingebrigtsen @@ -963,8 +1098,8 @@ (Synchronous Methods): Remove obsolete dbus-call-method-non-blocking. (Asynchronous Methods): Fix description of dbus-call-method-asynchronously. - (Receiving Method Calls): Fix some minor errors. - Add dbus-interface-emacs. + (Receiving Method Calls): Fix some minor errors. Add + dbus-interface-emacs. (Signals): Describe unicast signals and the new match rules. (Alternative Buses): Add the PRIVATE optional argument to dbus-init-bus. Describe its new return value. Add dbus-setenv. @@ -997,8 +1132,8 @@ 2012-04-09 Eli Zaretskii - * makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean): - Add emacs-gnutls. + * makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean): Add + emacs-gnutls. ($(infodir)/emacs-gnutls, emacs-gnutls.dvi): New targets. 2012-04-09 Teodor Zlatanov @@ -1096,11 +1231,12 @@ 2012-04-01 Carsten Dominik * org.texi (MobileOrg): Change the wording to reflect that the - Android Version is no longer just the little brother of the iOS version. + Android Version is no longer just the little brother of the iOS + version. 2012-04-01 Eric Schulte - * org.texi (Key bindings and useful functions): Update babel key + * org.texi (Key bindings and useful functions): Updated babel key binding documentation in manual. 2012-04-01 Eric Schulte @@ -1201,8 +1337,8 @@ 2012-02-13 Lars Ingebrigtsen - * gnus.texi (Customizing the IMAP Connection): - Mention nnimap-record-commands. + * gnus.texi (Customizing the IMAP Connection): Mention + nnimap-record-commands. 2012-02-10 Glenn Morris @@ -1250,7 +1386,8 @@ 2012-01-03 Eric Schulte * org.texi (Noweb reference syntax): Adding documentation of - the `*org-babel-use-quick-and-dirty-noweb-expansion*' variable. + the `*org-babel-use-quick-and-dirty-noweb-expansion*' + variable. 2012-01-03 Bastien Guerry @@ -1272,8 +1409,8 @@ 2012-01-03 Bernt Hansen - * org.texi (Agenda commands): - Document `org-clock-report-include-clocking-task'. + * org.texi (Agenda commands): Document + `org-clock-report-include-clocking-task'. 2012-01-03 Bastien Guerry @@ -1323,7 +1460,8 @@ 2012-01-03 Thomas Dye - * org.texi: Changed DATA to NAME in Working With Source Code section. + * org.texi: Changed DATA to NAME in Working With Source Code + section. 2012-01-03 Tom Dye @@ -1357,8 +1495,8 @@ 2012-01-03 Eric Schulte - * org.texi (Buffer-wide header arguments): - Update documentation to reflect removal of #+PROPERTIES. + * org.texi (Buffer-wide header arguments): Update + documentation to reflect removal of #+PROPERTIES. 2012-01-03 Carsten Dominik @@ -1377,7 +1515,8 @@ 2012-01-03 Tom Dye - * org.texi: Added a line to specify that header arguments are lowercase. + * org.texi: Added a line to specify that header arguments are + lowercase. 2012-01-03 Tom Dye @@ -1390,8 +1529,9 @@ 2012-01-03 David Maus - * org.texi (Exporting Agenda Views, Extracting agenda information): - Fix command line syntax, quote symbol parameter values. + * org.texi (Exporting Agenda Views, Extracting agenda + information): Fix command line syntax, quote symbol parameter + values. 2012-01-03 David Maus @@ -1517,7 +1657,7 @@ * mh-e.texi (VERSION, EDITION, UPDATED, UPDATE-MONTH): Update for release 8.3. - (Preface): Update support information. + (Preface): Updated support information. (From Bill Wohler): Reset text to original version. As a historical quote, the tense should be correct in the time that it was written. @@ -1557,7 +1697,8 @@ 2011-08-15 Bastien Guerry - * org.texi (Languages): Add Lilypond and Awk as supported languages. + * org.texi (Languages): Add Lilypond and Awk as supported + languages. 2011-08-15 Achim Gratz @@ -1575,7 +1716,8 @@ 2011-08-15 Eric Schulte * org.texi (Results of evaluation): More explicit about the - mechanism through which interactive evaluation of code is performed. + mechanism through which interactive evaluation of code is + performed. 2011-08-15 Eric Schulte @@ -1654,11 +1796,13 @@ 2011-08-15 Puneeth Chaganti - * org.texi (Agenda commands): Doc for function option to bulk action. + * org.texi (Agenda commands): Doc for function option to bulk + action. 2011-08-15 Carsten Dominik - * org.texi (Template expansion): Document new %<...> template escape. + * org.texi (Template expansion): Document new %<...> template + escape. 2011-08-15 Carsten Dominik @@ -1678,7 +1822,8 @@ 2011-08-15 Eric Schulte - * org.texi (padline): Documentation of the new padline header argument. + * org.texi (padline): Documentation of the new padline header + argument. 2011-08-15 Eric Schulte @@ -1699,7 +1844,8 @@ 2011-08-15 Eric Schulte - * org.texi (var): Clarification of indexing into tabular variables. + * org.texi (var): Clarification of indexing into tabular + variables. 2011-08-15 Eric Schulte @@ -1713,8 +1859,8 @@ 2011-08-15 Bastien Guerry - * org.texi (Dynamic blocks, Structure editing): - Mention the function `org-narrow-to-block'. + * org.texi (Dynamic blocks, Structure editing): Mention + the function `org-narrow-to-block'. 2011-08-15 Eric Schulte @@ -1741,15 +1887,15 @@ 2011-08-15 Eric Schulte - * org.texi (Conflicts): Change "yasnippets" to "yasnippet" and + * org.texi (Conflicts): Changed "yasnippets" to "yasnippet" and added extra whitespace around functions to be consistent with the rest of the section. 2011-08-15 Eric Schulte - * org.texi (Evaluating code blocks): Expand discussion of + * org.texi (Evaluating code blocks): Expanded discussion of #+call: line syntax. - (Header arguments in function calls): Expand discussion of + (Header arguments in function calls): Expanded discussion of #+call: line syntax. 2011-08-15 Eric Schulte @@ -1779,16 +1925,17 @@ 2011-08-15 Tom Dye - * org.texi (cache): Improve documentation of code block caches. + * org.texi (cache): Improved documentation of code block caches. 2011-08-15 Tom Dye - * org.texi (Code block specific header arguments): - Documentation of multi-line header arguments. + * org.texi (Code block specific header arguments): Documentation + of multi-line header arguments. 2011-08-15 Eric Schulte - * org.texi (Code evaluation security): Add example for using a function. + * org.texi (Code evaluation security): Add example for using a + function. 2011-08-15 Eric Schulte @@ -1813,7 +1960,8 @@ 2011-07-14 Lars Magne Ingebrigtsen * widget.texi (Setting Up the Buffer): Remove mention of the - global keymap parent, which doesn't seem to be accurate (bug#7045). + global keymap parent, which doesn't seem to be accurate + (bug#7045). 2011-07-12 Lars Magne Ingebrigtsen @@ -1838,15 +1986,15 @@ 2011-07-04 Michael Albinus - * tramp.texi (Cleanup remote connections): - Add `tramp-cleanup-this-connection'. + * tramp.texi (Cleanup remote connections): Add + `tramp-cleanup-this-connection'. 2011-07-03 Lars Magne Ingebrigtsen * gnus.texi (Subscription Methods): Link to "Group Levels" to explain zombies. (Checking New Groups): Ditto (bug#8974). - (Checking New Groups): Move the reference to the right place. + (Checking New Groups): Moved the reference to the right place. 2011-07-03 Dave Abrahams (tiny change) @@ -1873,8 +2021,8 @@ 2011-06-26 Lars Magne Ingebrigtsen - * gnus.texi (Summary Mail Commands): - Document `gnus-summary-reply-to-list-with-original'. + * gnus.texi (Summary Mail Commands): Document + `gnus-summary-reply-to-list-with-original'. 2011-06-20 Stefan Monnier @@ -1937,7 +2085,7 @@ * gnus.texi (nnmairix caveats, Setup, Registry Article Refer Method) (Fancy splitting to parent, Store arbitrary data): - Update gnus-registry docs. + Updated gnus-registry docs. 2011-04-13 Juanma Barranquero @@ -2009,8 +2157,9 @@ 2011-03-06 Jay Belanger - * calc.texi (Logarithmic Units): Rename calc-logunits-dblevel and - calc-logunits-nplevel to calc-dblevel and calc-nplevel, respectively. + * calc.texi (Logarithmic Units): Rename calc-logunits-dblevel + and calc-logunits-nplevel to calc-dblevel and calc-nplevel, + respectively. (Musical Notes): New section. (Customizing Calc): Mention the customizable variable calc-note-threshold. @@ -3053,8 +3202,8 @@ Sync with Tramp 2.1.19. - * tramp.texi (Inline methods, Default Method): - Mention `tramp-inline-compress-start-size'. Remove "kludgy" phrase. + * tramp.texi (Inline methods, Default Method): Mention + `tramp-inline-compress-start-size'. Remove "kludgy" phrase. Remove remark about doubled "-t" argument. (Auto-save and Backup): Remove reference to Emacs 21. (Filename Syntax): Describe port numbers. @@ -5708,7 +5857,7 @@ 2007-10-28 Kevin Greiner * gnus.texi (nntp-open-via-telnet-and-telnet): Fix grammar. - (Agent Parameters): Update parameter names to match code. + (Agent Parameters): Updated parameter names to match code. (Group Agent Commands): Corrected 'gnus-agent-fetch-series' as 'gnus-agent-summary-fetch-series'. (Agent and flags): New section providing a generalized discussion @@ -6512,7 +6661,7 @@ (Tag searches): Document regular expression search for tags. (Stuck projects): New section. (In-buffer settings): New keywords. - (History and Acknowledgments): Update description. + (History and Acknowledgments): Updated description. 2007-02-24 Alan Mackenzie @@ -6744,7 +6893,7 @@ (Custom agenda views): Section completely rewritten. (Summary): Compare with Planner. (Feedback): More info about creating backtraces. - (Plain lists): Modify example. + (Plain lists): Modified example. (Breaking down tasks): New section. (Custom time format): New section. (Time stamps): Document inactive timestamps. diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index dfe633ca68..3dac35aafe 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -27,7 +27,6 @@ srcdir=@srcdir@ ## Where the output files go. buildinfodir = $(srcdir)/../../info ## Directory with emacsver.texi. -## Currently only used by efaq and calc. emacsdir = $(srcdir)/../emacs MKDIR_P = @MKDIR_P@ @@ -699,12 +698,12 @@ wisent.pdf: ${srcdir}/wisent.texi ${gfdl} $(ENVADD) $(TEXI2PDF) ${srcdir}/wisent.texi woman : $(buildinfodir)/woman$(INFO_EXT) -$(buildinfodir)/woman$(INFO_EXT): ${srcdir}/woman.texi ${gfdl} +$(buildinfodir)/woman$(INFO_EXT): ${srcdir}/woman.texi $(emacsdir)/emacsver.texi ${gfdl} $(mkinfodir) $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/woman.texi -woman.dvi: ${srcdir}/woman.texi ${gfdl} +woman.dvi: ${srcdir}/woman.texi $(emacsdir)/emacsver.texi ${gfdl} $(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi -woman.pdf: ${srcdir}/woman.texi ${gfdl} +woman.pdf: ${srcdir}/woman.texi $(emacsdir)/emacsver.texi ${gfdl} $(ENVADD) $(TEXI2PDF) ${srcdir}/woman.texi diff --git a/doc/misc/ada-mode.texi b/doc/misc/ada-mode.texi index 223911ebb7..b5a640e13e 100644 --- a/doc/misc/ada-mode.texi +++ b/doc/misc/ada-mode.texi @@ -37,7 +37,7 @@ modify this GNU manual.'' @contents -@node Top, Overview, (dir), (dir) +@node Top @top Ada Mode @ifnottex @@ -64,7 +64,7 @@ modify this GNU manual.'' @end menu -@node Overview, Installation, Top, Top +@node Overview @chapter Overview The Emacs mode for programming in Ada helps the user in understanding @@ -96,7 +96,7 @@ and other GNAT commands. See the Emacs info manual, section 'Running Debuggers Under Emacs', for general information on debugging. -@node Installation, Customization, Overview, Top +@node Installation @chapter Installation Ada mode is part of the standard Emacs distribution; if you use that, @@ -136,7 +136,7 @@ GNAT-specific). @end itemize -@node Customization, Compiling Executing, Installation, Top +@node Customization @chapter Customizing Ada mode Here we assume you are familiar with setting variables in Emacs, @@ -175,7 +175,7 @@ See the Emacs help for each of these variables for more information. * Other customization:: @end menu -@node Non-standard file names, Other compiler, Customization, Customization +@node Non-standard file names @section Non-standard file names By default, Ada mode is configured to use the GNAT file naming @@ -217,7 +217,7 @@ rewrite the function @code{ada-make-filename-from-adaname}. Doing that is beyond the scope of this manual; see the current definitions in @file{ada-mode.el} and @file{ada-xref.el} for examples. -@node Other compiler, Other customization, Non-standard file names, Customization +@node Other compiler @section Other compiler By default, Ada mode is configured to use the Gnu Ada compiler GNAT. @@ -227,7 +227,7 @@ used to run that compiler, either in lisp variables or in Emacs Ada mode project files. See @ref{Project file variables} for the list of project variables, and the corresponding lisp variables. -@node Other customization, , Other compiler, Customization +@node Other customization @section Other customization All user-settable Ada mode variables can be set via the menu @@ -245,7 +245,7 @@ and the syntax to set a variable is the following: (setq variable-name value) @end example -@node Compiling Executing, Project files, Customization, Top +@node Compiling Executing @chapter Compiling Executing Ada projects can be compiled, linked, and executed using commands on @@ -263,7 +263,7 @@ file variables referenced here. * Compiler errors:: @end menu -@node Compile commands, Compiler errors, Compiling Executing, Compiling Executing +@node Compile commands @section Compile commands Here are the commands for building and using an Ada project, as @@ -346,7 +346,7 @@ Invoke @samp{Ada | Project | Load}, and load a project file that specifies @code @end enumerate -@node Compiler errors, , Compile commands, Compiling Executing +@node Compiler errors @section Compiler errors The @code{Check file}, @code{Compile file}, and @code{Build} commands @@ -366,7 +366,7 @@ Some error messages might also include references to other files. These references are also clickable in the same way, or put point after the line number and press @key{RET}. -@node Project files, Compiling Examples, Compiling Executing, Top +@node Project files @chapter Project files An Emacs Ada mode project file specifies what directories hold sources @@ -385,7 +385,7 @@ an Emacs Ada mode project file. * Project file variables:: @end menu -@node Project File Overview, GUI Editor, Project files, Project files +@node Project File Overview @section Project File Overview Project files have a simple syntax; they may be edited directly. Each @@ -450,7 +450,7 @@ file extension; if it is @code{.gpr}, the file is treated as a GNAT project file. Any other extension is treated as an Emacs Ada mode project file. -@node GUI Editor, Project file variables, Project File Overview, Project files +@node GUI Editor @section GUI Editor The project file editor is invoked with the menu @samp{Ada | Projects @@ -461,7 +461,7 @@ modification using the @samp{[save]} button at the bottom of the buffer, or the @kbd{C-x C-s} binding. To cancel your modifications, kill the buffer or click on the @samp{[cancel]} button. -@node Project file variables, , GUI Editor, Project files +@node Project file variables @section Project file variables The following variables can be defined in a project file; some can @@ -648,7 +648,7 @@ commands and source navigation. @end table -@node Compiling Examples, Moving Through Ada Code, Project files, Top +@node Compiling Examples @chapter Compiling Examples We present several small projects, and walk thru the process of @@ -670,7 +670,7 @@ website mentioned in @xref{Installation}. * Use multiple GNAT project files:: @end menu -@node No project files, Set compiler options, Compiling Examples, Compiling Examples +@node No project files @section No project files This example uses no project files. @@ -836,7 +836,7 @@ Invoke @samp{Ada | Project | Load}, and load a project file that specifies @code @end enumerate -@node Set compiler options, Set source search path, No project files, Compiling Examples +@node Set compiler options @section Set compiler options This example illustrates using an Emacs Ada mode project file to set a @@ -898,7 +898,7 @@ used to set the compiler options. Fixing the error, linking and running the code proceed as in @ref{No project files}. -@node Set source search path, Use GNAT project file, Set compiler options, Compiling Examples +@node Set source search path @section Set source search path In this example, we show how to deal with files in more than one @@ -982,7 +982,7 @@ compiler error message. Fixing the error, linking and running the code proceed as in @ref{No project files}. -@node Use GNAT project file, Use multiple GNAT project files, Set source search path, Compiling Examples +@node Use GNAT project file @section Use GNAT project file In this example, we show how to use a GNAT project file, with no Ada @@ -1061,7 +1061,7 @@ set the compiler options. Fixing the error, linking and running the code proceed as in @ref{No project files}. -@node Use multiple GNAT project files, , Use GNAT project file, Compiling Examples +@node Use multiple GNAT project files @section Use multiple GNAT project files In this example, we show how to use multiple GNAT project files, @@ -1125,7 +1125,7 @@ Now type @kbd{C-x `}. @file{Example_4/hello_pkg.adb} is shown, demonstrating that @file{hello_5.gpr} and @file{hello_4.gpr} are being used to set the compilation search path. -@node Moving Through Ada Code, Identifier completion, Compiling Examples, Top +@node Moving Through Ada Code @chapter Moving Through Ada Code There are several easy to use commands to navigate through Ada code. All @@ -1179,7 +1179,7 @@ If the @code{ada-xref-create-ali} variable is non-@code{nil}, Emacs will try to run GNAT for you whenever cross-reference information is needed, and is older than the current source file. -@node Identifier completion, Automatic Smart Indentation, Moving Through Ada Code, Top +@node Identifier completion @chapter Identifier completion Emacs and Ada mode provide two general ways for the completion of @@ -1224,7 +1224,7 @@ Complete current identifier using cross-reference information. Complete identifier using buffer information (not Ada-specific). @end table -@node Automatic Smart Indentation, Formatting Parameter Lists, Identifier completion, Top +@node Automatic Smart Indentation @chapter Automatic Smart Indentation Ada mode comes with a full set of rules for automatic indentation. You @@ -1301,7 +1301,7 @@ Indent the current line and display the name of the variable used for indentation. @end table -@node Formatting Parameter Lists, Automatic Casing, Automatic Smart Indentation, Top +@node Formatting Parameter Lists @chapter Formatting Parameter Lists @table @kbd @@ -1314,7 +1314,7 @@ This aligns the declarations on the colon (@samp{:}) separating argument names and argument types, and aligns the @code{in}, @code{out} and @code{in out} keywords. -@node Automatic Casing, Statement Templates, Formatting Parameter Lists, Top +@node Automatic Casing @chapter Automatic Casing Casing of identifiers, attributes and keywords is automatically @@ -1403,7 +1403,7 @@ Rereads the exception dictionary from the file @code{ada-case-exception-file} (@code{ada-case-read-exceptions}). @end table -@node Statement Templates, Comment Handling, Automatic Casing, Top +@node Statement Templates @chapter Statement Templates Templates are defined for most Ada statements, using the Emacs @@ -1494,7 +1494,7 @@ exception (@code{ada-exception}). type (@code{ada-type}). @end table -@node Comment Handling, GNU Free Documentation License, Statement Templates, Top +@node Comment Handling @chapter Comment Handling By default, comment lines get indented like Ada code. There are a few @@ -1513,11 +1513,11 @@ Uncomment the selected region autofill the current comment. @end table -@node GNU Free Documentation License, Index, Comment Handling, Top +@node GNU Free Documentation License @appendix GNU Free Documentation License @include doclicense.texi -@node Index, , GNU Free Documentation License, Top +@node Index @unnumbered Index @printindex fn diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index ba491a569b..2d1f59cfa6 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -4460,7 +4460,7 @@ date by one or several months. @xref{Date Arithmetic}, for more. Friday the 13th? @xref{Types Answer 5, 5}. (@bullet{}) (@bullet{}) @strong{Exercise 6.} How many leap years will there be -between now and the year 10001 A.D.? @xref{Types Answer 6, 6}. (@bullet{}) +between now and the year 10001 AD@? @xref{Types Answer 6, 6}. (@bullet{}) @cindex Slope and angle of a line @cindex Angle and slope of a line @@ -8896,7 +8896,7 @@ Note that this rule does not mention @samp{O} at all, so it will apply to any product-of-sum it encounters---this rule may surprise you if you put it into @code{EvalRules}! -In the second rule, the sum of two O's is changed to the smaller O. +In the second rule, the sum of two O's is changed to the smaller O@. The optional constant coefficients are there mostly so that @samp{O(x^2) - O(x^3)} and @samp{O(x^3) - O(x^2)} are handled as well as @samp{O(x^2) + O(x^3)}. @@ -9909,9 +9909,9 @@ listed. @kindex h n The @kbd{h n} or @kbd{h C-n} (@code{calc-view-news}) command displays -the ``news'' or change history of Calc. This is kept in the file -@file{README}, which Calc looks for in the same directory as the Calc -source files. +the ``news'' or change history of Emacs, and jumps to the most recent +portion concerning Calc (if present). For older history, see the file +@file{etc/CALC-NEWS} in the Emacs distribution. @kindex h C-c @kindex h C-d @@ -10986,10 +10986,10 @@ Input is flexible; date forms can be entered in any of the usual notations for dates and times. @xref{Date Formats}. Date forms are stored internally as numbers, specifically the number -of days since midnight on the morning of January 1 of the year 1 AD. +of days since midnight on the morning of December 31 of the year 1 BC@. If the internal number is an integer, the form represents a date only; if the internal number is a fraction or float, the form represents -a date and time. For example, @samp{<6:00am Wed Jan 9, 1991>} +a date and time. For example, @samp{<6:00am Thu Jan 10, 1991>} is represented by the number 726842.25. The standard precision of 12 decimal digits is enough to ensure that a (reasonable) date and time can be stored without roundoff error. @@ -11009,58 +11009,70 @@ You can use the @kbd{v p} (@code{calc-pack}) and @kbd{v u} of a date form. @xref{Packing and Unpacking}. Date forms can go arbitrarily far into the future or past. Negative -year numbers represent years BC@. Calc uses a combination of the -Gregorian and Julian calendars, following the history of Great -Britain and the British colonies. This is the same calendar that -is used by the @code{cal} program in most Unix implementations. +year numbers represent years BC@. There is no ``year 0''; the day +before @samp{} is @samp{}. These are +days 1 and 0 respectively in Calc's internal numbering scheme. The +Gregorian calendar is used for all dates, including dates before the +Gregorian calendar was invented (although that can be configured; see +below). Thus Calc's use of the day number @mathit{-10000} to +represent August 15, 28 BC should be taken with a grain of salt. @cindex Julian calendar @cindex Gregorian calendar Some historical background: The Julian calendar was created by -Julius Caesar in the year 46 BC as an attempt to fix the gradual -drift caused by the lack of leap years in the calendar used -until that time. The Julian calendar introduced an extra day in -all years divisible by four. After some initial confusion, the -calendar was adopted around the year we call 8 AD@. Some centuries -later it became apparent that the Julian year of 365.25 days was -itself not quite right. In 1582 Pope Gregory XIII introduced the -Gregorian calendar, which added the new rule that years divisible -by 100, but not by 400, were not to be considered leap years -despite being divisible by four. Many countries delayed adoption -of the Gregorian calendar because of religious differences; -in Britain it was put off until the year 1752, by which time -the Julian calendar had fallen eleven days behind the true -seasons. So the switch to the Gregorian calendar in early -September 1752 introduced a discontinuity: The day after -Sep 2, 1752 is Sep 14, 1752. Calc follows this convention. -To take another example, Russia waited until 1918 before -adopting the new calendar, and thus needed to remove thirteen -days (between Feb 1, 1918 and Feb 14, 1918). This means that -Calc's reckoning will be inconsistent with Russian history between -1752 and 1918, and similarly for various other countries. - -Today's timekeepers introduce an occasional ``leap second'' as -well, but Calc does not take these minor effects into account. -(If it did, it would have to report a non-integer number of days -between, say, @samp{<12:00am Mon Jan 1, 1900>} and +Julius Caesar in the year 46 BC as an attempt to fix the confusion +caused by the irregular Roman calendar that was used before that time. +The Julian calendar introduced an extra day in all years divisible by +four. After some initial confusion, the calendar was adopted around +the year we call 8 AD@. Some centuries later it became +apparent that the Julian year of 365.25 days was itself not quite +right. In 1582 Pope Gregory XIII introduced the Gregorian calendar, +which added the new rule that years divisible by 100, but not by 400, +were not to be considered leap years despite being divisible by four. +Many countries delayed adoption of the Gregorian calendar +because of religious differences. For example, Great Britain and the +British colonies switched to the Gregorian calendar in September +1752, when the Julian calendar was eleven days behind the +Gregorian calendar. That year in Britain, the day after September 2 +was September 14. To take another example, Russia did not adopt the +Gregorian calendar until 1918, and that year in Russia the day after +January 31 was February 14. Calc's reckoning therefore matches English +practice starting in 1752 and Russian practice starting in 1918, but +disagrees with earlier dates in both countries. + +When the Julian calendar was introduced, it had January 1 as the first +day of the year. By the Middle Ages, many European countries +had changed the beginning of a new year to a different date, often to +a religious festival. Almost all countries reverted to using January 1 +as the beginning of the year by the time they adopted the Gregorian +calendar. + +Some calendars attempt to mimic the historical situation by using the +Gregorian calendar for recent dates and the Julian calendar for older +dates. The @code{cal} program in most Unix implementations does this, +for example. While January 1 wasn't always the beginning of a calendar +year, these hybrid calendars still use January 1 as the beginning of +the year even for older dates. The customizable variable +@code{calc-gregorian-switch} (@pxref{Customizing Calc}) can be set to +have Calc's date forms switch from the Julian to Gregorian calendar at +any specified date. + +Today's timekeepers introduce an occasional ``leap second''. +These do not occur regularly and Calc does not take these minor +effects into account. (If it did, it would have to report a +non-integer number of days between, say, +@samp{<12:00am Mon Jan 1, 1900>} and @samp{<12:00am Sat Jan 1, 2000>}.) -Calc uses the Julian calendar for all dates before the year 1752, -including dates BC when the Julian calendar technically had not -yet been invented. Thus the claim that day number @mathit{-10000} is -called ``August 16, 28 BC'' should be taken with a grain of salt. - -Please note that there is no ``year 0''; the day before -@samp{} is @samp{}. These are -days 0 and @mathit{-1} respectively in Calc's internal numbering scheme. - @cindex Julian day counting Another day counting system in common use is, confusingly, also called -``Julian.'' The Julian day number is the numbers of days since -12:00 noon (GMT) on Jan 1, 4713 BC, which in Calc's scheme (in GMT) -is @mathit{-1721423.5} (recall that Calc starts at midnight instead -of noon). Thus to convert a Calc date code obtained by unpacking a -date form into a Julian day number, simply add 1721423.5 after +``Julian.'' Julian days go from noon to noon. The Julian day number +is the numbers of days since 12:00 noon (GMT) on November 24, 4714 BC +in the Gregorian calendar (i.e., January 1, 4713 BC in the Julian +calendar). In Calc's scheme (in GMT) the Julian day origin is +@mathit{-1721422.5}, because Calc starts at midnight instead of noon. +Thus to convert a Calc date code obtained by unpacking a +date form into a Julian day number, simply add 1721422.5 after compensating for the time zone difference. The built-in @kbd{t J} command performs this conversion for you. @@ -11092,7 +11104,7 @@ the Julian cycle as an astronomical dating system; this idea was taken up by other astronomers. (At the time, noon was the start of the astronomical day. Herschel originally suggested counting the days since Jan 1, 4713 BC at noon Alexandria time; this was later amended to -noon GMT.) Julian day numbering is largely used in astronomy. +noon GMT@.) Julian day numbering is largely used in astronomy. @cindex Unix time format The Unix operating system measures time as an integer number of @@ -13404,12 +13416,91 @@ dates. @xref{Specifying Operators}. To avoid confusion with nameless functions, your date formats should avoid using the @samp{#} character. @menu +* ISO 8601:: * Date Formatting Codes:: * Free-Form Dates:: * Standard Date Formats:: @end menu -@node Date Formatting Codes, Free-Form Dates, Date Formats, Date Formats +@node ISO 8601, Date Formatting Codes, Date Formats, Date Formats +@subsubsection ISO 8601 + +@noindent +@cindex ISO 8601 +The same date can be written down in different formats and Calc tries +to allow you to choose your preferred format. Some common formats are +ambiguous, however; for example, 10/11/2012 means October 11, +2012 in the United States but it means November 10, 2012 in +Europe. To help avoid such ambiguities, the International Organization +for Standardization (ISO) provides the ISO 8601 standard, which +provides three different but easily distinguishable and unambiguous +ways to represent a date. + +The ISO 8601 calendar date representation is + +@example + @var{YYYY}-@var{MM}-@var{DD} +@end example + +@noindent +where @var{YYYY} is the four digit year, @var{MM} is the two-digit month +number (01 for January to 12 for December), and @var{DD} is the +two-digit day of the month (01 to 31). (Note that @var{YYYY} does not +correspond to Calc's date formatting code, which will be introduced +later.) The year, which should be padded with zeros to ensure it has at +least four digits, is the Gregorian year, except that the year before +0001 (1 AD) is the year 0000 (1 BC). The date October 11, 2012 is +written 2012-10-11 in this representation and November 10, 2012 is +written 2012-11-10. + +The ISO 8601 ordinal date representation is + +@example + @var{YYYY}-@var{DDD} +@end example + +@noindent +where @var{YYYY} is the year, as above, and @var{DDD} is the day of the year. +The date December 31, 2011 is written 2011-365 in this representation +and January 1, 2012 is written 2012-001. + +The ISO 8601 week date representation is + +@example + @var{YYYY}-W@var{ww}-@var{D} +@end example + +@noindent +where @var{YYYY} is the ISO week-numbering year, @var{ww} is the two +digit week number (preceded by a literal ``W''), and @var{D} is the day +of the week (1 for Monday through 7 for Sunday). The ISO week-numbering +year is based on the Gregorian year but can differ slightly. The first +week of an ISO week-numbering year is the week with the Gregorian year's +first Thursday in it (equivalently, the week containing January 4); +any day of that week (Monday through Sunday) is part of the same ISO +week-numbering year, any day from the previous week is part of the +previous year. For example, January 4, 2013 is on a Friday, and so +the first week for the ISO week-numbering year 2013 starts on +Monday, December 31, 2012. The day December 31, 2012 is then part of the +Gregorian year 2012 but ISO week-numbering year 2013. In the week +date representation, this week goes from 2013-W01-1 (December 31, +2012) to 2013-W01-7 (January 6, 2013). + +All three ISO 8601 representations arrange the numbers from most +significant to least significant; as well as being unambiguous +representations, they are easy to sort since chronological order in +this formats corresponds to lexicographical order. The hyphens are +sometimes omitted. + +The ISO 8601 standard uses a 24 hour clock; a particular time is +represented by @var{hh}:@var{mm}:@var{ss} where @var{hh} is the +two-digit hour (from 00 to 24), @var{mm} is the two-digit minute (from +00 to 59) and @var{ss} is the two-digit second. The seconds or minutes +and seconds can be omitted, and decimals can be added. If a date with a +time is represented, they should be separated by a literal ``T'', so noon +on December 13, 2012 can be represented as 2012-12-13T12:00. + +@node Date Formatting Codes, Free-Form Dates, ISO 8601, Date Formats @subsubsection Date Formatting Codes @noindent @@ -13426,7 +13517,7 @@ the time part. The punctuation characters (including spaces) must match exactly; letter fields must correspond to suitable text in the input. If this doesn't work, Calc checks if the input is a simple number; if so, the number is interpreted as a number of days -since Jan 1, 1 AD@. Otherwise, Calc tries a much more relaxed and +since Dec 31, 1 BC@. Otherwise, Calc tries a much more relaxed and flexible algorithm which is described in the next section. Weekday names are ignored during reading. @@ -13450,6 +13541,10 @@ Year: ``91'' for 1991, `` 7'' for 2007, ``+23'' for 23 AD. Year: ``1991'' for 1991, ``23'' for 23 AD. @item YYYY Year: ``1991'' for 1991, ``+23'' for 23 AD. +@item ZYYY +Year: ``1991'' for 1991, ``0023'' for 23 AD, ``0000'' for 1 BC. +@item IYYY +Year: ISO 8601 week-numbering year. @item aa Year: ``ad'' or blank. @item AA @@ -13498,6 +13593,8 @@ Day: ``07'' for 7th day of month. Day: `` 7'' for 7th day of month. @item W Weekday: ``0'' for Sunday, ``6'' for Saturday. +@item w +Weekday: ``1'' for Monday, ``7'' for Sunday. @item WWW Weekday: ``SUN'' for Sunday. @item Www @@ -13508,12 +13605,16 @@ Weekday: ``sun'' for Sunday. Weekday: ``SUNDAY'' for Sunday. @item Wwww Weekday: ``Sunday'' for Sunday. +@item Iww +Week number: ISO 8601 week number, ``W01'' for week 1. @item d Day of year: ``34'' for Feb. 3. @item ddd Day of year: ``034'' for Feb. 3. @item bdd Day of year: `` 34'' for Feb. 3. +@item T +Letter: Literal ``T''. @item h Hour: ``5'' for 5 AM; ``17'' for 5 PM. @item hh @@ -13616,15 +13717,21 @@ abbreviated to one letter, and the alternate forms @samp{a.m.}, @samp{p.m.}, and @samp{mid} are also understood. Obviously @samp{noon} and @samp{midnight} are allowed only on 12:00:00. The words @samp{noon}, @samp{mid}, and @samp{midnight} are also -recognized with no number attached. +recognized with no number attached. Midnight will represent the +beginning of a day. If there is no AM/PM indicator, the time is interpreted in 24-hour format. -To read the date portion, all words and numbers are isolated -from the string; other characters are ignored. All words must -be either month names or day-of-week names (the latter of which -are ignored). Names can be written in full or as three-letter +When reading the date portion, Calc first checks to see if it is an +ISO 8601 week-numbering date; if the string contains an integer +representing the year, a ``W'' followed by two digits for the week +number, and an integer from 1 to 7 representing the weekday (in that +order), then all other characters are ignored and this information +determines the date. Otherwise, all words and numbers are isolated +from the string; other characters are ignored. All words must be +either month names or day-of-week names (the latter of which are +ignored). Names can be written in full or as three-letter abbreviations. Large numbers, or numbers with @samp{+} or @samp{-} signs, @@ -13687,6 +13794,10 @@ command (@pxref{Mode Settings}). @samp{j<, h:mm:ss>} (Julian day plus time) @item 9 @samp{YYddd< hh:mm:ss>} (Year-day format) +@item 10 +@samp{ZYYY-MM-DD Www< hh:mm>} (Org mode format) +@item 11 +@samp{IYYY-Iww-w} (ISO 8601 week numbering format) @end table @node Truncating the Stack, Justification, Date Formats, Display Modes @@ -27755,11 +27866,6 @@ acres per meter-second.) Remainder units are expressed in terms of ``fundamental'' units like @samp{m} and @samp{s}, regardless of the input units. -If you want to disallow using inconsistent units, you can set the customizable variable -@code{calc-ensure-consistent-units} to @code{t} (@pxref{Customizing Calc}). In this case, -if you request units which are inconsistent with the original units, you will be warned about -it and no conversion will occur. - One special exception is that if you specify a single unit name, and a compatible unit appears somewhere in the units expression, then that compatible unit will be converted to the new unit and the @@ -27769,6 +27875,12 @@ change the @samp{s} to @samp{ms} to get @samp{9.8e-4 cm/ms^2}. The ``remainder unit'' @samp{cm} is left alone rather than being changed to the base unit @samp{m}. +If you want to disallow using inconsistent units, you can set the +customizable variable @code{calc-ensure-consistent-units} to @code{t} +(@pxref{Customizing Calc}). In this case, if you request units which +are inconsistent with the original units, you will be warned about it +and no conversion will occur. + You can use explicit unit conversion instead of the @kbd{u s} command to gain more control over the units of the result of an expression. For example, given @samp{5 m + 23 mm}, you can type @kbd{u c m} or @@ -27801,10 +27913,16 @@ Composite units are expanded as if by @kbd{a x}, so that If the value on the stack does not contain any units, @kbd{u c} will prompt first for the old units which this value should be considered -to have, then for the new units. Assuming the old and new units you -give are consistent with each other, the result also will not contain -any units. For example, @kbd{@w{u c} cm @key{RET} in @key{RET}} -converts the number 2 on the stack to 5.08. +to have, then for the new units. (If the value on the stack can be +simplified so that it doesn't contain any units, like @samp{ft/in} can +be simplified to 12, then @kbd{u c} will still prompt for both old +units and new units. You can ignore the prompt for old units with +@key{RET}, or turn off the prompt by setting the customizable variable +@code{calc-allow-units-as-numbers} to @code{nil}. +@pxref{Customizing Calc}) Assuming the old and new units you give are +consistent with each other, the result also will not contain any +units. For example, @kbd{@w{u c} cm @key{RET} in @key{RET}} converts +the number 2 on the stack to 5.08. @kindex u b @pindex calc-base-units @@ -35583,6 +35701,17 @@ have different dimensions. The default value of @code{calc-ensure-consistent-uni is @code{nil}. @end defvar +@defvar calc-allow-units-as-numbers +When converting units, the variable @code{calc-allow-units-as-numbers} +determines whether or not values which can be simplified so that +they don't contain units (such as @samp{ft/in} can be simplified to 12) +can be regarded as not containing units. If +@code{calc-allow-units-as-numbers} is non-@code{nil}, then @kbd{u c} +will prompt for both old units and new units when converting an expression +like @samp{ft/in}, otherwise @kbd{u c} will only prompt for the new units. +The default value of @code{calc-allow-units-as-numbers} is @code{t}. +@end defvar + @defvar calc-undo-length The variable @code{calc-undo-length} determines the number of undo steps that Calc will keep track of when @code{calc-quit} is called. @@ -35592,6 +35721,20 @@ number of undo steps that will be preserved; if be preserved. The default value of @code{calc-undo-length} is @expr{100}. @end defvar +@defvar calc-gregorian-switch +See @ref{Date Forms}.@* +The variable @code{calc-gregorian-switch} is either a list of integers +@code{(@var{YEAR} @var{MONTH} @var{DAY})} or @code{nil}. +If it is @code{nil}, then Calc's date forms always represent Gregorian dates. +Otherwise, @code{calc-gregorian-switch} represents the date that the +calendar switches from Julian dates to Gregorian dates; +@code{(@var{YEAR} @var{MONTH} @var{DAY})} will be the first Gregorian +date. The customization buffer will offer several standard dates to +choose from, or the user can enter their own date. + +The default value of @code{calc-gregorian-switch} is @code{nil}. +@end defvar + @node Reporting Bugs, Summary, Customizing Calc, Top @appendix Reporting Bugs diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index a16dc92de7..11f19c8df0 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -1200,9 +1200,6 @@ The only exceptions are plain variables and calls to bound on entry, it is simply made unbound by @code{makunbound} or @code{fmakunbound} on exit. @end ignore - -Note that the @file{cl.el} version of this macro behaves slightly -differently. @xref{Obsolete Macros}. @end defmac @defmac cl-letf* (bindings@dots{}) forms@dots{} @@ -4888,13 +4885,6 @@ form (@pxref{Obsolete Lexical Binding}), rather than the true lexical binding that @code{cl-labels} uses. @end defmac -@defmac letf (bindings@dots{}) forms@dots{} -This macro is almost exactly the same as @code{cl-letf}, which -replaces it (@pxref{Modify Macros}). The only difference is in -details that relate to some deprecated usage of @code{symbol-function} -in place forms. -@end defmac - @node Obsolete Setf Customization @appendixsec Obsolete Ways to Customize Setf diff --git a/doc/misc/doclicense.texi b/doc/misc/doclicense.texi index a511ffcd5a..9c3bbe56e9 100644 --- a/doc/misc/doclicense.texi +++ b/doc/misc/doclicense.texi @@ -1,4 +1,3 @@ -@c -*-texinfo-*- @c The GNU Free Documentation License. @center Version 1.3, 3 November 2008 @@ -6,7 +5,7 @@ @c hence no sectioning command or @node. @display -Copyright @copyright{} 2000, 2001, 2002, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. @uref{http://fsf.org/} Everyone is permitted to copy and distribute verbatim copies @@ -93,16 +92,16 @@ An image format is not Transparent if used for any substantial amount of text. A copy that is not ``Transparent'' is called ``Opaque''. Examples of suitable formats for Transparent copies include plain -@sc{ascii} without markup, Texinfo input format, La@TeX{} input -format, @acronym{SGML} or @acronym{XML} using a publicly available -@acronym{DTD}, and standard-conforming simple @acronym{HTML}, -PostScript or @acronym{PDF} designed for human modification. Examples -of transparent image formats include @acronym{PNG}, @acronym{XCF} and -@acronym{JPG}. Opaque formats include proprietary formats that can be -read and edited only by proprietary word processors, @acronym{SGML} or -@acronym{XML} for which the @acronym{DTD} and/or processing tools are -not generally available, and the machine-generated @acronym{HTML}, -PostScript or @acronym{PDF} produced by some word processors for +ASCII without markup, Texinfo input format, La@TeX{} input +format, SGML or XML using a publicly available +DTD, and standard-conforming simple HTML, +PostScript or PDF designed for human modification. Examples +of transparent image formats include PNG, XCF and +JPG@. Opaque formats include proprietary formats that can be +read and edited only by proprietary word processors, SGML or +XML for which the DTD and/or processing tools are +not generally available, and the machine-generated HTML, +PostScript or PDF produced by some word processors for output purposes only. The ``Title Page'' means, for a printed book, the title page itself, @@ -482,7 +481,7 @@ license notices just after the title page: @end smallexample If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the ``with@dots{}Texts.'' line with this: +replace the ``with@dots{}Texts.''@: line with this: @smallexample @group @@ -501,7 +500,6 @@ recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. - @c Local Variables: @c ispell-local-pdict: "ispell-dict" @c End: diff --git a/doc/misc/ebrowse.texi b/doc/misc/ebrowse.texi index 471ba822b8..c7f3e3b1a6 100644 --- a/doc/misc/ebrowse.texi +++ b/doc/misc/ebrowse.texi @@ -44,7 +44,7 @@ modify this GNU manual.'' @contents @ifnottex -@node Top, Overview, (dir), (dir) +@node Top @top Ebrowse You can browse C++ class hierarchies from within Emacs by using @@ -67,7 +67,7 @@ Ebrowse. -@node Overview, Generating browser files, Top, Top +@node Overview @chapter Introduction When working in software projects using C++, I frequently missed @@ -177,8 +177,7 @@ them, if you like. -@node Generating browser files, Loading a Tree, Overview, Top -@comment node-name, next, previous, up +@node Generating browser files @chapter Processing Source Files @cindex @command{ebrowse}, the program @@ -225,7 +224,7 @@ available command line options.@refill @comment name, next, prev, up -@node Input files, Output file, Generating browser files, Generating browser files +@node Input files @section Specifying Input Files @table @samp @@ -266,7 +265,7 @@ properly identifying friend functions of a class. @comment name, next, prev, up -@node Output file, Structs and unions, Input files, Generating browser files +@node Output file @section Changing the Output File Name @table @samp @@ -301,7 +300,7 @@ with this command line option. @comment name, next, prev, up -@node Structs and unions, Matching, Output file, Generating browser files +@node Structs and unions @section Structs and Unions @cindex structs @cindex unions @@ -321,7 +320,7 @@ tree. @comment name, next, prev, up -@node Matching, Verbosity, Structs and unions, Generating browser files +@node Matching @section Regular Expressions @cindex regular expressions, recording @@ -374,8 +373,7 @@ the probability that it will no longer match after editing the file. -@node Verbosity, , Matching, Generating browser files -@comment node-name, next, previous, up +@node Verbosity @section Verbose Mode @cindex verbose operation @@ -395,8 +393,7 @@ the names of the classes seen. -@node Loading a Tree, Tree Buffers, Generating browser files, Top -@comment node-name, next, previous, up +@node Loading a Tree @chapter Starting to Browse @cindex loading @cindex browsing @@ -436,8 +433,7 @@ where no highlight is displayed. @comment *** @comment **************************************************************** -@node Tree Buffers, Member Buffers, Loading a Tree, Top -@comment node-name, next, previous, up +@node Tree Buffers @chapter Tree Buffers @cindex tree buffer mode @cindex class trees @@ -468,8 +464,7 @@ buffers. -@node Source Display, Member Display, Tree Buffers, Tree Buffers -@comment node-name, next, previous, up +@node Source Display @section Viewing and Finding Class Declarations @cindex viewing, class @cindex finding a class @@ -497,8 +492,7 @@ The same functionality is available from the menu opened with -@node Member Display, Go to Class, Source Display, Tree Buffers -@comment node-name, next, previous, up +@node Member Display @section Displaying Members @cindex @samp{*Members*} buffer @cindex @samp{*Globals*} @@ -561,8 +555,7 @@ These lists are also available from the class' context menu invoked with -@node Go to Class, Quitting, Member Display, Tree Buffers -@comment node-name, next, previous, up +@node Go to Class @section Finding a Class @cindex locate class @cindex expanding branches @@ -589,8 +582,7 @@ local copy of the regular expression last searched in it. -@node Quitting, File Name Display, Go to Class, Tree Buffers -@comment node-name, next, previous, up +@node Quitting @section Burying a Tree Buffer @cindex burying tree buffer @@ -602,8 +594,7 @@ Is a synonym for @kbd{M-x bury-buffer}. -@node File Name Display, Expanding and Collapsing, Quitting, Tree Buffers -@comment node-name, next, previous, up +@node File Name Display @section Displaying File Names @table @kbd @@ -633,8 +624,7 @@ Here is an example of a tree buffer with file names displayed. @end example -@node Expanding and Collapsing, Tree Indentation, File Name Display, Tree Buffers -@comment node-name, next, previous, up +@node Expanding and Collapsing @section Expanding and Collapsing a Tree @cindex expand tree branch @cindex collapse tree branch @@ -673,8 +663,7 @@ This command expands all collapsed branches in the tree. -@node Tree Indentation, Killing Classes, Expanding and Collapsing, Tree Buffers -@comment node-name, next, previous, up +@node Tree Indentation @section Changing the Tree Indentation @cindex tree indentation @cindex indentation of the tree @@ -689,8 +678,7 @@ available from the tree buffer's context menu. -@node Killing Classes, Saving a Tree, Tree Indentation, Tree Buffers -@comment node-name, next, previous, up +@node Killing Classes @section Removing Classes from the Tree @cindex killing classes @cindex class, remove from tree @@ -705,9 +693,7 @@ deletion is actually performed. -@node Saving a Tree, Statistics, Killing Classes, Tree Buffers -@comment node-name, next, previous, up -@comment node-name, next, previous, up +@node Saving a Tree @section Saving a Tree @cindex save tree to a file @cindex tree, save to a file @@ -725,8 +711,8 @@ Writes the tree to a file whose name is read from the minibuffer. -@node Statistics, Marking Classes, Saving a Tree, Tree Buffers -@comment node-name, next, previous, up +@node Statistics +@section Statistics @cindex statistics for a tree @cindex tree statistics @cindex class statistics @@ -741,8 +727,8 @@ context menu. -@node Marking Classes, , Statistics, Tree Buffers -@comment node-name, next, previous, up +@node Marking Classes +@section Marking Classes @cindex marking classes @cindex operations on marked classes @@ -783,8 +769,7 @@ display, like in the following example @c *** @c **************************************************************** -@node Member Buffers, Tags-like Functions, Tree Buffers, Top -@comment node-name, next, previous, up +@node Member Buffers @chapter Member Buffers @cindex members @cindex member buffer mode @@ -834,8 +819,7 @@ buffer: members, classes, and the buffer itself. -@node Switching Member Lists, Finding/Viewing, Member Buffers, Member Buffers -@comment node-name, next, previous, up +@node Switching Member Lists @section Switching Member Lists @cindex member lists, in member buffers @cindex static members @@ -881,8 +865,7 @@ context menu. -@node Finding/Viewing, Inherited Members, Switching Member Lists, Member Buffers -@comment node-name, next, previous, up +@node Finding/Viewing @section Finding and Viewing Member Source @cindex finding members, in member buffers @cindex viewing members, in member buffers @@ -919,8 +902,7 @@ displayed when clicking @kbd{Mouse-2} on a member name. -@node Inherited Members, Searching Members, Finding/Viewing, Member Buffers -@comment node-name, next, previous, up +@node Inherited Members @section Display of Inherited Members @cindex superclasses, members @cindex base classes, members @@ -935,8 +917,7 @@ buffer. This is also in the buffer's context menu. -@node Searching Members, Switching to Tree, Inherited Members, Member Buffers -@comment node-name, next, previous, up +@node Searching Members @section Searching Members @cindex searching members @@ -965,8 +946,7 @@ a mouse. -@node Switching to Tree, Filters, Searching Members, Member Buffers -@comment node-name, next, previous, up +@node Switching to Tree @section Switching to Tree Buffer @cindex tree buffer, switch to @cindex buffer switching @@ -984,8 +964,7 @@ displayed in the member buffer. -@node Filters, Attributes, Switching to Tree, Member Buffers -@comment node-name, next, previous, up +@node Filters @section Filters @cindex filters @@ -1029,8 +1008,7 @@ These commands are also found in the buffer's context menu. -@node Attributes, Long and Short Display, Filters, Member Buffers -@comment node-name, next, previous, up +@node Attributes @section Displaying Member Attributes @cindex attributes @cindex member attribute display @@ -1086,8 +1064,7 @@ This command is also in the buffer's context menu. -@node Long and Short Display, Regexp Display, Attributes, Member Buffers -@comment node-name, next, previous, up +@node Long and Short Display @section Long and Short Member Display @cindex display form @cindex long display @@ -1121,8 +1098,7 @@ not been produced with the @command{ebrowse} option @samp{--no-regexps}. -@node Regexp Display, Switching Classes, Long and Short Display, Member Buffers -@comment node-name, next, previous, up +@node Regexp Display @section Display of Regular Expressions @cindex regular expression display @@ -1140,8 +1116,7 @@ see @ref{Matching, --no-regexps, Regular Expressions}. -@node Switching Classes, Killing/Burying, Regexp Display, Member Buffers -@comment node-name, next, previous, up +@node Switching Classes @section Displaying Another Class @cindex base class, display @cindex derived class, display @@ -1173,8 +1148,7 @@ Switch to the next sibling of the class in the class tree. -@node Killing/Burying, Column Width, Switching Classes, Member Buffers -@comment node-name, next, previous, up +@node Killing/Burying @section Burying a Member Buffer @cindex burying member buffers @@ -1186,8 +1160,7 @@ This command is a synonym for @kbd{M-x bury-buffer}. -@node Column Width, Redisplay, Killing/Burying, Member Buffers -@comment node-name, next, previous, up +@node Column Width @section Setting the Column Width @cindex column width @cindex member indentation @@ -1202,8 +1175,7 @@ This command sets the column width depending on the display form used -@node Redisplay, Getting Help, Column Width, Member Buffers -@comment node-name, next, previous, up +@node Redisplay @section Forced Redisplay @cindex redisplay of member buffers @@ -1218,8 +1190,8 @@ columns. -@node Getting Help, , Redisplay, Member Buffers -@comment node-name, next, previous, up +@node Getting Help +@section Getting Help @cindex help @table @kbd @@ -1234,8 +1206,7 @@ This key is bound to @code{describe-mode}. @comment *** TAGS LIKE FUNCTIONS @comment ************************************************************** -@node Tags-like Functions, GNU Free Documentation License, Member Buffers, Top -@comment node-name, next, previous, up +@node Tags-like Functions @chapter Tags-like Functions Ebrowse provides tags functions similar to those of the standard @@ -1254,8 +1225,7 @@ Emacs Tags facility, but better suited to the needs of C++ programmers. -@node Finding and Viewing, Position Stack, Tags-like Functions, Tags-like Functions -@comment node-name, next, previous, up +@node Finding and Viewing @section Finding and Viewing Members @cindex finding class member, in C++ source @cindex viewing class member, in C++ source @@ -1314,8 +1284,7 @@ View a member's declaration in another frame. -@node Position Stack, Search & Replace, Finding and Viewing, Tags-like Functions -@comment node-name, next, previous, up +@node Position Stack @section The Position Stack @cindex position stack @@ -1351,8 +1320,7 @@ view a position with @kbd{v}. -@node Search & Replace, Members in Files, Position Stack, Tags-like Functions -@comment node-name, next, previous, up +@node Search & Replace @section Searching and Replacing @cindex searching multiple C++ files @cindex replacing in multiple C++ files @@ -1389,8 +1357,7 @@ This restarts the last tags operation with the next file in the list. -@node Members in Files, Apropos, Search & Replace, Tags-like Functions -@comment node-name, next, previous, up +@node Members in Files @section Members in Files @cindex files @cindex members in file, listing @@ -1403,8 +1370,7 @@ name is read from the minibuffer with completion. -@node Apropos, Symbol Completion, Members in Files, Tags-like Functions -@comment node-name, next, previous, up +@node Apropos @section Member Apropos @cindex apropos on class members @cindex members, matching regexp @@ -1421,8 +1387,7 @@ command @kbd{C-c C-m f}, for example, to jump to a specific member. -@node Symbol Completion, Member Buffer Display, Apropos, Tags-like Functions -@comment node-name, next, previous, up +@node Symbol Completion @section Symbol Completion @cindex completion @cindex symbol completion @@ -1432,7 +1397,7 @@ The command @kbd{C-c C-m @key{TAB}} completes the symbol in front of point. -@node Member Buffer Display, , Symbol Completion, Tags-like Functions +@node Member Buffer Display @section Quick Member Display @cindex member buffer, for member at point @@ -1440,12 +1405,12 @@ You can quickly display a member buffer containing the member the cursor in on with the command @kbd{C-c C-m m}. -@node GNU Free Documentation License, Concept Index, Tags-like Functions, Top +@node GNU Free Documentation License @appendix GNU Free Documentation License @include doclicense.texi -@node Concept Index, , GNU Free Documentation License, Top +@node Concept Index @unnumbered Concept Index @printindex cp diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi index edb2a446cf..378eee08c5 100644 --- a/doc/misc/ediff.texi +++ b/doc/misc/ediff.texi @@ -61,7 +61,7 @@ modify this GNU manual.'' @contents -@node Top, Introduction, (dir), (dir) +@node Top @top Ediff @insertcopying @@ -79,7 +79,7 @@ modify this GNU manual.'' * Index:: @end menu -@node Introduction, Major Entry Points, Top, Top +@node Introduction @chapter Introduction @cindex Comparing files and buffers @@ -127,7 +127,7 @@ functions are adaptations from Emerge. Although Ediff subsumes and greatly extends Emerge, much of the functionality in Ediff is influenced by Emerge. The architecture and the interface are, of course, drastically different. -@node Major Entry Points, Session Commands, Introduction, Top +@node Major Entry Points @chapter Major Entry Points When Ediff starts up, it displays a small control window, which accepts the @@ -397,7 +397,7 @@ Moreover, the functions @code{ediff-directory-revisions}, related Ediff sessions by taking a directory and comparing (or merging) versions of files in that directory. -@node Session Commands, Registry of Ediff Sessions, Major Entry Points, Top +@node Session Commands @chapter Session Commands All Ediff commands are displayed in a Quick Help window, unless you type @@ -430,7 +430,7 @@ command (see @kbd{ga}, @kbd{gb}, and @kbd{gc}). * Other Session Commands:: Commands that are not bound to keys. @end menu -@node Quick Help Commands,Other Session Commands,,Session Commands +@node Quick Help Commands @section Quick Help Commands @cindex command help @cindex important commands @@ -911,7 +911,7 @@ merge buffer and then select regions in those buffers. @end table -@node Other Session Commands,,Quick Help Commands,Session Commands +@node Other Session Commands @section Other Session Commands The following commands can be invoked from within any Ediff session, @@ -977,7 +977,7 @@ making it run faster. The function @code{ediff-profile} toggles profiling of ediff commands. @end table -@node Registry of Ediff Sessions, Session Groups, Session Commands, Top +@node Registry of Ediff Sessions @chapter Registry of Ediff Sessions Ediff maintains a registry of all its invocations that are @@ -1008,7 +1008,7 @@ and @kbd{DEL} (previous registry record). There are other commands as well, but you don't need to memorize them, since they are listed at the top of the registry buffer. -@node Session Groups, Remote and Compressed Files, Registry of Ediff Sessions, Top +@node Session Groups @chapter Session Groups Several major entries of Ediff perform comparison and merging on @@ -1127,7 +1127,7 @@ user whether or not to do a recursive descent. -@node Remote and Compressed Files, Customization, Session Groups, Top +@node Remote and Compressed Files @chapter Remote and Compressed Files Ediff works with remote, compressed, and encrypted files. Ediff @@ -1150,7 +1150,7 @@ i.e., the original is renamed into @file{source-name.orig} and the result of the patch is placed into the file source-name (@file{_orig} is used on systems like DOS, etc.). -@node Customization, Credits, Remote and Compressed Files, Top +@node Customization @chapter Customization Ediff has a rather self-explanatory interface, and in most cases you @@ -1186,7 +1186,7 @@ refer to Emacs manual for the information on how to set Emacs X resources. * Notes on Heavy-duty Customization:: Customization for the gurus. @end menu -@node Hooks, Quick Help Customization, Customization, Customization +@node Hooks @section Hooks The bulk of customization can be done via the following hooks: @@ -1332,7 +1332,7 @@ map that controls key bindings in the meta buffer. Since bindings for different kinds of meta buffers. @end table -@node Quick Help Customization, Window and Frame Configuration, Hooks, Customization +@node Quick Help Customization @section Quick Help Customization @vindex ediff-use-long-help-message @vindex ediff-control-buffer @@ -1356,7 +1356,7 @@ basis, you must use @code{ediff-startup-hook} to change the value of the variable @code{ediff-help-message}, which is local to @code{ediff-control-buffer}. -@node Window and Frame Configuration, Selective Browsing, Quick Help Customization, Customization +@node Window and Frame Configuration @section Window and Frame Configuration On a non-windowing display, Ediff sets things up in one frame, splitting @@ -1493,7 +1493,7 @@ can switch between sessions by suspending one session and then switching to another control panel. (Different control panel buffers are distinguished by a numerical suffix, e.g., @samp{Ediff Control Panel<3>}.) -@node Selective Browsing, Highlighting Difference Regions, Window and Frame Configuration, Customization +@node Selective Browsing @section Selective Browsing Sometimes it is convenient to be able to step through only some difference @@ -1608,7 +1608,7 @@ ignoring letter case or not. It can be set in @file{.emacs} using When case sensitivity is toggled, all difference regions are recomputed. -@node Highlighting Difference Regions, Narrowing, Selective Browsing, Customization +@node Highlighting Difference Regions @section Highlighting Difference Regions The following variables control the way Ediff highlights difference @@ -1735,7 +1735,7 @@ faces, you can modify them when Ediff is being loaded using or @code{set/make-face-@dots{}} as shown above. Emacs's low-level face-manipulation functions should be avoided. -@node Narrowing, Refinement of Difference Regions, Highlighting Difference Regions, Customization +@node Narrowing @section Narrowing If buffers being compared are narrowed at the time of invocation of @@ -1767,7 +1767,7 @@ Controls whether on quitting Ediff should restore the accessible range that existed before the current invocation. @end table -@node Refinement of Difference Regions, Patch and Diff Programs, Narrowing, Customization +@node Refinement of Difference Regions @section Refinement of Difference Regions Ediff has variables to control the way fine differences are @@ -1839,7 +1839,7 @@ command @kbd{@@}. Repeated typing of this key cycles through three different states: auto-refining, no-auto-refining, and no-highlighting of fine differences. -@node Patch and Diff Programs, Merging and diff3, Refinement of Difference Regions, Customization +@node Patch and Diff Programs @section Patch and Diff Programs This section describes variables that specify the programs to be used for @@ -1948,7 +1948,7 @@ Specifies the default directory to look for patches. @code{diff}. Instead, make sure you are using some implementation of POSIX @code{diff}, such as @code{gnudiff}. -@node Merging and diff3, Support for Version Control, Patch and Diff Programs, Customization +@node Merging and diff3 @section Merging and diff3 Ediff supports three-way comparison via the functions @code{ediff-files3} and @@ -2152,7 +2152,7 @@ When merge buffers are saved automatically as directed by specified by the variable @code{ediff-merge-filename-prefix}. The default is @code{merge_}, but this can be changed by the user. -@node Support for Version Control, Customizing the Mode Line, Merging and diff3, Customization +@node Support for Version Control @section Support for Version Control @@ -2197,7 +2197,7 @@ In case of @file{pcl-cvs.el}, Ediff can also be invoked via the function @code{run-ediff-from-cvs-buffer}---see the documentation string for this function. -@node Customizing the Mode Line, Miscellaneous, Support for Version Control, Customization +@node Customizing the Mode Line @section Customizing the Mode Line When Ediff is running, the mode line of @samp{Ediff Control Panel} @@ -2216,7 +2216,7 @@ don't like the way Ediff changes the mode line, you can use @pindex @file{uniquify.el} @pindex @file{mode-line.el} -@node Miscellaneous, Notes on Heavy-duty Customization, Customizing the Mode Line, Customization +@node Miscellaneous @section Miscellaneous Here are a few other variables for customizing Ediff: @@ -2333,7 +2333,7 @@ Try different settings and see which one is for you. @end table -@node Notes on Heavy-duty Customization, , Miscellaneous, Customization +@node Notes on Heavy-duty Customization @section Notes on Heavy-duty Customization Some users need to customize Ediff in rather sophisticated ways, which @@ -2402,7 +2402,7 @@ non-@code{nil} only if Ediff uses the multiframe display, i.e., when the control buffer is in its own frame. @end table -@node Credits, GNU Free Documentation License, Customization, Top +@node Credits @chapter Credits Ediff was written by Michael Kifer . It was inspired @@ -2520,12 +2520,12 @@ Ilya Zakharevich (ilya at math.ohio-state.edu), Eli Zaretskii (eliz at is.elta.co.il) @end example -@node GNU Free Documentation License, Index, Credits, Top +@node GNU Free Documentation License @appendix GNU Free Documentation License @include doclicense.texi -@node Index, , GNU Free Documentation License, Top +@node Index @unnumbered Index @printindex cp diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi index beb8d54558..cc61cd1ab5 100644 --- a/doc/misc/erc.texi +++ b/doc/misc/erc.texi @@ -747,7 +747,7 @@ If non, @code{nil}, this is a list of IRC message types to hide, e.g.: @defopt erc-lurker-hide-list Like @code{erc-hide-list}, but only applies to messages sent by lurkers. The function @code{erc-lurker-p} determines whether a given -nickname is considerd a lurker. +nickname is considered a lurker. @end defopt diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi index 1d3a8b0818..8728d53ea2 100644 --- a/doc/misc/ert.texi +++ b/doc/misc/ert.texi @@ -25,7 +25,7 @@ modify this GNU manual.'' @end quotation @end copying -@node Top, Introduction, (dir), (dir) +@node Top @top ERT: Emacs Lisp Regression Testing ERT is a tool for automated testing in Emacs Lisp. Its main features @@ -86,7 +86,7 @@ Appendix @end detailmenu @end menu -@node Introduction, How to Run Tests, Top, Top +@node Introduction @chapter Introduction ERT allows you to define @emph{tests} in addition to functions, @@ -154,7 +154,7 @@ test. Tests should clean up even if they fail. @xref{Tests and Their Environment}. -@node How to Run Tests, How to Write Tests, Introduction, Top +@node How to Run Tests @chapter How to Run Tests You can run tests either in the Emacs you are working in, or on the @@ -172,7 +172,7 @@ different Emacs versions. @end menu -@node Running Tests Interactively, Running Tests in Batch Mode, How to Run Tests, How to Run Tests +@node Running Tests Interactively @section Running Tests Interactively You can run the tests that are currently defined in your Emacs with @@ -251,7 +251,7 @@ while point is on a test failure will increase the limits to show more of the expression. -@node Running Tests in Batch Mode, Test Selectors, Running Tests Interactively, How to Run Tests +@node Running Tests in Batch Mode @section Running Tests in Batch Mode ERT supports automated invocations from the command line or from @@ -275,7 +275,7 @@ additional @code{-L} flags to ensure that @code{my-tests.el} and all the files that it requires are on your @code{load-path}. -@node Test Selectors, , Running Tests in Batch Mode, How to Run Tests +@node Test Selectors @section Test Selectors Functions like @code{ert} accept a @emph{test selector}, a Lisp @@ -314,7 +314,7 @@ result in the last run, and tag-based selectors such as @code{(not @code{:causes-redisplay}. -@node How to Write Tests, How to Debug Tests, How to Run Tests, Top +@node How to Write Tests @chapter How to Write Tests ERT lets you define tests in the same way you define functions. You @@ -334,7 +334,7 @@ to find where a test was defined if the test was loaded from a file. * Useful Techniques:: Some examples. @end menu -@node The @code{should} Macro, Expected Failures, How to Write Tests, How to Write Tests +@node The @code{should} Macro @section The @code{should} Macro Test bodies can include arbitrary code; but to be useful, they need to @@ -398,7 +398,7 @@ default. @code{should} reports. -@node Expected Failures, Tests and Their Environment, The @code{should} Macro, How to Write Tests +@node Expected Failures @section Expected Failures Some bugs are complicated to fix, or not very important, and are left as @@ -451,7 +451,7 @@ versions, specific architectures, etc.: @end lisp -@node Tests and Their Environment, Useful Techniques, Expected Failures, How to Write Tests +@node Tests and Their Environment @section Tests and Their Environment The outcome of running a test should not depend on the current state @@ -506,7 +506,7 @@ by calling the corresponding function directly, after binding the hook variables to nil. This avoids the above problems. -@node Useful Techniques, , Tests and Their Environment, How to Write Tests +@node Useful Techniques @section Useful Techniques when Writing Tests Testing simple functions that have no side effects and no dependencies @@ -587,7 +587,7 @@ for testing. Usually, this makes the interfaces easier to use as well. -@node How to Debug Tests, Extending ERT, How to Write Tests, Top +@node How to Debug Tests @chapter How to Debug Tests This section describes how to use ERT's features to understand why @@ -600,7 +600,7 @@ a test failed. @end menu -@node Understanding Explanations, Interactive Debugging, How to Debug Tests, How to Debug Tests +@node Understanding Explanations @section Understanding Explanations Failed @code{should} forms are reported like this: @@ -667,7 +667,7 @@ ERT only provides explanations for predicates that have an explanation function registered. @xref{Defining Explanation Functions}. -@node Interactive Debugging, , Understanding Explanations, How to Debug Tests +@node Interactive Debugging @section Interactive Debugging Debugging failed tests essentially works the same way as debugging any @@ -712,7 +712,7 @@ forget about the obsolete test. @end itemize -@node Extending ERT, Other Testing Concepts, How to Debug Tests, Top +@node Extending ERT @chapter Extending ERT There are several ways to add functionality to ERT. @@ -723,7 +723,7 @@ There are several ways to add functionality to ERT. @end menu -@node Defining Explanation Functions, Low-Level Functions for Working with Tests, Extending ERT, Extending ERT +@node Defining Explanation Functions @section Defining Explanation Functions The explanation function for a predicate is a function that takes the @@ -741,7 +741,7 @@ The value of the property should be the symbol that names the explanation function. -@node Low-Level Functions for Working with Tests, , Defining Explanation Functions, Extending ERT +@node Low-Level Functions for Working with Tests @section Low-Level Functions for Working with Tests Both @code{ert-run-tests-interactively} and @code{ert-run-tests-batch} @@ -757,7 +757,7 @@ meant to be usable by other code. But there is no mature API yet. Contributions to ERT are welcome. -@node Other Testing Concepts, GNU Free Documentation License , Extending ERT, Top +@node Other Testing Concepts @chapter Other Testing Concepts For information on mocks, stubs, fixtures, or test suites, see below. @@ -768,7 +768,7 @@ For information on mocks, stubs, fixtures, or test suites, see below. * Fixtures and Test Suites:: How ERT differs from tools for other languages. @end menu -@node Mocks and Stubs, Fixtures and Test Suites, Other Testing Concepts, Other Testing Concepts +@node Mocks and Stubs @section Other Tools for Emacs Lisp Stubbing out functions or using so-called @emph{mocks} can make it @@ -781,7 +781,7 @@ ERT does not have built-in support for mocks or stubs. The package offers mocks for Emacs Lisp and can be used in conjunction with ERT. -@node Fixtures and Test Suites, , Mocks and Stubs, Other Testing Concepts +@node Fixtures and Test Suites @section Fixtures and Test Suites In many ways, ERT is similar to frameworks for other languages like @@ -840,7 +840,7 @@ e.g., to run quick tests during interactive development and slow tests less often. This can be achieved with the @code{:tag} argument to @code{ert-deftest} and @code{tag} test selectors. -@node GNU Free Documentation License, , Other Testing Concepts, Top +@node GNU Free Documentation License @appendix GNU Free Documentation License @include doclicense.texi diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index b23d5075b5..94093dc15c 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -58,7 +58,7 @@ modify this GNU manual.'' @c ================================================================ @ifnottex -@node Top, What is Eshell?, (dir), (dir) +@node Top @top Eshell Eshell is a shell-like command interpreter diff --git a/doc/misc/eudc.texi b/doc/misc/eudc.texi index 03438eab58..5b06cc7f11 100644 --- a/doc/misc/eudc.texi +++ b/doc/misc/eudc.texi @@ -48,9 +48,8 @@ modify this GNU manual.'' @contents @ifnottex -@node Top, Overview, (dir), (dir) +@node Top @top Emacs Unified Directory Client -@comment node-name, next, previous, up @insertcopying @end ifnottex @@ -69,8 +68,7 @@ modify this GNU manual.'' -@node Overview, Installation, Top, Top -@comment node-name, next, previous, up +@node Overview @chapter Overview EUDC, the @dfn{Emacs Unified Directory Client}, provides a common user @@ -115,8 +113,7 @@ Interface to BBDB to let you insert server records into your own BBDB database -@node LDAP, CCSO PH/QI, Overview, Overview -@comment node-name, next, previous, up +@node LDAP @section LDAP LDAP, @dfn{the Lightweight Directory Access Protocol}, is a communication @@ -142,8 +139,7 @@ EUDC requires external support to access LDAP directory servers (@pxref{LDAP Requirements}) -@node CCSO PH/QI, BBDB, LDAP, Overview -@comment node-name, next, previous, up +@node CCSO PH/QI @section CCSO PH/QI The Central Computing Services Office (CCSO) of the University of @@ -164,8 +160,7 @@ possible to change records in the database. This is not implemented in EUDC. -@node BBDB, , CCSO PH/QI, Overview -@comment node-name, next, previous, up +@node BBDB @section BBDB BBDB is the @dfn{Big Brother's Insidious Database}, a package for Emacs @@ -187,8 +182,7 @@ performing queries on multiple servers. EUDC also offers a means to insert results from directory queries into your own local BBDB (@pxref{Creating BBDB Records}) -@node Installation, Usage, Overview, Top -@comment node-name, next, previous, up +@node Installation @chapter Installation Add the following to your @file{.emacs} init file: @@ -218,8 +212,7 @@ email composition buffers (@pxref{Inline Query Expansion}) * LDAP Requirements:: EUDC needs external support for LDAP @end menu -@node LDAP Requirements, , Installation, Installation -@comment node-name, next, previous, up +@node LDAP Requirements @section LDAP Requirements LDAP support is added by means of @file{ldap.el}, which is part of Emacs. @@ -228,8 +221,7 @@ LDAP support is added by means of @file{ldap.el}, which is part of Emacs. (@url{http://www.openldap.org/}). -@node Usage, Credits, Installation, Top -@comment node-name, next, previous, up +@node Usage @chapter Usage This chapter describes the usage of EUDC@. Most functions and @@ -248,8 +240,7 @@ submenu of the @samp{Tools} submenu. @end menu -@node Querying Servers, Query Form, Usage, Usage -@comment node-name, next, previous, up +@node Querying Servers @section Querying Servers EUDC's basic functionality is to let you query a directory server and @@ -263,7 +254,7 @@ to customize in this process. * Duplicate Attributes:: What to do when records have duplicate attributes @end menu -@node Selecting a Server, Return Attributes, Querying Servers, Querying Servers +@node Selecting a Server @subsection Selecting a Server Before doing any query you will need to set the directory server. You @@ -302,7 +293,7 @@ This command accessible from @samp{New Server} submenu lets you specify a new directory server and protocol. @end deffn -@node Return Attributes, Duplicate Attributes, Selecting a Server, Querying Servers +@node Return Attributes @subsection Return Attributes Directory servers may be configured to return a default set of @@ -326,7 +317,7 @@ If non-@code{nil}, entries that do not contain all the requested return attributes are ignored. Default is @code{t}. @end defopt -@node Duplicate Attributes, , Return Attributes, Querying Servers +@node Duplicate Attributes @subsection Duplicate Attributes Directory standards may authorize different instances of the same @@ -381,8 +372,7 @@ to all attribute names. Available methods are: @code{list}, -@node Query Form, Display of Query Results, Querying Servers, Usage -@comment node-name, next, previous, up +@node Query Form @section Query Form The simplest way to query your directory server is to use the query @@ -436,8 +426,7 @@ Otherwise, directory query/response forms display the user attribute names defined in @code{eudc-user-attribute-names-alist}. @end defvar -@node Display of Query Results, Inline Query Expansion, Query Form, Usage -@comment node-name, next, previous, up +@node Display of Query Results @section Display of Query Results Upon successful completion of a form query, EUDC will display a buffer @@ -514,8 +503,7 @@ be passed to the program. @end defvar -@node Inline Query Expansion, The Server Hotlist, Display of Query Results, Usage -@comment node-name, next, previous, up +@node Inline Query Expansion @section Inline Query Expansion Inline query expansion is a powerful method to get completion from your @@ -615,8 +603,7 @@ Default is @code{select} -@node The Server Hotlist, Multi-server Queries, Inline Query Expansion, Usage -@comment node-name, next, previous, up +@node The Server Hotlist @section The Server Hotlist EUDC lets you maintain a list of frequently used servers so that you @@ -654,8 +641,7 @@ loaded. * The Hotlist Edit Buffer:: An interactive hotlist editing facility @end menu -@node The Hotlist Edit Buffer, , The Server Hotlist, The Server Hotlist -@comment node-name, next, previous, up +@node The Hotlist Edit Buffer @subsection The Hotlist Edit Buffer The hotlist edit buffer offers a means to manage a list of frequently @@ -691,8 +677,7 @@ Save the changes and quit the hotlist edit buffer. Use @kbd{x} or @end deffn -@node Multi-server Queries, Creating BBDB Records, The Server Hotlist, Usage -@comment node-name, next, previous, up +@node Multi-server Queries @section Multi-server Queries When using inline query expansion (@pxref{Inline Query Expansion}), EUDC @@ -723,8 +708,7 @@ that all available servers should be tried. -@node Creating BBDB Records, Server/Protocol Locals, Multi-server Queries, Usage -@comment node-name, next, previous, up +@node Creating BBDB Records @section Creating BBDB Records @findex eudc-insert-record-at-point-into-bbdb @@ -839,8 +823,7 @@ Note that only a subset of the attributes you selected with actually be inserted as part of the newly created BBDB record. -@node Server/Protocol Locals, , Creating BBDB Records, Usage -@comment node-name, next, previous, up +@node Server/Protocol Locals @section Server/Protocol Locals EUDC can be customized independently for each server or directory @@ -852,8 +835,7 @@ like buffer-local bindings but on a per server or per protocol basis. * Manipulating local bindings:: Functions to set and query local bindings @end menu -@node Manipulating local bindings, , Server/Protocol Locals, Server/Protocol Locals -@comment node-name, next, previous, up +@node Manipulating local bindings @subsection Manipulating local bindings EUDC offers functions that let you set and query variables on a per @@ -930,8 +912,7 @@ Update all EUDC variables according to their local settings. -@node Credits, GNU Free Documentation License, Usage, Top -@comment node-name, next, previous, up +@node Credits @chapter Credits EUDC was written by Oscar Figueiredo based on @file{ph.el} by the @@ -940,18 +921,16 @@ same author. Thanks to Soren Dayton for his suggestions, his enthusiasm and his help in testing and proofreading the code and docs of @file{ph.el}. -@node GNU Free Documentation License, Command and Function Index, Credits, Top +@node GNU Free Documentation License @appendix GNU Free Documentation License @include doclicense.texi -@node Command and Function Index, Variables Index, GNU Free Documentation License, Top -@comment node-name, next, previous, up +@node Command and Function Index @unnumbered Command and Function Index @printindex fn -@node Variables Index, , Command and Function Index, Top -@comment node-name, next, previous, up +@node Variables Index @unnumbered Variables Index @printindex vr diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 8d0d5cdc40..65e2ce6150 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -1579,6 +1579,10 @@ times you start Gnus. @vindex gnus-before-startup-hook A hook called as the first thing when Gnus is started. +@item gnus-before-resume-hook +@vindex gnus-before-resume-hook +A hook called as the first thing when Gnus is resumed after a suspend. + @item gnus-startup-hook @vindex gnus-startup-hook A hook run as the very last thing after starting up Gnus @@ -3641,6 +3645,15 @@ Describe the current group (@code{gnus-browse-describe-group}). @findex gnus-browse-describe-briefly Describe browse mode briefly (well, there's not much to describe, is there) (@code{gnus-browse-describe-briefly}). + +@item DEL +@kindex DEL (Browse) +@findex gnus-browse-delete-group +This function will delete the current group +(@code{gnus-browse-delete-group}). If given a prefix, this function +will actually delete all the articles in the group, and forcibly +remove the group itself from the face of the Earth. Use a prefix only +if you are absolutely sure of what you are doing. @end table @@ -14195,7 +14208,11 @@ what you need. @item nnimap-authenticator Some @acronym{IMAP} servers allow anonymous logins. In that case, -this should be set to @code{anonymous}. +this should be set to @code{anonymous}. If this variable isn't set, +the normal login methods will be used. If you wish to specify a +specific login method to be used, you can set this variable to either +@code{login} (the traditional @acronym{IMAP} login method), +@code{plain} or @code{cram-md5}. @item nnimap-expunge If non-@code{nil}, expunge articles after deleting them. This is always done @@ -14758,20 +14775,37 @@ This can be either the symbol @code{password} or the symbol @code{apop} and says what authentication scheme to use. The default is @code{password}. +@item :leave +Non-@code{nil} if the mail is to be left on the @acronym{POP} server +after fetching. Mails once fetched will never be fetched again by the +@acronym{UIDL} control. Only the built-in @code{pop3-movemail} program +(the default) supports this keyword. + +If this is neither @code{nil} nor a number, all mails will be left on +the server. If this is a number, leave mails on the server for this +many days since you first checked new mails. If this is @code{nil} +(the default), mails will be deleted on the server right after fetching. + +@vindex pop3-uidl-file +The @code{pop3-uidl-file} variable specifies the file to which the +@acronym{UIDL} data are locally stored. The default value is +@file{~/.pop3-uidl}. + +Note that @acronym{POP} servers maintain no state information between +sessions, so what the client believes is there and what is actually +there may not match up. If they do not, then you may get duplicate +mails or the whole thing can fall apart and leave you with a corrupt +mailbox. + @end table -@vindex pop3-movemail +@findex pop3-movemail @vindex pop3-leave-mail-on-server If the @code{:program} and @code{:function} keywords aren't specified, -@code{pop3-movemail} will be used. If @code{pop3-leave-mail-on-server} -is non-@code{nil} the mail is to be left on the @acronym{POP} server -after fetching when using @code{pop3-movemail}. Note that POP servers -maintain no state information between sessions, so what the client -believes is there and what is actually there may not match up. If they -do not, then you may get duplicate mails or the whole thing can fall -apart and leave you with a corrupt mailbox. +@code{pop3-movemail} will be used. Here are some examples for getting mail from a @acronym{POP} server. + Fetch from the default @acronym{POP} server, using the default user name, and default fetcher: @@ -14786,6 +14820,14 @@ Fetch from a named server with a named user and password: :user "user-name" :password "secret") @end lisp +Leave mails on the server for 14 days: + +@lisp +(pop :server "my.pop.server" + :user "user-name" :password "secret" + :leave 14) +@end lisp + Use @samp{movemail} to move the mail: @lisp diff --git a/doc/misc/gpl.texi b/doc/misc/gpl.texi index 1908d1f8f9..0e2e212acb 100644 --- a/doc/misc/gpl.texi +++ b/doc/misc/gpl.texi @@ -2,7 +2,7 @@ @center Version 3, 29 June 2007 @c This file is intended to be included within another document, -@c hence no sectioning command or @node. +@c hence no sectioning command or @node. @display Copyright @copyright{} 2007 Free Software Foundation, Inc. @url{http://fsf.org/} @@ -222,7 +222,7 @@ terms of section 4, provided that you also meet all of these conditions: @enumerate a -@item +@item The work must carry prominent notices stating that you modified it, and giving a relevant date. @@ -623,12 +623,12 @@ later version. @item Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +APPLICABLE LAW@. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND -PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE +A PARTICULAR PURPOSE@. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU@. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. @@ -670,7 +670,7 @@ state the exclusion of warranty; and each file should have at least the ``copyright'' line and a pointer to where the full notice is found. @smallexample -@var{one line to give the program's name and a brief idea of what it does.} +@var{one line to give the program's name and a brief idea of what it does.} Copyright (C) @var{year} @var{name of author} This program is free software: you can redistribute it and/or modify @@ -680,7 +680,7 @@ your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE@. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License @@ -693,7 +693,7 @@ If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: @smallexample -@var{program} Copyright (C) @var{year} @var{name of author} +@var{program} Copyright (C) @var{year} @var{name of author} This program comes with ABSOLUTELY NO WARRANTY; for details type @samp{show w}. This is free software, and you are welcome to redistribute it under certain conditions; type @samp{show c} for details. diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi index 0c817adcb3..a432d4dc14 100644 --- a/doc/misc/idlwave.texi +++ b/doc/misc/idlwave.texi @@ -55,7 +55,7 @@ modify this GNU manual.'' @contents @ifnottex -@node Top, Introduction, (dir), (dir) +@node Top @top IDLWAVE IDLWAVE is a package which supports editing source code written in the @@ -165,7 +165,7 @@ Catalogs @end detailmenu @end menu -@node Introduction, IDLWAVE in a Nutshell, Top, Top +@node Introduction @chapter Introduction @cindex Introduction @cindex CORBA (Common Object Request Broker Architecture) @@ -271,7 +271,7 @@ configure it, see the documentation string of that variable (available with @kbd{C-h v}). Some configuration examples are also given in the appendix. -@node IDLWAVE in a Nutshell, Getting Started, Introduction, Top +@node IDLWAVE in a Nutshell @chapter IDLWAVE in a Nutshell @cindex Summary of important commands @cindex IDLWAVE in a Nutshell @@ -365,7 +365,7 @@ at point. @end html -@node Getting Started, The IDLWAVE Major Mode, IDLWAVE in a Nutshell, Top +@node Getting Started @chapter Getting Started (Tutorial) @cindex Quick-Start @cindex Tutorial @@ -377,7 +377,7 @@ at point. * Lesson III---User Catalog:: @end menu -@node Lesson I---Development Cycle, Lesson II---Customization, Getting Started, Getting Started +@node Lesson I---Development Cycle @section Lesson I: Development Cycle The purpose of this tutorial is to guide you through a very basic @@ -551,7 +551,7 @@ command. Everything should now work fine. How about those leap years? Change the code to plot 100 years and see that every 28 years, the sequence of weekdays repeats. -@node Lesson II---Customization, Lesson III---User Catalog, Lesson I---Development Cycle, Getting Started +@node Lesson II---Customization @section Lesson II: Customization Emacs is probably the most customizable piece of software ever written, @@ -661,7 +661,7 @@ endless. Here we set function keys f4-f8 to common debugging commands. (local-set-key [f8] 'idlwave-shell-clear-all-bp))) @end lisp -@node Lesson III---User Catalog, , Lesson II---Customization, Getting Started +@node Lesson III---User Catalog @section Lesson III: User and Library Catalogs We have already used the routine info display in the first part of this @@ -721,7 +721,7 @@ the manual, look at the documentation strings of interesting variables (with @kbd{C-h v idlwave<-variable-name> @key{RET}}) and ask the remaining questions on the newsgroup @code{comp.lang.idl-pvwave}. -@node The IDLWAVE Major Mode, The IDLWAVE Shell, Getting Started, Top +@node The IDLWAVE Major Mode @chapter The IDLWAVE Major Mode @cindex IDLWAVE major mode @cindex Major mode, @code{idlwave-mode} @@ -745,7 +745,7 @@ them. * Misc Options:: Things that fit nowhere else @end menu -@node Code Formatting, Routine Info, The IDLWAVE Major Mode, The IDLWAVE Major Mode +@node Code Formatting @section Code Formatting @cindex Code formatting @cindex Formatting, of code @@ -773,7 +773,7 @@ you. After configuring it to match your coding standards, you can rely on it to help keep your code neat and organized. -@node Code Indentation, Continued Statement Indentation, Code Formatting, Code Formatting +@node Code Indentation @subsection Code Indentation @cindex Code indentation @cindex Indentation @@ -813,7 +813,7 @@ Extra indentation applied to block END lines. A value equal to negative BEGIN lines. @end defopt -@node Continued Statement Indentation, Comment Indentation, Code Indentation, Code Formatting +@node Continued Statement Indentation @subsection Continued Statement Indentation @cindex Indentation, continued statement @cindex Continued statement indentation @@ -887,7 +887,7 @@ parenthesis, regardless of whether the @code{idlwave-max-extra-continuation-indent} limit is satisfied. @end defopt -@node Comment Indentation, Continuation Lines, Continued Statement Indentation, Code Formatting +@node Comment Indentation @subsection Comment Indentation @cindex Comment indentation @cindex Hanging paragraphs @@ -924,7 +924,7 @@ A comment that starts with this regexp is indented as if it is a part of IDL code. @end defopt -@node Continuation Lines, Syntax Highlighting, Comment Indentation, Code Formatting +@node Continuation Lines @subsection Continuation Lines and Filling @cindex Continuation lines @cindex Line splitting @@ -1000,7 +1000,7 @@ Non-@code{nil} means use last match on line for @code{idlwave-indent-regexp}. @end defopt -@node Syntax Highlighting, Octals and Highlighting, Continuation Lines, Code Formatting +@node Syntax Highlighting @subsection Syntax Highlighting @cindex Syntax highlighting @cindex Highlighting of syntax @@ -1028,7 +1028,7 @@ Items which should be fontified on the default fontification level 2. @end defopt -@node Octals and Highlighting, , Syntax Highlighting, Code Formatting +@node Octals and Highlighting @subsection Octals and Highlighting @cindex Syntax highlighting, Octals @cindex Highlighting of syntax, Octals @@ -1058,7 +1058,7 @@ altogether, and use the more sensible alternative IDL provides: @noindent This simultaneously solves the font-lock problem and is more consistent with the notation for hexadecimal numbers, e.g., @code{'C5'XB}. -@node Routine Info, Online Help, Code Formatting, The IDLWAVE Major Mode +@node Routine Info @section Routine Info @cindex Routine info @cindex Updating routine info @@ -1236,7 +1236,7 @@ Maximum number of source files displayed in the Routine Info window. @html @end html -@node Online Help, Completion, Routine Info, The IDLWAVE Major Mode +@node Online Help @section Online Help @cindex Online Help @@ -1343,7 +1343,7 @@ directly in the originating source file. * Help with Source:: @end menu -@node Help with HTML Documentation, Help with Source, Online Help, Online Help +@node Help with HTML Documentation @subsection Help with HTML Documentation @cindex HTML Help @cindex Help using HTML manuals @@ -1422,7 +1422,7 @@ contains "-w3". The face for links to IDLWAVE online help. @end defopt -@node Help with Source, , Help with HTML Documentation, Online Help +@node Help with Source @subsection Help with Source @cindex Help using routine source @@ -1509,7 +1509,7 @@ The case-insensitive heading word in doclib headers to locate the @end defopt -@node Completion, Routine Source, Online Help, The IDLWAVE Major Mode +@node Completion @section Completion @cindex Completion @cindex Keyword completion @@ -1617,7 +1617,7 @@ available. * Structure Tag Completion:: Completing state.Tag @end menu -@node Case of Completed Words, Object Method Completion and Class Ambiguity, Completion, Completion +@node Case of Completed Words @subsection Case of Completed Words @cindex Case of completed words @cindex Mixed case completion @@ -1654,7 +1654,7 @@ Non-@code{nil} means the empty string is considered lower case for completion. @end defopt -@node Object Method Completion and Class Ambiguity, Object Method Completion in the Shell, Case of Completed Words, Completion +@node Object Method Completion and Class Ambiguity @subsection Object Method Completion and Class Ambiguity @cindex Object methods @cindex Class ambiguity @@ -1717,7 +1717,7 @@ Face to highlight object operator arrows @samp{->} which carry a saved class text property. @end defopt -@node Object Method Completion in the Shell, Class and Keyword Inheritance, Object Method Completion and Class Ambiguity, Completion +@node Object Method Completion in the Shell @subsection Object Method Completion in the Shell @cindex Method Completion in Shell In the IDLWAVE Shell (@pxref{The IDLWAVE Shell}), objects on which @@ -1730,7 +1730,7 @@ class found will be used to select appropriate completions, routine info, or help. If unsuccessful, information from all known classes will be used (as in the buffer). -@node Class and Keyword Inheritance, Structure Tag Completion, Object Method Completion in the Shell, Completion +@node Class and Keyword Inheritance @subsection Class and Keyword Inheritance @cindex Inheritance, class @cindex Keyword inheritance @@ -1776,7 +1776,7 @@ A list of regular expressions to match methods for which simple class-driven keyword inheritance will be used for Completion. @end defopt -@node Structure Tag Completion, , Class and Keyword Inheritance, Completion +@node Structure Tag Completion @subsection Structure Tag Completion @cindex Completion, structure tag @cindex Structure tag completion @@ -1818,7 +1818,7 @@ IDL> st.[Tab] @noindent will complete with all structure fields of the structure @code{st}. -@node Routine Source, Resolving Routines, Completion, The IDLWAVE Major Mode +@node Routine Source @section Routine Source @cindex Routine source file @cindex Module source file @@ -1844,7 +1844,7 @@ sometimes created. The special command @kbd{C-c C-k} (@code{idlwave-kill-autoloaded-buffers}) can be used to easily remove these buffers. -@node Resolving Routines, Code Templates, Routine Source, The IDLWAVE Major Mode +@node Resolving Routines @section Resolving Routines @cindex @code{RESOLVE_ROUTINE} @cindex Compiling library modules @@ -1865,7 +1865,7 @@ compile the modules first, and even without a running shell. @xref{Sources of Routine Info}, for more information on the ways IDLWAVE collects data about routines, and how to update this information. -@node Code Templates, Abbreviations, Resolving Routines, The IDLWAVE Major Mode +@node Code Templates @section Code Templates @cindex Code templates @cindex Templates @@ -1887,7 +1887,7 @@ templates, this is done with direct key bindings: All code templates are also available as abbreviations (@pxref{Abbreviations}). -@node Abbreviations, Actions, Code Templates, The IDLWAVE Major Mode +@node Abbreviations @section Abbreviations @cindex Abbreviations @@ -2073,7 +2073,7 @@ Non-@code{nil} means the abbrev hook can move point, e.g., to end up between the parentheses of a function call. @end defopt -@node Actions, Doc Header, Abbreviations, The IDLWAVE Major Mode +@node Actions @section Actions @cindex Actions @cindex Coding standards, enforcing @@ -2121,7 +2121,7 @@ settings are described below and set separately. * Case Changes:: Enforcing upper case keywords @end menu -@node Block Boundary Check, Padding Operators, Actions, Actions +@node Block Boundary Check @subsection Block Boundary Check @cindex Block boundary check @cindex @code{END} type checking @@ -2154,7 +2154,7 @@ Non-@code{nil} means expand generic END to ENDIF/ENDELSE/ENDWHILE etc. Non-@code{nil} means re-indent line after END was typed. @end defopt -@node Padding Operators, Case Changes, Block Boundary Check, Actions +@node Padding Operators @subsection Padding Operators @cindex Padding operators with spaces @cindex Operators, padding with spaces @@ -2203,7 +2203,7 @@ surrounded with spaces by @code{idlwave-surround}. Non-@code{nil} means space-pad the @samp{=} in keyword assignments. @end defopt -@node Case Changes, , Padding Operators, Actions +@node Case Changes @subsection Case Changes @cindex Case changes @cindex Upcase, enforcing for reserved words @@ -2245,7 +2245,7 @@ expansion. @end defopt -@node Doc Header, Motion Commands, Actions, The IDLWAVE Major Mode +@node Doc Header @section Documentation Header @cindex Documentation header @cindex DocLib header @@ -2289,7 +2289,7 @@ Regexp matching the start of a document library header. Regexp matching the start of a document library header. @end defopt -@node Motion Commands, Misc Options, Doc Header, The IDLWAVE Major Mode +@node Motion Commands @section Motion Commands @cindex Motion commands @cindex Program structure, moving through @@ -2339,7 +2339,7 @@ IDL program: @end multitable -@node Misc Options, , Motion Commands, The IDLWAVE Major Mode +@node Misc Options @section Miscellaneous Options @cindex Hooks @@ -2360,7 +2360,7 @@ Normal hook. Executed when a buffer is put into @code{idlwave-mode}. Normal hook. Executed when @file{idlwave.el} is loaded. @end defopt -@node The IDLWAVE Shell, Acknowledgments, The IDLWAVE Major Mode, Top +@node The IDLWAVE Shell @chapter The IDLWAVE Shell @cindex IDLWAVE shell @cindex Major mode, @code{idlwave-shell-mode} @@ -2389,7 +2389,7 @@ currently only works under Unix and MacOSX. * Custom Expression Examination:: @end menu -@node Starting the Shell, Using the Shell, The IDLWAVE Shell, The IDLWAVE Shell +@node Starting the Shell @section Starting the Shell @cindex Starting the shell @cindex Shell, starting @@ -2499,7 +2499,7 @@ The prefix for temporary IDL files used when compiling regions. Hook for customizing @code{idlwave-shell-mode}. @end defopt -@node Using the Shell, Commands Sent to the Shell, Starting the Shell, The IDLWAVE Shell +@node Using the Shell @section Using the Shell @cindex Comint @cindex Shell, basic commands @@ -2626,7 +2626,7 @@ The three regular expressions which match the magic spells for input modes. @end defopt -@node Commands Sent to the Shell, Debugging IDL Programs, Using the Shell, The IDLWAVE Shell +@node Commands Sent to the Shell @section Commands Sent to the Shell @cindex Commands in shell, showing @cindex Showing commands in shell @@ -2667,7 +2667,7 @@ As a special case, any error message in the output will be displayed (e.g., stepping to an error). @end defopt -@node Debugging IDL Programs, Examining Variables, Commands Sent to the Shell, The IDLWAVE Shell +@node Debugging IDL Programs @section Debugging IDL Programs @cindex Debugging @cindex Keybindings for debugging @@ -2705,7 +2705,7 @@ buffers. @end menu -@node A Tale of Two Modes, Debug Key Bindings, Debugging IDL Programs, Debugging IDL Programs +@node A Tale of Two Modes @subsection A Tale of Two Modes @cindex Electric Debug Mode @cindex Debugging Interface @@ -2725,7 +2725,7 @@ Mode}, for more on that mode. Note that electric debug mode can be prevented from activating automatically by customizing the variable @code{idlwave-shell-automatic-electric-debug}. -@node Debug Key Bindings, Breakpoints and Stepping, A Tale of Two Modes, Debugging IDL Programs +@node Debug Key Bindings @subsection Debug Key Bindings @kindex C-c C-d @cindex Key bindings @@ -2771,7 +2771,7 @@ more of @code{control}, @code{meta}, @code{super}, @code{hyper}, @code{alt}, and @code{shift}. @end defopt -@node Breakpoints and Stepping, Compiling Programs, Debug Key Bindings, Debugging IDL Programs +@node Breakpoints and Stepping @subsection Breakpoints and Stepping @cindex Breakpoints @cindex Stepping @@ -2903,7 +2903,7 @@ configured in @code{idlwave-shell-mark-stop-line}. @end defopt -@node Compiling Programs, Walking the Calling Stack, Breakpoints and Stepping, Debugging IDL Programs +@node Compiling Programs @subsection Compiling Programs @cindex Compiling programs @cindex Programs, compiling @@ -2936,7 +2936,7 @@ level program @kbd{C-c C-d C-e} (@code{idlwave-shell-run-region}) is very useful. A temporary file is created holding the contents of the current region (with @code{END} appended), and run from the shell. -@node Walking the Calling Stack, Electric Debug Mode, Compiling Programs, Debugging IDL Programs +@node Walking the Calling Stack @subsection Walking the Calling Stack @cindex Calling stack, walking @@ -2958,7 +2958,7 @@ higher calling stack levels. @html @end html -@node Electric Debug Mode, , Walking the Calling Stack, Debugging IDL Programs +@node Electric Debug Mode @subsection Electric Debug Mode @cindex Electric Debug Mode @cindex @samp{*Debugging*} @@ -3095,7 +3095,7 @@ window, but is useful for immediate stepping, etc. @html @end html -@node Examining Variables, Custom Expression Examination, Debugging IDL Programs, The IDLWAVE Shell +@node Examining Variables @section Examining Variables @cindex @code{PRINT} expressions @cindex @code{HELP}, on expressions @@ -3202,7 +3202,7 @@ The maximum number of leading array entries to print, when examining array expressions. @end defopt -@node Custom Expression Examination, , Examining Variables, The IDLWAVE Shell +@node Custom Expression Examination @section Custom Expression Examination @cindex Expressions, custom examination @cindex Custom expression examination @@ -3272,7 +3272,7 @@ examine command strings to send, after all instances of @code{___} (three underscores) are replaced by the indicated expression. @end defopt -@node Acknowledgments, Sources of Routine Info, The IDLWAVE Shell, Top +@node Acknowledgments @chapter Acknowledgments @cindex Acknowledgments @cindex Maintainer, of IDLWAVE @@ -3351,7 +3351,7 @@ scripts and documentation to interface with the IDL Assistant. @noindent Thanks to everyone! -@node Sources of Routine Info, HTML Help Browser Tips, Acknowledgments, Top +@node Sources of Routine Info @appendix Sources of Routine Info @cindex Sources of routine information @@ -3368,7 +3368,7 @@ know about the accessible routines. * Documentation Scan:: Scanning the IDL Manuals @end menu -@node Routine Definitions, Routine Information Sources, Sources of Routine Info, Sources of Routine Info +@node Routine Definitions @appendixsec Routine Definitions @cindex Routine definitions @cindex IDL variable @code{!PATH} @@ -3404,7 +3404,7 @@ cannot provide routine info and completion for such external routines, except by querying the Shell for calling information (DLMs only). @end enumerate -@node Routine Information Sources, Catalogs, Routine Definitions, Sources of Routine Info +@node Routine Information Sources @appendixsec Routine Information Sources @cindex Routine info sources @cindex Builtin list of routines @@ -3491,7 +3491,7 @@ Controls under what circumstances routine info is updated automatically. @html @end html -@node Catalogs, Load-Path Shadows, Routine Information Sources, Sources of Routine Info +@node Catalogs @appendixsec Catalogs @cindex Catalogs @@ -3553,7 +3553,7 @@ later). @html @end html -@node Library Catalogs, User Catalog, Catalogs, Catalogs +@node Library Catalogs @appendixsubsec Library Catalogs @cindex @file{.idlwave_catalog} @cindex Library catalogs @@ -3617,7 +3617,7 @@ Whether to search for and load library catalogs. Disable if load performance is a problem and/or the catalogs are not needed. @end defopt -@node User Catalog, , Library Catalogs, Catalogs +@node User Catalog @appendixsubsec User Catalog @cindex User catalog @cindex IDL library routine info @@ -3690,7 +3690,7 @@ Alist of regular expressions matching special library directories for labeling in routine-info display. @end defopt -@node Load-Path Shadows, Documentation Scan, Catalogs, Sources of Routine Info +@node Load-Path Shadows @appendixsec Load-Path Shadows @cindex Load-path shadows @cindex Shadows, load-path @@ -3750,7 +3750,7 @@ routines. Another way to find out if a specific routine has multiple definitions on the load path is routine info display (@pxref{Routine Info}). -@node Documentation Scan, , Load-Path Shadows, Sources of Routine Info +@node Documentation Scan @appendixsec Documentation Scan @cindex @file{get_html_rinfo} @cindex @file{idlw-rinfo.el} @@ -3783,7 +3783,7 @@ scanning the HTML documents produced from the IDL documentation. Instructions on how to use @file{get_html_rinfo} are in the program itself. -@node HTML Help Browser Tips, Configuration Examples, Sources of Routine Info, Top +@node HTML Help Browser Tips @appendix HTML Help Browser Tips @cindex Browser Tips @@ -3858,7 +3858,7 @@ Note that you can open the file in an external browser from within @code{w3m} using @kbd{M}. @end itemize -@node Configuration Examples, Windows and MacOS, HTML Help Browser Tips, Top +@node Configuration Examples @appendix Configuration Examples @cindex Configuration examples @cindex Example configuration @@ -4021,7 +4021,7 @@ user is King! @html @end html -@node Windows and MacOS, Troubleshooting, Configuration Examples, Top +@node Windows and MacOS @appendix Windows and MacOS @cindex Windows @cindex MacOS @@ -4079,7 +4079,7 @@ help can skip the browser and use the HTMLHelp functionality directly. @html @end html -@node Troubleshooting, GNU Free Documentation License, Windows and MacOS, Top +@node Troubleshooting @appendix Troubleshooting @cindex Troubleshooting @@ -4285,11 +4285,11 @@ IDLWAVE is @samp{fsf-compat, xemacs-base, mail-lib}. @end enumerate -@node GNU Free Documentation License, Index, Troubleshooting, Top +@node GNU Free Documentation License @appendix GNU Free Documentation License @include doclicense.texi -@node Index, , GNU Free Documentation License, Top +@node Index @unnumbered Index @printindex cp diff --git a/doc/misc/info.texi b/doc/misc/info.texi index 70dfffde39..d17a65571f 100644 --- a/doc/misc/info.texi +++ b/doc/misc/info.texi @@ -1079,7 +1079,8 @@ partial node name. node name by putting it at the front, in parentheses. Thus, @kbd{g(dir)Top@key{RET}} would go to the Info Directory node, which is the node @samp{Top} in the Info file @file{dir}. Likewise, -@kbd{g(emacs)Top@key{RET}} goes to the top node of the Emacs manual. +@kbd{g(emacs)Top@key{RET}} (or just @kbd{g(emacs)@key{RET}}) goes to the +top node of the Emacs manual. The node name @samp{*} specifies the whole file. So you can look at all of the current file by typing @kbd{g*@key{RET}} or all of any diff --git a/doc/misc/makefile.w32-in b/doc/misc/makefile.w32-in index b0ea0ed151..11c76dcfcf 100644 --- a/doc/misc/makefile.w32-in +++ b/doc/misc/makefile.w32-in @@ -259,9 +259,9 @@ $(infodir)/ebrowse$(INFO_EXT): ebrowse.texi ebrowse.dvi: ebrowse.texi $(ENVADD) $(TEXI2DVI) $(srcdir)/ebrowse.texi -$(infodir)/woman$(INFO_EXT): woman.texi +$(infodir)/woman$(INFO_EXT): woman.texi $(emacsdir)/emacsver.texi $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ woman.texi -woman.dvi: woman.texi +woman.dvi: woman.texi $(emacsdir)/emacsver.texi $(ENVADD) $(TEXI2DVI) $(srcdir)/woman.texi $(infodir)/speedbar$(INFO_EXT): speedbar.texi @@ -309,9 +309,9 @@ $(infodir)/rcirc$(INFO_EXT): rcirc.texi rcirc.dvi: rcirc.texi $(ENVADD) $(TEXI2DVI) $(srcdir)/rcirc.texi -$(infodir)/erc$(INFO_EXT): erc.texi gpl.texi +$(infodir)/erc$(INFO_EXT): erc.texi $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ erc.texi -erc.dvi: erc.texi gpl.texi +erc.dvi: erc.texi $(ENVADD) $(TEXI2DVI) $(srcdir)/erc.texi $(infodir)/ert$(INFO_EXT): ert.texi diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi index fa35aa4598..756d5d5299 100644 --- a/doc/misc/mh-e.texi +++ b/doc/misc/mh-e.texi @@ -8,12 +8,12 @@ @c %**end of header @c Version of the software and manual. -@set VERSION 8.3 +@set VERSION 8.4 @c Edition of the manual. It is either empty for the first edition or @c has the form ", nth Edition" (without the quotes). @set EDITION -@set UPDATED 2011-09-20 -@set UPDATE-MONTH September, 2011 +@set UPDATED 2012-11-25 +@set UPDATE-MONTH November, 2012 @c Other variables. @set MH-BOOK-HOME http://rand-mh.sourceforge.net/book/mh @@ -212,7 +212,7 @@ more niceties about GNU Emacs and MH@. Now I'm fully hooked on both of them. The MH-E package is distributed with Emacs@footnote{Version -@value{VERSION} of MH-E appeared in Emacs 24.1. It is supported in GNU +@value{VERSION} of MH-E appeared in Emacs 24.4. It is supported in GNU Emacs 23 and higher, as well as XEmacs 21.4.22 and 21.5.31. MH-E is known not to work with GNU Emacs versions 20 and below, and XEmacs version 21.5.9--21.5.16. It is compatible with MH versions 6.8.4 and @@ -6966,23 +6966,22 @@ swish-e -c /home/user/Mail/.swish/config @cindex @command{mairix} @cindex Unix commands, @command{mairix} -In the examples below, replace @file{/home/user/Mail} with the path to -your MH directory. +In the examples below, replace @file{~/Mail} with the path to your MH +directory. -First create the directory @file{/home/user/Mail/.mairix}. Then create -the file @file{/home/user/Mail/.mairix/config} with the following -contents: +First create the directory @file{~/Mail/.mairix}. Then create the file +@file{~/Mail/.mairix/config} with the following contents: @smallexample @group -base=/home/user/Mail +base=~/Mail # List of folders that should be indexed. 3 dots at the end means there # are subfolders within the folder mh=archive...:inbox:drafts:news:sent:trash -vfolder_format=mh -database=/home/user/Mail/.mairix/database +mformat=mh +database=~/Mail/.mairix/database @end group @end smallexample @@ -6990,7 +6989,7 @@ Use the following command line to generate the mairix index. Run this daily from cron: @smallexample -mairix -f /home/user/Mail/.mairix/config +mairix -f ~/Mail/.mairix/config @end smallexample @subsection namazu @@ -7395,6 +7394,9 @@ The name of the MH sequence for ticked messages (default: @samp{'tick}). @item mh-update-sequences-after-mh-show-flag On means flush MH sequences to disk after message is shown (default: @samp{on}). +@item mh-whitelist-preserves-sequences-flag +On means that sequences are preserved when messages are whitelisted +(default: @samp{on}). @end vtable The following hook is available. @@ -7600,6 +7602,40 @@ Disposition of junk mail (default: @samp{Delete Spam}). Spam program that MH-E should use (default: @samp{Auto-detect}). @end vtable +@cindex @samp{mh-sequences} customization group +@cindex customization group, @samp{mh-sequences} + +The following option in the @samp{mh-sequences} customization group is +also available. + +@vtable @code +@item mh-whitelist-preserves-sequences-flag +On means that sequences are preserved when messages are whitelisted +(default: @samp{on}). +@end vtable + +The following hooks are available. + +@vtable @code +@item mh-blacklist-msg-hook +Hook run by @kbd{J b} (@code{mh-junk-blacklist}) after marking each +message for blacklisting (default: @code{nil}). +@c ------------------------- +@item mh-whitelist-msg-hook +Hook run by @kbd{J w} (@code{mh-junk-whitelist}) after marking each +message for whitelisting (default @samp{nil}). +@end vtable + +The following faces are available. + +@vtable @code +@item mh-folder-blacklisted +Blacklisted message face. +@c ------------------------- +@item mh-folder-whitelisted +Whitelisted message face +@end vtable + @cindex SpamProbe @cindex Spamassassin @cindex bogofilter @@ -7642,6 +7678,18 @@ reclassifies a range of messages (@pxref{Ranges}) as ham if it were incorrectly classified as spam. It then refiles the message into the @file{+inbox} folder. +@cindex MH profile component, @samp{Previous-Sequence:} +@cindex @samp{cur} sequence +@cindex @samp{Previous-Sequence:} MH profile component +@cindex sequence, @samp{cur} +@cindex sequence, @samp{Previous-Sequence} +@vindex mh-whitelist-preserves-sequences-flag + +If a message is in any sequence (except @samp{Previous-Sequence:} and +@samp{cur}) when it is whitelisted, then it will still be in those +sequences in the destination folder. If this behavior is not desired, +then turn off the option @code{mh-whitelist-preserves-sequences-flag}. + @cindex @samp{*MH-E Log*} @cindex buffers, @samp{*MH-E Log*} @findex call-process diff --git a/doc/misc/pcl-cvs.texi b/doc/misc/pcl-cvs.texi index df972d7991..7c294591d0 100644 --- a/doc/misc/pcl-cvs.texi +++ b/doc/misc/pcl-cvs.texi @@ -58,8 +58,8 @@ modify this GNU manual.'' @c The real text starts here @c ================================================================ -@node Top, About PCL-CVS, (dir), (dir) @ifnottex +@node Top @top PCL-CVS This manual describes PCL-CVS, the GNU Emacs front-end to CVS@. It @@ -127,7 +127,7 @@ Customization @end detailmenu @end menu -@node About PCL-CVS, Getting started, Top, Top +@node About PCL-CVS @chapter About PCL-CVS @cindex About PCL-CVS @@ -151,7 +151,7 @@ functionality and taking over the maintenance. * Contributors:: Contributors to PCL-CVS. @end menu -@node Contributors,, About PCL-CVS, About PCL-CVS +@node Contributors @section Contributors to PCL-CVS @cindex Contributors @cindex Authors @@ -228,7 +228,7 @@ requests, bug reports and encouragement. Thanks a lot! Without you there would be no new releases of PCL-CVS. -@node Getting started, Buffer contents, About PCL-CVS, Top +@node Getting started @chapter Getting started @cindex Introduction @cindex Example run @@ -296,7 +296,7 @@ press @kbd{l} to get the output from @samp{cvs log}. Many more such commands are available simply by pressing a key (@pxref{Getting info about files}). -@node Buffer contents, Selected files, Getting started, Top +@node Buffer contents @chapter Buffer contents @cindex Buffer contents @cindex @code{*cvs*} buffer contents @@ -425,7 +425,7 @@ The file has been unexpectedly removed from your working directory although it has not been @samp{cvs remove}d. @end table -@node Selected files, Commands, Buffer contents, Top +@node Selected files @chapter Selected files @cindex Selected files @cindex Marked files @@ -467,7 +467,7 @@ it, it is quite powerful. For commands to mark and unmark files, see @ref{Marking files}. -@node Commands, Log Edit Mode, Selected files, Top +@node Commands @chapter Commands @iftex @@ -501,7 +501,7 @@ you can use in PCL-CVS@. They are grouped together by type. @end menu -@node Entering PCL-CVS, Setting flags, Commands, Commands +@node Entering PCL-CVS @section Entering PCL-CVS @findex cvs-update @findex cvs-examine @@ -561,7 +561,7 @@ argument to the command (e.g., by typing @kbd{C-u M-x cvs-update @key{RET} -l @key{RET}}). -@node Setting flags, Updating the buffer, Entering PCL-CVS, Commands +@node Setting flags @section Setting flags for CVS commands @cindex Optional switches to CVS @cindex Command-line options to CVS @@ -617,7 +617,7 @@ Forces the next command to apply to every selected file rather than only to the ones PCL-CVS thinks are relevant. @end table -@node Updating the buffer, Movement commands, Setting flags, Commands +@node Updating the buffer @section Updating the @samp{*cvs*} buffer @findex cvs-update @findex cvs-examine @@ -662,7 +662,7 @@ put in @samp{cvs-status-mode}.@refill @end table -@node Movement commands, Marking files, Updating the buffer, Commands +@node Movement commands @section Movement Commands @cindex Movement Commands @findex cvs-mode-next-line @@ -688,7 +688,7 @@ This key moves one file backward, towards the beginning of the buffer @end table -@node Marking files, Committing changes, Movement commands, Commands +@node Marking files @section Marking files @cindex Selecting files (commands to mark files) @cindex Marking files @@ -746,7 +746,7 @@ Toggle use of marks for the next command (@code{cvs-mode-toggle-marks}). @end table -@node Committing changes, Editing files, Marking files, Commands +@node Committing changes @section Committing changes @cindex Committing changes @findex cvs-mode-commit @@ -805,7 +805,7 @@ your buffer, or if @samp{cvs-auto-revert} is set to @samp{nil}. -@node Editing files, Getting info about files, Committing changes, Commands +@node Editing files @section Editing files @cindex Editing files @cindex Finding files @@ -842,7 +842,7 @@ directory (@code{cvs-mode-add-change-log-entry-other-window}).@refill @end table -@node Getting info about files, Adding and removing files, Editing files, Commands +@node Getting info about files @section Getting info about files @cindex Status (cvs command) @cindex Log (RCS/cvs command) @@ -867,7 +867,7 @@ all selected files, and show the result in a temporary buffer @end table -@node Adding and removing files, Undoing changes, Getting info about files, Commands +@node Adding and removing files @section Adding and removing files @cindex Adding files @cindex Removing files @@ -908,7 +908,7 @@ The command that is run is @code{cvs-mode-remove-file}. @end table -@node Undoing changes, Removing handled entries, Adding and removing files, Commands +@node Undoing changes @section Undoing changes @cindex Undo changes @cindex Flush changes @@ -924,7 +924,7 @@ version from the repository (@code{cvs-mode-undo-local-changes}). @end table -@node Removing handled entries, Ignoring files, Undoing changes, Commands +@node Removing handled entries @section Removing handled entries @cindex Expunging uninteresting entries @cindex Uninteresting entries, getting rid of them @@ -956,7 +956,7 @@ not delete, but that you want to delete (@code{cvs-mode-acknowledge}). @end table -@node Ignoring files, Viewing differences, Removing handled entries, Commands +@node Ignoring files @section Ignoring files @cindex Ignoring files @kindex i@r{--ignoring files} @@ -974,7 +974,7 @@ but you could ignore it as well, if you like it better that way. This runs @code{cvs-mode-ignore}. @end table -@node Viewing differences, Invoking Ediff, Ignoring files, Commands +@node Viewing differences @section Viewing differences @cindex Diff @cindex Invoking @code{diff} @@ -1037,7 +1037,7 @@ head revision in the repository By default, @samp{diff} commands ignore the marks. This can be changed with @code{cvs-invert-ignore-marks}. -@node Invoking Ediff, Updating files, Viewing differences, Commands +@node Invoking Ediff @section Running ediff @cindex Ediff @cindex Invoking ediff @@ -1069,7 +1069,7 @@ any way if you use this command. If you use the @kbd{q} command inside created will be overwritten.@refill @end table -@node Updating files, Tagging files, Invoking Ediff, Commands +@node Updating files @section Updating files @findex cvs-mode-update @cindex Updating files @@ -1082,7 +1082,7 @@ Update all selected files with status @samp{Need-update} by running @end table -@node Tagging files, Miscellaneous commands, Updating files, Commands +@node Tagging files @section Tagging files @findex cvs-mode-tag @findex cvs-mode-untag @@ -1109,7 +1109,7 @@ only be applied to directories, see @code{cvs-force-dir-tag} if you want to change this behavior. -@node Miscellaneous commands, , Tagging files, Commands +@node Miscellaneous commands @section Miscellaneous commands @findex cvs-mode-byte-compile-files @cindex Recompiling elisp files @@ -1154,7 +1154,7 @@ Bury the PCL-CVS buffer (@code{cvs-bury-buffer}). Quit PCL-CVS, killing the @samp{*cvs*} buffer. @end table -@node Log Edit Mode, Log View Mode, Commands, Top +@node Log Edit Mode @chapter Editing a Log Message @cindex Log Edit mode @@ -1187,7 +1187,7 @@ exit the buffer and commit the change. @c Fixme: customization variables -@node Log View Mode, Customization, Log Edit Mode, Top +@node Log View Mode @chapter Browsing a Log of Changes @cindex Log View mode @@ -1208,7 +1208,7 @@ argument, these commands move that many messages of files. @c @node CVS Status Mode @c @chapter Viewing CVS' Status output -@node Customization, Bugs, Log View Mode, Top +@node Customization @chapter Customization @vindex log-edit-changelog-full-paragraphs@r{ (variable)} @vindex cvs-auto-remove-handled@r{ (variable)} @@ -1319,7 +1319,7 @@ default. * Customizing Faces:: @end menu -@node Customizing Faces, , Customization, Customization +@node Customizing Faces @section Customizing Faces @vindex cvs-header (face) @vindex cvs-filename (face) @@ -1358,7 +1358,7 @@ Used to highlight CVS messages. @end table -@node Bugs, GNU Free Documentation License, Customization, Top +@node Bugs @chapter Bugs (known and unknown) @cindex Reporting bugs and ideas @cindex Bugs, how to report them @@ -1398,13 +1398,13 @@ output of the CVS process (which should be found in the @samp{ *cvs-tmp*} buffer), and the versions of Emacs, PCL-CVS and CVS you are using. @end table -@node GNU Free Documentation License, Function and Variable Index, Bugs, Top +@node GNU Free Documentation License @appendix GNU Free Documentation License @include doclicense.texi -@node Function and Variable Index, Concept Index, GNU Free Documentation License, Top +@node Function and Variable Index @unnumbered Function and Variable Index This is an index of all the functions and variables documented in this @@ -1412,14 +1412,14 @@ manual. @printindex fn -@node Concept Index, Key Index, Function and Variable Index, Top +@node Concept Index @unnumbered Concept Index This is an index of concepts discussed in this manual. @printindex cp -@node Key Index, , Concept Index, Top +@node Key Index @unnumbered Key Index This index includes an entry for each PCL-CVS key sequence documented in diff --git a/doc/misc/rcirc.texi b/doc/misc/rcirc.texi index 6af9358c7e..3bce0c7c24 100644 --- a/doc/misc/rcirc.texi +++ b/doc/misc/rcirc.texi @@ -35,7 +35,7 @@ modify this GNU manual.'' @contents @ifnottex -@node Top, Basics, (dir), (dir) +@node Top @top rcirc Manual @code{rcirc} is an Emacs IRC client. @@ -92,7 +92,7 @@ Hacking and Tweaking @end detailmenu @end menu -@node Basics, Reference, Top, Top +@node Basics @chapter Basics This chapter contains a brief introduction to IRC (Internet Relay Chat), @@ -103,7 +103,7 @@ and a quick tutorial on @code{rcirc}. * Getting started with rcirc:: @end menu -@node Internet Relay Chat, Getting started with rcirc, Basics, Basics +@node Internet Relay Chat @section Internet Relay Chat @cindex internet relay chat @cindex irc @@ -156,7 +156,7 @@ deego: fsbot rules! @kindex TAB Since this is so common, you can use @key{TAB} to do nick completion. -@node Getting started with rcirc, , Internet Relay Chat, Basics +@node Getting started with rcirc @section Getting started with rcirc @cindex getting started @cindex connecting to a server @@ -245,7 +245,7 @@ To make this permanent, add the following to your init file: Use @kbd{C-c C-@key{SPC}} to switch to these buffers. -@node Reference, Fighting Information Overload, Basics, Top +@node Reference @chapter Reference @cindex reference @@ -259,7 +259,7 @@ documentation. * Configuration:: @end menu -@node rcirc commands, Useful IRC commands, Reference, Reference +@node rcirc commands @section rcirc commands @cindex rcirc commands @cindex commands @@ -402,7 +402,7 @@ buffer, you automatically quit the server and part all channels. (Also @code{/quit ZZZzzz...}.) @end table -@node Useful IRC commands, Configuration, rcirc commands, Reference +@node Useful IRC commands @section Useful IRC commands @cindex irc commands @cindex commands @@ -430,7 +430,7 @@ about the fantastic world of IRC online at @uref{http://www.irchelp.org/, the Internet Relay Chat (IRC) help archive}. -@node Configuration, , Useful IRC commands, Reference +@node Configuration @section Configuration @cindex configuring rcirc @@ -594,7 +594,7 @@ confuse the Bitlbee account with all the other accounts. @end table -@node Fighting Information Overload, Hacking and Tweaking, Reference, Top +@node Fighting Information Overload @chapter Fighting Information Overload @cindex information overload @@ -610,7 +610,7 @@ daunting task. This chapters tells you how @code{rcirc} can help. * Notices:: @end menu -@node Channels, People, Fighting Information Overload, Fighting Information Overload +@node Channels @section Channels @cindex channels @cindex modeline @@ -668,7 +668,7 @@ If you prefer a channel to never show up in the modeline, then you have to ignore it. Use @kbd{C-c @key{TAB}} to ignore the current channel. -@node People, Keywords, Channels, Fighting Information Overload +@node People @section People @cindex people, how to ignore @cindex nicks, how to ignore @@ -726,7 +726,7 @@ messages by dimmed nicks will not register as activity. Example: @end table -@node Keywords, Notices, People, Fighting Information Overload +@node Keywords @section Keywords @cindex keywords @@ -742,7 +742,7 @@ one. If you don't provide a keyword, the current keywords are listed. Example: @code{/keyword manual}. @end table -@node Notices, , Keywords, Fighting Information Overload +@node Notices @section Notices @cindex part notices, how to omit @cindex join notices, how to omit @@ -774,7 +774,7 @@ active and only omits a message if the nick has not been active. The window @code{rcirc} considers is controlled by the @code{rcirc-omit-threshold} variable. -@node Hacking and Tweaking, GNU Free Documentation License, Fighting Information Overload, Top +@node Hacking and Tweaking @chapter Hacking and Tweaking @cindex hacking and tweaking @@ -789,7 +789,7 @@ Here are some examples of stuff you can do to configure @code{rcirc}. * Reconnecting after you have lost the connection:: @end menu -@node Skipping /away messages using handlers, Using fly spell mode, Hacking and Tweaking, Hacking and Tweaking +@node Skipping /away messages using handlers @section Skipping @code{/away} messages using handlers @cindex /away messages @@ -809,7 +809,7 @@ require @code{rcirc} before defining the handler: "/away message handler.") @end example -@node Using fly spell mode, Scrolling conservatively, Skipping /away messages using handlers, Hacking and Tweaking +@node Using fly spell mode @section Using fly spell mode @cindex fly spell @cindex spelling @@ -828,7 +828,7 @@ for @code{rcirc} buffers: @xref{Spelling, , Flyspell mode, emacs, The GNU Emacs Manual}, for details. -@node Scrolling conservatively, Changing the time stamp format, Using fly spell mode, Hacking and Tweaking +@node Scrolling conservatively @section Scrolling conservatively @cindex input line @cindex scrolling @@ -850,7 +850,7 @@ window when possible. The following snippet uses a local value for @xref{Scrolling, , Scrolling conservatively, emacs, The GNU Emacs Manual}, for details. -@node Changing the time stamp format, Defining a new command, Scrolling conservatively, Hacking and Tweaking +@node Changing the time stamp format @section Changing the time stamp format @cindex time stamp @cindex date time @@ -864,7 +864,7 @@ how to include the date in the time stamp: (setq rcirc-time-format "%Y-%m-%d %H:%M ") @end example -@node Defining a new command, Reconnecting after you have lost the connection, Changing the time stamp format, Hacking and Tweaking +@node Defining a new command @section Defining a new command @cindex defining commands @cindex commands, defining @@ -887,7 +887,7 @@ because @code{defun-rcirc-command} is not yet available, and without (concat "I use " rcirc-id-string)))) @end smallexample -@node Reconnecting after you have lost the connection, , Defining a new command, Hacking and Tweaking +@node Reconnecting after you have lost the connection @section Reconnecting after you have lost the connection @cindex reconnecting @cindex disconnecting servers, reconnecting @@ -928,20 +928,20 @@ The real answer, therefore, is a @code{/reconnect} command: channels)))) @end smallexample -@node GNU Free Documentation License, Key Index, Hacking and Tweaking, Top +@node GNU Free Documentation License @appendix GNU Free Documentation License @include doclicense.texi -@node Key Index, Variable Index, GNU Free Documentation License, Top +@node Key Index @unnumbered Key Index @printindex ky -@node Variable Index, Index, Key Index, Top +@node Variable Index @unnumbered Variable Index @printindex vr -@node Index, , Variable Index, Top +@node Index @unnumbered Index @printindex cp diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi index 15bb2c4cc0..312b84146f 100644 --- a/doc/misc/reftex.texi +++ b/doc/misc/reftex.texi @@ -95,7 +95,7 @@ modify this GNU manual.'' @contents @ifnottex -@node Top,,,(dir) +@node Top @top @RefTeX{} @RefTeX{} is a package for managing Labels, References, Citations and @@ -123,14 +123,13 @@ other parts of this document when needed. * Multifile Documents:: Document spread over many files. * Language Support:: How to support other languages. * Finding Files:: Included @TeX{} files and @BibTeX{} .bib files. -* AUCTeX:: Cooperation with @AUCTeX{}. * Optimizations:: When RefTeX is too slow. +* AUCTeX:: Cooperation with @AUCTeX{}. * Problems and Work-Arounds:: First Aid. * Imprint:: Author, Web-site, Thanks * Commands:: Which are the available commands. * Options:: How to extend and configure RefTeX. -* Keymaps and Hooks:: For customization. * Changes:: A List of recent changes to RefTeX. * GNU Free Documentation License:: The license for this documentation. @@ -214,7 +213,7 @@ Options, Keymaps, Hooks @end ifnottex -@node Introduction, Table of Contents, , Top +@node Introduction @chapter Introduction @cindex Introduction @@ -242,7 +241,7 @@ reports or suggestions. * RefTeX in a Nutshell:: A brief summary and quick guide. @end menu -@node Installation, RefTeX in a Nutshell, , Introduction +@node Installation @section Installation @cindex Installation @@ -360,7 +359,7 @@ systems these variables do not contain the full search path. If @xref{Finding Files}. @page -@node RefTeX in a Nutshell, , Installation, Introduction +@node RefTeX in a Nutshell @section @RefTeX{} in a Nutshell @cindex Quick-Start @cindex Getting Started @@ -516,7 +515,7 @@ a tutorial way how to use and customize @RefTeX{}. The second part is a command and variable reference. @end enumerate -@node Table of Contents, Labels and References, Introduction, Top +@node Table of Contents @chapter Table of Contents @cindex @file{*toc*} buffer @cindex Structure editing @@ -765,7 +764,7 @@ environments to the table of contents. This is probably only useful for theorem-like environments. @xref{Defining Label Environments}, for an example. -@node Labels and References, Citations, Table of Contents, Top +@node Labels and References @chapter Labels and References @cindex Labels in LaTeX @cindex References in LaTeX @@ -800,7 +799,7 @@ equation counter. * xr (LaTeX package):: References to external documents. @end menu -@node Creating Labels, Referencing Labels, , Labels and References +@node Creating Labels @section Creating Labels @cindex Creating labels @cindex Labels, creating @@ -867,7 +866,7 @@ If you are using @AUCTeX{} to write your @LaTeX{} documents, you can set it up to delegate the creation of labels to @RefTeX{}. @xref{AUCTeX}, for more information. -@node Referencing Labels, Builtin Label Environments, Creating Labels, Labels and References +@node Referencing Labels @section Referencing Labels @cindex Referencing labels @cindex Labels, referencing @@ -1092,7 +1091,7 @@ package),,xr}). In order to define additional commands for the selection process, the keymap @code{reftex-select-label-map} may be used. -@node Builtin Label Environments, Defining Label Environments, Referencing Labels, Labels and References +@node Builtin Label Environments @section Builtin Label Environments @cindex Builtin label environments @cindex Label environments, builtin @@ -1197,7 +1196,7 @@ If you want to use other labeled environments, defined with @code{\newtheorem}, @RefTeX{} needs to be configured to recognize them (@pxref{Defining Label Environments}). -@node Defining Label Environments, Reference Info, Builtin Label Environments, Labels and References +@node Defining Label Environments @section Defining Label Environments @cindex Label environments, defining @@ -1230,7 +1229,7 @@ Environments}). * Putting it Together:: How to combine many entries. @end menu -@node Theorem and Axiom, Quick Equation, , Defining Label Environments +@node Theorem and Axiom @subsection Theorem and Axiom Environments @cindex @code{theorem}, newtheorem @cindex @code{axiom}, newtheorem @@ -1362,7 +1361,7 @@ and @code{reftex-label-menu-flags} (@pxref{Options (Referencing Labels)}). -@node Quick Equation, Figure Wrapper, Theorem and Axiom , Defining Label Environments +@node Quick Equation @subsection Quick Equation Macro @cindex Quick equation macro @cindex Macros as environment wrappers @@ -1410,7 +1409,7 @@ Reftex Label Alist: [Hide] [ ] Make TOC entry : [Value Menu] No entry @end example -@node Figure Wrapper, Adding Magic Words, Quick Equation, Defining Label Environments +@node Figure Wrapper @subsection Figure Wrapping Macro @cindex Macros as environment wrappers @cindex Figure wrapping macro @@ -1470,7 +1469,7 @@ Again, here the configuration in the customization buffer: [ ] Make TOC entry : [Value Menu] No entry @end example -@node Adding Magic Words, Using \eqref, Figure Wrapper, Defining Label Environments +@node Adding Magic Words @subsection Adding Magic Words @cindex Magic words @cindex German magic words @@ -1494,7 +1493,7 @@ predefined label categories. (nil ?i nil nil nil ("Punkt")))) @end lisp -@node Using \eqref, Non-Standard Environments, Adding Magic Words, Defining Label Environments +@node Using \eqref @subsection Using @code{\eqref} @cindex @code{\eqref}, AMS-LaTeX macro @cindex AMS-LaTeX @@ -1521,7 +1520,7 @@ Note that this is automatically done by the @file{amsmath.el} style file of @AUCTeX{} (@pxref{Style Files}); so if you use @AUCTeX{}, this configuration will not be necessary. -@node Non-Standard Environments, Putting it Together, Using \eqref, Defining Label Environments +@node Non-Standard Environments @subsection Non-standard Environments @cindex Non-standard environments @cindex Environments without @code{\begin} @@ -1622,7 +1621,7 @@ for @RefTeX{}. (incf cnt)))))))) @end lisp -@node Putting it Together, , Non-Standard Environments, Defining Label Environments +@node Putting it Together @subsection Putting it all together When you have to put several entries into @code{reftex-label-alist}, just @@ -1640,7 +1639,7 @@ the entries described above: (detect-linguex ?x "ex:" "~\\ref@{%s@}" nil ("Example" "Ex.")))) @end lisp -@node Reference Info, Reference Styles, Defining Label Environments, Labels and References +@node Reference Info @section Reference Info @findex reftex-view-crossref @findex reftex-mouse-view-crossref @@ -1662,7 +1661,7 @@ message. @code{\label} macro. @xref{Viewing Cross-References}, for more information. -@node Reference Styles, xr (LaTeX package), Reference Info, Labels and References +@node Reference Styles @section Reference Styles In case you defined your own macros for referencing or you are using @@ -1750,7 +1749,7 @@ and @code{reftex-fref-is-default} respectively. While still working, these variables are deprecated now. Instead of setting them, the variable @code{reftex-ref-style-default-list} should be adapted now. -@node xr (LaTeX package), , Reference Styles, Labels and References +@node xr (LaTeX package) @section @code{xr}: Cross-Document References @cindex @code{xr}, LaTeX package @cindex LaTeX packages, @code{xr} @@ -1785,7 +1784,7 @@ For this kind of inter-document cross-references, saving of parsing information and the use of multiple selection buffers can mean a large speed-up (@pxref{Optimizations}). -@node Citations, Index Support, Labels and References, Top +@node Citations @chapter Citations @cindex Citations @cindex @code{\cite} @@ -1805,7 +1804,7 @@ support for citations helps to select the correct key quickly. * BibTeX Database Subsets:: Extract parts of a big database. @end menu -@node Creating Citations, Citation Styles, , Citations +@node Creating Citations @section Creating Citations @cindex Creating citations @cindex Citations, creating @@ -1955,7 +1954,7 @@ buffers by adding the following expression to your init file: @end lisp -@node Citation Styles, Citation Info, Creating Citations, Citations +@node Citation Styles @section Citation Styles @cindex Citation styles @cindex Citation styles, @code{natbib} @@ -2020,7 +2019,7 @@ citation style based on the @code{usepackage} commands in a given document. @xref{Style Files}, for information on how to set up the style files correctly. -@node Citation Info, Chapterbib and Bibunits, Citation Styles, Citations +@node Citation Info @section Citation Info @cindex Displaying citations @cindex Citations, displaying @@ -2041,7 +2040,7 @@ entry corresponding to a @code{\cite} macro, or all citation locations corresponding to a @code{\bibitem} or @BibTeX{} database entry. @xref{Viewing Cross-References}. -@node Chapterbib and Bibunits, Citations Outside LaTeX, Citation Info, Citations +@node Chapterbib and Bibunits @section Chapterbib and Bibunits @cindex @code{chapterbib}, LaTeX package @cindex @code{bibunits}, LaTeX package @@ -2056,7 +2055,7 @@ separate file (as it is required for @code{chapterbib} anyway). Then you have multiple bibliographies within a @emph{single file}, this may or may not be the case. -@node Citations Outside LaTeX, BibTeX Database Subsets, Chapterbib and Bibunits, Citations +@node Citations Outside LaTeX @section Citations outside @LaTeX{} @cindex Citations outside LaTeX @vindex reftex-default-bibliography @@ -2081,7 +2080,7 @@ binding for @code{reftex-cite-format}. (reftex-citation)))))) @end lisp -@node BibTeX Database Subsets, , Citations Outside LaTeX, Citations +@node BibTeX Database Subsets @section Database Subsets @cindex BibTeX database subsets @findex reftex-create-bibtex-file @@ -2109,7 +2108,7 @@ entries in the selection buffer with the @kbd{m} key and then export either the @i{marked} entries (with the @kbd{e} key) or the @i{unmarked} entries (with the @kbd{E} key). -@node Index Support, Viewing Cross-References, Citations, Top +@node Index Support @chapter Index Support @cindex Index Support @cindex @code{\index} @@ -2176,7 +2175,7 @@ Style}), or globally for all your documents with * Defining Index Macros:: ... and macros it doesn't. @end menu -@node Creating Index Entries, The Index Phrases File, , Index Support +@node Creating Index Entries @section Creating Index Entries @cindex Creating index entries @cindex Index entries, creating @@ -2207,7 +2206,7 @@ index tag is a string identifying one of multiple indices. With the @file{multind} and @file{index} packages, this tag is the first argument to the redefined @code{\index} macro. -@node The Index Phrases File, Displaying and Editing the Index, Creating Index Entries, Index Support +@node The Index Phrases File @section The Index Phrases File @cindex Index phrase file @cindex Phrase file @@ -2255,7 +2254,7 @@ repeat @var{word} outside the macro. * Global Indexing:: The interactive indexing process. @end menu -@node Collecting Phrases, Consistency Checks, , The Index Phrases File +@node Collecting Phrases @subsection Collecting Phrases @cindex Collecting index phrases @cindex Index phrases, collection @@ -2321,7 +2320,7 @@ Finally, every occurrence of @samp{Pluto} will be indexed as @samp{\index@{Planets!Pluto@}\index@{Kuiper Belt Objects!Pluto@}Pluto} and will therefore create two different index entries. -@node Consistency Checks, Global Indexing, Collecting Phrases, The Index Phrases File +@node Consistency Checks @subsection Consistency Checks @cindex Index phrases, consistency checks @cindex Phrases, consistency checks @@ -2354,7 +2353,7 @@ the buffer which is either duplicate or a subphrase of another phrase. In order to check the whole buffer like this, start at the beginning and execute this command repeatedly. -@node Global Indexing, , Consistency Checks, The Index Phrases File +@node Global Indexing @subsection Global Indexing @cindex Global indexing @cindex Indexing, global @@ -2435,7 +2434,7 @@ to the changed regions. The command purpose. When called from a @LaTeX{} document with active region, it will apply @code{reftex-index-all-phrases} to the current region. -@node Displaying and Editing the Index, Builtin Index Macros, The Index Phrases File, Index Support +@node Displaying and Editing the Index @section Displaying and Editing the Index @cindex Displaying the Index @cindex Editing the Index @@ -2616,7 +2615,7 @@ indices). @end table -@node Builtin Index Macros, Defining Index Macros, Displaying and Editing the Index, Index Support +@node Builtin Index Macros @section Builtin Index Macros @cindex Builtin index macros @cindex Index macros, builtin @@ -2634,7 +2633,7 @@ the different definitions of the @code{\index} macro are incompatible, you will have to explicitly specify the index style used. @xref{Creating Index Entries}, for information on how to do that. -@node Defining Index Macros, , Builtin Index Macros, Index Support +@node Defining Index Macros @section Defining Index Macros @cindex Defining Index Macros @cindex Index macros, defining @@ -2731,7 +2730,7 @@ which specifies that the macro identified with the character @code{?x} (the in the buffer with @kbd{C-c /} (@code{reftex-index-selection-or-word}). The index tag is "idx". -@node Viewing Cross-References, RefTeXs Menu, Index Support, Top +@node Viewing Cross-References @chapter Viewing Cross-References @findex reftex-view-crossref @findex reftex-mouse-view-crossref @@ -2810,8 +2809,11 @@ in the variable @code{reftex-view-crossref-extra}. @iftex @chapter All the Rest @end iftex +@ifnottex +@raisesections +@end ifnottex -@node RefTeXs Menu, Key Bindings, Viewing Cross-References, Top +@node RefTeXs Menu @section @RefTeX{}'s Menu @cindex RefTeXs Menu @cindex Menu, in the menu bar @@ -2822,7 +2824,7 @@ which support this. From this menu you can access all of @code{Customize} submenu which can be used to access @RefTeX{}'s entire set of options. -@node Key Bindings, Faces, RefTeXs Menu, Top +@node Key Bindings @section Default Key Bindings @cindex Key Bindings, summary @@ -2896,7 +2898,7 @@ Changing and adding to @RefTeX{}'s key bindings is best done in the hook @code{reftex-load-hook}. For information on the keymaps which should be used to add keys, see @ref{Keymaps and Hooks}. -@node Faces, AUCTeX, Key Bindings, Top +@node Faces @section Faces @cindex Faces @@ -2908,7 +2910,7 @@ reasonable because people who like faces will very likely have it loaded. If you wish to turn off fontification or change the involved faces, see @ref{Options (Fontification)}. -@node Multifile Documents, Language Support, AUCTeX, Top +@node Multifile Documents @section Multifile Documents @cindex Multifile documents @cindex Documents, spread over files @@ -2961,7 +2963,7 @@ outside the current file can still use that section title as context. @end itemize -@node Language Support, Finding Files, Multifile Documents, Top +@node Language Support @section Language Support @cindex Language support @@ -3003,7 +3005,7 @@ dependent. See the variables @code{reftex-multiref-punctuation} and @code{reftex-cite-punctuation}. @end itemize -@node Finding Files, Optimizations, Language Support, Top +@node Finding Files @section Finding Files @cindex Finding files @@ -3089,7 +3091,7 @@ the new extension must also be known to @AUCTeX{} via the variable '( "nw" "tex" "sty" "cls" "ltx" "texi" "texinfo")) @end lisp -@node Optimizations, Problems and Work-Arounds, Finding Files, Top +@node Optimizations @section Optimizations @cindex Optimizations @@ -3242,7 +3244,7 @@ with the @kbd{g} key. To get this behavior, use instead @end group @end lisp -@node AUCTeX, Multifile Documents, Faces, Top +@node AUCTeX @section @AUCTeX{} @cindex @code{AUCTeX}, Emacs package @cindex Emacs packages, @code{AUCTeX} @@ -3259,7 +3261,7 @@ XEmacs package.} by FTP from the @value{AUCTEXSITE}. * Bib-Cite:: Hypertext reading of a document @end menu -@node AUCTeX-RefTeX Interface, Style Files, , AUCTeX +@node AUCTeX-RefTeX Interface @subsection The @AUCTeX{}-@RefTeX{} Interface @RefTeX{} contains code to interface with @AUCTeX{}. When this @@ -3343,7 +3345,7 @@ Labels}). @RefTeX{} will add all newly created labels to @AUCTeX{}'s completion list. @end itemize -@node Style Files, Bib-Cite, AUCTeX-RefTeX Interface, AUCTeX +@node Style Files @subsection Style Files @cindex Style files, AUCTeX @findex TeX-add-style-hook, @r{AUCTeX} @@ -3463,7 +3465,7 @@ is a style file @file{foils.el} that will inform @RefTeX{} about these: ("rotatefoilhead" . 3)))))) @end lisp -@node Bib-Cite, , Style Files, AUCTeX +@node Bib-Cite @subsection Bib-Cite @cindex @code{bib-cite}, Emacs package @cindex Emacs packages, @code{bib-cite} @@ -3491,7 +3493,7 @@ make use of this feature, try @end lisp @page -@node Problems and Work-Arounds, Imprint, Optimizations, Top +@node Problems and Work-Arounds @section Problems and Work-arounds @cindex Problems and work-arounds @@ -3627,7 +3629,7 @@ With @i{Viper} mode prior to Vipers version 3.01, you need to protect @end itemize @page -@node Imprint, Commands, Problems and Work-Arounds, Top +@node Imprint @section Imprint @cindex Imprint @cindex Maintainer @@ -3674,7 +3676,12 @@ Finally thanks to @i{Uwe Bolick} who first got me interested in supporting @LaTeX{} labels and references with an editor (which was MicroEmacs at the time). -@node Commands, Options, Imprint, Top +@c Turn off the raising that we turned on in ``All the rest''. +@ifnottex +@lowersections +@end ifnottex + +@node Commands @chapter Commands @cindex Commands, list of @@ -3876,7 +3883,7 @@ Enforce rebuilding of several internal lists and variables. Also removes the parse file associated with the current document. @end deffn -@node Options, Keymaps and Hooks, Commands, Top +@node Options @chapter Options, Keymaps, Hooks @cindex Options, list of @@ -3898,9 +3905,10 @@ reftex-customize} will get you there. * Options (Optimizations):: * Options (Fontification):: * Options (Misc):: +* Keymaps and Hooks:: @end menu -@node Options (Table of Contents), Options (Defining Label Environments), , Options +@node Options (Table of Contents) @section Table of Contents @cindex Options, table of contents @cindex Table of contents, options @@ -4024,7 +4032,7 @@ The keymap which is active in the @file{*toc*} buffer. (@pxref{Table of Contents}). @end deffn -@node Options (Defining Label Environments), Options (Creating Labels), Options (Table of Contents), Options +@node Options (Defining Label Environments) @section Defining Label Environments @cindex Options, defining label environments @cindex Defining label environments, options @@ -4251,7 +4259,7 @@ labels fn:xxx, you may want to set this variable to the value "^fn:$" or non-footnote labels. @end defopt -@node Options (Creating Labels), Options (Referencing Labels), Options (Defining Label Environments), Options +@node Options (Creating Labels) @section Creating Labels @cindex Options, creating labels @cindex Creating labels, options @@ -4367,7 +4375,7 @@ Character class after abbrev point in word. @end table @end defopt -@node Options (Referencing Labels), Options (Creating Citations), Options (Creating Labels), Options +@node Options (Referencing Labels) @section Referencing Labels @cindex Options, referencing labels @cindex Referencing labels, options @@ -4489,7 +4497,7 @@ The keymap which is active in the labels selection process (@pxref{Referencing Labels}). @end deffn -@node Options (Creating Citations), Options (Index Support), Options (Referencing Labels), Options +@node Options (Creating Citations) @section Creating Citations @cindex Options, creating citations @cindex Creating citations, options @@ -4668,7 +4676,7 @@ Footer to insert in BibTeX files generated by @end defopt -@node Options (Index Support), Options (Viewing Cross-References), Options (Creating Citations), Options +@node Options (Index Support) @section Index Support @cindex Options, Index support @cindex Index support, options @@ -4888,7 +4896,7 @@ The keymap which is active in the @file{*Index*} buffer (@pxref{Index Support}). @end deffn -@node Options (Viewing Cross-References), Options (Finding Files), Options (Index Support), Options +@node Options (Viewing Cross-References) @section Viewing Cross-References @cindex Options, viewing cross-references @cindex Viewing cross-references, options @@ -4947,7 +4955,7 @@ saved along with the parsing information. The cache survives document scans. In order to clear it, use @kbd{M-x reftex-reset-mode}. @end defopt -@node Options (Finding Files), Options (Optimizations), Options (Viewing Cross-References), Options +@node Options (Finding Files) @section Finding Files @cindex Options, Finding Files @cindex Finding files, options @@ -5037,7 +5045,7 @@ non-@code{nil}. @end defopt @page -@node Options (Optimizations), Options (Fontification), Options (Finding Files), Options +@node Options (Optimizations) @section Optimizations @cindex Options, optimizations @cindex Optimizations, options @@ -5146,7 +5154,7 @@ effect when @code{reftex-use-multiple-selection-buffers} is non-@code{nil}. @end defopt -@node Options (Fontification), Options (Misc), Options (Optimizations), Options +@node Options (Fontification) @section Fontification @cindex Options, fontification @cindex Fontification, options @@ -5244,7 +5252,7 @@ Face name for index names (for multiple indices). Face name for index entries. @end defopt -@node Options (Misc), , Options (Fontification), Options +@node Options (Misc) @section Miscellaneous @cindex Options, misc @@ -5289,7 +5297,7 @@ this will be the case even if @code{\bb} is defined with zero or one argument. @end defopt -@node Keymaps and Hooks, Changes, Options, Top +@node Keymaps and Hooks @section Keymaps and Hooks @cindex Keymaps @@ -5313,7 +5321,7 @@ their own keymaps and mode hooks. See the respective sections. There are many more hooks which are described in the relevant sections about options for a specific part of @RefTeX{}. -@node Changes, GNU Free Documentation License, Keymaps and Hooks, Top +@node Changes @chapter Changes @cindex Changes @@ -6078,11 +6086,11 @@ new labels. released on 7 Jan 1997. @end itemize -@node GNU Free Documentation License, Index, Changes, Top +@node GNU Free Documentation License @appendix GNU Free Documentation License @include doclicense.texi -@node Index, , GNU Free Documentation License, Top +@node Index @unnumbered Index @printindex cp diff --git a/doc/misc/remember.texi b/doc/misc/remember.texi index 0f541981f1..290c18a7b4 100644 --- a/doc/misc/remember.texi +++ b/doc/misc/remember.texi @@ -44,8 +44,7 @@ modify this GNU manual.'' @contents @ifnottex -@node Top, Preface, (dir), (dir) -@comment node-name, next, previous, up +@node Top @top Remember @insertcopying @@ -76,8 +75,7 @@ Backends @end detailmenu @end menu -@node Preface, Introduction, Top, Top -@comment node-name, next, previous, up +@node Preface @chapter Preface This document describes remember-el, which was written by John Wiegley, @@ -87,8 +85,7 @@ developers. This document is a work in progress, and your contribution will be greatly appreciated. -@node Introduction, Installation, Preface, Top -@comment node-name, next, previous, up +@node Introduction @chapter Introduction Todo lists, schedules, phone databases... everything we use databases @@ -130,8 +127,7 @@ in order to record them---it would map much more closely to how the mind manual-ness which computers from the very beginning have been championed as being able to reduce. -@node Installation, Implementation, Introduction, Top -@comment node-name, next, previous, up +@node Installation @chapter Installation Installing Remember Mode is as simple as adding the following lines to @@ -143,8 +139,7 @@ your Emacs configuration file (usually @file{~/.emacs.d/init.el} or (require 'remember) @end lisp -@node Implementation, Quick Start, Installation, Top -@comment node-name, next, previous, up +@node Implementation @chapter Implementation Hyperbole, as a data presentation tool, always struck me as being very @@ -185,8 +180,7 @@ rather than requiring a billion keystrokes to reorganize your hierarchy. Well, as the future arrives, hopefully experience and user feedback will help to make this as intuitive a tool as possible. -@node Quick Start, Function Reference, Implementation, Top -@comment node-name, next, previous, up +@node Quick Start @chapter Quick Start @itemize @@ -257,8 +251,7 @@ remember-annotation-functions. For example: (call-interactively 'remember))) @end lisp -@node Function Reference, Keystrokes, Quick Start, Top -@comment node-name, next, previous, up +@node Function Reference @chapter Function Reference @file{remember.el} defines the following interactive functions: @@ -291,8 +284,7 @@ buffer is used to collect data that you want remember. Just hit the data for latter retrieval, and possible indexing. @end defun -@node Keystrokes, Backends, Function Reference, Top -@comment node-name, next, previous, up +@node Keystrokes @chapter Keystroke Reference @file{remember.el} defines the following keybindings by default: @@ -310,8 +302,7 @@ Remember the contents of the current buffer. @end table -@node Backends, GNU Free Documentation License, Keystrokes, Top -@comment node-name, next, previous, up +@node Backends @chapter Backends You can save remembered notes to a variety of backends. @@ -323,8 +314,7 @@ You can save remembered notes to a variety of backends. * Org:: Saving to an Org Mode file. @end menu -@node Text File, Diary, Backends, Backends -@comment node-name, next, previous, up +@node Text File @section Saving to a Text File @cindex text file, saving to @@ -344,8 +334,7 @@ The file in which to store unprocessed data. The text used to begin each remember item. @end defopt -@node Diary, Mailbox, Text File, Backends -@comment node-name, next, previous, up +@node Diary @section Saving to a Diary file @cindex diary, integration @@ -362,8 +351,7 @@ File for extracted diary entries. If this is nil, then @code{diary-file} will be used instead." @end defopt -@node Mailbox, Org, Diary, Backends -@comment node-name, next, previous, up +@node Mailbox @section Saving to a Mailbox @cindex mailbox, saving to @@ -383,8 +371,7 @@ The file in which to store remember data as mail. The default priority for remembered mail messages. @end defopt -@node Org, , Mailbox, Backends -@comment node-name, next, previous, up +@node Org @section Saving to an Org Mode file @cindex org mode, integration @@ -398,12 +385,11 @@ for org-remember at @url{http://orgmode.org/org-remember.pdf}. For instructions on how to integrate Remember with Org Mode, consult @ref{Capture, , , org}. -@node GNU Free Documentation License, Concept Index, Backends, Top +@node GNU Free Documentation License @appendix GNU Free Documentation License @include doclicense.texi -@node Concept Index, , GNU Free Documentation License, Top -@comment node-name, next, previous, up +@node Concept Index @unnumbered Index @printindex cp diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi index 2bef526257..20bd689c6a 100644 --- a/doc/misc/ses.texi +++ b/doc/misc/ses.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @c %**start of header @setfilename ../../info/ses -@settitle SES: Simple Emacs Spreadsheet +@settitle @acronym{SES}: Simple Emacs Spreadsheet @setchapternewpage off @syncodeindex fn cp @syncodeindex vr cp @@ -9,7 +9,7 @@ @c %**end of header @copying -This file documents SES: the Simple Emacs Spreadsheet. +This file documents @acronym{SES}: the Simple Emacs Spreadsheet. Copyright @copyright{} 2002--2013 Free Software Foundation, Inc. @@ -28,13 +28,13 @@ modify this GNU manual.'' @dircategory Emacs misc features @direntry -* SES: (ses). Simple Emacs Spreadsheet. +* @acronym{SES}: (ses). Simple Emacs Spreadsheet. @end direntry @finalout @titlepage -@title SES +@title @acronym{SES} @subtitle Simple Emacs Spreadsheet @author Jonathan A. Yavner @author @email{jyavner@@member.fsf.org} @@ -49,12 +49,12 @@ modify this GNU manual.'' @c =================================================================== @ifnottex -@node Top, Sales Pitch, (dir), (dir) +@node Top @comment node-name, next, previous, up -@top SES: Simple Emacs Spreadsheet +@top @acronym{SES}: Simple Emacs Spreadsheet @display -SES is a major mode for GNU Emacs to edit spreadsheet files, which +@acronym{SES} is a major mode for GNU Emacs to edit spreadsheet files, which contain a rectangular grid of cells. The cells' values are specified by formulas that can refer to the values of other cells. @end display @@ -65,7 +65,7 @@ To report bugs, send email to @email{jyavner@@member.fsf.org}. @insertcopying @menu -* Sales Pitch:: Why use SES? +* Sales Pitch:: Why use @acronym{SES}? * The Basics:: Basic spreadsheet commands * Advanced Features:: Want to know more? * For Gurus:: Want to know @emph{even more}? @@ -76,7 +76,7 @@ To report bugs, send email to @email{jyavner@@member.fsf.org}. @c =================================================================== -@node Sales Pitch, The Basics, Top, Top +@node Sales Pitch @comment node-name, next, previous, up @chapter Sales Pitch @cindex features @@ -98,7 +98,7 @@ To report bugs, send email to @email{jyavner@@member.fsf.org}. @c =================================================================== -@node The Basics, Advanced Features, Sales Pitch, Top +@node The Basics @comment node-name, next, previous, up @chapter The Basics @cindex basic commands @@ -125,9 +125,9 @@ Moves point to cell, specified by identifier (@code{ses-jump}). Point is always at the left edge of a cell, or at the empty endline. When mark is inactive, the current cell is underlined. When mark is -active, the range is the highlighted rectangle of cells (SES always +active, the range is the highlighted rectangle of cells (@acronym{SES} always uses transient mark mode). Drag the mouse from A1 to A3 to create the -range A1-A2. Many SES commands operate only on single cells, not +range A1-A2. Many @acronym{SES} commands operate only on single cells, not ranges. @table @kbd @@ -154,10 +154,10 @@ Highlight all cells (@code{mark-whole-buffer}). * Printer functions:: * Clearing cells:: * Copy/cut/paste:: -* Customizing SES:: +* Customizing @acronym{SES}:: @end menu -@node Formulas, Resizing, The Basics, The Basics +@node Formulas @section Cell formulas @cindex formulas @cindex formulas, entering @@ -191,7 +191,7 @@ this cell's formula will be reevaluated. While typing in the expression, you can use @kbd{M-@key{TAB}} to complete symbol names. @item ' @r{(apostrophe)} -Enter a symbol (ses-read-symbol). SES remembers all symbols that have +Enter a symbol (ses-read-symbol). @acronym{SES} remembers all symbols that have been used as formulas, so you can type just the beginning of a symbol and use @kbd{@key{SPC}}, @kbd{@key{TAB}}, and @kbd{?} to complete it. @end table @@ -210,7 +210,7 @@ Force recalculation of the current cell or range (@code{ses-recalculate-cell}). Recalculate the entire spreadsheet (@code{ses-recalculate-all}). @end table -@node Resizing, Printer functions, Formulas, The Basics +@node Resizing @section Resizing the spreadsheet @cindex resizing spreadsheets @findex ses-insert-row @@ -266,7 +266,7 @@ Undo previous action (@code{(undo)}). @end table -@node Printer functions, Clearing cells, Resizing, The Basics +@node Printer functions @section Printer functions @cindex printer functions @findex ses-read-cell-printer @@ -331,7 +331,7 @@ Centering with tildes (~) and spill-over. @end table -@node Clearing cells, Copy/cut/paste, Printer functions, The Basics +@node Clearing cells @section Clearing cells @cindex clearing commands @findex ses-clear-cell-backward @@ -348,7 +348,7 @@ Clear cell and move right (@code{ses-clear-cell-forward}). @end table -@node Copy/cut/paste, Customizing SES, Clearing cells, The Basics +@node Copy/cut/paste @section Copy, cut, and paste @cindex copy @cindex cut @@ -364,7 +364,7 @@ Clear cell and move right (@code{ses-clear-cell-forward}). @findex ses-yank-pop The copy functions work on rectangular regions of cells. You can paste the -copies into non-SES buffers to export the print text. +copies into non-@acronym{SES} buffers to export the print text. @table @kbd @item M-w @@ -393,7 +393,7 @@ Paste from kill ring (@code{yank}). The paste functions behave differently depending on the format of the text being inserted: @itemize @bullet @item -When pasting cells that were cut from a SES buffer, the print text is +When pasting cells that were cut from a @acronym{SES} buffer, the print text is ignored and only the attached formula and printer are inserted; cell references in the formula are relocated unless you use @kbd{C-u}. @item @@ -401,7 +401,7 @@ The pasted text overwrites a rectangle of cells whose top left corner is the current cell. If part of the rectangle is beyond the edges of the spreadsheet, you must confirm the increase in spreadsheet size. @item -Non-SES text is usually inserted as a replacement formula for the +Non-@acronym{SES} text is usually inserted as a replacement formula for the current cell. If the formula would be a symbol, it's treated as a string unless you use @kbd{C-u}. Pasted formulas with syntax errors are always treated as strings. @@ -419,12 +419,12 @@ Set point and paste from secondary clipboard (@code{mouse-yank-secondary}). @item M-y Immediately after a paste, you can replace the text with a preceding element from the kill ring (@code{ses-yank-pop}). Unlike the standard -Emacs yank-pop, the SES version uses @code{undo} to delete the old +Emacs yank-pop, the @acronym{SES} version uses @code{undo} to delete the old yank. This doesn't make any difference? @end table -@node Customizing SES, , Copy/cut/paste, The Basics -@section Customizing SES +@node Customizing @acronym{SES} +@section Customizing @acronym{SES} @cindex customizing @vindex enable-local-eval @vindex ses-mode-hook @@ -442,7 +442,7 @@ up or down. For diagonal movement, select two functions from the list. @code{ses-mode-hook} is a normal mode hook (list of functions to -execute when starting SES mode for a buffer). +execute when starting @acronym{SES} mode for a buffer). The variable @code{safe-functions} is a list of possibly-unsafe functions to be treated as safe when analyzing formulas and printers. @@ -460,7 +460,7 @@ safety belts! @c =================================================================== -@node Advanced Features, For Gurus, The Basics, Top +@node Advanced Features @chapter Advanced Features @cindex advanced features @findex ses-read-header-row @@ -468,7 +468,10 @@ safety belts! @table @kbd @item C-c M-C-h -(@code{ses-set-header-row}). The header line at the top of the SES +(@code{ses-set-header-row}). +@findex ses-set-header-row +@kindex C-c M-C-h +The header line at the top of the @acronym{SES} window normally shows the column letter for each column. You can set it to show a copy of some row, such as a row of column titles, so that row will always be visible. Default is to set the current row as the @@ -477,6 +480,16 @@ show column letters again. @item [header-line mouse-3] Pops up a menu to set the current row as the header, or revert to column letters. +@item M-x ses-rename-cell +@findex ses-rename-cell +Rename a cell from a standard A1-like name to any +string. +@item M-x ses-repair-cell-reference-all +@findex ses-repair-cell-reference-all +When you interrupt a cell formula update by clicking @kbd{C-g}, then +the cell reference link may be broken, which will jeopardize automatic +cell update when any other cell on which it depends is changed. To +repair that use function @code{ses-repair-cell-reference-all} @end table @menu @@ -490,16 +503,16 @@ column letters. * Spreadsheets with details and summary:: @end menu -@node The print area, Ranges in formulas, Advanced Features, Advanced Features +@node The print area @section The print area @cindex print area @findex widen @findex ses-renarrow-buffer @findex ses-reprint-all -A SES file consists of a print area and a data area. Normally the +A @acronym{SES} file consists of a print area and a data area. Normally the buffer is narrowed to show only the print area. The print area is -read-only except for special SES commands; it contains cell values +read-only except for special @acronym{SES} commands; it contains cell values formatted by printer functions. The data area records the formula and printer functions, etc. @@ -516,7 +529,7 @@ Recreate print area by reevaluating printer functions for all cells (@code{ses-reprint-all}). @end table -@node Ranges in formulas, Sorting by column, The print area, Advanced Features +@node Ranges in formulas @section Ranges in formulas @cindex ranges @findex ses-insert-range-click @@ -575,8 +588,54 @@ If you insert a new row just beyond the end of a one-column range, or a new column just beyond a one-row range, the new cell is included in the range. New cells inserted just before a range are not included. +Flags can be added to @code{ses-range} immediately after the @var{to} +cell. +@table @code +@item ! +Empty cells in range can be removed by adding the @code{!} flag. An +empty cell is a cell the value of which is one of symbols @code{nil} +or @code{*skip*}. For instance @code{(ses-range A1 A4 !)} will do the +same as @code{(list A1 A3)} when cells @code{A2} and @code{A4} are +empty. +@item _ +Empty cell values are replaced by the argument following flag +@code{_}, or @code{0} when flag @code{_} is last in argument list. For +instance @code{(ses-range A1 A4 _ "empty")} will do the same as +@code{(list A1 "empty" A3 "empty")} when cells @code{A2} and @code{A4} +are empty. Similarly, @code{(ses-range A1 A4 _ )} will do the same as +@code{(list A1 0 A3 0)}. +@item >v +When order matters, list cells by reading cells row-wise from top left +to bottom right. This flag is provided for completeness only as it is +the default reading order. +@item +List cells by reading cells column-wise from top left to bottom right. +@item v< +List cells by reading cells column-wise from top right to bottom left. +@item v +A short hand for @code{v>}. +@item ^ +A short hand for @code{^>}. +@item > +A short hand for @code{>v}. +@item < +A short hand for @code{>^}. +@item * +Instead of listing cells, it makes a Calc vector or matrix of it +(@pxref{Top,,,calc,GNU Emacs Calc Manual}). If the range contains only +one row or one column a vector is made, otherwise a matrix is made. +@item *2 +Same as @code{*} except that a matrix is always made even when there +is only one row or column in the range. +@item *1 +Same as @code{*} except that a vector is always made even when there +is only one row or column in the range, that is to say the +corresponding matrix is flattened. +@end table -@node Sorting by column, Standard formula functions, Ranges in formulas, Advanced Features +@node Sorting by column @section Sorting by column @cindex sorting @findex ses-sort-column @@ -605,7 +664,7 @@ formulas that refer to other rows in the range or to cells outside the range. -@node Standard formula functions, More on cell printing, Sorting by column, Advanced Features +@node Standard formula functions @section Standard formula functions @cindex standard formula functions @cindex *skip* @@ -630,7 +689,7 @@ Average of non-blank elements in @var{list}. Here the list is passed as a single argument, since you'll probably use it with @code{ses-range}. @end table -@node More on cell printing, Import and export, Standard formula functions, Advanced Features +@node More on cell printing @section More on cell printing @cindex cell printing, more @findex ses-truncate-cell @@ -652,7 +711,7 @@ the result is too wide for the available space (up to the end of the row or the next non-@code{nil} cell), the result is truncated if the cell's value is a string, or replaced with hash marks otherwise. -SES could get confused by printer results that contain newlines or +@acronym{SES} could get confused by printer results that contain newlines or tabs, so these are replaced with question marks. @table @kbd @@ -678,7 +737,7 @@ that are empty of contain strings will use the fallback printer. argument type''. -@node Import and export, Virus protection, More on cell printing, Advanced Features +@node Import and export @section Import and export @cindex import and export @cindex export, and import @@ -698,7 +757,7 @@ another buffer. Columns are separated by tabs, rows by newlines. To import text, use any of the yank commands where the text to paste contains tabs and/or newlines. Imported formulas are not relocated. -@node Virus protection, Spreadsheets with details and summary, Import and export, Advanced Features +@node Virus protection @section Virus protection @cindex virus protection @@ -725,7 +784,7 @@ parts of the Emacs Lisp environment can be excluded without cramping your style as a formula-writer. See the documentation in @file{unsafep.el} for more info on how Lisp forms are classified as safe or unsafe. -@node Spreadsheets with details and summary, , Virus protection, Advanced Features +@node Spreadsheets with details and summary @section Spreadsheets with details and summary @cindex details and summary @cindex summary, and details @@ -733,7 +792,7 @@ for more info on how Lisp forms are classified as safe or unsafe. A common organization for spreadsheets is to have a bunch of ``detail'' rows, each perhaps describing a transaction, and then a set of ``summary'' rows that each show reduced data for some subset of the -details. SES supports this organization via the @code{ses-select} +details. @acronym{SES} supports this organization via the @code{ses-select} function. @table @code @@ -761,7 +820,7 @@ details-and-summary spreadsheet. @c =================================================================== -@node For Gurus, Index, Advanced Features, Top +@node For Gurus @chapter For Gurus @cindex advanced features @@ -770,10 +829,10 @@ details-and-summary spreadsheet. * Nonrelocatable references:: * The data area:: * Buffer-local variables in spreadsheets:: -* Uses of defadvice in SES:: +* Uses of defadvice in @acronym{SES}:: @end menu -@node Deferred updates, Nonrelocatable references, For Gurus, For Gurus +@node Deferred updates @section Deferred updates @cindex deferred updates @cindex updates, deferred @@ -798,14 +857,14 @@ progress message of the form ``Writing... (@var{nnn} cells left)''. These deferred cell-writes cannot be interrupted by @kbd{C-g}, so you'll just have to wait. -SES uses @code{run-with-idle-timer} to move the cell underline when +@acronym{SES} uses @code{run-with-idle-timer} to move the cell underline when Emacs will be scrolling the buffer after the end of a command, and also to narrow and underline after @kbd{C-x C-v}. This is visible as a momentary glitch after C-x C-v and certain scrolling commands. You can type ahead without worrying about the glitch. -@node Nonrelocatable references, The data area, Deferred updates, For Gurus +@node Nonrelocatable references @section Nonrelocatable references @cindex nonrelocatable references @cindex references, nonrelocatable @@ -833,7 +892,7 @@ to get the value from the leftmost column in the current row. This kind of dependency is also not recorded. -@node The data area, Buffer-local variables in spreadsheets, Nonrelocatable references, For Gurus +@node The data area @section The data area @cindex data area @findex ses-reconstruct-all @@ -842,14 +901,14 @@ Begins with an 014 character, followed by sets of cell-definition macros for each row, followed by column-widths, column-printers, default-printer, and header-row. Then there's the global parameters (file-format ID, numrows, numcols) and the local variables (specifying -SES mode for the buffer, etc.). +@acronym{SES} mode for the buffer, etc.). -When a SES file is loaded, first the numrows and numcols values are +When a @acronym{SES} file is loaded, first the numrows and numcols values are loaded, then the entire data area is @code{eval}ed, and finally the local variables are processed. You can edit the data area, but don't insert or delete any newlines -except in the local-variables part, since SES locates things by +except in the local-variables part, since @acronym{SES} locates things by counting newlines. Use @kbd{C-x C-e} at the end of a line to install your edits into the spreadsheet data structures (this does not update the print area, use, e.g., @kbd{C-c C-l} for that). @@ -865,7 +924,7 @@ data structures: @end table -@node Buffer-local variables in spreadsheets, Uses of defadvice in SES, The data area, For Gurus +@node Buffer-local variables in spreadsheets @section Buffer-local variables in spreadsheets @cindex buffer-local variables @cindex variables, buffer-local @@ -899,8 +958,8 @@ avoid virus warnings, each function used in a formula needs (put 'your-function-name 'safe-function t) @end lisp -@node Uses of defadvice in SES, , Buffer-local variables in spreadsheets, For Gurus -@section Uses of defadvice in SES +@node Uses of defadvice in @acronym{SES} +@section Uses of defadvice in @acronym{SES} @cindex defadvice @cindex undo-more @cindex copy-region-as-kill @@ -926,15 +985,15 @@ cell. @end table @c =================================================================== -@node Index, Acknowledgments, For Gurus, Top +@node Index @unnumbered Index @printindex cp @c =================================================================== -@node Acknowledgments, GNU Free Documentation License, Index, Top -@chapter Acknowledgments +@node Acknowledgments +@unnumbered Acknowledgments Coding by: @quotation @@ -975,7 +1034,7 @@ Jean-Philippe Theberge @email{jphil@@acs.pagesjaunes.fr} @c =================================================================== -@node GNU Free Documentation License, , Acknowledgments, Top +@node GNU Free Documentation License @appendix GNU Free Documentation License @include doclicense.texi diff --git a/doc/misc/speedbar.texi b/doc/misc/speedbar.texi index 1c427c0b47..7227e2597a 100644 --- a/doc/misc/speedbar.texi +++ b/doc/misc/speedbar.texi @@ -37,8 +37,7 @@ modify this GNU manual.'' @contents -@node Top, , , (dir)Top -@comment node-name, next, previous, up +@node Top @top Speedbar Speedbar is a program for Emacs which can be used to summarize @@ -83,8 +82,7 @@ on. @xref{Basic Navigation}. * Index:: @end menu -@node Introduction, Basic Navigation, , Top -@comment node-name, next, previous, up +@node Introduction @chapter Introduction @cindex introduction @@ -115,8 +113,7 @@ The function to use when switching between frames using the keyboard is @code{speedbar-get-focus}. This function will toggle between frames, and it's useful to bind it to a key in terminal mode. @xref{Customizing}. -@node Basic Navigation, File Mode, Introduction, Top -@comment node-name, next, previous, up +@node Basic Navigation @chapter Basic Navigation Speedbar can display different types of data, and has several display @@ -131,8 +128,7 @@ to use. * Displays Submenu:: @end menu -@node Basic Key Bindings, Basic Visuals, Basic Navigation, Basic Navigation -@comment node-name, next, previous, up +@node Basic Key Bindings @section Basic Key Bindings @cindex key bindings @@ -205,8 +201,7 @@ flushed. This is similar to a power click. @xref{Mouse Bindings}. Contract the current group, hiding sub items. @end table -@node Basic Visuals, Mouse Bindings, Basic Key Bindings, Basic Navigation -@comment node-name, next, previous, up +@node Basic Visuals @section Basic Visuals @cindex visuals @@ -307,8 +302,7 @@ The face naming convention mirrors the File display mode. Modes which do not use files will attempt to use the same colors on analogous entries. -@node Mouse Bindings, Displays Submenu, Basic Visuals, Basic Navigation -@comment node-name, next, previous, up +@node Mouse Bindings @section Mouse Bindings @cindex mouse bindings @@ -352,8 +346,7 @@ should be displayed in the minibuffer of the attached frame. Sometimes this can contain extra information such as file permissions, or tag location. -@node Displays Submenu, , Mouse Bindings, Basic Navigation -@comment node-name, next, previous, up +@node Displays Submenu @section Displays Submenu @cindex displays submenu @@ -369,8 +362,7 @@ The contents are modes currently loaded into emacs. By default, this would include Files, Quick Buffers, and Buffers. Other major display modes such as Info are loaded separately. -@node File Mode, Buffer Mode, Basic Navigation, Top -@comment node-name, next, previous, up +@node File Mode @chapter File Mode @cindex file mode @@ -387,8 +379,7 @@ Advanced behavior, like copying and renaming files, is also provided. * File Key Bindings:: Performing file operations. @end menu -@node Directory Display, Hidden Files, File Mode, File Mode -@comment node-name, next, previous, up +@node Directory Display @section Directory Display @cindex directory display @@ -471,8 +462,7 @@ Some group names may say something like @samp{speedbar-t to speedbar-v}, indicating that all symbols which alphabetically fall between those categories are included in that sub-group. @xref{Tag Hierarchy Methods}. -@node Hidden Files, File Key Bindings, Directory Display, File Mode -@comment node-name, next, previous, up +@node Hidden Files @section Hidden Files @cindex hidden files @@ -498,8 +488,7 @@ Object files fall into the category of level 2 hidden files. You can determine their presence by the @samp{#} and @samp{!} file indicators. @xref{Directory Display}. -@node File Key Bindings, , Hidden Files, File Mode -@comment node-name, next, previous, up +@node File Key Bindings @section File Key Bindings @cindex file key bindings @@ -537,8 +526,7 @@ list, are shown. By showing all files, additional files such as text files are also displayed, but they are prefixed with the @samp{[?]} symbol. This means that it is a file, but Emacs doesn't know how to expand it. -@node Buffer Mode, Minor Modes, File Mode, Top -@comment node-name, next, previous, up +@node Buffer Mode @chapter Buffer Mode @cindex buffer mode @@ -569,8 +557,7 @@ Thus, if you are in File mode, and you need quick access to a buffer, press @kbd{b}, click on the buffer you want, and speedbar will revert back to File mode. -@node Minor Modes, Customizing, Buffer Mode, Top -@comment node-name, next, previous, up +@node Minor Modes @chapter Minor Display Modes @cindex minor display modes @@ -592,8 +579,7 @@ key bindings and visuals, but will have specialized behaviors. stack trace. @end menu -@node RMAIL, Info, Minor Modes, Minor Modes -@comment node-name, next, previous, up +@node RMAIL @section RMAIL @cindex RMAIL @@ -614,8 +600,7 @@ the current RMAIL folder into a different folder by clicking the In this way you can manage your existing RMAIL folders fairly easily using the mouse. -@node Info, GDB, RMAIL, Minor Modes -@comment node-name, next, previous, up +@node Info @section Info @cindex Info @@ -629,8 +614,7 @@ are available. Since these sub-topics are not examined until you click the @samp{[+]} button, sometimes a @samp{[?]} will appear when you click on a @samp{[+]}, indicating that there are no sub-topics. -@node GDB, , Info, Minor Modes -@comment node-name, next, previous, up +@node GDB @section GDB @cindex gdb @cindex gud @@ -652,8 +636,7 @@ You can click on any stack element and gdb will move to that stack level. You can then check variables local to that level at the GDB prompt. -@node Customizing, Extending, Minor Modes, Top -@comment node-name, next, previous, up +@node Customizing @chapter Customizing @cindex customizing @@ -680,8 +663,7 @@ Customize speedbar's many colors and fonts. * Hooks:: The many hooks you can use. @end menu -@node Frames and Faces, Tag Hierarchy Methods, Customizing, Customizing -@comment node-name, next, previous, up +@node Frames and Faces @section Frames and Faces @cindex faces @cindex frame parameters @@ -725,8 +707,7 @@ it. In XEmacs, change the plist @code{speedbar-frame-plist}. This is the XEmacs way of doing the same thing. -@node Tag Hierarchy Methods, Version Control, Frames and Faces, Customizing -@comment node-name, next, previous, up +@node Tag Hierarchy Methods @section Tag Hierarchy Methods @cindex tag hierarchy @cindex tag groups @@ -805,8 +786,7 @@ are next to each other, then they are combined until this number of items is reached. @end table -@node Version Control, Hooks, Tag Hierarchy Methods, Customizing -@comment node-name, next, previous, up +@node Version Control @section Version Control @cindex version control @cindex vc extensions @@ -840,8 +820,7 @@ placed near this file. Lastly, you can change the VC indicator using the variable @code{speedbar-vc-indicator}, and specify a single character string. -@node Hooks, , Version Control, Customizing -@comment node-name, next, previous, up +@node Hooks @section Hooks @cindex hooks @@ -883,8 +862,7 @@ Set this to implement your own scanning or rescan safe functions with state data. @end table -@node Extending, GNU Free Documentation License, Customizing, Top -@comment node-name, next, previous, up +@node Extending @chapter Extending @cindex extending @@ -908,7 +886,7 @@ create specialized tagging functions. * Creating a display:: How to insert buttons and hierarchies. @end menu -@node Minor Display Modes, Major Display Modes, Extending, Extending +@node Minor Display Modes @section Minor Display Modes @cindex create minor display mode @@ -966,7 +944,7 @@ want to do is execute a check to see if you need to re-create your display. If it needs to be cleared, you need to erase the speedbar buffer yourself, and start drawing buttons. @xref{Creating a display}. -@node Major Display Modes, Tagging Extensions, Minor Display Modes, Extending +@node Major Display Modes @section Major Display Modes @cindex create major display mode @@ -1097,7 +1075,7 @@ Your custom function might look like this: Once you have done all this, speedbar will show an entry in the @samp{Displays} menu declaring that your extension is available. -@node Tagging Extensions, Creating a display, Major Display Modes, Extending +@node Tagging Extensions @section Tagging Extensions It is possible to create new methods for tagging files in speedbar. @@ -1137,7 +1115,7 @@ If your parser is only good for a few types of files, make sure that it is either a buffer local modification, or that the tag generator returns @code{t} for non valid buffers. -@node Creating a display, , Tagging Extensions, Extending +@node Creating a display @section Creating a display @cindex creating a display @@ -1239,13 +1217,12 @@ Two good values are @code{nil} and @code{statictag}. @end defun -@node GNU Free Documentation License, Index, Extending, Top +@node GNU Free Documentation License @appendix GNU Free Documentation License @include doclicense.texi -@node Index, , GNU Free Documentation License, Top -@comment node-name, next, previous, up +@node Index @unnumbered Concept Index @printindex cp diff --git a/doc/misc/srecode.texi b/doc/misc/srecode.texi index dac24f7ca4..d76f9e0918 100644 --- a/doc/misc/srecode.texi +++ b/doc/misc/srecode.texi @@ -225,7 +225,7 @@ template files, and determining which templates are relevant to the current buffer. Template files are sorted by priority, with user templates being found first, and system level default templates last. Templates are also sorted by application. Each application has its -own templates, and are kept seperate from the generic templates. +own templates, and are kept separate from the generic templates. @section Dictionary Dictionaries contain values associated with variable. Variables are @@ -311,7 +311,7 @@ template to be inserted again. By default, when inserting a template, if the user needs to enter text to fill in a part of the template, then the minibuffer is used to -query for that information. SRecode also supports a field-edting mode +query for that information. SRecode also supports a field-editing mode that can be used instead. To enable it set: @defun srecode-insert-ask-variable-method @@ -343,7 +343,7 @@ Once the cursor moves out of the are inserted by the template, all the fields are cancelled. @b{NOTE}: Some conveniences in templates, such as completion, or -character restrictins are lost when using field editing mode. +character restrictions are lost when using field editing mode. @node Template Writing @chapter Template Writing @@ -400,7 +400,7 @@ set VARNAME "some value" @end example Note that a VARIABLE is a name in a dictionary that can be used in a -MACRO in a template. The macro referernces some variable by name. +MACRO in a template. The macro references some variable by name. @menu * String Values:: Basic Variable values @@ -419,7 +419,7 @@ other characters. Strings are interpreted by the Emacs Lisp reader so @code{\n}, @code{\t}, and @code{\"} work. When a string is inserted as part of a template, nothing within the -string is interperted, such as template escape characters. +string is interpreted, such as template escape characters. @node Multi-string Values @subsection Multi-string Values @@ -544,7 +544,7 @@ Any template file that has a project specified will get have a priority that is set between SRecode base templates, and user defined templates. -Templates can be compiled via a project system, such as EDE. EDE +Templates can be compiled via a project system, such as EDE@. EDE loaded templates will get a @var{project} set automatically. Example: @@ -598,7 +598,7 @@ variables from Lisp. A template represents a text pattern that can be inserted into a buffer. -A basic template is declaired like this: +A basic template is declared like this: @example template TEMPLATENAME :arg1 :arg2 @@ -620,7 +620,7 @@ contain the text "-----". @menu * Template Section Dictionaries:: Template Scoped Macro values -* Template Macros:: Macros occuring in template patterns +* Template Macros:: Macros occurring in template patterns @end menu @node Template Section Dictionaries @@ -643,7 +643,7 @@ An end line @end example In this example, the @var{NAME} variable gets the value ``foo'', but -only while it is inside section macro A. The outer scoped NAME will +only while it is inside section macro A@. The outer scoped NAME will be empty. This is particularly useful while using an include macro to pull in a @@ -846,7 +846,7 @@ template foo context C2 -temlate foo +template foo "Foo template in C2" ---- ---- @@ -857,13 +857,13 @@ C1. The second is available in context C2. This is useful if there are multiple ways to declare something like a function or variable that differ only by where it is in the syntax of -the lanugage. The name @code{foo} is not ambiguous because each is in +the language. The name @code{foo} is not ambiguous because each is in a different context. @node Prompts @section Prompt -Some templates use promtping macro insertion. A macro that needs a +Some templates use prompting macro insertion. A macro that needs a prompt looks like this: @example @@ -880,7 +880,7 @@ Specify NAME: For such macros, you can pre-define prompts for any dictionary entry. When that dictionary entry is first encountered, the user is prompted, -and subsequent occurances of that dictionary entry use the same value. +and subsequent occurrences of that dictionary entry use the same value. To get a different prompt, use a prompt command like this: @@ -925,7 +925,7 @@ need to use the @code{defaultmacro} keyword instead. prompt VARNAME "Varname: " defaultmacro "PREFIX" @end example -now, when it attempts to read in VARNAME, it will pre-populte the text +now, when it attempts to read in VARNAME, it will pre-populate the text editing section with whatever the value of PREFIX is. Some language arguments may supply possible prefixes for prompts. @@ -971,7 +971,7 @@ When building an @srecode{} based application, you will need to setup your dictionary values yourself. There are several utility functions for this. -In the simplest form, you can assocate a string with a variable. +In the simplest form, you can associate a string with a variable. @defun srecode-dictionary-set-value dict name value @anchor{srecode-dictionary-set-value} @@ -996,8 +996,9 @@ You can add several dictionaries to the same section entry. For each dictionary added to a variable, the block of codes in the template will be repeated. -If optional argument @var{SHOW-ONLY} is non-@code{nil}, then don't add a new dictionarly -if there is already one in place. Also, don't add @var{FIRST}/@var{LAST} entries. +If optional argument @var{SHOW-ONLY} is non-@code{nil}, then don't add +a new dictionary if there is already one in place. Also, don't add +@var{FIRST}/@var{LAST} entries. These entries are not needed when we are just showing a section. Each dictionary added will automatically get values for positional macros @@ -1125,7 +1126,7 @@ want, but adding dictionary values is the right thing. @node Querying a Dictionary @section Querying a Dictionary -When creating a new argument, it may be useful to ask the dicitonary +When creating a new argument, it may be useful to ask the dictionary what entries are already set there, and conditionally create new entries based on those. @@ -1233,7 +1234,7 @@ The current hour in 24 hour format. @item HOUR12 The current hour in 12 hour format. @item AMPM -Locale equivalent of AM or PM. Usefule with HOUR12. +Locale equivalent of AM or PM@. Useful with HOUR12. @item MINUTE The current minute. @item SECOND @@ -1330,7 +1331,7 @@ entries. @table @code @item ARGS -A Loop macro value. Each argument is inserted in ARGS. To create a +A Loop macro value. Each argument is inserted in ARGS@. To create a comma separated list of arguments, you might do this: @example @@ -1411,7 +1412,7 @@ name. Converts the filename into text that would be suitable as a class-name for the main class in the file. @item CURRENT_PACKAGE -Finds the occurance of ``package'' and gets its value. +Finds the occurrence of ``package'' and gets its value. @end table @subsubsection Argument :el @@ -1429,7 +1430,7 @@ to namespaces in other languages. The name of the Emacs Custom group that instances of @code{defcustom} ought to use. @item FACEGROUP -The name of the Emacs Custom group that faces delcared with +The name of the Emacs Custom group that faces declared with @code{defface} ought to use. @end table @@ -1550,7 +1551,7 @@ tables that do not belong to an application will be searched. @end defun For purposes of an @srecode{} application, it is important to decide -what to call yoru application, and use that with this method call. +what to call your application, and use that with this method call. @section Creating dictionaries @@ -1581,7 +1582,7 @@ If @var{stream} is nil, then use the current buffer. @node Template Naming Conventions @chapter Template Naming Conventions -For @srecode{} to work across langauges reliably, templates need to +For @srecode{} to work across languages reliably, templates need to follow a predictable pattern. For every language of similar nature (OO, functional, doc based) if they all provide the same base templates, then an application can be written against the base @@ -1612,7 +1613,7 @@ Functional languages should attempt to support the following: @item function A standalone function. Not a method, external method, or other. @item method -A method belonging to some class declaired outside the textual bounds +A method belonging to some class declared outside the textual bounds of that class' declaration. @item variable A global variable. @@ -1684,7 +1685,7 @@ also the following useful dictionary values. @table @var @item TAG -A special insertion value TAG. You can use semantic functions to turn +A special insertion value TAG@. You can use semantic functions to turn the tag into a string. @item HAVEDEFAULT @itemx DEFAULT diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index f3093d0853..85f184cc4c 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex @@ -3,11 +3,11 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2012-09-12.16} +\def\texinfoversion{2013-02-01.11} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -% 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. +% 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as @@ -24,7 +24,8 @@ % % As a special exception, when this file is read by TeX when processing % a Texinfo source document, you may use the result without -% restriction. (This has been our intent since Texinfo was invented.) +% restriction. This Exception is an additional permission under section 7 +% of the GNU General Public License, version 3 ("GPLv3"). % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: @@ -2495,7 +2496,7 @@ end \let-\codedash \let_\codeunder \else - \let-\realdash + \let-\normaldash \let_\realunder \fi \codex @@ -2504,7 +2505,7 @@ end \def\codex #1{\tclose{#1}\endgroup} -\def\realdash{-} +\def\normaldash{-} \def\codedash{-\discretionary{}{}{}} \def\codeunder{% % this is all so @math{@code{var_name}+1} can work. In math mode, _ @@ -2519,9 +2520,9 @@ end } % An additional complication: the above will allow breaks after, e.g., -% each of the four underscores in __typeof__. This is undesirable in -% some manuals, especially if they don't have long identifiers in -% general. @allowcodebreaks provides a way to control this. +% each of the four underscores in __typeof__. This is bad. +% @allowcodebreaks provides a document-level way to turn breaking at - +% and _ on and off. % \newif\ifallowcodebreaks \allowcodebreakstrue @@ -4187,7 +4188,7 @@ end % ..., but we might end up with active ones in the argument if % we're called from @code, as @code{@value{foo-bar_}}, though. % So \let them to their normal equivalents. - \let-\realdash \let_\normalunderscore + \let-\normaldash \let_\normalunderscore } } @@ -6559,16 +6560,9 @@ end \makedispenvdef{quotation}{\quotationstart} % \def\quotationstart{% - {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip - \parindent=0pt - % - % @cartouche defines \nonarrowing to inhibit narrowing at next level down. + \indentedblockstart % same as \indentedblock, but increase right margin too. \ifx\nonarrowing\relax - \advance\leftskip by \lispnarrowing \advance\rightskip by \lispnarrowing - \exdentamount = \lispnarrowing - \else - \let\nonarrowing = \relax \fi \parsearg\quotationlabel } @@ -6594,6 +6588,32 @@ end \fi } +% @indentedblock is like @quotation, but indents only on the left and +% has no optional argument. +% +\makedispenvdef{indentedblock}{\indentedblockstart} +% +\def\indentedblockstart{% + {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip + \parindent=0pt + % + % @cartouche defines \nonarrowing to inhibit narrowing at next level down. + \ifx\nonarrowing\relax + \advance\leftskip by \lispnarrowing + \exdentamount = \lispnarrowing + \else + \let\nonarrowing = \relax + \fi +} + +% Keep a nonzero parskip for the environment, since we're doing normal filling. +% +\def\Eindentedblock{% + \par + {\parskip=0pt \afterenvbreak}% +} +\def\Esmallindentedblock{\Eindentedblock} + % LaTeX-like @verbatim...@end verbatim and @verb{...} % If we want to allow any as delimiter, @@ -9973,22 +9993,26 @@ directory should work if nowhere else does.} @gdef@otherbackslash{@let\=@realbackslash} % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of -% the literal character `\'. -% -@def@normalturnoffactive{% - @let"=@normaldoublequote - @let$=@normaldollar %$ font-lock fix - @let+=@normalplus - @let<=@normalless - @let>=@normalgreater - @let\=@normalbackslash - @let^=@normalcaret - @let_=@normalunderscore - @let|=@normalverticalbar - @let~=@normaltilde - @markupsetuplqdefault - @markupsetuprqdefault - @unsepspaces +% the literal character `\'. Also revert - to its normal character, in +% case the active - from code has slipped in. +% +{@catcode`- = @active + @gdef@normalturnoffactive{% + @let-=@normaldash + @let"=@normaldoublequote + @let$=@normaldollar %$ font-lock fix + @let+=@normalplus + @let<=@normalless + @let>=@normalgreater + @let\=@normalbackslash + @let^=@normalcaret + @let_=@normalunderscore + @let|=@normalverticalbar + @let~=@normaltilde + @markupsetuplqdefault + @markupsetuprqdefault + @unsepspaces + } } % Make _ and + \other characters, temporarily. diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 2609b331b7..cfa3f84bda 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -451,7 +451,8 @@ GVFS integration started in February 2009. Remote commands on Windows hosts are available since September 2011. @end ifset Ad-hoc multi-hop methods (with a changed syntax) have been reenabled -in November 2011. +in November 2011. In November 2012, Juergen Hoetzel's +@file{tramp-adb.el} has been added. In December 2001, @value{tramp} has been added to the XEmacs package repository. Being part of the Emacs repository happened in June 2002, @@ -1029,6 +1030,17 @@ Windows, this method isn't available. Instead, you can use UNC file names like @file{//melancholia/daniel$$/.emacs}. The only disadvantage is that there's no possibility to specify another user name. + + +@item @option{adb} +@cindex method adb +@cindex adb method + +This special method uses the Android Debug Bridge for connecting +Android devices. The Android Debug Bridge, part of the Android SDK, +must be installed locally. The variable @var{tramp-adb-sdk-dir} must +be set to its installation directory. + @end table @@ -1077,6 +1089,7 @@ phones. For the time being, @value{tramp} only supports OBEX over Bluetooth. The @option{synce} method allows communication with Windows Mobile devices. Beside GVFS for mounting remote files and directories via FUSE, it also needs the SYNCE-GVFS plugin. + @end table @defopt tramp-gvfs-methods @@ -1266,8 +1279,8 @@ example, if you always have to use the user @samp{john} in the domain @end lisp @noindent -See the documentation for the variable -@code{tramp-default-user-alist} for more details. +See the documentation for the variable @code{tramp-default-user-alist} +for more details. One trap to fall in must be known. If @value{tramp} finds a default user, this user will be passed always to the connection command as @@ -1325,6 +1338,18 @@ Note, however, that the most simplification @samp{/::} won't work, because @samp{/:} is the prefix for quoted file names. @end ifset +@vindex tramp-default-host-alist +Like with methods and users, you can also specify different default +hosts for certain method/user combinations via the variable +@code{tramp-default-host-alist}. Usually, this isn't necessary, +because @code{tramp-default-host} should be sufficient. For some +methods, like @code{adb}, that default value must be overwritten, +which is already the initial value of @code{tramp-default-host-alist}. + +@noindent +See the documentation for the variable @code{tramp-default-host-alist} +for more details. + @node Multi-hops @section Connecting to a remote host using multiple hops @@ -1584,6 +1609,7 @@ can return user names only. Finally, a function which parses @file{~/.netrc} like files. This includes also @file{~/.authinfo}-style files. + @end table If you want to keep your own data in a file, with your own structure, @@ -2336,6 +2362,8 @@ number than the default one, given by the method. This is specified by adding @file{#} to the host name, like in @file{@trampfn{ssh, daniel, melancholia#42, .emacs}}. +Note that @value{tramp} supports only filenames encoded in unibyte. + @node Alternative Syntax @section URL-like filename syntax diff --git a/doc/misc/trampver.texi b/doc/misc/trampver.texi index 3c0c3a7e19..6d5a8cb1c4 100644 --- a/doc/misc/trampver.texi +++ b/doc/misc/trampver.texi @@ -8,7 +8,7 @@ @c In the Tramp CVS, the version number is auto-frobbed from @c configure.ac, so you should edit that file and run @c "autoconf && ./configure" to change the version number. -@set trampver 2.2.6-24.3 +@set trampver 2.2.7-pre @c Other flags from configuration @set instprefix /usr/local diff --git a/doc/misc/url.texi b/doc/misc/url.texi index 42b1624aa0..49f8f3f095 100644 --- a/doc/misc/url.texi +++ b/doc/misc/url.texi @@ -346,7 +346,7 @@ To use this function, you must @code{(require 'url-queue)}. The value of this option is an integer specifying the maximum number of concurrent @code{url-queue-retrieve} network processes. If the number of @code{url-queue-retrieve} calls is larger than this number, -later ones are queued until ealier ones are finished. +later ones are queued until earlier ones are finished. @end defopt @vindex url-queue-timeout diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi index 327d8d5f45..7c998b3701 100644 --- a/doc/misc/vip.texi +++ b/doc/misc/vip.texi @@ -40,7 +40,7 @@ modify this GNU manual.'' @end direntry @ifnottex -@node Top, Survey,, (DIR) +@node Top @top VIP VIP is a Vi emulating package written in Emacs Lisp. VIP implements most @@ -90,7 +90,7 @@ Comments and bug reports are welcome. Please send messages to @code{masahiko@@unsun.riec.tohoku.junet} if you are in Japan. @end iftex -@node Survey, Basic Concepts, Top, Top +@node Survey @chapter A Survey of VIP In this chapter we describe basics of VIP with emphasis on the features not @@ -104,7 +104,7 @@ found in Vi and on how to use VIP under GNU Emacs. * Differences from Vi:: Differences of VIP from Vi is explained. @end menu -@node Basic Concepts, Loading VIP, Survey, Survey +@node Basic Concepts @section Basic Concepts We begin by explaining some basic concepts of Emacs. These concepts are @@ -151,7 +151,7 @@ be executed when you type the key. If no function is bound to a key in the local map, however, the function bound to the key in the global map becomes in effect.@refill -@node Loading VIP, Modes in VIP, Basic Concepts, Survey +@node Loading VIP @section Loading VIP The recommended way to load VIP automatically is to include the line: @@ -177,7 +177,7 @@ M-x vip-mode @end example @noindent -@node Modes in VIP, Emacs Mode, Loading VIP, Survey +@node Modes in VIP @section Modes in VIP @kindex 032 @kbd{C-z} (@code{vip-change-mode-to-vi}) @@ -257,7 +257,7 @@ emacs mode vi mode insert mode know enough Emacs commands. @end menu -@node Emacs Mode, Vi Mode, Modes in VIP, Modes in VIP +@node Emacs Mode @subsection Emacs Mode @kindex 032 @kbd{C-z} (@code{vip-change-mode-to-vi}) @@ -267,14 +267,14 @@ normal Emacs editing in this mode. Note that the key @kbd{C-z} is globally bound to @code{vip-change-mode-to-vi}. So, if you type @kbd{C-z} in this mode then you will be in vi mode.@refill -@node Vi Mode, Insert Mode, Emacs Mode, Modes in VIP +@node Vi Mode @subsection Vi Mode This mode corresponds to Vi's command mode. Most Vi commands work as they do in Vi. You can go back to emacs mode by typing @kbd{C-z}. You can enter insert mode, just as in Vi, by typing @kbd{i}, @kbd{a} etc. -@node Insert Mode, Differences from Vi, Vi Mode, Modes in VIP +@node Insert Mode @subsection Insert Mode The key bindings in this mode is the same as in the emacs mode except for @@ -298,7 +298,7 @@ Thus typing @kbd{C-z x} in insert mode will have the same effect as typing @kbd{ESC x} in emacs mode. @end table -@node Differences from Vi, Undoing, Insert Mode, Survey +@node Differences from Vi @section Differences from Vi The major differences from Vi are explained below. @@ -323,7 +323,7 @@ The major differences from Vi are explained below. * Misc Commands:: Other useful commands. @end menu -@node Undoing, Changing, Differences from Vi, Differences from Vi +@node Undoing @subsection Undoing @kindex 165 @kbd{u} (@code{vip-undo}) @@ -334,7 +334,7 @@ a single change, while @kbd{u .@: .@: .@:}, for instance, will undo 4 previous changes. Undo is undoable as in Vi. So the content of the buffer will be the same before and after @kbd{u u}.@refill -@node Changing, Searching, Undoing, Differences from Vi +@node Changing @subsection Changing Some commands which change a small number of characters are executed @@ -347,7 +347,7 @@ then VIP will prompt you for a new word in the minibuffer by the prompt @kindex 007 @kbd{C-g} (@code{vip-keyboard-quit}) you can abort a partially formed command by typing @kbd{C-g}.@refill -@node Searching, z Command, Changing, Differences from Vi +@node Searching @subsection Searching @kindex 057 @kbd{/} (@code{vip-search-forward}) @@ -363,7 +363,7 @@ search string. (It is a limitation.) By default, search will wrap around the buffer as in Vi. You can change this by rebinding the variable @code{vip-search-wrap-around}. @xref{Customization}, for how to do this.@refill -@node z Command, Counts, Searching, Differences from Vi +@node z Command @subsection z Command @kindex 1723 @kbd{z H} (@code{vip-line-to-top}) @@ -378,7 +378,7 @@ For those of you who cannot remember which of @kbd{z} followed by @key{RET}, @kbd{M} and @kbd{L} to place the current line in the Home (Middle, and Last) line of the window.@refill -@node Counts, Marking, z Command, Differences from Vi +@node Counts @subsection Counts Some Vi commands which do not accept a count now accept one @@ -404,7 +404,7 @@ line. Given a count @var{n}, @var{n}-th occurrence will be searched. @end table -@node Marking, Region Commands, Counts, Differences from Vi +@node Marking @subsection Marking Typing an @kbd{m} followed by a lower-case character @var{ch} marks the @@ -424,7 +424,7 @@ Set mark at point (and push old mark on mark ring). Jump to mark (and pop mark off the mark ring). @end table -@node Region Commands, New Commands, Marking, Differences from Vi +@node Region Commands @subsection Region Commands @cindex region @@ -438,7 +438,7 @@ of @kbd{r} the region will first be enlarged so that it will become the smallest region containing the original region and consisting of whole lines. Thus @kbd{m .@: d R} will have the same effect as @kbd{d d}.@refill -@node New Commands, New Bindings, Region Commands, Differences from Vi +@node New Commands @subsection Some New Commands Note that the keys below (except for @kbd{R}) are not used in Vi. @@ -530,7 +530,7 @@ Check spelling of words in the region (@code{spell-region}). Call last keyboard macro. @end table -@node New Bindings, Window Commands, New Commands, Differences from Vi +@node New Bindings @subsection New Key Bindings In VIP the meanings of some keys are entirely different from Vi. These key @@ -590,7 +590,7 @@ In addition to these, @code{ctl-x-map} is slightly modified: This is equivalent to @kbd{C-x 1 C-x 2} (1 + 2 = 3). @end table -@node Window Commands, Buffer Commands, New Bindings, Differences from Vi +@node Window Commands @subsection Window Commands In this and following subsections, we give a summary of key bindings for @@ -614,7 +614,7 @@ Split current window into two windows. Show current buffer in two windows. @end table -@node Buffer Commands, File Commands, Window Commands, Differences from Vi +@node Buffer Commands @subsection Buffer Commands @table @kbd @@ -635,7 +635,7 @@ Kill the current buffer if it is not modified. Save the current buffer in the file associated to the buffer. @end table -@node File Commands, Misc Commands, Buffer Commands, Differences from Vi +@node File Commands @subsection File Commands @table @kbd @@ -656,7 +656,7 @@ Write current buffer into the specified file. Insert specified file at point. @end table -@node Misc Commands, Vi Commands, File Commands, Differences from Vi +@node Misc Commands @subsection Miscellaneous Commands @table @kbd @@ -683,7 +683,7 @@ Query replace. Replace. @end table -@node Vi Commands, Numeric Arguments, Misc Commands, Top +@node Vi Commands @chapter Vi Commands This chapter describes Vi commands other than Ex commands implemented in @@ -704,7 +704,7 @@ commands described in this chapter are to be used in vi mode. * Commands in Insert Mode:: Commands for entering insert mode. @end menu -@node Numeric Arguments, Important Keys, Vi Commands, Vi Commands +@node Numeric Arguments @section Numeric Arguments @cindex numeric arguments @@ -725,7 +725,7 @@ In many cases, if a count is given, the command is executed that many times. For instance, @kbd{5 d d} deletes 5 lines while simple @kbd{d d} deletes a line. In this manual the metavariable @var{n} will denote a count.@refill -@node Important Keys, Buffers and Windows, Numeric Arguments, Vi Commands +@node Important Keys @section Important Keys The keys @kbd{C-g} and @kbd{C-l} are unique in that their associated @@ -775,7 +775,7 @@ typing @kbd{\}. Thus @kbd{5 \ +}, as well as @kbd{\ C-u 5 +}, will insert @samp{+++++} before point.@refill @end table -@node Buffers and Windows, Files, Important Keys, Vi Commands +@node Buffers and Windows @section Buffers and Windows @cindex buffer @@ -842,7 +842,7 @@ by @key{RET}. The default buffer name to switch to will also be prompted, and you can select it by giving a simple @key{RET}. See GNU Emacs Manual for details of completion. -@node Files, Viewing the Buffer, Buffers and Windows, Vi Commands +@node Files @section Files We have the following commands related to files. They are used to visit, @@ -923,7 +923,7 @@ case), you can just say @kbd{X S}. If you wish to save it in another file, you can type @kbd{X W}. You will then get a similar prompt as you get for @kbd{v}, to which you can enter the file name.@refill -@node Viewing the Buffer, Mark Commands, Files, Vi Commands +@node Viewing the Buffer @section Viewing the Buffer In this and next section we discuss commands for moving around in the @@ -991,7 +991,7 @@ point will be placed in the @var{n}-th line from bottom Center point in window and redisplay screen (@code{recenter}). @end table -@node Mark Commands, Motion Commands, Viewing the Buffer, Vi Commands +@node Mark Commands @section Mark Commands The following commands are used to mark positions in the buffer. @@ -1019,7 +1019,7 @@ latest element of the mark ring (replacing the oldest one). By repeating the command `@kbd{m ,}' you can visit older and older marked positions. You will eventually be in a loop as the mark ring is a ring. -@node Motion Commands, Searching and Replacing, Mark Commands, Vi Commands +@node Motion Commands @section Motion Commands Commands for moving around in the current buffer are collected here. These @@ -1213,7 +1213,7 @@ Repeat previous @kbd{f}, @kbd{t}, @kbd{F} or @kbd{T} command, in the opposite direction (@code{vip-repeat-find-opposite}). @end table -@node Searching and Replacing, Modifying Commands, Motion Commands, Vi Commands +@node Searching and Replacing @section Searching and Replacing Following commands are available for searching and replacing. @@ -1277,7 +1277,7 @@ count, replace that many characters by @var{ch} (@code{vip-replace-char}). The commands @kbd{/} and @kbd{?} mark point before move, so that you can return to the original point by @w{@kbd{` `}}. -@node Modifying Commands, Delete Commands, Searching and Replacing, Vi Commands +@node Modifying Commands @section Modifying Commands In this section, commands for modifying the content of a buffer are @@ -1315,7 +1315,7 @@ command. * Change Commands:: Commands for changing text. * Repeating and Undoing Modifications:: @end menu -@node Delete Commands, Yank Commands, Modifying Commands, Modifying Commands +@node Delete Commands @subsection Delete Commands @table @kbd @@ -1367,7 +1367,7 @@ Delete a character before point. Given @var{n}, delete @var{n} characters (@code{vip-delete-backward-char}). @end table -@node Yank Commands, Put Back Commands, Delete Commands, Modifying Commands +@node Yank Commands @subsection Yank Commands @cindex yank @@ -1403,7 +1403,7 @@ Yank current region. Expand current region and yank it. @end table -@node Put Back Commands, Change Commands, Yank Commands, Modifying Commands +@node Put Back Commands @subsection Put Back Commands Deleted or yanked texts can be put back into the buffer by the command below. @@ -1434,7 +1434,7 @@ numeral between @kbd{1} and @kbd{9}. If the number register @var{n} is specified, @var{n}-th previously deleted/yanked text will be put back. It is an error to specify a number register for the delete/yank commands. -@node Change Commands, Repeating and Undoing Modifications, Put Back Commands, Modifying Commands +@node Change Commands @subsection Change Commands Most commonly used change command takes the following form. @@ -1467,7 +1467,7 @@ Change current region. Expand current region and change it. @end table -@node Repeating and Undoing Modifications, Other Vi Commands, Change Commands, Modifying Commands +@node Repeating and Undoing Modifications @subsection Repeating and Undoing Modifications VIP records the previous modifying command, so that it is easy to repeat @@ -1487,7 +1487,7 @@ count for the repeated command. Otherwise, the count for the last modifying command is used again (@code{vip-repeat}). @end table -@node Other Vi Commands, Commands in Insert Mode, Repeating and Undoing Modifications, Vi Commands +@node Other Vi Commands @section Other Vi Commands Miscellaneous Vi commands are collected here. @@ -1608,7 +1608,7 @@ command @kbd{P} or @kbd{p} can retrieve it from kill ring (@code{kill-region}). @end table -@node Commands in Insert Mode, Ex Commands, Other Vi Commands, Vi Commands +@node Commands in Insert Mode @section Insert Mode You can enter insert mode by one of the following commands. In addition to @@ -1676,7 +1676,7 @@ start point is saved for later use by repeat command etc. Therefore, repeat command will not really repeat insertion if you move point by emacs commands while in insert mode. -@node Ex Commands, Ex Command Reference, Commands in Insert Mode, Top +@node Ex Commands @chapter Ex Commands @kindex 072 @kbd{:} (@code{vip-ex}) @@ -1713,7 +1713,7 @@ character @samp{|}. @menu * Ex Command Reference:: Explain all the Ex commands available in VIP. @end menu -@node Ex Command Reference, Customization, Ex Commands, Ex Commands +@node Ex Command Reference @section Ex Command Reference In this section we briefly explain all the Ex commands supported by VIP@. Most Ex commands expect @var{address} as their argument, and they use @@ -1859,7 +1859,7 @@ The following Ex commands are available in Vi, but not implemented in VIP. @kbd{unabbreviate}, @kbd{xit}, @kbd{z} @end example -@node Customization, Customizing Constants, Ex Command Reference, Top +@node Customization @chapter Customization If you have a file called @file{.vip} in your home directory, then it @@ -1871,7 +1871,7 @@ customizing VIP. * Customizing Key Bindings:: How to change key bindings. @end menu -@node Customizing Constants, Customizing Key Bindings, Customization, Customization +@node Customizing Constants @section Customizing Constants An easy way to customize VIP is to change the values of constants used in VIP@. Here is the list of the constants used in VIP and their default @@ -1907,7 +1907,7 @@ can include a line like this in your @file{.vip} file: (setq vip-case-fold-search t) @end example -@node Customizing Key Bindings,, Customizing Constants, Customization +@node Customizing Key Bindings @section Customizing Key Bindings @cindex local keymap @@ -1931,7 +1931,7 @@ file. (define-key vip-command-mode-map "X" 'vip-delete-backward-char) @end example -@node GNU Free Documentation License,,, Top +@node GNU Free Documentation License @appendix GNU Free Documentation License @include doclicense.texi diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi index 69df06a1c5..8b4c9e93f7 100644 --- a/doc/misc/viper.texi +++ b/doc/misc/viper.texi @@ -46,9 +46,8 @@ modify this GNU manual.'' @contents @ifnottex -@node Top, Overview,, (DIR) - -@unnumbered Viper +@node Top +@top Viper We believe that one or more of the following statements are adequate descriptions of Viper: @@ -99,16 +98,13 @@ Please use the Ex command @kbd{:submitReport} for this purpose.@refill * Improvements over Vi:: New features, Improvements * Customization:: How to customize Viper * Commands:: Vi and Ex Commands - +* GNU Free Documentation License:: The license for this documentation. +* Acknowledgments:: * Key Index:: Index of Vi and Ex Commands * Function Index:: Index of Viper Functions * Variable Index:: Index of Viper Variables * Package Index:: Index of Packages Mentioned in this Document * Concept Index:: Vi, Ex and Emacs concepts - -* Acknowledgments:: -* GNU Free Documentation License:: The license for this documentation. - @end menu @iftex @unnumbered Introduction @@ -155,7 +151,7 @@ Please use the Ex command @kbd{:submitReport} for this purpose.@refill @end iftex -@node Overview,Improvements over Vi,Top,Top +@node Overview @chapter Overview of Viper Viper is a Vi emulation on top of Emacs. At the same time, Viper provides a @@ -185,7 +181,7 @@ included in your @file{~/.viper} file and are found at the following URL: * Unimplemented Features:: That are unlikely to be implemented. @end menu -@node Emacs Preliminaries, Loading Viper, Overview, Overview +@node Emacs Preliminaries @section Emacs Preliminaries @cindex buffer @@ -313,7 +309,7 @@ Emacs is structured as a Lisp interpreter around a C core. Emacs keys cause Lisp functions to be called. It is possible to call these functions directly, by typing @kbd{M-x function-name}. -@node Loading Viper, States in Viper, Emacs Preliminaries, Overview +@node Loading Viper @section Loading Viper The most common way to load it automatically is to include the following @@ -368,7 +364,7 @@ copy of Emacs after Viper has been loaded, the command @kbd{M-x viper-go-away} will do it for you. The function @code{toggle-viper-mode} toggles Viperization of Emacs on and off. -@node States in Viper, The Minibuffer, Loading Viper,Overview +@node States in Viper @section States in Viper @kindex @kbd{C-z} @@ -474,7 +470,7 @@ to allow Emacs keys in Insert state. replacement commands, such as cw, C, R, etc. @end menu -@node Emacs State, Vi State, States in Viper, States in Viper +@node Emacs State @subsection Emacs State @kindex @kbd{C-z} @@ -506,7 +502,7 @@ from the Insert state: typing @kbd{C-z} will let you execute a single Vi command while staying in Viper's Insert state. -@node Vi State, Insert State, Emacs State, States in Viper +@node Vi State @subsection Vi State @cindex Vi state @@ -666,7 +662,7 @@ Having found the appropriate command, it can be then executed by typing `@kbd{.}'. @xref{Improvements over Vi}, for more information. -@node Insert State, Replace State, Vi State, States in Viper +@node Insert State @subsection Insert State @cindex Insert state @@ -726,7 +722,7 @@ the Insert state. When Viper is in Insert state, you will see in the mode line. -@node Replace State,, Insert State, States in Viper +@node Replace State @subsection Replace State @cindex Replace state @@ -758,7 +754,7 @@ was still inside the replacement region. So, in the above situation, Viper would delete text between this position and the end of the replacement region. -@node The Minibuffer,Multiple Files in Viper, States in Viper, Overview +@node The Minibuffer @section The Minibuffer @cindex Minibuffer @@ -808,7 +804,7 @@ has no mode line to tell which Vi state it is in. The appearance of the text in the minibuffer can be changed. @xref{Viper Specials}, for more details. -@node Multiple Files in Viper,Unimplemented Features,The Minibuffer,Overview +@node Multiple Files in Viper @section Multiple Files in Viper @cindex multiple files @@ -883,7 +879,7 @@ Currently undisplayed files can be listed using the @kbd{:ar} command. The command @kbd{:n} can be given counts from the @kbd{:ar} list to switch to other files. For example, use `:n3' to move to the third file in that list. -@node Unimplemented Features,,Multiple Files in Viper,Overview +@node Unimplemented Features @section Unimplemented Features Unimplemented features include: @@ -904,8 +900,7 @@ be used directly inside Emacs, since Emacs will obdurately change @samp{^I} back to normal tabs.@refill @end itemize -@comment node-name, next, previous, up -@node Improvements over Vi, Customization, Overview, Top +@node Improvements over Vi @chapter Improvements over Vi Some common problems with Vi and Ex have been solved in Viper. This @@ -926,7 +921,7 @@ the facilities provided by Emacs. you should know about. @end menu -@node Basics, Undo and Backups, Improvements over Vi, Improvements over Vi +@node Basics @section Basics The Vi command set is based on the idea of combining motion commands @@ -997,7 +992,7 @@ buffers. These can be seen in the @kbd{:args} list and switched using specify @code{(setq ex-cycle-through-non-files t)} in your @file{.viper} file. @xref{Customization}, for details. -@node Undo and Backups, History, Basics, Improvements over Vi +@node Undo and Backups @section Undo and Backups @cindex undo @@ -1033,7 +1028,7 @@ will show the text around the textmarker. @samp{register} and @samp{textmarker} can be any letters from a through z. @comment ] balance parens -@node History, Macros and Registers, Undo and Backups,Improvements over Vi +@node History @section History @cindex history @@ -1072,7 +1067,7 @@ Similarly, commands that have to do with switching buffers have a buffer history, and commands that expect strings or regular expressions keep a history on those items. -@node Macros and Registers,Completion,History,Improvements over Vi +@node Macros and Registers @section Macros and Registers @cindex keyboard macros @@ -1119,7 +1114,7 @@ Keyboard Macro execution @kbd{@@@@} (the replace). Viper also provides Vi-style macros. @xref{Vi Macros}, for details. -@node Completion, Improved Search, Macros and Registers, Improvements over Vi +@node Completion @section Completion @cindex completion @@ -1130,7 +1125,7 @@ no longer work for that file name. Remember that Emacs interprets a file name of the form @kbd{/foo//bar} as @kbd{/bar} and @kbd{/foo/~/bar} as @kbd{~/bar}. -@node Improved Search, Abbreviation Facilities, Completion, Improvements over Vi +@node Improved Search @section Improved Search @cindex buffer search @@ -1198,7 +1193,7 @@ faces are grouped together under Viper's Try it: it is really simple! -@node Abbreviation Facilities,Movement and Markers,Improved Search,Improvements over Vi +@node Abbreviation Facilities @section Abbreviation Facilities @cindex abbrevs @@ -1222,7 +1217,7 @@ keystroke, which appears earlier in the text. Emacs binds this to @code{dabbrev-expand} to that key. Facilities like this make Vi's @kbd{:ab} command obsolete. -@node Movement and Markers, New Commands, Abbreviation Facilities, Improvements over Vi +@node Movement and Markers @section Movement and Markers @cindex Ex style motion @@ -1298,7 +1293,7 @@ switch files by simply doing @kbd{'a}. If you set up a regimen for using Textmarkers, this is very useful. Contents of textmarkers can be viewed by @kbd{[marker}. (Contents of registers can be viewed by @kbd{]register}). -@node New Commands, Useful Packages, Movement and Markers, Improvements over Vi +@node New Commands @section New Commands These commands have no Vi analogs. @@ -1487,7 +1482,7 @@ Apart from the new commands, many old commands have been enhanced. Most notably, Vi style macros are much more powerful in Viper than in Vi. @xref{Vi Macros}, for details. -@node Useful Packages, ,New Commands, Improvements over Vi +@node Useful Packages @section Useful Packages Some Emacs packages are mentioned here as an aid to the new Viper user, to @@ -1568,7 +1563,7 @@ Emacs Lisp archives exist on and @samp{wuarchive.wustl.edu}@refill -@node Customization,Commands,Improvements over Vi,Top +@node Customization @chapter Customization @cindex customization @@ -1614,7 +1609,7 @@ cases, examples are provided that you can use directly. * Vi Macros:: How to do Vi style macros. @end menu -@node Rudimentary Changes,Key Bindings,Customization,Customization +@node Rudimentary Changes @section Rudimentary Changes @cindex setting variables @@ -1955,7 +1950,7 @@ can include a line like this in your @file{.viper} file: @vindex @code{viper-replace-state-hook} @vindex @code{viper-emacs-state-hook} -@node Key Bindings, Packages that Change Keymaps, Rudimentary Changes,Customization +@node Key Bindings @section Key Bindings @cindex key bindings @@ -2193,8 +2188,8 @@ bindings in Emacs. @findex @code{viper-add-local-keys} @findex @code{viper-zap-local-keys} -@node Packages that Change Keymaps,Viper Specials,Key Bindings,Customization -@subsection Packages that Change Keymaps +@node Packages that Change Keymaps +@section Packages that Change Keymaps @cindex C-c and Viper @cindex Viper and C-c @@ -2322,7 +2317,7 @@ compatible with Viper is to have the file @file{my-mode.el} include the followin @findex @code{remove-hook} @findex @code{add-hook} -@node Viper Specials,Vi Macros,Packages that Change Keymaps,Customization +@node Viper Specials @section Viper Specials Viper extends Vi with a number of useful features. This includes various @@ -2707,7 +2702,7 @@ you will then have to write such a function and make it known to your Emacs. The function @code{viper-surrounding-word} in @file{viper.el} can be used as a guiding example. -@node Vi Macros, ,Viper Specials,Customization +@node Vi Macros @section Vi Macros @cindex Vi macros @@ -2994,7 +2989,7 @@ Finally, Viper provides a function that conveniently displays all macros currently defined. To see all macros along with their definitions, type @kbd{M-x viper-describe-kbd-macros}. -@node Commands,,Customization,Top +@node Commands @chapter Commands This section is a semi-automatically bowdlerized version of the Vi @@ -3013,8 +3008,7 @@ found on the Vi archives. This reference has been adapted for Viper.@refill * Mouse-bound Commands:: Search and insertion of text @end menu -@node Groundwork, Text Handling, Commands, Commands -@comment node-name, next, previous, up +@node Groundwork @section Groundwork The VI command set is based on the idea of combining motion commands @@ -3224,7 +3218,7 @@ ends at line 135. There is no need to type the line numbers, since Viper inserts them automatically in front of the Ex command. @cindex Ex commands -@node Text Handling, Display, Groundwork, Commands +@node Text Handling @section Text Handling @menu @@ -3239,7 +3233,7 @@ inserts them automatically in front of the Ex command. * Undoing:: Multiple Undo, Backups @end menu -@node Move Commands,Marking,,Text Handling +@node Move Commands @subsection Move Commands @cindex movement commands @@ -3435,7 +3429,7 @@ in your @file{~/.viper} file. @kindex @kbd{l} @vindex @code{viper-parse-sexp-ignore-comments} -@node Marking,Appending Text,Move Commands,Text Handling +@node Marking @subsection Marking Emacs mark is referred to in the region specifiers @kbd{r} and @kbd{R}. @@ -3487,7 +3481,7 @@ Go to specified Viper mark and go to the first CHAR on line. @kindex @kbd{`} @kindex @kbd{'} -@node Appending Text, Editing in Insert State, Marking,Text Handling +@node Appending Text @subsection Appending Text @xref{Options}, to see how to change tab and shiftwidth size. See the GNU @@ -3569,7 +3563,7 @@ functions doing the perusing can be bound to unused keyboard keys in the @kindex @kbd{A} @kindex @kbd{a} -@node Editing in Insert State, Deleting Text, Appending Text,Text Handling +@node Editing in Insert State @subsection Editing in Insert State Minibuffer can be edited similarly to Insert state, and you can switch @@ -3595,7 +3589,7 @@ current line. @kindex @kbd{C-w} @kindex @kbd{C-v} -@node Deleting Text, Changing Text, Editing in Insert State, Text Handling +@node Deleting Text @subsection Deleting Text @@ -3638,7 +3632,7 @@ Shift lines one shiftwidth to the left. @kindex @kbd{X} @kindex @kbd{x} -@node Changing Text, Search and Replace, Deleting Text,Text Handling +@node Changing Text @subsection Changing Text @cindex joining lines @@ -3746,7 +3740,7 @@ destructive Vi commands. @kindex @kbd{R} @kindex @kbd{r} -@node Search and Replace, Yanking, Changing Text,Text Handling +@node Search and Replace @subsection Search and Replace @xref{Groundwork}, for Ex address syntax. @xref{Options}, to see how to @@ -3829,7 +3823,7 @@ Execute on all lines that do not match . @kindex @kbd{?} @kindex @kbd{/} -@node Yanking,Undoing,Search and Replace,Text Handling +@node Yanking @subsection Yanking @cindex cut and paste @@ -3876,7 +3870,7 @@ Put the contents of the (default undo) buffer @kindex @kbd{yank} @findex @kbd{:yank} -@node Undoing,, Yanking,Text Handling +@node Undoing @subsection Undoing @cindex undo @@ -3902,7 +3896,7 @@ that have a @samp{~} appended to them. @kindex @kbd{U} @kindex @kbd{u} -@node Display, File and Buffer Handling, Text Handling, Commands +@node Display @section Display @cindex scrolling @@ -3961,7 +3955,7 @@ Put line in the center of the window @kindex @kbd{C-g} -@node File and Buffer Handling, Mapping, Display,Commands +@node File and Buffer Handling @section File and Buffer Handling @cindex multiple files @@ -4113,7 +4107,7 @@ is typed in minibuffer. File completion and history are supported. @findex @kbd{:cd []} @findex @kbd{:pwd} -@node Mapping, Shell Commands, File and Buffer Handling, Commands +@node Mapping @section Mapping @cindex key bindings @@ -4180,7 +4174,7 @@ Show contents of register. @findex @kbd{:unmap!@: } @findex @kbd{:map!@: } -@node Shell Commands, Options, Mapping, Commands +@node Shell Commands @section Shell Commands @cindex % (Current file) @@ -4246,7 +4240,7 @@ Run the make command in the current directory. @findex @kbd{:sh} @findex @kbd{:make} -@node Options,Emacs Related Commands,Shell Commands,Commands +@node Options @section Options @cindex Vi options @@ -4367,7 +4361,7 @@ Set