UNIX man pages were almost universally accurate, complete, and succinct. That third admirable attribute gave me the opportunity to write *Advanced UNIX Programming*. So I wasn't complaining. Marc On Sat, May 18, 2024, 11:33 PM Steffen Nurpmeso wrote: > Douglas McIlroy wrote in > : > |I just revisited this ironic echo of Mies van der Rohe's aphorism, "Less > is > |more". > | % less --help | wc > | 298 > |Last time I looked, the line count was about 220. Bloat is > self-catalyzing. > > I do not buy that. > You are working on Windows and in the meantime have switched to > one of those graphical browser monsters (i think) where each > instance has more code active than the entire Unix history > altogether. > > less(1) can now Unicode, and that is not as easy with ISO/POSIX as > it was on Plan9 for example which simply goes UTF-8 and has some > (smart) lookup tables (now in go, more or less, last i looked), > but that is not the whole picture of it. > > It can those ANSI / ISO 6429 color sequences that everybody wants, > as you have them everywhere, even GNU's yacc, bison. > > The OpenBSD people took a port done by an OpenSolaris (i think, > that scene, anyhow) guy, and together they stripped it down > massively. > > But i do not use it, because after almost exactly a decade i got > upstreamed to Nudelman's less(1) the necessary patches to have > active hyperlinks on the terminal, in a normal Unix (roff mdoc) > manual. (These work via OSC-8 escape sequences; it was a "15 > files changed, 601 insertions(+), 9 deletions(-)" patch, which > included careful quoting of file paths etc. for man(1) openings > (ie, such code gets lengthy), but he did it differently a bit, and > left off some things i wanted, included others (good), but if you > use --mouse with his one then you have a real browser feeling. > I have problems with --mouse, unfortunately, because when used you > can no longer copy+paste -- he would need to add clipboard control > in addition i'd say.., adding even more code.) > > You know, it may be viable for some tools, but for others, .. not. > You say it yourself in your "A Research UNIX Reader": "Electronic > mail was there from the start. Never satisfied with its exact > behavior, everybody touched it at one time or another". > In the meantime the IETF went grazy and produced masses of > standards, and unfortunately each one adds a little bit that needs > to be addressed differently, and all that needs documentation. > Now mail is an extreme example. > > And almost a quarter of a century ago i wrote a small pager that > even had a clock, and it required less CPU on a day with some > scrolling than less/ncurses for a one time scroll through the > document. But that pager is history, and less is still there, > running everywhere, and being used by me dozens to hundreds time > a day. Also with colours, with searching, and now also with > > ^O^N ^On * Search forward for (N-th) OSC8 hyperlink. > ^O^P ^Op * Search backward for (N-th) OSC8 hyperlink. > ^O^L ^Ol Jump to the currently selected OSC8 hyperlink. > > And prepared mdoc manuals can now display on a normal Unix > terminal in a normal (actively OSC-8 supporting $PAGER) a TOC (at > will, with links), and have external (man:, but also http: etc; > man is built into less(1) -- yay!) links, too. > For example here ∞ is an external, and † are internal links: > > The OpenSSL program ciphers(1)∞ should be referred to when creating a > custom cipher list. Variables of interest for TLS in general are > tls-ca-dir†, tls-ca-file†, tls-ca-flags†, tls-ca-no-defaults†, > tls-config-file†, tls-config-module†, tls-config-pairs > > So ^O^L on that ciphers(1) opens a new man(1)ual instance. > For all this functionality a program with 221K bytes is small: > > 221360 May 18 22:13 ...less* > > Also it starts up into interactive mode with --help. > So you could have "full interactivity" and colours and mouse, and > configurability to a large extend, which somehow has to be > documented, in just 221 K bytes. > > I give in in that i try to have --help/-h and --long-help/-H, but > sometimes that -h is only minimal, because a screenful of data is > simply not enough to allow users to have a notion. > > So less could split the manual into a less.1 and a less-book.7. > The same is true for bash, for sure. (And for my little mailer.) > But things tend to divert, and it is hard enough to keep one > manual in sync with the codebase, especially if you develop > focused and expert-idiotized in a one man show. > > |What prompted me to look was another disheartening discovery. The "small > |special tool" Gnu diff has a 95-page manual! And it doesn't cover the > |option I was looking up (-h). To be fair, the manual includes related > |programs like diff3(1), sdiff(1) and patch(1), but the original manual > for > |each fit on one page. > --End of .com> > > --steffen > | > |Der Kragenbaer, The moon bear, > |der holt sich munter he cheerfully and one by one > |einen nach dem anderen runter wa.ks himself off > |(By Robert Gernhardt) >