[Toybox] [PATCH] ls -N.

Rob Landley rob at landley.net
Thu Dec 1 12:50:20 PST 2022


On 12/1/22 14:12, enh wrote:
>     Because generated/flags.h has:
> 
>       #define FLAG_b (1<<18)
>       ...
>       #define FLAG_show_control_chars (1LL<<31)
> 
> oh, `toybox ls --help` made me assume we didn't have --show-control-chars ---
> should i send a patch to add that to the help, or are you already doing that as
> part of the cleanup below?

I had an in-progress change to deal with that github request about more control
over alphebetization which I backed out to apply this:

$ diffstat pending.patch
 ls.c |   15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

One of the things that did was added show-control-chars to the help text. I'm
trying to get changes in as smaller chunks instead of letting them turn into big
does-many-things hairballs I keep finding weird corner cases of and having to
redo over and over. (I have now written and removed absolute path prefix logic
for "cp -rs" FIVE TIMES as I hit different tests that said we should and should
not do it, and I wrote up but haven't yet posted a blog entry explaining that
there are THREE cases there, because /absolute/path doesn't get ../ prepended to
it but when you "cd one; cp -rs . ../dir' the symlinks from dir look like
"../one/blah" but it does not have "one" on the command line so has to get it by
prepending getcwd() thus making an absolute path and then turn that BACK into a
relative path. Which I have functions for already in lib, but need to know when
to use.

Gnu is, of course, no help here, it literally has an error message "can make
relative symbolic links only in current directory" for that third case, which
doesn't stop it recursing, it just gets spammy about it...

Rob

P.S. But yes, the big 1.0 release polishing pass isn't just about properly
filling out the test suite to test every corner case. To do so I need to to
re-audit every command, which also means making sure the help text isn't missing
anything unintentional, and evaluating the TODO entries and either doing them or
removing them. To be honest that should be an iterative periodic thing including
making updated videos for usage and source walkthrough, but there's only so many
hours in the day. I blogged once about how the 80/20 rule is recursive which
means the amount of work that gets you to 80% needs to be repeated to get you to
96% and then again to get you to 99%...


More information about the Toybox mailing list