]> git.ipfire.org Git - thirdparty/coreutils.git/log
thirdparty/coreutils.git
20 years agonohup now closes stdin if it is a terminal, unless POSIXLY_CORRECT is set.
Paul Eggert [Thu, 12 May 2005 09:23:56 +0000 (09:23 +0000)] 
nohup now closes stdin if it is a terminal, unless POSIXLY_CORRECT is set.

20 years ago*** empty log message ***
Jim Meyering [Thu, 12 May 2005 08:24:03 +0000 (08:24 +0000)] 
*** empty log message ***

20 years agoAssume `free (NULL)' works.
Jim Meyering [Thu, 12 May 2005 07:56:14 +0000 (07:56 +0000)] 
Assume `free (NULL)' works.

20 years agoAssume `free (NULL)' works.
Jim Meyering [Thu, 12 May 2005 07:55:15 +0000 (07:55 +0000)] 
Assume `free (NULL)' works.

20 years agoAssume `free (NULL)' works.
Jim Meyering [Thu, 12 May 2005 07:54:10 +0000 (07:54 +0000)] 
Assume `free (NULL)' works.

20 years agoAssume `free (NULL)' works.
Jim Meyering [Thu, 12 May 2005 07:53:37 +0000 (07:53 +0000)] 
Assume `free (NULL)' works.

20 years agoUpdate copyright date.
Paul Eggert [Wed, 11 May 2005 20:27:11 +0000 (20:27 +0000)] 
Update copyright date.

20 years ago* getdate.texi (General date syntax): Don't say that date
Paul Eggert [Wed, 11 May 2005 20:25:01 +0000 (20:25 +0000)] 
* getdate.texi (General date syntax): Don't say that date
date --iso-8601=ns generates acceptable dates.

20 years ago(General date syntax): Don't say that date
Paul Eggert [Wed, 11 May 2005 20:24:42 +0000 (20:24 +0000)] 
(General date syntax): Don't say that date
date --iso-8601=ns generates acceptable dates; it doesn't yet.

20 years ago* getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when possible.
Paul Eggert [Tue, 10 May 2005 19:10:23 +0000 (19:10 +0000)] 
* getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when possible.

20 years ago(gl_GETOPT): Check for Solaris 10 bug, not decl, when possible.
Paul Eggert [Tue, 10 May 2005 19:09:23 +0000 (19:09 +0000)] 
(gl_GETOPT): Check for Solaris 10 bug, not decl, when possible.

20 years ago.
Jim Meyering [Tue, 10 May 2005 13:46:21 +0000 (13:46 +0000)] 
.

20 years ago*** empty log message ***
Jim Meyering [Tue, 10 May 2005 13:39:19 +0000 (13:39 +0000)] 
*** empty log message ***

20 years agoAdd Vietnamese (vi).
Jim Meyering [Tue, 10 May 2005 13:39:15 +0000 (13:39 +0000)] 
Add Vietnamese (vi).

20 years agoversion: 5.3.0
Jim Meyering [Tue, 10 May 2005 13:38:31 +0000 (13:38 +0000)] 
version: 5.3.0

20 years agoSkip this test if the user running it owns `/' or has write access to it.
Jim Meyering [Tue, 10 May 2005 13:30:39 +0000 (13:30 +0000)] 
Skip this test if the user running it owns `/' or has write access to it.

20 years ago*** empty log message ***
Jim Meyering [Tue, 10 May 2005 13:30:33 +0000 (13:30 +0000)] 
*** empty log message ***

20 years ago*** empty log message ***
Jim Meyering [Tue, 10 May 2005 12:59:49 +0000 (12:59 +0000)] 
*** empty log message ***

20 years agoSkip the test if the user running it has write access to `/'.
Jim Meyering [Tue, 10 May 2005 12:59:44 +0000 (12:59 +0000)] 
Skip the test if the user running it has write access to `/'.

20 years ago.
Jim Meyering [Tue, 10 May 2005 07:42:12 +0000 (07:42 +0000)] 
.

20 years ago(TESTS): Add reply-no.
Jim Meyering [Tue, 10 May 2005 07:42:01 +0000 (07:42 +0000)] 
(TESTS): Add reply-no.

