GNU bug report logs - #78097
30.1; editorconfig can pass nil to file-name-directory

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: "Peter J. Jones" <mlists@HIDDEN>; Done: Stefan Monnier <monnier@HIDDEN>; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 78097-done <at> debbugs.gnu.org:


Received: (at 78097-done) by debbugs.gnu.org; 19 May 2025 22:34:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 19 18:34:58 2025
Received: from localhost ([127.0.0.1]:47085 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uH94T-0004ZV-R5
	for submit <at> debbugs.gnu.org; Mon, 19 May 2025 18:34:58 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:20755)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1uH94Q-0004Yt-H7
 for 78097-done <at> debbugs.gnu.org; Mon, 19 May 2025 18:34:54 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 16EFF441ECF;
 Mon, 19 May 2025 18:34:49 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1747694088;
 bh=iwJaNP9/siQDE3ykRIDRd7JoyoY5V2H9eyYOpCX8eoA=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=QvXiccT81mPjeRU2N0DP2bWAVWIW+uKaTBhreeULhRmKj5SpzT0NS1YJMFNPXY330
 IPhDa3mJ8QUsO/0T+8ap0EU4l73FhVp/SRFodezXR9ZqJONs8DrIvDIaYu6+7lzOkS
 3p05TaQHQ+fpgnpbe9Yy+hsOMmO343ZHOz4efK2lN0PGbgRciKcetD2m6h0i2FQh19
 KYelQM/denKvdpuyVoHq0+DtFjywbzHfYsddEJqfJtCipUyP1IWrP9OIj6uVALjIJf
 3JwimyXyM2vgfu58xkRFJQ3WMFhnQCvmUYlPQYIhVAqnB72Lnzrg+4xgQAxgiUY9xM
 ju9GSYHxdph8Q==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 43005441EC3;
 Mon, 19 May 2025 18:34:48 -0400 (EDT)
Received: from alfajor (104-195-232-56.cpe.teksavvy.com [104.195.232.56])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 14F9E1204D5;
 Mon, 19 May 2025 18:34:48 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#78097: 30.1; editorconfig can pass nil to file-name-directory
In-Reply-To: <86bjrruu6a.fsf@HIDDEN>
Message-ID: <jwvy0uskz5x.fsf-monnier+emacs@HIDDEN>
References: <875xipwyk5.fsf@HIDDEN>
 <jwvtt613i2w.fsf-monnier+emacs@HIDDEN>
 <87msbsbm7g.fsf@HIDDEN>
 <jwvcycoxtwr.fsf-monnier+emacs@HIDDEN>
 <87ldrbzfyt.fsf@HIDDEN>
 <jwvo6w7uq85.fsf-monnier+emacs@HIDDEN>
 <jwvzffbqomg.fsf-monnier+emacs@HIDDEN> <86bjrruu6a.fsf@HIDDEN>
Date: Mon, 19 May 2025 18:34:47 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.041 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 78097-done
Cc: 78097-done <at> debbugs.gnu.org, mlists@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Fine by me, thanks.

Done, closing,


        Stefan





Notification sent to "Peter J. Jones" <mlists@HIDDEN>:
bug acknowledged by developer. Full text available.
Reply sent to Stefan Monnier <monnier@HIDDEN>:
You have taken responsibility. Full text available.

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


Received: (at 78097) by debbugs.gnu.org; 17 May 2025 15:35:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 17 11:35:53 2025
Received: from localhost ([127.0.0.1]:50057 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uGJZo-0000qc-RV
	for submit <at> debbugs.gnu.org; Sat, 17 May 2025 11:35:53 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:37992)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1uGJZm-0000q6-D0
 for 78097 <at> debbugs.gnu.org; Sat, 17 May 2025 11:35:50 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1uGJZg-0002ei-UX; Sat, 17 May 2025 11:35:44 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=mq97aoqoLnSWxFaOhFztG2bU0y/ThrjaQGbS0DjId4w=; b=CQsiYt0agZK4EQYJyyvu
 fOJEF1nn8z0rrejY5MZdMt6Won2F+rnm1VtIYyFVVutV64EleJbe+hHa4OC9qPk5CR1hD0RnLInuC
 wRxl1zGI/ScPmwOINSbXqr4xb7PNtT6McKCCNwVWCirsGbtNlKT+qsRq5EVtMUCP1+1AIJkzsfNvs
 v4MjRv7XVZNBD/hFH9FzHmVaUJ4d40MypkRCkPt4eSAmTcj8yP4OppgYmWTlVuoTsbuAODp093+pF
 lzHLqexvI91yVdB2cAz33RUSY0t6BcgdXgo1w8Sq3Ojbvrscs4/hcJCVawAAbKvUJSwFaXQgDRpB1
 xxU8C4rfOTR3dg==;
