GNU bug report logs - #76745
31.0.50; ?d action in save-some-buffers-action-alist to view diff does not work

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: StrawberryTea <look@HIDDEN>; Done: Juri Linkov <juri@HIDDEN>; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
bug marked as fixed in version 31.0.50, send any further explanations to 76745 <at> debbugs.gnu.org and StrawberryTea <look@HIDDEN> Request was from Juri Linkov <juri@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at 76745) by debbugs.gnu.org; 19 Mar 2025 19:11:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 19 15:11:37 2025
Received: from localhost ([127.0.0.1]:53152 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tuypE-0003h4-Q5
	for submit <at> debbugs.gnu.org; Wed, 19 Mar 2025 15:11:37 -0400
Received: from relay9-d.mail.gandi.net ([2001:4b98:dc4:8::229]:58601)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <juri@HIDDEN>)
 id 1tuypB-0003gk-UW; Wed, 19 Mar 2025 15:11:35 -0400
Received: by mail.gandi.net (Postfix) with ESMTPSA id 8249044384;
 Wed, 19 Mar 2025 19:11:24 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: StrawberryTea <look@HIDDEN>
Subject: Re: bug#76745: 31.0.50; ?d action in save-some-buffers-action-alist
 to view diff does not work
In-Reply-To: <87zfhlbzn3.fsf@HIDDEN>
Organization: LINKOV.NET
References: <875xko3a5w.fsf@HIDDEN>
 <877c53dij9.fsf@HIDDEN> <87ecz17kty.fsf@HIDDEN>
 <8734fhz41f.fsf@HIDDEN> <87zfhlbzn3.fsf@HIDDEN>
Date: Wed, 19 Mar 2025 21:09:24 +0200
Message-ID: <87ldt0x2fv.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-State: clean
X-GND-Score: 0
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddugeeiudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecunecujfgurhephffvvefujghofhffkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecuggftrfgrthhtvghrnhepffegteefveelhfeljeefueehieduiedtfffhuddtkeeffffghfevheetgeeukeehnecukfhppeeluddruddvledruddthedruddujeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeeluddruddvledruddthedruddujedphhgvlhhopehmrghilhdrghgrnhguihdrnhgvthdpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnsggprhgtphhtthhopeefpdhrtghpthhtoheptghonhhtrhholhesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopeejieejgeehseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtoheplhhoohhksehsthhrrgifsggvrhhrhihtvggrrdighiii
X-GND-Sasl: juri@HIDDEN
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 76745
Cc: 76745 <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 (-)

close 76745 31.0.50
thanks

> Well, let's do this then. Patch something in so that save-some-buffers
> "d" key lets us do "q" to exit the diff buffer. I still disagree because
> view-mode is supported by Evil etc but if we do like a local-set-key or
> something, it will probably break other packages that don't handle this
> very special case of save-some-buffers.

