* config/srclist.txt: Add glibc bug 1232.
[gnulib.git] / lib / ChangeLog
index 98eb720..336b1f5 100644 (file)
@@ -1,3 +1,352 @@
+2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James Youngman
+       in <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
+
+       * regex_internal.c (re_string_skip_chars, register_state):
+       (calc_state_hash):
+       Remove forward decls; no longer needed now that we use prototypes.
+       * regexec.c (acquire_init_state_context, check_halt_node_context):
+       (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
+       (clean_state_log_if_needed): Likewise.
+
+2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix problems reported by Sam Steingold in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
+       * regexec.c (sift_states_bkref): Fix portability bug: the code
+       assumed that reg_errcode_t is a signed type, which is not
+       necessarily true if _XOPEN_SOURCE is not defined.
+       * regex_internal.c (calc_state_hash): Put 'inline' before type, since
+       some compilers warn about it otherwise.
+
+2005-08-20  Jim Meyering  <jim@meyering.net>
+
+       * regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
+       of unused local, dfa.
+
+2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regcomp.c (create_initial_state): Remove duplicate decl.
+       (init_word_char, create_initial_state, duplicate_node_closure):
+       (fetch_token, peek_token_bracket, build_range_exp):
+       (build_collating_symbol): Remove forward decls; no longer needed
+       now that we use prototypes.
+
+       * regcomp.c:
+       (re_compile_pattern, re_set_syntax, re_compile_fastmap):
+       (re_compile_fastmap_iter, regcomp, regerror, regfree):
+       (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
+       (create_initial_state, optimize_utf8, analyze, postorder, preorder):
+       (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
+       (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
+       (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
+       (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
+       (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
+       (build_range_exp, build_collating_symbol, parse_bracket_exp):
+       (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
+       (build_charclass, build_charclass_op, fetch_number, create_tree):
+       (create_token_tree, mark_opt_subexp, duplicate_tree):
+       Use prototypes rather than old-style definitions.
+
+       * regex_internal.c:
+       (re_string_allocate, re_string_construct, re_string_realloc_buffers):
+       (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
+       (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
+       (re_string_reconstruct, re_string_peek_byte_case):
+       (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
+       (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
+       (re_node_set_init_copy, re_node_set_add_intersect):
+       (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
+       (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
+       (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
+       (re_acquire_state, re_acquire_state_context, register_state):
+       (create_ci_newstate, create_cd_newstate, free_state):
+       Likewise.
+       * regexec.c (regexec, re_match, re_search, re_match_2, re_search_2):
+       (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
+       (re_search_internal, prune_impossible_nodes):
+       (acquire_init_state_context, check_matching, static):
+       (check_halt_node_context, check_halt_state_context, proceed_next_node):
+       (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
+       (update_regs, sift_states_backward, build_sifted_states):
+       (clean_state_log_if_needed, merge_state_array):
+       (update_cur_sifted_state, add_epsilon_src_nodes):
+       (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
+       (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
+       (sift_states_iter_mb, transit_state, merge_state_with_log, static):
+       (find_recover_state, check_subexp_matching_top, transit_state_mb):
+       (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
+       (check_arrival, check_arrival_add_next_nodes):
+       (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
+       (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
+       (check_node_accept_bytes, check_node_accept, extend_buffers):
+       (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
+       (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
+       (sift_ctx_init):
+       Likewise.
+
+       * regex_internal.h:
+       (re_string_allocate, re_string_construct, re_string_reconstruct):
+       (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
+       (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
+       (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
+       (re_string_context_at, re_string_peek_byte_case):
+       (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
+       is defined, since we now use prototypes always.
+
+       * regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
+       C89 or better.  All uses removed.
+
+2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regex_internal.c (re_acquire_state, re_acquire_state_context)
+       [defined lint]: Suppress bogus uninitialized-variable warnings.
+
+       * regcomp.c (duplicate_node): Return new index, not an error code,
+       and let the caller return REG_ESPACE if out of space.  This
+       removes an uninitialied-variable warning with GCC 4.0.1, and also
+       avoids taking the address of a local variable.  All callers
+       changed.
+
+2005-08-19  Jim Meyering  <jim@meyering.net>
+
+       * regexec.c (proceed_next_node): Redo local variables to
+       avoid GCC shadowing warnings.
+
+2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
+       (re_node_set_insert_last, re_dfa_add_node):
+       Rename local variables to avoid GCC shadowing warnings.
+
+2005-08-18  Bruno Haible  <bruno@clisp.org>
+
+       * strstr.c (strstr): Fix return value in multibyte case.
+       * strcasestr.c (strcasestr): Likewise.
+
+2005-08-17  Jim Meyering  <jim@meyering.net>
+
+       Make the %s format (seconds since the epoch) work for a negative
+       number and when used with a zero-padded field width, e.g. %015s.
+
+       * strftime.c (my_strftime): Move the `do_number_sign_and_padding'
+       label so that it precedes the code to set `digits'.  Otherwise,
+       %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
+       print `00-22'.  Now, it prints `-0022', as it should.
+
+2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regex.h: Remove useless space-before-tab.  From coreutils.
+
+2005-08-17  Bruno Haible  <bruno@clisp.org>
+
+       * strcasestr.h: New file.
+       * strcasestr.c: New file.
+
+2005-08-17  Bruno Haible  <bruno@clisp.org>
+
+       * strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
+       * strstr.c: Completely rewritten, with multibyte locale support.
+
+2005-08-17  Bruno Haible  <bruno@clisp.org>
+
+       * strcasecmp.c: Use mbuiter.h.
+
+2005-08-17  Bruno Haible  <bruno@clisp.org>
+
+       * mbuiter.h: New file.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * strcasecmp.c (struct mbiter_multi): Remove at_end field.
+       (mbi_init): Update.
+       (mbi_avail, mbi_advance): Let the iteration end before the terminating
+       NUL byte, not after it.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
+       the valid ones. Makes the comparison operations transitive:
+       cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
+       * strcasecmp.c (strcasecmp): Use mb_casecmp.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * strcase.h (strcasecmp): Add note in comments.
+       * strncasecmp.c: Use code from strcasecmp.c.
+       * strcasecmp.c: Use mbchar module. Define private mbiter variant.
+       (strcasecmp): Work correctly in multibyte locales.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * strnlen1.h: New file.
+       * strnlen1.c: New file.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * mbfile.h: New file.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * mbiter.h: New file.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * mbchar.h: New file.
+       * mbchar.c: New file.
+
+2005-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * tls.h: New file, from GNU gettext.
+       * tls.c: New file, from GNU gettext.
+
+2005-08-15  Bruno Haible  <bruno@clisp.org>
+
+       * regex.h (__restrict_arr): Don't define to __restrict if __cplusplus
+       is defined.
+
+2005-08-14  Jim Meyering  <jim@meyering.net>
+
+       Sync from coreutils.
+
+       * fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
+       Use the hash-table-based cycle-detection code not just when
+       FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
+       Reported by James Youngman in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
+       * fts_.h: Mention that with FTS_LOGICAL, we use FTS_TIGHT_CYCLE_CHECK.
+       * fts.c (fts_cross_check) [FTS_DEBUG]: s/active_dir_ht/fts_cycle.ht/.
+       This lets us compile with -DFTS_DEBUG, once again.
+       * fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
+       * fts.c (fd_safer): Remove decl.
+       Include fcntl--.h rather than unistd-safer.h
+       (fts_safe_changedir): Don't call fd_safer; no longer needed
+       now that we include fcntl--.h.
+
+2005-08-11  Simon Josefsson  <jas@extundo.com>
+
+       * readline.h, readline.c: New file.
+
+2005-08-11  Bruno Haible  <bruno@clisp.org>
+
+       * strnlen.h (strnlen): Change parameter name to match comment.
+
+2005-08-10  Simon Josefsson  <jas@extundo.com>
+
+       * strndup.c: Use strnlen.h.
+
+       * strnlen.h: New file.
+
+2005-08-02  Simon Josefsson  <jas@extundo.com>
+
+       * getline.h, getline.c: Rewrite.
+
+       * getdelim.h, getdelim.c: New files, ported from glibc.
+
+2005-07-31  Bruno Haible  <bruno@clisp.org>
+
+       * lock.h (gl_lock_initializer): New macro.
+       (gl_lock_define_initialized): Use it.
+       (gl_rwlock_initializer): New macro.
+       (gl_rwlock_define_initialized): Use it.
+       (gl_recursive_lock_initializer): New macro.
+       (gl_recursive_lock_define_initialized): Use it.
+
+2005-07-26  Bruno Haible  <bruno@clisp.org>
+
+       * lock.h: Update from GNU gettext.
+       * lock.c: Update from GNU gettext.
+
+2005-07-18  Bruno Haible  <bruno@clisp.org>
+
+       * lock.h (gl_once_t): New type.
+       (gl_once_define, gl_once): New macros.
+       * lock.c (fresh_once): New variable.
+       (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
+       functions.
+
+2005-07-18  Simon Josefsson  <jas@extundo.com>
+
+       * check-version.c (check_version): Accept identical versions too.
+
+2005-07-18  Bruno Haible  <bruno@clisp.org>
+
+       * lock.h: New file, from GNU gettext.
+       * lock.c: New file, from GNU gettext.
+
+2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * quotearg.c: Add translator comment suggested by Bruno Haible,
+       with a minor change.
+
+2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * version-etc-fsf.c (version_etc_copyright): Parameterize the
+       copyright symbol and the year.
+       * version-etc.c (COPYRIGHT_YEAR): New constant.
+       (version_etc_va): Use parameterized copyright notice.
+       Reword to conform to the current GNU coding standards.
+
+2005-07-11  Simon Josefsson  <jas@extundo.com>
+
+       * size_max.h: New file.
+
+2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
+       block of defines.
+
+2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
+       and  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regcomp.c (init_dfa, build_range_exp): Store __btowc value
+       in wint_t, not wchar_t.  Remove now-unnecessary cast.
+
+2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * regex.c, regex.h: Sync from libc.
+       * regcomp.c, regexec_internal.c, regex_internal.h, regexec.c:
+       New files, synced from libc, except that regex_internal.h
+       currently has a small porting fix.
+
+2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove the dependency of the strftime module on the tzset module.
+       * strftime.c (my_strftime) [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
+       Copy the input structure, to work around some of the bug with
+       Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
+       Solaris releases, you should also use the tzset module, but we won't
+       require it as a dependency any more since we don't want LGPLed code
+       to depend on GPLed code.
+
+2005-07-02  Jim Meyering  <jim@meyering.net>
+
+       * backupfile.c (backup_args): Change a `0' to NULL.
+
+2005-07-01  Jim Meyering  <jim@meyering.net>
+
+       * chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
+       * getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
+       * save-cwd.c, tempname.c:
+       Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
+       and don't include <sys/file.h>).
+
+2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
+       declares only 'struct timespec;' (!).
+
+2005-06-29  Jim Meyering  <jim@meyering.net>
+
+       * mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
+       type name.  Use the variable name instead.
+       * idcache.c (getuser, getuidbyname, getgroup, getgidbyname): Likewise.
+
+2005-06-28  Simon Josefsson  <jas@extundo.com>
+
+       * check-version.h, check-version.c: New files.
+
 2005-06-28  Simon Josefsson  <jas@extundo.com>
 
        * base64.c (base64_encode): Indent.  Rename 'b64' to avoid
 
        * getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
 
-       * fts.c: Don't worry about debugging on pre-C99-comopatible hosts;
+       * fts.c: Don't worry about debugging on pre-C99-compatible hosts;
        the configuration hassle isn't worth it.
        Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
        (LONGEST_MODIFIER, PRIuMAX): Remove.