summaryrefslogtreecommitdiff
path: root/examples/functions/manpage
diff options
context:
space:
mode:
Diffstat (limited to 'examples/functions/manpage')
-rw-r--r--examples/functions/manpage129
1 files changed, 0 insertions, 129 deletions
diff --git a/examples/functions/manpage b/examples/functions/manpage
deleted file mode 100644
index 60f9aed0..00000000
--- a/examples/functions/manpage
+++ /dev/null
@@ -1,129 +0,0 @@
-# Written from scratch by Tom Tromey (tromey@cns.caltech.edu)
-#
-# manpage -- find and print a manual page.
-# usage: manpage section name [printing]
-#
-function manpage ()
-{
- local i h cmd zot sec
- local num="$1"
- local page="$2"
- local printing="$3"
- local mp
-
- mp="${MANPATH:-/usr/man}"
- if [ "$#" -lt 2 ]; then return 1; fi # should print usage
- if [ "$num" != "" ]; then
- sec="${num%%[a-zA-Z]*}"
- else
- sec='[168234571lnpo]'
- num="$sec"
- fi
- for i in $(echo "$mp" | tr : ' '); do
- if [ ! -d "$i" ]; then continue; fi
- file="$i"/man"$sec"/"$page"."$num"*
- set $file
- file="$1"
- if [ -f "$file" ]; then
- zot=$(sed 1q "$file")
- cmd=${MANROFF:-"nroff -man - | col | cat -s"}
- h=${zot##"'"'\"'}
- if [ "$h" != "$zot" ]; then
- while [ "$h" != "" ]; do
- case "$h" in
- *e) cmd="${MANEQN:-neqn} | $cmd";;
- *r) cmd="refer | $cmd";;
- *t) cmd="tbl | $cmd";;
- *v) cmd="vgrind | $cmd";;
- *) ;; # should print error
- esac
- h=${h%?}
- done
- fi
- if [ "$printing" != "" ]; then
- (cd "$i"; eval "$cmd") < "$file" | ${PAGER:-more}
- else
- (cd "$i"; eval "$cmd") < "$file" > /tmp/manpage-$$
- ${PAGER:-more} /tmp/manpage-$$
- rm -f /tmp/manpage-$$
- fi
- break
- fi
- done
-}
-
-function whatis_internal ()
-{
- local j
- for j in $(echo "$MANPATH" | tr : ' '); do
- if [ -f "$j/whatis" ]; then
- eval $2 -i -e "$1" $j/whatis
- fi
- done
-}
-
-function whatis ()
-{
- local name=$(basename "$1")
- whatis_internal "$name" "grep -w"
-}
-
-function apropos ()
-{
- whatis_internal "$1" "grep -F"
-}
-
-# Note: "-" and "-t" together not supported. This man could be
-# made a lot better, but it does everything I want.
-function man ()
-{
- local PAGER printing mpath MANROFF num
- mpath="${MANPATH:-/usr/man}"
- while true; do
- case "$1" in
- -) PAGER=cat
- printing= ;;
- -t)
- MANROFF=${TROFF:-"ptroff -man -t"}
- PAGER="${TCAT:-lpr}"
- printing=yes ;;
- -M)
- mpath="$2"
- shift;;
- *) break;;
- esac
- shift
- done
- local MANPATH="$mpath"
- case "$1" in
- -f | -k)
- local g a
- if [ "$1" = "-f" ]; then
- g="grep -w"
- a=$(basename "$2")
- else
- g="grep -F"
- a="$2"
- fi
- whatis_internal "$a" "$g"
- ;;
- [0-9npol] | [0-9][a-z]* | new | public | old | local)
- if [ "$1" = "new" ]; then
- num=n
- elif [ "$1" = "public" ]; then
- num=p
- elif [ "$1" = "old" ]; then
- num=o
- elif [ "$1" = "local" ]; then
- num=l
- else
- num="$1"
- fi
- shift
- manpage "$num" "$1" "$printing"
- ;;
- *)
- manpage "$num" "$1" "$printing"
- ;;
- esac
-}