Mon Mar 29 15:57:20 1993  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)

	* Version 3.8.

Fri Mar 26 16:36:59 1993  David J. MacKenzie  (djm@hal.gnu.ai.mit.edu)

	* pred.c (pred_ilname, pred_iname, pred_ipath): New functions.
	(pred_table): Add them.
	(insert_lname): New function.
	(pred_lname): Call it.
	* parser.c (parse_ilname, parse_iname, parse_ipath,
	parse_iregex): New functions.
	(parse_table): Add them.
	(insert_regex): New function.
	(parse_regex): Call it.

	* fstype.c (filesystem_type): Cache previous result.
	(filesystem_type_uncached): New function.
	pred.c (pred_fstype, pred_fprintf): Adjust callers to not cache.

	* parser.c: Don't define const.

	* fstype.c [FSTYPE_STATFS] (fstype_to_string): #ifdef
	MOUNT_PC for 386bsd.

Thu Mar 25 18:32:24 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)

	* parser.c (parse_regex): If ignore_case, set up a translate
	table for the regex.

	* defs.h: Include string.h or strings.h.
	* find.c fstype.c parser.c pred.c util.c: Don't.

	* nextelem.c [index]: Don't redefine.

Wed Mar 24 17:47:10 1993  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)

	* xargs.c (wait_for_proc): Exit with a nonrunnable command's exit
	status, not the wait status value.  From
	Andreas Schwab <schwab@lamothe.informatik.uni-dortmund.de>.

	* parser.c (make_segment, insert_fprintf), pred.c
	(pred_fprintf): Add '%F' to print filesystem type.

	* parser.c (parse_fprintf): Check if second arg is missing.

Tue Mar 23 13:18:08 1993  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)

	* pred.c (pred_fprintf): For %P, don't move past an assumed
	slash if the ARGV element ends with one, because in that case
	we didn't add one.

	* parser.c (parse_printf): Check for missing arg.
	From smj@cats.com (Steve James).

	* parser.c: Add #ifdef around atol decl for Linux.

