1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-20 18:56:39 +02:00
Commit Graph

28361 Commits

Author SHA1 Message Date
Pádraig Brady
3ed89ae932 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 11:11:36 +00:00
Assaf Gordon
672663e1b0 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 11:11:36 +00:00
Pádraig Brady
8297568ec6 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.
2016-01-13 10:59:56 +00:00
Pádraig Brady
0e46753d7c 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.
2016-01-13 10:59:56 +00:00
Pádraig Brady
f3b4def577 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.
2016-01-13 10:59:56 +00:00
Pádraig Brady
826c98b024 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
2016-01-13 10:59:56 +00:00
Pádraig Brady
a499a0ce58 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 10:59:56 +00:00
Richard Russon
bc94551f63 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 10:59:55 +00:00
Pádraig Brady
b2eadd109c 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-13 10:59:18 +00:00
Bernhard Voelker
d44ae88199 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-10 01:51:27 +01:00
Pádraig Brady
3d7b822e4a 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 16:04:19 +00:00
Pádraig Brady
cb7d8b90a2 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-06 15:20:49 +00:00
Pádraig Brady
5171befcb1 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-04 23:45:19 +00:00
Pádraig Brady
c6be0b3943 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.
2016-01-03 12:58:39 +00:00
Pádraig Brady
1dd02b4f8c 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.
2016-01-03 12:58:39 +00:00
Pádraig Brady
73055581c9 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.
2016-01-03 12:58:39 +00:00
Pádraig Brady
6c65ce4c64 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-03 12:58:39 +00:00
Bernhard Voelker
50a950ba69 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-03 00:18:58 +01:00
Pádraig Brady
aaf8d80f1d maint: avoid a sc_long_lines failure in recent commit
* src/dd.c (alloc_ibuf): Shorten line length.
2016-01-01 14:24:19 +00:00
Pádraig Brady
b16e999f55 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.
2016-01-01 14:10:41 +00:00
Paul Eggert
81dce30cba build: update gnulib submodule to latest 2015-12-31 14:13:45 -08:00
Paul Eggert
2dab6cd3c2 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.
2015-12-31 14:09:36 -08:00
Paul Eggert
8f9bf30017 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-31 11:49:55 -08:00
Pádraig Brady
26323928d9 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-23 01:07:48 +00:00
Pádraig Brady
3205bb178c 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-22 16:54:18 +00:00
Pádraig Brady
f8a9c8c343 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 16:59:46 +00:00
Bernhard Voelker
5148302771 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 12:46:59 +01:00
Pádraig Brady
cd6e49ced8 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 00:25:49 +00:00
Pádraig Brady
896006bf76 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-17 00:25:25 +00:00
Pádraig Brady
f9a6c5b3b6 maint: ensure emit_mandatory_arg_note() used if needed
* cfg.mk (sc_emit_mandatory_arg_note): Add new syntax check.
2015-12-15 17:44:45 +00:00
Pádraig Brady
070cec3234 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.
2015-12-15 17:44:45 +00:00
Pádraig Brady
d3ddf7bce4 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-15 17:07:39 +00:00
Pádraig Brady
872c0df857 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
2015-12-14 13:40:51 +00:00
Pádraig Brady
1118f32145 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 13:38:43 +00:00
Pádraig Brady
03bef91781 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 13:37:22 +00:00
Pádraig Brady
fc8e719973 tests: add tests for the kill command
* tests/misc/kill.sh: Add first tests for kill.
* tests/local.mk: Reference the new test.
2015-12-14 13:36:41 +00:00
Pádraig Brady
c609cd960d 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 13:36:23 +00:00
Pádraig Brady
5f87f1ac1c 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-14 02:35:10 +00:00
Eric Blake
2c5d86a8b8 sort: promote '--debug'
* src/sort.c (usage): Mention --debug in KEYDEF paragraph.
2015-12-07 14:12:07 -07:00
Paul Eggert
c840d3ad89 doc: promote 'sort --debug'
* README, doc/coreutils.texi (Introduction, sort invocation):
Suggest 'sort --debug' more prominently.
2015-12-07 10:04:44 -08:00
Pádraig Brady
ad9dde0b25 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-04 20:42:17 +00:00
Paul Eggert
9735fed143 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-03 13:56:16 -08:00
Bernhard Voelker
7c3f05cf6c 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-12-01 23:30:14 +01:00
Bernhard Voelker
f7ab20cd60 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-30 22:09:29 +01:00
Bernhard Voelker
79c5b8f452 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 21:13:35 +01:00
Pádraig Brady
c1b3d65877 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-28 00:11:06 +00:00
Pádraig Brady
93e83ff52f 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-27 11:42:53 +00:00
Pádraig Brady
f0d963da29 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.
2015-11-25 15:12:37 +00:00
Pádraig Brady
34f20fcc4a 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.
2015-11-25 15:12:37 +00:00
Pádraig Brady
bc1bf0fdc2 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.
2015-11-25 15:12:35 +00:00