GNU bug report logs - #75379
30.0.93; project-find-regexp expects "C" or "en" locale

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Matthias Meulien <orontee@HIDDEN>; dated Sun, 5 Jan 2025 10:36:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 8 Jan 2025 07:48:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 08 02:48:41 2025
Received: from localhost ([127.0.0.1]:45846 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tVQnx-0003ti-4Q
	for submit <at> debbugs.gnu.org; Wed, 08 Jan 2025 02:48:41 -0500
Received: from relay8-d.mail.gandi.net ([217.70.183.201]:43407)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1tVQnv-0003tS-PG
 for 75379 <at> debbugs.gnu.org; Wed, 08 Jan 2025 02:48:40 -0500
Received: by mail.gandi.net (Postfix) with ESMTPSA id B58A61BF208;
 Wed,  8 Jan 2025 07:48:30 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
In-Reply-To: <01eae803-0869-4bd3-a089-77c5050b870e@HIDDEN> (Dmitry Gutov's
 message of "Tue, 7 Jan 2025 21:38:39 +0200")
Organization: LINKOV.NET
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN>
 <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
 <ff8e48df-0439-4447-9253-aa65a908dc84@HIDDEN>
 <871pxg3xu5.fsf@HIDDEN>
 <c1079473-cfce-41a9-a2ee-7b58eee55d1e@HIDDEN>
 <87y0zmjzfn.fsf@HIDDEN>
 <01eae803-0869-4bd3-a089-77c5050b870e@HIDDEN>
Date: Wed, 08 Jan 2025 09:48:03 +0200
Message-ID: <87a5c1lpak.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-GND-Sasl: juri@HIDDEN
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>,
 Matthias Meulien <orontee@HIDDEN>
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 known problem.  Since the exit status is unreliable,
>> this is why 'grep-exit-message' has to use such a trick that
>> no output (i.e. '(not (buffer-modified-p))') indicates no matches:
>
> What about errors, though? Missing programs, unsupported flags, etc.
>
> Maybe Grep gets by without that due to the explicit probing step in
> grep-compute-defaults, but I'm not sure it's worth building up its
> counterpart in xref.el.

I see no problem with displaying all error messages as is in the xref buffer.

>>    (if (eq status 'exit)
>>        ;; This relies on the fact that `compilation-start'
>>        ;; sets buffer-modified to nil before running the command,
>>        ;; so the buffer is still unmodified if there is no output.
>>        (cond ((and (zerop code) (buffer-modified-p))
>> 	     (if (> grep-num-matches-found 0)
>>                   (cons (format (ngettext "finished with %d match found\n"
>>                                           "finished with %d matches found\n"
>>                                           grep-num-matches-found)
>>                                 grep-num-matches-found)
>>                         "matched")
>>                 '("finished with matches found\n" . "matched")))
>> 	    ((not (buffer-modified-p))
>> 	     '("finished with no matches found\n" . "no match"))
>> 
>>> Also, when we know the format of come messages we can parse the file name
>>> out of them  and create a button in the output buffer. Simply copying any
>>> unhandled messages removes that possibility.
>> Can we detect a file name in any message, e.g. by matching a path separator?
>
> We use 'grep --null', so the file name separator is a zero byte.
>
> We could scan the buffer to see whether there are any zero bytes (and if
> none - that would mean no matches), but the "binary file matches" message
> doesn't use that separator ¯\_(ツ)_/¯
>
> Not does it start with a file name, so we have to have a separate
> understanding about that message's structure anyway:
>
> grep: test/lisp/gnus/mml-sec-resources/pubring.kbx: binary file matches
> grep: test/lisp/gnus/mml-sec-resources/secring.gpg: binary file matches
> grep: test/lisp/gnus/mml-sec-resources/trustdb.gpg: binary file matches

In the worst case there will be no button, and I see no problem with this too.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 7 Jan 2025 19:39:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 07 14:39:01 2025
Received: from localhost ([127.0.0.1]:44748 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tVFPk-0001z4-PJ
	for submit <at> debbugs.gnu.org; Tue, 07 Jan 2025 14:39:01 -0500
Received: from fout-a2-smtp.messagingengine.com ([103.168.172.145]:38929)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1tVFPe-0001yh-FX
 for 75379 <at> debbugs.gnu.org; Tue, 07 Jan 2025 14:38:55 -0500
Received: from phl-compute-08.internal (phl-compute-08.phl.internal
 [10.202.2.48])
 by mailfout.phl.internal (Postfix) with ESMTP id 4A6BB1380221;
 Tue,  7 Jan 2025 14:38:45 -0500 (EST)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-08.internal (MEProxy); Tue, 07 Jan 2025 14:38:45 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1736278725;
 x=1736365125; bh=dURsMz4KEVEl1Ne0tIUETL9KbAFQpOCVOTqljdG2pQE=; b=
 4ro61hmViNc57gsPAHs9PPPI1QER5icAp80U/SlgRdn5XlgJWdML1ZiA9MA18vID
 NxbipEZEDpthTv483YnxdMhOXVT5iAgy7FiSqOeRik1kpdKc2l55n+M5TaqbuBEh
 EHMxbVycBGPBpL+aVffCFziC/B3/XQP5VOseUDPqYTwmEbv1o29JpqkwxrQYUjuZ
 6Vg16A3oBuqDYvGZdcgLAWG557fyaxtnBaxZ9ydUh4IAcil9CQG1ELscmclld/IY
 TLyfkCTZJ8wewxPd5HgwtytmaKVCYtF18qz+QmDqU740lQkGuUL3AZKzpeWwpfhM
 dN0SG+w1gmx9yIvMhnWT/A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1736278725; x=
 1736365125; bh=dURsMz4KEVEl1Ne0tIUETL9KbAFQpOCVOTqljdG2pQE=; b=X
 q36rIQEywKN2FT+Wnww0xyLgh28J8yTn3+7HccBuihYYaD9kgol+y6lb++eFggx2
 cYn22iFzGdW6dOrYZy4UpIH0HYLOzC1+1em620fG0WnYYNkg610l95KGvy5BOdWQ
 mgPcPelzpPP/CMspbLMSqN4I2uMhUnJyy1yBLsFUqpgBXNNRPSp8U9hCgdm9gbGo
 gQpgfVQ/vvgceH0ouIyHfTTDZANOYT+bbadRTAV/Zd8cxaJryscRsoe9Nrfq3iFY
 17emE4Fqqm2rJjZlKn/xm8CPMDf0v+F7/DzucU7vIW9nV2PuGIxgnHSE04rVDfAF
 MCz/u1lCAtCSw1m8Pbkwg==
X-ME-Sender: <xms:xIJ9Z_pB6HI2CNiZPiqETKuPjdUStJ6oyUP-SrxQyTSh3bzy83uAeA>
 <xme:xIJ9Z5rPmH70c7BaXfu_WMh1e7nKfZTRQ56g04Pvq8lbeEHZsnUgW0ybA6xIdj4db
 to9A42sxRFRVRr2Q6Q>
X-ME-Received: <xmr:xIJ9Z8MY7RYZdRekZ1hIv_OoL11igcKRDe9TXqAjKibtV9aOMp6AGu9NP_x_glQYh7au>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudegvddguddvhecutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp
 uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg
 hnthhsucdlqddutddtmdenucfjughrpefkffggfgfuvfevfhfhjggtgfesthekredttddv
 jeenucfhrhhomhepffhmihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrd
 guvghvqeenucggtffrrghtthgvrhhnpeegleefteekgffhvdfhtdegveevveetteegteev
 geettdehhfdukeetheffueekkeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh
 epmhgrihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvhdpnhgspghrtghpthht
 ohepgedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepjhhurhhisehlihhnkhhovh
 drnhgvthdprhgtphhtthhopehorhhonhhtvggvsehgmhgrihhlrdgtohhmpdhrtghpthht
 ohepvghlihiisehgnhhurdhorhhgpdhrtghpthhtohepjeehfeejleesuggvsggsuhhgsh
 drghhnuhdrohhrgh
X-ME-Proxy: <xmx:xIJ9Zy4p2vmAoy_0D0Hat_cX2Omsyj2McKYQQ0HyywS_Ua1G05HGyA>
 <xmx:xIJ9Z-6gjnlX6JCprwPigxTjtU8EMx3DoBISlrZpD-G3BDLIybLwXw>
 <xmx:xIJ9Z6j1niYiqm_fD_1WrnwJLWypUTFGxj_EJZ5ACTxsYIuISxHmMQ>
 <xmx:xIJ9Zw4a4dvSvv97htnZyz2EsMCCfuGWkZ5ueDjQzBrA8yOC2tM8xQ>
 <xmx:xYJ9Z52cKvJm73A4jElxeokLiGWMp5WOMywvAOyDbrxkGVmx35yf6G0T>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 7 Jan 2025 14:38:42 -0500 (EST)
Message-ID: <01eae803-0869-4bd3-a089-77c5050b870e@HIDDEN>
Date: Tue, 7 Jan 2025 21:38:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Juri Linkov <juri@HIDDEN>
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
 <ff8e48df-0439-4447-9253-aa65a908dc84@HIDDEN>
 <871pxg3xu5.fsf@HIDDEN>
 <c1079473-cfce-41a9-a2ee-7b58eee55d1e@HIDDEN>
 <87y0zmjzfn.fsf@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <87y0zmjzfn.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>,
 Matthias Meulien <orontee@HIDDEN>
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 (-)

On 07/01/2025 19:39, Juri Linkov wrote:
> This is a known problem.  Since the exit status is unreliable,
> this is why 'grep-exit-message' has to use such a trick that
> no output (i.e. '(not (buffer-modified-p))') indicates no matches:

What about errors, though? Missing programs, unsupported flags, etc.

Maybe Grep gets by without that due to the explicit probing step in 
grep-compute-defaults, but I'm not sure it's worth building up its 
counterpart in xref.el.

>    (if (eq status 'exit)
>        ;; This relies on the fact that `compilation-start'
>        ;; sets buffer-modified to nil before running the command,
>        ;; so the buffer is still unmodified if there is no output.
>        (cond ((and (zerop code) (buffer-modified-p))
> 	     (if (> grep-num-matches-found 0)
>                   (cons (format (ngettext "finished with %d match found\n"
>                                           "finished with %d matches found\n"
>                                           grep-num-matches-found)
>                                 grep-num-matches-found)
>                         "matched")
>                 '("finished with matches found\n" . "matched")))
> 	    ((not (buffer-modified-p))
> 	     '("finished with no matches found\n" . "no match"))
> 
>> Also, when we know the format of come messages we can parse the file name
>> out of them  and create a button in the output buffer. Simply copying any
>> unhandled messages removes that possibility.
> Can we detect a file name in any message, e.g. by matching a path separator?

We use 'grep --null', so the file name separator is a zero byte.

We could scan the buffer to see whether there are any zero bytes (and if 
none - that would mean no matches), but the "binary file matches" 
message doesn't use that separator ¯\_(ツ)_/¯

Not does it start with a file name, so we have to have a separate 
understanding about that message's structure anyway:

grep: test/lisp/gnus/mml-sec-resources/pubring.kbx: binary file matches
grep: test/lisp/gnus/mml-sec-resources/secring.gpg: binary file matches
grep: test/lisp/gnus/mml-sec-resources/trustdb.gpg: binary file matches




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 7 Jan 2025 17:40:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 07 12:40:26 2025
Received: from localhost ([127.0.0.1]:44481 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tVDZ4-0003eC-8u
	for submit <at> debbugs.gnu.org; Tue, 07 Jan 2025 12:40:26 -0500
Received: from relay4-d.mail.gandi.net ([217.70.183.196]:34231)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1tVDZ3-0003e0-70
 for 75379 <at> debbugs.gnu.org; Tue, 07 Jan 2025 12:40:25 -0500
Received: by mail.gandi.net (Postfix) with ESMTPSA id A3561E0003;
 Tue,  7 Jan 2025 17:40:14 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
In-Reply-To: <c1079473-cfce-41a9-a2ee-7b58eee55d1e@HIDDEN> (Dmitry Gutov's
 message of "Mon, 6 Jan 2025 22:33:21 +0200")
Organization: LINKOV.NET
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN>
 <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
 <ff8e48df-0439-4447-9253-aa65a908dc84@HIDDEN>
 <871pxg3xu5.fsf@HIDDEN>
 <c1079473-cfce-41a9-a2ee-7b58eee55d1e@HIDDEN>
Date: Tue, 07 Jan 2025 19:39:40 +0200
Message-ID: <87y0zmjzfn.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-GND-Sasl: juri@HIDDEN
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>,
 Matthias Meulien <orontee@HIDDEN>
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 (-)

>> Indeed, "Binary file matches" is a very important message that
>> helps not to miss any matches in a text file that happens
>> to accidentally contain a NUL byte.  This saved me many times
>> while using rgrep.  'project-find-regexp' could do the same,
>> and show the same messages in the*xref* output buffer.
>> So to not mess with translations, a simpler solution would be
>> just to copy all unhandled messages from grep/ripgrep output
>> to the xref buffer as is.
>
> Good point, maybe we could show different messages this way.

It would be nice to keep all unprocessed lines.

> But I think what I was trying to do there is distinguish between Grep
> succeeding and ending up with an error (which we should report with
> user-error), and the process exit status wasn't enough for that.
>
> Indeed, here's a command to try:
>
>   git ls-files -z | xargs -0 grep gtags
>
> In the Emacs repository (among others) it exits with the status 123,
> apparently one or more of the Grep sub-invocations ended up with non-zero
> status (likely 1, indicating "no matches"). Even though the combined search
> finds a bunch of results, that doesn't change xargs's exit status. And we
> can't special-case the status 123 because "if any invocation of the command
> exited with status 1-125" covers both Grep calls that found nothing and
> Grep calls which were done with unrecognized flags (Grep exit status 2,
> IIUC).

This is a known problem.  Since the exit status is unreliable,
this is why 'grep-exit-message' has to use such a trick that
no output (i.e. '(not (buffer-modified-p))') indicates no matches:

  (if (eq status 'exit)
      ;; This relies on the fact that `compilation-start'
      ;; sets buffer-modified to nil before running the command,
      ;; so the buffer is still unmodified if there is no output.
      (cond ((and (zerop code) (buffer-modified-p))
	     (if (> grep-num-matches-found 0)
                 (cons (format (ngettext "finished with %d match found\n"
                                         "finished with %d matches found\n"
                                         grep-num-matches-found)
                               grep-num-matches-found)
                       "matched")
               '("finished with matches found\n" . "matched")))
	    ((not (buffer-modified-p))
	     '("finished with no matches found\n" . "no match"))

> Also, when we know the format of come messages we can parse the file name
> out of them  and create a button in the output buffer. Simply copying any
> unhandled messages removes that possibility.

Can we detect a file name in any message, e.g. by matching a path separator?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 7 Jan 2025 14:50:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 07 09:50:53 2025
Received: from localhost ([127.0.0.1]:42360 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tVAuu-0003GP-W5
	for submit <at> debbugs.gnu.org; Tue, 07 Jan 2025 09:50:53 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:52786)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tVAup-0003G4-7j
 for 75379 <at> debbugs.gnu.org; Tue, 07 Jan 2025 09:50:47 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1tVAuj-0007Wn-II; Tue, 07 Jan 2025 09:50:37 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=4d6/pkR+TW2qgUMlRqo7Zvx88xT/CkNDQJrkhOljbUk=; b=SvTXlYvrWkG3
 u/mrR0MRTVS/n1Q/iQzoL2bDcSz9rnR5gUmai75RLoOYryCXEcn6SfABgJIUPEbjTibb0vjEOqlXY
 dmHdGxxq0YsyDVEPwuamqNR2/vhC8Rz7BWLPaOCmHIdackrXmLRWvhV69CaZZ8b2BbtMHrKnMxx2u
 T+otGQ5PfBFC5o5rswNjmGLU153inS8gROkfgiDO1A8P/+tCKE+GdPtDghTIcEt441TAh4GbHqEdI
 qLuJCYKgwyzxyRQyNdJEFY+bFKQ0UCdB7n18sN16ecSRqvvuwAB/WxRBWKdTSEQ9jEnKSu2Eyv7Rb
 PusI3eWqm+MvVagZlVi0OQ==;
Date: Tue, 07 Jan 2025 16:50:34 +0200
Message-Id: <86plky4r0l.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <c04ef9f0-780f-4939-8483-61bc3e4ffcff@HIDDEN> (message from
 Dmitry Gutov on Tue, 7 Jan 2025 16:26:46 +0200)
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <69ecb6ff-e670-4945-a9d4-82edc4c5f088@HIDDEN> <86a5c56mpa.fsf@HIDDEN>
 <e2951c8d-e862-4a1c-b7c2-d8f8d6c2687b@HIDDEN> <86r05e4sae.fsf@HIDDEN>
 <c04ef9f0-780f-4939-8483-61bc3e4ffcff@HIDDEN>
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <at> debbugs.gnu.org, orontee@HIDDEN
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: -2.6 (--)

> Date: Tue, 7 Jan 2025 16:26:46 +0200
> Cc: orontee@HIDDEN, 75379 <at> debbugs.gnu.org
> From: Dmitry Gutov <dmitry@HIDDEN>
> 
> On 07/01/2025 16:23, Eli Zaretskii wrote:
> >> Looking at
> >> https://stackoverflow.com/questions/9268379/non-localized-version-of- 
> >> mingw-msys2,
> >> there recommendations are along the standard lines of using either LANG
> >> or LC_ALL.
> > If that's the environment variables, they don't work reliably on
> > Windows, as I explained.
> 
> Please correct me if I'm wrong, but it sounds like either gettext is 
> supported, and these vars can be used to set the locale to English, or 
> gettext is unsupported, and the output is in English anyway. Both 
> scenarios are what we want to have in the end.

For programs compiled with gettext, I think you are right.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 7 Jan 2025 14:26:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 07 09:26:57 2025
Received: from localhost ([127.0.0.1]:42321 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tVAXp-00025Y-1X
	for submit <at> debbugs.gnu.org; Tue, 07 Jan 2025 09:26:57 -0500
Received: from fout-b3-smtp.messagingengine.com ([202.12.124.146]:56177)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1tVAXn-00025K-5w
 for 75379 <at> debbugs.gnu.org; Tue, 07 Jan 2025 09:26:55 -0500
Received: from phl-compute-12.internal (phl-compute-12.phl.internal
 [10.202.2.52])
 by mailfout.stl.internal (Postfix) with ESMTP id B9211114018C;
 Tue,  7 Jan 2025 09:26:49 -0500 (EST)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-12.internal (MEProxy); Tue, 07 Jan 2025 09:26:49 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1736260009;
 x=1736346409; bh=zcNbnpn+dSvtwxjfV8X+/x5q3pbmA2G0SRVdNj3FVPo=; b=
 j8hJ59hKx4gH74SB5QQE1LCdDcRBqUQTuuRx4h6oRLE06CzfXfnlxpWsEp3iz17Z
 iJjXRn/xeV3ExUpEWbbHws4OwAU6FBhmASDId5WTlGIPK5HUapIl017HwkuPW/IE
 o4WXbqeKBBzfxmzkJzojyL3NFgjSPRmr5xBe/768itX0ZNpudiK2CC/7xM0AxDA4
 tHhpLMzROjJvwP/EBa5UNt89k3alIVTw5wUAxBqLHlQIAJfGHCGFtOI4tYTjm9LE
 YARMzuLIKTMUJ4WtLtxNOEia+wFvKHu5M8pf4rf5FB5rfronPbW/FVlJbVmT3p4x
 Ey6rJPRS2ksCdrAojeAH/Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1736260009; x=
 1736346409; bh=zcNbnpn+dSvtwxjfV8X+/x5q3pbmA2G0SRVdNj3FVPo=; b=c
 KKeFL5FmG+u7z/cs57GnlC+C7dThQns6KbJrzuspn/9JipphmO/gjfC9fh6XA3SL
 2uMV4j5QpfGyiS1+ikk41dATsI+VFCZC/nEhLM8AA0rkdsF928dgW/wYk6fhjzTg
 sokivirjyDFcpA9qE3Ogxy2j1UpMKOWGasr8zFyK6bIjpvDK8dxrHUdqQs9VvYXg
 Zdgn871TlmyxgKMu9WAEceXj7u/toklu1hnV1ufdvYwcnyVtLZS2ygRO1IBoJewf
 g2Sy+DVenVkVrSurJAiqm5zS23HA/ftOnjdMjwVrOExu1aQnix7vgKagYOmAvM3w
 2BpTrHWSbsKOyEgEpkbfA==
X-ME-Sender: <xms:qTl9ZwfxZ0l3hHpXRyfcmb7qDlhDuY0tLcDjffDY20e7yxF-aV8d_w>
 <xme:qTl9ZyMGODCEGS12gwuaTyERpfYsKyrkpm-0o7o4f83SwVxchlPfdus5i-vbvX7vs
 BhEZpj1oKxafnkLqyE>
X-ME-Received: <xmr:qTl9ZxhnAtfESHWOn53-053cNfPzPepPSxREqT2ESS3KOauSWNvkPJh8IvxS1ZlvZob8>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudegvddgiedvucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdej
 necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug
 gvvheqnecuggftrfgrthhtvghrnhepueegkeeifedtkedvleeujeefkeelhefhhfelhfev
 gfetieejteefffevhfdvtdfgnecuffhomhgrihhnpehsthgrtghkohhvvghrfhhlohifrd
 gtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhep
 ughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthhopeefpdhmohguvgepsh
 hmthhpohhuthdprhgtphhtthhopegvlhhiiiesghhnuhdrohhrghdprhgtphhtthhopeho
 rhhonhhtvggvsehgmhgrihhlrdgtohhmpdhrtghpthhtohepjeehfeejleesuggvsggsuh
 hgshdrghhnuhdrohhrgh
X-ME-Proxy: <xmx:qTl9Z1_hqNO9PNy5u2zlw9Hn1PH4YvU3LZpUwAfHWbh2Aw2q-0cn0Q>
 <xmx:qTl9Z8sTOzv_1OL9W8MDu6W3DLnj2Q2uKNZrIvuw9MIUUI-MPPjdhQ>
 <xmx:qTl9Z8Fr-hVWSRagr6hPJz6Xn0m_XCR5MDlqu1sg55OMgHr7eT_J4Q>
 <xmx:qTl9Z7PY-H7xzX_3TDBt9uu5Q26L_pqcN-_Cv5mRCUBMdkYIp2o7zA>
 <xmx:qTl9Z4IowrVtRZpyc-3ZBcp1i1NfzhMhV0AS9rdwiqKt-Y7-VBvakbqJ>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 7 Jan 2025 09:26:47 -0500 (EST)
Message-ID: <c04ef9f0-780f-4939-8483-61bc3e4ffcff@HIDDEN>
Date: Tue, 7 Jan 2025 16:26:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Eli Zaretskii <eliz@HIDDEN>
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <69ecb6ff-e670-4945-a9d4-82edc4c5f088@HIDDEN> <86a5c56mpa.fsf@HIDDEN>
 <e2951c8d-e862-4a1c-b7c2-d8f8d6c2687b@HIDDEN> <86r05e4sae.fsf@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <86r05e4sae.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <at> debbugs.gnu.org, orontee@HIDDEN
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 (-)

On 07/01/2025 16:23, Eli Zaretskii wrote:
>> Looking at
>> https://stackoverflow.com/questions/9268379/non-localized-version-of- 
>> mingw-msys2,
>> there recommendations are along the standard lines of using either LANG
>> or LC_ALL.
> If that's the environment variables, they don't work reliably on
> Windows, as I explained.

Please correct me if I'm wrong, but it sounds like either gettext is 
supported, and these vars can be used to set the locale to English, or 
gettext is unsupported, and the output is in English anyway. Both 
scenarios are what we want to have in the end.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 7 Jan 2025 14:24:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 07 09:24:41 2025
Received: from localhost ([127.0.0.1]:42309 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tVAVc-0001mS-Vc
	for submit <at> debbugs.gnu.org; Tue, 07 Jan 2025 09:24:41 -0500
Received: from fout-b3-smtp.messagingengine.com ([202.12.124.146]:40981)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1tVAVb-0001mF-4B
 for 75379 <at> debbugs.gnu.org; Tue, 07 Jan 2025 09:24:39 -0500
Received: from phl-compute-03.internal (phl-compute-03.phl.internal
 [10.202.2.43])
 by mailfout.stl.internal (Postfix) with ESMTP id A42A81140189;
 Tue,  7 Jan 2025 09:24:33 -0500 (EST)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-03.internal (MEProxy); Tue, 07 Jan 2025 09:24:33 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1736259873;
 x=1736346273; bh=Ie6zt75w8iOYBsMs91G1spB7Xpr+G0Jb9eMAVYylbn8=; b=
 tOj5ipgzYfnkm8xUmtPt4fMU/zX/lVOLMKeAZ8GbihZ3SSjevR9FotF/pMqfVid+
 9EDoywujk2qiIPM+2ylkrBFbjTjgV6ChGU2U1KaPdwAOsnroSgmUCeRGtqAB2xw6
 Op6lCnde1bo1Pjwf1FmGyDkTQG4SRyVe1Hm5p9mrVA6jm7G74oPjFc6EyWWnEFkh
 xqrDxWJ/pteSxQU415+XjUiT3iqyNKiC9/bzS98USNIyR5bdDczg0xZ6WuYBLC11
 GJkfAs387X1Oc6pPlCMzXVgahWPrr3Ro64RmUD3yt55FFymayu4wZteglM1h1maD
 KmrwBOmHGZF3Sdd8X22Pvg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1736259873; x=
 1736346273; bh=Ie6zt75w8iOYBsMs91G1spB7Xpr+G0Jb9eMAVYylbn8=; b=B
 UasV9WYR0mtiiEecupXcjHo05ddS2AvxSNOA9lGZYFYMI5JxycGTwLe+ERWLoLz/
 Nh8Gq6P/2CyC+EW8V26PbWI/Pzyx6V2KTa2oaJhd4Uu7QdH2STgZids1+fH2E5Xx
 4c5ez9H8H/pGofQeCaMOqoENfjqkW8jHLgExnIkRJkTYOuRUfVYMPGINbgqNFDgz
 ZIt+hnSFTE1nAfFXkAsZB79dbCFHl88f6xBcpjNZXDoU0VxwS9ifqQPqqG5Gm5AQ
 Z0g9HW3W86dcIJHA9XJrZlANB4kUB4vNaXSfMaQkSe4w+aahL/ocPXRK82FPW1ke
 yyKtDRo/hPxUuuy9wngaA==
X-ME-Sender: <xms:ITl9Z9HYveMFpztv4g1jEPMLuDsumsS4ZppdxvTZN-KIVwZeLGAh7A>
 <xme:ITl9ZyUzQ--OlBsto7aLIszO_ETEyVNpzpA0g8STtmIfQ6AJlXzXSQTr_Rk0EP6G6
 rB2le1QpEiHM0v1RWI>
X-ME-Received: <xmr:ITl9Z_JcDHPg_im1yOu0zaGSfkStECkGWgSrqwZ9eoEkPzDi4qMe2xExIbiRJGi-ekW3>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudegvddgiedvucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdej
 necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug
 gvvheqnecuggftrfgrthhtvghrnhepteduleejgeehtefgheegjeekueehvdevieekueef
 tddvtdevfefhvdevgedujeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe
 hmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthho
 peefpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehorhhonhhtvggvsehgmhgrih
 hlrdgtohhmpdhrtghpthhtohepvghlihiisehgnhhurdhorhhgpdhrtghpthhtohepjeeh
 feejleesuggvsggsuhhgshdrghhnuhdrohhrgh
X-ME-Proxy: <xmx:ITl9ZzFrwOd_uLyMUQhap5tQjsQ5YVG39QOsr8sBhUz1QQy8dF4tzA>
 <xmx:ITl9ZzVuqxhbg9d-A5-G54RSwnKoGrbPTCofnAtvUeVPByxbrcbi-w>
 <xmx:ITl9Z-MmxJXXIh9HawB_g5b77bKRO4xRCwK68pSy7A0gw9xUnUHpcA>
 <xmx:ITl9Zy0SViVxoAH5Ak6efVL-e9zRaVSOgMLd7zYpdcB7mUG3STgJCQ>
 <xmx:ITl9Z-Rl56Pyoy0NhUtD2Z_PLzeUrl5ob7HkGKDU5Ly9HjfpG3zy7TbK>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 7 Jan 2025 09:24:32 -0500 (EST)
Message-ID: <af396fc8-00cd-4bb1-b50d-22149b420a4c@HIDDEN>
Date: Tue, 7 Jan 2025 16:24:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Matthias Meulien <orontee@HIDDEN>
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
 <ff8e48df-0439-4447-9253-aa65a908dc84@HIDDEN>
 <CAFEQCfBfRkg6ziTPDM7SK6Rsxj+otHLw8DXHszcNj5y=C2MDqQ@HIDDEN>
 <dace5bef-61ba-4547-b9e1-77297f04a8a2@HIDDEN>
 <CAFEQCfCLS-_8ZS9zvfjxaV38B1m4wTVR-eUtTLEXch9xMHVSTA@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <CAFEQCfCLS-_8ZS9zvfjxaV38B1m4wTVR-eUtTLEXch9xMHVSTA@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: Eli Zaretskii <eliz@HIDDEN>, 75379 <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 (-)

On 07/01/2025 07:42, Matthias Meulien wrote:
> Why not keep user locale setting and keep current grep args, but send a 
> generated file with NUL chars to collect the output message and make 
> current check generating the error be dynamically generated?

More complicated. We're not sure which programs will end in the 
customization of xref-search-program-alist, and whether each of them 
will detect binary files the same way.

Also Ripgrep outputs somewhat varying text like:

test/manual/etags/f-src/entry.strange.gz: binary file matches (found 
"\0" byte around offset 23)
test/manual/etags/cp-src/clheir.cpp.gz: binary file matches (found "\0" 
byte around offset 20)

Specifying the language from an environment var seems like the most 
straightforward approach still.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 7 Jan 2025 14:23:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 07 09:23:16 2025
Received: from localhost ([127.0.0.1]:42304 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tVAUG-0001kE-9r
	for submit <at> debbugs.gnu.org; Tue, 07 Jan 2025 09:23:16 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:43090)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tVAUD-0001jw-5r
 for 75379 <at> debbugs.gnu.org; Tue, 07 Jan 2025 09:23:13 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1tVAU7-0003ag-Q3; Tue, 07 Jan 2025 09:23:07 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=t84l4GELRAPfYokEdbySHCjeVQhN1jNGclGGehgSkVs=; b=d1wldoa3+hFD
 I9YLKiToWQO/X6PB55igfGEDepVbtkXP+YTNmfxj+7V76s02ljaDU7yFkyTiUGRwxqbT6yAY6YiwI
 6sW7HmZnIsR6Oh4IwQ0DAHvku7oPP1JciVj3S6Z3/dyo8cHMsiA+O495ZfpnTjfov/QBFmFX+6bnJ
 hHfbQud4Kq9LEtixKBAkCaXUe4nPKDyRyyL3kMPCmb5O6q/G6KN3F2i9nmf8gKcnkN5ycCfhtfg/l
 oTj2CiYzAgF73czbbJrDZCpORGz0DmlwypHP+UOrBZkWkm9dLqm6OK6fHx8V9jbZythncdAPQrwz3
 oCjzUEgZROKxMWNF5wcEVg==;
Date: Tue, 07 Jan 2025 16:23:05 +0200
Message-Id: <86r05e4sae.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <e2951c8d-e862-4a1c-b7c2-d8f8d6c2687b@HIDDEN> (message from
 Dmitry Gutov on Tue, 7 Jan 2025 16:17:24 +0200)
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <69ecb6ff-e670-4945-a9d4-82edc4c5f088@HIDDEN> <86a5c56mpa.fsf@HIDDEN>
 <e2951c8d-e862-4a1c-b7c2-d8f8d6c2687b@HIDDEN>
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <at> debbugs.gnu.org, orontee@HIDDEN
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: -2.6 (--)

> Date: Tue, 7 Jan 2025 16:17:24 +0200
> Cc: orontee@HIDDEN, 75379 <at> debbugs.gnu.org
> From: Dmitry Gutov <dmitry@HIDDEN>
> 
> On 05/01/2025 22:16, Eli Zaretskii wrote:
> 
> >>> First, the Windows locale-dependent routines don't heed environment
> >>> variables, so setting LANG etc. in the environment will only do what
> >>> you expect if the program in question was either explicitly programmed
> >>> to pay attention to those variables or was linked with Gnulib
> >>> replacements for locale functions.
> >>>
> >>> And second LC_MESSAGES is not supported by Windows locales at all.
> >>
> >> Okay, but first of all, do Grep or Ripgrep use different localizations
> >> on Windows, not just English?
> > 
> > For Grep, it depends on how it was configured when building.  The
> > default configuration uses gettext to translate messages, and this
> > message is marked as translated.
> 
> Okay, but if it's not configured to use gettext, would it just use 
> English, or are there some other mechanisms?

It will output the original English messages unchanged.

> Looking at 
> https://stackoverflow.com/questions/9268379/non-localized-version-of-mingw-msys2, 
> there recommendations are along the standard lines of using either LANG 
> or LC_ALL.

If that's the environment variables, they don't work reliably on
Windows, as I explained.

> > For Ripgrep, I don't know.
> 
> It seems to me Ripgrep is simply not translated, which is just fine for us.

Yes.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 7 Jan 2025 14:17:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 07 09:17:37 2025
Received: from localhost ([127.0.0.1]:42289 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tVAOm-0001TN-Hd
	for submit <at> debbugs.gnu.org; Tue, 07 Jan 2025 09:17:37 -0500
Received: from fhigh-b3-smtp.messagingengine.com ([202.12.124.154]:39913)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1tVAOk-0001T6-K9
 for 75379 <at> debbugs.gnu.org; Tue, 07 Jan 2025 09:17:35 -0500
Received: from phl-compute-12.internal (phl-compute-12.phl.internal
 [10.202.2.52])
 by mailfhigh.stl.internal (Postfix) with ESMTP id 046BC254017D;
 Tue,  7 Jan 2025 09:17:27 -0500 (EST)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-12.internal (MEProxy); Tue, 07 Jan 2025 09:17:28 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1736259447;
 x=1736345847; bh=E1b3cIcLpTXvhJNurjSP6sU6Z/co8MjJNvJrNI/vBIg=; b=
 WVntBSY07mEziBEVigOG2ajBJEqIDGBYGKYo0y56xfPF8j7OorJ9dKpZcidHFZNp
 ikkqo5NO3uxx3ckISqt4o6MCIGgyKdxAycN6cfz1dyU0HIdfZvq2J/9b8bqDYvfM
 CI6FrNRl7KZAZS1R+CdbtmdYWJ/GV6Gj2rhJinNpqSvpAD5fntm1pUSKQcI4W8u0
 6oJyvlRkqui0L5dRfajxbde9bQezXidqvNyCgJFfCTmPTRh5LR3SIRAiXJVd6f9w
 nATIUhxDTkk+HCVzw/R4FGqfD1goHGTbg7N0d5W+pkMoCh8fFalZ4IPJygBGBjQH
 G2bP3C8YKoi1oO9ryGbsbQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1736259447; x=
 1736345847; bh=E1b3cIcLpTXvhJNurjSP6sU6Z/co8MjJNvJrNI/vBIg=; b=T
 pLE8JaBxpxiVats5E1MTFuj9IDwNtpDOhtTlouiSPgbUk+WJ0rRLcz9F0iV3OyRb
 BEDnv7FsZYnd5p3Kkq1nA61ThqbCS+CoVlsAdUOrjczrZYxDtbgUVigrZUFKJ8Sa
 Q6E7q/ApL5QHtVGjJ6zfp1j2yf0FqMrsYFxJdlVu1Ka0YBkjl7gSg4QRdCdWSpiB
 sBXB9HAwH+mBbug5jdNfDyYVTC55S5xaWiyvcaOz5pE6c3/6C4y/UpPDChaHN3+W
 GimaVg8xaQVtdz05VZS+pnvfeZ8OnAWGJC2WBPVBuUSohf+bRnxGw4bY2yQudFgu
 Sw4pMxpJoWiWETpxE09jg==
X-ME-Sender: <xms:dzd9Z1a9Ym3Tzr4QL0rk2qvyT2QTNin3Wz2MQtffoiC1C13EqWiNKg>
 <xme:dzd9Z8b9Y7CTTL99Jm8sD4yPaajeMDibSjsJqqFPUvEpAUR6rYrdzpBZ-ZFLEuf84
 xIhZYwPs67iPiRUBKI>
X-ME-Received: <xmr:dzd9Z39Je443zW5OspROVn889OpPh2AkV9I0Vi9L4sWsSzo_lW38BTssnUKVscHcctp4>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudegvddgiedtucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdej
 necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug
 gvvheqnecuggftrfgrthhtvghrnhepueegkeeifedtkedvleeujeefkeelhefhhfelhfev
 gfetieejteefffevhfdvtdfgnecuffhomhgrihhnpehsthgrtghkohhvvghrfhhlohifrd
 gtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhep
 ughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthhopeefpdhmohguvgepsh
 hmthhpohhuthdprhgtphhtthhopegvlhhiiiesghhnuhdrohhrghdprhgtphhtthhopeho
 rhhonhhtvggvsehgmhgrihhlrdgtohhmpdhrtghpthhtohepjeehfeejleesuggvsggsuh
 hgshdrghhnuhdrohhrgh
X-ME-Proxy: <xmx:dzd9ZzrRfZbpuLMeq4X2MgUYAXNgo3oQQGROKQ1G-8DFBB5Dn1vMoA>
 <xmx:dzd9Zwr2R4d2fBLOeVrmTtTyap7InWlF1ENned5li480NFGf6BqndQ>
 <xmx:dzd9Z5Razz6ovyRqz0QlgUZZHEJBjngR2PiFMK8kag4dZB01l8no2Q>
 <xmx:dzd9Z4oauFTelRTzMBT0YVScr0GYd-R4Nll2hG8CR0iQx52I3UWlng>
 <xmx:dzd9Z7X-CMvs-CU7JhkJ8O9IManJoZ2ri8ach9D3d1uLxfv5BwofJoKn>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 7 Jan 2025 09:17:26 -0500 (EST)
Message-ID: <e2951c8d-e862-4a1c-b7c2-d8f8d6c2687b@HIDDEN>
Date: Tue, 7 Jan 2025 16:17:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Eli Zaretskii <eliz@HIDDEN>
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <69ecb6ff-e670-4945-a9d4-82edc4c5f088@HIDDEN> <86a5c56mpa.fsf@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <86a5c56mpa.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <at> debbugs.gnu.org, orontee@HIDDEN
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 (-)

On 05/01/2025 22:16, Eli Zaretskii wrote:

>>> First, the Windows locale-dependent routines don't heed environment
>>> variables, so setting LANG etc. in the environment will only do what
>>> you expect if the program in question was either explicitly programmed
>>> to pay attention to those variables or was linked with Gnulib
>>> replacements for locale functions.
>>>
>>> And second LC_MESSAGES is not supported by Windows locales at all.
>>
>> Okay, but first of all, do Grep or Ripgrep use different localizations
>> on Windows, not just English?
> 
> For Grep, it depends on how it was configured when building.  The
> default configuration uses gettext to translate messages, and this
> message is marked as translated.

Okay, but if it's not configured to use gettext, would it just use 
English, or are there some other mechanisms?

Looking at 
https://stackoverflow.com/questions/9268379/non-localized-version-of-mingw-msys2, 
there recommendations are along the standard lines of using either LANG 
or LC_ALL.

> For Ripgrep, I don't know.

It seems to me Ripgrep is simply not translated, which is just fine for us.





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 7 Jan 2025 12:46:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 07 07:46:08 2025
Received: from localhost ([127.0.0.1]:42023 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tV8yG-0005W4-Io
	for submit <at> debbugs.gnu.org; Tue, 07 Jan 2025 07:46:08 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:43906)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tV8yD-0005Va-KS
 for 75379 <at> debbugs.gnu.org; Tue, 07 Jan 2025 07:46:06 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1tV8y6-0004Yy-BK; Tue, 07 Jan 2025 07:45:59 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=34dU9jPkMn24vaENKEx+QiZIyWkCMfNZNyM+qnlfado=; b=sB/yt1qeJ0jZ
 JNNXSavHurKouXaKs9JFq4siy2pLIt+FBwvyQLEW46iMW0IKmmaFDiI45q7t6ismw1avC/HA63yuJ
 cw7oO6Fztng0gR9Mi3Qb5qqEY9jkEVVLrY/8931xrNumwK3dvfFKqjK43lGubF623ChfBNIYGp+wX
 Cn34LjSJ4MP77nIobHWsCseVdZrmVZhoUmvc5Q3JOgPJoNzybXyC17e8M9zIzP6L4UscRNhrm4+n4
 VuV1dTuyPuOUz+cli2R6OEzBwi5mPJQldoaEyQfDu1KQJjrW4p8r1pLfUd0N4MNcAhmbXHiPrwqec
 +wUQGqCfz39aNKbJoM3mEw==;
Date: Tue, 07 Jan 2025 14:45:47 +0200
Message-Id: <86y0zm4wsk.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Matthias Meulien <orontee@HIDDEN>
In-Reply-To: <CAFEQCfCLS-_8ZS9zvfjxaV38B1m4wTVR-eUtTLEXch9xMHVSTA@HIDDEN>
 (message from Matthias Meulien on Tue, 7 Jan 2025 06:42:43 +0100)
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
 <ff8e48df-0439-4447-9253-aa65a908dc84@HIDDEN>
 <CAFEQCfBfRkg6ziTPDM7SK6Rsxj+otHLw8DXHszcNj5y=C2MDqQ@HIDDEN>
 <dace5bef-61ba-4547-b9e1-77297f04a8a2@HIDDEN>
 <CAFEQCfCLS-_8ZS9zvfjxaV38B1m4wTVR-eUtTLEXch9xMHVSTA@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 75379
Cc: dmitry@HIDDEN, 75379 <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: -3.3 (---)

> From: Matthias Meulien <orontee@HIDDEN>
> Date: Tue, 7 Jan 2025 06:42:43 +0100
> Cc: Eli Zaretskii <eliz@HIDDEN>, 75379 <at> debbugs.gnu.org
> 
> Why not keep user locale setting and keep current grep args, but send a generated file with NUL chars to
> collect the output message and make current check generating the error be dynamically generated?
> 
> It would cover both cases at once. And work on Windows, right?

It should, yes.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 7 Jan 2025 05:43:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 07 00:43:01 2025
Received: from localhost ([127.0.0.1]:41474 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tV2Mn-0001Qy-KQ
	for submit <at> debbugs.gnu.org; Tue, 07 Jan 2025 00:43:01 -0500
Received: from mail-ej1-x629.google.com ([2a00:1450:4864:20::629]:55543)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <orontee@HIDDEN>) id 1tV2Ml-0001Qo-1R
 for 75379 <at> debbugs.gnu.org; Tue, 07 Jan 2025 00:43:00 -0500
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-aafc9d75f8bso178723366b.2
 for <75379 <at> debbugs.gnu.org>; Mon, 06 Jan 2025 21:42:59 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1736228578; x=1736833378; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=xYk5wJB3RSEEGXc+OYOCzAAMv/cHknc2ogaXCK7+/3w=;
 b=hqOHusEFpYXqMhHHOuSULMko3SqiE4XoG6cpf+ViUQU5qPKc+2xocL3LWwLi2nmh8L
 +6cPSgSi+k1Ijua3sNykBHAE9XBpKLht36aNIgEPpH6kv4IYCgtYofgJVxA0cF1nVRCw
 HQnHCJsMnl0y6wJZp1kO2G5Au8chdkpJggVcN4QpUuySmAmCPOn4jixMNrE4rcsTXKtq
 rvh1RKh1DMV+8ASrOqEtTabguCxRRr4IUwzHORfPbniuJms/gyMsbix36FKxb5jiOC5l
 eowS72egztYLaupt7B4wgfAGg4RiSsEojGjhj2iHD6ys7Pgn+ZJCaMu7O1v6HFvYMzwg
 gvCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1736228578; x=1736833378;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=xYk5wJB3RSEEGXc+OYOCzAAMv/cHknc2ogaXCK7+/3w=;
 b=aHouxPmsQQjL6v/wOrgretHBNjFQa0wYnkWXK3XpjIsk/o3F9OjIno/Q/nQ5DfQg2U
 SRY4z4OHRzH/eh5k5SU3GhYd76zI77u3ouRocOp+x/mSOpO12qXqQwkGD1X5tiY/8iFh
 vXy4nF/0LL4O2ra756mELvcTlp8gqQ9TQhP397uB9l8L4QeoJHueJUA8FMdMBxBb7bma
 NpI+FLzwiusXxCGBa43BaIP9yXtJrHn9BA96JUzmugz87C26aY3V/qmJMKJYzaey5Q1E
 /LRztBLDNbhzqmtzW8LToPrh8ALaQimB4JhpkaexliOYGDxu9cZ+JHlIfIRn8fRwuk0F
 IR4Q==
X-Forwarded-Encrypted: i=1;
 AJvYcCURY7jQHjeC2UfxmKo1rwanmb0W1XL/yWW8OxL6GsJDOomnlHi0s+ay2PQYE/HSm3r4WiT3HQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yyw91SeC3UZcFaVuE2urrcCLD16kUVzTgi1Q6WM/Fq47MhEC9SW
 vds5kIi4AgUfdLmiPF2lS8dnjlYJgBhya9tIlejRL5Lr/tdiaNydoAZVwI2YERpJw4epsI2G7Oq
 1EBT6nzWLSqt11GPQeRr1I+SC7O0=
X-Gm-Gg: ASbGncvO9YZqCRj8OulDhtPuERIhuMCVJdAM6g4T5fYmoTamZ6IhR1cnTvuVHUbixkj
 qW1xIlLZdqU7evHbUzQn1PDeI2oNNVDsPV9kp/TNngtXykmz2fN49MKb4t56hlzh9ZJfw
X-Google-Smtp-Source: AGHT+IF5ppRuDrwQgBK+u/VZARjgp6TeO7YisabPoVEPJ4jCCzXGRobkIuhL4cHJj3TIuEcjv1GgntgqCPmOlgOrImw=
X-Received: by 2002:a17:907:868c:b0:aac:29a:2817 with SMTP id
 a640c23a62f3a-aac2ba3f550mr4285226366b.26.1736228577135; Mon, 06 Jan 2025
 21:42:57 -0800 (PST)
MIME-Version: 1.0
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
 <ff8e48df-0439-4447-9253-aa65a908dc84@HIDDEN>
 <CAFEQCfBfRkg6ziTPDM7SK6Rsxj+otHLw8DXHszcNj5y=C2MDqQ@HIDDEN>
 <dace5bef-61ba-4547-b9e1-77297f04a8a2@HIDDEN>
In-Reply-To: <dace5bef-61ba-4547-b9e1-77297f04a8a2@HIDDEN>
From: Matthias Meulien <orontee@HIDDEN>
Date: Tue, 7 Jan 2025 06:42:43 +0100
Message-ID: <CAFEQCfCLS-_8ZS9zvfjxaV38B1m4wTVR-eUtTLEXch9xMHVSTA@HIDDEN>
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Dmitry Gutov <dmitry@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000096d5d4062b173739"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: Eli Zaretskii <eliz@HIDDEN>, 75379 <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 (-)

--00000000000096d5d4062b173739
Content-Type: text/plain; charset="UTF-8"

> To try to fix the current behavior on FR locales, we would tell grep to
> output its messages in English. That would make xref-matches-in-files
> behave the same across languages.
>
> Step 2 would be to render the "binary file matches" elements in the UI.
>

Why not keep user locale setting and keep current grep args, but send a
generated file with NUL chars to collect the output message and make
current check generating the error be dynamically generated?

It would cover both cases at once. And work on Windows, right?

>

--00000000000096d5d4062b173739
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div dir=3D"auto"><br></div><div class=3D"gmail_quote gma=
il_quote_container" dir=3D"auto"><blockquote class=3D"gmail_quote" style=3D=
"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
To try to fix the current behavior on FR locales, we would tell grep to <br=
>
output its messages in English. That would make xref-matches-in-files <br>
behave the same across languages.<br><br>
Step 2 would be to render the &quot;binary file matches&quot; elements in t=
he UI.<br></blockquote></div><div dir=3D"auto"><br></div><div dir=3D"auto">=
Why not keep user locale setting and keep current grep args, but send a gen=
erated file with NUL chars to collect the output message and make current c=
heck generating the error be dynamically generated?</div><div dir=3D"auto">=
<br></div><div dir=3D"auto">It would cover both cases at once. And work on =
Windows, right?</div><div class=3D"gmail_quote gmail_quote_container" dir=
=3D"auto"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bord=
er-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div>

--00000000000096d5d4062b173739--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 6 Jan 2025 20:33:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 06 15:33:34 2025
Received: from localhost ([127.0.0.1]:40332 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUtn3-0001RT-Lf
	for submit <at> debbugs.gnu.org; Mon, 06 Jan 2025 15:33:34 -0500
Received: from fout-a3-smtp.messagingengine.com ([103.168.172.146]:38959)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1tUtn1-0001RA-P3
 for 75379 <at> debbugs.gnu.org; Mon, 06 Jan 2025 15:33:32 -0500
Received: from phl-compute-09.internal (phl-compute-09.phl.internal
 [10.202.2.49])
 by mailfout.phl.internal (Postfix) with ESMTP id 35A36138093F;
 Mon,  6 Jan 2025 15:33:26 -0500 (EST)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-09.internal (MEProxy); Mon, 06 Jan 2025 15:33:26 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1736195606;
 x=1736282006; bh=A3tfZcuuvqFMDzVAG+VDl9QsWSn6mvnlRWCvL1aEg40=; b=
 MW1zvej3blubRX6vnI89V3X5SgZqzBDQsEaSgjf1q1g6ruaHzma+ABIjh93YiRcI
 lzK2wqTgHepNUeaNVeF9zqqCq73Z7vuyUjl98y7B9RER7zDE9mf+O3q0lCKX4EAn
 J51SqoupuboBqi84Z0PmceKI13gJTkUW5uHdDCjawr+6SOWBhz/fHv/UkxLNYFzR
 /uVTNrzogrhrK9/2jOgqCsvhJ1Gt0PMHuJCZ2P2+jt+/bLUIt83ZJaPIHvlwi96i
 tTQv/YI/Xt+WLUJIu9iz9j/fqEA6VvxraAMQNGKFR3a/3yAAjxn9peQjv+bS40Sg
 mPzqGmWBmtgPJCl/S0UtOA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1736195606; x=
 1736282006; bh=A3tfZcuuvqFMDzVAG+VDl9QsWSn6mvnlRWCvL1aEg40=; b=h
 3uhqY8DSitqJpVXvGe6k6G9+/W2TEMr+nYOb9Z7mRp9MRZe9myWQnxaDgHVTvKFI
 5basHjfqv4rWATDu9DJDo47qp5gnaY7CjqlNi/WaSG2fn9P88BiCQQTLnoRLsiig
 apqHaxscWqp8BoeaIn/dk5gqpzslTqzCSLGNDF85LRb5DUrYQqyjlm1TDU+qk+yd
 UHpEGk0ofN9UtF0Ss/u96+jUbxxCIN+FopfgW3qLSL760LHaa0iyqQHJkJFLSNP7
 TOayGZgDLH36NfeCdvVCvu+rX7x/FYdVWYYttWnUn/qmwKexSnRt4uu4vl18HWX7
 9ggIDfOFbKnzLAcDNiT6w==
X-ME-Sender: <xms:FT58Z6-oIUmLCBzd2lvw30ECjOmnCYp4CGjhuT3pGb6MZIpT--Kfcg>
 <xme:FT58Z6soLOyIZEeBmGBoFHSf_Uq8AwBQXm7k0ARTUSV2Cdb4CDrNNSIGvsKYSM3aa
 3N2O2MhyAnHwp9mJSc>
X-ME-Received: <xmr:FT58ZwBLW_ruELNpHYC1Ad3kc9vEJsZ1G5KCZqzOG01tB_ffHMioaQkAhNDjS8jQJMqB>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudegtddgudefkecutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp
 uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg
 hnthhsucdlqddutddtmdenucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddv
 jeenucfhrhhomhepffhmihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrd
 guvghvqeenucggtffrrghtthgvrhhnpeetudeljeegheetgfehgeejkeeuhedvveeikeeu
 fedtvddtveefhfdvveegudejheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh
 epmhgrihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvhdpnhgspghrtghpthht
 ohepgedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepjhhurhhisehlihhnkhhovh
 drnhgvthdprhgtphhtthhopehorhhonhhtvggvsehgmhgrihhlrdgtohhmpdhrtghpthht
 ohepvghlihiisehgnhhurdhorhhgpdhrtghpthhtohepjeehfeejleesuggvsggsuhhgsh
 drghhnuhdrohhrgh
X-ME-Proxy: <xmx:FT58ZydbJAesMpiKcwnk13YhNnQX_JjgIvs73sxEJnCrpMYj7LXd8g>
 <xmx:FT58Z_Odl8pLsZuj2jSgSLvTeNZV4_MCse5QLkxFM09Dydthuz4RWA>
 <xmx:FT58Z8kuYVEnmrkS5-Ta38ZqDUHmS5bK76JFtRJl4iHBXp_jV0yOug>
 <xmx:FT58ZxsTU9iEtGPPqGY8YxoKpqAYnnf6jpKlBWOo5SencS_fJkSklA>
 <xmx:Fj58Z0rKa1iuLzPob0o05WUD7NlhrNB4FrDJF4flesTwqSQjWiFOCMQT>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 6 Jan 2025 15:33:23 -0500 (EST)
Message-ID: <c1079473-cfce-41a9-a2ee-7b58eee55d1e@HIDDEN>
Date: Mon, 6 Jan 2025 22:33:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Juri Linkov <juri@HIDDEN>
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
 <ff8e48df-0439-4447-9253-aa65a908dc84@HIDDEN>
 <871pxg3xu5.fsf@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <871pxg3xu5.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>,
 Matthias Meulien <orontee@HIDDEN>
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 (-)

On 06/01/2025 19:36, Juri Linkov wrote:
> Indeed, "Binary file matches" is a very important message that
> helps not to miss any matches in a text file that happens
> to accidentally contain a NUL byte.  This saved me many times
> while using rgrep.  'project-find-regexp' could do the same,
> and show the same messages in the*xref* output buffer.
> 
> So to not mess with translations, a simpler solution would be
> just to copy all unhandled messages from grep/ripgrep output
> to the xref buffer as is.

Good point, maybe we could show different messages this way.

But I think what I was trying to do there is distinguish between Grep 
succeeding and ending up with an error (which we should report with 
user-error), and the process exit status wasn't enough for that.

Indeed, here's a command to try:

   git ls-files -z | xargs -0 grep gtags

In the Emacs repository (among others) it exits with the status 123, 
apparently one or more of the Grep sub-invocations ended up with 
non-zero status (likely 1, indicating "no matches"). Even though the 
combined search finds a bunch of results, that doesn't change xargs's 
exit status. And we can't special-case the status 123 because "if any 
invocation of the command exited with status 1-125" covers both Grep 
calls that found nothing and Grep calls which were done with 
unrecognized flags (Grep exit status 2, IIUC).

Also, when we know the format of come messages we can parse the file 
name out of them  and create a button in the output buffer. Simply 
copying any unhandled messages removes that possibility.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 6 Jan 2025 17:50:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 06 12:50:22 2025
Received: from localhost ([127.0.0.1]:39949 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUrF7-0001IK-KO
	for submit <at> debbugs.gnu.org; Mon, 06 Jan 2025 12:50:21 -0500
Received: from relay5-d.mail.gandi.net ([217.70.183.197]:56645)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1tUrF5-0001Hu-DM
 for 75379 <at> debbugs.gnu.org; Mon, 06 Jan 2025 12:50:20 -0500
Received: by mail.gandi.net (Postfix) with ESMTPSA id 22AA81C0006;
 Mon,  6 Jan 2025 17:50:10 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
In-Reply-To: <ff8e48df-0439-4447-9253-aa65a908dc84@HIDDEN> (Dmitry Gutov's
 message of "Mon, 6 Jan 2025 03:55:51 +0200")
Organization: LINKOV.NET
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN>
 <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
 <ff8e48df-0439-4447-9253-aa65a908dc84@HIDDEN>
Date: Mon, 06 Jan 2025 19:36:18 +0200
Message-ID: <871pxg3xu5.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-GND-Sasl: juri@HIDDEN
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>,
 Matthias Meulien <orontee@HIDDEN>
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 (-)

>                  ;; TODO: Show these matches as well somehow?
>
> we would probably want to print these weird matches as well, in the
> future. As you mention, search programs have a flag which avoids printing
> these matches, but in certain rare cases it might happen that a mostly text
> file is detected as binary - and then it seems preferable to print all of
> such matches in the buffer rather than ignore them. (Unless people
> disagree?)

Indeed, "Binary file matches" is a very important message that
helps not to miss any matches in a text file that happens
to accidentally contain a NUL byte.  This saved me many times
while using rgrep.  'project-find-regexp' could do the same,
and show the same messages in the *xref* output buffer.

So to not mess with translations, a simpler solution would be
just to copy all unhandled messages from grep/ripgrep output
to the xref buffer as is.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 6 Jan 2025 14:14:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 06 09:14:09 2025
Received: from localhost ([127.0.0.1]:37401 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUnrs-0006QQ-TV
	for submit <at> debbugs.gnu.org; Mon, 06 Jan 2025 09:14:09 -0500
Received: from fout-a7-smtp.messagingengine.com ([103.168.172.150]:40645)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1tUnrq-0006Pq-Lc
 for 75379 <at> debbugs.gnu.org; Mon, 06 Jan 2025 09:14:07 -0500
Received: from phl-compute-08.internal (phl-compute-08.phl.internal
 [10.202.2.48])
 by mailfout.phl.internal (Postfix) with ESMTP id 79F471380AA6;
 Mon,  6 Jan 2025 09:14:01 -0500 (EST)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-08.internal (MEProxy); Mon, 06 Jan 2025 09:14:01 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1736172841;
 x=1736259241; bh=ElpSkohhtfrTFw94l7lVocqGZ8Y70g0cTiMWZgdXWxY=; b=
 lGvHuio1tArlPBz6WALp1ez9jcNyWhcx42GZNrLKNVwUNpcvI8tshcEsfyPZZZd8
 aWgJSFZ6iljt6CZiNElP4LUuuAPezeYz72rLO6qbbJ9G2rHr/0eMZ7Uqs3WUVibV
 UiR5prb5RVxa/PupdGTpgybIMDfgf7UavztwLqDBSl+vvr7B/NnGCh4bN0CR0JxC
 UnteabIKoTLILTXF1VazywYySaZdzcjOD9Ml3gkrwMP6wmg7yjISSul0FbRWQ/UN
 75t3s/yUl1kggvNewJ/lz3xV+8H+5b5aCTMmE2bB1Emo1B0RjMpPvAI2+kSRA1je
 dv8bRjjZELLJ3w+1sDBJ/A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1736172841; x=
 1736259241; bh=ElpSkohhtfrTFw94l7lVocqGZ8Y70g0cTiMWZgdXWxY=; b=u
 eqxtHpih4n/E9KzPJ9IyDGbuxxE5DGRkP5OoCB8sJiDTg7TSlzDcK35OkWIsSmkE
 lbbi7JrZp64sOso+q+JNmv0qAsR/y4Y5zB2YiC3AEm5Qzd+JdIx0fciBTrIeESX+
 LUMR3qIRqxwivUHN8407UgvS+6Z3q6lupSI4bXr3WwC8APIm/8/p3X9AN0iJJxn8
 I7AE8E3QCgG8K4nKWDAYrBwAm+MG60hHAF/JCRRV51QJrwoZq4kpHsqK21xBauT4
 a5gBkPKqZb5zv6Rxa+Vt+7X6BHQnI78kA9PCteX2AbjNNjNJhuf38SwAg3829zCi
 B1XgG9C21+A4wJH0QkPBQ==
X-ME-Sender: <xms:KeV7Z4yIaz9EmaLLI5bRfG9LfcJas--XaREzshaCCB3iUqC9Q078Ag>
 <xme:KeV7Z8QHfS5CKkTzcNh_naiOMyye-u-GjhFKyYoc7ITaoh-sYjJ1kXmJfVXa3AZ2M
 gLUOcHlZG5M0zSZywc>
X-ME-Received: <xmr:KeV7Z6W-Rjgpv5aotEM5c1I8c6D6gkRiDQMEVxm7Q4jE8_z3apyGhBFY_RjBpEcPzjED>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudegtddgieduucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtvdej
 necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug
 gvvheqnecuggftrfgrthhtvghrnhepueeivdelgfeikeejueetteehveeffeekjeeiledv
 hedvleehtdehudeffeekteejnecuffhomhgrihhnpehfrhgvvggsshgurdhorhhgnecuve
 hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepughmihhtrhih
 sehguhhtohhvrdguvghvpdhnsggprhgtphhtthhopeefpdhmohguvgepshhmthhpohhuth
 dprhgtphhtthhopegvlhhiiiesghhnuhdrohhrghdprhgtphhtthhopehorhhonhhtvggv
 sehgmhgrihhlrdgtohhmpdhrtghpthhtohepjeehfeejleesuggvsggsuhhgshdrghhnuh
 drohhrgh
X-ME-Proxy: <xmx:KeV7Z2jWZqDOoJPb1xxeEqSa6wPFtEGb_Qrevm0T1B_ke045iWqvJQ>
 <xmx:KeV7Z6B-jsThTSUH63J1I4Dqlzu01Dh7sLI9mibkIjKF-RDJN4ug6Q>
 <xmx:KeV7Z3JG1rLfZ-t1cO4CZR2U2dmCr7tw4fuSag58AazD8eZMqfTkPw>
 <xmx:KeV7ZxD8O-jKvC4qgwijcKrFpxHvTKg-ZPfhs84eTwEmtjxrr2hTww>
 <xmx:KeV7Z1NIggW6IPEbrJ7li7fjrVcSvt52-J6TaI3t5iFMxl4XEl8pemxc>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 6 Jan 2025 09:13:59 -0500 (EST)
Message-ID: <bfbab41b-0e0d-416e-bba4-9534a25b69c3@HIDDEN>
Date: Mon, 6 Jan 2025 16:13:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Eli Zaretskii <eliz@HIDDEN>, Matthias Meulien <orontee@HIDDEN>
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
 <864j2c6qpb.fsf@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <864j2c6qpb.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <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 (-)

On 06/01/2025 15:02, Eli Zaretskii wrote:
>> ‘-I’
>>       Process a binary file as if it did not contain matching data; this
>>       is equivalent to the ‘--binary-files=without-match’ option.
> Isn't that GNU Grep specific?

It's documented in https://man.freebsd.org/cgi/man.cgi?grep(1) too, at 
the very least.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 6 Jan 2025 14:13:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 06 09:13:50 2025
Received: from localhost ([127.0.0.1]:37396 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUnra-0006PG-Ee
	for submit <at> debbugs.gnu.org; Mon, 06 Jan 2025 09:13:50 -0500
Received: from fout-a7-smtp.messagingengine.com ([103.168.172.150]:41569)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1tUnrU-0006Om-0t
 for 75379 <at> debbugs.gnu.org; Mon, 06 Jan 2025 09:13:49 -0500
Received: from phl-compute-06.internal (phl-compute-06.phl.internal
 [10.202.2.46])
 by mailfout.phl.internal (Postfix) with ESMTP id C2BBC1380AB8;
 Mon,  6 Jan 2025 09:13:38 -0500 (EST)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-06.internal (MEProxy); Mon, 06 Jan 2025 09:13:38 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1736172818;
 x=1736259218; bh=DOBtlZu9T46McvIIxQycApxnIwIxXwXN/vHjpirje2M=; b=
 HD3pMOVyL/L/XcsToOwKd8bzXcE7ZMg2TfXjrZFksDrTV8U5CIm56M6KdK1PRvg9
 rrB91fako7b2m5k4fonpGvPRTjZ10TBPfzGRhPQyc7mYahx2AbcHxB74rZZETcJ3
 sEdfJwBnjn9DkOntWa4T9jC7OSezsFYNn2PWMHLz01OtK4qy12dzs7ASpVs8WfPn
 L1H3E6vOWVoeolu883uN5XWCySIdmZinebLiiZV3DCNv3MZb34jHt+bEIgiqqfOf
 nbJKAReIJJKG8acCydgaOJqBUYDmfvDi39x2h9bvt/6KtVWLXa8dWbWEKWYu0vd4
 75Ds9jn/C6o+lj5GK0ps0Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1736172818; x=
 1736259218; bh=DOBtlZu9T46McvIIxQycApxnIwIxXwXN/vHjpirje2M=; b=O
 RnE12ILQokRA2uxmsdvWRr8HjL8gC+c1zjFpJbHqN84I/km/bY5SxUAxzFoTXN8C
 /q8yR8mQQiKIlNIcYpwRLXmDtEVAM4dmi6+MEh+Dogm7mG2f+9APd02m+wslFn4E
 JjHjpthVfa3Y06zI6VRAkyZB85xFSSuq/wszjplq2HMnsXAz9JZ00ZDxuiWgy20m
 N9TogG37KwAmol/teQlGxIkx5SMZJ0yuqS5+vm8xupgF8oTkKjzeO2pVQu6O99i1
 AZII9KJUGlnqV+mkDGmPPio5Sff6H+mwoMjSLnT7o1ca35Hvd7QgVC0zEt9doTEd
 GTxWACG4BcWyV8ChfXrLw==
X-ME-Sender: <xms:EuV7Z6GlJOqzZn4VKpJPsnenxgbfZe22sPlVm4N4aGungtPqymB_vg>
 <xme:EuV7Z7VHyzQj9Ts-Kr1x3zqREkrLQgwFRpbueIsgK1oXtQYufeFWECiQKrvQiuBZa
 iUMNIju6iIszpOclq0>
X-ME-Received: <xmr:EuV7Z0J-NiV9v5SVgHgRytpn-X0SG0KIeKIhTDgMqA8XT6SCukyeRiEnWwTNlZjTQCL7>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudegtddgieduucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdej
 necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug
 gvvheqnecuggftrfgrthhtvghrnhepteduleejgeehtefgheegjeekueehvdevieekueef
 tddvtdevfefhvdevgedujeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe
 hmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthho
 peefpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehorhhonhhtvggvsehgmhgrih
 hlrdgtohhmpdhrtghpthhtohepvghlihiisehgnhhurdhorhhgpdhrtghpthhtohepjeeh
 feejleesuggvsggsuhhgshdrghhnuhdrohhrgh
X-ME-Proxy: <xmx:EuV7Z0F6XrPDkrg92maPjCCDhw7pZfPkcMS6FALo_5zhbxvF7PG38g>
 <xmx:EuV7ZwU4QI-tH8heXFYOPX8s4BxUrWajDpUGyEQzGJqwEa3PV8qiiA>
 <xmx:EuV7Z3P0LixdJew-SDfYvf3OYalQt4uiBtRVKtvhnd7wtAYWo3bPqg>
 <xmx:EuV7Z334PoasT3ZTWxvJzM4VPXMhJWhl7byQiagmf_Ol2HijinlYZg>
 <xmx:EuV7Z3RVKIOcviqB7yYOubzXQWNrBXB_fERHIkt47tnwl5ydGVLP5vqE>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 6 Jan 2025 09:13:37 -0500 (EST)
Message-ID: <52c5bfa1-60bb-413c-9060-b2e1a75bfae2@HIDDEN>
Date: Mon, 6 Jan 2025 16:13:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Matthias Meulien <orontee@HIDDEN>
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
 <ff8e48df-0439-4447-9253-aa65a908dc84@HIDDEN>
 <CAFEQCfBfRkg6ziTPDM7SK6Rsxj+otHLw8DXHszcNj5y=C2MDqQ@HIDDEN>
 <CAFEQCfBxK=6HMZyqezatKbyQmnaVm7XJtEa3NeOv-uiZWC8o-A@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <CAFEQCfBxK=6HMZyqezatKbyQmnaVm7XJtEa3NeOv-uiZWC8o-A@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: Eli Zaretskii <eliz@HIDDEN>, 75379 <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 (-)

On 06/01/2025 14:42, Matthias Meulien wrote:
> Or do we want to reproduce rgrep behavior with xref? When I search with 
> `rgrep` I get the following:
> 
> image.png

That's what I was thinking of, yes. Adding similar entries to the Xref 
output buffer.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 6 Jan 2025 14:12:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 06 09:12:00 2025
Received: from localhost ([127.0.0.1]:37384 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUnpn-0006L5-W1
	for submit <at> debbugs.gnu.org; Mon, 06 Jan 2025 09:12:00 -0500
Received: from fout-a7-smtp.messagingengine.com ([103.168.172.150]:47345)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1tUnpl-0006Kl-Bt
 for 75379 <at> debbugs.gnu.org; Mon, 06 Jan 2025 09:11:58 -0500
Received: from phl-compute-03.internal (phl-compute-03.phl.internal
 [10.202.2.43])
 by mailfout.phl.internal (Postfix) with ESMTP id C0E881380A4E;
 Mon,  6 Jan 2025 09:11:51 -0500 (EST)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-03.internal (MEProxy); Mon, 06 Jan 2025 09:11:51 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1736172711;
 x=1736259111; bh=o69mtV+m4YrjoWLMKP6pHEUKHyL7K9qp8TX0kGJZpbA=; b=
 mQQYVoKLwmMrhpDi1XNedU3SHjQVvDOZNisdc3/ma+A9nl8LN/u7g1vlf6dSzX0n
 nLeJaTijnw2q4jKfJYHK+76bjQIT2r7AAFQsvlk6nK7cQTlVxFOvyjwPDTpK+2jP
 d3dYDtgoWfWbRYmTq2slMCTUOGUtNzPed+rTEn+k/XJnJE/HU5bjute4chptn3Uu
 vUjrAdkl7zDHTmouBCm5qOZcaYzFmnHcDTKL91ny3g96pBh2oAslvoH2+99hGUMg
 X/uzmZ5p0HRXrO27NoPXw3qxEgP6CJEMB5EBeKJdaUrzRCtrlE/rzJ2+RjREt41W
 ucpwjDTGxPurWK0v16h+cQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1736172711; x=
 1736259111; bh=o69mtV+m4YrjoWLMKP6pHEUKHyL7K9qp8TX0kGJZpbA=; b=m
 Ver5aibBKUPFBFRhWncMJR/czPqkOYgR40RxRAzmOk05IWPPOenejhBB7wBZxmtT
 QDiLHZQNEgFyD7wBvOWXafsKlNj1OBLmKz+7jqKMiFD4nNy2sbCbQ6jb89EBEkHq
 x+b7Qa6vO3Cz+7i+0djBD10I7/XmkFGxgMzCxBQ8Mahm/rePsNouIrPSESN8bFut
 oK22ita1RXD6SDNjqmB4KdGI6z7G842YjTYfOdlvAyidWov0qUJGX9BKMrzNpFeS
 zGIUqnfgbeWUXKt52fr28x7NadeM/K32vSHMbSvPH3bhVZ5y67WlLykl6Ucy95gN
 usrdmbn51zIxCmwoVl+jg==
X-ME-Sender: <xms:p-R7Z26SsUxjQP09yEn-6cAyj3dk1JdfLrJYubfBJejRahwGo2_WhQ>
 <xme:p-R7Z_5IiNoH1N4NcpmD_yKkbzb1hIN3tbcdOB4o88978HQWpoR3m5oPyqTihyWkv
 ABC4aaL-M4n4XX769c>
X-ME-Received: <xmr:p-R7Z1egIwOdelJvVcdnLMVbiLe3dhxn1_I_VX1rJyXEBonHj2nUCF3mS3k9fLovNlAU>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudegtddgieduucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtvdej
 necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug
 gvvheqnecuggftrfgrthhtvghrnhepgeelfeetkefghfdvhfdtgeevveevteetgeetveeg
 tedthefhudekteehffeukeeknecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe
 hmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthho
 peefpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehorhhonhhtvggvsehgmhgrih
 hlrdgtohhmpdhrtghpthhtohepvghlihiisehgnhhurdhorhhgpdhrtghpthhtohepjeeh
 feejleesuggvsggsuhhgshdrghhnuhdrohhrgh
X-ME-Proxy: <xmx:p-R7ZzLbUN9cyraRkqk52hg1wOYl1HpLlEzcRTsvuPFIQmDL7Ln4lw>
 <xmx:p-R7Z6IEuGSSMvSnvqLz5VO15DkRnElUbXVHAGQshsSnhyaXsMEe1w>
 <xmx:p-R7Z0whwnhoDgBvcijqIP3P6yIbEpYryHaqVZBlOb4e7Z5XeWezLA>
 <xmx:p-R7Z-IGQOG489MsFFjNFM76N0VzElcCOe2H9s2vYxtBlQpd1bIZLw>
 <xmx:p-R7Z23kWA2USoVWqeygFdri40cKFS1N5RXvlkJcq_HiWhWRs2ZnpGuK>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 6 Jan 2025 09:11:50 -0500 (EST)
Message-ID: <dace5bef-61ba-4547-b9e1-77297f04a8a2@HIDDEN>
Date: Mon, 6 Jan 2025 16:11:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Matthias Meulien <orontee@HIDDEN>
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
 <ff8e48df-0439-4447-9253-aa65a908dc84@HIDDEN>
 <CAFEQCfBfRkg6ziTPDM7SK6Rsxj+otHLw8DXHszcNj5y=C2MDqQ@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <CAFEQCfBfRkg6ziTPDM7SK6Rsxj+otHLw8DXHszcNj5y=C2MDqQ@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: Eli Zaretskii <eliz@HIDDEN>, 75379 <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 (-)

On 06/01/2025 14:36, Matthias Meulien wrote:
>     Thanks, this is a solid proposal, but as per comment:
> 
>                        ;; TODO: Show these matches as well somehow?
> 
>     we would probably want to print these weird matches as well, in the
>     future. As you mention, search programs have a flag which avoids
>     printing these matches, but in certain rare cases it might happen
>     that a
>     mostly text file is detected as binary - and then it seems
>     preferable to
>     print all of such matches in the buffer rather than ignore them.
>     (Unless
>     people disagree?)
> 
>     And yeah, it's an old comment, so this improvement is not high on the
>     list, but whenever we (I/you/anybody else) get around to implementing
>     it,
> 
> 
> What would be the "right thing to do"?

To try to fix the current behavior on FR locales, we would tell grep to 
output its messages in English. That would make xref-matches-in-files 
behave the same across languages.

Step 2 would be to render the "binary file matches" elements in the UI.

> Should we call grep and ugrep 
> with "--binary-files=text" (and ripgrep has the equivalent "-a") and 
> then ask Emacs to guess whether each match is "compatible" with the 
> process encoding system and based on that decide whether to display the 
> match or print a warning like "match found among unprintable binary 
> data" nearby the file name?

That's a more advanced solution - not sure if we can handle edge cases 
uniformly, such as actual binary files without newlines.

Apparently newer Grep versions (2.11+ or something like that) will also 
break lines on null bytes, but that still creates higher odds of having 
very long strings in the output sometimes.

Could be worth an experiment, though. A possible upside is being able to 
display these matches just like the others.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 6 Jan 2025 13:03:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 06 08:03:51 2025
Received: from localhost ([127.0.0.1]:37223 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUmlp-0002nQ-QC
	for submit <at> debbugs.gnu.org; Mon, 06 Jan 2025 08:03:50 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:50092)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tUmlm-0002n6-LB
 for 75379 <at> debbugs.gnu.org; Mon, 06 Jan 2025 08:03:47 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1tUmlh-00037Q-By; Mon, 06 Jan 2025 08:03:41 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=vgDk8YN1of9VM6cAHgkH0NX3Cu3GwCrVBY5lDQATs+o=; b=aHoI1S/K+Biu
 eTF9K7hbKZ4qHGW9PbUVsJ9lhs92p+rwOJhmmox+ihwgTUV0dreEiB2RWJ/bRCIYBylbz+ZxAGpqP
 yFDwsu2BwaWecXQxTDyKaGCM7Yo6RI0nznCWh7WyjBlWy09s9OxtwdIb90RE0Jpg6QH5zLCknr/PO
 fh0IBeKZefBS/G7RTaJ16Q3gwAf3Uz1+Pwnhez6tCS/CLKxs5Knn7ie+EcsYgi7SukNxo/j4ualaH
 cCSYna8rwDs6vCCgVcDR46qkwPbO4P9eVN/xuE1duwMVO12L6hFZttZrFXIzpar34AkkxoeoYfX8v
 hzwlfgddXGXu5Q9dBwayaw==;
Date: Mon, 06 Jan 2025 15:03:38 +0200
Message-Id: <86zfk45c2d.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Matthias Meulien <orontee@HIDDEN>
In-Reply-To: <CAFEQCfBQ4gbVWbjaNTKf-nVLEkUDOkCzLCeCkLtk2j3arK4pbQ@HIDDEN>
 (message from Matthias Meulien on Sun, 5 Jan 2025 22:29:54 +0100)
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
 <CAFEQCfBQ4gbVWbjaNTKf-nVLEkUDOkCzLCeCkLtk2j3arK4pbQ@HIDDEN>
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: 75379
Cc: dmitry@HIDDEN, 75379 <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: -2.6 (--)

> From: Matthias Meulien <orontee@HIDDEN>
> Date: Sun, 5 Jan 2025 22:29:54 +0100
> Cc: Dmitry Gutov <dmitry@HIDDEN>, 75379 <at> debbugs.gnu.org
> 
> And the rg (ripgrep) manual page says:
> 
>   By default, ripgrep attempts to automatically skip binary files in order to improve the relevance of results
> and make the search  faster.
> 
> And ugrep support -I in with the same meaning as grep.
> 
> Thus I propose to add both -I to grep and ugrep, remove the processing of search output for binary file
> messages, and extend doc string for users to be aware that the behavior has (slightly) changed.

Likewise here: we will need to warn people from removing these options
or adding something that would countermand them.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 6 Jan 2025 13:02:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 06 08:02:19 2025
Received: from localhost ([127.0.0.1]:37218 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUmkN-0002k6-B7
	for submit <at> debbugs.gnu.org; Mon, 06 Jan 2025 08:02:19 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:57560)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tUmkL-0002jh-2Q
 for 75379 <at> debbugs.gnu.org; Mon, 06 Jan 2025 08:02:17 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1tUmkF-0002Q3-Nv; Mon, 06 Jan 2025 08:02:11 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=vyxY3DfASIlBcjvskTn21GK8ZLaPTAlEdL50DkIPjXo=; b=e1Kt6B9mwOEjSfHlti59
 os5bifHxHkTyCI6p93jhaGCtA139KK9XdgXB4NNIOxxq0dXlj7vBkHpoocoIa3aAR7EP2ERy4Y9sG
 89uiW/4C0SX+C7PKchF6w61H3he1tTqLl0S/qsDW4FheZ55mWLodtkJJs76jf/CWCCnV8gsASTLs4
 Xhkbz/lWVGOvr5ZKHPGfia+NcPYbd8WQ7T6sIfhmp5R95q5ipSvW6UIrIzhErxYZu6riCjRah5pyE
 OEG8TxhsRvKThKTyTUxAjZ389hc/5lRPuY0dSsHsPlquuDVrXlz/qtOBtTpTfnwtIlqRaNJfVu7qm
 sk+CDRvXwrr2MA==;
Date: Mon, 06 Jan 2025 15:02:08 +0200
Message-Id: <864j2c6qpb.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Matthias Meulien <orontee@HIDDEN>
In-Reply-To: <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
 (message from Matthias Meulien on Sun, 5 Jan 2025 22:22:33 +0100)
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: 75379
Cc: dmitry@HIDDEN, 75379 <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: -2.6 (--)

> From: Matthias Meulien <orontee@HIDDEN>
> Date: Sun, 5 Jan 2025 22:22:33 +0100
> Cc: Dmitry Gutov <dmitry@HIDDEN>, 75379 <at> debbugs.gnu.org
> 
>  Can't we instead have a database of these messages, like we do with
>  the "password" prompts?
> 
> I am not familiar with all grep options but I saw that:
> 
> ‘-I’
>      Process a binary file as if it did not contain matching data; this
>      is equivalent to the ‘--binary-files=without-match’ option.

Isn't that GNU Grep specific?

In any case, we will have to document somewhere that removing this
option from the command is not recommended.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 6 Jan 2025 12:42:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 06 07:42:37 2025
Received: from localhost ([127.0.0.1]:37122 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUmRJ-0001fY-3P
	for submit <at> debbugs.gnu.org; Mon, 06 Jan 2025 07:42:37 -0500
Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]:58496)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <orontee@HIDDEN>) id 1tUmRH-0001fK-2o
 for 75379 <at> debbugs.gnu.org; Mon, 06 Jan 2025 07:42:35 -0500
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5d414b8af7bso28562499a12.0
 for <75379 <at> debbugs.gnu.org>; Mon, 06 Jan 2025 04:42:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1736167354; x=1736772154; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=QNEdBjhOWubJEVAhnpvPGOIukVDT5S/4Rzz4ZNuowQk=;
 b=XO+Uv/20PvMsFOoyHrD+SdDwml4IAWCZ4oaVXRMaY37qPSQI7uH9hzMlGgpYANp/US
 NnYt3ytcCCEvE5zndAb46BLhBZC7N47yXOCh6sIuoBxfwOcT0NlLvPKpCZRv5l7awQqm
 FLBzA6xse47lL+54yl4F39ZFD7MuxB0CODkrv+bqoWMcGXNqtyHo/CXt6IBqBWOrkqtr
 dQ/z0yp8TwnSMcqSNbqjd2q4/qqxeUm+CfMoROHmSzQvgEGKndEPyfZAcTlVhvzNFMbh
 rihzAABmqpf7G+yEJX/0LdEEBhuYlTVu6QQx8fALyZl+WqZA8PpAUnHcyhjlptZpCqOg
 hvJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1736167354; x=1736772154;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=QNEdBjhOWubJEVAhnpvPGOIukVDT5S/4Rzz4ZNuowQk=;
 b=M4n0tIaNOMXufR0b16L+J1Eb8TMuss2fibzVxfcW9ly2/f7/jGqQEKURZbiLGuIzkS
 iw1NCuom12dggzYp1h+91C/Ntj0dEPUmNi9K2q+fGZt5hO2+YcpbNGkxAAIAi+0PWSkv
 E8wDdMDtlYVza/QZ1IGRB3xUUBLaVMPAzqlF/cRNbZIMS1JUtfofu0Vl6bauyK3w2Tzc
 1pm/szzEqTjGTyDfKb8BZXcy1LOChNncSKIlIO18rvytF51zaY5WTzh5pSHfIzpdAGLO
 Y32tFkW5gqfcTiYbMa6P5x9OQMPzeqP+3GuRKpZXGhc5DiWriebTKn5BbRC3eCSRCO29
 2ICQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCXyaDlSuZU6ysELJlpR5mrtyUFcFeFndAXxU4BrEwbxumyTSIlQUo5sh/I3HnSBXTMy8/s2QQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyfhUbkNF8aZmdruSYsgcFGPg3d9qMqh1VMa82DBhVeXyFNKWUT
 ihmcnOullzYxvXfNUSY61gyP29I53s7zrw3k2XYPqCKM8ZWW8dF5BxY2KIml3FXa7/qgYS7tKwy
 RbSd1Th6xHHKq4T7KADiXOwf/cT/zF7qg
X-Gm-Gg: ASbGncv3FqKCd/mh2u/OFYGYXpOtikayzXSPbQWWrkGGhm1NaBdFijey/ubmSgv2lSr
 oWZpmoGnLSZ98z9aPv2pDF84SLMtql0WEZjlH+KD2amX/17IYvqLt4ZYtNIB+GxsmKwprwQ==
X-Google-Smtp-Source: AGHT+IF4QMt59c8tDU/m+L3VWFZ5z9dpvfTomL5IrRQ3aAjUHUL4Fa0bgoSR3pKaBUmktuDeWrLFI/C+Cr0yzDESi/I=
X-Received: by 2002:a17:907:d87:b0:aa6:b5d8:d5c2 with SMTP id
 a640c23a62f3a-aac3352c8eemr6283645366b.41.1736167352994; Mon, 06 Jan 2025
 04:42:32 -0800 (PST)
MIME-Version: 1.0
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
 <ff8e48df-0439-4447-9253-aa65a908dc84@HIDDEN>
 <CAFEQCfBfRkg6ziTPDM7SK6Rsxj+otHLw8DXHszcNj5y=C2MDqQ@HIDDEN>
In-Reply-To: <CAFEQCfBfRkg6ziTPDM7SK6Rsxj+otHLw8DXHszcNj5y=C2MDqQ@HIDDEN>
From: Matthias Meulien <orontee@HIDDEN>
Date: Mon, 6 Jan 2025 13:42:20 +0100
Message-ID: <CAFEQCfBxK=6HMZyqezatKbyQmnaVm7XJtEa3NeOv-uiZWC8o-A@HIDDEN>
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Dmitry Gutov <dmitry@HIDDEN>
Content-Type: multipart/related; boundary="00000000000058e850062b08f6f2"
X-Debbugs-Envelope-To: 75379
Cc: Eli Zaretskii <eliz@HIDDEN>, 75379 <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>

--00000000000058e850062b08f6f2
Content-Type: multipart/alternative; boundary="00000000000058e84e062b08f6f1"

--00000000000058e84e062b08f6f1
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Or do we want to reproduce rgrep behavior with xref? When I search with
`rgrep` I get the following:

[image: image.png]


Le lun. 6 janv. 2025 =C3=A0 13:36, Matthias Meulien <orontee@HIDDEN> a =
=C3=A9crit :

> Thanks, this is a solid proposal, but as per comment:
>>
>>                   ;; TODO: Show these matches as well somehow?
>>
>> we would probably want to print these weird matches as well, in the
>> future. As you mention, search programs have a flag which avoids
>> printing these matches, but in certain rare cases it might happen that a
>> mostly text file is detected as binary - and then it seems preferable to
>> print all of such matches in the buffer rather than ignore them. (Unless
>> people disagree?)
>>
>> And yeah, it's an old comment, so this improvement is not high on the
>> list, but whenever we (I/you/anybody else) get around to implementing
>> it,
>
>
> What would be the "right thing to do"? Should we call grep and ugrep with
> "--binary-files=3Dtext" (and ripgrep has the equivalent "-a") and then as=
k
> Emacs to guess whether each match is "compatible" with the process encodi=
ng
> system and based on that decide whether to display the match or print a
> warning like "match found among unprintable binary data" nearby the file
> name?
> --
> Matthias
>


--=20
Matthias

--00000000000058e84e062b08f6f1
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Or do we want to reproduce  rgrep behavior with xref?=
 When I search with `rgrep` I get the following:<br></div><div><br></div><d=
iv><img src=3D"cid:ii_m5l14dbo0" alt=3D"image.png" width=3D"578" height=3D"=
284"><br><br></div></div><br><div class=3D"gmail_quote gmail_quote_containe=
r"><div dir=3D"ltr" class=3D"gmail_attr">Le=C2=A0lun. 6 janv. 2025 =C3=A0=
=C2=A013:36, Matthias Meulien &lt;<a href=3D"mailto:orontee@HIDDEN">oron=
tee@HIDDEN</a>&gt; a =C3=A9crit=C2=A0:<br></div><blockquote class=3D"gma=
il_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,2=
04,204);padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_quote"><bloc=
kquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:=
1px solid rgb(204,204,204);padding-left:1ex">
Thanks, this is a solid proposal, but as per comment:<br>
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; TODO: Sho=
w these matches as well somehow?<br>
<br>
we would probably want to print these weird matches as well, in the <br>
future. As you mention, search programs have a flag which avoids <br>
printing these matches, but in certain rare cases it might happen that a <b=
r>
mostly text file is detected as binary - and then it seems preferable to <b=
r>
print all of such matches in the buffer rather than ignore them. (Unless <b=
r>
people disagree?)<br>
<br>
And yeah, it&#39;s an old comment, so this improvement is not high on the <=
br>
list, but whenever we (I/you/anybody else) get around to implementing <br>
it,</blockquote><div><br></div><div>What would be the &quot;right thing to =
do&quot;? Should we call grep and ugrep with &quot;--binary-files=3Dtext&qu=
ot; (and ripgrep has the equivalent &quot;-a&quot;) and then ask Emacs to g=
uess whether each match is &quot;compatible&quot; with the process encoding=
 system and based on that decide whether to display the match or print a wa=
rning like &quot;match found among unprintable binary data&quot; nearby the=
 file name?</div><div><span class=3D"gmail_signature_prefix">-- </span><br>=
</div></div><div dir=3D"ltr" class=3D"gmail_signature">Matthias</div></div>
</blockquote></div><div><br clear=3D"all"></div><br><span class=3D"gmail_si=
gnature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Ma=
tthias</div>

--00000000000058e84e062b08f6f1--

--00000000000058e850062b08f6f2
Content-Type: image/png; name="image.png"
Content-Disposition: inline; filename="image.png"
Content-Transfer-Encoding: base64
Content-ID: <ii_m5l14dbo0>
X-Attachment-Id: ii_m5l14dbo0

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
e/pd4/8YHWhnhVnmFAAAAABJRU5ErkJggg==
--00000000000058e850062b08f6f2--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 6 Jan 2025 12:36:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 06 07:36:35 2025
Received: from localhost ([127.0.0.1]:37106 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUmLT-0001OP-C2
	for submit <at> debbugs.gnu.org; Mon, 06 Jan 2025 07:36:35 -0500
Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]:44408)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <orontee@HIDDEN>) id 1tUmLQ-0001OD-2f
 for 75379 <at> debbugs.gnu.org; Mon, 06 Jan 2025 07:36:33 -0500
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-aa6c0d1833eso2984293866b.1
 for <75379 <at> debbugs.gnu.org>; Mon, 06 Jan 2025 04:36:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1736166991; x=1736771791; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=Mahd4JaKRX/NxL4szc9G6VcKiJIHhiDO3g4yWV8eY2Q=;
 b=PBS0muuS5FdIDDbv8TpyJeiLQhIYRihTM08lbwE7Nx1ABUkq7r8ehIxCW3V9Atkj4A
 Q3kFo14hGAXmm4ktMjiCXv0gW8MYKkM0dajGokRsBulOrjQh+r5jFuucQ2Vde3MIqusv
 TsqdInRm48X/92ra2yIu2fRN21mm8Xs0UJlmoUrcJgQ+Vd9LXqz9fdBqLH7UayzOznQK
 1/37jYni4fG2vzxjiLtmlUcXsdaJxXGSiW7V06otVm14EqlGvYxRVwq0QMzDbDZHwZKc
 dBpzi/n8xcExMY1so4hDDtqzG+3jQLoEYDNdLgKfPhtnEygMpzIUP5qk0Z+L+RZebir4
 YCWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1736166991; x=1736771791;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=Mahd4JaKRX/NxL4szc9G6VcKiJIHhiDO3g4yWV8eY2Q=;
 b=iOR33S6oFsHu5YyQnzEEKTGrDiWS2cJjLaZnFTat076OpvTFxr/aMje8+AnrxpYpfI
 oP1BTuIUsvInthQ7+05llsqpjs6uHPC1KKWc8IZ9z5LGoqU+ssJt7G2KyXnj6iEE87Id
 fXbJnY1BnvRvft8Dp14DgXGNsjOJzMEoCykDn/OSjNCayt6e7cjZQVTk5N9bvt7ELFBP
 GxgvU7jr6wIAO/92ExoxVso1x+cuO5U3gyoy/Gaz0rrOLZOmI1VoHQdQ78VKeHsSTOrA
 LNxlEmKEHhb3z/efCUOaOaiQgkbDlNeIp3+j6EhokqtHfuYWgvqlDYCcRHTmHfd3M07/
 AJBQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCWn3eKbhhvFzUSMF56vwfeGtn/0KOWn7LnSiepfjWRJ4Mws+xlif7FlXiwvtjRA4n4XIKteNw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyqJJXcTAHJPs0l8Xlk03rps/Q6RkxckXr2GVMZWbuad/27rtJf
 lJPOrgyIvLy+6DPp6dmqlSCzaju5tqKA6DcD11EPr3OlUrcNUJ5TKvBjYhyB0p/ZZ1Mcjsz593Y
 yAXUp+GPMnE4BTWb8HBeO14DdvnI=
X-Gm-Gg: ASbGncszCqt75tQC19facmtVlfuF5Ca2ZQZO2UIX709bx/LCPV87nyg7mBbSd7YKg6D
 0CfpjNTcEdyo5t1t77Q7kVUP1ZuZkIAooqlsMF8y/UCfDO0OmIEOZAisyHeJaNWKwxDj06w==
X-Google-Smtp-Source: AGHT+IEm8K1Y/sxlEMletda4IrvLsDEWG1VzHQgGa/vBaG4gFOqwR1XnyehbIPc7mG05zNOMc6D2PH7eoT8GhZNeGGs=
X-Received: by 2002:a17:907:7a85:b0:aae:8491:bab5 with SMTP id
 a640c23a62f3a-aae8492b8d1mr4370706066b.26.1736166990532; Mon, 06 Jan 2025
 04:36:30 -0800 (PST)
MIME-Version: 1.0
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
 <ff8e48df-0439-4447-9253-aa65a908dc84@HIDDEN>
In-Reply-To: <ff8e48df-0439-4447-9253-aa65a908dc84@HIDDEN>
From: Matthias Meulien <orontee@HIDDEN>
Date: Mon, 6 Jan 2025 13:36:18 +0100
Message-ID: <CAFEQCfBfRkg6ziTPDM7SK6Rsxj+otHLw8DXHszcNj5y=C2MDqQ@HIDDEN>
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Dmitry Gutov <dmitry@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000bddc2e062b08e062"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: Eli Zaretskii <eliz@HIDDEN>, 75379 <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 (-)

--000000000000bddc2e062b08e062
Content-Type: text/plain; charset="UTF-8"

>
> Thanks, this is a solid proposal, but as per comment:
>
>                   ;; TODO: Show these matches as well somehow?
>
> we would probably want to print these weird matches as well, in the
> future. As you mention, search programs have a flag which avoids
> printing these matches, but in certain rare cases it might happen that a
> mostly text file is detected as binary - and then it seems preferable to
> print all of such matches in the buffer rather than ignore them. (Unless
> people disagree?)
>
> And yeah, it's an old comment, so this improvement is not high on the
> list, but whenever we (I/you/anybody else) get around to implementing
> it,


What would be the "right thing to do"? Should we call grep and ugrep with
"--binary-files=text" (and ripgrep has the equivalent "-a") and then ask
Emacs to guess whether each match is "compatible" with the process encoding
system and based on that decide whether to display the match or print a
warning like "match found among unprintable binary data" nearby the file
name?
-- 
Matthias

--000000000000bddc2e062b08e062
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_quote gmail_quote_container"><blockquo=
te class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px =
solid rgb(204,204,204);padding-left:1ex">
Thanks, this is a solid proposal, but as per comment:<br>
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; TODO: Sho=
w these matches as well somehow?<br>
<br>
we would probably want to print these weird matches as well, in the <br>
future. As you mention, search programs have a flag which avoids <br>
printing these matches, but in certain rare cases it might happen that a <b=
r>
mostly text file is detected as binary - and then it seems preferable to <b=
r>
print all of such matches in the buffer rather than ignore them. (Unless <b=
r>
people disagree?)<br>
<br>
And yeah, it&#39;s an old comment, so this improvement is not high on the <=
br>
list, but whenever we (I/you/anybody else) get around to implementing <br>
it,</blockquote><div><br></div><div>What would be the &quot;right thing to =
do&quot;? Should we call grep and ugrep with &quot;--binary-files=3Dtext&qu=
ot; (and ripgrep has the equivalent &quot;-a&quot;) and then ask Emacs to g=
uess whether each match is &quot;compatible&quot; with the process encoding=
 system and based on that decide whether to display the match or print a wa=
rning like &quot;match found among unprintable binary data&quot; nearby the=
 file name?</div><div><span class=3D"gmail_signature_prefix">-- </span><br>=
</div></div><div dir=3D"ltr" class=3D"gmail_signature">Matthias</div></div>

--000000000000bddc2e062b08e062--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 6 Jan 2025 01:56:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 05 20:56:04 2025
Received: from localhost ([127.0.0.1]:36113 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUcLb-0002hG-S3
	for submit <at> debbugs.gnu.org; Sun, 05 Jan 2025 20:56:04 -0500
Received: from fhigh-b4-smtp.messagingengine.com ([202.12.124.155]:55451)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1tUcLY-0002gf-Uc
 for 75379 <at> debbugs.gnu.org; Sun, 05 Jan 2025 20:56:02 -0500
Received: from phl-compute-06.internal (phl-compute-06.phl.internal
 [10.202.2.46])
 by mailfhigh.stl.internal (Postfix) with ESMTP id 33E332540197;
 Sun,  5 Jan 2025 20:55:55 -0500 (EST)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-06.internal (MEProxy); Sun, 05 Jan 2025 20:55:55 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1736128555;
 x=1736214955; bh=FJcFzXzBjAhfqDJQ0MuvYE7PQZ87VRy+KrJzyR0E8JY=; b=
 TsgA9+qU7bBnI8k+wGLDTGLfVpjgYg5ZjncTY0kmMvLmDs+JnMpZrHJPnalX5URz
 EaWY96OprBjeCFhovoJg0vxEBEuKGxS6tb8iQF+DFtQjLjqAqoWjEqP39gw2AhZI
 nNJe8jDPkjuQI+CAEDIb6m7EMiAq848bwm3sqcgvs65++ypM0Qs0z75hMZ0vPS2X
 1sxG4hrxsxIkhlrE94XW2f18GV/b9J6USKcnhE9TPaYrKkRymnuh66j5pz2CNXZ1
 D/LXdVQJCUgj8S3ZV+TnIJb5CUV8tonYUFTlRvEP/AzBPGTzQP/AP50TwUm/hasE
 hGA1ktYzOet6Gg9QvVPUoA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1736128555; x=
 1736214955; bh=FJcFzXzBjAhfqDJQ0MuvYE7PQZ87VRy+KrJzyR0E8JY=; b=n
 bFSHK68ck02SQJ1qgloisfWAeSJQNS3Wt1BsIHayRgoVcePusYnxDqSDc/yrMQMc
 q9jWM7HI5wA8EsKPRyzieNfJ2HXty0iWE8q9FVsDIkm0r5W6kYo9JYZ5z26abJGe
 RsOx9ZzjycHx2vv+t1L6JAf1pfhU085ngVcWzvucDGTMlsgWzDTGlNQsAhaLkgY7
 ALGR3I5sy/6GSnL7Ix2epaav60FFXLDTO/sFlgzlZMxCvLQO6uf14fGHT/7VzhdF
 jMZGKfSCPy1f1JJ5drsKuckWcrS78tJP5/0hvLPRo78itSVXaLFQ1fM4JwEh40pJ
 Xx5Kxh3bWfW631F+j6fAQ==
X-ME-Sender: <xms:Kjh7ZyJDdvfPR55qXeVEV8L5ibdR1_cp5PN7DomWa-8MFyTKbwMWEQ>
 <xme:Kjh7Z6I9-UQdG1B55LjF441tqEemLGDHV4zjDwIhHIIjirfawZE-CXT2d0-sQh2nQ
 FeI01TAJ-dkzumHJP8>
X-ME-Received: <xmr:Kjh7ZysiN5BoCF_HybXNlgj4fygKJOqQK7Fx18TlfBXzLKf3xO9wQpaCR8mcTXa4QZBP>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudefledggeduucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
 htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtvdej
 necuhfhrohhmpeffmhhithhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdrug
 gvvheqnecuggftrfgrthhtvghrnhepgeelfeetkefghfdvhfdtgeevveevteetgeetveeg
 tedthefhudekteehffeukeeknecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe
 hmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthho
 peefpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehorhhonhhtvggvsehgmhgrih
 hlrdgtohhmpdhrtghpthhtohepvghlihiisehgnhhurdhorhhgpdhrtghpthhtohepjeeh
 feejleesuggvsggsuhhgshdrghhnuhdrohhrgh
X-ME-Proxy: <xmx:Kjh7Z3aas_5jtos3dPhbAaoeVX-0Us6eT_8Gyh5xnG1SYftWf5dZXA>
 <xmx:Kjh7Z5aMSsTPzj5K90AndwRXXqQJSzdOuQfTvl464N8vp7LqjAmzQA>
 <xmx:Kjh7ZzA8O733VpuuuA-Ik_uq-WzOlLNHGSpyWXeUY1lLsXPqjyPVSw>
 <xmx:Kjh7Z_ZRKVlIglTh1Z3R77C3EgvT2NO_7wXTyAEJFKW6sH0naxrIYw>
 <xmx:Kzh7Z9H3nJf3vtYtZ6LFKZxhqoym6Dc4AotKlbnD0KmlP8eWkUmEqgXl>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 5 Jan 2025 20:55:53 -0500 (EST)
Message-ID: <ff8e48df-0439-4447-9253-aa65a908dc84@HIDDEN>
Date: Mon, 6 Jan 2025 03:55:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Matthias Meulien <orontee@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <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 (-)

On 05/01/2025 23:22, Matthias Meulien wrote:
> 
> I am not familiar with all grep options but I saw that:
> 
> ‘-I’
>       Process a binary file as if it did not contain matching data; this
>       is equivalent to the ‘--binary-files=without-match’ option.
> 
> Just tested
> 
>    (setq xref-search-program-alist '((grep . "xargs -0 grep <C> --null - 
> snHE -I -e <R>"))
> 
> and it works fine on my side.

Thanks, this is a solid proposal, but as per comment:

                  ;; TODO: Show these matches as well somehow?

we would probably want to print these weird matches as well, in the 
future. As you mention, search programs have a flag which avoids 
printing these matches, but in certain rare cases it might happen that a 
mostly text file is detected as binary - and then it seems preferable to 
print all of such matches in the buffer rather than ignore them. (Unless 
people disagree?)

And yeah, it's an old comment, so this improvement is not high on the 
list, but whenever we (I/you/anybody else) get around to implementing 
it, we'd have to change the default entries in xref-search-program-alist 
again - and these get customized by users over the years, which means 
not everybody would get the fix together with the package's or Emacs's 
update. So a fix using other means would be better if feasible.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 6 Jan 2025 01:32:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 05 20:32:33 2025
Received: from localhost ([127.0.0.1]:36068 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUbyq-000197-Jv
	for submit <at> debbugs.gnu.org; Sun, 05 Jan 2025 20:32:32 -0500
Received: from fout-b4-smtp.messagingengine.com ([202.12.124.147]:60227)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1tUbyo-00018t-EX
 for 75379 <at> debbugs.gnu.org; Sun, 05 Jan 2025 20:32:31 -0500
Received: from phl-compute-03.internal (phl-compute-03.phl.internal
 [10.202.2.43])
 by mailfout.stl.internal (Postfix) with ESMTP id 8AD32114017E;
 Sun,  5 Jan 2025 20:32:24 -0500 (EST)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-03.internal (MEProxy); Sun, 05 Jan 2025 20:32:24 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1736127144;
 x=1736213544; bh=g5sN/OxkiA+ZBveOMLyyxiK441053ptYOIHQ6TQyAlE=; b=
 JFagzylBeCo+MPZZHTsFf1Z6y8DrjlasTywyuTiXakcXyfTIVEzY/vAevzVAkqYp
 zyZHAipN8isqqKHbZqRZcrhevwqWERZclEPSDxRUcpsAYsjCCFrRaCCqG+znzubp
 mQ2rXFrk4hrgUbBdQaJtxr3qcp/ySobNkAN3WGxSN193FVaxqqOpo4/FwlTwOkRO
 SWGvq0bPOfv71CBt5a78bRjWZfPqW9I0bjp8hgOHV9seEfP0eGiFuk85ete7tQel
 FNNJzona3mfa39WLpoLSiGRoW2pVR4ojYX0E91HPNLqKy64GZ3X7n3UJwYEU8eqC
 sQ5GAxQkHpdb5L7hW/9x/Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1736127144; x=
 1736213544; bh=g5sN/OxkiA+ZBveOMLyyxiK441053ptYOIHQ6TQyAlE=; b=J
 OIz2AxbAD4yGA3StdzBnzzH62EBS4Kec51k+Kgq84ReJ7HhR7HliFLEf7qirCc84
 d67d3cldU7y3HkRcDrbhVjGoSEiN1aApxH+ZncZ5bLYa47T7U1ZuSWR0WTiZPOoL
 E4Er9giGhE+aMopsjuQgDcJKZfqxFYgx61IhD7/Om7ppSzN7QOdfB9DG4Ht1WKhB
 LtlMskDLImxjYc3yWdoIfjT5TZIcS93vXERoU6h36/NVgv7jsshZ/h86NnuCdeMb
 DYWD3D4Rtj4bLR74ASfvJgGEgnobQRALHirSO4dgcvTTRnVRvRpNZabhfuAkVAgi
 LiKXdjj5LaHt2ycWVQRwg==
X-ME-Sender: <xms:qDJ7ZzgFAsdcewAVhsZOy5xKfGKYvxaW9sOwUPh6h6omCZlBpy-qsA>
 <xme:qDJ7ZwClIjRQnXGU63ooJUmPiBWbcCD5aAhlZon0Di-nOAIHjioMeJFvnQ37PAQLl
 hQ-CNCeWmRyaDXcE-c>
X-ME-Received: <xmr:qDJ7ZzGZXmbRyjn5Y9GcEzt2QXjULRDanZPNkgivJ8kGlR8CU4jJDX_Ooa5EESOp2v1Y>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudefledgfeeiucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
 rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefkffggfg
 fuvfevfhfhjggtgfesthekredttddvjeenucfhrhhomhepffhmihhtrhihucfiuhhtohhv
 uceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtthgvrhhnpeegleefte
 ekgffhvdfhtdegveevveetteegteevgeettdehhfdukeetheffueekkeenucevlhhushht
 vghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumhhithhrhiesghhuth
 hovhdruggvvhdpnhgspghrtghpthhtohepvddpmhhouggvpehsmhhtphhouhhtpdhrtghp
 thhtohepohhrohhnthgvvgesghhmrghilhdrtghomhdprhgtphhtthhopeejheefjeelse
 guvggssghughhsrdhgnhhurdhorhhg
X-ME-Proxy: <xmx:qDJ7ZwSs-I-ucRGd90YlcA6VQqWw5KO5vuF-F4_rxZKBZchpf9CAug>
 <xmx:qDJ7ZwyaYP8zL8B58rDc6u6xVT6xWw_wU8Hh-2kltZJ0BwpcevHNiQ>
 <xmx:qDJ7Z277fnJykuAqzQ9v7viCRjkbhiD2diIgGptigWRfEMSErBsBXQ>
 <xmx:qDJ7Z1xz-3UVqxdEI1B9ivrKBdk2PuNff9_g_Sm0FnY0J8dJCU2JtQ>
 <xmx:qDJ7Z79cqF-o2gIGsdKMR07hveqFk5ELWTQZ5AhohfXZ_FEooFWTXJnS>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 5 Jan 2025 20:32:22 -0500 (EST)
Message-ID: <9e83141a-f870-463f-892f-1f8c1146a82a@HIDDEN>
Date: Mon, 6 Jan 2025 03:32:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Matthias Meulien <orontee@HIDDEN>
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN>
 <CAFEQCfCY3ZtfeUmnyrYH0c6KjWD37SjC2hFLdzOSoPLDiynpsA@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <CAFEQCfCY3ZtfeUmnyrYH0c6KjWD37SjC2hFLdzOSoPLDiynpsA@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <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 (-)

On 05/01/2025 23:10, Matthias Meulien wrote:
>     Thanks for the detailed report.
> 
> 
> You're welcome.
> 
> I feel a bit culprit since I lived with that bug for such a long time 
> and only started debugging today... Shame on me.

Late is certainly better than never.

>     (...) About using LANG specifically, any chance that it might
>     interfere with
>     the system's configured encoding, e.g. UTF-8 vs other? In your example,
>     does searching for accented characters work as well?
> 
> 
> Yes. I added LANG=C then checked succesfully that search succeed with 
> french guillemet «, accented letters é, ç, and non-breaking space.

Thanks, that's a good sign. Perhaps someone else with experience in 
process output encoding could confirm that this is generally a sane 
approach, one that shouldn't lead to fewer matches caused by encoding 
mismatch.

>     IIUC we can try LC_MESSAGES as the more specialized var. Does
>     LC_MESSAGES=en work as well?
> 
> 
> No. Matches in binary files make the search fail in that case.

Hmm, what about LC_MESSAGES=C?

If neither works, could you try that approach in the terminal? Does it 
result in French text anyway, meaning this variable doesn't affect the 
language in Grep?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 5 Jan 2025 21:30:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 05 16:30:14 2025
Received: from localhost ([127.0.0.1]:35581 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUYCM-0003gA-ES
	for submit <at> debbugs.gnu.org; Sun, 05 Jan 2025 16:30:14 -0500
Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]:57771)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <orontee@HIDDEN>) id 1tUYCK-0003bV-EG
 for 75379 <at> debbugs.gnu.org; Sun, 05 Jan 2025 16:30:13 -0500
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-aa66c1345caso450439466b.3
 for <75379 <at> debbugs.gnu.org>; Sun, 05 Jan 2025 13:30:12 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1736112606; x=1736717406; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=UP9ATejguYByPBW9gBFOYXKrHngTl9LrbvzqEime31U=;
 b=Mi5IR4uY9yhyEq5Gh+VoYJXxr3Bw0jZoIfKxSfl1W13rL6FHpnqjB7fDKTi08nfbob
 WNoivwJNS//X9LNRDlWDLurzD9B4rbM0B6EQzLNlbk94ibMkwrw9w81iwsYUjVceKrKQ
 Iy9UIQ25mTHeKbBiC0afd8J4becOvTky3wOJNI2uWB7J3BAr+bDRyfLMNRdXGWENxnHV
 x7YbJujLGUwICYvi6wyRaJhlyUAthkAi7/vER6TwAW/V3fnto4Mu0bBS1gSIAIsnHq8h
 iM5YWlqWkAYFBpNo8OTSUPPXGtZMm2NIxpP1A/1T4npIXO2YHyxJotHoEVyaiFKuJbiH
 U5Lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1736112606; x=1736717406;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=UP9ATejguYByPBW9gBFOYXKrHngTl9LrbvzqEime31U=;
 b=pAmeg0OStCXsfCFrCBrAnoaL1/gUVDogOYs7gikEVGQlCN+9qWCUqXI8JnztwCXvPc
 pRKa84iA/BkHX3oKXyircgUkSrgsNcHEMmrpDDiDF3sa5QM35z0AhmTr6K8S0pi9aQ6E
 qpTvivWWk6jimG93Y/Vy8/KUhgbe/H9hhZ50Lkw6IaAal7bF15sjksfTADgE4vo09qwx
 iG50o0hlqXjuJVxDP5nYR54+Luz4fgTiqZKQ2brI2CaB6a64JDE82dIzxpbzA/ohw/iS
 cQeGCnYiNm7fjJkjBh7wUjjpL2sA0bkph3DmijkLhcPgVty14jimlt/7aPxUXda9Gthh
 +iwg==
X-Forwarded-Encrypted: i=1;
 AJvYcCUYamvIoLWZCVd2bfav/LmdgMOzlMPDm6WCbYGZoYNvzt++1B3BPvz9J5YhiH9HeB1Idwy07w==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yxv3HYCxm1XtJ76mkjxciFtNMOTBR3/5bwqDJhv9ed790UfUgyS
 sArh+pmYxPg6FRTdN40joPjDsmPwaFrPkpaA8sIQ1kq254tmbzRo6HbKGzZuCBRyQOYMjR30RNF
 Zd6wZAmQcWUHq4dWdCEIGo4uOdgE=
X-Gm-Gg: ASbGncsKokO0pV4eI19eMBazbzfCoYV0y302wjr0GjlD/tBvcmA6HjjRk3UKxF0Q/dj
 vOgN9KGQFGUrvjvj+wDzJ17+2qxJFalzqHbJ/uHlYEhqMCAVSJBSlFfKVpBw/XVjKR0vBlA==
X-Google-Smtp-Source: AGHT+IGlf1Y1anZilQxt3Lk0tjTSC+Waih1nK2Ih93kLElXlzb8BQaS/mro0wqi5yC7k78RnuqTgi3EGP1L96BT6ZOI=
X-Received: by 2002:a17:906:6a1b:b0:aa6:8dcb:3657 with SMTP id
 a640c23a62f3a-aac335076e8mr6264772266b.36.1736112605830; Sun, 05 Jan 2025
 13:30:05 -0800 (PST)
MIME-Version: 1.0
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
In-Reply-To: <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
From: Matthias Meulien <orontee@HIDDEN>
Date: Sun, 5 Jan 2025 22:29:54 +0100
Message-ID: <CAFEQCfBQ4gbVWbjaNTKf-nVLEkUDOkCzLCeCkLtk2j3arK4pbQ@HIDDEN>
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000292a8c062afc3735"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: Dmitry Gutov <dmitry@HIDDEN>, 75379 <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 (-)

--000000000000292a8c062afc3735
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

And the rg (ripgrep) manual page says:

  By default, ripgrep attempts to automatically skip binary files in order
to improve the relevance of results and make the search  faster.

And ugrep support -I in with the same meaning as grep.

Thus I propose to add both -I to grep and ugrep, remove the processing of
search output for binary file messages, and extend doc string for users to
be aware that the behavior has (slightly) changed.

I can provide a patch in those lines if needed.

Le dim. 5 janv. 2025 =C3=A0 22:22, Matthias Meulien <orontee@HIDDEN> a =
=C3=A9crit :

> Can't we instead have a database of these messages, like we do with
>> the "password" prompts?
>>
>
> I am not familiar with all grep options but I saw that:
>
> =E2=80=98-I=E2=80=99
>      Process a binary file as if it did not contain matching data; this
>      is equivalent to the =E2=80=98--binary-files=3Dwithout-match=E2=80=
=99 option.
>
> Just tested
>
>   (setq xref-search-program-alist '((grep . "xargs -0 grep <C> --null
> -snHE -I -e <R>"))
>
> and it works fine on my side.
> --
> Matthias
>


--=20
Matthias

--000000000000292a8c062afc3735
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>And the rg (ripgrep) manual page says:<br></div><div>=
<br></div><div>=C2=A0 By default, ripgrep attempts to automatically skip bi=
nary files in order to improve the relevance of results and make the search=
=C2=A0 faster.</div><div><br></div><div>And ugrep support -I in with the sa=
me meaning as grep.</div><div><br></div><div>Thus I propose to add both -I =
to grep and ugrep, remove the processing of search output for binary file m=
essages, and extend doc string for users to be aware that the behavior has =
(slightly) changed.</div><div><br></div><div>I can provide a patch in those=
 lines if needed.<br></div></div><br><div class=3D"gmail_quote gmail_quote_=
container"><div dir=3D"ltr" class=3D"gmail_attr">Le=C2=A0dim. 5 janv. 2025 =
=C3=A0=C2=A022:22, Matthias Meulien &lt;<a href=3D"mailto:orontee@HIDDEN=
">orontee@HIDDEN</a>&gt; a =C3=A9crit=C2=A0:<br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_quote=
"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;borde=
r-left:1px solid rgb(204,204,204);padding-left:1ex">
Can&#39;t we instead have a database of these messages, like we do with<br>
the &quot;password&quot; prompts?<br>
</blockquote></div><div><br></div><div>I am not familiar with all grep opti=
ons but I saw that:<br></div><div><br></div><div>=E2=80=98-I=E2=80=99<br>=
=C2=A0 =C2=A0 =C2=A0Process a binary file as if it did not contain matching=
 data; this<br>=C2=A0 =C2=A0 =C2=A0is equivalent to the =E2=80=98--binary-f=
iles=3Dwithout-match=E2=80=99 option.<br></div><div><br></div><div>Just tes=
ted<br></div><div><br></div><div>=C2=A0 (setq xref-search-program-alist &#3=
9;((grep . &quot;xargs -0 grep &lt;C&gt; --null -snHE -I -e &lt;R&gt;&quot;=
))</div><div><br></div><div>and it works fine on my side.<br></div><span cl=
ass=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmai=
l_signature">Matthias</div></div>
</blockquote></div><div><br clear=3D"all"></div><br><span class=3D"gmail_si=
gnature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Ma=
tthias</div>

--000000000000292a8c062afc3735--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 5 Jan 2025 21:22:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 05 16:22:54 2025
Received: from localhost ([127.0.0.1]:35548 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUY5F-0003Cp-Mi
	for submit <at> debbugs.gnu.org; Sun, 05 Jan 2025 16:22:53 -0500
Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]:47384)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <orontee@HIDDEN>) id 1tUY5D-0003CU-Gy
 for 75379 <at> debbugs.gnu.org; Sun, 05 Jan 2025 16:22:51 -0500
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5d3d143376dso20260412a12.3
 for <75379 <at> debbugs.gnu.org>; Sun, 05 Jan 2025 13:22:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1736112165; x=1736716965; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=XSelC2bqT1mRk2Eq8g4k0Ks251qPiqT1wzNF+n37QxQ=;
 b=nK1Rb9rh6BP8XGESa4hseS+V88Rp27nzS7/Hf5/8Vi1knXAwcYSB+v4prT5vXaPd7e
 kKh3uQJmly1Hcz5R8sJYj8138Vtxw0OmKNcJyrRDcmZ/pudMw07i8DB7x/SBozotsihO
 zV77SdCkB5Nj/ynV6p8Y0mmOhAurGbWsZOdtZmS1RuOoq+pxyWERq7nDHXKY1hFkbxjw
 +/471Yv4P/+xRDOlXp7bSw09BoFGGtB84LG2fz50rN8IJ+gC/6EnLtdR9fJVNp4AXmBX
 5vjtP0qkLGUhqivJW/WSlNMeUoq+9OcOjn2yjoF2OrJUtG3eFRCd1qlrSKtokyiKB5YX
 PZaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1736112165; x=1736716965;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=XSelC2bqT1mRk2Eq8g4k0Ks251qPiqT1wzNF+n37QxQ=;
 b=OM+v3pDA/qvCn/R1vsF9KesEZ+pGr5htckxJiAbVum/iHW1c2+gPPNS9A2Weg0g5kk
 bt66aYiRIBpF+L5iKx9u1SqQFbj8hpE63IcmLhKNGIB+byKE2Pd5TpxXnzxRiVg3jbLQ
 cuWDdL0Lataqf/Ie4ezNvbgAgTEHUSXiIBcZT1DDhaznAyExZ/9KXyrP4n95XLw/WKx+
 4rADbBIn0oP4RjsvgR4Mo41gxQtOBmN8bvPyRW6EdqrdfC4qNzRvmUAeHbee5f3KuiIj
 ULcy5DQORpjQSkXKDzIJU+OfYdb/LQWp3ePhUn0MhEsMfbNxKpZnReFdV367+S9fYa1Y
 Uw/g==
X-Forwarded-Encrypted: i=1;
 AJvYcCXceCIi4n1stYtN/ZDS/ItBZHRAjdeY5OHBj3KyKTttZ3RPpuME1mUMttFRdm/8CJFOPkxc3A==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzJc1ScR7uqUYF0hKgdtNr9VM+e3i0aCRwacAbqjcjE6xqY2FBR
 eJGXfkTTCx4RPXpH+/X+uubl27c9iA6hpC9UW58Xb8o2rI2eDrhEleGt18f9uxIqDMWMgMNdG8n
 DyO/mjn/7P0yyye2ewtK61qT0M2DBBkvx
X-Gm-Gg: ASbGnctO4gzG/PvOWHyoK4FN6xg7HiJZBb5gdZJ04mtDXRYGLbPnZnZdrf2bHLWlD4/
 Wkc1pZhsjaRL3/oSyTmu4e4PpKAiCLMESKWAeIrl+FH9pAfRUVt9ovnbjE+VAeaW4atwGvA==
X-Google-Smtp-Source: AGHT+IHCjbBukbTDPmzBm5oAAvSprgdDNxNmKAE6W9pKvlPLjff+Uudyj75vKrBorHDYbGWeJXQ5UybBQCRTc4TuDQk=
X-Received: by 2002:a17:907:97c6:b0:aa6:a9fe:46e5 with SMTP id
 a640c23a62f3a-aac3366afbdmr5038049466b.53.1736112164899; Sun, 05 Jan 2025
 13:22:44 -0800 (PST)
MIME-Version: 1.0
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
In-Reply-To: <86jzb96qul.fsf@HIDDEN>
From: Matthias Meulien <orontee@HIDDEN>
Date: Sun, 5 Jan 2025 22:22:33 +0100
Message-ID: <CAFEQCfA+Osd=PyHpqFq77c5ik=B6=WPvxro0Rndq-9PPMPjh2Q@HIDDEN>
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000e11d06062afc1cfa"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: Dmitry Gutov <dmitry@HIDDEN>, 75379 <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 (-)

--000000000000e11d06062afc1cfa
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

>
> Can't we instead have a database of these messages, like we do with
> the "password" prompts?
>

I am not familiar with all grep options but I saw that:

=E2=80=98-I=E2=80=99
     Process a binary file as if it did not contain matching data; this
     is equivalent to the =E2=80=98--binary-files=3Dwithout-match=E2=80=99 =
option.

Just tested

  (setq xref-search-program-alist '((grep . "xargs -0 grep <C> --null -snHE
-I -e <R>"))

and it works fine on my side.
--=20
Matthias

--000000000000e11d06062afc1cfa
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_quote gmail_quote_container"><blockquo=
te class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px =
solid rgb(204,204,204);padding-left:1ex">
Can&#39;t we instead have a database of these messages, like we do with<br>
the &quot;password&quot; prompts?<br>
</blockquote></div><div><br></div><div>I am not familiar with all grep opti=
ons but I saw that:<br></div><div><br></div><div>=E2=80=98-I=E2=80=99<br>=
=C2=A0 =C2=A0 =C2=A0Process a binary file as if it did not contain matching=
 data; this<br>=C2=A0 =C2=A0 =C2=A0is equivalent to the =E2=80=98--binary-f=
iles=3Dwithout-match=E2=80=99 option.<br></div><div><br></div><div>Just tes=
ted<br></div><div><br></div><div>=C2=A0 (setq xref-search-program-alist &#3=
9;((grep . &quot;xargs -0 grep &lt;C&gt; --null -snHE -I -e &lt;R&gt;&quot;=
))</div><div><br></div><div>and it works fine on my side.<br></div><span cl=
ass=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmai=
l_signature">Matthias</div></div>

--000000000000e11d06062afc1cfa--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 5 Jan 2025 21:11:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 05 16:11:16 2025
Received: from localhost ([127.0.0.1]:35514 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUXtz-0002cb-2V
	for submit <at> debbugs.gnu.org; Sun, 05 Jan 2025 16:11:16 -0500
Received: from mail-ej1-x635.google.com ([2a00:1450:4864:20::635]:49341)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <orontee@HIDDEN>) id 1tUXtw-0002cA-8m
 for 75379 <at> debbugs.gnu.org; Sun, 05 Jan 2025 16:11:13 -0500
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-aaecf50578eso191835466b.2
 for <75379 <at> debbugs.gnu.org>; Sun, 05 Jan 2025 13:11:12 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1736111466; x=1736716266; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=mCAXVqckD6IVUI1wYpqPlNEVWcWzn4Sa/698KNc62fc=;
 b=DoKMrWZjwT4Zh+LbnqWdimA79ZIEnNM7Yy76yk9+clTrfpkU05HpYK+SLDusun+M2I
 6us3NkAw8fkBDDstuuDj2HfpNEJUyZM+9g2Wl1KebUDnc+T8nDmwMfhTzP+Q7WPZ3fH/
 O8uTs1iSE39GRVJmMA9abxlDVbSPMKTCLqQdGbHZ2757/sTrOetPGHgyKtCTjamyiqGl
 4RjBguybh39l73Vh/H5YQf4iFgCOq9rshE+irYlFf0nlqdk5lT35C2HBw+vw/R5aF2G4
 Ut14RexPbUb+b9xJjaXWCMzBQ7dyxJV7w7tlLc1wWOxCS1LC2sKEAb1Fs3qvmZXx/lgP
 AEOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1736111466; x=1736716266;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=mCAXVqckD6IVUI1wYpqPlNEVWcWzn4Sa/698KNc62fc=;
 b=q8IN0OaXNSqbKYuLvMvs6XOdogsXRzVwy8HgNdlKZvkRpWEOBHdCJ1YKUMLXGsgO1f
 60IofooVw9mrNzG2bmV8uizervIHqFBBYh0AT3/00PfN48V/OdynxkVuDooEaSBw9wKj
 WVoCNv1SFjIYh3SaNpx91QAKKcLiz0t0qbEZXnoDNbke/jPo2sfzaLxFdl6iTBRIqORS
 RpLwK5A7BPSg3VQ8YNN73ZL0bDkY8R/HS3lTxA5J4WKKcCuR+K5eoogVHNABp0QmBY4v
 6rkcybRE6g4mkkCdKzVDy/5ID2EVp77eq7CCyZ1AvvQ56QwwDFh4GQmIktPkVIxIGUY1
 MpPQ==
X-Gm-Message-State: AOJu0Ywu8O/sVAD0b93slYZopNXPkKRiQ6wY5WXfhpEtAmw+0Jk/g37p
 MalZUhbG1CObYMhh5XAiMJzcnPRL0Nj5y3vi+2lvYNlVezSOK89NYdfiIldfU3PTLTZfilDBPjg
 i9c8T3IWtU8XT1Ln9lChUBtgj/0k=
X-Gm-Gg: ASbGnctory2leGQt6OA1eVIThKYGFeLekEK5j2HfqDFrUcmkmmCX39mx4NyVmfVI13P
 gbD6d/cu/A9CTMzJC8iRv+x/66XRfs76EPMfrYVqWXL4iySFXj38zlS+//C4VjWYq+54pIA==
X-Google-Smtp-Source: AGHT+IF9pu7c0lbyd67FCD266PmBUavrEyWELlQP4SOWvR5ScQWv+Z5fECeg0vZti69Mvhsi211mSI73cWC2xp5KyZc=
X-Received: by 2002:a17:906:4fce:b0:aa6:519c:ef9a with SMTP id
 a640c23a62f3a-aac3366afa5mr5347232466b.53.1736111465353; Sun, 05 Jan 2025
 13:11:05 -0800 (PST)
MIME-Version: 1.0
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN>
In-Reply-To: <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN>
From: Matthias Meulien <orontee@HIDDEN>
Date: Sun, 5 Jan 2025 22:10:53 +0100
Message-ID: <CAFEQCfCY3ZtfeUmnyrYH0c6KjWD37SjC2hFLdzOSoPLDiynpsA@HIDDEN>
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Dmitry Gutov <dmitry@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000002ed63d062afbf3f4"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <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 (-)

--0000000000002ed63d062afbf3f4
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

> Thanks for the detailed report.
>

You're welcome.

I feel a bit culprit since I lived with that bug for such a long time and
only started debugging today... Shame on me.

(...) About using LANG specifically, any chance that it might interfere
> with
> the system's configured encoding, e.g. UTF-8 vs other? In your example,
> does searching for accented characters work as well?
>

Yes. I added LANG=3DC then checked succesfully that search succeed with
french guillemet =C2=AB, accented letters =C3=A9, =C3=A7, and non-breaking =
space.


> IIUC we can try LC_MESSAGES as the more specialized var. Does
> LC_MESSAGES=3Den work as well?
>

No. Matches in binary files make the search fail in that case.
--=20
Matthias

--0000000000002ed63d062afbf3f4
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_quote gmail_quote_container"><div>=C2=
=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Thanks for the detailed report.<br></blockquote><div><br></div><div>You&#39=
;re welcome.</div><div><br></div><div>I feel a bit culprit since I lived wi=
th  that bug for such a long time and only started debugging today... Shame=
 on me.<br></div><div><br></div><blockquote class=3D"gmail_quote" style=3D"=
margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-lef=
t:1ex">
(...) About using LANG specifically, any chance that it might interfere wit=
h <br>
the system&#39;s configured encoding, e.g. UTF-8 vs other? In your example,=
 <br>
does searching for accented characters work as well?<br></blockquote><div><=
br></div><div>Yes. I added LANG=3DC then checked succesfully that search su=
cceed with french guillemet=C2=A0=C2=AB, accented letters =C3=A9, =C3=A7, a=
nd non-breaking space. </div><div>=C2=A0</div><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,20=
4);padding-left:1ex">
IIUC we can try LC_MESSAGES as the more specialized var. Does <br>
LC_MESSAGES=3Den work as well?<br></blockquote><div><br></div><div>No. Matc=
hes in binary files make the search fail in that case.</div></div><span cla=
ss=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail=
_signature">Matthias</div></div>

--0000000000002ed63d062afbf3f4--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 5 Jan 2025 20:16:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 05 15:16:29 2025
Received: from localhost ([127.0.0.1]:35385 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUX2z-0007W5-3Y
	for submit <at> debbugs.gnu.org; Sun, 05 Jan 2025 15:16:29 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:36616)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tUX2w-0007Vl-PW
 for 75379 <at> debbugs.gnu.org; Sun, 05 Jan 2025 15:16:27 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1tUX2q-0001AD-RK; Sun, 05 Jan 2025 15:16:20 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=m/eoWHi7rSIgq/fECmvSmZrofDgnO7e05GbrXD+ddvI=; b=PB1rrDUWJNQr
 /VTSXO9YyEJxwd+IxmnVgBmxkyh/KNavVvgZEAPzs9V8ZG51Kt5kruuVhVbWedZCtTOXdGjU3o0+n
 2riw3SotbgC8D2A1kymg3eC/rjbaDtjeTRccovhS1p62otGWXuofS0TzKoX/78mOPrDDcPK3a0ZgS
 Qn04qTImVyt9+YzvyX43FF4LH1empg1NbhjOVi2GKmnJciEJkLbkhOOxUh95+QVS4nImMGdZ53Hef
 r2rzDng/yVIW69dZWwmYXBWTg7UiSQNgzSxLl/n6ms9esOOmfVTZREw6G9DoIvrk6kdkH9yi70ddX
 IpWxAECC/xzxgtYQTsQefQ==;
Date: Sun, 05 Jan 2025 22:16:17 +0200
Message-Id: <86a5c56mpa.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <69ecb6ff-e670-4945-a9d4-82edc4c5f088@HIDDEN> (message from
 Dmitry Gutov on Sun, 5 Jan 2025 21:35:56 +0200)
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
 <69ecb6ff-e670-4945-a9d4-82edc4c5f088@HIDDEN>
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <at> debbugs.gnu.org, orontee@HIDDEN
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: -2.6 (--)

> Date: Sun, 5 Jan 2025 21:35:56 +0200
> Cc: orontee@HIDDEN, 75379 <at> debbugs.gnu.org
> From: Dmitry Gutov <dmitry@HIDDEN>
> 
> On 05/01/2025 20:46, Eli Zaretskii wrote:
> >> Date: Sun, 5 Jan 2025 20:03:34 +0200
> >> From: Dmitry Gutov <dmitry@HIDDEN>
> >>
> >> Overriding the language seems indeed the way to go here.
> >>
> >> About using LANG specifically, any chance that it might interfere with
> >> the system's configured encoding, e.g. UTF-8 vs other? In your example,
> >> does searching for accented characters work as well?
> >>
> >> IIUC we can try LC_MESSAGES as the more specialized var. Does
> >> LC_MESSAGES=en work as well?
> > 
> > Please note that this doesn't work on Windows.
> > 
> > First, the Windows locale-dependent routines don't heed environment
> > variables, so setting LANG etc. in the environment will only do what
> > you expect if the program in question was either explicitly programmed
> > to pay attention to those variables or was linked with Gnulib
> > replacements for locale functions.
> > 
> > And second LC_MESSAGES is not supported by Windows locales at all.
> 
> Okay, but first of all, do Grep or Ripgrep use different localizations 
> on Windows, not just English?

For Grep, it depends on how it was configured when building.  The
default configuration uses gettext to translate messages, and this
message is marked as translated.

For Ripgrep, I don't know.

> If yes, is there a way to force locale at least for these ports?

I'm not sure, and I don't have a port here that supports translations
which I could test.  The only hope is if recent versions of Grep are
built in a way that does honor the environment variables, because the
Unix trick of saying "locale=FOO grep ..." doesn't work on Windows:
the locale is a global user-level setting.

Does someone who uses Windows have Grep built with gettext, and could
try setting the various locale-related environment variables?

> > Can't we instead have a database of these messages, like we do with
> > the "password" prompts?
> 
> Like the one is 'password-word-equivalents'? It seems like the approach 
> of last resort. But if nothing else will work...

Agree.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 5 Jan 2025 19:36:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 05 14:36:08 2025
Received: from localhost ([127.0.0.1]:35319 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUWPw-0005P8-D6
	for submit <at> debbugs.gnu.org; Sun, 05 Jan 2025 14:36:08 -0500
Received: from fhigh-b8-smtp.messagingengine.com ([202.12.124.159]:34019)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1tUWPu-0005OX-5R
 for 75379 <at> debbugs.gnu.org; Sun, 05 Jan 2025 14:36:06 -0500
Received: from phl-compute-02.internal (phl-compute-02.phl.internal
 [10.202.2.42])
 by mailfhigh.stl.internal (Postfix) with ESMTP id B03B7254012F;
 Sun,  5 Jan 2025 14:36:00 -0500 (EST)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-02.internal (MEProxy); Sun, 05 Jan 2025 14:36:00 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1736105760;
 x=1736192160; bh=1bODyJtwxbk9UVTmWH2bk4IXli8V1PprwB2l7XMYat8=; b=
 aWpx/gMDl+dSmXf1pwJxIaAEPBJwRIYBCG1gVABa/3C2SFRyWiqJWfkiODs7hwcC
 h0RKpHGgOKoCDVoGcSTj9sKNsLEDRBXUInT4wjEnOk5dhBo8Xvfpyc5UStCH/fWZ
 KKeh9iQPT8hM7afRjpa28aznNy21yZ6LQO3RV2AR2wSCay+lYJFZrlCJTiGhPJ0k
 sSXL0qfL0BNe3FKKgvKfgNZpjkRFNAVReTQjh2moSaULpcE/kxKeP5jFHvasEQzf
 wjJIR0rHuc0y5lbgqJWaL+023ki+US+iqmMCbpxZnb84hvT55XVvvBUZbGJ2iwjd
 lG429rLeetu0+GHVbJtOIQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1736105760; x=
 1736192160; bh=1bODyJtwxbk9UVTmWH2bk4IXli8V1PprwB2l7XMYat8=; b=g
 U5hlphurkTfN4iEJfb50r0WzPHraUkyuToE8HWVYXJZStfEP4D/hkxQYWoQP5oCK
 XXs832HsQ4Xtu8h89ekeF+wN0gMZnqEnJXWhITNw4b3v659uhZewd3yIWhBO5t1l
 BMRkXs0H2VPpVtCgF8JUqiAz3bSsluZNIN6svN2ROXjazD2VmC+Mbq6Ko86wDRt1
 b+6GGBWvtJWsd8bObzvQlIqTvxBd20XR99pJFcKUEMuLlHfRHgcx2oiZrWtsBuxr
 8B6Wl9E22h/pHigDoavrw+aKiVr2egCm2Wu5ZzF9JibZktNhaZbGz8wiSkEdI+qd
 Oopthc8ZYG5rw3XgjPHVg==
X-ME-Sender: <xms:IN96Z5JdA8OwhIGZip6HU9ai-qn7fKSaq3afAzdz9qomZfhMzScAUg>
 <xme:IN96Z1IfDjWpgDptykzy39nfwDkrr615s4N6Kk_tOZgeoGIAo8MBnyd7ic6sM60KQ
 cu__Ooy2UVhSICbJBU>
X-ME-Received: <xmr:IN96ZxtaHzrE8qSAIvY59JJVlP1SbnETwmhyfQ3uZzx1g5DgA1fWLaafWp-d2YfRde9t>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudefkedguddvkecutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp
 uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg
 hnthhsucdlqddutddtmdenucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddv
 jeenucfhrhhomhepffhmihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrd
 guvghvqeenucggtffrrghtthgvrhhnpeetudeljeegheetgfehgeejkeeuhedvveeikeeu
 fedtvddtveefhfdvveegudejheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh
 epmhgrihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvhdpnhgspghrtghpthht
 ohepfedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepvghlihiisehgnhhurdhorh
 hgpdhrtghpthhtohepohhrohhnthgvvgesghhmrghilhdrtghomhdprhgtphhtthhopeej
 heefjeelseguvggssghughhsrdhgnhhurdhorhhg
X-ME-Proxy: <xmx:IN96Z6YLFapB92YVHY6MtDXhTJ581SUxYQYWNP1ryS97xp3drMrdEw>
 <xmx:IN96ZwbeuEBKkoEcfjAjnwez6CtWqvtoWrWGt0EiTT1JY6vFM-QveQ>
 <xmx:IN96Z-CInghHdL0x385MfvKGN3Y4oR_79cRGrCmI5PpNJQ-3gGhBhw>
 <xmx:IN96Z-YYl_sl6coKDwlSlBnQIOe8CY-IwkMdRSMl2FaKCx3YMwFpgg>
 <xmx:IN96Z4Eqe2EyY8OjowSwyTsF-bjg6rhYfrotyxNJ0m06fJGGq9VhWlHV>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 5 Jan 2025 14:35:58 -0500 (EST)
Message-ID: <69ecb6ff-e670-4945-a9d4-82edc4c5f088@HIDDEN>
Date: Sun, 5 Jan 2025 21:35:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Eli Zaretskii <eliz@HIDDEN>
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> <86jzb96qul.fsf@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <86jzb96qul.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <at> debbugs.gnu.org, orontee@HIDDEN
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 (-)

On 05/01/2025 20:46, Eli Zaretskii wrote:
>> Date: Sun, 5 Jan 2025 20:03:34 +0200
>> From: Dmitry Gutov <dmitry@HIDDEN>
>>
>> Overriding the language seems indeed the way to go here.
>>
>> About using LANG specifically, any chance that it might interfere with
>> the system's configured encoding, e.g. UTF-8 vs other? In your example,
>> does searching for accented characters work as well?
>>
>> IIUC we can try LC_MESSAGES as the more specialized var. Does
>> LC_MESSAGES=en work as well?
> 
> Please note that this doesn't work on Windows.
> 
> First, the Windows locale-dependent routines don't heed environment
> variables, so setting LANG etc. in the environment will only do what
> you expect if the program in question was either explicitly programmed
> to pay attention to those variables or was linked with Gnulib
> replacements for locale functions.
> 
> And second LC_MESSAGES is not supported by Windows locales at all.

Okay, but first of all, do Grep or Ripgrep use different localizations 
on Windows, not just English?

If yes, is there a way to force locale at least for these ports?

> Can't we instead have a database of these messages, like we do with
> the "password" prompts?

Like the one is 'password-word-equivalents'? It seems like the approach 
of last resort. But if nothing else will work...




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 5 Jan 2025 18:47:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 05 13:47:10 2025
Received: from localhost ([127.0.0.1]:35214 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUVeY-0002iL-9Y
	for submit <at> debbugs.gnu.org; Sun, 05 Jan 2025 13:47:10 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:54442)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tUVeW-0002hx-Cw
 for 75379 <at> debbugs.gnu.org; Sun, 05 Jan 2025 13:47:08 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1tUVeR-0001zb-0p; Sun, 05 Jan 2025 13:47:03 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=1hvrlD1qvN9Nyr39U1MGC0tV4Td19hCedpVLK6qLJqc=; b=mcAruLTLzkNV
 6bimzhLsH1DUfrBi4XZ4ra1Wo86KbEYOQwtvw49yV9Mowv3QSfP3yBP6kSHUYBzwzN96GFqjVOmDy
 gFqv3FMvx5ZAu1L2qjxWxe2LSE4CIn5a/icop1yVObjpSUTK/LM/Iks10CRUjPyUg07Ad37ZfNgfA
 dJcWp3xKHe+vHI7EKsxTl4ZEPlRx4+irHGrcNlfLTj3CyyXc7KclJK0Zl8Z9ahi7Iu65n9O3cS0Or
 wt1HBy6YrmQAMCfYGGRctOvdv/1+G5DNpce+16H87JdQq3ScSrZy+5D9z3rt0FfKniE8oAlj3Jx+6
 1nKu3WkPw+0nkWsWsz5tUA==;
Date: Sun, 05 Jan 2025 20:46:42 +0200
Message-Id: <86jzb96qul.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN> (message from
 Dmitry Gutov on Sun, 5 Jan 2025 20:03:34 +0200)
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
 <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN>
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: 75379
Cc: 75379 <at> debbugs.gnu.org, orontee@HIDDEN
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: -2.6 (--)

> Date: Sun, 5 Jan 2025 20:03:34 +0200
> From: Dmitry Gutov <dmitry@HIDDEN>
> 
> Overriding the language seems indeed the way to go here.
> 
> About using LANG specifically, any chance that it might interfere with 
> the system's configured encoding, e.g. UTF-8 vs other? In your example, 
> does searching for accented characters work as well?
> 
> IIUC we can try LC_MESSAGES as the more specialized var. Does 
> LC_MESSAGES=en work as well?

Please note that this doesn't work on Windows.

First, the Windows locale-dependent routines don't heed environment
variables, so setting LANG etc. in the environment will only do what
you expect if the program in question was either explicitly programmed
to pay attention to those variables or was linked with Gnulib
replacements for locale functions.

And second LC_MESSAGES is not supported by Windows locales at all.

Can't we instead have a database of these messages, like we do with
the "password" prompts?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at 75379 <at> debbugs.gnu.org:


Received: (at 75379) by debbugs.gnu.org; 5 Jan 2025 18:03:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 05 13:03:47 2025
Received: from localhost ([127.0.0.1]:35096 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUUyZ-0000NK-FY
	for submit <at> debbugs.gnu.org; Sun, 05 Jan 2025 13:03:47 -0500
Received: from fhigh-b8-smtp.messagingengine.com ([202.12.124.159]:37965)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1tUUyW-0000Mz-QA
 for 75379 <at> debbugs.gnu.org; Sun, 05 Jan 2025 13:03:45 -0500
Received: from phl-compute-03.internal (phl-compute-03.phl.internal
 [10.202.2.43])
 by mailfhigh.stl.internal (Postfix) with ESMTP id E4E33254012F;
 Sun,  5 Jan 2025 13:03:38 -0500 (EST)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-03.internal (MEProxy); Sun, 05 Jan 2025 13:03:38 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :content-transfer-encoding:content-type:content-type:date:date
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1736100218;
 x=1736186618; bh=351eHcJjjzbgmbSzEkjnsroGdrGoRt4qDZeXQfWrinw=; b=
 Xs4hMhgEXOUs7myLXyDKdbTSJ8klrJkw824UwfCnrRR5eskpJFeSGkdarigxzb3H
 RSRaOn3nLorPS8hmI2xeBCyEYNyYzLCuq9A7r3AtaVk9QQ5htkM/FrCCcdJ/uQtY
 6NP4S3shsceAcXEf1rDsqPZrSeIe0K+Q+mdYP7FkRYwLzeAui4plld3FpN2lUJ+r
 5n7NlKskLVVXtXygW/4A3mM9Xw16gRlHvsCArHTJrk7Yvatw+Lp6lim1vrNZL6tC
 MsNCeoB0hJ3kzG5+bvtzTdKzTw78JAfOqLjU42mmmpdOWOq19GYNy/g7pvDTQsTQ
 42K72EQJFIdegEVx5DavRQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:content-type
 :content-type:date:date:feedback-id:feedback-id:from:from
 :in-reply-to:in-reply-to:message-id:mime-version:references
 :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender
 :x-me-sender:x-sasl-enc; s=fm2; t=1736100218; x=1736186618; bh=3
 51eHcJjjzbgmbSzEkjnsroGdrGoRt4qDZeXQfWrinw=; b=jOQhpcGy+yG7ZtzJf
 h5LFbputxIMQTnOfcsn65Lkf+SbxkzPS4jLnBGTjreVl/wFcupAo5k9YxFGuzSWM
 +b9q+mjNgjPYo1t6vu/jT2pCxCl/xIWNHXw1CGmr42bwfQsdIDojTW94V0I7EemZ
 EmDtiTmjpYcLQzRZHAHbIk0gOVWICMUptVn6lrajXRm95CufNekCEovyzoDz7Dr8
 TL1BSH61dYfD6bbOKJNXtfU+oFa0Snvrpqbu1jwMtQPohYXj962D8BdTz6xuwqtI
 pbdMBvjwwEygRO0e0XLQjMuVUbKWvKx4dUMwysF2fSCJXdukHbBMzqqDtwvqlFoz
 U8FJA==
X-ME-Sender: <xms:ecl6Z6_W97TgXKKFoIYU6WQQo7PdUtT82Gsz3vXmbBofrTm0aASElA>
 <xme:ecl6Z6u-satsiKnAcl-livUm0u0JtyVR-bdFpirNA-n6bVTMbXLuAPXq99JifXNp5
 k2zsQBPuvE6d-3kVlc>
X-ME-Received: <xmr:ecl6ZwApANNSkfs4ybY9GmbBsK9e_LgrydCPw0aSo-Yh_-6AdtdIO3lyheFmnF0sS6Pw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrudefkedguddtkecutefuodetggdotefrod
 ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp
 uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecunecujfgurhepkfffgg
 gfuffvfhfhjggtgfesthekredttddvjeenucfhrhhomhepffhmihhtrhihucfiuhhtohhv
 uceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtthgvrhhnpeehkeeftd
 evteekheehffektdffveefffeileelhffggeeuhfdtkeefueeviedugfenucffohhmrghi
 nhepghhithhhuhgsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe
 hmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghvpdhnsggprhgtphhtthho
 pedvpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehorhhonhhtvggvsehgmhgrih
 hlrdgtohhmpdhrtghpthhtohepjeehfeejleesuggvsggsuhhgshdrghhnuhdrohhrgh
X-ME-Proxy: <xmx:ecl6Zyfhygzob0MwlA7uv58bWzm3S9Bm_nHJcCmOCRY9IxOUy2tbHQ>
 <xmx:ecl6Z_Or4lbgrajph2mNgkAWDxtjmKRZWk0ETssth-w3y7-9jg5qIQ>
 <xmx:ecl6Z8kk6mOh1jQqH6yPoNl_L_Sp5AFbSZOf8aJX11x8aiIENBUzBw>
 <xmx:ecl6ZxvRp5G04gfIx89omRNq7wVGDC_PyJstpyfjCM1jyCfgG1LqdA>
 <xmx:esl6Z4Yk7n-TpuSV5XMhjGx57UFWolCE26mVu3Gt1qmQY5DlcVVUOxHx>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 5 Jan 2025 13:03:37 -0500 (EST)
Message-ID: <c107a04d-3748-40b3-85ab-10bfd168dea6@HIDDEN>
Date: Sun, 5 Jan 2025 20:03:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#75379: 30.0.93; project-find-regexp expects "C" or "en" locale
To: Matthias Meulien <orontee@HIDDEN>, 75379 <at> debbugs.gnu.org
References: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 75379
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 (-)

Hi!

On 05/01/2025 12:35, Matthias Meulien wrote:
> 1. Make sure you have a Git repository with binary files containing say
>    the "copyright" word; One can clone
> https://github.com/orontee/lesmotsdugene/ <https://github.com/orontee/ 
> lesmotsdugene/> for example.
> 
> 2. Start Emacs using a locale different from "C" or other English based
> locales, for example "fr_FR.UTF8":
> 
>     LANG=fr_FR.UTF8 emacs -Q
> 
> 3. Then call `project-find-regexp' in the the Git repository identified
>    in step 1, and search for the word "copyright"; There's no results but
>    the following error message:
> 
>    xref-matches-in-files: Search failed with status 0: grep: content/ 
> images/planche_1.png : fichiers binaires correspondent
> 
> If Emacs is started with "C" locale, then there are results!

Thanks for the detailed report.

> The problem comes from `xref-matches-in-files', precisely this block
> where `grep' output has been hardcoded even if depending on the locale:
> 
>    (when (and (/= (point-min) (point-max))
>                     (not (looking-at grep-re))
>                     ;; TODO: Show these matches as well somehow?
>                     ;; Matching both Grep's and Ripgrep 13's messages.
>                     (not (looking-at ".*[bB]inary file.* matches")))
>            (user-error "Search failed with status %d: %s" status
>                        (buffer-substring (point-min) (line-end-position))))
> 
> As quick fix one cas use:
> 
> (map-do (lambda (key val)
>   (map-put xref-search-program-alist
>    key (concat "LANG=C " val)))
> xref-search-program-alist)

Overriding the language seems indeed the way to go here.

About using LANG specifically, any chance that it might interfere with 
the system's configured encoding, e.g. UTF-8 vs other? In your example, 
does searching for accented characters work as well?

IIUC we can try LC_MESSAGES as the more specialized var. Does 
LC_MESSAGES=en work as well?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 5 Jan 2025 10:35:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 05 05:35:59 2025
Received: from localhost ([127.0.0.1]:60034 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tUNzB-0002E8-Sp
	for submit <at> debbugs.gnu.org; Sun, 05 Jan 2025 05:35:58 -0500
Received: from lists.gnu.org ([2001:470:142::17]:38116)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <orontee@HIDDEN>) id 1tUNz9-0002Dq-9I
 for submit <at> debbugs.gnu.org; Sun, 05 Jan 2025 05:35:56 -0500
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 <orontee@HIDDEN>) id 1tUNz3-00024Z-Vm
 for bug-gnu-emacs@HIDDEN; Sun, 05 Jan 2025 05:35:50 -0500
Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <orontee@HIDDEN>) id 1tUNz0-0006I7-Ss
 for bug-gnu-emacs@HIDDEN; Sun, 05 Jan 2025 05:35:49 -0500
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-aaee2c5ee6eso1494640966b.1
 for <bug-gnu-emacs@HIDDEN>; Sun, 05 Jan 2025 02:35:45 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1736073343; x=1736678143; darn=gnu.org;
 h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
 :date:message-id:reply-to;
 bh=1mFf355Fwe84zH+wSYUtfVZ6nJBqic2P++eie5WeSfA=;
 b=VY8SCUe5Ycl/rbG68x9cIRKTv2TyaM0dsSr25aZRveIOy+ys2o3Wcdeci1ocAVPFQH
 NkgBOMgWB5wro1J6+gV0KF3TRafEbnGjp5gPQcp5GXQmK7fHGIOKTMcImcAUcr8XTrlk
 MmVH8lf2d2Ciq2ruJVV74XrJCeHPjzJAyWW9xo7iCtl3Kg2UeK+3jgxory7Ys9xnTbAU
 L8Cb2ufqvse2hA+k4yk7x+J6SDZ8yWTeOT/ts6S1KwV7tN6J1fUWYxW4O2qGCdZwLKoK
 h/5+H94Vn4ZVq8wTcpsdcb9HUBVn1pfAl8zSfjHZN/SxV3WX5DhdTiXtn0waOEkJbcjR
 900Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1736073343; x=1736678143;
 h=to:subject:message-id:date:from:mime-version:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=1mFf355Fwe84zH+wSYUtfVZ6nJBqic2P++eie5WeSfA=;
 b=Wn6E5rcQqD9ifnGGvJjiOWy7MvfaO7vEea9vl9u2+sPg/Q+0OoStZz86vOyK3sooDO
 3SpmPcjNGNAfxoin6XLKbdnGRfIiBC9BNlvz2JaeTAjwqV1dnfc3rUUWzNfdxQkV4XC8
 S/mzMYLdEEnGW4PqG7kNW3EepKwSKtgKUgfIiLKheSKHtpyzsfivbUmVthwsB4F0RM3V
 8uNp+2DGVVQ2dcoljPvTApLCy16PY1IIWPvhzebTGrvawgok0TDyU6q2cnMR5E5i/ciL
 2L78UI69zg5rfI9SyTvJgl0aTCoMfk2lsAQl2ZoGyDtu+ayFXwQ35eMtMwINDzFirwGs
 df9Q==
X-Gm-Message-State: AOJu0Yxx5s+ELBw7N28wnCHvV2MilaWdIkTTUiwfUBwponv2p3Z+8L/0
 x8FnH7MDcr7uLTVfMcZa4cpMuG0DliwjCteXQLTOeteM8VPCCCI/f3yq8QFwDTxEF4CtTDCvf8x
 iHYajV5NP0sfGpU98hh4WiqWHpOHjZtxI
X-Gm-Gg: ASbGncvTi1nf+lS7ix/wkETbM5CtKzeBzdCsanJ4Qj/iF/pkKU2ts1BzcHrDxP6T+5a
 hBF3jkQacvtzK8Z1Gcrv50jyLUSvrg2qB7WR6zOFX1U/pxPBYJIZjtnNW9fyoZr4fb4aLsw==
X-Google-Smtp-Source: AGHT+IGsqGtQ9q/hVJEiikuUPfZ/Dp6a71ZA1vZIWz99OLJ+MaqaKqTRufunQwkJBojAe0H3G9ZM6ywlShZl4H945Nk=
X-Received: by 2002:a17:907:d8f:b0:aa6:ac9b:6822 with SMTP id
 a640c23a62f3a-aac2713132cmr4019176366b.12.1736073341959; Sun, 05 Jan 2025
 02:35:41 -0800 (PST)
MIME-Version: 1.0
From: Matthias Meulien <orontee@HIDDEN>
Date: Sun, 5 Jan 2025 11:35:31 +0100
Message-ID: <CAFEQCfDBh3aCWppdN+XoTcFVWrPYqB_GqWyOBXcA5xcj4pXu4Q@HIDDEN>
Subject: 30.0.93; project-find-regexp expects "C" or "en" locale
To: bug-gnu-emacs@HIDDEN
Content-Type: multipart/alternative; boundary="000000000000da08db062af31243"
Received-SPF: pass client-ip=2a00:1450:4864:20::633;
 envelope-from=orontee@HIDDEN; helo=mail-ej1-x633.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, FREEMAIL_FROM=0.001,
 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-Spam-Score: 1.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: -0.0 (/)

--000000000000da08db062af31243
Content-Type: text/plain; charset="UTF-8"

1. Make sure you have a Git repository with binary files containing say
  the "copyright" word; One can clone
  https://github.com/orontee/lesmotsdugene/ for example.

2. Start Emacs using a locale different from "C" or other English based
locales, for example "fr_FR.UTF8":

   LANG=fr_FR.UTF8 emacs -Q

3. Then call `project-find-regexp' in the the Git repository identified
  in step 1, and search for the word "copyright"; There's no results but
  the following error message:

  xref-matches-in-files: Search failed with status 0: grep:
content/images/planche_1.png : fichiers binaires correspondent

If Emacs is started with "C" locale, then there are results!

The problem comes from `xref-matches-in-files', precisely this block
where `grep' output has been hardcoded even if depending on the locale:

  (when (and (/= (point-min) (point-max))
                   (not (looking-at grep-re))
                   ;; TODO: Show these matches as well somehow?
                   ;; Matching both Grep's and Ripgrep 13's messages.
                   (not (looking-at ".*[bB]inary file.* matches")))
          (user-error "Search failed with status %d: %s" status
                      (buffer-substring (point-min) (line-end-position))))

As quick fix one cas use:

(map-do (lambda (key val)
 (map-put xref-search-program-alist
  key (concat "LANG=C " val)))
xref-search-program-alist)




In GNU Emacs 30.0.93 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.38, cairo version 1.16.0) of 2025-01-01 built on peitho
Repository revision: 7acfea19358da3a02e5884f5e7d56c87d7b16616
Repository branch: emacs-30
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
 'configure --with-pgtk CFLAGS=-O3'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY
INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB

Important settings:
  value of $LANG: fr_FR.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Markdown

Minor modes in effect:
  highlight-changes-visible-mode: t
  goto-address-mode: t
  pulsar-global-mode: t
  pulsar-mode: t
  breadcrumb-mode: t
  breadcrumb-local-mode: t
  outline-minor-mode: t
  guess-language-mode: t
  flyspell-mode: t
  desktop-save-mode: t
  spacious-padding-mode: t
  savehist-mode: t
  server-mode: t
  pixel-scroll-precision-mode: t
  save-place-mode: t
  electric-pair-mode: t
  global-corfu-mode: t
  corfu-mode: t
  marginalia-mode: t
  vertico-mode: t
  global-display-fill-column-indicator-mode: t
  global-so-long-mode: t
  global-auto-revert-mode: t
  auto-insert-mode: t
  remember-notes-mode: t
  which-key-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-layout-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  context-menu-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  window-divider-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:
/home/matthias/.config/emacs/elpa/which-key-20240620.2145/which-key hides
/usr/local/share/emacs/30.0.93/lisp/which-key
/home/matthias/.config/emacs/elpa/modus-themes-20241228.1050/theme-loaddefs
hides /usr/local/share/emacs/30.0.93/lisp/theme-loaddefs

Features:
(shadow sort mail-extr emacsbug mm-archive network-stream url-cache
debbugs-gnu add-log debbugs soap-client url-http url-auth url-gw nsm
debbugs-compat tabify cus-start pcmpl-unix pcmpl-gnu edebug etags
fileloop bug-reference quail misearch multi-isearch cl-print tramp-cache
time-stamp shortdoc rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid
rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn
nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-enc xmltok generic
dired-aux mhtml-mode css-mode js sgml-mode facemenu find-dired ffap
help-fns radix-tree vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs
log-view pcvs-util mule-util vc-dir vc hl-line display-line-numbers
hilit-chg goto-addr oc-basic org-element org-persist org-id org-refile
org-element-ast inline avl-tree generator ol-eww eww url-queue mm-url
ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015
mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku
url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml
gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int
gnus-range message sendmail yank-media puny rfc822 mml mml-sec epa epg
rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231
rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus
nnheader gnus-util mail-utils range mm-util mail-prsvr ol-docview
doc-view jka-compr image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m
ol-doi org-link-doi org ob ob-tangle ob-ref ob-lob ob-table ob-exp
org-macro org-src sh-script smie executable ob-comint org-pcomplete
org-list org-footnote org-faces org-entities ob-emacs-lisp ob-core
ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc
org-loaddefs cal-menu calendar cal-loaddefs org-version org-compat
org-macs pulsar eglot external-completion jsonrpc xref flymake ert ewoc
debug backtrace breadcrumb pulse imenu peitho-custom cus-edit cus-load
wid-edit dired-x dired dired-loaddefs grep reftex reftex-loaddefs
reftex-vars tex-mode compile markdown-mode edit-indirect color sql view
thingatpt scheme info-look python project pcase c++-ts-mode c-ts-mode
c-ts-common treesit skeleton find-file gdb-mi bindat gud noutline
outline ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help
ediff-init ediff-util smerge-mode diff vc-git diff-mode track-changes
vc-dispatcher glasses whitespace guess-language flyspell find-func
ispell comp comp-cstr cl-extra warnings comp-run comp-common desktop
frameset spacious-padding modus-vivendi-tritanopia-theme
modus-vivendi-deuteranopia-theme modus-vivendi-tinted-theme
modus-vivendi-theme modus-operandi-tritanopia-theme
modus-operandi-deuteranopia-theme modus-operandi-tinted-theme
modus-operandi-theme modus-themes savehist server bookmark
text-property-search pp pixel-scroll cua-base time tar-mode arc-mode
archive-mode saveplace tramp-sh tramp trampver tramp-integration files-x
tramp-message help-mode tramp-compat xdg shell pcomplete comint ansi-osc
ring parse-time iso8601 time-date format-spec ansi-color tramp-loaddefs
elec-pair corfu marginalia vertico compat easy-mmode
display-fill-column-indicator so-long autorevert filenotify autoinsert
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs generic-x derived remember diminish which-key face-remap
CMake-doc-autoloads Python-doc-autoloads breadcrumb-autoloads
cmake-mode-autoloads consult-autoloads corfu-autoloads debbugs-autoloads
devhelp-autoloads diminish-autoloads edit-indirect-autoloads
git-link-autoloads gnu-elpa-keyring-update-autoloads
guess-language-autoloads marginalia-autoloads markdown-mode-autoloads
meson-mode-autoloads modus-themes-autoloads nginx-mode-autoloads
powershell-autoloads pulsar-autoloads restclient-autoloads
rfc-mode-autoloads info spacious-padding-autoloads speechd-el-autoloads
systemd-autoloads rx tldr-autoloads vertico-autoloads
which-key-autoloads package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie generate-lisp-file
url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt
gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl
tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win
touch-screen pgtk-dnd 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 dynamic-setting system-font-setting
font-render-setting cairo gtk pgtk lcms2 multi-tty move-toolbar
make-network-process native-compile emacs)

Memory information:
((conses 16 1437487 391817) (symbols 48 45565 30)
 (strings 32 242916 64728) (string-bytes 1 8371886) (vectors 16 86880)
 (vector-slots 8 1873292 92379) (floats 8 5893 1984)
 (intervals 56 42369 288) (buffers 992 95))

-- 
Matthias

--000000000000da08db062af31243
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>1. Make sure you have a Git repository with binary fi=
les containing say<br>=C2=A0 the &quot;copyright&quot; word; One can clone<=
br>=C2=A0 <a href=3D"https://github.com/orontee/lesmotsdugene/">https://git=
hub.com/orontee/lesmotsdugene/</a> for example.<br><br>2. Start Emacs using=
 a locale different from &quot;C&quot; or other English based<br>locales, f=
or example &quot;fr_FR.UTF8&quot;:<br><br>=C2=A0 =C2=A0LANG=3Dfr_FR.UTF8 em=
acs -Q<br><br>3. Then call `project-find-regexp&#39; in the the Git reposit=
ory identified<br>=C2=A0 in step 1, and search for the word &quot;copyright=
&quot;; There&#39;s no results but<br>=C2=A0 the following error message:<b=
r><br>=C2=A0 xref-matches-in-files: Search failed with status 0: grep: cont=
ent/images/planche_1.png : fichiers binaires correspondent<br><br>If Emacs =
is started with &quot;C&quot; locale, then there are results!<br><br>The pr=
oblem comes from `xref-matches-in-files&#39;, precisely this block<br>where=
 `grep&#39; output has been hardcoded even if depending on the locale:<br><=
br>=C2=A0 (when (and (/=3D (point-min) (point-max))<br>=C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(not (looking-at grep-re))=
<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;;=
 TODO: Show these matches as well somehow?<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; Matching both Grep&#39;s and Ri=
pgrep 13&#39;s messages.<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0(not (looking-at &quot;.*[bB]inary file.* matches&q=
uot;)))<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (user-error &quot;Search fail=
ed with status %d: %s&quot; status<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (buffer-substring (point-min) (li=
ne-end-position))))<br><br>As quick fix one cas use:<br><br>(map-do (lambda=
 (key val)<br>	 =C2=A0(map-put xref-search-program-alist<br>		 =C2=A0 key (=
concat &quot;LANG=3DC &quot; val)))<br>	xref-search-program-alist)<br><br><=
br><br><br>In GNU Emacs 30.0.93 (build 1, x86_64-pc-linux-gnu, GTK+ Version=
<br>=C2=A03.24.38, cairo version 1.16.0) of 2025-01-01 built on peitho<br>R=
epository revision: 7acfea19358da3a02e5884f5e7d56c87d7b16616<br>Repository =
branch: emacs-30<br>System Description: Debian GNU/Linux 12 (bookworm)<br><=
br>Configured using:<br>=C2=A0&#39;configure --with-pgtk CFLAGS=3D-O3&#39;<=
br><br>Configured features:<br>ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS =
GPM GSETTINGS HARFBUZZ JPEG<br>LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M=
ODULES NATIVE_COMP NOTIFY<br>INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQ=
LITE3 THREADS TIFF<br>TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB<br=
><br>Important settings:<br>=C2=A0 value of $LANG: fr_FR.UTF-8<br>=C2=A0 va=
lue of $XMODIFIERS: @im=3Dibus<br>=C2=A0 locale-coding-system: utf-8-unix<b=
r><br>Major mode: Markdown<br><br>Minor modes in effect:<br>=C2=A0 highligh=
t-changes-visible-mode: t<br>=C2=A0 goto-address-mode: t<br>=C2=A0 pulsar-g=
lobal-mode: t<br>=C2=A0 pulsar-mode: t<br>=C2=A0 breadcrumb-mode: t<br>=C2=
=A0 breadcrumb-local-mode: t<br>=C2=A0 outline-minor-mode: t<br>=C2=A0 gues=
s-language-mode: t<br>=C2=A0 flyspell-mode: t<br>=C2=A0 desktop-save-mode: =
t<br>=C2=A0 spacious-padding-mode: t<br>=C2=A0 savehist-mode: t<br>=C2=A0 s=
erver-mode: t<br>=C2=A0 pixel-scroll-precision-mode: t<br>=C2=A0 save-place=
-mode: t<br>=C2=A0 electric-pair-mode: t<br>=C2=A0 global-corfu-mode: t<br>=
=C2=A0 corfu-mode: t<br>=C2=A0 marginalia-mode: t<br>=C2=A0 vertico-mode: t=
<br>=C2=A0 global-display-fill-column-indicator-mode: t<br>=C2=A0 global-so=
-long-mode: t<br>=C2=A0 global-auto-revert-mode: t<br>=C2=A0 auto-insert-mo=
de: t<br>=C2=A0 remember-notes-mode: t<br>=C2=A0 which-key-mode: t<br>=C2=
=A0 tooltip-mode: t<br>=C2=A0 global-eldoc-mode: t<br>=C2=A0 eldoc-mode: t<=
br>=C2=A0 show-paren-mode: t<br>=C2=A0 electric-layout-mode: t<br>=C2=A0 el=
ectric-indent-mode: t<br>=C2=A0 mouse-wheel-mode: t<br>=C2=A0 tab-bar-mode:=
 t<br>=C2=A0 file-name-shadow-mode: t<br>=C2=A0 context-menu-mode: t<br>=C2=
=A0 global-font-lock-mode: t<br>=C2=A0 font-lock-mode: t<br>=C2=A0 blink-cu=
rsor-mode: t<br>=C2=A0 window-divider-mode: t<br>=C2=A0 minibuffer-regexp-m=
ode: t<br>=C2=A0 line-number-mode: t<br>=C2=A0 indent-tabs-mode: t<br>=C2=
=A0 transient-mark-mode: t<br>=C2=A0 auto-composition-mode: t<br>=C2=A0 aut=
o-encryption-mode: t<br>=C2=A0 auto-compression-mode: t<br><br>Load-path sh=
adows:<br>/home/matthias/.config/emacs/elpa/which-key-20240620.2145/which-k=
ey hides /usr/local/share/emacs/30.0.93/lisp/which-key<br>/home/matthias/.c=
onfig/emacs/elpa/modus-themes-20241228.1050/theme-loaddefs hides /usr/local=
/share/emacs/30.0.93/lisp/theme-loaddefs<br><br>Features:<br>(shadow sort m=
ail-extr emacsbug mm-archive network-stream url-cache<br>debbugs-gnu add-lo=
g debbugs soap-client url-http url-auth url-gw nsm<br>debbugs-compat tabify=
 cus-start pcmpl-unix pcmpl-gnu edebug etags<br>fileloop bug-reference quai=
l misearch multi-isearch cl-print tramp-cache<br>time-stamp shortdoc rng-xs=
d xsd-regexp rng-cmpct rng-nxml rng-valid<br>rng-loc rng-uri rng-parse nxml=
-parse rng-match rng-dt rng-util rng-pttrn<br>nxml-ns nxml-mode nxml-outln =
nxml-rap nxml-util nxml-enc xmltok generic<br>dired-aux mhtml-mode css-mode=
 js sgml-mode facemenu find-dired ffap<br>help-fns radix-tree vc-hg vc-bzr =
vc-src vc-sccs vc-svn vc-cvs vc-rcs<br>log-view pcvs-util mule-util vc-dir =
vc hl-line display-line-numbers<br>hilit-chg goto-addr oc-basic org-element=
 org-persist org-id org-refile<br>org-element-ast inline avl-tree generator=
 ol-eww eww url-queue mm-url<br>ol-rmail ol-mhe ol-irc ol-info ol-gnus nnse=
lect gnus-art mm-uu mml2015<br>mm-view mml-smime smime gnutls dig gnus-sum =
shr pixel-fill kinsoku<br>url-file svg dom gnus-group gnus-undo gnus-start =
gnus-dbus dbus xml<br>gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-s=
pec gnus-int<br>gnus-range message sendmail yank-media puny rfc822 mml mml-=
sec epa epg<br>rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse =
rfc2231<br>rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-=
win gnus<br>nnheader gnus-util mail-utils range mm-util mail-prsvr ol-docvi=
ew<br>doc-view jka-compr image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m<br=
>ol-doi org-link-doi org ob ob-tangle ob-ref ob-lob ob-table ob-exp<br>org-=
macro org-src sh-script smie executable ob-comint org-pcomplete<br>org-list=
 org-footnote org-faces org-entities ob-emacs-lisp ob-core<br>ob-eval org-c=
ycle org-table ol org-fold org-fold-core org-keys oc<br>org-loaddefs cal-me=
nu calendar cal-loaddefs org-version org-compat<br>org-macs pulsar eglot ex=
ternal-completion jsonrpc xref flymake ert ewoc<br>debug backtrace breadcru=
mb pulse imenu peitho-custom cus-edit cus-load<br>wid-edit dired-x dired di=
red-loaddefs grep reftex reftex-loaddefs<br>reftex-vars tex-mode compile ma=
rkdown-mode edit-indirect color sql view<br>thingatpt scheme info-look pyth=
on project pcase c++-ts-mode c-ts-mode<br>c-ts-common treesit skeleton find=
-file gdb-mi bindat gud noutline<br>outline ediff ediff-merg ediff-mult edi=
ff-wind ediff-diff ediff-help<br>ediff-init ediff-util smerge-mode diff vc-=
git diff-mode track-changes<br>vc-dispatcher glasses whitespace guess-langu=
age flyspell find-func<br>ispell comp comp-cstr cl-extra warnings comp-run =
comp-common desktop<br>frameset spacious-padding modus-vivendi-tritanopia-t=
heme<br>modus-vivendi-deuteranopia-theme modus-vivendi-tinted-theme<br>modu=
s-vivendi-theme modus-operandi-tritanopia-theme<br>modus-operandi-deuterano=
pia-theme modus-operandi-tinted-theme<br>modus-operandi-theme modus-themes =
savehist server bookmark<br>text-property-search pp pixel-scroll cua-base t=
ime tar-mode arc-mode<br>archive-mode saveplace tramp-sh tramp trampver tra=
mp-integration files-x<br>tramp-message help-mode tramp-compat xdg shell pc=
omplete comint ansi-osc<br>ring parse-time iso8601 time-date format-spec an=
si-color tramp-loaddefs<br>elec-pair corfu marginalia vertico compat easy-m=
mode<br>display-fill-column-indicator so-long autorevert filenotify autoins=
ert<br>cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-eng=
ine<br>cc-vars cc-defs generic-x derived remember diminish which-key face-r=
emap<br>CMake-doc-autoloads Python-doc-autoloads breadcrumb-autoloads<br>cm=
ake-mode-autoloads consult-autoloads corfu-autoloads debbugs-autoloads<br>d=
evhelp-autoloads diminish-autoloads edit-indirect-autoloads<br>git-link-aut=
oloads gnu-elpa-keyring-update-autoloads<br>guess-language-autoloads margin=
alia-autoloads markdown-mode-autoloads<br>meson-mode-autoloads modus-themes=
-autoloads nginx-mode-autoloads<br>powershell-autoloads pulsar-autoloads re=
stclient-autoloads<br>rfc-mode-autoloads info spacious-padding-autoloads sp=
eechd-el-autoloads<br>systemd-autoloads rx tldr-autoloads vertico-autoloads=
<br>which-key-autoloads package browse-url url url-proxy url-privacy<br>url=
-expand url-methods url-history url-cookie generate-lisp-file<br>url-domsuf=
 url-util mailcap url-handlers url-parse auth-source cl-seq<br>eieio eieio-=
core cl-macs icons password-cache json subr-x map byte-opt<br>gv bytecomp b=
yte-compile url-vars cl-loaddefs cl-lib rmc iso-transl<br>tooltip cconv eld=
oc paren electric uniquify ediff-hook vc-hooks<br>lisp-float-type elisp-mod=
e mwheel term/pgtk-win pgtk-win term/common-win<br>touch-screen pgtk-dnd to=
ol-bar dnd fontset image regexp-opt fringe<br>tabulated-list replace newcom=
ment text-mode lisp-mode prog-mode register<br>page tab-bar menu-bar rfn-es=
hadow isearch easymenu timer select<br>scroll-bar mouse jit-lock font-lock =
syntax font-core term/tty-colors<br>frame minibuffer nadvice seq simple cl-=
generic indonesian philippine<br>cham georgian utf-8-lang misc-lang vietnam=
ese tibetan thai tai-viet lao<br>korean japanese eucjp-ms cp51932 hebrew gr=
eek romanian slovak czech<br>european ethiopic indian cyrillic chinese comp=
osite emoji-zwj charscript<br>charprop case-table epa-hook jka-cmpr-hook he=
lp abbrev obarray oclosure<br>cl-preloaded button loaddefs theme-loaddefs f=
aces cus-face macroexp<br>files window text-properties overlay sha1 md5 bas=
e64 format env<br>code-pages mule custom widget keymap hashtable-print-read=
able backquote<br>threads dbusbind inotify dynamic-setting system-font-sett=
ing<br>font-render-setting cairo gtk pgtk lcms2 multi-tty move-toolbar<br>m=
ake-network-process native-compile emacs)<br><br>Memory information:<br>((c=
onses 16 1437487 391817) (symbols 48 45565 30)<br>=C2=A0(strings 32 242916 =
64728) (string-bytes 1 8371886) (vectors 16 86880)<br>=C2=A0(vector-slots 8=
 1873292 92379) (floats 8 5893 1984)<br>=C2=A0(intervals 56 42369 288) (buf=
fers 992 95))<br></div><br><span class=3D"gmail_signature_prefix">-- </span=
><br><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_sig=
nature">Matthias</div></div>

--000000000000da08db062af31243--




Acknowledgement sent to Matthias Meulien <orontee@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#75379; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sun, 12 Jan 2025 05:45:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.