diff -rNu ispell-3.1.clean/Makefile ispell-3.1/Makefile --- ispell-3.1.clean/Makefile Thu Oct 12 14:04:06 1995 +++ ispell-3.1/Makefile Thu Aug 16 17:50:38 2001 @@ -165,6 +165,10 @@ SHELL = /bin/sh MAKE = make +ifeq ($(RPM_OPT_FLAGS),) + RPM_OPT_FLAGS = -O2 +endif + # # Set this to "-vx" in the make command line if you need to # debug the complex shell commands. @@ -315,7 +319,7 @@ cd $$LIBDIR; \ if [ $$MASTERHASH != $DEFHASH ]; then \ rm -f $$DEFHASH; \ - ln $$MASTERHASH $$DEFHASH; \ + ln -s $$MASTERHASH $$DEFHASH; \ fi ispell.info: config.sh ispell.texinfo @@ -505,8 +509,8 @@ >> config.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 +local.h: local.h.samp + set +e; sed "s/.[{(]\?CFLAGS -pipe[})]\?/\$(CFLAGS) -pipe/" < local.h.samp > local.h msgs.h: config.sh FRC @. ./config.sh; \ @@ -521,7 +525,7 @@ :; \ else \ set -x; \ - rm -f msgs.h; ln $$msgs msgs.h || cp $$msgs msgs.h; \ + rm -f msgs.h; ln -s $$msgs msgs.h || cp $$msgs msgs.h; \ fi FRC: diff -rNu ispell-3.1.clean/Makefile.Linux ispell-3.1/Makefile.Linux --- ispell-3.1.clean/Makefile.Linux Wed Dec 31 18:00:00 1969 +++ ispell-3.1/Makefile.Linux Thu Aug 16 17:50:38 2001 @@ -0,0 +1,31 @@ +# +# +# +# Makefile.Linux to integrate package into source tree of SuSE-Linux. +# +# Copyright (c) 1996 SuSE GmbH Fuerth, Germany. +# +# please send bugfixes or comments to feedback@suse.de. +# +# Author: Werner fink, +# + +DICTDIR = /usr/share/dict + +all: compile + +local.h: local.h.samp + make local.h + +compile: local.h + make all + +install: + make install + rm -f /usr/share/emacs/site-lisp/ispell.el* + mkdir -p /usr/doc/packages/ispell + mkdir -p /usr/lib/ispell/emacs + install -m 0444 suse/ispell-emacs-menu.el /usr/lib/ispell/ + install -m 0444 suse/emacs/american.el /usr/lib/ispell/emacs/ + install -m 0444 suse/emacs/british.el /usr/lib/ispell/emacs/ + diff -rNu ispell-3.1.clean/buildhash.c ispell-3.1/buildhash.c --- ispell-3.1.clean/buildhash.c Mon Jan 23 12:28:24 1995 +++ ispell-3.1/buildhash.c Thu Aug 16 17:50:38 2001 @@ -211,7 +211,7 @@ { register FILE * houtfile; register struct dent * dp; - int strptr; + intptr_t strptr; int n; int i; int maxplen; @@ -336,7 +336,7 @@ { if (dp->next != 0) { - int x; + intptr_t x; x = dp->next - hashtbl; dp->next = (struct dent *)x; } diff -rNu ispell-3.1.clean/correct.c ispell-3.1/correct.c --- ispell-3.1.clean/correct.c Thu Oct 12 14:04:06 1995 +++ ispell-3.1/correct.c Thu Aug 16 17:50:38 2001 @@ -179,7 +179,7 @@ if (interactive) { - erase (); + ierase (); helpout = stdout; } else @@ -304,7 +304,7 @@ if (good (itok, 0, 0, 0, 0) || compoundgood (itok, 0)) return; - erase (); + ierase (); (void) printf (" %s", ctok); if (currentfile) (void) printf (CORR_C_FILE_LABEL, currentfile); @@ -338,9 +338,9 @@ for (i = 0; i < pcount; i++) { #ifdef BOTTOMCONTEXT - move (2 + (i % col_ht), (maxposslen + 8) * (i / col_ht)); + imove (2 + (i % col_ht), (maxposslen + 8) * (i / col_ht)); #else /* BOTTOMCONTEXT */ - move (3 + contextsize + (i % col_ht), (maxposslen + 8) * (i / col_ht)); + imove (3 + contextsize + (i % col_ht), (maxposslen + 8) * (i / col_ht)); #endif /* BOTTOMCONTEXT */ if (i >= easypossibilities) (void) printf ("??: %s", possibilities[i]); @@ -351,9 +351,9 @@ } #ifdef BOTTOMCONTEXT - move (li - contextsize - 1 - minimenusize, 0); + imove (li - contextsize - 1 - minimenusize, 0); #else /* BOTTOMCONTEXT */ - move (2, 0); + imove (2, 0); #endif /* BOTTOMCONTEXT */ for (i = contextsize; --i > 0; ) show_line (contextbufs[i], contextbufs[i], 0); @@ -378,7 +378,7 @@ if (minimenusize != 0) { - move (li - 2, 0); + imove (li - 2, 0); (void) printf (CORR_C_MINI_MENU); } @@ -389,10 +389,10 @@ { case 'Z' & 037: stop (); - erase (); + ierase (); goto checkagain; case ' ': - erase (); + ierase (); (void) fflush (stdout); return; case 'q': case 'Q': @@ -406,7 +406,7 @@ c = 'y'; if (c == 'y' || c == 'Y') { - erase (); + ierase (); (void) fflush (stdout); done (0); } @@ -414,7 +414,7 @@ case 'i': case 'I': treeinsert (ichartosstr (strtosichar (ctok, 0), 1), ICHARTOSSTR_SIZE, 1); - erase (); + ierase (); (void) fflush (stdout); changes = 1; return; @@ -422,14 +422,14 @@ itok = strtosichar (ctok, 0); lowcase (itok); treeinsert (ichartosstr (itok, 1), ICHARTOSSTR_SIZE, 1); - erase (); + ierase (); (void) fflush (stdout); changes = 1; return; case 'a': case 'A': treeinsert (ichartosstr (strtosichar (ctok, 0), 1), ICHARTOSSTR_SIZE, 0); - erase (); + ierase (); (void) fflush (stdout); return; case 'L' & 037: @@ -441,12 +441,12 @@ { char buf[200]; - move (li - 1, 0); + imove (li - 1, 0); (void) putchar ('!'); if (getline (buf) == NULL) { (void) putchar (7); - erase (); + ierase (); (void) fflush (stdout); goto checkagain; } @@ -457,11 +457,11 @@ #else (void) shellescape (buf); #endif - erase (); + ierase (); goto checkagain; } case 'r': case 'R': - move (li - 1, 0); + imove (li - 1, 0); if (readonly) { (void) putchar (7); @@ -485,7 +485,7 @@ } changes = 1; } - erase (); + ierase (); if (icharlen (itok) <= minword) return; /* Accept very short replacements */ goto checkagain; @@ -509,10 +509,10 @@ changes = 1; inserttoken (contextbufs[0], begintoken, ctok, curchar); - erase (); + ierase (); if (readonly) { - move (li - 1, 0); + imove (li - 1, 0); (void) putchar (7); (void) printf ("%s", CORR_C_READONLY); (void) fflush (stdout); @@ -528,23 +528,23 @@ case 'l': case 'L': { char buf[100]; - move (li - 1, 0); + imove (li - 1, 0); (void) printf (CORR_C_LOOKUP_PROMPT); if (getline (buf) == NULL) { (void) putchar (7); - erase (); + ierase (); goto checkagain; } (void) printf ("\r\n"); (void) fflush (stdout); lookharder (buf); - erase (); + ierase (); goto checkagain; } case 'x': case 'X': quit = 1; - erase (); + ierase (); (void) fflush (stdout); return; default: diff -rNu ispell-3.1.clean/fields.c ispell-3.1/fields.c --- ispell-3.1.clean/fields.c Tue Jan 25 12:31:54 1994 +++ ispell-3.1/fields.c Thu Aug 16 17:50:38 2001 @@ -34,6 +34,7 @@ #include #include "config.h" #include "fields.h" +#include "ispell.h" field_t * fieldread P ((FILE * file, char * delims, int flags, int maxf)); @@ -59,10 +60,14 @@ #endif /* USG */ extern void free (); -extern char * malloc (); -extern char * realloc (); +extern VOID * malloc (); +extern VOID * realloc (); extern char * strchr (); +#if defined(__GLIBC__) && __GLIBC__ >= 2 +extern size_t strlen (); +#else extern int strlen (); +#endif /* * Read one line of the given file into a buffer, break it up into diff -rNu ispell-3.1.clean/ijoin.c ispell-3.1/ijoin.c --- ispell-3.1.clean/ijoin.c Wed Nov 2 12:44:21 1994 +++ ispell-3.1/ijoin.c Thu Aug 16 17:50:38 2001 @@ -133,7 +133,9 @@ static int unpairable1 = 0; /* NZ if -a1 */ static int unpairable2 = 0; /* NZ if -a2 */ +#ifndef strcmp extern int strcmp (); +#endif int main (argc, argv) /* Join files */ int argc; /* Argument count */ diff -rNu ispell-3.1.clean/ispell.1X ispell-3.1/ispell.1X --- ispell-3.1.clean/ispell.1X Mon Jan 23 12:28:25 1995 +++ ispell-3.1/ispell.1X Thu Aug 16 17:50:38 2001 @@ -373,7 +373,7 @@ key will not. .PP References for the -.IR tib (1) +.I tib bibliography system, that is, text between a ``[.'' or ``<.'' and ``.]'' or ``.>'' will always be ignored in TeX/LaTeX mode. .PP @@ -1307,6 +1307,17 @@ Default dictionary to use, if no .B \-d flag is given. +.IP CHARSET +Only read if +.B DICTIONARY +is set. Default formatter type or character encoding to use, if no +.B \-T +or +.B \-t +or +.B \-n +flag is given. +Usefull if formatter type is recognized in affix-file. .IP WORDLIST Personal dictionary file name .IP INCLUDE_STRING @@ -1334,10 +1345,9 @@ .IR look (1), .IR join (1), .IR sort (1), -.IR sq (1L), -.IR tib (1L), -.IR ispell (4L), -.IR english (4L) +.IR sq (1), +.IR ispell (5), +.IR english (5) .SH BUGS It takes several to many seconds for .I ispell diff -rNu ispell-3.1.clean/ispell.4 ispell-3.1/ispell.4 --- ispell-3.1.clean/ispell.4 Thu Oct 12 14:04:06 1995 +++ ispell-3.1/ispell.4 Thu Aug 16 17:50:38 2001 @@ -60,7 +60,7 @@ .\" Get rid of all old RCS log lines in preparation for the 3.1 release. .\" .\" -.TH ISPELL 4 local +.TH ISPELL 5 local .SH NAME ispell \- format of ispell dictionaries and affix files .SH DESCRIPTION diff -rNu ispell-3.1.clean/ispell.c ispell-3.1/ispell.c --- ispell-3.1.clean/ispell.c Thu Oct 12 14:04:07 1995 +++ ispell-3.1/ispell.c Thu Aug 16 17:50:38 2001 @@ -134,6 +134,7 @@ #include "version.h" #include #include +#include static void usage P ((void)); static void initckch P ((char * wchars)); @@ -255,6 +256,7 @@ static char outbuf[BUFSIZ]; int argno; int arglen; + int dictdeft = 0; Cmd = *argv; @@ -263,6 +265,7 @@ p = getenv ("DICTIONARY"); if (p != NULL) { + dictdeft++; if (index (p, '/') != NULL) (void) strcpy (hashname, p); else @@ -279,6 +282,7 @@ p = rindex (libdictname, '.'); if (p != NULL) *p = '\0'; + preftype = getenv ("CHARSET"); } else (void) sprintf (hashname, "%s/%s", LIBDIR, DEFHASH); @@ -489,7 +493,7 @@ usage (); tflag = 0; /* nroff/troff mode */ deftflag = 0; - if (preftype == NULL) + if (preftype == NULL || dictdeft) preftype = "nroff"; break; case 't': /* TeX mode */ @@ -497,7 +501,7 @@ usage (); tflag = 1; deftflag = 1; - if (preftype == NULL) + if (preftype == NULL || dictdeft) preftype = "tex"; break; case 'T': /* Set preferred file type */ diff -rNu ispell-3.1.clean/ispell.h ispell-3.1/ispell.h --- ispell-3.1.clean/ispell.h Thu Oct 12 14:04:08 1995 +++ ispell-3.1/ispell.h Thu Aug 16 17:50:38 2001 @@ -89,6 +89,7 @@ */ #include +#include #ifdef __STDC__ #define P(x) x @@ -508,7 +509,11 @@ # define EXTERN extern #endif +#ifdef NCURSES_VERSION +extern char * BC; /* backspace if not ^H */ +#else EXTERN char * BC; /* backspace if not ^H */ +#endif EXTERN char * cd; /* clear to end of display */ EXTERN char * cl; /* clear display */ EXTERN char * cm; /* cursor movement */ diff -rNu ispell-3.1.clean/ispell.texinfo ispell-3.1/ispell.texinfo --- ispell-3.1.clean/ispell.texinfo Wed Nov 2 12:44:23 1994 +++ ispell-3.1/ispell.texinfo Thu Aug 16 17:55:05 2001 @@ -3,12 +3,17 @@ @setfilename ispell.info @settitle ISPELL V3.1 @comment %**end of header (This is for running Texinfo on a region.) - @iftex @finalout @end iftex @ifinfo +@format +INFO-DIR-SECTION Utilities +START-INFO-DIR-ENTRY +* Spell Checker: (ispell). interactively check spelling of text files +END-INFO-DIR-ENTRY +@end format This file documents ISPELL, an interactive spelling corrector. Copyright 1988, 1990, 1991, 1992, 1993 Free Software Foundation, Inc. @@ -73,6 +78,9 @@ by the Foundation. @end titlepage + +@node Top, Emacs, (dir), (dir) + @menu * Emacs:: Using ispell from emacs * Old Emacs:: Old Emacs @@ -91,8 +99,6 @@ * Multiple Dictionaries:: Using Multiple Dictionaries @end menu -@node Top, Emacs, (dir), (dir) - @iftex @chapter ISPELL @code{Ispell} is a program that helps you to correct spelling and @@ -198,7 +204,7 @@ the shell. @end table -Of course, you can also type @kbd{@ctrl{G}} to stop the command without +Of course, you can also type @kbd{C-g} to stop the command without changing anything. If you make a change that you don't like, just use emacs' normal undo @@ -215,7 +221,7 @@ When you finish with one word, the cursor is automatically moved to the next. If you want to stop in the middle of the list type @kbd{X} or -@kbd{@ctrl{G}}. +@kbd{C-g}. @node Region, Multiple Dictionaries, Buffer, Emacs @subsection Checking a region diff -rNu ispell-3.1.clean/languages/altamer/Makefile ispell-3.1/languages/altamer/Makefile --- ispell-3.1.clean/languages/altamer/Makefile Wed Nov 2 12:44:31 1994 +++ ispell-3.1/languages/altamer/Makefile Thu Aug 16 17:50:38 2001 @@ -143,7 +143,7 @@ cd $$LIBDIR; \ chmod 644 english.aff $(HASHFILES); \ for i in $(HASHFILES); do \ - ln $$i $(LANGUAGE).hash; \ + ln -s $$i $(LANGUAGE).hash; \ break; \ done @. $(CONFIG); \ @@ -231,7 +231,7 @@ $(DBUILD)altamer.sml: $(DBUILD)english.sml rm -f altamer.sml - ln english.sml altamer.sml + ln -s english.sml altamer.sml $(DBUILD)english.sml: $(CONFIG) $(DBUILD)english.sml: english.0 @@ -244,7 +244,7 @@ $(DBUILD)altamer.sml+: $(DBUILD)english.sml+ rm -f altamer.sml+ - ln english.sml+ altamer.sml+ + ln -s english.sml+ altamer.sml+ $(DBUILD)english.sml+: $(CONFIG) $(DBUILD)english.sml+: english.0 @@ -257,7 +257,7 @@ $(DBUILD)altamer.med: $(DBUILD)english.med rm -f altamer.med - ln english.med altamer.med + ln -s english.med altamer.med $(DBUILD)english.med: $(CONFIG) $(DBUILD)english.med: english.0 @@ -270,7 +270,7 @@ $(DBUILD)altamer.med+: $(DBUILD)english.med+ rm -f altamer.med+ - ln english.med+ altamer.med+ + ln -s english.med+ altamer.med+ $(DBUILD)english.med+: $(CONFIG) $(DBUILD)english.med+: english.0 @@ -283,7 +283,7 @@ $(DBUILD)altamer.lrg: $(DBUILD)english.lrg rm -f altamer.lrg - ln english.lrg altamer.lrg + ln -s english.lrg altamer.lrg $(DBUILD)english.lrg: $(CONFIG) $(DBUILD)english.lrg: english.0 @@ -296,7 +296,7 @@ $(DBUILD)altamer.lrg+: $(DBUILD)english.lrg+ rm -f altamer.lrg+ - ln english.lrg+ altamer.lrg+ + ln -s english.lrg+ altamer.lrg+ $(DBUILD)english.lrg+: $(CONFIG) $(DBUILD)english.lrg+: english.0 @@ -309,7 +309,7 @@ $(DBUILD)altamer.xlg: $(DBUILD)english.xlg rm -f altamer.xlg - ln english.xlg altamer.xlg + ln -s english.xlg altamer.xlg $(DBUILD)english.xlg: $(CONFIG) $(DBUILD)english.xlg: english.0 @@ -322,7 +322,7 @@ $(DBUILD)altamer.xlg+: $(DBUILD)english.xlg+ rm -f altamer.xlg+ - ln english.xlg+ altamer.xlg+ + ln -s english.xlg+ altamer.xlg+ $(DBUILD)english.xlg+: $(CONFIG) $(DBUILD)english.xlg+: english.0 @@ -364,7 +364,7 @@ for i in english.0 english.1 english.2 english.3 \ american.0 american.1 american.2 altamer.0 altamer.1 altamer.2 \ british.0 british.1 british.2; do \ - ln -s $(DICTSRC)/$$i . || ln $(DICTSRC)/$$i . \ + ln -s $(DICTSRC)/$$i . || ln -s $(DICTSRC)/$$i . \ || cp $(DICTSRC)/$$i .; \ done diff -rNu ispell-3.1.clean/languages/american/Makefile ispell-3.1/languages/american/Makefile --- ispell-3.1.clean/languages/american/Makefile Mon Jan 23 12:28:29 1995 +++ ispell-3.1/languages/american/Makefile Thu Aug 16 17:50:38 2001 @@ -146,7 +146,7 @@ cd $$LIBDIR; \ chmod 644 english.aff $(HASHFILES); \ for i in $(HASHFILES); do \ - ln $$i $(LANGUAGE).hash; \ + ln -s $$i $(LANGUAGE).hash; \ break; \ done @. $(CONFIG); \ @@ -234,7 +234,7 @@ $(DBUILD)american.sml: $(DBUILD)english.sml rm -f american.sml - ln english.sml american.sml + ln -s english.sml american.sml $(DBUILD)english.sml: $(CONFIG) $(DBUILD)english.sml: english.0 @@ -246,7 +246,7 @@ $(DBUILD)american.sml+: $(DBUILD)english.sml+ rm -f american.sml+ - ln english.sml+ american.sml+ + ln -s english.sml+ american.sml+ $(DBUILD)english.sml+: $(CONFIG) $(DBUILD)english.sml+: english.0 @@ -258,7 +258,7 @@ $(DBUILD)american.med: $(DBUILD)english.med rm -f american.med - ln english.med american.med + ln -s english.med american.med $(DBUILD)english.med: $(CONFIG) $(DBUILD)english.med: english.0 @@ -270,7 +270,7 @@ $(DBUILD)american.med+: $(DBUILD)english.med+ rm -f american.med+ - ln english.med+ american.med+ + ln -s english.med+ american.med+ $(DBUILD)english.med+: $(CONFIG) $(DBUILD)english.med+: english.0 @@ -282,7 +282,7 @@ $(DBUILD)american.lrg: $(DBUILD)english.lrg rm -f american.lrg - ln english.lrg american.lrg + ln -s english.lrg american.lrg $(DBUILD)english.lrg: $(CONFIG) $(DBUILD)english.lrg: english.0 @@ -294,7 +294,7 @@ $(DBUILD)american.lrg+: $(DBUILD)english.lrg+ rm -f american.lrg+ - ln english.lrg+ american.lrg+ + ln -s english.lrg+ american.lrg+ $(DBUILD)english.lrg+: $(CONFIG) $(DBUILD)english.lrg+: english.0 @@ -306,7 +306,7 @@ $(DBUILD)american.xlg: $(DBUILD)english.xlg rm -f american.xlg - ln english.xlg american.xlg + ln -s english.xlg american.xlg $(DBUILD)english.xlg: $(CONFIG) $(DBUILD)english.xlg: english.0 @@ -318,7 +318,7 @@ $(DBUILD)american.xlg+: $(DBUILD)english.xlg+ rm -f american.xlg+ - ln english.xlg+ american.xlg+ + ln -s english.xlg+ american.xlg+ $(DBUILD)english.xlg+: $(CONFIG) $(DBUILD)english.xlg+: english.0 @@ -360,7 +360,7 @@ for i in english.0 english.1 english.2 english.3 \ american.0 american.1 american.2 altamer.0 altamer.1 altamer.2 \ british.0 british.1 british.2; do \ - ln -s $(DICTSRC)/$$i . || ln $(DICTSRC)/$$i . \ + ln -s $(DICTSRC)/$$i . || ln -s $(DICTSRC)/$$i . \ || cp $(DICTSRC)/$$i .; \ done diff -rNu ispell-3.1.clean/languages/british/Makefile ispell-3.1/languages/british/Makefile --- ispell-3.1.clean/languages/british/Makefile Mon Jan 23 12:28:29 1995 +++ ispell-3.1/languages/british/Makefile Thu Aug 16 17:50:38 2001 @@ -146,7 +146,7 @@ cd $$LIBDIR; \ chmod 644 english.aff $(HASHFILES); \ for i in $(HASHFILES); do \ - ln $$i $(LANGUAGE).hash; \ + ln -s $$i $(LANGUAGE).hash; \ break; \ done @. $(CONFIG); \ @@ -234,7 +234,7 @@ $(DBUILD)british.sml: $(DBUILD)english.sml rm -f british.sml - ln english.sml british.sml + ln -s english.sml british.sml $(DBUILD)english.sml: $(CONFIG) $(DBUILD)english.sml: english.0 @@ -246,7 +246,7 @@ $(DBUILD)british.sml+: $(DBUILD)english.sml+ rm -f british.sml+ - ln english.sml+ british.sml+ + ln -s english.sml+ british.sml+ $(DBUILD)english.sml+: $(CONFIG) $(DBUILD)english.sml+: english.0 @@ -258,7 +258,7 @@ $(DBUILD)british.med: $(DBUILD)english.med rm -f british.med - ln english.med british.med + ln -s english.med british.med $(DBUILD)english.med: $(CONFIG) $(DBUILD)english.med: english.0 @@ -270,7 +270,7 @@ $(DBUILD)british.med+: $(DBUILD)english.med+ rm -f british.med+ - ln english.med+ british.med+ + ln -s english.med+ british.med+ $(DBUILD)english.med+: $(CONFIG) $(DBUILD)english.med+: english.0 @@ -282,7 +282,7 @@ $(DBUILD)british.lrg: $(DBUILD)english.lrg rm -f british.lrg - ln english.lrg british.lrg + ln -s english.lrg british.lrg $(DBUILD)english.lrg: $(CONFIG) $(DBUILD)english.lrg: english.0 @@ -294,7 +294,7 @@ $(DBUILD)british.lrg+: $(DBUILD)english.lrg+ rm -f british.lrg+ - ln english.lrg+ british.lrg+ + ln -s english.lrg+ british.lrg+ $(DBUILD)english.lrg+: $(CONFIG) $(DBUILD)english.lrg+: english.0 @@ -306,7 +306,7 @@ $(DBUILD)british.xlg: $(DBUILD)english.xlg rm -f british.xlg - ln english.xlg british.xlg + ln -s english.xlg british.xlg $(DBUILD)english.xlg: $(CONFIG) $(DBUILD)english.xlg: english.0 @@ -318,7 +318,7 @@ $(DBUILD)british.xlg+: $(DBUILD)english.xlg+ rm -f british.xlg+ - ln english.xlg+ british.xlg+ + ln -s english.xlg+ british.xlg+ $(DBUILD)english.xlg+: $(CONFIG) $(DBUILD)english.xlg+: english.0 diff -rNu ispell-3.1.clean/languages/deutsch/Makefile ispell-3.1/languages/deutsch/Makefile --- ispell-3.1.clean/languages/deutsch/Makefile Wed Nov 2 12:44:32 1994 +++ ispell-3.1/languages/deutsch/Makefile Thu Aug 16 17:50:38 2001 @@ -95,8 +95,31 @@ # If you change DICTOPTIONS in your local.h file, you will have to do # "make dictclean" to clear out the old dictionary before you re-make. # -DICTALWAYS = adjektive.txt worte.txt verben.txt -DICTOPTIONS = Use_LANGUAGES_from_config.X +DICTALWAYS = worte.txt \ + verben.txt \ + adjektive.txt \ + klein.txt \ + imperat.txt \ + abkuerz.txt \ + vornamen.txt \ + geographie.txt \ + latein.txt \ + oesterreich.txt \ + informatik.txt \ + infoabk.txt \ + elektronik.txt \ + alphabeta.txt \ + roemisch.txt \ + orgabk.txt \ + marken.txt + +DICTXLARGE = worte2.txt \ + zusammen.txt \ + technik.txt \ + compeng.txt \ + geogra2.txt \ + vornam2.txt \ + namen.txt # # The following variables may be overridden by the superior Makefile, @@ -112,26 +135,34 @@ # SHELLDEBUG = +vx -all: deutsch.hash +all: deutschmed.hash deutschlxg.hash install: all $(CONFIG) @. $(CONFIG); \ set -x; \ [ -d $$LIBDIR ] || (mkdir $$LIBDIR; chmod 755 $$LIBDIR); \ - cd $$LIBDIR; rm -f deutsch.aff deutsch.hash + cd $$LIBDIR; rm -f deutsch.aff deutschmed.hash deutschlxg.hash @. $(CONFIG); \ set -x; \ - cp deutsch.aff deutsch.hash $$LIBDIR + cp deutsch.aff deutschmed.hash deutschlxg.hash $$LIBDIR @. $(CONFIG); \ set -x; \ cd $$LIBDIR; \ - chmod 644 deutsch.aff deutsch.hash + chmod 644 deutsch.aff deutschmed.hash deutschlxg.hash; \ + ln -sf deutschlxg.hash deutsch.hash -deutsch.hash: $(BUILDHASH) $(AFFIXES) deutsch.dict - rm -f deutsch.hash - $(BUILDHASH) deutsch.dict $(AFFIXES) deutsch.hash +deutschmed.hash: $(BUILDHASH) $(AFFIXES) deutsch.med + rm -f deutschmed.hash + $(BUILDHASH) deutsch.med $(AFFIXES) deutschmed.hash -$(AFFIXES): deutsch.7bit $(FIX8BIT) +deutschlxg.hash: $(BUILDHASH) $(AFFIXES) deutsch.lxg + rm -f deutschlxg.hash + $(BUILDHASH) deutsch.lxg $(AFFIXES) deutschlxg.hash + +$(AFFIXES): deutsch.aff-hk $(FIX8BIT) + $(FIX8BIT) -8 < deutsch.aff-hk > $(AFFIXES) + +deutsch-isp.aff: deutsch.7bit $(FIX8BIT) $(FIX8BIT) -8 < deutsch.7bit > $(AFFIXES) deutsch-alt.aff: deutsch-alt.7bit $(FIX8BIT) @@ -140,10 +171,17 @@ $(FIX8BIT): ../fix8bit.c cd ..; $(MAKE) fix8bit -deutsch.dict: $(DICTALWAYS) $(DICTOPTIONS) - . $(CONFIG); \ - eval sort -f -o deutsch.dict $$MAKE_SORTTMP \ - $(DICTALWAYS) $(DICTOPTIONS) +deutsch.med: $(DICTALWAYS) README $(AFFIXES) + @. $(CONFIG); \ + set -x; \ + eval sort -u -t/ +0f -1 +0 $$MAKE_SORTTMP -o deutsch.med \ + $(DICTALWAYS) + +deutsch.lxg: $(DICTALWAYS) $(DICTXLARGE) README $(AFFIXES) + @. $(CONFIG); \ + set -x; \ + eval sort -u -t/ +0f -1 +0 $$MAKE_SORTTMP -o deutsch.lxg \ + $(DICTALWAYS) $(DICTXLARGE) # # The following dependency can be executed when ispell is unpacked, @@ -179,7 +217,7 @@ # dictionary file. # dictclean: - rm -f deutsch.dict + rm -f deutsch.med deutsch.lxg # required to be present in all other language Makefiles as # well, even though it doesn't have to do anything in those diff -rNu ispell-3.1.clean/languages/english/english.4l ispell-3.1/languages/english/english.4l --- ispell-3.1.clean/languages/english/english.4l Tue Jan 25 12:31:59 1994 +++ ispell-3.1/languages/english/english.4l Thu Aug 16 17:50:38 2001 @@ -42,17 +42,17 @@ .\" Get rid of all old RCS log lines in preparation for the 3.1 release. .\" .\" -.TH ENGLISH 4 +.TH ENGLISH 5 .SH NAME -english \- flag format for English \fIokspell\fP dictionaries +english \- flag format for English \fIispell\fP dictionaries .SH DESCRIPTION English dictionaries for -.IR okspell (1) +.IR ispell (1) supports 3 prefix and 14 suffix flags. For a detailed description of how -.I okspell +.I ispell handles flags and capitalization, see -.IR okspell (4). +.IR ispell (5). This manual page only describes flags usable in dictionaries built using the .I english.aff @@ -71,7 +71,7 @@ .PP In the following list, an asterisk indicates that a flag participates in cross-product formation (see -.IR okspell (4)). +.IR ispell (5)). .PP The meaning of the prefix flags is as follows: .IP "*A" @@ -271,4 +271,4 @@ .fi .RE .SH "SEE ALSO" -okspell(1), okspell(4) +ispell(1), ispell(5) diff -rNu ispell-3.1.clean/languages/english/english.aff ispell-3.1/languages/english/english.aff --- ispell-3.1.clean/languages/english/english.aff Mon Jan 23 12:28:30 1995 +++ ispell-3.1/languages/english/english.aff Thu Aug 16 17:50:38 2001 @@ -68,6 +68,7 @@ wordchars [a-z] [A-Z] altstringtype "tex" "tex" ".tex" ".bib" +altstringtype "latin1" "nroff" ".txt" ".tex" # Here's a record of flags used, in case you want to add new ones. # Right now, we fit within the minimal MASKBITS definition. diff -rNu ispell-3.1.clean/languages/espanol/Makefile ispell-3.1/languages/espanol/Makefile --- ispell-3.1.clean/languages/espanol/Makefile Mon Jan 23 12:28:45 1995 +++ ispell-3.1/languages/espanol/Makefile Thu Aug 16 17:50:38 2001 @@ -56,17 +56,18 @@ SHELL = /bin/sh MAKE = make +CONFIG = ../../config.sh PATHADDER = ../.. -BUILDHASH = buildhash -UNSQ = unsq -FIX8BIT = fix8bit +BUILDHASH = ../../buildhash +UNSQ = ../../unsq +FIX8BIT = ../fix8bit # # The following variables make it easy to adapt this Makefile to # numerous languages. # LANGUAGE = espanol -DICTIONARY = $(LANGUAGE).words +DICTIONARY = $(LANGUAGE).dict HASHFILE = $(LANGUAGE).hash # @@ -76,6 +77,19 @@ AFFIXES = ./$(LANGUAGE).aff all: $(HASHFILE) + +install: all $(CONFIG) + @. $(CONFIG); \ + set -x; \ + [ -d $$LIBDIR ] || (mkdir $$LIBDIR; chmod 755 $$LIBDIR); \ + cd $$LIBDIR; rm -f $(LANGUAGE).aff $(HASHFILE) + @. $(CONFIG); \ + set -x; \ + cp $(LANGUAGE).aff $(HASHFILE) $$LIBDIR + @. $(CONFIG); \ + set -x; \ + cd $$LIBDIR; \ + chmod 644 $(LANGUAGE).aff $(HASHFILE) $(HASHFILE): $(AFFIXES) $(DICTIONARY) rm -f $(HASHFILE) diff -rNu ispell-3.1.clean/languages/fix8bit.c ispell-3.1/languages/fix8bit.c --- ispell-3.1.clean/languages/fix8bit.c Tue Jan 25 12:32:02 1994 +++ ispell-3.1/languages/fix8bit.c Thu Aug 16 17:50:38 2001 @@ -160,9 +160,9 @@ if (ch >= '0' && ch <= '9') backch = (backch << 4) | (ch - '0'); else if (ch >= 'a' && ch <= 'f') - backch = (ch << 4) - 'a' + 0xA; + backch = (backch << 4) | (ch - 'a' + 0xA); else if (ch >= 'A' && ch <= 'F') - backch = (ch << 4) - 'A' + 0xA; + backch = (backch << 4) | (ch - 'A' + 0xA); else { (void) putchar (backch); diff -rNu ispell-3.1.clean/languages/portugues/Makefile ispell-3.1/languages/portugues/Makefile --- ispell-3.1.clean/languages/portugues/Makefile Thu Oct 12 14:04:47 1995 +++ ispell-3.1/languages/portugues/Makefile Thu Aug 16 17:50:38 2001 @@ -50,10 +50,11 @@ SHELL = /bin/sh MAKE = make +CONFIG = ../../config.sh PATHADDER = ../.. -BUILDHASH = buildhash -UNSQ = unsq -FIX8BIT = fix8bit +BUILDHASH = ../../buildhash +UNSQ = ../../unsq +FIX8BIT = ../fix8bit # # The following variables make it easy to adapt this Makefile to @@ -70,6 +71,19 @@ AFFIXES = ./$(LANGUAGE).aff all: $(HASHFILE) + +install: all $(CONFIG) + @. $(CONFIG); \ + set -x; \ + [ -d $$LIBDIR ] || (mkdir $$LIBDIR; chmod 755 $$LIBDIR); \ + cd $$LIBDIR; rm -f $(LANGUAGE).aff $(HASHFILE) + @. $(CONFIG); \ + set -x; \ + cp $(LANGUAGE).aff $(HASHFILE) $$LIBDIR + @. $(CONFIG); \ + set -x; \ + cd $$LIBDIR; \ + chmod 644 $(LANGUAGE).aff $(HASHFILE) $(HASHFILE): $(AFFIXES) $(DICTIONARY) rm -f $(HASHFILE) diff -rNu ispell-3.1.clean/local.h.samp ispell-3.1/local.h.samp --- ispell-3.1.clean/local.h.samp Mon Jan 23 12:28:27 1995 +++ ispell-3.1/local.h.samp Thu Aug 16 17:50:38 2001 @@ -80,19 +80,49 @@ */ #define MINIMENU /* Display a mini-menu at the bottom of the screen */ -#define NO8BIT /* Remove this if you use ISO character sets */ -#undef USG /* Define this on System V */ +#undef NO8BIT /* Remove this if you use ISO character sets */ +#define USG /* Define this on System V */ +#define HAS_RENAME +#define INSTALL "install" /* * Important directory paths */ -#define BINDIR "/usr/local/bin" -#define LIBDIR "/usr/local/lib" -#define ELISPDIR "/usr/local/lib/emacs/site-lisp" -#define TEXINFODIR "/usr/local/info" -#define MAN1DIR "/usr/local/man/man1" -#define MAN4DIR "/usr/local/man/man4" +#define BINDIR "/usr/bin" +#define LIBDIR "/usr/lib/ispell" +#define ELISPDIR "/usr/share/emacs/site-lisp" +#define TEXINFODIR "/usr/share/info" +#define WORDS "/usr/share/dict/words" +#define MAN1DIR "/usr/share/man/man1" +#define MAN4DIR "/usr/share/man/man5" +#define MAN4EXT ".5" /* * Place any locally-required #include statements here */ +#define CC "gcc" +#define YACC "bison -y" +#define CFLAGS "$CFLAGS -pipe" +#define TERMLIB "-lncurses" +#define LANGUAGES "{american,MASTERDICTS=american.xlg,HASHFILES=americanxlg.hash,EXTRADICT=} {british,MASTERDICTS=british.xlg,HASHFILES=britishxlg.hash,EXTRADICT=} {american,MASTERDICTS=american.med,HASHFILES=americanmed.hash,EXTRADICT=} {british,MASTERDICTS=british.med,HASHFILES=britishmed.hash,EXTRADICT=}" + +/* + * Settings + */ + +#define MASKBITS 64 +#define INPUTWORDLEN 128 +#define MAXAFFIXLEN 32 +#define MAXSTRINGCHARS 128 +#define MASTERHASH "britishxlg.hash" +#define HAS_RENAME +#define DEFNOBACKUPFLAG 0 +#define BAKEXT "~" +#define DEFTEXFLAG 1 +#define EGREPCMD "/usr/bin/grep -E" +#define LOOK "/usr/bin/look -df" +#define MAKE_SORTTMP "-T ${TMPDIR-/var/tmp}" +#define SORTPERSONAL 2000 +#define USESH +#define COMMANDFORSPACE + diff -rNu ispell-3.1.clean/lookup.c ispell-3.1/lookup.c --- ispell-3.1.clean/lookup.c Mon Jan 23 12:28:27 1995 +++ ispell-3.1/lookup.c Thu Aug 16 17:50:38 2001 @@ -59,6 +59,7 @@ #include "ispell.h" #include "proto.h" #include "msgs.h" +#include int linit P ((void)); #ifdef INDEXDUMP @@ -212,22 +213,22 @@ if (dp->word == (char *) -1) dp->word = NULL; else - dp->word = &hashstrings [ (int)(dp->word) ]; + dp->word = &hashstrings [ (intptr_t)(dp->word) ]; if (dp->next == (struct dent *) -1) dp->next = NULL; else - dp->next = &hashtbl [ (int)(dp->next) ]; + dp->next = &hashtbl [ (intptr_t)(dp->next) ]; } } for (i = numsflags + numpflags, entry = sflaglist; --i >= 0; entry++) { if (entry->stripl) - entry->strip = (ichar_t *) &hashstrings[(int) entry->strip]; + entry->strip = (ichar_t *) &hashstrings[(intptr_t) entry->strip]; else entry->strip = NULL; if (entry->affl) - entry->affix = (ichar_t *) &hashstrings[(int) entry->affix]; + entry->affix = (ichar_t *) &hashstrings[(intptr_t) entry->affix]; else entry->affix = NULL; } diff -rNu ispell-3.1.clean/parse.y ispell-3.1/parse.y --- ispell-3.1.clean/parse.y Mon Nov 21 12:26:05 1994 +++ ispell-3.1/parse.y Thu Aug 16 17:50:38 2001 @@ -677,7 +677,10 @@ toupper (hashheader.compoundbit); #endif /* MASKBITS */ #if MASKBITS <= 64 - if (!isalpha (hashheader.compoundbit)) + /* + * isalpha() does not include char 91 to 96 + */ + if (!(hashheader.compoundbit >= 'A' && hashheader.compoundbit <= 'z')) yyerror (PARSE_Y_BAD_FLAG); #endif /* MASKBITS */ hashheader.compoundbit = @@ -870,7 +873,10 @@ flagbit = toupper (flagbit); #endif /* MASKBITS */ #if MASKBITS <= 64 - if (!isalpha (flagbit)) + /* + * isalpha() does not include char 91 to 96 + */ + if (!(flagbit >= 'A' && flagbit <= 'z')) yyerror (PARSE_Y_BAD_FLAG); #endif /* MASKBITS */ flagbit = CHARTOBIT (flagbit); @@ -902,7 +908,10 @@ flagbit = toupper (flagbit); #endif /* MASKBITS */ #if MASKBITS <= 64 - if (!isalpha (flagbit)) + /* + * isalpha() does not include char 91 to 96 + */ + if (!(flagbit >= 'A' && flagbit <= 'z')) yyerror (PARSE_Y_BAD_FLAG); #endif /* MASKBITS */ flagbit = CHARTOBIT (flagbit); diff -rNu ispell-3.1.clean/proto.h ispell-3.1/proto.h --- ispell-3.1.clean/proto.h Wed Nov 2 12:44:27 1994 +++ ispell-3.1/proto.h Thu Aug 16 17:50:38 2001 @@ -73,6 +73,21 @@ * */ +#if defined(__GLIBC__) && ((__GLIBC__ == 2 && __GLIBC_MINOR__ > 0) || (__GLIBC__ > 2)) +# include +#endif +#if defined(__WORDSIZE) && __WORDSIZE == 64 +# ifndef intptr_t +typedef long int intptr_t; +# define intptr_t intptr_t +# endif +//#else +//# ifndef intptr_t +//typedef int intptr_t; +//# define intptr_t intptr_t +//# endif +#endif + extern int addvheader P ((struct dent * ent)); extern void askmode P ((void)); extern void backup P ((void)); @@ -93,7 +108,7 @@ extern char * do_regex_lookup P ((char * expr, int whence)); extern SIGNAL_TYPE done P ((int)); extern void dumpmode P ((void)); -extern void erase P ((void)); +extern void ierase P ((void)); extern int expand_pre P ((char * croot, ichar_t * rootword, MASKTYPE mask[], int option, char *extra)); extern int expand_suf P ((char * croot, ichar_t * rootword, @@ -125,7 +140,7 @@ extern void lowcase P ((ichar_t * string)); extern int makedent P ((char * lbuf, int lbuflen, struct dent * d)); extern void makepossibilities P ((ichar_t * word)); -extern void move P ((int row, int col)); +extern void imove P ((int row, int col)); extern void normal P ((void)); extern char * printichar P ((int in)); #ifdef USESH @@ -250,9 +265,12 @@ extern int system P ((const char * command)); extern int unlink P ((const char * file)); extern int wait P ((int * statusp)); + #else /* NO_STDLIB_H */ +#include #include -#include +//#include + #endif /* NO_STDLIB_H */ #ifndef USG diff -rNu ispell-3.1.clean/sq.c ispell-3.1/sq.c --- ispell-3.1.clean/sq.c Tue Jan 25 12:32:18 1994 +++ ispell-3.1/sq.c Thu Aug 16 17:50:38 2001 @@ -49,6 +49,7 @@ */ #include +#include #ifdef __STDC__ #define P(x) x diff -rNu ispell-3.1.clean/suse/LIESMICH ispell-3.1/suse/LIESMICH --- ispell-3.1.clean/suse/LIESMICH Wed Dec 31 18:00:00 1969 +++ ispell-3.1/suse/LIESMICH Thu Aug 16 17:50:38 2001 @@ -0,0 +1,107 @@ + + Kurzbeschreibung + ================ + +Ispell ist ein schnelles bildschirmorientiertes Programm zur +Überprüfung der Rechtschreibung. Als Vorbild diente das spell +Programm vom ITS (auf Twenex Systemen auch ispell genannt). +Es zeigt gefundene Fehler im textuellen Kontext an und schlägt mögliche +Verbesserungen vor. + +Im Vergleich mit dem UNIX-Programm spell ist ispell schneller und +wesentlich einfacher zu benutzen. Ispell kann neben der englischen +auch andere Sprachen. Ispell hat eine lange Geschichte, und viele +Entwickler haben daran gearbeitet. Mehr über die Entwicklungsgeschichte +finden Sie der Manual-Seite von ispell. + +Die allgemeinste Gebrauchsweise ist `ispell filename'. In diesem Fall +zeigt ispell jedes Wort, das nicht im Wörterbuch steht, in der +obersten Zeile an und erlaubt es, dieses zu ändern. Stehen im +Wörterbuch ähnlich geschriebene Wörter (solche, die sich nur durch +einen Buchstaben, ein Paar von vertauschten Buchstaben oder +Leerstellen unterscheiden), so werden diese in den darunterliegenden +Zeilen angezeigt. Ebenso schlägt ispell Wörter vor, welche vom +gleichen Stamm abgeleitet werden. Die Zeile, die das Wort enthält, und +die vorhergehende Zeile werden am unteren Rand des Bildschirms +dargestellt. Wenn möglich, wird das Wort invertiert dargestellt. Man +kann nun das Wort vollständig ersetzen oder eines der vorgeschlagenen +Wörter wählen. + +Die Default-Sprache ist Englisch, was durch die Environment-Variable +DICTIONARY oder durch die Verwendung der Option `-d ' +geändert werden kann. Durch die Option `-T ' kann auf +verschiedene Umlautformate bzw. Umlautkodierungen umgeschaltet werden. +So ermöglicht `-T latin1' bei der deutsche Sprache das Lesen deutscher +Umlaute nach der ISO-Spezifikation 8859-1. Wenn nach `-T latin1' noch +die Option `-t' gesetzt ist, so können mit ispell (Version 3.1.20) +auch (La)TeX-Texte mit echten ISO-8859-1-Umlauten auf Rechtschreibung +überprüft werden. Ohne die Option `-T latin1' achtet ispell auf die +Endungen der zu überprüfenden Dateien. Welche Endungen und +Kodierungen für die `-T'-Option möglich sind, können Sie aus den +`.aff'-Dateien der gewählten Sprache unter /usr/lib/ispell/ erfahren. +Alle Silbenregeln und die Umlautkodierungen werden in diesen +sprachabhängigen `.aff'-Dateien festgelegt. So ist es beispielsweise +bei Verwendung der deutschen Sprache nicht mehr nötig, ispell die +Umlaute durch die Option `-w' bekannt zu geben. + +Wir haben neben den englischen auch andere Lexika zum Installieren + +Ispell verwendet diese Worttabellen nicht direkt, sondern über die +größeren Hash-Dateien, die ein schnelleres Lesen ermöglichen. Wie Sie +solche Hash-Dateien selbst erstellen können, erfahren Sie ebenfalls +aus der Manual-Seite zu ispell. + +Auf Rechnern mit wenig Speicher kann es bei Verwendung der großen +Hash-Dateien zu Performance-Problemen kommen. Wechseln Sie in diesem +Fall in das Verzeichnis /usr/lib/ispell/ und löschen die +symbolischen Links deutsch.hash bzw. english.hash um Sie danach mit + + `ln -s deutschmed.hash deutsch.hash' und + + `ln -s britishmed.hash english.hash' neu anzulegen. + +Die möglichen Hash-Dateien für diese ispell-Implementierung sind +für Englisch: + + americanmed.hash (klein) + + americanxlg.hash (groß) + + britishmed.hash (klein) + + britishxlg.hash (groß) + +für Deutsch (Paket igerman): + + deutschmed.hash (mittel) + + deutschxlg.hash (groß) + +für Dänisch (Paket idanish): + + dansk.hash (mittel) + +für Spanisch (Paket ispanish): + + espanol.hash (groß) + +für Französisch (Paket ifrensh): + + francais.hash (mittel) + +für Italienisch (Paket iitalian): + + italian.hash (mittel) + +für Niederländisch (Paket idutch): + + nederlands.hash (groß) + +für Schwedisch (Paket iswedish): + + svenska.hash (klein) + +für Norwegisch (Paket inorsk): + + norsk.hash (mittel) + diff -rNu ispell-3.1.clean/suse/README ispell-3.1/suse/README --- ispell-3.1.clean/suse/README Wed Dec 31 18:00:00 1969 +++ ispell-3.1/suse/README Thu Aug 16 17:50:38 2001 @@ -0,0 +1,97 @@ + + Short description + ================= + +Ispell is a fast screen-oriented spelling checker that shows you your +errors in the context of the original file, and suggests possible +corrections when it can figure them out. Compared to UNIX spell, it +is faster and much easier to use. Ispell can also handle languages +other than English. Ispell has a long history, and many people have +contributed to the current version - some of the major contributors +include R. E. Gorin, Pace Willisson, Walt Buehring, and Geoff +Kuenning. + +The easiest usage is 'ispell filename'. In this case ispell presents you +every word it couldn't find in the dictionary and asks you for a correction. +Are there any similar words (only differ in letters, a pair of mixed up +letters or even blanks) they are shown in the line beneath. +Ispell even shows you a list of words that derive from the same stem. Both +lines are posted on the lower edge of the monitor. If possible ispell +inverts the word. Now you can totally replace or choose one of the suggested +words. +The default language is English which can be set using the environment +variable DICTIONARY or the startup option '-d '. Using the +'-T ' switch one can use special 'umlaut' modes' or turn them off. +'-T latin1' e.g. enables you to read German umlauts according to +iso 8859-1. If you set the '-t' flag you can (works with 3.1.20) check +(La)TeX texts with real ISO-8859-1 umlauts for misspelling. Without the +'-T latin1' the correct extension of the files are compelling. The +possible extensions and codes for the '-T' flag are to be found in the +appropriate file which resides under '.aff'. All syllable rules +and codings are put into these '.aff' files therefore it is not longer +necessary to invoke ispell with the '-w' switch for German umlauts. + +Besides the English dictionaries there are German dictionaries under +/usr/lib/ispell. The German word tables have been retrieved from the +dicts-package (hk-deutsch). + +Ispell doesn't 'directly' use those tables but the larger hash tables which +enable you a better and faster reading. How to create hash tables is +explained also in those above-mentioned README files or ask the man page +of ispell for help. + +On computer with low RAM, problems can occur with those large hash tables. +If this is your problem just change directory to /usr/lib/ispell and delete +the symbolic links deutsch.hash or english.hash and recreate them +using the following syntax: + + `ln -s deutschmed.hash deutsch.hash' + + `ln -s britishmed.hash english.hash' + +The following hash tables are used with this version of ispell: +for English: + + americanmed.hash (small) + + americanxlg.hash (big) + + britishmed.hash (small) + + britishxlg.hash (big) + +for German (package igerman): + + deutschmed.hash (middle) + + deutschxlg.hash (big) + +for Danish (package idanish): + + dansk.hash (middle) + +for Spanish (package ispanish): + + espanol.hash (big) + +for French (package ifrensh): + + francais.hash (middle) + +for Italian (package iitalian): + + italian.hash (middle) + +for Dutch (package idutch): + + nederlands.hash (big) + +for Swedish (package iswedish): + + svenska.hash (small) + +for Norwegian (package inorsk): + + norsk.hash (mittel) + + diff -rNu ispell-3.1.clean/suse/emacs/american.el ispell-3.1/suse/emacs/american.el --- ispell-3.1.clean/suse/emacs/american.el Wed Dec 31 18:00:00 1969 +++ ispell-3.1/suse/emacs/american.el Thu Aug 16 17:50:38 2001 @@ -0,0 +1,12 @@ +;; Used by ispell-emacs-menu.el +;; Do *not* byte-compile this file because its loaded by both emacs and xemacs + +(append-ispell-dict-alist "english.hash" + '("english" "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B" "-d" "english") nil nil)) + +(append-ispell-dict-alist "american.hash" + '("american" "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B" "-d" "american") nil nil)) + +(append-ispell-dict-alist "british.hash" + '("british" "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B" "-d" "british") nil nil)) + diff -rNu ispell-3.1.clean/suse/emacs/british.el ispell-3.1/suse/emacs/british.el --- ispell-3.1.clean/suse/emacs/british.el Wed Dec 31 18:00:00 1969 +++ ispell-3.1/suse/emacs/british.el Thu Aug 16 17:50:38 2001 @@ -0,0 +1,12 @@ +;; Used by ispell-emacs-menu.el +;; Do *not* byte-compile this file because its loaded by both emacs and xemacs + +(append-ispell-dict-alist "english.hash" + '("english" "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B" "-d" "english") nil nil)) + +(append-ispell-dict-alist "british.hash" + '("british" "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B" "-d" "british") nil nil)) + +(append-ispell-dict-alist "american.hash" + '("american" "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B" "-d" "american") nil nil)) + diff -rNu ispell-3.1.clean/suse/ispell-emacs-menu.el ispell-3.1/suse/ispell-emacs-menu.el --- ispell-3.1.clean/suse/ispell-emacs-menu.el Wed Dec 31 18:00:00 1969 +++ ispell-3.1/suse/ispell-emacs-menu.el Thu Aug 16 17:50:38 2001 @@ -0,0 +1,43 @@ +;;; ispell-emacs-menu.el --- Produce the (x)emacs (i)spell menu on the fly + +;; Copyright (c) 1999 S.u.S.E. Gmbh Fuerth, Germany. All rights reserved. +;; Author: Werner Fink, 1999/03/04 + +;;; Note: + +;; Do *not* byte-compile this file because its loaded by both emacs and xemacs + +;;; The code: + +(defvar ispell-library-path "/usr/lib/ispell/") + +(defun append-ispell-dict-alist (hash alist) + (if (file-exists-p (concat ispell-library-path hash)) + (setq ispell-dictionary-alist + (append ispell-dictionary-alist (list alist))))) + +(if (string-match "XEmacs\\|Lucid" emacs-version) + (progn ;; The name of the game: xemacsen have their own menu + ;; and an other function for define-coding-system-alias + (copy-coding-system 'iso-8859-1 'iso-latin-1) + (copy-coding-system 'iso-8859-2 'iso-latin-2) + (copy-coding-system 'iso-8859-3 'iso-latin-3) + (copy-coding-system 'iso-8859-4 'iso-latin-4) + (copy-coding-system 'iso-8859-5 'iso-latin-5) + (copy-coding-system 'iso-8859-7 'iso-latin-7) + (copy-coding-system 'iso-8859-8 'iso-latin-8) + (copy-coding-system 'iso-8859-9 'iso-latin-9) + (setq ispell-menu-xemacs nil)) + (setq ispell-menu-map nil)) + +(setq ispell-dictionary-alist '((nil "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B") nil nil))) + +(let ((dir (directory-files (concat ispell-library-path "emacs/") t ".*\\.el$"))) + (while dir (load (car dir) nil t t) (setq dir (cdr dir)))) + +;; +;; Now load the library to recreate the Spell menu in the Edit pulldown +;; +(load "ispell" nil t) + +;;; ispell-emacs-menu.el end here diff -rNu ispell-3.1.clean/term.c ispell-3.1/term.c --- ispell-3.1.clean/term.c Wed Nov 2 12:44:28 1994 +++ ispell-3.1/term.c Thu Aug 16 17:50:38 2001 @@ -70,9 +70,10 @@ #include #endif #include +#include -void erase P ((void)); -void move P ((int row, int col)); +void ierase P ((void)); +void imove P ((int row, int col)); void inverse P ((void)); void normal P ((void)); void backup P ((void)); @@ -88,7 +89,7 @@ void shescape P ((char * buf)); #endif /* USESH */ -void erase () +void ierase () { if (cl) @@ -103,7 +104,7 @@ } } -void move (row, col) +void imove (row, col) int row; int col; { @@ -136,8 +137,13 @@ } #ifdef USG +#if defined(__GLIBC__) && __GLIBC__ >= 2 +static struct termios sbuf; +static struct termios osbuf; +#else static struct termio sbuf; static struct termio osbuf; +#endif #else static struct sgttyb sbuf; static struct sgttyb osbuf; @@ -161,9 +167,13 @@ int tpgrp; #else #ifdef TIOCGPGRP +#if defined(__GLIBC__) && __GLIBC__ >= 2 + pid_t tpgrp; +#else int tpgrp; #endif #endif +#endif #ifdef TIOCGWINSZ struct winsize wsize; #endif /* TIOCGWINSZ */ @@ -247,7 +257,11 @@ (void) fprintf (stderr, TERM_C_NO_BATCH); exit (1); } +#if defined(__GLIBC__) && __GLIBC__ >= 2 + (void) tcgetattr (0, &osbuf); +#else (void) ioctl (0, TCGETA, (char *) &osbuf); +#endif termchanged = 1; sbuf = osbuf; @@ -256,7 +270,11 @@ sbuf.c_iflag &= ~(INLCR | IGNCR | ICRNL); sbuf.c_cc[VMIN] = 1; sbuf.c_cc[VTIME] = 1; +#if defined(__GLIBC__) && __GLIBC__ >= 2 + (void) tcsetattr (0, TCSADRAIN, &sbuf); +#else (void) ioctl (0, TCSETAW, (char *) &sbuf); +#endif uerasechar = osbuf.c_cc[VERASE]; ukillchar = osbuf.c_cc[VKILL]; @@ -269,7 +287,11 @@ #endif #endif #ifdef TIOCGPGRP +#if defined(__GLIBC__) && __GLIBC__ >= 2 + if ((tpgrp = tcgetpgrp (0)) == -1) +#else if (ioctl (0, TIOCGPGRP, (char *) &tpgrp) != 0) +#endif { (void) fprintf (stderr, TERM_C_NO_BATCH); exit (1); @@ -344,7 +366,11 @@ if (te) tputs (te, 1, putch); #ifdef USG +#if defined(__GLIBC__) && __GLIBC__ >= 2 + (void) tcsetattr (0, TCSADRAIN, &osbuf); +#else (void) ioctl (0, TCSETAW, (char *) &osbuf); +#endif #else (void) ioctl (0, TIOCSETP, (char *) &osbuf); #ifdef TIOCSLTC @@ -360,7 +386,11 @@ int signo; { #ifdef USG +#if defined(__GLIBC__) && __GLIBC__ >= 2 + (void) tcsetattr (0, TCSADRAIN, &osbuf); +#else (void) ioctl (0, TCSETAW, (char *) &osbuf); +#endif #else (void) ioctl (0, TIOCSETP, (char *) &osbuf); #ifdef TIOCSLTC @@ -375,7 +405,11 @@ /* stop here until continued */ (void) signal (signo, onstop); #ifdef USG +#if defined(__GLIBC__) && __GLIBC__ >= 2 + (void) tcsetattr (0, TCSADRAIN, &sbuf); +#else (void) ioctl (0, TCSETAW, (char *) &sbuf); +#endif #else (void) ioctl (0, TIOCSETP, (char *) &sbuf); #ifdef TIOCSLTC @@ -391,7 +425,7 @@ onstop (SIGTSTP); #else /* for System V */ - move (li - 1, 0); + imove (li - 1, 0); (void) fflush (stdout); if (getenv ("SHELL")) (void) shellescape (getenv ("SHELL")); @@ -435,7 +469,11 @@ argv[i] = NULL; #ifdef USG +#if defined(__GLIBC__) && __GLIBC__ >= 2 + (void) tcsetattr (0, TCSADRAIN, &osbuf); +#else (void) ioctl (0, TCSETAW, (char *) &osbuf); +#endif #else (void) ioctl (0, TIOCSETP, (char *) &osbuf); #ifdef TIOCSLTC @@ -481,7 +519,11 @@ #endif #ifdef USG +#if defined(__GLIBC__) && __GLIBC__ >= 2 + (void) tcsetattr (0, TCSADRAIN, &sbuf); +#else (void) ioctl (0, TCSETAW, (char *) &sbuf); +#endif #else (void) ioctl (0, TIOCSETP, (char *) &sbuf); #ifdef TIOCSLTC @@ -514,7 +556,11 @@ #endif #ifdef USG +#if defined(__GLIBC__) && __GLIBC__ >= 2 + (void) tcsetattr (0, TCSADRAIN, &osbuf); +#else (void) ioctl (0, TCSETAW, (char *) &osbuf); +#endif #else (void) ioctl (0, TIOCSETP, (char *) &osbuf); #ifdef TIOCSLTC @@ -546,7 +592,11 @@ #endif #ifdef USG +#if defined(__GLIBC__) && __GLIBC__ >= 2 + (void) tcsetattr (0, TCSADRAIN, &sbuf); +#else (void) ioctl (0, TCSETAW, (char *) &sbuf); +#endif #else (void) ioctl (0, TIOCSETP, (char *) &sbuf); #ifdef TIOCSLTC diff -rNu ispell-3.1.clean/tree.c ispell-3.1/tree.c --- ispell-3.1.clean/tree.c Mon Jan 23 12:28:28 1995 +++ ispell-3.1/tree.c Thu Aug 16 17:50:38 2001 @@ -61,6 +61,7 @@ #include #include +#include #include "config.h" #include "ispell.h" #include "proto.h" diff -rNu ispell-3.1.clean/unsq.c ispell-3.1/unsq.c --- ispell-3.1.clean/unsq.c Tue Jan 25 12:32:18 1994 +++ ispell-3.1/unsq.c Thu Aug 16 17:50:38 2001 @@ -49,6 +49,7 @@ */ #include +#include #include "msgs.h" #ifdef __STDC__ @@ -76,6 +77,7 @@ }; #define MAX_PREFIX (sizeof (size_encodings) - 1) +#define UNSEQBUFSIZE 257 extern void exit P ((int status)); @@ -83,8 +85,8 @@ int argc; char * argv[]; { - char word[257]; - static char prev[257] = ""; + char word[UNSEQBUFSIZE]; + static char prev[UNSEQBUFSIZE] = ""; while (!expand (word, prev)) puts (word); @@ -97,8 +99,10 @@ { register char * wordp; register char * prevp; + register char * nl; register int same_count; register int count_char; + register int size; count_char = getchar (); if (count_char == EOF) @@ -116,11 +120,14 @@ wordp = word; while (same_count--) *wordp++ = (*prevp++); - if (gets (wordp) == NULL) + size = UNSEQBUFSIZE - (wordp - word); + if (fgets(wordp, size <= UNSEQBUFSIZE ? size : 0, stdin) == NULL) { (void) fprintf (stderr, UNSQ_C_SURPRISE_EOF); exit (1); } + if ((nl = strrchr(wordp, '\n'))) + *nl = '\0'; (void) strcpy (prev, word); return 0 ; }