2016-01-20  Pádraig Brady  <P@draigBrady.com>

	version 8.25
	* NEWS: Record release date.

2016-01-19  Pádraig Brady  <P@draigBrady.com>

	tests: avoid false failure in tail inotify test
	* tests/tail-2/wait.sh: Restrict inotify specific test portion
	to local file systems and also not with ---disable-inotify specified.
	Failure noticed on NFS.

	tests: avoid false failure due to remove() ignoring u-w on NFS
	* tests/rm/rm1.sh: Also remove the group write bit which
	was required on one NFS setup at least.  Note u-w was
	enough to deny file creation, g-w was also required to
	deny file removal.
	* tests/rm/cycle.sh: Likewise.
	* tests/mv/perm-1.sh: Likewise.

	tests: avoid false failure in preserve-slink-time.sh on GPFS
	* tests/cp/preserve-slink-time.sh: Add a delay between the
	ln and the cp so that there is enough difference between
	the timestamps so GPFS won't discard the update.
	Reported by Assaf Gordon.

	tests: avoid false failure in shred-passes.sh
	* tests/misc/shred-passes.sh: Specify an exact amount to shred,
	to avoid running out of simulated random data on file systems
	with a large st_blksize like GPFS for example.
	Reported by Assaf Gordon.

2016-01-19  Pádraig Brady  <P@draigBrady.com>

	tail: disable inotify with only non existent files
	tests/tail-2/F-headers.sh and test/tail-2/retry.sh fail on
	on remote file systems due to tail going into inotify mode
	due to not being able to determine the remoteness of the
	non existent files.

	* src/tail.c (any_non_remote_file): A new function used
	to disable inotify when there are no open files, as
	we can't determine remoteness in that case.
	* NEWS: Mention the bug fix.

2016-01-18  Pádraig Brady  <P@draigBrady.com>

	all: don't unconditionally use leaf optimization for NFS
	* gnulib: Update to latest where the only change is to
	not unconditionally enable leaf optimization for fts on NFS,
	as it was seen to abort() with some NFS servers as per:
	https://bugzilla.redhat.com/1299169
	This affects utilities that traverse directories like
	cp, rm, chmod etc.
	* NEWS: Adjust the improvement message to leave only XFS.

2016-01-18  Assaf Gordon  <assafgordon@gmail.com>

	tests: adjust memory limits in head-c.sh
	* tests/misc/head-c.sh: Further increase the limit to 8MB over
	the base test command.  5.1MB was seen as minimum extra needed
	on FreeBSD 9.3 x86_64.

2016-01-18  Pádraig Brady  <P@draigBrady.com>

	tests: adjust delays to avoid false positives
	* tests/rm/dangling-symlink.sh: The effective delay was only
	1.5s.  So delay before the operation, and increase the iteration
	count by 1 to increase the delay to 6.3s.  This failure was
	noticed once on a FreeBSD 10.2 x86_64 virtual machine.
	* tests/dd/stats.sh: Remove quotes on sleep argument
	to ensure arguments are accumulated appropriately.
	* tests/du/move-dir-while-traversing.sh: sleep before operation,
	to increase the effective delay from 1.6s to 3.2s.
	* tests/tail-2/flush-initial.sh: Likewise.
	* tests/tail-2/pipe-f2.sh: Sleep first so that the effective delay
	matches the commented value.

	test: skip test rather than fail with Solaris 10 sed
	* tests/rm/r-root.sh: This test was seen to ERROR due to
	sed input not having a terminating '\n'.  Therefore just skip
	with diagnostics upon failure to adjust the error output with sed.
	Reported by Assaf Gordon.

2016-01-16  Pádraig Brady  <P@draigBrady.com>

	tests: fix false failure with spaces in absolute $PWD
	* tests/install/create-leading.sh: Ensure $PWD is quoted.
	Reported by `make dist-check`.

2016-01-16  Pádraig Brady  <P@draigBrady.com>

	build: update gnulib submodule to latest
	Mainly for:

	* dce117a sig2str: list all signals on FreeBSD >= 7
	* cff4b38 acl-permissions: port to USE_ACL==0 platforms

2016-01-16  Pádraig Brady  <P@draigBrady.com>

	tests: show mount list on failure for df tests
	* init.cfg (dump_mount_list_): A new function to output the
	system mount list.
	* tests/df/df-symlink.sh: Call dump_mount_list_ upon failure.
	* tests/df/over-mount-device.sh: Likewise.
	* tests/df/problematic-chars.sh: Likewise.
	* tests/df/skip-rootfs.sh: Likewise.
	* tests/df/total-verify.sh: Likewise.
	* tests/df/unreadable.sh: Likewise.

	tests: avoid false failure with BTRFS subvolumes
	* tests/df/df-symlink.sh: Only check the symmetry of
	the source <-> target lookup, when the source is only mounted once,
	which isn't the case if '.' is a BTRFS subvolume for example.
	Reported by Assaf Gordon on a default OpenSUSE 42.1 install.

	mv: consistently warn about multiply specified source dirs
	* src/copy.c (copy internal): Remember directories irrespective
	of their link count, because on some file systems like BTRFS,
	directories always have a link count of 1.

