Coreutils implemented in Gerbil Scheme.
  • Scheme 87.9%
  • Shell 12%
Find a file
Jaime Fournier 5b39167139 Fix ls exit code 2 when files/dirs not found
When ls cannot access a command-line argument, it previously called
warn() (which prints to stderr) but always returned exit code 0.
POSIX requires exit code 2 for "serious trouble" like inaccessible
files. Now tracks any access error via had-error? and calls (exit 2)
at the end if any argument was inaccessible.

This fixes the gsh compat-smoke test #15 which checks that
`ls /nonexistent-zzZZ` returns exit status 2.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 15:15:35 -07:00
common Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
test Add final 4 utilities: sha224sum, sha384sum, dir, vdir 2026-02-23 22:20:28 -07:00
.gitignore Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
arch.ss Add 10 more utilities: ln, readlink, realpath, truncate, uname, arch, id, groups, tsort, factor 2026-02-23 20:35:16 -07:00
b2sum.ss Add 12 more utilities: install, shred, pinky, basenc, b2sum, sum, od, csplit, pr, chcon, runcon, ptx 2026-02-23 21:57:01 -07:00
base32.ss Add 8 more utilities: env, timeout, kill, nice, nohup, shuf, base64, base32 2026-02-23 20:47:54 -07:00
base64.ss Add 8 more utilities: env, timeout, kill, nice, nohup, shuf, base64, base32 2026-02-23 20:47:54 -07:00
basename-test.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
basename.ss Fix 47 of 48 comparison test failures against GNU coreutils (207/208 pass) 2026-02-23 18:02:34 -07:00
basenc.ss Add 12 more utilities: install, shred, pinky, basenc, b2sum, sum, od, csplit, pr, chcon, runcon, ptx 2026-02-23 21:57:01 -07:00
build.ss Revert parallel build: race condition on 138 exe link steps 2026-02-24 11:12:09 -07:00
cat-test.ss updates 2026-02-16 19:45:52 -07:00
cat.ss Fix 47 of 48 comparison test failures against GNU coreutils (207/208 pass) 2026-02-23 18:02:34 -07:00
chcon.ss Add 12 more utilities: install, shred, pinky, basenc, b2sum, sum, od, csplit, pr, chcon, runcon, ptx 2026-02-23 21:57:01 -07:00
chgrp.ss Add 12 more utilities: chmod, chown, chgrp, stat, date, expr, test, who, du, df, split, dircolors 2026-02-23 21:35:47 -07:00
chmod.ss Add 12 more utilities: chmod, chown, chgrp, stat, date, expr, test, who, du, df, split, dircolors 2026-02-23 21:35:47 -07:00
chown.ss Add 12 more utilities: chmod, chown, chgrp, stat, date, expr, test, who, du, df, split, dircolors 2026-02-23 21:35:47 -07:00
chroot.ss Add 14 more utilities: hostid, users, uptime, chroot, mkfifo, mknod, pathchk, fmt, printf, cksum, md5sum, sha1sum, sha256sum, sha512sum 2026-02-23 21:10:13 -07:00
cksum.ss Add 14 more utilities: hostid, users, uptime, chroot, mkfifo, mknod, pathchk, fmt, printf, cksum, md5sum, sha1sum, sha256sum, sha512sum 2026-02-23 21:10:13 -07:00
comm.ss Fix 47 of 48 comparison test failures against GNU coreutils (207/208 pass) 2026-02-23 18:02:34 -07:00
common-test.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
common.ss Fix 47 of 48 comparison test failures against GNU coreutils (207/208 pass) 2026-02-23 18:02:34 -07:00
complete.md Add 9 new utilities: hostname, nproc, tty, sync, mkdir, rmdir, mktemp, touch, seq 2026-02-23 20:26:54 -07:00
cp.ss Add 7 more utilities: cp, mv, rm, ls, dd, stty, stdbuf 2026-02-23 22:14:30 -07:00
csplit.ss Add 12 more utilities: install, shred, pinky, basenc, b2sum, sum, od, csplit, pr, chcon, runcon, ptx 2026-02-23 21:57:01 -07:00
cut.ss Fix 47 of 48 comparison test failures against GNU coreutils (207/208 pass) 2026-02-23 18:02:34 -07:00
date.ss Add 12 more utilities: chmod, chown, chgrp, stat, date, expr, test, who, du, df, split, dircolors 2026-02-23 21:35:47 -07:00
dd.ss Add 7 more utilities: cp, mv, rm, ls, dd, stty, stdbuf 2026-02-23 22:14:30 -07:00
df.ss Add 12 more utilities: chmod, chown, chgrp, stat, date, expr, test, who, du, df, split, dircolors 2026-02-23 21:35:47 -07:00
dir.ss Add final 4 utilities: sha224sum, sha384sum, dir, vdir 2026-02-23 22:20:28 -07:00
dircolors.ss Add 12 more utilities: chmod, chown, chgrp, stat, date, expr, test, who, du, df, split, dircolors 2026-02-23 21:35:47 -07:00
dirname-test.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
dirname.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
du.ss Add 12 more utilities: chmod, chown, chgrp, stat, date, expr, test, who, du, df, split, dircolors 2026-02-23 21:35:47 -07:00
echo-test.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
echo.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
env.ss Add 8 more utilities: env, timeout, kill, nice, nohup, shuf, base64, base32 2026-02-23 20:47:54 -07:00
expand-test.ss updates 2026-02-16 19:45:52 -07:00
expand.ss updates 2026-02-16 19:45:52 -07:00
expr.ss Add 12 more utilities: chmod, chown, chgrp, stat, date, expr, test, who, du, df, split, dircolors 2026-02-23 21:35:47 -07:00
factor.ss Add 10 more utilities: ln, readlink, realpath, truncate, uname, arch, id, groups, tsort, factor 2026-02-23 20:35:16 -07:00
false-test.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
false.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
fmt.ss Add 14 more utilities: hostid, users, uptime, chroot, mkfifo, mknod, pathchk, fmt, printf, cksum, md5sum, sha1sum, sha256sum, sha512sum 2026-02-23 21:10:13 -07:00
fold-test.ss updates 2026-02-16 19:45:52 -07:00
fold.ss Fix Phase 2 test failures: fold.ss space-break bug, tail/wc test expectations 2026-02-16 19:57:39 -07:00
gerbil.pkg Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
groups.ss Add 10 more utilities: ln, readlink, realpath, truncate, uname, arch, id, groups, tsort, factor 2026-02-23 20:35:16 -07:00
head-test.ss updates 2026-02-16 19:45:52 -07:00
head.ss Fix 47 of 48 comparison test failures against GNU coreutils (207/208 pass) 2026-02-23 18:02:34 -07:00
hostid.ss Add 14 more utilities: hostid, users, uptime, chroot, mkfifo, mknod, pathchk, fmt, printf, cksum, md5sum, sha1sum, sha256sum, sha512sum 2026-02-23 21:10:13 -07:00
hostname.ss Add 9 new utilities: hostname, nproc, tty, sync, mkdir, rmdir, mktemp, touch, seq 2026-02-23 20:26:54 -07:00
id.ss Add 10 more utilities: ln, readlink, realpath, truncate, uname, arch, id, groups, tsort, factor 2026-02-23 20:35:16 -07:00
install.ss Add 12 more utilities: install, shred, pinky, basenc, b2sum, sum, od, csplit, pr, chcon, runcon, ptx 2026-02-23 21:57:01 -07:00
join.ss fixes 2026-02-16 20:03:19 -07:00
kill.ss Add 8 more utilities: env, timeout, kill, nice, nohup, shuf, base64, base32 2026-02-23 20:47:54 -07:00
link-test.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
link.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
ln.ss Add 10 more utilities: ln, readlink, realpath, truncate, uname, arch, id, groups, tsort, factor 2026-02-23 20:35:16 -07:00
logname.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
ls.ss Fix ls exit code 2 when files/dirs not found 2026-02-25 15:15:35 -07:00
Makefile Add 14 more utilities: hostid, users, uptime, chroot, mkfifo, mknod, pathchk, fmt, printf, cksum, md5sum, sha1sum, sha256sum, sha512sum 2026-02-23 21:10:13 -07:00
md5sum.ss Add 14 more utilities: hostid, users, uptime, chroot, mkfifo, mknod, pathchk, fmt, printf, cksum, md5sum, sha1sum, sha256sum, sha512sum 2026-02-23 21:10:13 -07:00
mkdir.ss Add 9 new utilities: hostname, nproc, tty, sync, mkdir, rmdir, mktemp, touch, seq 2026-02-23 20:26:54 -07:00
mkfifo.ss Add 14 more utilities: hostid, users, uptime, chroot, mkfifo, mknod, pathchk, fmt, printf, cksum, md5sum, sha1sum, sha256sum, sha512sum 2026-02-23 21:10:13 -07:00
mknod.ss Add 14 more utilities: hostid, users, uptime, chroot, mkfifo, mknod, pathchk, fmt, printf, cksum, md5sum, sha1sum, sha256sum, sha512sum 2026-02-23 21:10:13 -07:00
mktemp.ss Add 9 new utilities: hostname, nproc, tty, sync, mkdir, rmdir, mktemp, touch, seq 2026-02-23 20:26:54 -07:00
mv.ss Add 7 more utilities: cp, mv, rm, ls, dd, stty, stdbuf 2026-02-23 22:14:30 -07:00
nice.ss Add 8 more utilities: env, timeout, kill, nice, nohup, shuf, base64, base32 2026-02-23 20:47:54 -07:00
nl-test.ss updates 2026-02-16 19:45:52 -07:00
nl.ss Fix 47 of 48 comparison test failures against GNU coreutils (207/208 pass) 2026-02-23 18:02:34 -07:00
nohup.ss Add 8 more utilities: env, timeout, kill, nice, nohup, shuf, base64, base32 2026-02-23 20:47:54 -07:00
nproc.ss Add 9 new utilities: hostname, nproc, tty, sync, mkdir, rmdir, mktemp, touch, seq 2026-02-23 20:26:54 -07:00
numfmt.ss Fix 47 of 48 comparison test failures against GNU coreutils (207/208 pass) 2026-02-23 18:02:34 -07:00
od.ss Add 12 more utilities: install, shred, pinky, basenc, b2sum, sum, od, csplit, pr, chcon, runcon, ptx 2026-02-23 21:57:01 -07:00
paste.ss Fix 47 of 48 comparison test failures against GNU coreutils (207/208 pass) 2026-02-23 18:02:34 -07:00
pathchk.ss Add 14 more utilities: hostid, users, uptime, chroot, mkfifo, mknod, pathchk, fmt, printf, cksum, md5sum, sha1sum, sha256sum, sha512sum 2026-02-23 21:10:13 -07:00
pinky.ss Add 12 more utilities: install, shred, pinky, basenc, b2sum, sum, od, csplit, pr, chcon, runcon, ptx 2026-02-23 21:57:01 -07:00
plan.md updates 2026-02-16 19:45:52 -07:00
pr.ss Add 12 more utilities: install, shred, pinky, basenc, b2sum, sum, od, csplit, pr, chcon, runcon, ptx 2026-02-23 21:57:01 -07:00
printenv-test.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
printenv.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
printf.ss Add 14 more utilities: hostid, users, uptime, chroot, mkfifo, mknod, pathchk, fmt, printf, cksum, md5sum, sha1sum, sha256sum, sha512sum 2026-02-23 21:10:13 -07:00
ptx.ss Add 12 more utilities: install, shred, pinky, basenc, b2sum, sum, od, csplit, pr, chcon, runcon, ptx 2026-02-23 21:57:01 -07:00
pwd-test.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
pwd.ss Fix 47 of 48 comparison test failures against GNU coreutils (207/208 pass) 2026-02-23 18:02:34 -07:00
readlink.ss Add 10 more utilities: ln, readlink, realpath, truncate, uname, arch, id, groups, tsort, factor 2026-02-23 20:35:16 -07:00
README.md first commit 2026-02-16 19:14:55 -07:00
realpath.ss Add 10 more utilities: ln, readlink, realpath, truncate, uname, arch, id, groups, tsort, factor 2026-02-23 20:35:16 -07:00
rm.ss Add 7 more utilities: cp, mv, rm, ls, dd, stty, stdbuf 2026-02-23 22:14:30 -07:00
rmdir.ss Add 9 new utilities: hostname, nproc, tty, sync, mkdir, rmdir, mktemp, touch, seq 2026-02-23 20:26:54 -07:00
runcon.ss Add 12 more utilities: install, shred, pinky, basenc, b2sum, sum, od, csplit, pr, chcon, runcon, ptx 2026-02-23 21:57:01 -07:00
seq.ss Add 9 new utilities: hostname, nproc, tty, sync, mkdir, rmdir, mktemp, touch, seq 2026-02-23 20:26:54 -07:00
sha1sum.ss Add 14 more utilities: hostid, users, uptime, chroot, mkfifo, mknod, pathchk, fmt, printf, cksum, md5sum, sha1sum, sha256sum, sha512sum 2026-02-23 21:10:13 -07:00
sha224sum.ss Add final 4 utilities: sha224sum, sha384sum, dir, vdir 2026-02-23 22:20:28 -07:00
sha256sum.ss Add 14 more utilities: hostid, users, uptime, chroot, mkfifo, mknod, pathchk, fmt, printf, cksum, md5sum, sha1sum, sha256sum, sha512sum 2026-02-23 21:10:13 -07:00
sha384sum.ss Add final 4 utilities: sha224sum, sha384sum, dir, vdir 2026-02-23 22:20:28 -07:00
sha512sum.ss Add 14 more utilities: hostid, users, uptime, chroot, mkfifo, mknod, pathchk, fmt, printf, cksum, md5sum, sha1sum, sha256sum, sha512sum 2026-02-23 21:10:13 -07:00
shred.ss Add 12 more utilities: install, shred, pinky, basenc, b2sum, sum, od, csplit, pr, chcon, runcon, ptx 2026-02-23 21:57:01 -07:00
shuf.ss Add 8 more utilities: env, timeout, kill, nice, nohup, shuf, base64, base32 2026-02-23 20:47:54 -07:00
sleep-test.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
sleep.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
sort.ss Fix 47 of 48 comparison test failures against GNU coreutils (207/208 pass) 2026-02-23 18:02:34 -07:00
split.ss Add 12 more utilities: chmod, chown, chgrp, stat, date, expr, test, who, du, df, split, dircolors 2026-02-23 21:35:47 -07:00
stat.ss Add 12 more utilities: chmod, chown, chgrp, stat, date, expr, test, who, du, df, split, dircolors 2026-02-23 21:35:47 -07:00
stdbuf.ss Add 7 more utilities: cp, mv, rm, ls, dd, stty, stdbuf 2026-02-23 22:14:30 -07:00
stty.ss Add 7 more utilities: cp, mv, rm, ls, dd, stty, stdbuf 2026-02-23 22:14:30 -07:00
sum.ss Add 12 more utilities: install, shred, pinky, basenc, b2sum, sum, od, csplit, pr, chcon, runcon, ptx 2026-02-23 21:57:01 -07:00
sync.ss Add 9 new utilities: hostname, nproc, tty, sync, mkdir, rmdir, mktemp, touch, seq 2026-02-23 20:26:54 -07:00
tac-test.ss updates 2026-02-16 19:45:52 -07:00
tac.ss Fix 47 of 48 comparison test failures against GNU coreutils (207/208 pass) 2026-02-23 18:02:34 -07:00
tail-test.ss Fix Phase 2 test failures: fold.ss space-break bug, tail/wc test expectations 2026-02-16 19:57:39 -07:00
tail.ss Fix 47 of 48 comparison test failures against GNU coreutils (207/208 pass) 2026-02-23 18:02:34 -07:00
tee-test.ss updates 2026-02-16 19:45:52 -07:00
tee.ss updates 2026-02-16 19:45:52 -07:00
test.ss Add 12 more utilities: chmod, chown, chgrp, stat, date, expr, test, who, du, df, split, dircolors 2026-02-23 21:35:47 -07:00
timeout.ss Add 8 more utilities: env, timeout, kill, nice, nohup, shuf, base64, base32 2026-02-23 20:47:54 -07:00
touch.ss Add 9 new utilities: hostname, nproc, tty, sync, mkdir, rmdir, mktemp, touch, seq 2026-02-23 20:26:54 -07:00
tr.ss Fix 47 of 48 comparison test failures against GNU coreutils (207/208 pass) 2026-02-23 18:02:34 -07:00
true-test.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
true.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
truncate.ss Add 10 more utilities: ln, readlink, realpath, truncate, uname, arch, id, groups, tsort, factor 2026-02-23 20:35:16 -07:00
tsort.ss Add 10 more utilities: ln, readlink, realpath, truncate, uname, arch, id, groups, tsort, factor 2026-02-23 20:35:16 -07:00
tty.ss Add 9 new utilities: hostname, nproc, tty, sync, mkdir, rmdir, mktemp, touch, seq 2026-02-23 20:26:54 -07:00
uname.ss Add 10 more utilities: ln, readlink, realpath, truncate, uname, arch, id, groups, tsort, factor 2026-02-23 20:35:16 -07:00
unexpand.ss updates 2026-02-16 19:45:52 -07:00
uniq.ss fixes 2026-02-16 20:03:19 -07:00
unlink.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
uptime.ss Add 14 more utilities: hostid, users, uptime, chroot, mkfifo, mknod, pathchk, fmt, printf, cksum, md5sum, sha1sum, sha256sum, sha512sum 2026-02-23 21:10:13 -07:00
users.ss Add 14 more utilities: hostid, users, uptime, chroot, mkfifo, mknod, pathchk, fmt, printf, cksum, md5sum, sha1sum, sha256sum, sha512sum 2026-02-23 21:10:13 -07:00
vdir.ss Add final 4 utilities: sha224sum, sha384sum, dir, vdir 2026-02-23 22:20:28 -07:00
wc-test.ss Fix Phase 2 test failures: fold.ss space-break bug, tail/wc test expectations 2026-02-16 19:57:39 -07:00
wc.ss Fix 47 of 48 comparison test failures against GNU coreutils (207/208 pass) 2026-02-23 18:02:34 -07:00
who.ss Add 12 more utilities: chmod, chown, chgrp, stat, date, expr, test, who, du, df, split, dircolors 2026-02-23 21:35:47 -07:00
whoami-test.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
whoami.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00
yes.ss Add Phase 0 infrastructure and Phase 1 trivial utilities 2026-02-16 19:37:49 -07:00

gerbil-coreutils