summaryrefslogtreecommitdiffstats
path: root/doc
AgeCommit message (Collapse)AuthorLines
2026-04-05doc: cut: clarify that combining characters are not treated speciallyPádraig Brady-2/+3
This is for consistency with other implementations and since the interface separates -b and -c it might in future support -g (graphemes). Normalizing content with a filter seems like the most appropriate approach anyway, as there are various normalizations possible including case etc. rather than baking that into every tool
2026-04-05doc: cut: resintate and expand -d infoPádraig Brady-0/+11
* doc/coreutils.texi (cut invocation): Add back the -d description, and adjust for multi-byte support, and expand on specifying a NUL delimitier, and detail the behavior when the delimiter matches the line delimiter.
2026-04-05doc: cut: clarify that -s suppressed lines with only trimmed spacesPádraig Brady-2/+4
* doc/coreutils.texi (cut invocation): State explicitly that -s --whitespace-delimited=trimmed will suppress lines that do not have field separating blanks.
2026-04-05doc: cut: mention the default -O used with -wPádraig Brady-1/+2
* doc/coreutils.texi (cut invocation): Mention the default --output-delimiter is a TAB when matching runs of blanks in the input.
2026-04-05doc: cut: reorder -s in texiPádraig Brady-5/+5
Keep in alphabetical order.
2026-04-05doc: cut: document the -w optionPádraig Brady-0/+7
* src/cut.c (usage): Mention blank characters are used to separate. * doc/coreutils.texi (cut invocation): Likewise. Also describe the 'trimmed' argument and the relation to -F.
2026-04-05cut: support -F as an alias for -f -w -O ' 'Pádraig Brady-4/+5
To improve compatibility with toybox/busybox scripts.
2026-04-05cut: support -O as an alias for --output-delimiterPádraig Brady-1/+2
To improve compatibility with toybox/busybox scripts. * doc/coreutils.texi (cut invocation): Add -O description. * src/cut.c: Support -O as well as --output-delimiter * tests/cut/cut.pl: Adjust one case to use -O.
2026-04-05doc: cut: adjust for multi-byte supportPádraig Brady-2/+1
* doc/coreutils.texi (cut invocation): Remove the note about -c being the same as -b.
2026-04-05cut: implement -n to avoid outputting partial charactersPádraig Brady-1/+4
Both the i18n patch and FreeBSD/macOS support this option. They do differ in behavior somewhat as the i18n patch may output more bytes than requested. $ printf '\xc3\xa9b\n' | i18n-cut -n -b1 é There is also a bug in the i18n patch with multi-byte at the start of a line: $ printf '\xc3\xa9b\n' | i18n-cut -n -b1-2 éb We follow the FreeBSD behavior since it seems more useful to have -b be a hard limit, rather than a soft limit. This also reduces the possibility of duplicate character output with separate cut invocations with non overlapping byte ranges. * src/cut.c (cut_bytes_no_split): A new function similar to cut_characters, to handle multi-byte characters with byte limit semantics. * tests/cut/cut.pl: Add test cases.
2026-04-05cut: support multi-byte input with -cPádraig Brady-1/+1
* src/cut.c * tests/cut/cut.pl
2026-04-05doc: cut: reorder --complement alphabetically in helpPádraig Brady-8/+8
* src/cut.c (usage): Move placement of --comlement description. * doc/coreutils.texi (cut invocation): Likewise.
2026-03-27doc: tty: mention the removal of the -s option from POSIXCollin Funk-0/+2
* doc/coreutils.texi (tty invocation): Mention that POSIX.1-2001 removed the -s option and that portable scripts can redirect standard out to /dev/null instead.
2026-03-13doc: fix missing '=' in texi option descriptionsPádraig Brady-2/+2
* doc/coreutils.texi (cut invocation, fold invocation): Fix missing '=' before option parameters.
2026-03-04cksum: use more defensive escaping for --checkPádraig Brady-1/+5
cksum --check is often the first interaction users have with possibly untrusted downloads, so we should try to be as defensive as possible when processing it. Specifically we currently only escape \n characters in file names presented in checksum files being parsed with cksum --check. This gives some possibilty of dumping arbitrary data to the terminal when checking downloads from an untrusted source. This change gives these advantages: 1. Avoids dumping arbitrary data to vulnerable terminals 2. Avoids visual deception with ansi codes hiding checksum failures 3. More secure if users copy and paste file names from --check output 4. Simplifies programmatic parsing Note this changes programmatic parsing, but given the original format was so awkward to parse, I expect that's extremely rare. I was not able to find example in the wild at least. To parse the new format from from shell, you can do something like: cksum -c checksums | while IFS= read -r line; do case $line in *': FAILED') filename=$(eval "printf '%s' ${line%: FAILED}") cp -v "$filename" /quarantine ;; esac done This change also slightly reduces the size of the sum(1) utility. This change also apples to md5sum, sha*sum, and b2sum. * src/cksum.c (digest_check): Call quotef() instead of cksum(1) specific quoting. * tests/cksum/md5sum-bsd.sh: Adjust accordingly. * doc/coreutils.texi (cksum general options): Describe the shell quoting used for problematic file names. * NEWS: Mention the change in behavior. Reported by: Aaron Rainbolt
2026-02-23doc: tee: avoid the use of gpg cleartext signatures in an exampleCollin Funk-1/+2
Cleartext signatures have many gotchas. Therefore, the use of detached signatures is recommended where possible. See: <https://gnupg.org/blog/20251226-cleartext-signatures.html>. * doc/coreutils.texi (tee invocation): Adjust gpg invocation to produce a detached signature.
2026-02-21doc: stty: mention the -g does not save the terminal window sizeCollin Funk-0/+4
* doc/coreutils.texi (stty invocation): Mention that 'stty -g' does not save the terminal window size as allowed by POSIX.1-2024.
2026-02-18wc: add aarch64 Neon optimization for wc -lCollin Funk-1/+2
Here is an example of the performance improvement: $ yes abcdefghijklmnopqrstuvwxyz | head -n 100000000 > input $ time ./src/wc-prev -l < input 100000000 real 0m0.793s user 0m0.630s sys 0m0.162s $ time ./src/wc -l < input 100000000 real 0m0.230s user 0m0.065s sys 0m0.164s * NEWS: Mention the performance improvement. * gnulib: Update to the latest commit. * configure.ac: Check the the necessary intrinsics and functions. * src/local.mk (noinst_LIBRARIES) [USE_NEON_WC_LINECOUNT]: Add src/libwc_neon.a. (src_libwc_neon_a_SOURCES, wc_neon_ldadd, src_libwc_neon_a_CFLAGS) [USE_NEON_WC_LINECOUNT]: New variables. (src_wc_LDADD) [USE_NEON_WC_LINECOUNT]: Add $(wc_neon_ldadd). * src/wc.c [USE_NEON_WC_LINECOUNT]: Include sys/auxv.h and asm/hwcap.h. (neon_supported) [USE_NEON_WC_LINECOUNT]: New function. (wc_lines) [USE_NEON_WC_LINECOUNT]: Use neon_supported and wc_lines_neon. * src/wc.h (wc_lines_neon): Add declaration. * src/wc_neon.c: New file. * doc/coreutils.texi (Hardware Acceleration): Document the "-ASIMD" hwcap and the variable used in ./configure to override detection of Neon instructions. * tests/wc/wc-cpu.sh: Also add "-ASIMD" to disable the use of Neon instructions.
2026-02-06doc: kill: adjust documentation to produce html anchors for --helpCollin Funk-12/+24
* doc/coreutils.texi (kill invocation): Adjust documentation to use the @optItem macros. Fixes https://bugs.gnu.org/80339 Fixes https://github.com/coreutils/coreutils/issues/185
2026-02-05build: propagate $SHELL to makeinfo-wrapper.shPádraig Brady-1/+1
A user that had an environment with SHELL=/usr/bin/fish reported the following when trying to build info docs: build-aux/missing (line 4): Unsupported use of '='. In fish * doc/local.mk: Propagate make's SHELL to our makeinfo wrapper, so that the substituted ${SHELL} uses a compatible shell from the Makefile.
2026-01-25doc: fix date(1) synopses etcPaul Eggert-19/+18
Font problem reported by Michael Aramini via Alejandro Colomar <https://bugs.gnu.org/80258>. This patch also fixes some longstanding confusion with date synopses. * src/date.c (usage): Do not imply that only -u can be used with MMDDhhmm..., and do not put misleading brackets around the latter.
2026-01-22doc: use TERM=dumb rather than HELP_NO_MARKUP to disable markupPádraig Brady-3/+3
This is a more standard mechanism to disable markup. * src/system.h (oputs_): Logic change to honor TERM=dumb, rather than HELP_NO_MARKUP=something. * doc/coreutils.texi: Adjust the description for --help. * man/local.mk: Ensure TERM is set to something, so that man pages have links included. * man/viewman: Just honor users $TERM. * tests/misc/getopt_vs_usage.sh: Remove env var complication, as TERM is unset automatically. * tests/misc/usage_vs_refs.sh: Likewise. * NEWS: Adjust the change in behavior note.
2026-01-21doc: cp: group related -HLP descriptionsPádraig Brady-19/+19
* src/cp (usage): The -HLP options are close in functionality and close alphabetically, so describe together. * doc/coreutils.texi (cp invocation): Likewise.
2026-01-21doc: cp: document --keep-directory-symlink in correct locationPádraig Brady-6/+6
* src/cp.c (usage): Move to alphabetically in list. * doc/coreutils.texi (mv invocation): Move description from here ... (cp invocation): ... to here.
2026-01-21doc: ls: document --block-size in the manualPádraig Brady-0/+6
* doc/coreutils.texi (ls invocation): Document --block-size
2026-01-21doc: who: document --users in manualPádraig Brady-1/+2
* doc/coreutils.texi (who invocation): Mention that --users is equivalent to -u. * src/who.c (usage): Mention -u shows idle time.
2026-01-21doc: id: document -a in manualPádraig Brady-0/+3
* doc/coreutils.texi (id invocation): Mention this option is ignored.
2026-01-21doc: more indexing fixes in manualPádraig Brady-8/+16
* doc/coreutils.texi: Add missing anchors. * src/pr.c (Usage): Adjust to use -COLS, to avoid a clash with the additional anchor added to the manual. Also markup the --columns option as done for other options. * tests/split/line-bytes.sh: Also fix --lines-bytes typo here.
2026-01-21doc: tty: fix indexing in texinfoEgmont Koblinger-3/+3
* doc/coreutils.texi: Fix recently introduced typo. * THANKS.in: Remove as now committed to the repo.
2026-01-21doc: readlink: improve option ordering in texinfoPádraig Brady-3/+3
* doc/coreutils.texi (readlink invocation): Order -q,-s alphabetically.
2026-01-21doc: ls: support styling and links in --help outputPádraig Brady-0/+4
* src/ls.c (oputs): A new function that wraps puts(), but also highlights the --option-text portion, and adds links to the appropriate part of the online manual. (usage): Call oputs() rather than puts(). * doc/coreutils.texi (--help): Document new HELP_NO_MARKUP env var, which can be used in the edge case one wants to suppress ansi escapes. * tests/misc/getopt_vs_usage.sh: Use HELP_NO_MARKUP to ensure the test continues to pass.
2026-01-18doc: post process html with non-GNU make programsCollin Funk-2/+4
* .gitignore (/build-aux/makeinfo-wrapper.sh): * Makefile.am (EXTRA_DIST): Remove build-aux/makeinfo-wrapper.sh. * build-aux/makeinfo-wrapper.sh.in: New file, renamed from build-aux/makeinfo-wrapper.sh and modified to use @MAKEINFO@ instead of makeinfo. * cfg.mk (MAKEINFO): Remove variable. * configure.ac: Add build-aux/makeinfo-wrapper.sh as a configure file. * doc/local.mk (MAKEINFO): Define to $(abs_top_builddir)/build-aux/makeinfo-wrapper.sh. (AM_MAKEINFOFLAGS): Move over some values from the previous MAKEINFO definition.
2026-01-18doc: add more redirections from legacy *sum to cksumPádraig Brady-1/+12
* doc/coreutils.texi (md5sum invocation, sha1sum invocation, b2sum invocation, sha2 utilities): Mention these are legacy interfaces, and reference 'cksum invocation'. * src/cksum.c (usage): Likewise. * man/md5sum.x: Redirect to cksum, rather than individual utils. * man/sha1sum.x: Likewise.
2026-01-15doc: paste: give a CSV generation examplePádraig Brady-0/+6
* doc/coreutils.texi (paste invocation): Provide an example to comma separate data.
2026-01-12doc: paste: add more detail on operation and optionsPádraig Brady-4/+28
* src/paste.c (usage): Mention how lines are processed with and without the -s option. Also mention that -d supports backslash escapes. * doc/coreutils.texi (paste invocation): Likewise. Also detail the backslash escapes, noting which are non-POSIX.
2026-01-11doc: runcon: use more accurate synopsis formatPádraig Brady-3/+3
* src/runcon.c (usage): Align synopsis with format used in other commands. * doc/coreutils.texi (runcon invocation): Likewise.
2026-01-06doc: tr: warn about shell quoting [:classes:]Pádraig Brady-0/+3
* src/tr.c (usage): Warn about avoiding shell globbing. * doc/coreutils.texi (character arrays): Likewise. Suggested by Daniel Dallos.
2026-01-05ptx: implement -t to change default width to 100Pádraig Brady-0/+6
Align the -t implementation with the Heirloom project. * src/ptx.c (usage): Describe -t, and also mention the default width is 72 when not used. * doc/coreutils.texi (ptx invocation): Likewise. (main): Override the default width if -t is specified. * tests/ptx/ptx.pl: Add test cases. * NEWS: Mention the change in behavior.
2026-01-01maint: run 'make update-copyright'Collin Funk-4/+4
2025-12-20doc: prefer UTF-8 characters in texinfo sourcesCollin Funk-4/+4
* doc/coreutils.texi (Introduction): Use ç instead of @,{c}. (Character arrays): Use ö instead of @"o. Use Ł instead of @L{}. (Formatting file timestamps): Use ä instead of @"a.
2025-12-20doc: ls: fix recent typo for -F option in texinfoPádraig Brady-1/+1
* doc/coreutils.texi (ls invocation): Add a missing hyphen that was inadvertently dropped in the recent adjustments.
2025-12-19doc: split,tac: document $TMPDIR usagePádraig Brady-2/+10
Following commit v9.3-92-g1b86b70dd $TMPDIR is part of the interface and an important behavioral characteristic of a command, which should be documented. * doc/coreutils.texi (split invocation): Mention $TMPDIR is honored. (tac invocation): Likewise. * src/split.c (usage): Likewise. * src/tac.c (usage): Likewise.
2025-12-16doc: tee: prefer cksum in examplesCollin Funk-12/+12
* doc/coreutils.texi (tee invocation): Use 'cksum' with '-a sha2' and '-a sha3' instead of md5sum and sha1sum in examples.
2025-12-13doc: dd: document the behavior of conv flags on multibyte charactersCollin Funk-0/+11
* doc/coreutils.texi (dd invocation): Document the behavior of 'dd' on multibyte characters and some unspecified behavior that will be documented in a future POSIX release [1]. [1] https://austingroupbugs.net/view.php?id=1959
2025-12-12doc: expand on shell-escape quoting stylePádraig Brady-7/+16
* doc/coreutils.texi (quotingStyles): Expand on the advantages of "shell-escape" quoting, and mention it's the default when outputting to a tty. Also mention how it's also useful with LC_ALL=C to further disambiguate output. Also reference the separate page detailing various considerations and options for file name quoting. Also move the mention of the default quoting style to the top of the page where it's more obvious.
2025-12-10doc: support html post processing in all casesPádraig Brady-8/+0
Previously the html-local make rule only worked for `make html`. Instead add support for `make doc/coreutils.html` or `make web-manual` through the use of a makeinfo wrapper. * doc/local.mk: Move post processing from here to ... * build-aux/makeinfo-wrapper.sh: ... here. * cfg.mk: Ensure our wrapper is called with MAKEINFO. Also pass --no-node-files so redirection html files are not created for each anchor.
2025-12-09doc: printf: mention how to print arguments starting with '-'Collin Funk-4/+9
* doc/coreutils.texi (printDash): New macro. (printf invocation, yes invocation): Use it. Addresses https://bugs.gnu.org/79896
2025-12-09doc: fix stale linuxjournal.com linkPádraig Brady-1/+1
* doc/coreutils.texi: Update to working link. Fixes https://bugs.gnu.org/79973
2025-12-09doc: html: fix build with parallel makeCollin Funk-4/+4
* doc/local.mk (html-local): Add html files to prerequisites so they are generated before 'sed' is invoked. Also interate over the already populated $(HTMLS) to be more general (to multiple html files), and more portable (to non GNU make).
2025-12-08doc: fix pdf generationPádraig Brady-706/+706
* doc/coreutils.texi: Explicitly supply empty arguments to macros, as dvi (a required prerequisite to pdf) is more strict in its handling of macro arguments. * cfg.mk (sc_texi_ensure_empty_option_args): Add a syntax check, since this is not verified in the default build. Reported by Collin Funk.