2016-01-15  Pádraig Brady  <P@draigBrady.com>

	tests: remove a non portable localtime test
	* tests/misc/date.pl: This test was dependent on perl
	unconditionally calling the system localtime() as date(1) does.
	However perl has its own configure checks in place to avoid buggy
	localtime implementations.  Therefore comment out this test
	as a FIXME for now.  This test was seen to fail on FreeBSD 10
	where localtime() returns nonsense values instead of failing
	for arguments >= 2^56.

	tests: adjust memory limits in head-c.sh
	* tests/misc/head-c.sh: Further increase the limit, to account
	for the fact that head(1) needs at least 1.576MB over the base test
	command on FreeBSD 10.  4MB should be enough headroom while
	still providing over allocation protection.
	Reported by Assaf Gordon.

	tests: simplify invalid signal determination for kill -l
	* src/operand2sig.c (operand2sig): Add a detailed comment explaining
	why we validate even very large shell exit status values.
	* tests/misc/kill.sh: Add a test case for the ksh scheme.
	Simplify the INVALID signal number determination which also avoids
	a false failure on systems like FreeBSD 10 with incomplete
	signal list (caused by inaccurate NSIG).

	tests: support older fallocate number formats
	* tests/cp/fiemap-extents.sh: Support RHEL6 fallocate
	which doesn't support IEC suffixes like "MiB" on numbers.
	Also add some extra framework_failure_ protections.
	Reported by Assaf Gordon.

	tests: avoid coredumps when determining memory limits
	* init.cfg (get_min_ulimit_v_): Refactor ulimit call to...
	(ulimit_supported_): ...here, and add calls to avoid coredumps.

2016-01-14  Pádraig Brady  <P@draigBrady.com>

	sort: with --debug, flag setlocale() failures on OpenBSD
	Locale categories are not equivalent on OpenBSD,
	and LC_COLLATE only supports "C" for example.
	Now LC_ALL is supported to set multiple other categories
	on OpenBSD, so setlocale(LC_ALL, "") returns a string
	indicating which categories were updated and which ignored.
	Therefore...

	* src/sort.c (main): ...Call setlocale(LC_COLLATE, "")
	to explicitly check whether a specified LC_ALL or
	LC_COLLATE environment variable value is supported
	for the LC_COLLATE category.  Also use !! to explicitly
	convert to bool to support c89 systems where bool is an int,
	and thus would get values > 1.
	Reported by Assaf Gordon.

2016-01-13  Pádraig Brady  <P@draigBrady.com>

	maint: remove temporary doc/constants.texi-t during build
	* doc/local.mk (constants.texi): Remove temp file.

	maint: fix old spelling mistakes in NEWS
	* NEWS: s/descendent/descendant/; s/indiscriminite/indiscriminate/.
	* cfg.mk (old_NEWS_hash): Update via `make update-NEWS-hash`.

	doc: suggest dd "sync" flag to maximize "nocache" effectiveness
	doc/coreutils.texi (dd invocation): Add oflag=sync to the streaming
	example.  Also reference the "direct" flag.  Mention this is only
	a request to the system.
	* src/dd.c (usage): Mention the "sync" flag along with "nocache".
	Also mention that it's only a request to drop the cache.
	* THANKS.in: Add reporter Francois Rigault.

	doc: mention the '0#' printf flags with stat %a
	* src/stat.c (usage): Mention the '#' and '0' flags are useful with %a.
	* doc/coreutils.texi (stat invocation): Likewise.  Also give an example
	printing unambiguous octal output.
	Reported at http://bugs.debian.org/810539

2016-01-13  Pádraig Brady  <P@draigBrady.com>

	mv: fix data loss with repeated source dir and same destination
	commit v8.23-31-g90aa291 failed to consider this case,
	where the previous rename has failed, thus causing the
	following to remove the specified directory:

	  mv dir dir dir

	* src/copy.c (copy_internal): Assume this rename attempt has
	succeeded, as a previous failure will already have been handled,
	and we don't want to remove the source directory in this case.
	* tests/cp/duplicate-sources.sh: Consolidate this test file to...
	* tests/mv/dup-source.sh: ...here.  Add test cases for same
	source and dest.
	* tests/local.mk: Remove the consolidated test.
	* NEWS: Mention the bug fix.

	Reported at https://bugzilla.redhat.com/1297464

2016-01-13  Pádraig Brady  <P@draigBrady.com>

	tests: include part of wc-files0.sh skipped by mistake
	* tests/misc/wc-files0.sh: $fail is always set to 0,
	so correct the test to include that part of the test case.

	wc: avoid ambiguous output with '\n' in file names
	* src/wc.c (write_counts): Shell escape the file name
	if it contains '\n' so only a single line per file is output.
	* tests/misc/wc-files0.sh: Add a test case.
	* NEWS: Mention the improvement.

2016-01-13  Assaf Gordon  <assafgordon@gmail.com>

	numfmt: add the -z,--zero-terminated option
	* doc/coreutils.texi (numfmt invocation): Reference the description.
	* src/numfmt.c: Parameterize '\n' references.
	* tests/misc/numfmt.pl: Add tests for character and field processing.
	* NEWS: Mention the new feature.