Fri Dec 11 08:17:07 1992  Jim Meyering  (meyering@comco.com)

	* defs.h: Remove dcl of process_path.
	* find.c: Put dcl of process_path here.  Make a few functions
	and file-scope variables static.
	* parser.c, tree.c: Declare most functions static.

	* locate.c: Use `required_argument' macro in dcl of longopts.
	* bigram.c, code.c, locate.c, xargs.c: Make most functions and
	file-scope variables static.

	* parser.c, xargs.c: Guard ctype.h macros with isascii.

	* find.c: Add declarations for opt_expr and mark_stat.
	* tree.c (set_new_parent): Add empty default clause to enum swicth.
	* locate.c (main): Parenthesize for gcc -Wall.
	* xargs.c (push_arg): Parenthesize for gcc -Wall.

Tue Nov 24 08:04:36 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)

	* find.c, fstype.c, parser.c, pred.c, util.c, listfile.c,
	nextelem.c, xargs.c, bigram.c, code.c, locate.c: Use
	HAVE_STRING_H, not USG.

	* pred.c: Use SYSDIR and NDIR instead of USG.
	Define direct as dirent, not vice-versa.

Fri Oct  9 02:15:17 1992  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)

	* xargs.c (main): Set orig_arg_max before possibly cutting
	down arg_max.

Thu Sep 10 19:25:35 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)

	* parser.c: Always declare getgrent and getpwent.

Mon Aug 24 12:54:16 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)

	* xargs.c: Include sys/types.h before unistd.h.  Use ARG_MAX
	if it's defined.
	* find.c, nextelem.c: Add missing decls.
	From bde@runx.oz.au (Bruce Evans).

Thu Jul 23 15:06:07 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)

	* Version 3.7.

Tue Jul 14 00:16:52 1992  David J. MacKenzie  (djm@apple-gunkies.gnu.ai.mit.edu)

	* pathmax.h: New file.
	* bigram.c, code.c, locate.c: Use it.  Use xmalloc instead of malloc.

Sat Jul 11 22:31:46 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)

	* nextelem.c: New file.
	* locate.c (main): Use it to support a database path.

Fri Jul  3 02:12:09 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)

	* listfile.c, pred.c: Change FOO_MISSING to HAVE_FOO.

	* parser.c [_POSIX_SOURCE]: Define endpwent and endgrent as empty.
	* listfile.c [!HAVE_ST_RDEV]: Print blanks.
	From Jeffrey Siegal (jbs@congruent.com).

	* locate.c (locate): Check for EOF at top of loop, not middle.
	* updatedb.sh: Remove duplication hack.
	From Jay Plett.

Wed Jun 10 15:04:23 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)

	* pred.c (pred_amin, pred_atime, pred_cmin, pred_ctime,
	pred_mmin, pred_mtime, pred_used): Cast l_val to time_t before
	comparing it to a time_t.  From fpm@crash.cts.com (Frank Maclachlan).

	* locate.c (locate): Take the database path as an arg.
	(main): Take an option to specify the database path.
	(usage): New function.

	* updatedb.sh: Don't read from and write to the file-list file
	in the same statement.

Thu Jun  4 15:27:07 1992  David J. MacKenzie  (djm@geech.gnu.ai.mit.edu)

	* Version 3.6.

Wed May 20 00:05:13 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)

	* xargs.c: Include sys/param.h before limits.h, not after.

	* listfile.c: If we include a header file specifically to get
	major et al., assume we have them.

Tue May 12 01:09:33 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)

	* locate.c (locate): Don't give fnmatch FNM_PERIOD (it's useless).

	* parser.c (parse_path): New function.
	* pred.c (pred_path): New function.
	* tree.c (opt_expr): Move -path like -name.

	* updatedb.sh: Duplicate the last entry in the file list so it
	doesn't get ignored.

Mon May 11 22:24:40 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)

	* updatedb.sh: Allow many vars to be overridden in the environment.

	* locate.c, updatedb.sh: FCODES -> LOCATE_DB.

Wed Apr 22 15:24:00 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)

	* updatedb.sh: Use binprefix when calling find.

	* locate.c (locate): Use LOCATE_DB environ variable if set.

	* find.c (scan_directory): Allow for dirs having negative
	st_size (NFS mount points on VAX 4.3BSD+NFS).
	From metcalf@catfish.lcs.mit.edu (Chris Metcalf).

Sat Apr 18 15:42:52 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)

	* fstype.c: Rename FS_* to FSTYPE_*.  Support Dynix's
	name for the mount table.

Sun Mar  8 23:21:25 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)

	* listfile.c (list_file): Allow a slop factor for deciding what
	is in the future.

Tue Feb 25 16:24:15 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)

	* Version 3.5.

Sat Feb 22 08:43:01 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)

	* tree.c (set_new_parent): Initialize need_stat field.

	* defs.h (struct predicate): Define p_name unconditionally.

Fri Feb 21 15:28:43 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)

	* tree.c (opt_expr): Preserve expression precedence when
	rearranging expression tree. 
	(set_new_parent): New function.
	(mark_stat): Set need_stat whether or not it's been set
	earlier in the expression.
	All from Tim Wood.

Mon Feb 17 10:20:38 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* updatedb.sh: Use current value of TMPDIR if already set.
	From Dana Jacobsen (jacobsd@cs.orst.edu).

	* pred.c: Include pwd.h and grp.h after unistd.h, not before.
	Apparently needed on ISC 2.2.  From Juha Takala <jta@piuha.sah.vtt.fi>.

Thu Feb 13 10:52:31 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* modetype.h: Don't define S_IFMT, because doing so breaks pred_type
	on plain POSIX.1 systems.

Sat Feb  8 00:58:13 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* Version 3.4.

Fri Feb  7 21:35:58 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* defs.h: Don't declare process_path.
	* find.c [DEBUG_STAT] (debug_stat): New function.
	(main) [DEBUG_STAT]: Call it.
	(process_path): Return a value.
	(scan_directory): Count number of subdirs seen so far.
	* parser.c (pred_and, pred_close, pred_comma, pred_negate,
	pred_open, pred_or): Don't need stat.
	* util.c (get_new_pred_chk_op): Implicit AND doesn't need stat.

Fri Jan 17 21:51:18 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* Version 3.3.

Tue Dec 24 02:16:49 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* wait.h, listfile.c, xargs.c, bigram.c, code.c, locate.c:
	Change POSIX ifdefs to HAVE_UNISTD_H and _POSIX_VERSION. 

Wed Dec 18 16:37:17 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* listfile.c: Use MAJOR_IN_MKDEV and MAJOR_IN_SYSMACROS to
	find major and minor.

	* code.c, bigram.c, locate.c, xargs.c: Use LIMITS_H_MISSING
	instead of LIMITS_MISSING.

Sat Dec  7 06:13:26 1991  David J. MacKenzie  (djm at frob.eng.umd.edu)

	* parser.c (parse_prune): No stat needed for prune.
	(insert_fprintf, make_segment): Possibly no stat needed,
	depending on which information is printed.

	* xargs.c (usage): Document long-named options as starting
	with -- instead of +.

	* parser.c [!POSIX]: Declare getgrent and getpwent.

	* fstype.c (filesystem_type): Only check MNTTYPE_IGNORE if
	it's defined.  From Rainer Orth.

	* Add leaf node optimization suggested by Matthew Farwell
	<dylan@ibmpcug.co.uk>.  Add -noleaf option to disable it.
	Adapt parts of Tim Wood's work to current sources.
	* find.c (scan_directory): New function, from code in process_path.
	(process_path): Take an arg indicating whether the pathname
	is a leaf non-directory, instead of a redundant current level.
	* parser.c (parse_noleaf): New function.
	(parse_print, parse_name, etc.): Set need_stat = false.

Wed Nov  2 13:34:32 1990  Tim Wood at home	(tim at axolotl.UUCP)

	* pred.c: Call stat() if an AND, OR or NOT node tells you to.
	* find.c: Limit calls to stat().

Wed Oct  3 17:30:39 1990  Tim Wood at home	(tim at axolotl.UUCP)

	* tree.c (opt_expr): New function to rearrange predicates within
	a conjunction/disjunction so that non-inode (-name, -regex) ones
	are executed first.  
	* pred.c: Make some supporting tree structure changes for opt_expr().

Sat Dec  7 00:36:06 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* xargs.c (do_exec): Simplify test for which exit
	status to use if exec fails.

Fri Dec  6 18:24:06 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* listfile.c (list_file): POSIX_ME_HARDER -> POSIXLY_CORRECT.

Thu 24 Oct 1991 21:33:21  Jim Meyering (meyering at churchy.gnu.ai.mit.edu)

	* pred.c (pred_fprintf): Don't print "\n" unless it's in the
	format string.

Mon Oct 21 22:30:35 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* defs.h, parser.c, pred.c: Rename some types that conflict
	with reserved POSIX.1 namespace (ended in _t).

Thu Oct 17 22:39:06 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* xargs.c: Don't determine memory.h based on POSIX, which
	doesn't mention it.

Sat Oct  5 16:11:05 1991  Jim Meyering (meyering at churchy.gnu.ai.mit.edu)

	* parser.c (parse_perm): Parse new `-perm +mode' notation.
	* pred.c (pred_perm): Interpret same.

