From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially Resent-From: Joseph Turner Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Sep 2023 07:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 65797@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.169407334327871 (code B ref -1); Thu, 07 Sep 2023 07:56:02 +0000 Received: (at submit) by debbugs.gnu.org; 7 Sep 2023 07:55:43 +0000 Received: from localhost ([127.0.0.1]:38458 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qe9rY-0007FQ-DC for submit@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 ) id 1qe9rU-0007FA-LK for submit@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 ) id 1qe9rN-0007lw-QN for bug-gnu-emacs@gnu.org; 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 ) id 1qe9rG-0000PL-UR for bug-gnu-emacs@gnu.org; Thu, 07 Sep 2023 03:55:29 -0400 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com 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 Date: Thu, 07 Sep 2023 00:53:07 -0700 Message-ID: <87v8cmct9b.fsf@breatheoutbreathe.in> 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@breatheoutbreathe.in; 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" 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 # 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 # 3) local-variable-p(foo # nil) apply(local-variable-p (foo # 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)) From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially References: <87v8cmct9b.fsf@breatheoutbreathe.in> In-Reply-To: <87v8cmct9b.fsf@breatheoutbreathe.in> Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Sep 2023 12:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 65797@debbugs.gnu.org Cc: Stefan Monnier , Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169409012911401 (code B ref 65797); Thu, 07 Sep 2023 12:36:02 +0000 Received: (at 65797) by debbugs.gnu.org; 7 Sep 2023 12:35:29 +0000 Received: from localhost ([127.0.0.1]:38798 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qeEEL-0002xp-3b for submit@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 ) id 1qeEEI-0002xb-R8 for 65797@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@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: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= 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\)) Message-Id: Date: Thu, 7 Sep 2023 14:35:17 +0200 X-Mailer: Apple Mail (2.3654.120.0.1.15) X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" 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-- From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Sep 2023 13:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Joseph Turner Cc: 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169409424628480 (code B ref 65797); Thu, 07 Sep 2023 13:45:02 +0000 Received: (at 65797) by debbugs.gnu.org; 7 Sep 2023 13:44:06 +0000 Received: from localhost ([127.0.0.1]:38921 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qeFIj-0007PI-OO for submit@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 ) id 1qeFIi-0007OW-05 for 65797@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 In-Reply-To: <87v8cmct9b.fsf@breatheoutbreathe.in> (Joseph Turner's message of "Thu, 07 Sep 2023 00:53:07 -0700") Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > because buffer-match-p uses func-arity to conditionally apply ARG. That's the bug. Stefan From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Sep 2023 15:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16940995027379 (code B ref 65797); Thu, 07 Sep 2023 15:12:02 +0000 Received: (at 65797) by debbugs.gnu.org; 7 Sep 2023 15:11:42 +0000 Received: from localhost ([127.0.0.1]:40942 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qeGfV-0001uw-U0 for submit@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 ) id 1qeGfU-0001uf-4E for 65797@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 In-Reply-To: ("Mattias =?UTF-8?Q?Engdeg=C3=A5rd?="'s message of "Thu, 7 Sep 2023 14:35:17 +0200") Message-ID: References: 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" 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 From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Sep 2023 15:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16940998618114 (code B ref 65797); Thu, 07 Sep 2023 15:18:02 +0000 Received: (at 65797) by debbugs.gnu.org; 7 Sep 2023 15:17:41 +0000 Received: from localhost ([127.0.0.1]:40964 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qeGlJ-00026o-BM for submit@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 ) id 1qeGlF-00026X-GR for 65797@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@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\)) From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= In-Reply-To: Date: Thu, 7 Sep 2023 17:17:28 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <2438766D-3FCA-45AC-A769-F421C233D17E@gmail.com> References: X-Mailer: Apple Mail (2.3654.120.0.1.15) X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) 7 sep. 2023 kl. 17.11 skrev Stefan Monnier : > 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. From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Sep 2023 15:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Joseph Turner Cc: 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169410182922370 (code B ref 65797); Thu, 07 Sep 2023 15:51:02 +0000 Received: (at 65797) by debbugs.gnu.org; 7 Sep 2023 15:50:29 +0000 Received: from localhost ([127.0.0.1]:41136 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qeHH3-0005oj-95 for submit@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 ) 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 In-Reply-To: <87v8cmct9b.fsf@breatheoutbreathe.in> (Joseph Turner's message of "Thu, 07 Sep 2023 00:53:07 -0700") Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" 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 From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially Resent-From: Joseph Turner Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 08 Sep 2023 04:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169414816231485 (code B ref 65797); Fri, 08 Sep 2023 04:43:02 +0000 Received: (at 65797) by debbugs.gnu.org; 8 Sep 2023 04:42:42 +0000 Received: from localhost ([127.0.0.1]:41899 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qeTKL-0008Bl-Tm for submit@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 ) id 1qeTKJ-0008Bb-D0 for 65797@debbugs.gnu.org; Fri, 08 Sep 2023 00:42:40 -0400 References: <87v8cmct9b.fsf@breatheoutbreathe.in> 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@migadu.com and include these headers. From: Joseph Turner Date: Thu, 07 Sep 2023 21:40:28 -0700 In-reply-to: Message-ID: <87cyytwa14.fsf@breatheoutbreathe.in> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Migadu-Flow: FLOW_OUT X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Stefan Monnier 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 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 --=-=-=-- From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 08 Sep 2023 06:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Joseph Turner Cc: monnier@iro.umontreal.ca, 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169415559912838 (code B ref 65797); Fri, 08 Sep 2023 06:47:02 +0000 Received: (at 65797) by debbugs.gnu.org; 8 Sep 2023 06:46:39 +0000 Received: from localhost ([127.0.0.1]:42035 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qeVGI-0003Kz-V4 for submit@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 ) id 1qeVGE-0003Kk-Dq for 65797@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 ) 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@gnu.org> From: Eli Zaretskii In-Reply-To: <87cyytwa14.fsf@breatheoutbreathe.in> (bug-gnu-emacs@gnu.org) References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87cyytwa14.fsf@breatheoutbreathe.in> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: 65797@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" > > Stefan Monnier 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. From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 08 Sep 2023 15:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169418835923870 (code B ref 65797); Fri, 08 Sep 2023 15:53:01 +0000 Received: (at 65797) by debbugs.gnu.org; 8 Sep 2023 15:52:39 +0000 Received: from localhost ([127.0.0.1]:45273 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qedmh-0006Cv-4R for submit@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 ) id 1qedmd-0006Cb-Lr for 65797@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 In-Reply-To: <83fs3pxivc.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 08 Sep 2023 09:46:15 +0300") Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87cyytwa14.fsf@breatheoutbreathe.in> <83fs3pxivc.fsf@gnu.org> 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" 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 From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially Resent-From: Joseph Turner Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 08 Sep 2023 16:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier , Eli Zaretskii Cc: 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16941910526209 (code B ref 65797); Fri, 08 Sep 2023 16:38:02 +0000 Received: (at 65797) by debbugs.gnu.org; 8 Sep 2023 16:37:32 +0000 Received: from localhost ([127.0.0.1]:45364 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qeeU8-0001c4-A4 for submit@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 ) id 1qeeU3-0001bq-TE for 65797@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@migadu.com and include these headers. From: Joseph Turner In-Reply-To: References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87cyytwa14.fsf@breatheoutbreathe.in> <83fs3pxivc.fsf@gnu.org> Message-ID: <270EEEF4-E718-4CBC-B40A-6E35AC5FD912@breatheoutbreathe.in> 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On September 8, 2023 8:52:25 AM PDT, Stefan Monnier 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? From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Philip Kaludercic Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 08 Sep 2023 17:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169419252319453 (code B ref 65797); Fri, 08 Sep 2023 17:03:02 +0000 Received: (at 65797) by debbugs.gnu.org; 8 Sep 2023 17:02:03 +0000 Received: from localhost ([127.0.0.1]:45439 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qeerr-00053g-Ep for submit@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 ) id 1qeero-000537-NF for 65797@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@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 In-Reply-To: (Stefan Monnier's message of "Thu, 07 Sep 2023 11:50:16 -0400") References: <87v8cmct9b.fsf@breatheoutbreathe.in> Autocrypt: addr=philipk@posteo.net; 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_-_@posteo.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Stefan Monnier 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 From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 08 Sep 2023 17:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Joseph Turner Cc: Eli Zaretskii , 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169419354821242 (code B ref 65797); Fri, 08 Sep 2023 17:20:01 +0000 Received: (at 65797) by debbugs.gnu.org; 8 Sep 2023 17:19:08 +0000 Received: from localhost ([127.0.0.1]:45478 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qef8O-0005WY-Jv for submit@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 ) id 1qef8L-0005W0-QS for 65797@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 In-Reply-To: <270EEEF4-E718-4CBC-B40A-6E35AC5FD912@breatheoutbreathe.in> (Joseph Turner's message of "Fri, 08 Sep 2023 09:37:18 -0700") Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87cyytwa14.fsf@breatheoutbreathe.in> <83fs3pxivc.fsf@gnu.org> <270EEEF4-E718-4CBC-B40A-6E35AC5FD912@breatheoutbreathe.in> 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" 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 From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially Resent-From: Joseph Turner Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 08 Sep 2023 18:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: Eli Zaretskii , 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16941970064553 (code B ref 65797); Fri, 08 Sep 2023 18:17:01 +0000 Received: (at 65797) by debbugs.gnu.org; 8 Sep 2023 18:16:46 +0000 Received: from localhost ([127.0.0.1]:45560 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qeg29-0001BN-Ul for submit@debbugs.gnu.org; Fri, 08 Sep 2023 14:16:46 -0400 Received: from out-216.mta0.migadu.com ([2001:41d0:1004:224b::d8]:48243) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qeg25-0001BC-Eq for 65797@debbugs.gnu.org; Fri, 08 Sep 2023 14:16:44 -0400 References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87cyytwa14.fsf@breatheoutbreathe.in> <83fs3pxivc.fsf@gnu.org> <270EEEF4-E718-4CBC-B40A-6E35AC5FD912@breatheoutbreathe.in> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=breatheoutbreathe.in; s=key1; t=1694196997; 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=GsoxxkZ67PXibQifAR1+l15S/cHJnsaOFe9xHaPS034=; b=OAIF9d229lgndkZDflt5XAUKKu+aPwZ3Dliibgt7WT30t4bgn2TRL68mHV7wyo6CuMQcD8 Cs51ahtpVH7xShIGAE+UZLmBxBGi3Uxp1GPLXqdOb0yH6d9/28lscKCKBoRTMc6k928jWx Ak7EcaEPRx+/HVFOM5VVD9GO/w8vh+s= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Joseph Turner Date: Fri, 08 Sep 2023 11:16:26 -0700 In-reply-to: Message-ID: <87edj8a5tr.fsf@breatheoutbreathe.in> MIME-Version: 1.0 Content-Type: text/plain X-Migadu-Flow: FLOW_OUT X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Stefan Monnier writes: >> 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 You are right. From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 08 Sep 2023 18:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 65797@debbugs.gnu.org, joseph@breatheoutbreathe.in Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16941972354894 (code B ref 65797); Fri, 08 Sep 2023 18:21:02 +0000 Received: (at 65797) by debbugs.gnu.org; 8 Sep 2023 18:20:35 +0000 Received: from localhost ([127.0.0.1]:45565 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qeg5q-0001Gs-Gp for submit@debbugs.gnu.org; Fri, 08 Sep 2023 14:20:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51672) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qeg5o-0001Ge-0N for 65797@debbugs.gnu.org; Fri, 08 Sep 2023 14:20:33 -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 ) id 1qeg5f-0004YJ-N2; Fri, 08 Sep 2023 14:20:23 -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=No8BH6SGgaSVWQuD3/1biH9CuT48wybts/8ZHm6HPvA=; b=W/49uzaDILFy 8J8aE3hNAsSdXFLtGlE2auTD1gfcN1uBkRh2vMA5UreEPoNrYVaXz+kLqpJ+PM/3orOurY19s0svj /l9E9VfOWzg7+A3Bc9Muf3vvOgTuH3a/S6CJymtRC6UrO22cz8vB8sge0zanfd88IxvHNm72a2OPT ghnTCrbgruc3BF4cm7GXR7wL4SC5ba2It8yvXW89GJrtviBoOu5K3NczYTCjQ3zZ2lujWfZ8ai9L0 BynzJCQ3D4rIQgTk5rWBxCschgtmnCAutIK9qM8YZj/qM6XLKCZVInrAat2ZTNUJXfQ4W0ecnEPLH ygPtGJDEZLQ7c+ozypZldQ==; Date: Fri, 08 Sep 2023 21:20:13 +0300 Message-Id: <83fs3owmqq.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Stefan Monnier on Fri, 08 Sep 2023 11:52:25 -0400) References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87cyytwa14.fsf@breatheoutbreathe.in> <83fs3pxivc.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Stefan Monnier > Cc: Joseph Turner , 65797@debbugs.gnu.org > Date: Fri, 08 Sep 2023 11:52:25 -0400 > > >> 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" :-( I think one of the alternatives you proposed was backward-compatible (albeit not very elegant). So my vote is for that alternative. From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially Resent-From: Joseph Turner Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Sep 2023 17:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: Stefan Monnier , 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16944521368600 (code B ref 65797); Mon, 11 Sep 2023 17:09:02 +0000 Received: (at 65797) by debbugs.gnu.org; 11 Sep 2023 17:08:56 +0000 Received: from localhost ([127.0.0.1]:54662 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfkP6-0002EY-Ri for submit@debbugs.gnu.org; Mon, 11 Sep 2023 13:08:56 -0400 Received: from out-226.mta0.migadu.com ([91.218.175.226]:54664) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfkP2-0002EL-9B for 65797@debbugs.gnu.org; Mon, 11 Sep 2023 13:08:52 -0400 References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87cyytwa14.fsf@breatheoutbreathe.in> <83fs3pxivc.fsf@gnu.org> <83fs3owmqq.fsf@gnu.org> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=breatheoutbreathe.in; s=key1; t=1694452122; 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=eBGWfmLxxLKIonULeyUoxl/65ZYl1SIKl06MMgAQdKs=; b=b1z8AJoquKAWTalmD88CarvrpBejWf6hI6Y7zIt0UCySTu0K8x40+88q65JYfjCwVPtpTG SgOeZUqS2qiHUzEm5GyOWuybx1UnruFuSqMv8OAw7dOkXDV4e50S8emiPFTphT92bQmc9I txVdsgmSlQyauygo9RyQINczfDr42sE= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Joseph Turner Date: Mon, 11 Sep 2023 09:57:51 -0700 In-reply-to: <83fs3owmqq.fsf@gnu.org> Message-ID: <87o7i8k57u.fsf@breatheoutbreathe.in> MIME-Version: 1.0 Content-Type: text/plain X-Migadu-Flow: FLOW_OUT X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: > I think one of the alternatives you proposed was backward-compatible > (albeit not very elegant). So my vote is for that alternative. I'm in favor of the solution in the patch (from Stefan's suggestion): > - 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. The "&rest args" solution is clean and hack-free. It breaks compatibility, but in unlikely cases: - CONDITION pred accepts only a buffer argument, but additional ARG was passed (why would you do this?) - CONDITION pred accepts two arguments, and no ARG was passed (this code would be broken anyway, right?) Since buffer-match-p is new in Emacs 29, is it acceptable to assume that code affected by this breakage can be updated? Joseph From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Sep 2023 18:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Joseph Turner Cc: monnier@iro.umontreal.ca, 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16944587377360 (code B ref 65797); Mon, 11 Sep 2023 18:59:02 +0000 Received: (at 65797) by debbugs.gnu.org; 11 Sep 2023 18:58:57 +0000 Received: from localhost ([127.0.0.1]:54858 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfm7c-0001ud-QA for submit@debbugs.gnu.org; Mon, 11 Sep 2023 14:58:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33830) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfm7b-0001uO-0k for 65797@debbugs.gnu.org; Mon, 11 Sep 2023 14:58:55 -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 ) id 1qfm7Q-0004YP-65; Mon, 11 Sep 2023 14:58:44 -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=EVBB8Z6WkbbE8dekBbsajZ6HaTB74T/5cP1ek/Har1c=; b=fyyn4ojWQEVK GEGB1OHM1PLHepZwHKMFUkJSSdp/NvJdv500ueaoN5ZvK6RZBQnoGdJxA7SziaTXS5GNiU4flF6gw kc2qOmQlSK+VpFUlABv5QRTEXNlHGpcIE37opXQ2uNiuHBAR7JdcZotLvWyAtYNyW+kg6VzJ9ULKe f8mqRr4JwMB0MsJ9dw1PXO265P3QSpUTFUcRhFalU1zRxhpes6bcIh86WFDWbPCMe1MYEc8ImkMgI ddOgYndpuIv2iuq9HqX0rLvGhlzRhSIRLlw5WKMnkdvQM9UIcGiiSOKr3z9WE+nAhX8PDiaOtVrOV GMaxSizgmN+3XPORy1yLNA==; Date: Mon, 11 Sep 2023 21:58:26 +0300 Message-Id: <831qf4r0z1.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87o7i8k57u.fsf@breatheoutbreathe.in> (message from Joseph Turner on Mon, 11 Sep 2023 09:57:51 -0700) References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87cyytwa14.fsf@breatheoutbreathe.in> <83fs3pxivc.fsf@gnu.org> <83fs3owmqq.fsf@gnu.org> <87o7i8k57u.fsf@breatheoutbreathe.in> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Joseph Turner > Cc: Stefan Monnier , 65797@debbugs.gnu.org > Date: Mon, 11 Sep 2023 09:57:51 -0700 > > > Eli Zaretskii writes: > > > I think one of the alternatives you proposed was backward-compatible > > (albeit not very elegant). So my vote is for that alternative. > > I'm in favor of the solution in the patch (from Stefan's suggestion): > > > - 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. > > The "&rest args" solution is clean and hack-free. It breaks > compatibility, but in unlikely cases: > > - CONDITION pred accepts only a buffer argument, but additional ARG was > passed (why would you do this?) > > - CONDITION pred accepts two arguments, and no ARG was passed (this code > would be broken anyway, right?) > > Since buffer-match-p is new in Emacs 29, is it acceptable to assume that > code affected by this breakage can be updated? We have an alternative that doesn't break any compatibility, so I think it is preferred. From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Sep 2023 18:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Philip Kaludercic Cc: 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16945433089037 (code B ref 65797); Tue, 12 Sep 2023 18:29:01 +0000 Received: (at 65797) by debbugs.gnu.org; 12 Sep 2023 18:28:28 +0000 Received: from localhost ([127.0.0.1]:60016 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qg87g-0002Lh-JG for submit@debbugs.gnu.org; Tue, 12 Sep 2023 14:28:28 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:27104) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qg87e-0002LT-0f for 65797@debbugs.gnu.org; Tue, 12 Sep 2023 14:28:26 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 51F24444B05; Tue, 12 Sep 2023 14:28:15 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1694543294; bh=stlreWWgfxUxwi1Wmv5KKKwwckETR22k1nzaex62kz0=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=GMoJtmAc8FlYXHSbofzaQgxdnGuCG/oGGhTMWcbzO9xztLpAZRgDjUi32lXAAzkFP Uj/zlQWWFnENZsTQh1dxee4C7hgLceRxY6CcPoPfqKi9rJgEQ2nFbHiKrMjX6phK/M wfYPkcPvfrQU0QQCqdRyD2MIqZBQYcgA+Oy5npRGhmeR5oROdYz1XiY4RggEfqFvOE 8kJUm4vQcZGEgSZSa78sQOsejZEGoxEHqN7E4Jmz7IGOZ+UJ47rqfJS2V60ueWB1uP yBlCU4oA6VnkzsimiK11bScVKpi+1w4EHCbFERsCmlVel9JjgL/voEHV8DOMbP+1+w qnSdO/GC0+skg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 012EA444B01; Tue, 12 Sep 2023 14:28:14 -0400 (EDT) Received: from pastel (unknown [104.247.229.91]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id CF3501200D7; Tue, 12 Sep 2023 14:28:13 -0400 (EDT) From: Stefan Monnier In-Reply-To: <87sf7o38g1.fsf_-_@posteo.net> (Philip Kaludercic's message of "Fri, 08 Sep 2023 17:01:50 +0000") Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> Date: Tue, 12 Sep 2023 14:28:13 -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.002 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > FWIW The intention here was to be able and specify simpler conditions > that don't have to handle the alist. You mean for `display-buffer-alist`? Do you have examples that rely on this? Stefan From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: 29.0.92; func-arity should not return (0 . many) with apply-partially Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Sep 2023 18:31:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 65797@debbugs.gnu.org, joseph@breatheoutbreathe.in Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16945434599355 (code B ref 65797); Tue, 12 Sep 2023 18:31:01 +0000 Received: (at 65797) by debbugs.gnu.org; 12 Sep 2023 18:30:59 +0000 Received: from localhost ([127.0.0.1]:60021 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qg8A7-0002Qm-3N for submit@debbugs.gnu.org; Tue, 12 Sep 2023 14:30:59 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:18631) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qg8A5-0002Qa-PO for 65797@debbugs.gnu.org; Tue, 12 Sep 2023 14:30:58 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 68FCD444B09; Tue, 12 Sep 2023 14:30:47 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1694543446; bh=MRylQIsB4M4mk5rmzeq2kCx9GGM4/9ALXhZKUmg7gYg=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=k3HDaD0GLbVYlQuWHng2M1gJms0v6sev6t2AmGuAsW+50Fqa0H/p+W3trbt5bUJ8d N/dFhiWzYCiSyIZD+O1D4ertKlZhx/6eoiCEep7ksMgjc1NnVSz7jhyCtLg0CsbQBZ cLO0WtjUq6MeGW45qV1ASjfR02PBIK41+vMG8wrNDuAwbNTxPhSeM2Au6mqksixzYM wc0ZVSxw6fnPoHTKzjd8p8RpSpRS8ipPEKnK5cA76rKiMz3m/DNu9Bg6+BrW0SvKq5 E76JmY0LP7Phc6++vyExVnGt/d6js/G/EL+xcCs7o95Bcflq0MmHzioSY0nqCYgB6S W5DMifttbhQCQ== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id EF953444B07; Tue, 12 Sep 2023 14:30:45 -0400 (EDT) Received: from pastel (unknown [104.247.229.91]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id C74B2120161; Tue, 12 Sep 2023 14:30:45 -0400 (EDT) From: Stefan Monnier In-Reply-To: <83fs3owmqq.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 08 Sep 2023 21:20:13 +0300") Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87cyytwa14.fsf@breatheoutbreathe.in> <83fs3pxivc.fsf@gnu.org> <83fs3owmqq.fsf@gnu.org> Date: Tue, 12 Sep 2023 14:30:45 -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.002 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> So some backward-incompatibility is inevitable, unless we decide to >> stick to the current code to be "bug compatible" :-( > I think one of the alternatives you proposed was backward-compatible > (albeit not very elegant). So my vote is for that alternative. I'd first want to decide which semantics we want to document. We could keep the current semantics, but since we're unable to implement it reliably I'd rather we change it. After that we can decide on how to preserve backward compatibility (for which it would be OK to rely on a hack like the current one). Maybe the simplest change is to align the Texinfo doc with the docstring (i.e. document that two args are passed, always) and keep the code as is. And maybe tweak the code so it emits a warning when (eq 1 (cdr (func-arity condition))) is true. Stefan From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Philip Kaludercic Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Sep 2023 10:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169468845218306 (code B ref 65797); Thu, 14 Sep 2023 10:48:02 +0000 Received: (at 65797) by debbugs.gnu.org; 14 Sep 2023 10:47:32 +0000 Received: from localhost ([127.0.0.1]:37789 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgjsi-0004lB-Dt for submit@debbugs.gnu.org; Thu, 14 Sep 2023 06:47:32 -0400 Received: from mout01.posteo.de ([185.67.36.65]:38843) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgjsf-0004kv-K2 for 65797@debbugs.gnu.org; Thu, 14 Sep 2023 06:47:31 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 2861C240028 for <65797@debbugs.gnu.org>; Thu, 14 Sep 2023 12:47:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1694688437; bh=XgMgsahS/d1DHunqrZL5IQg6IFsuKG1qHcOvXd/tte4=; h=From:To:Cc:Subject:Date:Message-ID:Autocrypt:MIME-Version:From; b=Q7BAlzJko7CZzE1u6woDzpWfmgcxvTW2nzHVryPt/5eSKF1zR+pd608//s3PUQVYa fergkSsHw0pHuvm7s6LzVM2bo+wZWlBsRFlH2AIh0mEVrYohCRzt1jdZr/7cV7hmib pALV5Uv/Mfcy9owYRp7GZS7I0q14eWIRI1YDayU83ujFbX0+1QIauQ/b5kzY2K7EnR wVkbDgr6f6PTfnFgK/bNJeufe3bUBAO5N7PGaHHcg8YS73s3yUiKREZtpt15hn7gTq 6K9pgm9/WYuEB2YbjlAOnrfQExSsGm8D0OdQp+0walIy3LgM1/CNXepbWjgD8HfGDG 3HNzVNPUl1hww== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4RmYtD1C5pz9rxM; Thu, 14 Sep 2023 12:47:15 +0200 (CEST) From: Philip Kaludercic In-Reply-To: (Stefan Monnier's message of "Tue, 12 Sep 2023 14:28:13 -0400") Date: Wed, 13 Sep 2023 21:50:27 +0000 Message-ID: <871qf1rbdo.fsf@posteo.net> References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -1.5 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.5 (--) Stefan Monnier writes: >> FWIW The intention here was to be able and specify simpler conditions >> that don't have to handle the alist. > > You mean for `display-buffer-alist`? > Do you have examples that rely on this? >From the core? No, I cannot think of an example, but any user configuration may make use of this feature. I am not sure if I just missed it, but is there no technical solution around the advice issue? Couldn't `func-arity' check if the actual function and the advice function have the same arity, and return the right value in that case? My impression is that in 99% of the cases, advice isn't used to increase or decrease the arity of a function. > > Stefan From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Sep 2023 13:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Philip Kaludercic Cc: 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169469924323701 (code B ref 65797); Thu, 14 Sep 2023 13:48:02 +0000 Received: (at 65797) by debbugs.gnu.org; 14 Sep 2023 13:47:23 +0000 Received: from localhost ([127.0.0.1]:38008 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgmgl-0006AC-EG for submit@debbugs.gnu.org; Thu, 14 Sep 2023 09:47:23 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:22779) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgmgj-00069z-8k for 65797@debbugs.gnu.org; Thu, 14 Sep 2023 09:47:21 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id E5C2480270; Thu, 14 Sep 2023 09:47:09 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1694699228; bh=Gpxx+1zfix8WKoI12XjXmcxCC4V8LRUCQoxNp/AcjYY=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=GlffewzQAR/ZnUnAG0vaQN1NzIJyFaa44muODfjuUv5tF1UTzbNLCrXdkD1UMr6G+ 1OyB7Vpxi8pG+KKtndIv34UhW0QWM+c+F3XpzOEsWPGcrz0mMBACZj719TBGT3ySvW IhTtUyYkH7P4dO4IyHyiFkCB4CMcAGo+L+Fc+hkMzn6ySh2ZRtMwsNAJ7EEHRwTnEk Rz7Pn49L58mpI/fvL8E1Vu8rFBbRlt58Gf7EbiWV2dBeKfLnQWRcm0Rr+m/MeIBbge llfruz6aYlgVCpKOHcEHHYKoIX1HBvYKRC0qGqXyaoI4gVjrUewkAZNAFwDlNXbSfi 7Rl8CC1CZpcog== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 96D4B80385; Thu, 14 Sep 2023 09:47:08 -0400 (EDT) Received: from pastel (unknown [104.247.229.91]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 70DEE120167; Thu, 14 Sep 2023 09:47:08 -0400 (EDT) From: Stefan Monnier In-Reply-To: <871qf1rbdo.fsf@posteo.net> (Philip Kaludercic's message of "Wed, 13 Sep 2023 21:50:27 +0000") Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> Date: Thu, 14 Sep 2023 09:47:07 -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.137 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >>> FWIW The intention here was to be able and specify simpler conditions >>> that don't have to handle the alist. >> You mean for `display-buffer-alist`? >> Do you have examples that rely on this? > From the core? No, I cannot think of an example, but any user > configuration may make use of this feature. >From the core would have been good, but from elsewhere (including random .emacs config you may find on the web) would be helpful to gauge how important that could be. > I am not sure if I just missed it, but is there no technical solution > around the advice issue? Couldn't `func-arity' check if the actual > function and the advice function have the same arity, and return the > right value in that case? My impression is that in 99% of the cases, > advice isn't used to increase or decrease the arity of a function. There are various 99% solutions, yes. There is no 100% solution, OTOH :-( So the documented behavior is inherently unreliable. Stefan From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Sep 2023 00:46:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Philip Kaludercic , Stefan Monnier Cc: 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16947387237644 (code B ref 65797); Fri, 15 Sep 2023 00:46:01 +0000 Received: (at 65797) by debbugs.gnu.org; 15 Sep 2023 00:45:23 +0000 Received: from localhost ([127.0.0.1]:41483 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgwxW-0001zD-Nh for submit@debbugs.gnu.org; Thu, 14 Sep 2023 20:45:22 -0400 Received: from wout4-smtp.messagingengine.com ([64.147.123.20]:46019) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgwxR-0001yv-Id for 65797@debbugs.gnu.org; Thu, 14 Sep 2023 20:45:21 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 040EE3200988; Thu, 14 Sep 2023 20:45:04 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Thu, 14 Sep 2023 20:45:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1694738704; x=1694825104; bh=MTlYxJ7QLkm1zCy+K74nLrRveli/6bkDHEQ bHMq/gZg=; b=bYzazmRWX4r33XC4wcfxzG+XZYgxdLibcjZX4W2ngSMPzarhWO8 v8bkl7JNZmM3CMZ1RZq+PBg+tuTTVrOb0Jkd5pVW8be5tbrTzsgZcipSRYuMoyW9 DpoeVuTBJrpsO6EUP5C/ELoVWl4ene/c3O9sc6Lwu1H1U0nliiKjmkNPQ0gwtljx fTypO7kWdYoit1AODLD0X69XwAk8Q4Tls6EFFL0f6KJLRtgMX4Q7Pq16AGYAZscp CiKklCXbHSLOcUSyHkEjpUxgUcEcdbIoQG2PtvIikM3l9NGfmCxvIJZhHSMYqSwZ FCc5FoyCiMNn6sTCiNyKLgJvstTZgi0F0MQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1694738704; x=1694825104; bh=MTlYxJ7QLkm1zCy+K74nLrRveli/6bkDHEQ bHMq/gZg=; b=FSV5Rng0Q5qGuJkzIqQnon+SW9yo89gttCkx8CfTL2Lqzt3gzL7 YChKQ6NtdDfug4f7h4P4l2sEQ5G0WR4dC0VPDnT1rWxKMu8Jc3eqazuWD9p9ZSFn QDF9DV/0fsWoogf4lpNGyNgGVzFOTdl7n/+jxfGz19SjIMikEq9RlIAEE9SFEKw4 Pzzh39yn/tsmtCgbR2Xp0bFkFrpd5ZoPd0BRFTJyIafmgkgqd6Nmsz8VW0izt2cQ f3EPZUYTYubLbIF35Tno7TzmbGCgQC+G28LgxcYJgDVtJdfz21EVdqjXc5kRN4bU W4+RIzA2ZVariab/QRu5Qr+HlllFvAyw80w== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudejuddgfeejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepiefgteevheevveffheeltdeukeeiieekueefgedugfefgefhudelgfefveel vdevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 14 Sep 2023 20:45:02 -0400 (EDT) Message-ID: <244413e1-9c02-5ace-e5c9-839e0ed24369@gutov.dev> Date: Fri, 15 Sep 2023 03:45:01 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> From: Dmitry Gutov In-Reply-To: <87sf7o38g1.fsf_-_@posteo.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.2 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.2 (---) On 08/09/2023 20:01, Philip Kaludercic wrote: > FWIW The intention here was to be able and specify simpler conditions > that don't have to handle the alist. There doesn't seem to be any built-in named functions that we expect to be used, so I suppose any such are either in custom files or third-party code (and are custom-written anyway). Then breaking those (asking the users to update them, basically) might not be the worst decision. OTOH, the condition-case/wrong-number-of-arguments solution also should work 99,9% of the time, and that might cover all such functions in existence too. From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Sep 2023 01:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: Philip Kaludercic , 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169474192713114 (code B ref 65797); Fri, 15 Sep 2023 01:39:02 +0000 Received: (at 65797) by debbugs.gnu.org; 15 Sep 2023 01:38:47 +0000 Received: from localhost ([127.0.0.1]:41529 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgxnD-0003PS-Gb for submit@debbugs.gnu.org; Thu, 14 Sep 2023 21:38:47 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:51867) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgxnB-0003PF-Ho for 65797@debbugs.gnu.org; Thu, 14 Sep 2023 21:38:45 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id E29F7805B2; Thu, 14 Sep 2023 21:38:33 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1694741912; bh=jHCBPj6xgZujTFR2sIN76l8JfgVQib9iDbmP/V68MwU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=Ve79u/T5npV/bsTagsp9i84nxNLXbQkZtd/4hRzBCu/tpNPbu+DSSy4WimoU3SAWL jIwCjaS6Ca6KLFwtmfhi8gAXwBGM/QsgO3m40opkMjIS7+GMdTZTV7YM11HP8nLUrd MuHfWs1vtSoWMOFirdLXl6fEwjIjr3jgSlVgf051aNUBp7KmGCb8uM+Egt3CCvIm/Q Nt6lZzPyOhydXvKDyJUu4wdzIHIrRTktSD/D0np+Q3jKMDkC/QnyGZLo/2PSPIpfH2 YiqYbVYvdKVnzQYK6/bE/xqMLF30fKJgAugSErtk6iRrWEWkV4kFaIeutR3Q57nNMd kz1ydUu/KOwmw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 9779280189; Thu, 14 Sep 2023 21:38:32 -0400 (EDT) Received: from pastel (unknown [104.247.229.91]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 602D5120167; Thu, 14 Sep 2023 21:38:32 -0400 (EDT) From: Stefan Monnier In-Reply-To: <244413e1-9c02-5ace-e5c9-839e0ed24369@gutov.dev> (Dmitry Gutov's message of "Fri, 15 Sep 2023 03:45:01 +0300") Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <244413e1-9c02-5ace-e5c9-839e0ed24369@gutov.dev> Date: Thu, 14 Sep 2023 21:38:31 -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.129 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> FWIW The intention here was to be able and specify simpler conditions >> that don't have to handle the alist. > > There doesn't seem to be any built-in named functions that we expect to be > used, so I suppose any such are either in custom files or third-party code > (and are custom-written anyway). Then breaking those (asking the users to > update them, basically) might not be the worst decision. > > OTOH, the condition-case/wrong-number-of-arguments solution also should work > 99,9% of the time, and that might cover all such functions in existence too. I'm not worried about breakage: we can keep the current `func-arity` check (or replace it with a `condition-case`) to smooth over the change. The main question is one of convenience: Philip wanted this DWIMish behavior because he thought the added convenience was worth the complexity (just without realizing that he was offering something we can't really provide :-). If the added convenience is not used in practice (or not significantly enough to warrant the effort), then we can just change the doc and move on. Stefan From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Sep 2023 16:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: Philip Kaludercic , 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16947959079889 (code B ref 65797); Fri, 15 Sep 2023 16:39:02 +0000 Received: (at 65797) by debbugs.gnu.org; 15 Sep 2023 16:38:27 +0000 Received: from localhost ([127.0.0.1]:44577 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qhBpq-0002ZR-Mn for submit@debbugs.gnu.org; Fri, 15 Sep 2023 12:38:27 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:49479) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qhBpp-0002ZC-27 for 65797@debbugs.gnu.org; Fri, 15 Sep 2023 12:38:26 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 08F035C018C; Fri, 15 Sep 2023 12:38:13 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Fri, 15 Sep 2023 12:38:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1694795893; x=1694882293; bh=wQc97JazRZlp7jbOrDS+2qzdSMAxvKjgYw+ 8ensTgps=; b=oAxo3uHiQKJrNhhWeX4XWvU2F23JFSxDsprt4mE0Y8ifu80vhiX ff6T0I42nCLhWBz27fjd6AUiH4p8jLYUWBf3bj+liNucZFekOTfp/hZL65EyhjWW /84sHdQw6utZx06d2nsHvt3hEpth42Gb/8yW/cAKC/hnCckUl6AnJXGjDdFUQm2f uOM5rnCeHPwnJXO2THWo1dmZM3ChpHOysNUYPzihwHEvprwKrL2aFtiEkxa8nWXZ RdghRB3DFsd3+KiXr/wS5GUa4k1pso5fUjqDdOWyarElhiFVx2foG7wOCZnuFBWV 1Mq0mLeui99yHb/rEi+gmkAzU9es191L6Sg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1694795893; x=1694882293; bh=wQc97JazRZlp7jbOrDS+2qzdSMAxvKjgYw+ 8ensTgps=; b=EYjaN6m+JiEkoRGCChIr5JGg7S76HH9PPbbhdpAoUUExkDtVRu2 8WJiqZq/uI7Q/JjO7pR7NpniQ56ICP4yAcp4ih71os8ta++FAvhZOj8JnIMHD/0W jtVpjUUVDIBcY2svvufUG85DxLfCZkzDTHFbrZBEV/3vsNIcGlAzeSGutB1uVs5L oFmVfyvzaiTq7NxB/Zh07YPNNTprHpTlT96zfz9H64r+GDlp/Lj1bmiWyoUfJNd+ wxKf6WcHNK6kzu9y7xQPYSl43j5ozr70FVCv98Pe18ZOUp0DW+VTxXMEwqWPleDZ vJ9BtlmRHrEw/9sxhJyPVe2R1u4fngN5R9g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudejvddguddttdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefkffggfgfuvfevfhfhjggtgfesthekredttdefjeenucfhrhhomhepffhm ihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrg htthgvrhhnpefhffehleejffegffeugefhkeektdffgfehjedvgeejtedtudehueffgffg feejheenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe gumhhithhrhiesghhuthhovhdruggvvh X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 15 Sep 2023 12:38:11 -0400 (EDT) Message-ID: Date: Fri, 15 Sep 2023 19:38:09 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <244413e1-9c02-5ace-e5c9-839e0ed24369@gutov.dev> From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -2.2 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.2 (---) On 15/09/2023 04:38, Stefan Monnier wrote: > The main question is one of convenience: Philip wanted this DWIMish > behavior because he thought the added convenience was worth the > complexity (just without realizing that he was offering something we > can't really provide 😄. > > If the added convenience is not used in practice (or not significantly > enough to warrant the effort), then we can just change the > doc and move on. One of the considerations probably was to keep compatibility with the DSL in project-kill-buffer-conditions, where the predicate only receives one element. I'm not sure if there are any actual predicates in use, though (the remander of the DSL seems to be very expressive on its own). But if there are we could say that the predicates are called with all the arguments that buffer-match-p is called with. And in this case it wouldn't be passed an extra arg, so the predicates would continue working as-is. BTW, do we want to change '&optional ARG' to '&rest ARGS'? I don't have a use case in mind, but this would be the most flexible. From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Joseph Turner Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Sep 2023 17:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: Philip Kaludercic , Stefan Monnier , 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169480062118759 (code B ref 65797); Fri, 15 Sep 2023 17:57:02 +0000 Received: (at 65797) by debbugs.gnu.org; 15 Sep 2023 17:57:01 +0000 Received: from localhost ([127.0.0.1]:44636 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qhD3t-0004sV-8L for submit@debbugs.gnu.org; Fri, 15 Sep 2023 13:57:01 -0400 Received: from out-217.mta1.migadu.com ([95.215.58.217]:36504) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qhD3n-0004sI-2G for 65797@debbugs.gnu.org; Fri, 15 Sep 2023 13:56:59 -0400 References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <244413e1-9c02-5ace-e5c9-839e0ed24369@gutov.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=breatheoutbreathe.in; s=key1; t=1694800607; 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=yIiCj/tvzgclNIc0bwWZU/JrEnYevJFARYErlq0f8SM=; b=e1la/0Eo6hEgTjbZj/iwWLe7MZ77xaopss2iLkkvD6/OC6BghqLgJcGgCMIFGgFMCIgINC FiQwIWgZVQ3YCq7ICTc5MHGMR0z221XZLFZ11FFMHpJqCm3dsNceFnDVXnZqfjv59dTCK1 QC80XI2bT8ILhoxKaae6ddJtBBvbEAA= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Joseph Turner Date: Fri, 15 Sep 2023 10:54:21 -0700 In-reply-to: Message-ID: <87led7s4kl.fsf@breatheoutbreathe.in> MIME-Version: 1.0 Content-Type: text/plain X-Migadu-Flow: FLOW_OUT X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Dmitry Gutov writes: > BTW, do we want to change '&optional ARG' to '&rest ARGS'? I don't > have a use case in mind, but this would be the most flexible. Like this? https://yhetil.org/emacs-bugs/jwvv8cmdmzz.fsf-monnier+emacs@gnu.org/T/#mc073d249234777e6f04d809e7107c1893c7f6b2d From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Sep 2023 18:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Joseph Turner Cc: Philip Kaludercic , Stefan Monnier , 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169480087719295 (code B ref 65797); Fri, 15 Sep 2023 18:02:01 +0000 Received: (at 65797) by debbugs.gnu.org; 15 Sep 2023 18:01:17 +0000 Received: from localhost ([127.0.0.1]:44641 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qhD80-000519-Rn for submit@debbugs.gnu.org; Fri, 15 Sep 2023 14:01:17 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:37329) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qhD7v-00050p-3Y for 65797@debbugs.gnu.org; Fri, 15 Sep 2023 14:01:15 -0400 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 317735C0107; Fri, 15 Sep 2023 14:00:59 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Fri, 15 Sep 2023 14:00:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1694800859; x=1694887259; bh=0quWU8qKoXsNqJg3kzTNPg+gzUZAFWWiEuP Bbbyxiq8=; b=O5wz/9+U5Zx7gA4cd2KGPDsSMP0wN9TfVtDo85q6eBOyVAssYXf gZ3NQOid6bxqJVl/URQRetNk2xvpz08mr/AP3qdLCs6oYr5kTiYQfZrM0XY0DMCK 3VeXzgVH5K6tPkRhJ6/pmPci0EzbD9PKFm0e3ZEjz+f7p40ctS6I77+kyeLKIugI Ub61OnqXFx4e4wzcmA9OCd7EDS3h2XM54x2rFwlZSK82qvIs0LNc0TpHwDwHHrcg g1UfeH4MNall1vxC46ODvBv0IS3Bap57hDOHsUHYdn/VaItmfmmPU+f4nkWQtAxA mXW5CZZshxQo77J7eFEl2oaFHU41t8xw5eQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1694800859; x=1694887259; bh=0quWU8qKoXsNqJg3kzTNPg+gzUZAFWWiEuP Bbbyxiq8=; b=UDFDnL/5IaDan6BpDCRDtBAgoi7qtyh7pOIdqlgixEBZCTQAvWi /VPP+ln4WI5p3hLuBcjakD/vinIcB7uEO2ety94Jzi0+/whp1PGdObz1fqkRN/EG GkxWSrlA9phN6ll7n7hNE6Cy7L6GbeJGPXST7ifsS1vaeE7PMDXkRAEv/m5rdAJJ 79JF3RffVGAXCu72K34Q3cprq6ihlTcUYjmhaTo5PfOhkmYjRR4A8GTToDU3Sauv TODXSGihX3pFQ42V89q7tf79o/4xq+2oWK1SiiB0pFlHqapEmCxv68NsqRrBTSxP H6H1/hlerDws8BEJ1yKAKgh3pEI5wJR4KQw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudejvddgudduiecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttdefjeenucfhrhhomhepffhm ihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrg htthgvrhhnpeehleeflefhheeujeduteejveeggeejjefhleeljeettdfhjedthfejgfei vdeuleenucffohhmrghinhephihhvghtihhlrdhorhhgnecuvehluhhsthgvrhfuihiivg eptdenucfrrghrrghmpehmrghilhhfrhhomhepughmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 15 Sep 2023 14:00:56 -0400 (EDT) Message-ID: <0d09a5d3-2791-2d16-268e-e51271772eaa@gutov.dev> Date: Fri, 15 Sep 2023 21:00:54 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <244413e1-9c02-5ace-e5c9-839e0ed24369@gutov.dev> <87led7s4kl.fsf@breatheoutbreathe.in> From: Dmitry Gutov In-Reply-To: <87led7s4kl.fsf@breatheoutbreathe.in> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.2 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.2 (---) On 15/09/2023 20:54, Joseph Turner wrote: > Dmitry Gutov writes: > >> BTW, do we want to change '&optional ARG' to '&rest ARGS'? I don't >> have a use case in mind, but this would be the most flexible. > Like this? > > https://yhetil.org/emacs-bugs/jwvv8cmdmzz.fsf-monnier+emacs@gnu.org/T/#mc073d249234777e6f04d809e7107c1893c7f6b2d Pretty much. Sorry for the repetition. From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Philip Kaludercic Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Sep 2023 09:14:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16950283849968 (code B ref 65797); Mon, 18 Sep 2023 09:14:01 +0000 Received: (at 65797) by debbugs.gnu.org; 18 Sep 2023 09:13:04 +0000 Received: from localhost ([127.0.0.1]:52088 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qiAJT-0002ai-TD for submit@debbugs.gnu.org; Mon, 18 Sep 2023 05:13:04 -0400 Received: from mout02.posteo.de ([185.67.36.66]:49103) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qiAJR-0002aE-DV for 65797@debbugs.gnu.org; Mon, 18 Sep 2023 05:13:02 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 275AE240104 for <65797@debbugs.gnu.org>; Mon, 18 Sep 2023 11:12:47 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1695028367; bh=2YhMXEAabWYX6RIZU4PF4kp2IdKrdKdloageU7Gfkss=; h=From:To:Cc:Subject:Autocrypt:Date:Message-ID:MIME-Version:From; b=kY9qeFFK+79cvEzU5FvZ4s0WJm9hMRvwWcEElqyx0axStnsNdXIb97hVVNXnlnTUR dAhYYJp9guXd8oFBCqzbrFTmJs/DRRGuDg1xyZoOi9I/oZPUKJiFSOeR5LLnlwaDJ3 katWQQ0tvyfXjRygnaU/NKptpqVL2K/ilPX995ls/iv0veIootAv70yT4eAQQrkolP z+z4HWq5A0NwootCGxO5VtXexM4btBd7EMtZEBnuT2pbTlWjzyekpDJcRqUlp0Flh9 OegB5yYTrku1VfVwOGsdm5klGghE+OnJpSa1Bdpw+KA0WMQsA4ALlbV0Y7NO57k+8+ zkyKTreh4A2ng== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4RpzbL0vCCz6tvl; Mon, 18 Sep 2023 11:12:46 +0200 (CEST) From: Philip Kaludercic In-Reply-To: (Stefan Monnier's message of "Thu, 14 Sep 2023 09:47:07 -0400") References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> X-Hashcash: 1:20:230918:joseph@breatheoutbreathe.in::pQ6V1cHKm4OO7DNz:Oy X-Hashcash: 1:20:230918:65797@debbugs.gnu.org::MegvanrxA3DEooZp:20q X-Hashcash: 1:20:230918:monnier@iro.umontreal.ca::tCmlgJDp84mGchue:102e Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM Date: Mon, 18 Sep 2023 09:12:45 +0000 Message-ID: <87o7hz4zg2.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Stefan Monnier writes: >>>> FWIW The intention here was to be able and specify simpler conditions >>>> that don't have to handle the alist. >>> You mean for `display-buffer-alist`? >>> Do you have examples that rely on this? >> From the core? No, I cannot think of an example, but any user >> configuration may make use of this feature. > > From the core would have been good, but from elsewhere (including > random .emacs config you may find on the web) would be helpful to gauge > how important that could be. I don't know of any examples. >> I am not sure if I just missed it, but is there no technical solution >> around the advice issue? Couldn't `func-arity' check if the actual >> function and the advice function have the same arity, and return the >> right value in that case? My impression is that in 99% of the cases, >> advice isn't used to increase or decrease the arity of a function. > > There are various 99% solutions, yes. > There is no 100% solution, OTOH :-( > So the documented behavior is inherently unreliable. So what are the options then? Does one have to pick a 99% solution? -- Philip Kaludercic From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Sep 2023 11:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Philip Kaludercic Cc: 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169503815326944 (code B ref 65797); Mon, 18 Sep 2023 11:56:01 +0000 Received: (at 65797) by debbugs.gnu.org; 18 Sep 2023 11:55:53 +0000 Received: from localhost ([127.0.0.1]:52297 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qiCr2-00070V-Tm for submit@debbugs.gnu.org; Mon, 18 Sep 2023 07:55:53 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:38374) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qiCr0-00070E-B6 for 65797@debbugs.gnu.org; Mon, 18 Sep 2023 07:55:51 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 40CFF4424F2; Mon, 18 Sep 2023 07:55:36 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1695038134; bh=rd0IuHLHsitDBIhqBe4apoCth9TNzyy+Dm0Zfn9cGVA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=HchvohwUWpcvm8sDFJUYbhI7lrYARceQG9YtT252NQ6RwZmuR1MCstiDsjANsmRTk taFuSv8qLB++xxgeJBGLZm93jJIRUIWb32nU1FLLF+CsSv3RBBGOPMUU6ovtAGWqdL 3cwAcl+rK5gNSLXQLDf02Gu9pBPvCBTRFSZPqKpML9CfXddJngnw4QhaFCtwcmHbjn 2v+i0/Wny9JM5h6JBMwNdews9nJCMsSOyBAkXWO+K+2bHkCvacKuzkXgBl4w1dNHEN +4b6pgDumkw5FpPyTdqF/bb2XfJ7r6HgWoKBSSAS790TPrLTBkSzRGqBSETYEEWfht GGYKB+/FXjXzg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id B7E27441392; Mon, 18 Sep 2023 07:55:34 -0400 (EDT) Received: from pastel (unknown [45.72.220.249]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 8E833120193; Mon, 18 Sep 2023 07:55:34 -0400 (EDT) From: Stefan Monnier In-Reply-To: <87o7hz4zg2.fsf@posteo.net> (Philip Kaludercic's message of "Mon, 18 Sep 2023 09:12:45 +0000") Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> Date: Mon, 18 Sep 2023 07:55:32 -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.022 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >>>>> FWIW The intention here was to be able and specify simpler conditions >>>>> that don't have to handle the alist. >>>> You mean for `display-buffer-alist`? >>>> Do you have examples that rely on this? >>> From the core? No, I cannot think of an example, but any user >>> configuration may make use of this feature. >> From the core would have been good, but from elsewhere (including >> random .emacs config you may find on the web) would be helpful to gauge >> how important that could be. > I don't know of any examples. In that case I suggest we deprecate this feature (i.e. the fact that the function can take a single arg). >>> I am not sure if I just missed it, but is there no technical solution >>> around the advice issue? Couldn't `func-arity' check if the actual >>> function and the advice function have the same arity, and return the >>> right value in that case? My impression is that in 99% of the cases, >>> advice isn't used to increase or decrease the arity of a function. >> There are various 99% solutions, yes. >> There is no 100% solution, OTOH :-( >> So the documented behavior is inherently unreliable. > So what are the options then? Alternatives I can see: - Deprecate the feature with no replacement (i.e. users will have to use a (lambda (x y) (foo x)) wrapper to drop the second arg if they were using the feature). That's my favorite option at this point. - Replace it with some alternative (e.g. provide two different syntaxes for functions, one for functions that expect all args and one for functions that only take a single arg). - Live with the occasional breakage and bug reports like the current one. > Does one have to pick a 99% solution? Hopefully not. The 99% solution (whichever one is used) should hopefully only be used temporarily for backward compatibility while the feature is phased out. Stefan From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Philip Kaludercic Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Sep 2023 17:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16950578574362 (code B ref 65797); Mon, 18 Sep 2023 17:25:02 +0000 Received: (at 65797) by debbugs.gnu.org; 18 Sep 2023 17:24:17 +0000 Received: from localhost ([127.0.0.1]:54300 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qiHyq-00018I-NM for submit@debbugs.gnu.org; Mon, 18 Sep 2023 13:24:17 -0400 Received: from mout01.posteo.de ([185.67.36.65]:48145) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qiHym-000183-4i for 65797@debbugs.gnu.org; Mon, 18 Sep 2023 13:24:15 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id A1DAA240027 for <65797@debbugs.gnu.org>; Mon, 18 Sep 2023 19:23:57 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1695057837; bh=w4o5e/JifI1x2Plcut6VnQ9gY+uYEoC9dXS5BrCl20E=; h=From:To:Cc:Subject:Autocrypt:Date:Message-ID:MIME-Version:From; b=cG6T0jT6x3PvF5LC7zApnnrb2aOTPrcQq/SXQrqWh+nmDbdGzrzAKb7Wr83U8z3Xg EWLeNa92EPRnsQNDGJPMcfci8p5v5tw0ByXHEbSb5A+cCsEtRplUfFomU5/EqowibI CQDwfHDBkWMNXzHlyMgWWbuhyNYOEplPewaMlIRFoB3Et7P+zO09LkCTYJREjV/Tpv kRhKXWFFEW/DQCLM+OltuEupeumjgsJnC17rBRTUwgElTYw3aIVPfBkFy42JLafmF6 8W+3SzCLMVgquLQp2h51bD8lmEbsHZ7c7r2UrypdwNpMRPYRJogJVu7sfgv9WIy5hA XdPi6ECZ5OeQA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4RqBV44sX2z6twC; Mon, 18 Sep 2023 19:23:56 +0200 (CEST) From: Philip Kaludercic In-Reply-To: (Stefan Monnier's message of "Mon, 18 Sep 2023 07:55:32 -0400") References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> X-Hashcash: 1:20:230918:monnier@iro.umontreal.ca::H4ZEzCTVLYI34Jn5:1kjR X-Hashcash: 1:20:230918:joseph@breatheoutbreathe.in::KPOJi46q4VjHZ368:2V35 X-Hashcash: 1:20:230918:65797@debbugs.gnu.org::Wc6tB3MugcbzVz6E:32bH Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM Date: Mon, 18 Sep 2023 17:23:56 +0000 Message-ID: <87sf7b8ker.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Stefan Monnier writes: >>>>>> FWIW The intention here was to be able and specify simpler conditions >>>>>> that don't have to handle the alist. >>>>> You mean for `display-buffer-alist`? >>>>> Do you have examples that rely on this? >>>> From the core? No, I cannot think of an example, but any user >>>> configuration may make use of this feature. >>> From the core would have been good, but from elsewhere (including >>> random .emacs config you may find on the web) would be helpful to gauge >>> how important that could be. >> I don't know of any examples. > > In that case I suggest we deprecate this feature (i.e. the fact that > the function can take a single arg). > >>>> I am not sure if I just missed it, but is there no technical solution >>>> around the advice issue? Couldn't `func-arity' check if the actual >>>> function and the advice function have the same arity, and return the >>>> right value in that case? My impression is that in 99% of the cases, >>>> advice isn't used to increase or decrease the arity of a function. >>> There are various 99% solutions, yes. >>> There is no 100% solution, OTOH :-( >>> So the documented behavior is inherently unreliable. >> So what are the options then? > > Alternatives I can see: > > - Deprecate the feature with no replacement (i.e. users will have > to use a (lambda (x y) (foo x)) wrapper to drop the second arg if they > were using the feature). That's my favorite option at this point. I would be disappointed to see this path taken, since part of my hope with buffer-match-p was that it could be used in project.el as well (allowing this to be a thing is one of the reasons I started working on Compat). > - Replace it with some alternative (e.g. provide two different syntaxes > for functions, one for functions that expect all args and one for > functions that only take a single arg). So `(arg1 ,(lambda (x) ...)) and `(arg2 ,(lambda (x y) ...))? Or only one, and otherwise we assume that the function can be invoked with a single/two arguments? > - Live with the occasional breakage and bug reports like the current one. The issue here was related to advising a function. And you are saying there is no way around this, not even by annotating the function symbol with the initial arity before it is advised. >> Does one have to pick a 99% solution? > > Hopefully not. The 99% solution (whichever one is used) should > hopefully only be used temporarily for backward compatibility while the > feature is phased out. > > > Stefan > -- Philip Kaludercic From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Sep 2023 18:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Philip Kaludercic Cc: 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16950604419880 (code B ref 65797); Mon, 18 Sep 2023 18:08:01 +0000 Received: (at 65797) by debbugs.gnu.org; 18 Sep 2023 18:07:21 +0000 Received: from localhost ([127.0.0.1]:54528 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qiIeX-0002ZH-Ct for submit@debbugs.gnu.org; Mon, 18 Sep 2023 14:07:21 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:46703) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qiIeU-0002Z4-TK for 65797@debbugs.gnu.org; Mon, 18 Sep 2023 14:07:20 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id AC2471000A3; Mon, 18 Sep 2023 14:07:04 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1695060423; bh=xefT8ftJeCPDKTIfoeFcSJtbOl43cGC35yLCX1Xh7fI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=OulUMkeC0f0qlkHz5VkvVxJJ1K/zfDSi1+amIQpSyQHUVNmUD55pT1cq/InWU7W28 cZACzq2Tu5Q/65ZtSCrENs8wvbIbPNGcRlQ+keMQ42JJFjFx2Iq60pKw95X24QvuWx tQeBnM+WwD8vfLsbDlhLWe0l/JVwJNaqB1v8N0ph76hDQ/EprIafuYx+2LwXv+K4UK u3ZHytotSb1cgCJUuFMMYOzfyxahOJvPSLH2tCCHpaGSzf+vblpIX7SuNC3C9emvCV 2k7cYIdiYFzFcVNbJnnGblGx/87DkGiOyj61sAP9yW6lc5mU8ul+L/TqmJapaRAXHh WocQ2EAcp2Y9A== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id A38C5100046; Mon, 18 Sep 2023 14:07:03 -0400 (EDT) Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 953841202E4; Mon, 18 Sep 2023 14:07:03 -0400 (EDT) From: Stefan Monnier In-Reply-To: <87sf7b8ker.fsf@posteo.net> (Philip Kaludercic's message of "Mon, 18 Sep 2023 17:23:56 +0000") Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> Date: Mon, 18 Sep 2023 14:05:48 -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.069 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> - Deprecate the feature with no replacement (i.e. users will have >> to use a (lambda (x y) (foo x)) wrapper to drop the second arg if they >> were using the feature). That's my favorite option at this point. > > I would be disappointed to see this path taken, since part of my hope > with buffer-match-p was that it could be used in project.el as well > (allowing this to be a thing is one of the reasons I started working on > Compat). I don't understand: you just told me you have no examples of places where single-arg functions are concretely useful. So, assuming `buffer-match-p` is used in many other things, like `project.el`, do you have examples where the feature of choosing between calling sometimes with one arg and sometimes with two would be useful/handy? [ BTW, changing the code to use `&rest args` instead of `&optional arg` would help for this, right? ] >> - Replace it with some alternative (e.g. provide two different syntaxes >> for functions, one for functions that expect all args and one for >> functions that only take a single arg). > > So `(arg1 ,(lambda (x) ...)) and `(arg2 ,(lambda (x y) ...))? No, I was more thinking of `(pred1 FOO)` vs `(pred FOO)` or using just `FOO` for those functions which take all the arguments and `[FOO]` for those functions which only accept a single argument, or any other suitable "annotation". Or you could use an OClosure which carries some explicit user-provided arity info with it. >> - Live with the occasional breakage and bug reports like the current one. > The issue here was related to advising a function. And you are saying > there is no way around this, not even by annotating the function symbol > with the initial arity before it is advised. No, we can fix this case with some ad-hoc hack. But we can't fix every case once and for all, so the hack ends up being very costly compared to its benefit. The general rule is that you should never look at a function to decide how to call it (more generally, you should never look at a function beyond testing `functionp` or `commandp` (other than for debugging and the like), you should only call it). Stefan From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Philip Kaludercic Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Sep 2023 08:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169511251815504 (code B ref 65797); Tue, 19 Sep 2023 08:36:01 +0000 Received: (at 65797) by debbugs.gnu.org; 19 Sep 2023 08:35:18 +0000 Received: from localhost ([127.0.0.1]:55346 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qiWCU-000420-62 for submit@debbugs.gnu.org; Tue, 19 Sep 2023 04:35:18 -0400 Received: from mout02.posteo.de ([185.67.36.66]:49397) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qiWCP-00041Y-NG for 65797@debbugs.gnu.org; Tue, 19 Sep 2023 04:35:17 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id E8663240105 for <65797@debbugs.gnu.org>; Tue, 19 Sep 2023 10:34:58 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1695112498; bh=e5OPt+4foVd8gNduhr4ieCXRTqLSX/vvIVyOMSFrnXY=; h=From:To:Cc:Subject:Autocrypt:Date:Message-ID:MIME-Version:From; b=BBpbGVb2efB7SF4xduIndGoVqpmuKRq6Ny2xJY2wcte5tD33cl7sYj/eMmQe5dFDH g6BhyHLJU59kqvhSWpqBYjd+7ZhGThY/v4TcA1/9M3A0TGkjNkUeOYquZ5OpoZihNm Vtx9EoAuQ9qMgdu4pR64KZz1S9ea9RTVDk2odl5TUhcdQvNdh6ZbaSZKroj6syXdxn 0mb/oN7YRC5oN36lzr9G4G43W10846gRi9PURiOL1d65vGYzsoUtvNBsYnWXO+ittP 4I9sNtDRyha+ZBD9xioP+j/SO+VhBlDk2Ee+8V7E0SFpCX58Fu7gTWof4oBTuc+PkX Qlwylb+2ZwDtA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4RqZjF5R0kz9rxg; Tue, 19 Sep 2023 10:34:57 +0200 (CEST) From: Philip Kaludercic In-Reply-To: (Stefan Monnier's message of "Mon, 18 Sep 2023 14:05:48 -0400") References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM Date: Tue, 19 Sep 2023 08:34:57 +0000 Message-ID: <87y1h2blxq.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Stefan Monnier writes: >>> - Deprecate the feature with no replacement (i.e. users will have >>> to use a (lambda (x y) (foo x)) wrapper to drop the second arg if they >>> were using the feature). That's my favorite option at this point. >> >> I would be disappointed to see this path taken, since part of my hope >> with buffer-match-p was that it could be used in project.el as well >> (allowing this to be a thing is one of the reasons I started working on >> Compat). > > I don't understand: you just told me you have no examples of places > where single-arg functions are concretely useful. My apologies, to clarify: I don't know of any example where it is currently used (project.el has a separate implementation), but this would be one example where a single-argument invocation would be useful. > So, assuming `buffer-match-p` is used in many other things, like > `project.el`, do you have examples where the feature of choosing between > calling sometimes with one arg and sometimes with two would be > useful/handy? That is a different matter. Usually if buffer-match-p is not passed an argument via ARG, then all the function calls would also just have a single argument. But in other examples, such as display-bufffer-alist where ARG is non-nil, the user might want to fall back onto ignoring ARG. OTOH the difference between (lambda (buf) ...) and (lambda (buf _) ...) is not that great either. So one could invoke the function with two arguments if ARG is non-nil, and otherwise just with one. > [ BTW, changing the code to use `&rest args` instead of `&optional arg` > would help for this, right? ] How come? >>> - Replace it with some alternative (e.g. provide two different syntaxes >>> for functions, one for functions that expect all args and one for >>> functions that only take a single arg). >> >> So `(arg1 ,(lambda (x) ...)) and `(arg2 ,(lambda (x y) ...))? > > No, I was more thinking of `(pred1 FOO)` vs `(pred FOO)` or using just > `FOO` for those functions which take all the arguments and `[FOO]` for > those functions which only accept a single argument, or any other > suitable "annotation". > Or you could use an OClosure which carries some explicit user-provided > arity info with it. How would that look like? >>> - Live with the occasional breakage and bug reports like the current one. >> The issue here was related to advising a function. And you are saying >> there is no way around this, not even by annotating the function symbol >> with the initial arity before it is advised. > > No, we can fix this case with some ad-hoc hack. > But we can't fix every case once and for all, so the hack ends up being > very costly compared to its benefit. > > The general rule is that you should never look at a function to decide > how to call it (more generally, you should never look at a function > beyond testing `functionp` or `commandp` (other than for debugging and > the like), you should only call it). OK, I see, I was not familiar with this principle. > > Stefan From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Sep 2023 10:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Philip Kaludercic , Stefan Monnier Cc: 65797@debbugs.gnu.org, Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169511802626185 (code B ref 65797); Tue, 19 Sep 2023 10:08:01 +0000 Received: (at 65797) by debbugs.gnu.org; 19 Sep 2023 10:07:06 +0000 Received: from localhost ([127.0.0.1]:55401 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qiXdK-0006oH-Dd for submit@debbugs.gnu.org; Tue, 19 Sep 2023 06:07:06 -0400 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:42685) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qiXdE-0006nh-To for 65797@debbugs.gnu.org; Tue, 19 Sep 2023 06:07:05 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 743AE3200990; Tue, 19 Sep 2023 06:06:45 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Tue, 19 Sep 2023 06:06:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1695118004; x=1695204404; bh=xTaUXN2nkiGFlGiMVHwtMJDDqN4BPiJgGxS 36RusOVg=; b=UOHpIQ4OiOEr3cUOQkQaVvyoDBKsY5xI0DRlHsHLCq+cfRWsiDT +kRFxLvttcTlAQTKA7guKUJ5lGUMzZcz8IEs2G40h5770wZ8Wp5kjtNCwId3d+Or fZO5IMTd44f2uN2dHb6iYp9XrVlCJufJ8DKMOKsHaZ6N9G9RhQI3sEmQw7Fdtuby 3MbchBjhXPshcMod1+UF7inBgZKFE9E+B0nBkPZisMrVtXis8Geeoq2irVQ5Js7f UZrGj2Ouy0sqrSKLpURRiWRaJWDdMntIx7Q59Mff0b/LnaqU7S8Bpo7ERZfC8I9L OTAXH90Pk5afyYyHmBopU33FLlxfKCyFUXA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1695118004; x=1695204404; bh=xTaUXN2nkiGFlGiMVHwtMJDDqN4BPiJgGxS 36RusOVg=; b=JlOx8fsNCqb0E7C2+m0NUw/Wpj/tlEta2HHyZSoG2olEmzknIiW Guugks/ar5tuKyMxWdaNRN3CRshOXw+cZs9R9xael+AQSFOYg0dm9ypCMSBl5Mgj Gj5EqXpxFKpEaRyWnwQLacfPJIcJ3uOU+HOToJ7SAMJIYIIhRhbdcJ8f1uCg+8aU Mf/3U4j791115PkjilEAhq6c0rbs6nh8Qhe1UPsAR81WxdGqA+mYz4nVDgBIKRSj pAIioOf31sTOYqN9bnW1cJog/BoZDpfHEw2G7MJ1l6Uag1mGNqMnD83XN20ReEjY 0qPmHdJipUSsPFdBKYfOTl4z9ywg9EWBJWw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudektddgvdefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepiefgteevheevveffheeltdeukeeiieekueefgedugfefgefhudelgfefveel vdevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 19 Sep 2023 06:06:43 -0400 (EDT) Message-ID: Date: Tue, 19 Sep 2023 13:06:41 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> From: Dmitry Gutov In-Reply-To: <87y1h2blxq.fsf@posteo.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.2 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.2 (---) On 19/09/2023 11:34, Philip Kaludercic wrote: >> [ BTW, changing the code to use `&rest args` instead of `&optional arg` >> would help for this, right? ] > How come? In project.el buffer-match-p would be called without an extra argument, so the predicates would be called without an extra argument as well. That should take care of that compatibility, I think. From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Philip Kaludercic Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Sep 2023 13:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: Joseph Turner , Stefan Monnier , 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169513183629659 (code B ref 65797); Tue, 19 Sep 2023 13:58:02 +0000 Received: (at 65797) by debbugs.gnu.org; 19 Sep 2023 13:57:16 +0000 Received: from localhost ([127.0.0.1]:57581 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qibE4-0007iJ-8A for submit@debbugs.gnu.org; Tue, 19 Sep 2023 09:57:16 -0400 Received: from mout01.posteo.de ([185.67.36.65]:46665) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qibDz-0007iD-Fq for 65797@debbugs.gnu.org; Tue, 19 Sep 2023 09:57:14 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id EE5E8240029 for <65797@debbugs.gnu.org>; Tue, 19 Sep 2023 15:56:56 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1695131817; bh=Ak+9+/Wk7AQcR3G3KtxWQl/xjamJMHjFSLe4DU/AWMA=; h=From:To:Cc:Subject:Autocrypt:Date:Message-ID:MIME-Version:From; b=QJ5BebzPnfGgLJ5i8DG74JMA7imL9JG6TaUuKvHdMCK0GOFue9mimJV5hQvrJ8Kn/ psnwmqoWmKtKGLDrekMRyiDuygA09q6WyZV4xGrHly2tqfNjfx0DDqmVYDfbQ8hcjR +Kjqvc9Q3h0f41mcfuwr/WXVvN1VzBqQSnqZsGlWFDuV094FiKMlP/Rw26T5HQjgjB ld4cNmDFRodsVetsutZN1TlSZ+FXe8+4lvr1FgP5vhU7qj9NNLyb3CVMmJFenKPn6v 4N0oyJ8iPnfNbcg/rwHSiByW6K4dIWIUhmzVs/N3t+y0C4JtbwqK7oSY/Hqo/rvwrn bwaJjHSFtJrJw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Rqjrm0GQDz6v0Q; Tue, 19 Sep 2023 15:56:55 +0200 (CEST) From: Philip Kaludercic In-Reply-To: (Dmitry Gutov's message of "Tue, 19 Sep 2023 13:06:41 +0300") References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM Date: Tue, 19 Sep 2023 13:56:54 +0000 Message-ID: <874jjqb715.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Dmitry Gutov writes: > On 19/09/2023 11:34, Philip Kaludercic wrote: >>> [ BTW, changing the code to use `&rest args` instead of `&optional arg` >>> would help for this, right? ] >> How come? > > In project.el buffer-match-p would be called without an extra > argument, so the predicates would be called without an extra argument > as well. > > That should take care of that compatibility, I think. But what does that have to do with &rest vs &optional? From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Sep 2023 16:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Philip Kaludercic Cc: Joseph Turner , Stefan Monnier , 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169514004311785 (code B ref 65797); Tue, 19 Sep 2023 16:15:01 +0000 Received: (at 65797) by debbugs.gnu.org; 19 Sep 2023 16:14:03 +0000 Received: from localhost ([127.0.0.1]:57703 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qidMQ-00033t-Ct for submit@debbugs.gnu.org; Tue, 19 Sep 2023 12:14:02 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:38455) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qidMM-00033L-J1 for 65797@debbugs.gnu.org; Tue, 19 Sep 2023 12:14:00 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 496915C0185; Tue, 19 Sep 2023 12:13:43 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Tue, 19 Sep 2023 12:13:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1695140023; x=1695226423; bh=TSTfNluyl9Cent2/STidE9QqeShvOXquBHs VOWrQLxk=; b=drtAbrQJXcPn3X+VQC/VmLJDNSggOATA5hOFyS+wt5axdom9F8r zU3VrvzSkneco1K5caTKt+mAiyuWQlDRP+cySKoX2fLu/wTZ2zsXJaOgNxZe+cLl 5gyNFuPmBiifvbQjaA+hJhR7UwUXtErZC3hBGrHK/cdU6qM7wXHiP8al18WIVBl9 L/2JUmTBsRmV1Fv4fDAUhQLFNMpuXdGVq4iJR+PgKoZ8Tw4IRaP4Q6ePZU4zLj4N hal69bxefiDlheLBPNGXGAGGiyrQ8Sre+z2Y2ZpiL+TYzDAganBwyiHhOeuPxPfv Iua6YXObXkZsbXz0zcjwbmdUOay/cDXjpOQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1695140023; x=1695226423; bh=TSTfNluyl9Cent2/STidE9QqeShvOXquBHs VOWrQLxk=; b=Ud/NTo/RyBpnUH8hnuE4DFCA6Za2A1rxzq0pB9v2k9mfjGmDTzS JkVeoX6JFUrxQNmgZa91tOimBI0lK5Dnk3XeXctKqnX3tQu4GP1kSmNh57qr9e0q K4nxiz4uq4RNqFzXTEkqdIU2y5OUx4JnLrnhOYDzQ3tnWrl6+cXtlujleeGmGX5k /283gCoIc8h8xd/AMqoEP/H1HcRgYQBDhHzmqDOHMTugBJ6i4Ulfyw+u9TJGp9Zf 86e+xG+GlciJjzO6El2+R7hgDWiJ0IM8d5o+HZFJ4wDx9/2nJ4skpnvy+jN4hS3k XWM21x8lOvGUt+VY0k+6GBXt1MQU7vb6YCQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudekuddgieejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepiefgteevheevveffheeltdeukeeiieekueefgedugfefgefhudelgfefveel vdevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 19 Sep 2023 12:13:41 -0400 (EDT) Message-ID: <0371b6ff-58e4-961e-29c9-4efb65b82185@gutov.dev> Date: Tue, 19 Sep 2023 19:13:40 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> <874jjqb715.fsf@posteo.net> From: Dmitry Gutov In-Reply-To: <874jjqb715.fsf@posteo.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.2 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.2 (---) On 19/09/2023 16:56, Philip Kaludercic wrote: > Dmitry Gutov writes: > >> On 19/09/2023 11:34, Philip Kaludercic wrote: >>>> [ BTW, changing the code to use `&rest args` instead of `&optional arg` >>>> would help for this, right? ] >>> How come? >> In project.el buffer-match-p would be called without an extra >> argument, so the predicates would be called without an extra argument >> as well. >> >> That should take care of that compatibility, I think. > But what does that have to do with &rest vs &optional? Stringly speaking, nothing, because you can manage the same scheme with &optional - just dispatching to pred with different number of arguments depending on whether the &optional arg is nil. Though that breaks a little when nil is a meaningful value (probably a rare case). Rewriting the function in terms of &rest just makes this solution the most natural one, I suppose. Though we'll still have to document the distinction in the docstrings of project-kill-buffer-conditions and etc (the number of the arguments called with). From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Joseph Turner Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 08 Oct 2023 09:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: 65797@debbugs.gnu.org, Philip Kaludercic , Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , Stefan Monnier , Eli Zaretskii Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169675640123783 (code B ref 65797); Sun, 08 Oct 2023 09:14:02 +0000 Received: (at 65797) by debbugs.gnu.org; 8 Oct 2023 09:13:21 +0000 Received: from localhost ([127.0.0.1]:56256 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qpPqj-0006BX-3l for submit@debbugs.gnu.org; Sun, 08 Oct 2023 05:13:21 -0400 Received: from out-191.mta0.migadu.com ([91.218.175.191]:32904) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qpPqe-0006BJ-KV for 65797@debbugs.gnu.org; Sun, 08 Oct 2023 05:13:19 -0400 References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> <874jjqb715.fsf@posteo.net> <0371b6ff-58e4-961e-29c9-4efb65b82185@gutov.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=breatheoutbreathe.in; s=key1; t=1696756375; 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=ALSmH/VREyJnFKueNZyNBOOTsZ/a0br6cXkn6APCc0c=; b=ZwjDakdBqb2pPSfxBC/ugKUPFJdIXz1wuyihcyIfHKXApbQklYRG5jP7PEKev3EGgOK/qd zQiKFvsG/PVghqEh2P7NBsWyyC+0co1EwKS0zm3bDIcuEgbEiUuv3XDe44jG+5GsP/tU5h HPJg9/IWxxmWrBNPG8EVbckQHNxpzTE= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Joseph Turner Date: Sun, 08 Oct 2023 02:10:33 -0700 In-reply-to: <0371b6ff-58e4-961e-29c9-4efb65b82185@gutov.dev> Message-ID: <87v8bhtr3k.fsf@breatheoutbreathe.in> MIME-Version: 1.0 Content-Type: text/plain X-Migadu-Flow: FLOW_OUT X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Dmitry Gutov writes: > On 19/09/2023 16:56, Philip Kaludercic wrote: >> Dmitry Gutov writes: >> >>> On 19/09/2023 11:34, Philip Kaludercic wrote: >>>>> [ BTW, changing the code to use `&rest args` instead of `&optional arg` >>>>> would help for this, right? ] >>>> How come? >>> In project.el buffer-match-p would be called without an extra >>> argument, so the predicates would be called without an extra argument >>> as well. >>> >>> That should take care of that compatibility, I think. >> But what does that have to do with &rest vs &optional? > > Stringly speaking, nothing, because you can manage the same scheme > with &optional - just dispatching to pred with different number of > arguments depending on whether the &optional arg is nil. Though that > breaks a little when nil is a meaningful value (probably a rare case). > > Rewriting the function in terms of &rest just makes this solution the > most natural one, I suppose. I am in favor of this solution as well. > Though we'll still have to document the distinction in the docstrings > of project-kill-buffer-conditions and etc (the number of the arguments > called with). How do the project.el docstrings need to be updated? Thank you! Joseph From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 08 Oct 2023 10:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Joseph Turner Cc: 65797@debbugs.gnu.org, Philip Kaludercic , Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , Stefan Monnier , Eli Zaretskii Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.1696760797906 (code B ref 65797); Sun, 08 Oct 2023 10:27:01 +0000 Received: (at 65797) by debbugs.gnu.org; 8 Oct 2023 10:26:37 +0000 Received: from localhost ([127.0.0.1]:56325 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qpQzd-0000EX-0B for submit@debbugs.gnu.org; Sun, 08 Oct 2023 06:26:37 -0400 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:50227) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qpQzM-0000Ds-OX for 65797@debbugs.gnu.org; Sun, 08 Oct 2023 06:26:36 -0400 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id CE03C3200B27; Sun, 8 Oct 2023 06:25:53 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute6.internal (MEProxy); Sun, 08 Oct 2023 06:25:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm1; t= 1696760753; x=1696847153; bh=pi32cy5ezJnZHlHdaliba9Nntqb3bb9EkmS oXkhIQBo=; b=C6bbpd63yqmEzvE+KZUKtLBZvXoJ+XuBR3wB1i7NThet26GfuhP vy/VjK05Qbbp+byzOvOZLV0YMq1roLhWMKndmUF/IK6L3kt1pVL1GgyBzRWuKFmJ VsXmnCY7wJUGs50NTZtUTV+We3gnSdX8KIR2pR9kQ6z0EcoWH+VuBg1t6noFQDeF 63cC58MBN/hVBew36HryL+ViU3bUtw9uOgk3YYPetEp3zE8xHw6NMl6nFhLzVUAq 6H1uSOICR5IhW5XG0UwOEnY4SZe0HSSIzlPe/JZJDwFjJlAq3/kL8dh6+9KibYAB +d1dONp74jAptVpilVrDSnqF4AIcbnTNuNQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1696760753; x=1696847153; bh=pi32cy5ezJnZHlHdaliba9Nntqb3bb9EkmS oXkhIQBo=; b=X5819GOFF+HxLsudlh6wtpxELSiQSCT8sk5DcHpklEPFWiXnZbZ 2LSH64TwCiknES53ETL336RTLVcRe3f4dnL9IRk6BbazulDs7gAgCR5sfdkUDtOp 5yISvMUzp6NFJ0Fanw34an8RAoGlU+sMHHrKnOfcgzB3urfX8axlsIGN5FbK4V6B K7m4S//kDXYACb8Qfs3K0/Kd+mNRQK+2zwhyCVnqgUj9l/QV/qvTPzevAcy34XJ1 1idwcmkgKS7+lvtwaJqt63jQN6opDEdOurDbHaiDRLc7+2i629cBeU8NMT5E2kH9 79+I9PMO7V5Wm1n3CoDVwNXVFXL9PYf/Pzg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrhedugddvjecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefkffggfgfuvfevfhfhjggtgfesthejredttdefjeenucfhrhhomhepffhmihht rhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtth gvrhhnpeeigfetveehveevffehledtueekieeikeeufeegudfgfeeghfdulefgfeevledv veenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumh hithhrhiesghhuthhovhdruggvvh X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 8 Oct 2023 06:25:51 -0400 (EDT) Message-ID: <6248149a-be25-839b-3aff-4c3fd71632b4@gutov.dev> Date: Sun, 8 Oct 2023 13:25:49 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> <874jjqb715.fsf@posteo.net> <0371b6ff-58e4-961e-29c9-4efb65b82185@gutov.dev> <87v8bhtr3k.fsf@breatheoutbreathe.in> From: Dmitry Gutov In-Reply-To: <87v8bhtr3k.fsf@breatheoutbreathe.in> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -1.5 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.2 (---) On 08/10/2023 12:10, Joseph Turner wrote: >> Though we'll still have to document the distinction in the docstrings >> of project-kill-buffer-conditions and etc (the number of the arguments >> called with). > How do the project.el docstrings need to be updated? Bad phrasing on my part, sorry: no need to touch them in this particular patch. Or probably after (the number of args will stay unchanged). But other similar variables, especially new ones, related to the user of buffer-match-p, would need to mention the number of args passed to PRED. From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 09 Oct 2023 21:42:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Joseph Turner Cc: Dmitry Gutov , Philip Kaludercic , Eli Zaretskii , Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169688769332543 (code B ref 65797); Mon, 09 Oct 2023 21:42:01 +0000 Received: (at 65797) by debbugs.gnu.org; 9 Oct 2023 21:41:33 +0000 Received: from localhost ([127.0.0.1]:33620 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qpy0L-0008So-3W for submit@debbugs.gnu.org; Mon, 09 Oct 2023 17:41:33 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:3965) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qpy0J-0008SW-MC for 65797@debbugs.gnu.org; Mon, 09 Oct 2023 17:41:32 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 7CB2D1000A3; Mon, 9 Oct 2023 17:41:05 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1696887660; bh=xqxEJwsqnB8J7GmDDtjKwCPBmxaVsKQ2j+/lOTs0dp8=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=fI7uDPGAhNsChv3v3moDEVo9MMKqe6CJgEVMyV0huvBsS+odYMXSIv8mWLfRHwOch nj57dhwv/fKf/T1/obaQaoOzi2gGshNZoe3eptffvbbL4oQ1RvYUk6VaCKhbNqKdIx D+Jwqxw3iFKQON8ldTpG+6S/nlWyhNSI/l/em5puXOpuLTBLUBD9DaH8oGjHp2Drpu nfhhQNVAlVIRtO1PJ8Z4naFCgnjSzLk8YpEogzrqGZSlDO6+8iF4akmc/TheFpXKhm 8poADFZoM+JA8UeiKk6IlF74aPCCpL65syzN9IDQ8GGRqFMG9h72T/ps9uJvHoTj2R xhz7zAylU+4HQ== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id EF8AF100061; Mon, 9 Oct 2023 17:40:59 -0400 (EDT) Received: from pastel (unknown [216.154.28.175]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id BA7641202FA; Mon, 9 Oct 2023 17:40:59 -0400 (EDT) From: Stefan Monnier In-Reply-To: <87v8bhtr3k.fsf@breatheoutbreathe.in> (Joseph Turner's message of "Sun, 08 Oct 2023 02:10:33 -0700") Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> <874jjqb715.fsf@posteo.net> <0371b6ff-58e4-961e-29c9-4efb65b82185@gutov.dev> <87v8bhtr3k.fsf@breatheoutbreathe.in> Date: Mon, 09 Oct 2023 17:40:57 -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.008 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > I am in favor of this solution as well. Then how 'bout something like the patch below which changes the `&optional` into an `&rest` but tries to preserve compatibility with the old calling convention. Stefan diff --git a/lisp/subr.el b/lisp/subr.el index e88815fa58c..06c9923b525 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -7295,13 +7292,13 @@ string-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 +- a predicate function that takes BUFFER-OR-NAME plus ARGS as arguments, 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: @@ -7326,9 +7323,18 @@ buffer-match-p ((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))) + (if (cdr args) + ;; More than 1 argument: no need for + ;; Emacs-29 backward compatibility! + (apply condition buffer-or-name args) + (condition-case err + (apply condition buffer-or-name args) + (wrong-number-of-arguments + ;; Backward compatibility with Emacs-29 semantics. + (message "Trying obsolete calling convention for: %S" + condition) + (apply condition buffer-or-name + (if args '(nil) nil)))))) (`(major-mode . ,mode) (eq (buffer-local-value 'major-mode buffer) @@ -7350,17 +7356,17 @@ buffer-match-p (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 +Optional 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 (apply #'buffer-match-p condition (get-buffer buf) args) (push buf bufs))) bufs)) From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Joseph Turner Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 12 Oct 2023 05:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: Dmitry Gutov , Philip Kaludercic , Eli Zaretskii , Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.1697086949373 (code B ref 65797); Thu, 12 Oct 2023 05:03:02 +0000 Received: (at 65797) by debbugs.gnu.org; 12 Oct 2023 05:02:29 +0000 Received: from localhost ([127.0.0.1]:40389 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qqnq8-00005w-UA for submit@debbugs.gnu.org; Thu, 12 Oct 2023 01:02:29 -0400 Received: from out-201.mta1.migadu.com ([2001:41d0:203:375::c9]:65215) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qqnq6-00005Z-EU for 65797@debbugs.gnu.org; Thu, 12 Oct 2023 01:02:28 -0400 References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> <874jjqb715.fsf@posteo.net> <0371b6ff-58e4-961e-29c9-4efb65b82185@gutov.dev> <87v8bhtr3k.fsf@breatheoutbreathe.in> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=breatheoutbreathe.in; s=key1; t=1697086920; 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=QTxNUUpeGwK4VQGPhwQj79CQLt2st/lw/vbYX6y1ax0=; b=Zt2LYv2y40FoR1CibRy0Drh7BZ9mWj7fjpslxqWHK07p9/yB8y3xrwrucRHSB5Iq2ElvZL BjHdnEhrboN9oMqsuaxtYDvrsCcyg7yK4V5prncCyo/W4W2dJa4/NaNp4In9pzFRo84rbA BH1FSUpESDr+KZwF8tAFajBhobNhpBM= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Joseph Turner Date: Wed, 11 Oct 2023 21:53:31 -0700 In-reply-to: Message-ID: <87v8bcqvr0.fsf@breatheoutbreathe.in> MIME-Version: 1.0 Content-Type: text/plain X-Migadu-Flow: FLOW_OUT X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Stefan Monnier writes: >> I am in favor of this solution as well. > > Then how 'bout something like the patch below which changes the > `&optional` into an `&rest` but tries to preserve compatibility with the > old calling convention. > > > Stefan > > > diff --git a/lisp/subr.el b/lisp/subr.el > index e88815fa58c..06c9923b525 100644 > --- a/lisp/subr.el > +++ b/lisp/subr.el > @@ -7295,13 +7292,13 @@ string-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 > +- a predicate function that takes BUFFER-OR-NAME plus ARGS as > arguments, 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: > @@ -7326,9 +7323,18 @@ buffer-match-p > ((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))) > + (if (cdr args) > + ;; More than 1 argument: no need for > + ;; Emacs-29 backward compatibility! > + (apply condition buffer-or-name args) > + (condition-case err > + (apply condition buffer-or-name args) > + (wrong-number-of-arguments > + ;; Backward compatibility with Emacs-29 semantics. > + (message "Trying obsolete calling convention for: %S" > + Condition) > + (apply condition buffer-or-name > + (if args '(nil) nil)))))) > (`(major-mode . ,mode) > (eq > (buffer-local-value 'major-mode buffer) > @@ -7350,17 +7356,17 @@ buffer-match-p > (throw 'match t))))))) > (funcall match (list condition)))) At first, I was concerned that the condition-case would mess up error handling in user code, but all 9 permutations give the expected results: (let ((condition (lambda (buf) t) ;; (lambda (buf arg1) t) ;; (lambda (buf arg1 arg2) t) )) (condition-case err (buffer-match-p condition (current-buffer) ;; 'arg1 ;; 'arg2 ) (wrong-number-of-arguments "Caught"))) > -(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 > +Optional 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 (apply #'buffer-match-p condition (get-buffer buf) args) > (push buf bufs))) > bufs)) > From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 12 Oct 2023 11:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier , Joseph Turner Cc: Philip Kaludercic , Eli Zaretskii , Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169711049125693 (code B ref 65797); Thu, 12 Oct 2023 11:35:02 +0000 Received: (at 65797) by debbugs.gnu.org; 12 Oct 2023 11:34:51 +0000 Received: from localhost ([127.0.0.1]:41191 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qqtxr-0006gK-3E for submit@debbugs.gnu.org; Thu, 12 Oct 2023 07:34:51 -0400 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]:47525) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qqtxm-0006g3-HQ for 65797@debbugs.gnu.org; Thu, 12 Oct 2023 07:34:50 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id C8BA5320091A; Thu, 12 Oct 2023 07:34:17 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Thu, 12 Oct 2023 07:34:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm1; t= 1697110457; x=1697196857; bh=TgezXYb98SeAyUlEBmhOk7lD30taqVGTE6X WyvXPBE4=; b=AQtQ8MT8R378bZIs028SFqmiEqoKtcQKO9SaP1mqxD3qpVyq2A7 kvs/Ipi1CrukByFpk983/TpzF9UCsQLsiIcBdmU3wH9Axxubpd+dTPQt0nAo52Nz pLJZLA9hPCq+dePnqyw75dVFja/BAg4YR8/P13VKwEPVHwNJT5PcBCUcZoJHtE8F 2iStkRvzlPoCFaqmkrkcEiWJyGFn3+Jyu7S5IM4qXb37LZm2vqYyF0JZephvrrwC W+aR0bXSQUT8lPVB5+FVL1gzzhgDczi3Lbbiis+L8gzvgZIeuSJS653ebesSbj0T sfguVQX57Izon8lGUQhOrggfPNjgofhMODA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1697110457; x=1697196857; bh=TgezXYb98SeAyUlEBmhOk7lD30taqVGTE6X WyvXPBE4=; b=mClDkgn0qgDXNH1mIU10oOj9PH0qnRDjZ1R2RQiwi+8B4wYu0CF 1YbGH7xlHbsVbGhCQVwM5m1bxJcwbATLA28atGXBcFIFy6hxHCyWDig2ouKQ0B4A Q5Mo7Y2XyNN63lN1lLUs4kXVfRw79IYoufx1a6CLd4Bc0qF2mHEA1FKEZJbqQPKc dzLe5wnFPzM1OO5ypganoPKCB2JoI1j8X4EFdyFse5u8zWK27zCp93S+rwdE6Ymw ZvY8707KPsj0B9c6kY/f61cO+rrGQgc8jxzlA3pwQNyxy99gLdNHr/RpPIrAQaso PvaDzCvWYokyxp2tOXTEe5zuBTMAJFspbyA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedriedtgdegudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefkffggfgfuvfevfhfhjggtgfesthejredttdefjeenucfhrhhomhepffhmihht rhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtth gvrhhnpeeigfetveehveevffehledtueekieeikeeufeegudfgfeeghfdulefgfeevledv veenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumh hithhrhiesghhuthhovhdruggvvh X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 12 Oct 2023 07:34:15 -0400 (EDT) Message-ID: <3a282a0b-3efa-ec12-2143-0496ebf6c828@gutov.dev> Date: Thu, 12 Oct 2023 14:34:13 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> <874jjqb715.fsf@posteo.net> <0371b6ff-58e4-961e-29c9-4efb65b82185@gutov.dev> <87v8bhtr3k.fsf@breatheoutbreathe.in> From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.2 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.2 (---) On 10/10/2023 00:40, Stefan Monnier wrote: > Then how 'bout something like the patch below which changes the > `&optional` into an `&rest` but tries to preserve compatibility with the > old calling convention. Personally, I figured that using &rest would already help with backward compatibility to an extent. From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 13 Oct 2023 15:59:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Dmitry Gutov Cc: 65797@debbugs.gnu.org, Philip Kaludercic , Eli Zaretskii , Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , Joseph Turner Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169721271230259 (code B ref 65797); Fri, 13 Oct 2023 15:59:03 +0000 Received: (at 65797) by debbugs.gnu.org; 13 Oct 2023 15:58:32 +0000 Received: from localhost ([127.0.0.1]:47244 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qrKYa-0007ry-C1 for submit@debbugs.gnu.org; Fri, 13 Oct 2023 11:58:32 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:23406) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qrKYY-0007rd-2x for 65797@debbugs.gnu.org; Fri, 13 Oct 2023 11:58:30 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 597C6100143; Fri, 13 Oct 2023 11:58:01 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1697212680; bh=9kVOmfW9GpGe+AcBrbCcBtl5mDqkYA65CUEb/3w8bkk=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=KZ0Nsuy+ozy3GZxxYJYGmI88yI0l7Gd/d8GyfAUJSV3mmVA0uKHB/f0zpwZ7cIyB4 +3TYgT3hztN4bZHMQz90Wmwc3WDpr6SU609C/Bti4RxZa+d4b0yChbXtH35uRTGEfN R+BdRZOsCcUZAu49mTAp6tDPoLuPyTeIaV2RsN/I1Y2VcBgkIZ92Dm+Tk7o22pxZj7 Y/yrZHXI6qEPLiH9oJ/javYq22FuQC3U2dDK6kAGOIFlQ7CAne1dCzgyYrBtzHI1n5 v0Kdm7xQEC/FFgyJIn2voqtP59FZu28gCj3kkN9108wVgjsI69Pa4lu1q39R2ApC/c 4MxK3V6RBbovw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 07B7E100068; Fri, 13 Oct 2023 11:58:00 -0400 (EDT) Received: from alfajor (unknown [23.233.149.155]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id C96E91200A1; Fri, 13 Oct 2023 11:57:59 -0400 (EDT) From: Stefan Monnier In-Reply-To: <3a282a0b-3efa-ec12-2143-0496ebf6c828@gutov.dev> (Dmitry Gutov's message of "Thu, 12 Oct 2023 14:34:13 +0300") Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> <874jjqb715.fsf@posteo.net> <0371b6ff-58e4-961e-29c9-4efb65b82185@gutov.dev> <87v8bhtr3k.fsf@breatheoutbreathe.in> <3a282a0b-3efa-ec12-2143-0496ebf6c828@gutov.dev> Date: Fri, 13 Oct 2023 11:57:59 -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.166 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> Then how 'bout something like the patch below which changes the >> `&optional` into an `&rest` but tries to preserve compatibility with the >> old calling convention. > Personally, I figured that using &rest would already help with backward > compatibility to an extent. I don't have a good intuition for how important backward compatibility is here, so I went for the "safe" choice. But maybe we don't need to go that far. The patch below keeps the same compatibility hack as we currently have but doesn't add any new compatibility, so it will break those uses where `buffer-match-p` is called without additional args but the predicate function still expects 2 args (where the second is always nil). Indeed, that case seemes extremely unlikely. Eli, Stefan, WDYT? Stefan diff --git a/lisp/subr.el b/lisp/subr.el index e88815fa58c..b38a29058a4 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -7295,13 +7295,13 @@ string-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 +- a predicate function that takes BUFFER-OR-NAME plus ARGS as arguments, 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: @@ -7326,9 +7326,14 @@ buffer-match-p ((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 + (cond + ;; Backward compatibility with + ;; Emacs-29 semantics. + ((and args (null (cdr args)) + (eq 1 (cdr (func-arity condition)))) + nil) + (t args)))) (`(major-mode . ,mode) (eq (buffer-local-value 'major-mode buffer) @@ -7350,17 +7355,17 @@ buffer-match-p (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 +Optional 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 (apply #'buffer-match-p condition (get-buffer buf) args) (push buf bufs))) bufs)) From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 14 Oct 2023 06:14:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 65797@debbugs.gnu.org, dmitry@gutov.dev, philipk@posteo.net, mattias.engdegard@gmail.com, joseph@breatheoutbreathe.in Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169726403410022 (code B ref 65797); Sat, 14 Oct 2023 06:14:01 +0000 Received: (at 65797) by debbugs.gnu.org; 14 Oct 2023 06:13:54 +0000 Received: from localhost ([127.0.0.1]:47687 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qrXuM-0002ba-19 for submit@debbugs.gnu.org; Sat, 14 Oct 2023 02:13:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47964) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qrXuI-0002bJ-HA for 65797@debbugs.gnu.org; Sat, 14 Oct 2023 02:13:52 -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 ) id 1qrXtp-0004re-7U; Sat, 14 Oct 2023 02:13:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=lBDUBQXqelOAZZPdHMzlyuRRjmgXh7O6hkkTqYl56tM=; b=UBqAlekAL44gc1ZSwewP eS9FdK2iXnFxtkkQcAoQiS1HATCEpVbOqAhYsFdo43Jdoaspdzcr2FBkIJ8tzu+Oc2aI/VO1ZgbOa dI1JMYWc+29iZZMQxQpZRP5tIQxYO2Iw/FZG3jpy9SvQGKtwWd4IKyQzO1iPEflN3XQLeal6o9r5v UPjPlTmOTnErqsO11K3bYWPNj47y1zuSay2uTsDJAcYvZsMcBUGIFh92NBoYPh7SXVFOsPjMiad/y 2l/KCoxbaFJ7/6Pfp8N+ev9B9sDI5Vbfk4ocjGZ3FDEX+VtxrKbtlWTwTRXANrN+SHVaI3h7ay7so Xu8ftAD2GyqkdQ==; Date: Sat, 14 Oct 2023 09:13:19 +0300 Message-Id: <831qdxu3y8.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Stefan Monnier on Fri, 13 Oct 2023 11:57:59 -0400) References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> <874jjqb715.fsf@posteo.net> <0371b6ff-58e4-961e-29c9-4efb65b82185@gutov.dev> <87v8bhtr3k.fsf@breatheoutbreathe.in> <3a282a0b-3efa-ec12-2143-0496ebf6c828@gutov.dev> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Stefan Monnier > Cc: Joseph Turner , Philip Kaludercic > , Mattias Engdegård > , > Eli Zaretskii , 65797@debbugs.gnu.org > Date: Fri, 13 Oct 2023 11:57:59 -0400 > > >> Then how 'bout something like the patch below which changes the > >> `&optional` into an `&rest` but tries to preserve compatibility with the > >> old calling convention. > > Personally, I figured that using &rest would already help with backward > > compatibility to an extent. > > I don't have a good intuition for how important backward compatibility > is here, so I went for the "safe" choice. But maybe we don't need to go > that far. The patch below keeps the same compatibility hack as we > currently have but doesn't add any new compatibility, so it will break > those uses where `buffer-match-p` is called without additional args but > the predicate function still expects 2 args (where the second is always > nil). Indeed, that case seemes extremely unlikely. > > Eli, Stefan, WDYT? TBH, I have no way of assessing the risks in such a change. Do we have to make this change on the release branch? What bad things will happen if we leave emacs-29 with no changes? The discussion thread is quite long, but my personal take from it is that the arguments for making any changes in the current code are largely theoretical and aesthetic. Am I wrong? From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 14 Oct 2023 14:33:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 65797@debbugs.gnu.org, dmitry@gutov.dev, philipk@posteo.net, mattias.engdegard@gmail.com, joseph@breatheoutbreathe.in Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169729392822497 (code B ref 65797); Sat, 14 Oct 2023 14:33:01 +0000 Received: (at 65797) by debbugs.gnu.org; 14 Oct 2023 14:32:08 +0000 Received: from localhost ([127.0.0.1]:50091 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qrfgV-0005qn-Mm for submit@debbugs.gnu.org; Sat, 14 Oct 2023 10:32:08 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:42051) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qrfgT-0005qJ-US for 65797@debbugs.gnu.org; Sat, 14 Oct 2023 10:32:06 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 52EAA10013E; Sat, 14 Oct 2023 10:31:36 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1697293890; bh=LoyPDc7+qPZFGQz56vIW0dC4zAGPmQrRDTEASxOvQJU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=b8LIrLOPIgRxDXFSR8M2PhQyKPUOVuuXxeb/Trk3pt6UMWDAPCCVMJHdfYtWhLxRj 3QRotg3rADkrwnVma+8TKi+PSSFp/erAGjhSKDS75xj36A4QJvledXwrn0h0zuHpkL ahuRBYosiPtf0qEZKEf+b6W4IFbgzI6EjdiUGxuKiuwYSJpHa5qPbv6kKavDjQ4Kjk l7FR63RryKK/o5Fx9qkLIlniWlcw06eYuUdFyL2UqNmAOFiUofaPEybitnVJuIMbJD S2rmLFJr6/f8YI/dccyv4n6+OFXmF3DYhRFyJbpggaff/xVyKHAYZ3utL0PUIU0XgM FCnmdx4BfICfA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id BC18C100061; Sat, 14 Oct 2023 10:31:30 -0400 (EDT) Received: from pastel (unknown [45.72.216.111]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 81BFD1204A6; Sat, 14 Oct 2023 10:31:30 -0400 (EDT) From: Stefan Monnier In-Reply-To: <831qdxu3y8.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 14 Oct 2023 09:13:19 +0300") Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> <874jjqb715.fsf@posteo.net> <0371b6ff-58e4-961e-29c9-4efb65b82185@gutov.dev> <87v8bhtr3k.fsf@breatheoutbreathe.in> <3a282a0b-3efa-ec12-2143-0496ebf6c828@gutov.dev> <831qdxu3y8.fsf@gnu.org> Date: Sat, 14 Oct 2023 10:31: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.163 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > TBH, I have no way of assessing the risks in such a change. Same here, which is why my first patch tried to play it safe. > Do we have to make this change on the release branch? That's another question, indeed. > What bad things will happen if we leave emacs-29 with no changes? Nothing too serious. `buffer-match-p` is new in Emacs-29 and it is documented (in the Texinfo, not in the docstring) to provide a behavior we're unable to implement. So the main aim of the patch is to "fix" this new API so it can be implemented as documented. But the problem is somewhat corner-case, so it's not super urgent to fix it. OTOH, the change is minor and fairly safe. Basically the patch replaces an &optional with a &rest in the API. Besides allowing more cases (which is mostly a non-issue in terms of backward compatibility), this introduces just 1 potential problem: When `buffer-match-p` is called without the formerly optional arg, it will call the predicate functions with one fewer arg than before. The Emacs-29.1 code has a hack that tries to detect when the predicate expects "one fewer arg" and if so calls it without the optional arg, so I just extended that hack to also handle that reverse problem (when there is one fewer arg than expected by the function). If we put it into `master`, I guess we can stick to the original hack and hope the above "just 1 potential problem" won't bite us, but it seems we may as well use the more backward compliant option and put it into `emacs-29`. See below my current "safe" choice. Stefan diff --git a/lisp/subr.el b/lisp/subr.el index 58274987d71..89bf8b44be7 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -7277,13 +7275,13 @@ string-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 +- a predicate function that takes BUFFER-OR-NAME plus ARGS as arguments, 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: @@ -7308,9 +7306,16 @@ buffer-match-p ((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))) + (let ((max (cdr (func-arity condition)))) + (if (if args + ;; Old compatibility code present + ;; and documented in Emacs-29.1. + (and (null (cdr args)) (eq 1 max)) + ;; Backward compatibility with Emacs-29.1. + (or (eq max 'many) (> max 1))) + (apply condition buffer-or-name + (if args '(nil) nil)) + (apply condition buffer-or-name args)))) (`(major-mode . ,mode) (eq (buffer-local-value 'major-mode buffer) @@ -7332,17 +7337,17 @@ buffer-match-p (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 +Optional 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 (apply #'buffer-match-p condition (get-buffer buf) args) (push buf bufs))) bufs)) From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 15 Oct 2023 06:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 65797@debbugs.gnu.org, dmitry@gutov.dev, philipk@posteo.net, mattias.engdegard@gmail.com, joseph@breatheoutbreathe.in Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169735045925117 (code B ref 65797); Sun, 15 Oct 2023 06:15:01 +0000 Received: (at 65797) by debbugs.gnu.org; 15 Oct 2023 06:14:19 +0000 Received: from localhost ([127.0.0.1]:51118 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qruOI-0006X2-Kf for submit@debbugs.gnu.org; Sun, 15 Oct 2023 02:14:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56658) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qruOG-0006Wo-7N for 65797@debbugs.gnu.org; Sun, 15 Oct 2023 02:14:17 -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 ) id 1qruNj-0003Ky-Ag; Sun, 15 Oct 2023 02:13:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Luuc9s8c38vXDrRK1w2lnMzjN2cuYh1tls8aOr8lLks=; b=XYDkGJF8Mdh6 gfNyam/wYmsF8rPVTTFcQ11zb8eISo1+VYU1GYKUaoWd0e2z4fTQHTgqxdccoNT8rzXO2Gs2vxj4A PGwPVp5/wv9zg1AaiaM81SPHxuntchMnLGo2aFEbuV1XY/hnCuEFWj0cbuRcFYaI46cxMIklO5z0T cNruGleRN0CJTLjNON7qK4sWTJMdlNOYqAAT51+sYSeUisCHQQ02DxhsI0K0IHy6IP3BwgKcDktFl lHE7xmYNK/Sg8O2Mez08eqP4xMjz/74fq+gchxagBV5Hqg0qIRMby6NiP3JhP+CcM4HHkrBaS1or1 5o9Ai7EHOYibU6MxUUHuWg==; Date: Sun, 15 Oct 2023 09:13:27 +0300 Message-Id: <831qdwqupk.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Stefan Monnier on Sat, 14 Oct 2023 10:31:29 -0400) References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> <874jjqb715.fsf@posteo.net> <0371b6ff-58e4-961e-29c9-4efb65b82185@gutov.dev> <87v8bhtr3k.fsf@breatheoutbreathe.in> <3a282a0b-3efa-ec12-2143-0496ebf6c828@gutov.dev> <831qdxu3y8.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Stefan Monnier > Cc: dmitry@gutov.dev, joseph@breatheoutbreathe.in, philipk@posteo.net, > mattias.engdegard@gmail.com, 65797@debbugs.gnu.org > Date: Sat, 14 Oct 2023 10:31:29 -0400 > > > What bad things will happen if we leave emacs-29 with no changes? > > Nothing too serious. > `buffer-match-p` is new in Emacs-29 and it is documented (in the Texinfo, > not in the docstring) to provide a behavior we're unable to implement. > So the main aim of the patch is to "fix" this new API so it can be > implemented as documented. > > But the problem is somewhat corner-case, so it's not super urgent to fix it. > > OTOH, the change is minor and fairly safe. > Basically the patch replaces an &optional with a &rest in the API. > Besides allowing more cases (which is mostly a non-issue in terms of > backward compatibility), this introduces just 1 potential problem: > > When `buffer-match-p` is called without the formerly optional arg, it > will call the predicate functions with one fewer arg than before. > > The Emacs-29.1 code has a hack that tries to detect when the predicate > expects "one fewer arg" and if so calls it without the optional arg, so > I just extended that hack to also handle that reverse problem (when > there is one fewer arg than expected by the function). > > If we put it into `master`, I guess we can stick to the original hack > and hope the above "just 1 potential problem" won't bite us, but it > seems we may as well use the more backward compliant option and put it > into `emacs-29`. > > See below my current "safe" choice. Sigh. I guess we can install this on emacs-29 and cross the fingers... From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 16 Oct 2023 16:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 65797@debbugs.gnu.org, dmitry@gutov.dev, philipk@posteo.net, mattias.engdegard@gmail.com, joseph@breatheoutbreathe.in Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16974740298164 (code B ref 65797); Mon, 16 Oct 2023 16:34:01 +0000 Received: (at 65797) by debbugs.gnu.org; 16 Oct 2023 16:33:49 +0000 Received: from localhost ([127.0.0.1]:57695 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qsQXM-00027b-FF for submit@debbugs.gnu.org; Mon, 16 Oct 2023 12:33:49 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:15206) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qsQXH-00027L-H3 for 65797@debbugs.gnu.org; Mon, 16 Oct 2023 12:33:46 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id E1EC58072D; Mon, 16 Oct 2023 12:33:12 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1697473991; bh=GXlcLOU3+KGmLP2U2SKlW/Nrw6lJICclzR4RHIICOmY=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=AbAB3nRzU1HarE+a7C5XynwVTDehmANOqtsJ7Tg1d6WP+bnX7lbWMqPjrd0EnPNx2 y0xG2c+y+bs4THMDR0aj9ZdceJ5IDe3YDLCcfaqe90ntigg+upjCRqSPU/0GbYoaY7 6WsyGCMmuTx2Xdre6z3Ow+ItERiSWTosQoKOPcQBv8K4yeHcVqTtIn+Mxf2sk4AZVX Kdw0E7vGAaqxasC4ptdUYWtUCRf3kuJfKQkCT9JLq0o6/2TMzNe9MCiwdbgXr73o5G X81iOvCtD56PvvOcXHNnKnGF318shNByBKdZf+Q4v1ZOrub+LNq3sqNebLjaX/BlgE uHm9kIxcYsDkg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id F379D80189; Mon, 16 Oct 2023 12:33:10 -0400 (EDT) Received: from alfajor (modemcable005.21-80-70.mc.videotron.ca [70.80.21.5]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id C3C301202B9; Mon, 16 Oct 2023 12:33:10 -0400 (EDT) From: Stefan Monnier In-Reply-To: <831qdwqupk.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 15 Oct 2023 09:13:27 +0300") Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> <874jjqb715.fsf@posteo.net> <0371b6ff-58e4-961e-29c9-4efb65b82185@gutov.dev> <87v8bhtr3k.fsf@breatheoutbreathe.in> <3a282a0b-3efa-ec12-2143-0496ebf6c828@gutov.dev> <831qdxu3y8.fsf@gnu.org> <831qdwqupk.fsf@gnu.org> Date: Mon, 16 Oct 2023 12:33:10 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.304 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain > Sigh. I guess we can install this on emacs-29 and cross the > fingers... I'm not insisting on it. If you think it's risky, let's just have it on `master`. BTW, see below the actual patch, including changes to etc/NEWS, manual, as well as the addition of a runtime warning (without which I can't see how we'll ever be able to get rid of the ugly backward compatibility hack). Stefan --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=buffer-match.patch diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi index 86c47ae7310..a2d0f5687ba 100644 --- a/doc/lispref/buffers.texi +++ b/doc/lispref/buffers.texi @@ -957,10 +957,10 @@ Buffer List 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 +satisfies the specified @code{condition}. Optional arguments +@var{args} are passed to the predicate function in @var{condition}. A valid @var{condition} can be one of the following: @itemize @bullet{} @item @@ -969,23 +969,21 @@ Buffer List 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. It is called with +@var{buffer-or-name} as the first argument followed by @var{args}. @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 +996,14 @@ Buffer List @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/etc/NEWS b/etc/NEWS index 3bd47a0112b..c74b4978afe 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -945,6 +945,13 @@ the file listing's performance is still optimized. * Incompatible Lisp Changes in Emacs 30.1 +** `buffer-match-p and `match-buffers` take `&rest args` +They used to take a single `&optional arg` and were documented to use +an unreliable hack to try and accommodate condition predicates that +don't accept this optional arg. +The new semantics makes no such affordances, tho the code still +supports it (with a warning) for backward compatibility. + ** 'post-gc-hook' runs after updating 'gcs-done' and 'gcs-elapsed'. --- diff --git a/lisp/subr.el b/lisp/subr.el index 58274987d71..0732319ccd0 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -7277,13 +7277,15 @@ string-lines (setq start (length string))))) (nreverse lines)))) -(defun buffer-match-p (condition buffer-or-name &optional arg) +(defvar buffer-match-p--past-warnings nil) + +(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 +- a predicate function that takes BUFFER-OR-NAME plus ARGS as arguments, 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: @@ -7308,9 +7310,18 @@ buffer-match-p ((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))) + (if (cdr args) + ;; New in Emacs>29.1. no need for compatibility hack. + (apply condition buffer-or-name args) + (condition-case-unless-debug err + (apply condition buffer-or-name args) + (wrong-number-of-arguments + (unless (member condition + buffer-match-p--past-warnings) + (message "%s" (error-message-string err)) + (push condition buffer-match-p--past-warnings)) + (apply condition buffer-or-name + (if args nil '(nil))))))) (`(major-mode . ,mode) (eq (buffer-local-value 'major-mode buffer) @@ -7332,17 +7343,17 @@ buffer-match-p (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 +Optional 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 (apply #'buffer-match-p condition (get-buffer buf) args) (push buf bufs))) bufs)) diff --git a/lisp/window.el b/lisp/window.el index 2f9b46ebb0a..12d3fb1dfe7 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -7535,10 +7535,8 @@ display-buffer-alist arguments: a buffer to display and an alist of the same form as ALIST. See `display-buffer' for details. -`display-buffer' scans this alist until it either finds a -matching regular expression or the function specified by a -condition returns non-nil. In any of these cases, it adds the -associated action to the list of actions it will try." +`display-buffer' scans this alist until the CONDITION is satisfied +and adds the associated ACTION to the list of actions it will try." :type `(alist :key-type (choice :tag "Condition" regexp --=-=-=-- From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Joseph Turner Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 16 Oct 2023 20:18:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: dmitry@gutov.dev, Eli Zaretskii , mattias.engdegard@gmail.com, philipk@posteo.net, 65797@debbugs.gnu.org Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.16974874784720 (code B ref 65797); Mon, 16 Oct 2023 20:18:01 +0000 Received: (at 65797) by debbugs.gnu.org; 16 Oct 2023 20:17:58 +0000 Received: from localhost ([127.0.0.1]:58082 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qsU2H-0001E3-A0 for submit@debbugs.gnu.org; Mon, 16 Oct 2023 16:17:57 -0400 Received: from out-210.mta1.migadu.com ([2001:41d0:203:375::d2]:36617) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qsU2D-0001Ds-ID for 65797@debbugs.gnu.org; Mon, 16 Oct 2023 16:17:55 -0400 References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> <874jjqb715.fsf@posteo.net> <0371b6ff-58e4-961e-29c9-4efb65b82185@gutov.dev> <87v8bhtr3k.fsf@breatheoutbreathe.in> <3a282a0b-3efa-ec12-2143-0496ebf6c828@gutov.dev> <831qdxu3y8.fsf@gnu.org> <831qdwqupk.fsf@gnu.org> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=breatheoutbreathe.in; s=key1; t=1697487446; 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=kB6YaXC4op6izQWA21WNRA1GVkT/GWONXjBlM6hJSUg=; b=TIOWQB73qU4fZyluUIBIFZxKrqsNZk29Ue37PzfEfFy1b3c38yreztsU8H38u5g0Cs0vOl iQVEFf3Uec4pe5k+tokjPcQM5/yQtXtE57hevUn7QsHHPnVKYKYmOdLATZGEvWqFgM90BX 8jpAcudkOJ9tKq3TdyEhaMtIFcHrI44= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Joseph Turner Date: Mon, 16 Oct 2023 13:16:32 -0700 In-reply-to: Message-ID: <878r82b9v4.fsf@breatheoutbreathe.in> MIME-Version: 1.0 Content-Type: text/plain X-Migadu-Flow: FLOW_OUT X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Stefan Monnier writes: >> Sigh. I guess we can install this on emacs-29 and cross the >> fingers... > > I'm not insisting on it. > If you think it's risky, let's just have it on `master`. > > BTW, see below the actual patch, including changes to etc/NEWS, manual, > as well as the addition of a runtime warning (without which I can't see > how we'll ever be able to get rid of the ugly backward compatibility > hack). Minor nit: There's a typo in the NEWS file. "tho" should be "though". > Stefan > > [2. text/x-diff; buffer-match.patch] > diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi > index 86c47ae7310..a2d0f5687ba 100644 > --- a/doc/lispref/buffers.texi > +++ b/doc/lispref/buffers.texi > @@ -957,10 +957,10 @@ Buffer List > 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 > +satisfies the specified @code{condition}. Optional arguments > +@var{args} are passed to the predicate function in @var{condition}. A > valid @var{condition} can be one of the following: > @itemize @bullet{} > @item > @@ -969,23 +969,21 @@ Buffer List > 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. It is called with > +@var{buffer-or-name} as the first argument followed by @var{args}. > @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 +996,14 @@ Buffer List > @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/etc/NEWS b/etc/NEWS > index 3bd47a0112b..c74b4978afe 100644 > --- a/etc/NEWS > +++ b/etc/NEWS > @@ -945,6 +945,13 @@ the file listing's performance is still optimized. > > * Incompatible Lisp Changes in Emacs 30.1 > > +** `buffer-match-p and `match-buffers` take `&rest args` > +They used to take a single `&optional arg` and were documented to use > +an unreliable hack to try and accommodate condition predicates that > +don't accept this optional arg. > +The new semantics makes no such affordances, tho the code still > +supports it (with a warning) for backward compatibility. > + > ** 'post-gc-hook' runs after updating 'gcs-done' and 'gcs-elapsed'. > > --- > diff --git a/lisp/subr.el b/lisp/subr.el > index 58274987d71..0732319ccd0 100644 > --- a/lisp/subr.el > +++ b/lisp/subr.el > @@ -7277,13 +7277,15 @@ string-lines > (setq start (length string))))) > (nreverse lines)))) > > -(defun buffer-match-p (condition buffer-or-name &optional arg) > +(defvar buffer-match-p--past-warnings nil) > + > +(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 > +- a predicate function that takes BUFFER-OR-NAME plus ARGS as > arguments, 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: > @@ -7308,9 +7310,18 @@ buffer-match-p > ((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))) > + (if (cdr args) > + ;; New in Emacs>29.1. no need for compatibility hack. > + (apply condition buffer-or-name args) > + (condition-case-unless-debug err > + (apply condition buffer-or-name args) > + (wrong-number-of-arguments > + (unless (member condition > + buffer-match-p--past-warnings) > + (message "%s" (error-message-string err)) > + (push condition buffer-match-p--past-warnings)) > + (apply condition buffer-or-name > + (if args nil '(nil))))))) > (`(major-mode . ,mode) > (eq > (buffer-local-value 'major-mode buffer) > @@ -7332,17 +7343,17 @@ buffer-match-p > (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 > +Optional 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 (apply #'buffer-match-p condition (get-buffer buf) args) > (push buf bufs))) > bufs)) > > diff --git a/lisp/window.el b/lisp/window.el > index 2f9b46ebb0a..12d3fb1dfe7 100644 > --- a/lisp/window.el > +++ b/lisp/window.el > @@ -7535,10 +7535,8 @@ display-buffer-alist > arguments: a buffer to display and an alist of the same form as > ALIST. See `display-buffer' for details. > > -`display-buffer' scans this alist until it either finds a > -matching regular expression or the function specified by a > -condition returns non-nil. In any of these cases, it adds the > -associated action to the list of actions it will try." > +`display-buffer' scans this alist until the CONDITION is satisfied > +and adds the associated ACTION to the list of actions it will try." > :type `(alist :key-type > (choice :tag "Condition" > regexp From unknown Sun Jun 22 17:16:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65797: `buffer-match-p` should not use `func-arity` Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 19 Oct 2023 12:19:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65797 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Monnier Cc: 65797@debbugs.gnu.org, dmitry@gutov.dev, philipk@posteo.net, mattias.engdegard@gmail.com, joseph@breatheoutbreathe.in Received: via spool by 65797-submit@debbugs.gnu.org id=B65797.169771793830620 (code B ref 65797); Thu, 19 Oct 2023 12:19:01 +0000 Received: (at 65797) by debbugs.gnu.org; 19 Oct 2023 12:18:58 +0000 Received: from localhost ([127.0.0.1]:36022 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qtRzO-0007xn-2B for submit@debbugs.gnu.org; Thu, 19 Oct 2023 08:18:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58772) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qtRzK-0007xY-KB for 65797@debbugs.gnu.org; Thu, 19 Oct 2023 08:18:56 -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 ) id 1qtRyn-0000cK-UA; Thu, 19 Oct 2023 08:18:21 -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=LJT9z1ogrHIJ1SSlVMJRvLux1ICvbAta0y0YtXgmzEc=; b=jzexBywP5Si3 R4N9WYZ+QK6rlWLgIifwlYBOsXZzBOT19ukXF9Xn+vVaIdYxMR8KbmYq7wXbEydXAiAbcnbEPqZfY qNv+LHLkFpEyVqsVppM/dgRclBKiXG9h4lRzhOMUyJNQAy0tRb024vZBQlaPCRFlr6SdQ0FyuzPyh 2IIq3nVcGBHHDHulgBt7B5A2P/oiSPRNc0rHohsswEYaV4h+kfSwsKbHtm9ahYB+IRNYoliSzy6oD ljOJsbnpvJAlQ1z+XXaC+TMWg32FD2gNPz9OE0heptZpClIS/4jrftpDNzas6qZW98pFC2FnZslRb wPqNWWYYxobfIwTVtjXcmA==; Date: Thu, 19 Oct 2023 15:18:12 +0300 Message-Id: <83pm1au7p7.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Stefan Monnier on Mon, 16 Oct 2023 12:33:10 -0400) References: <87v8cmct9b.fsf@breatheoutbreathe.in> <87sf7o38g1.fsf_-_@posteo.net> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> <874jjqb715.fsf@posteo.net> <0371b6ff-58e4-961e-29c9-4efb65b82185@gutov.dev> <87v8bhtr3k.fsf@breatheoutbreathe.in> <3a282a0b-3efa-ec12-2143-0496ebf6c828@gutov.dev> <831qdxu3y8.fsf@gnu.org> <831qdwqupk.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Stefan Monnier > Cc: dmitry@gutov.dev, joseph@breatheoutbreathe.in, philipk@posteo.net, > mattias.engdegard@gmail.com, 65797@debbugs.gnu.org > Date: Mon, 16 Oct 2023 12:33:10 -0400 > > > Sigh. I guess we can install this on emacs-29 and cross the > > fingers... > > I'm not insisting on it. > If you think it's risky, let's just have it on `master`. > > BTW, see below the actual patch, including changes to etc/NEWS, manual, > as well as the addition of a runtime warning (without which I can't see > how we'll ever be able to get rid of the ugly backward compatibility > hack). Thanks. I think we should install on master, indeed, and only consider backporting if we hear about serious issues with the current code on emacs-29. > +The new semantics makes no such affordances, tho the code still ^^^ Typo. Also, can we find a better (less rare) word instead of "affordances"? From unknown Sun Jun 22 17:16:00 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Joseph Turner Subject: bug#65797: closed (Re: bug#65797: `buffer-match-p` should not use `func-arity`) Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> X-Gnu-PR-Message: they-closed 65797 X-Gnu-PR-Package: emacs Reply-To: 65797@debbugs.gnu.org Date: Sat, 21 Oct 2023 02:53:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1697856782-12238-1" This is a multi-part message in MIME format... ------------=_1697856782-12238-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #65797: `buffer-match-p` should not use `func-arity` which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 65797@debbugs.gnu.org. --=20 65797: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D65797 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1697856782-12238-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 65797-done) by debbugs.gnu.org; 21 Oct 2023 02:52:46 +0000 Received: from localhost ([127.0.0.1]:41970 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qu26T-0003An-VG for submit@debbugs.gnu.org; Fri, 20 Oct 2023 22:52:45 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:60751) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qu26O-0003AS-Gw for 65797-done@debbugs.gnu.org; Fri, 20 Oct 2023 22:52:40 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 8A19C100187; Fri, 20 Oct 2023 22:52:03 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1697856722; bh=AehXEtL+MO8ZdAbFnVjOnGtuT67U6hk4gCkQnGHkyxE=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=MDJ3a9lcZ/MX9tBhhJrAMs43iZ/1k4EPxrepZAFug0E3FZHcbjNucl7/YOhXO0sJS QgPq2tRXTYqL7rARhgMk0S9dAowmjn+ai6FctOu4KD83tgTy5yFogS6X2AK06HAp5O PoE7NqdNcQoGC/xIuv7MMzmb9wM5aiUk6H1YNSV2PAxNOkA3B0btaBQlDVc/3OBALD hyP4vhUez8huwCoE55r4S+aNYv6YrERTjry6JnkjgXsKlvlcNO1wnc+JEX1cffw+Le JxG1Sf8/S3XchH45OWxEwoJ6bnjR1FzyT0jE8RC4YO2ISqJKo4Jxk15FAiRdG0+tag 9glDolmyfRLaA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 7841D1000A3; Fri, 20 Oct 2023 22:52:02 -0400 (EDT) Received: from pastel (unknown [45.72.216.111]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 3CB9312020A; Fri, 20 Oct 2023 22:52:02 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#65797: `buffer-match-p` should not use `func-arity` In-Reply-To: <83pm1au7p7.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 19 Oct 2023 15:18:12 +0300") Message-ID: References: <87v8cmct9b.fsf@breatheoutbreathe.in> <871qf1rbdo.fsf@posteo.net> <87o7hz4zg2.fsf@posteo.net> <87sf7b8ker.fsf@posteo.net> <87y1h2blxq.fsf@posteo.net> <874jjqb715.fsf@posteo.net> <0371b6ff-58e4-961e-29c9-4efb65b82185@gutov.dev> <87v8bhtr3k.fsf@breatheoutbreathe.in> <3a282a0b-3efa-ec12-2143-0496ebf6c828@gutov.dev> <831qdxu3y8.fsf@gnu.org> <831qdwqupk.fsf@gnu.org> <83pm1au7p7.fsf@gnu.org> Date: Fri, 20 Oct 2023 22:52:00 -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.153 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-done Cc: dmitry@gutov.dev, philipk@posteo.net, 65797-done@debbugs.gnu.org, mattias.engdegard@gmail.com, joseph@breatheoutbreathe.in X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Thanks. I think we should install on master, indeed, and only > consider backporting if we hear about serious issues with the current > code on emacs-29. OK, pushed to `master`. Closing. >> +The new semantics makes no such affordances, tho the code still > ^^^ > Typo. Also, can we find a better (less rare) word instead of > "affordances"? I think I did, yes. Stefan ------------=_1697856782-12238-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 7 Sep 2023 07:55:43 +0000 Received: from localhost ([127.0.0.1]:38458 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qe9rY-0007FQ-DC for submit@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 ) id 1qe9rU-0007FA-LK for submit@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 ) id 1qe9rN-0007lw-QN for bug-gnu-emacs@gnu.org; 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 ) id 1qe9rG-0000PL-UR for bug-gnu-emacs@gnu.org; Thu, 07 Sep 2023 03:55:29 -0400 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com 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 To: bug-gnu-emacs@gnu.org 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@breatheoutbreathe.in> 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@breatheoutbreathe.in; 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@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" 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 # 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 # 3) local-variable-p(foo # nil) apply(local-variable-p (foo # 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)) ------------=_1697856782-12238-1--