2016-01-13  Pádraig Brady  <P@draigBrady.com>

	paste: add the -z,--zero-terminated option
	* doc/coreutils.texi (paste invocation): Reference -z description.
	* src/paste.c (main): Parameterize the use of '\n'.
	* tests/misc/paste.pl: Add test cases.
	* NEWS: Mention the new feature.

	comm: support NUL --output-delimiter for consistency
	* src/comm.c (main): Track the output delimiter length,
	so that it can be adjusted to 1 for the NUL delimiter.
	Also rename the global variable from "delimiter" to
	"col_sep" so its use is more obvious, and to distinguish
	from the recently added "delim" global variable.
	* tests/misc/comm.pl: Adjust accordingly.

	comm: add the -z,--zero-terminated option
	* doc/coreutils.texi (comm invocation): Reference option description.
	* src/comm.c (main): Use readlinebuffer_delim() to support
	a parameterized delimiter.
	* tests/misc/comm.pl: Add test cases.
	* NEWS: Mention the new feature.

	tac: support an empty (NUL) --separator
	* doc/coreutils.texi (tac invocation): Mention the
	NUL delineation with an empty --separator.
	* src/tac.c (main): Allow an empty separator when -r not specified.
	* tests/misc/tac.pl: Add test cases.
	* NEWS: Mention the new feature.
	Fixes http://bugs.gnu.org/8103

	cut: add the -z,--zero-terminated option
	* doc/coreutils.texi (cut invocation): Reference the description.
	* src/cut.c: Parameterize '\n' references.
	* tests/misc/cut.pl: Add tests for character and field processing.
	* NEWS: Mention the new feature.

2016-01-13  Richard Russon  <rich@flatcap.org>

	head,tail: add the -z,--zero-terminated option
	* doc/coreutils.texi: Reference the option description.
	* src/head.c: Parameterize the delimiter character.
	* src/tail.c: Likewise.
	* tests/misc/head.pl: Add test case.
	* tests/misc/tail.pl: Likewise.
	* NEWS: Mention the new feature.

2016-01-13  Pádraig Brady  <P@draigBrady.com>

	join,sort,uniq: with -z, treat '\n' as a field separator
	* NEWS: Mention the change in behavior.
	* doc/coreutils.texi (newlineFieldSeparator): A new description,
	referenced from ({join,sort,uniq} invocation).
	* src/system.h (field_sep): A new inline function to determine
	if a character is a field separator.
	* src/join.c (usage): s/whitespace/blank/ to be more accurate
	wrt which characters are field separators.
	(xfields): s/isblank/field_sep/.
	* src/sort.c (inittables): Likewise.
	* src/uniq.c (find_field): Likewise.
	* tests/misc/join.pl: Adjust -z test, and add a test/example
	for processing the whole record with field processing.
	* tests/misc/sort.pl: Add -z test cases, including case with '\n'.
	* tests/misc/uniq.pl: Add -z -f test case with \n.

2016-01-10  Bernhard Voelker  <mail@bernhard-voelker.de>

	tests: fix races wrt output files of background processes
	At least the false positive in tail-2/follow-stdin.sh could be seen
	on a 4-core i5 system with -j8.  Fix similar cases. too.

	* tests/tail-2/follow-stdin.sh: Empty the 'out' file in each iteration.
	Otherwise, under heavy system load, 'check_tail_output' would see the
	expected output from the previous round before tail would have the
	chance to come up in the background.
	While at it, move the creation of the 'exp' file out of the loop.
	* tests/dd/stats.sh: Empty the output file of the background process
	here, too.
	* tests/misc/cat-buf.sh: Likewise.
	* tests/misc/stdbuf.sh: Likewise.
	* tests/tail-2/wait.sh: Likewise.

2016-01-06  Pádraig Brady  <P@draigBrady.com>

	stty: support "flusho" local setting
	This is used to discard terminal output on FreeBSD based systems.

	* src/stty.c (mode_info): Add FLUSHO where supported.
	(usage): Document for "local" and "combination" settings.
	* doc/coreutils.texi (local stty settings): Document,
	mentioning that this option is supported but ignored on GNU/Linux.

2016-01-06  Pádraig Brady  <P@draigBrady.com>

	stty: support [-]drain setting to control waiting for pending Tx
	Instead of commit v8.24-132-g5171bef which only provides
	control to disable this behavior (with -I), provide
	the symmetrical "[-]drain" special setting.

	* src/stty.c (main): Parse the [-]drain setting instead of -I,
	and treat like a global option.
	(usage): Adjust accordingly.
	* tests/misc/stty.sh: Test "drain" with and without options.
	* NEWS: Mention the new feature.

2016-01-04  Pádraig Brady  <P@draigBrady.com>

	stty: support -I, --immediate to not wait for pending transmission
	In some cases an initial drain may block indefinitely as discussed at:
	http://lists.gnu.org/archive/html/coreutils/2016-01/msg00007.html

	* src/stty.c (main): Use TCSANOW rather than TCSADRAIN if -I specified.
	(usage): Document the new option.
	* doc/coreutils.texi (stty invocation): Likewise.
	* tests/misc/stty.sh: Ensure -I is supported.
	* NEWS: Mention the new feature.

2016-01-03  Pádraig Brady  <P@draigBrady.com>

	doc: avoid unwanted display of the 'coreutils' command info
	* doc/coreutils.texi (coreutils): Remove this direntry
	so that `info coreutils` will display the table of contents,
	rather than the unlikely intended coreutils Multi-call invocation.
	This also supports lookups like `info coreutils readlink`,
	but note that only works with the standard info viewer,
	and not with pinfo for example.

	doc: mention in more places that -D will create --target-directory
	* src/install.c (usage): Mention this commonly required functionality
	in the -D option description.
	* doc/coreutils.texi (install invocation): Likewise for the
	--target-directory description.

	install: only attempt to create a target dir once
	* src/install.c (main): As an optimization, when calling
	install_file_in_dir() for each file, only attempt to create
	the target directory once, as this is invariant over the loop.

	install: fix relative copies to absolute directory with -D
	* src/install.c (mkancesdirs_safe_wd): Unconditionally
	restore the current working directory when possibly called
	multiple times (from install_file_in_dir()).
	* tests/install/create-leading.sh: Add a test case.
	* NEWS: Mention the fix.
	Fixes http://bugs.gnu.org/21497