Date: Sat, 17 May 2025 18:35:25 +0300
Message-Id: <86bjrruu6a.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <jwvzffbqomg.fsf-monnier+emacs@HIDDEN> (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#78097: 30.1; editorconfig can pass nil to file-name-directory
References: <875xipwyk5.fsf@HIDDEN>
 <jwvtt613i2w.fsf-monnier+emacs@HIDDEN>
 <87msbsbm7g.fsf@HIDDEN>
 <jwvcycoxtwr.fsf-monnier+emacs@HIDDEN>
 <87ldrbzfyt.fsf@HIDDEN>
 <jwvo6w7uq85.fsf-monnier+emacs@HIDDEN>
 <jwvzffbqomg.fsf-monnier+emacs@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 78097
Cc: 78097 <at> debbugs.gnu.org, mlists@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: 78097 <at> debbugs.gnu.org
> Date: Sat, 17 May 2025 11:15:54 -0400
> From:  Stefan Monnier via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> >>> FWIW, the fact that `editorconfig-get-local-variables-functions' is run
> >>> when there are no `.editorconfig` files is an accident.
> >> The reason I was using `editorconfig-get-local-variables-functions' is
> >> because both `editorconfig-after-apply-functions' and
> >> `editorconfig-hack-properties-functions' are documented to behave that
> >> way but are deprecated and `editorconfig-hack-properties-functions'
> >> reports that `editorconfig-get-local-variables-functions' should be used
> >> instead.
> >> If none of these hooks are available for this purpose can you recommend
> >> a way that I can achieve my goal?
> >
> > I'm afraid I don't have a ready answer for it.
> > Maybe something like:
> >
> >     (add-hook 'change-major-mode-after-body-hook #'my-global-file-defaults)
> >     (defun my-global-file-defaults ()
> >       (when buffer-file-name
> >         (add-hook 'before-save-hook
> >                   #'editorconfig--delete-trailing-whitespace nil t)))
> >
> > Obviously, Emacs lacks an official "delete-trailing-whitespace mode":
> > the above should not have to rely on an editorconfig-specific function.
> > šŸ™
> 
> There is now a `delete-trailing-whitespace-mode` in `master, so the
> above snippet can be updated to something like:
> 
>     (add-hook 'change-major-mode-after-body-hook #'my-global-file-defaults)
>     (defun my-global-file-defaults ()
>       (when buffer-file-name
>         (if (fboundp 'delete-trailing-whitespace-mode) ;; Emacs≄31
>             (delete-trailing-whitespace-mode 1)
>           (add-hook 'before-save-hook
>                     #'editorconfig--delete-trailing-whitespace nil t))))
> 
> Eli writes:
> > Ping! How should we proceed with this issue?  Was it resolved?
> 
> I think the above provides the OP with a good alternative solution.
> Their code relied on an accidental "feature" which is that
> `editorconfig-get-local-variables-functions` is run even if we found no
> `.editorconfig` settings.  I think that in the absence of such settings,
> `editorconfig-mode` should have no effect, so I suggest we install the
> patch below.
> 
> I'd lean towards pushing it to `master` rather than `emacs-30`.

Fine by me, thanks.




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

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


Received: (at 78097) by debbugs.gnu.org; 17 May 2025 15:16:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 17 11:16:09 2025
Received: from localhost ([127.0.0.1]:49862 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uGJGj-0004uY-Cu
	for submit <at> debbugs.gnu.org; Sat, 17 May 2025 11:16:09 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:60063)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1uGJGd-0004tk-3o
 for 78097 <at> debbugs.gnu.org; Sat, 17 May 2025 11:16:07 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 8AA66808F0;
 Sat, 17 May 2025 11:15:56 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1747494955;
 bh=nilEgOo3nlqHOnS+iHAlQH7gshPfHK95lGAubLrs14c=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=WJPh8n2MqE+sBXnwc2YMTukhTGXz8wpBgpWWSEmHnATQ4J7P4qZdYdJt78S6pDCQ7
 FoZnpxfzCLXr5Gn7oL4uL2FjY5a7yzkFicfkN1la7UkkLqZQo3bQ+SEmCx87ia2pcL
 p5miauHrAh8H273TUXzSmq0Rf1kHC+a6xL1wYUX/+/gAf+ytnOO0hNaI/5dVY+6fsp
 A3psENNQueGoDFc31sv3eEi6JojCKH7ERTv1Q657i/PqmBD35cYoWL46TjeLFJkuJP
 9nZqw2chAfC5Uacm1y1gXKKoiE367cIKpCa6J8ICq3sXfNfFqPo7KEyEn4vzFvYknK
 l+Us7PYCx+vAg==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 7C89780781;
 Sat, 17 May 2025 11:15:55 -0400 (EDT)
Received: from alfajor (104-195-232-56.cpe.teksavvy.com [104.195.232.56])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 5066D12041D;
 Sat, 17 May 2025 11:15:55 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: "Peter J. Jones" <mlists@HIDDEN>
Subject: Re: bug#78097: 30.1; editorconfig can pass nil to file-name-directory
In-Reply-To: <jwvo6w7uq85.fsf-monnier+emacs@HIDDEN>
Message-ID: <jwvzffbqomg.fsf-monnier+emacs@HIDDEN>
References: <875xipwyk5.fsf@HIDDEN>
 <jwvtt613i2w.fsf-monnier+emacs@HIDDEN>
 <87msbsbm7g.fsf@HIDDEN>
 <jwvcycoxtwr.fsf-monnier+emacs@HIDDEN>
 <87ldrbzfyt.fsf@HIDDEN>
 <jwvo6w7uq85.fsf-monnier+emacs@HIDDEN>
Date: Sat, 17 May 2025 11:15:54 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.100 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 78097
Cc: 78097 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>>> FWIW, the fact that `editorconfig-get-local-variables-functions' is run
>>> when there are no `.editorconfig` files is an accident.
>> The reason I was using `editorconfig-get-local-variables-functions' is
>> because both `editorconfig-after-apply-functions' and
>> `editorconfig-hack-properties-functions' are documented to behave that
>> way but are deprecated and `editorconfig-hack-properties-functions'
>> reports that `editorconfig-get-local-variables-functions' should be used
>> instead.
>> If none of these hooks are available for this purpose can you recommend
>> a way that I can achieve my goal?
>
> I'm afraid I don't have a ready answer for it.
> Maybe something like:
>
>     (add-hook 'change-major-mode-after-body-hook #'my-global-file-default=
s)
>     (defun my-global-file-defaults ()
>       (when buffer-file-name
>         (add-hook 'before-save-hook
>                   #'editorconfig--delete-trailing-whitespace nil t)))
>
> Obviously, Emacs lacks an official "delete-trailing-whitespace mode":
> the above should not have to rely on an editorconfig-specific function.
> =F0=9F=99=81

There is now a `delete-trailing-whitespace-mode` in `master, so the
above snippet can be updated to something like:

    (add-hook 'change-major-mode-after-body-hook #'my-global-file-defaults)
    (defun my-global-file-defaults ()
      (when buffer-file-name
        (if (fboundp 'delete-trailing-whitespace-mode) ;; Emacs=E2=89=A531
            (delete-trailing-whitespace-mode 1)
          (add-hook 'before-save-hook
                    #'editorconfig--delete-trailing-whitespace nil t))))

Eli writes:
> Ping! How should we proceed with this issue?  Was it resolved?

I think the above provides the OP with a good alternative solution.
Their code relied on an accidental "feature" which is that
`editorconfig-get-local-variables-functions` is run even if we found no
`.editorconfig` settings.  I think that in the absence of such settings,
`editorconfig-mode` should have no effect, so I suggest we install the
patch below.

I'd lean towards pushing it to `master` rather than `emacs-30`.


        Stefan


2025-05-17  Stefan Monnier  <monnier@HIDDEN>

    * lisp/editorconfig.el (editorconfig--get-dir-local-variables):
    Don't run `editorconfig-get-local-variables-functions` when we found no
    EditorConfig settings since that hook's purpose is "to convert
    EditorConfig settings to their Emacs equivalent".


diff --git a/lisp/editorconfig.el b/lisp/editorconfig.el
index bfc8ef46ed3..3658343cfac 100644
--- a/lisp/editorconfig.el
+++ b/lisp/editorconfig.el
@@ -709,7 +708,8 @@ editorconfig--get-dir-local-variables
 Meant to be used on `hack-dir-local-get-variables-functions'."
   (when (stringp buffer-file-name)
     (let* ((props (editorconfig-call-get-properties-function buffer-file-n=
ame))
-           (alist (editorconfig--get-local-variables props)))
+           (alist (if (< 0 (hash-table-count props))
+                      (editorconfig--get-local-variables props))))
       ;; FIXME: If there's `/foo/.editorconfig', `/foo/bar/.dir-locals.el',
       ;; and `/foo/bar/baz/.editorconfig', it would be nice to return two
       ;; pairs here, so that hack-dir-local can give different priorities





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

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


Received: (at 78097) by debbugs.gnu.org; 17 May 2025 08:15:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 17 04:15:51 2025
Received: from localhost ([127.0.0.1]:45253 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uGChz-0006hr-6X
	for submit <at> debbugs.gnu.org; Sat, 17 May 2025 04:15:51 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:38094)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1uGChx-0006Qq-2B
 for 78097 <at> debbugs.gnu.org; Sat, 17 May 2025 04:15:49 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1uGChr-0008LK-N1; Sat, 17 May 2025 04:15:43 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=sUxluzqCrYf4ZNl6HG7+nSdO6DaHIYfzxolNcJjpfPA=; b=TNHIv6iwUVZS
 a/NBPVUdgKpFXVeB/uYMrOaiVqfc2AeWacmTAtPyFolUfKTvXc/fGOIqq2P8RbBDgOoPqFTygOwte
 CAEi0SbDNwWLe0hnwCLWZO24NHgwqps/7btPdNNQkjmFMMDEYp/g1aRGnCY1X59/U8TuYysR49JLD
 9RjpK0ekejJD5xfZEKaaSHZhi7ed5WKWadzRUlPRmHA1nCI8KVfX1WSFrwLIMfeTJu6G6wZIUO8QZ
 LG6+ZW9b65aAYGgnytrQjQXwwIHlnrno74s076yCBO/Xc2XrlX8ywed6qXbpxzlNVHcSDigIkCV8u
 Bo1Mi4Zx/zlvLsmB59nb2w==;
Date: Sat, 17 May 2025 11:15:39 +0300
Message-Id: <86jz6fwt3o.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: monnier@HIDDEN, "Peter J. Jones" <mlists@HIDDEN>
In-Reply-To: <87ldrbzfyt.fsf@HIDDEN> (mlists@HIDDEN)
Subject: Re: bug#78097: 30.1; editorconfig can pass nil to file-name-directory
References: <875xipwyk5.fsf@HIDDEN>
 <jwvtt613i2w.fsf-monnier+emacs@HIDDEN>
 <87msbsbm7g.fsf@HIDDEN>
 <jwvcycoxtwr.fsf-monnier+emacs@HIDDEN> <87ldrbzfyt.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 78097
Cc: 78097 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Ping! How should we proceed with this issue?  Was it resolved?

> Cc: 78097 <at> debbugs.gnu.org
> From: "Peter J. Jones" <mlists@HIDDEN>
> Date: Mon, 05 May 2025 09:14:50 +0200
> 
> On Sun, May 04 2025, Stefan Monnier wrote:
> >>> Could you give a concrete example of how this can happen?
> >>
> >> Yes.  I want to have `delete-trailing-whitespace' in a `before-save'
> >> hook by default but still allow editor config to remove it if
> >> "trim_trailing_whitespace" is set to false in the current project.  So I
> >> wrote the following function and put it in
> >> `editorconfig-get-local-variables-functions':
> >>
> >> (defun pjones:editorconfig-apply-trim-whitespace (props)
> >>   "Conditionally change the trim_trailing_whitespace setting.
> >>
> >> Enable whitespace trimming unless the editor configuration file
> >> explicitly disables it.  PROPS is the hash from the editor configuration
> >> file."
> >>   (when (null (gethash 'trim_trailing_whitespace props))
> >>     (puthash 'trim_trailing_whitespace "true" props)
> >>     (editorconfig--get-trailing-ws props)))
> >
> > I see, thanks.
> >
> > FWIW, the fact that `editorconfig-get-local-variables-functions' is run
> > when there are no `.editorconfig` files is an accident.
> 
> The reason I was using `editorconfig-get-local-variables-functions' is
> because both `editorconfig-after-apply-functions' and
> `editorconfig-hack-properties-functions' are documented to behave that
> way but are deprecated and `editorconfig-hack-properties-functions'
> reports that `editorconfig-get-local-variables-functions' should be used
> instead.
> 
> If none of these hooks are available for this purpose can you recommend
> a way that I can achieve my goal?
> 
> >> Projects that don't have editor configuration files trigger the bug
> >> where nil is passed to `file-name-directory'.
> >
> > IIUC the patch you sent silences the error but also has the effect that
> > AFAICT it does not enable `delete-trailing-whitespace` in those files
> > for which there is no `.editorconfig`, contrarily to what I understood
> > to be your goal.
> >
> > Was that on purpose?
> 
> No.  I was starting to suspect that it wasn't working and after seeing
> your patch I now know it's most definitely not working!  I was so deep
> in the weeds trying to fix the "stringp nil" issue that I never went
> back to see if my fix actually worked.  Sorry about that.
> 
> Your patch makes a lot more sense than the non-functional hack I first
> posted.
> 
> Thanks for the help!
> 
> -- 
> Peter J. Jones (he/him)
> blog: https://freerangebits.com
> social: https://fosstodon.org/@devalot
> code: https://github.com/pjones
> 
> 
> 
> 




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

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


Received: (at 78097) by debbugs.gnu.org; 5 May 2025 13:56:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 05 09:56:11 2025
Received: from localhost ([127.0.0.1]:41199 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uBwIk-0000Je-QB
	for submit <at> debbugs.gnu.org; Mon, 05 May 2025 09:56:11 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:11325)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1uBwIf-0000JD-Dc
 for 78097 <at> debbugs.gnu.org; Mon, 05 May 2025 09:56:08 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id B0D961004AF;
 Mon,  5 May 2025 09:55:58 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1746453357;
 bh=mc/U+QDkD1zuAdgu74QekFnqDVHY+2oikEln7ynE4gE=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=GQw452DSiMEhmE0o2srMY91o90p6mk90+z9cq9RJVkEVC/9RozhZ0lrtbgcnV8IRt
 KmPoOTMJZi/7qcZVtOMt4r0iC2+IYA93PuXZJwbZQwekcW8/8g2nrieTGKG+zLsgzT
 dRDJK91IsfBoP5er0bB2Dq7dTFCf906y9PpUb1yhimigZZdDwEwN6nlSCiHTQu62rB
 4EE6g174psTuN44ymfkkkCUXLWNs/8CyzT9ezrUuWyl1OcDBAB+CrlywYXhKsi0MXa
 HxcEgM6d8hfrjypgnmAF4NKyWdKXKxr63Zh4Wr6ylid54z8gGw0HmXACrOWH9BRHQV
 VJGx2ObTEJ66Q==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id C3A2110013E;
 Mon,  5 May 2025 09:55:57 -0400 (EDT)
Received: from pastel (104-195-232-56.cpe.teksavvy.com [104.195.232.56])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 9448012020C;
 Mon,  5 May 2025 09:55:57 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: "Peter J. Jones" <mlists@HIDDEN>
Subject: Re: bug#78097: 30.1; editorconfig can pass nil to file-name-directory
In-Reply-To: <87ldrbzfyt.fsf@HIDDEN>
Message-ID: <jwvo6w7uq85.fsf-monnier+emacs@HIDDEN>
References: <875xipwyk5.fsf@HIDDEN>
 <jwvtt613i2w.fsf-monnier+emacs@HIDDEN>
 <87msbsbm7g.fsf@HIDDEN>
 <jwvcycoxtwr.fsf-monnier+emacs@HIDDEN>
 <87ldrbzfyt.fsf@HIDDEN>
Date: Mon, 05 May 2025 09:55:56 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.224 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 78097
Cc: 78097 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>> FWIW, the fact that `editorconfig-get-local-variables-functions' is run
>> when there are no `.editorconfig` files is an accident.
> The reason I was using `editorconfig-get-local-variables-functions' is
> because both `editorconfig-after-apply-functions' and
> `editorconfig-hack-properties-functions' are documented to behave that
> way but are deprecated and `editorconfig-hack-properties-functions'
> reports that `editorconfig-get-local-variables-functions' should be used
> instead.
> If none of these hooks are available for this purpose can you recommend
> a way that I can achieve my goal?

I'm afraid I don't have a ready answer for it.
Maybe something like:

    (add-hook 'change-major-mode-after-body-hook #'my-global-file-defaults)
    (defun my-global-file-defaults ()
      (when buffer-file-name
        (add-hook 'before-save-hook
                  #'editorconfig--delete-trailing-whitespace nil t)))

Obviously, Emacs lacks an official "delete-trailing-whitespace mode":
the above should not have to rely on an editorconfig-specific function.
=F0=9F=99=81

> No.  I was starting to suspect that it wasn't working and after seeing
> your patch I now know it's most definitely not working!  I was so deep
> in the weeds trying to fix the "stringp nil" issue that I never went
> back to see if my fix actually worked.  Sorry about that.

We've all been there.  =F0=9F=99=82
Thanks for confirming my suspicion.


        Stefan





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

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


Received: (at 78097) by debbugs.gnu.org; 5 May 2025 07:18:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 05 03:18:20 2025
Received: from localhost ([127.0.0.1]:38081 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uBq5j-0006IO-FP
	for submit <at> debbugs.gnu.org; Mon, 05 May 2025 03:18:19 -0400
Received: from fhigh-b5-smtp.messagingengine.com ([202.12.124.156]:33321)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <peter@HIDDEN>)
 id 1uBq2V-00063m-FO
 for 78097 <at> debbugs.gnu.org; Mon, 05 May 2025 03:15:00 -0400
Received: from phl-compute-03.internal (phl-compute-03.phl.internal
 [10.202.2.43])
 by mailfhigh.stl.internal (Postfix) with ESMTP id 5F08225401D9;
 Mon,  5 May 2025 03:14:53 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-03.internal (MEProxy); Mon, 05 May 2025 03:14:53 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=devalot.com; 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=fm3; t=1746429293; x=1746515693; bh=jAWVHSqEmj
 YI9LVWCpscxEQHJ8RW9qzoKK5KGdpF0pY=; b=ieiG6CafqVs5i8USmd+lRueAQx
 MUL2cryonsWE5IcBDSZIH9Dv4f9CD2WG+hls5W0+i0X5z3vhKDuNR1HGXAsOSaXn
 hqnMIrqx9owl7GA2BqxzbQRrL61SJ/Zg/fOcg29XJSS68NngNYv/BwkXNIzt5CQH
 N9vZ8B73+YFsNtA5vZKfCDQWbHhFNHheF11w7gOmJYjJMkEECdyr8cLKEuDOqpnh
 CzC+0dzYo1m0RLrIZzrqB53ld41asnlX8J4/BYH7zhX1hILS6issMuDrf3dO98bM
 d1C4MDHJrazwZEOsbD8Z+clUNFWMv3EsoaPus9HcIpcYe48FyEOlTtR20MHQ==
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=fm3; t=
 1746429293; x=1746515693; bh=jAWVHSqEmjYI9LVWCpscxEQHJ8RW9qzoKK5
 KGdpF0pY=; b=kTqvAybI8N9xxrXqWfTBBZk7K4Og9YT+8Nv+ilRN7+c8ipxS92K
 7twOeIDHq5POFbhL4ifP9x51TzAfkIiQOrtlcVEc2scHq8XzfiVbKO9w6DjNliOR
 CU5Vzjqd9GTRdva2Ikp2bfKmavlk0L8GQiD/pWwTQ8acPUYI3VgrE4m9uptQ1I+i
 xC3BnumkKYKMxXLFstpZe9xLHN+8qU/2boTNF47Kyh9xucVFLqqhwUrVL1oPRanT
 CJDm4TTehsxoOTGXSU+sqlMgUn62FS0P4exNXjLi1a308SrO/MNsHgzHgxDPT2au
 aTr99TWehp+EI2yssBNPtpBdDe2exFUPEYg==
X-ME-Sender: <xms:bGUYaF8TZ8yOf47QX69uvZV7uLGzdfqGq7H3SyWMnBbWWbMAiCPN3g>
 <xme:bGUYaJu11CjvGCZa1P1uSGGTxCbzI6DxkcrtcHnukCKiKcgzefKQddS0NeLFcbPPm
 9RPC9cHWuFqiMuKsI0>
X-ME-Received: <xmr:bGUYaDDt_knXazc1MdceAuXhk9Zu0ydZXH2zubDbIsrfzsExSkL3y-9YQ6zPKcp018aMkPv6fuHW6_78xyiXLOD3>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvkedtgeeiucetufdoteggodetrf
 dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
 pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
 gvnhhtshculddquddttddmnecujfgurhephffvvefujghffgffkfggtgesthdtredttder
 tdenucfhrhhomhepfdfrvghtvghrucflrdculfhonhgvshdfuceomhhlihhsthhsseguvg
 hvrghlohhtrdgtohhmqeenucggtffrrghtthgvrhhnpedvheffvddtuddukeevieekieet
 veejuedtgeetueelleefhfehgedvvdeufeetkeenucffohhmrghinhepfhhrvggvrhgrnh
 hgvggsihhtshdrtghomhdpfhhoshhsthhoughonhdrohhrghdpghhithhhuhgsrdgtohhm
 necuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepphgvth
 gvrhesjhhonhgvshgsuhhntghhrdgtohhmpdhnsggprhgtphhtthhopedvpdhmohguvgep
 shhmthhpohhuthdprhgtphhtthhopehmohhnnhhivghrsehirhhordhumhhonhhtrhgvrg
 hlrdgtrgdprhgtphhtthhopeejkedtleejseguvggssghughhsrdhgnhhurdhorhhg
X-ME-Proxy: <xmx:bGUYaJeJxxdyGOQ9Fpe_neQlJBOK5wIPGWCzoYnqPKUij7cWJIUl_g>
 <xmx:bGUYaKMDC2u0wblRHFSefYieZoYvqG3CtMlYijPCdB7XRufmS1lySw>
 <xmx:bGUYaLmaH66XHa3jCwRdkY-RFWEign5qDlb0FTa0gCR51idWS84yWw>
 <xmx:bGUYaEuooAvrsZtcEnG3CecuLaTHzzF5APdaaTQOmYQg5EoaSrxhjg>
 <xmx:bWUYaJHszjm__HVydaSErnEGrziXsETxhqg9MqkSqZj82xhuTt0brAds>
Feedback-ID: i8e094635:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 5 May 2025 03:14:52 -0400 (EDT)
From: "Peter J. Jones" <mlists@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#78097: 30.1; editorconfig can pass nil to file-name-directory
In-Reply-To: <jwvcycoxtwr.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message
 of "Sun, 04 May 2025 11:55:21 -0400")
References: <875xipwyk5.fsf@HIDDEN>
 <jwvtt613i2w.fsf-monnier+emacs@HIDDEN>
 <87msbsbm7g.fsf@HIDDEN>
 <jwvcycoxtwr.fsf-monnier+emacs@HIDDEN>
User-Agent: mu4e 1.12.7; emacs 30.1
Date: Mon, 05 May 2025 09:14:50 +0200
Message-ID: <87ldrbzfyt.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 78097
X-Mailman-Approved-At: Mon, 05 May 2025 03:18:14 -0400
Cc: 78097 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

On Sun, May 04 2025, Stefan Monnier wrote:
>>> Could you give a concrete example of how this can happen?
>>
>> Yes.  I want to have `delete-trailing-whitespace' in a `before-save'
>> hook by default but still allow editor config to remove it if
>> "trim_trailing_whitespace" is set to false in the current project.  So I
>> wrote the following function and put it in
>> `editorconfig-get-local-variables-functions':
>>
>> (defun pjones:editorconfig-apply-trim-whitespace (props)
>>   "Conditionally change the trim_trailing_whitespace setting.
>>
>> Enable whitespace trimming unless the editor configuration file
>> explicitly disables it.  PROPS is the hash from the editor configuration
>> file."
>>   (when (null (gethash 'trim_trailing_whitespace props))
>>     (puthash 'trim_trailing_whitespace "true" props)
>>     (editorconfig--get-trailing-ws props)))
>
> I see, thanks.
>
> FWIW, the fact that `editorconfig-get-local-variables-functions' is run
> when there are no `.editorconfig` files is an accident.

The reason I was using `editorconfig-get-local-variables-functions' is
because both `editorconfig-after-apply-functions' and
`editorconfig-hack-properties-functions' are documented to behave that
way but are deprecated and `editorconfig-hack-properties-functions'
reports that `editorconfig-get-local-variables-functions' should be used
instead.

If none of these hooks are available for this purpose can you recommend
a way that I can achieve my goal?

>> Projects that don't have editor configuration files trigger the bug
>> where nil is passed to `file-name-directory'.
>
> IIUC the patch you sent silences the error but also has the effect that
> AFAICT it does not enable `delete-trailing-whitespace` in those files
> for which there is no `.editorconfig`, contrarily to what I understood
> to be your goal.
>
> Was that on purpose?

No.  I was starting to suspect that it wasn't working and after seeing
your patch I now know it's most definitely not working!  I was so deep
in the weeds trying to fix the "stringp nil" issue that I never went
back to see if my fix actually worked.  Sorry about that.

Your patch makes a lot more sense than the non-functional hack I first
posted.

Thanks for the help!

-- 
Peter J. Jones (he/him)
blog: https://freerangebits.com
social: https://fosstodon.org/@devalot
code: https://github.com/pjones




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

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


Received: (at 78097) by debbugs.gnu.org; 4 May 2025 17:14:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 04 13:14:26 2025
Received: from localhost ([127.0.0.1]:58773 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uBcuy-00085W-HF
	for submit <at> debbugs.gnu.org; Sun, 04 May 2025 13:14:25 -0400
Received: from fhigh-b2-smtp.messagingengine.com ([202.12.124.153]:53713)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <peter@HIDDEN>)
 id 1uBYLs-0002fz-77
 for 78097 <at> debbugs.gnu.org; Sun, 04 May 2025 08:21:50 -0400
Received: from phl-compute-04.internal (phl-compute-04.phl.internal
 [10.202.2.44])
 by mailfhigh.stl.internal (Postfix) with ESMTP id 64AF325401AB;
 Sun,  4 May 2025 08:21:42 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-04.internal (MEProxy); Sun, 04 May 2025 08:21:42 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=devalot.com; 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=fm3; t=1746361302; x=1746447702; bh=4yBIh47oaG
 ugxGPZkK5FqlPwrU8XE15kKdP1r/s/nBg=; b=JMBeO+bNFTEovu2lriad3LcTkD
 fVWO6LDA0IElZ2gny96kcVTSu3oer5dhtWOdxhsQpvMCYT+Q6RakeB8/J7GbN29A
 gT1+Oy1YBSlPLmmIvQ9TPbkr5YfQ84dtSbuFK7iFbJWGtVpPkJ7exOZ4XRrK644A
 Mnio0OrErvs0cQJ3T4udosL4rFdLDMPF703TwxZclQ0WTY9os4Zo9uXflVbIPGZs
 N9zlqPFt7NZsr1Lz8Pc085uPO7oRIraIQNef2i9d0KQV7JLmbS8MKgtQEGTvcb/u
 Uf8ERNI8oATYdiGqE3UIIAYlwWcS5NeWQpjVIT1hDu0SdL0FUkPyhH0UtYhw==
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=fm3; t=
 1746361302; x=1746447702; bh=4yBIh47oaGugxGPZkK5FqlPwrU8XE15kKdP
 1r/s/nBg=; b=jpfOP1B544L5tP+xnLYu5XDsAtKRtCu637HVYl1OsXYk6rztCAX
 56lLv9v7ugITIXWSFpiq/+oafuZNvzbzkAZAGa4onuVep71VJl+IGpvAlNzoid0K
 N3VOJHSkjq1evYZVkaYOIn4U+pK06Bb51aVuxiL1iIOVJ4aPDGRfFd76u0YO0Frz
 j43erGR/qF3wU6uLqmyFBLjk3VLi5JskNRUcrI7XQv8w8L2z058QDv92vDTdq9KG
 zUzSFa2KpaLM8+J2BQoh5vj1zlBGzPNy7oEIDBg2t07P2JdjsoaLvDg4Oj9bEY8z
 MMITelA7vAF65yrSa6NzzGz9VP0fEVG9D0A==
X-ME-Sender: <xms:1VsXaJmcSeR2_nwvzxFQ0UNDPk5PII3IeNLwMcpqDia_wOxdbHvz9g>
 <xme:1VsXaE0_C6nSWRJmhJ18Cc4GUqoqUvgCl88prVmZ-OzxYmhg_eXqZswv_B1zQ3cCo
 4RRldzDGYdPC9wxuvA>
X-ME-Received: <xmr:1VsXaPp5BS2p5v5btUCk6rCRrXjyWyV9-JzVItTm71EyaAw_1YbaWmC7ZJCU5OIM-emtcEeexeRgNdX6dULlnbjwd-05a0BVW2Z-9uoBvlTzmC_y92n0M7_yVS8>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvjeekudelucetufdoteggodetrf
 dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
 pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
 gvnhhtshculddquddttddmnecujfgurhephffvvefujghffgffkfggtgesthdtredttder
 tdenucfhrhhomhepfdfrvghtvghrucflrdculfhonhgvshdfuceomhhlihhsthhsseguvg
 hvrghlohhtrdgtohhmqeenucggtffrrghtthgvrhhnpeeftddtheefieetgeeiffekueek
 heeludeiteevheeugeejgeegffetvedttdekieenucevlhhushhtvghrufhiiigvpedtne
 curfgrrhgrmhepmhgrihhlfhhrohhmpehpvghtvghrsehjohhnvghssghunhgthhdrtgho
 mhdpnhgspghrtghpthhtohepvddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepmh
 honhhnihgvrhesihhrohdruhhmohhnthhrvggrlhdrtggrpdhrtghpthhtohepjeektdel
 jeesuggvsggsuhhgshdrghhnuhdrohhrgh
X-ME-Proxy: <xmx:1VsXaJn3RppeLAuDry1M10X0F3F7Cx61N18KghQlXSjO0pyLoDU2Aw>
 <xmx:1VsXaH2m-p2hk41z3EMdofWuQiYKQAoiEJMFoG6W_BDFdzWRjvLt2w>
 <xmx:1VsXaIvNb9fzVu15XlQgjBR7EBNOzVFMCnwhB6dGZ5nijXTG2zKUpA>
 <xmx:1VsXaLX3BqY4O1W5_aS_LIx2LGF1uLkxJGd1Yfi3dysGPToJueD_Uw>
 <xmx:1lsXaJtVi525iiKfmW90ajTvWms9n4hR17TTaxT_6pGVJbWqcd_wsV4S>
Feedback-ID: i8e094635:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 4 May 2025 08:21:41 -0400 (EDT)
From: "Peter J. Jones" <mlists@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#78097: 30.1; editorconfig can pass nil to file-name-directory
In-Reply-To: <jwvtt613i2w.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message
 of "Sat, 03 May 2025 10:13:53 -0400")
References: <875xipwyk5.fsf@HIDDEN>
 <jwvtt613i2w.fsf-monnier+emacs@HIDDEN>
User-Agent: mu4e 1.12.7; emacs 30.1
Date: Sun, 04 May 2025 14:21:39 +0200
Message-ID: <87msbsbm7g.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 78097
X-Mailman-Approved-At: Sun, 04 May 2025 13:14:15 -0400
Cc: 78097 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.7 (--)

On Sat, May 03 2025, Stefan Monnier wrote:
>> When a function called from
>> `editorconfig-get-local-variables-functions' returns an alist, but
>> there is no .editorconfig file in the directory tree,
>
> Could you give a concrete example of how this can happen?

Yes.  I want to have `delete-trailing-whitespace' in a `before-save'
hook by default but still allow editor config to remove it if
"trim_trailing_whitespace" is set to false in the current project.  So I
wrote the following function and put it in
`editorconfig-get-local-variables-functions':

(defun pjones:editorconfig-apply-trim-whitespace (props)
  "Conditionally change the trim_trailing_whitespace setting.

Enable whitespace trimming unless the editor configuration file
explicitly disables it.  PROPS is the hash from the editor configuration
file."
  (when (null (gethash 'trim_trailing_whitespace props))
    (puthash 'trim_trailing_whitespace "true" props)
    (editorconfig--get-trailing-ws props)))

Projects that don't have editor configuration files trigger the bug
where nil is passed to `file-name-directory'.

Thank you.




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

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


Received: (at 78097) by debbugs.gnu.org; 4 May 2025 15:55:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 04 11:55:34 2025
Received: from localhost ([127.0.0.1]:57828 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uBbgk-0005vc-Bl
	for submit <at> debbugs.gnu.org; Sun, 04 May 2025 11:55:34 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:20808)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1uBbgf-0005ss-Ej
 for 78097 <at> debbugs.gnu.org; Sun, 04 May 2025 11:55:31 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 9A46F10006B;
 Sun,  4 May 2025 11:55:23 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1746374122;
 bh=dM40NDFISk8IwxL4mvx4L6c35ulcbgUVqtkSgt9vxXY=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=M/rF1CwzueMHiH2r5VjT2Tt5/lI3aeZmyerQGXpUtPaQ7YeLHeXmRJOWBY6idzRdw
 Ijk583tVkRaqT2UaZuPy+kMCuAs/FIdE4fcMXu6yLufnLjF8OKhNC+7Xv0gepD/vNp
 5nxQQXYeg3bHERn0woqxJHoMfNQwuKNkRIfoZQHgJtWW8yNe3JoJaV6dIZJ7VFQZCK
 mym6Ym4mfv4BiLANCjk7slsW3Mc9YWvac+2WsDmjgEHJ82ii+XrcbKGp+8z51Tup4H
 E7UWIYBHfiXJgiExGdq8AqTBloNPeBgJPOW0lRCLpwdMZfHLSckHLUZTHuu9zwe2jv
 0wVU92bpUD5Ug==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id B7BEF10002E;
 Sun,  4 May 2025 11:55:22 -0400 (EDT)
Received: from pastel (104-195-232-56.cpe.teksavvy.com [104.195.232.56])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 87F0D120185;
 Sun,  4 May 2025 11:55:22 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: "Peter J. Jones" <mlists@HIDDEN>
Subject: Re: bug#78097: 30.1; editorconfig can pass nil to file-name-directory
In-Reply-To: <87msbsbm7g.fsf@HIDDEN>
Message-ID: <jwvcycoxtwr.fsf-monnier+emacs@HIDDEN>
References: <875xipwyk5.fsf@HIDDEN>
 <jwvtt613i2w.fsf-monnier+emacs@HIDDEN>
 <87msbsbm7g.fsf@HIDDEN>
Date: Sun, 04 May 2025 11:55:21 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.229 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 78097
Cc: 78097 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>> Could you give a concrete example of how this can happen?
>
> Yes.  I want to have `delete-trailing-whitespace' in a `before-save'
> hook by default but still allow editor config to remove it if
> "trim_trailing_whitespace" is set to false in the current project.  So I
> wrote the following function and put it in
> `editorconfig-get-local-variables-functions':
>
> (defun pjones:editorconfig-apply-trim-whitespace (props)
>   "Conditionally change the trim_trailing_whitespace setting.
>
> Enable whitespace trimming unless the editor configuration file
> explicitly disables it.  PROPS is the hash from the editor configuration
> file."
>   (when (null (gethash 'trim_trailing_whitespace props))
>     (puthash 'trim_trailing_whitespace "true" props)
>     (editorconfig--get-trailing-ws props)))

I see, thanks.

FWIW, the fact that `editorconfig-get-local-variables-functions' is run
when there are no `.editorconfig` files is an accident.

> Projects that don't have editor configuration files trigger the bug
> where nil is passed to `file-name-directory'.

IIUC the patch you sent silences the error but also has the effect that
AFAICT it does not enable `delete-trailing-whitespace` in those files
for which there is no `.editorconfig`, contrarily to what I understood
to be your goal.

Was that on purpose?


        Stefan





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

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


Received: (at 78097) by debbugs.gnu.org; 3 May 2025 14:14:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 03 10:14:05 2025
Received: from localhost ([127.0.0.1]:41926 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uBDcz-0001J2-6I
	for submit <at> debbugs.gnu.org; Sat, 03 May 2025 10:14:05 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:50537)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1uBDcw-0001ID-9o
 for 78097 <at> debbugs.gnu.org; Sat, 03 May 2025 10:14:03 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id E599880964;
 Sat,  3 May 2025 10:13:55 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1746281635;
 bh=EEsuBUjdg0PjyYbFjlgr9wjBUW8mI9obMaGLkRVUdrI=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=EnNgARNe1kgAHlM46KYL134rRRlSJm7t6iZw0eGf8GyBFIIQNgcLQ8oeN9ZWSowoy
 lrPqz+myHHaaJTY1plvCUCS/w+KTOvYI9K4LGDHtc8d5vIbpCHsz/Bh01mGW3fQU7B
 t9GpKKSvxeQFYUW8sOE4GTX7pTcgM2VANA45WujVAj/vWsxXlDZeD4ugrTbDFLQuCJ
 d7mhvdyPagzpUDfpHkeeendI5kxoKvmn126uHbyGenuqjqcZMwC35p4TZtMQkKkJ9g
 Pd+1St5c5pe7qmjVl5G/MDVSsCAOuYgZJDvpR02go9H7KW5tLGwo/ppZ/rCzr3NeS7
 8X4HyVLi224+w==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id EF9A9807B7;
 Sat,  3 May 2025 10:13:54 -0400 (EDT)
Received: from pastel (104-195-232-56.cpe.teksavvy.com [104.195.232.56])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 84A29120099;
 Sat,  3 May 2025 10:13:54 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: "Peter J. Jones" <mlists@HIDDEN>
Subject: Re: bug#78097: 30.1; editorconfig can pass nil to file-name-directory
In-Reply-To: <875xipwyk5.fsf@HIDDEN>
Message-ID: <jwvtt613i2w.fsf-monnier+emacs@HIDDEN>
References: <875xipwyk5.fsf@HIDDEN>
Date: Sat, 03 May 2025 10:13:53 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.058 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 78097
Cc: 78097 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> When a function called from
> `editorconfig-get-local-variables-functions' returns an alist, but
> there is no .editorconfig file in the directory tree,

Could you give a concrete example of how this can happen?

> the `editorconfig--get-dir-local-variables' function will pass nil
> to `file-name-directory', causing an error (stringp nil).
> This happens because `editorconfig--get-dir-local-variables' calls
> `editorconfig-core-get-nearest-editorconfig', which returns nil, and
> passes that nil on to `file-name-directory'.

Indeed.

> The following patch fixes the problem:
>
> --- editorconfig.el.orig        2025-04-27 14:52:35.208707072 +0200
> +++ editorconfig.el     2025-04-27 14:53:19.423741999 +0200
> @@ -739,11 +739,10 @@
>        ;; settings from each file individually and let hack-dir-local merge
>        ;; them because hack-dir-local doesn't have the notion of "unset",
>        ;; and because the conversion of `indent_size' depends on `tab_width'.
> -      (when alist
> -        (cons
> -         (file-name-directory (editorconfig-core-get-nearest-editorconfig
> -                               buffer-file-name))
> -         alist)))))
> +      (when-let* ((alist)
> +                  (file (editorconfig-core-get-nearest-editorconfig
> +                         buffer-file-name)))
> +        (cons (file-name-directory file) alist)))))

Without knowing why `editorconfig-core-get-nearest-editorconfig` returns
nil even though `alist` is non-nil, I can't judge if this is a real fix
or just a quick workaround.

Another quick workaround that has the advantage of not throwing away the
`alist` would be something like the patch below.


        Stefan


diff --git a/lisp/editorconfig.el b/lisp/editorconfig.el
index 7cdd79fa3b0..69e95c9a006 100644
--- a/lisp/editorconfig.el
+++ b/lisp/editorconfig.el
@@ -736,8 +736,10 @@ editorconfig--get-dir-local-variables
       ;; and because the conversion of `indent_size' depends on `tab_width'.
       (when alist
         (cons
-         (file-name-directory (editorconfig-core-get-nearest-editorconfig
-                               buffer-file-name))
+         (let ((ecfile (editorconfig-core-get-nearest-editorconfig
+                        buffer-file-name)))
+           ;; `ecfile' can be nil!?!  (bug#78097)
+           (file-name-directory (or ecfile buffer-file-name)))
          alist)))))
 
 ;;;###autoload





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

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


Received: (at 78097) by debbugs.gnu.org; 3 May 2025 08:56:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 03 04:56:43 2025
Received: from localhost ([127.0.0.1]:38108 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uB8fr-0006g5-JS
	for submit <at> debbugs.gnu.org; Sat, 03 May 2025 04:56:43 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:40496)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1uB8fo-0006fo-HN
 for 78097 <at> debbugs.gnu.org; Sat, 03 May 2025 04:56:41 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1uB8fi-0003UK-QD; Sat, 03 May 2025 04:56:34 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=GaPYWx2B0vdPM6jpdT/+5TSD4JTsI5Bb34PaZrGpmk8=; b=bfyiXbLxKGlQ
 E6eDiIWS2OhINRa/RAAHqazpv9NARoGzM59ixrXqtlPUPZ8bciANej24Lqt4of/r5qZPlpQjka9Yo
 O8NuAwccqoB6Z4aa1Qyxgme/H0lMcZBDFMFHMX79SxQr9rdBWq9ScuEh+H58z5BVWGCCoTzsJKlf+
 rkssEPKbmlBzzUGwWMLWl4xct1THybgsHd6momC9kLnz2A/R7crdI6VX8XXmRjLnx5hjhfEAIc1W9
 8KyiswR33cpLNBjbxOw4cfImPJs7Zl/lydlZS8MO8r0VKSQAQtSOXtpba2qemtH5U0d2DlXpB/TB5
 UJql3PxYLWDgxqfvyEUFQw==;
Date: Sat, 03 May 2025 11:56:31 +0300
Message-Id: <86r016jcn4.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: "Peter J. Jones" <mlists@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <875xipwyk5.fsf@HIDDEN> (mlists@HIDDEN)
Subject: Re: bug#78097: 30.1; editorconfig can pass nil to file-name-directory
References: <875xipwyk5.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 78097
Cc: 78097 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: "Peter J. Jones" <mlists@HIDDEN>
> Date: Sun, 27 Apr 2025 14:58:50 +0200
> 
> When a function called from `editorconfig-get-local-variables-functions'
> returns an alist, but there is no .editorconfig file in the directory
> tree, the `editorconfig--get-dir-local-variables' function will pass nil
> to `file-name-directory', causing an error (stringp nil).
> 
> This happens because `editorconfig--get-dir-local-variables' calls
> `editorconfig-core-get-nearest-editorconfig', which returns nil, and
> passes that nil on to `file-name-directory'.
> 
> The following patch fixes the problem:
> 
> --- editorconfig.el.orig        2025-04-27 14:52:35.208707072 +0200
> +++ editorconfig.el     2025-04-27 14:53:19.423741999 +0200
> @@ -739,11 +739,10 @@
>        ;; settings from each file individually and let hack-dir-local merge
>        ;; them because hack-dir-local doesn't have the notion of "unset",
>        ;; and because the conversion of `indent_size' depends on `tab_width'.
> -      (when alist
> -        (cons
> -         (file-name-directory (editorconfig-core-get-nearest-editorconfig
> -                               buffer-file-name))
> -         alist)))))
> +      (when-let* ((alist)
> +                  (file (editorconfig-core-get-nearest-editorconfig
> +                         buffer-file-name)))
> +        (cons (file-name-directory file) alist)))))
>  
>  ;;;###autoload
>  (define-minor-mode editorconfig-mode

Thanks.

Stefan, any comments?  If the patch is okay, on what branch should it
be installed?




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

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


Received: (at submit) by debbugs.gnu.org; 27 Apr 2025 15:30:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 27 11:30:32 2025
Received: from localhost ([127.0.0.1]:43648 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u93xe-0008Rb-7X
	for submit <at> debbugs.gnu.org; Sun, 27 Apr 2025 11:30:32 -0400
Received: from lists.gnu.org ([2001:470:142::17]:58446)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <peter@HIDDEN>)
 id 1u91bB-00032f-Lp
 for submit <at> debbugs.gnu.org; Sun, 27 Apr 2025 08:59:12 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <peter@HIDDEN>)
 id 1u91b4-0001mA-QW
 for bug-gnu-emacs@HIDDEN; Sun, 27 Apr 2025 08:59:02 -0400
Received: from fout-a6-smtp.messagingengine.com ([103.168.172.149])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <peter@HIDDEN>)
 id 1u91az-0005Pd-Bi
 for bug-gnu-emacs@HIDDEN; Sun, 27 Apr 2025 08:59:02 -0400
