X-Git-Url: https://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=4d2fce3de3df19f83460ee0679d4dd3e103d9209;hb=03ea4328ae1ea7e985f7fd9a42ebf77bc64bd47c;hp=21015d2feedc58308931164bf7e55f667855bf3b;hpb=bbca62715f5400cb67443c4c3f1aaa001f5d835a;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 21015d2fe..4d2fce3de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,683 @@ +2012-11-29 Paul Eggert + + regex: no 'static inline' + * lib/regex_internal.c (calc_state_hash): + * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain) + (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge) + (bitset_mask, re_string_char_size_at, re_string_wchar_at): + Now static, not static inline. + (inline) [__GNUC__ < 3 && _LIBC]: + Remove macro; no longer needed. + + xvasprintf: no 'static inline' + * lib/xvasprintf.c (xstrcat): + Now static, not static inline. + * m4/xvasprintf.m4 (gl_XVASPRINTF): + Do not require AC_C_INLINE. + + parse-datetime, parse-duration: no 'static inline' + * lib/parse-datetime.y (to_uchar): + * lib/parse-duration.c (str_const_to_ul, str_const_to_l) + (scale_n_add): + Now static, not static inline. + * m4/parse-datetime.m4 (gl_PARSE_DATETIME): + * modules/parse-duration (configure.ac): + Do not require AC_C_INLINE. + + getaddrinfo: no 'static inline' + * lib/getaddrinfo.c (validate_family): + Now static, not static inline. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): + Do not require AC_C_INLINE. + + ftruncate, fts, lstat, openat, raise: no 'static inline' + * lib/ftruncate.c (chsize_nothrow): + * lib/fts.c (opendirat, diropen): + * lib/lstat.c (orig_lstat): + * lib/openat.c (orig_openat): + * lib/raise.c (raise_nothrow): + Now static, not static inline. + * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): + * m4/fts.m4 (gl_FUNC_FTS_CORE): + * m4/lstat.m4 (gl_PREREQ_LSTAT): + * m4/openat.m4 (gl_PREREQ_OPENAT): + * m4/raise.m4 (gl_PREREQ_RAISE): + Do not require AC_C_INLINE. + + fflush, stat: no 'static inline' + * lib/fflush.c (clear_ungetc_buffer_preserving_position) + (clear_ungetc_buffer, disable_seek_optimization) + (restore_seek_optimization, update_fpos_cache): + * lib/stat.c (orig_stat): + Now static, not static inline. + * lib/fflush.c (disable_seek_optimization, restore_seek_optimization) + (update_fpos_cache): + Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1). + * m4/fflush.m4 (gl_PREREQ_FFLUSH): + * m4/stat.m4 (gl_PREREQ_STAT): + Do not require AC_C_INLINE. + + error, filevercmp: no 'static inline' + * lib/error.c (is_open, flush_stdout): + * lib/filevercmp.c (order): + Now static, not static inline. + * m4/error.m4 (gl_PREREQ_ERROR): + * modules/filevercmp (configure.ac): + Do not require AC_C_INLINE. + + dup, execute, fatal-signal, etc.: no 'static inline' + * lib/dup.c (dup_nothrow): + * lib/execute.c (nonintr_close, nonintr_open): + * lib/fatal-signal.c (uninstall_handlers, install_handlers): + * lib/fopen.c (orig_fopen): + * lib/freadseek.c (freadptrinc): + * lib/freopen.c (orig_freopen): + * lib/fstat.c (orig_fstat, fstat_nothrow): + * lib/get-rusage-as.c (get_rusage_as_via_setrlimit) + (get_rusage_as_via_iterator): + * lib/get-rusage-data.c (get_rusage_data_via_setrlimit): + * lib/getdtablesize.c (_setmaxstdio_nothrow): + * lib/isatty.c (_isatty_nothrow): + * lib/open.c (orig_open): + * lib/read.c (read_nothrow): + * lib/sigprocmask.c (signal_nothrow): + * lib/spawn-pipe.c (nonintr_close, nonintr_open): + * lib/vasnprintf.c (MAX_ROOM_NEEDED): + * lib/wait-process.c (unregister_slave_subprocess): + * lib/write.c (write_nothrow): + Now static, not static inline. + * lib/spawn-pipe.c (nonintr_open): Define only if + (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__. + * m4/dup.m4 (gl_PREREQ_DUP): + * m4/execute.m4 (gl_EXECUTE): + * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): + * m4/fopen.m4 (gl_PREREQ_FOPEN): + * m4/freadseek.m4 (gl_FUNC_FREADSEEK): + * m4/freopen.m4 (gl_PREREQ_FREOPEN): + * m4/fstat.m4 (gl_PREREQ_FSTAT): + * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): + * m4/isatty.m4 (gl_PREREQ_ISATTY): + * m4/open.m4 (gl_PREREQ_OPEN): + * m4/read.m4 (gl_PREREQ_READ): + * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): + * m4/spawn-pipe.m4 (gl_SPAWN_PIPE): + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): + * m4/wait-process.m4 (gl_WAIT_PROCESS): + * m4/write.m4 (gl_PREREQ_WRITE): + * modules/get-rusage-as, modules/get-rusage-data (configure.ac): + Do not require AC_C_INLINE. + + c-strtod, memcoll, readutmp: no 'static inline' + * lib/c-strtod.c (c_locale): + * lib/memcoll.c (strcoll_loop): + * lib/readutmp.c (desirable_utmp_entry): + Now static, not static inline. + * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): + * m4/memcoll.m4 (gl_MEMCOLL): + * m4/readutmp.m4 (gl_READUTMP): + Do not require AC_C_INLINE. + + arctwo, md4, md5, sha1, sha256, sha512: no 'static inline' + * lib/arctwo.c (to_uchar): + * lib/md4.c (set_uint32): + * lib/md5.c (set_uint32): + * lib/sha1.c (set_uint32): + * lib/sha256.c (set_uint32): + * lib/sha512.c (set_uint64): + Now static, not static inline. This is a bit simpler, and doesn't + affect performance with GCC and default optimization. + * m4/arctwo.m4 (gl_ARCTWO): + * m4/md4.m4 (gl_MD4): + * m4/md5.m4 (gl_MD5): + * m4/sha1.m4 (gl_SHA1): + * m4/sha256.m4 (gl_SHA256): + * m4/sha512.m4 (gl_SHA512): + Do not require AC_C_INLINE. + + cond, lock, thread: better 'inline' + * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE): + * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE): + New macros. Use them instead of static inline, for header functions. + * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove) + (gl_waitqueue_notify_first, gl_waitqueue_notify_all): + * lib/glthread/lock.c (gl_waitqueue_init) + (gl_waitqueue_notify_first, gl_waitqueue_notify_all): + * lib/glthread/thread.c (get_current_thread_handle): + Change 'static inline' to 'inline'. + * lib/glthread/cond.h, lib/glthread/thread.h: + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * m4/cond.m4 (gl_COND): + * m4/lock.m4 (gl_PREREQ_LOCK): + * m4/thread.m4 (gl_THREAD): + Do not require AC_C_INLINE. + * modules/cond, modules/thread (Depends-on): Add extern-inline. + + chdir-long, cycle-check, savewd: better 'inline' + * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free) + (find_non_slash): + * lib/cycle-check.c (is_zero_or_power_of_two): + * lib/savewd.c (savewd_delegating): + Change 'static inline' to 'inline'. + * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro. + Replace all remaining uses of 'static inline' with it. + * lib/savewd.h: + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): + * m4/cycle-check.m4 (gl_CYCLE_CHECK): + * m4/savewd.m4 (gl_SAVEWD): + Do not require AC_C_INLINE. + * modules/savewd (Depends-on): Add extern-inline. + + base32, base64: no need for 'inline' + * lib/base32.c (to_uchar, get_8, decode_8): + * lib/base64.c (to_uchar, get_4, decode_4): + Change 'static inline' to 'inline'. + * m4/base32.m4 (gl_PREREQ_BASE32): + * m4/base64.m4 (gl_PREREQ_BASE64): + Do not require AC_C_INLINE. + + array-oset, linkedhash-list, rbtree-oset: no need for 'inline' + * lib/gl_array_oset.c (gl_array_nx_add_at): + (gl_array_remove_at): + * lib/gl_linkedhash_list.c (hash_resize_after_add) + (add_to_bucket, remove_from_bucket): + * lib/gl_rbtree_oset.c (rotate_left, rotate_right): + Change 'static inline' to 'static', as it's simpler to omit + 'inline' unless there's a significant performance advantage. + + list, oset, xlist, xoset, xsublist: simplify via extern inline + * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE): + * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE): + * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE): + * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE): + * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE): + New macro. Replace all uses of 'static inline' with it. + [HAVE_INLINE]: Implement functions as *_INLINE functions, + instead of as macros FOO that are defined to static inline + functions FOO_inline. + * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c: + * lib/gl_xsublist.c: + Reimplement from scratch, by defining the corresponding *_INLINE + macro and including the corresponding .h file. This is simpler. + * modules/list, modules/oset, modules/xlist, modules/xoset: + (Files): Remove m4/gl_list.m4. + (configure.ac): Remove gl_LIST. + * m4/gl_list.m4: Remove. + * modules/list, modules/oset, modules/xlist, modules/xoset: + * modules/xsublist: + (Depends-on): Depend on extern-inline, not inline. + + xalloc: better 'inline' + * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE): + New macro. Replace all uses of 'static inline' with it. + (static_inline): Remove. + * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc): + Let 'extern inline' do the work automatically, instead of doing + it by hand. + * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC): + Remove. All uses removed. + * modules/xalloc (Depends-on): Remove 'inline'. Add 'extern-inline'. + + gethrxtime: better 'inline' + * lib/xtime.c: New file. + * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE): + * lib/xtime.h (XTIME_INCLUDE): + New macros. Replace all uses of 'static inline' with them. + * lib/gethrxtime.c (gethrxtime): Define only if + ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since + this source file is now always compiled, because of the extern inline. + * lib/gethrxtime.h, lib/xtime.h: + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros + if gethrtime works, as they're not needed in that case. + (gl_XTIME): Do not require AC_C_INLINE. + (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always + compiled now. Move the check into gl_GETHRXTIME. + * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c. + (Depends-on): Add extern-inline. + (configure.ac): gethrxtime is always compiled now. + (lib_SOURCES): Add gethrxtime.c. + + wctype-h: better 'inline' + * lib/wctype-h.c: New file. + * lib/wctype.in.h (_GL_WCTYPE_INLINE): + New macro. Replace all uses of 'static inline' with it. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE. + * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c. + (Depends-on): Add extern-inline. + + unistd: better 'inline' + * lib/unistd.c: New file. + * lib/unistd.in.h (_GL_UNISTD_INLINE): + New macro. Replace all uses of 'static inline' with it. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE. + * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c. + (Depends-on): Add extern-inline. + + sys_socket: better 'inline' + * lib/sys_socket.c: New file. + * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE): + New macro. Replace all uses of 'static inline' with it. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE. + * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c. + (Depends-on): Add extern-inline. + + stdio: better 'inline' + * lib/stdio.c: New file. + * lib/stdio.in.h (_GL_STDIO_INLINE): + New macro. Replace all uses of 'static inline' with it. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE. + * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c. + (Depends-on): Add extern-inline. + + sigaction: better 'inline' + * lib/sig-handler.c: New file. + * lib/sig-handler.h (SIG_HANDLER_INLINE): + New macro. Replace all uses of 'static inline' with it. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE. + * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c. + (Depends-on): Add extern-inline. + + selinux-h: better 'inline' + * lib/se-context.c, lib/se-selinux.c: New files. + * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function. + * lib/se-context.in.h (SE_CONTEXT_INLINE): + New macro. Replace all uses of 'static inline' with it. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * lib/se-selinux.in.h (SE_SELINUX_INLINE): + New macro. Replace all uses of 'static inline' with it. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * modules/selinux-h (Files, lib_SOURCES): + Add lib/se-context.c, lib/se-selinux.c. + (Depends-on): Add extern-inline. + (configure.ac): Do not require AC_C_INLINE. + + pthread: better 'inline' + * lib/pthread.c: New file. + * lib/pthread.in.h (_GL_PTHREAD_INLINE): + New macro. Replace all uses of 'static inline' with it. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * m4/pthread.m4 (gl_PTHREAD_CHECK): + Add AC_LIBOBJ([pthread]). Do not require AC_C_INLINE. + * modules/pthread (Files): Add lib/pthread.c. + (Depends-on): Add extern-inline. + + math: better 'inline' + * lib/math.c: New file. + * lib/math.in.h (_GL_MATH_INLINE): + New macro. Replace all uses of 'static inline' with it. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * m4/math_h.m4 (gl_MATH_H): + Do not require AC_C_INLINE. + * modules/math (Files, lib_SOURCES): + Add lib/math.c. + (Depends-on): Add extern-inline. + + count-one-bits: better 'inline' + * lib/count-one-bits.c: New file. + * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE): + New macro. Replace all uses of 'static inline' with it. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): + Do not require AC_C_INLINE. + * modules/count-one-bits (Files, lib_SOURCES): + Add lib/count-one-bits.c. + (Depends-on): Add extern-inline. + + count-leading-zeros: better 'inline' + * lib/count-leading-zeros.c: New file. + * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE): + New macro. Replace all uses of 'static inline' with it. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS): + Do not require AC_C_INLINE. + * modules/count-leading-zeros (Files, lib_SOURCES): + Add lib/count-leading-zeros.c. + (Depends-on): Add extern-inline. + + bitrotate: better 'inline' + * lib/bitrotate.c: New file. + * lib/bitrotate.h (BITROTATE_INLINE): + New macros. + Replace all uses of 'static inline' with them. + Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c. + (Depends-on): Add extern-inline. + (configure.ac): Do not require AC_C_INLINE. + +2012-11-20 Theophile Ranquet + + maint.mk: avoid gratuitous failure + Reported by Stefano Lattarini in + + * top/maint.mk (public-submodule-commit): Quote more safely. + +2012-11-20 Eli Zaretskii + + canonicalize, canonicalize-lgpl: support MS-Windows file names + See + for test cases, which it'd be nice to add at some point. + * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h. + * lib/canonicalize.c (canonicalize_filename_mode): + * lib/canonicalize-lgpl.c (__realpath): + Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first + slash is at the beginning of the file name. Use ISSLASH, instead + of a literal '/'. Use IS_ABSOLUTE_FILE_NAME instead of comparing + the first character with '/'. Test for + DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin + with a drive letter. + * lib/canonicalize.c (SLASHES): New macro. + (canonicalize_filename_mode): Use SLASHES instead of a literal "/". + +2012-11-17 Dmitry V. Levin + + fts: introduce FTS_VERBATIM + * lib/fts_.h (FTS_VERBATIM): New bit flag. + (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust. + * lib/fts.c (fts_open): Honor it. + +2012-11-09 Pádraig Brady + + getlogin-tests: allow errno == ENXIO + * tests/test-getlogin.c (main): Skip tests if getlogin fails + with errno == ENXIO (No controlling tty). + getlogin_r-tests: Likewise. Also allow errno == ENOENT + * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails + with errno == ENOENT. This was reported to happen in various + situations on GNU/Linux. + +2012-11-09 Paul Eggert + + getlogin-tests: allow errno == ENOENT + * tests/test-getlogin.c (main): Skip tests if getlogin fails + with errno == ENOENT. This happened to me on Ubuntu 12.04.1 x86, + when running a test in an Emacs shell buffer. + +2012-11-08 Jim Meyering + + tests/nap.h: avoid warning about unused variable + * tests/nap.h (nap_works): Remove now-unused declaration of "result". + + prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition + * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require + white space before each of the special-cased file names, to avoid + adding "lib/" after $(libdir)/. Reported by Matias A. fonzo + in http://bugs.gnu.org/12830. + +2012-11-08 Paul Eggert + + fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY + O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...) + fails with errno == EBADF when fd is opened with O_PATH. + Reported by Jim Meyering in + . + * doc/posix-headers/fcntl.texi (fcntl.h): Document this. + * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY. + +2012-11-07 Paul Eggert + + test-utimens: speed up by taking shorter naps + * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay): + New functions. + (nap): Use them, to do a better job of guessing the delay. + On Fedora 17 with ext4 atop md atop hard disks, this made + test-utimens run 10x faster, because the test napped for + 1 ms at a time rather than 20 ms. Reported by Stefano Lattarini in + . + +2012-11-07 Jim Meyering + + mountlist.c: fix a compilation failure + * lib/mountlist.c (read_file_system_list): Fix a compilation failure + I introduced while transforming commit v0.0-7683-g613bcb6 + +2012-11-05 Paul Eggert + + errno: port to LynxOS 178 2.2.2 + Problem reported by Joel Brobecker in + . + * doc/posix-headers/errno.texi (errno.h): Document this. + * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros. + * lib/strerror-override.c, lib/strerror-override.h (strerror_override): + Supply a string for EILSEQ. + * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ. + +2012-11-05 Paul Eggert + + fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available + Linux kernel 2.6.39 introduced O_PATH (see + ) and this is a better fallback + for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available. + * doc/posix-headers/fcntl.texi (fcntl.h): Document this. + * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH. + * lib/fcntl.in.h (O_ACCMODE): + * tests/test-fcntl-h.c (main): + Do not reject O_ACCMODE merely because it has more than the + minimal number of bits, as POSIX allows extensions here. + +2012-11-04 Andrew Warshall (tiny change) + + mountlist: do not classify a bind-mounted dir entry as "dummy" + * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit + the "none"-testing clause. + (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the + exception for bind-mounted directories. + +2012-11-01 Akim Demaille + + quote: provide a means to escape strings with nul characters + * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions. + (quote, quote_n): Rename formal arguments for consistency with + quotearg. + +2012-10-30 Paul Eggert + + test-raise: don't assume 199 is an invalid signal + * tests/test-raise.c (main): Don't assume 199 is not a signal number. + + sh-quote-tests: port to Solaris 9 + * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@. + Problem reported by Dagobert Michelsen in + . + +2012-10-28 Jim Meyering + + maint.mk: rename a new configurable variable + * top/maint.mk (_gl_translatable_string_re): Rename from + translation-markers: _gl_ prefix to insulate from user Makefile code, + and the _re suffix to inform that it's a regular expression. + +2012-10-26 Eric Blake + + maint.mk: let packages tweak sc_po_check pattern + * top/maint.mk (sc_po_check): Add translation-markers, to allow + finding files with other translation markers. + +2012-10-16 Paul Eggert + + euidaccess: speed up 'configure' on GNU hosts + * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS): + Check for setregid here, not in gl_PREREQ_EUIDACCESS, since + it's needed only in this case. Use AC_CHECK_DECLS, not + AC_CHECK_DECLS_ONCE. + (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h + or AC_REQUIRE for AC_FUNC_GETGROUPS. + + * lib/regexec.c (re_search_internal): Fix grammar in comment. + +2012-10-15 Paul Eggert + + fchmodat, fchownat, fstatat: port to non-inlining compilers + Problem reported for FreeBSD 9 by Jim Meyering in + . + * lib/chmodat.c, lib/chownat.c, lib/statat.c: + New files, which define FCHMODAT_INLINE etc. + * lib/fchmodat.c (FCHMODAT_INLINE): + * lib/fchownat.c (FCHOWNAT_INLINE): + * lib/fstatat.c (FSTATAT_INLINE): + Remove, as chmodat.c etc. now do this. + * modules/fchmodat (Files): Add lib/chmodat.c. + * modules/fchownat (Files): Add lib/chownat.c. + * modules/fstatat (Files): Add lib/statat.c. + +2012-10-15 Jim Meyering + + fchmodat.c, fchownat.c: compile-impeding typos + * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/ + * lib/fchownat.c (FCHOWNAT_INLINE): Likewise. + Introduced in commit v0.0-7636-gd202279. + +2012-10-15 Paul Eggert + + fcntl-h: support GNU flags like O_IGNORE_CTTY + * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY, + O_NOLINK, and O_NOTRANS. These flags are nonzero on GNU/Hurd + systems. Discovered when using fcntl-h with GNU Emacs, which uses + O_IGNORE_CTTY. Fix misspelling of F_SETLKW. + * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS): + Define to 0 if not already defined. + * tests/test-fcntl-h.c: Test these new flags. + +2012-10-14 Paul Eggert + + faccessat, etc.: support AT_FDCWD-only use + * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support + this function only if its first argument is AT_FDCWD. + Emacs wants faccessat for AT_EACCESS but not for any first-arg + values other than AT_FDCWD, so it doesn't want all the openat + machinery with fchdir etc. + * modules/faccessat, modules/fchmodat, modules/fchownat (Files): + * modules/fstatat, modules/mkdirat, modules/openat (Files): + * modules/unlinkat (Files): + Remove lib/openat-priv.h, as at-internal supplies this file. + Removing this file here allows us to support programs like Emacs + that avoid at-internal. + + faccessat: speed up 'configure' on mainstream hosts + * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): + Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE, + since it's only on unusual platforms that we need to check for + 'access', and it's better not to slow 'configure' down on all + platforms. + + faccessat: port to Solaris 10 + * lib/faccessat.c: Include , for AT_EACCESS. + Needed on Solaris 10, which doesn't have AT_EACCESS, + so we need the Gnulib fcntl.h, which defines it. + +2012-10-14 Pádraig Brady + canonicalize: fix C89 compilation + * lib/canonicalize.c (canonicalize_filename_mode): Swap order of + declarations so C89 is supported. Also remove the comment + referencing memorty allocation as the suggested feature could + not be implemented as suggested. + Reported by Michael Goffioul. + +2012-10-12 Paul Eggert + + group-member: omit unnecessary dependencies + This is for Emacs, which has its own allocator and where we + don't want to use xalloc. + * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h, + since we no longer use xmalloc. Do not include stdbool.h, since + the changes below happen to remove the only use of bool. + (GROUPBUF_SIZE): New constant. + (struct group_info): Remove n_groups member. Add groupbuf member. + This lets us get the groups without using malloc, usually. + (free_group_info, get_group_info): Adjust to this. + (get_group_info): Return the number of groups found, or -1 on error. + Use plain malloc not xmalloc, and treat its failure as if there + are no groups, as the user already loses in case of error. + (group_member): Simplify, based on changes to get_group_info. + * modules/group-member (Depends-on): Remove dependencies on + xalloc and stdbool. Add dependency on xalloc-oversized. + +2012-10-08 Alexandre Duret-Lutz (tiny change) + + gethrxtime: port to C++ + * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C". + +2012-10-04 Paul Eggert + + ptsname: fix macro-name typo + * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE. + +2012-10-03 Simon Josefsson + + inttostr: Relax license. + * modules/inttostr (License): Change from LGPL to LGPLv2+. + +2012-10-03 Eric Blake + + ptsname_r: support ptys returned by FreeBSD posix_openpt + * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already + lives in /dev/pts/. + +2012-10-02 Eric Blake + + pselect: reject invalid file descriptors + * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug. + * lib/pselect.c (rpl_pselect) [!win32]: Work around it. + * modules/pselect (Depends-on): Add dup2. + * doc/posix-functions/pselect.texi (pselect): Document this. + + select: reject invalid file descriptors + * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug. + * lib/select.c (rpl_select) [!win32]: Work around it. + * modules/select (Depends-on): Add dup2. + * doc/posix-functions/select.texi (select): Document this. + + select: enhance test + * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd): + New functions. + (test_function): Enhance test. + (do_select_bad_fd): Avoid any stale errno values. + + ptsname: reject invalid file descriptors + http://www.austingroupbugs.net/view.php?id=503 + * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness. + * modules/stdlib (Makefile.am): Replace witness. + * lib/stdlib.in.h (ptsname): Allow for replacement. + * modules/ptsname (configure.ac): Trigger replacement. + * doc/posix-functions/ptsname.texi (ptsname): Document this. + +2012-10-02: Nikos Mavrogiannopoulos (tiny change) + + hash-pjw-bare: new module + * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c. + * lib/hash-pjw-bare.h: Likewise. + * modules/hash-pjw-bare: New file. + * MODULES.html.sh (Misc): Add it. + +2012-10-02 Eric Blake + + manywarnings: cater to more gcc infelicities + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for + -Wuninitialized without -O. + +2012-10-01 Ed Maste (tiny change) + + select, poll tests: Make setsockopt invocation effective. + * tests/test-poll.c (open_server_socket): Move setsockopt() call before + the bind() call. + * tests/test-select.h (open_server_socket): Likewise. + +2012-09-30 Paul Eggert + + sockets, sys_stat: restore AC_C_INLINE + This undoes the 2012-09-22 patch. + * m4/sockets.m4 (gl_SOCKETS): + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): + Restore AC_C_INLINE, since MSVC requires __inline or _inline + and does not support plain 'inline'. Reported by Bruno Haible in + . + 2012-09-30 Bruno Haible localeconv tests: Avoid test failure on OpenIndiana.