2016-01-02  Bernhard Voelker  <mail@bernhard-voelker.de>

	maint: fix sc_long_lines to warn about 100+ maximum line length again
	Since commit v8.23-60-g414a8cf, the above check failed to find sources
	where the length of the longest line is a 3 or more digit number.

	* cfg.mk (sc_long_lines): Remove the '\' escape character before '{'
	and '}', because this would mean literal '{' and '}' characters in
	an extended regular expression in sed(1).

2016-01-01  Pádraig Brady  <P@draigBrady.com>

	maint: avoid a sc_long_lines failure in recent commit
	* src/dd.c (alloc_ibuf): Shorten line length.

2016-01-01  Pádraig Brady  <P@draigBrady.com>

	maint: update all copyright year number ranges
	Run "make update-copyright" and then...

	* gnulib: Update to latest with copyright year adjusted.
	* tests/init.sh: Sync with gnulib to pick up copyright year.
	* bootstrap: Likewise.
	* tests/sample-test: Adjust to use the single most recent year.

2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	build: update gnulib submodule to latest

	dd: append spaces to shorter status=progress line
	Problem noted by Pádraig Brady in: http://bugs.gnu.org/22277#8
	Also, make the output a bit more precise while we're at it.
	* NEWS: Document this.
	* src/dd.c (previous_time): Remove, replacing with ...
	(next_time): New var.  All uses changed.
	This avoids some rounding errors, and should be a bit faster.
	(newline_pending): Remove, replacing with ...
	(progress_len): New var.  All uses changed.
	This lets us keep track of how many trailing spaces to append.
	(print_xfer_stats): Get the time first thing, so that it's
	closer to being correct.  Count the bytes output, and append
	trailing spaces if needed.  Add remarks to translators about
	translation lengths.

	dd: summarize in --human-readable format too
	Problem reported by Linda Walsh in: http://bugs.gnu.org/17505
	* NEWS: Document this.
	* doc/coreutils.texi (dd invocation): Use a simpler script.
	Adjust output example to match new behavior.
	* src/dd.c (human_size): Remove.
	All uses changed to use human_readable and ...
	(human_opts): ... this new constant.
	(abbreviation_lacks_prefix): New function.
	(print_xfer_stats): Use it.  Output both --si and --human-readable
	summaries, but only if they have prefixes.
	* tests/dd/reblock.sh, tests/dd/stats.sh: Test new behavior.

2015-12-23  Pádraig Brady  <P@draigBrady.com>

	build: update to latest gnulib
	Mainly for these changes:
	- freadptr: fix to work with ungetc on all uClibc configs
	- fts: enable leaf optimization for XFS
	- fts: ensure leaf optimization used for NFS
	- strftime-tests: avoid false failure on OS X
	- intprops-tests: avoid warnings (causing CI failures)

	* NEWS: Update with items from above that are
	significant from the previous coreutils release.

2015-12-22  Pádraig Brady  <P@draigBrady.com>

	doc: describe test operator precedence and associativity
	* doc/coreutils.texi (Connectives for test): Add notes
	on precedence and associativity.  Also mention the
	portability caveats with these operators.
	* cfg.mk: Avoid sc_prohibit_test_minus_ao for coreutils.texi.
	Fixes http://bugs.gnu.org/22216

2015-12-17  Pádraig Brady  <P@draigBrady.com>

	tests: avoid root test false failure without libxattr
	* tests/cp/cp-mv-enotsup-xattr.sh: Exclude xattr copy verification
	when libxattr is not available.

2015-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>

	build: rely on umask for setting permissions in tarball
	Commit v8.24-116-g896006b changed the file permissions for the tarball
	using ug+rw.  Better to let the umask decide whether the file should
	be group-writeable or not.

	* Makefile.am (dist-hook): Change chmod call from 'ug+rw' to '+rw'.

2015-12-17  Pádraig Brady  <P@draigBrady.com>

	tests: avoid intermittent ulimit -v failures
	* init.cfg (get_min_ulimit_v_): Increase the determined
	virtual memory limit for the command by a page size
	to avoid alignment issues causing false failures for
	subsequent runs.
	* tests/misc/cut-huge-range.sh: Be defensive and match
	the cut invocations under test, more closely with the
	form used to determine the VM memory limit.

	This was noticed on i686 linux at:
	http://hydra.nixos.org/build/28990456

2015-12-17  Pádraig Brady  <P@draigBrady.com>

	build: ensure all files are writable in the tarball
	* Makefile.am (dist-hook): Ensure all files are writable
	so that extracted tarballs are easy to remove, without
	getting prompts about removing read-only files.
	Reported by Benno Schulenberg.

2015-12-15  Pádraig Brady  <P@draigBrady.com>

	maint: ensure emit_mandatory_arg_note() used if needed
	* cfg.mk (sc_emit_mandatory_arg_note): Add new syntax check.

	maint: include 'env' commands in returns_ syntax check
	* cfg.mk (sc_prohibit_and_fail_1): Remove 'env' from
	the exclusion list.
	* tests/misc/env.sh: Adjust accordingly.
	* tests/misc/help-version.sh: Likewise.

	tests: improve kill tests
	* tests/misc/kill.sh:
	- verify kill -[lt] support multiple parameters.
	- verify kill -[lt] fail with (some) invalid parameters.
	- Use returns_1 ... || fail=1, rather than ... && fail=1.

2015-12-14  Pádraig Brady  <P@draigBrady.com>

	sort: fix --debug marking for -b -k1.x
	We were erroneously skipping blanks in the marked comparison
	_after_ the key start offset was applied.
	* src/sort.c (debug_keys): Don't skip starting blanks
	if already handled by begfield().
	* tests/misc/sort-debug-keys.sh: Add a test case.
	* NEWS: Mention the bug fix.
	Fixes http://bugs.gnu.org/22155

	stat: report file system type for "overlayfs"
	* src/stat.c (human_fstype): Add "overlayfs", and tag it as "remote"
	to ensure that tail continues to use the more conservative polling mode.
	* README-release: Remove a stale comment about updating fremote()
	in tail.c.  Also give a link to *_SUPER_MAGIC definitions
	not in the standard linux/magic.h location.
	* NEWS: Mention that this file system is recognized.

2015-12-14  Pádraig Brady  <P@draigBrady.com>

	kill: add undocumented -L for compatibility
	procps, bash >= 4.4, and util-linux >= 2.23
	all have the -L option to output a table.

	* src/kill.c (main): Have -L synonymous with -t.
	Luckily there is no signal that begins with 'L'.
	* tests/misc/kill.sh: Update the test.

2015-12-14  Pádraig Brady  <P@draigBrady.com>

	tests: add tests for the kill command
	* tests/misc/kill.sh: Add first tests for kill.
	* tests/local.mk: Reference the new test.

	maint: fix incorrect spellings etc
	* NEWS: Use a standard version specification.
	* doc/coreutils.texi: Fix incorrect grammar.
	* src/df.c: Update a stale comment.
	* src/copy.c: Fix incorrect spellings.
	* src/factor.c: Likewise.
	* src/ls.c: Likewise.
	* src/pr.c: Likewise.
	* src/relpath.c: Likewise.
	* src/shred.c: Likewise.
	* src/sort.c: Likewise.
	* src/split.c: Likewise.
	* src/stdbuf.c: Likewise.
	* tests/misc/seq-precision.sh: Likewise.

2015-12-14  Pádraig Brady  <P@draigBrady.com>

	maint: remove form feed characters from sources
	These are no longer useful and can impact viewing
	patches in some mail programs for example.

	* src/cksum.c: Remove ^L characters.
	* src/comm.c: Likewise.
	* src/kill.c Likewise.
	* src/ln.c Likewise.
	* src/nl.c Likewise.
	* src/pr.c Likewise.
	* src/ptx.c Likewise.
	* src/split.c Likewise.
	* src/tr.c Likewise.
	* src/tsort.c Likewise.
	* src/uniq.c Likewise.
	* src/wc.c Likewise.
	* cfg.mk (sc_prohibit-form-feed): A new syntax check.

2015-12-07  Eric Blake  <eblake@redhat.com>

	sort: promote '--debug'
	* src/sort.c (usage): Mention --debug in KEYDEF paragraph.

2015-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	doc: promote 'sort --debug'
	* README, doc/coreutils.texi (Introduction, sort invocation):
	Suggest 'sort --debug' more prominently.

2015-12-04  Pádraig Brady  <P@draigBrady.com>

	doc: improve the description of sort --random-sort
	* src/sort.c (usage): Avoid mentioning the implementation,
	rather focusing on the result of the operation.

2015-12-03  Paul Eggert  <eggert@cs.ucla.edu>

	build: port to Studio C on Solaris 12
	Reported by Rich Burridge in: http://bugs.gnu.org/22087
	* configure.ac (HAVE_UT_HOST, HAVE_C_LINE, stdbuf):
	Pacify picky compilers that complain about unreachable statements.

2015-12-01  Bernhard Voelker  <mail@bernhard-voelker.de>

	doc: clarify behaviour of mv for existing target directories
	* doc/coreutils.texi (mv invocation): Add a sentence to clarify that
	mv(1) will only replace empty directories in the target, and fail with
	a diagnostic otherwise.  Discussed at:
	http://lists.gnu.org/archive/html/coreutils/2015-12/msg00000.html

2015-11-30  Bernhard Voelker  <mail@bernhard-voelker.de>

	doc: avoid confusing K argument in the man pages of head and tail
	The character 'K' representing numeric user input can be confusing,
	especially in the context where it can be suffixed by the multipliers
	K, M, G, etc.
	Use NUM instead.

	* doc/coreutils.texi (head invocation): Replace @var{k} by @var{num}.
	Also change @var{count} in the paragraph about the obsolete option
	syntax.
	(tail invocation): Likewise.  Furthermore, adjust the option order to
	alphabetical sorting.
	* src/head.c (usage): s/K/NUM/ in as placeholder in the -c and -n
	options.  Furthermore, print the actual DEFAULT_NUMBER instead of the
	hard-coded 10.
	* src/tail.c (usage): s/K/NUM/ in as placeholder in the -c and -n
	options.  Add "[+]" to clarify that NUM may optionally be preceded by
	this sign.  Remove the redundant explanation of the optional '+' prefix
	for NUM, as that is now clear from the option description above.

	Suggested by Dan Jacobson in http://bugs.gnu.org/22042

2015-11-28  Bernhard Voelker  <mail@bernhard-voelker.de>

	doc: reference each other in the man pages of head and tail
	* man/head.x: Add "SEE ALSO" section referencing tail(1).
	* man/tail.x: Add "SEE ALSO" section referencing head(1).

	Suggested by Dan Jacobson in http://bugs.gnu.org/22041

2015-11-28  Pádraig Brady  <P@draigBrady.com>

	build: support reproducible builds with consistent man pages
	Use a consistent date in the generated man pages
	even if SOURCE_DATE_EPOCH is not set.

	* Makefile.am: Generate .timestamp in the tarball.
	* man/local.mk: Pass .timestamp if available to help2man.
	* man/dummy-man: Don't bother with the year in the stub.

	Reported in http://bugs.debian.org/806321

2015-11-27  Pádraig Brady  <P@draigBrady.com>

	doc: update to latest help2man
	Sync with version 1.47.3 which provides these significant changes:

	- support for reproducible builds by using $SOURCE_DATE_EPOCH.
	- Adjust spacing of italic text at roman/italic boundaries.

2015-11-25  Pádraig Brady  <P@draigBrady.com>

	tests: for compare_(), use cmp -s where available
	* tests/init.sh (compare_): Only fall back to cmp without
	the POSIX defined -s option, where this is not available.

	build: avoid makeinfo unless required
	* doc/local.mk (constants.texi): Avoid calling makeinfo unless
	the constants derived from tail and shred have changed.
	This avoids a dependence on makeinfo from patched sources,
	and avoids an expensive makeinfo call for developers.

	doc: clarify descriptions for tr --squeeze-repeats
	* doc/coreutils.texi (uniq invocation): Fix the description of
	problematic input to say "blank lines" rather than "two or more
	blank lines".
	(tr invocation): Clarify that -s only works with SET1 when
	not translating (when SET2 not specified).  Also explicitly
	state in examples where blank lines are deleted.
	Also add "deleting" to the menu item.
	* src/tr.c (usage): Improve the -s summary to say it always
	operates on the last specified SET.

	doc: provide an example for prefixing all tail output lines
	* doc/coreutils.texi (tail invocation): Provide an example using awk
	to convert tail ==> file <== headers to file: prefixes on each line.
	Suggested by Stephen Shirley.

2015-11-24  Dmitry Monakhov  <dmonakhov@openvz.org>

	copy: fix copying of extents beyond the apparent file size
	fallocate can allocate extents beyond EOF via FALLOC_FL_KEEP_SIZE.
	Where there is a gap (hole) between the extents, and EOF is within
	that gap, the final hole wasn't reproduced, resulting in silent
	data corruption in the copied file (size too small).

	* src/copy.c (extent_copy): Ensure we don't process extents
	beyond the apparent file size, since processing and allocating
	those is not currently supported.
	* tests/cp/fiemap-extents.sh: Renamed from tests/cp/fiemap-empty.sh
	and re-enable parts checking the extents at and beyond EOF.
	* tests/local.mk: Reference the renamed test.
	* NEWS: Mention the bug fix.
	Fixes http://bugs.gnu.org/21790

2015-11-23  Pádraig Brady  <P@draigBrady.com>

	md5sum,sha*sum: ensure --ignore-missing fails when no file verified
	* src/md5sum.c (digest_check): Update a matched_checksums bool upon
	matched checksum, and fail (loudly unless --status is specified)
	if there were no matches.  Also change properly_formatted_lines
	to a bool while at it since we don't need to track the plurality.
	* tests/misc/md5sum.pl: Add a test case.
	Suggested by Jim Meyering.

2015-11-23  Luther Thompson  <lutheroto@gmail.com>

	md5sum,sha*sum: add --ignore-missing for checking a subset of files
	* doc/coreutils.texi (md5sum invocation): Document the new option.
	* src/md5sum.c (digest_file): Return an empty digest to indicate
	a missing file.
	(digest_check): Don't fail or output status given an empty checksum.
	(usage): Document the new option.
	(main): Process and validate the new option.
	* tests/misc/md5sum.pl: Add new test cases.
	* NEWS: Mention the new feature.
	Fixes http://bugs.gnu.org/15604

2015-11-23  Pádraig Brady  <P@draigBrady.com>

	maint: allow 'sha*sum:' tag in commit summaries
	To support "md5sum,sha*sum:"
	Suggested by Bernhard Voelker.

2015-11-21  Pádraig Brady  <P@draigBrady.com>

	doc: give a tee example for combining process substitution outputs
	This can be useful if you want to further process data
	from process substitutions. For example:
	  datagen | tee >(md5sum --tag) > >(sha256sum --tag) | sort

	* doc/coreutils.texi (tee invocation): Mention that -p is
	useful with pipes that may not consume all data.
	Add an example, similar to the one above.
	* THANKS.in: Add Jirka Hladky.

2015-11-21  Pádraig Brady  <P@draigBrady.com>

	tests: avoid false failure on older NFS implementations
	* tests/ls/stat-failed.sh: Skip the test if 'd' is returned as the type,
	and document where this was seen.  Also flag failure to write small
	temp files during the test as an error rather than a failure.
	Fixes http://bugs.gnu.org/21130

2015-11-19  Pádraig Brady  <P@draigBrady.com>

	build: fix VPATH build with --disable-dependency-tracking
	* src/local.mk: Run `mkdir -p src` in all our explicit rules,
	as in a VPATH build the src/ dir is only created at configure time
	as a side effect of dependency tracking generation.

2015-11-17  Jim Meyering  <meyering@fb.com>

	scripts: update versions of gettext and libtool

	maint: remove unmaintained file, c99-to-c89.diff
	* src/c99-to-c89.diff: Remove file.
	* src/local.mk (EXTRA_DIST): Remove it from this list.
	* README (Pre-C99 build failure): Update section.

2015-11-12  Assaf Gordon  <assafgordon@gmail.com>

	csplit: check and report fwrite errors with errno
	discussed in:
	http://lists.gnu.org/archive/html/coreutils/2015-10/msg00091.html

	* src/csplit.c: (save_line_to_file): check fwrite failures, report
	  and exit immediately instead of deferring to 'close_output'.
	* tests/misc/csplit-io-err.sh: test fwrite failure using LD_PRELOAD.
	* tests/local.mk: add new test.

2015-11-11  Pádraig Brady  <P@draigBrady.com>

	stat: improve support for new Linux pseudo FS and ACFS
	* src/stat.c (human_fstype): Add new file system ID definitions.
	* NEWS: Mention the improvement.

2015-11-10  Pádraig Brady  <P@draigBrady.com>

	tests: ensure programs are built before testing
	programs may not be built due to missing system dependencies,
	or any program can be excluded at configure time with
	--enable-no-install-program.  So ensure we're not testing the
	system versions in these cases.

	* init.cfg (print_ver_): Call require_built_ first.
	* tests/misc/tty-eof.pl: Skip programs not built.
	* tests/Coreutils.pm (run_tests): Likewise.
	* tests/misc/ls-misc.pl: Use 'env test' rather than abs path.
	* tests/misc/test-diag.pl: Likewise.
	* tests/local.mk: Adjust include order for dependencies.
	* tests/misc/arch.sh: Remove redundant calls to require_built_.
	* tests/misc/chroot-fail.sh: Likewise.
	* tests/misc/groups-dash.sh: Likewise.
	* tests/misc/groups-version.sh: Likewise.
	* tests/misc/stdbuf.sh: Likewise.
	* tests/cp/acl.sh: Remove problematic call to print_ver_ [gs]etfacl.
	* tests/mv/acl.sh: Likewise.
	* cfg.mk (sc_env_test_dependencies): A new syntax check to enforce
	specifying dependencies with print_ver_ for programs
	specified through the env command.
	* du/bigtime.sh: Add new print_ver_ dependencies.
	* du/max-depth.sh: Likewise.
	* dd/ascii.sh: Likewise.
	* tests/ls/capability.sh: Likewise.
	* tests/ls/root-rel-symlink-color.sh: Likewise.
	* tests/misc/chroot-fail.sh: Likewise.
	* tests/misc/readlink-fp-loop.sh: Likewise.
	* tests/misc/sort-debug-keys.sh: Likewise.
	* tests/readlink/can-e.sh: Likewise.
	* tests/readlink/can-f.sh: Likewise.
	* tests/readlink/can-m.sh: Likewise.
	* tests/tail-2/inotify-race.sh: Likewise.
	* tests/tail-2/inotify-race2.sh: Likewise.
	* tests/touch/no-create-missing.sh: Likewise.
	* tests/touch/no-dereference.sh: Likewise.
	* tests/misc/printenv.sh: Tweak to avoid syntax check trigger.
	* tests/misc/help-version.sh: Likewise.
	* tests/misc/yes.sh: Likewise.
	* tests/misc/printf-quote.sh: Use previously unused $prog.
	* configure.ac (EXTRA_MANS): Add $gl_no_install_prog to the list
	so that check-x-vs-1 syntax check is satisfied.

2015-11-10  Pádraig Brady  <P@draigBrady.com>

	maint: use standard spacing in shebang line in tests
	It's better to be consistent even though spacing is insignificant:
	http://www.in-ulm.de/~mascheck/various/shebang/#blankrequired

2015-11-10  Pádraig Brady  <P@draigBrady.com>

	tests: cleanup trapping of signal names
	A side effect of this cleanup is we no longer
	depend on our own kill command being built.

	* init.cfg (require_trap_signame_): A new function to verify
	that the shell supports specifying traps by signal name.
	(require_kill_group_): A new function to ensure the shell
	supports sending a signal to a group.
	* tests/du/move-dir-while-traversing.sh: Ensure trap supports
	signal names.
	* tests/misc/stty-invalid.sh: Likewise.
	* tests/misc/stty-pairs.sh: Likewise.
	* tests/misc/stty-row-col.sh: Likewise.
	* tests/misc/stty.sh: Likewise.
	* tests/misc/sort-compress.sh: Likewise.  Also simplify trap call.
	* tests/install/trap.sh: Likewise.
	* tests/misc/timeout.sh: Likewise.
	* tests/dd/stats.sh: Likewise.  Also use default kill command.
	* tests/misc/timeout-group.sh: Likewise.

2015-11-06  Pádraig Brady  <P@draigBrady.com>

	tests: fix dirent d_type support verification
	* init.cfg (require_dirent_d_type_): Don't use df -x
	to exclude XFS, since this depends on a correct mtab
	which is brittle and often not correct within chroots.
	* tests/d_type-check: Check also the d_type of files,
	which excludes XFS appropriately.  Specify all argument
	and return types to avoid truncated pointers being passed,
	which skipped the test due to crashes on x86_64 at least.
	Simplify the C library lookup by reusing the interpreter's.

	chroot issue reported at https://bugzilla.redhat.com/1263341

2015-11-04  Pádraig Brady  <P@draigBrady.com>

	maint: add a syntax check to avoid unstyled quoting
	* src/paste.c (main): Use our styled wrapper for quotearg_colon().
	* cfg.mk (sc_prohibit-quotearg): A new syntax check to avoid
	future uses of unstyled quotearg to one of the internal slots,
	and thus destined for diagnostic output.

	paste: avoid confusing backslash quoting in diagnostic
	* src/paste.c (main): Setting the quoting style to "escape"
	went against the intent of the comment about presenting
	doubled backslashes to the user.  Instead use "c-maybe"
	which is the only mode which avoids doubled backslashes,
	and provides protection against arbitrary control characters.
	* tests/misc/paste.pl: Adjust accordingly.

	ls: default to --quoting=shell-escape for output to terminal
	* src/ls.c (decode_switches): Set "shell-escape" if isatty().
	* doc/coreutils.texi (ls invocation): Update the defaults description.
	* NEWS: Mention the change in behavior.  It should not have
	backwards compat issues, but mentioning here just in case.

	printf: support the %q format to quote for shell
	* src/printf.c (usage): Mention the new format.
	(print_formatted): Handle the quoting by calling
	out to the quotearg module with "shell-escape" mode.
	* doc/coreutils.texi (printf invocation): Document %q.
	* tests/misc/printf-quote.sh: New test.
	* tests/local.mk: Reference new test.
	* NEWS: Mention the new feature.

2015-11-04  Pádraig Brady  <P@draigBrady.com>

	ls: avoid redundant processing when already escaping
	This is mainly noticeable when the multi-byte code
	within ls.c is triggered by multi-byte quotes.

	$ seq 200000 | xargs touch
	$ time ls-old -U --quoting=locale --hide-control-chars >/dev/null
	real    0m0.483s
	$ time ls-new -U --quoting=locale --hide-control-chars >/dev/null
	real    0m0.430s

	* src/ls.c (quote_name): Avoid rescanning the output looking for
	unprintable chars when we know the quoting mode already escapes them.
	* tests/misc/ls-misc.pl: Add tests for all quoting modes, with and
	without -q, to verify this assumption.

2015-11-04  Pádraig Brady  <P@draigBrady.com>

	ls: document and test new shell-escape quoting
	* doc/coreutils.texi (ls invocation): Describe the new
	'shell-escape' and 'shell-escape-always' quoting options.
	* src/ls.c (usage): Mention the new quoting options.
	* tests/misc/ls-misc.pl: Add a test for 'shell-escape'

	test: use consistent quoting
	* src/test.c (test_syntax_error): Reuse verror() rather than
	open coding the error output format.
	(term): Don't hardcode '' quoting.
	(main): Likewise.

2015-11-04  Pádraig Brady  <P@draigBrady.com>

	all: avoid quoting file names when possible
	Quote file names using the "shell-escape" or "shell-escape-always"
	methods, which quote as appropriate for most shells,
	and better support copy and paste of presented names.
	The "always" variant is used when the file name is
	embedded in an error message with surrounding spaces.

	* cfg.mk (sc_error_shell_quotes): A new syntax check rule
	to suggest quotef() where appropriate.
	(sc_error_shell_always_quotes): Likewise for quoteaf().
	* src/system.h (quotef): A new define to apply shell quoting
	when needed.  I.E. when shell character or ':' is present.
	(quoteaf): Likewise, but always quote.
	* src/*.c: Use quotef() and quoteaf() rather than quote()
	where appropriate.
	* tests/: Adjust accordingly.

2015-11-04  Pádraig Brady  <P@draigBrady.com>

	build: update gnulib submodule to latest
	Includes support for "shell-escape" from quotearg

	md5sum: ensure a single status line per file
	* src/md5sum.c: Use the same file name escaping method used
	when generating and checking checksums.  I.E. ensure a single line
	per file by starting the line with '\' for any file name containing '\n'
	and replacing those with "\\n".
	* NEWS: Move the item from changes in behavior to improvements,
	since this is no longer a backwards incompat change when
	processing stdout status messages.
	* tests/misc/md5sum.pl: Remove quotes from expected status output.
	* tests/misc/sha1sum.pl: Likewise.

2015-11-04  Pádraig Brady  <P@draigBrady.com>

	all: replace most uses of quotearg_colon() with quote()
	Related to commit v8.24-61-g6796698 this provides
	more consistent quoting, as quotearg_colon() defaults
	to "literal" quoting by default, while quote()
	provides appropriate quoting for diagnostics by default.

	* gl/modules/randread: Depend on quote module rather than quotearg.
	* gl/lib/randread.c: Used quote() not quotearg_colon().
	* src/: Likewise.
	* src/shred.c: Likewise. Also avoid unnecessary quoting
	introducing overhead when wiping names.
	* cfg.mk: Relax the matching expression to allow
	"qname" variables as used in shred.c to satisfy the check.
	* tests/: Adjust accordingly.

2015-11-02  Pádraig Brady  <P@draigBrady.com>