Received: from phl-compute-01.internal (phl-compute-01.phl.internal
 [10.202.2.41])
 by mailfout.phl.internal (Postfix) with ESMTP id 26F701380212
 for <bug-gnu-emacs@HIDDEN>; Sun, 27 Apr 2025 08:58:54 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-01.internal (MEProxy); Sun, 27 Apr 2025 08:58:54 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=devalot.com; h=
 cc:content-type:content-type:date:date:from:from:in-reply-to
 :message-id:mime-version:reply-to:subject:subject:to:to; s=fm3;
 t=1745758734; x=1745845134; bh=Oe7t7WwaH1IhTF0N0GHZAzC6pAbhzWBB
 YtjlYo8wD1c=; b=bzWknKE7U4aiNYeaera/BRo7LXTYPMm3ALTaq9PtUJYqkJkC
 wTlnsaRpb6CykW4ZUba2Fgsv3giN4FBiplBMCqq5ly8KAH55zEi46oQpCmVBHyzu
 3OK142N+RXUFygl7ueF/rc+eLVU/vXWeX+Ea6OYrhGrp6CR+lKmNPsvFxb15O/CR
 95HzZBS54JdhX7RpgCvpL11drbUUejYBGFk7iBKPcepDCqEP4Kyfbs0Xqj4xUW/w
 1oEA5psfymyjgEJpTCzIdsSVWhM2EMaZeciQNrizV3GW0zMCS0g+tb+zyrzmsHYY
 AO1pu5vk3CB8ZkHOQyVnkxvDYc+a/spFYnsOTA==
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=fm3; t=1745758734; x=
 1745845134; bh=Oe7t7WwaH1IhTF0N0GHZAzC6pAbhzWBBYtjlYo8wD1c=; b=m
 Gijn4ePPg0/Dn3mDCka44pE0mwialcazta2jeDRwkHllsvMzXHNurC2i9MWQtDYj
 xhSki4WSu531nw0AeeW44/pdlYwY18z73oVINzckoJJqoeDMAnM3V60G3wdH2mdK
 yQ7vz38Dgfx5WyXgYpco9TfikgBpOpwxfsHUC2MVx7gWgUzCzXzAa45SamKFGlSi
 DuRpiKFB0s34/FAY54Rd+Y3LrfLJ3hI1uBs26PJsSC40sO400FBqiBv/zmK9PoII
 s565R2Vw1sEIGhehWTP47jp+hhyDLSzDyLPmQF5OLqac2uT0LppqCsO58N3gUElQ
 nAGAFhGvozpRXRSen25xQ==
