diff --git a/README.md b/README.md index f994a5d..017686a 100644 --- a/README.md +++ b/README.md @@ -98,12 +98,12 @@ A bar-style prompt showing current time, execution time of the last command | `conf_save` | conf | Save or update a key=value pair in a configuration section: `conf_save
`; replaces an existing key in place or appends it to the section (creating the section if absent); works through a symlinked file and keeps its permissions; the value must be single-line and the running shell is not updated (applies at next load) | | `disp` | disp | Display formatted info / warning / error / debug messages; long messages are word-wrapped and continuation lines are indented to align with the message text; honours `NO_COLOR`, `QUIET=1` (hides info messages) and `DEBUG` > 1 (shows debug messages); warnings, errors and debug go to stderr | | `dwl` | net | Download a URL using curl, wget, or fetch transparently; supports `-t ` / `--timeout ` to cap the transfer time | -| `expandlist` | filefct | Expand glob expressions into a quoted, separated list | +| `expandlist` | filefct | Expand glob expressions into a quoted, separated list; names with spaces are kept whole, `\`, `"`, `$` and `` ` `` are escaped, and the separator (`-s`, `-n` or `EXPANDLIST_DEFAULT_SEPARATOR`) may use escapes such as `\n` | | `fake_compile` | fun | Simulate a long compilation process with random warnings and errors | -| `file_stats` | filefct | Display file size statistics for a path | +| `file_stats` | filefct | Display file size statistics for a path; `--min`/`--max` are inclusive and validated, the histogram is sorted | | `findbig` | filefct | Find the biggest files in the given or current directory | | `finddead` | filefct | Find dead symbolic links in the given or current directory | -| `findzero` | filefct | Find empty files in the given or current directory | +| `findzero` | filefct | Find empty files in the given or current directory; `--delete` does not follow symlinks | | `gacp` | git | Add, commit and push changes; auto-pulls with rebase first if needed | | `genpwd` | pwd | Generate one or more random secure passwords with configurable constraints | | `ggraph` | git | Display a decorated git history graph | @@ -135,7 +135,7 @@ A bar-style prompt showing current time, execution time of the last command | `rain` | rain | Console screensaver with falling-rain effect (multiple color themes) | | `rainbow` | rain | Full-screen rainbow screensaver using only background colors, with horizontal color shifting | | `rmhost` | ssh | Remove host(s) (name and IP) from SSH known_hosts; supports `--all-users` as root | -| `rmspc` | filefct | Replace spaces in filenames with underscores (or a custom character) | +| `rmspc` | filefct | Replace spaces in filenames with underscores (or a custom character, attached: `-c-` / `--subst-char=-`); never overwrites an existing file and does not follow symlinked directories | | `setc` | lang | Set locale to standard C (POSIX) | | `setlocale` | lang | Set console locale to any installed locale | | `settrace` | debug | Activate (`--on`), deactivate (`--off`) or query (`--status`) an ERR trap that prints the exit status and a call stack (on stderr) for each failing command; `--force` replaces/removes an ERR trap set by something else; active at startup when `SETTRACE_DEFAULT_ENABLED=1` | diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index 80f88d3..46e21f8 100755 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -53,6 +53,16 @@ Versions follow `MAJOR.MINOR.PATCH-REVISION_STAGE_N` (e.g. `3.99.1-4_rc_1`). `\_`-style escapes are protected from emphasis/link parsing; `NO_COLOR` is honoured in tables and headings; fewer subprocesses when rendering tables; newlines in arguments no longer break option parsing. +- `filefct.sh`: `findzero` with `fd` listed (and `--delete` removed) one-byte + files; `findzero --delete` could remove symlinks to empty files; `rmspc` + overwrote existing files, passed a wrong replacement character to + subdirectories with `-r -c X`, followed symlinked directories and mishandled + `&` as replacement; `expandlist` split names containing spaces, ignored `\n` in + its separator and reset the caller's `nullglob`; `file_stats` histogram was + unordered, `--min` was exclusive and invalid sizes silently gave no result; + `findbig` accepted an invalid configured limit; names starting with `-` are + handled; `finddead` and `findzero` no longer return 1 when the last entry + was skipped. - `compress.sh`: option flags and loop variables no longer leak into the interactive shell.