Received: (at 79514) by debbugs.gnu.org; 2 Oct 2025 11:56:26 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 02 07:56:26 2025 Received: from localhost ([127.0.0.1]:39795 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v4Hv7-0000ql-QK for submit <at> debbugs.gnu.org; Thu, 02 Oct 2025 07:56:26 -0400 Received: from coconut.lockywolf.net ([213.165.252.157]:35420) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <for_emacs_1@HIDDEN>) id 1v4Huv-0000q0-32 for 79514 <at> debbugs.gnu.org; Thu, 02 Oct 2025 07:56:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lockywolf.net; s=2024-10-06; t=1759406171; bh=q/PRVJicLL3GLIAM1DgCSVPHvMNAyh+xYvsCckX1dHY=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=kz+KW0o6Fo0KV9vgOSSw2LbZDvE8tHqTWBwCXvHTvYKYCEOXACa3UG+9eDWg6gSkO gMs3P3LOU+VDpI4EaKwux+VzV0G+CkFsV+aCpQLgjFb2+90KVt8faiNCzRGFp4KwgS 16KNu3sgkanCgMkLFUWdZ4O2ogcugbjVd0b877A3d8dnBGfNdOxjrL9XO0MeVi+ZVA VdJno/5KiK3QfQil9lD8wXMru1uY1FPtK8xc1yZlwKaj8shffETNuWpYHC6sVSwnPI WyNISsGdD6bpQzyQXDlY7QYjJ/nI+gNl/wtARMwzKrhwd/xgF3PDDqVZaz2+XBjcfw 5glByt7WONc3Q== Received: from laptop.lockywolf.net (unknown [IPv6:2408:824e:d2e:8ed0:a941:e1c:c5b7:df52]) by coconut.lockywolf.net (postfix-encrypted) with ESMTPSA id EEDD13903D; Thu, 2 Oct 2025 19:56:08 +0800 (CST) From: Lockywolf <for_emacs_1@HIDDEN> To: Jens Schmidt <jschmidt4gnu@HIDDEN> Subject: Re: 31.0.50; ispell-find-aspell-dictionaries should filter dups from "aspell dicts" In-Reply-To: <f145a7cf-6420-4409-8ea4-3bc6dac7cbc7@HIDDEN> References: <175724665403.6018.1750734078039941115@HIDDEN> <20250907120419.0C700C008BB@HIDDEN> <87wm67h5q8.fsf@HIDDEN> <87segvrqo8.fsf@HIDDEN> <87plbyhi0h.fsf@HIDDEN> <87y0qmr68b.fsf@HIDDEN> <87qzwer59s.fsf@HIDDEN> <87o6rifrou.fsf@HIDDEN> <87ikhqqyj2.fsf@HIDDEN> <87y0qlduxf.fsf@HIDDEN> <87cy7xf78u.fsf@HIDDEN> <87ikhnua2c.fsf@HIDDEN> <87plbvajcm.fsf@HIDDEN> <87zfazsqfk.fsf@HIDDEN> <31225e6a-c01e-4cb5-9d61-1597f0cc17e7@HIDDEN> <87ldm3e6hr.fsf@HIDDEN> <5d6115f2-0c03-45ce-8368-bca704ed1057@HIDDEN> <87segaavjd.fsf@HIDDEN> <87plbe9b7u.fsf@HIDDEN> <f145a7cf-6420-4409-8ea4-3bc6dac7cbc7@HIDDEN> User-Agent: mu4e 1.12.12; emacs 31.0.50 Date: Thu, 02 Oct 2025 19:56:01 +0800 Message-ID: <878qht4iwe.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79514 Cc: Eli Zaretskii <eliz@HIDDEN>, Lockywolf <for_emacs_1@HIDDEN>, 79514 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --==-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Jens Schmidt <jschmidt4gnu@HIDDEN> writes: > For Debian, the de_XX.alias and de_XX.multi should be identically: > > [~]$ cat /usr/lib/aspell/de_DE.alias > add de_DE.multi > [~]$ cat /usr/lib/aspell/de_DE.multi > add de-common.rws > add de_DE-only.rws > > So it does not really matter which one of the both "de_DE"s you > choose. This might be as well a packaging issue. I'll open a > Debian bug on that on Monday. > > Regardless of that, I think Emacs should remove these duplicates, > since aspell variants that produce these duplicates are out there > in the wild. I've attached a patch for that, Lockywolf and Eli, > WDYT? (Not surprisingly, that patch makes the first of the test > failures go away.) I do not think this is an issue that should be solved on the Emacs's side. There are many ways in which the backend's installation can be mangled by the installing party (the distribution probably), we cannot expect to compensate for all such issues. Moreover, imagine that the contents of de_DE.alias were like this: add en_EN.multi (presumably my mistake). This would have created a dictionary with an identical name, but a totally different meaning. So if the first one is selected, the experience would be totally broken, and if the second one is selected, the mistake would forever go unnoticed. I do not think we should no it. > Your patch unfortunately does not help in the case of the ispell > problem (nor does the updated one you sent today). You seem to > assume in at least one place that there is always an English > dictionary called "english". With Debian, neither of these > assumptions is true: There is not necessarily an English > dictionary (true for ispell, aspell, or hunspell), and if there > is one, it is not necessarily called "english" (this one is only > true for ispell). Fair enough, I need to think more about how to select the default dictionary better. > Here is a minimal, docker-based test case to demonstrate that: Thank you! > # no dictionary at all for ispell > root@d345dec430e1:/# ispell -a > Can't open /usr/lib/ispell/default.hash This is clearly a bug in Debian. I am not sure how their "recommends" system works, but ispell is always expecting that at least its default dictionary is present (by default it is called "americanmed"). This "can't open" happens not because we, as the users, forgot to give it some required parameter, but because the installation is broken, and the built-in defaults do not work. > # no dictionary at all for aspell > root@d345dec430e1:/# aspell -a > Error: No word lists can be found for the language "en_US". Same argument. We are not giving aspell any invalid setting or a broken path, we are asking it to launch with its default (presumably, minimally-working) settings, so if it is broken with such settings, it is the packager's problem. > # only German dictionary for hunspell > root@d345dec430e1:/# hunspell -a > Can't open affix or dictionary files for dictionary named "default". Same argument. A program should work according to its reasonable defaults as implied by the developer setting reasonable defaults. > apt -y install ibritish iamerican > > # british: yes, american: yes, default: yes (american), english: NO > root@d345dec430e1:/# echo colour | ispell -a -d british > @(#) International Ispell Version 3.4.06 30 Oct 2023 > * > > root@d345dec430e1:/# echo color | ispell -a -d american > @(#) International Ispell Version 3.4.06 30 Oct 2023 > * > > root@d345dec430e1:/# echo color | ispell -a -d default > @(#) International Ispell Version 3.4.06 30 Oct 2023 > * > > root@d345dec430e1:/# echo color | ispell -a -d english > Can't open /usr/lib/ispell/english.hash I think that these tests are missing the point. Of course there might be some dictionaries other than the default available. (The second example would not work with ispell.el as it is at the moment, because "default" has special meaning for ispell.el.) But the engine, as it is developed by the developer, is expected to be behaving according to the developer's intentions and in accordance with the official documentation. Could you show your "ispell -vv | grep -E '(DEFHASH|DEFLANG)'", so that we could see which dictionary is actually the default for ispell in Debian? > The following patch searches for "english", "british", "american" > and, if none of these is present, skips the (otherwise) failing > test. Sorry, but I think your patch sort of misses the point. You are probably right that it might be not correct to rely on actually having a dictionary called "ispell", but this test is not doing anything english-specific and not testing ispell.el's performance with English. If you look at this test more carefully, you will see that it is imitating a plain-text file with "english" set as a buffer-local dictionary specification. Even if you have no English dictionary on your machine, you could have received such a file from your friend over email. So in fact you have found a bug, but it is not a bug in ispell tests, it is a bug in ispell.el, in that given a valid file with a valid buffer-local dictionary, it produces an error. I think that it would be better if you file a separate bug with Emacs, this time not with ispell-tests, but with ispell.el itself, and say something like this: "I am editing a file received from Lockywolf over email, which looks the following": #+begin_example [comment]: <>(-*- mode:markdown; -*-) This is a test. [comment]: <>( Local IspellDict: english ) #+end_example "I have flyspell-mode enabled, because I want all my texts to be perfect, but flyspell cannot start the spellchecker on visiting this file with a cryptic error message. Could you fix this?" =2D-=20 Your sincerely, Vladimir Nikishkin (MiEr, lockywolf) (Laptop) --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQSWBebxCAoqaJP8N/j71sGyD+xtqgUCaN5oUgAKCRD71sGyD+xt qqJ4AQCrCBeCc8DlDQC60rKvtsxPHWvkQx6nOeS4h7MpWKe6EgEAvAu+beMPzUKX q9l3RLU6Pea/DpoKpwVSwUbLFDGhVwg= =JY+Z -----END PGP SIGNATURE----- --==-=-=--
bug-gnu-emacs@HIDDEN:bug#79514; Package emacs.
Full text available.
Received: (at 79514) by debbugs.gnu.org; 27 Sep 2025 20:07:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 27 16:07:58 2025
Received: from localhost ([127.0.0.1]:42493 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v2bD0-0002GB-Rd
for submit <at> debbugs.gnu.org; Sat, 27 Sep 2025 16:07:58 -0400
Received: from mr5.vodafonemail.de ([145.253.228.165]:39192)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <jschmidt4gnu@HIDDEN>)
id 1v2bCv-0002Fu-AG
for 79514 <at> debbugs.gnu.org; Sat, 27 Sep 2025 16:07:50 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vodafonemail.de;
s=vfde-mb-mr2-23sep; t=1759003662;
bh=C3179WozAFwKA7mPHYcavxBxsQ2PTdpxUNVyHREZQbc=;
h=Content-Type:Message-ID:Date:User-Agent:Subject:To:References:
From:Content-Language:In-Reply-To:From;
b=y7DTco9IMUVHOxj0UsqxXgcl26ppjuul/nZlEM93y3VbfBc42X3GTyC/sqnnDzRz0
mLK2uR1HaxNluWGQxxvXt+UHPL6HOSr1vIspTbtsrwxd0/oJi9QbXiytie4jPiqIwq
Ipa8tY/hC1PSLsmlR1l4DBdHThFF6WZHtIQZu20A=
Received: from smtp.vodafone.de (unknown [10.0.0.2])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits))
(No client certificate requested)
by mr5.vodafonemail.de (Postfix) with ESMTPS id 4cYz5V379Dz1y8b;
Sat, 27 Sep 2025 20:07:42 +0000 (UTC)
Received: from [192.168.178.42] (port-92-199-130-153.dynamic.as20676.net
[92.199.130.153])
(using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
by smtp.vodafone.de (Postfix) with ESMTPSA id 4cYz5H2HnXz8sXK;
Sat, 27 Sep 2025 20:07:28 +0000 (UTC)
Content-Type: multipart/mixed; boundary="------------YQ3hvD3CnQGdZk0wOR8Ww31y"
Message-ID: <f145a7cf-6420-4409-8ea4-3bc6dac7cbc7@HIDDEN>
Date: Sat, 27 Sep 2025 22:07:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: 31.0.50; ispell-find-aspell-dictionaries should filter dups from
"aspell dicts"
To: Lockywolf <for_emacs_1@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
References: <175724665403.6018.1750734078039941115@HIDDEN>
<20250907120419.0C700C008BB@HIDDEN> <87wm67h5q8.fsf@HIDDEN>
<87segvrqo8.fsf@HIDDEN> <87plbyhi0h.fsf@HIDDEN>
<87y0qmr68b.fsf@HIDDEN> <87qzwer59s.fsf@HIDDEN>
<87o6rifrou.fsf@HIDDEN> <87ikhqqyj2.fsf@HIDDEN>
<87y0qlduxf.fsf@HIDDEN> <87cy7xf78u.fsf@HIDDEN>
<87ikhnua2c.fsf@HIDDEN> <87plbvajcm.fsf@HIDDEN>
<87zfazsqfk.fsf@HIDDEN>
<31225e6a-c01e-4cb5-9d61-1597f0cc17e7@HIDDEN>
<87ldm3e6hr.fsf@HIDDEN>
<5d6115f2-0c03-45ce-8368-bca704ed1057@HIDDEN>
<87segaavjd.fsf@HIDDEN> <87plbe9b7u.fsf@HIDDEN>
From: Jens Schmidt <jschmidt4gnu@HIDDEN>
Content-Language: de-DE-frami, en-US
In-Reply-To: <87plbe9b7u.fsf@HIDDEN>
X-purgate-type: clean
X-purgate: clean
X-purgate-size: 7148
X-purgate-ID: 155817::1759003658-D6641F98-2888C17D/0/0
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79514
Cc: 79514 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)
This is a multi-part message in MIME format.
--------------YQ3hvD3CnQGdZk0wOR8Ww31y
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
On 2025-09-26 04:52, Lockywolf wrote:
> 1. Regarding Aspell:
> So yeah, apparently the common practice by distro developers is to give
> each dictionary a separate name. This probably is a bug in Aspell,
> though, not in Debian, because even if "aspell dump dicts" produces
> de_AT twice, how would it know which one to select when called with -d?
For Debian, the de_XX.alias and de_XX.multi should be identically:
[~]$ cat /usr/lib/aspell/de_DE.alias
add de_DE.multi
[~]$ cat /usr/lib/aspell/de_DE.multi
add de-common.rws
add de_DE-only.rws
So it does not really matter which one of the both "de_DE"s you
choose. This might be as well a packaging issue. I'll open a
Debian bug on that on Monday.
Regardless of that, I think Emacs should remove these duplicates,
since aspell variants that produce these duplicates are out there
in the wild. I've attached a patch for that, Lockywolf and Eli,
WDYT? (Not surprisingly, that patch makes the first of the test
failures go away.)
> 2. Regarding ispell:
>
> Could you re-run the tests with the patch I have also sent to Alan
> Mackenzie, please? I have introduced a few robustness improvements.
Your patch unfortunately does not help in the case of the ispell
problem (nor does the updated one you sent today). You seem to
assume in at least one place that there is always an English
dictionary called "english". With Debian, neither of these
assumptions is true: There is not necessarily an English
dictionary (true for ispell, aspell, or hunspell), and if there
is one, it is not necessarily called "english" (this one is only
true for ispell).
Here is a minimal, docker-based test case to demonstrate that:
docker run -it --rm debian:trixie
apt update
# required to silence some warnings during installation
apt -y install dialog whiptail
# one can install ispell and aspell completely w/o
# dictionaries, hunspell requires at least some dictionary
apt -y install --no-install-recommends ispell aspell hunspell hunspell-de-de-frami
# no dictionary at all for ispell
root@d345dec430e1:/# ispell -a
Can't open /usr/lib/ispell/default.hash
# no dictionary at all for aspell
root@d345dec430e1:/# aspell -a
Error: No word lists can be found for the language "en_US".
# only German dictionary for hunspell
root@d345dec430e1:/# hunspell -a
Can't open affix or dictionary files for dictionary named "default".
apt -y install ibritish iamerican
# british: yes, american: yes, default: yes (american), english: NO
root@d345dec430e1:/# echo colour | ispell -a -d british
@(#) International Ispell Version 3.4.06 30 Oct 2023
*
root@d345dec430e1:/# echo color | ispell -a -d american
@(#) International Ispell Version 3.4.06 30 Oct 2023
*
root@d345dec430e1:/# echo color | ispell -a -d default
@(#) International Ispell Version 3.4.06 30 Oct 2023
*
root@d345dec430e1:/# echo color | ispell -a -d english
Can't open /usr/lib/ispell/english.hash
The following patch searches for "english", "british", "american"
and, if none of these is present, skips the (otherwise) failing
test.
diff --git a/test/lisp/textmodes/ispell-tests/ispell-tests.el b/test/lisp/textmodes/ispell-tests/ispell-tests.el
index d4f3c281e95..f9d18d695b5 100644
--- a/test/lisp/textmodes/ispell-tests/ispell-tests.el
+++ b/test/lisp/textmodes/ispell-tests/ispell-tests.el
@@ -775,7 +775,17 @@ ispell/ispell-accept-buffer-local-defs/simple
(with-environment-variables (("HOME" temporary-file-directory))
(with-temp-buffer
(letopt ((ispell-program-name (ispell-tests--some-backend)))
- (let ((test-dictname "english")
+ ;; Not all distributions deliver an English dictionary called
+ ;; "english". Try the most reasonable English variants, and if
+ ;; none of these is good enough, skip this test.
+ (let ((test-dictname (catch 'found
+ (dolist (lang '("english" "british" "american"))
+ (when (equal 0
+ (call-process
+ ispell-program-name
+ nil nil nil "-a" "-d" lang))
+ (throw 'found lang)))
+ (skip-when t)))
(test-extcharmode "~latin3")
(test-parser "~testparser")
(test-localword1 "aaaaaaaaaaaaa")
That patch makes the second of my test failures go away.
WDYT?
--------------YQ3hvD3CnQGdZk0wOR8Ww31y
Content-Type: text/x-patch; charset=UTF-8;
name="0001-Delete-duplicate-dictionaries-reported-by-aspell.patch"
Content-Disposition: attachment;
filename*0="0001-Delete-duplicate-dictionaries-reported-by-aspell.patch"
Content-Transfer-Encoding: base64
RnJvbSA2ZjgxYTlmMzZjMjBiMDQ4YzI1MWYwZmQyOTZjZTYxOWU4YWYxOWMyIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKZW5zIFNjaG1pZHQgPGZhcmJsb3NAdm9kYWZvbmVt
YWlsLmRlPgpEYXRlOiBTYXQsIDI3IFNlcCAyMDI1IDIwOjUxOjE1ICswMjAwClN1YmplY3Q6
IFtQQVRDSF0gRGVsZXRlIGR1cGxpY2F0ZSBkaWN0aW9uYXJpZXMgcmVwb3J0ZWQgYnkgYXNw
ZWxsCgpGcm9tOiBKZW5zIFNjaG1pZHQgPGpzY2htaWR0NGdudUB2b2RhZm9uZW1haWwuZGU+
CgpBdCBsZWFzdCBvbiBEZWJpYW4gR05VL0xpbnV4LCAiYXNwZWxsIGRpY3RzIiBjYW4gcmVw
b3J0IGR1cGxpY2F0ZQpkaWN0aW9uYXJpZXMgaW4gaXRzIG91dHB1dC4gIFdoaWxlIHRoYXQg
ZG9lcyBub3QgY29uZnVzZSBmdW5jdGlvbgpgaXNwZWxsLWZpbmQtYXNwZWxsLWRpY3Rpb25h
cmllcycgcGVyIHNlLCBpdCBtaWdodCBjb25mdXNlIGNhbGxlcnMgb2YKdGhhdCBmdW5jdGlv
bi4KCiogbGlzcC90ZXh0bW9kZXMvaXNwZWxsLmVsIChpc3BlbGwtZmluZC1hc3BlbGwtZGlj
dGlvbmFyaWVzKTogRGVsZXRlCmR1cGxpY2F0ZSBkaWN0aW9uYXJpZXMgcmVwb3J0ZWQgYnkg
ImFzcGVsbCBkaWN0cyIuICAoQnVnIzc5NTE0KQotLS0KIGxpc3AvdGV4dG1vZGVzL2lzcGVs
bC5lbCB8IDkgKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA0
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvdGV4dG1vZGVzL2lzcGVsbC5lbCBi
L2xpc3AvdGV4dG1vZGVzL2lzcGVsbC5lbAppbmRleCBiMzdkMDdmNWU2Mi4uNjU3YjBiZjYz
MDEgMTAwNjQ0Ci0tLSBhL2xpc3AvdGV4dG1vZGVzL2lzcGVsbC5lbAorKysgYi9saXNwL3Rl
eHRtb2Rlcy9pc3BlbGwuZWwKQEAgLTgxOSwxMCArODE5LDExIEBAIGlzcGVsbC0tYXNwZWxs
LWZvdW5kLWRpY3Rpb25hcmllcwogKGRlZnVuIGlzcGVsbC1maW5kLWFzcGVsbC1kaWN0aW9u
YXJpZXMgKCkKICAgIkZpbmQgQXNwZWxsJ3MgZGljdGlvbmFyaWVzLCBhbmQgcmVjb3JkIGlu
IGBpc3BlbGwtYXNwZWxsLWRpY3Rpb25hcnktYWxpc3QnLiIKICAgKGxldCogKChkaWN0aW9u
YXJpZXMKLQkgIChzcGxpdC1zdHJpbmcKLQkgICAod2l0aC10ZW1wLWJ1ZmZlcgotCSAgICAg
KGlzcGVsbC1jYWxsLXByb2Nlc3MgaXNwZWxsLXByb2dyYW0tbmFtZSBuaWwgdCBuaWwgImRp
Y3RzIikKLQkgICAgIChidWZmZXItc3RyaW5nKSkpKQorICAgICAgICAgIChkZWxldGUtZHVw
cworCSAgIChzcGxpdC1zdHJpbmcKKwkgICAgKHdpdGgtdGVtcC1idWZmZXIKKwkgICAgICAo
aXNwZWxsLWNhbGwtcHJvY2VzcyBpc3BlbGwtcHJvZ3JhbS1uYW1lIG5pbCB0IG5pbCAiZGlj
dHMiKQorCSAgICAgIChidWZmZXItc3RyaW5nKSkpKSkKIAkgOzsgU2VhcmNoIGZvciB0aGUg
bmFtZWQgZGljdGlvbmFyaWVzLgogCSAoZm91bmQKIAkgIChkZWxxIG5pbAotLSAKMi4zOS41
Cgo=
--------------YQ3hvD3CnQGdZk0wOR8Ww31y--
bug-gnu-emacs@HIDDEN:bug#79514; Package emacs.
Full text available.
Received: (at 79514) by debbugs.gnu.org; 26 Sep 2025 02:52:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 25 22:52:54 2025
Received: from localhost ([127.0.0.1]:33084 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v1yZq-0007JC-1F
for submit <at> debbugs.gnu.org; Thu, 25 Sep 2025 22:52:54 -0400
Received: from coconut.lockywolf.net
([2a04:c5c0:0:d7:f816:3eff:fe6b:287f]:44258)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <for_emacs_1@HIDDEN>)
id 1v1yZl-0007Iz-34
for 79514 <at> debbugs.gnu.org; Thu, 25 Sep 2025 22:52:50 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lockywolf.net;
s=2024-10-06; t=1758855166;
bh=h/ty8n05fyUrUJRJpq1sAJw9x21IaUMGisY33f+Ej4U=;
h=From:To:Cc:Subject:In-Reply-To:References:Date;
b=ZakwCCElV+IDY71re6HZweVQigoHGlDOE8O1Ylx8LTuFVYh68BuumyltPBNgc8DXj
hNoFS4FfpiSUBYbYQLQHwlYfAGA3x1sxScUn4fwys2tqwwzEgulV8vZUrndXT+mVQq
2ap0fSLpQTlWJK+KfPPyoXk3UVyG5fkGWqGlMNIwRKUyaIGY9T4iwCGiJ3Rrfp3/yJ
HQtTXxzZLYo56i0f4rJwzicQ3UOND8lAeQ2cSTUBiMnPoUc8ol7qAhiwcZ/JuPMD+K
/bd0CXAlYFItpErAlVl9REL9mLcL/JiVezKGev07tOPSVeuDfcLwMYmUMU7xJSkEjx
vQcqz2ONQlIfQ==
Received: from laptop.lockywolf.net (unknown [IPv6:2001:470:24:315::102])
by coconut.lockywolf.net (postfix-encrypted) with ESMTPSA id 876E838F22;
Fri, 26 Sep 2025 10:52:44 +0800 (CST)
From: Lockywolf <for_emacs_1@HIDDEN>
To: Jens Schmidt <jschmidt4gnu@HIDDEN>
Subject: Re: 31.0.50; ispell-find-aspell-dictionaries should filter dups
from "aspell dicts"
In-Reply-To: <87segaavjd.fsf@HIDDEN>
References: <175724665403.6018.1750734078039941115@HIDDEN>
<20250907120419.0C700C008BB@HIDDEN>
<87wm67h5q8.fsf@HIDDEN> <87segvrqo8.fsf@HIDDEN>
<87plbyhi0h.fsf@HIDDEN> <87y0qmr68b.fsf@HIDDEN>
<87qzwer59s.fsf@HIDDEN> <87o6rifrou.fsf@HIDDEN>
<87ikhqqyj2.fsf@HIDDEN> <87y0qlduxf.fsf@HIDDEN>
<87cy7xf78u.fsf@HIDDEN> <87ikhnua2c.fsf@HIDDEN>
<87plbvajcm.fsf@HIDDEN> <87zfazsqfk.fsf@HIDDEN>
<31225e6a-c01e-4cb5-9d61-1597f0cc17e7@HIDDEN>
<87ldm3e6hr.fsf@HIDDEN>
<5d6115f2-0c03-45ce-8368-bca704ed1057@HIDDEN>
<87segaavjd.fsf@HIDDEN>
User-Agent: mu4e 1.12.12; emacs 31.0.50
Date: Fri, 26 Sep 2025 10:52:37 +0800
Message-ID: <87plbe9b7u.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 79514
Cc: Lockywolf <for_emacs_1@HIDDEN>, 79514 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)
--=-=-=
Content-Type: multipart/signed; boundary="==-=-=";
micalg=pgp-sha256; protocol="application/pgp-signature"
--==-=-=
Content-Type: text/plain
Lockywolf <for_emacs_1@HIDDEN> writes:
1. Regarding Aspell:
On my machine, I have:
find /usr/lib64/aspell/ -regex '.*\/de.*'
/usr/lib64/aspell/de-common.rws
/usr/lib64/aspell/de.multi
/usr/lib64/aspell/de_phonet.dat
/usr/lib64/aspell/de_CH.multi
/usr/lib64/aspell/de_CH-only.rws
/usr/lib64/aspell/deutsch.alias
/usr/lib64/aspell/de_DE.multi
/usr/lib64/aspell/de.dat
/usr/lib64/aspell/de_DE-only.rws
/usr/lib64/aspell/de_affix.dat
/usr/lib64/aspell/de_AT-only.rws
/usr/lib64/aspell/de_AT.multi
and for English, which is more abundant:
/usr/lib64/aspell/en_GB-variant_0.multi
/usr/lib64/aspell/en_GB-variant_0.rws
/usr/lib64/aspell/en_GB-variant_1.multi
/usr/lib64/aspell/en_GB-variant_1.rws
/usr/lib64/aspell/en_GB-w_accents.multi
/usr/lib64/aspell/en_GB-wo_accents.multi
/usr/lib64/aspell/en_GB.multi
/usr/lib64/aspell/en_US-variant_0.multi
/usr/lib64/aspell/en_US-variant_1.multi
/usr/lib64/aspell/en_US-w_accents-only.rws
/usr/lib64/aspell/en_US-w_accents.multi
/usr/lib64/aspell/en_US-wo_accents-only.rws
/usr/lib64/aspell/en_US-wo_accents.multi
/usr/lib64/aspell/en_US.multi
/usr/lib64/aspell/en_affix.dat
/usr/lib64/aspell/en_phonet.dat
/usr/lib64/aspell/english-variant_0.alias
/usr/lib64/aspell/english-variant_1.alias
/usr/lib64/aspell/english-variant_2.alias
/usr/lib64/aspell/english-w_accents.alias
/usr/lib64/aspell/english-wo_accents.alias
/usr/lib64/aspell/english.alias
where ".alias" files are mostly just similar to:
add en-variant_0.multi
So yeah, apparently the common practice by distro developers is to give
each dictionary a separate name. This probably is a bug in Aspell,
though, not in Debian, because even if "aspell dump dicts" produces
de_AT twice, how would it know which one to select when called with -d?
2. Regarding ispell:
Could you re-run the tests with the patch I have also sent to Alan
Mackenzie, please? I have introduced a few robustness improvements.
(Attaching it here anyway, no need to search the mailing list for the
patch.)
--==-=-=
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iHUEARYIAB0WIQSWBebxCAoqaJP8N/j71sGyD+xtqgUCaNX/9wAKCRD71sGyD+xt
qgTUAP9rtqGj+Fskgkv+Utc/JkX/+gzkdjpNZ0QoNkn+P65obgD+I71iEPsPS0AV
hf+RbrX4u+dt2GOITRuCoJTcAMtenwE=
=Mgr9
-----END PGP SIGNATURE-----
--==-=-=--
--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
filename=0001-Fix-detecting-a-working-hunspell-on-systems-without-.patch
From 339003c9db6a4d48734f199e955e2d9caa26a8f8 Mon Sep 17 00:00:00 2001
From: Lockywolf <for_emacs_1@HIDDEN>
Date: Mon, 22 Sep 2025 12:46:03 +0800
Subject: [PATCH] Fix detecting a working hunspell on systems without a
dictionary.
* test/lisp/textmodes/ispell-tests/ispell-hunspell-tests.el
(ispell-tests-hunspell--hunspell-working): Implement checker.
(ispell/hunspell/ispell-word/russian/check-only): Add skip-check.
(ispell/hunspell/ispell-word/english/check-only): Add skip-check.
(ispell/hunspell/ispell-word/language-switch/check-only): Add
skip-check.
(ispell/hunspell/ispell-word/russian/check-only/wrong-language): Add
skip-check.
(ispell/hunspell/ispell-word/multilang): Add skip-check.
* test/lisp/textmodes/ispell-tests/ispell-tests-common.el
(fake-aspell-path): Improve checking that an engine works.
(letopt): Make restoring variables more robust.
---
.../ispell-tests/ispell-hunspell-tests.el | 16 ++++++++++++++--
.../ispell-tests/ispell-tests-common.el | 17 ++++++++++-------
2 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/test/lisp/textmodes/ispell-tests/ispell-hunspell-tests.el b/test/lisp/textmodes/ispell-tests/ispell-hunspell-tests.el
index 18206b08608..530a542ef1d 100644
--- a/test/lisp/textmodes/ispell-tests/ispell-hunspell-tests.el
+++ b/test/lisp/textmodes/ispell-tests/ispell-hunspell-tests.el
@@ -34,12 +34,22 @@
load-path)))
(require 'ispell-tests-common)))
+(defun ispell-tests-hunspell--hunspell-working ()
+ (if (not (equal
+ 0
+ (call-process "hunspell" nil nil nil "-a")))
+ (progn
+ (message "Hunspell installation is broken and does not support a default dictionary!")
+ nil)
+ t))
+
(ert-deftest ispell/hunspell/ispell-word/english/check-only ()
"This test checks that Russian spellchecking works for Hunspell."
(skip-unless (executable-find "hunspell"))
(skip-unless (equal
0
(call-process "hunspell" nil nil nil "-vv")))
+ (skip-unless (ispell-tests-hunspell--hunspell-working))
(skip-unless (equal
0
(with-temp-buffer
@@ -108,6 +118,7 @@ ispell/hunspell/ispell-word/russian/check-only
(skip-unless (equal
0
(call-process "hunspell" nil nil nil "-vv")))
+ (skip-unless (ispell-tests-hunspell--hunspell-working))
(skip-unless (equal
0
(let ((retval (with-temp-buffer
@@ -160,6 +171,7 @@ ispell/hunspell/ispell-word/language-switch/check-only
(skip-unless (equal
0
(call-process "hunspell" nil nil nil "-vv")))
+ (skip-unless (ispell-tests-hunspell--hunspell-working))
(skip-unless (equal
0
(with-temp-buffer
@@ -227,6 +239,7 @@ ispell/hunspell/ispell-word/russian/check-only/wrong-language
(skip-unless (equal
0
(call-process "hunspell" nil nil nil "-vv")))
+ (skip-unless (ispell-tests-hunspell--hunspell-working))
(skip-unless (equal
0
(with-temp-buffer
@@ -264,6 +277,7 @@ ispell/hunspell/ispell-word/multilang
(skip-unless (equal
0
(call-process "hunspell" nil nil nil "-vv")))
+ (skip-unless (ispell-tests-hunspell--hunspell-working))
(skip-unless (equal
0
(with-temp-buffer
@@ -336,7 +350,5 @@ ispell/hunspell/ispell-word/multilang
))))
)
-
-
(provide 'ispell-hunspell-tests)
;;; ispell-hunspell-tests.el ends here
diff --git a/test/lisp/textmodes/ispell-tests/ispell-tests-common.el b/test/lisp/textmodes/ispell-tests/ispell-tests-common.el
index 0692e11e567..801bb6e6b6f 100644
--- a/test/lisp/textmodes/ispell-tests/ispell-tests-common.el
+++ b/test/lisp/textmodes/ispell-tests/ispell-tests-common.el
@@ -21,10 +21,9 @@ fake-aspell-path
(lambda (b)
(and
(executable-find b)
- ;; (equal 0
- ;; (with-temp-buffer
- ;; (call-process b nil t "-v")))
- ))
+ (equal 0
+ (with-temp-buffer
+ (call-process b nil t "-a")))))
backend-binaries)))
(defun ispell-tests--some-backend-available-p ()
@@ -42,14 +41,18 @@ letopt
(declare (indent 1))
(let* ((binding-var (lambda (binding) (car binding)))
(binding-val (lambda (binding) (cadr binding)))
- (make-setopt (lambda (a b)
- (list 'setopt a b)))
+ (make-setopt
+ (lambda (a b)
+ (list 'setopt a b)))
+ (add-ignore-errors
+ (lambda (a)
+ (list 'ignore-errors a)))
(vars (seq-map binding-var bindings))
(values (seq-map binding-val bindings))
(temp-vars (seq-map #'gensym vars))
(savebindings (seq-mapn #'list temp-vars vars))
(tempbindings (seq-mapn make-setopt vars values))
- (restorebindings (seq-mapn make-setopt vars temp-vars)))
+ (restorebindings (seq-mapn add-ignore-errors (seq-mapn make-setopt vars temp-vars))))
`(let ,savebindings
(unwind-protect (progn ,@tempbindings
,@body)
--
2.46.4
--=-=-=
Content-Type: text/plain
--
Your sincerely,
Vladimir Nikishkin (MiEr, lockywolf)
(Laptop)
> LocalWords: distro
--=-=-=--
bug-gnu-emacs@HIDDEN:bug#79514; Package emacs.
Full text available.Received: (at 79514) by debbugs.gnu.org; 26 Sep 2025 00:48:40 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 25 20:48:40 2025 Received: from localhost ([127.0.0.1]:60518 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v1wdb-0002HF-C6 for submit <at> debbugs.gnu.org; Thu, 25 Sep 2025 20:48:40 -0400 Received: from coconut.lockywolf.net ([213.165.252.157]:54596) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <for_emacs_1@HIDDEN>) id 1v1wdV-0002Gt-PZ for 79514 <at> debbugs.gnu.org; Thu, 25 Sep 2025 20:48:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lockywolf.net; s=2024-10-06; t=1758847711; bh=D2tnv2syQdsWF5mld0r6S7k5ZTZDv6u5qWWdvWFaDLY=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=JXlvozwPcUfmqCxnCnddXGXDNqfOJLRpUB1hqO4H/gPSPiYBZAIEQ7CLwuo9K5BOO tuxlEpYaxTQAkV3uLz5blJuRd4RtgR4vWtaBP0zQ9kp0s0GsOqJcGEqcKqbkZlgega cxtztfssqD/nZPkkcYgz2tzzybEABuKQ9H1cwS0ISGuCFxhxANa3bS3aztjAe6O2+d naYiKkec3I6S53GxCJ31iIXO12Nerxy+YA05eo77V5ZLpz5DStk0zduhlD69F9MxTI 49FJ+SaBo9uk/f8te3+SRkJ9C9McXLzMkY+8CGVg2Gmj66iHAseZ4yuYhT/hIaX2M0 zhjUhzGmLlvZw== Received: from laptop.lockywolf.net (unknown [IPv6:2001:470:24:315::102]) by coconut.lockywolf.net (postfix-encrypted) with ESMTPSA id 6596338E84; Fri, 26 Sep 2025 08:48:28 +0800 (CST) From: Lockywolf <for_emacs_1@HIDDEN> To: Jens Schmidt <jschmidt4gnu@HIDDEN> Subject: Re: 31.0.50; ispell-find-aspell-dictionaries should filter dups from "aspell dicts" In-Reply-To: <5d6115f2-0c03-45ce-8368-bca704ed1057@HIDDEN> References: <175724665403.6018.1750734078039941115@HIDDEN> <20250907120419.0C700C008BB@HIDDEN> <87wm67h5q8.fsf@HIDDEN> <87segvrqo8.fsf@HIDDEN> <87plbyhi0h.fsf@HIDDEN> <87y0qmr68b.fsf@HIDDEN> <87qzwer59s.fsf@HIDDEN> <87o6rifrou.fsf@HIDDEN> <87ikhqqyj2.fsf@HIDDEN> <87y0qlduxf.fsf@HIDDEN> <87cy7xf78u.fsf@HIDDEN> <87ikhnua2c.fsf@HIDDEN> <87plbvajcm.fsf@HIDDEN> <87zfazsqfk.fsf@HIDDEN> <31225e6a-c01e-4cb5-9d61-1597f0cc17e7@HIDDEN> <87ldm3e6hr.fsf@HIDDEN> <5d6115f2-0c03-45ce-8368-bca704ed1057@HIDDEN> User-Agent: mu4e 1.12.12; emacs 31.0.50 Date: Fri, 26 Sep 2025 08:48:22 +0800 Message-ID: <87segaavjd.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 79514 Cc: Lockywolf <for_emacs_1@HIDDEN>, 79514 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Jens Schmidt <jschmidt4gnu@HIDDEN> writes: > On 2025-09-25 02:11, Lockywolf wrote: > > > Well, I don't know whether ispell.el is at fault here, but it turns out > that Debian's aspell already returns duplicates on "aspell dicts": > > [emacs-master]$ aspell dicts > de > de-1901 > de-neu > de_AT <<<<< > de_AT <<<<< > de_AT-neu > de_CH <<<<< > de_CH <<<<< > de_CH-1901 > de_CH-neu > de_DE <<<<< > de_DE <<<<< > de_DE-1901 > de_DE-neu > en > [...] > > Which is probably a result of its particular dictionary layout: > > [emacs-master]$ ls -al /usr/lib/aspell/de_??.* > -rw-r--r-- 1 root root 16 Dec 17 2022 /usr/lib/aspell/de_AT.alias > lrwxrwxrwx 1 root root 29 Feb 6 2022 /usr/lib/aspell/de_AT.multi -> /= etc/alternatives/de_AT.multi > -rw-r--r-- 1 root root 16 Dec 17 2022 /usr/lib/aspell/de_CH.alias > lrwxrwxrwx 1 root root 29 Feb 6 2022 /usr/lib/aspell/de_CH.multi -> /= etc/alternatives/de_CH.multi > -rw-r--r-- 1 root root 16 Dec 17 2022 /usr/lib/aspell/de_DE.alias > lrwxrwxrwx 1 root root 29 Feb 6 2022 /usr/lib/aspell/de_DE.multi -> /= etc/alternatives/de_DE.multi > > I guess it should be easy to screen these duplicates in function > `ispell-find-aspell-dictionaries'. Would you care about that? > > I can open in parallel a bug/RFE against Debian's aspell package. I can have a look at way aspell is looking for a dictionary. Are those de_AT.alias and de_AT.multi representing two different dictionaries? > All default on Debian 12, which (IIUC) generates the hash files (below > /var/lib) from some other representation (below /usr/lib) during package > installation. In general, Debian has invested a lot of effort (read as: > a lot of installation time scripting and patches on top of the upstream > packages) to make this spelling a more stream-lined (?) affair. Apparently they fail :D. > Test ispell/ispell-accept-buffer-local-defs/simple seems to fail > since I haven't /usr/lib/ispell/english.hash on my system. The presence of actual files is of secondary importance. You have "english.aff", which, I presume, implies that Debian expects ispell to work with the English language by using "ispell -d english". They probably intended that "american.hash" be used with "english.aff". Does "ispell -d english" work on your machine? If not, it is probably worth filing a bug with Debian, I probably should add a check to the tests that verifies that "ispell -d english" is working as well. Out of curiosity, what does "ispell -vv | grep -E '(DEFHASH|DEFLANG)'" produce on your machine? =2D-=20 Your sincerely, Vladimir Nikishkin (MiEr, lockywolf) (Laptop) --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQSWBebxCAoqaJP8N/j71sGyD+xtqgUCaNXi2AAKCRD71sGyD+xt qrcDAP9WBIg37YwKx/IlDdykasBYe+4ci07OYEM12kS2ODvVBgEA0NZ/5Z47Snnd jJnMDRKDk5c6FoH7UuJ1ma5oatUrSQk= =3ShA -----END PGP SIGNATURE----- --=-=-=--
bug-gnu-emacs@HIDDEN:bug#79514; Package emacs.
Full text available.
Received: (at 79514) by debbugs.gnu.org; 25 Sep 2025 19:23:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 25 15:23:54 2025
Received: from localhost ([127.0.0.1]:58839 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v1rZJ-0002p2-1Q
for submit <at> debbugs.gnu.org; Thu, 25 Sep 2025 15:23:54 -0400
Received: from mr5.vodafonemail.de ([145.253.228.165]:41612)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <jschmidt4gnu@HIDDEN>)
id 1v1rYq-0002mg-RD
for 79514 <at> debbugs.gnu.org; Thu, 25 Sep 2025 15:23:26 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vodafonemail.de;
s=vfde-mb-mr2-23sep; t=1758828196;
bh=Vn6tiNe707Ki4t0dVHudglLrBv3NyvjlPxvApGh4vQU=;
h=Message-ID:Date:User-Agent:Subject:To:References:From:
Content-Language:In-Reply-To:Content-Type:From;
b=fZlsDiZQaZAKhnXqeCfYfNraF/n1cXyqIEd5RUOWIo0mQN/LuC17705QpVSaZRhRy
vK5jOI0E7rlCNhkl3RIZLusDSoS1PRddOAeZrFmpyaxaQ21GP6wu1jSoiS7dCDjBob
BFF2g+r5iDHxBdzV+Mo8ykhaPNV1H4CWY6OiEuKA=
Received: from smtp.vodafone.de (unknown [10.0.0.2])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits))
(No client certificate requested)
by mr5.vodafonemail.de (Postfix) with ESMTPS id 4cXkC76dcHz1yC1;
Thu, 25 Sep 2025 19:23:15 +0000 (UTC)
Received: from [192.168.178.42] (port-92-196-205-8.dynamic.as20676.net
[92.196.205.8])
(using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
(No client certificate requested)
by smtp.vodafone.de (Postfix) with ESMTPSA id 4cXkBz69GZz8sXJ;
Thu, 25 Sep 2025 19:23:04 +0000 (UTC)
Message-ID: <5d6115f2-0c03-45ce-8368-bca704ed1057@HIDDEN>
Date: Thu, 25 Sep 2025 21:23:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: 31.0.50; ispell-find-aspell-dictionaries should filter dups from
"aspell dicts"
To: Lockywolf <for_emacs_1@HIDDEN>
References: <175724665403.6018.1750734078039941115@HIDDEN>
<20250907120419.0C700C008BB@HIDDEN> <87wm67h5q8.fsf@HIDDEN>
<87segvrqo8.fsf@HIDDEN> <87plbyhi0h.fsf@HIDDEN>
<87y0qmr68b.fsf@HIDDEN> <87qzwer59s.fsf@HIDDEN>
<87o6rifrou.fsf@HIDDEN> <87ikhqqyj2.fsf@HIDDEN>
<87y0qlduxf.fsf@HIDDEN> <87cy7xf78u.fsf@HIDDEN>
<87ikhnua2c.fsf@HIDDEN> <87plbvajcm.fsf@HIDDEN>
<87zfazsqfk.fsf@HIDDEN>
<31225e6a-c01e-4cb5-9d61-1597f0cc17e7@HIDDEN>
<87ldm3e6hr.fsf@HIDDEN>
From: Jens Schmidt <jschmidt4gnu@HIDDEN>
Content-Language: de-DE-frami, en-US
In-Reply-To: <87ldm3e6hr.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-purgate-type: clean
X-purgate: clean
X-purgate-size: 2427
X-purgate-ID: 155817::1758828191-43675317-2348A145/0/0
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 79514
Cc: 79514 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)
On 2025-09-25 02:11, Lockywolf wrote:
>> Turns out that ispell--aspell-found-dictionaries contains some
>> duplicates on my system:
>>
>> ("de_AT" "[[:alpha:]]" "[^[:alpha:]]" "\\(?:\\`a\\`\\)" t
>> ("-d" "de_AT") nil utf-8)
>> ("de_AT" "[[:alpha:]]" "[^[:alpha:]]" "\\(?:\\`a\\`\\)" t
>> ("-d" "de_AT") nil utf-8)
>>
>> ("de_CH" "[[:alpha:]]" "[^[:alpha:]]" "\\(?:\\`a\\`\\)" t
>> ("-d" "de_CH") nil utf-8)
>> ("de_CH" "[[:alpha:]]" "[^[:alpha:]]" "\\(?:\\`a\\`\\)" t
>> ("-d" "de_CH") nil utf-8)
>>
>> ("de_DE" "[[:alpha:]]" "[^[:alpha:]]" "\\(?:\\`a\\`\\)" t
>> ("-d" "de_DE") nil utf-8)
>> ("de_DE" "[[:alpha:]]" "[^[:alpha:]]" "\\(?:\\`a\\`\\)" t
>> ("-d" "de_DE") nil utf-8)
>>
>
> I suspect that this is a bug with ispell.el, and we have just
> caught it with the test suite. I think that this problem also deserves
> a separate issue, but please, tell me more specifically how to reproduce
> it. (Ideally by a Dockerfile :D, which would let me reproduce the system
> exactly on my machine, but in any case, I need more info about your
> aspell, ispell, dictionaries, and system config.)
Well, I don't know whether ispell.el is at fault here, but it turns out
that Debian's aspell already returns duplicates on "aspell dicts":
[emacs-master]$ aspell dicts
de
de-1901
de-neu
de_AT <<<<<
de_AT <<<<<
de_AT-neu
de_CH <<<<<
de_CH <<<<<
de_CH-1901
de_CH-neu
de_DE <<<<<
de_DE <<<<<
de_DE-1901
de_DE-neu
en
[...]
Which is probably a result of its particular dictionary layout:
[emacs-master]$ ls -al /usr/lib/aspell/de_??.*
-rw-r--r-- 1 root root 16 Dec 17 2022 /usr/lib/aspell/de_AT.alias
lrwxrwxrwx 1 root root 29 Feb 6 2022 /usr/lib/aspell/de_AT.multi -> /etc/alternatives/de_AT.multi
-rw-r--r-- 1 root root 16 Dec 17 2022 /usr/lib/aspell/de_CH.alias
lrwxrwxrwx 1 root root 29 Feb 6 2022 /usr/lib/aspell/de_CH.multi -> /etc/alternatives/de_CH.multi
-rw-r--r-- 1 root root 16 Dec 17 2022 /usr/lib/aspell/de_DE.alias
lrwxrwxrwx 1 root root 29 Feb 6 2022 /usr/lib/aspell/de_DE.multi -> /etc/alternatives/de_DE.multi
I guess it should be easy to screen these duplicates in function
`ispell-find-aspell-dictionaries'. Would you care about that?
I can open in parallel a bug/RFE against Debian's aspell package.
bug-gnu-emacs@HIDDEN:bug#79514; Package emacs.
Full text available.Received: (at submit) by debbugs.gnu.org; 25 Sep 2025 19:06:38 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 25 15:06:38 2025 Received: from localhost ([127.0.0.1]:58801 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v1rIb-0001eD-D6 for submit <at> debbugs.gnu.org; Thu, 25 Sep 2025 15:06:37 -0400 Received: from lists.gnu.org ([2001:470:142::17]:56010) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <jschmidt4gnu@HIDDEN>) id 1v1rIW-0001ds-6y for submit <at> debbugs.gnu.org; Thu, 25 Sep 2025 15:06:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <jschmidt4gnu@HIDDEN>) id 1v1rIL-00067r-Da for bug-gnu-emacs@HIDDEN; Thu, 25 Sep 2025 15:06:23 -0400 Received: from mr5.vodafonemail.de ([145.253.228.165]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <jschmidt4gnu@HIDDEN>) id 1v1rI9-0003bN-DS for bug-gnu-emacs@HIDDEN; Thu, 25 Sep 2025 15:06:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vodafonemail.de; s=vfde-mb-mr2-23sep; t=1758827158; bh=uz46C0arHLuhToVxf6Pdd8//N2gq4wwmcPgO6q5InUc=; h=Message-ID:Date:User-Agent:To:Subject:From:Content-Language: Content-Type:From; b=xtwZD30YP7ZHospKhTjQUBWhaY/wKh+kZzBnZh3suKs8IfpK1KWR8MXtkeqcVZ13J AprtI5Yogl6Ol78icoasIBPG5zgfP4jLMx2JhnzgyVhdw1xTkmO60errZYO8MkSoKn AVKN6UX4MAF64ik/ahMaUZcW0pg/NigofDBEfudU= Received: from smtp.vodafone.de (unknown [10.0.0.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by mr5.vodafonemail.de (Postfix) with ESMTPS id 4cXjqB6TjDz1yHf for <bug-gnu-emacs@HIDDEN>; Thu, 25 Sep 2025 19:05:58 +0000 (UTC) Received: from [192.168.178.42] (port-92-196-205-8.dynamic.as20676.net [92.196.205.8]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp.vodafone.de (Postfix) with ESMTPSA id 4cXjq6472Mz91vp for <bug-gnu-emacs@HIDDEN>; Thu, 25 Sep 2025 19:05:51 +0000 (UTC) Message-ID: <e8ec74a4-9f0d-4147-930b-5ef35cf3a91d@HIDDEN> Date: Thu, 25 Sep 2025 21:05:50 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: bug-gnu-emacs@HIDDEN Subject: 31.0.50; ispell-find-aspell-dictionaries should filter dups from "aspell dicts" From: Jens Schmidt <jschmidt4gnu@HIDDEN> Content-Language: de-DE-frami, en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-purgate-type: clean X-purgate: clean X-purgate-size: 3750 X-purgate-ID: 155817::1758827154-0DD85E7A-F32634A7/0/0 Received-SPF: pass client-ip=145.253.228.165; envelope-from=jschmidt4gnu@HIDDEN; helo=mr5.vodafonemail.de 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, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is intended to continue a discussion from emacs-devel, details to follow soon. In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.16.0) of 2025-09-25 built on sappc2 Repository revision: 06d87e44cb614b846f37eb25ccafce2065e2e9d2 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12201009 System Description: Debian GNU/Linux 12 (bookworm) Configured using: 'configure -C --build x86_64-linux-gnu --sharedstatedir=/var/lib --localstatedir=/var/lib --with-cairo --with-libsystemd --with-mailutils --with-native-compilation --with-pop=yes --with-sound=alsa --with-toolkit-scroll-bars --with-x-toolkit=gtk3 --with-x=yes --without-gconf build_alias=x86_64-linux-gnu' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM XRANDR GTK3 ZLIB Important settings: value of $LC_COLLATE: POSIX value of $LC_TIME: POSIX value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-nonselected-mode: t minibuffer-regexp-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr compile comint ansi-osc ansi-color ring comp-run bytecomp byte-compile comp-common rx emacsbug lisp-mnt message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process tty-child-frames native-compile emacs) Memory information: ((conses 16 91206 10713) (symbols 48 6845 0) (strings 32 25501 1810) (string-bytes 1 761514) (vectors 16 16908) (vector-slots 8 194882 7725) (floats 8 35 2) (intervals 56 325 0) (buffers 984 12))
Jens Schmidt <jschmidt4gnu@HIDDEN>:bug-gnu-emacs@HIDDEN.
Full text available.bug-gnu-emacs@HIDDEN:bug#79514; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.