Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!cs.utexas.edu!uunet!mcsun!unido!ira.uka.de!smurf!urlichs From: urlichs@smurf.sub.org (Matthias Urlichs) Newsgroups: comp.unix.aux Subject: Re: A variety of small but annoying bugs in A/UX 2.0.1 Message-ID: Date: 31 Mar 91 01:06:33 GMT References: <1991Mar28.071337.1542@panix.uucp> <1991Mar28.074451.4116@panix.uucp> Organization: University of Karlsruhe, FRG Lines: 116 In comp.unix.aux, article <1991Mar28.074451.4116@panix.uucp>, alexis@panix.uucp (Alexis Rosen) writes: < < 4) man < Speaking of man, there has been no fix for the problem of man not waiting < at the end of one man page before showing the next. Also, it still has < minor problems with I/O redirection. More importantly, the -T flag doesn't < seem to work right- with "-Tdumb", the output is still full of backspaces < and repeated characters. (Is this a bug or a 'feature?') < That's not a problem with "man", but with "more". The easy fix is probably to install "less" and use that as pager. While you're at it, move all that nonsense from /usr/catman/?.man/manN to /usr/man/catN, for N = 1..8, and create directories /usr/man/manN for the benefit of not having to edit every Makefile in existence. You might also want to unpack all manual pages and re-compress them. That will make them smaller. My man script currently looks like this: (it's very ugly, BTW -- someday soon I'll install the Perl manual package) #!/bin/sh # BASE=/usr/man sec=\? dir= cmd= entries= TTERM= mypager= if [ "$PAGER" = "" ] then pager="ul | more -u -f -s" else pager=$PAGER ## typically, "less -cemsi" fi roffer="nroff -man | col" # # parse options for i in $* do case $i in [1-8]) sec=$i ;; -d) dir=. ;; -w) cmd=w ;; -T*) TERM="`echo $i | sed 's/-T//'`" ;; -12) TTERM=-12 ;; *) entries="$entries $i" ;; esac done # now find the named entries for i in $entries do if [ "$dir" = "." ] then if [ ! -r "$i" ] then echo $0: $i not found >&2 # exit 1 else all="$all $i" fi else cd $BASE fil="`find *$sec/$i.* -print 2>/dev/null`" if [ -n "$fil" ] then all="$all $fil" else echo $0: $i not found >&2 # exit 1 fi fi done # now print the pages if [ "$cmd" = "w" ] then echo $all exit 0 else for i in $all do case $i in man*) printer="$roffer" ;; cat*) printer="cat";; *) printer="cat";; esac case $i in *.Z) getter="zcat" ;; *.z) getter="pcat" ;; *) getter=" cat" ;; esac eval " $getter $i | $printer | $pager" done fi -- Matthias Urlichs -- urlichs@smurf.sub.org -- urlichs@smurf.ira.uka.de /(o\ Humboldtstrasse 7 - 7500 Karlsruhe 1 - FRG -- +49-721-621127(0700-2330) \o)/