diff options
author | Achim Gottinger <achim@gentoo.org> | 2001-02-10 11:24:50 +0000 |
---|---|---|
committer | Achim Gottinger <achim@gentoo.org> | 2001-02-10 11:24:50 +0000 |
commit | 0b564b984268062139a0c65c7d9bdf1d93097600 (patch) | |
tree | 154dcf314636956b8c003c1ac59447eb0c6210fe /app-text/ispell/files | |
parent | *** empty log message *** (diff) | |
download | gentoo-2-0b564b984268062139a0c65c7d9bdf1d93097600.tar.gz gentoo-2-0b564b984268062139a0c65c7d9bdf1d93097600.tar.bz2 gentoo-2-0b564b984268062139a0c65c7d9bdf1d93097600.zip |
Some forgotten files
Diffstat (limited to 'app-text/ispell/files')
-rw-r--r-- | app-text/ispell/files/ispell-3.1.20.dif | 1733 |
1 files changed, 1733 insertions, 0 deletions
diff --git a/app-text/ispell/files/ispell-3.1.20.dif b/app-text/ispell/files/ispell-3.1.20.dif new file mode 100644 index 000000000000..fd6b2dbda476 --- /dev/null +++ b/app-text/ispell/files/ispell-3.1.20.dif @@ -0,0 +1,1733 @@ +--- Makefile ++++ Makefile Mon Mar 13 18:18:57 2000 +@@ -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/.[{(]\?RPM_OPT_FLAGS[})]\?/$(RPM_OPT_FLAGS)/" < 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: +--- Makefile.Linux ++++ Makefile.Linux Mon Mar 13 17:48:46 2000 +@@ -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, <werner@suse.de> ++# ++ ++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/ ++ +--- buildhash.c ++++ buildhash.c Mon Mar 13 16:29:04 2000 +@@ -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; + } +--- correct.c ++++ correct.c Mon Mar 13 17:38:35 2000 +@@ -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: +--- fields.c ++++ fields.c Mon Mar 13 18:29:00 2000 +@@ -34,6 +34,7 @@ + #include <stdio.h> + #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 +--- ijoin.c ++++ ijoin.c Mon Mar 13 14:31:54 2000 +@@ -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 */ +--- ispell.1X ++++ ispell.1X Mon Mar 13 14:31:54 2000 +@@ -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 +--- ispell.4 ++++ ispell.4 Mon Mar 13 14:31:54 2000 +@@ -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 +--- ispell.c ++++ ispell.c Mon Mar 13 14:31:54 2000 +@@ -134,6 +134,7 @@ + #include "version.h" + #include <ctype.h> + #include <sys/stat.h> ++#include <unistd.h> + + 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 */ +--- ispell.h ++++ ispell.h Mon Mar 13 17:24:31 2000 +@@ -89,6 +89,7 @@ + */ + + #include <stdio.h> ++#include <curses.h> + + #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 */ +--- ispell.texinfo ++++ ispell.texinfo Mon Mar 13 14:31:54 2000 +@@ -73,6 +73,9 @@ + by the Foundation. + + @end titlepage ++ ++@node Top, Emacs, (dir), (dir) ++ + @menu + * Emacs:: Using ispell from emacs + * Old Emacs:: Old Emacs +@@ -91,8 +94,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 +199,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 +216,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 +--- local.h.samp ++++ local.h.samp Mon Mar 13 18:16:12 2000 +@@ -80,19 +80,48 @@ + */ + + #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/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 CFLAGS "$RPM_OPT_FLAGS -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 ++ +--- lookup.c ++++ lookup.c Mon Mar 13 16:30:48 2000 +@@ -59,6 +59,7 @@ + #include "ispell.h" + #include "proto.h" + #include "msgs.h" ++#include <unistd.h> + + 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; + } +--- parse.y ++++ parse.y Mon Mar 13 14:31:54 2000 +@@ -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); +--- proto.h ++++ proto.h Mon Mar 13 17:50:07 2000 +@@ -73,6 +73,21 @@ + * + */ + ++#if defined(__GLIBC__) && ((__GLIBC__ == 2 && __GLIBC_MINOR__ > 0) || (__GLIBC__ > 2)) ++# include <stdint.h> ++#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 +--- sq.c ++++ sq.c Mon Mar 13 16:44:06 2000 +@@ -49,6 +49,7 @@ + */ + + #include <stdio.h> ++#include <string.h> + + #ifdef __STDC__ + #define P(x) x +--- term.c ++++ term.c Mon Mar 13 17:37:29 2000 +@@ -70,9 +70,10 @@ + #include <sgtty.h> + #endif + #include <signal.h> ++#include <unistd.h> + +-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 +--- tree.c ++++ tree.c Mon Mar 13 14:31:54 2000 +@@ -61,6 +61,7 @@ + + #include <ctype.h> + #include <errno.h> ++#include <unistd.h> + #include "config.h" + #include "ispell.h" + #include "proto.h" +--- unsq.c ++++ unsq.c Mon Mar 13 17:13:05 2000 +@@ -49,6 +49,7 @@ + */ + + #include <stdio.h> ++#include <string.h> + #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 ; + } +--- languages/fix8bit.c ++++ languages/fix8bit.c Mon Mar 13 14:31:54 2000 +@@ -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); +--- languages/altamer/Makefile ++++ languages/altamer/Makefile Mon Mar 13 14:31:54 2000 +@@ -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 + +--- languages/american/Makefile ++++ languages/american/Makefile Mon Mar 13 14:31:54 2000 +@@ -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 + +--- languages/british/Makefile ++++ languages/british/Makefile Mon Mar 13 14:31:54 2000 +@@ -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 +--- languages/deutsch/Makefile ++++ languages/deutsch/Makefile Mon Mar 13 14:31:54 2000 +@@ -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 +--- languages/english/english.4l ++++ languages/english/english.4l Mon Mar 13 14:31:54 2000 +@@ -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) +--- languages/english/english.aff ++++ languages/english/english.aff Mon Mar 13 14:31:54 2000 +@@ -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. +--- languages/espanol/Makefile ++++ languages/espanol/Makefile Mon Mar 13 14:31:54 2000 +@@ -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) +--- languages/portugues/Makefile ++++ languages/portugues/Makefile Mon Mar 13 14:31:54 2000 +@@ -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) +--- suse/LIESMICH ++++ suse/LIESMICH Mon Mar 13 14:31:54 2000 +@@ -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 <Sprache>' ++geändert werden kann. Durch die Option `-T <Format>' 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) ++ +--- suse/README ++++ suse/README Mon Mar 13 14:31:54 2000 +@@ -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 <languag>'. Using the ++'-T <format>' 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 '<language>.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) ++ ++ +--- suse/ispell-emacs-menu.el ++++ suse/ispell-emacs-menu.el Mon Mar 13 14:31:54 2000 +@@ -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, <werner@suse.de> 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 +--- suse/emacs/american.el ++++ suse/emacs/american.el Mon Mar 13 14:31:54 2000 +@@ -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)) ++ +--- suse/emacs/british.el ++++ suse/emacs/british.el Mon Mar 13 14:31:54 2000 +@@ -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)) ++ |