20 years ago*** empty log message ***
Jim Meyering [Tue, 10 May 2005 07:38:20 +0000 (07:38 +0000)] 
*** empty log message ***

20 years ago*** empty log message ***
Jim Meyering [Tue, 10 May 2005 07:35:46 +0000 (07:35 +0000)] 
*** empty log message ***

20 years ago(abandon_move): Remove erroneous UNWRITABLE check.
Jim Meyering [Tue, 10 May 2005 07:35:43 +0000 (07:35 +0000)] 
(abandon_move): Remove erroneous UNWRITABLE check.
This makes `mv -i --reply=no f1 f2' work as expected (in not
performing the move operation).  But note that specifying `-i'
after `--reply=no' does *not* work.
Tiny patch from Vlada Macek.

20 years ago*** empty log message ***
Jim Meyering [Tue, 10 May 2005 07:28:10 +0000 (07:28 +0000)] 
*** empty log message ***

20 years ago*** empty log message ***
Jim Meyering [Tue, 10 May 2005 07:25:24 +0000 (07:25 +0000)] 
*** empty log message ***

20 years ago*** empty log message ***
Jim Meyering [Tue, 10 May 2005 06:59:27 +0000 (06:59 +0000)] 
*** empty log message ***

20 years agoDon't print PATH to stderr.
Jim Meyering [Tue, 10 May 2005 06:59:24 +0000 (06:59 +0000)] 
Don't print PATH to stderr.

20 years ago*** empty log message ***
Jim Meyering [Tue, 10 May 2005 06:36:21 +0000 (06:36 +0000)] 
*** empty log message ***

20 years ago(fts_sort): Optimize the common case where all pointers smell the same.
Paul Eggert [Mon, 9 May 2005 23:54:26 +0000 (23:54 +0000)] 
(fts_sort): Optimize the common case where all pointers smell the same.

20 years ago* fts_.h, fts.c: More C89 portability fixes.
Paul Eggert [Mon, 9 May 2005 18:53:54 +0000 (18:53 +0000)] 
* fts_.h, fts.c: More C89 portability fixes.

20 years ago(__P): Remove. All uses rewritten to assume C89 or better.
Paul Eggert [Mon, 9 May 2005 18:53:33 +0000 (18:53 +0000)] 
(__P): Remove.  All uses rewritten to assume C89 or better.
(fts_open): Don't cast a function value in a possibly-unsafe way.
(fts_compar): New function.
(fts_sort): Use it.

20 years ago(FTS): Use correct type for fts_compar member.
Paul Eggert [Mon, 9 May 2005 18:53:11 +0000 (18:53 +0000)] 
(FTS): Use correct type for fts_compar member.
(FTSENT): New member fts_fts.  Remove members fts_ino, fts_dev,
fts_nlink; no longer needed now that fts_statp is always there.
All uses changed to use fts_statp instead.

20 years ago.
Jim Meyering [Sun, 8 May 2005 18:54:26 +0000 (18:54 +0000)] 
.

20 years agocp, ln, mv, rm no longer discard white space when intepreting responses.
Paul Eggert [Sun, 8 May 2005 16:52:43 +0000 (16:52 +0000)] 
cp, ln, mv, rm no longer discard white space when intepreting responses.

20 years ago.
Jim Meyering [Sun, 8 May 2005 16:52:38 +0000 (16:52 +0000)] 
.

20 years ago* yesno.c: Include getline.h, not ctype.h.
Paul Eggert [Sun, 8 May 2005 16:50:57 +0000 (16:50 +0000)] 
* yesno.c: Include getline.h, not ctype.h.
(yesno): Don't remove leading white space; POSIX doesn't allow it.
Use getline to remove arbitrary restriction on response length.

20 years agoremove trailing blanks
Jim Meyering [Fri, 6 May 2005 21:08:39 +0000 (21:08 +0000)] 
remove trailing blanks

20 years agodd has new iflag= and oflag= flags "binary" and "text".
Paul Eggert [Fri, 6 May 2005 17:57:59 +0000 (17:57 +0000)] 
dd has new iflag= and oflag= flags "binary" and "text".

20 years ago* coreutils.texi (dd invocation): New flags "binary" and "text".
Paul Eggert [Fri, 6 May 2005 17:57:45 +0000 (17:57 +0000)] 
* coreutils.texi (dd invocation): New flags "binary" and "text".

20 years ago(dd invocation): New flags "binary" and "text".
Paul Eggert [Fri, 6 May 2005 17:57:35 +0000 (17:57 +0000)] 
(dd invocation): New flags "binary" and "text".

20 years ago(flags, usage): Add support for "binary" and "text".
Paul Eggert [Fri, 6 May 2005 17:57:10 +0000 (17:57 +0000)] 
(flags, usage): Add support for "binary" and "text".

20 years agodd has new iflag= and oflag= flags "binary" and "text".
Paul Eggert [Fri, 6 May 2005 17:56:49 +0000 (17:56 +0000)] 
dd has new iflag= and oflag= flags "binary" and "text".

20 years ago* getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
Paul Eggert [Fri, 6 May 2005 00:59:46 +0000 (00:59 +0000)] 
* getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
needless checks.

20 years ago(gl_GETOPT): Check for Solaris 10 getopt, and avoid needless checks.
Paul Eggert [Fri, 6 May 2005 00:59:33 +0000 (00:59 +0000)] 
(gl_GETOPT): Check for Solaris 10 getopt, and avoid needless checks.

20 years ago* makepath.c (make_path): chdir to "//", not "/", if the file name
Paul Eggert [Thu, 5 May 2005 08:00:03 +0000 (08:00 +0000)] 
* makepath.c (make_path): chdir to "//", not "/", if the file name
starts with exactly two slashes.

20 years ago(make_path): chdir to "//", not "/", if the file name
Paul Eggert [Thu, 5 May 2005 07:59:48 +0000 (07:59 +0000)] 
(make_path): chdir to "//", not "/", if the file name
starts with exactly two slashes.

20 years agoRegenerate.
Paul Eggert [Wed, 4 May 2005 17:25:26 +0000 (17:25 +0000)] 
Regenerate.

20 years ago(chmod invocation): chmod -w complains if its
Paul Eggert [Wed, 4 May 2005 17:24:49 +0000 (17:24 +0000)] 
(chmod invocation): chmod -w complains if its
behavior differs from what chmod a-w would do.

20 years agochmod -w now complains if it differs from chmod a-w.
Paul Eggert [Wed, 4 May 2005 17:23:38 +0000 (17:23 +0000)] 
chmod -w now complains if it differs from chmod a-w.

20 years agochmod -w now complains if it differs from chmod a-w.
Paul Eggert [Wed, 4 May 2005 17:23:13 +0000 (17:23 +0000)] 
chmod -w now complains if it differs from chmod a-w.

20 years agoInitial version.
Paul Eggert [Wed, 4 May 2005 17:22:54 +0000 (17:22 +0000)] 
Initial version.

20 years ago(TESTS): Add umask-x
Paul Eggert [Wed, 4 May 2005 17:22:41 +0000 (17:22 +0000)] 
(TESTS): Add umask-x

20 years agoInclude quotearg.h.
Paul Eggert [Wed, 4 May 2005 17:22:25 +0000 (17:22 +0000)] 
Include quotearg.h.
(diagnose_surprises): New var.
(process_file): Diagnose surprises.  Simplify the logic a bit,
while we're at it.
(main): Prepare to diagnose surprises.  Remove useless code for
'-' option.

20 years agochmod -w now complains if it differs from chmod a-w.
Paul Eggert [Wed, 4 May 2005 17:22:08 +0000 (17:22 +0000)] 
chmod -w now complains if it differs from chmod a-w.

20 years agols --indicator-style=directory renamed to ls --indicator-style=slash.
Paul Eggert [Mon, 2 May 2005 18:41:53 +0000 (18:41 +0000)] 
ls --indicator-style=directory renamed to ls --indicator-style=slash.

20 years ago(ls invocation): ls --indicator-style=directory
Paul Eggert [Mon, 2 May 2005 18:41:12 +0000 (18:41 +0000)] 
(ls invocation): ls --indicator-style=directory
renamed to ls --indicator-style=slash, to avoid confusion with ls
--directory.

20 years ago(usage): ls --indicator-style=directory renamed to ls
Paul Eggert [Mon, 2 May 2005 18:40:47 +0000 (18:40 +0000)] 
(usage): ls --indicator-style=directory renamed to ls
--indicator-style=slash, to avoid confusion with ls --directory.
(slash): Renamed from directory_only.  All uses changed.

20 years agols --indicator-style=directory renamed to ls
Paul Eggert [Mon, 2 May 2005 18:40:20 +0000 (18:40 +0000)] 
ls --indicator-style=directory renamed to ls
--indicator-style=slash, to avoid confusion with ls --directory.

20 years agoSync from gnulib.
Paul Eggert [Mon, 2 May 2005 04:28:20 +0000 (04:28 +0000)] 
Sync from gnulib.

20 years ago"chmod +1 foo" is now diagnosed.
Paul Eggert [Sun, 1 May 2005 14:33:23 +0000 (14:33 +0000)] 
"chmod +1 foo" is now diagnosed.

20 years ago* modechange.h (mode_free): Remove; all callers changed to invoke 'free'.
Paul Eggert [Sun, 1 May 2005 14:28:38 +0000 (14:28 +0000)] 
* modechange.h (mode_free): Remove; all callers changed to invoke 'free'.
* modechange.c: Likewise.  Simplify internals a bit.  Prohibit "+0".

20 years agomode_free -> free
Paul Eggert [Sun, 1 May 2005 14:27:51 +0000 (14:27 +0000)] 
mode_free -> free

20 years ago(mode_free): Remove; all callers changed to invoke 'free'.
Paul Eggert [Sun, 1 May 2005 14:27:09 +0000 (14:27 +0000)] 
(mode_free): Remove; all callers changed to invoke 'free'.

20 years ago(mode_free): Remove; all callers changed to invoke 'free'.
Paul Eggert [Sun, 1 May 2005 14:26:50 +0000 (14:26 +0000)] 
(mode_free): Remove; all callers changed to invoke 'free'.
xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
(MODE_DONE): New constant.
(struct mode_change): Remove 'next' member.
(make_node_op_equals): New function; like the old one of the
same name, except it allocates an array.
(mode_compile, mode_create_from_ref): Use it.
(mode_compile): Allocate result as an array, not a linked list.
Parse octal string ourself, so that we catch mistakes like "+0".
(mode_adjust): Arg is an array, not a linked list.

20 years agoRegenerate.
Paul Eggert [Sat, 30 Apr 2005 00:07:30 +0000 (00:07 +0000)] 
Regenerate.

20 years agoLog yesterday's changes.
Paul Eggert [Sat, 30 Apr 2005 00:06:06 +0000 (00:06 +0000)] 
Log yesterday's changes.

20 years agoDocument the last two days' worth of changes.
Paul Eggert [Sat, 30 Apr 2005 00:05:46 +0000 (00:05 +0000)] 
Document the last two days' worth of changes.

20 years agoFix typo in ls POSIX changes.
Paul Eggert [Fri, 29 Apr 2005 23:53:39 +0000 (23:53 +0000)] 
Fix typo in ls POSIX changes.

20 years ago(tv): Rename tests from obs to obs-plus
Paul Eggert [Fri, 29 Apr 2005 23:51:33 +0000 (23:51 +0000)] 
(tv): Rename tests from obs to obs-plus
if they use file names starting with +.
(test_vector): Don't set _POSIX2_VERSION if obs but not obs-plus.

20 years ago(tv): Rename tests from obs to obs-plus
Paul Eggert [Fri, 29 Apr 2005 23:51:11 +0000 (23:51 +0000)] 
(tv): Rename tests from obs to obs-plus
if they use file names starting with +.
(test_vector): Don't set _POSIX2_VERSION if obs but not obs-plus.

20 years agoFix comment to match new behavior of "sort".
Paul Eggert [Fri, 29 Apr 2005 23:50:52 +0000 (23:50 +0000)] 
Fix comment to match new behavior of "sort".

20 years agoDon't set _POSIX2_VERSION; no longer needed.
Paul Eggert [Fri, 29 Apr 2005 23:49:47 +0000 (23:49 +0000)] 
Don't set _POSIX2_VERSION; no longer needed.

20 years agoDon't use 'set -'
Paul Eggert [Fri, 29 Apr 2005 21:49:59 +0000 (21:49 +0000)] 
Don't use 'set -'

20 years agoDon't use 'set -'.
Paul Eggert [Fri, 29 Apr 2005 21:49:20 +0000 (21:49 +0000)] 
Don't use 'set -'.

20 years agoDon't use 'set -'. Simplify test construction.
Paul Eggert [Fri, 29 Apr 2005 21:49:06 +0000 (21:49 +0000)] 
Don't use 'set -'.  Simplify test construction.
Work even if the underyling system attaches ACLs to new dirs.

20 years agoDon't use 'set -'. Also, don't set _POSIX2_VERSION.
Paul Eggert [Fri, 29 Apr 2005 21:48:48 +0000 (21:48 +0000)] 
Don't use 'set -'.  Also, don't set _POSIX2_VERSION.

20 years agoTest for new -p behavior. Omit -1 option.
Paul Eggert [Fri, 29 Apr 2005 21:01:29 +0000 (21:01 +0000)] 
Test for new -p behavior.  Omit -1 option.
The "ls --color" test wasn't being checked; add a check for
"ls --color=auto" instead.

20 years ago(enum indicator_style): New constant directory_only,
Paul Eggert [Fri, 29 Apr 2005 21:01:04 +0000 (21:01 +0000)] 
(enum indicator_style): New constant directory_only,
for -p.
(indicator_style_args, indicator_style_types): Set it appropriately.
(decode_switches, gobble_file, print_type_indicator):
(length_of_file_name_and_frills):
Implement the change described in NEWS.
(decode_switches): Quote ">", too.
(usage): Update to match the new behavior.  Describe ">".

20 years ago(ls invocation): ls -p now marks only directories. New option
Paul Eggert [Fri, 29 Apr 2005 21:00:01 +0000 (21:00 +0000)] 
(ls invocation): ls -p now marks only directories.  New option
--indicator-style=directory equivalent to -p.

20 years agols -p now appends only directories. New option
Paul Eggert [Fri, 29 Apr 2005 20:59:33 +0000 (20:59 +0000)] 
ls -p now appends only directories.  New option
--indicator-style=directory equivalent to -p.

20 years ago(gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
Paul Eggert [Fri, 29 Apr 2005 05:37:52 +0000 (05:37 +0000)] 
(gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
(gl_PREREQ_RMDIR): Remove.

20 years ago(gl_PREREQ): Require gl_STAT_MACROS.
Paul Eggert [Fri, 29 Apr 2005 05:37:32 +0000 (05:37 +0000)] 
(gl_PREREQ): Require gl_STAT_MACROS.

20 years ago(gl_PREREQ_TEMPNAME): Check stdint.h only once.
Paul Eggert [Fri, 29 Apr 2005 05:36:52 +0000 (05:36 +0000)] 
(gl_PREREQ_TEMPNAME): Check stdint.h only once.
Don't require AC_HEADER_STAT.

20 years ago(gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
Paul Eggert [Fri, 29 Apr 2005 05:36:32 +0000 (05:36 +0000)] 
(gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
it.  Don't require AC_HEADER_STAT.
(gl_PREREQ_LSTAT): Remove.

20 years ago(gl_FUNC_CHOWN): Don't require AC_HEADER_STAT.
Paul Eggert [Fri, 29 Apr 2005 05:36:07 +0000 (05:36 +0000)] 
(gl_FUNC_CHOWN): Don't require AC_HEADER_STAT.

20 years ago(gl_CHECK_ALL_TYPES): Don't require AC_HEADER_STAT.
Paul Eggert [Fri, 29 Apr 2005 05:35:44 +0000 (05:35 +0000)] 
(gl_CHECK_ALL_TYPES): Don't require AC_HEADER_STAT.

20 years ago(gl_PREREQ_EUIDACCESS): Don't require AC_HEADER_STAT.
Paul Eggert [Fri, 29 Apr 2005 05:35:22 +0000 (05:35 +0000)] 
(gl_PREREQ_EUIDACCESS): Don't require AC_HEADER_STAT.

20 years ago(S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
Paul Eggert [Fri, 29 Apr 2005 05:34:55 +0000 (05:34 +0000)] 
(S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
[!_LIBC] Include "stat-macros.h" instead.

20 years agoDon't mention stat-macros.h or AC_HEADER_STAT in other
Paul Eggert [Thu, 28 Apr 2005 16:55:43 +0000 (16:55 +0000)] 
Don't mention stat-macros.h or AC_HEADER_STAT in other
m4 files, since we'll make the stat-macros module a prerequisite.

20 years agoNew file, from gnulib, except that gl_STAT_MACROS
Paul Eggert [Thu, 28 Apr 2005 16:55:16 +0000 (16:55 +0000)] 
New file, from gnulib, except that gl_STAT_MACROS
also requires AC_HEADER_STAT.

20 years ago* file-type.c: Include file-type.h first.
Paul Eggert [Thu, 28 Apr 2005 16:48:14 +0000 (16:48 +0000)] 
* file-type.c: Include file-type.h first.
* filetype.h: Don't assume <sys/stat.h> was included first.

20 years agoDocument recent modechange fixes.
Paul Eggert [Thu, 28 Apr 2005 16:39:32 +0000 (16:39 +0000)] 
Document recent modechange fixes.

20 years agoCheck for ug+r and ug,+x bugs.
Paul Eggert [Thu, 28 Apr 2005 16:32:06 +0000 (16:32 +0000)] 
Check for ug+r and ug,+x bugs.

20 years agoCheck for =u bug.
Paul Eggert [Thu, 28 Apr 2005 16:31:49 +0000 (16:31 +0000)] 
Check for =u bug.

20 years agoCheck for =xX bug.
Paul Eggert [Thu, 28 Apr 2005 16:31:32 +0000 (16:31 +0000)] 
Check for =xX bug.

20 years ago(main): Adjust to new modechange API.
Paul Eggert [Thu, 28 Apr 2005 16:31:09 +0000 (16:31 +0000)] 
(main): Adjust to new modechange API.
Also, free the mode_change object when done.

20 years ago(change, umask_value): New static vars.
Paul Eggert [Thu, 28 Apr 2005 16:29:59 +0000 (16:29 +0000)] 
(change, umask_value): New static vars.
(reference_file): Move this static var to inside "main".
(process_file, process_files): Remove CHANGES arg; now taken from
static var.  All uses changed.
(usage): Fix incorrect description of MODE operand.
(main): For invalid mode usages, output a brief usage message.
Adjust to new modechange API.

20 years ago(MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
Paul Eggert [Thu, 28 Apr 2005 16:29:22 +0000 (16:29 +0000)] 
(MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
(struct mode_change): Move to modechange.c; callers don't
need to see this stuff.
(MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
(MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
(mode_change, mode_adjust): Reflect the new signatures noted above.

20 years agoInclude stat-macros.h, xalloc.h.
Paul Eggert [Thu, 28 Apr 2005 16:29:00 +0000 (16:29 +0000)] 
Include stat-macros.h, xalloc.h.
(S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
(S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
(S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
Remove.  This is now stat-macros.h's job.
(talloc): Remove.  All callers replaced by xalloc, so that
our invokers don't have to worry about reporting memory failures.
(make_node_op_equals): Remove.
(MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
New constants.
(struct mode_change): Moved here from modechange.h.
(mode_append_entry): Remove.
(mode_compile): Remove MASKED_OPS arg, since it encouraged
apps to have incorrect behavior.  Use simpler algorithm for head
and tail.  Don't futz with umask; that's now the job of mode_adjust.
Detect more invalid usages rather than having somewhat-random behavior.
Don't insert an "a=" action, as that leads to incorrect behavior.
(mode_compile, mode_create_from_ref): Return NULL on error instead
of an enum, since now there's only one way to have an error.  All
callers changed.
(mode_adjust): Accept new arg UMASK_VALUE, and interpret it
at the correct time.  Simplify calculation of "+u" and its ilk.
Don't mishandle "+X".
(mode_free): Remove "register" and localize decls.