X-ME-Sender: <xms:DSoOaJNQCCwJveuu3KwZqriyxmQWpV_-_W7iZ-OR-3OpbQFYddskvg>
 <xme:DSoOaL98aEFov_8P9xAdi1lN9cjoXCG4IAE1Ou4O8_HTVeZwbOoiLxsZKZuyjS_Yb
 jQBggtdggiBULlg7NM>
X-ME-Received: <xmr:DSoOaIQPBVM_WbjrumuYiUCFE1YiJTiHkpcVb6QxcSf6hv-H51Io08x-TkWpEllfBzTQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvheekudefucetufdoteggodetrf
 dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
 pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucgotffhvedqqdfjug
 hrqdfuuhhsphgvtghtqdhlohifucdlhedmnegotffhvedqqdfjughrqdfuuhhsphgvtght
 ucdlvddtmdenucfjughrpefhvffufggffffkgggtsehttdertddtredtnecuhfhrohhmpe
 dfrfgvthgvrhculfdrucflohhnvghsfdcuoehmlhhishhtshesuggvvhgrlhhothdrtgho
 mheqnecuggftrfgrthhtvghrnhepjedtgffhueejgfeludfhheelheelueevgeduhfeghf
 evtddutdetfeefueekgfefnecuffhomhgrihhnpehfrhgvvghrrghnghgvsghithhsrdgt
 ohhmpdhfohhsshhtohguohhnrdhorhhgpdhgihhthhhusgdrtghomhenucevlhhushhtvg
 hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehpvghtvghrsehjohhnvghs
 sghunhgthhdrtghomhdpnhgspghrtghpthhtohepuddpmhhouggvpehsmhhtphhouhhtpd
 hrtghpthhtohepsghughdqghhnuhdqvghmrggtshesghhnuhdrohhrgh
