diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-23 20:20:17 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-23 20:20:17 -0500 |
| commit | 32393c0eb7d1c071cb491b9c7c97c575aa27a3b7 (patch) | |
| tree | 9efbf218e024f4c849e28dff514a7d940cfff9ba | |
| parent | 4a7927bf7352e3e626dfb596a70bec9d3bc532eb (diff) | |
| download | dotemacs-32393c0eb7d1c071cb491b9c7c97c575aa27a3b7.tar.gz dotemacs-32393c0eb7d1c071cb491b9c7c97c575aa27a3b7.zip | |
docs(todo): close broad/misleading file-op clarification
| -rw-r--r-- | todo.org | 16 |
1 files changed, 2 insertions, 14 deletions
@@ -2416,21 +2416,9 @@ Closed the four injection-quoting cases. git-clone-clipboard-url now validates t =cj/dwim-shell-commands-concatenate-videos= built the ffmpeg concat list with =echo '<<*>>' | tr ' ' '\n' | sed 's/^/file /'=, which split on spaces and broke on quotes. Extracted =cj/dwim-shell--build-concat-filelist=, which renders each path as an escaped =file '...'= line (single quotes escaped as ='\''=), writes it to a temp file in Elisp, and runs =ffmpeg -f concat -i <quoted-listfile>= with a trailing =; rm -f= to clean up after the process exits. =<<*>>= stays only as an inert trailing shell comment so dwim-shell still runs one command over all marked files. 3 ERT tests cover plain paths, spaces, and an embedded quote. -***** TODO [#B] Clarify broad or misleading file-operation commands :safety:bug: +***** 2026-05-23 Sat @ 20:17:00 -0500 Clarified broad/misleading file-operation commands -Two dwim-shell commands look broader or weaker than their names suggest: -- =cj/dwim-shell-commands-remove-empty-directories= runs - =find . -type d -empty -delete= from the current directory, not from the marked - files. -- =cj/dwim-shell-commands-secure-delete= calls =shred= without =-u=, so it may - overwrite file contents but leave the directory entry in place. - -Expected outcome: -- Scope empty-directory cleanup to an explicit selected root and show that root - in the confirmation prompt. -- Decide whether secure delete should actually remove files with =shred -u= or - be renamed to describe overwrite-only behavior. -- Add tests around command strings or extract small pure builders. +=remove-empty-directories= ran =find . -type d -empty -delete= from the ambient current directory. Now it prompts for an explicit root (via =read-directory-name=), names that root in the confirmation, and runs =find <quoted-root> ...= built by =cj/dwim-shell--empty-dirs-command= (2 ERT tests cover the command shape + space quoting). =secure-delete= called =shred= without =-u=, overwriting file contents but leaving the file in place despite the name and the "permanently destroy" prompt; added =-u= (=shred -vfzu=) so it actually unlinks. Both use the inert =<<*>>= comment trick for single-execution. ***** TODO [#B] Quote X11 and audio recording command paths :bug:solo: |
