xref: /original-bsd/usr.bin/spell/spell.sh (revision c3e32dec)
1#!/bin/sh -
2#
3# Copyright (c) 1983, 1993
4#	The Regents of the University of California.  All rights reserved.
5#
6# %sccs.include.proprietary.sh%
7#
8#	@(#)spell.sh	8.1 (Berkeley) 06/06/93
9#
10
11: V data for -v, B flags, D dictionary, S stop, H history, F files, T temp
12: R for deroff program
13V=/dev/null		B=			F=
14S=/usr/share/dict/hstop	H=/dev/null		T=/tmp/spell.$$
15R="deroff@-w"
16
17next="F=$F@"
18trap "rm -f $T ${T}a ; exit" 0
19for A in $*
20do
21	case $A in
22	-v)	B="$B@-v"
23		V=${T}a ;;
24	-x)	B="$B@-x" ;;
25	-b) 	D=${D-/usr/share/dict/hlistb}
26		B="$B@-b" ;;
27	-d)	next="D=" ;;
28	-s)	next="S=" ;;
29	-h)	next="H=" ;;
30	-t)	R=detex ;;
31	-l)	R=delatex ;;
32	-*)	echo "spell: illegal option -- $A"
33		echo "usage: spell [-bvtl] [-d hlist] [-s hstop] [-h spellhist]"
34		exit ;;
35	*)	eval $next"$A"
36		next="F=$F@" ;;
37	esac
38done
39IFS=@
40case $H in
41/dev/null)	eval $R $F | sort -u | /usr/libexec/spell $S $T |
42		/usr/libexec/spell ${D-/usr/share/dict/hlista} $V $B |
43		sort -u +0f +0 - $T ;;
44*)		eval $R $F | sort -u | /usr/libexec/spell $S $T |
45		/usr/libexec/spell ${D-/usr/share/dict/hlista} $V $B |
46		sort -u +0f +0 - $T | tee -a $H
47		who am i >> $H 2> /dev/null ;;
48esac
49case $V in
50/dev/null)	exit ;;
51esac
52sed '/^\./d' $V | sort -u +1f +0
53