Hi James, James K. Lowden wrote on Fri, Apr 29, 2016 at 10:40:41AM -0400:
> On Fri, 29 Apr 2016 10:56:52 +0200 > Ingo Schwarze <schwa...@usta.de> wrote: >> 4. Let the man(1) steering program fork and exec less(1). > I'm using NetBSD 7.0, and my /usr/bin/man doesn't work as you > describe, at least not for pdksh and a few others I tried. I was talking about the CVS HEAD version of the mandoc toolbox from bsd.lv, sorry that i didn't say that explicitly. NetBSD is still using the latest mandoc release, 1.13.3, which doesn't contain the :t functionality yet. Besides, the NetBSD man(1) is still the traditional BSD implementation, not the mandoc implementation, even though it uses mandoc(1) as the formatter. But it should be easy to compile mandoc from CVS HEAD source code on NetBSD 7.0 and install that as man(1) if you want to have it. Operating systems i know of that already use the mandoc implementation of man(1) by default are OpenBSD, Alpine Linux, and Void Linux. Among these, OpenBSD (both -stable and -current) is probably the only one having :t support out of the box. >> When stdout is not a terminal ... indexing isn't attempted, and >> when called as mandoc(1) rather than man(1), it isn't at all. > I'm pretty sure my man invokes mandoc as "mandoc". Would that be a > problem? That cannot work. If man(1) invokes an external mandoc(1) via fork and exec, there is no :t support. You need a version of mandoc where /usr/bin/man and /usr/bin/mandoc are hard links to one and the same executable file. Otherwise, man cannot know the name of the temporary ctags file that mandoc created, so it cannot pass it on to less. Yours, Ingo