Fri Sep 13 14:58:27 1991  David J. MacKenzie  (djm at churchy.gnu.ai.mit.edu)

	* xargs.c [POSIX]: Always use sysconf to get ARG_MAX.

Thu Sep  5 23:57:06 1991  David J. MacKenzie  (djm at apple-gunkies)

	* bigram.c, code.c (main): Make path_max int, not unsigned.
	* locate.c (main): Check for pathconf failure.

Thu Sep  5 11:54:44 1991 Jim Meyering (meyering at churchy.gnu.ai.mit.edu)

	* parser.c (insert_fprintf): Add `\\' escape and fixed `%%'
	interpretation.
	* pred.c (pred_fprintf): fixed off-by-one indexing problem
	when handling [gGuU] printf formats.

Wed Aug 28 20:53:57 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* Version 3.2.

Mon Aug 26 18:57:32 1991  David J. MacKenzie  (djm at pogo.gnu.ai.mit.edu)

	* bigram.c, code.c: Fix handling of PATH_MAX.
	Check for anomalous input line lengths.
	From Bruce Evans.

Fri Aug 23 11:00:18 1991  David J. MacKenzie  (djm at apple-gunkies)

	* pred.c (pred_fprintf): Round block number up to get K.

Thu Aug 22 10:46:30 1991  David J. MacKenzie  (djm at apple-gunkies)

	* pred.c (pred_fprintf, pred_lname) [_AIX]: Allocate PATH_MAX
	byte for link object since st_size is wrong.

	* listfile.c (list_file): Don't convert blocks to kilobytes if
	env. var POSIX_ME_HARDER is defined.

	* fstype.c [FS_AIX_STATFS]: New case.

	* configure: Make sure the sys/mount.h is the 4.4BSD version
	with grep instead of just testing whether it exists.

	* listfile.c (list_file): Add 1 to number of 512-byte blocks
	before dividing to get 1K blocks (so we round up, not down).

Wed Aug 21 13:02:46 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* Version 3.1.

	* parser.c (parse_fprintf), pred.c (pred_fprintf): Add %k
	conversion to print 1K blocks.

	* listfile.c: Print counts of 1K blocks, for consistency with
	new fileutils release.  Bad timing, there.

	* Version 3.0.

	* pred.c [VOID_CLOSEDIR]: Fake a return value for closedir,
	which returns void on some systems, like Sequents.
	* configure: Check sys/dir.h for 'void closedir'.

