From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Reuben Thomas via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#49245: Enchant dictionaries list not being correctly set, and other minor fixes Date: Sun, 27 Jun 2021 22:20:10 +0100 Message-ID: Reply-To: Reuben Thomas Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000be687d05c5c5f084" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38938"; mail-complaints-to="usenet@ciao.gmane.io" To: 49245@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Jun 27 23:21:12 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lxcDG-0009pL-Pe for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 27 Jun 2021 23:21:10 +0200 Original-Received: from localhost ([::1]:36516 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lxcDF-0007bA-2Z for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 27 Jun 2021 17:21:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39402) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lxcD8-0007am-N7 for bug-gnu-emacs@gnu.org; Sun, 27 Jun 2021 17:21:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:38889) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lxcD8-00026Q-Fl for bug-gnu-emacs@gnu.org; Sun, 27 Jun 2021 17:21:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lxcD8-0003e4-5U for bug-gnu-emacs@gnu.org; Sun, 27 Jun 2021 17:21:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Reuben Thomas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 27 Jun 2021 21:21:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 49245 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-emacs Original-Received: via spool by submit@debbugs.gnu.org id=B.162482883213950 (code B ref -1); Sun, 27 Jun 2021 21:21:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 27 Jun 2021 21:20:32 +0000 Original-Received: from localhost ([127.0.0.1]:50435 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lxcCe-0003cw-5x for submit@debbugs.gnu.org; Sun, 27 Jun 2021 17:20:32 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:52236) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lxcCZ-0003ck-3G for submit@debbugs.gnu.org; Sun, 27 Jun 2021 17:20:30 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39392) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lxcCY-0007Tz-NA for bug-gnu-emacs@gnu.org; Sun, 27 Jun 2021 17:20:26 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:44026) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lxcCY-0001in-F5 for bug-gnu-emacs@gnu.org; Sun, 27 Jun 2021 17:20:26 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55334) by fencepost.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lxcCY-0007k7-D1 for bug-emacs@gnu.org; Sun, 27 Jun 2021 17:20:26 -0400 Original-Received: from mail-oi1-x22c.google.com ([2607:f8b0:4864:20::22c]:36658) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lxcCV-0001e3-Od for bug-emacs@gnu.org; Sun, 27 Jun 2021 17:20:26 -0400 Original-Received: by mail-oi1-x22c.google.com with SMTP id 11so11236680oid.3 for ; Sun, 27 Jun 2021 14:20:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sc3d.org; s=google; h=mime-version:from:date:message-id:subject:to; bh=Vn5XJOM8LP1+oxq6R4AgAvkpOaHOMKecAcrRYAoeMqk=; b=ZZd3QSvx48EcDL+0IbdwdVlsJI8PCqVbh1VO7YHEOumUHG8jzKY1vVDH7hpuafxbLx aohbOTi3fA5VLMJq1GpS6eRQ4ScMc2AcVEKEvTCFEojRxsC0cWCzRBgO4u4RQSsCFmM9 183NiHNGJxpt0Eh9g/xlOgV7TnEJxbeOiuX10= 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=Vn5XJOM8LP1+oxq6R4AgAvkpOaHOMKecAcrRYAoeMqk=; b=t385rbA/nDiRitoofLN2Wo3qtTn9lW76Sg7Uqf5CyjUZvTL25zZcHvp/HzU4Ck70CV 78ZL3UPCG2iTyMBMh0JGHwwNXofX/E328QQEbIFHDUbzNE/IC7CnBpjbsS/gUUMB7A32 RFae6ymxf9Ma1nDBwdLM9HBeESe6rISjxXNLWEjaU/f+uEET/Ss+GrjVCsPyuO2yDVFg 7chnL2vLzZDvYF78WMXo84hA2Vc+k9ymAFeJUPcHx2Jv3Zz1b28OgqpuVU0c9aLtMQG2 CHbqEEAEtN/RYWfyDXuf1KV2EZ/XY7eoSPaVPPXrdKWT1jJ5NMKHAQ+nH6pDLsZUGfo1 xLBw== X-Gm-Message-State: AOAM530aruNpo3kogaSU2kiWIg20hKkoR0qGOt2UyTNKUOO/CotEOpFR JG/3TA734GoZwTDph2repgM0cpKWzYGHFuGVnLT957PHGttsBw== X-Google-Smtp-Source: ABdhPJwx1ywZr8N4mzCWovgkdfP9YyVEXcygICmHqcIwxwG3HH2PkL4DMAgXnHDhDi4qahSnVCTQdWSm66EwzOcuJTM= X-Received: by 2002:aca:4d94:: with SMTP id a142mr3421163oib.179.1624828821779; Sun, 27 Jun 2021 14:20:21 -0700 (PDT) Received-SPF: pass client-ip=2607:f8b0:4864:20::22c; envelope-from=rrt@sc3d.org; helo=mail-oi1-x22c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:209038 Archived-At: --000000000000be687d05c5c5f084 Content-Type: multipart/alternative; boundary="000000000000be687b05c5c5f082" --000000000000be687b05c5c5f082 Content-Type: text/plain; charset="UTF-8" I found a bug recently where, when using Enchant as the back-end for ispell.el, spellchecking was locking up for some languages. This turned out to be the combination of two problems. First, ispell-find-enchant-dictionaries was incorrectly merging ispell-dictionary-base-alist into its result. This caused the ispell-set-spellchecker-params to fail to add the correct "-d LANG" flag arguments to the list of dictionaries that it used to start Enchant, which in turn meant that the process was started as e.g. enchant-2 -d francais # rather than -d fr_FR and failed to start properly. I have fixed this by simply removing the incorrect code (patch 0003 attached). Secondly, ispell.el failed to notice that it had not actually started an Enchant process, and hung while trying to read from it in ispell-accept-output. I fixed this by testing that the process is live before trying to read from or write to it (patch 0002 attached). Finally, while reading the source code I found an ancient comment that is more of a commit message in spirit (it explains how the current code came to be that way, rather than explaining something about how it works), so I removed it (patch 0001 attached). As usual with my infrequent patches, I would appreciate other eyes on them before I install them, if possible. I remain an active user of ispell with Enchant, though, so I will give them plenty of manual testing. Thanks in advance! -- https://rrt.sc3d.org --000000000000be687b05c5c5f082 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I found a bug recently where, when usin= g Enchant as the back-end for ispell.el, spellchecking was locking up for s= ome languages.

