Commit e17d1420 authored by Robert Luberda's avatar Robert Luberda

Imported Upstream version 3.2.02

parent b7376fef
......@@ -212,279 +212,16 @@ the Berkeley license). Richard and I agreed that if I changed my
license to be a paraphrase of the UC license, FSF would be willing to
distribute my version with no changes. Since then, ispell 4.0 has
been dropped by FSF and has pretty well disappeared from the net,
leaving 3.1 as the version of choice for nearly everyone.
leaving International Ispell as the version of choice for nearly everyone.
OTHER CONTRIBUTORS
Many other enhancements and bug fixes were provided by the numerous
people listed below. Do not assume, because I omit mention of their
specific contributions, that these persons were any less instrumental
in creating the version of ispell that you see before you. Every one
of them made a significant contribution, and it is only a lack of
space that prevents me from detailing these contributions. This
version of ispell is truly a cooperative effort, and it would not
exist without the help of the generous souls listed above and below.
A full list of contributors, including those mentioned above, follows. (I
think I have listed everyone, but if you contributed and aren't listed,
let me know and I'll correct it):
Ivar Aavatsmark
Per Abrahamsen
Robert Abramovitz
Bill Ackerman
Michael Adler
Rohit Aggarwal
Jose Joao Almeida
Jerry Anders
Boris Aronov
Yves Arrouye
Jamshid Afshar
Michael C. B. Ashley
Bertil Askelid
Eric Backus
Isaac Balbin
Neal Becker
Tony Bennett
R. Bernstein
Jim Berry
Peter A. Bigot
E. Jay Berkenbilt
Benno Blumenthal
Uwe Bonnes
Marc Boucher
Martin Boyer
Ethan Bradford
David Brooks
Nicolas Brouard
Peter Bruells
Ferd Brundick
Jack Bryans
Walt Buehring
Richard Caley
John D. Campbell
Keith Cantrell
John Capo
Bill Carpenter
Jesus Carretero
Michael W. Chang
Steven Chaplin
Wei-Jou Chen
Peter Chubb
Stewart Clamen
Henri Cohen
Ken Cox
Robert Crowe
Damian Cugley
Ian Dall
Kevin Dalley
David Dalton
Neal Dalton
Hugh Daniel
Mark Davies
Frederic Devernay
Bob Devine
Paul Dickson
Casper H.S. Dik
Detlev Droege
Steve Dum
Alexander Durner
Jiri Dvorak
Les Earnest
John Eaton
David Edelsohn
Jeff Edmonds
Eric Eide
Orjan Ekeberg
Kevin Ellwood
Michael Ernst
L. Van Eycken
Rik Faith
Ralf Fassel
George Ferguson
Jeff Finger
Werner Fink
John Fitch
Peter Flatau
Jeffrey Friedl
Georg Gieseke
Ralph. E. Gorin
Amos A. Gouaux
Andy Gruss
Michael Gschwind
Ron Guilmette
Bhusan Gupta
Michael A. Guravage
Chris Hadley
Mark Hanning-Lee
John Heidemann
Arne Helme
Ole Bjoern Hessen
Karl Heuer
Juergen A. Holm
Denis Howe
Joe Huber
Brian Hunt
imt3b2!imtsft (true name unknown)
Lester Ingber
Nick Ing-Simmons
Richard L. Jackson, Jr.
Michal Jaegermann
John Jendro
Bob Jewett
Trevor Jim
Gary Johnson
Gjalt de Jong
Don Kark
Dan Karron
Brendan Kehoe
Steve Kelem
Vivek Khera
Axel Kielhorn
Masahiro Kitagawa
Peter Knaggs
Don Knuth
Jim Knutson
Heinz Knutzen
Fred Korz
Sebastian Kremer
Geoff Kuenning
Ralf Lammers
Markus Lautenbacher
Jack Lawler
Cherie N. Lawrence
Charles Levert
Doug Lind
Torbjoern Lindgren
Michael N. Lipp
Ernst Lippe
Richard Lloyd
John Lu
Dean Luick
Erik Luijten
Ian MacPhedran
Martin Maechler
Ross Maloney
Albrecht Melan
Lee Melvin
Evan Marcus
Simon Marshall
Dave Mason
W. E. Matson
Meinhard E. Mayer
Rob McMahon
Bob McQueer
Dean Messing
Chris Metcalf
Jim Meyering
Hal Miller
N.O. Monaghan
Chris Moore
Bernd Mueller
Ulrich Mueller
Guido Muesch
John Murdie
Peter Mutsaers
Erik Toubro Nielsen
Gaute Nessan
Keith Neufeld
Paul Nevai
David Neves
Mike Ogush
Thorstein Ohl
Piet van Oostrum
Joe Orost
Pham Dinh-Tuan
Gildas Perrot
Francois Pinard
Israel Pinkas
Paul Placeway
Mick Pont
Jim Prescott
Philippe-Andre Prindeville
Gary Puckering
Philippe Queinnec
Ashwin Ram
Bill Randle
Christopher Rath
Joachim Reinert
Rob Riepel
Marc Ries
Loren J. Rittle
Germic Robert
Philippe Robert
Doug Roberts
Kevin Rodgers
Santiago Rodriguez
Hagen Ross
Jonathan Ross
Arie Rudich
Jonathan Ryshpan
Bruno Salvy
Rich Salz
Julio Sanchez
Paul A. Sand
Ken Scales
Bart Schaefer
Greg Schaffer
Harald Schlangmann
Joachim Schrod
Vernon Schryver
Martin Schulz
Gregory Neil Shapiro
Guy Shaw
David Shepherd
Tom Shott
Joel Shprentz
Duncan Sinclair
Vivek P. Singhal
Klaus Singvogel
George M. Sipe
David M. Smith
Perry Smith
Luis Soltero
David Spuler
Richard Stallman
Kevin B. Stanton
Kjartan Stefansson
Ken Stevens
Andreas Stolcke
Thos Sumner
Bob Sutterfield
Stefan Taxhet
Gruppe Thi
Julian Thompson
Thomas Tornblom
Michael Toy
Bill Triggs
Goeran (G\366ran) Uddeborg
Marc Ullman
Koaunghi Un
Arjan de Vet
Andrew Vignaux
Christoph Vogelsang
Jochen Voss
David Waitzman
Peter Watkins
Gray Watson
Patrick Weemeeuw
Edward Welbourne
Petri Wessman
Michael Wester
Peter Whaite
Jon L. White
Johan Widen
Fredrik Wilhelmsen
Moritz Willers
Pace Willisson
Joerg Winckler
Bill Wohler
Michael J. Wolski
James Woods
Frank Wuebbeling
Avishai Yacobi
Ken Yap
Benny Yih
Peter Young
Jamie Zawinski
Christos S. Zoulas
Numerous other people have contributed enhancements, suggestions, and
bug fixes. I used to attempt to keep track of all of them, and list
their names here. However, I found that keeping the list of names
correct was as time-consuming as fixing bugs, so I finally decided
that the list had grown too long, and stopped keeping it current.
This is unfortunate, because many people have made significant
contributions to ispell and I would like to have a way to acknowledge
them. So please remember that hundreds of people have helped in this
effort, and that I appreciate each and every one of them.
#
# $Id: Magiclines,v 1.8 1995/01/08 23:23:52 geoff Exp $
# $Id: Magiclines,v 1.9 1999/01/07 01:57:49 geoff Exp $
#
# Copyright 1993, Geoff Kuenning, Granada Hills, CA
# Copyright 1993, 1999, Geoff Kuenning, Claremont, CA
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
......@@ -46,6 +46,9 @@
# file for more information.
#
# $Log: Magiclines,v $
# Revision 1.9 1999/01/07 01:57:49 geoff
# Update the copyright.
#
# Revision 1.8 1995/01/08 23:23:52 geoff
# Add comments that document minor variations in /etc/magic formats.
#
......
#
# $Id: Makefile,v 1.102 1995/10/11 04:30:25 geoff Exp $
# $Id: Makefile,v 1.109 2001/06/07 19:06:33 geoff Exp $
#
# Copyright 1992, 1993, Geoff Kuenning, Granada Hills, CA
# Copyright 1992, 1993, 1999, Geoff Kuenning, Claremont, CA
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
......@@ -47,6 +47,30 @@
# buildhash <dictfile> <affix-file> <outfile>
# $Log: Makefile,v $
# Revision 1.109 2001/06/07 19:06:33 geoff
# When creating local.h, make it user-writable.
#
# Revision 1.108 2001/06/07 08:02:18 geoff
# Add the deformatters to the default dependencies.
#
# Revision 1.107 1999/01/13 01:34:15 geoff
# Get rid of some leftover references to emacs stuff.
#
# Revision 1.106 1999/01/08 04:32:31 geoff
# Don't try to build or install ispell.el and ispell.info.
#
# Revision 1.105 1999/01/07 01:22:29 geoff
# Update the copyright. Get rid of old shar-based dictionary building.
#
# Revision 1.104 1995/11/08 05:09:06 geoff
# When invoking "showversion", ignore any errors that happen. Fix a
# place where I forgot to double a dollar sign in install-languages.
#
# Revision 1.103 1995/10/25 03:35:38 geoff
# Don't assume the presence of "head" in the showversion dependency; use
# old reliable sed instead. Also make showversion depend on ispell
# itself, since it uses it.
#
# Revision 1.102 1995/10/11 04:30:25 geoff
# Allow DEFHASH and MASTERHASH to be the same.
#
......@@ -171,17 +195,19 @@ MAKE = make
#
SHELLDEBUG = +vx
all: unpacked
all: config.sh
all: programs showversion ispell.1 ispell.info
all: programs deformatter-programs showversion ispell.1
all: all-languages
programs: buildhash findaffix tryaffix ispell
programs: icombine ijoin munchlist
programs: subset sq unsq zapdups
programs: subset zapdups
deformatter-programs:
cd deformatters; $(MAKE) all
showversion:
./ispell -v | head -1
showversion: ispell
-./ispell -v | sed 1q
.c.o:
@. ./config.sh; \
......@@ -199,7 +225,8 @@ showversion:
all-languages: munchable
$(MAKE) LANGUAGE_TARGET=all SHELLDEBUG=$(SHELLDEBUG) language-subdirs
install: config.sh all install-basic install-dictbuild install-languages
install: config.sh all install-basic install-deformatters
install: install-dictbuild install-languages
partial-install: config.sh all install-basic install-languages
......@@ -235,36 +262,9 @@ install-basic:
chmod 644 ispell$$MAN1EXT; \
cd $$MAN4DIR; \
chmod 644 ispell$$MAN4EXT
@set +e; \
. ./config.sh; \
set $(SHELLDEBUG); \
if [ -d $$TEXINFODIR -a -r ispell.info ]; then \
set -ex; \
rm -f $$TEXINFODIR/ispell; \
$$INSTALL ispell.info $$TEXINFODIR/ispell; \
chmod 644 $$TEXINFODIR/ispell; \
else \
: ; \
fi
@set +e; \
. ./config.sh; \
set $(SHELLDEBUG); \
if [ -d $$ELISPDIR ]; then \
set -ex; \
rm -f $$ELISPDIR/ispell.el; \
$$INSTALL ispell.el $$ELISPDIR; \
if sh iwhich $$EMACS >/dev/null; then \
echo '(byte-compile-file "'"$$ELISPDIR/ispell.el"'")' \
> /tmp/emi$$$$; \
$$EMACS -batch -l /tmp/emi$$$$; \
rm -f /tmp/emi$$$$; \
chmod 644 $$ELISPDIR/ispell.el $$ELISPDIR/ispell.elc; \
else \
chmod 644 $$ELISPDIR/ispell.el; \
fi; \
else \
: ; \
fi
install-deformatters:
cd deformatters; $(MAKE) install
install-dictbuild:
@. ./config.sh; \
......@@ -277,33 +277,29 @@ install-dictbuild:
@. ./config.sh; \
set -x; \
$$INSTALL buildhash icombine ijoin munchlist findaffix tryaffix \
sq unsq \
$$BINDIR
@. ./config.sh; \
set -x; \
cd $$BINDIR; \
strip buildhash icombine ijoin sq unsq; \
strip buildhash icombine ijoin; \
chmod 755 buildhash icombine ijoin \
munchlist findaffix tryaffix sq unsq
munchlist findaffix tryaffix
@. ./config.sh; \
set -x; \
[ -d $$MAN1DIR ] || (mkdir $$MAN1DIR; chmod 755 $$MAN1DIR); \
[ -d $$MAN4DIR ] || (mkdir $$MAN4DIR; chmod 755 $$MAN4DIR); \
cd $$MAN1DIR; \
rm -f sq$$MAN1EXT
rm -f sq$$MAN1EXT unsq$$MAN1EXT
@. ./config.sh; \
set -x; \
$$INSTALL sq.1 $$MAN1DIR/sq$$MAN1EXT; \
for m in buildhash munchlist findaffix tryaffix; do \
echo ".so `basename $$MAN1DIR`/ispell$$MAN1EXT" \
> $$MAN1DIR/$$m$$MAN1EXT; \
done; \
echo ".so `basename $$MAN1DIR`/sq$$MAN1EXT" \
> $$MAN1DIR/unsq$$MAN1EXT
done
@. ./config.sh; \
set -x; \
cd $$MAN1DIR; \
chmod 644 sq$$MAN1EXT buildhash$$MAN1EXT \
chmod 644 buildhash$$MAN1EXT \
munchlist$$MAN1EXT findaffix$$MAN1EXT tryaffix$$MAN1EXT
install-languages:
......@@ -313,32 +309,13 @@ install-languages:
[ -d $$LIBDIR ] || (mkdir $$LIBDIR; chmod 755 $$LIBDIR); \
set -x; \
cd $$LIBDIR; \
if [ $$MASTERHASH != $DEFHASH ]; then \
if [ $$MASTERHASH != $$DEFHASH ]; then \
rm -f $$DEFHASH; \
ln $$MASTERHASH $$DEFHASH; \
fi
ispell.info: config.sh ispell.texinfo
set +e; \
. ./config.sh; \
set $(SHELLDEBUG); \
if [ -d $$TEXINFODIR ]; then \
if sh iwhich makeinfo >/dev/null \
&& makeinfo ispell.texinfo 2>/dev/null; then \
:; \
elif sh iwhich $$EMACS >/dev/null; then \
set -e; \
$$EMACS -batch dummy -i ispell.texinfo \
-f texinfo-format-buffer -f save-buffer; \
fi; \
rm -f ispell.info~; \
else \
: ; \
fi
munchable: findaffix tryaffix munchlist buildhash ispell icombine
munchable: ijoin
munchable: sq unsq
#
# The following auxiliary dependency is used to make targets in
......@@ -412,11 +389,11 @@ OUTFILE = /dev/null
config.sh: config.X local.h
set $(SHELLDEBUG); \
for var in BINDIR CC CFLAGS COUNTSUFFIX DEFDICT DEFHASH DEFLANG \
ELISPDIR EMACS HASHSUFFIX INSTALL \
HASHSUFFIX INSTALL \
LANGUAGES LIBDIR LIBES LINT LINTFLAGS \
MAKE_SORTTMP MAN1DIR MAN1EXT MAN4DIR MAN4EXT MASTERHASH \
MSGLANG REGLIB STATSUFFIX \
TERMLIB TEXINFODIR YACC \
TERMLIB YACC \
; do \
cat config.X local.h \
| sed -n -e "s/^#define[ ]*$$var[ ]*"'"'"/$$var=/p" \
......@@ -472,18 +449,6 @@ ispell: config.sh $(OBJS)
set -x; \
$$CC $$CFLAGS -o ispell $(OBJS) $$TERMLIB $$REGLIB $$LIBES
# Since some makes don't have appropriate built-in rules, here are
# dependencies for sq and unsq. Sigh.
sq: config.sh msgs.h sq.c
@. ./config.sh; \
set -x; \
$$CC $$CFLAGS -o sq sq.c
unsq: config.sh msgs.h unsq.c
@. ./config.sh; \
set -x; \
$$CC $$CFLAGS -o unsq unsq.c
$(OBJS) buildhash.o icombine.o hash.o parse.o: config.h ispell.h local.h
$(OBJS) buildhash.o icombine.o hash.o parse.o: proto.h msgs.h
ijoin.o: config.h ispell.h local.h
......@@ -506,7 +471,8 @@ config.h: config.X local.h
# Create a sample local.h if no such file currently exists
local.h:
set +e; [ -r local.h ] || cp local.h.samp local.h
set +e; \
[ -r local.h ] || (cp local.h.samp local.h; chmod u+w local.h)
msgs.h: config.sh FRC
@. ./config.sh; \
......@@ -547,43 +513,24 @@ lint: config.sh config.h ispell.h proto.h *.[cy]
$$LINT $$LINTFLAGS ijoin.c fields.c
@rm -f y.tab.c
clean: config.sh clean-languages
clean: config.sh clean-deformatters clean-languages
@. ./config.sh; \
set -x; \
rm -f $$DEFHASH $$FOREIGNHASHES
rm -f *.o core a.out mon.out hash.out y.tab.c *.stat *.cnt \
config.h msgs.h
config.h msgs.h unpacked
rm -f buildhash findaffix tryaffix ispell icombine ijoin \
munchlist subset sq unsq zapdups ispell.1 ispell.info
clean-deformatters:
cd deformatters; $(MAKE) clean
clean-languages:
$(MAKE) LANGUAGE_TARGET=clean SHELLDEBUG=$(SHELLDEBUG) language-subdirs
realclean veryclean: clean dictclean
rm -f config.sh
#
# The following dependency can be executed when ispell is unpacked,
# to unpack the dictionaries.
#
unpack: unsq
$(MAKE) LANGUAGE_TARGET=unpack SHELLDEBUG=$(SHELLDEBUG) \
language-subdirs
unpacked:
$(MAKE) SHELLDEBUG=$(SHELLDEBUG) unpack
touch unpacked
#
# The following target allows you to clean out the leftover raw
# files gotten from unpacking the kit. It makes sure that you
# have the combined files first, so it may take a little while
# to run.
#
kitclean: unsq
$(MAKE) LANGUAGE_TARGET=kitclean SHELLDEBUG=$(SHELLDEBUG) \
language-subdirs
#
# The following target allows you to clean out the combined
# dictionary files. For safety, so you don't lose your files,
......
: Use /bin/sh
#
# $Id: Makekit,v 1.39 1995/10/11 04:58:07 geoff Exp $
# $Id: Makekit,v 1.43 2001/06/07 08:02:18 geoff Exp $
#
# Copyright 1992, 1993, Geoff Kuenning, Granada Hills, CA
# Copyright 1992, 1993, Geoff Kuenning, Claremont, CA
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
......@@ -43,7 +43,7 @@
#
# Usage:
#
# Makekit [-c] [-d destdir] [-e]
USAGE="Usage: Makekit [-d destdir] [-e]"
#
# destdir is the directory in which the kits will be made; you will
# want to pick someplace that has lots of space.
......@@ -51,9 +51,22 @@
# If -e is specified, the list of files in the kit is echoed to
# stdout and no kit is made.
#
# If -c is specified, the intermediate dictionary files are cleaned up.
#
# $Log: Makekit,v $
# Revision 1.43 2001/06/07 08:02:18 geoff
# Change the kit to use my deformatters.
#
# Revision 1.42 2001/06/06 23:08:23 geoff
# Add some sample deformatters.
#
# Revision 1.41 1999/01/18 03:40:32 geoff
# Build tar file from a version-numbered directory
#
# Revision 1.40 1999/01/07 01:23:03 geoff
# Update the copyright. Make the kit into a gzipped tar file rather
# than shars. Get rid of the -c switch. Remove the following files
# from the kit: ishar, ispell.el, ispell.texinfo, makeshar, splitdict,
# sq.1, sq.c, unsq.c, and all foreign-language affix files.
#
# Revision 1.39 1995/10/11 04:58:07 geoff
# Add the Portuguese language files
#
......@@ -73,21 +86,14 @@
# Get rid of all old RCS log lines in preparation for the 3.1 release.
#
#
posting=3.1
maxsize=60000 # This leaves room for some headers
clean=false
destdir=kits
echolist=false
PATH=`pwd`:$PATH; export PATH
USAGE="Usage: Makekit [-c] [-d destdir] [-e]"
while [ $# -gt 0 ]
do
case "$1" in
-c)
clean=true
shift
;;
-d)
destdir="$2"
shift; shift
......@@ -132,31 +138,23 @@ good.c
hash.c
icombine.c
ijoin.c
ishar
ispell.1X
ispell.4
ispell.c
ispell.el
ispell.h
ispell.texinfo
iwhich
local.h.samp
lookup.c
makedict.sh
makedent.c
makeshar
munchlist.X
parse.y
proto.h
splitdict
sq.1
sq.c
subset.X
term.c
tgood.c
tree.c
tryaffix.X
unsq.c
version.h
xgets.c
zapdups.X
......@@ -167,28 +165,30 @@ languages/altamer/Makefile
languages/american/Makefile
languages/british/Makefile
languages/dansk/Makefile
languages/dansk/dansk.7bit
languages/deutsch/Makefile
languages/deutsch/deutsch.7bit
languages/deutsch/deutsch-alt.7bit
languages/english/Makefile
languages/english/altamer.0
languages/english/altamer.1
languages/english/altamer.2
languages/english/american.0
languages/english/american.1
languages/english/american.2
languages/english/british.0
languages/english/british.1
languages/english/british.2
languages/english/english.0
languages/english/english.1
languages/english/english.2
languages/english/english.3
languages/english/english.4l
languages/english/english.aff
languages/english/msgs.h
languages/espanol/Makefile
languages/espanol/castellano.7bit
languages/espanol/espanol.7bit
languages/francais/Makefile
languages/francais/francais.7bit
languages/francais/francais-alt.7bit
languages/nederlands/Makefile
languages/nederlands/nederlands.7bit
languages/norsk/Makefile
languages/norsk/norsk.7bit
languages/portugues/Makefile
languages/portugues/portugues.aff
languages/svenska/Makefile
languages/svenska/svenska.7bit
addons/nextispell/Makefile
addons/nextispell/README
addons/nextispell/configure
......@@ -197,72 +197,31 @@ addons/nextispell/configureTeX
addons/nextispell/nextispell.m
addons/nextispell/services.template
addons/xspell.shar
deformatters/Makefile
deformatters/README
deformatters/deformat-c.c
deformatters/deformat-sh.c
'
if $echolist
then
echo $flist
echo languages/english/*.[0-3]
exit 0
fi
[ -d "$destdir" ] || mkdir "$destdir"
rm -f $destdir/Post${posting}.??.shar
version=`egrep 'International Ispell' version.h | awk '{print $5;exit}'`
#
# Make the main shar files
#
cursize=0
files=
chmod +x makeshar ishar
sharno=`makeshar -n -m $maxsize -o $destdir/Post${posting}. -pX $flist`
TMP=$destdir/ispell-$version
rm -rf $TMP
trap "rm -rf $TMP; exit 1" 1 2 15
trap "rm -rf $TMP; exit 0" 13
#
# Set up to make dictionary files
#
chmod +x splitdict
[ -d "$destdir/languages" ] || mkdir "$destdir/languages"
#
# Make the English dictionaries
#
[ -d "$destdir/languages/english" ] || mkdir "$destdir/languages/english"
rm -f $destdir/languages/english/*.?.??