Thu Aug 15 16:07:46 1991  David J. MacKenzie  (djm at frob)

	* modetype.h: Define POSIX.1 stat stuff if missing.
	* pred.c, parser.c, find.c, fstype.c: Don't define it.
	* updatedb.sh: Use a variable substitution method like configure's.
	* Makefile.in: Add datadir variable to separate programs from
	data file.

	* parser.c, pred.c: Rename -fulldays to -daystart.

	* defs.h, find.c, parser.c, pred.c: Add many new predicates
	from Jay Plett (jay@princeton.edu).

Wed Aug 14 14:37:06 1991  David J. MacKenzie  (djm at bleen)

	* parser.c (parse_size), pred.c (pred_size), defs.h (struct
	size_t): Allow `k' to follow number to measure size in Kbytes.
	* parser.c (parse_size, get_num, insert_num), defs.h (struct
	size_t): Use enum comparison_type instead of short.

Fri Aug  9 00:49:32 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* xargs.c (read_line): Use isblank, to support POSIX locales.

	* fstype [FS_STATVFS]: New code for SVR4, from slootman@dri.nl
	(Paul Slootman).
	* configure: Figure out when to use it.

	* configure: Check for st_blocks in struct stat.
	* listfile.c (ST_NBLOCKS): New macro.
	(list_file): Print file's block count.
	Use S_ISLNK instead of S_IFLNK.
	* fileblocks.c: New file, from fileutils.

Thu Aug  8 17:20:19 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* parser.c, pred.c [CACHE_IDS]: Optional code to turn uid and
	gid lookups into table lookups.

Wed Aug  7 00:22:29 1991  David J. MacKenzie  (djm at wheat-chex)

	* configure, Makefile.in's: Support +srcdir option via VPATH.
	Clean up clean targets.

Sat Jul 20 01:11:51 1991  David J. MacKenzie  (djm at apple-gunkies)

	* configure: Filter /etc and /usr/etc from path.

	* xargs.c (wait_for_proc): Fix handling of child exit status.
	(main): Exit with a nonzero status if any child did.

	* pred.c (launch): Flush stdout and stderr before forking.

	* fstype.c (filesystem_type) [FS_MNTENT]: Skip entries of
	type "ignore".

Fri Jul 19 22:53:42 1991  David J. MacKenzie  (djm at bleen)

	* pred.c, locate.c: Use fnmatch instead of glob_match.
	* fnmatch.c, fnmatch.h: New files.

	* Many files: Use string.h if STDC_HEADERS, as well as if USG.

	* locate.c, code.c, bigram.c: Possibly use pathconf to get
	PATH_MAX.  Use malloc to allocate path arrays.

	* xargs.c: Possibly use sysconf to get ARG_MAX.
	(env_size): Make definition unconditional.
	(main): Do arg_max adjustment that can't be done with
	preprocessor now that ARG_MAX might be a function call.
	(do_exec): Exit with status 126 or 127 after failed exec, for
	POSIX.2 draft 11.1.

	* xargs.c, pred.c, listfile.c: Use POSIX, not UNISTD_MISSING.
	* wait.h: Use POSIX, not WAIT_MACROS_MISSING.

	* COPYING: Use version 2.  Update all files.

	* Replace Makefile and lib/Makefile with Makefile.in,
	lib/Makefile.in and configure.  Update README.

Fri Apr  5 12:49:09 1991  David J. MacKenzie  (djm at apple-gunkies)

	* Version 2.2.

Fri Mar 15 20:44:45 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)

	* xargs.c (main): Always run the command if some args are left over.
	Rename some variables.

Fri Jan 18 03:35:57 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)

	* bigram.c, code.c, locate.c: Use LIMITS_MISSING, not
	_POSIX_SOURCE, to decide whether to include limits.h.

	* parser.c, pred.c, listfile.c: Use POSIX, not _POSIX_SOURCE,
	to decide whether to declare getpwuid and getgrgid.

	* xargs.c: Use POSIX, not _POSIX_SOURCE, to determine whether
	to include memory.h.

Sat Jan 12 04:12:34 1991  David J. MacKenzie  (djm at wookumz.ai.mit.edu)

	* defs.h, find.c, parser.c, pred.c: Remove -permmask option.

Thu Jan 10 04:32:52 1991  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* wait.h: Include sys/types.h to get pid_t.

	* xargs.c [USG && !STDC_HEADERS]: Only include memory.h if not
	_POSIX_SOURCE.

Tue Jan  1 23:53:32 1991  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* Version 2.1.

Wed Dec 26 03:25:51 1990  David J. MacKenzie  (djm at apple-gunkies)

	* locate.c, bigram.c, code.c: Attempt to get max. path length
	on more kinds of systems, incl. POSIX.

	* pred.c, listfile.c, xargs.c: Get some decls from unistd.h,
	if available. 

	* find.c, defs.h: Make `cur_day_start' a time_t, not long.