This tu= rned out to be the combination of two problems.
First, ispell-find-enchant-dictionaries was incor= rectly merging ispell-dictionary-base-alist into its result. This caused th= e ispell-set-spellchecker-params to fail to add the correct "-d LANG&q= uot; flag arguments to the list of dictionaries that it used to start Encha= nt, which in turn meant that the process was started as e.g.

enchant-2 -d francais # rather than = -d fr_FR

and failed to= start properly. I have fixed this by simply removing the incorrect code (p= atch 0003 attached).

Secondly, ispell.el failed to notice that it had not actually started an= Enchant process, and hung while trying to read from it in ispell-accept-ou= tput. I fixed this by testing that the process is live before trying to rea= d from or write to it (patch 0002 attached).

Finally, while reading the source code I found an an= cient comment that is more of a commit message in spirit (it explains how t= he current code came to be that way, rather than explaining something about= how it works), so I removed it (patch 0001 attached).

As usual with my infrequent patches, I wou= ld appreciate other eyes on them before I install them, if possible. I rema= in an active user of ispell with Enchant, though, so I will give them plent= y of manual testing. Thanks in advance!

--
--000000000000be687b05c5c5f082-- --000000000000be687d05c5c5f084 Content-Type: text/x-patch; charset="US-ASCII"; name="0002-lisp-textmodes-ispell.el-Check-process-is-live-befor.patch" Content-Disposition: attachment; filename="0002-lisp-textmodes-ispell.el-Check-process-is-live-befor.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kqfp40ae1 RnJvbSBlMDgwNjVkYTVkYjlkYzFjMzBiMWI4M2FkY2M4OGQzOGIxZWQ2NzFmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSZXViZW4gVGhvbWFzIDxycnRAc2MzZC5vcmc+CkRhdGU6IFN1 biwgMjcgSnVuIDIwMjEgMjI6MDc6MDYgKzAxMDAKU3ViamVjdDogW1BBVENIIDIvM10gKiBsaXNw L3RleHRtb2Rlcy9pc3BlbGwuZWw6IENoZWNrIHByb2Nlc3MgaXMgbGl2ZSBiZWZvcmUKIGludGVy YWN0aW5nLgoKQ2hlY2sgdGhhdCBgaXNwZWxsLXByb2Nlc3MnIGlzIGxpdmUgYmVmb3JlIHRyeWlu ZyB0byByZWFkIGZyb20gb3IKd3JpdGUgdG8gaXQuIFRoaXMgYXZvaWRzIGEgaGFuZyBpZiB0aGUg cHJvY2VzcyBoYXMgZGllZC4KLS0tCiBsaXNwL3RleHRtb2Rlcy9pc3BlbGwuZWwgfCAxMyArKysr KysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2xpc3AvdGV4dG1vZGVzL2lzcGVsbC5lbCBiL2xpc3AvdGV4dG1vZGVz L2lzcGVsbC5lbAppbmRleCBlM2MxZTYxNzcyLi44Yjc5OWIwOGMwIDEwMDY0NAotLS0gYS9saXNw L3RleHRtb2Rlcy9pc3BlbGwuZWwKKysrIGIvbGlzcC90ZXh0bW9kZXMvaXNwZWxsLmVsCkBAIC0x NzY1LDEwICsxNzY1LDEyIEBAIGlzcGVsbC1hY2NlcHQtb3V0cHV0CiBJZiBhc3luY2hyb25vdXMg c3VicHJvY2Vzc2VzIGFyZSBub3Qgc3VwcG9ydGVkLCBjYWxsIGZ1bmN0aW9uIGBpc3BlbGwtZmls dGVyJwogYW5kIHBhc3MgaXQgdGhlIG91dHB1dCBvZiB0aGUgbGFzdCBJc3BlbGwgaW52b2NhdGlv bi4iCiAgIChpZiBpc3BlbGwtYXN5bmMtcHJvY2Vzc3AKLSAgICAgIChsZXQgKCh0aW1lb3V0IChp ZiB0aW1lb3V0LW1zZWNzCi0JCQkgKCsgKG9yIHRpbWVvdXQtc2VjcyAwKSAoLyB0aW1lb3V0LW1z ZWNzIDEwMDAuMCkpCi0JCSAgICAgICB0aW1lb3V0LXNlY3MpKSkKLQkoYWNjZXB0LXByb2Nlc3Mt b3V0cHV0IGlzcGVsbC1wcm9jZXNzIHRpbWVvdXQpKQorICAgICAgKGlmIChwcm9jZXNzLWxpdmUt cCBpc3BlbGwtcHJvY2VzcykKKyAgICAgICAobGV0ICgodGltZW91dCAoaWYgdGltZW91dC1tc2Vj cworCQkJICAoKyAob3IgdGltZW91dC1zZWNzIDApICgvIHRpbWVvdXQtbXNlY3MgMTAwMC4wKSkK KwkJICAgICAgICB0aW1lb3V0LXNlY3MpKSkKKwkgKGFjY2VwdC1wcm9jZXNzLW91dHB1dCBpc3Bl bGwtcHJvY2VzcyB0aW1lb3V0KSkKKyAgICAgICAoZXJyb3IgIk5vIElzcGVsbCBwcm9jZXNzIHRv IHJlYWQgb3V0cHV0IGZyb20hIikpCiAgICAgKGlmIChudWxsIGlzcGVsbC1wcm9jZXNzKQogCShl cnJvciAiTm8gSXNwZWxsIHByb2Nlc3MgdG8gcmVhZCBvdXRwdXQgZnJvbSEiKQogICAgICAgKGxl dCAoKGJ1ZiBpc3BlbGwtb3V0cHV0LWJ1ZmZlcikKQEAgLTE3OTMsNyArMTc5NSw4IEBAIGlzcGVs bC1zZW5kLXJlcGxhY2VtZW50CiAoZGVmdW4gaXNwZWxsLXNlbmQtc3RyaW5nIChzdHJpbmcpCiAg ICJTZW5kIHRoZSBzdHJpbmcgU1RSSU5HIHRvIHRoZSBJc3BlbGwgcHJvY2Vzcy4iCiAgIChpZiBp c3BlbGwtYXN5bmMtcHJvY2Vzc3AKLSAgICAgIChwcm9jZXNzLXNlbmQtc3RyaW5nIGlzcGVsbC1w cm9jZXNzIHN0cmluZykKKyAgICAgIChpZiAocHJvY2Vzcy1saXZlLXAgaXNwZWxsLXByb2Nlc3Mp CisgICAgICAgKHByb2Nlc3Mtc2VuZC1zdHJpbmcgaXNwZWxsLXByb2Nlc3Mgc3RyaW5nKSkKICAg ICA7OyBBc3luY2hyb25vdXMgc3VicHJvY2Vzc2VzIGFyZW4ndCBzdXBwb3J0ZWQgb24gdGhpcyBs b3Npbmcgc3lzdGVtLgogICAgIDs7IFdlIGtlZXAgYWxsIHRoZSBkaXJlY3RpdmVzIHBhc3NlZCB0 byBJc3BlbGwgZHVyaW5nIHRoZSBlbnRpcmUKICAgICA7OyBzZXNzaW9uIGluIGEgYnVmZmVyLCBh bmQgcGFzcyB0aGVtIGFuZXcgZWFjaCB0aW1lIHdlIGludm9rZQotLSAKMi4yNS4xCgo= --000000000000be687d05c5c5f084 Content-Type: text/x-patch; charset="US-ASCII"; name="0003-lisp-textmodes-ispell.el-Fix-finding-dictionaries-fo.patch" Content-Disposition: attachment; filename="0003-lisp-textmodes-ispell.el-Fix-finding-dictionaries-fo.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kqfp40ai2 RnJvbSBlM2NkNTM2MWJlYTM2ZWNkOWMwMjZiY2E5M2ViM2UzODA5NzIxZTEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSZXViZW4gVGhvbWFzIDxycnRAc2MzZC5vcmc+CkRhdGU6IFN1 biwgMjcgSnVuIDIwMjEgMjI6MDg6NDAgKzAxMDAKU3ViamVjdDogW1BBVENIIDMvM10gKiBsaXNw L3RleHRtb2Rlcy9pc3BlbGwuZWw6IEZpeCBmaW5kaW5nIGRpY3Rpb25hcmllcyBmb3IKIEVuY2hh bnQuCgooaXNwZWxsLWZpbmQtZW5jaGFudC1kaWN0aW9uYXJpZXMpOgoKSSBvcmlnaW5hbGx5IGNv cGllZCB0aGlzIGNvZGUgZnJvbSB0aGUgZXF1aXZhbGVudCBjb2RlIGZvcgpBc3BlbGwuIFVuZm9y dHVuYXRlbHkgaXQgd2FzIHdyb25nIGZvciB0aGUgY2FzZSBvZiBFbmNoYW50OiBpdCBzaG91bGQK ZmluZCBvbmx5IGRpY3Rpb25hcmllcyB0aGF0IEVuY2hhbnQga25vd3MgYWJvdXQsIGFuZCBub3Qg bWVyZ2UgaW4KYGlzcGVsbC1kaWN0aW9uYXJ5LWJhc2UtYWxpc3QnIG9yIGFkZCBhIGRlZmF1bHQg ZWxlbWVudCwgYXMgdGhlc2UKYXJlIGRlYWx0IHdpdGggaW4gYGlzcGVsbC1zZXQtc3BlbGxjaGVj a2VyLXBhcmFtcycuCgpUaGlzIGNhdXNlZCBhIGJ1ZyB3aGVyZSB0aGUgY29ycmVjdCBgLWQnIGFy Z3VtZW50IHdvdWxkIG5vdCBiZSBhZGRlZAp0byB0aGUgaW52b2NhdGlvbiBvZiBlbmNoYW50LCBs ZWFkaW5nIHRvIHRoZSBwcm9jZXNzIG5vdCBiZWluZwpjb3JyZWN0bHkgc3RhcnRlZC4KLS0tCiBs aXNwL3RleHRtb2Rlcy9pc3BlbGwuZWwgfCAxMyArLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvdGV4 dG1vZGVzL2lzcGVsbC5lbCBiL2xpc3AvdGV4dG1vZGVzL2lzcGVsbC5lbAppbmRleCA4Yjc5OWIw OGMwLi41NTcwODAwNzc2IDEwMDY0NAotLS0gYS9saXNwL3RleHRtb2Rlcy9pc3BlbGwuZWwKKysr IGIvbGlzcC90ZXh0bW9kZXMvaXNwZWxsLmVsCkBAIC0xMjExLDE4ICsxMjExLDcgQEAgaXNwZWxs LWZpbmQtZW5jaGFudC1kaWN0aW9uYXJpZXMKICAgICAgICAgICAgICAgICAgICAgYCgsbGFuZyAi W1s6YWxwaGE6XV0iICJbXls6YWxwaGE6XV0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LChpc3BlbGwtLWdldC1leHRyYS13b3JkLWNoYXJhY3RlcnMgbGFuZykgdCBuaWwgbmlsIHV0Zi04 KSkKICAgICAgICAgICAgICAgICAgIGRpY3Rpb25hcmllcykpKQotICAgIDs7IE1lcmdlIGludG8g Rk9VTkQgYW55IGVsZW1lbnRzIGZyb20gdGhlIHN0YW5kYXJkIGlzcGVsbC1kaWN0aW9uYXJ5LWJh c2UtYWxpc3QKLSAgICA7OyB3aGljaCBoYXZlIG5vIGVsZW1lbnQgaW4gRk9VTkQgYXQgYWxsLgot ICAgIChkb2xpc3QgKGRpY3QgaXNwZWxsLWRpY3Rpb25hcnktYmFzZS1hbGlzdCkKLSAgICAgICh1 bmxlc3MgKGFzc29jIChjYXIgZGljdCkgZm91bmQpCi0JKHNldHEgZm91bmQgKG5jb25jIGZvdW5k IChsaXN0IGRpY3QpKSkpKQotICAgIChzZXRxIGlzcGVsbC1lbmNoYW50LWRpY3Rpb25hcnktYWxp c3QgZm91bmQpCi0gICAgOzsgQWRkIGEgZGVmYXVsdCBlbnRyeQotICAgIChsZXQgKChkZWZhdWx0 LWRpY3QKLSAgICAgICAgICAgIGAobmlsICJbWzphbHBoYTpdXSIgIlteWzphbHBoYTpdXSIKLSAg ICAgICAgICAgICAgICAgICwoaXNwZWxsLS1nZXQtZXh0cmEtd29yZC1jaGFyYWN0ZXJzKQotICAg ICAgICAgICAgICAgICAgdCBuaWwgbmlsIHV0Zi04KSkpCi0gICAgICAocHVzaCBkZWZhdWx0LWRp Y3QgaXNwZWxsLWVuY2hhbnQtZGljdGlvbmFyeS1hbGlzdCkpKSkKKyAgICAoc2V0cSBpc3BlbGwt ZW5jaGFudC1kaWN0aW9uYXJ5LWFsaXN0IGZvdW5kKSkpCiAKIDs7IFNldCBwYXJhbXMgYWNjb3Jk aW5nIHRvIHRoZSBzZWxlY3RlZCBzcGVsbGNoZWNrZXIKIAotLSAKMi4yNS4xCgo= --000000000000be687d05c5c5f084 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-lisp-textmodes-ispell.el-ispell-word-Remove-a-redund.patch" Content-Disposition: attachment; filename="0001-lisp-textmodes-ispell.el-ispell-word-Remove-a-redund.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kqfp40a50 RnJvbSBlMTJjOGE1MWNjZWU1Y2QyY2M4OWFlNTAzZDJjZTVhMDg1YjA1NTY2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSZXViZW4gVGhvbWFzIDxycnRAc2MzZC5vcmc+CkRhdGU6IFN1 biwgMjcgSnVuIDIwMjEgMjI6MDQ6MTcgKzAxMDAKU3ViamVjdDogW1BBVENIIDEvM10gKiBsaXNw L3RleHRtb2Rlcy9pc3BlbGwuZWwgKGlzcGVsbC13b3JkKTogUmVtb3ZlIGEKIHJlZHVuZGFudCBj b21tZW50CgpSZW1vdmUgYSBjb21tZW50IG9mIHB1cmVseSBoaXN0b3JpY2FsIGludGVyZXN0LiAo SXQgcmVhZHMgbGlrZSBhCmNvbW1pdCBtZXNzYWdlLCBub3QgYSBjb21tZW50LikKLS0tCiBsaXNw L3RleHRtb2Rlcy9pc3BlbGwuZWwgfCAyIC0tCiAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9saXNwL3RleHRtb2Rlcy9pc3BlbGwuZWwgYi9saXNwL3RleHRtb2Rl cy9pc3BlbGwuZWwKaW5kZXggNGRiYzc2NDBiYy4uZTNjMWU2MTc3MiAxMDA2NDQKLS0tIGEvbGlz cC90ZXh0bW9kZXMvaXNwZWxsLmVsCisrKyBiL2xpc3AvdGV4dG1vZGVzL2lzcGVsbC5lbApAQCAt MTkxMSw4ICsxOTExLDYgQEAgaXNwZWxsLXdvcmQKIAkgICAgZW5kIChjYXIgKGNkciAoY2RyIHdv cmQpKSkKIAkgICAgd29yZCAoY2FyIHdvcmQpKQogCi0gICAgICA7OyBBdCB0aGlzIHBvaW50IGl0 IHVzZWQgdG8gaWdub3JlIDItbGV0dGVyIHdvcmRzLgotICAgICAgOzsgQnV0IHRoYXQgaXMgc2ls bHk7IGlmIHRoZSB1c2VyIGFza3MgZm9yIGl0LCB3ZSBzaG91bGQgZG8gaXQuIC0gcm1zLgogICAg ICAgKG9yIHF1aWV0bHkKIAkgIChtZXNzYWdlICJDaGVja2luZyBzcGVsbGluZyBvZiAlcy4uLiIK IAkJICAgKGZ1bmNhbGwgaXNwZWxsLWZvcm1hdC13b3JkLWZ1bmN0aW9uIHdvcmQpKSkKLS0gCjIu MjUuMQoK --000000000000be687d05c5c5f084--