X-ME-Proxy: <xmx:DSoOaFufq-9imdQ1ce06XSqrcghvXKjqVjRoRvu5_ZP2TNqSOzB3pA>
 <xmx:DSoOaBdgZktBuVsai_KvX0xNCyJZiJSDeib3w-KxCh52YzVWq50auA>
 <xmx:DSoOaB0wBh1HVkNeq-z5Y1i9YJZo4_vKv_ZCWTJWIEkJplC1LtG08A>
 <xmx:DSoOaN8bNt6vYQy01QvdXdNvf7zatKZrJKXLpqWAjz32jxD4pd6Z1g>
 <xmx:DioOaLu0doVo3qI6ZIIhqaX37aX3bUmspAUtu2tPMreJBCA2E8cQez55>
Feedback-ID: i8e094635:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <bug-gnu-emacs@HIDDEN>; Sun, 27 Apr 2025 08:58:52 -0400 (EDT)
From: "Peter J. Jones" <mlists@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 30.1; editorconfig can pass nil to file-name-directory
User-Agent: mu4e 1.12.7; emacs 30.1
User-Agent: mu4e 1.12.7; emacs 30.1
X-Debbugs-Cc: 
Date: Sun, 27 Apr 2025 14:58:50 +0200
Message-ID: <875xipwyk5.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=103.168.172.149;
 envelope-from=peter@HIDDEN; helo=fout-a6-smtp.messagingengine.com