Fri Dec 21 01:49:12 1990  David J. MacKenzie  (djm at egypt)

	* defs.h, parser.c: Remove unused field from `struct exec_t'.

	* xargs.c: Add +no-run-if-empty option to cause the command to
	not be run if the input is empty.

	* defs.h (struct exec_t): Change the array of offsets into an
	array of `struct path_arg'.
	* parser.c (insert_exec_ok): Fill in new fields, to allow "{}"
	to be substituted (multiple times) anywhere in an arg to -exec
	or -ok.
	* pred.c (pred_exec): Add code to substitute "{}" within args.
	(pred_ok): After prompting, just run pred_exec.

Thu Dec 20 02:32:09 1990  David J. MacKenzie  (djm at egypt)

	* fstype.c (filesystem_type) [FS_MNTENT]: Allow for optional
	"0x" at front of "dev=" mount option, which amd puts there but
	Sun automounter doesn't.

Sat Dec 15 19:01:12 1990  David J. MacKenzie  (djm at egypt)

	* find.c (main), util.c (usage): Make directory args optional,
	defaulting to ".".

Sat Dec 15 18:36:29 1990  David J. MacKenzie  (djm at apple-gunkies)

	* listfile.c: Define major and minor if not defined (as in POSIX).

Mon Dec  3 01:04:35 1990  David J. MacKenzie  (djm at alborz)

	* find.c, fstype.c, parser.c, pred.c, util.c: Flush stdout before
	writing to stderr, in case they have been redirected to the
	same file descriptor.

	* pred.c (launch): Use POSIX wait macros from wait.h.

	* xargs.c (print_xargs): Read from tty_stream, not stdin.

Tue Nov 20 16:48:24 1990  David J. MacKenzie  (djm at apple-gunkies)

	* Version 2.0.

	* fstype.c [FS_USG_STATFS]: New code.
	[FS_STATFS]: For symlinks, statfs the directory the link is in
	instead of the link.
	* Various files: Conditionalize some declarations on
	STDC_HEADERS or _POSIX_SOURCE.

Fri Nov 16 12:24:43 1990  David J. MacKenzie  (djm at egypt)

	* modetype.h: New file.
	parser.c, pred.c: Use it.

Thu Nov 15 18:05:54 1990  David J. MacKenzie  (djm at apple-gunkies)

	* xmalloc.c: New file from fileutils.

	* fstype.c (fstype_to_string): Add case for MFS.
	(filesystem_type): Take a pathname as a second arg.
	[FS_STATFS] return "unknown" instead of exiting if statfs
	fails because of ENOENT.
	* pred.c (pred_fstype): Pass the pathname.  Set current_dev.
	* find.c (process_path): Make root_dev local again.

Mon Nov 12 02:54:00 1990  David J. MacKenzie  (djm at apple-gunkies)

	* pred.c (pred_fstype): Free old fs type.

	* fstype.c, pred.c (pred_fstype), parser.c (parse_fstype): 
	Reread the file system type info. every time a filesystem
	mount point is crossed, to allow for automounting.

	* xstrdup.c: New file from fileutils.

	* find.c (process_path): Rename root_dev to current_dev and
	make it global, for -fstype.

	* wait.h: New file taken from xargs.c.

	* xargs.c: Make limits.h vs. sys/param.h conditional on
	LIMITS_MISSING instead of USG, to accomodate SVR2.

Thu Nov  8 11:52:22 1990  David J. MacKenzie  (djm at apple-gunkies)

	* parser.c, pred.c, listfile.c: If not _POSIX_SOURCE, declare
	getpwuid and getgrgid.  Use them.

	* listfile.c: If not _POSIX_SOURCE, define S_ISDIR and
	S_ISBLK.  Use them. 

	* find.c: Use S_ISDIR instead of S_IFDIR, and define if not
	_POSIX_SOURCE. 

	* Makefile: Define AR and RANLIB and pass to child makes.
	lib/Makefile: Use them.

	* xargs.c (WIFSIGNALED): Redefine so it works.

