GNU bug report logs - #31344
26.1; ispell enchant support generates invalid regexp for empty extra chars

Previous Next

Package: emacs;

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


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Daniel Pittman <slippycheeze <at> google.com>
Subject: bug#31344: closed (resolved in master)
Date: Fri, 19 Oct 2018 13:58:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#31344: 26.1; ispell enchant support generates invalid regexp for empty extra chars

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 31344 <at> debbugs.gnu.org.

-- 
31344: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31344
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Daniel Pittman <slippycheeze <at> google.com>
To: 31344-done <at> debbugs.gnu.org
Subject: resolved in master
Date: Fri, 19 Oct 2018 09:56:58 -0400
[Message part 3 (text/plain, inline)]
this issue has been resolved in the master branch, but the bug was not
closed.  cleaning up.
[Message part 4 (text/html, inline)]
[Message part 5 (message/rfc822, inline)]
From: Daniel Pittman <slippycheeze <at> google.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.1;
 ispell enchant support generates invalid regexp for empty extra chars
Date: Wed, 02 May 2018 20:05:02 +0000
[Message part 6 (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.