maint.mk: rename a new configurable variable
[gnulib.git] / ChangeLog
index 38ad080..ea23e5a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,410 @@
+2012-10-28  Jim Meyering  <jim@meyering.net>
+
+       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  <eblake@redhat.com>
+
+       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  <eggert@cs.ucla.edu>
+
+       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  <eggert@cs.ucla.edu>
+
+       fchmodat, fchownat, fstatat: port to non-inlining compilers
+       Problem reported for FreeBSD 9 by Jim Meyering in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
+       * 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  <jim@meyering.net>
+
+       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  <eggert@cs.ucla.edu>
+
+       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  <eggert@cs.ucla.edu>
+
+       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 <fcntl.h>, 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  <P@draigBrady.com>
+       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  <eggert@cs.ucla.edu>
+
+       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  <adl@lrde.epita.fr>  (tiny change)
+
+       gethrxtime: port to C++
+       * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
+
+2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       ptsname: fix macro-name typo
+       * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
+
+2012-10-03  Simon Josefsson  <simon@josefsson.org>
+
+       inttostr: Relax license.
+       * modules/inttostr (License): Change from LGPL to LGPLv2+.
+
+2012-10-03  Eric Blake  <eblake@redhat.com>
+
+       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  <eblake@redhat.com>
+
+       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  <nmav@gnutls.org>  (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  <eblake@redhat.com>
+
+       manywarnings: cater to more gcc infelicities
+       * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
+       -Wuninitialized without -O.
+
+2012-10-01  Ed Maste  <emaste@freebsd.org>  (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  <eggert@cs.ucla.edu>
+
+       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
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
+
+2012-09-30  Bruno Haible  <bruno@clisp.org>
+
+       localeconv tests: Avoid test failure on OpenIndiana.
+       * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
+       skip the 'grouping' and 'mon_grouping' tests.
+       Reported by Jim Meyering.
+
+2012-09-30  Bruno Haible  <bruno@clisp.org>
+
+       havelib: Follow libtool developments.
+       * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
+       Suggested by Simon Josefsson.
+
+2012-09-29  Jim Meyering  <meyering@redhat.com>
+
+       fstatat.c: fix a compile-impeding typo
+       * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
+       Introduced in commit v0.0-7636-gd202279.
+       Mats Erik Andersson reported the resulting OpenBSD compilation failure.
+
+2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
+
+       extern-inline: provide a -Wundef safe config.h
+       * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
+       "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
+       to produce a -Wundef warning free config.h.
+
+2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       hash-pjw: relax license to LGPLv2+
+       * modules/hash-pjw (License): Relax, with consent of author.
+
+2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: fix strict vs. lazy variable issues with RELEASE
+       * top/maint.mk (_equal): New function.
+       (member_check): Strip the result to avoid spurious spaces.
+       (url_dir_list): Do not use ifeq, which is strict, as it will
+       require RELEASE_TYPE to be defined.
+       (announcement_Cc_, announcement_mail_headers_): Likewise: instead
+       of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
+       (announcement_Cc_alpha,announcement_mail_headers_alpha)
+       (announcement_Cc_beta,announcement_mail_headers_beta)
+       (announcement_Cc_stable,announcement_mail_headers_stable): these.
+       (release): Do not depend on $(release-type), as it forces its
+       evaluation.  Bounce to it.
+
+2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: formatting changes
+       * top/maint.mk: Indent bodies of if's.
+
+2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: factor the validation of RELEASE_TYPE
+       With help from Jim Meyering.
+       http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
+       * top/maint.mk (_empty, _sp): Move their definition earlier.
+       (member-check, release-type): New.
+       Use the latter instead of $(RELEASE_TYPE).
+       Remove now useless local checks.
+
+2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: provide "make upload" to ease uploading
+       See
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
+       Do not depend simply on the current $(VERSION), as there may have been
+       new commits since the tarball generation.  Rather, rely on $(RELEASE),
+       as "make release-commit" already does.
+
+       For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
+       "make TYPE".
+
+       * top/maint.mk (upload_command, upload, release): New.
+       (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
+       (VERSION): first word of $(RELEASE) is always right.
+       (emit_upload_commands): Adjust.
+       * top/README-release: Update.
+
+2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: silent rules
+       With help from Stefano Lattarini.
+       * top/maint.mk (writable-files): Use $(AM_V_GEN).
+       (announcement): Use $(AM_V_at).
+
+2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       localename: port gl_locale_name_thread_unsafe to FreeBSD
+       * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
+       and use the simpler FreeBSD implementation on Mac OS X as well.
+       Original idea suggested by Ed Maste in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
+
+2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
+       * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
+       * lib/mbuiter.c, lib/xsize.c: New files.
+       * lib/binary-io.h (BINARY_IO_INLINE):
+       * lib/eealloc.h (EEALLOC_INLINE):
+       * lib/mbfile.h (MBFILE_INLINE):
+       * lib/mbiter.h (MBITER_INLINE):
+       * lib/mbuiter.h (MBUITER_INLINE):
+       * lib/xsize.h (XSIZE_INLINE):
+       New macros.
+       Replace all uses of 'static inline' with them.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/eealloc.m4 (gl_EEALLOC):
+       * m4/mbfile.m4 (gl_MBFILE):
+       * m4/mbiter.m4 (gl_MBITER):
+       * m4/xsize.m4 (gl_XSIZE):
+       Do not require AC_C_INLINE.
+       * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
+       * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
+       * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
+       * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
+       * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
+       * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
+       * modules/binary-io, modules/eealloc, modules/mbfile:
+       * modules/mbiter, modules/mbuiter:
+       (Depends-on): Add extern-inline.
+
+       pipe-filter-gi, pipe-filter-ii: better use of 'inline'
+       * lib/pipe-filter-aux.c: New file.
+       * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
+       Replace all uses of 'static inline' with it.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
+       (filter_retcode): No real need for inline here.
+       * modules/pipe-filter-gi, modules/pipe-filter-ii:
+       (Files): Add lib/pipe-filter-aux.c.
+       (Depends-on): Add extern-inline.
+       (configure.ac): Do not require AC_C_INLINE.
+       (lib_SOURCES): Add pipe-filter-aux.c.
+
+       fdutimensat: omit unnecessary AC_C_INLINE
+       * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
+
+       fchmodat, fchownat, fstatat: use extern-inline
+       * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
+       * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
+       * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
+       New macros.
+       * lib/openat.h:
+       Replace all uses of 'static inline' with them.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * modules/fchmodat, modules/fchownat, modules/fstatat:
+       * modules/openat-h:
+       (Depends-on):
+       Add extern-inline.
+       (configure.ac): Remove AC_C_INLINE.
+
+       acl, mbchar, priv-set: use extern-inline
+       * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
+       * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
+       * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
+       New macros.
+       * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
+       Replace all uses of 'static inline' with it.
+       Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+       * m4/acl.m4 (gl_FUNC_ACL):
+       * m4/mbchar.m4 (gl_MBCHAR):
+       * m4/priv-set.m4 (gl_PRIV_SET):
+       Remove AC_C_INLINE, since 'inline' is no longer used directly.
+       * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
+       Add extern-inline.
+
+       sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
+       * m4/sockets.m4 (gl_SOCKETS):
+       * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
+       Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
+       environments where it's already guaranteed to work, so we needn't
+       check for it at 'configure'-time.
+
+       tls-tests: omit unnecessary 'inline'
+       * tests/test-tls.c (perhaps_yield): No longer inline.
+       Simplicity and portability trump efficiency in test cases.
+
+       utimens-tests: avoid unnecessary 'inline'
+       * modules/fdutimensat-tests (configure.ac):
+       * modules/futimens-tests (configure.ac):
+       * modules/utimens-tests (configure.ac):
+       * modules/utimensat-tests (configure.ac):
+       Remove AC_C_INLINE.
+       * tests/test-utimens-common.h (ctime_compare):
+       No longer inline.  Simplicity and portability trump efficiency here.
+
+       misc: don't limit commentary to inline functions
+       * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
+       * lib/xalloc-oversized.h, lib/xsize.h:
+       Contrast macros to functions in general, not just to inline functions,
+       when the commentary does not apply only to inline functions.
+
+2012-09-20  Jim Meyering  <meyering@redhat.com>
+
+       non-recursive-gnulib-prefix-hack: new module
+       * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
+       the file that originated in Bison.
+       * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
+       largely copied from a snippet that resided in bison's configure.ac.
+       * modules/non-recursive-gnulib-prefix-hack: New file.
+       * MODULES.html.sh (Support for maintaining and releasing projects):
+       Add it.
+
 2012-09-18  Jim Meyering  <meyering@redhat.com>
 
+       maint.mk: generalize _gl_tight_scope for non-recursive make
+       * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
+       that *.h would describe additional .h files in the directory
+       specified by $(_gl_TS_dir).  I.e., add this...
+       (_gl_TS_other_headers): New variable.
+
        maint.mk: exempt trailing blanks found in "binary" files
        * top/maint.mk (sc_trailing_blank): Filter out any matches found in
        "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
        poll/select: document portability problems not fixed by Gnulib.
        * doc/posix-functions/poll.texi: poll does not work well on
        pipes under Windows.  It has the same limitations as select on
-       BeOS.
+       BeOS.
        * doc/posix-functions/select.texi: select does not work well
-       on pipes under Windows.
+       on pipes under Windows.
 
 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>