Mon Nov  5 00:02:01 1990  David J. MacKenzie  (djm at apple-gunkies)

	* find.c (process_path): For -xdev, process filesystem
	mountpoints (but don't descend them), instead of skipping them
	entirely. 

	* find.c, parser.c, defs.h: Add -follow predicate.

	* xargs.c: Change ifdefs to support STDC POSIX systems.

Sat Nov  3 20:18:05 1990  David J. MacKenzie  (djm at apple-gunkies)

	* xargs.c (do_exec): Child process exits with status 255, not
	127, if command can't be run.

Fri Nov  2 02:11:42 1990  David J. MacKenzie  (djm at apple-gunkies)

	* xargs.c: Exit with status 127 if running commmand fails, as
	required by POSIX.

	* fstype.c: Support -fstype for Ultrix (-DFS_GETMNT).
	Sun/BSD code is now -DFS_MNTENT.

Thu Nov  1 13:06:01 1990  David J. MacKenzie  (djm at egypt)

	* Reorganize into subdirectories and add xargs.  Rewrite Makefiles.

	* find.c (process_path, main): Allow a maxdepth of 0, meaning
	only process command line args.

	* parser.c, pred.c: Add -print0 predicate.

	* xargs.c: Add -0 option and long options.  Move standard
	library functions into separate files.  Use error instead of
	fatal and fprintf/perror.  Use POSIX macros for examining exit
	status from wait.
	(read_string): New function.

Fri Sep 21 10:21:09 1990  David J. MacKenzie  (djm at apple-gunkies)

	* find.c (process_path): Take DEPTH as an arg instead of ROOT,
	and change callers.

Thu Sep 20 23:58:47 1990  David J. MacKenzie  (djm at apple-gunkies)

	* parser.c (parse_maxdepth): New function.
	* find.c (process_path): If -maxdepth was given, don't go
	more than that many levels deep.
	* defs.h: Declare maxdepth.

Wed Sep 12 02:12:31 1990  David J. MacKenzie  (djm at apple-gunkies)

	* parser.c: Add -not as synonym for !.

Sun Aug 26 06:16:08 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)

	* Makefile (TAGS): New target.

Sun Aug 12 00:32:01 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* xargs.c (main): Tell getopt to not permute.

Sat Aug  4 21:43:45 1990  David J. MacKenzie  (djm at pogo.ai.mit.edu)

	* parser.c (parse_perm), pred.c (pred_perm): Always compare
	bits 07777.

	* locate.c, Makefile: Rename 'fastfind' program to 'locate',
	following comment in POSIX.2 draft 10 rationale for find.

Wed Jul 25 18:45:03 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* listfile.c (getuser, getgroup): Make uid and gid unsigned
	short, not int.

Mon Jul 16 13:40:13 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* defs.h: Don't declare fprintf and printf, in case they have
	prototypes in stdio.h (important for functions that use stdarg).

Sun Jul 15 23:39:39 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* parser.c (parse_and): New function, for compatibility.

