A variety of small but annoying bugs in A/UX 2.0.1

Matthias Urlichs urlichs at smurf.sub.org
Sun Mar 31 11:06:33 AEST 1991


In comp.unix.aux, article <1991Mar28.074451.4116 at panix.uucp>,
  alexis at 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 at smurf.sub.org -- urlichs at smurf.ira.uka.de     /(o\
Humboldtstrasse 7 - 7500 Karlsruhe 1 - FRG -- +49-721-621127(0700-2330)   \o)/



More information about the Comp.unix.aux mailing list