X-Spam_score_int: -26
X-Spam_score: -2.7
X-Spam_bar: --
X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001,
 RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001,
 RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.7 (/)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Sun, 27 Apr 2025 11:30:27 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.3 (/)

When a function called from `editorconfig-get-local-variables-functions'
returns an alist, but there is no .editorconfig file in the directory
tree, the `editorconfig--get-dir-local-variables' function will pass nil
to `file-name-directory', causing an error (stringp nil).

This happens because `editorconfig--get-dir-local-variables' calls
`editorconfig-core-get-nearest-editorconfig', which returns nil, and
passes that nil on to `file-name-directory'.

The following patch fixes the problem:

--- editorconfig.el.orig        2025-04-27 14:52:35.208707072 +0200
+++ editorconfig.el     2025-04-27 14:53:19.423741999 +0200
@@ -739,11 +739,10 @@
       ;; settings from each file individually and let hack-dir-local merge
       ;; them because hack-dir-local doesn't have the notion of "unset",
       ;; and because the conversion of `indent_size' depends on `tab_width'.
-      (when alist
-        (cons
-         (file-name-directory (editorconfig-core-get-nearest-editorconfig
-                               buffer-file-name))
-         alist)))))
+      (when-let* ((alist)
+                  (file (editorconfig-core-get-nearest-editorconfig
+                         buffer-file-name)))
+        (cons (file-name-directory file) alist)))))
 
 ;;;###autoload
 (define-minor-mode editorconfig-mode

In GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.43,
cairo version 1.18.2)
System Description: NixOS 24.11 (Vicuna)

Configured using:
 'configure
 --prefix=/nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1
 --disable-build-details --with-modules --with-pgtk
 --with-compress-install --with-toolkit-scroll-bars
 --with-native-compilation --without-imagemagick --with-mailutils
 --without-small-ja-dic --with-tree-sitter --without-xinput2
 --without-xwidgets --with-dbus --with-selinux'

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

Important settings:
  value of $EMACSLOADPATH: 
  value of $EMACSNATIVELOADPATH: 
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: ELisp/l

Minor modes in effect:
  editorconfig-mode: t
  csv-field-index-mode: t
  consult-org-roam-mode: t
  org-roam-db-autosync-mode: t
  pdf-occur-global-minor-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  mu4e-modeline-mode: t
  org-clock-dbus-mode: t
  org-edna-mode: t
  yas-minor-mode: t
  display-line-numbers-mode: t
  flycheck-indicator-mode: t
  flycheck-mode: t
  save-place-mode: t
  winum-mode: t
  winner-mode: t
  which-key-mode: t
  vertico-prescient-mode: t
  marginalia-mode: t
  vertico-multiform-mode: t
  vertico-mode: t
  repeat-mode: t
  minions-mode: t
  global-jinx-mode: t
  jinx-mode: t
  global-hl-todo-mode: t
  hl-todo-mode: t
  global-diff-hl-mode: t
  diff-hl-mode: t
  global-auto-revert-mode: t
  envrc-global-mode: t
  envrc-mode: t
  electric-pair-mode: t
  corfu-popupinfo-mode: t
  corfu-prescient-mode: t
  corfu-history-mode: t
  global-corfu-mode: t
  corfu-mode: t
  savehist-mode: t
  server-mode: t
  puni-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  global-prettify-symbols-mode: t
  prettify-symbols-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  auto-fill-function: #[128 \304\300\301#\207 [yas--auto-fill do-auto-fill :around nil apply] 5 advice]
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/ef-themes-1.8.0/theme-loaddefs hides /nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/modus-themes-20241007.1332/theme-loaddefs
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/site-start hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/site-lisp/site-start
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/transient-20241008.1824/transient hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/transient
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/ef-themes-1.8.0/theme-loaddefs hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/theme-loaddefs
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/jsonrpc-1.0.25/jsonrpc hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/jsonrpc
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/xref-1.7.0/xref hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/progmodes/xref
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/project-0.11.1/project hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/progmodes/project
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ol-bbdb hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ol-bbdb
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ox-latex hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ox-latex
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-lint hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-lint
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-core hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-core
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-fold-core hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-fold-core
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-groovy hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-groovy
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-macro hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-macro
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-capture hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-capture
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-haskell hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-haskell
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-emacs-lisp hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-emacs-lisp
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-ocaml hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-ocaml
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-R hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-R
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-habit hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-habit
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-C hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-C
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-entities hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-entities
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-faces hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-faces
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-crypt hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-crypt
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-octave hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-octave
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ox-ascii hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ox-ascii
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-tangle hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-tangle
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-matlab hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-matlab
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-colview hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-colview
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-makefile hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-makefile
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ol-eww hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ol-eww
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-plot hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-plot
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-clojure hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-clojure
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-gnuplot hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-gnuplot
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-list hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-list
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-perl hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-perl
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ox-odt hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ox-odt
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ox-md hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ox-md
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-tempo hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-tempo
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/oc-biblatex hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/oc-biblatex
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-sql hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-sql
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-python hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-python
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ox-publish hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ox-publish
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ol-gnus hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ol-gnus
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ox-man hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ox-man
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-keys hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-keys
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ox-koma-letter hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ox-koma-letter
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-refile hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-refile
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-element hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-element
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-ditaa hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-ditaa
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ol-eshell hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ol-eshell
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-sqlite hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-sqlite
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-agenda hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-agenda
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ox-texinfo hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ox-texinfo
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ol hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ol
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-css hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-css
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-cycle hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-cycle
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ol-bibtex hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ol-bibtex
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-ctags hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-ctags
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-eval hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-eval
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-shell hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-shell
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-maxima hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-maxima
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-num hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-num
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-attach hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-attach
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-comint hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-comint
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ol-doi hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ol-doi
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-processing hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-processing
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-src hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-src
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-mobile hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-mobile
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-persist hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-persist
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ox-org hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ox-org
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-goto hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-goto
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ol-mhe hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ol-mhe
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-org hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-org
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-java hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-java
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-julia hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-julia
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ol-man hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ol-man
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-exp hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-exp
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-lob hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-lob
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-archive hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-archive
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-eshell hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-eshell
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-feed hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-feed
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-indent hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-indent
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-scheme hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-scheme
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ol-rmail hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ol-rmail
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ox-beamer hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ox-beamer
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/oc-basic hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/oc-basic
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-pcomplete hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-pcomplete
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/oc hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/oc
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-table hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-table
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-js hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-js
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-inlinetask hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-inlinetask
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-timer hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-timer
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-sass hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-sass
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-lilypond hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-lilypond
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-fortran hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-fortran
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ol-irc hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ol-irc
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-protocol hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-protocol
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-awk hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-awk
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-id hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-id
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ol-docview hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ol-docview
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-compat hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-compat
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-latex hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-latex
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-mouse hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-mouse
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ox-html hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ox-html
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/oc-bibtex hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/oc-bibtex
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-lua hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-lua
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-sed hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-sed
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-ruby hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-ruby
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-ref hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-ref
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-calc hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-calc
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-dot hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-dot
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-version hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-version
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-attach-git hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-attach-git
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-forth hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-forth
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-clock hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-clock
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ol-info hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ol-info
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-datetree hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-datetree
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-plantuml hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-plantuml
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/oc-csl hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/oc-csl
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-fold hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-fold
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-macs hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-macs
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ol-w3m hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ol-w3m
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-lisp hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-lisp
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-table hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-table
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-loaddefs hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-loaddefs
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-element-ast hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-element-ast
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-footnote hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-footnote
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ox-icalendar hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ox-icalendar
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/oc-natbib hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/oc-natbib
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ob-screen hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ob-screen
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/org-duration hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/org-duration
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.7.12/ox hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/org/ox
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/nadvice-0.4/nadvice hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/emacs-lisp/nadvice
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/eldoc-1.15.0/eldoc hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/emacs-lisp/eldoc
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/compat-30.0.0.0/compat hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/emacs-lisp/compat
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/map-3.3.1/map hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/emacs-lisp/map
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/let-alist-1.0.6/let-alist hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/emacs-lisp/let-alist
/nix/store/6y8s8xqy6rn9b42nf3rbg4bnf6b3kap0-emacs-packages-deps/share/emacs/site-lisp/elpa/seq-2.24/seq hides /nix/store/ss2l3dmx67wjjbrajz7fg9y9f48ialj5-emacs-pgtk-30.1/share/emacs/30.1/lisp/emacs-lisp/seq