Wed Jul  4 00:17:57 1990  David J. MacKenzie  (djm at apple-gunkies)

	* find.c (main): Only enclose expressions that produce no side
	effects within `( ... )'.

Tue Jul  3 01:59:39 1990  David J. MacKenzie  (djm at apple-gunkies)

	* parser.c (strspn): Stop when end of string reached.

	* Version 1.2.

	* Move version number from Makefile to new file version.c.
	* parser.c: Recognize new -version predicate.

	* find.c (main): If no predicates that produce output are
	given, default to -print if the entire expression is true, not
	just the last part of an alternation.
	* Print the names of predicates with invalid arguments.

Mon Jul  2 23:48:17 1990  David J. MacKenzie  (djm at apple-gunkies)

	* pred.c: Don't check for invalid comparison types in numeric
	predicate functions.

Thu Jun 28 00:34:57 1990  David J. MacKenzie  (djm at apple-gunkies)

	* parser.c (parse_regex): Set fastmap and translate before
	compiling regex.

Mon Jun 25 18:08:59 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* fastfind.c (fastfind): Initialize count to 0.

	* lib/updatedb.sh: Only do regex comparison on directories,
	for speed.

	* listfile.c (list_file): Truncate user and group name to 8 chars.

Sun Jun 24 13:51:27 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* Version 1.1.

	* Makefile [DISTFILES]: Add COPYING.

Fri Jun 22 03:54:27 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* Version 1.0.

Tue Jun 19 03:55:28 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* lib/updatedb.sh: Prune entries that match PRUNEREGEX.
	Split up finding files from computing bigrams.
	Use redirection instead of nonportable grep -s to detect sort
	failure.  Optionally search network filesystems as well as
	local ones.

	* pred.c (pred_regex): Match against full pathname instead of
	just last element.
	* util.c (basename): Return "/", not "", if given "/".

	* find.c (process_path): Fix error in handling "/" directory.

Mon Jun 18 01:49:16 1990  David J. MacKenzie  (djm at apple-gunkies)

	* parser.c [STRSPN_MISSING] (strspn): New function.

Sun Jun 17 13:54:09 1990  David J. MacKenzie  (djm at apple-gunkies)

	* listfile.c: New file.
	* parser.c (parse_ls): New function.
	* pred.c (pred_ls): New function.

	* find.c (main): Remove interface to fastfind, to prevent
	conflict with POSIX syntax.
	* util.c (usage): Remove fastfind syntax from message.
	* fastfind.c (main): New function.
	* Makefile: Make fastfind a separate program.

	* find.c (main): Print correct message if a predicate arg is
	missing. 

	* parser.c (insert_exec_ok): Make args that start with a ';' but
	contain other characters not terminate the command.

Fri Jun 15 00:33:45 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* fstype.c: If MOUNTED isn't defined but MNT_MNTTAB is, use it
	instead.  True for HP/UX, at least.

Thu Jun 14 10:10:25 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* savedir.c: New file; now find won't run out of file
	descriptors in deep trees.
	* find.c (process_path): Use savedir.

Sat Jun  9 03:15:21 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* parser.c (parse_permmask): Allow symbolic mode masks.
	(parse_perm): Free 'struct change' when done with it.
	(get_oct): Function removed.

	* find.c (process_path): Allow arbitrarily-long filenames.
	More efficient string copying.  Initialize perm_mask to 07777
	instead of -1.

Thu Jun  7 04:22:42 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* Makefile, find.c: Use DIRENT to control whether <dirent.h>
	is used.

Thu May 31 04:46:11 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* parser.c (parse_regex): New function.
	* pred.c (pred_regex): New function.

	* fstype.c (read_mtab): If mtab entry has a "dev=" option
	(like in SunOS 4.1), use it, so there is no need to stat the
	special file later on.
	(xatoi, strstr): New functions.

Mon May 21 01:04:42 1990  David J. MacKenzie  (djm at abyss)

	* lib/updatedb.sh: Put BINDIR in PATH.

	* fstype.c: Do nothing if MNTENT_MISSING is defined.

	* fstype.c: New file.
	* parser.c (parse_fstype): New function.
	* pred.c (pred_fstype): New function.

	* parser.c (parse_newer): Failure to stat -newer file is a
	fatal error.

	* pred.c (pred_ok): Flush output before reading.  Use getchar
	instead of scanf.

	* pred.c (pred_prune): Return false if -depth given.
	* find.c: Apply the predicates to the dir when -depth and
	-prune are given.

Sun May 20 19:55:30 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* pred.c (pred_prune): Set new global var `stop_at_current_level'.
	* find.c (process_path): Test and reset it.

Fri May 18 01:56:17 1990  David J. MacKenzie  (djm at abyss)

	* modechange.c, modechange.h: New files.
	* parser.c (parse_perm): Use mode_compile and mode_adjust to
	parse arg, to allow symbolic mode for POSIX.

Thu May 17 02:07:44 1990  David J. MacKenzie  (djm at abyss)

	* parser.c (get_oct): Don't consider an empty string a valid number.

	* parser.c (parse_perm): If arg starts with '-', set flag bit
	for special comparison (POSIX).
	* pred.c (pred_perm): If flag bit set, compare s[ug]id &
	sticky bits as well, and return true if the given perms are
	set, ignoring other bits.

	* find.c: New global var `exit_status'.  Use it.  (POSIX)
	* parser.c: Set `exit_status' if lstat on -newer file fails.

	* fastfind.c: New file.
	* find.c (main): Call fastfind if given only 1 arg.
	* util.c (usage): Update message. 
	* lib/{Makefile,updatedb.sh,bigram.c,code.c}: New files.
	* Makefile: Add 'all' and 'install' targets.

Wed May 16 23:23:35 1990  David J. MacKenzie  (djm at abyss)

	* parser.c (parse_nogroup, parse_nouser): Implement.
	* pred.c (pred_nogroup, pred_nouser): Implement.

