aboutsummaryrefslogtreecommitdiff
path: root/libshouldbeinlibc/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'libshouldbeinlibc/ChangeLog')
-rw-r--r--libshouldbeinlibc/ChangeLog1315
1 files changed, 1315 insertions, 0 deletions
diff --git a/libshouldbeinlibc/ChangeLog b/libshouldbeinlibc/ChangeLog
new file mode 100644
index 00000000..fd6ec7c8
--- /dev/null
+++ b/libshouldbeinlibc/ChangeLog
@@ -0,0 +1,1315 @@
+2000-01-29 Roland McGrath <roland@baalperazim.frob.com>
+
+ * maptime.h: Include <errno.h> for error_t decl.
+
+1999-10-29 Roland McGrath <roland@baalperazim.frob.com>
+
+ * wire.c: Use a weak reference to _DYNAMIC.
+
+1999-09-29 Mark Kettenis <kettenis@gnu.org>
+
+ * idvec.c (idvec_setid): Switch last two arguments in call to
+ idvec_insert_only.
+ * idvec.h: Doc fix.
+
+1999-09-27 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * idvec.c (idvec_setid): Implement Posix saved set-user id
+ correctly.
+ (idvec_insert_only): Doc fix.
+ Reported by Mark Kettenis <kettenis@wins.uva.nl>.
+
+1999-08-23 Roland McGrath <roland@baalperazim.frob.com>
+
+ * wire.c (map_extent): Use p_memsz instead of p_filesz.
+ (loaded): Return zero if _DYNAMIC has address zero (i.e., static link).
+
+1999-08-19 Roland McGrath <roland@baalperazim.frob.com>
+
+ * mktime.c: File removed. Current libc code is good.
+ * Makefile (SRCS): Remove mktime.c.
+
+1999-07-11 Roland McGrath <roland@baalperazim.frob.com>
+
+ * portinfo.h: Don't include <sys/types.h>, <sys/mman.h>.
+ This is an exported header, and its decls don't need them.
+ * portinfo.c: Include them here instead.
+ * xportinfo.c: And here.
+
+1999-07-11 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * ugids-argp.c (parse_opt): Clarify if-then-else structure by
+ adding more braces.
+
+ * portinfo.h: Include <sys/types.h>.
+ * portxlate.c: Likewise.
+ * portinfo.c: (print_port_info): Cast first arg of munmap correctly.
+ (print_task_ports_info): Likewise.
+ * xportinfo.c (print_xlated_task_ports_info): Likewise.
+ * idvec-auth.c (idvec_merge_auth): Likewise.
+ * portxlate.c (port_name_xlator_create): Likewise.
+ (port_name_xlator_free): Likewise.
+
+1999-07-10 Roland McGrath <roland@baalperazim.frob.com>
+
+ * portinfo.h: Add #include <sys/mman.h> for munmap decl.
+ * fsysops.c: Likewise.
+ * idvec-auth.c: Likewise.
+ * portxlate.c: Likewise.
+
+1999-07-03 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * fsysops.c (fsys_get_readonly): Use munmap instead of vm_deallocate.
+ * idvec-auth.c (idvec_merge_auth): Likewise.
+ * portinfo.c (print_port_info): Likewise.
+ (print_task_ports_info): Likewise.
+ * portxlate.c (port_name_xlator_create): Likewise.
+ (port_name_xlator_free): Likewise.
+ * xportinfo.c (print_xlated_task_ports_info): Likewise.
+
+1999-05-23 Roland McGrath <roland@baalperazim.frob.com>
+
+ * idvec-verify.c (SHADOW_PASSWORD_STRING): New macro.
+ (verify_id): Check for shadow password immediately after getpwuid_r
+ call, and replace PW->pw_passwd pointer with SP->sp_pwdp.
+ This is ok since the only use will be later in the function,
+ and we give the lookup buffer function scope.
+ (verify_passwd): Don't call CHECK_SHADOW for main passwd,
+ only when rechecking for wheel-group hack.
+
+1999-05-20 Roland McGrath <roland@baalperazim.frob.com>
+
+ * idvec-verify.c (verify_passwd): Avoid nonreentrant getpwuid.
+ If pw_passwd is "x", use getspnam_r and use its sp_pwdp if it succeeds.
+
+1998-12-21 Mark Kettenis <kettenis@phys.uva.nl>
+
+ * ugids-verify-auth.c: Include <hurd/password.h> again and remove
+ temporary definitions of password_check_user and
+ password_check_group.
+
+1998-11-29 Mark Kettenis <kettenis@phys.uva.nl>
+
+ * idvec-verify.c (verify_passwd): Grant access when the password
+ in the passwd DB is empty.
+ (verify_id): Also call verify_fn when the password in the password
+ DB is empty.
+
+1999-02-12 Gordon Matzigkeit <gord@trick.fig.org>
+
+ * Makefile (LCLHDRS): Purge argp-fmtstream.h and argp-namefrob.h.
+
+1998-11-30 Mark Kettenis <kettenis@phys.uva.nl>
+
+ * ugids-verify-auth.c (svma_state_add_auths): Allocate correct
+ number of bytes for new auth port array.
+ (server_verify_make_auth): Set check to password_check_group if
+ is_group is true and to password_check_user if not. Not the other
+ way around.
+
+1998-09-26 Mark Kettenis <kettenis@phys.uva.nl>
+
+ * cacheq.c (cacheq_set_length): Fix the limit of the destination
+ entries. Decide that there is no following entry if the current
+ entry is equal or greater than this limit.
+
+1998-10-20 Roland McGrath <roland@baalperazim.frob.com>
+
+ * idvec-verify.c (verify_id): Add braces to silence gcc warning.
+
+1998-10-19 Roland McGrath <roland@baalperazim.frob.com>
+
+ * exec-reauth.c (exec_reauth): Add braces to silence gcc warning.
+ * idvec-rep.c (idvec_rep): Likewise.
+ * idvec-verify.c (verify_id): Likewise.
+ * portinfo.c (print_port_info): Likewise.
+ * ugids-verify-auth.c (ugids_verify_make_auth): Likewise.
+
+1998-09-04 Roland McGrath <roland@baalperazim.frob.com>
+
+ * ugids-verify-auth.c (ugids_verify_make_auth): Fix typos in
+ svma_state change of 1998-08-11.
+
+ * idvec.c, idvec-auth.c (id_t): Remove typedef; use uid_t everywhere.
+ The name `id_t' is coopted in libc now for the SVID `waitid' interface.
+
+ * Makefile (SRCS): Remove argz-replace.c and argp-*.c from the list.
+ (installhdrs): Remove argp.h from the list.
+
+1998-08-12 Roland McGrath <roland@baalperazim.frob.com>
+
+ * argz-replace.c: Removed, now in libcwhereitshouldbe.
+
+ * argp-ba.c, argp-eexst.c, argp-ex1.c, argp-ex2.c, argp-ex3.c,
+ argp-ex4.c, argp-fmtstream.c, argp-fmtstream.h argp-fs-xinl.c,
+ argp-help.c, argp-namefrob.h argp-parse.c, argp-pv.c, argp-pvh.c,
+ argp-test.c, argp-xinl.c, argp.h: Removed, now in libcwhereitshouldbe.
+
+1998-08-11 Roland McGrath <roland@baalperazim.frob.com>
+
+ * ugids-verify-auth.c: Leave #include <hurd/password.h> there, but
+ commented out for the time being.
+ (password_check_user, password_check_group): Make symbols weak; these
+ are temporary defns until we get back in synch with libc.
+
+ * ugids-verify-auth.c (ugids_verify_make_auth): Properly initialize
+ SVMA_STATE members if they will be used.
+
+Wed Jul 29 16:25:50 1998 Thomas Bushnell, BSG <tb@mit.edu>
+
+ * ugids-verify-auth.c: Don't include <hurd/password.h> for now.
+
+1997-09-26 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * idvec-verify.c (verify_passwd, get_passwd): New functions.
+ (idvec_verify): Change type of GETPASS_FN arg.
+ Add GETPASS_HOOK, VERIFY_FN, and VERIFY_HOOK args & use them.
+ (verify_id): Change type of GETPASS_FN arg.
+ Add GETPASS_HOOK, VERIFY_FN, and VERIFY_HOOK args.
+ Remove WHEEL_UID arg.
+ Use VERIFY_FN & VERIFY_HOOK instead of doing password comparison
+ ourselves.
+ * ugids.h (ugids_verify_make_auth): New declaration.
+ (ugids_verify): Change type of GETPASS_FN arg.
+ Add GETPASS_HOOK, VERIFY_FN, and VERIFY_HOOK args.
+ (ugids_make_auth): Change FROM arg into an array, & add NUM_FROM.
+ * ugids-verify.c (ugids_verify): Change type of GETPASS_FN arg.
+ Add GETPASS_HOOK, VERIFY_FN, and VERIFY_HOOK args.
+ * ugids-verify-auth.c: New file.
+ * ugids-auth.c (ugids_make_auth): Change FROM arg into an array, &
+ add NUM_FROM arg.
+ * Makefile (SRCS): Add ugids-verify-auth.c.
+
+1997-09-25 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * idvec.h (idvec_verify): Change type of GETPASS_FN arg.
+ Add GETPASS_HOOK, VERIFY_FN, and VERIFY_HOOK args.
+
+1997-08-18 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * mktime.c: A copy of libc's time/mktime.c with the
+ overflow-detection code ifdefd out, to avoid problems with
+ floating point.
+ * Makefile (SRCS): Add mktime.c (temporarily).
+
+1997-07-28 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * ugids-posix.c (ugids_set_posix_user): Ignore errors from
+ idvec_merge_implied_gids.
+ * ugids.c (ugids_add_user): Likewise.
+ * idvec-impgids.c (idvec_merge_implied_gids): Do all ids in UIDS
+ even if one returns an error.
+
+1997-07-23 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * maptime.c (maptime_map): Allow MTIME to be mapped anywhere.
+
+1997-07-22 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * maptime.c (maptime_map): For the device-file case, don't use
+ wierd file_get_storage_info method for getting device port, just
+ use io_map to get a memory object directly from the file.
+
+ * argz-replace.c: New file (until the libc version is more widely available).
+ * Makefile (SRCS): Add argz-replace.c (temporarily).
+
+1997-06-21 17:35 Ulrich Drepper <drepper@cygnus.com>
+
+ * argp.h: Remove extra #endif. Pretty print.
+
+1997-06-13 10:06 Richard Henderson <rth@tamu.edu>
+
+ * argp-parse.c: [_LIBC] <libc-lock.h> -> <bits/libc-lock.h>.
+ * argp-fmtstream.h: Standardize the multiple-include protect (for libc).
+ * argp.h: Likewise.
+
+1997-06-13 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (argp_version_parser): Include `(PROGRAM ERROR)' in
+ the no-version error text to indicate that something's fucked.
+ [!_] (N_): New macro.
+ (argp_default_options, argp_version_options): Wrap doc strings in N_().
+
+1997-06-12 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (parser_parse_opt): Detect and report unhandled
+ options here.
+ (parser_parse_args): Function removed.
+ (parser_parse_arg): Handle ARGP_KEY_ARGS here.
+ Adjust NEXT pointer back if we fail to parse any args.
+ (parser_parse_next): Don't use parser_parse_args. Leave state
+ NEXT frobbing to parser_parse_arg.
+
+1997-06-12 21:22 Ulrich Drepper <drepper@cygnus.com>
+
+ * argp-help.c (argp_args_usage): Don't modify `fdoc' value since
+ it is used to distinguish filtered strings from unmodifed strings.
+
+1997-06-12 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * maptime.h: Include <sys/time.h>.
+
+1997-06-11 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h (ARGP_KEY_ARGS, ARGP_KEY_FINI): New macros.
+ * argp-parse.c (parser_parse_next): Try parser_parse_args if other
+ methods fail.
+ (parser_parse_arg): New function.
+ (parser_finalize): Do another pass over the parsers with ARGP_KEY_FINI.
+
+Wed Jun 4 15:05:10 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h, argp-help.c, argp-parse.c: Sync with libc version (there
+ were minor whitespace differences, etc).
+
+ * argp-help.c (_help): Use uparams.usage_indent instead of the
+ USAGE_INDENT macro.
+
+Thu May 29 15:00:07 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * idvec-verify.c (idvec_verify): Fix detection of multiple ids.
+
+Tue May 27 14:16:08 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (argp_args_usage): Supply correct argp to filter_doc.
+
+Sun May 25 21:57:08 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (parser_init): For the special case where no
+ parsing function is supplied for an argp, propagate its input to
+ its first child, if any.
+
+ * argp.h (struct argp_state): `argp' field renamed to `root_argp'.
+ * argp-help.c (__argp_state_help, argp_args_usage, hol_help):
+ Replace references to STATE->argp with STATE->root_argp.
+ * argp-parse.c (parser_init): Likewise.
+
+Fri May 23 10:23:51 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * idvec.h (idvec_contains): Now an inline function.
+ (idvec_equal): New inline function.
+ * idvec.c (idvec_tail): Function removed (now inline in idvec.h).
+ * ugids-imply.c, ugids-posix.c: New files.
+ * Makefile (SRCS): Add ugids-imply.c & ugids-posix.c.
+
+Thu May 22 11:38:01 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * idvec.c (idvec_subtract, idvec_keep): New functions.
+ (idvec_contains, idvec_tail_contains): Make IDVEC arg const.
+ (idvec_tail_contains): Rewrite.
+ (idvec_set_ids, idvec_merge_ids): Make IDS arg const.
+ (idvec_set, idvec_merge): Make NEW arg const.
+ * idvec.h (idvec_subtract, idvec_keep, idvec_rep, idvec_uids_rep,
+ idvec_gids_rep, idvec_merge_implied_gids, idvec_verify):
+ New declarations.
+ (idvec_fini): New macro.
+ (idvec_contains, idvec_tail_contains): Make IDVEC arg const.
+ (idvec_set_ids, idvec_merge_ids): Make IDS arg const.
+ (idvec_set, idvec_merge): Make NEW arg const.
+ (idvec_is_empty): New function.
+ (IDVEC_INIT): New macro.
+ * idvec-impgids.c, idvec-verify.c, idvec_rep.c: New files.
+ * ugids.h, ugids.c, ugids-subtract.c, ugids-verify.c,
+ ugids-argp.c, ugids-rep.c, ugids-auth.c, ugids-xinl.c,
+ ugids-merge.c: New files.
+ * Makefile (SRCS): Add idvec-impgids.c, idvec-verify.c,
+ idvec-rep.c, ugids.c, ugids-subtract.c, ugids-verify.c,
+ ugids-argp.c, ugids-rep.c, ugids-auth.c, ugids-xinl.c,
+ & ugids-merge.c.
+ (installhdrs): Add ugids.h.
+
+Wed May 21 17:53:30 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (hol_add_cluster): Initialize CL->depth.
+
+Tue May 20 14:01:00 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (_help): Supply STATE to argp_args_usage.
+ (argp_args_usage): Add filtering of the args doc string.
+ (comma): Print cluster headers for the first entry too.
+ * argp.h (ARGP_KEY_HELP_ARGS_DOC): New macro.
+
+1997-04-09 01:24 Ulrich Drepper <drepper@cygnus.com>
+
+ * argp-fmtstream.c: Add casts to prevent warnings.
+ * argp-fmtstream.h: Likewise.
+ * argp-help.c: Likewise.
+
+1997-02-27 16:26 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * argp-parse.c (parser_finalize): Always set *END_INDEX if
+ supplied.
+
+Thu May 8 17:15:31 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h [!__error_t_defined] (__error_t_defined): Define.
+ * argp-help.c (canon_doc_option): Correct ctype tests.
+
+Wed Mar 5 16:49:51 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (__argp_state_help): Use ARGP_ERR_EXIT_STATUS when
+ exiting due to an error.
+ * argp.h (argp_err_exit_status): New variable.
+ * argp-eexst.c: New file.
+ * Makefile (SRCS): Add argp-eexst.c.
+
+Fri Feb 21 10:41:02 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h (OPTION_NO_USAGE): New macro.
+ * argp-help.c (usage_long_opt, usage_argful_short_opt,
+ add_argless_short_opt): Implement OPTION_NO_USAGE.
+
+Thu Feb 20 15:56:16 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * idvec.c (idvec_insert_only): Handle POS >= IDVEC->num correctly.
+ (idvec_insert, idvec_remove): Handle POS > IDVEC->num correctly.
+
+ * argp-fmtstream.c (__argp_fmtstream_update): Account for case
+ where NEXTLINE points one past the end of the active buffer.
+
+ * argp-help.c <stddef.h>: New include.
+ (__argp_failure): Only exit if STATE says it's ok.
+ (print_header, hol_entry_help): Use UPARAMS fields rather than
+ constants.
+ (_help): Call fill_in_uparams if necessary.
+ (struct hol_help_state): New type.
+ (struct pentry_state): Add hhstate field. Remove prev_entry &
+ sep_groups fields.
+ (hol_entry_help): Add HHSTATE parameter. Remove prev_entry &
+ sep_groups parameters.
+ Suppress duplicate arguments if requested, and note the fact.
+ (print_header, comma): Use PEST->hhstate fields.
+ (hol_help): Add HHSTATE variable & pass to hol_entry_help.
+ Remove LAST_ENTRY & SEP_GROUPS variables.
+ If any suplicate arguments were suppressed, print explanatory note.
+ (filter_doc): Replace PEST parameter with STATE.
+ (struct uparams): New type.
+ (uparams): New variable.
+ (struct uparam_name): New type.
+ (uparam_names): New variable.
+ (fill_in_uparams): New function.
+ (__argp_failure, __argp_error, __argp_state_help): Make STATE
+ parameter const.
+ * argp.h (argp_state_help, __argp_state_help, argp_usage,
+ __argp_usage, argp_error, __argp_error, argp_failure,
+ __argp_failure): Make STATE parameter const.
+ (ARGP_KEY_HELP_DUP_ARGS_NOTE): New macro.
+
+ * argp.h (argp_program_bug_address): Make const.
+
+Wed Feb 19 18:48:15 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-pv.c (argp_program_version): Make const.
+ * argp-ba.c (argp_program_bug_address): Make const.
+ * argp-ex2.c, argp-ex3.c, argp-ex4.c (argp_program_version,
+ argp_program_bug_address): Make const.
+
+ * argp-parse.c (argp_default_parser): Set STATE->name for OPT_PROGNAME.
+ (parser_init): Use the basename for PARSER->state.name.
+ * argp-help.c (__argp_error, __argp_failure, __argp_state_help):
+ Use PROGRAM_INVOCATION_SHORT_NAME instead of PROGRAM_INVOCATION_NAME.
+
+ * argp-parse.c (parser_init): Set PARSER->state.flags.
+ Make check whether PARSER has the prog name in argv[0] at the
+ proper place.
+
+Mon Feb 17 13:33:11 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (parser_parse_next, parser_init): Remove __
+ prefixes from references to getopt functions variables (OPT*).
+ (argp_version_parser, parser_finalize): Use _ instead of gettext.
+ (gettext): Macro removed.
+ * argp-namefrob.h (__getopt_long, __getopt_long_only, __optind,
+ __optarg, __opterr, __optopt): Macros removed.
+
+Sun Feb 16 00:04:07 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (space): New function.
+ (usage_argful_short_opt): Use space.
+ (argp_doc): Deal with help filters. Add STATE param.
+ (argp_hol): Passin ARGP to make_hol, not ARGP->options.
+ (struct hol_entry): Add argp field.
+ (make_hol): Make this first parameter ARGP instead of OPT. Set
+ each entry's argp field.
+ (filter_doc): New function.
+ (print_header): Filter STR if necesary.
+ (hol_add_cluster): Add ARGP argument.
+ (argp_hol): Pass ARGP to hol_add_cluster.
+ (struct hol_cluster): Add argp field.
+ (hol_entry_help): Add STATE param. Do user filtering if necessary.
+ (struct pentry_state): Add state field.
+ (hol_help): Add STATE param.
+ (_help): Renamed from __argp_help. Add STATE argument, which pass
+ on appropiately.
+ (__argp_help): Now a wrapper that calls _help.
+ (__argp_state_help): Call _help instead of __argp_help.
+
+ * argp-parse.c (parser_init): Set PARSER->state.pstate.
+ (struct group): Add argp field.
+ (convert_options): Set it.
+ (__argp_input): New function.
+ * argp-namefrob.h (__argp_input): New macro.
+
+Sat Feb 15 22:00:42 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h (struct argp): Add help_filter field.
+ (struct argp_state): Add pstate field.
+
+Fri Feb 14 18:00:52 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c, argp-parse.c [!_] (_): New macro.
+ [!_ && HAVE_LIBINTL_H] <libintl.h>: New include.
+ * argp-help.c (hol_entry_help, __argp_help, argp_args_usage, argp_doc,
+ usage_long_opt, arg, hol_entry_help): Call gettext in appropriate
+ places.
+ * argp-parse.c (parser_finalize, argp_version_parser): Likewise.
+
+ * argp-help.c: Incorporate gettext changes from drepper.
+
+Thu Feb 13 16:46:59 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c, argp-help.c, argp-fmtstream.c, argp-pvh.c,
+ argp-test.c, argp-fs-xinl.c, argp-xinl.c
+ [HAVE_CONFIG_H] <config.h>: New include.
+
+Wed Feb 12 00:35:21 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-fmtstream.c (_GNU_SOURCE): New macro.
+ <ctype.h>: New include.
+ [!isblank] (isblank): New macro.
+ * argp-fmtstream.h <ctype.h>: Include removed.
+
+ * argp-parse.c (parser_parse_next): Decrement PARSER->state.next
+ if we consumed an arg we didn't end up parsing.
+ Set ARG_EBADKEY ourselves in all cases.
+ (parser_parse_arg, parser_parse_opt): Get rid of ARG_EBADKEY param.
+
+ * argp-parse.c (__progname, __progname_full): Decls removed.
+ (argp_default_parser): Use PROGRAM_INVOCATION_NAME &
+ PROGRAM_INVOCATION_SHORT_NAME, not __PROGNAME_FULL & __PROGNAME.
+
+ * argp-help.c (__progname, __progname_full): Decls removed.
+ (__argp_failure, __argp_error, __argp_state_help): Use
+ PROGRAM_INVOCATION_NAME instead of __PROGNAME_FULL.
+ (__argp_error): Use STATE->name if it's available.
+ * argp-namefrob.h (__progname_full): Macro removed.
+
+ * argp.h (ARGP_KEY_END, ARGP_KEY_NO_ARGS, ARGP_KEY_INIT,
+ ARGP_KEY_SUCCESS, ARGP_KEY_ERROR): Change values.
+
+ * argp-help.c (make_hol): Initalize clusters field.
+ (argp_args_usage): Don't trash memory.
+
+Tue Feb 11 19:16:39 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (argp_args_levels): New function.
+ (argp_args_usage): Add LEVELS & ADVANCE arguments, and implement
+ multi-pattern output.
+ (__argp_help): Print multiple argument patterns if there are any.
+ * argp-test.c (args_doc): Add an alternative args pattern.
+ (parse_opt): Enforce it.
+
+ * argp-parse.c: Largely rewritten to clean up the code, avoid
+ using nested functions, and adapt namespace and locking in
+ preparation for moving into libc.
+
+ * argp-help.c (make_hol): Make static.
+ Increment default group for option headers.
+ (until_short): Return correct key.
+ (group_cmp): Put group 0 before other groups, not in the middle.
+ (hol_entry_cmp): Use __strcasecmp instead of strcasecmp.
+ (hol_entry_cmp, usage_argful_short_opt, usage_long_opt):
+ Don't use ?: operator.
+ (__argp_help): Renamed from argp_help.
+ (__argp_state_help): Renamed from argp_state_help.
+ (__argp_error): Renamed from argp_error.
+ (__argp_failure): Renamed from argp_failure.
+ [weak_alias] (argp_help, argp_state_help, argp_error, argp_failure):
+ New weak aliases.
+ (__progname, __progname_full): New declarations.
+ (__argp_state_help, __argp_error, __argp_failure): Use
+ __PROGNAME_FULL instead of PROGRAM_INVOCATION_NAME.
+ "argp-namefrob.h": New include.
+
+ * argp.h [HAVE_CONFIG_H] <config.h>: New include.
+ [__GNU_LIBRARY__] <sys/cdefs.h>: New include.
+ [!__const] (__const): New macro.
+ (struct argp_option, struct argp, struct argp_child, struct
+ argp_state): Use __const instead of const.
+ (__argp_parse, __argp_help, __argp_state_help, __argp_error,
+ __argp_usage, __argp_failure, __option_is_short, __option_is_end):
+ New declarations.
+ (argp_parse, argp_help, argp_state_help, argp_error,
+ argp_usage, argp_failure, _option_is_short, _option_is_end):
+ Use __P macro for function declarations.
+ (argp_usage, _option_is_end, _option_is_short): Inline definitions
+ replaced by __-prefixed versions, and protected by __OPTIMIZE__.
+ [__OPTIMIZE__ && !_LIBC] (__argp_usage, __argp_state_help,
+ __option_is_short, __option_is_end): Add redefs (& later undefs)
+ of __ versions of inline definitions so they define the correct
+ name for the environment (libc vs. non-libc).
+
+ * argp-fmtstream.c, argp-fmtstream.h, argp-fs-xinl.c, argp-xinl.c,
+ argp-namefrob.h, argp-test.c: New files.
+ * argp.c: File removed.
+ * Makefile (SRCS): Add argp-fmtstream.c, argp-fs-xinl.c, and argp-xinl.c.
+ Remove argp.c.
+ (installhdrs): Define explicitly.
+ (LCLHDRS): Define in terms of $(installhdrs) + others.
+ (CFLAGs): Add -DHAVE_LINEWRAP_H & -DHAVE_CTHREADS_H.
+
+Mon Feb 10 22:19:46 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (indent_to, arg, struct pentry_state, print_header,
+ comma, hol_entry_help, hol_help, usage_argful_short_opt,
+ usage_long_opt, hol_usage, argp_args_usage, argp_doc, argp_help):
+ Use argp_fmtstream_t & associated functions instead of stdio
+ streams.
+ "argp-fmtstream.h": New include.
+ <linewrap.h>: Include removd.
+
+ * argp-help.c (hol_append): Use memcpy instead of bcopy.
+ (argp_doc): Use strchr instead of index.
+ (make_hol): Make static.
+ * argp-parse.c (argp_default_parser): Use strrchr instead of rindex.
+ (argp_parse): Use strchr instead of index, memset instead of bzero.
+ * argp-parse2.c (parser_init, argp_parse): Use memset instead of bzero.
+ (argp_default_parser): Use strrchr instead of rindex.
+ (parser_parse_opt): Use strchr instead of index.
+
+Sun Feb 9 10:53:20 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h (ARGP_LONG_ONLY, ARGP_HELP_LONG_ONLY): New macros.
+ * argp-parse.c (argp_parse): Support ARGP_LONG_ONLY.
+ * argp-parse2.c (parser_parse_next): Likewise.
+ * argp-help.c (argp_state_help): Add ARGP_HELP_LONG_ONLY to FLAGS
+ if STATE has ARGP_LONG_ONLY set.
+
+ * argp-help.c (hol_entry_help): Correctly output odoc options.
+ Use un-nested helper functions, with state block.
+ (arg, print_header, comma): New functions (were nested in
+ hol_entry_help)
+ (struct pentry_state): New type.
+ (add_argless_short_opt, usage_argful_short_opt, usage_long_opt):
+ New functions (were nested in hol_usage).
+ (hol_usage): Use un-nested functions.
+ * argp-help.c (hol_entry_short_iterate, hol_entry_long_iterate):
+ Add COOKIE argument, also to signature of FUNC.
+ (until_short): Add COOKIE argument.
+
+Sat Feb 8 17:18:43 1997 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h (OPTION_DOC): New macro.
+ * argp-parse.c (argp_parse): Don't parse OPTION_DOC options.
+ * argp-parse2.c (convert_options): Likewise.
+ * argp-help.c (odoc): New macro.
+ (oshort): Exclude options for which odoc is true.
+ (canon_doc_option): New function.
+ (hol_entry_cmp): Correctly place odoc options.
+
+ * argp-help.c (hol_entry_qcmp): New function.
+ (hol_sort): Remove cmp and use hol_entry_qcmp instead.
+ (until_short): New function, from old nested function func1 in
+ hol_entry_first_short. Only return short key when oshort is true.
+ (hol_entry_first_short): Remove func1 and use until_short insteadd.
+
+Tue Nov 12 19:22:58 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * idvec.h (idvec_set, idvec_set_ids): New functions.
+ * idvec.c (idvec_set, idvec_set_ids): Ditto.
+
+Tue Nov 5 21:16:10 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * idvec.h (idvec_setid): Doc fix.
+
+Thu Oct 24 15:15:27 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (hol_entry_help: comma): Only print cluster headers for
+ real clusters.
+ Emit a newline after cluster headers.
+
+Wed Oct 23 13:58:22 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (argp_args_usage, argp_doc): Use the new type of
+ argp child vector.
+
+Tue Oct 22 15:35:56 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (make_hol): Accept new CLUSTER argument,
+ and fill in the corresponding entry fields with it.
+ (hol_sort): Use hol_entry_cmp.
+ (hol_entry_cmp, group_cmp, hol_cluster_cmp, hol_cluster_base,
+ hol_add_cluster): New functions.
+ (hol_free): Free clusters.
+ (hol_append): Deal with clusters.
+ Always use hol_free to free MORE, and just mark it's entries as
+ invalid if we steal them.
+ (argp_hol): Add, and use the new CLUSTER argument.
+ Use the new type of argp child vector, and make clusters.
+ (argp_help): Pass new CLUSTER argument to argp_hol.
+ (hol_entry_help): Add gunk to print cluster headers.
+ * argp.h (struct argp_child): New type.
+ (struct argp): Change type of CHILDREN field to `struct argp_child *'.
+ * argp-parse.c (argp_parse): Convert to use the new type of argp
+ children vectors.
+
+Mon Oct 21 22:00:44 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * argp.h: Add extern inline protection.
+ * idvec.h: Likewise.
+ * maptime.h: Likewise.
+ * argp.c, idvec-funcs.c, maptime-funcs.c: New files.
+ * Makefile (SRCS): Add argp.c, idvec-funcs.c, and
+ maptime-funcs.c.
+
+Mon Oct 14 18:06:19 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (argp_parse): Don't consume non-option arguments
+ that aren't recognized by any parser.
+ Allocate enough space for TOP_ARGP's parent list to include the
+ version parser.
+
+Thu Sep 19 17:48:14 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * fsysops.c (fsys_update): Renamed from fsys_remount.
+ Use --update, not --remount.
+
+Fri Aug 30 20:44:44 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (argp_help): Print documentation only according to
+ the ARGP_HELP_*_DOC bits in FLAGS.
+ Possibly print bug report address if ARGP_HELP_BUG_ADDR is set.
+ Replace FIRST by ANYTHING (sense inverted).
+ * argp.h (ARGP_HELP_PRE_DOC, ARGP_HELP_POST_DOC, ARGP_HELP_DOC,
+ ARGP_HELP_BUG_ADDR): New macros.
+ (ARGP_HELP_STD_HELP): Include ARGP_HELP_DOC & ARGP_HELP_BUG_ADDR.
+ (argp_program_bug_address): New declaration.
+ (ARGP_HELP_EXIT_ERR, ARGP_HELP_EXIT_OK): Values changed.
+ * Makefile (SRCS): Add argp-ba.c.
+
+Tue Aug 20 17:12:42 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (argp_doc): Add FIRST_ONLY argument.
+ Don't output a blank line for empty post-docs.
+ (argp_help): Use it. Move first call to argp_doc after newline.
+
+Mon Aug 19 14:45:30 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (argp_help): Add note about --usage to `Try...' msg.
+ Supply new args to argp_doc, and additional call before arg help.
+ (argp_doc): Add the POST and PRE_BLANK arguments, & return val.
+
+Wed Jul 31 15:24:09 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * wire.c (_start): No longer declared as weak, now that everything
+ is getting recompiled anyway.
+
+Fri Jul 26 20:57:53 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * timefmt.c (fmt_past_time): Always use WIDTH+1 as strftime's limit.
+
+Thu Jul 25 23:10:35 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * timefmt.c (fmt_past_time): Terminate SEPS.
+
+ * argp-help.c (hol_entry_help): Never return without restoring margins.
+
+Mon Jul 22 23:41:38 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * timefmt.c (fmt_past_time): Try several separators when
+ concatenating dates & times.
+
+Fri Jul 19 17:23:18 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (hol_usage): Allocate enough space in
+ SHORT_NO_ARG_OPTS for the '\0' terminator.
+
+Tue Jul 16 00:24:18 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (argp_help): Set the lmargin after printing the
+ start of the usage message, so that it won't get indented.
+
+Wed Jul 10 12:16:57 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (argp_version_options, argp_version_parser): Use an
+ uppercase 'V' for short version option.
+
+ * argp-help.c (argp_help): "OPTIONS..." -> "OPTION...".
+
+Sat Jul 6 16:17:53 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (argp_version_parser): Output ARGP_PROGRAM_VERSION
+ to STATE->out_stream, not stdout. Supply that stream and STATE to
+ ARGP_PROGRAM_VERSION_HOOK.
+ * argp.h (argp_program_version_hook): Add argument types.
+ * argp-pv.c (argp_program_version): Doc updated.
+ * argp-pvh.c (argp_program_version_hook): Type & doc updated.
+ "argp.h": New include.
+
+Fri Jul 5 17:13:12 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * timefmt.c (fmt_past_time): Get rid of extraneous `f' in fmt string.
+
+Thu Jun 27 17:09:30 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (argp_parse): Zero the CHILD_INPUTS vector.
+
+Fri Jun 21 17:15:31 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (argp_parse): Use group_parse instead of calling
+ group parser directly for long options.
+
+Wed Jun 19 13:11:15 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * fsysops.c: New file.
+ * Makefile (SRCS): Add fsysops.c.
+
+Tue Jun 18 21:09:52 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (argp_failure): If FMT is 0, don't print `: MSG'.
+
+Sun Jun 16 19:25:10 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * Makefile (SRCS): Remove line.c.
+ (LCLHDRS): Remove line.h.
+
+ * argp-help.c (argp_help, argp_state_help, argp_error, argp_failure):
+ Handle null streams.
+
+ * argp.h (struct argp_state): Add NAME, ERR_STREAM, & OUT_STREAM
+ fields.
+ (argp_failure): New declaration.
+ (ARGP_NO_HELP, ARGP_NO_EXIT): Fix values (were hex, but with
+ decimal value!).
+ (argp_help): Add NAME argument.
+ * argp-parse.c (argp_default_parser): Output to STATE->out_stream.
+ (argp_parse): Initialize new fields in STATE.
+ Output errors to STATE.err_stream. Handle null streams.
+
+ * argp-help.c (argp_help): Add and use NAME argument.
+ (argp_error): Use STATE->err_stream instead of STDERR.
+ (argp_state_help): Supply NAME argument to argp_help.
+ (argp_failure): New function.
+
+Thu May 30 18:10:35 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (indent_to): Terminate.
+
+Tue May 28 18:05:40 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * timefmt.c (fmt_seconds): Don't print two decimal points.
+
+Wed May 22 00:11:24 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (argp_default_parser): Break after --HANG.
+
+ * argp-help.c (hol_usage): Prefix each option desc with a space.
+ Do manual wrapping of descs with an embedded space.
+ Don't set wrap margin (done elsewhere now).
+ (argp_args_usage): Do manual line wrapping because of embedded spaces.
+ (argp_help): Set wrap & left margins when printing usage.
+
+ * argp-parse.c (argp_parse): Only print a `Try...' message if the
+ error was a parsing error.
+
+Tue May 14 21:59:43 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * timefmt.c (add_field): Correctly decrement *SECS by amount printed.
+
+ * timefmt.c (fmt_named_interval): Use fraction digit in more cases.
+ Always pick the last suffix if we can't find any that fits.
+ Use new tv_ functions.
+ (tv_is_zero, tv_is_ge): New functions.
+
+Fri May 10 23:17:38 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h (ARGP_ERR_UNKNOWN): New define.
+ * argp-parse.c (EBADKEY): New define.
+ (argp_default_parser, argp_version_parser, argp_parse): Use
+ EBADKEY instead of EINVAL. Turn any EBADKEY that makes it to the
+ end back into EINVAL.
+
+Thu May 9 11:30:47 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * maptime.c (maptime_map): Use new file_get_storage_info interface.
+
+ * argp-help.c (argp_help): Just assign STREAM instead of using 2 vars.
+
+Thu May 9 11:00:52 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * exec-reauth.c (exec_reauth): Use new args to
+ auth_user_authenticate.
+
+ * timefmt.c (fmt_past_time): Cast arg to localtime appropriately.
+
+ * argp-help.c (argp_args_usage): add_usage_item -> fprintf.
+ (argp_help): Don't shadow arg; change parm STREAM to be STREAMARG
+ and adjust initialization of STREAM variable to use the renamed
+ parm.
+
+Tue May 7 14:58:48 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * timefmt.c (fmt_past_time): Suppress leading noise in some formats.
+
+ * argp-help.c (hol_usage): Set the wmargin, not the lmargin.
+ (hol_help): Set the wmargin as well as the lmargin.
+ * argp-help.c <linewrap.h>: New include.
+ (lmargin): Function deleted.
+ (hol_entry_help, hol_usage): Use line_wrap_set_lmargin instead.
+
+Mon May 6 12:46:16 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c <line.h>: Include removed.
+ (lmargin, indent_to): New functions.
+ (argp_usage_arg): Function removed.
+ (hol_entry_help, hol_help, hol_usage, argp_args_usage, argp_doc,
+ argp_help): Use stdio streams and line_wrap_ functions instead of
+ line_ functions.
+
+Sat May 4 05:32:28 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
+
+ * rwlock.h: Moved to ../libthreads.
+ * Makefile (LCLHDRS): Remove rwlock.h.
+
+Fri May 3 18:10:41 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
+
+ * path-lookup.c: File removed.
+ * Makefile (SRCS): Remove path-lookup.c.
+
+ * argz.c, argz.h, envz.c, envz.h: Files removed.
+ * Makefile (SRCS): Remove argz.c, envz.c.
+ (LCLHDRS): Remove argz.h, envz.h.
+
+Thu May 2 00:31:32 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (_argp_hang): New variable.
+ (OPT_HANG): New macro.
+ (argp_default_options, argp_default_parser): Add hidden --HANG option.
+ (argp_default_parser): New function.
+ (argp_version_options, argp_version_argp): New variables.
+ (argp_parse): Use ARGP_VERSION_ARGP when appropiate.
+ * argp.h (argp_program_version, argp_program_version_hook): New decls.
+ * Makefile (SRCS): Add argp-pv.c & argp-pvh.c.
+ * argp-pv.c, argp-pvh.c: New files.
+
+Tue Apr 30 20:25:12 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * timefmt.c (fmt_past_time): New function.
+ (fmt_minutes, fmt_seconds): New args, rewrite.
+ (add_field): New function.
+ (fmt_frac_value, append_fraction): Functions removed.
+ * timefmt.h (fmt_past_time): New declaration.
+ (fmt_minutes, fmt_seconds): Update.
+
+ * argp-parse.c (argp_parse): Work with ARGP == 0.
+
+Mon Apr 29 15:34:00 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * cacheq.c, cacheq.h: New files.
+ * Makefile (SRCS): Add cacheq.c.
+ (LCLHDRS): Add cacheq.h.
+
+Thu Apr 25 00:09:48 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
+
+ * idvec.c (idvec_free_contents): New function.
+ * idvec.h (idvec_free_contents): Declare it.
+
+Thu Apr 11 15:23:15 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * wire.c (wire_segment_internal): Cast values nicely in `poke'
+ loop.
+
+Wed Apr 3 12:57:39 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h (argp_parse): Change HOOK argument to INPUT.
+ (struct argp_state): Rename HOOK & CHILD_HOOKS to INPUT & CHILD_INPUTS;
+ add HOOK field again.
+ * argp-parse.c (argp_parse): Change HOOK argument to INPUT.
+ Don't propagate back return values when we're done.
+ (struct group): Rename HOOK & CHILD_HOOKS to INPUT & CHILD_INPUTS;
+ add HOOK field again.
+ (group_parse): Restore and save value of GROUP's hook field into
+ STATE around calling the parser. Don't save changed value of INPUT.
+
+Tue Apr 2 18:25:51 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * lcm.c: New file.
+ * Makefile (SRCS): Add lcm.c.
+
+Thu Mar 28 19:06:12 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * portinfo.c, xportinfo.c, portinfo.h: New files.
+ * portxlate.c, portxlate.h: New files.
+ * Makefile (LCLHDRS): Add portinfo.h, portxlate.h.
+ (SRCS): Add portinfo.c, xportinfo.c, portxlate.c.
+
+Tue Mar 26 17:43:51 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * wire.c: Add a weak reference to _start, so we don't have to
+ compile all users of this library.
+
+Mon Mar 25 18:38:23 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * timefmt.c (fmt_named_interval): Rationalize WIDTH.
+
+Mon Mar 25 16:11:49 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * wire.h, wire.c: New files.
+ * Makefile (SRCS): Add wire.c.
+ (LCLHDRS): Add wire.h.
+
+Mon Mar 25 16:06:40 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * envz.c (envz_merge): NEW_LEN is a size, not a char.
+
+Mon Mar 18 14:09:18 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h (struct argp_state): Add HOOK and CHILD_HOOKS fields.
+ Rename the PARENTS field to be CHILDREN (the most common use is
+ initialization, so this change shouldn't have much effect).
+ (ARGP_KEY_BEGIN, ARGP_KEY_ERROR): New macros.
+ * argp-parse.c (struct group): Add PARENT, PARENT_INDEX, HOOK, and
+ CHILD_HOOKS fields.
+ (argp_parse): Add HOOK argument.
+ Implement passing hook values to parsers, and propagating them
+ between parents and children.
+ * argp-help.c (argp_doc, argp_args_usage, argp_hol): Rename
+ PARENTS field to CHILDREN.
+
+ * argp-help.c (argp_error): Take an argp_state instead of an argp,
+ and only doing anything if ARGP_NO_ERRS isn't set in it.
+ (argp_state_help): New function.
+ (argp_help): Don't interpret exiting options anymore.
+ * argp-parse.c (argp_default_options): Add --usage option.
+ (argp_default_parser): Use argp_state_help, so we don't need to
+ screw with exit options anymore.
+ Add usage option.
+ (argp_parse): When printing `too many arguments', test
+ ARGP_NO_ERRS instead of ARGP_NO_HELP.
+ * argp.h (argp_state_help): New function.
+ (argp_usage, argp_error): Change arguments.
+
+Fri Mar 1 18:59:40 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (hol_entry_help): Don't print extraneous blank lines.
+
+Wed Feb 28 18:44:38 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (argp_parse): Print an error message if appropiate
+ when we know there are too many arguments.
+
+ * argp-help.c (hol_entry_help): Handle null group headers nicely.
+
+Wed Feb 28 16:09:27 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * maptime.c (maptime_map): mapped_time_value arg is volatile data.
+ * maptime.h (maptime_map): Likewise.
+
+Sat Feb 17 21:34:18 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * shared-dom.c, localhost.c: New file.
+ * Makefile (SRCS): Add shared-dom.c and localhost.c.
+
+Fri Feb 16 15:54:22 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * maptime.c, maptime.h: New files.
+ * Makefile (SRCS, LCLHDRS): Add maptime.c and maptime.h respectively.
+
+ * timefmt.c (fmt_named_interval): Correct backwards comparison.
+
+Thu Feb 15 15:18:34 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * canon-host.c: New file.
+ * Makefile (SRCS): Add canon-host.c.
+
+ * argp-parse.c (argp_parse): Correctly deal with errors from
+ getopt, and allow the user to use '?' as a short option.
+ (KEY_ERR): New macro.
+ (argp_default_options, argp_default_parser): Use -? as the short
+ option for --help.
+
+Wed Feb 14 14:33:48 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (argp_parse): Make things a bit more readable by
+ using the TRY_GETOPT variable in place of opt == EOF.
+ Use KEY_END, KEY_ARG, and QUOTE.
+ Clear STATE.quoted if STATE.next has been moved back before it.
+ (KEY_END): New macro, in place of EOF.
+ (KEY_ARG, QUOTE): New macros.
+
+Mon Feb 12 15:08:33 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (argp_parse): Don't parse args in order by
+ default. Honor ARGP_NO_ARGS.
+ Deal correctly when the user turns a non-option arg into an option
+ in re-ordering mode.
+ * argp.h (struct argp_state): Add `quoted' field.
+
+Thu Feb 8 19:35:49 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (argp_parse): When a non-option arg fails to be
+ parsed with EINVAL, set ARG_EINVAL true, and leave ERR as is until
+ just before we return.
+ Put process_arg() in the right scope.
+
+Wed Feb 7 23:08:33 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (argp_parse): Deal with getopt returning EOF early
+ because of `--'.
+
+ * argp-parse.c (argp_parse): Make STATE.arg_num per-group.
+ (struct group): Renamed process_arg field to args_processed (a count).
+
+Mon Feb 5 13:39:57 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h (struct argp_state): Add ARG_NUM field.
+ * argp-parse.c (argp_parse): Implement the ARG_NUM field.
+
+ * argp.h (struct argp, struct argp_state, argp_parse, argp_help,
+ argp_usage, argp_error, _option_is_short, _option_is_end): Add `const'
+ where appropriate.
+ * argp-parse.c (argp_default_options, argp_default_argp,
+ argp_parse, find_long_option): Likewise.
+ * argp-help.c (struct hol_entry, make_hol,
+ hol_entry_short_iterate, hol_entry_long_iterate,
+ hol_entry_first_short, hol_entry_first_long, hol_find_entry,
+ hol_sort, hol_entry_help, argp_hol, argp_args_usage, argp_doc,
+ argp_help, argp_error): Likewise.
+ * line.h (line_write, line_fill, line_puts): Likewise.
+ * line.c (line_write, line_fill): Likewise.
+
+Sat Feb 3 02:00:06 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * idvec.c (idvec_merge_ids): Correctly add all IDS, even if some
+ duplicates are avoided.
+
+Tue Jan 23 15:02:03 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (hol_entry_help): Correctly print group headers, and
+ precede them with a blank line.
+ (hol_set_group): Renamed from hol_set_sort_class.
+ (argp_help): Use hol_set_group instead of hol_set_sort_class.
+ (struct hol_entry, make_hol, hol_sort, hol_set_group): Rename the
+ `set_class' field to be `group'.
+ (hol_help, hol_entry_help): After a group header has been printed,
+ separate subsequent groups with a blank line.
+
+Mon Jan 15 11:01:15 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * path-lookup.c (hurd_file_name_path_lookup, file_name_path_lookup):
+ Add PREFIXED_NAME (return) argument.
+ (file_name_path_scan): New function.
+ (hurd_file_name_path_lookup): Use file_name_path_scan().
+
+Tue Jan 2 01:24:57 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (argp_default_options, argp_default_parser): Add
+ --program-name (hidden) option.
+ (OPT_PROGNAME): New macro.
+
+ * idvec.c (idvec_merge_ids): Preserve duplicates internal to IDS.
+ (idvec_ensure): Alloc NUM ids, not NUM chars!
+ (idvec_remove): Correctly copy ids when deleting.
+ * idvec.h (idvec_merge, idvec_delete): New declarations.
+
+ * idvec-auth.c (idvec_merge_auth): Fix various small typos.
+
+ * argz.c (argz_delete): If the result is empty, free it.
+
+ * exec-reauth.c (exec_reauth): Doc fix.
+
+ * argz.h (argz_delete): Renamed from argz_remove.
+ * argz.c (argz_delete): Ditto.
+ (argz_insert): Deref ARGZ where necessary.
+ * envz.c (envz_merge): Rename argz_remove to argz_delete.
+
+Mon Jan 1 17:48:34 1996 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * idvec.c (idvec_remove, idvec_insert_only): New functions.
+ (idvec_setid): Use idvec_insert_only() instead of idvec_insert_new().
+ * idvec.h (idvec_remove, idvec_insert_only): New declarations.
+
+ * Makefile (SRCS): Add exec-reauth.c.
+
+ * idvec.c (idvec_free_wrapper, idvec_free, idvec_ensure,
+ idvec_grow, idvec_tail_contains, idvec_add_new, idvec_insert_new,
+ idvec_merge_ids, idvec_setid): New functions.
+ (idvec_insert): Rewritten to use idvec_grow().
+ * idvec-auth.c (idvec_merge_auth): New function.
+ * idvec.h (idvec_free_wrapper, idvec_free, idvec_ensure,
+ idvec_grow, idvec_tail_contains, idvec_add_new, idvec_insert_new,
+ idvec_merge_ids, idvec_setid, idvec_merge_auth): New declarations.
+ * Makefile (SRCS): Added idvec-auth.c.
+
+Fri Dec 29 12:15:00 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (_argp_unlock_xxx): New function.
+
+Thu Dec 21 10:18:04 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * idvec.h (struct idvec): Renamed from struct ivec. `ints' field
+ renamed to `ids'.
+ (make_idvec, idvec_insert, idvec_add, idvec_contains):
+ All renamed from the corresponding `ivec' declaration, and types,
+ variable names, etc, changed accordingly.
+ * idvec.c (make_idvec, idvec_insert, idvec_add, idvec_contains):
+ All renamed from the corresponding `ivec' routine, and types,
+ variable names, etc, changed accordingly.
+ * Makefile (SRCS): Remove options.c. Rename ivec.c to idvec.c.
+ (LCLHDRS): Remove options.h. Rename ivec.h to idvec.h.
+
+Wed Dec 20 13:05:00 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argz.c (argz_insert): Instead of an integer position N, take a
+ pointer BEFORE into ARGZ to insert before.
+ * argz.h (argz_insert): Instead of an integer position N, take a
+ pointer BEFORE into ARGZ to insert before.
+ (argz_next): New inline function.
+
+Tue Dec 19 13:52:52 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h (struct argp_option): Add the GROUP field. Twiddle doc.
+ (_option_is_end): Be more pessimistic about what constitutes `the end'.
+ * argp-help.c (make_hol): Use the new GROUP field in struct
+ argp_option to initialize sort_classes.
+ (HEADER_COL): New macro.
+ (hol_entry_help): Deal with group headers.
+ * argp-parse.c (argp_default_options): Put --help in group -1.
+
+Sun Dec 17 00:18:58 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * ivec.c: New file.
+ * ivec.h: New file.
+ * Makefile (LCLHDRS): Add ivec.h.
+ (SRCS): Add ivec.c.
+
+Sat Dec 16 17:42:27 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * termsize.c (deduce_term_size): New function, new file.
+ * Makefile (SRCS): Add termsize.c.
+
+ * argz.c (argz_insert): New function.
+ (argz_remove, argz_append, argz_add): New functions, were in envz.c.
+ * argz.h (argz_insert): New declaration.
+
+Thu Dec 14 18:04:48 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argz.h (argz_append, argz_add, argz_remove): New functions.
+
+Wed Dec 13 14:28:12 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * envz.c: New file.
+ * envz.h: New file.
+ * Makefile (SRCS): Add envz.c.
+ (LCLHDRS): Add envz.h
+
+Wed Dec 6 15:05:43 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h (struct argp_state): Rename the INDEX field to be NEXT.
+ * argp-parse.c (argp_parse): Change uses of that field.
+
+ * argz.c (argz_stringify): Add the SEP argument.
+ * argz.h (argz_stringify): Ditto.
+
+Tue Dec 5 18:38:40 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * Makefile (SRCS, LCLHDRS): Removed error.c and error.h.
+ (CPPFLAGS-error.c): Variable removed.
+ * error.c, error.h: Files removed.
+
+Thu Oct 19 18:39:59 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h (argp_usage, argp_error): New declarations.
+ (argp_usage): New inline function.
+ * argp-help.c (argp_error): New function.
+
+Fri Oct 13 19:28:28 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h (ARGP_HELP_STD_ERR): Doesn't print a usage message.
+ (ARGP_HELP_STD_USAGE): ... whereas this does.
+
+Thu Oct 12 15:57:18 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-parse.c (argp_parse): Correctly mark short options as optional.
+ (argp_parse): If an option alias doesn't have a key, use the real key.
+
+Wed Oct 11 13:54:18 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp-help.c (hol_find_entry): Don't increment ENTRY prematurely.
+
+ * argp-parse.c (argp_parse): Update STATE.argp when adding a
+ wrapper to implement the --help option.
+ In general, use the version of variables that are in STATE.
+ Update STATE.index in the case where getopt returns EOF.
+ (argp_parse): Correctly translate options.
+
+ * line.c (line_write): New function.
+ (line_puts): Function deleted.
+ (line_fill): Use line_write instead of line_printf.
+ * line.h (line_write): New declaration.
+ (line_puts): Rewrite in terms of line_write.
+
+ * argp-help.c (hol_entry_help): Print the right documentation
+ string for each entry.
+
+ * argp-parse.c (argp_default_parser, argp_parse): Rename uses of
+ argp_usage* to argp_help*.
+
+ * argp-help.c (argp_help): Renamed from argp_usage.
+ * argp.h (ARGP_HELP_*, argp_help): Renamed from ARGP_USAGE_* &c.
+
+ * argp.h (ARGP_USAGE_STD_HELP): Use ARGP_USAGE_SHORT_USAGE instead
+ of ARGP_USAGE_USAGE.
+
+ * argp-help.c (make_hol): Deal with a null value of OPT. If there
+ are no entries, don't define the ENTRIES or SHORT_OPTIONS fields.
+ (hol_free): Don't free ENTRIES or SHORT_OPTIONS unless there are any.
+ (hol_sort): Don't sort unless there are some entries.
+ (hol_usage): Don't do anything unless there are some entries.
+ (hol_sort): Sort int he correct order.
+ (argp_usage): Add the ARGP_USAGE_SHORT_USAGE case.
+
+ * argp-parse.c (argp_parse): Deal with null parser or option fields.
+ If an argp has neither a parser or any options, don't put it in GROUPS.
+ Use comparison with EGROUP, rather than testing the parser field,
+ the end test for iteration over GROUPS.
+
+ * argp-help.c (hol_append): Implement.
+
+ * argp-parse.c (argp_parse): Pass in the right value for GROUPS to
+ convert_options.
+
+ * Makefile (SRCS): Add argp-parse.c, argp-help.c, and line.c
+ (LCLHDRS): Add line.h and argp.h.
+
+Tue Oct 10 17:58:14 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * argp.h: Doc fixes.
+
+ * argp.h: (ARGP_KEY_NO_ARGS): New macro.
+ * argp-parse.c (argp_parse): Add support for ARGP_KEY_NO_ARGS.
+ Put all the group attributes into structures which get stored in
+ the GROUPS array, rather than having a separate array for each.
+
+Sat Oct 7 03:32:51 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * rwlock.h: Protect against multiple inclusion.
+ Include cthreads.h and assert.h.
+
+Wed Sep 27 17:37:08 1995 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * options.c (options_parse): Use 0 as the tag for non-option args.
+ * options.h: Ditto.
+
+Sat Sep 23 14:15:01 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * rwlock.h (RWLOCK_INITIALIZER): New macro.
+
+Sat Sep 16 13:40:22 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * Makefile (lndist, $(srcdir)/hurd-snap/$(dir)/error.[ch]):
+ Targets removed.
+
+Thu Aug 24 11:49:13 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
+
+ * options.c: Include "options.h" instead of <options.h>.