From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Daniel Pittman Newsgroups: gmane.emacs.bugs Subject: bug#31344: 26.1; ispell enchant support generates invalid regexp for empty extra chars Date: Wed, 02 May 2018 20:05:02 +0000 Message-ID: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000049e5bf056b3e9ca4" X-Trace: blaine.gmane.org 1525291446 19685 195.159.176.226 (2 May 2018 20:04:06 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 2 May 2018 20:04:06 +0000 (UTC) To: 31344@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed May 02 22:04:02 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fDxyr-0004yX-4s for geb-bug-gnu-emacs@m.gmane.org; Wed, 02 May 2018 22:04:01 +0200 Original-Received: from localhost ([::1]:52390 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fDy0w-00070w-1a for geb-bug-gnu-emacs@m.gmane.org; Wed, 02 May 2018 16:06:10 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56559) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fDy0p-00070e-IW for bug-gnu-emacs@gnu.org; Wed, 02 May 2018 16:06:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fDy0o-0007PE-Oa for bug-gnu-emacs@gnu.org; Wed, 02 May 2018 16:06:03 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:39459) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fDy0o-0007P9-Ks for bug-gnu-emacs@gnu.org; Wed, 02 May 2018 16:06:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fDy0o-0001qO-Ea for bug-gnu-emacs@gnu.org; Wed, 02 May 2018 16:06:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Daniel Pittman Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 02 May 2018 20:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 31344 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.15252915497068 (code B ref -1); Wed, 02 May 2018 20:06:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 2 May 2018 20:05:49 +0000 Original-Received: from localhost ([127.0.0.1]:47356 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fDy0b-0001pw-HA for submit@debbugs.gnu.org; Wed, 02 May 2018 16:05:49 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:37238) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fDy0a-0001pf-CN for submit@debbugs.gnu.org; Wed, 02 May 2018 16:05:48 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fDy0T-0007Iu-W8 for submit@debbugs.gnu.org; Wed, 02 May 2018 16:05:43 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:56287) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fDy0T-0007Io-SB for submit@debbugs.gnu.org; Wed, 02 May 2018 16:05:41 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56437) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fDy0S-00070Q-RN for bug-gnu-emacs@gnu.org; Wed, 02 May 2018 16:05:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fDy0R-0007IF-JH for bug-gnu-emacs@gnu.org; Wed, 02 May 2018 16:05:40 -0400 Original-Received: from mail-qt0-x22e.google.com ([2607:f8b0:400d:c0d::22e]:40271) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fDy0R-0007I2-0a for bug-gnu-emacs@gnu.org; Wed, 02 May 2018 16:05:39 -0400 Original-Received: by mail-qt0-x22e.google.com with SMTP id h2-v6so20074258qtp.7 for ; Wed, 02 May 2018 13:05:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=708VPubfO+XPDjue1wtGtba8fhpvtx2lUC5u4Up05E8=; b=spHAxZ/IrgwRou2BiaFbe8w2pGdO1g004s6Eb7qvRjtCC1NqoD6/52NVC2XGApZ5i5 eCEmW+nzFBepIIwvdfnI2HTlQYRbDX8EZXTHB5y941pbMnrHEApcJXDZa83JKskYS1ka 5Pz/iGIWxNrcsMW66detjCeCrgkYMVEEAeGHMcFOEoDLJiiSD+akegEotCnI1TkGlFTo 9e+3dQ1e1M2/Pf5sKn/ewG884pDacokXp9dnmQg3ZdhX+eBLmQv/ceoono5n2pZv74cA 8aRmwd9rvWszMit268/gETGSGNVzCzkKXcQusL0jQ4Anvn+TYWoD4ME6j90DF0/4xzTz 8c4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=708VPubfO+XPDjue1wtGtba8fhpvtx2lUC5u4Up05E8=; b=O4ksXx36h9gWWd0+1X5Zpgh92gg2f4ZloeD6rEdOUMCb9eZXQ23f9otRRGK4A1grnv S75k9wF5/uZ/QyUQ8tFAmjIG1km9/6H/IpgukpugUbPZO5Ysl/Yb9/KS9rmMkXw846R2 uq4kZQagl6fVkL3S9IZrfCJSKRmt7Z5sK2pQQl/pB7gmJSHqvlfI2cG4lk08bjESMMwC Y7ZX+DJ1EjPApXkyXM3ylPb1m+obGPIkYmRbt5byCgkwc92AotT0HdSWm0i7QW/T89kg fDDpmWjCSHrmIj88dE5GIyLgv1OeIowizdGP9bvahYvt3SGSwOdByXbSsl0NZRk1Kufd aQuw== X-Gm-Message-State: ALQs6tA6xYVsCGkN9vMGjipMgpukqL681G9IYaVPFTXRrTPMOkiVd6IL +7249PfvWIaIEHrXiSj4LLcAQZ8w1OI7EzJQCqiOp63lRK8= X-Google-Smtp-Source: AB8JxZouKdzAYYRLWkhlgZgfkL3cWrzus/h79NBFuoj0nyms6bNgcoierxm6VETXdf1/lM90eb5mnqB7wrbQy8fL26g= X-Received: by 2002:ac8:330e:: with SMTP id t14-v6mr17228573qta.263.1525291537735; Wed, 02 May 2018 13:05:37 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:145944 Archived-At: --00000000000049e5bf056b3e9ca4 Content-Type: text/plain; charset="UTF-8" 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. --00000000000049e5bf056b3e9ca4 Content-Type: application/octet-stream; name="emacs-ispell-enchant.patch" Content-Disposition: attachment; filename="emacs-ispell-enchant.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jgpj6dmr0 LS0tIGlzcGVsbC5lbC5vcmlnCTIwMTgtMDUtMDIgMTU6NTg6MzEuMDAwMDAwMDAwIC0wNDAwCisr KyBpc3BlbGwuZWwJMjAxOC0wNS0wMiAxNjowMzo0OS4wMDAwMDAwMDAgLTA0MDAKQEAgLTEyMDYs OCArMTIwNiwxMiBAQAogKGRlZnVuIGlzcGVsbC0tZ2V0LWV4dHJhLXdvcmQtY2hhcmFjdGVycyAo Jm9wdGlvbmFsIGxhbmcpCiAgICJHZXQgdGhlIGV4dHJhIHdvcmQgY2hhcmFjdGVycyBmb3IgTEFO RyBhcyBhIGNoYXJhY3RlciBjbGFzcy4KIElmIExBTkcgaXMgb21pdHRlZCwgZ2V0IHRoZSBleHRy YSB3b3JkIGNoYXJhY3RlcnMgZm9yIHRoZSBkZWZhdWx0IGxhbmd1YWdlLiIKLSAgKGNvbmNhdCAi WyIgKHN0cmluZy10cmltLXJpZ2h0IChhcHBseSAnaXNwZWxsLS1jYWxsLWVuY2hhbnQtbHNtb2QK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXBwZW5kICcoIi13b3Jk LWNoYXJzIikgKGlmIGxhbmcgYCgsbGFuZykpKSkpICJdIikpCisgIChsZXQgKChleHRyYSAoc3Ry aW5nLXRyaW0tcmlnaHQKKyAgICAgICAgICAgICAgICAoYXBwbHkgJ2lzcGVsbC0tY2FsbC1lbmNo YW50LWxzbW9kCisgICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQgJygiLXdvcmQtY2hhcnMi KSAoaWYgbGFuZyBgKCxsYW5nKSkpKSkpKQorICAgIChpZiAoZXF1YWwgZXh0cmEgIiIpCisgICAg ICAgICIiCisgICAgICAoY29uY2F0ICJbIiBleHRyYSAiXSIpKSkpCiAKIChkZWZ1biBpc3BlbGwt ZmluZC1lbmNoYW50LWRpY3Rpb25hcmllcyAoKQogICAiRmluZCBFbmNoYW50J3MgZGljdGlvbmFy aWVzLCBhbmQgcmVjb3JkIGluIGBpc3BlbGwtZW5jaGFudC1kaWN0aW9uYXJ5LWFsaXN0Jy4iCg== --00000000000049e5bf056b3e9ca4--