Am 08.05.2016 um 21:32 schrieb Jean-Marc Lasgouttes <[email protected]>:
>
> Le 08/05/16 à 19:17, Stephan Witt a écrit :
>> I’ve pasted your email into a new document and switched to Aspell as my
>> current spell checker backend in LyX. As you’ve described it the
>> "communities’"
>> are marked as misspelled. Obviously the word „communities“ is a know one and
>> the problem is the handling of the possessive apostrophe for plural words
>> with terminal ‚s‘ - this is a problem in the Aspell dictionary or the Aspell
>> code. I don’t know if Aspell is able to handle this correctly. (BTW, hunspell
>> isn’t better on my system.)
> It might be interesting to adapt what emacs does here.
Isn’t this a workaround for a broken spell checker backend and/or dictionary?
If I try it with the hunspell command line on CentOS I get:
======================
$ hunspell -d en_US
Hunspell 1.2.8
For example communities and communities'
*
*
+ community
*
+ community
======================
I interpret it that it works ok. Hunspell got the words „communities“ and
„communities'" through affix removal.
I’ll have to check what LyX is doing here.
Stephan
>
> JMarc
>
>
> ispell-dictionary-alist is a variable defined in `ispell.el'.
> Its value is shown below.
>
> Documentation:
> An alist of dictionaries and their associated parameters.
>
> Each element of this list is also a list:
>
> (DICTIONARY-NAME CASECHARS NOT-CASECHARS OTHERCHARS MANY-OTHERCHARS-P
> ISPELL-ARGS EXTENDED-CHARACTER-MODE CHARACTER-SET)
>
> DICTIONARY-NAME is a possible string value of variable `ispell-dictionary',
> nil means the default dictionary.
>
> CASECHARS is a regular expression of valid characters that comprise a word.
>
> NOT-CASECHARS is the opposite regexp of CASECHARS.
>
> OTHERCHARS is a regexp of characters in the NOT-CASECHARS set but which can be
> used to construct words in some special way. If OTHERCHARS characters follow
> and precede characters from CASECHARS, they are parsed as part of a word,
> otherwise they become word-breaks. As an example in English, assume the
> regular expression "[']" for OTHERCHARS. Then "they're" and
> "Steven's" are parsed as single words including the "'" character, but
> "Stevens'" does not include the quote character as part of the word.
> If you want OTHERCHARS to be empty, use the empty string.
> Hint: regexp syntax requires the hyphen to be declared first here.
>
> CASECHARS, NOT-CASECHARS, and OTHERCHARS must be unibyte strings
> containing bytes of CHARACTER-SET. In addition, if they contain
> non-ASCII bytes, the regular expression must be a single
> `character set' construct that doesn't specify a character range
> for non-ASCII bytes.
>
> MANY-OTHERCHARS-P is non-nil when multiple OTHERCHARS are allowed in a word.
> Otherwise only a single OTHERCHARS character is allowed to be part of any
> single word.
>
> ISPELL-ARGS is a list of additional arguments passed to the ispell
> subprocess.
>
> EXTENDED-CHARACTER-MODE should be used when dictionaries are used which
> have been configured in an Ispell affix file. (For example, umlauts
> can be encoded as \"a, a\", "a, ...) Defaults are ~tex and ~nroff
> in English. This has the same effect as the command-line `-T' option.
> The buffer Major Mode controls Ispell's parsing in tex or nroff mode,
> but the dictionary can control the extended character mode.
> Both defaults can be overruled in a buffer-local fashion. See
> `ispell-parsing-keyword' for details on this.
>
> CHARACTER-SET used to encode text sent to the ispell subprocess
> when the language uses non-ASCII characters.
>
> Note that with "ispell" as the speller, the CASECHARS and
> OTHERCHARS slots of the alist should contain the same character
> set as casechars and otherchars in the LANGUAGE.aff file (e.g.,
> english.aff). aspell and hunspell don't have this limitation.
>
> Value:
> (("fr" "[[:alpha:]]" "[^[:alpha:]]" "[-'.@]" t nil nil iso-8859-1)
> ("en" "[[:alpha:]]" "[^[:alpha:]]" "[']" nil nil nil iso-8859-1)
> ("en_AU" "[[:alpha:]]" "[^[:alpha:]]" "[']" nil nil nil iso-8859-1)
> ("en_GB" "[[:alpha:]]" "[^[:alpha:]]" "[']" nil nil nil iso-8859-1)
> ("en_CA" "[[:alpha:]]" "[^[:alpha:]]" "[']" nil nil nil iso-8859-1)
> ("de" "[[:alpha:]]" "[^[:alpha:]]" "[']" t nil nil iso-8859-1)
> ("es" "[[:alpha:]]" "[^[:alpha:]]" "[-]" nil nil nil iso-8859-1)
> ("it" "[[:alpha:]]" "[^[:alpha:]]" "[-.]" nil nil nil iso-8859-1)
> ("nl" "[[:alpha:]]" "[^[:alpha:]]" "[']" t nil nil iso-8859-1)
> ("sv" "[[:alpha:]]" "[^[:alpha:]]" "[']" nil nil nil iso-8859-1)
> ("da" "[[:alpha:]]" "[^[:alpha:]]" "[']" nil nil nil iso-8859-1)
> ("pt" "[[:alpha:]]" "[^[:alpha:]]" "[']" t nil nil iso-8859-1)
> ("pt_BR" "[[:alpha:]]" "[^[:alpha:]]" "[']" t nil nil iso-8859-1)
> ("ru" "[[:alpha:]]" "[^[:alpha:]]" "" nil nil nil iso-8859-1)
> ("pl_PL" "[[:alpha:]]" "[^[:alpha:]]" "[']" t nil nil iso-8859-1))
>
>