GNU bug report logs - #63744
28.2; fix dired-guess-default

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: Leo Liu <sdl.web@HIDDEN>; Keywords: patch; dated Sat, 27 May 2023 04:11:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Added tag(s) patch. Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at submit) by debbugs.gnu.org; 2 Jun 2023 04:29:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 02 00:29:01 2023
Received: from localhost ([127.0.0.1]:38773 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q4wPN-00012k-1T
	for submit <at> debbugs.gnu.org; Fri, 02 Jun 2023 00:29:01 -0400
Received: from lists.gnu.org ([209.51.188.17]:50212)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q4wPL-00012c-IA
 for submit <at> debbugs.gnu.org; Fri, 02 Jun 2023 00:29:00 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q4wPL-0003pC-Cf
 for bug-gnu-emacs@HIDDEN; Fri, 02 Jun 2023 00:28:59 -0400
Received: from ciao.gmane.io ([116.202.254.214])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q4wPJ-00013l-2P
 for bug-gnu-emacs@HIDDEN; Fri, 02 Jun 2023 00:28:59 -0400
Received: from list by ciao.gmane.io with local (Exim 4.92)
 (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q4wPF-0001Fo-Ti
 for bug-gnu-emacs@HIDDEN; Fri, 02 Jun 2023 06:28:53 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: bug-gnu-emacs@HIDDEN
From: Leo Liu <sdl.web@HIDDEN>
Subject: Re: bug#63744: 28.2; fix dired-guess-default
Date: Fri, 02 Jun 2023 12:28:30 +0800
Message-ID: <m1leh2v66p.fsf@HIDDEN>
References: <m1h6ry2z4o.fsf@HIDDEN> <838rdajmkk.fsf@HIDDEN>
 <m1cz2l2n73.fsf@HIDDEN> <83jzwthsx5.fsf@HIDDEN>
 <87bkhysosy.fsf@HIDDEN>
Mime-Version: 1.0
Content-Type: text/plain
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (macOS 11.7.7)
Cancel-Lock: sha1:sJgddBkw/1VSnq1UAdvs6rCU9ZA=
Face: iVBORw0KGgoAAAANSUhEUgAAACkAAAApAQAAAACAGz1bAAABKElEQVQYlWNg3NIt5FDPUPt7
 4+X79Qyucz5/ugik+L2PBgKpyphaIK921q23QDnG0NBQoMr/vaWl9f8ZLL78uPv5PwN7RETfzXoG
 jhmFz27XM0RXmpuY/WfY+fv0Mc56BvFybfXA/wwL5t/wF61n2PU59axXPcOVzbmSW/8zrNt1benC
 /ww70hqUU/4zKCtrT9jwn8FhwynbufUMendE2aLqGRpdX9al1zM8eh17lKeeQcTMrdD5P8P3j/YT
 Q/8zXHSb7p1Qz/C4OM2JuZ7hgtI7K6AjqsMnf8j4z8C6xG1tw3+GqpqvsVn/GTzmpD9j/8/wP/oZ
 S/l/Bka+QO/g/wy15ueeFQL9N1O8mPU/g+umV3t1gdT0/1bTgHLqYVeXAlWKpMWt+w8Az82C9nHf
 X0cAAAAASUVORK5CYII=
Received-SPF: pass client-ip=116.202.254.214;
 envelope-from=geb-bug-gnu-emacs@HIDDEN; helo=ciao.gmane.io
X-Spam_score_int: 5
X-Spam_score: 0.5
X-Spam_bar: /
X-Spam_report: (0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001,
 FORGED_GMAIL_RCVD=1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001,
 HEADER_FROM_DIFFERENT_DOMAINS=0.249, NML_ADSP_CUSTOM_MED=0.9,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -0.1 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.1 (-)

On 2023-06-02 02:14 +0200, Michael Heerdegen wrote:
> So, Leo, is it ok for you to do that?
>
> Michael.

Yes, that's no problem at all. But I was wondering if we could do a
little more for Emacs 30. For example should the CDR of each element
just be a function? And do you have other suggestions? Thanks.





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

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


Received: (at 63744) by debbugs.gnu.org; 2 Jun 2023 00:14:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 01 20:14:51 2023
Received: from localhost ([127.0.0.1]:38668 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q4sRL-0000Ac-Ki
	for submit <at> debbugs.gnu.org; Thu, 01 Jun 2023 20:14:51 -0400
Received: from mout.web.de ([212.227.17.11]:41735)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael_heerdegen@HIDDEN>) id 1q4sRI-0000AM-F0
 for 63744 <at> debbugs.gnu.org; Thu, 01 Jun 2023 20:14:46 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de;
 s=s29768273; t=1685664878; x=1686269678; i=michael_heerdegen@HIDDEN;
 bh=9holMtdMUwOp5q1iMTCDHroUXz2R33q6Aqq18gFJvQE=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=sdX20ZiL9NWJcF9iVvpnMqJ4kmG7Zk+pz7Y6rTTP5qg6IRWQbc7ajeI8gUZQu2q2pn7HPG0
 piMy8rWoI/qOcMYTvDvHjZWQUYn0S2p2ClF6JstdpH+DGI1Bs1XLeY6QbmSCowtUFROBEoN63
 soMd8DD7yqMGTlrMqOuYE8Z0N5AJm8yUp3osGTYPNEsQ6pI6OlM0ZmTtPD9RGuS3zuqpv4M7/
 lBXif6WUxnZ3XBt9tr22CBB+lsdNiGD6qMJkwpYHpS0vdeb+ljQErcAJ+QbTG3o/0NJkp69rr
 gT0larPqqv8DSjM7ULj7P6wYOaCXMHQ9DmrGFB9RqW0uUOKRxd/g==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
Received: from drachen.dragon ([178.14.74.62]) by smtp.web.de (mrweb106
 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MK56y-1pmnqt47cU-00LfDw; Fri, 02
 Jun 2023 02:14:38 +0200
From: Michael Heerdegen <michael_heerdegen@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63744: 28.2; fix dired-guess-default
In-Reply-To: <83jzwthsx5.fsf@HIDDEN> (Eli Zaretskii's message of "Sun, 28 May
 2023 09:27:34 +0300")
References: <m1h6ry2z4o.fsf@HIDDEN> <838rdajmkk.fsf@HIDDEN>
 <m1cz2l2n73.fsf@HIDDEN> <83jzwthsx5.fsf@HIDDEN>
Date: Fri, 02 Jun 2023 02:14:37 +0200
Message-ID: <87bkhysosy.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:4R9f2ihfpa7G8IlXUZgmkQnS5p0PglivsHFNMWfuWIfS9TAqELb
 s0S2J1C1gvoCNJ0QjvTJ5sfl1Sv19fdYF93hGKWSYwbNMfDxBHm/YXlKd1bc1BRDobNhECS
 PlUZiQ8YEq+r32vkRluTxUO/Tj6ZoN7czE9Rw7XZqMNF9c4qYx793/am7XESx+pFyaqp/ly
 BtQSzGoMc12cezHKATw2g==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:BkbGTl51gwo=;dJ4W9k6u4wSC+z4h67lbzrymtBq
 5irU8ppeUc4L5tfZlYNKM6EpSj1hae/RKE2flC1isG8lASInGKqPAfNN1WiqecinNHW9HwZLt
 w5eg4UKBONIDMZv69nuA7AT0a7aCmzbGStw3cXq9YtE1SY6/kx0+Y5CPKgxkkToWwYFPY4D7t
 JPE6n00z586ZABvc9YMCgIR9SCmq8RevVRH0pi4W/KKWqxsewgpfLg7iSu2Oiuex1v4Z0nUTI
 ari2HmdYu2532fMF+rzuSC2d8guGtWhj1Ut2C8aFxiUN2O4TvxmkeSuDAQfJIPi3g7V95VYzy
 O3P3l7wEyTUyOu5Kb724vPXJmnT+WUK3f3/Ad6NIpRCnZnhuVfyzKp10K/uvLxu+Vm/yd2Prh
 RgeE177cZQDiTTxYsmeEoTuR33gRG8Bopl+mlc7Q9Fyynqx9LtWEkNR+S/qsKzhjAKWVR0j1L
 YzMetOqYjYSn9KR6gUXm4Z16mE1s4Xxzt9MEbOc385lW/+NzMoYzpYETAdhGL8eGF9wJSk7h+
 teOWbeWnbZqAY40jxSJ84jdpaxGhF25CJKtfblB/CIU3CdF/YeHG2Y+GBqnaOm/0O1DesFCa+
 ZgMDrVZWkGtqCu57ec9xztQKA2YK5XTgMRPDaZk+X012qvMcZw4RQmCITpywgA25DKtYgMTcN
 1AWM5/Hg9EBapCRCOkTjll38uPrBlM3Zg4lyumUVOzo24xvkP2Qw0WWKnH7vg0iAFm5PjFQYI
 lkl4adq5E4Z/8ch8Xay45VCBRQP9W9TM6RPZvp66oDFVuFjx4KfBv1/XYbztiVJCYr7/JCoyj
 mfdEOM/IK2i9sE+1YMYYQPyjTqrYM0VMjE05RIXa/XnzyyFTUZ/1gOO1Le7ccYrIKdpM1BkdZ
 yhahXjBOpdDGFzddOmeZd1HuB84Wm3PSyU/Y3MUzE4JFuUCCDksLII6UUc0sR0ubUajXp+ZRs
 WWpSAg==
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63744
Cc: 63744 <at> debbugs.gnu.org, Leo Liu <sdl.web@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 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

> [...] but I have nothing against such an extension.  However, it's too
> late for such extensions on the emacs-29 release branch, so it could
> only go to master, for Emacs 30.  And it should be properly
> documented, of course.

So, Leo, is it ok for you to do that?

Michael.




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

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


Received: (at 63744) by debbugs.gnu.org; 30 May 2023 02:35:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 29 22:35:39 2023
Received: from localhost ([127.0.0.1]:59522 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3pD0-0000mO-Pn
	for submit <at> debbugs.gnu.org; Mon, 29 May 2023 22:35:39 -0400
Received: from eggs.gnu.org ([209.51.188.92]:45042)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q3pCz-0000m9-Bs
 for 63744 <at> debbugs.gnu.org; Mon, 29 May 2023 22:35:37 -0400
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 1q3pCt-0003Hy-Qw; Mon, 29 May 2023 22:35:31 -0400
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=m5BfSZgpJ0w/UVAxi6L6tr9NNOieCOuxk1uNBndVl1A=; b=cd6PS2Ku642B
 WEyQlZs84NMJY1vaPj90Fi9AlNJSGndS5mvFgqPTJJs9u0PwN8/oQRJ3chinlZHLZU1ERWnlaVf00
 lonstqAB2zLM1N6MVW6+h0x+RcniWRgs1DfFJuBAWryNCL0sjhUu6Yo1IWOuIY4ZyWuU/phuBiyi1
 GNVjDIOr15Arb2YVEQYWoyJvTftYMajdNdzhXjClSqn8LmD2v9vFBn2XvNiQ80jaRb51bIPRbvNxH
 8+WSkIvY+jFAtyBys/+FzY1wVfCU/Cv9YTfV9eZihKePghGeN3EcC6VzrPnxV+Co+6gQqklatq32X
 Mn0qKIG39NxkRT33jD9bGw==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3pCt-0004QD-7p; Mon, 29 May 2023 22:35:31 -0400
Date: Tue, 30 May 2023 05:36:11 +0300
Message-Id: <83353eh7fo.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Michael Heerdegen <michael_heerdegen@HIDDEN>
In-Reply-To: <87pm6i4qfa.fsf@HIDDEN> (message from Michael Heerdegen on Tue,
 30 May 2023 02:24:25 +0200)
Subject: Re: bug#63744: 28.2; fix dired-guess-default
References: <m1h6ry2z4o.fsf@HIDDEN> <838rdajmkk.fsf@HIDDEN>
 <m1cz2l2n73.fsf@HIDDEN> <83jzwthsx5.fsf@HIDDEN>
 <87fs7g53rx.fsf@HIDDEN> <83sfbfgx2v.fsf@HIDDEN>
 <m1bki3hudv.fsf@HIDDEN> <834jnvgfh2.fsf@HIDDEN> <87pm6i4qfa.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63744
Cc: 63744 <at> debbugs.gnu.org, sdl.web@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: -3.3 (---)

> From: Michael Heerdegen <michael_heerdegen@HIDDEN>
> Cc: Leo Liu <sdl.web@HIDDEN>,  63744 <at> debbugs.gnu.org
> Date: Tue, 30 May 2023 02:24:25 +0200
> 
> then you meant to recompute the variable's value every time the user wants
> to open a file with dired?

No, every time the situation changes in a way that requires its
recomputation.  I don't have a clear idea when that happens, but if
the REGEXP part is ".", it is clear to me it happens quite often
already, since the list of commands for a given file depends on the
file, and "." does not.

> It's a defcustom so Emacs should not change the value at all.

We are talking about user customizations.  A user can make his/her
customizations change the value as often as needed.

> And recomputing the whole value every time is much slower than computing
> a list of defaults for one class of files matched by the regexp.

That is not Leo's use case, AFAICT: the list of commands is
dynamically recomputed when needed anyway.

> The conditions that need to be checked are very different for
> different file types in a typical scenario, and the suggested design
> is more efficient: first look at the file type by matching the RE
> part, then decide, at the moment of user request, what applications
> are appropriate for this type of file (and only for this type) in
> this moment.

Like I said: I'm not against extending the value to support this, I
just don't see how this could be considered an urgent bugfix that must
be done in Emacs 29, that's all.




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

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


Received: (at 63744) by debbugs.gnu.org; 30 May 2023 00:24:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 29 20:24:35 2023
Received: from localhost ([127.0.0.1]:59470 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3nAA-0005n4-RS
	for submit <at> debbugs.gnu.org; Mon, 29 May 2023 20:24:35 -0400
Received: from mout.web.de ([212.227.17.11]:49167)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael_heerdegen@HIDDEN>) id 1q3nA8-0005ms-Gf
 for 63744 <at> debbugs.gnu.org; Mon, 29 May 2023 20:24:33 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de;
 s=s29768273; t=1685406266; x=1686011066; i=michael_heerdegen@HIDDEN;
 bh=CQXewthhTfBW8mV6ZNXaosFTChwpW6k8lPCbku+Xgw0=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=NzQjP5ruG7LY1jqafJOqOS//YjElenfw+CV09Dkl2WeY5VDcROZM8ToL/fFKnPnDleiijOX
 1pVxfC5+gXyDd6r2SqKka5QQctvs/PYqj43T2wNjN8ys+GoqCFfn+f0SbCTmK4mTrP4uQV70r
 M11xt4E17kgFxT0BFMSRnxRuYIGYD42DWoxcSnJYq3kfJA6b9GIVMy/FgGRLz/a6ifFr9zwIj
 xFEk6uO8rEJVAQRuE5Dz0QLO0bYIXaScU9nHRWoYQ7X11/WQ1ZM+NAaN3QYmOGS3vES/0Tvmj
 3klfbT8MWzlQlBk7X7iRwMZ6w+yQ3aR+V3Bf5HEkgtlJS5UPQV4Q==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
Received: from drachen.dragon ([178.14.74.62]) by smtp.web.de (mrweb106
 [213.165.67.124]) with ESMTPSA (Nemesis) id 1M6YJ1-1q1LNY3zkP-006y8B; Tue, 30
 May 2023 02:24:26 +0200
From: Michael Heerdegen <michael_heerdegen@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63744: 28.2; fix dired-guess-default
In-Reply-To: <834jnvgfh2.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 29 May
 2023 21:27:53 +0300")
References: <m1h6ry2z4o.fsf@HIDDEN> <838rdajmkk.fsf@HIDDEN>
 <m1cz2l2n73.fsf@HIDDEN> <83jzwthsx5.fsf@HIDDEN>
 <87fs7g53rx.fsf@HIDDEN> <83sfbfgx2v.fsf@HIDDEN>
 <m1bki3hudv.fsf@HIDDEN> <834jnvgfh2.fsf@HIDDEN>
Date: Tue, 30 May 2023 02:24:25 +0200
Message-ID: <87pm6i4qfa.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:iFhecEwrVc3XOJXbYqmODSS8/khWG+86/GMUSxVVqS7G0+hZpsG
 arM6oZJ1tGFfZk33LuvBm4Yk1/N7/vueOyQ0QUoP6Zh6iSC6Dd5hjszFbNQ0f1ccSefO09n
 onA45jM9bPR5s9QcKK4CwVqN7vJ5AS+wynWJJ3bkywOvfNrlFJX//7oHm7HvuxwsJQsWTiy
 d9JprayYFIcE/VPFpl1dg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:EKzwvX2iQnE=;qviIu/D+8EJtoVDciFAuZmLmgTR
 1H+APoCXCPGbhHzPK2m6lhVH3Pxzf065LQ2KzugRKhq7mNOhqIQq3oIqvLIkLFY2JpoUDbDTB
 Nte5ecKD6RO9Y5J1I8p37IYtfxHndO9KcCpHw/6F4xUQKBQ48mzdi7gATHMGWb0HpPVRd0GS4
 OPnyiIZGNKzLWiUOW0zorqpeJ6yC1HcPeifNw3vIAmMtkxwezCQiGBCbxzPf9o8rNjUbdSVXm
 CXhKqj2BmnHjOqsXxY9XPEpFGmGFwouiR3bKy8EpnVlordWbfbOUR+uAXAlxf4Pcr0l5Hperd
 PxWToonuqb7IunyBL49p13cAM3G2QEmPKsX3UsZK09XgTKLPTfi5/ZeRZkspHL4m5NWzjb+kO
 hKiMu+QttPejG5H5skXNksT32PpyEvBY9rL+YFE68xx9jxlSl9AKydndb6GDtn+Wym/8r/efk
 Sq41IbbXRs4ARDMnkADa+U3GIPAbFKMInve8rcyat9LNr2qy6Xus1zy3Z1LGXafHwjN/wdS+R
 dTa0Pxy48TKjkR4Qkyf1F7wjuNlpII+3G5qApy+CLj5EsAiYNYei9if3TjyVEDJOIBOTxnZ99
 9tIamoxiUA62AN4hso2UhONleE1N165BNhLdf0WkvhQn/KYHEzYCmRx1MAr0HHW30Nz7O0wbL
 wXptfVGU9CmGIbVJsmht3SYFL5ktCfBqNPP2MaCZ39V5BH51qvU1N21US2RvFj+DmBwHVZm/N
 /hKKlB+z3OHsEvtT2NoWRHFDWi3cG+/UU/rnF2DUUoq+Q/d3Re4svZdsV/lYTAxVc0QrVLhXI
 ayPFD1vqEphNZICj7nzvssM1WA6p4fj9lslfpBKZKZHqLYQhruI5U23BUnCi4p2WyVw463tZU
 xnMJXPoXxpIAnC0aRIyuLH+DDjDIXhFYOhJN5bI/f1OgK8FfWlwjOrRRI2Yc61ayEdrBpJije
 8P9zdQ==
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63744
Cc: 63744 <at> debbugs.gnu.org, Leo Liu <sdl.web@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 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

> I understand all that.  But you are evidently still not understanding
> what I'm asking.

If interested - else feel free to ignore.

If this didn't answer your question:

> Can't you generate the entire value of dired-guess-shell-alist-user
> dynamically, including the RE part?

then you meant to recompute the variable's value every time the user wants
to open a file with dired?

It's a defcustom so Emacs should not change the value at all.
And recomputing the whole value every time is much slower than computing
a list of defaults for one class of files matched by the regexp.  The
conditions that need to be checked are very different for different file
types in a typical scenario, and the suggested design is more efficient:
first look at the file type by matching the RE part, then decide, at the
moment of user request, what applications are appropriate for this type
of file (and only for this type) in this moment.

Michael.




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

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


Received: (at 63744) by debbugs.gnu.org; 30 May 2023 00:04:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 29 20:04:54 2023
Received: from localhost ([127.0.0.1]:59460 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3mr7-0005Jw-OK
	for submit <at> debbugs.gnu.org; Mon, 29 May 2023 20:04:53 -0400
Received: from mout.web.de ([212.227.15.4]:60977)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael_heerdegen@HIDDEN>) id 1q3mr5-0005Ji-44
 for 63744 <at> debbugs.gnu.org; Mon, 29 May 2023 20:04:51 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273;
 t=1685405084; i=michael_heerdegen@HIDDEN;
 bh=bO60sIz98+9bpja3FB2DZ+fzQHziTLJbfwc3Hl370M0=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=qEvTaH0G3cK9/SVJ51B3ckz/kisT6hyUmkatcom14oGMaKt0akXJeUsoRwVjuW5bP
 ByF47IsJnZ/FhBwO1eH0MnhXfkCPKRy76Ll9KH3VsfUaj0OKv335vn6+/ev/KSsBmL
 Dp4pBAZwo728m28kS1ZtiD33ZLykEVJFizaRjJDSOh7TeAyl69LSnc/VRm3VzFLCBs
 ZrktjZsLMNdEwklHEJEfgbkqP2VoOgGQh2X51+s9OJZ6Nk65MdM3POm6uJ6l1ZvwTO
 O7RThl96WWpOGmj6+rJ/itrOY9IF6Hv+TRlPh4QHXA+/Y7Ya637siAfKmhSi6pMteD
 uoGeLXqaQp00w==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
Received: from drachen.dragon ([178.14.74.62]) by smtp.web.de (mrweb005
 [213.165.67.108]) with ESMTPSA (Nemesis) id 1My6pf-1qIXPX2ikR-00zY5U; Tue, 30
 May 2023 02:04:44 +0200
From: Michael Heerdegen <michael_heerdegen@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63744: 28.2; fix dired-guess-default
In-Reply-To: <83o7m3gvnm.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 29 May
 2023 15:38:21 +0300")
References: <m1h6ry2z4o.fsf@HIDDEN> <838rdajmkk.fsf@HIDDEN>
 <m1cz2l2n73.fsf@HIDDEN> <83jzwthsx5.fsf@HIDDEN>
 <87fs7g53rx.fsf@HIDDEN> <m1fs7fiypk.fsf@HIDDEN>
 <83o7m3gvnm.fsf@HIDDEN>
Date: Tue, 30 May 2023 02:04:43 +0200
Message-ID: <87zg5m4rc4.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:2NAm+vVkICmbRwjijmB+krEhpiuXfUdrRW4wZUMctoH+fmlCCFX
 IBkWlYPSyFdvbzcIV/NLGnssilH4M0PqAfJNLwZV6+7bOhw22kwfHXNy+YEkmIF4A3yVWLc
 3C4jOHGVMXzv4plkul2Ib/VFEwT+eThf8d9g/9QJR04EDi25lrCwbSn5mfW7/BfmUd2ZhAC
 F3eGDdZz9chlqxjSFyR5w==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:Szt4NIQpzZo=;ZSyCw7yZBK5371P1fL5FEXUEs/U
 9OTFP1P1+YfiRjbSHL91wGH6gEn5Fsq7zs9ZhCguDJh96Q4G1Cqpq7uIIJxtZD+3TdJnyOt/h
 herNZOcqfKoA6ARZbG1eTJ8bNStvDMaQbdirpf2j+4roXr3DlusMzTgOroTQux7st9MZQ7WRb
 44YZLdSnD1Iv0wdjGs7W1BKATg3wNVSGjJV0Eo4NgFsWWFlx/mfYqjqyVbX8gewFri0lj8LnM
 9tzHaH12YHYVWF7EPxbLNgv9V1kWTtDGy0y0QWpnCy4/wUpxt99GnT5EtxYWM7T25iCKjJ1I9
 UmBSz9d+b6LCX5CQqeOqarli+DtVna+R3TV5tT9QtAYMPyjf2i2ktarIvWI+xLeSEGAB10qrR
 D2q/b8lO6fCnl8W0Nd9474/d5Mv1x+6qtofU8sv25sCqm+pcwJodcbbMOz+7vi9bc5GAVeHZQ
 jGCajPrNzSG04HA0FUIvz5ER5s2tVZaxYVWGo5Jl+K4+WGq2iC0rAXoiTqq0M1TdjSDAnZ5fS
 7MODQHoDlAMimvYrXxXvyX195yxb/0XiIxJdjml1kPUg4mOxds3Bu8vw9iPnLdE/9NifQlK3x
 0cZfhFC6kFoPydSagcMKKNuEyysSM4am355rpfsxM6hkWWf1knHt4qESYUJcmFGA1otEK7M7x
 GoOC14tOafPEJPjqdwjw+kPQORfi/l7Sh32WUkbabbjkApZtyvWsmuqQQtwpJUhh+beW172q2
 hh8hM8KoG1gYz53fwh42Pf5gRggpZmaJdICv0czoZV4dxTE3sRYAL9CmZafxjaMJ8z4Vh6wKl
 KbHK/mRceua964efHV8ES6RXdw/N3TQ/99drVTeGGDQfbuyUgoWGucmrVaSWlytyKX0bTEW+M
 btlEEYBINhcMK5MCaak8A3oql5xRYD5Bl6tBmDYkxi9pY85T4WcGJeKh7lZmHAlhrHeBGOnVr
 spfJtnRMMi2yFVl6U8IlvYZTZEE=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 63744
Cc: 63744 <at> debbugs.gnu.org, Leo Liu <sdl.web@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 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

> If it's a bad regression, why didn't we hear about it until now?

This (gone) feature had not been documented.  I fixed this regression in
my local config and added a note "make a bug report".  I'm sorry that I
didn't do this.

In my estimation, the dired-mode's way to configure the "open with"
behavior is too inconvenient for the majority of people and they just
don't use it, so they don't care.  The rest has a bunch of advices of
dired functions in their init file or uses self written stuff.

This patch is a step to improve this situation.

Michael.




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

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


Received: (at 63744) by debbugs.gnu.org; 29 May 2023 18:27:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 29 14:27:22 2023
Received: from localhost ([127.0.0.1]:59131 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3haU-00047j-BT
	for submit <at> debbugs.gnu.org; Mon, 29 May 2023 14:27:22 -0400
Received: from eggs.gnu.org ([209.51.188.92]:54526)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q3haS-00047T-JY
 for 63744 <at> debbugs.gnu.org; Mon, 29 May 2023 14:27:21 -0400
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 1q3haN-0002jc-DF; Mon, 29 May 2023 14:27:15 -0400
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=IEX5LUxAykhFoEcmziOf9K8svQd4DVoI+fKSyMOEBdM=; b=sYqN5QUx67mF
 m9EC46SS/3/bcMc2BGpVhjTHiXNJGDmHdcav0hzR9xN/jly1t+rVKb/y9H09t5rl+4HaBVTz8uGYB
 PU/2C/axLSIUnkS01rvRYegA3Jj8L332QVXD3dC7j/aaQKDzkiOD1JUWwVobpFtmYIHm1OhcaQtBm
 hIF0stfEo/X3wQe3te8ulO/OF7tZOxgcbjsTMkYp40FOdPbtGLh/Waat/DWaT3Hv69Je76jcZfr6/
 SKIT+pSuzhU58vH4k0xZeUKP1MHDZwPwc7ZtvOPP0DuQ8DWFfzTH7OCFAvTBszX66Xo1EQ/QWZvpm
 g7mnrgciueiWiKaS/wPBzw==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3haM-0002M2-L9; Mon, 29 May 2023 14:27:15 -0400
Date: Mon, 29 May 2023 21:27:53 +0300
Message-Id: <834jnvgfh2.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Leo Liu <sdl.web@HIDDEN>
In-Reply-To: <m1bki3hudv.fsf@HIDDEN> (message from Leo Liu on Tue, 30 May
 2023 02:20:28 +0800)
Subject: Re: bug#63744: 28.2; fix dired-guess-default
References: <m1h6ry2z4o.fsf@HIDDEN> <838rdajmkk.fsf@HIDDEN>
 <m1cz2l2n73.fsf@HIDDEN> <83jzwthsx5.fsf@HIDDEN>
 <87fs7g53rx.fsf@HIDDEN> <83sfbfgx2v.fsf@HIDDEN> <m1bki3hudv.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63744
Cc: 63744 <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: Leo Liu <sdl.web@HIDDEN>
> Date: Tue, 30 May 2023 02:20:28 +0800
> 
> On 2023-05-29 15:07 +0300, Eli Zaretskii wrote:
> > Does this answer my question above?  If so, I don't think I understand
> > the answer, please elaborate.  I asked why not generate the whole
> > value, including the REGEXP part, dynamically.
> 
> I thought you would have grasped the problem by now ;)
> 
> "I asked why not generate the whole value, including the REGEXP part,
> dynamically."
> 
> This is a static list.
> 
> The problem we are trying to solve here is we don't know the list until
> we know the FILE. Even when given the FILE we may still have imperfect
> knowledge about which tools can handle it.
> 
> For example, On my Mac an html file can be handled by 10 apps at the
> moment including all browsers and Emacs and more. It may change next
> minute when some apps are installed or uninstalled or file association
> changed.

I understand all that.  But you are evidently still not understanding
what I'm asking.  Never mind, I give up.  Some kind of failure to
explain myself.

Bottom line: we can extend the feature the way you'd like, but it will
need be installed on master, and will have to wait for Emacs 30.




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

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


Received: (at submit) by debbugs.gnu.org; 29 May 2023 18:20:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 29 14:20:57 2023
Received: from localhost ([127.0.0.1]:59125 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3hUH-0003xG-FD
	for submit <at> debbugs.gnu.org; Mon, 29 May 2023 14:20:57 -0400
Received: from lists.gnu.org ([209.51.188.17]:40504)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q3hUG-0003x6-8c
 for submit <at> debbugs.gnu.org; Mon, 29 May 2023 14:20:56 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q3hUF-0007gL-KG
 for bug-gnu-emacs@HIDDEN; Mon, 29 May 2023 14:20:55 -0400
Received: from ciao.gmane.io ([116.202.254.214])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q3hUC-0001E1-1V
 for bug-gnu-emacs@HIDDEN; Mon, 29 May 2023 14:20:53 -0400
Received: from list by ciao.gmane.io with local (Exim 4.92)
 (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q3hUA-0009eU-BQ
 for bug-gnu-emacs@HIDDEN; Mon, 29 May 2023 20:20:50 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: bug-gnu-emacs@HIDDEN
From: Leo Liu <sdl.web@HIDDEN>
Subject: Re: bug#63744: 28.2; fix dired-guess-default
Date: Tue, 30 May 2023 02:20:28 +0800
Message-ID: <m1bki3hudv.fsf@HIDDEN>
References: <m1h6ry2z4o.fsf@HIDDEN> <838rdajmkk.fsf@HIDDEN>
 <m1cz2l2n73.fsf@HIDDEN> <83jzwthsx5.fsf@HIDDEN>
 <87fs7g53rx.fsf@HIDDEN> <83sfbfgx2v.fsf@HIDDEN>
Mime-Version: 1.0
Content-Type: text/plain
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (macOS 11.7.6)
Cancel-Lock: sha1:TD4Cfus1+EiV6iQJMaTxX6I9c5s=
Face: iVBORw0KGgoAAAANSUhEUgAAACgAAAAoAgMAAADxkFD+AAAADFBMVEUvT09qWs3/pQD///+J
 kUVcAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9cBBwMLOd3veKQA
 AACuSURBVBjTldE9CgIxEAXgB+lEyFUC2wo5ikdZ8DSypxhMY7H9VuIVwlqkGRgnm59VsHGafIQ3
 CZlAtmKIRaHETgYa12lqvEsPYKf8wXHsPGfqPaUM0g9aJPKFXkmNQmSDqwzz4Fpgpz+6WAPY2z5o
 uPJJpu0uypcl4nyCibMLQ8lCiVjayLoQvw5LsVKQuHPRR958HZbOcVsKeepcLxpByjycGvnKmY+c
 MBvrtyjfe0vmuLvdq/kAAAAASUVORK5CYII=
Received-SPF: pass client-ip=116.202.254.214;
 envelope-from=geb-bug-gnu-emacs@HIDDEN; helo=ciao.gmane.io
X-Spam_score_int: 5
X-Spam_score: 0.5
X-Spam_bar: /
X-Spam_report: (0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001,
 FORGED_GMAIL_RCVD=1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001,
 HEADER_FROM_DIFFERENT_DOMAINS=0.25, NML_ADSP_CUSTOM_MED=0.9,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -0.1 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.1 (-)

On 2023-05-29 15:07 +0300, Eli Zaretskii wrote:
> Does this answer my question above?  If so, I don't think I understand
> the answer, please elaborate.  I asked why not generate the whole
> value, including the REGEXP part, dynamically.

I thought you would have grasped the problem by now ;)

"I asked why not generate the whole value, including the REGEXP part,
dynamically."

This is a static list.

The problem we are trying to solve here is we don't know the list until
we know the FILE. Even when given the FILE we may still have imperfect
knowledge about which tools can handle it.

For example, On my Mac an html file can be handled by 10 apps at the
moment including all browsers and Emacs and more. It may change next
minute when some apps are installed or uninstalled or file association
changed.





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

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


Received: (at 63744) by debbugs.gnu.org; 29 May 2023 12:37:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 29 08:37:51 2023
Received: from localhost ([127.0.0.1]:57330 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3c8F-0005us-Jb
	for submit <at> debbugs.gnu.org; Mon, 29 May 2023 08:37:51 -0400
Received: from eggs.gnu.org ([209.51.188.92]:45612)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q3c8D-0005uf-6i
 for 63744 <at> debbugs.gnu.org; Mon, 29 May 2023 08:37:49 -0400
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 1q3c87-0003d6-F9; Mon, 29 May 2023 08:37:43 -0400
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=/QF6T2jw4/FQ3FdqND4D2OEIIz/HYXorfGuGfSUBUA8=; b=IHlKsNYeTQJf
 fVFA0b5/mRh/k9yNSwfglQNVNiv0Qpg5IoT7Tu8yhXJWUFbpEOFfx/nOdn+dxmDJoVFi0V3LK73qK
 PG0wAn+yRHhKnu8O2GDCWFObsVz6eY9Keil28KIY2pCNARISzxHaJQPXYhc0G5saU2RXeclo+WNp+
 ukMc3zRPf5X68STZrZBDFgONIZ13iDgBTfVeKcIoo10UlfcOdzs0wN1BNfmu2ud1JmNPF8fTOYqdq
 iwJvR6jXbuzN3Rmw1AvDEKiIQ/ptRjh3JaK6x1BveQzDtaEPJJKyQtOwzofZt65LbbBvEgGf0YGhs
 3Oqqky3kYKzBu+L+g5N+Pw==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3c86-0003aV-HP; Mon, 29 May 2023 08:37:42 -0400
Date: Mon, 29 May 2023 15:38:21 +0300
Message-Id: <83o7m3gvnm.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Leo Liu <sdl.web@HIDDEN>
In-Reply-To: <m1fs7fiypk.fsf@HIDDEN> (message from Leo Liu on Mon, 29 May
 2023 11:49:27 +0800)
Subject: Re: bug#63744: 28.2; fix dired-guess-default
References: <m1h6ry2z4o.fsf@HIDDEN> <838rdajmkk.fsf@HIDDEN>
 <m1cz2l2n73.fsf@HIDDEN> <83jzwthsx5.fsf@HIDDEN>
 <87fs7g53rx.fsf@HIDDEN> <m1fs7fiypk.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63744
Cc: 63744 <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: Leo Liu <sdl.web@HIDDEN>
> Date: Mon, 29 May 2023 11:49:27 +0800
> 
> If we put all these details behind and look from the users' perspective,
> I wonder if there is a chance for Emacs 28.

It doesn't look like there will be another Emacs 28.x release.

And, given the change to the code, I don't think this is appropriate
for Emacs 29.1, either.  It's too late for such changes on the release
branch.

> Basically this feature has been there and working since at least Emacs
> 24 (or even earlier). It may be an accident which I only discovered last
> week though the bug has been annoying me for a few months since I
> upgraded from Emacs 27. For users this is a regression and it's bad.

If it's a bad regression, why didn't we hear about it until now?
Emacs 28.1 was released more than a year ago, and was in pretest for
several months before that.  My guess would be that this accidental
"feature" is not used frequently enough to be a bad regression.

And I don't object to extending Dired in this way, I just don't think
we should do that in Emacs 29.  There are enough real bad problems and
regressions that block its release, and I'm not thrilled adding
another non-trivial change so late.  Sorry.




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

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


Received: (at 63744) by debbugs.gnu.org; 29 May 2023 12:07:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 29 08:07:09 2023
Received: from localhost ([127.0.0.1]:57298 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3beX-000582-9M
	for submit <at> debbugs.gnu.org; Mon, 29 May 2023 08:07:09 -0400
Received: from eggs.gnu.org ([209.51.188.92]:39778)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q3beV-00057e-Ie
 for 63744 <at> debbugs.gnu.org; Mon, 29 May 2023 08:07:08 -0400
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 1q3beP-0001xy-Fu; Mon, 29 May 2023 08:07:01 -0400
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=BvaK6Hi4f9HEiQczVeqWD2rmjr98NVta6bW+XkraEYU=; b=f5UArFYVbiJ/
 55uBihz1HAbuqwIidVSEFFzAwQgPDmJZ1UD9ic4vNAWFsyiuE+HHNVf1yjy3ztc4hA8xH3UevcTMI
 YQbHXiwU9xraAZseCWBSH4Q70UaBoaHkjFDnIoKNsZSEl+OdKYQUwHz2pFIncUOjP314FlD5/27fJ
 +1Ef6CvVbm2uHi+0va1F5VFfYUw7XuUJfXU3HzEK6Aa9JtjheiP3u2IwCGdo48gtKsUZTbdGMUAcb
 65+Us4aW/5hDB4JkbRkHAWLYVE0/V7NDeDKJT6OMFfx6giTygTgavAv0LRn5g7syrFidYlydQtbfZ
 ORiUfx1A1ZDgDnV/lMWiLw==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3beO-0005Bu-UM; Mon, 29 May 2023 08:07:01 -0400
Date: Mon, 29 May 2023 15:07:36 +0300
Message-Id: <83sfbfgx2v.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Michael Heerdegen <michael_heerdegen@HIDDEN>
In-Reply-To: <87fs7g53rx.fsf@HIDDEN> (message from Michael Heerdegen on Mon,
 29 May 2023 03:23:46 +0200)
Subject: Re: bug#63744: 28.2; fix dired-guess-default
References: <m1h6ry2z4o.fsf@HIDDEN> <838rdajmkk.fsf@HIDDEN>
 <m1cz2l2n73.fsf@HIDDEN> <83jzwthsx5.fsf@HIDDEN> <87fs7g53rx.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63744
Cc: 63744 <at> debbugs.gnu.org, sdl.web@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: -3.3 (---)

> From: Michael Heerdegen <michael_heerdegen@HIDDEN>
> Cc: Leo Liu <sdl.web@HIDDEN>,  63744 <at> debbugs.gnu.org
> Date: Mon, 29 May 2023 03:23:46 +0200
> 
> Eli Zaretskii <eliz@HIDDEN> writes:
> 
> > > There is no alternative at the moment other than redefining
> > > dired-guess-default.
> >
> > But your suggestion is also a change in that function, so what's the
> > difference?
> 
> I think he means: the user should not have to do this.

If there's only one user who wants that, there's no difference...

> > >    (RE ("STR1" "STR2" ...))
> >
> > Can't you generate the entire value of dired-guess-shell-alist-user
> > dynamically, including the RE part?
> 
> It's a real difference, actually a real win.  Please don't only have
> constant lists in mind.

Does this answer my question above?  If so, I don't think I understand
the answer, please elaborate.  I asked why not generate the whole
value, including the REGEXP part, dynamically.

> "Dynamically" means that dired can inspect the matched file (the file
> name is provided via the variable 'file' bound when evaluating the
> expression).  This means the EXPR can look at the properties of the
> file, it's type and modes etc, which allows a more fine grained user
> customization.  With such a change one can have entries looking like
> 
>   (RE (if COND (GET-DEFAULTS-FOR-COND) (GET-OTHER-DEFAULTS)))
> 
> which would currently be have to be specified as several entries like
> 
>   (RE (when COND DEFAULT-FOR-COND-1))
>   (RE (when COND DEFAULT-FOR-COND-2))
>     ...
>   (RE (when COND DEFAULT-FOR-COND-n))
>   (RE (when (not COND) OTHER-DEFAULT-1))
>   ...
>   (RE (when (not COND) OTHER-DEFAULT-m))
> 
> and, much worse, testing the CONDITION would have to be performed many
> times.

Sorry, I don't see why it has to be so complicated.  RE can be
generated just once, and then consed into a list with whatever should
follow it, and those other elements could be generated dynamically.

Anyway, I don't see why we should keep arguing.  I already said that I
won't object to such an extension of the forms in
dired-guess-shell-alist-user, I just think we should document them,
and I'm quite sure such a change in the code is not for the released
branch.




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

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


Received: (at submit) by debbugs.gnu.org; 29 May 2023 03:50:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 28 23:50:00 2023
Received: from localhost ([127.0.0.1]:56737 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3TtL-00059j-V8
	for submit <at> debbugs.gnu.org; Sun, 28 May 2023 23:50:00 -0400
Received: from lists.gnu.org ([209.51.188.17]:56144)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q3TtK-00059a-Hq
 for submit <at> debbugs.gnu.org; Sun, 28 May 2023 23:49:55 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q3TtK-0003dp-91
 for bug-gnu-emacs@HIDDEN; Sun, 28 May 2023 23:49:54 -0400
Received: from ciao.gmane.io ([116.202.254.214])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q3TtI-0005ET-Ug
 for bug-gnu-emacs@HIDDEN; Sun, 28 May 2023 23:49:54 -0400
Received: from list by ciao.gmane.io with local (Exim 4.92)
 (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q3TtF-0005eg-Vu
 for bug-gnu-emacs@HIDDEN; Mon, 29 May 2023 05:49:49 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: bug-gnu-emacs@HIDDEN
From: Leo Liu <sdl.web@HIDDEN>
Subject: Re: bug#63744: 28.2; fix dired-guess-default
Date: Mon, 29 May 2023 11:49:27 +0800
Message-ID: <m1fs7fiypk.fsf@HIDDEN>
References: <m1h6ry2z4o.fsf@HIDDEN> <838rdajmkk.fsf@HIDDEN>
 <m1cz2l2n73.fsf@HIDDEN> <83jzwthsx5.fsf@HIDDEN>
 <87fs7g53rx.fsf@HIDDEN>
Mime-Version: 1.0
Content-Type: text/plain
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (macOS 11.7.6)
Cancel-Lock: sha1:40kFzeo6d+8junO0ZonxkePvXwQ=
Face: iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAElBMVEUAAAAAAP+LRRP0pGC+
 vr7///+7mT1iAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9cBBwMO
 DhglKe4AAAEsSURBVCjPbZNBboQwDEV/Cd4X9QJRThApmn0XYW+Jyf2v0m+HhqDBgiAe9rcTG7QH
 w/1Vn2Ar8gBb/ocywSN3qK9T3z4eFDB4eApocBpeBs1RSykoJd8gQcm8pGmHXFso3ajnmsqV0TnY
 DQkOfXUfN5NwaI7AWTVOyEhcu1aHmdWItHddUVUcUgUBCkitu8V6ditHVOVdqzl2EQ1ZVGTbdK0V
 7cqn8vWzoU5Q/bF9Y/Y0cRU1xwkys5dJ+Dt6pBDWifcNQml8Gh2JVmPSoQzo7en0grswkxrUGYJ7
 0hSxxAGr7ZMwYcHIzprpi7TENEE1xtiYxixRlCfPBsUUrwHD7uGIwATrbnODJcVrPpVn3hxiGloe
 m/S+z3CtuzUSMo83N4DPH+F0evwR3P4A2k+75838OKQAAAAASUVORK5CYII=
Received-SPF: pass client-ip=116.202.254.214;
 envelope-from=geb-bug-gnu-emacs@HIDDEN; helo=ciao.gmane.io
X-Spam_score_int: 5
X-Spam_score: 0.5
X-Spam_bar: /
X-Spam_report: (0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001,
 FORGED_GMAIL_RCVD=1, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001,
 HEADER_FROM_DIFFERENT_DOMAINS=0.248, NML_ADSP_CUSTOM_MED=0.9,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -0.1 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.1 (-)

On 2023-05-29 03:23 +0200, Michael Heerdegen wrote:
> I think we should avoid `nconc'ing: if a user does specify literal lists.
> the config will be destructively altered (right?).  I think we better
> use (apply #'append (mapcar ...)) or something like that.

Good point. Will update the patch.

If we put all these details behind and look from the users' perspective,
I wonder if there is a chance for Emacs 28.

Basically this feature has been there and working since at least Emacs
24 (or even earlier). It may be an accident which I only discovered last
week though the bug has been annoying me for a few months since I
upgraded from Emacs 27. For users this is a regression and it's bad.

Comments?





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

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


Received: (at 63744) by debbugs.gnu.org; 29 May 2023 01:23:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 28 21:23:57 2023
Received: from localhost ([127.0.0.1]:56692 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3Rc4-000182-Pu
	for submit <at> debbugs.gnu.org; Sun, 28 May 2023 21:23:57 -0400
Received: from mout.web.de ([217.72.192.78]:46637)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael_heerdegen@HIDDEN>) id 1q3Rc2-00017n-BN
 for 63744 <at> debbugs.gnu.org; Sun, 28 May 2023 21:23:55 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273;
 t=1685323427; i=michael_heerdegen@HIDDEN;
 bh=DhCbPtlcKXmFAgVoPFIXXiiWtywHUdq+Qv0HXz3HzJk=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date;
 b=lNxYUZIBJ1SROURX573jKf/Z1uAv3bXT6Qte3n1JFLhxAYM7q8ZqQGPaXhpJa4zK0
 BpkM/m1XurA+8mhqWMIB5C+kNDgXadBRhFbTVT6ZqN0F6dU16lAtaGXCdpQdBBEbKC
 XVmkuNrFRJ6aobjRSErtTanJ2DWGq/9JUv8lk7cRGs8hmZdDoXXwByiCNzzGN6i34M
 Pu1ALLC+rsNtHnKbsDrueHHc0d/gHkK9p8d6qNjFHeSQt0xBNjc4nu4qMn8bTInDrB
 s+RnecYL8xeIgmAeA5qk/kPpKHbM4D1wpNZPnnVgUccsXaaUXtUp52eaKmyqFA80FI
 oIhDlhGO02tUw==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
Received: from drachen.dragon ([178.14.74.62]) by smtp.web.de (mrweb106
 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MqqPT-1qOymY10mP-00mvi6; Mon, 29
 May 2023 03:23:47 +0200
From: Michael Heerdegen <michael_heerdegen@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63744: 28.2; fix dired-guess-default
In-Reply-To: <83jzwthsx5.fsf@HIDDEN> (Eli Zaretskii's message of "Sun, 28 May
 2023 09:27:34 +0300")
References: <m1h6ry2z4o.fsf@HIDDEN> <838rdajmkk.fsf@HIDDEN>
 <m1cz2l2n73.fsf@HIDDEN> <83jzwthsx5.fsf@HIDDEN>
Date: Mon, 29 May 2023 03:23:46 +0200
Message-ID: <87fs7g53rx.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:g6X3QohD1Ml65oPs+C0PFutg7gCI0V5W8yL1CUtSGwS76bIIElW
 sGlt1f7CEPcchOGlnszZlTES4clmakjZKagoQlULxmSSyzAFHDLWLgRMVtAfNpDdzKOyctj
 lt+hDEavYzj59dLXyKrjGa00eaqOoQheIG+XeucFneJLsFLi00rRcj0ylbwSUU49vQ0zW86
 XpLzCvIIUZyAFUEpt7hsw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:WFuk1ygxEm0=;LRnHtrgzE0U9YiMKrDOvbIqpfBe
 GJn7zu5SWTLNcW/F0sZWXp9QZwtNX1vzrIhOyQap+H3HGMDmE3bI4M9tQKmSeMh5nYl8/lNvV
 54gRb1k4qL10VJhwtjk65eM50Iz00wlhDmeIidHZyfSDBGJQEi4rbGYzg6d8tpwlSicrqB2BH
 ntntTkU37qgy1dq5MmYekHBOoJTbI4dW3TjwJaWiy+5W+L6A/YJPd/AFPjbTEhCh0nI3UxCgC
 lbPgzunW8WVTsPxecsu26xvpNb0nzPTRq9i/6XKBIDi/xJ+YOY2RaUgImeu617PzP87IvcaR2
 UDGpxWQrPgIcIJHSJAIZIdo+3M8d0NrSA0uDwcrBRsYKvBJ+zq9ejFRBPZ1BLiIrMYXcRvdNu
 mjyRRJzz1/+my/pFsxQf9Qr+adZ/DC5/pz/CTuGHXTiQMqK8dtmlPtOj7+VICKI7rQdmcdQ1B
 QujOfGSEzAVXTzX1FnSXTPsCyqmi38EslUJeT0Aom06qUobiWnkbSHFPnucq1t/ouqj3LesRj
 hsiDHRRrk6Zh4Vc1UZwOo6bgN4i4XEG8Oxe9phDcRgRsydc/nEogAM14qyqoMmhJECK6YIMRJ
 4M+HwkYP4+dW3FHzakqr9/RXJhTZGM1QG2+GPseeQTvwa/vnA2UsnEcF1jK3Wy0fsqvya673n
 LYEgjvH7hWq1tfMrFlv4jGfJq9CxUblyK2BXbxeafg6QMwJMPGdvtWqXAk8NbwKvA06uQYA2K
 y2sVhAxvF6QFQ4jKEMjS2PXrujwQ2wHtbR0L//u5N1ogDnSt1n63RG1W2PQzVyeawqLuBmCqh
 rHso1CDvSrD5xFUGRzrd0XACtCJuAfeHWYYM9hsM7A6JXGvYm7aTq+ZUTCrMiFl9sog6zKlwE
 8322Z107TGnXsj8h6FUxYW15Sr/MOfzGPIAcw+gxjNBddJAl3E+8YaTAyYigPxvSj5kyNBswC
 PM+XLZRTVGVEZg7MPEh/KsbtyMM=
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 63744
Cc: 63744 <at> debbugs.gnu.org, Leo Liu <sdl.web@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 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

> > There is no alternative at the moment other than redefining
> > dired-guess-default.
>
> But your suggestion is also a change in that function, so what's the
> difference?

I think he means: the user should not have to do this.

> > If you have a static list it can be expressed as an element in
> > dired-guess-shell-alist-user as such:
> >
> >    (RE "STR1" "STR2" ...)
> >
> > If you have a dynamic list (for example a list from querying the OS) y=
ou
> > are stuck. The patch makes this possible and in my view makes
> > dired-guess-shell-alist-user more coherent. (RE "STR1" "STR2" ...) can
> > be regarded as another syntax for
> >
> >    (RE ("STR1" "STR2" ...))
>
> Can't you generate the entire value of dired-guess-shell-alist-user
> dynamically, including the RE part?

It's a real difference, actually a real win.  Please don't only have
constant lists in mind.

"Dynamically" means that dired can inspect the matched file (the file
name is provided via the variable 'file' bound when evaluating the
expression).  This means the EXPR can look at the properties of the
file, it's type and modes etc, which allows a more fine grained user
customization.  With such a change one can have entries looking like

  (RE (if COND (GET-DEFAULTS-FOR-COND) (GET-OTHER-DEFAULTS)))

which would currently be have to be specified as several entries like

  (RE (when COND DEFAULT-FOR-COND-1))
  (RE (when COND DEFAULT-FOR-COND-2))
    ...
  (RE (when COND DEFAULT-FOR-COND-n))
  (RE (when (not COND) OTHER-DEFAULT-1))
  ...
  (RE (when (not COND) OTHER-DEFAULT-m))

and, much worse, testing the CONDITION would have to be performed many
times.

Other things are currently impossible, for example, taking the current
screen setup into account (which can change within an Emacs session).

@Leo:

> However, it's too late for such extensions on the emacs-29 release
> branch, so it could only go to master, for Emacs 30.  And it should be
> properly documented, of course.

`dired-guess-default' lives in "dired-aux" now.

>  If several COMMANDs are given, the first one will be the default
>  and the rest will be added temporarily to the history and can be retrie=
ved
> @@ -975,9 +975,9 @@ See `dired-guess-shell-alist-user'."
>    (let* ((case-fold-search dired-guess-shell-case-fold-search)
>           (programs
>            (delete-dups
> -           (mapcar
> +           (mapcan
>              (lambda (command)
> -              (eval command `((file . ,(car files)))))
> +              (ensure-list (eval command `((file . ,(car files))))))

I think we should avoid `nconc'ing: if a user does specify literal lists.
the config will be destructively altered (right?).  I think we better
use (apply #'append (mapcar ...)) or something like that.


Michael.




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

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


Received: (at 63744) by debbugs.gnu.org; 28 May 2023 06:27:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 28 02:27:07 2023
Received: from localhost ([127.0.0.1]:53023 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q39ru-0002FT-Gt
	for submit <at> debbugs.gnu.org; Sun, 28 May 2023 02:27:06 -0400
Received: from eggs.gnu.org ([209.51.188.92]:43286)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q39rt-0002Ex-3e
 for 63744 <at> debbugs.gnu.org; Sun, 28 May 2023 02:27:05 -0400
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 1q39rn-0001Js-Lj; Sun, 28 May 2023 02:26:59 -0400
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=jpcZnABxvDIEPwX0WIxmEa9sgbr6DpLKVlqjzKlZaXY=; b=SlgDmV4EPxcQ
 lUaYCb5RPaSPkvfxwugSIFAcAIqI/uIg4SZnSIW9lQ1nK76hNu5IZ2sTwLTl6+HrjGdQ6Lv9krHjX
 MTMIlqr0yknwKr+3qjlUjjn6+LqlRnRDe6KC0d2MrgYxuzK4DuRXfn+sutfiWj1Tg23wvWrY8+ya/
 PiL1R51mAIeK3dH/+OceeKohWfhE8P+uGTbslEdTR5u/qkFANkF1B8JO97TXmIRE/WKdKd+KxQ99D
 kZDepCc4IL3IFl0gN1rWip9DrtaiSfvyRIcljUbNz9SEl+zANpFagEJt8WnNpYd0VxiZyguQ3pR8Y
 HEbSW9hnTw2WKPoh6YIJ0g==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q39rn-0002t8-2h; Sun, 28 May 2023 02:26:59 -0400
Date: Sun, 28 May 2023 09:27:34 +0300
Message-Id: <83jzwthsx5.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Leo Liu <sdl.web@HIDDEN>
In-Reply-To: <m1cz2l2n73.fsf@HIDDEN> (message from Leo Liu on Sun, 28 May
 2023 10:40:16 +0800)
Subject: Re: bug#63744: 28.2; fix dired-guess-default
References: <m1h6ry2z4o.fsf@HIDDEN> <838rdajmkk.fsf@HIDDEN>
 <m1cz2l2n73.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63744
Cc: 63744 <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: Leo Liu <sdl.web@HIDDEN>
> Date: Sun, 28 May 2023 10:40:16 +0800
> 
> On 2023-05-27 09:49 +0300, Eli Zaretskii wrote:
> [snipped 10 lines]
> > What is the semantics of a list of strings in this case?
> > shell-command takes a single string as its argument COMMAND, it
> > doesn't take a list of strings.
> 
> See the documentation of dired-guess-default.
> 
> ,----
> | Return a shell command, or a list of commands, appropriate for FILES.
> `----

That's not the same, but I get the intent.

> > I'd rather not proliferate an undocumented "feature" that is merely a
> > side effect of the particular implementation we had at some point,
> > without understanding what it gives us. 
> 
> I agree in principle.
> 
> > The alternative is for you to change your customization so that EXP
> > returns the car of the list it returned before, and that should be
> > both easy and backward-compatible, AFAIU.
> 
> Unfortunately many (or most) things in Emacs grow from a 50% solution.

Where are you when I'm trying to convince people on emacs-devel not to
install such 50% solutions?  If every marginally-useful change that
can "potentially" help someone is press-pushed into the code base,
with the main reason being "why not?", the result is what you observe.
But almost no one tries to see this in advance when half-baked changes
are brought up, so stuff gets in.  Help in reviewing extensions and
noticing such marginal solutions will be greatly appreciated.

But I digress.

> There is no alternative at the moment other than redefining
> dired-guess-default.

But your suggestion is also a change in that function, so what's the
difference?

> If you have a static list it can be expressed as an element in
> dired-guess-shell-alist-user as such:
> 
>    (RE "STR1" "STR2" ...)
> 
> If you have a dynamic list (for example a list from querying the OS) you
> are stuck. The patch makes this possible and in my view makes
> dired-guess-shell-alist-user more coherent. (RE "STR1" "STR2" ...) can
> be regarded as another syntax for
> 
>    (RE ("STR1" "STR2" ...))

Can't you generate the entire value of dired-guess-shell-alist-user
dynamically, including the RE part?

Anyway, you are requesting a new feature: that the elements of the
alist could be of the form (REGEXP (COMMAND1 COMMAND2 ...)).  I don't
see how this makes dired-guess-shell-alist-user more coherent, but I
have nothing against such an extension.  However, it's too late for
such extensions on the emacs-29 release branch, so it could only go to
master, for Emacs 30.  And it should be properly documented, of
course.




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

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


Received: (at submit) by debbugs.gnu.org; 28 May 2023 02:40:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 27 22:40:47 2023
Received: from localhost ([127.0.0.1]:52853 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q36Kt-0004KJ-9p
	for submit <at> debbugs.gnu.org; Sat, 27 May 2023 22:40:47 -0400
Received: from lists.gnu.org ([209.51.188.17]:46034)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q36Kr-0004KB-D3
 for submit <at> debbugs.gnu.org; Sat, 27 May 2023 22:40:45 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q36Kq-0006hb-PE
 for bug-gnu-emacs@HIDDEN; Sat, 27 May 2023 22:40:44 -0400
Received: from ciao.gmane.io ([116.202.254.214])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q36Kp-000558-BS
 for bug-gnu-emacs@HIDDEN; Sat, 27 May 2023 22:40:44 -0400
Received: from list by ciao.gmane.io with local (Exim 4.92)
 (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q36Kn-0007Ml-PZ
 for bug-gnu-emacs@HIDDEN; Sun, 28 May 2023 04:40:41 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: bug-gnu-emacs@HIDDEN
From: Leo Liu <sdl.web@HIDDEN>
Subject: Re: bug#63744: 28.2; fix dired-guess-default
Date: Sun, 28 May 2023 10:40:16 +0800
Message-ID: <m1cz2l2n73.fsf@HIDDEN>
References: <m1h6ry2z4o.fsf@HIDDEN> <838rdajmkk.fsf@HIDDEN>
Mime-Version: 1.0
Content-Type: text/plain
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (macOS 11.7.6)
Cancel-Lock: sha1:pmcaXO/Tnfm5Cvlzjk67woD15M8=
Face: iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAElBMVEUAAAAAAP+LRRP0pGC+
 vr7///+7mT1iAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9cBBwMO
 DhglKe4AAAEsSURBVCjPbZNBboQwDEV/Cd4X9QJRThApmn0XYW+Jyf2v0m+HhqDBgiAe9rcTG7QH
 w/1Vn2Ar8gBb/ocywSN3qK9T3z4eFDB4eApocBpeBs1RSykoJd8gQcm8pGmHXFso3ajnmsqV0TnY
 DQkOfXUfN5NwaI7AWTVOyEhcu1aHmdWItHddUVUcUgUBCkitu8V6ditHVOVdqzl2EQ1ZVGTbdK0V
 7cqn8vWzoU5Q/bF9Y/Y0cRU1xwkys5dJ+Dt6pBDWifcNQml8Gh2JVmPSoQzo7en0grswkxrUGYJ7
 0hSxxAGr7ZMwYcHIzprpi7TENEE1xtiYxixRlCfPBsUUrwHD7uGIwATrbnODJcVrPpVn3hxiGloe
 m/S+z3CtuzUSMo83N4DPH+F0evwR3P4A2k+75838OKQAAAAASUVORK5CYII=
Received-SPF: pass client-ip=116.202.254.214;
 envelope-from=geb-bug-gnu-emacs@HIDDEN; helo=ciao.gmane.io
X-Spam_score_int: 5
X-Spam_score: 0.5
X-Spam_bar: /
X-Spam_report: (0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001,
 FORGED_GMAIL_RCVD=1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001,
 HEADER_FROM_DIFFERENT_DOMAINS=0.25, NML_ADSP_CUSTOM_MED=0.9,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -0.1 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.1 (-)

On 2023-05-27 09:49 +0300, Eli Zaretskii wrote:
[snipped 10 lines]
> What is the semantics of a list of strings in this case?
> shell-command takes a single string as its argument COMMAND, it
> doesn't take a list of strings.

See the documentation of dired-guess-default.

,----
| Return a shell command, or a list of commands, appropriate for FILES.
`----

[snipped 10 lines]
> I'd rather not proliferate an undocumented "feature" that is merely a
> side effect of the particular implementation we had at some point,
> without understanding what it gives us. 

I agree in principle.

> The alternative is for you to change your customization so that EXP
> returns the car of the list it returned before, and that should be
> both easy and backward-compatible, AFAIU.

Unfortunately many (or most) things in Emacs grow from a 50% solution.
There is no alternative at the moment other than redefining
dired-guess-default.

If you have a static list it can be expressed as an element in
dired-guess-shell-alist-user as such:

   (RE "STR1" "STR2" ...)

If you have a dynamic list (for example a list from querying the OS) you
are stuck. The patch makes this possible and in my view makes
dired-guess-shell-alist-user more coherent. (RE "STR1" "STR2" ...) can
be regarded as another syntax for

   (RE ("STR1" "STR2" ...))

WDYT?





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

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


Received: (at 63744) by debbugs.gnu.org; 27 May 2023 06:49:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 27 02:49:05 2023
Received: from localhost ([127.0.0.1]:51304 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2njd-0003SE-5K
	for submit <at> debbugs.gnu.org; Sat, 27 May 2023 02:49:05 -0400
Received: from eggs.gnu.org ([209.51.188.92]:57844)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q2njb-0003Rk-5v
 for 63744 <at> debbugs.gnu.org; Sat, 27 May 2023 02:49:03 -0400
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 1q2njV-00031f-VQ; Sat, 27 May 2023 02:48:57 -0400
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=sxYx4v265l+SQhxMxEKvJGINNMtrDtNveblamcYV3G4=; b=QsQQ4X10AqGT
 90o/LmKZt6O9rKxKbt4zT2GRL4aOJzQvA1TEYp+EKJDDd1dyjni+g9rfLZ9Jmu8rmdXEAD78FaonW
 +85EyEgjho0nxmdYSwOqNTyBpdAQY1fu4pGU2YN/VDG0d5ta1lKPwYhYKXrtzhffIx9qwKCpZAI6p
 N5JRpUf3n+OQgeQ1fbrozFXHxiobahtj6pAyMSIiJwWZHgmBC7sIjwGZ74GFs88UqNF4cuf0XwBob
 5WEJv1D/2EOftHSOjOnDby019lHH71Us955WZf2ma5RvI1S7Qs277h/Fp84glTL6WYg/Ljy0wXcAK
 q255yruByG7vy5MlOzebwQ==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2njV-0007Cv-Dn; Sat, 27 May 2023 02:48:57 -0400
Date: Sat, 27 May 2023 09:49:31 +0300
Message-Id: <838rdajmkk.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Leo Liu <sdl.web@HIDDEN>
In-Reply-To: <m1h6ry2z4o.fsf@HIDDEN> (message from Leo Liu on Sat, 27 May
 2023 12:10:15 +0800)
Subject: Re: bug#63744: 28.2; fix dired-guess-default
References: <m1h6ry2z4o.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63744
Cc: 63744 <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: Leo Liu <sdl.web@HIDDEN>
> Date: Sat, 27 May 2023 12:10:15 +0800
> 
> I have this customisation
> 
> (setq dired-guess-shell-alist-user '(("." EXP)))
> 
> where EXP evaluates to a list of strings. It has been working for ~10
> years until Emacs 28.

What is the semantics of a list of strings in this case?
shell-command takes a single string as its argument COMMAND, it
doesn't take a list of strings.

> After some digging it turns out there is a rewrite of
> `dired-guess-default' which is not compatible. Previously returning a
> list of strings from EXP accidentally worked.
> 
>   (eval (car cmds) `((file . ,file)))  ; single command
> 
> but if it evaluates to a list of strings it is perfectly fine as per the
> documentation of dired-guess-default. I propose the following patch for
> remedy.

I'd rather not proliferate an undocumented "feature" that is merely a
side effect of the particular implementation we had at some point,
without understanding what it gives us.  The alternative is for you to
change your customization so that EXP returns the car of the list it
returned before, and that should be both easy and backward-compatible,
AFAIU.




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

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


Received: (at submit) by debbugs.gnu.org; 27 May 2023 04:10:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 27 00:10:29 2023
Received: from localhost ([127.0.0.1]:51167 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2lG8-0001uu-VY
	for submit <at> debbugs.gnu.org; Sat, 27 May 2023 00:10:29 -0400
Received: from lists.gnu.org ([209.51.188.17]:57558)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q2lG6-0001ul-U1
 for submit <at> debbugs.gnu.org; Sat, 27 May 2023 00:10:27 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q2lG5-0003mD-9H
 for bug-gnu-emacs@HIDDEN; Sat, 27 May 2023 00:10:26 -0400
Received: from ciao.gmane.io ([116.202.254.214])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q2lG3-0000Pd-Kb
 for bug-gnu-emacs@HIDDEN; Sat, 27 May 2023 00:10:24 -0400
Received: from list by ciao.gmane.io with local (Exim 4.92)
 (envelope-from <geb-bug-gnu-emacs@HIDDEN>)
 id 1q2lG0-00095q-M1
 for bug-gnu-emacs@HIDDEN; Sat, 27 May 2023 06:10:20 +0200
X-Injected-Via-Gmane: http://gmane.org/
To: bug-gnu-emacs@HIDDEN
From: Leo Liu <sdl.web@HIDDEN>
Subject: 28.2; fix dired-guess-default
Date: Sat, 27 May 2023 12:10:15 +0800
Message-ID: <m1h6ry2z4o.fsf@HIDDEN>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (macOS 11.7.6)
Cancel-Lock: sha1:D0bJRZqSf9GttrV0i2Q8ZhqgSh0=
Face: iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAGFBMVEUKDAg1NjRWV1V9fnyg
 op/DxcLk5uP8/voi63ReAAAACXBIWXMAAAWJAAAFiQFtaJ36AAAAB3RJTUUH1goZAgAz00bgXgAA
 AeVJREFUKM9lk0Fz2jAQhQXJD3CCO70CmcC1YMtcWyTZ14Bl69xats4N9r6/3zWQBlodNKNPu/s0
 b1cCQFuZGpfVVh3vAvBJolIXRkapSuoRUtIdFyo1Y5xSdlAj7OtvD1XnXxmWRi+eWgcxyCed1lVV
 B1CrKyujMoi+eLA5kU1SsjoHlW+nQjTtFxk4MXgrOxvIqzoTZR8XgPaLl419zgsMaSGFPiUOZCIh
 thsx5Xy9NsK8Kwf/JoQgMxcVJ301HKkcSWaT0O7FY056J4U9xcYfnmVXG4801lW6lqwu2nKFZoHC
 HuzvaTVndZ+LaRQgZdthXw1cpynEkLEwyFHXk/aIxNQ6QeooJuzPMB+wn+D7JJNsiCcVA13/A3h/
 xE9J+WidpAwoYNmRFwyvSRhNVtsdaAewzZZP5uw82QL9+tyNfocyP0McAzICUr5Mk9RdIjWasUNx
 aIIt6NK4ZtXIMdfMQt3nuMAyWbLI4DqZ4xPq/ag8jPond4XU/cLuOgw6XCFX/YCUfcDAMMH58fD4
 G9kDchwfqVefkBwup2uZM+Q4WhJt5jN3AxXCsaS2yXEDuWgS8VOzW0gFjhEPmLyFMKBFaLb1HRwc
 DiaKwx0EeTMRYnYPQRW3PP4HApvlMv0PttX5v/D6Aws3IOSEwzmLAAAAAElFTkSuQmCC
Received-SPF: pass client-ip=116.202.254.214;
 envelope-from=geb-bug-gnu-emacs@HIDDEN; helo=ciao.gmane.io
X-Spam_score_int: 5
X-Spam_score: 0.5
X-Spam_bar: /
X-Spam_report: (0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001,
 FORGED_GMAIL_RCVD=1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001,
 HEADER_FROM_DIFFERENT_DOMAINS=0.249, NML_ADSP_CUSTOM_MED=0.9,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -0.1 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.1 (-)

--=-=-=
Content-Type: text/plain

I have this customisation

(setq dired-guess-shell-alist-user '(("." EXP)))

where EXP evaluates to a list of strings. It has been working for ~10
years until Emacs 28.

After some digging it turns out there is a rewrite of
`dired-guess-default' which is not compatible. Previously returning a
list of strings from EXP accidentally worked.

  (eval (car cmds) `((file . ,file)))  ; single command

but if it evaluates to a list of strings it is perfectly fine as per the
documentation of dired-guess-default. I propose the following patch for
remedy.


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=0001-Fix-dired-guess-default.patch
Content-Description: 0001-Fix-dired-guess-default.patch

From 16fbf6eb7e054d715326801647af579715f2911f Mon Sep 17 00:00:00 2001
From: Leo Liu <sdl.web@HIDDEN>
Date: Sat, 27 May 2023 12:03:08 +0800
Subject: [PATCH] Fix dired-guess-default

* lisp/dired-x.el (dired-guess-shell-alist-user): Document COMMAND can
also return a list of strings.
(dired-guess-default): Handle list of strings from eval COMMAND.
---
 lisp/dired-x.el | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index bc85da2c..0420a86c 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -950,9 +950,9 @@ If several files are to be processed, REGEXP has to match all the
 files.
 
 Each COMMAND can either be a string or a Lisp expression that evaluates
-to a string.  If this expression needs to consult the name of the file for
-which the shell commands are being requested, it can access that file name
-as the variable `file'.
+to a string or list of strings.  If this expression needs to consult
+the name of the file for which the shell commands are being requested,
+it can access that file name as the variable `file'.
 
 If several COMMANDs are given, the first one will be the default
 and the rest will be added temporarily to the history and can be retrieved
@@ -975,9 +975,9 @@ See `dired-guess-shell-alist-user'."
   (let* ((case-fold-search dired-guess-shell-case-fold-search)
          (programs
           (delete-dups
-           (mapcar
+           (mapcan
             (lambda (command)
-              (eval command `((file . ,(car files)))))
+              (ensure-list (eval command `((file . ,(car files))))))
             (seq-reduce
              #'append
              (mapcar #'cdr
-- 
2.32.0 (Apple Git-132)


--=-=-=--





Acknowledgement sent to Leo Liu <sdl.web@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#63744; 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: Sat, 20 Jan 2024 12:30:02 UTC

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