Commit Graph
19522 Commits
Author SHA1 Message Date
40c36f6e4e uucore/build.rs: use functional style in fn (#12250)
for better readability

Co-authored-by: xtqqczze <45661989+xtqqczze@users.noreply.github.com>
2026-05-15 13:16:06 +02:00
oech3andGitHub 873a7c7520 README.md: update compatibility (#12302) 2026-05-15 11:47:14 +02:00
oech3andGitHub b2c5b33bab Add CI for cygwin except for date (#12304) 2026-05-15 11:46:23 +02:00
oech3andGitHub cb5a84e255 tee: improve throughput by raw syscall - 17x perf win (#12131) 2026-05-15 11:44:08 +02:00
oech3andDaniel Hofstetter 645c1e3783 yes: reduce lines by cfg 2026-05-15 09:13:10 +02:00
Frédéric NadeauandGitHub 546e233e14 head/tail: use OPTION rather than FLAG (#12301)
This brings head & tail in par with all the other utils. French
translation of tail is already using OPTION.

head and tail now have the same print layout as each other: one empty
line before "Mandatory arguments..."

These changes reflect brings the help messages closer to the coreutils
version of head and tail.
2026-05-15 09:08:48 +02:00
Dorian PéronandDaniel Hofstetter 6a942ba403 cksum: Introduce HashLength newtype to avoid byte/bit misuse 2026-05-14 14:07:35 +02:00
oech3andDaniel Hofstetter cb833df504 uucore: remove unsafe get_groups 2026-05-14 10:09:44 +02:00
xtqqczzeandDaniel Hofstetter 7a83db44c3 sort: replace nix feature resource with rustix 2026-05-14 09:29:47 +02:00
xtqqczzeandDaniel Hofstetter 16a5e5b108 CI: add tests/misc/io-errors to intermittent 2026-05-14 09:13:53 +02:00
oech3andGitHub 0c21cb9c29 tr: replace nix by rustix (#12266) 2026-05-13 07:53:46 +02:00
xtqqczzeandGitHub f4a0bb3bcd more: replace nix::unistd with std::fs (#12268) 2026-05-13 07:44:26 +02:00
oech3andGitHub eca185b22b replace nix getgroups by rustix (#12269) 2026-05-13 07:41:32 +02:00
vijuandGitHub b1c267fd73 dd: support wasm32-wasip1 (#12258) 2026-05-12 16:55:32 +02:00
xtqqczzeandGitHub b7769ce515 vscode: update rust-analyzer check command to use clippy (#12197) 2026-05-12 16:55:05 +02:00
Sylvestre LedruandDaniel Hofstetter 28cff684bd head: fix -c0 and -n0 on directories to match GNU behavior
When zero bytes or zero lines are requested, there is nothing to read,
so we should not check whether the path is a directory. GNU head
succeeds in this case because it never attempts to open/read the file.

Previously, uutils head would stat the file and reject directories
even when no reading was needed, causing a spurious 'Is a directory'
error.

Fixes #12215
2026-05-12 14:49:42 +02:00
oech3andGitHub 0b04f5ec69 yes: fix wrong assumption for stdout (#12249) 2026-05-12 11:47:12 +02:00
oech3andDaniel Hofstetter 398b3d962e uucore/build.rs: remove unsafe 2026-05-12 10:34:26 +02:00
Aaron AngandGitHub 6f102bf934 more: gate tty-only writes; extract clear_line/highlight_text (#12224)
Pager unconditionally wrote ANSI sequences (Attribute::Reverse, Clear,
MoveTo) even when stdout was not a tty, leaking escape codes into pipes.
Gate each on stdout.is_tty() through two helpers and apply them at every
call site: error prompts, multi-file header, screen update, line clear,
pattern highlight, and the status bar.
2026-05-12 09:47:03 +02:00
Sylvestre LedruandDaniel Hofstetter f057cc6a01 tests: replace .no_stdout().no_stderr() chains with .no_output()
Bulk rename of the antipattern across 19 test files (136 occurrences).
.no_output() is the established shorthand in the uutests framework
for asserting both empty stdout and empty stderr.
2026-05-12 09:31:31 +02:00
oech3andDaniel Hofstetter 8aa9d9c9b6 mv: dedup libc 2026-05-12 09:22:14 +02:00
renovate[bot]andDaniel Hofstetter 089db5277a chore(deps): update rust crate clap_complete to v4.6.5 2026-05-12 07:35:50 +02:00
renovate[bot]andDaniel Hofstetter cebdaff7dd chore(deps): update rust crate ctor to v1.0.5 2026-05-12 07:27:44 +02:00
Daniel HofstetterandGitHub 960433be35 ci: add timeout for benchmark job (#12219) 2026-05-11 19:52:33 +02:00
Aaron AngandGitHub 95c78a5737 more: replace InputType enum with Input struct; cache file_size (#12225)
InputType used a 2-variant enum to dispatch read_line/len; len() returned
Result<Option<u64>> because metadata() was called on every invocation.
Replace with a single Input struct holding Box<dyn BufRead> plus a cached
file_size, computed once at construction. Pager::new no longer needs to
return UResult since the only fallible call is gone.

Drive-by: rename page_resize -> resize_page (verb-first matches every
other Pager method); upgrade MULTI_FILE_TOP_PROMPT comment to a doc
comment.
2026-05-11 19:52:14 +02:00