]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
.
authorJim Meyering <jim@meyering.net>
Fri, 29 Mar 1996 05:01:14 +0000 (05:01 +0000)
committerJim Meyering <jim@meyering.net>
Fri, 29 Mar 1996 05:01:14 +0000 (05:01 +0000)
old/sh-utils/ChangeLog.0

index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0408ec6222b205388a12a4603e2c6f9f0bc76704 100644 (file)
+Sat Nov 05 08:35:25 1994  Jim Meyering  (meyering@comco.com)
+
+       * Version 1.12.
+
+Fri Nov 04 06:01:00 1994  Jim Meyering  (meyering@comco.com)
+
+       * Version 1.11.
+
+Wed Nov 02 18:52:20 1994  Jim Meyering  (meyering@comco.com)
+
+       * doc/Makefile.in (install): Remove test for existence of info
+       file.  Simply change to $(srcdir) instead.
+
+Wed Oct 26 23:40:07 1994  Jim Meyering  (meyering@comco.com)
+
+       * safe-xstat.hin [EINTR]: Always define safe_l?stat.
+       Define it __static -- which is `static' for most includers,
+       but `/* empty */' for safe-xstat.cin.
+       * safe-xstat.cin: Define __static to nothing so we get public
+       safe_l?stat functions in the library.
+
+       * Makefile.in (All actions invoking $(MAKE) from within compound
+       (e.g. `for') sh statements): Exit non-zero if the sub-make fails.
+       Otherwise, the top-level make may exit successfully when it should
+       fail.  From Jim Kingdon (kingdon@cygnus.com).
+
+Sun Oct 23 23:36:26 1994  Jim Meyering  (meyering@comco.com)
+
+       * safe-xstat.hin: Don't use a statement expression here.
+       Use an inline function instead.
+       * safe-xstat.cin: Don't duplicate the definition of safe_l?stat here.
+       Get the definition from safe-xstat.hin.
+
+Fri Oct 21 00:57:23 1994  Jim Meyering  (meyering@comco.com)
+
+       * man/Makefile.in: Fix typo that had su.1 being installed as
+       `man/man1/.1'.  From Kjetil Torgrim Homme.
+
+       * basename.c, dirname.c, expr.c, pathchk.c, sleep.c (main): Diagnose
+       wrong number of argument -- usually too few -- instead of just
+       referring the user to the --help option.  Reported by Karl Berry.
+
+Mon Oct 17 23:55:41 1994  Jim Meyering  (meyering@comco.com)
+
+       * doc/Makefile.in (install): Install the info files from either
+       the source directory or the object directory.
+       From Ian Lance Taylor (ian@cygnus.com).
+
+Sun Oct 16 12:14:02 1994  Jim Meyering  (meyering@comco.com)
+
+       * lib/Makefile.in (distclean): Don't delete getdate.c and posixtm.c
+       here since they are not distributed.
+       (realclean): Delete them here instead.
+       From Francois Pinard.
+
+Mon Oct 10 21:44:42 1994  Jim Meyering  (meyering@comco.com)
+
+       * id.c (print_group_list, print_full_info): Use more precise
+       feature tests.  Rather than assuming that a definition for
+       NGROUPS_MAX implies the existence of the getgroups function,
+       test for HAVE_GETGROUPS explicitly.
+       * su.c (log_su): Likewise.  Similarly, check HAVE_INITGROUPS.
+       Both from Kaveh Ghazi.  He reported that a Pyramid 9820 OSx 5.0d
+       (Dual universe SVR3/BSD4.2) system had NGROUPS_MAX and syslog.h
+       but not getgroups, initgroups or the syslog functions.
+
+Fri Oct 07 19:42:35 1994  Jim Meyering  (meyering@comco.com)
+
+       * doc/Makefile.in (sh-utils.dvi): Depend on version.texi.
+       * version.texi: Use RELEASEDATE, not RELEASE_DATE.
+       * sh-utils.texi: Likewise.
+
+       * configure.in: Test for crypt in -lcrypt for NetBSD.
+       Reported by Greg Hudson (ghudson@mit.edu).
+
+       * system.h: Don't define lstat.  safe-l?stat.h does that now.
+
+Thu Oct 06 21:14:07 1994  Jim Meyering  (meyering@comco.com)
+
+       * src/Makefile.in (link_command): Remove $(CFLAGS).  Because
+       the default value usually includes -g, Linux users were getting
+       statically linked executables.  With this removal they'll get
+       much smaller, dynamically linked ones by default.
+
+       * lib/Makefile.in (safe-lstat.o): Depend on safe-stat.h, too.
+
+Sun Oct 02 16:15:32 1994  Jim Meyering  (meyering@comco.com)
+
+       * src/Makefile.in: Don't use binprefix.  Use autoconf-2's
+       @program_transform_name@ instead.
+       * man/Makefile.in: Likewise for manprefix.
+
+       * safe-xstat.hin [!S_ISLNK]: Include safe-stat.h and define
+       SAFE_LSTAT and safe_lstat to their symlink-ignorant counterparts.
+       * lib/Makefile.in (extract_lstat, extract_stat): Add sed rules to
+       extract the new cpp directives into safe-lstat.h, but not into
+       safe-stat.h.
+
+Sat Oct 01 00:14:10 1994  Jim Meyering  (meyering@comco.com)
+
+       * system.h: Remove conditional definition of mode_t.
+       configure takes care of this now.
+
+       * configure.in: Add -l$lib (not $lib) to LIBS when checking
+       for syslog.  From Kaveh Ghazi.
+
+       * date.c (batch_convert): Use K&R style function definition.
+       From Kaveh Ghazi.
+
+       * date.c (main): When reading dates from a file with a +FORMAT-style
+       user-specified format, don't print the leading `+'.  Franc,ois Pinard
+       noticed this problem.
+       Make an error message clearer.  From Franc,ois.
+
+       * lib/Makefile.in (DISTFILES): Add getline.h.
+       (SOURCES, OBJECTS): Add getline.c, getline.o.
+
+       * safe-xstat.hin: Don't include <sys/types.h> or <sys/stat.h>.
+       Otherwise, we'd lose when the includer has already included
+       <sys/stat.h> on systems that aren't protected against multiple
+       inclusion.  Add a note that those headers must be included before
+       this one.  Don't include <config.h> either.
+       * safe-xstat.cin: Include <sys/types.h> and <sys/stat.h> here instead.
+       Include <config.h> here, too.
+       Kaveh Ghazi reported this problem.
+
+Fri Sep 30 22:40:21 1994  Jim Meyering  (meyering@comco.com)
+
+       * date.c (main): Accept new option: (-f) --file=datefile.
+       (batch_convert): New function.  Suggested by Karl Berry.
+
+       * date.c (main): Diagnose use of conflicting options.
+       Revamp non-option argument processing.
+       Detect write errors.
+
+       * lib/*.c, src/*.c: Remove CONFIG_BROKETS conditional.
+       * lib/Makefile.in src/Makefile.in: Don't define it.
+
+       configure.in (AC_CHECK_FUNCS): Add getcwd.  From Kaveh Ghazi.
+
+       * safe-xstat.c.in, safe-xstat.h.in: Rename to safe-xstat.cin and
+       safe-xstat.hin so the names don't exceed the 14-character limit.
+       Reported by Kaveh Ghazi.
+
+Mon Sep 26 19:49:40 1994  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Don't use $su_cv_sys_tiocgwinsz_in_termios_h
+       uninitialized.  From R. Bernstein <rocky@panix.com> and Kaveh Ghazi.
+       (NICE_PRIORITY): Fix typo that caused omission from PROGS of nice
+       and nohup on systems with nice but not setpriority.
+       From Andreas Schwab.
+
+Sat Sep 24 10:13:00 1994  Jim Meyering  (meyering@comco.com)
+
+       * Makefile.in (stamp-h.in): Create using echo, not date.
+       Using the latter could easily lead to rcs/cvs merge conflicts.
+       * configure.in (stamp-h): Ditto, though this is less important
+       because stamp-h isn't distributed.
+
+       * nice.c (main): Revamp option processing to detect options
+       like `--7' manually and pass the rest off to getopt_long.
+       (isinteger): Use ISDIGIT.
+       Use parse_long_options.
+
+       * system.h: Include <ctype.h> and add IS* macros.
+       * expr.c: Don't include <ctype.h> or define IS* macros since
+       system.h now does that.
+       * printf.c: Ditto.
+
+       * date.c (usage): Add description of numeric modifiers.
+
+       * printf.c (print_formatted): Declare DIREC_LENGTH size_t, not int.
+       (print_esc_string): Ditto for LENGTH.
+       * dirname.c (main): Cast string literal to (char*).
+       * stty.c (wrapf): Declare first argument const char *.
+       * tee.c (main, tee): More const dcls and casting.
+       * who.c (read_utmp): New variable: size to avoid type warnings.
+       All of these eliminate compilation warnings reported by
+       Franc,ois Pinard.
+
+       * doc/Makefile.in (DISTFILES): Add version.texi because generating
+       that file now depends on having a version of date that can handle
+       formats like `+%Y %B'.
+       (version.texi): Generate RELEASE_DATE, too.
+       * sh-utils.texi: Use RELEASE_DATE instead of hard-coded date.
+
+       * long-options.h: Prepend underscores to arg names in prototype
+       to avoid warnings about shadowing.
+
+       * src/Makefile.in: Add dependencies on long-options.h.
+
+       * configure.in: Make having autoconf-1.120 a prerequisite.
+
+       * sh-utils.texi [INFO-DIR-ENTRY]: Add an entry for each `invoking'
+       node.  Regularize punctuation, indexing, and xrefs.
+       From Franc,ois Pinard.
+
+       * date.c (usage): Tweak the usage message a little.
+       Add `const' to more dcls.
+
+       * stty.c: Add `const' to more dcls.
+       * su.c: Ditto.
+       * who.c: Ditto.
+
+       * tee.c (main): Use _POSIX_SOURCE, not _POSIX_VERSION.
+
+Sat Sep 17 15:48:10 1994  Jim Meyering  (meyering@comco.com)
+
+       * (doc): New subdirectory with texinfo documentation.
+       Thanks to Franc,ois Pinard and Karl Berry!
+       Note however that it contains mainly the information from the
+       `man' pages, so it is not good documentation.  But this way,
+       at least we don't have to maintain the troff man pages anymore.
+
+       * su.c: Test !HAVE_ENDGRENT and !HAVE_ENDPWENT rather than
+       _POSIX_SOURCE to determine whether endgrent and endpwent should
+       be defined away.
+       * configure.in (AC_CHECK_FUNCS): Add endgrent and endpwent.
+
+       * who.c: Test HAVE_SYS_PARAM_H rather than _POSIX_SOURCE
+       to determine whether <sys/param.h> should be included.
+
+       * date.c (main): Rewrite command-line argument handling code
+       to give diagnostics for inconsistent options.
+
+       * Makefile.in: Restructure dependencies using local-*
+       and recursive-* targets to avoid evil double-colon rules.
+       Although the actions assiciated with double-colon rules are
+       run sequentially using GNU make-3.71, POSIX doesn't guarantee
+       that behavior.  The next release may run them in parallel.
+       Running the old rules in parallel would sometimes delete
+       config.status before it was used in a subdirectory make.
+       With several suggestions from Franc,ois Pinard.
+
+Thu Sep 15 19:10:51 1994  Jim Meyering  (meyering@comco.com)
+
+       * stty.c [VWERSE && !VWERASE]: Define VWERASE for AIX-3.2.5.
+
+Sat Sep 03 00:41:53 1994  Jim Meyering  (meyering@comco.com)
+
+       * lib/Makefile.in (safe-lstat.c, safe-lstat.h, safe-stat.c,
+       safe-stat.h): Use $(srcdir) to find source files.
+       (.c.o): Use -I. to get safe-lstat.h and safe-stat.h from the
+       build directory.
+       * src/Makefile.in (incl): Add -I../lib to get lib/safe-lstat.h and
+       lib/safe-stat.h from the build directory.  From Michael I Bushnell
+       <mib@geech.gnu.ai.mit.edu>.
+
+       * Makefile.in: Remove rules to create installation directories.
+       * {src,man}/Makefile.in: Put them here instead.
+
+       * configure.in: Update to take advantage of autoconf 2.0 features.
+
+Sat Aug 27 16:57:20 1994  Jim Meyering  (meyering@comco.com)
+
+       * system.h [BROKEN_STAT_MACROS]: Remove unnecessary #ifdef's.
+       From Francois Pinard.
+
+Thu Aug 18 11:44:48 1994  Jim Meyering  (meyering@comco.com)
+
+       * su.1: Explain why GNU doesn't support the `wheel group'.
+
+Mon Aug 01 21:58:14 1994  Jim Meyering  (meyering@comco.com)
+
+       * date.c: Add --utc option.  It will supercede --uct.
+       Change references to `universal coordinated time' to
+       correct `coordinated universal time'.  From Harris Boldt Edelman
+       <hbe@red-eft.la.ca.us>.
+       * date.1: Correct the documentation, too.
+
+       * date.c (main, show_date): For -u, use gmtime instead of relying on
+       localtime's ability to interpret the TZ enviroment variable.
+       `date -u' failed (by reporting local time) on romp-ibm-bsd and PCs
+       (DOS and OS/2) running emx 0.8h.  From R. Bernstein
+       <rocky@watson.ibm.com>.
+
+Sat Jul 30 07:52:27 1994  Jim Meyering  (meyering@comco.com)
+
+       * nohup.sh: Separate `nice -5' from COMMAND with `--' to ensure
+       that COMMAND isn't interpreted as an option to nice.
+       * groups.sh: Similarly, separate each name from `id -Gn' with `--'.
+       Karl Berry pointed out that `groups --help user' gave confusing
+       diagnostics.
+
+Tue Jul 26 11:33:53 1994  Jim Meyering  (meyering@comco.com)
+
+       * su.c (main): Make copies of the password information we'll use
+       so that log_su (through getlogin) doesn't clobber the static data.
+       With suggestions from Francois Pinard.
+
+       * system.h: Remove `|| defined(_POSIX_VERSION)' from test that
+       decides whether to include <fcntl.h>.  From Francois Pinard.
+
+Mon Jul 25 23:54:36 1994  Jim Meyering  (meyering@comco.com)
+
+       * pathchk.c (dir_ok): Use SAFE_STAT.
+       * test.c (test_stat, binary_operator, unary_operator): Use SAFE_STAT
+       and SAFE_LSTAT.
+       * who.c (print_entry):  Use SAFE_STAT.
+
+       * test.c (group_member): Remove function.  Use the one broken out
+       into group-member.c instead.
+
+Fri Jul 15 00:23:17 1994  Jim Meyering  (meyering@comco.com)
+
+       system.h: Remove unneeded decls of atof and atol.
+
+Fri Jul 08 01:09:23 1994  Jim Meyering  (meyering@comco.com)
+
+       stty.c (main): Initialize max_col (used by wrapf) before calling
+       display_speed.  Otherwise, `stty speed' output a spurious newline.
+       From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
+
+Sun Jul 03 08:44:00 1994  Jim Meyering  (meyering@comco.com)
+
+       * configure.in [AC_HAVE_HEADERS]: Add sys/param.h, for
+       definition of HAVE_SYS_PARAM_H, now tested in pathmax.h.
+
+       * configure.in [AC_WORDS_BIGENDIAN]: Add it.  This macro is
+       required by memcmp.c on big-endian systems.  Its absence was
+       diagnosed by Lars Duening (duening@ibr.cs.tu-bs.de).
+
+Sun Jun 19 00:18:06 1994  Jim Meyering  (meyering@comco.com)
+
+       * nice.c (main): Accept options like `--5' (equivalent to `-n -5')
+       instead of letting getopt give an `unrecognized option' error.
+
+       * long-options.c: Require another argument: version_string.
+       Don't include "version.h" or "system.h".
+       * basename.c, dirname.c, echo.c, expr.c, hostname.c, printf.c,
+       pwd.c, stty.c, test.c, yes.c: Adjust callers of parse_long_options
+       accordingly.
+
+Thu Jun 02 14:11:31 1994  Jim Meyering  (meyering@comco.com)
+
+       * stty.c (main): Set max_col and current_col before running
+       display_window_size.  Otherwise, `stty size' output a spurious
+       newline.  From Bauke Jan Douma (bjdouma@xs4all.hacktic.nl).
+
+Mon May 30 09:33:53 1994  Jim Meyering  (meyering@comco.com)
+
+       * test.c (test_syntax_error, beyond): Add __attribute__ ((noreturn))
+       so gcc will know enough not to give warnings.
+
+Sun May 29 17:40:21 1994  Jim Meyering  (meyering@comco.com)
+
+       * long-options.c: Move from src/ to lib/.
+       * long-options.h: Ditto.
+       * src/Makefile.in: Remove references to long-options.[ch].
+       * lib/Makefile.in (SOURCES, OBJECTS): Add long-options.[co].
+
+Fri May 27 18:20:18 1994  Jim Meyering  (meyering@comco.com)
+
+       * stty.c [VFLUSH && !VFLUSHO]: Define VFLUSH0.
+       Ultrix's termios.h defines VFLUSH, but not VFLUSHO.
+       From Kjetil Torgrim Homme <kjetilho@ifi.uio.no>.
+
+Thu May 26 08:46:32 1994  Jim Meyering  (meyering@comco.com)
+
+       * configure.in [INSTALL]: Revert change of March 8.  autoconf
+       has fixed this.
+
+Thu May 19 01:10:20 1994  Jim Meyering  (meyering@comco.com)
+
+       * Version 1.10.
+
+       * lib/Makefile.in (DISTFILES): Add getdate.c and posixtm.c.
+
+       * src/Makefile.in (users.c): Use cp if hard link fails.
+       From Ian Lance Taylor.
+
+       * Makefile.in (dist): Change package name from shellutils to sh-utils.
+       That allows a hyphen and 5-character version number without exceeding
+       the 14-character limit on file name length.  shellutils-1.10 would
+       have been too long.
+       * version.c: Update package name.
+
+       * hostname.c: Include <sys/types.h> before "system.h".
+       From Kaveh Ghazi and Karl Berry.
+
+       * hostname.c (sethostname) [!HAVE_SETHOSTNAME && HAVE_SYSINFO &&
+       HAVE_SYS_SYSTEMINFO_H && HAVE_LIMITS_H]: New function.  SVR4 systems
+       prefer sysinfo over sethostname.
+       * configure.in (AC_HAVE_FUNCS): Add sysinfo.
+       (AC_HAVE_HEADERS): Add sys/systeminfo.h.
+       From Kaveh Ghazi.
+
+Fri May 13 09:45:23 1994  Jim Meyering  (meyering@comco.com)
+
+       * lib/xgethostname.c (xgethostname): Call xmalloc outside the loop.
+       Correct loop termination condition.
+
+       * pwd.c: Include <sys/types.h> before "system.h".
+       From Kaveh Ghazi.
+
+       * {lib,man,src}/Makefile.in (Makefile): Use ../config.status
+       instead of $(srcdir)/../config.status.  The latter didn't work
+       for builddir != srcdir.  From Kaveh Ghazi.
+
+       * Makefile.in (Makefile): Remove dependencies on */Makefile.in.
+       Change the rule so running config.status creates only Makefile.
+       (stamp-config): Have config.status generate only config.h.
+
+       * {lib,man,src}/Makefile.in (Makefile): Add single dependency on
+       Makefile.in and rule to make config.status create only Makefile.
+
+       * hostname.c: New program.
+       * hostname.1: New file.
+       * Makefile.in (PROGS): Add hostname.
+       (SOURCES): Add hostname.c
+       * src/Makefile.in: Add rules and dependencies for hostname.
+       * configure.in (AC_HAVE_FUNCS): Add sethostname.
+
+       * pathchk.c (validate_path) [lint]: Initialize a variable to
+       suppress `used before initialized' warning.
+
+       * who.c: Correct gethostname prototype to indicate the function
+       returns int, not char.
+
+Sun May 01 08:38:18 1994  Jim Meyering  (meyering@comco.com)
+
+       * who.c: Add #ifdefs to build the `users' executable.
+       * src/Makefile.in: Add corresponding rules.
+       * Makefile.in (PROGS): Add users.
+       From Kaveh R. Ghazi <ghazi@noc.rutgers.edu>.
+       * users.1: Document it.
+
+Thu Apr 28 00:45:02 1994  Jim Meyering  (meyering@comco.com)
+
+       * pwd.c: New program.
+       * pwd.1: New file.
+       * Makefile.in (PROGS): Add pwd.
+       * lib/Makefile.in: (DISTFILES): Add pathmax.h.
+       (SOURCES, OBJECTS): Add xgetcwd.c and xgetcwd.o respectively.
+       * src/Makefile.in: Add rules and dependencies for pwd.
+
+       * yes.c: Don't include version.h.
+
+Mon Apr 18 19:54:24 1994  Jim Meyering  (meyering@comco.com)
+
+       * documentation: Change uses of `pathname' and `path' as per
+       GNU standards.
+
+       * long-options.c (parse-long-options): Take a new argument,
+       command_name, for use in --version output.
+       * basename.c, dirname.c, echo.c, expr.c, printf.c, stty.c, test.c,
+       yes.c (main): Update callers.
+
+Wed Mar 30 08:53:21 1994  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Use AC_SET_MAKE.
+       * Makefile.in: Edit MAKE assignments into @SET_MAKE@.
+
+Fri Mar 25 01:13:42 1994  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Use AC_VERBOSE, AC_CHECKING, and AC_WARN instead
+       of explicit echo commands.
+       When checking for shadow password routines, make sure the function
+       getspnam is available before defining HAVE_SHADOW_H.
+       <dvldbg@cs.umu.se> reported that shadow.h exists on some
+       linux system that did not have the function.
+
+Tue Mar  8 10:29:13 1994  Jim Meyering  (meyering@comco.com)
+
+       * configure.in [INSTALL]: When AC_PROG_INSTALL resorts to setting
+       this to `./install.sh', make it `../install.sh' instead since that
+       script will be invoked only from subdirectories.
+       [WINSIZE_IN_PTEM]: Check for this unconditionally, rather than
+       only when TIOCGWINSZ is not defined through termios.h.  The old
+       method loses on SCO ODT 3.0 systems.
+
+Sat Feb 19 14:23:14 1994  Jim Meyering  (meyering@comco.com)
+
+       * Version 1.9.4.
+
+       * stty.c (main): Use getopt_long_only with "ag" instead of
+       getopt_long with "".  The latter incremented optind so the
+       -a and -g options weren't recognized.
+
+       * Version 1.9.3.
+
+Tue Feb 15 18:28:28 1994  Jim Meyering  (meyering@comco.com)
+
+       * stty.c (main): Use getopt only to recognize long options.
+       Hand code the loop to detect -a, -g, -ag and -ga.  Using getopt
+       to detect the short options loses (because we have to ignore
+       unrecognized options and we are allowing GNU getopt to permute)
+       because e.g. `-tabs' is interpreted as a group of options, one of
+       which is `-a'.  Before, running `stty -tabs echo' gave this error:
+         stty: when specifying an output style, modes may not be set
+       Reported by Arne H. Juul.
+
+Sun Feb 13 13:34:25 1994  Jim Meyering  (meyering@comco.com)
+
+       * basename.1, dirname.1, stty.1: Reflect usage changes.
+       * basename.c, dirname.c, stty.c (usage): Ditto.
+
+       * long-options.h (parse_long_options): Invoke usage function
+       argument with explicit dereference as per GNU coding standards.
+
+       * basename.c dirname.c: Use parse_long_options instead of the
+       conventional getopt_long paradigm.  Before, the commands
+       `basename file-dist -dist' and `basename -- file.c .c' produced
+       incorrect results.  Now, even `basename -file-dist -dist' works
+       and the command `basename -- file.c .c' fails for the right
+       reason: the `--' is not a special (to getopt) token for these
+       commands.  It is interpreted as the filename, so there are too
+       many arguments to basename.  Rick Sladkey <jrs@world.std.com>
+       reported the problem with basename.
+
+       * stty.c (set_window_size): When stty fails to get the window size
+       (as happens on telnet sessions to Solaris systems), initialize all
+       fields of the winsize struct.  Before, it was using the uninitialized
+       pixel fields of the struct in the ioctl to set window size parameters.
+       From Rick Sladkey.
+
+       * stty.c (main): Use parse_long_options to handle --help and --version.
+       (main): In the remaining getopt_long loop, don't jump out of the
+       loop from the `default' branch of the switch statement.  Doing that
+       left optind in an inconsistent when there were non-option arguments
+       preceding `reversed' arguments (e.g. stty echo -echoe) and the
+       preceding non-option arguments were ignored.  Rick Sladkey reported
+       that stty was ignoring arguments.
+
+       * stty.c (main): Fail with a diagnostic when both -g and -a are given.
+       (main): Fail with a diagnostic when either -g or -a is used with
+       arguments for setting modes.
+
+Fri Feb 11 19:39:37 1994  Jim Meyering  (meyering@comco.com)
+
+       * stty.c (get_win_size): Don't use an ANSI-style function
+       definition.  From Kaveh R. Ghazi <ghazi@noc.rutgers.edu>.
+
+Thu Feb 10 01:22:37 1994  Jim Meyering  (meyering@comco.com)
+
+       * stty.c [CSWTCH] (__sparc__ && __svr4__): Define `swtch' to
+       _POSIX_VDISABLE by default.  Otherwise, the default settings on
+       SunOS 5.3 (from /usr/include/sys/termios.h) have both `swtch'
+       and `susp' set to ^Z.  Those default settings are not unusual.
+       What is unusual is that with such settings on SunOS 5.3, the tty
+       driver doesn't generate a signal for control-Z.  Reported by
+       Brent Wiese <brent@dot.imgen.bcm.tmc.edu>.
+
+       * stty.c (main) [CIBAUD]: Don't report an error on SunOS 4.1.x
+       systems if the only difference is in this nybble of c_cflag.
+       See the comments for the gory details.  Thanks to
+       Erez "HWank1" Zadok <ezk@cs.columbia.edu> for reporting this
+       and helping me reproduce it.
+
+Tue Feb 01 00:59:56 1994  Jim Meyering  (meyering@comco.com)
+
+       * stty.c (main): Call tcsetattr only if we've updated tty modes,
+       not e.g. if we've changed the window size.
+
+       * Update Copyright dates in src/*.
+
+Fri Jan 28 11:02:21 1994  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Don't set LDFLAGS since linking now uses both
+       LDFLAGS and CFLAGS.
+
+Wed Jan 26 10:54:02 1994  Jim Meyering  (meyering@comco.com)
+
+       * stty.c (get_win_size): New function.  Try getting size first
+       for the device on stdout.  Try stdin only if that fails.  Suggested
+       by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
+       (set_win_size): Call get_win_size instead of calling ioctl directly.
+       (display_window_size): Ditto.
+       (screen_columns): Ditto.
+
+Mon Jan 24 22:57:18 1994  Jim Meyering  (meyering@comco.com)
+
+       * stty.c (set_window_size): Work around SunOS 4.x kernel bug that
+       makes `stty rows 34 cols 80;stty rows 0;stty cols 0' incorrectly
+       set rows to 80 and columns to 0.  Sun's stty has this problem, too.
+       The kernel bug is fixed in Solaris 2.  Mostly from Alexander Dupuy
+       <dupuy@cs.columbia.edu>.
+
+       * src/Makefile.in: Use both LDFLAGS and CFLAGS when linking.
+       * man/Makefile.in: Use binprefix as the default manprefix.
+
+       * nohup.sh: Redirect usage message to stderr.
+       From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
+
+Thu Jan 13 17:27:38 1994  Jim Meyering  (meyering@comco.com)
+
+       * src/Makefile.in: Change all link commands to use both $(CFLAGS)
+       and $(LDFLAGS).
+
+Mon Jan 10 01:20:38 1994  Jim Meyering  (meyering@comco.com)
+
+       * man/Makefile.in (manprefix): Use binprefix as the default.
+
+Thu Jan 06 18:19:06 1994  Jim Meyering  (meyering@comco.com)
+
+       * who.c (print_entry): Prepend `/dev/' only if ut_line is not
+       already an absolute filename.  Just to be safe.
+
+Fri Dec 31 00:22:59 1993  Jim Meyering  (meyering@comco.com)
+
+       * date.c (usage): Reorder listing of % formats in `sort -f' order.
+
+Tue Dec 28 15:49:32 1993  Jim Meyering  (meyering@comco.com)
+
+       * install.sh: New file.
+       Makefile.in [DISTFILES]: Add it.
+
+       * who.c (read_utmp): Use stdio functions instead of open/read/close
+       to avoid having to handle POSIX read's -1/errno=EINTR failure case.
+
+       * tee.c (tee): A POSIX implementation of the read system call
+       may return -1 and set errno to EINTR when it is interrupted.
+       Retry instead of failing with an error.
+       (tee): Don't use xwrite.  Use full_write instead and include the
+       losing file name in the message reporting a write failure.
+       Don't treat standard output as a special case, so a failed write
+       to stdout doesn't exit immediately.
+
+       * date.c (usage): Note that for %w, 0 corresponds to Sunday.
+
+Sat Dec 25 23:15:58 1993  Jim Meyering  (meyering@comco.com)
+
+       * who.c (main): Don't chdir ("/dev") for the stat in print_entry.
+       (print_entry): Instead of stat'ing the /dev-relative path, ut_line,
+       stat the absolute path with "/dev/" prefix.  From David MacKenzie.
+
+Wed Dec 22 00:53:51 1993  Jim Meyering  (meyering@comco.com)
+
+       * expr.c (toarith): Interpret the empty string as just that
+       rather than as the integer zero.
+       Before, `expr "" == 0' output 1.  Now it prints 0.
+
+       * configure.in (AC_HAVE_HEADERS): Check for float.h for strtod.c.
+
+       * configure.in (check for TIOCGWINSZ): Don't look in sys/ioctl.h
+       or sys/ptem.h if we've already found it in termios.h.  This
+       eliminates redefinition warnings from including both termios.h
+       and sys/ioctl.h on sytems running SunOS.  From Matthew Seaman
+       (matthew@dyson.ox.ac.uk).
+
+       * date.1: Document new %s format and old `-' and `_' numeric field
+       modifiers.
+
+       * memcmp.c: Use the latest version from GNU C library.
+
+Mon Dec 20 23:29:30 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in [test for 8-bit clean memcmp]: Add a test to detect
+       losing memcmp from SunOS4.1.x.  From Robert H. de Vries
+       <robert@and.nl>.
+
+Sat Dec 18 01:12:24 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in (AC_OUTPUT): Put `touch stamp-config' in second arg
+       so it goes in config.status.  This eliminates unnecessary second run
+       of configure.
+
+Fri Dec 10 01:06:28 1993  Jim Meyering  (meyering@comco.com)
+
+       * stty.c (screen_columns): Instead of dying just because Solaris'
+       `ioctl (0, TIOCGWINSZ' fails (strangely only for telnet sessions,
+       not rlogin sessions), ignore its errno == EINVAL and try to get
+       the number of columns another way.
+
+       * stty.c (set_window_size): If ioctl to get window size fails,
+       (as on telnet sessions to Solaris 2.[12] systems) try to set the
+       requested fields anyway, setting to zero any unspecified fields.
+       This is what Sun's /bin/stty appears to do.
+       * (display_window_size): Don't display anything for the number
+       of rows and columns if the ioctl call intended to get them fails.
+
+Tue Nov 30 23:58:54 1993  Jim Meyering  (meyering@comco.com)
+
+       * Version 1.9.2.
+
+Mon Nov 29 00:28:35 1993  Jim Meyering  (meyering@comco.com)
+
+       * stty.c, configure.in, acconfig.h: Revert change of Nov 26.
+       I am no longer able to reproduce the behavior that prompted
+       that patch -- but I had tested only using an old version of gcc.
+       When building with a more recent version of gcc or with /bin/cc
+       there is no problem.
+
+Sat Nov 27 15:11:21 1993  Jim Meyering  (meyering@comco.com)
+
+       * nice.c (main): If an adjustment is specified, but no command is
+       given, give a diagnostic in addition to the usage message.
+       (isinteger): Accept a leading `+'.
+
+Fri Nov 26 18:49:42 1993  Jim Meyering  (meyering@comco.com)
+
+       * stty.c [GWINSZ_BROKEN]: Define TIOCGWINSZ to TCGETS for Solaris-2.2.
+       On that system, ioctl (0, TIOCGWINSZ, &win) always fails, but using
+       TCGETS works.  Reported by Francois Pinard.
+
+       * configure.in [GWINSZ_BROKEN]: New test to detect Solaris' inability
+       to get window size from ioctl using TIOCGWINSZ.
+       * acconfig.h [GWINSZ_BROKEN]: Add an #undef.
+
+Mon Nov 22 23:40:21 1993  Jim Meyering  (meyering@comco.com)
+
+       * who.c [defined (UTMPX_FILE)]: (undef and) define UTMP_FILE to
+       this value even if UTMP_FILE is already defined.  Because some
+       systems define both symbols.  From Arne H. Juul.
+       * [MESG_BIT]: Rename to S_IWGRP (from sys/stat.h>) and define only
+       if not already defined.
+
+Fri Nov 19 23:08:03 1993  Jim Meyering  (meyering@comco.com)
+
+       * who.c (print_entry): Produce reasonably formatted output even when
+       sizeof (this->ut_name,ut_line) are much larger than 8.  For Solaris
+       and other SysVr4.  With help from Arne H. Juul.
+       * configure.in (HAVE_UTMPX_H): New test; combined with test for the
+       ut_host field.  From Arne H. Juul.
+
+       * memcmp.c: New file.
+       * lib/Makefile.in [SOURCES]: Add memcmp.c.
+       * configure.in (AC_REPLACE_FUNCS): Add memcmp.
+       Add test for 8-bit clean memcmp.
+
+       * configure.in (AC_HAVE_FUNCS): Add isascii.
+       * expr.c [!defined (isascii) || defined (STDC_HEADERS)]: This failed
+       on AIX PS/2 1.3 systems because isascii is a function and it is used
+       in definitions (with the necessary side effect of assigning to a
+       global variable) of the is* macros.  Also test HAVE_ISASCII and
+       redefine ISASCII(c) instead of isascii.
+       Reported by Minh Tran-Le (tranle@intellicorp.com).
+       * printf.c: Ditto.
+
+       * configure.in (AC_HAVE_HEADERS): Add sys/timeb.h; getdate.y tests
+       HAVE_SYS_TIMEB_H.
+
+       * stty.c (main): Detect the case in which POSIX-conformant tcsetattr
+       fails and still returns zero.
+
+Wed Nov 17 21:05:10 1993  Jim Meyering  (meyering@comco.com)
+
+       * yes.c (main): Complete my half-finished Nov 2 change.
+       yes with arguments did not print newlines.  From Andreas Schwab
+       (ls5.informatik.uni-dortmund.de).
+
+       * stty.c (wrapf): Fix off-by-one error that could make `stty -a'
+       output lines one character too long.  From Andreas Schwab.
+
+Sat Nov 13 00:11:19 1993  Jim Meyering  (meyering@comco.com)
+
+       * Version 1.9.1.
+
+       * configure.in [LIBS]: Add -lbsd if that is necessary to get the
+       syslog function.  With help from Kaveh Ghazi.
+
+       * configure.in [LIBS]: Reorganize/unify the code that adds libraries
+       solely to resolve syslog.  Add a library only if it is required to
+       resolve the syslog reference.
+
+       * configure.in [AC_HAVE_HEADERS]: Check for sys/timeb.h.
+       getdate.y needs to know.
+       [LIBS]: Check for initgroups in -los.  This is required by SCO-ODT-3.0
+       when linking su.
+       [LIBS]: Check -lufc for crypt.
+       Reported by Steven W Orr (steveo@world.std.com).
+
+Thu Nov 11 23:55:48 1993  Jim Meyering  (meyering@comco.com)
+
+       * id.c [NGROUPS_MAX]: Undefine before redefining.
+       From Kaveh R. Ghazi (ghazi@noc.rutgers.edu).
+
+       * who.c (list_entries): Trim any trailing blanks from ut_name
+       and make sure the string is NUL-terminated before printing it.
+       Before, `who -q' displayed 8-character names with a tty
+       (e.g. `q1') suffix.
+
+       * stty.c [CFLUSHO]: Move this definition so it follows the
+       one for VFLUSHO.
+
+Mon Nov 08 23:16:36 1993  Jim Meyering  (meyering@comco.com)
+
+       * Version 1.9.
+
+       * su.c (correct_password): Report an error and fail if getpass
+       returns NULL.
+
+Tue Nov 02 01:14:21 1993  Jim Meyering  (meyering@comco.com)
+
+       * acconfig.h: Add comments.
+
+       * printenv.c (main): Exit with status == 2 for file error.
+
+       * yes.c (main): Restore argv/optind handling -- now that
+       parse_long_options doesn't change optind.
+
+Mon Oct 25 19:22:58 1993  Jim Meyering  (meyering@comco.com)
+
+       * basename.c, date.c, dirname.c, echo.c, env.c, expr.c, id.c,
+       logname.c, nice.c, pathchk.c, printenv.c, printf.c, sleep.c,
+       stty.c, su.c, tee.c, test.c, tty.c, uname.c, who.c, whoami.c,
+       yes.c: Use the preferred `--longopt=arg' syntax in --help message
+       rather than `--longopt arg'.  From Francois Pinard.
+
+       * stty.c (main, integer_arg): Don't just call error(1,... about
+       improper usage.  Call `error (0,...' then usage (1).
+
+Sun Oct 24 14:10:23 1993  Jim Meyering  (meyering@comco.com)
+
+       * test.c [member]: Don't try to cast index return value to an int.
+       That can lose on systems with 64-bit pointers.
+
+       * long-options.c: Save and restore optind, too.
+       * long-options.h: New file.
+       * long-options.c, echo.c, expr.c, printf.c, test.c, yes.c:
+       Include it instead of duplicating dcls.
+       * src/Makefile.in: Add dependencies for it.
+
+Tue Oct 19 00:26:27 1993  Jim Meyering  (meyering@comco.com)
+
+       * expr.c [!__STDC__]: Don't define away `const'.  configure alone
+       decides whether to do that.  From Francois Pinard.
+
+Sat Oct 16 22:32:54 1993  Jim Meyering  (meyering@comco.com)
+
+       * whoami.c (main): Cast printf arg UID so it matches the type
+       expected by %u format no matter how uid_t is defined.
+
+       * stty.c: Accept `status' option and VDISCARD as an alias for
+       VFLUSHO.  From Arne H. Juul (arnej@imf.unit.no).
+
+       * basename.c, date.c, dirname.c, echo.c, env.c, expr.c,
+       false.sh, groups.sh, id.c, logname.c, long-options.c, nice.c,
+       nohup.sh, pathchk.c, printenv.c, printf.c, sleep.c, stty.c,
+       su.c, tee.c, test.c, true.sh, tty.c, uname.c, who.c, whoami.c,
+       yes.c: Using --help gets long well- formatted help.  Now --help
+       writes to stdout and exits successfully.  From Francois Pinard
+       <pinard@iro.umontreal.ca>.
+
+Wed Oct 13 13:10:27 1993  Jim Meyering  (meyering@comco.com)
+
+       * long-options.c: Include sys/types before system.h.
+       From Franc,ois Pinard (pinard@iro.umontreal.ca).
+
+Tue Oct 12 00:53:26 1993  Jim Meyering  (meyering@comco.com)
+
+       * stime.c [HAVE_CONFIG_H, CONFIG_BROKETS]: Include <config.h>
+       or "config.h".
+
+       * src/Makefile.in [clean]: Also delete '['.
+
+Sun Oct 10 14:05:23 1993  Jim Meyering  meyering@comco.com
+
+       * false.sh, groups.sh, nohup.sh, true.sh: Add --help and --version.
+       * src/Makefile.in (false, groups, nohup, true): Substitute the string
+       from version.c for @VERSION@ in *.sh.
+
+Sat Oct  9 23:12:53 1993  Jim Meyering  meyering@comco.com
+
+       * configure.in: Remove AC_UNISTD_H; add unistd.h to AC_HAVE_HEADERS.
+
+Tue Oct  5 22:18:05 1993  Jim Meyering  meyering@comco.com
+
+       * tty.c (main): Detect write error.  Use isatty (rather than
+       testing whether ttyname() is NULL) to determine exit status
+       because ttyname may return NULL when stdin is a terminal device.
+
+       * expr.c (eval7): Rewrite if-else-if-else... sequence to avoid a
+       spurious `function returns without a value' warning.
+
+       * printenv.c (main), tty.c (main): Detect and report write errors.
+
+       * echo.c, patchchk.c, printenv.c, printf.c, sleep.c, stty.c, su.c,
+       tee.c, test.c, tty.c, uname.c, yes.c: Accept --help and --version
+       options.
+
+       * long-options.c: New file.  To let echo, expr, printf, test, and
+       yes accept --help and --version as unobtrusively as possible.
+       * src/Makefile.in [SORUCES]: Add it.
+
+       * configure.in: Add AC_TIME_WITH_SYS_TIME and AC_STAT_MACROS_BROKEN.
+
+       * nice.c (main) [NICE_PRIORITY]: When given an argument, don't
+       try to get current priority.  nice() requires only the delta;
+       we don't need to compute the absolute priority as for setpriority.
+
+Mon Oct 04 22:15:07 1993  Jim Meyering (meyering@comco.com)
+
+       * who.c (print_entry, print_heading, who_am_i):
+       Cast printf field width arguments to int to avoid warnings.
+       (idle_string): Cast idle seconds and minutes to int.
+       Declare functions read_utmp and idle_string to be static.
+       Don't declare ttyname as static.
+
+       * echo.c (just_echo): Use putchar instead of printf.
+
+       * expr.c (parse_long_options): New function.
+       (main): Use it to handle --version and --help properly.
+
+       * tee.c (main): Put entire #ifdef inside if-braces to make structure
+       clearer.
+       (main, tee): Compare close() != 0 rather than close () == -1.
+
+       * pathchk.c (portable_chars_only, dir_ok): Make a couple variables
+       const.
+
+Wed Sep 08 00:07:36 1993  Jim Meyering (meyering@comco.com)
+
+       * test.c [advance, unary_advance]: Rewrite using do{...}while(0)
+       paradigm instead of comma expressions that make Alpha OSFv1.3
+       C compiler segfault.
+
+       * basename.c, date.c, dirname.c, env.c, id.c, logname.c, nice.c:
+       Add --help and --version options.
+
+Sat Jul 24 08:52:18 1993  Jim Meyering (meyering@comco.com)
+
+       * configure.in: Check for -lshadow.  Linux needs it when using shadow
+       passwords.  Reported by Mattias Olofsson <mattias@lysator.liu.se>.
+
+Thu May 27 20:05:50 1993  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
+
+       * configure.in (c_line test): Add missing `fi'.
+
+Tue May 18 23:49:26 1993  Jim Meyering (meyering@comco.com)
+
+       * mkinstalldirs: New file.
+       * Makefile.in (installdirs): Use it.
+
+Thu May 13 01:03:16 1993  Jim Meyering (meyering@comco.com)
+
+       * Makefile.in (installdirs): New rules for creating installation
+       directories. (install): depend on it.
+
+Mon May  3 22:09:24 1993  Jim Meyering (meyering@comco.com)
+
+       * configure.in: Add AC_GETGROUPS_T.
+       * id.c, test.c: Don't define GETGROUPS_T.  Now configure does it.
+
+Sun May  2 00:21:05 1993  Jim Meyering  (meyering@comco.com)
+
+       * expr.c (eval6): Terminate result with a zero byte.
+       The command `expr substr xx 1 2' would fail on systems with
+       tight malloc.  From Steve James <smj@cats.COM>.
+
+       * expr.c (null): Recognize the string `0' as zero.
+       (divide, mod): Upon request to divide by zero, give an error
+       message instead of dumping core.
+       From J.T. Conklin <jtc@wimsey.com>.
+
+       * configure.in: Check for sys/time.h; getdate.y needs it for
+       structs timeval and timezone on some systems.
+       * Check for gettimeofday and for `struct tm'.
+       * Add existence tests for memcpy and bcopy.
+
+       * configure.in: Find a parser generator.
+
+       * putenv.c: Include stdlib.h only if __GNU_LIBRARY__ is defined.
+       Many vendor-supplied <stdlib.h> have a declaration of putenv that
+       conflicts with ours.
+
+Tue Apr 20 02:33:24 1993  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)
+
+       * stty.c: Use GWINSZ_IN_SYS_IOCTL, not _AIX, to determine
+       whether sys/ioctl.h is needed to support `stty size'.
+
+Thu Apr  1 18:03:47 1993  Jim Meyering  (meyering@comco.com)
+
+       * printf.c, expr.c [isascii]: Undefine before redefining.
+
+Sun Mar 28 00:07:45 1993  Jim Meyering  (meyering@comco.com)
+
+       * stty.c: Accept `flush' option.  From Arne H. Juul arnej@lise.unit.no
+       * system.h: Don't define r?index, bcopy... if they're already defined.
+
+Thu Mar 25 22:41:01 1993  Jim Meyering  (meyering@comco.com)
+
+       * configure.in: Add AC_IRIX_SUN to get -lsun because
+       Irix-4.0.5's libc.a doesn't have yp/NIS entrypoints.
+       From Kjetil Wiekhorst J|rgensen <jorgens@pvv.unit.no>.
+
+Fri Mar 05 00:02:53 1993  Jim Meyering  (meyering@comco.com)
+
+       * date.c: Add long-named options.
+
+Sun Dec  6 23:17:09 1992  Jim Meyering  (meyering@comco.com)
+
+       * date.c: Remove unused definition of isdigit.
+       * expr.c (toarith): Change single use of isdigit to ISDIGIT.
+       * printf.c (print_formatted, print_esc): Define ISDIGIT and
+       ISXDIGIT and use them instead of isdigit and isxdigit.
+
+Wed Dec  2 12:49:11 1992  Jim Meyering  (meyering@comco.com)
+
+       * env.c, id.c, nice.c, pathchk.c, stty.c, su.c, tee.c, tty.c,
+       uname.c, who.c: Convert static declarations of struct option
+       to use new macros from getopt.h: no_argument, required_argument,
+       and optional_argument.
+
+Tue Nov 24 09:46:02 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
+
+       * echo.c: Use V9_DEFAULT instead of USG.  Define it always.
+
+       * system.h: Use HAVE_FCNTL_H and HAVE_STRING_H instead of USG.
+
+Wed Nov 11 18:19:10 1992  Jim Meyering  (meyering@hal.gnu.ai.mit.edu)
+
+       * All files in src: Make all functions and extern variables static.
+       Make all longopts arrays const as well as static.
+       Make a couple statically initialized aggregates `const.'
+
+       * pathchk.c (portable_chars_only): Cast char used as array index.
+
+       * echo.c (main), su.c (restricted_shell): Add parentheses to
+       assignment statements used in boolean context.
+
+       * stty.c (set_mode): Parenthesize expressions with bit operations
+       to correctly set/reset modes bits.
+
+Wed Oct 28 14:16:48 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
+
+       * Version 1.8.
+
+       * stty.c: Accept Irix VRPRNT for VREPRINT.
+       From Jim Meyering.
+
+       * stty.c: Fix some type mismatches.  From Bruce Evans, bde@runx.oz.au.
+
+       * who.c (read_utmp): Close file on error.
+       From Bruce Evans.
+
+       * su.c, test.c: Add some decls.  From Bruce Evans.
+
+       * sleep.c (main): Arg to sleep is unsigned, not long.
+       From Bruce Evans.
+
+Fri Sep 11 00:25:52 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * echo.c, echo.1: New files.
+
+Thu Sep 10 18:42:44 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * pathchk.c (main): Don't strip trailing slashes from args;
+       they might make a path invalid.
+       (portable_chars_only, dir_ok): New functions.
+       (validate_path): Renamed from validate_new_path.
+       Call them.  Don't complain if a leading
+       dir doesn't exist.  Don't replace `parent' with a dir that
+       doesn't exist.  Don't print a message when falling back
+       from pathconf to constant values.
+
+       * who.c [!UTMP_FILE]: If _PATH_UTMP is defined, use it instead
+       of /etc/utmp.  From Marc Boucher <marc@cam.org>.
+
+Tue Aug 25 17:02:25 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * Version 1.7.
+
+       * groups.sh, nohup.sh: Add $(bindir) to front of path.
+
+Mon Aug 24 16:39:39 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * stty.c: make sane value for "min" 1, not 0.
+       From haible@ma2s2.mathematik.uni-karlsruhe.de (Bruno Haible).
+
+Sun Aug 23 03:02:07 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * id.c, test.c: Use NGROUPS_MAX if it's defined.  386BSD is like sun.
+
+Sat Aug 22 03:16:41 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * test.c: Rename STANDALONE to TEST_STANDALONE to avoid IBM RT
+       ACIS sys/param.h conflict.
+
+       * su.c (correct_password) [HAVE_SHADOW_H]: Try to get the
+       encrypted correct password from the shadow password file.
+
+Fri Jul 17 15:25:01 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * su.c, getusershell.c: New files.
+
+Fri Jul  3 15:08:43 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+       * stty.c, who.c: Change FOO_MISSING to HAVE_FOO.
+
+Fri Jun  5 01:49:29 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
+
+       * strcspn.c: New file.
+
+       * expr.c: Misc. cleanups.
+
+       * expr.c (eval7): Renamed from eval6.
+       Give syntax error if no more args.  Don't coerce all values to numbers.
+       (eval6): New function.
+       (eval5): Accept == as a synonym for =.
+       (eval2): Coerce values to numbers for comparisons.
+       Above all from Dana Jacobsen (jacobsd@prism.cs.orst.edu).
+
+Thu Jun  4 19:32:09 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
+
+       * printf.c (print_formatted): Move main loop into new function.
+       (main): Add an outer loop to use the format multiple times.
+       (verify): Don't reject a completely empty string.
+       Check errno (for overflow).
+
+       * false.sh, true.sh: New programs.  Oh, boy.
+
+Thu May 14 01:17:22 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
+
+       * stty.c (set_mode): Support crt and dec modes partially if
+       necessary, so they work on, for example, Ultrix . . . .
+
+Wed May 13 14:47:45 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
+
+       * stty.c (set_mode): Swap nl and -nl.  Have them also affect
+       output as well as input.
+
+Tue May 12 00:07:28 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
+
+       * date.c (show_date): Use strftime for the whole conversion.
+
+Tue May  5 15:20:24 1992  David J. MacKenzie  (djm@hal)
+
+       * stty.c (wrapf): Print the formatted buffer; don't redo the
+       formatting using vprintf.
+
+Thu Apr 30 01:17:08 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
+
+       * printf.c (xstrtol, xstrtoul, xstrtod, verify): New functions.
+       (main, print_direc): Use them.  Make error messages more specific.
+
+       * tee.c (tee): Only malloc and free the table of file descriptors
+       if >0 files are given.
+
+Fri Apr 17 11:56:48 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * pathchk.c (validate_new_path): Print the name of the component that
+       failed the length test, not the whole path.
+       From Andreas Schwab (schwab@ls5.informatik.uni-dortmund.de).
+
+Mon Apr  6 15:11:36 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+       * who.c (read_utmp): Check close return for error.
+       (print_heading): Align columns based on sizes of utmp members.
+       (who_am_i): Skip past /dev/ instead of skipping leading path.
+
+Mon Mar 16 23:47:03 1992  David J. MacKenzie  (djm@apple-gunkies.gnu.ai.mit.edu)
+
+       * date.c (show_date): Don't call strftime if FORMAT is the
+       empty string.
+
+       * date.c (main): Reorganize to reduce duplicated code.
+       Add -d option.
+       (usage): Document -d.
+       (set_date): Function removed.
+
+Tue Feb 11 16:12:18 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * printf.c (print_esc): When a numeric escape is given,
+       don't call print_esc_char, and return 1 less.
+       From Thorston Ohl.
+
+Mon Jan 20 02:17:18 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * Version 1.6.
+
+       * test.c: HAVE_MULTIPLE_GROUPS -> HAVE_GETGROUPS, for bash 1.11.
+
+Fri Jan 17 15:46:18 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * expr.c (docolon): Use re_nsub to find the number of
+       subexpressions . . . From Karl Berry, who knows.
+
+Wed Dec 25 23:27:53 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * expr.c (docolon): Use the new way (re_regs.num_regs > 0) to find
+       out if there were any subexpressions, instead of the old way
+       (re_regs.start[1] >= 0), which can cause random memory
+       accesses with regex 0.1.  From Brian Matthews.
+
+Tue Dec 24 02:12:15 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * system.h, id.c, pathchk.c, tee.c: Change POSIX ifdefs to
+       HAVE_UNISTD_H and _POSIX_VERSION.
+
+Wed Dec 11 13:15:09 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * Version 1.5.
+
+       * expr.c (main): Set obscure_syntax to tell re_match to
+       allocate memory for the group registers.
+
+Mon Dec  9 16:03:14 1991  Charles Hannum  (mycroft at hal.gnu.ai.mit.edu)
+
+       * who.c (list_entries): Check type == USER_PROCESS if defined, for SysV.
+
+Sat Dec  7 00:32:02 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * Version 1.4.
+
+       * env, id, nice, pathchk, stty, tee, tty, uname: Change usage
+       messages and documentation to list long-named options starting
+       with `--' rather than `+'.
+
+       * env.c (main), nice.c (main): Simplify test for which exit
+       status to use if exec fails.
+
+Fri Dec  6 23:49:42 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * tee.c (main) [POSIX]:  Use sigaction instead of signal, which
+       POSIX doesn't have.
+
+Fri Oct 18 00:31:35 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * test.c (two_arguments): Fix from Chet.
+
+       * expr.c: Include regex.h after sys/types.h, not before, so
+       size_t gets defined.
+
+       * test.c: New version, adapted from bash 1.10.
+
+       * id.c: GID_T -> GETGROUPS_T, for clarity.
+
+Sat Oct 12 14:38:34 1991  David J. MacKenzie  (djm at churchy.gnu.ai.mit.edu)
+
+       * configure: Define uid_t and gid_t as int if they're not
+       defined in sys/types.h.  That's probably right for old Unixes
+       and avoids trying to find the C preprocessor.
+
+Sat Sep 28 13:01:23 1991  David J. MacKenzie  (djm at churchy.gnu.ai.mit.edu)
+
+       * stty.c (set_mode): Make `raw' and `cooked' not change parity
+       and character size, which would probably make them useless on
+       7-bit lines.
+       Make `raw' set the `time' character to 0, not 1.
+       From Bruce Evans.
+
+       * nohup.sh: If creating nohup.out, give it mode 0600, for POSIX.
+
+Fri Sep 13 14:59:51 1991  David J. MacKenzie  (djm at churchy.gnu.ai.mit.edu)
+
+       * id.c [POSIX]: Always use sysconf to get NGROUPS_MAX.
+
+Thu Aug 29 14:43:07 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * test.c: Don't include sys/file.h if POSIX.
+       Use gid_t for getgroups.
+
+       * stty.c (set_mode): Use CEOF and CEOL instead of hardcoding them.
+       (display_speed): Fix a printf string type mismatch.
+       From Bruce Evans.
+
+Mon Aug 26 16:52:51 1991  David J. MacKenzie  (djm at pogo.gnu.ai.mit.edu)
+
+       * configure, src/Makefile.in, lib/Makefile.in: Only put $< in
+       Makefiles if VPATH is being used, because older makes don't
+       understand it.
+
+Mon Aug 19 01:57:46 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * Version 1.3.
+
+Sat Aug 17 22:48:15 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * src/Makefile.in (install): Install a link to test called '['.
+
+Wed Aug 14 12:22:57 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * test.c (unary_operator): Check first char of string, not its address.
+
+Sun Aug 11 18:10:30 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * Version 1.2.
+
+       * system.h: Define S_IFMT if needed, for test.c.
+
+       * test.c: New file, from bash.
+
+       * nice.c: Change +priority to +adjustment (more accurate).
+
+Sat Aug 10 13:09:51 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * stty.c [WINSIZE_IN_PTEM]: sys/ptem.h requires sys/stream.h.
+
+       * nice.c, configure: Use nice if available and setpriority is missing.
+
+Thu Aug  8 01:34:05 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * date.c: USG needs TZ=GMT0 for UCT timezone, also.
+
+       * stty.c: Add pass8 and litout modes.
+
+Sun Aug  4 22:45:51 1991  David J. MacKenzie  (djm at wheat-chex)
+
+       * Version 1.1.
+
+Fri Aug  2 13:22:31 1991  David J. MacKenzie  (djm at apple-gunkies)
+
+       * configure: Implement +srcdir.  Don't check for bison.
+
+       * stty.c: Don't change ixon in "sane" mode.
+
+       * configure: Use 1 instead of 255 for checking tzname,
+       because of signedness.
+
+Thu Aug  1 13:40:58 1991  David J. MacKenzie  (djm at apple-gunkies)
+
+       * printenv.c (main): Don't print the variable names when given
+       args, as people seem to use printenv in scripts after all . . . .
+
+       * stty.c: Don't change parity or character size settings in
+       "sane" mode.  The right values for those depend on the hardware.
+
+Wed Jul 31 01:19:01 1991  David J. MacKenzie  (djm at hal)
+
+       * stty.c [_AIX]: Include sys/ioctl.h -- needed on
+       AIX to get window size.
+
+Tue Jul 30 00:06:54 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * getdate.y: New file.
+       * date.c: Add -s option to set date in English.
+       * configure: Check for ftime.
+
+       * date.c: Remove COMPUTE_TM_ZONE code, which didn't work.
+       * configure: Instead of checking whether tzname is declared,
+       check whether it exists.
+
+       * logname.c (main): Go back to just printing an error message
+       if getlogin fails, as required by POSIX.
+
+       * stty.c (screen_columns, wrapf): New functions to implement
+       output wrapping.
+       Globally: use them.
+
+       * configure: Define uid_t and gid_t if sys/types.h doesn't.
+       * system.h: Define F_OK et al. if nothing else does.
+
+Mon Jul 29 21:11:16 1991  David J. MacKenzie  (djm at wombat.gnu.ai.mit.edu)
+
+       * pathchk.c (validate_new_path): Rearrange tests so that
+       pathconf is only called on existing directories.  Use access
+       instead of stat to determine directory searchability.
+       From Jim Meyering.
+
+       * stty.c, configure: Add WINSIZE_IN_PTEM and GWINSZ_BROKEN for SCO.
+
+Wed Jul 24 02:13:31 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * stty.c (sane_mode): Always set control chars to sane values.
+       Set min and time if they're different from eof and eol.
+
+       * whoami.c: Print UID as unsigned.
+       * logname.c: Do "whoami" if getlogin fails.
+
+       * logname.c (main): fprintf was missing an arg.
+
+Tue Jul 23 02:20:15 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * id.c: GID_T is int if ultrix as well as if sun.
+
+       * stty.c: Implement raw and cooked modes.
+
+Mon Jul 22 15:21:21 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * tee.c (main): close stdin and stdout to check for errors.
+
+       * stty.c: Use tcflag_t for termios bitmasks.
+       Use speed_t for speeds.  Use unsigned long for baud rates to
+       accomodate large values, and support 57600 and 115200 if available.
+
+       * date.c, configure: Instead of SIZE_T_MISSING,
+       define size_t if it's missing.
+
+       * id.c, whoami.c: Use uid_t and gid_t.
+
+       * id.c: If POSIX and not sun (bogus!), pass getgroups and
+       getugroups an array of gid_t instead of int.
+
+       * system.h: New file.
+       * Most programs: include it.
+
+Fri Jul 19 12:04:58 1991  David J. MacKenzie  (djm at apple-gunkies)
+
+       * env.c [!STDC_HEADERS]: Declare errno.
+       * printf.c, pathchk.c: Don't include errno.h; not needed.
+
+       * version.c: New file.
+       * All C programs: Link with it, to get version number in the
+       binary where at least `strings -' and grep can find it.
+
+       * pathchk.c (strip_trailing_slashes): Function removed; use
+       version in lib.
+
+Mon Jul 15 11:34:22 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * Version 1.0.
+
+       * pathchk.c: Always check whether _POSIX_PATH_MAX and
+       _POSIX_NAME_MAX need to be defined.
+       [POSIX]: If no PATH_MAX or NAME_MAX and pathconf for the path
+       returns -1 (some systems do this if the path does not exist),
+       use pathconf for "/".
+
+Sun Jul 14 21:17:22 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * date.c (date_seconds): Function removed, replaced with
+       posixtm.y in lib.
+       (set_date): Change caller.
+       * configure: Check for bison.
+
+       * stty.c [!C_LINE_MISSING]: Add support for setting and
+       printing the line discipline.
+       * configure: Check for C_LINE_MISSING.
+
+       * configure: Check for Minix.
+
+Sat Jul 13 01:33:59 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * Add `man' directory and manual pages.
+       * configure: Set INSTALLDATA and MAN.
+
+       * id.c: Add #ifdefs for POSIX ways of getting max groups list size.
+       (print_group_list, print_full_info): Allocate list of groups
+       with malloc since its size might not be constant.
+
+       * nice.c (main): Don't adjust priority if printing it.
+       Default adjustment of 10, not 0.
+
+       * printf.c: Add \c escape and %b conversion.
+       Implement '*' for field width and precision.
+       Make all errors fatal.
+       (print_esc_string, print_esc): New functions.
+
+       * configure, date.c: Change SYS_TIME_H to TM_IN_SYS_TIME.
+       * configure: Always check where to find struct tm.
+
+       * yes.c: Rewrite to accept multiple arguments.
+
+       * Add groups.sh.
+
+Fri Jul 12 10:57:00 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
+
+       * dirname.c: Move code from dirname function into main,
+       simplifying things quite a bit.  From Jim Meyering.
+       * Omit strdup from lib; no longer used.
+       * configure: Don't check for strdup.
+
+       * printenv.c (main): If args given, print the values in the order
+       given on the command line rather than the order given in the
+       environment.
+
+       * tee.c, tty.c (struct longopts): Revise to make short-option
+       equivalents clear.
+
+Thu Jul 11 12:46:11 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * nice.c: Add long options.
+
+       * Add date command and libraries it needs.
+       * configure: Updated.
+
+       * env.c: Add long options.  Use GNU putenv instead of custom
+       setenv function.
+
+       * id.c: Add long options.
+
+       * pathchk.c [POSIX]: Use pathconf if necessary to get NAME_MAX
+       and PATH_MAX.
+
+       * nice.c: Use exit status required for nohup by POSIX.2
+       (nohup execs nice).
+
+       * sleep.c: Don't bother with hex and octal.
+
+       * env.c: Fix exit status for POSIX.2 draft 11.1.
+
+       * Many files: Remove private copies of xmalloc, error, xstrdup,
+       etc. to use shared versions.
+       Fix #includes for USG, STDC_HEADERS, POSIX.
+
+Mon Jul  8 18:56:24 1991  David J. MacKenzie  (djm at churchy.gnu.ai.mit.edu)
+
+       * date.c (main): For -u, set TZ to "" instead of "GMT0",
+       unless on HP-UX or Ultrix.
+
+       * Rename some feature-test macros.
+       * stime.c: Created from code in date.c.
+       * date.c (compute_tm_zone): New function.
+       (date_seconds, show_date): Use it.
+       (xmalloc, xrealloc): Functions removed; use xmalloc.c instead.
+
+Tue Jul  2 02:28:11 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
+
+       * tee.c (tee): Report errors in closing files.
+
+Mon Mar 18 10:13:59 1991  Jeffrey A. Law  (law at geech.ai.mit.edu)
+
+       * date.c (date_seconds, show_date): #if COMPUTE_TMZONE then
+       compute the proper value to place in tm->tm_zone from
+       information returned by localtime and gettimeofday.
+
+Fri Apr 26 11:38:09 1991  David J. MacKenzie  (djm at mole.gnu.ai.mit.edu)
+
+       * stty.c: Define default values for control chars if necessary.
+       Complain about invalid options if no other options follow.
+       Use POSIX functions instead of ioctl, for manipulating termios.
+
+       * expr.c (main): Exit status was backwards.
+
+Thu Dec 20 00:36:01 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * id.c: Reorganization and many changes to fix bugs and POSIX
+       compliance problems.
+
+Mon Dec 10 03:09:13 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * stty.c: Don't declare printf and some other functions that
+       might have variable numbers of args in system header file decls.
+
+Tue Nov 14 23:37:22 1990  Roland McGrath  (roland at geech.ai.mit.edu)
+
+       * id.c (print_groups): Put spaces after commas.
+       (print_group): New fn, to print a group id.  Uses numeric fmt
+       unless -n, in which case it uses group names.
+       (print_groups): Call it.  Find the rgid and egid, and print them as
+       well as the supplementary groups.  Make sure we print each group only
+       once.
+
+Sun Sep 16 01:49:14 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * id.c (main): Add -G option for POSIX.2 draft 10.
+       Allow a username to be given.
+       (print_groups): New function from code in main.
+       (getugroups): New function.
+
+Sun Aug 12 00:32:01 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * env.c (main): Instead of setting _POSIX_OPTION_ORDER,
+       tell getopt to not permute, with `+'.
+
+Sat Aug 11 01:32:53 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * expr.c: Use regex.c library instead of private regex routines.
+
+       * nice.c (main): Add -n option for POSIX.2a.
+       (usage): New function.
+
+Fri Aug 10 23:58:11 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * who.c: Add -m, -i, -w options for POSIX.2a.
+
+Tue Aug  7 00:01:02 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * expr.c: Use exit directly instead of longjmp on error.
+       Use argv[0] instead of hardcoded "expr" in messages.
+       Make some functions void.
+
+Sat Aug  4 21:19:25 1990  David J. MacKenzie  (djm at pogo.ai.mit.edu)
+
+       * env.c: Change exit statuses for POSIX draft 10.
+
+Wed Jul  4 04:32:51 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * tee.c: Use error instead of perror_with_name and
+       out_of_memory.
+
+Wed Jun 20 02:39:49 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * date.c: Change -DSETTOD to -DSTIME_MISSING, -DSIZE_T to
+       -DSIZE_T_IN_TYPES, and -DSTDC_HDRS to -DSTDC_HEADERS.
+       Declare some more functions.  Replace fatal, memory_out, and
+       nonfatal_perror with error.
+
+Mon Jun 18 00:16:52 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * stty.c: Add some Unix compatibility modes.
+
+Sat Jun 16 21:05:59 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * stty.c (display_changed, display_all): Print values of min
+       and time.
+
+Thu Jun 14 17:49:31 1990  David J. MacKenzie  (djm at apple-gunkies)
+
+       * stty.c: Implement tab, backspace, etc. delay args.
+
+Thu May 31 12:25:40 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * nohup.sh: Don't ignore SIGTERM.
+       If ./nohup.out is unwritable, try $HOME/nohup.out.
+
+Thu May  3 22:33:32 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * who.c: Use error instead of fatal and fatal_perror.
+       (print_headings): Print headings in all caps, like SYSV does.
+       (list_entries): New function for -q to make it like SYSV -q.
+       (valid_entries): Function removed.
+
+Mon Apr  2 01:27:23 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * id.c (main): Don't strip off leading path from program name.
+       Revise a couple of error messages.
+
+       * whoami.c (main): Use geteuid, not getuid, for Unix compatibility.
+
+Tue Mar 20 14:28:25 1990  David J. MacKenzie  (djm at pogo.ai.mit.edu)
+
+       * tee.c (main): Pass list of files and its size as args to tee
+       rather than as global vars.  Exit with return value of tee
+       instead of always 0.
+       (tee): Use unbuffered I/O instead of stdio, for POSIX.
+       Return an error status.
+       (xwrite): New function.
+
+Tue Mar 13 00:38:13 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * who.c (who_am_i): Print heading before checking to see
+       whether there is an entry for the tty on stdin, for
+       consistency with the who function.
+       (main): Use argv[optind], not argv[1], as alternate file.
+
+Fri Mar  9 15:49:04 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * who.c: Rename UTMP to UTMP_FILE for compatibility with SysV
+       utmp.h.  Include some additional header files.
+       (main): Recognize some options from SysVr3 who. Call usage.
+       Set new global var `program_name' from argv[0].
+       (usage): New function.
+       (who): If -q given, only print count of users logged on.
+       (print_entry): New function to format an entry on the output;
+       make format more like that of the Unix who programs.
+       (print_heading): New function to print a line describing each
+       output field.
+       (who, who_am_i): Call print_entry and print_heading.
+       (valid_entries): New function to return count of nonempty
+       entries in utmp.
+       (search_entries): Compare with utmp tty field instead of
+       username field.  Don't assume null termination in utmp field.
+       (who_am_i): Print the entry for the tty on stdin rather than
+       the first entry found for the uid.  If hostname is not
+       available, use a null one instead of "<unknown>".
+       Don't hardcode max hostname length.
+       (idle_string): New function to format idle time field.
+       (fatal, fatal_perror): Use program_name instead of hardcoded "who"
+       in error messages.
+
+Tue Mar  6 00:59:03 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
+
+       * printenv.c (main): Allow multiple variables to be specified.
+       (barf): Function removed.
+
+Sat Jan 20 18:41:48 1990  Jim Kingdon  (kingdon at geech)
+
+       * expr.c (nextarg): Do not pass *args to strcmp if NULL.
+
+Mon Dec 18 09:57:20 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
+
+       * printenv.c (main): Simplify error messages.
+
+Sat Dec 16 15:15:50 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
+
+       * expr.c: Indent to regularize spacing.
+       (cmpv, arithf): Change '#define foo (args)' to '#define foo(args)'
+       so they compile.
+       (docolon): Remove unused vars.
+       (multiply): Rename from times to avoid libc conflict.
+       (error): Include program name in message.
+       (xmalloc): Rename from Malloc.
+       (re_compiled): Rename from re_comp to avoid libc conflict.
+
+       * basename.c: Fix some weird indentation.
+       (main): Print a clearer usage message.
+       Use a simpler method for removing suffix, if given.
+       (fatal): Function no longer used; removed.
+
+       * sleep.c: (main): Rename `time' to `seconds'.  Print usage
+       message if given no args.
+       Exit with status 0 instead of falling off end.
+       (error): Print to stderr, not stdout.
+
+       * tee.c: (main): Use getopt_long instead of custom parser,
+       and adjust usage message.
+       Use list of filenames in argv rather than making a copy.
+       (tee): New function created from the second half of main.
+       Fix bug where it tried to fclose a loop index instead of a stream.
+       (xmalloc): Ok to return 0 if 0 bytes requested.
+       (xrealloc): Unused function removed.
+
+       * whoami.c: Canonicalize usage message and fix error message.
+
+       * who.c: Declare some functions.
+       (fatal_perror): New function for printing errors after system
+       calls.
+       Global: Use it when appropriate.
+       (xmalloc): Return char *, not int.
+       (read_utmp): Ok if utmp file is empty.
+       Include filename in error messages.
+       (scan_entries): Adjust columns to line up better, particularly
+       when there are users with 8 character long usernames logged in.
+
+Sat Oct 28 13:20:43 1989  David J. MacKenzie  (djm at spiff)
+
+       * uname.c: Added long options.
+       global: changed the word `part' to the word `element'
+       (more precise).
+       (program_name, long_options): New variables.
+       (main): Support long options.
+       (usage): Add long options summary to message.
+\f
+Local Variables:
+mode: indented-text
+left-margin: 8
+version-control: never
+End: