GNU bug report logs -
#31344
26.1; ispell enchant support generates invalid regexp for empty extra chars
Previous Next
Reported by: Daniel Pittman <slippycheeze <at> google.com>
Date: Wed, 2 May 2018 20:06:02 UTC
Severity: normal
Found in version 26.1
Done: Daniel Pittman <slippycheeze <at> google.com>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
G'day. With the new Enchant support in 26 I was motivated to try it out.
Turns out that some languages generate an empty "extra characters" report
for languages I use, which is turned into the (invalid, says `looking-at`)
regular expression "[]".
This triggers in this function in ispell.el:
(defun ispell--get-extra-word-characters (&optional lang)
"Get the extra word characters for LANG as a character class.
If LANG is omitted, get the extra word characters for the default language."
(concat "[" (string-trim-right (apply 'ispell--call-enchant-lsmod
(append '("-word-chars") (if lang
`(,lang))))) "]"))
Obviously, when the result of that call is an empty string we get `[]`; in
my case:
] enchant-2-lsmod -word-chars en_US | xxd
00000000: 0a .
...which causes that. (Error is: `(invalid-regexp "Unmatched [ or [^")`)
I have attached a patch which correctly handles this case, though I feel
there must be a cleaner way to handle this modification of the return.
In any case, Google (and I personally) have papers on file with the FSF
covering this contribution, if it is non-trivial enough for that to matter.
[emacs-ispell-enchant.patch (application/octet-stream, attachment)]
This bug report was last modified 6 years and 215 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.