Mon May 14 00:09:35 1990  David J. MacKenzie  (djm at abyss)

	* find.c: Add variable `stay_on_filesystem' for -xdev.
	(process_path): Take an arg determining whether this call is
	the root of a tree.  Use lstat instead of stat.  If
	stay_on_filesystem, don't process a dir on a different
	filesystem. 

	* parser.c (parse_newer): Use lstat instead of stat.  Is this right?
	(parse_xdev): Set stay_on_filesystem.

	* parser.c: Add dummy parse_nogroup, parse_nouser,
	parse_prune, and parse_xdev; to be written later.
	* pred.c: Add dummy pred_nogroup, pred_nouser, pred_prune.

	* find.c: Support System V directory library/headers.

	* find.c (process_path): Don't continue with a file that stat
	fails on.

	* defs.h, parser.c, pred.c: Change 'u_long' and 'u_short' to
	'unsigned long' and 'unsigned short'.
	* find.c, defs.h: Remove 'convert_glob' variable.
	* parser.c (parse_fullregex): Function removed.
	(parse_name): Remove regular expression code.
	(parse_type): Recognize sockets.
	Add code to check for missing arguments to many parse_* functions.
	* pred.c (pred_name): Use glob_match instead of regex.

Sun May 13 17:45:09 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* Replace fprintf, simple_error, and mem_error with error and
	usage. 

	* Fix string header includes for USG.

Tue Mar 27 12:40:29 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* defs.h: Change some #defines to enums.

Sun Mar 25 22:08:58 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* find.c (main): Don't take basename of argv[0].

	* util.c (xmalloc): New function.
	* find.c, parser.c, utils.c: Use xmalloc instead of malloc.

	* pred.c: Remove emulation of regex for BSD and use GNU
	library version in regcmp.c instead.
	* parser.c: Remove emulation of regcmp for BSD and use GNU
	library version in regcmp.c instead.
	* Makefile: Link with regex.o and regcmp.o.
	Add a DISTFILES macro and dist target.

	* Indent source code.  Move RCS logs to this file.

Wed Mar 21 09:30:18 1990  David J. MacKenzie  (djm at pogo.ai.mit.edu)

	* xargs.c: Indent.  Comment and rename some global variables.
	(main): Use getopt to parse options.  Open new global var
	`tty_stream' to /dev/tty if querying requested.
	(print_args): Read response from tty_stream, not stdin.
	(xmalloc): New function.
	Global: Use xmalloc instead of malloc.
	(usage): Revise message.

87/02/22  20:01:20  20:01:20  cire (Eric B. Decker)

	* pred.c: added guts to pred_size

87/02/22  00:59:42  00:59:42  cire (Eric B. Decker)

	* pred.c: added guts to perm and permmask.

87/02/21  23:02:21  23:02:21  cire (Eric B. Decker)

	* pred.c: made pred_name only look at the last component of
	the path.

87/02/21  22:26:47  22:26:47  cire (Eric B. Decker)

	* pred.c: added guts to name.  useds regex and regcmp to do
	regular expression handling.

87/02/21  00:17:21  00:17:21  cire (Eric B. Decker)

	* pred.c: added predicate newer

87/02/20  11:40:07  11:40:07  cire (Eric B. Decker)

	* pred.c: added guts to pred_ok

87/02/19  23:52:37  23:52:37  cire (Eric B. Decker)

	* pred.c: finished exec.

87/02/22  20:01:09  20:01:09  cire (Eric B. Decker)

	* parser.c: added guts to parse_size

87/02/22  00:59:16  00:59:16  cire (Eric B. Decker)

	* parser.c: added guts of perm and permmask.  added getoct
	routine for perm and permmask

87/02/21  23:32:50  23:32:50  cire (Eric B. Decker)

	* parser.c: added -fre, -fullregex predicate to turn off
	globbing conversion

87/02/21  23:01:01  23:01:01  cire (Eric B. Decker)

	* parser.c: reworked name so the regexpr pattern includes $ at
	the end to force globbing to work correctly.  End of the
	pattern refers to the end of the filename.

87/02/21  22:25:34  22:25:34  cire (Eric B. Decker)

	* parser.c: added guts to name.  uses a conversion from
	globbing to regexp format.  uses regex and regcmp to actually
	to the comparison.

87/02/21  00:17:11  00:17:11  cire (Eric B. Decker)

	* parser.c: added predicate newer

87/02/20  11:39:35  11:39:35  cire (Eric B. Decker)

	* parser.c: added ok guts.  consolidated exec and ok to using
	insert_exec_ok

87/02/19  00:20:54  00:20:54  cire (Eric B. Decker)

	* parser.c: minor bug in -fulldays predicate parser.  It
	should have set the flag full_days to true.

87/02/22  00:58:32  00:58:32  cire (Eric B. Decker)

	* find.c: changed where we are setting perm_mask to -1.  need
	to make sure that this happens before every apply_predicate.

87/02/21  23:32:11  23:32:11  cire (Eric B. Decker)

	* find.c: added error checking for no paths.  better error
	message if illegal ordering.

87/02/21  22:19:58  22:19:58  cire (Eric B. Decker)

	* find.c: added global convert_glob

87/02/22  20:00:12  20:00:12  cire (Eric B. Decker)

	* defs.h: added definition of BLKSIZE for size

87/02/21  22:19:25  22:19:25  cire (Eric B. Decker)

	* defs.h: added global convert_glob for name

Local Variables:
mode: indented-text
left-margin: 8
version-control: never
End:
