Hi Dirk, On 4/5/23 12:02, Dirk Gouders wrote: > Hi Alex, > >>> first of all, chances are that you consider this post as spam, because >>> this list is about linux manual pages and not pagers. >> >> No, I don't. > > that's fine, thank you for taking the time give me feedback. > :) > If you want to take a look at it: there is a branch "next" which you > might prefer as it closer resembles my current work. There is a new > toggle "-V" that can be used to completely turn off validation. > > I tried to assemble a Makefile that might work without a configure > script and attach it to the end. A prefix /usr is the default value, if > your system prefers /usr/local you can use `make prefix=/usr/local The default prefix in GNU should be /usr/local > install`. I hope I prepared some reasonable Makefile... I'll have a look. > > Concerning meson.build: I decided to have a look at meson as the > autobuild tool for lsp. I am just gathering experiences with it and if > you have meson(1) installed you could use thes steps to (un)install lsp: > > $ # cd to lsp directory > $ meson setup --prefix=/usr builddir ; cd builddir > $ ninja install # or uninstall >> If it's the first, how do you handle exit(1)? Is it a reference, or is it >> just code (with the meaning exit(EXIT_FAILURE))? > > exit(1) gets recognized as a possible reference but validation will fail. `man 'exit(1)'` works for me. It brings the exit(1posix) page, from manpages-posix. > No, broken references aren't marked. Usually those unavailable > references make sense, e.g. if a manual page references some program > that not everyone uses. > > One example that I couldn't resolve so far is a reference to > getconf(1) for example in fpatchconf(3). Up to now I was not able to > find out which package contains getconf(1)... $ apt-file find /getconf.1 glibc-source: /usr/src/glibc/debian/local/manpages/getconf.1 libc-bin: /usr/share/man/man1/getconf.1.gz manpages-fr: /usr/share/man/fr/man1/getconf.1.gz It's in libc-bin. BTW, did you mean fpathconf(3)? > >>> >>> • In windowing environments lsp does complete resizes when windows >>> get resized. This means it also reloads the manual page to fit the >>> new window size. >> >> Good. This I miss it in less(1) often. Not sure if they had any strong >> reason to not support that. > > Unfortunately, info(1) also doesn't do full resizes (on my system). > >>> >>> • Search for manual pages using apropos(1); in the current most basic >>> form it lists all known manual pages ready for text search and >>> visiting referenced manual pages. >> >> What does it bring that `apropos * | less` can't do? If you're going the >> of info(1) with full-blown system, it seems reasonable, but I never really >> liked all that if it's just a new terminal and a command away from me. > > You get a pseudo-file from where you can reach any manual page on the > system. Originally I thought this to help novice users but since lsp is > my system's PAGER I use it more often than expected. I'm missing the > ability to give keywords to apropos but that's just a matter of time to > get fixed. I guess that's a matter of preferring navigation in some interactive program (to me, info(1) style), vs standalone simple commands where you first find what you want, then run it. I don't find that magic much more comfortable than $ apropos sysctl ... oh, I find many freebsd pages, let's grep them out ... $ apropos sysctl | grep -v freebsd ... hmm, let's see system ... $ apropos system | grep -v freebsd ... okay, now this shows a lot of stuff, let's remove man1 ... $ apropos system | grep -v -e freebsd -e '(1' ... I don't want systemd either ... $ apropos system | grep -v -e freebsd -e '(1' -e systemd ... let's sort by section and navigate through that list ... $ apropos system | grep -v -e freebsd -e '(1' -e systemd | sort -k2 | less Find some pages that may be interesting, note them down, and open them one by one, in different tabs, until I find I wanted to read proc(5), and close everything else. Which brings us to a valid point Eli raised. Some pages are an unreadable mess, and I think proc(5) is one of those that needs a big split into smaller pages such as proc_pid_attr(5). Cheers, Alex -- GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5