After more analysis I found that this problem is not specific to diff-mode.
For example, hexl-mode also has

  (put 'hexl-mode 'mode-class 'special)

Then in a file with 'hexl-mode' after typing 'C-x s C-r q' nothing happens,
no exit from recursive-edit.  Because 'C-r' in 'save-some-buffers-action-alist'
relies on the same unreliable trick:

  (view-buffer buf (lambda (_) (exit-recursive-edit)))

So now both cases are fixed in 'save-some-buffers-action-alist'.




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

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


Received: (at 76745) by debbugs.gnu.org; 16 Mar 2025 00:14:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 15 20:14:21 2025
Received: from localhost ([127.0.0.1]:44129 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ttbdz-00065r-Kz
	for submit <at> debbugs.gnu.org; Sat, 15 Mar 2025 20:14:21 -0400
Received: from fout-a4-smtp.messagingengine.com ([103.168.172.147]:44787)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <look@HIDDEN>)
 id 1ttbdv-00064s-L2
 for 76745 <at> debbugs.gnu.org; Sat, 15 Mar 2025 20:14:16 -0400
Received: from phl-compute-10.internal (phl-compute-10.phl.internal
 [10.202.2.50])
 by mailfout.phl.internal (Postfix) with ESMTP id 272D91382CE4;
 Sat, 15 Mar 2025 20:14:10 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-10.internal (MEProxy); Sat, 15 Mar 2025 20:14:10 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 strawberrytea.xyz; h=cc:cc: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=fm2; t=1742084050;
 x=1742170450; bh=VF4l90oxmOz193AgI1wiIrcaQ0G+4+pTFVyCo8TE0fA=; b=
 MLE7bKAH5EuYfdBFEobr1n4bqY0m+UlItELLKC9WMcmPms2LhQMBs4Te0XvmmKwh
 SD2GalNfqFYrdkYFQ2jFzYSzV4rMKGSESXo/oBTk8lZmp793rVozT1FZPbFRoC8p
 ZYTA4OC6b9PdbiXBOvJ6LxXQ5fCehm84vUk7VJeLC2RDGDuEgVlrZ7dC26vlwko0
 Cu5j3GJKIS2aYcEzFZD2q3yJvbViy0XFRy+LULSjrhDN09DdTY2PHNTtGq+BUxcd
 mxYheXHb0B8LYXk5F9NqK98ZWlUpNVrKz28Lqnd1V1YEH0gvFNnnQfRyySYkOakl
 1NHamEjPoFezf23Q+MXIyg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc: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=fm1; t=
 1742084050; x=1742170450; bh=VF4l90oxmOz193AgI1wiIrcaQ0G+4+pTFVy
 Co8TE0fA=; b=iYPaHncuT9KEjr6RmsWRprGqPjZJpVcOKXiPJ22Vz9Grfwlts7y
 VYb0JPl+A2h+ggvtz9XO1eK1bmFPJv12TtTjkaz9ILRr4tJ3swVIWaHmDmrkFzH1
 Vjb1NGVbs5R+CP3T+fA2+bsmLtZHvBwmZQLJA/5nS9wrZti65sKnc8A6QwRKiJ1P
 8WyQZf38RmOqv98+F7RBPaf3YyvNve7zL4W+jBGaMJPgSjKfMb7pgTJdCOiWLDfH
 19Vx2tvp63QiY937w2cm0fAtaSdMs9SBa8iYMnhU65LW8YBApolfksNJuDfKi5wa
 Z18nBNnWupaSLoXo2I3H3LSFVA+6ugHUm+g==
X-ME-Sender: <xms:0RfWZwAckIUQHwhGYoKqIhVnlfwJUlKLVN3Q1ZLPzvfRWAuEM5VK6A>
 <xme:0RfWZygIem-VsU2O4kj8mE_Fk17gRq9nzfsY7d4IljyWLyYY5_o9-EA9jAX4morp8
 m3CS0h66z1xSORARp0>
X-ME-Received: <xmr:0RfWZznBiUZZfAbzvuAC54u8o0LYST_G9AIFAGAFa9xeYuCCGfZaMg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddufeehudefucetufdoteggodetrf
 dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
 pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
 gvnhhtshculddquddttddmnegfrhhlucfvnfffucdljedtmdenucfjughrpefhvfevufgj
 fhgffffkgggtsehttdertddtredtnecuhfhrohhmpefuthhrrgifsggvrhhrhifvvggruc
 eolhhoohhksehsthhrrgifsggvrhhrhihtvggrrdighiiiqeenucggtffrrghtthgvrhhn
 pedvvdeiheeffeelhfeugeektefhtedvjefhffefkefgieekhedtlefghfduvdetgfenuc
 evlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlohhokhes
 shhtrhgrfigsvghrrhihthgvrgdrgiihiidpnhgspghrtghpthhtohepfedpmhhouggvpe
 hsmhhtphhouhhtpdhrtghpthhtoheplhhoohhksehsthhrrgifsggvrhhrhihtvggrrdig
 hiiipdhrtghpthhtohepjeeijeegheesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtph
 htthhopehjuhhriheslhhinhhkohhvrdhnvght
X-ME-Proxy: <xmx:0RfWZ2znr5_KPpo0l4_LyT7hrZjlqEhXOttba5-IfRcaetAgHJp1gw>
 <xmx:0RfWZ1RVpENYUzQ8f7qnmn1u3xju0nfZdrwpUuX5Kv_9Wy-aOf9h6A>
 <xmx:0RfWZxZp-HM7DSVY1Tv0riU2oRXGg7XEK-aW-5AtU8sKu1fKZBgbGQ>
 <xmx:0RfWZ-QTFPYFAgTOC2R0wtEqujj7Gm19waIFL_79_ac3-duFjuscBg>
 <xmx:0hfWZ3ebIPycXDdKUup09yaGY_l16V0uHCu2EbgkSMevPT0x3yKcgdFn>
Feedback-ID: id85149b6:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
 15 Mar 2025 20:14:09 -0400 (EDT)
From: StrawberryTea <look@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
Subject: Re: bug#76745: 31.0.50; ?d action in save-some-buffers-action-alist
 to view diff does not work
In-Reply-To: <8734fhz41f.fsf@HIDDEN>
References: <875xko3a5w.fsf@HIDDEN>
 <877c53dij9.fsf@HIDDEN> <87ecz17kty.fsf@HIDDEN>
 <8734fhz41f.fsf@HIDDEN>
User-Agent: mu4e 1.12.9; emacs 31.0.50
Date: Sat, 15 Mar 2025 20:14:08 -0400
Message-ID: <87zfhlbzn3.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 1.4 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  Juri Linkov <juri@HIDDEN> writes: Well, let's do this
 then. Patch something in so that save-some-buffers "d" key lets us do "q"
 to exit the diff buffer. I still disagree because view-mode is supported by
 Evil etc but if we do like a l [...] 
 Content analysis details:   (1.4 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED RBL: ADMINISTRATOR NOTICE:
 The query to Validity was blocked.  See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243
 for more information.
 [103.168.172.147 listed in sa-accredit.habeas.com]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 0.9 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: strawberrytea.xyz (xyz)]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The
 query to Validity was blocked.  See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243
 for more information.
 [103.168.172.147 listed in bl.score.senderscore.com]
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [103.168.172.147 listed in list.dnswl.org]
 0.1 URIBL_SBL_A Contains URL's A record listed in the Spamhaus SBL
 blocklist [URIs: linkov.net]
 0.6 URIBL_SBL Contains an URL's NS IP listed in the Spamhaus SBL
 blocklist [URIs: linkov.net]
 0.5 FROM_SUSPICIOUS_NTLD   From abused NTLD
X-Debbugs-Envelope-To: 76745
Cc: 76745 <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.4 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  Juri Linkov <juri@HIDDEN> writes: Well, let's do this
   then. Patch something in so that save-some-buffers "d" key lets us do "q"
   to exit the diff buffer. I still disagree because view-mode is supported by
    Evil etc but if we do like a l [...] 
 
 Content analysis details:   (1.4 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The
                             query to Validity was blocked.  See
                             https://knowledge.validity.com/hc/en-us/articles/20961730681243
                              for more information.
                           [103.168.172.147 listed in bl.score.senderscore.com]
  0.0 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED RBL: ADMINISTRATOR NOTICE:
                             The query to Validity was blocked.  See
                             https://knowledge.validity.com/hc/en-us/articles/20961730681243
                              for more information.
                        [103.168.172.147 listed in sa-trusted.bondedsender.org]
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
                             low trust
                             [103.168.172.147 listed in list.dnswl.org]
  0.1 URIBL_SBL_A            Contains URL's A record listed in the Spamhaus SBL
                             blocklist
                             [URIs: linkov.net]
  0.6 URIBL_SBL              Contains an URL's NS IP listed in the Spamhaus SBL
                             blocklist
                             [URIs: linkov.net]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
  0.9 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
                             [URI: strawberrytea.xyz (xyz)]
 -0.0 SPF_PASS               SPF: sender matches SPF record
  1.0 BULK_RE_SUSP_NTLD      Precedence bulk and RE: from a suspicious TLD
  0.5 FROM_SUSPICIOUS_NTLD   From abused NTLD
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager

Juri Linkov <juri@HIDDEN> writes:

Well, let's do this then. Patch something in so that save-some-buffers
"d" key lets us do "q" to exit the diff buffer. I still disagree because
view-mode is supported by Evil etc but if we do like a local-set-key or
something, it will probably break other packages that don't handle this
very special case of save-some-buffers.

>> Well, I agree that for save-some-buffers we should enter view-mode. But
>> I don't see why view-mode should be disabled for diff-mode in general.
>
> Because view-mode overrides diff-mode single letter keybindings:
>
>   "n" #'diff-hunk-next
>   "N" #'diff-file-next
>   "p" #'diff-hunk-prev
>   "P" #'diff-file-prev
>   "k" #'diff-hunk-kill
>   "K" #'diff-file-kill
>   "}" #'diff-file-next
>   "{" #'diff-file-prev
>   "RET" #'diff-goto-source
>   "W" #'widen
>   "w" #'diff-kill-ring-save
>   "o" #'diff-goto-source
>   "A" #'diff-ediff-patch
>   "r" #'diff-restrict-view
>   "R" #'diff-reverse-direction
>
>> The key issue here is that diff-mode serves multiple purposes:
>>
>> 1. Sometimes diff buffers are purely for viewing (like in
>>    save-some-buffers), where the primary user need is quick navigation
>>    and an easy way to exit
>
> I think save-some-buffers is a special case that can be handled specially
> in save-some-buffers to enable view-mode explicitly.
>
>> 2. Other times, users need to actively work with diff content -
>>    navigating by sections, copying hunks, applying patches, etc.
>
> Such actions as navigating by sections and copying hunks
> often needed also while viewing diffs.
>
>> Disabling view-mode entirely for diff-mode (as in #75993) prioritizes
>> the second use case at the expense of the first. But I believe a better
>> approach is to maintain both capabilities and let users or calling
>> functions decide which mode is appropriate for their context.
>
> Users can decide whether to enable view-mode by e.g.
>
>   (add-hook 'diff-mode 'view-mode-enter)
>
> And the caller in 'save-some-buffers' can enable it too.
>
>> For viewing-only situations like save-some-buffers, view-mode provides
>> valuable functionality - particularly the quick navigation keys and the
>> critical ability to exit with 'q' which triggers exit-recursive-edit in
>> this context.
>
> The required functionality from view-mode in this case is only 'q'
> to trigger exit-recursive-edit.
>
>> Rather than disabling view-mode completely for diff-mode, we should
>> investigate why view-mode is being activated when you do not intend it
>> to be. If there are specific situations where view-mode interferes with
>> diff-mode functionality, we should consider either disabling view-mode
>> in those specific contexts or exiting view-mode in those situations,
>> rather than making a global change that affects all diff-mode usage.
>
> view-mode does more harm than good to diff-mode.  So I think
> it should be opt-in, not opt-out.
>
> Even with 'view-read-only' customized to t, no one asked to enable view-mode
> for the most frequent use case of showing diffs from vc-diff where
> view-mode was never activated, because it's activated only for files.




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

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


Received: (at 76745) by debbugs.gnu.org; 13 Mar 2025 18:07:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 13 14:07:30 2025
Received: from localhost ([127.0.0.1]:58011 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tsmxu-00065O-2y
	for submit <at> debbugs.gnu.org; Thu, 13 Mar 2025 14:07:30 -0400
Received: from relay5-d.mail.gandi.net ([2001:4b98:dc4:8::225]:56219)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1tsmxk-00064W-9S
 for 76745 <at> debbugs.gnu.org; Thu, 13 Mar 2025 14:07:21 -0400
Received: by mail.gandi.net (Postfix) with ESMTPSA id DB9C144340;
 Thu, 13 Mar 2025 18:07:09 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: StrawberryTea <look@HIDDEN>
Subject: Re: bug#76745: 31.0.50; ?d action in save-some-buffers-action-alist
 to view diff does not work
In-Reply-To: <87ecz17kty.fsf@HIDDEN>
Organization: LINKOV.NET
References: <875xko3a5w.fsf@HIDDEN>
 <877c53dij9.fsf@HIDDEN> <87ecz17kty.fsf@HIDDEN>
Date: Thu, 13 Mar 2025 19:53:30 +0200
Message-ID: <8734fhz41f.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-State: clean
X-GND-Score: 0
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduvdekieefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecunecujfgurhephffvvefujghofhffkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecuggftrfgrthhtvghrnhepffegteefveelhfeljeefueehieduiedtfffhuddtkeeffffghfevheetgeeukeehnecukfhppeeluddruddvledruddthedruddujeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeeluddruddvledruddthedruddujedphhgvlhhopehmrghilhdrghgrnhguihdrnhgvthdpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnsggprhgtphhtthhopedvpdhrtghpthhtohepjeeijeegheesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopehlohhokhesshhtrhgrfigsvghrrhihthgvrgdrgiihii
X-GND-Sasl: juri@HIDDEN
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 76745
Cc: 76745 <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 (-)

> Well, I agree that for save-some-buffers we should enter view-mode. But
> I don't see why view-mode should be disabled for diff-mode in general.

Because view-mode overrides diff-mode single letter keybindings:

  "n" #'diff-hunk-next
  "N" #'diff-file-next
  "p" #'diff-hunk-prev
  "P" #'diff-file-prev
  "k" #'diff-hunk-kill
  "K" #'diff-file-kill
  "}" #'diff-file-next
  "{" #'diff-file-prev
  "RET" #'diff-goto-source
  "W" #'widen
  "w" #'diff-kill-ring-save
  "o" #'diff-goto-source
  "A" #'diff-ediff-patch
  "r" #'diff-restrict-view
  "R" #'diff-reverse-direction

> The key issue here is that diff-mode serves multiple purposes:
>
> 1. Sometimes diff buffers are purely for viewing (like in
>    save-some-buffers), where the primary user need is quick navigation
>    and an easy way to exit

I think save-some-buffers is a special case that can be handled specially
in save-some-buffers to enable view-mode explicitly.

> 2. Other times, users need to actively work with diff content -
>    navigating by sections, copying hunks, applying patches, etc.

Such actions as navigating by sections and copying hunks
often needed also while viewing diffs.

> Disabling view-mode entirely for diff-mode (as in #75993) prioritizes
> the second use case at the expense of the first. But I believe a better
> approach is to maintain both capabilities and let users or calling
> functions decide which mode is appropriate for their context.

Users can decide whether to enable view-mode by e.g.

  (add-hook 'diff-mode 'view-mode-enter)

And the caller in 'save-some-buffers' can enable it too.

> For viewing-only situations like save-some-buffers, view-mode provides
> valuable functionality - particularly the quick navigation keys and the
> critical ability to exit with 'q' which triggers exit-recursive-edit in
> this context.

The required functionality from view-mode in this case is only 'q'
to trigger exit-recursive-edit.

> Rather than disabling view-mode completely for diff-mode, we should
> investigate why view-mode is being activated when you do not intend it
> to be. If there are specific situations where view-mode interferes with
> diff-mode functionality, we should consider either disabling view-mode
> in those specific contexts or exiting view-mode in those situations,
> rather than making a global change that affects all diff-mode usage.

view-mode does more harm than good to diff-mode.  So I think
it should be opt-in, not opt-out.

Even with 'view-read-only' customized to t, no one asked to enable view-mode
for the most frequent use case of showing diffs from vc-diff where
view-mode was never activated, because it's activated only for files.




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

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


Received: (at 76745) by debbugs.gnu.org; 13 Mar 2025 01:58:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 12 21:58:51 2025
Received: from localhost ([127.0.0.1]:52497 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tsXqU-0002JR-KU
	for submit <at> debbugs.gnu.org; Wed, 12 Mar 2025 21:58:51 -0400
Received: from fhigh-a3-smtp.messagingengine.com ([103.168.172.154]:49033)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <look@HIDDEN>)
 id 1tsXqL-0002Ip-Rl
 for 76745 <at> debbugs.gnu.org; Wed, 12 Mar 2025 21:58:47 -0400
Received: from phl-compute-07.internal (phl-compute-07.phl.internal
 [10.202.2.47])
 by mailfhigh.phl.internal (Postfix) with ESMTP id 609861140209;
 Wed, 12 Mar 2025 21:58:35 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-07.internal (MEProxy); Wed, 12 Mar 2025 21:58:35 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 strawberrytea.xyz; h=cc:cc: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=fm2; t=1741831115;
 x=1741917515; bh=iMFxnmfG2CjvHOsY4XbZJrvEB72h3CfP5U7ajhawq/4=; b=
 QomEzimf9ccA7mJnIfEU0PkDSnxFBySS0jxxOHOFtx5NzcnbUs+2Gb/svdAgHxIp
 mp0l//RU5qsqUhFuXygZS0CiA994U/SJgGjY+czEatogFBY2sQP0H+IlOosaH4vY
 PktGk89txTqucrAUfp17BUSsysiSTXesuEeCoTc94/qtCDbwPAQIuu0lohGJWAZz
 oI8LlXzKY0dj5Ux6PFNHRoC6GKw+nYQm/xccNY0t7plIGJs7Bl73Bob4vvdP6QXt
 PTsAvRkTgtBnAr2tSeeSGqB/8CnB3sF2AWL0B0I7On2PPtEPyoe2yumh0ARxi164
 RQYxBUu6VE97xWXFkNpZWQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc: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=fm1; t=
 1741831115; x=1741917515; bh=iMFxnmfG2CjvHOsY4XbZJrvEB72h3CfP5U7
 ajhawq/4=; b=zWkyQp3pn4JP2I6CWNA8xuafhzK8PcNSHQiUNTUetO/W4zo0p+i
 e027f8O/AcjmY9Y7NKQsWWwbkn7pubOOF47bfzZS/WV2PzLd8ZQyJ0eU8/YcYNeK
 BEFVUWJ4x4pJAWmNW8JJQw9iwDKtohQih/UhXPjgeWLkcDN66EFJYDsrEv/bsXJ/
 LS1fgZWZN9Mvl6UUbrN2RjHiw0AGA/DsUQ1yfJsAgodNviXd8jeP4i8SlbwjZ5JU
 nzXc5OxJlQ8FuFonEa9930WP19b2sjx65Z6T9CdAlCpu2Kvr+ng9yeUHA1ODXRFn
 rIZY1TUvhv9DwGLJlEA54sKCBM/8PjBuOyQ==
X-ME-Sender: <xms:yjvSZx5S8Zv3y8NzNfkFN-BDaX6OZBvaiZ56MuN-FeAaIXS-1PhttA>
 <xme:yjvSZ-4GJTXo_D8LxgGFgmMnXwKvUsgmyFPGLkvk8D8-EgucM3eBsdigV5gsZGgCu
 JME1XbsKSc4IxcxbAs>
X-ME-Received: <xmr:yjvSZ4cfxqOge9jJbMoBPCD52XpHtgGAuRKsCPloeq7NF18LUc7YPg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdduvdeiieelucetufdoteggodetrf
 dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
 pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
 gvnhhtshculddquddttddmnegfrhhlucfvnfffucdljedtmdenucfjughrpefhvfevufgj
 fhgffffkgggtsehttdertddtredtnecuhfhrohhmpefuthhrrgifsggvrhhrhifvvggruc
 eolhhoohhksehsthhrrgifsggvrhhrhihtvggrrdighiiiqeenucggtffrrghtthgvrhhn
 pedvvdeiheeffeelhfeugeektefhtedvjefhffefkefgieekhedtlefghfduvdetgfenuc
 evlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlohhokhes
 shhtrhgrfigsvghrrhihthgvrgdrgiihiidpnhgspghrtghpthhtohepfedpmhhouggvpe
 hsmhhtphhouhhtpdhrtghpthhtoheplhhoohhksehsthhrrgifsggvrhhrhihtvggrrdig
 hiiipdhrtghpthhtohepjeeijeegheesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtph
 htthhopehjuhhriheslhhinhhkohhvrdhnvght
X-ME-Proxy: <xmx:yjvSZ6IiBiNGrFjNB_tHhAGbpbTTHDaYxe97sX4J-7hWqRGHyF6TyA>
 <xmx:yjvSZ1IPVhJN-x8RkLdT5fqG4G_bhVlMS6cV2qgEj4WWwxi7GeRFaQ>
 <xmx:yjvSZzzO5tw9lOZNWEA1kNsYErwKrXrHjD21jpYyjpUQKwWVRdXtxQ>
 <xmx:yjvSZxJJfQWWVDdDHEnPyC3OwsLIWrghFIUcfYNBlcblc18ZMiVHRQ>
 <xmx:yzvSZ10_LMxxfOwwwvE6meir4WRmU7Sd6V5XzSXpDTO2ttilbbbpsfys>
Feedback-ID: id85149b6:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 12 Mar 2025 21:58:34 -0400 (EDT)
From: StrawberryTea <look@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
Subject: Re: bug#76745: 31.0.50; ?d action in save-some-buffers-action-alist
 to view diff does not work
In-Reply-To: <877c53dij9.fsf@HIDDEN>
References: <875xko3a5w.fsf@HIDDEN> <877c53dij9.fsf@HIDDEN>
User-Agent: mu4e 1.12.9; emacs 31.0.50
Date: Wed, 12 Mar 2025 21:58:33 -0400
Message-ID: <87ecz17kty.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 1.2 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  Juri Linkov <juri@HIDDEN> writes: Well, I agree that for
 save-some-buffers we should enter view-mode. But I don't see why view-mode
 should be disabled for diff-mode in general. Diff-mode is a majo [...] 
 Content analysis details:   (1.2 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The
 query to Validity was blocked.  See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243
 for more information.
 [103.168.172.154 listed in bl.score.senderscore.com]
 0.0 RCVD_IN_VALIDITY_SAFE_BLOCKED RBL: ADMINISTRATOR NOTICE: The
 query to Validity was blocked.  See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243
 for more information.
 [103.168.172.154 listed in sa-accredit.habeas.com]
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
 low trust [103.168.172.154 listed in list.dnswl.org]
 0.1 URIBL_SBL_A Contains URL's A record listed in the Spamhaus SBL
 blocklist [URIs: linkov.net]
 0.6 URIBL_SBL Contains an URL's NS IP listed in the Spamhaus SBL
 blocklist [URIs: linkov.net]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 0.7 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: strawberrytea.xyz (xyz)]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 0.5 FROM_SUSPICIOUS_NTLD   From abused NTLD
X-Debbugs-Envelope-To: 76745
Cc: 76745 <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.2 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  Juri Linkov <juri@HIDDEN> writes: Well, I agree that for
    save-some-buffers we should enter view-mode. But I don't see why view-mode
    should be disabled for diff-mode in general. Diff-mode is a majo [...] 
 
 Content analysis details:   (1.2 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The
                             query to Validity was blocked.  See
                             https://knowledge.validity.com/hc/en-us/articles/20961730681243
                              for more information.
                           [103.168.172.154 listed in bl.score.senderscore.com]
  0.0 RCVD_IN_VALIDITY_SAFE_BLOCKED RBL: ADMINISTRATOR NOTICE: The
                             query to Validity was blocked.  See
                             https://knowledge.validity.com/hc/en-us/articles/20961730681243
                              for more information.
                        [103.168.172.154 listed in sa-trusted.bondedsender.org]
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at https://www.dnswl.org/,
                             low trust
                             [103.168.172.154 listed in list.dnswl.org]
  0.1 URIBL_SBL_A            Contains URL's A record listed in the Spamhaus SBL
                             blocklist
                             [URIs: linkov.net]
  0.6 URIBL_SBL              Contains an URL's NS IP listed in the Spamhaus SBL
                             blocklist
                             [URIs: linkov.net]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
  0.7 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
                             [URI: strawberrytea.xyz (xyz)]
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.5 FROM_SUSPICIOUS_NTLD   From abused NTLD
  1.0 BULK_RE_SUSP_NTLD      Precedence bulk and RE: from a suspicious TLD
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager

Juri Linkov <juri@HIDDEN> writes:
Well, I agree that for save-some-buffers we should enter view-mode. But
I don't see why view-mode should be disabled for diff-mode in general.
Diff-mode is a major mode that is used for viewing diffs, it is not
specifically for save-some-buffers.

The key issue here is that diff-mode serves multiple purposes:

1. Sometimes diff buffers are purely for viewing (like in
   save-some-buffers), where the primary user need is quick navigation
   and an easy way to exit

2. Other times, users need to actively work with diff content -
   navigating by sections, copying hunks, applying patches, etc.

Disabling view-mode entirely for diff-mode (as in #75993) prioritizes
the second use case at the expense of the first. But I believe a better
approach is to maintain both capabilities and let users or calling
functions decide which mode is appropriate for their context.

For viewing-only situations like save-some-buffers, view-mode provides
valuable functionality - particularly the quick navigation keys and the
critical ability to exit with 'q' which triggers exit-recursive-edit in
this context.

Rather than disabling view-mode completely for diff-mode, we should
investigate why view-mode is being activated when you do not intend it
to be. If there are specific situations where view-mode interferes with
diff-mode functionality, we should consider either disabling view-mode
in those specific contexts or exiting view-mode in those situations,
rather than making a global change that affects all diff-mode usage.
>> Hello. I have found that the fix from #75993 breaks the ?d action in
>> save-some-buffers-action-alist. The reason is that since we are not
>> entering view-mode after #75993, when we type ?q to quit the diff
>> window, we are not calling exit-recursive-edit to return to the
>> save-some-buffers queries.
>>
>> So on one hand, we want to scroll through the diff easily to decide
>> whether to save the buffer or not. But on the other hand, we want to
>> navigate by the diff sections and copy hunks. To me, this is a model
>> editing situation. The user should exit view mode to perform diff
>> commands instead of disabling view-mode for diffs altogether like in
>> #75993.
>>
>> But anyway, I propose that we revert #75993.
>
> Reverting will again steal single-letter keys from diff-mode to view-mode.
>
> Why not change only 'save-some-buffers-action-alist' and replace
>
>   (view-buffer diffbuf (lambda (_) (exit-recursive-edit)))
>
> with
>
>   (with-current-buffer diffbuf (view-mode-enter nil (lambda (_) (exit-recursive-edit))))




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

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


Received: (at 76745) by debbugs.gnu.org; 5 Mar 2025 07:59:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 05 02:59:09 2025
Received: from localhost ([127.0.0.1]:34662 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tpjem-00044O-IH
	for submit <at> debbugs.gnu.org; Wed, 05 Mar 2025 02:59:08 -0500
Received: from relay9-d.mail.gandi.net ([217.70.183.199]:52299)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1tpjeT-000434-8S
 for 76745 <at> debbugs.gnu.org; Wed, 05 Mar 2025 02:58:49 -0500
Received: by mail.gandi.net (Postfix) with ESMTPSA id B630F44295;
 Wed,  5 Mar 2025 07:58:39 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: StrawberryTea <look@HIDDEN>
Subject: Re: bug#76745: 31.0.50; ?d action in save-some-buffers-action-alist
 to view diff does not work
In-Reply-To: <875xko3a5w.fsf@HIDDEN>
Organization: LINKOV.NET
References: <875xko3a5w.fsf@HIDDEN>
Date: Wed, 05 Mar 2025 09:58:10 +0200
Message-ID: <877c53dij9.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-State: clean
X-GND-Score: 0
X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddutdegvdeiucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecunecujfgurhephffvvefujghofhffkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecuggftrfgrthhtvghrnhepffegteefveelhfeljeefueehieduiedtfffhuddtkeeffffghfevheetgeeukeehnecukfhppeeluddruddvledruddthedruddujeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeeluddruddvledruddthedruddujedphhgvlhhopehmrghilhdrghgrnhguihdrnhgvthdpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnsggprhgtphhtthhopedvpdhrtghpthhtohepjeeijeegheesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopehlohhokhesshhtrhgrfigsvghrrhihthgvrgdrgiihii
X-GND-Sasl: juri@HIDDEN
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 76745
Cc: 76745 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

> Hello. I have found that the fix from #75993 breaks the ?d action in
> save-some-buffers-action-alist. The reason is that since we are not
> entering view-mode after #75993, when we type ?q to quit the diff
> window, we are not calling exit-recursive-edit to return to the
> save-some-buffers queries.
>
> So on one hand, we want to scroll through the diff easily to decide
> whether to save the buffer or not. But on the other hand, we want to
> navigate by the diff sections and copy hunks. To me, this is a model
> editing situation. The user should exit view mode to perform diff
> commands instead of disabling view-mode for diffs altogether like in
> #75993.
>
> But anyway, I propose that we revert #75993.

Reverting will again steal single-letter keys from diff-mode to view-mode.

Why not change only 'save-some-buffers-action-alist' and replace

  (view-buffer diffbuf (lambda (_) (exit-recursive-edit)))

with

  (with-current-buffer diffbuf (view-mode-enter nil (lambda (_) (exit-recursive-edit))))




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

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


Received: (at 76745) by debbugs.gnu.org; 4 Mar 2025 19:37:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 04 14:37:46 2025
Received: from localhost ([127.0.0.1]:32967 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tpY5J-0000xj-Td
	for submit <at> debbugs.gnu.org; Tue, 04 Mar 2025 14:37:46 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:41834)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tpY5H-0000xU-Em
 for 76745 <at> debbugs.gnu.org; Tue, 04 Mar 2025 14:37:43 -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 1tpY5B-0001u3-7Z; Tue, 04 Mar 2025 14:37: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=QG+rBZRmmyKDwDumhP9YAzX1Giwja7doaeyF9G0nrR0=; b=DlPP3GsRCNW0
 EUn5OR+eTKKrRRk3RnLaaqnkdGiA6xV1grT5zuW5Nk/gt5LQt5dc1epDEczFovdJ80CI7sm4p+glx
 x+itc11oonL9aKqqAsMtmM6HhZOP8OkeFp4+Pu2fBQoVhVQEmoo5Xo+XrBDZ2NSKkUWhaSIWAOK3Y
 HvVguZ2Z+G4RBGRbzU67uvbpBtnhj9VhFaXQ1kcNt0Y0/zzECqGI0fcquipoDe1QAraqOoTyVXwtP
 +fnTYuWKp0GVPMK43R/kN5oZsGASSt/ahPPjkFftfOf9kqSs+KAlujNnpI3iRymKEIZQB0L9bBTHy
 acc8XA+HPJ7r0/cEYEY1Pg==;
Date: Tue, 04 Mar 2025 21:36:48 +0200
Message-Id: <86tt88poz3.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: StrawberryTea <look@HIDDEN>, Juri Linkov <juri@HIDDEN>
In-Reply-To: <875xko3a5w.fsf@HIDDEN> (message from StrawberryTea on
 Tue, 04 Mar 2025 13:47:39 -0500)
Subject: Re: bug#76745: 31.0.50;
 ?d action in save-some-buffers-action-alist to view diff does not work
References: <875xko3a5w.fsf@HIDDEN>
X-Spam-Score: -0.3 (/)
X-Debbugs-Envelope-To: 76745
Cc: 76745 <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.3 (-)

> From: StrawberryTea <look@HIDDEN>
> Date: Tue, 04 Mar 2025 13:47:39 -0500
> 
> 
> Hello. I have found that the fix from #75993 breaks the ?d action in
> save-some-buffers-action-alist. The reason is that since we are not
> entering view-mode after #75993, when we type ?q to quit the diff
> window, we are not calling exit-recursive-edit to return to the
> save-some-buffers queries.
> 
> So on one hand, we want to scroll through the diff easily to decide
> whether to save the buffer or not. But on the other hand, we want to
> navigate by the diff sections and copy hunks. To me, this is a model
> editing situation. The user should exit view mode to perform diff
> commands instead of disabling view-mode for diffs altogether like in
> #75993.
> 
> But anyway, I propose that we revert #75993.

Adding Juri to the discussion.




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

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


Received: (at submit) by debbugs.gnu.org; 4 Mar 2025 18:48:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 04 13:48:31 2025
Received: from localhost ([127.0.0.1]:60914 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tpXJd-0006ly-2I
	for submit <at> debbugs.gnu.org; Tue, 04 Mar 2025 13:48:31 -0500
Received: from lists.gnu.org ([2001:470:142::17]:38586)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <look@HIDDEN>)
 id 1tpXJX-0006k0-Ru
 for submit <at> debbugs.gnu.org; Tue, 04 Mar 2025 13:48:26 -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 <look@HIDDEN>)
 id 1tpXJ3-0004mu-CE
 for bug-gnu-emacs@HIDDEN; Tue, 04 Mar 2025 13:47:53 -0500
Received: from fhigh-a8-smtp.messagingengine.com ([103.168.172.159])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <look@HIDDEN>)
 id 1tpXIx-00078P-2f
 for bug-gnu-emacs@HIDDEN; Tue, 04 Mar 2025 13:47:51 -0500
Received: from phl-compute-09.internal (phl-compute-09.phl.internal
 [10.202.2.49])
 by mailfhigh.phl.internal (Postfix) with ESMTP id C9230114022B;
 Tue,  4 Mar 2025 13:47:43 -0500 (EST)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-09.internal (MEProxy); Tue, 04 Mar 2025 13:47:43 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 strawberrytea.xyz; h=cc:content-type:content-type:date:date:from
 :from:in-reply-to:message-id:mime-version:reply-to:subject
 :subject:to:to; s=fm2; t=1741114063; x=1741200463; bh=rAAbjWLYXR
 M5nLr4ZmHv+ds7C3DBEyNnaKQKZ0be3no=; b=D+B4ozKUTPFZ3ylgoxUKVLdkjR
 nlTO1GMHjRbrZXr23tHGm7Sff8mksYXhwimYppEMraUgisEwSMsEfY+f+adct5FW
 /Qw5bNFaN5o47zKawj16/gG0BA9Io3w6Q+MTKkZrw6KumaEP+q5OaaQ6yDiZhNiS
 kJMvMHZJXphPxjArFEJR+t7/1Re5XxUSV2vVIpToQPwQEobb423ouz5/g1sL8DnY
 Cvgu1kYpR8Q3Cm9BZsB+JpxnQgFbveOVcER8VzLJPGfeaikrE34epn1f5bp41/MC
 FUqW0yE/h2UfPmwgz28VV4x+ZN0ThiWVYQnqIunLdHdFxEaQSX5uHbkOZELA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-type:content-type:date:date
 :feedback-id:feedback-id:from:from:in-reply-to:message-id
 :mime-version:reply-to:subject:subject:to:to:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1741114063; x=
 1741200463; bh=rAAbjWLYXRM5nLr4ZmHv+ds7C3DBEyNnaKQKZ0be3no=; b=I
 H0/+qMmh6BO+J6hh+0MOOT2pTBHrV7OkpJeD3r/XvXCEg4rA8Vhv0DRWTk5ygAee
 rjh21AELMwnARJt77uEwpMCmhzi+H5MHgH7afqEkkm51BYH+038XHeT8S6JYbKwf
 peJw6/Ept+wVp5l+keqTCN3a+9Z+6tO+DZCmhqvTMx9EsVJQoJFsiWrRuhbnvnVJ
 gzjAlFgdzQ8PLWqAkSwscfLvqwZO8iQeOPDqRmg4deS9oQsI5JBMPJY7nqiS5Tcw
 dnQYD4B+WuILesiEy3PbOxk9dsvyEskdn4wH/hHkKMr/9pKDuopxCVHiXQOcqxk3
 YokCtjVlJJJefPYWYPPwA==
X-ME-Sender: <xms:z0rHZw4SompUh9eJwJKEDdovrcIEd78eQrcq3IAZYCRLhygQTc385A>
 <xme:z0rHZx5gGBTE-PUjtDJ-Iv5fT2ZXIERh-jAyBuyVz7Ervwe1E1dPS7kdIkDTKhwFZ
 4Sa3qYVPH6BgKI2cP0>
X-ME-Received: <xmr:z0rHZ_c4xAs6s_NTgQ1PBlHE6Ge4DZms0ownJrCLu4msvz9v45wH_g>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddutddvkedtucetufdoteggodetrf
 dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
 pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucgfrhhlucfvnfffuc
 dljedtmdenucfjughrpefhvffufgffkfggtgesthdtredttdertdenucfhrhhomhepufht
 rhgrfigsvghrrhihvfgvrgcuoehlohhokhesshhtrhgrfigsvghrrhihthgvrgdrgiihii
 eqnecuggftrfgrthhtvghrnhepvdefgffhheeileektdekuefhudehudeivdduudefvdeh
 heeivdfhteehleffieejnecuffhomhgrihhnpegvmhgrtghsrdhlohgtrghlnecuvehluh
 hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheplhhoohhksehsthhr
 rgifsggvrhhrhihtvggrrdighiiipdhnsggprhgtphhtthhopedvpdhmohguvgepshhmth
 hpohhuthdprhgtphhtthhopehlohhokhesshhtrhgrfigsvghrrhihthgvrgdrgiihiidp
 rhgtphhtthhopegsuhhgqdhgnhhuqdgvmhgrtghssehgnhhurdhorhhg
X-ME-Proxy: <xmx:z0rHZ1KXUUiH7wVnuvnFZAKV3EMqdnqrY8mgE0JJe9s8CfObjf1O5Q>
 <xmx:z0rHZ0LejPABdRqD1Gxiszz7jt7eU9jaU-aR47ZPhN56CDIr9l0OOQ>
 <xmx:z0rHZ2yKaJ0Odsy0GY-2GOeWPBmydCThOtmCiR_mmfrW2taErCHZpQ>
 <xmx:z0rHZ4KJDaj0Dm010Ys1y5Aa3XzJxJNoUyRNdJe_mwEdnb4ZKXDiTw>
 <xmx:z0rHZ7WxiFqWMMNMLfL531LCydQJJ8-Dk0S_ID9jN6ZPhIYeak-TpiQL>
Feedback-ID: id85149b6:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 4 Mar 2025 13:47:42 -0500 (EST)
From: StrawberryTea <look@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 31.0.50; ?d action in save-some-buffers-action-alist to view diff
 does not work
User-Agent: mu4e 1.12.7; emacs 31.0.50
X-Debbugs-Cc: 
Date: Tue, 04 Mar 2025 13:47:39 -0500
Message-ID: <875xko3a5w.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=103.168.172.159;
 envelope-from=look@HIDDEN; helo=fhigh-a8-smtp.messagingengine.com
X-Spam_score_int: -7
X-Spam_score: -0.8
X-Spam_bar: /
X-Spam_report: (-0.8 / 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,
 FROM_SUSPICIOUS_NTLD=0.001, FROM_SUSPICIOUS_NTLD_FP=0.001,
 PDS_OTHER_BAD_TLD=1.982, RCVD_IN_DNSWL_LOW=-0.7,
 RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,
 SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 2.6 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  Hello. I have found that the fix from #75993 breaks the ?d
 action in save-some-buffers-action-alist. The reason is that since we are
 not entering view-mode after #75993, when we type ?q to quit the di [...]
 Content analysis details:   (2.6 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org]
 0.7 SPF_NEUTRAL            SPF: sender does not match SPF record (neutral)
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: strawberrytea.xyz (xyz)]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 0.0 FROM_SUSPICIOUS_NTLD_FP From abused NTLD
 0.0 FROM_SUSPICIOUS_NTLD   From abused NTLD
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.6 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  Hello. I have found that the fix from #75993 breaks the ?d
    action in save-some-buffers-action-alist. The reason is that since we are
    not entering view-mode after #75993, when we type ?q to quit the di [...]
    
 
 Content analysis details:   (1.6 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
                              no trust
                             [2001:470:142:0:0:0:0:17 listed in]
                             [list.dnswl.org]
  0.7 SPF_NEUTRAL            SPF: sender does not match SPF record (neutral)
  2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
                             [URI: strawberrytea.xyz (xyz)]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
  0.0 FROM_SUSPICIOUS_NTLD   From abused NTLD
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager


Hello. I have found that the fix from #75993 breaks the ?d action in
save-some-buffers-action-alist. The reason is that since we are not
entering view-mode after #75993, when we type ?q to quit the diff
window, we are not calling exit-recursive-edit to return to the
save-some-buffers queries.

So on one hand, we want to scroll through the diff easily to decide
whether to save the buffer or not. But on the other hand, we want to
navigate by the diff sections and copy hunks. To me, this is a model
editing situation. The user should exit view mode to perform diff
commands instead of disabling view-mode for diffs altogether like in
#75993.

But anyway, I propose that we revert #75993.

Sincerely,
StrawberryTea/LemonBreezes


In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.18.2) of 2025-03-03 built on localhost
Repository revision: 9a657e1dabc196e60dcf48435d48fb51aef3c60d
Repository branch: feature/igc
Windowing system distributor 'The X.Org Foundation', version 11.0.12101016
System Description: Gentoo Linux

Configured using:
 'configure --prefix=/usr --build=x86_64-pc-linux-gnu
 --host=x86_64-pc-linux-gnu --mandir=/usr/share/man
 --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
 --localstatedir=/var/lib --datarootdir=/usr/share
 --disable-silent-rules --docdir=/usr/share/doc/emacs-31.0.9999
 --htmldir=/usr/share/doc/emacs-31.0.9999/html --libdir=/usr/lib64
 --program-suffix=-emacs-31-vcs --includedir=/usr/include/emacs-31-vcs
 --infodir=/usr/share/info/emacs-31-vcs --localstatedir=/var
 --enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp
 --without-compress-install --without-hesiod --without-pop
 --with-file-notification=inotify --with-pdumper --with-mps=yes
 --disable-gc-mark-trace --enable-acl --enable-xattr --with-dbus
 --with-modules --with-gameuser=:gamestat --with-libgmp --with-gpm
 --with-native-compilation=aot --without-kerberos --without-kerberos5
 --with-lcms2 --with-xml2 --with-mailutils --without-selinux
 --with-sqlite3 --with-gnutls --with-libsystemd --with-threads
 --with-tree-sitter --without-wide-int --with-sound=no --with-zlib
 --with-x --without-pgtk --without-ns --without-gconf
 --without-gsettings --without-toolkit-scroll-bars --with-xpm --with-xft
 --with-cairo --with-harfbuzz --with-libotf --with-m17n-flt
 --with-x-toolkit=lucid --with-xaw3d --with-gif --with-jpeg --with-png
 --with-rsvg --with-tiff --with-webp --with-imagemagick
 --with-dumping=pdumper 'CFLAGS=-DFD_SETSIZE=10000
 -DDARWIN_UNLIMITED_SELECT -march=native -Ofast -fno-finite-math-only
 -pipe -fno-lto -Wno-error=odr -Wno-error=lto-type-mismatch
 -Wno-error=strict-aliasing -fgraphite-identity -floop-nest-optimize
 -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition '
 'LDFLAGS=-Wl,--as-needed -Wl,-Ofast -Wl,--sort-common''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ IMAGEMAGICK
JPEG LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES MPS NATIVE_COMP
NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SQLITE3 THREADS TIFF TREE_SITTER
WEBP X11 XAW3D XDBE XIM XINERAMA XINPUT2 XPM XRANDR LUCID ZLIB

Important settings:
  value of $LANG: C.utf8
  locale-coding-system: utf-8-unix

Major mode: ELisp/l

Minor modes in effect:
  citar-org-roam-mode: t
  citar-embark-mode: t
  global-display-fill-column-indicator-mode: t
  display-fill-column-indicator-mode: t
  pomm-mode-line-mode: t
  pdf-occur-global-minor-mode: t
  emms-mode-line-cycle: t
  emms-playing-time-display-mode: t
  emms-playing-time-mode: t
  emms-mode-line-mode: t
  mu4e-modeline-mode: t
  eshell-atuin-mode: t
  eat-eshell-visual-command-mode: t
  eat-eshell-mode: t
  global-ts-fold-mode: t
  eglot-booster-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  parrot-mode: t
  magit-gptcommit-mode: t
  isearch-mb-mode: t
  global-anzu-mode: t
  anzu-mode: t
  auto-sudoedit-mode: t
  diff-hl-flydiff-mode: t
  dirvish-override-dired-mode: t
  projectile-mode: t
  whitespace-mode: t
  lispyville-mode: t
  lispy-mode: t
  delete-selection-mode: t
  org-roam-db-autosync-mode: t
  eros-mode: t
  highlight-quoted-mode: t
  rainbow-delimiters-mode: t
  outline-minor-mode: t
  vi-tilde-fringe-mode: t
  highlight-numbers-mode: t
  display-line-numbers-mode: t
  hl-todo-mode: t
  minuet-auto-suggestion-mode: t
  breadcrumb-mode: t
  breadcrumb-local-mode: t
  recentf-mode: t
  save-place-mode: t
  global-so-long-mode: t
  global-diff-hl-mode: t
  diff-hl-mode: t
  envrc-global-mode: t
  global-git-commit-mode: t
  vimish-fold-global-mode: t
  vimish-fold-mode: t
  which-key-mode: t
  savehist-mode: t
  better-jumper-mode: t
  better-jumper-local-mode: t
  vertico-multiform-mode: t
  vertico-mouse-mode: t
  vertico-mode: t
  nerd-icons-completion-mode: t
  marginalia-mode: t
  corfu-history-mode: t
  corfu-popupinfo-mode: t
  global-corfu-mode: t
  corfu-mode: t
  evil-goggles-mode: t
  key-chord-mode: t
  evil-snipe-override-mode: t
  evil-snipe-mode: t
  evil-snipe-override-local-mode: t
  evil-snipe-local-mode: t
  restore-point-mode: t
  beginend-global-mode: t
  beginend-prog-mode: t
  evil-owl-mode: t
  beacon-mode: t
  comint-histories-mode: t
  repeat-mode: t
  gcmh-mode: t
  winner-mode: t
  smartparens-global-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  undo-fu-session-global-mode: t
  undo-fu-session-mode: t
  undo-fu-mode: t
  global-flycheck-mode: t
  global-yank-indent-mode: t
  yank-indent-mode: t
  exwm-mff-mode: t
  persp-mode: t
  minions-mode: t
  winum-mode: t
  global-kkp-mode: t
  persistent-scratch-autosave-mode: t
  exwm-xsettings-mode: t
  exwm-systemtray-mode: t
  exwm-randr-mode: t
  server-mode: t
  evil-mode: t
  evil-local-mode: t
  +popup-mode: t
  general-override-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  window-divider-mode: t
  undelete-frame-mode: t
  minibuffer-regexp-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  abbrev-mode: t

Load-path shadows:
/home/st/.config/emacs/.local/straight/build-31.0.50/ef-themes/theme-loaddefs hides /home/st/.config/emacs/.local/straight/build-31.0.50/standard-themes/theme-loaddefs
/home/st/.config/emacs/.local/straight/build-31.0.50/ef-themes/theme-loaddefs hides /home/st/.config/emacs/.local/straight/build-31.0.50/modus-themes/theme-loaddefs
/home/st/.config/emacs/.local/straight/build-31.0.50/ivy/elpa hides /home/st/.config/emacs/.local/straight/build-31.0.50/lispy/elpa
/home/st/.config/emacs/.local/straight/build-31.0.50/straight/straight hides /home/st/.config/emacs/.local/straight/repos/straight.el/straight
/home/st/.config/emacs/.local/straight/build-31.0.50/straight/straight-x hides /home/st/.config/emacs/.local/straight/repos/straight.el/straight-x
/home/st/.config/emacs/.local/straight/build-31.0.50/straight/straight-ert-print-hack hides /home/st/.config/emacs/.local/straight/repos/straight.el/straight-ert-print-hack
/home/st/.config/emacs/.local/straight/build-31.0.50/cmake-mode/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/usr/share/emacs/site-lisp/ratpoison hides /usr/share/emacs/site-lisp/ratpoison/ratpoison
/home/st/.config/emacs/.local/straight/build-31.0.50/bind-key/bind-key hides /usr/share/emacs/31.0.50/lisp/bind-key
/home/st/.config/emacs/.local/straight/build-31.0.50/external-completion/external-completion hides /usr/share/emacs/31.0.50/lisp/external-completion
/home/st/.config/emacs/.local/straight/build-31.0.50/jsonrpc/jsonrpc hides /usr/share/emacs/31.0.50/lisp/jsonrpc
/home/st/.config/emacs/.local/straight/repos/straight.el/indent hides /usr/share/emacs/31.0.50/lisp/indent
/home/st/.config/emacs/.local/straight/build-31.0.50/ef-themes/theme-loaddefs hides /usr/share/emacs/31.0.50/lisp/theme-loaddefs
/home/st/.config/emacs/.local/straight/build-31.0.50/transient/transient hides /usr/share/emacs/31.0.50/lisp/transient
/home/st/.config/emacs/.local/straight/build-31.0.50/use-package/use-package-bind-key hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-bind-key
/home/st/.config/emacs/.local/straight/build-31.0.50/use-package/use-package-core hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-core
/home/st/.config/emacs/.local/straight/build-31.0.50/use-package/use-package-delight hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-delight
/home/st/.config/emacs/.local/straight/build-31.0.50/use-package/use-package-diminish hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-diminish
/home/st/.config/emacs/.local/straight/build-31.0.50/use-package/use-package-ensure-system-package hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-ensure-system-package
/home/st/.config/emacs/.local/straight/build-31.0.50/use-package/use-package-ensure hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-ensure
/home/st/.config/emacs/.local/straight/build-31.0.50/use-package/use-package-jump hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-jump
/home/st/.config/emacs/.local/straight/build-31.0.50/use-package/use-package-lint hides /usr/share/emacs/31.0.50/lisp/use-package/use-package-lint
/home/st/.config/emacs/.local/straight/build-31.0.50/use-package/use-package hides /usr/share/emacs/31.0.50/lisp/use-package/use-package
/home/st/.config/emacs/.local/straight/build-31.0.50/eglot/eglot hides /usr/share/emacs/31.0.50/lisp/progmodes/eglot
/home/st/.config/emacs/.local/straight/build-31.0.50/flymake/flymake hides /usr/share/emacs/31.0.50/lisp/progmodes/flymake
/home/st/.config/emacs/.local/straight/build-31.0.50/project/project hides /usr/share/emacs/31.0.50/lisp/progmodes/project
/home/st/.config/emacs/.local/straight/build-31.0.50/xref/xref hides /usr/share/emacs/31.0.50/lisp/progmodes/xref
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-C hides /usr/share/emacs/31.0.50/lisp/org/ob-C
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-awk hides /usr/share/emacs/31.0.50/lisp/org/ob-awk
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-calc hides /usr/share/emacs/31.0.50/lisp/org/ob-calc
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-clojure hides /usr/share/emacs/31.0.50/lisp/org/ob-clojure
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-core hides /usr/share/emacs/31.0.50/lisp/org/ob-core
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-ditaa hides /usr/share/emacs/31.0.50/lisp/org/ob-ditaa
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-dot hides /usr/share/emacs/31.0.50/lisp/org/ob-dot
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-emacs-lisp hides /usr/share/emacs/31.0.50/lisp/org/ob-emacs-lisp
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-eshell hides /usr/share/emacs/31.0.50/lisp/org/ob-eshell
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-exp hides /usr/share/emacs/31.0.50/lisp/org/ob-exp
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-forth hides /usr/share/emacs/31.0.50/lisp/org/ob-forth
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-gnuplot hides /usr/share/emacs/31.0.50/lisp/org/ob-gnuplot
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-haskell hides /usr/share/emacs/31.0.50/lisp/org/ob-haskell
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-julia hides /usr/share/emacs/31.0.50/lisp/org/ob-julia
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-lilypond hides /usr/share/emacs/31.0.50/lisp/org/ob-lilypond
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-lisp hides /usr/share/emacs/31.0.50/lisp/org/ob-lisp
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-lob hides /usr/share/emacs/31.0.50/lisp/org/ob-lob
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-makefile hides /usr/share/emacs/31.0.50/lisp/org/ob-makefile
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-octave hides /usr/share/emacs/31.0.50/lisp/org/ob-octave
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-perl hides /usr/share/emacs/31.0.50/lisp/org/ob-perl
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-plantuml hides /usr/share/emacs/31.0.50/lisp/org/ob-plantuml
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-processing hides /usr/share/emacs/31.0.50/lisp/org/ob-processing
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-python hides /usr/share/emacs/31.0.50/lisp/org/ob-python
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-ref hides /usr/share/emacs/31.0.50/lisp/org/ob-ref
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-ruby hides /usr/share/emacs/31.0.50/lisp/org/ob-ruby
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-sass hides /usr/share/emacs/31.0.50/lisp/org/ob-sass
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-R hides /usr/share/emacs/31.0.50/lisp/org/ob-R
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-comint hides /usr/share/emacs/31.0.50/lisp/org/ob-comint
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-css hides /usr/share/emacs/31.0.50/lisp/org/ob-css
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-eval hides /usr/share/emacs/31.0.50/lisp/org/ob-eval
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-fortran hides /usr/share/emacs/31.0.50/lisp/org/ob-fortran
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-groovy hides /usr/share/emacs/31.0.50/lisp/org/ob-groovy
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-java hides /usr/share/emacs/31.0.50/lisp/org/ob-java
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-latex hides /usr/share/emacs/31.0.50/lisp/org/ob-latex
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-lua hides /usr/share/emacs/31.0.50/lisp/org/ob-lua
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-matlab hides /usr/share/emacs/31.0.50/lisp/org/ob-matlab
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-maxima hides /usr/share/emacs/31.0.50/lisp/org/ob-maxima
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-ocaml hides /usr/share/emacs/31.0.50/lisp/org/ob-ocaml
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-org hides /usr/share/emacs/31.0.50/lisp/org/ob-org
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-scheme hides /usr/share/emacs/31.0.50/lisp/org/ob-scheme
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-screen hides /usr/share/emacs/31.0.50/lisp/org/ob-screen
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-js hides /usr/share/emacs/31.0.50/lisp/org/ob-js
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-sed hides /usr/share/emacs/31.0.50/lisp/org/ob-sed
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-shell hides /usr/share/emacs/31.0.50/lisp/org/ob-shell
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-sql hides /usr/share/emacs/31.0.50/lisp/org/ob-sql
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-sqlite hides /usr/share/emacs/31.0.50/lisp/org/ob-sqlite
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-table hides /usr/share/emacs/31.0.50/lisp/org/ob-table
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob-tangle hides /usr/share/emacs/31.0.50/lisp/org/ob-tangle
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ob hides /usr/share/emacs/31.0.50/lisp/org/ob
/home/st/.config/emacs/.local/straight/build-31.0.50/org/oc-basic hides /usr/share/emacs/31.0.50/lisp/org/oc-basic
/home/st/.config/emacs/.local/straight/build-31.0.50/org/oc-biblatex hides /usr/share/emacs/31.0.50/lisp/org/oc-biblatex
/home/st/.config/emacs/.local/straight/build-31.0.50/org/oc-bibtex hides /usr/share/emacs/31.0.50/lisp/org/oc-bibtex
/home/st/.config/emacs/.local/straight/build-31.0.50/org/oc-csl hides /usr/share/emacs/31.0.50/lisp/org/oc-csl
/home/st/.config/emacs/.local/straight/build-31.0.50/org/oc-natbib hides /usr/share/emacs/31.0.50/lisp/org/oc-natbib
/home/st/.config/emacs/.local/straight/build-31.0.50/org/oc hides /usr/share/emacs/31.0.50/lisp/org/oc
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ol-bbdb hides /usr/share/emacs/31.0.50/lisp/org/ol-bbdb
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ol-bibtex hides /usr/share/emacs/31.0.50/lisp/org/ol-bibtex
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ol-docview hides /usr/share/emacs/31.0.50/lisp/org/ol-docview
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ol-doi hides /usr/share/emacs/31.0.50/lisp/org/ol-doi
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ol-eshell hides /usr/share/emacs/31.0.50/lisp/org/ol-eshell
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ol-eww hides /usr/share/emacs/31.0.50/lisp/org/ol-eww
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ol-gnus hides /usr/share/emacs/31.0.50/lisp/org/ol-gnus
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ol-info hides /usr/share/emacs/31.0.50/lisp/org/ol-info
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ol-irc hides /usr/share/emacs/31.0.50/lisp/org/ol-irc
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ol-man hides /usr/share/emacs/31.0.50/lisp/org/ol-man
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ol-mhe hides /usr/share/emacs/31.0.50/lisp/org/ol-mhe
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ol-rmail hides /usr/share/emacs/31.0.50/lisp/org/ol-rmail
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ol-w3m hides /usr/share/emacs/31.0.50/lisp/org/ol-w3m
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ol hides /usr/share/emacs/31.0.50/lisp/org/ol
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-agenda hides /usr/share/emacs/31.0.50/lisp/org/org-agenda
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-archive hides /usr/share/emacs/31.0.50/lisp/org/org-archive
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-attach-git hides /usr/share/emacs/31.0.50/lisp/org/org-attach-git
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-attach hides /usr/share/emacs/31.0.50/lisp/org/org-attach
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-capture hides /usr/share/emacs/31.0.50/lisp/org/org-capture
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-clock hides /usr/share/emacs/31.0.50/lisp/org/org-clock
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-colview hides /usr/share/emacs/31.0.50/lisp/org/org-colview
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-compat hides /usr/share/emacs/31.0.50/lisp/org/org-compat
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-crypt hides /usr/share/emacs/31.0.50/lisp/org/org-crypt
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-ctags hides /usr/share/emacs/31.0.50/lisp/org/org-ctags
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-cycle hides /usr/share/emacs/31.0.50/lisp/org/org-cycle
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-datetree hides /usr/share/emacs/31.0.50/lisp/org/org-datetree
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-duration hides /usr/share/emacs/31.0.50/lisp/org/org-duration
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-element-ast hides /usr/share/emacs/31.0.50/lisp/org/org-element-ast
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-element hides /usr/share/emacs/31.0.50/lisp/org/org-element
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-entities hides /usr/share/emacs/31.0.50/lisp/org/org-entities
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-faces hides /usr/share/emacs/31.0.50/lisp/org/org-faces
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-feed hides /usr/share/emacs/31.0.50/lisp/org/org-feed
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-fold-core hides /usr/share/emacs/31.0.50/lisp/org/org-fold-core
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-fold hides /usr/share/emacs/31.0.50/lisp/org/org-fold
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-footnote hides /usr/share/emacs/31.0.50/lisp/org/org-footnote
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-goto hides /usr/share/emacs/31.0.50/lisp/org/org-goto
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-habit hides /usr/share/emacs/31.0.50/lisp/org/org-habit
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-id hides /usr/share/emacs/31.0.50/lisp/org/org-id
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-indent hides /usr/share/emacs/31.0.50/lisp/org/org-indent
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-inlinetask hides /usr/share/emacs/31.0.50/lisp/org/org-inlinetask
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-keys hides /usr/share/emacs/31.0.50/lisp/org/org-keys
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-lint hides /usr/share/emacs/31.0.50/lisp/org/org-lint
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-list hides /usr/share/emacs/31.0.50/lisp/org/org-list
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-macro hides /usr/share/emacs/31.0.50/lisp/org/org-macro
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-macs hides /usr/share/emacs/31.0.50/lisp/org/org-macs
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-mobile hides /usr/share/emacs/31.0.50/lisp/org/org-mobile
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-mouse hides /usr/share/emacs/31.0.50/lisp/org/org-mouse
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-num hides /usr/share/emacs/31.0.50/lisp/org/org-num
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-pcomplete hides /usr/share/emacs/31.0.50/lisp/org/org-pcomplete
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-persist hides /usr/share/emacs/31.0.50/lisp/org/org-persist
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-plot hides /usr/share/emacs/31.0.50/lisp/org/org-plot
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org hides /usr/share/emacs/31.0.50/lisp/org/org
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-protocol hides /usr/share/emacs/31.0.50/lisp/org/org-protocol
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-refile hides /usr/share/emacs/31.0.50/lisp/org/org-refile
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-src hides /usr/share/emacs/31.0.50/lisp/org/org-src
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-table hides /usr/share/emacs/31.0.50/lisp/org/org-table
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-tempo hides /usr/share/emacs/31.0.50/lisp/org/org-tempo
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-timer hides /usr/share/emacs/31.0.50/lisp/org/org-timer
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-version hides /usr/share/emacs/31.0.50/lisp/org/org-version
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ox-ascii hides /usr/share/emacs/31.0.50/lisp/org/ox-ascii
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ox-beamer hides /usr/share/emacs/31.0.50/lisp/org/ox-beamer
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ox-html hides /usr/share/emacs/31.0.50/lisp/org/ox-html
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ox-icalendar hides /usr/share/emacs/31.0.50/lisp/org/ox-icalendar
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ox-koma-letter hides /usr/share/emacs/31.0.50/lisp/org/ox-koma-letter
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ox-latex hides /usr/share/emacs/31.0.50/lisp/org/ox-latex
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ox-man hides /usr/share/emacs/31.0.50/lisp/org/ox-man
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ox-md hides /usr/share/emacs/31.0.50/lisp/org/ox-md
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ox-odt hides /usr/share/emacs/31.0.50/lisp/org/ox-odt
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ox-org hides /usr/share/emacs/31.0.50/lisp/org/ox-org
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ox-publish hides /usr/share/emacs/31.0.50/lisp/org/ox-publish
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ox-texinfo hides /usr/share/emacs/31.0.50/lisp/org/ox-texinfo
/home/st/.config/emacs/.local/straight/build-31.0.50/org/ox hides /usr/share/emacs/31.0.50/lisp/org/ox
/home/st/.config/emacs/.local/straight/build-31.0.50/org/org-loaddefs hides /usr/share/emacs/31.0.50/lisp/org/org-loaddefs
/home/st/.config/emacs/.local/straight/build-31.0.50/soap-client/soap-client hides /usr/share/emacs/31.0.50/lisp/net/soap-client
/home/st/.config/emacs/.local/straight/build-31.0.50/soap-client/soap-inspect hides /usr/share/emacs/31.0.50/lisp/net/soap-inspect
/home/st/.config/emacs/.local/straight/build-31.0.50/compat/compat hides /usr/share/emacs/31.0.50/lisp/emacs-lisp/compat
/home/st/.config/emacs/.local/straight/build-31.0.50/seq/seq hides /usr/share/emacs/31.0.50/lisp/emacs-lisp/seq

Features:
(shadow mail-extr org-num conf-mode shortdoc tabify emacsbug
citar-org-roam citar-embark citar citar-file citar-cache citar-format
gptel-curl gptel-rewrite gptel-context gptel-transient
display-fill-column-indicator char-fold evil-multiedit iedit iedit-lib
evil-collection-leetcode leetcode evil-collection-hackernews hackernews
noaa dotassoc kv evil-collection-debbugs debbugs soap-client rng-xsd
xsd-regexp debbugs-compat pomm alert log4e gntp password-generator
lorem-ipsum zone-pgm-spoopy zone-nyan esxml zone-rainbow zone-matrix
snow flames-of-freedom fireplace klondike chess chess-engine chess-pgn
chess-database chess-display chess-var chess-random chess-module
chess-input chess-algebraic chess-fen chess-game chess-ply chess-pos
chess-message dunnet bubbles evil-collection-tetris tetris speed-type
evil-collection-snake snake gamegrid journalctl-mode array
neato-graph-bar evil-collection-daemons daemons
evil-collection-disk-usage disk-usage pulseaudio-control
evil-collection-trashed trashed helm-rage helm-utils helm-linux-disks
linux-disk helm-system-packages consult-mu-contacts-embark
consult-mu-contacts consult-mu-compose-embark consult-mu-compose
consult-mu-embark consult-mu pdf-occur evil-collection-tablist tablist
tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw cedet pdf-isearch pdf-misc
evil-collection-pdf pdf-history pdf-tools saveplace-pdf-view pdf-view
pdf-cache pdf-info pdf-util pdf-macs image-mode exif gnus-srvr
evil-collection-eww eww mm-url dall-e-shell elysium
evil-collection-gptel gptel gptel-org gptel-openai chatgpt-shell
chatgpt-shell-prompt-compose chatgpt-shell-perplexity
chatgpt-shell-openrouter chatgpt-shell-openai chatgpt-shell-ollama
chatgpt-shell-kagi chatgpt-shell-google chatgpt-shell-deepseek
chatgpt-shell-anthropic shell-maker goto-addr ielm evil-collection-mpc
mpc vtable helm-emms helm-adaptive somafm empv emms-mode-line-cycle
emms-playing-time emms-mode-line lyrics-fetcher emms-lyrics emms-browser
sort emms-playlist-sort emms-volume emms-volume-sndioctl
emms-volume-mixerctl emms-volume-pulse emms-volume-amixer
lyrics-fetcher-neteasecloud lyrics-fetcher-genius request network-stream
emms-player-mpd emms-url emms-playlist-mode emms-source-playlist
emms-source-file locate emms-player-simple emms-info-exiftool
emms-info-native emms-info-native-spc emms-info-native-mp3
emms-info-native-ogg emms-info-native-opus emms-info-native-flac
emms-info-native-vorbis bindat emms-last-played emms-score emms-cache
emms-info emms-later-do evil-collection-emms emms emms-compat
elfeed-tube-mpv mpv tq org-timer org-clock elfeed-tube elfeed-tube-utils
aio elfeed-org evil-collection-elfeed elfeed-show elfeed-search
elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib url-queue
xml-query mu4e-compat evil-collection-mu4e mu4e mu4e-org
mu4e-notification mu4e-main smtpmail mu4e-view mu4e-mime-parts
mu4e-headers mu4e-thread mu4e-actions mu4e-compose mu4e-draft spam
spam-stat gnus-uu yenc gnus-msg gnus-async nntp gnus-registry registry
gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum gnus-group
gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7
nnoo gnus-spec gnus-win gnus-int gnus-range evil-collection-gnus gnus
nnheader range mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark
mu4e-message flow-fill mu4e-contacts mu4e-update mu4e-folders
mu4e-context mu4e-query-items mu4e-server mu4e-modeline mu4e-vars
mu4e-helpers mu4e-window ido mu4e-obsolete em-rebind em-elecslash
em-alias em-term em-script em-ls em-hist em-glob em-extpipe em-cmpl
em-basic em-banner em-smart em-tramp eshell-did-you-mean eshell-atuin
esh-help evil-collection-man man em-unix eshell-z em-dirs
evil-collection-eshell em-prompt eshell esh-mode esh-var
evil-collection-eat eat esh-cmd esh-ext theme-magic esh-proc esh-opt
esh-io esh-arg ewal esh-module esh-module-loaddefs image-file
image-converter circadian solar cal-dst esh-util zone evil-visualstar
evil-textobj-tree-sitter evil-textobj-tree-sitter-thing-at-point
evil-textobj-tree-sitter-core tree-sitter-langs tree-sitter-langs-build
tree-sitter-hl ts-fold ts-fold-summary ts-fold-parsers ts-fold-util
tree-sitter tree-sitter-load tree-sitter-cli tsc tsc-dyn tsc-dyn-get
tsc-obsolete eglot-booster evil-collection-eglot eglot
external-completion jsonrpc seq-25 macrostep-c cmacexp
evil-collection-macrostep macrostep subword-mode-expansions cap-words
superword subword cc-mode-expansions smartparens-c cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine consult-gh-embark
embark-vc evil-collection-embark embark-org embark-consult embark ffap
evil-collection-git-timemachine git-timemachine emacsql-sqlite-builtin
sqlite hippie-exp detached-vterm aidermacs aidermacs-models
aidermacs-backends aidermacs-backend-vterm evil-collection-vterm vterm
evil-collection-term term ehelp vterm-module aidermacs-backend-comint
elisp-def ert yasnippet-capf doom-snippets doom-snippets-lib yasnippet
exwm-firefox-evil exwm-firefox-core exwm-evil exwm-evil-core
tramp-archive tramp-gvfs zeroconf helm-external helm-net helm-help
helm-posframe helm helm-global-bindings helm-easymenu helm-core
helm-source helm-multi-match helm-lib async parrot parrot-progress
parrot-rotate evil-collection-magit-repos magit-gptcommit llm-claude
llm-provider-utils llm-models llm-request-plz plz-event-source
plz-media-type llm code-review code-review-actions code-review-comment
code-review-section code-review-bitbucket code-review-faces shr
pixel-fill kinsoku url-file svg emojify evil-collection-apropos apropos
evil-collection-tar-mode tar-mode evil-collection-arc-mode arc-mode
archive-mode ht code-review-gitlab code-review-utils
evil-collection-forge forge-repos forge-tablist hl-line forge-topics
forge-commands forge-semi forge-bitbucket buck forge-gogs gogs
forge-gitea gtea forge-gitlab glab forge-github forge-forgejo
forge-notify forge-revnote forge-pullreq forge-issue forge-topic yaml
eieio-custom bug-reference forge-post forge-repo forge forge-core
forge-db code-review-parse-hunk code-review-github code-review-db
uuidgen calc-misc calc-ext calc calc-loaddefs calc-macs a
code-review-interfaces deferred ghub-graphql treepy gsexp ghub url-http
url-gw nsm url-auth gnutls closql eieio-base magit-bookmark
magit-autoloads evil-collection-magit magit-submodule magit-blame
magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch
magit-clone magit-remote magit-commit magit-sequence magit-notes
magit-worktree magit-tag magit-merge magit-branch magit-reset
magit-files magit-refs magit-status magit magit-repos magit-apply
magit-wip magit-log which-func magit-diff evil-collection-smerge-mode
smerge-mode magit-core magit-autorevert magit-margin magit-transient
cus-start cape-char evil-collection-evil-mc evil-mc
evil-mc-command-execute evil-mc-command-record evil-mc-cursor-make
evil-mc-region evil-mc-cursor-state evil-mc-undo evil-mc-vars
evil-mc-known-commands evil-mc-common dabbrev misearch multi-isearch
isearch-mb evil-anzu anzu toc-org org-eldoc evil-org iscroll cdlatex
evil-collection-reftex reftex-toc reftex-cite reftex-ref reftex-parse
reftex reftex-loaddefs reftex-vars texmathp org-indent hi-lock
consult-gh ox-gfm ox-md ox-odt rng-loc rng-uri rng-parse rng-match
rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util
ox-latex ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox
evil-collection-markdown-mode markdown-mode edit-indirect hide-mode-line
elisp-demos evil-collection-indent info-colors evil-collection-helpful
helpful cc-langs cc-vars cc-defs trace cl-print info-look
evil-collection-elisp-refs elisp-refs evil-nerd-commenter
evil-nerd-commenter-operator evil-nerd-commenter-sdk
html-mode-expansions smartparens-html sgml-mode facemenu dom
evil-collection-help midnight hercules nerd-icons-corfu
evil-collection-view view tramp-cmds auto-sudoedit diff-hl-flydiff diff
face-remap consult-flycheck evil-collection-consult consult
evil-collection-bookmark bookmark vc-hg vc-svn diff-hl-dired diredfl
gnus-dired dirvish-yank dired-aux dirvish-subtree dired-x
dirvish-collapse dirvish-icons dirvish-widgets dirvish projectile
evil-collection-grep grep ibuffer-vc ibuf-ext evil-collection-ibuffer
ibuffer ibuffer-loaddefs mule-util evil-collection-vc-git vc-git
ebuild-mode skeleton jka-compr auto-minor-mode disp-table whitespace
flycheck-posframe tramp-cache time-stamp tramp-sh flycheck-cask
git-auto-commit-mode apheleia apheleia-rcs apheleia-dp
apheleia-formatters apheleia-utils apheleia-log
apheleia-formatter-context embrace expand-region text-mode-expansions
the-org-mode-expansions er-basic-expansions expand-region-core
expand-region-custom lispyville lispy delsel lispy-inline etags fileloop
evil-collection-xref xref evil-collection-edebug edebug
evil-collection-debug debug backtrace help-fns radix-tree lispy-tags
mode-local zoutline oc-csl citeproc citeproc-itemgetters parsebib
citeproc-cite citeproc-biblatex citeproc-bibtex ol-bibtex
citeproc-subbibs citeproc-sort citeproc-name citeproc-formatters
citeproc-proc citeproc-disamb citeproc-itemdata
citeproc-generic-elements citeproc-macro citeproc-choose citeproc-date
citeproc-number smartparens-rst smartparens-markdown rst
citeproc-context citeproc-prange citeproc-style citeproc-locale
citeproc-term citeproc-rt citeproc-lib citeproc-s queue bibtex
evil-collection-org evil-collection-org-roam org-roam-migrate
org-roam-log org-roam-mode org-roam-capture org-roam-id org-roam-node
org-roam-db org-roam-utils org-roam-compat org-roam org-capture
org-element org-persist avl-tree generator org-attach org-id org-refile
org-element-ast inline emacsql-sqlite emacsql emacsql-compiler
smartparens-org org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-src evil-collection-sh-script sh-script smie treesit 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-biblatex oc org-loaddefs
evil-collection-calendar cal-menu calendar cal-loaddefs org-version
org-compat org-macs eros evil-collection-flymake flymake
evil-collection-compile compile highlight-quoted rainbow-delimiters
noutline outline vi-tilde-fringe highlight-numbers parent-mode
display-line-numbers hl-todo minuet plz breadcrumb project cape
evil-collection-elisp-mode elisp-mode recentf tree-widget saveplace
evil-collection-so-long so-long evil-collection-diff-hl diff-hl
evil-collection-log-view log-view evil-collection-vc-dir vc-dir ewoc vc
vc-dispatcher envrc inheritenv evil-collection-diff-mode diff-mode
track-changes git-commit evil-collection-log-edit log-edit message
sendmail yank-media puny evil-collection-dired dired dired-loaddefs
rfc822 mml mml-sec evil-collection-epa epa derived epg rfc6068
epg-config gnus-util text-property-search mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr
mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log
magit-process evil-collection-with-editor with-editor magit-mode
transient benchmark magit-git magit-base evil-collection-magit-section
magit-section crm llama vimish-fold vertico-directory cursor-sensor
mb-depth vertico-repeat vertico-posframe posframe
evil-collection-which-key which-key savehist better-jumper
vertico-multiform vertico-mouse evil-collection-vertico vertico
orderless nerd-icons-completion nerd-icons nerd-icons-faces
nerd-icons-data nerd-icons-data-mdicon nerd-icons-data-flicon
nerd-icons-data-codicon nerd-icons-data-devicon nerd-icons-data-sucicon
nerd-icons-data-wicon nerd-icons-data-faicon nerd-icons-data-powerline
nerd-icons-data-octicon nerd-icons-data-pomicon nerd-icons-data-ipsicon
marginalia corfu-history corfu-popupinfo evil-collection-corfu corfu
evil-goggles pulse color evil-easymotion avy key-chord evil-escape
evil-snipe restore-point evil-collection-beginend beginend evil-owl
beacon detached-init detached tramp trampver tramp-integration files-x
tramp-message tramp-compat shell pcomplete parse-time iso8601
format-spec tramp-loaddefs notifications comint-histories f s
evil-collection-comint comint ansi-osc repeat gcmh winner
smartparens-config smartparens-text smartparens loadhist ws-butler
undo-fu-session undo-fu flycheck-package package-lint
evil-collection-imenu imenu evil-collection-finder finder finder-inf
lisp-mnt evil-collection-package-menu package browse-url xdg 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 password-cache url-vars evil-collection-flycheck flycheck
ansi-color json map find-func yank-indent exwm-mff hydra lv autorevert
filenotify time-date cae-exwm-auto-persp persp-mode minions winum dash
dtrt-indent advice kkp term/xterm xterm modus-operandi-tinted-theme
modus-themes define-repeat-map persistent-scratch dbus xml
exwm-xsettings xcb-xsettings exwm-systemtray xcb-systemtray xcb-xembed
exwm-randr xcb-randr exwm exwm-input xcb-keysyms xcb-xkb exwm-manage
exwm-floating xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core
xcb-ewmh xcb-icccm xcb xcb-xproto xcb-types xcb-debug eieio eieio-core
compat server cae-lib mu4e-config html2text smartparens-lua let-alist
ibuf-macs evil-collection-info evil-collection-custom cus-edit cus-load
wid-edit evil-collection annalist evil evil-integration evil-maps
evil-commands reveal evil-jumps evil-command-window evil-types
evil-search evil-macros evil-repeat evil-states evil-core evil-common
thingatpt rect evil-vars ring edmacro kmacro byte-opt doom-editor
doom-projects doom-ui doom-keybinds pp use-package-core general info
tex-site site-gentoo :system easy-mmode comp comp-cstr cl-extra
help-mode warnings icons comp-run bytecomp byte-compile comp-common rx
doom-start doom doom-lib cl-seq cl-macs cl-loaddefs cl-lib gv harfbuzz
jansson dynamic-modules pcase subr-x rmc iso-transl tooltip cconv eldoc
paren electric uniquify ediff-hook vc-hooks lisp-float-type mwheel
term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset
image regexp-opt fringe tabulated-list replace newcomment text-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting font-render-setting cairo x-toolkit xinput2 x multi-tty
move-toolbar make-network-process tty-child-frames native-compile mps
emacs)

Memory information:
((conses 24 0 0) (symbols 56 0 0) (strings 40 0 0) (string-bytes 1 0)
 (vectors 24 0) (vector-slots 8 0 0) (floats 24 0 0) (intervals 64 0 0)
 (buffers 1000 0))




Acknowledgement sent to StrawberryTea <look@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#76745; 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: Wed, 19 Mar 2025 19:15:02 UTC

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