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.

Local Variables:
mode: indented-text
left-margin: 8
version-control: never
End:
