GNU bug report logs - #65797
`buffer-match-p` should not use `func-arity`

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: Joseph Turner <joseph@HIDDEN>; dated Thu, 7 Sep 2023 07:56:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

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


Received: (at 65797) by debbugs.gnu.org; 8 Sep 2023 17:19:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 08 13:19:08 2023
Received: from localhost ([127.0.0.1]:45478 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qef8O-0005WY-Jv
	for submit <at> debbugs.gnu.org; Fri, 08 Sep 2023 13:19:08 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:33906)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1qef8L-0005W0-QS
 for 65797 <at> debbugs.gnu.org; Fri, 08 Sep 2023 13:19:06 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id D72D280098;
 Fri,  8 Sep 2023 13:18:57 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1694193536;
 bh=UWQtpnXxuwT9w+1YULv0CrAJARAF/coSw8L/VkzqrAs=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=g7YWxicfOlN6wo1XIKrIyp3Vvm5qJSihxUJDRPU7vy7sb8y15zk8qs8tJtsE+BWqh
 8f+K8sQkiYRy5ns9CHt71FHRE1Y3c4D4u+mFUYFzxYz4pAxosPN9Cj4EsSpUAv+kJf
 LeZpH1zNlIUKf84mTs/uOWaUe3I2eCZp75zsAOH5MhRDgrK/lDTgQ7iVhz7fEFR+GW
 1V6gA71fusiZWgmqNagvSmB1L4wBf+BPEoT2Kqguc9j5Ml/0EhmD6z9wsFRIQOnDUr
 2YMF0KARUiybD5dsCHbOwjiIw+lYzVH7/R1xWUNeNRzI6OhROglxZdaOIYnuzWmWfh
 A2ZtKVFosVUUA==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 1FF5180567;
 Fri,  8 Sep 2023 13:18:56 -0400 (EDT)
Received: from alfajor (unknown [23.233.149.155])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id E0CCF12031F;
 Fri,  8 Sep 2023 13:18:55 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Joseph Turner <joseph@HIDDEN>
Subject: Re: bug#65797: 29.0.92; func-arity should not return (0 . many)
 with apply-partially
In-Reply-To: <270EEEF4-E718-4CBC-B40A-6E35AC5FD912@HIDDEN>
 (Joseph Turner's message of "Fri, 08 Sep 2023 09:37:18 -0700")
Message-ID: <jwvjzt0h9da.fsf-monnier+emacs@HIDDEN>
References: <87v8cmct9b.fsf@HIDDEN>
 <jwvv8cmdmzz.fsf-monnier+emacs@HIDDEN>
 <87cyytwa14.fsf@HIDDEN> <83fs3pxivc.fsf@HIDDEN>
 <jwvcyysis37.fsf-monnier+emacs@HIDDEN>
 <270EEEF4-E718-4CBC-B40A-6E35AC5FD912@HIDDEN>
Date: Fri, 08 Sep 2023 13:18:55 -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.030 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: 65797
Cc: Eli Zaretskii <eliz@HIDDEN>, 65797 <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 (---)

> IIUC, the patch breaks code that passes a CONDITION predicate that accepts
> only one argument and also passes an ARG argument.
>
> Is there another case which would break?

Yes, it also breaks the reverse: when you don't pass ARG but the
function needs 2 arguments.


        Stefan





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

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


Received: (at 65797) by debbugs.gnu.org; 8 Sep 2023 17:02:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 08 13:02:03 2023
Received: from localhost ([127.0.0.1]:45439 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qeerr-00053g-Ep
	for submit <at> debbugs.gnu.org; Fri, 08 Sep 2023 13:02:03 -0400
Received: from mout01.posteo.de ([185.67.36.65]:44023)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1qeero-000537-NF
 for 65797 <at> debbugs.gnu.org; Fri, 08 Sep 2023 13:02:01 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout01.posteo.de (Postfix) with ESMTPS id 2CC41240028
 for <65797 <at> debbugs.gnu.org>; Fri,  8 Sep 2023 19:01:52 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1694192512; bh=2dcTZOZ1om9QM26C9pw+U1Lh6k99ntqKCgcreLjMh3w=;
 h=From:To:Cc:Subject:Autocrypt:Date:Message-ID:MIME-Version:From;
 b=jvHd7rfC7bbCVmk9roNnxEDW5A1Z474nSZjzBMn+I0Gjhppd6ioOqvileGRZjCsQm
 6aikKRqhik1mkTp9ucu2UolFUNODMLJLVMhSiaHRbdeFYTar2N4+wlBelfmbeZqNPM
 ejdpgG4SIx40COMBFzlq8c+qhYwbqwRGcVTZhdP+Y/5W68hSfnCDIFMcQsqhw9GMoU
 o2MlAemElVbJspPrx5xUstweHELkwaKX7Cto0CWESDWbx+AXRiJbXQvoUwZBUrz5D/
 regmxneo/jz3t1WzsnSSqzzr0D9gO7kRSkJVDzb2nQ0ySSRSc58OeDQfCwnZtzeKu7
 KV6R5hizAZOlg==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4Rj2TC16MXz9rxT;
 Fri,  8 Sep 2023 19:01:51 +0200 (CEST)
From: Philip Kaludercic <philipk@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#65797: `buffer-match-p` should not use `func-arity`
In-Reply-To: <jwvv8cmdmzz.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message
 of "Thu, 07 Sep 2023 11:50:16 -0400")
References: <87v8cmct9b.fsf@HIDDEN>
 <jwvv8cmdmzz.fsf-monnier+emacs@HIDDEN>
Autocrypt: addr=philipk@HIDDEN; keydata=
 mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo
 aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0
 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI
 BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0
 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB
 BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE
 Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK
 NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof
 z4oM
Date: Fri, 08 Sep 2023 17:01:50 +0000
Message-ID: <87sf7o38g1.fsf_-_@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 65797
Cc: 65797 <at> debbugs.gnu.org, Joseph Turner <joseph@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 (---)

Stefan Monnier <monnier@HIDDEN> writes:

> retitle 65797 `buffer-match-p` should not use `func-arity`
> thanks
>
>> (match-buffers (apply-partially #'local-variable-p 'foo))
>
> Note that this call is incorrect according to the docstring of
> `buffer-match-p`, which says:
>
>     CONDITION is either:
>     [...]
>     - a predicate function that takes BUFFER-OR-NAME and ARG as
>       arguments, and returns non-nil if the buffer matches,
>
> IOW, you have to pass a function that accepts 2 arguments, whereas your
> (apply-partially #'local-variable-p 'foo) only accepts one.
>
> The Texinfo docs instead say:
>
>     @item
>     A predicate function, which should return non-@code{nil} if the buffer
>     matches.  If the function expects one argument, it is called with
>     @var{buffer-or-name} as the argument; if it expects 2 arguments, the
>     first argument is @var{buffer-or-name} and the second is @var{arg}
>     (or @code{nil} if @var{arg} is omitted).
>
> but in general we can't reliably decide whether "the function expects
> one argument", so we can't implement the above promise in a reliable way.
> `apply-partially` is just one case where this shows up, but the problem
> is much more general.
> `buffer-match-p` uses the `func-arity` hack to try to make it work with
> some functions of 1 argument, but it's just a hack.
>
> We should get rid of this hack.  Here are some possible replacements
> (by order of my preference):
>
> - Replace `&optional arg` with `&rest args` and pass those args via
>   `apply`, so the number of args passed doesn't depend on the function
>   but on the caller.
> - Always pass both args to the function (i.e. as documented in the
>   docstring).
> - Get rid of `&optional arg` altogether.
>   AFAICT, most callers don't use it, but it's used for
>   `display-buffer-alist`, so it would have further consequences there :-(

FWIW The intention here was to be able and specify simpler conditions
that don't have to handle the alist.

> - Use a hack like
>
>       (condition-case nil (funcall condition buffer-or-name arg)
>         (wrong-number-of-arguments (funcall condition buffer-or-name)))
>
>   which handles the arity mismatch a bit more reliably, but at the cost of
>   occasionally running the function twice.
>
>
>         Stefan




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

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


Received: (at 65797) by debbugs.gnu.org; 8 Sep 2023 16:37:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 08 12:37:32 2023
Received: from localhost ([127.0.0.1]:45364 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qeeU8-0001c4-A4
	for submit <at> debbugs.gnu.org; Fri, 08 Sep 2023 12:37:32 -0400
Received: from out-221.mta1.migadu.com ([95.215.58.221]:37611)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joseph@HIDDEN>) id 1qeeU3-0001bq-TE
 for 65797 <at> debbugs.gnu.org; Fri, 08 Sep 2023 12:37:30 -0400
Date: Fri, 08 Sep 2023 09:37:18 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=breatheoutbreathe.in; 
 s=key1; t=1694191043;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:
 in-reply-to:in-reply-to:references:references;
 bh=qAJuC9+vZketxqaRbAE5DNIWhDCLhOpGlDTM+ry5NVI=;
 b=ILmEGIANwNB9LA0Q082O0wsi0n6nr7mU12nBPMUOZv/Jkx3AqsQkmEsy+sS0VYDa1w+83x
 TvNRL8OxR77R9rIvaTExFFknpigUdb6H/i39kWiT7ds3AV4uRDtWCQqiSzyFEFNbTWUAEb
 JNSrIx8KYR/eauJTBnrvzgjcfyUHVI8=
X-Report-Abuse: Please report any abuse attempt to abuse@HIDDEN and
 include these headers.
From: Joseph Turner <joseph@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
Subject: =?US-ASCII?Q?Re=3A_bug=2365797=3A_29=2E0=2E92=3B_func-arity_should_?=
 =?US-ASCII?Q?not_return_=280_=2E_many=29_with_apply-partially?=
In-Reply-To: <jwvcyysis37.fsf-monnier+emacs@HIDDEN>
References: <87v8cmct9b.fsf@HIDDEN>
 <jwvv8cmdmzz.fsf-monnier+emacs@HIDDEN> <87cyytwa14.fsf@HIDDEN>
 <83fs3pxivc.fsf@HIDDEN> <jwvcyysis37.fsf-monnier+emacs@HIDDEN>
Message-ID: <270EEEF4-E718-4CBC-B40A-6E35AC5FD912@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Migadu-Flow: FLOW_OUT
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 65797
Cc: 65797 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)



On September 8, 2023 8:52:25 AM PDT, Stefan Monnier <monnier@iro=2Eumontre=
al=2Eca> wrote:
>>> This isn't backwards compatible, is it?
>> Neither is what you propose, AFAIU=2E  We are in effect changing a
>> public API in incompatible ways=2E
>
>Yup, AFAICT there's no way to implement the Texinfo-documented
>behavior reliably=2E
>
>So some backward-incompatibility is inevitable, unless we decide to
>stick to the current code to be "bug compatible"=20

IIUC, the patch breaks code that passes a CONDITION predicate that accepts=
 only one argument and also passes an ARG argument=2E

Is there another case which would break?




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

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


Received: (at 65797) by debbugs.gnu.org; 8 Sep 2023 15:52:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 08 11:52:39 2023
Received: from localhost ([127.0.0.1]:45273 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qedmh-0006Cv-4R
	for submit <at> debbugs.gnu.org; Fri, 08 Sep 2023 11:52:39 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:29435)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1qedmd-0006Cb-Lr
 for 65797 <at> debbugs.gnu.org; Fri, 08 Sep 2023 11:52:36 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 8A5F4100084;
 Fri,  8 Sep 2023 11:52:27 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1694188346;
 bh=7LdsqCjf14tTh9eQkt34yHIXPQRjKC1ZjVVVfUZZe0c=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=TdVbpDeikSnMXlcgxxbymYWM9HUZpKP9rMZ2MJAiHleEhyt5GEwwhWR0/6trkfZv5
 8cGEmClfbxG/jmSJEwQXgcWSc8ms+VX0wtgiP1UKF7O9z6dTw0aJth9NS+zHZ02mBH
 i6zLCxAw9wErR8NhmcRuZr8pJpv0XwpCXYNp7spqTYbQCWSMOSLTMY8qC3cnt7oIG5
 nSjfRrmKZie6MfGvL5Jc7F6WWrukOT0VjVajCeYsZa1+ZHGeWLexktw7HfzE6GYR2l
 a5Lm2PFZjztqnJuynXqbyiSxrVQPAuhsg//YKWVisLifiSydqXRJgMHuonloyJNbXL
 DNmSnhsRTU1jA==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 75B50100064;
 Fri,  8 Sep 2023 11:52:26 -0400 (EDT)
Received: from alfajor (unknown [23.233.149.155])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 47C06120255;
 Fri,  8 Sep 2023 11:52:26 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#65797: 29.0.92; func-arity should not return (0 . many)
 with apply-partially
In-Reply-To: <83fs3pxivc.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 08 Sep
 2023 09:46:15 +0300")
Message-ID: <jwvcyysis37.fsf-monnier+emacs@HIDDEN>
References: <87v8cmct9b.fsf@HIDDEN>
 <jwvv8cmdmzz.fsf-monnier+emacs@HIDDEN>
 <87cyytwa14.fsf@HIDDEN> <83fs3pxivc.fsf@HIDDEN>
Date: Fri, 08 Sep 2023 11:52:25 -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.282 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: 65797
Cc: 65797 <at> debbugs.gnu.org, Joseph Turner <joseph@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 (---)

>> This isn't backwards compatible, is it?
> Neither is what you propose, AFAIU.  We are in effect changing a
> public API in incompatible ways.

Yup, AFAICT there's no way to implement the Texinfo-documented
behavior reliably.

So some backward-incompatibility is inevitable, unless we decide to
stick to the current code to be "bug compatible" :-(


        Stefan





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

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


Received: (at 65797) by debbugs.gnu.org; 8 Sep 2023 06:46:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 08 02:46:39 2023
Received: from localhost ([127.0.0.1]:42035 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qeVGI-0003Kz-V4
	for submit <at> debbugs.gnu.org; Fri, 08 Sep 2023 02:46:39 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:46594)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1qeVGE-0003Kk-Dq
 for 65797 <at> debbugs.gnu.org; Fri, 08 Sep 2023 02:46:38 -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 1qeVG5-0003UN-Ma; Fri, 08 Sep 2023 02:46:25 -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=Vbnjf3ujNh/wfoA0qwR0CokTSa2jnUtmrBRCPsmen5A=; b=aOYQEa9mzOAp
 jpOouBDVpjHXtmlYMcQEHk8MwkwFTVYWENdp7H0mNH2kumXlabChqTcMut8Vkmvx/II4QPYgOl+Cv
 EV0I/cnvLfBsU0pilLEk2MzmEGIdhrCuyxhHpMMtHm3azw5hMjtoYQT/WBb9rg6eCfgBiBazTeCKK
 jdXpD0nqNoQWOPp/eSSewYHU8hboyVGXlROt2VwohDPySOHf6tIj7C/XtT0N1CzYG+C1Tjz0SJ+7V
 W2zT/H0kBGrPqpAFIspYbFLT5m+LDVSzLE3w6zafZBdntirch8ngiqTGZ34knPbsq5RlYBSFQtidl
 qsiXXlCBvJeneRdyT1O33w==;
Date: Fri, 08 Sep 2023 09:46:15 +0300
Message-Id: <83fs3pxivc.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Joseph Turner <joseph@HIDDEN>
In-Reply-To: <87cyytwa14.fsf@HIDDEN> (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#65797: 29.0.92;
 func-arity should not return (0 . many) with apply-partially
References: <87v8cmct9b.fsf@HIDDEN>
 <jwvv8cmdmzz.fsf-monnier+emacs@HIDDEN> <87cyytwa14.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 65797
Cc: monnier@HIDDEN, 65797 <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 (---)

> Cc: 65797 <at> debbugs.gnu.org
> Date: Thu, 07 Sep 2023 21:40:28 -0700
> From:  Joseph Turner via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> Stefan Monnier <monnier@HIDDEN> writes:
> 
> > - Replace `&optional arg` with `&rest args` and pass those args via
> >   `apply`, so the number of args passed doesn't depend on the function
> >   but on the caller.
> 
> I like this idea. See patch.
> 
> > - Always pass both args to the function (i.e. as documented in the
> >   docstring).
> 
> This isn't backwards compatible, is it?

Neither is what you propose, AFAIU.  We are in effect changing a
public API in incompatible ways.




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

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


Received: (at 65797) by debbugs.gnu.org; 8 Sep 2023 04:42:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 08 00:42:42 2023
Received: from localhost ([127.0.0.1]:41899 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qeTKL-0008Bl-Tm
	for submit <at> debbugs.gnu.org; Fri, 08 Sep 2023 00:42:42 -0400
Received: from out-212.mta1.migadu.com ([95.215.58.212]:33200)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joseph@HIDDEN>) id 1qeTKJ-0008Bb-D0
 for 65797 <at> debbugs.gnu.org; Fri, 08 Sep 2023 00:42:40 -0400
References: <87v8cmct9b.fsf@HIDDEN>
 <jwvv8cmdmzz.fsf-monnier+emacs@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=breatheoutbreathe.in; 
 s=key1; t=1694148156;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=mGavx0I9/tlZ0m1RUdfHstotg/Q0DB1d+XDxNHchy7g=;
 b=jYAHmaULVIh17HDIq/wn+xHcDyHdjNNhMsIKRbwKiL2av9ffJjoVYQz7MpqEKtUs+mYlMO
 RG+Fq/5mq3dF2WPlLeonIZlaDQd5NVQmTCu3ay8q+YvHxQvDfQ5MDvhj/vDerrrqOJOF9j
 v4EmDfg8oaRiUYadLEMRAcAO4h3N53c=
X-Report-Abuse: Please report any abuse attempt to abuse@HIDDEN and
 include these headers.
From: Joseph Turner <joseph@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#65797: 29.0.92; func-arity should not return (0 . many)
 with apply-partially
Date: Thu, 07 Sep 2023 21:40:28 -0700
In-reply-to: <jwvv8cmdmzz.fsf-monnier+emacs@HIDDEN>
Message-ID: <87cyytwa14.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Migadu-Flow: FLOW_OUT
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 65797
Cc: 65797 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

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


Stefan Monnier <monnier@HIDDEN> writes:

> - Replace `&optional arg` with `&rest args` and pass those args via
>   `apply`, so the number of args passed doesn't depend on the function
>   but on the caller.

I like this idea. See patch.

> - Always pass both args to the function (i.e. as documented in the
>   docstring).

This isn't backwards compatible, is it?

Joseph



--=-=-=
Content-Type: text/x-diff
Content-Disposition: attachment;
 filename=0001-Don-t-use-func-arity-in-buffer-match-p.patch

From 5abc2ff47b0c61baecaddd615d7f2783fe8f9c0e Mon Sep 17 00:00:00 2001
From: Joseph Turner <joseph@HIDDEN>
Date: Thu, 7 Sep 2023 21:27:01 -0700
Subject: [PATCH] Don't use func-arity in buffer-match-p

* lisp/subr.el (buffer-match-p): Use &rest args instead of &optional
arg so that the number of args passed doesn't depend on the function
but on the caller. (Bug#65797)
(match-buffers): Use &rest args instead of &optional arg to match
function signature of buffer-match-p.
* doc/lispref/buffers.texi (Buffer List): Update documentation to say
ARGS instead of ARG.
---
 doc/lispref/buffers.texi | 23 ++++++++++-------------
 lisp/subr.el             | 17 ++++++++---------
 2 files changed, 18 insertions(+), 22 deletions(-)

diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi
index 86c47ae7310..fa29afd2697 100644
--- a/doc/lispref/buffers.texi
+++ b/doc/lispref/buffers.texi
@@ -957,11 +957,11 @@ with a @code{nil} @var{norecord} argument since this may lead to
 infinite recursion.
 @end defvar
 
-@defun buffer-match-p condition buffer-or-name &optional arg
+@defun buffer-match-p condition buffer-or-name &rest args
 This function checks if a buffer designated by @code{buffer-or-name}
-satisfies the specified @code{condition}.  Optional third argument
-@var{arg} is passed to the predicate function in @var{condition}.  A
-valid @var{condition} can be one of the following:
+satisfies the specified @code{condition}.  Remaining arguments
+@var{args} are passed using @code{apply} to the predicate function in
+@var{condition}.  A valid @var{condition} can be one of the following:
 @itemize @bullet{}
 @item
 A string, interpreted as a regular expression.  The buffer
@@ -969,23 +969,20 @@ satisfies the condition if the regular expression matches the buffer
 name.
 @item
 A predicate function, which should return non-@code{nil} if the buffer
-matches.  If the function expects one argument, it is called with
-@var{buffer-or-name} as the argument; if it expects 2 arguments, the
-first argument is @var{buffer-or-name} and the second is @var{arg}
-(or @code{nil} if @var{arg} is omitted).
+matches.
 @item
 A cons-cell @code{(@var{oper} . @var{expr})} where @var{oper} is one
 of
 @table @code
 @item (not @var{cond})
 Satisfied if @var{cond} doesn't satisfy @code{buffer-match-p} with
-the same buffer and @code{arg}.
+the same buffer and @code{args}.
 @item (or @var{conds}@dots{})
 Satisfied if @emph{any} condition in @var{conds} satisfies
-@code{buffer-match-p}, with the same buffer and @code{arg}.
+@code{buffer-match-p}, with the same buffer and @code{args}.
 @item (and @var{conds}@dots{})
 Satisfied if @emph{all} the conditions in @var{conds} satisfy
-@code{buffer-match-p}, with the same buffer and @code{arg}.
+@code{buffer-match-p}, with the same buffer and @code{args}.
 @item derived-mode
 Satisfied if the buffer's major mode derives from @var{expr}.
 @item major-mode
@@ -998,14 +995,14 @@ string) or @code{(and)} (empty conjunction).
 @end itemize
 @end defun
 
-@defun match-buffers condition &optional buffer-list arg
+@defun match-buffers condition &optional buffer-list &rest args
 This function returns a list of all buffers that satisfy the
 @code{condition}.  If no buffers match, the function returns
 @code{nil}.  The argument @var{condition} is as defined in
 @code{buffer-match-p} above.  By default, all the buffers are
 considered, but this can be restricted via the optional argument
 @code{buffer-list}, which should be a list of buffers to consider.
-Optional third argument @var{arg} will be passed to @var{condition} in
+Remaining arguments @var{args} will be passed to @var{condition} in
 the same way as @code{buffer-match-p} does.
 @end defun
 
diff --git a/lisp/subr.el b/lisp/subr.el
index ce23a699624..87f08c669d4 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -7079,14 +7079,15 @@ lines."
             (setq start (length string)))))
       (nreverse lines))))
 
-(defun buffer-match-p (condition buffer-or-name &optional arg)
+(defun buffer-match-p (condition buffer-or-name &rest args)
   "Return non-nil if BUFFER-OR-NAME matches CONDITION.
 CONDITION is either:
 - the symbol t, to always match,
 - the symbol nil, which never matches,
 - a regular expression, to match a buffer name,
-- a predicate function that takes BUFFER-OR-NAME and ARG as
-  arguments, and returns non-nil if the buffer matches,
+- a predicate function that takes BUFFER-OR-NAME as its first
+  argument and remaining arguments ARGS, and returns non-nil if
+  the buffer matches,
 - a cons-cell, where the car describes how to interpret the cdr.
   The car can be one of the following:
   * `derived-mode': the buffer matches if the buffer's major mode
@@ -7110,9 +7111,7 @@ CONDITION is either:
                       ((pred stringp)
                        (string-match-p condition (buffer-name buffer)))
                       ((pred functionp)
-                       (if (eq 1 (cdr (func-arity condition)))
-                           (funcall condition buffer-or-name)
-                         (funcall condition buffer-or-name arg)))
+                       (apply condition buffer-or-name args))
                       (`(major-mode . ,mode)
                        (eq
                         (buffer-local-value 'major-mode buffer)
@@ -7134,17 +7133,17 @@ CONDITION is either:
                 (throw 'match t)))))))
     (funcall match (list condition))))
 
-(defun match-buffers (condition &optional buffers arg)
+(defun match-buffers (condition &optional buffers &rest args)
   "Return a list of buffers that match CONDITION, or nil if none match.
 See `buffer-match-p' for various supported CONDITIONs.
 By default all buffers are checked, but the optional
 argument BUFFERS can restrict that: its value should be
 an explicit list of buffers to check.
-Optional argument ARG is passed to `buffer-match-p', for
+Remaining arguments ARGS are passed to `buffer-match-p', for
 predicate conditions in CONDITION."
   (let (bufs)
     (dolist (buf (or buffers (buffer-list)))
-      (when (buffer-match-p condition (get-buffer buf) arg)
+      (when (buffer-match-p condition (get-buffer buf) args)
         (push buf bufs)))
     bufs))
 
-- 
2.41.0


--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#65797; Package emacs. Full text available.
Changed bug title to '`buffer-match-p` should not use `func-arity`' from '29.0.92; func-arity should not return (0 . many) with apply-partially' Request was from Stefan Monnier <monnier@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at 65797) by debbugs.gnu.org; 7 Sep 2023 15:50:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 07 11:50:29 2023
Received: from localhost ([127.0.0.1]:41136 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qeHH3-0005oj-95
	for submit <at> debbugs.gnu.org; Thu, 07 Sep 2023 11:50:29 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:25681)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>)
 id 1qeHH0-0005oG-JB; Thu, 07 Sep 2023 11:50:27 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id EA449807A7;
 Thu,  7 Sep 2023 11:50:18 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1694101817;
 bh=IvQPlC+7GJ888GMegvfMX2k4Df8roKipxYVrNYqVWyg=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=GB1ortxW0yfXuWZK2IkGyjK17CY9oc5Xdb8Bom0moIoz63asBGHqyirUTTkox7/SP
 vgpsutv+lz3/gzsT/B3ukG3okpjeuYSPrcrMJaYK1DuwjcwpfajJBxvE9/0nMIUGOq
 QtVKiz3gCHdm9fmBfkvfhfekzzRDH47yQkvu2wxp5MlChd57EC/rsJZO0y8vqqFrsd
 aOKUACY4g1PjSXvzBYGNXJbftKCckkaTYAfSThlzGDi3jB2FnlNb4SyjvMvb3X6DrJ
 zKcBkSxDjZOFP21I+shTSI9RBFqcWBbdYxiQaEFCj8ec4DB/o1MvD+sOUpcE7/4BQC
 t4s0+OvGsxX4A==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 921CF8044C;
 Thu,  7 Sep 2023 11:50:17 -0400 (EDT)
Received: from pastel (69-165-136-223.dsl.teksavvy.com [69.165.136.223])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 6BE15120270;
 Thu,  7 Sep 2023 11:50:17 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Joseph Turner <joseph@HIDDEN>
Subject: Re: bug#65797: 29.0.92; func-arity should not return (0 . many)
 with apply-partially
In-Reply-To: <87v8cmct9b.fsf@HIDDEN> (Joseph Turner's message of
 "Thu, 07 Sep 2023 00:53:07 -0700")
Message-ID: <jwvv8cmdmzz.fsf-monnier+emacs@HIDDEN>
References: <87v8cmct9b.fsf@HIDDEN>
Date: Thu, 07 Sep 2023 11:50:16 -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.030 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: 65797
Cc: 65797 <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 (---)

retitle 65797 `buffer-match-p` should not use `func-arity`
thanks

> (match-buffers (apply-partially #'local-variable-p 'foo))

Note that this call is incorrect according to the docstring of
`buffer-match-p`, which says:

    CONDITION is either:
    [...]
    - a predicate function that takes BUFFER-OR-NAME and ARG as
      arguments, and returns non-nil if the buffer matches,

IOW, you have to pass a function that accepts 2 arguments, whereas your
(apply-partially #'local-variable-p 'foo) only accepts one.

The Texinfo docs instead say:

    @item
    A predicate function, which should return non-@code{nil} if the buffer
    matches.  If the function expects one argument, it is called with
    @var{buffer-or-name} as the argument; if it expects 2 arguments, the
    first argument is @var{buffer-or-name} and the second is @var{arg}
    (or @code{nil} if @var{arg} is omitted).

but in general we can't reliably decide whether "the function expects
one argument", so we can't implement the above promise in a reliable way.
`apply-partially` is just one case where this shows up, but the problem
is much more general.
`buffer-match-p` uses the `func-arity` hack to try to make it work with
some functions of 1 argument, but it's just a hack.

We should get rid of this hack.  Here are some possible replacements
(by order of my preference):

- Replace `&optional arg` with `&rest args` and pass those args via
  `apply`, so the number of args passed doesn't depend on the function
  but on the caller.
- Always pass both args to the function (i.e. as documented in the
  docstring).
- Get rid of `&optional arg` altogether.
  AFAICT, most callers don't use it, but it's used for
  `display-buffer-alist`, so it would have further consequences there :-(
- Use a hack like

      (condition-case nil (funcall condition buffer-or-name arg)
        (wrong-number-of-arguments (funcall condition buffer-or-name)))

  which handles the arity mismatch a bit more reliably, but at the cost of
  occasionally running the function twice.


        Stefan





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

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


Received: (at 65797) by debbugs.gnu.org; 7 Sep 2023 15:17:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 07 11:17:41 2023
Received: from localhost ([127.0.0.1]:40964 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qeGlJ-00026o-BM
	for submit <at> debbugs.gnu.org; Thu, 07 Sep 2023 11:17:41 -0400
Received: from mail-lj1-x233.google.com ([2a00:1450:4864:20::233]:47508)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mattias.engdegard@HIDDEN>) id 1qeGlF-00026X-GR
 for 65797 <at> debbugs.gnu.org; Thu, 07 Sep 2023 11:17:40 -0400
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2b962c226ceso18650891fa.3
 for <65797 <at> debbugs.gnu.org>; Thu, 07 Sep 2023 08:17:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1694099849; x=1694704649; darn=debbugs.gnu.org;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject
 :date:message-id:reply-to;
 bh=VbxYQ89ZabdnIOqEGTS1KoacobxdRjwwEySY8wXrrX0=;
 b=LmEHTEjxSA1ij1py4E2jyhYwJU6eDD9AXRWnwgG0VJijDuz2kedXTxmeXfuaxJMJj8
 Rv54Cwn9XaXeozB3m+mTSe5x9xLVhUkJlCNM5P90Sw3G1yvkNsfZDpil2s+zMWfwDbRp
 ZD3b/kA4x5rZmkvvD3VUhSxD1dsWNoiKbdOnD+rV7OJMT8nAkJrlsacGg2iHi+zIgXeC
 yF1GvUyI4zPlTTGRpT0+uO56/lvE8DqhXoZExwnW44qegZoa394+qQmx0QAsSUOPT/IU
 3zZZdWaprUldAPYHzSItE0ACwH16KKJefTq6mSvhgDdJ7q/v979fI6DJSGz2/o0OESJ8
 Aapw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1694099849; x=1694704649;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:sender:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=VbxYQ89ZabdnIOqEGTS1KoacobxdRjwwEySY8wXrrX0=;
 b=aQkiQqNRJSt7JxRRIgXZ5q7wSln52sqq1SRIzOhsAfKtjERNTqw716lK7+91vNySbY
 vbE2l0dTbO/TRpTSoDG4hu3BiThakWaLGTisrMnd6shbjW9g3QHtm/jU+I6Cdf/lj64C
 l7N0PYyCQaAzvbLNg19qPiQKsyA3X0bicxRNNPjTzPrUo4pdmfq8X/qccujGEv0AaKpm
 6Rx9Ue7zcjAsyuRgCXv7N102lXzbtm9VZzfjhn3EF0ieiMdmgvebpE+FWb71vRPz2ZOG
 jXJ/m3IOsdsxUC02AuxN3DVXjK6F03aVZokEYvANBkPypU+G/2VWThdAinhlo9nkcC6K
 Bzag==
X-Gm-Message-State: AOJu0Ywhftn5LWsHE6z1kLMfXCqDxPNZncYuIIQoPYv9tP/SqgIYGXm5
 dzDSGO2ZZBUdAIxT/miHpjc=
X-Google-Smtp-Source: AGHT+IGDFxofFzYKTEtBnRxdyJXVWG4ZmuMeY92yng9S+xgikV7n+E6DNQ3maHyDPjmxWJLuqBPDrg==
X-Received: by 2002:a19:4344:0:b0:500:b7e7:1556 with SMTP id
 m4-20020a194344000000b00500b7e71556mr4295949lfj.36.1694099849253; 
 Thu, 07 Sep 2023 08:17:29 -0700 (PDT)
Received: from smtpclient.apple (c188-150-165-235.bredband.tele2.se.
 [188.150.165.235]) by smtp.gmail.com with ESMTPSA id
 o26-20020ac2495a000000b004ff9ab6463fsm3183078lfi.87.2023.09.07.08.17.28
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 07 Sep 2023 08:17:28 -0700 (PDT)
Content-Type: text/plain;
	charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\))
Subject: Re: bug#65797: 29.0.92; func-arity should not return (0 . many) with
 apply-partially
From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= <mattias.engdegard@HIDDEN>
In-Reply-To: <jwv1qfaf284.fsf-monnier+emacs@HIDDEN>
Date: Thu, 7 Sep 2023 17:17:28 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <2438766D-3FCA-45AC-A769-F421C233D17E@HIDDEN>
References: <EEBE215B-1F8E-46BF-BE36-AA544AD582C5@HIDDEN>
 <jwv1qfaf284.fsf-monnier+emacs@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
X-Mailer: Apple Mail (2.3654.120.0.1.15)
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 65797
Cc: 65797 <at> debbugs.gnu.org, Joseph Turner <joseph@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

7 sep. 2023 kl. 17.11 skrev Stefan Monnier <monnier@HIDDEN>:

> And it breaks if the calling convention of the function changes =
between
> the time you compile the code and the time you run the code :-(

What can I say, if you wanted something that could easily be reasoned =
about statically you wouldn't use Lisp...

Nah, forget that patch. Anyone interested in performance shouldn't use =
apply-partially anyway.





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

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


Received: (at 65797) by debbugs.gnu.org; 7 Sep 2023 15:11:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 07 11:11:42 2023
Received: from localhost ([127.0.0.1]:40942 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qeGfV-0001uw-U0
	for submit <at> debbugs.gnu.org; Thu, 07 Sep 2023 11:11:42 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:28466)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1qeGfU-0001uf-4E
 for 65797 <at> debbugs.gnu.org; Thu, 07 Sep 2023 11:11:40 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 297688044C;
 Thu,  7 Sep 2023 11:11:32 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1694099490;
 bh=mFV2upQu+C/n7g6xrm9g1W4Upgb+N2+Ce1ag4NRpkBM=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=ZP+DnG++KMLG05KUtNRywu0EuwT9h11IvxsPEGC05/csa6q/Jx99E+rlQ0Q56QpJu
 vURSS8a5I15Rx6y647IHaK4fXXcsEycBbquLHAfGGWKlZZrxd5XK3taHUXcAyulVyf
 gl6gVGrfTO+qO0VGiLoENznew1Eor9H4IK9Rlu+mZXH54Xqaw9i9na1S6t6vSWaleN
 bIOq9SHqbwEurDNGuU8/l4eJXnCUJY/i9C9Gq0xuxF3s2u4M7ItUIYw/B3G9/Lh5tB
 A6rn8rwQad4dmfZ2xPIxMGLocYzErMV01eYIDc6G1feSDAfw9K5Kdwkeff1fRORi9A
 u01f118YTI6/Q==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id C195380250;
 Thu,  7 Sep 2023 11:11:30 -0400 (EDT)
Received: from pastel (69-165-136-223.dsl.teksavvy.com [69.165.136.223])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 93E5B120264;
 Thu,  7 Sep 2023 11:11:30 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Mattias =?windows-1252?Q?Engdeg=E5rd?= <mattias.engdegard@HIDDEN>
Subject: Re: bug#65797: 29.0.92; func-arity should not return (0 . many)
 with apply-partially
In-Reply-To: <EEBE215B-1F8E-46BF-BE36-AA544AD582C5@HIDDEN> ("Mattias
 =?windows-1252?Q?Engdeg=E5rd=22's?= message of "Thu, 7 Sep 2023 14:35:17
 +0200")
Message-ID: <jwv1qfaf284.fsf-monnier+emacs@HIDDEN>
References: <EEBE215B-1F8E-46BF-BE36-AA544AD582C5@HIDDEN>
Date: Thu, 07 Sep 2023 11:11:29 -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.030 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: 65797
Cc: 65797 <at> debbugs.gnu.org, Joseph Turner <joseph@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 (---)

> Here is one way, but it's mainly aimed at improving performance, not
> guaranteeing a particular function signature.

And it breaks if the calling convention of the function changes between
the time you compile the code and the time you run the code :-(


        Stefan





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

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


Received: (at 65797) by debbugs.gnu.org; 7 Sep 2023 13:44:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 07 09:44:06 2023
Received: from localhost ([127.0.0.1]:38921 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qeFIj-0007PI-OO
	for submit <at> debbugs.gnu.org; Thu, 07 Sep 2023 09:44:05 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:32715)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1qeFIi-0007OW-05
 for 65797 <at> debbugs.gnu.org; Thu, 07 Sep 2023 09:44:04 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id E3F9B10006B;
 Thu,  7 Sep 2023 09:43:56 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1694094236;
 bh=4SLRqhLVhAZ0DLb7dHrG083DQg6yc10ukhBw5YwGV6w=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=EX/m0vILvz+BeOI3TbWoYy27cWa6nBsvdAo4FHyas9q2+Q2QJ/1UUVCbG4lEjc9Kb
 q+Vl581pTBxN1XOcLA7y1D4PESHSWSYPt4kxoPtyYtgf7KgQsKSxWYQAc2pEOIKpqR
 gC6E3V2w2B2GkdgmrAEEY0rMHlc0iODOI82Ppg4dO2M13Tui01I67g4aKeZSfNUiWa
 Tvwy5rLH6R5+aNQzdKgm9stBb6SPhrF8htDqGL5fCPFNSOV008IdHLgD6Z4t6BqdKn
 kenCGYxDttM5xch5owtHdk4iXbnH0AmD2ThozfusvkEX+2gfFd1PLIGuWyKmsZYocx
 0koj365rkb8jg==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 1A4A4100046;
 Thu,  7 Sep 2023 09:43:56 -0400 (EDT)
Received: from pastel (69-165-136-223.dsl.teksavvy.com [69.165.136.223])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id EDD02120201;
 Thu,  7 Sep 2023 09:43:55 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Joseph Turner <joseph@HIDDEN>
Subject: Re: bug#65797: 29.0.92; func-arity should not return (0 . many)
 with apply-partially
In-Reply-To: <87v8cmct9b.fsf@HIDDEN> (Joseph Turner's message of
 "Thu, 07 Sep 2023 00:53:07 -0700")
Message-ID: <jwvil8mf69i.fsf-monnier+emacs@HIDDEN>
References: <87v8cmct9b.fsf@HIDDEN>
Date: Thu, 07 Sep 2023 09:43:54 -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.079 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: 65797
Cc: 65797 <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 (---)

> because buffer-match-p uses func-arity to conditionally apply ARG.

That's the bug.


        Stefan





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

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


Received: (at 65797) by debbugs.gnu.org; 7 Sep 2023 12:35:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 07 08:35:29 2023
Received: from localhost ([127.0.0.1]:38798 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qeEEL-0002xp-3b
	for submit <at> debbugs.gnu.org; Thu, 07 Sep 2023 08:35:29 -0400
Received: from mail-lf1-x129.google.com ([2a00:1450:4864:20::129]:56568)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mattias.engdegard@HIDDEN>) id 1qeEEI-0002xb-R8
 for 65797 <at> debbugs.gnu.org; Thu, 07 Sep 2023 08:35:28 -0400
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-500a8b2b73eso1446945e87.0
 for <65797 <at> debbugs.gnu.org>; Thu, 07 Sep 2023 05:35:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1694090119; x=1694694919; darn=debbugs.gnu.org;
 h=to:cc:date:message-id:subject:mime-version:from:sender:from:to:cc
 :subject:date:message-id:reply-to;
 bh=Xye8gW6YwT59aFcdJLJH2wxY1oQEmX41N4Fk1NZa5os=;
 b=UiYU07JMJ/hkeGHTevhkfN3s0QX8qzrjExHk473V81spIZ+ClhfTtgJAcLm32rkpUC
 VzIY5IzVViudg9NtYBVm6kXaTWhRBT00u/ojUyrK0mfYKhGeHh2+AlQpv4FtJ9KoQMYV
 Hg7Qr0keq9w+6qQ1KhDuxJObCqIITlXBfedIehVJY6rYqjP4nXmkBbsUUhy2EoJpbNsl
 h3xnsl6jpbsFMhdYXjhWbP757OLk39i4dVms9BJgjA5pcaob6FqyPoXcIhB9sQIL1vMa
 H77DWamAtMow+mPIEY3BsCiIJENuxl+2YoST8RYZLAVgibzenLD13t4ryxytrocihkcF
 ZjoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1694090119; x=1694694919;
 h=to:cc:date:message-id:subject:mime-version:from:sender
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=Xye8gW6YwT59aFcdJLJH2wxY1oQEmX41N4Fk1NZa5os=;
 b=l1cRBLdRys+Uix+DzAW1SAKbKOAyHLn/Xyb+4bsLLlguq/kiJXFXSneqY+luJsjFBp
 NpA6+pj/IxXTyXOH6qu9Q7BvlTC/o8GoYw19EZbbDWUzQdtAaVZBoFmT90IGRsnCqE9y
 h3dJNXFulDXW4bNlbq1knFJEaPQOjiMvDIuWPlK0XI0kvnY6CZ504USmqsqlHNxT9NMa
 8nzu6F/PlTTtaaRaUy1pR6QQBCSQudzBG9Wg1MjUJfUF11t7nImei+HR4GxiEOeQvQTs
 xk0RDvpr8x5ZbFCjSjWDvsuszp8JHnFFIwtbqoluXp9Lj4KTXhQvU++T0+dbIr+cl9XJ
 Ao6g==
X-Gm-Message-State: AOJu0YzeYlVrKWwzhLKNZt/AoeIoR8wkmrEvFmCiVDchgsclmZeZDTv/
 L5Fgb2TraXuMdS4NuHL/mErxiwyHYjc=
X-Google-Smtp-Source: AGHT+IFTaLzXX7pG0jmGtHjXswoYYHmrqjhaMlQtZfkAgio9k8Nohu8AxOQb5qiWVrBPhy36ldjyrQ==
X-Received: by 2002:a19:ca03:0:b0:500:9d4a:89f8 with SMTP id
 a3-20020a19ca03000000b005009d4a89f8mr3649121lfg.28.1694090118894; 
 Thu, 07 Sep 2023 05:35:18 -0700 (PDT)
Received: from smtpclient.apple (c188-150-165-235.bredband.tele2.se.
 [188.150.165.235]) by smtp.gmail.com with ESMTPSA id
 o9-20020ac24949000000b00500b561285bsm3137947lfi.292.2023.09.07.05.35.17
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 07 Sep 2023 05:35:18 -0700 (PDT)
From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= <mattias.engdegard@HIDDEN>
Content-Type: multipart/mixed;
 boundary="Apple-Mail=_C475B530-B778-429D-AC68-E9F6BBAF65A0"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\))
Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with
 apply-partially
Message-Id: <EEBE215B-1F8E-46BF-BE36-AA544AD582C5@HIDDEN>
Date: Thu, 7 Sep 2023 14:35:17 +0200
To: 65797 <at> debbugs.gnu.org
X-Mailer: Apple Mail (2.3654.120.0.1.15)
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 65797
Cc: Stefan Monnier <monnier@HIDDEN>,
 Joseph Turner <joseph@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


--Apple-Mail=_C475B530-B778-429D-AC68-E9F6BBAF65A0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Here is one way, but it's mainly aimed at improving performance, not =
guaranteeing a particular function signature.

(Yet another reason to avoid using buffer-match-p as far as I'm =
concerned.)


--Apple-Mail=_C475B530-B778-429D-AC68-E9F6BBAF65A0
Content-Disposition: attachment;
	filename=apply-partially.diff
Content-Type: application/octet-stream;
	x-unix-mode=0644;
	name="apply-partially.diff"
Content-Transfer-Encoding: 7bit

diff --git a/lisp/subr.el b/lisp/subr.el
index 34d87e83310..9c701241b7e 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -519,13 +519,50 @@ frame-configuration-p
   (and (consp object)
        (eq (car object) 'frame-configuration)))
 
+(defun internal--compiler-macro-apply-partially (form &optional fun-arg
+                                                      &rest args)
+  (if (and fun-arg (null args))
+      fun-arg
+    (let ((fun (and (memq (car-safe fun-arg) '(quote function))
+                    (cadr fun-arg))))
+      (if (and (symbolp fun) (functionp fun) (not (autoloadp fun)))
+          (let* ((arity (func-arity fun))
+                 (min-args (car arity))
+                 (max-args (cdr arity))
+                 (nargs (length args)))
+            (cond
+             ((eq max-args 'many) form)
+             ((> nargs max-args)
+              (macroexp-warn-and-return
+               (format-message
+                "`%s' called with %d partial args for `%s' (max is %d)"
+                (car form) nargs fun max-args)
+               form))
+             (t  ; (<= nargs max-args)
+              (let* ((min-extra-args (max (- min-args nargs) 0))
+                     (max-extra-args (- max-args nargs))
+                     (extra-args
+                      (mapcar (lambda (i) (make-symbol (format "x%d" i)))
+                              (number-sequence 1 max-extra-args)))
+                     (fargs (mapcar (lambda (i) (make-symbol (format "a%d" i)))
+                                    (number-sequence 1 nargs))))
+                `(let ,(mapcar (lambda (i) (list (nth i fargs) (nth i args)))
+                               (number-sequence 0 (1- nargs)))
+                   (lambda (,@(take min-extra-args extra-args)
+                            ,@(and (> max-extra-args min-extra-args)
+                                   (cons '&optional
+                                         (nthcdr min-extra-args extra-args))))
+                     (,fun ,@fargs ,@extra-args)))))))
+        form))))
+
 (defun apply-partially (fun &rest args)
   "Return a function that is a partial application of FUN to ARGS.
 ARGS is a list of the first N arguments to pass to FUN.
 The result is a new function which does the same as FUN, except that
 the first N arguments are fixed at the values with which this function
 was called."
-  (declare (side-effect-free error-free))
+  (declare (side-effect-free error-free)
+           (compiler-macro internal--compiler-macro-apply-partially))
   (lambda (&rest args2)
     (apply fun (append args args2))))
 

--Apple-Mail=_C475B530-B778-429D-AC68-E9F6BBAF65A0--




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

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


Received: (at submit) by debbugs.gnu.org; 7 Sep 2023 07:55:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 07 03:55:42 2023
Received: from localhost ([127.0.0.1]:38458 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qe9rY-0007FQ-DC
	for submit <at> debbugs.gnu.org; Thu, 07 Sep 2023 03:55:42 -0400
Received: from lists.gnu.org ([2001:470:142::17]:57844)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <joseph@HIDDEN>) id 1qe9rU-0007FA-LK
 for submit <at> debbugs.gnu.org; Thu, 07 Sep 2023 03:55:38 -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 <joseph@HIDDEN>)
 id 1qe9rN-0007lw-QN
 for bug-gnu-emacs@HIDDEN; Thu, 07 Sep 2023 03:55:29 -0400
Received: from out-230.mta0.migadu.com ([2001:41d0:1004:224b::e6])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <joseph@HIDDEN>)
 id 1qe9rG-0000PL-UR
 for bug-gnu-emacs@HIDDEN; Thu, 07 Sep 2023 03:55:29 -0400
X-Report-Abuse: Please report any abuse attempt to abuse@HIDDEN and
 include these headers.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=breatheoutbreathe.in; 
 s=key1; t=1694073317;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding;
 bh=iwCkg2QMcLa573qXnh8yeAG6ycv8toGaX7I+R2rKYUU=;
 b=YFZPvUpMq2SK39q8nYxDr3XW9r85zBvMPSNTAVxrTmW5trcJrp8fN64FKBXiNOfECgqrWB
 AV/z4uCUrnjHPFtZn8pHyD4GjFX7H2A9DNBkNepu3wqWAyckbSCXn0OWsAdp8hGiPqU6Jn
 fuAbFUoLQagpDj/rkupPCwhDbCRQUuI=
From: Joseph Turner <joseph@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 29.0.92; func-arity should not return (0 . many) with apply-partially
Date: Thu, 07 Sep 2023 00:53:07 -0700
Message-ID: <87v8cmct9b.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Migadu-Flow: FLOW_OUT
Received-SPF: pass client-ip=2001:41d0:1004:224b::e6;
 envelope-from=joseph@HIDDEN; helo=out-230.mta0.migadu.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.9 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.1 (/)

Sorry, I accidentally sent an email about this to the emacs-devel list.

(func-arity (apply-partially #'eq 'foo))
  =E2=87=92 (0 . many)

gives the impression that the following is valid:

(funcall (apply-partially #'eq 'foo) 'foo 'bar)
     error=E2=86=92 (wrong-number-of-arguments #<subr eq> 3)

Here's an example of where this bug comes up in real code.

This should return a list of buffers which locally bind foo:

(match-buffers (apply-partially #'local-variable-p 'foo))

but instead it signals an error:

Debugger entered--Lisp error: (wrong-number-of-arguments #<subr local-varia=
ble-p> 3)
local-variable-p(foo #<buffer *scratch*> nil)
apply(local-variable-p (foo #<buffer *scratch*> nil))
...

because buffer-match-p uses func-arity to conditionally apply ARG.

Sidenote - compat.el's buffer-match-p does this

(condition-case nil
    (funcall condition buffer)
  (wrong-number-of-arguments
   (funcall condition buffer arg)))

instead of

(if (eq 1 (cdr (func-arity condition)))
    (funcall condition buffer-or-name)
  (funcall condition buffer-or-name arg))

and is therefore immune to this bug.

Joseph

In GNU Emacs 29.0.92 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.37, cairo version 1.16.0)
Windowing system distributor 'The X.Org Foundation', version 11.0.12101007
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
 'configure
 CONFIG_SHELL=3D/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.=
1.16/bin/bash
 SHELL=3D/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bi=
n/bash
 --prefix=3D/gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-emacs-next-tree-sit=
ter-29.0.92
 --enable-fast-install --with-modules --with-cairo
 --with-native-compilation --disable-build-details'

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

Important settings:
  value of $EMACSLOADPATH: /home/joseph/.guix-extra-profiles/emacs/emacs/sh=
are/emacs/site-lisp:/gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-emacs-next-=
tree-sitter-29.0.92/share/emacs/29.0.92/lisp
  value of $EMACSNATIVELOADPATH: /home/joseph/.guix-extra-profiles/emacs/em=
acs/lib/emacs/native-site-lisp
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: mu4e:view

Minor modes in effect:
  mu4e-search-minor-mode: t
  mu4e-context-minor-mode: t
  mu4e-modeline-mode: t
  repeat-mode: t
  pixel-scroll-precision-mode: t
  engine-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  diff-hl-flydiff-mode: t
  magit-todos-mode: t
  global-hl-todo-mode: t
  magit-wip-initial-backup-mode: t
  magit-wip-before-change-mode: t
  magit-wip-after-apply-mode: t
  magit-wip-after-save-mode: t
  magit-wip-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  whole-line-or-region-global-mode: t
  whole-line-or-region-local-mode: t
  corfu-history-mode: t
  global-corfu-mode: t
  corfu-mode: t
  marginalia-mode: t
  vertico-reverse-mode: t
  vertico-mode: t
  display-battery-mode: t
  display-time-mode: t
  global-aggressive-indent-mode: t
  recentf-mode: t
  shell-dirtrack-mode: t
  pulsar-global-mode: t
  pulsar-mode: t
  desktop-environment-mode: t
  server-mode: t
  global-subword-mode: t
  subword-mode: t
  delete-selection-mode: t
  electric-pair-mode: t
  savehist-mode: t
  save-place-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  window-divider-mode: t
  buffer-read-only: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  abbrev-mode: t

Load-path shadows:
/home/joseph/.emacs.d/elpa/jabber/jabber-autoloads hides /home/joseph/.emac=
s.d/elpa/jabber/lisp/jabber-autoloads
/gnu/store/gfp1flcfi9yxrlg35mwh4xbssd4yix20-emacs-transient-0.4.3/share/ema=
cs/site-lisp/transient-0.4.3/transient hides /gnu/store/rsyqw1rk4qswgmi1yc7=
jryb4fmq56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/trans=
ient
/gnu/store/r5w8fq8jznd21r8pzcvb0xb1zxl6y2sc-emacs-use-package-2.4.4/share/e=
macs/site-lisp/use-package-2.4.4/use-package-diminish hides /gnu/store/rsyq=
w1rk4qswgmi1yc7jryb4fmq56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.=
0.92/lisp/use-package/use-package-diminish
/gnu/store/r5w8fq8jznd21r8pzcvb0xb1zxl6y2sc-emacs-use-package-2.4.4/share/e=
macs/site-lisp/use-package-2.4.4/use-package-lint hides /gnu/store/rsyqw1rk=
4qswgmi1yc7jryb4fmq56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92=
/lisp/use-package/use-package-lint
/gnu/store/r5w8fq8jznd21r8pzcvb0xb1zxl6y2sc-emacs-use-package-2.4.4/share/e=
macs/site-lisp/use-package-2.4.4/use-package-jump hides /gnu/store/rsyqw1rk=
4qswgmi1yc7jryb4fmq56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92=
/lisp/use-package/use-package-jump
/gnu/store/r5w8fq8jznd21r8pzcvb0xb1zxl6y2sc-emacs-use-package-2.4.4/share/e=
macs/site-lisp/use-package-2.4.4/use-package-ensure hides /gnu/store/rsyqw1=
rk4qswgmi1yc7jryb4fmq56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.=
92/lisp/use-package/use-package-ensure
/gnu/store/r5w8fq8jznd21r8pzcvb0xb1zxl6y2sc-emacs-use-package-2.4.4/share/e=
macs/site-lisp/use-package-2.4.4/bind-key hides /gnu/store/rsyqw1rk4qswgmi1=
yc7jryb4fmq56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/us=
e-package/bind-key
/gnu/store/r5w8fq8jznd21r8pzcvb0xb1zxl6y2sc-emacs-use-package-2.4.4/share/e=
macs/site-lisp/use-package-2.4.4/use-package hides /gnu/store/rsyqw1rk4qswg=
mi1yc7jryb4fmq56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp=
/use-package/use-package
/gnu/store/r5w8fq8jznd21r8pzcvb0xb1zxl6y2sc-emacs-use-package-2.4.4/share/e=
macs/site-lisp/use-package-2.4.4/use-package-delight hides /gnu/store/rsyqw=
1rk4qswgmi1yc7jryb4fmq56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0=
.92/lisp/use-package/use-package-delight
/gnu/store/r5w8fq8jznd21r8pzcvb0xb1zxl6y2sc-emacs-use-package-2.4.4/share/e=
macs/site-lisp/use-package-2.4.4/use-package-core hides /gnu/store/rsyqw1rk=
4qswgmi1yc7jryb4fmq56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92=
/lisp/use-package/use-package-core
/gnu/store/r5w8fq8jznd21r8pzcvb0xb1zxl6y2sc-emacs-use-package-2.4.4/share/e=
macs/site-lisp/use-package-2.4.4/use-package-bind-key hides /gnu/store/rsyq=
w1rk4qswgmi1yc7jryb4fmq56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.=
0.92/lisp/use-package/use-package-bind-key
/gnu/store/r5w8fq8jznd21r8pzcvb0xb1zxl6y2sc-emacs-use-package-2.4.4/share/e=
macs/site-lisp/use-package-2.4.4/use-package-ensure-system-package hides /g=
nu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-emacs-next-tree-sitter-29.0.92/sh=
are/emacs/29.0.92/lisp/use-package/use-package-ensure-system-package
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/oc-csl hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/oc-csl
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-haskell hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y=
9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-haskell
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-pcomplete hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq=
56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-pcomp=
lete
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-emac=
s-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-fortran hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y=
9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-fortran
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-eval hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-=
emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-eval
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ox-ascii hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ox-ascii
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-faces hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-faces
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ol-irc hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ol-irc
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-latex hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-latex
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/oc-biblatex hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56=
y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/oc-biblatex
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-keys hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-keys
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-entities hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq5=
6y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-entiti=
es
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-octave hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-octave
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-forth hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-forth
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-list hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-list
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-plantuml hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56=
y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-plantuml
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ox-md hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-em=
acs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ox-md
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-feed hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-feed
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ol-eshell hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ol-eshell
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ol-eww hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ol-eww
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-java hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-=
emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-java
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ol-doi hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ol-doi
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-src hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-=
emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-src
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-goto hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-goto
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-habit hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-habit
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-lisp hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-=
emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-lisp
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-js hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-em=
acs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-js
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-tangle hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-tangle
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-clojure hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y=
9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-clojure
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ol hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-emacs=
-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ol
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-julia hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-julia
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ol-info hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-=
emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ol-info
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-sqlite hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-sqlite
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-sed hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-sed
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ol-gnus hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-=
emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ol-gnus
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-exp hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-exp
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-gnuplot hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y=
9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-gnuplot
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-table hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-table
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-num hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-=
emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-num
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-lilypond hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56=
y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-lilypond
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ol-w3m hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ol-w3m
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-sql hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-sql
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-attach hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y=
9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-attach
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-capture hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56=
y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-capture
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-emacs-lisp hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq=
56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-emacs-=
lisp
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-cycle hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-cycle
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-sass hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-=
emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-sass
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-fold-core hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq=
56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-fold-=
core
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-macs hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-macs
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-archive hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56=
y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-archive
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-footnote hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq5=
6y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-footno=
te
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-tempo hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-tempo
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ox-odt hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ox-odt
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-screen hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-screen
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-timer hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-timer
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-comint hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-comint
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-shell hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-shell
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-dot hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-dot
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-macro hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-macro
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ol-mhe hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ol-mhe
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/oc-bibtex hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/oc-bibtex
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-ruby hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-=
emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-ruby
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-groovy hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-groovy
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/oc-basic hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/oc-basic
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-plot hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-plot
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-lua hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-lua
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-awk hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-awk
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-calc hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-=
emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-calc
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-agenda hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y=
9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-agenda
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-emacs=
-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-mobile hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y=
9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-mobile
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ol-man hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ol-man
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/oc hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-emacs=
-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/oc
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-R hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-ema=
cs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-R
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ox-beamer hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ox-beamer
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ox-icalendar hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq5=
6y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ox-icalend=
ar
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-processing hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq=
56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-proces=
sing
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-indent hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y=
9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-indent
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-inlinetask hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fm=
q56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-inli=
netask
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/oc-natbib hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/oc-natbib
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-fold hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-fold
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-attach-git hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fm=
q56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-atta=
ch-git
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ox hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-emacs=
-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ox
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ol-bibtex hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ol-bibtex
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-refile hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y=
9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-refile
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-protocol hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq5=
6y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-protoc=
ol
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-python hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-python
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ox-latex hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ox-latex
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-colview hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56=
y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-colview
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-duration hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq5=
6y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-durati=
on
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-lob hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-lob
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-ocaml hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-ocaml
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-version hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56=
y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-version
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-scheme hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-scheme
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-matlab hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-matlab
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-makefile hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56=
y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-makefile
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-ref hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-ref
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ox-org hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ox-org
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-loaddefs hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq5=
6y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-loadde=
fs
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ox-texinfo hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y=
9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ox-texinfo
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ol-rmail hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ol-rmail
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-perl hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-=
emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-perl
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-mouse hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-mouse
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-maxima hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-maxima
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-ditaa hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-ditaa
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ol-bbdb hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-=
emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ol-bbdb
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ox-koma-letter hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fm=
q56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ox-koma-=
letter
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-lint hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h=
-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-lint
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-crypt hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-crypt
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-C hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-ema=
cs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-C
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ox-html hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-=
emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ox-html
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-core hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-=
emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-core
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-id hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-id
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-eshell hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-eshell
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-compat hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y=
9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-compat
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ol-docview hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y=
9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ol-docview
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-datetree hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq5=
6y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-datetr=
ee
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-element hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56=
y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-element
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-ctags hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-ctags
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-table hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-table
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ox-man hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ox-man
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-org hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-org
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-persist hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56=
y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-persist
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ob-css hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9h-e=
macs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ob-css
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/org-clock hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y9=
h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/org-clock
/gnu/store/l4x0hyy62q491djdwx995gnss4pklp93-emacs-org-9.6.8/share/emacs/sit=
e-lisp/org-9.6.8/ox-publish hides /gnu/store/rsyqw1rk4qswgmi1yc7jryb4fmq56y=
9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp/org/ox-publish
/gnu/store/wpbwpy52q2n6khqjplndx33gvln1clii-emacs-soap-client-3.2.3/share/e=
macs/site-lisp/soap-client-3.2.3/soap-inspect hides /gnu/store/rsyqw1rk4qsw=
gmi1yc7jryb4fmq56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lis=
p/net/soap-inspect
/gnu/store/wpbwpy52q2n6khqjplndx33gvln1clii-emacs-soap-client-3.2.3/share/e=
macs/site-lisp/soap-client-3.2.3/soap-client hides /gnu/store/rsyqw1rk4qswg=
mi1yc7jryb4fmq56y9h-emacs-next-tree-sitter-29.0.92/share/emacs/29.0.92/lisp=
/net/soap-client

Features:
(shadow emacsbug compat-macs rect dabbrev help-at-pt tramp-cmds crux
tramp tramp-loaddefs trampver tramp-integration tramp-compat
tempel-collection tempel hyperdrive-history hyperdrive-mirror completion
xref edebug hyperdrive-dir magit-patch magit-subtree magit-gitignore
magit-ediff ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help
ediff-init ediff-util embark-org embark-consult embark elisp-demos
shortdoc texinfo texinfo-loaddefs cl-print package-x help-fns hyperdrive
hyperdrive-org hyperdrive-ewoc hyperdrive-lib hyperdrive-vars plz
persist ert debug backtrace org-transclusion org-transclusion-font-lock
org-transclusion-src-lines text-clone ox-texinfo 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 loaddefs-gen radix-tree network-stream url-cache url-http
url-auth url-gw nsm misc cus-edit cus-start package-vc lisp-mnt
org-archive cal-move ace-window avy dired-aux gnus-dired ledger-mode
ledger-check ledger-texi ledger-test ledger-sort ledger-report
ledger-reconcile ledger-occur ledger-fonts ledger-fontify ledger-state
ledger-complete ledger-schedule ledger-init ledger-xact ledger-post
ledger-exec ledger-navigate eshell esh-cmd esh-ext esh-opt esh-proc
esh-io esh-arg esh-module esh-groups esh-util files-x ledger-context
ledger-commodities ledger-regex vc-hg vc-bzr vc-src vc-sccs vc-svn
vc-cvs vc-rcs bug-reference magit-extras org-clock undo-fu orderless
consult misearch multi-isearch qp cursor-sensor sort gnus-cite shr-color
mm-archive mail-extr textsec uni-scripts idna-mapping ucs-normalize
uni-confusable textsec-check mu4e mu4e-org mu4e-notification
notifications mu4e-main mu4e-view mu4e-headers mu4e-compose mu4e-draft
mu4e-actions smtpmail mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark
mu4e-message flow-fill mule-util hl-line mu4e-contacts mu4e-update
mu4e-folders mu4e-context mu4e-query-items mu4e-server mu4e-modeline
mu4e-vars mu4e-helpers mu4e-config mu4e-window magit-bookmark bookmark
pp ido mu4e-obsolete elide-head diary-lib diary-loaddefs cal-iso vc-git
org-indent org-appear outli oc-basic ol-eww eww url-queue mm-url
ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect ol-docview doc-view
jka-compr image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m ol-doi
org-link-doi face-remap topsy makem project repeat smartparens
dired-subtree dired-hacks-utils jabber jabber-time jabber-autoaway
jabber-vcard-avatars jabber-chatstates jabber-events jabber-vcard
jabber-avatar jabber-activity jabber-watch jabber-modeline
jabber-ahc-presence jabber-ahc jabber-version jabber-ourversion
jabber-muc-nick-completion hippie-exp jabber-muc jabber-bookmarks
jabber-muc-nick-coloring jabber-browse jabber-search jabber-register
jabber-widget jabber-chat jabber-history jabber-chatbuffer jabber-roster
jabber-carbons jabber-presence jabber-private jabber-logon jabber-conn
srv dns starttls jabber-core jabber-keepalive jabber-ping jabber-disco
jabber-iq jabber-console sgml-mode facemenu jabber-truncate jabber-alert
jabber-keymap jabber-sasl sasl sasl-anonymous sasl-login sasl-plain
jabber-menu jabber-util fsm jabber-xml goto-addr pixel-scroll cua-base
engine-mode ws-butler diff-hl-flydiff diff-hl log-view vc-dir ewoc vc
vc-dispatcher magit-todos pcre2el rxt advice re-builder hl-todo f s
async grep compile 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 diff-mode git-commit log-edit pcvs-util
add-log magit-core magit-autorevert autorevert filenotify magit-margin
magit-transient magit-process with-editor magit-mode transient edmacro
magit-git magit-base magit-section crm dash auth-source-pass
whole-line-or-region corfu-history corfu marginalia vertico-reverse
vertico battery time aggressive-indent easy-mmode recentf tree-widget
no-littering compat compat-29 org-contacts org-capture 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 iso8601
gnus-spec gnus-int gnus-range message sendmail yank-media puny dired
dired-loaddefs 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
mail-utils range mm-util mail-prsvr wid-edit gnus-util
text-property-search org-agenda org-element org-persist xdg org-id
avl-tree generator org-refile org ob-dot ob-shell shell ob-js ob
ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint
org-pcomplete pcomplete comint ansi-osc ansi-color ring org-list
org-footnote org-faces org-entities time-date noutline outline
ob-emacs-lisp ob-core ob-eval org-cycle org-table org-keys oc
org-loaddefs cal-menu calendar cal-loaddefs ol org-fold org-fold-core
org-compat org-version org-macs format-spec pulsar pulse color
desktop-environment dbus xml comp comp-cstr warnings icons cl-extra
help-mode exwm exwm-input xcb-keysyms xcb-xkb exwm-manage exwm-floating
xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh
xcb-icccm xcb xcb-xproto xcb-types xcb-debug server
elfeed-tube-mpv-autoloads elfeed-tube-autoloads org-make-toc-autoloads
org-modern-autoloads org-ql-autoloads org-super-agenda-autoloads
ht-autoloads ts-autoloads cus-load setup kmacro org-bookmarks ffap
thingatpt cap-words superword subword modus-vivendi-theme modus-themes
pcase delsel elec-pair find-func savehist saveplace move-bank-csvs
wgrep-autoloads ws-butler-autoloads simple-httpd-autoloads
orderless-autoloads marginalia-autoloads diff-hl-autoloads
git-link-autoloads pcre2el-autoloads hl-todo-autoloads
magit-todos-autoloads interactive-align-autoloads
ace-window-breatheoutbreathein-autoloads ztree-autoloads
posframe-autoloads vertico-autoloads expand-region-autoloads
avy-autoloads embark-autoloads tempel-collection-autoloads
tempel-autoloads corfu-autoloads eat-autoloads sqlite3-api-autoloads
pg-autoloads finalize-autoloads emacsql-autoloads
emacsql-sqlite3-autoloads org-roam-autoloads consult-org-roam-autoloads
consult-dir-autoloads consult-autoloads eimp-autoloads
dired-hacks-autoloads org-appear-autoloads csv-mode-autoloads
ledger-mode-autoloads aggressive-indent-autoloads vundo-autoloads
undo-fu-autoloads crux-autoloads inspector-autoloads
soap-client-autoloads debbugs-autoloads markdown-mode-autoloads
smartparens-autoloads outli-breatheoutbreathein-autoloads
macrostep-autoloads nameless-autoloads shut-up-autoloads
spinner-autoloads loop-autoloads suggest-autoloads treepy-autoloads
elisp-demos-autoloads detached-autoloads tmr-autoloads f-autoloads
password-store-autoloads pass-autoloads disk-usage-autoloads
mpv-autoloads simple-mpc-breatheoutbreathein-autoloads kv-autoloads
esxml-autoloads nov-el-autoloads tablist-autoloads pdf-tools-autoloads
org-noter-autoloads s-autoloads elfeed-org-autoloads elfeed-autoloads
transmission-autoloads deferred-autoloads request-autoloads
webpaste-autoloads org-contacts-autoloads mu4e-autoloads
org-mime-autoloads org-present-autoloads org-autoloads
org-download-autoloads async-autoloads with-editor-autoloads
transient-autoloads magit-autoloads orgit-autoloads
org-cliplink-autoloads magit-popup-autoloads geiser-guile-autoloads
geiser-autoloads edit-indirect-autoloads dash-autoloads bui-autoloads
guix-autoloads rx pulsar-autoloads showtip-autoloads pos-tip-autoloads
popup-autoloads sdcv-autoloads nord-theme-autoloads compat-autoloads
no-littering-autoloads disable-mouse-autoloads engine-mode-autoloads
vterm-autoloads exwm-edit-autoloads desktop-environment-autoloads
xelb-autoloads exwm-autoloads setup-autoloads diminish-autoloads
use-package-autoloads guix-emacs aio-autoloads chordpro-mode-autoloads
emms-autoloads fsm-autoloads gemini-mode-autoloads hyperdrive-autoloads
jabber-autoloads org-timeblock-autoloads org-transclusion-autoloads
ov-autoloads peg-autoloads persist-autoloads pipewire-autoloads info
plz-autoloads srv-autoloads svg-tag-mode-autoloads svg-lib-autoloads
topsy-autoloads finder-inf ushin-shapes-autoloads
whole-line-or-region-autoloads xr-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 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/x-win x-win
term/common-win x-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 lcms2 dynamic-setting system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 1840338 193031)
 (symbols 48 65655 5)
 (strings 32 345161 25227)
 (string-bytes 1 14452803)
 (vectors 16 178178)
 (vector-slots 8 3960622 378098)
 (floats 8 987 1313)
 (intervals 56 74447 7074)
 (buffers 984 75))




Acknowledgement sent to Joseph Turner <joseph@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#65797; 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: Fri, 8 Sep 2023 17:30:02 UTC

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