Features:
(shadow emacsbug edebug emacs-news-mode minibuf-eldef js-mode-expansions
js disass korea-util rg rg-info-hack rg-menu rg-ibuffer rg-result
wgrep-rg wgrep rg-history rg-header grep editorconfig-tools editorconfig
editorconfig-core editorconfig-core-handle editorconfig-fnmatch
editorconfig-conf-mode conf-mode orgalist apropos embark-org
embark-consult embark ob-ditaa org-colview org-crypt org-ctags org-habit
org-mouse org-plot ox-texinfo org-ref-natbib-bbl-citeproc ess-tracebug
ess-utils ess-custom cl-print debug backtrace vertico-quick
mastodon-media mastodon-profile mastodon-auth mastodon-client plstore
mastodon-tl mastodon mastodon-search mastodon-toot mastodon-iso persist
mastodon-http dictionary external-completion dictionary-connection
make-mode magit-annex magit-patch magit-subtree magit-gitignore
magit-ediff ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help
ediff-init ediff-util man calc-yank calccomp calc-alg calc-menu calc-ext
calc-aent calc calc-loaddefs rect calc-macs org-roam-dailies org-archive
tramp-cache time-stamp tramp-sh shortdoc cape-keyword cape-char nix-mode
nix-repl nix-shell nix-store nix-log nix-instantiate nix-shebang
nix-format nix goto-chg latexenc eimp solar cal-dst misc dabbrev
consult-org cal-move dcl-mode tempo epa-file password-store link-hint
expand-region yaml-mode-expansions subword-mode-expansions
text-mode-expansions cc-mode-expansions the-org-mode-expansions
python-el-fgallina-expansions nxml-mode-expansions html-mode-expansions
er-basic-expansions expand-region-core expand-region-custom csv-mode
yaml-mode ace-window puni pulse consult-imenu csharp-mode c-ts-common
cc-langs cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs goto-addr rng-xsd xsd-regexp rng-cmpct
rng-nxml rng-valid nxml-mode nxml-outln nxml-rap visual-fill darkroom
markdown-mode edit-indirect ffap tex-mode org-ref org-ref-core openalex
request org-ref-glossary org-ref-bibtex sgml-mode avy doi-utils
org-ref-utils org-ref-export citeproc citeproc-itemgetters citeproc-cite
citeproc-biblatex citeproc-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 rst citeproc-context
citeproc-prange citeproc-style citeproc-locale citeproc-term citeproc-rt
citeproc-lib citeproc-s queue ox-pandoc ht org-ref-misc-links
org-ref-label-link org-ref-ref-links org-ref-citation-links
org-ref-bibliography-links hydra lv bibtex-completion biblio
biblio-download biblio-dissemin biblio-ieee biblio-hal biblio-dblp
biblio-crossref biblio-arxiv timezone biblio-doi biblio-core parsebib
org-roam-export consult-org-roam consult-org-roam-buffer
org-roam-migrate org-roam-log org-roam-mode org-roam-capture org-roam-id
org-roam-node org-roam-db emacsql-sqlite-builtin sqlite org-roam-utils
org-roam-compat org-roam emacsql-sqlite emacsql-sqlite-common emacsql
emacsql-compiler vertico-directory consult qp pdf-sync pdf-annot
facemenu pdf-history pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist
tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet pdf-outline
pdf-links pdf-isearch let-alist pdf-misc pdf-tools cus-edit cus-start
cus-load pdf-view pdf-cache pdf-info tq pdf-util pdf-macs network-stream
url-http url-gw nsm url-auth gnus-gravatar gravatar dns url-cache sort
smiley gnus-cite mm-archive mail-extr textsec uni-scripts idna-mapping
ucs-normalize uni-confusable textsec-check vterm tramp trampver
tramp-integration files-x tramp-message tramp-compat tramp-loaddefs
compile color term ehelp vterm-module term/xterm xterm vc-hg vc-bzr
vc-src vc-sccs vc-svn vc-cvs vc-rcs bug-reference magit-extras
git-rebase magit-bookmark 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 imenu magit-diff smerge-mode diff git-commit log-edit add-log
magit-core magit-autorevert magit-margin magit-transient magit-process
with-editor comp comp-cstr comp-run comp-common magit-mode transient
benchmark magit-git magit-base magit-section cursor-sensor crm
reposition misearch multi-isearch cap-words superword subword tabify
mu4e mu4e-org mu4e-notification notifications mu4e-main smtpmail
mu4e-view mu4e-mime-parts mu4e-headers mu4e-thread mu4e-actions
mu4e-compose mu4e-draft gnus-msg 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-config mu4e-window bookmark pp ido mu4e-obsolete
help-fns radix-tree mule-util org-duration diary-lib diary-loaddefs
cal-iso vc-git org-appear org-bulletproof org-clock-dbus org-clock
org-modern org-num corg oc-basic disp-table ol-eww eww url-queue mm-url
ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015
mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku
url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud
nnimap nnmail mail-source utf7 nnoo parse-time gnus-spec gnus-int
gnus-range org-mime ox-org message sendmail yank-media puny rfc822 mml
mml-sec epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils
mailheader gnus-win gnus nnheader gnus-util text-property-search
mail-utils range mm-util mail-prsvr wid-edit ol-docview doc-view
jka-compr image-mode exif wdired noccur dired-subtree dired-narrow
delsel dired-filter edmacro f dired-hacks-utils dired-aux dired-x dired
dired-loaddefs ol-bibtex bibtex iso8601 ol-bbdb ol-w3m ol-doi
org-link-doi hl-line face-remap ob-ruby ob-R ob-python python
ob-plantuml ob-mermaid ob-shell shell warnings 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 ox-html table
ox-ascii ox-publish ox org-attach org-protocol org-edna org-capture
org-agenda org-element org-persist xdg org-id org-element-ast inline
avl-tree generator org-refile org ob ob-tangle ob-ref ob-lob ob-table
ob-exp org-macro org-src reformatter sh-script smie treesit executable
ob-comint org-pcomplete pcomplete comint ansi-osc org-list org-footnote
org-faces org-entities time-date noutline outline ob-emacs-lisp ob-core
ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc
org-loaddefs thingatpt cal-menu calendar cal-loaddefs org-version
org-compat org-macs format-spec yasnippet whitespace
display-line-numbers dumb-jump popup xref project flycheck-indicator
flycheck find-func vlf-setup advice saveplace winum dash winner ring
which-key vertico-prescient marginalia vertico-multiform vertico repeat
minions jinx hl-todo diff-hl log-view pcvs-util vc-dir ewoc vc
vc-dispatcher autorevert filenotify envrc inheritenv diff-mode
track-changes ansi-color elec-pair ef-maris-dark-theme ef-themes
corfu-popupinfo corfu-prescient prescient char-fold corfu-history corfu
kmacro cape compat savehist cl-extra help-mode dbus xml server s async
auth-source-pass finder-inf ace-window-autoloads adaptive-wrap-autoloads
async-autoloads cape-autoloads catppuccin-theme-autoloads
clojure-mode-autoloads consult-org-roam-autoloads
consult-recoll-autoloads corfu-prescient-autoloads corfu-autoloads
csv-mode-autoloads darkroom-autoloads devdocs-autoloads
diff-hl-autoloads dired-filter-autoloads dired-narrow-autoloads
dired-subtree-autoloads dired-hacks-utils-autoloads
dracula-theme-autoloads dumb-jump-autoloads ef-themes-autoloads
eimp-autoloads elm-mode-autoloads embark-consult-autoloads
consult-autoloads embark-autoloads ement-autoloads emms-autoloads
envrc-autoloads erc-hl-nicks-autoloads ess-autoloads
expand-region-autoloads flycheck-indicator-autoloads
flycheck-rust-autoloads flycheck-autoloads git-annex-autoloads
go-mode-autoloads go-translate-autoloads goto-chg-autoloads
graphviz-dot-mode-autoloads haskell-mode-autoloads
highlight-indent-guides-autoloads hl-todo-autoloads http-autoloads
indium-autoloads company-autoloads inf-ruby-autoloads
inheritenv-autoloads jinx-autoloads js2-refactor-autoloads
js2-mode-autoloads json-mode-autoloads json-process-client-autoloads
json-snatcher-autoloads kaolin-themes-autoloads autothemer-autoloads
khardel-autoloads link-hint-autoloads magit-annex-autoloads
magit-autoloads pcase marginalia-autoloads markdown-mode-autoloads
mastodon-autoloads mermaid-mode-autoloads minions-autoloads
modus-themes-autoloads mu4e-autoloads multiple-cursors-autoloads
nextflow-mode-autoloads groovy-mode-autoloads nix-mode-autoloads
no-littering-autoloads noccur-autoloads nov-autoloads esxml-autoloads
kv-autoloads ob-mermaid-autoloads org-appear-autoloads
org-bulletproof-autoloads org-clock-csv-autoloads
org-clock-dbus-autoloads org-edna-autoloads org-mime-autoloads
org-modern-autoloads org-ref-autoloads citeproc-autoloads
bibtex-completion-autoloads biblio-autoloads biblio-core-autoloads
avy-autoloads hydra-autoloads lv-autoloads htmlize-autoloads
org-roam-autoloads emacsql-autoloads org-tree-slide-autoloads
orgalist-autoloads ox-gfm-autoloads ox-pandoc-autoloads ht-autoloads
org-autoloads package-lint-autoloads parsebib-autoloads pass-autoloads
f-autoloads password-store-otp-autoloads password-store-autoloads
pdf-tools-autoloads persist-autoloads plantuml-mode-autoloads
plz-autoloads poet-theme-autoloads popup-autoloads puni-autoloads
easy-mmode purescript-mode-autoloads queue-autoloads
rainbow-mode-autoloads reformatter-autoloads request-autoloads
resize-window-autoloads rg-autoloads rotate-autoloads ruby-end-autoloads
rust-mode-autoloads s-autoloads sage-shell-mode-autoloads rx
deferred-autoloads scad-mode-autoloads separedit-autoloads
edit-indirect-autoloads string-inflection-autoloads svg-lib-autoloads
tablist-autoloads taxy-magit-section-autoloads taxy-autoloads
magit-section-autoloads transient-autoloads tron-legacy-theme-autoloads
typescript-mode-autoloads vertico-prescient-autoloads vertico-autoloads
prescient-autoloads visual-fill-autoloads vlf-autoloads vterm-autoloads
weyland-yutani-theme-autoloads wgrep-autoloads winum-autoloads
dash-autoloads info with-editor-autoloads yaml-mode-autoloads
yasnippet-autoloads package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie generate-lisp-file
url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt
gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl
tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win
touch-screen pgtk-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo gtk pgtk multi-tty move-toolbar
make-network-process native-compile emacs)

Memory information:
((conses 16 2319955 744147) (symbols 48 73676 45)
 (strings 32 374965 33553) (string-bytes 1 33650409)
 (vectors 16 272547) (vector-slots 8 5012203 622028)
 (floats 8 23040 16435) (intervals 56 134224 5722) (buffers 992 222))

-- 
Peter J. Jones (he/him)
blog: https://freerangebits.com
social: https://fosstodon.org/@devalot
code: https://github.com/pjones




Acknowledgement sent to "Peter J. Jones" <mlists@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#78097; 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: Mon, 19 May 2025 22:45:02 UTC

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