X-Loop: help-debbugs@HIDDEN Subject: bug#72478: 29.2.50; down-list isn't customizable by modes like backward-up-list Resent-From: Spencer Baugh <sbaugh@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Mon, 05 Aug 2024 15:30:02 +0000 Resent-Message-ID: <handler.72478.B.17228717643492 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 72478 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 72478 <at> debbugs.gnu.org Cc: Lars Ingebrigtsen <larsi@HIDDEN> X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.17228717643492 (code B ref -1); Mon, 05 Aug 2024 15:30:02 +0000 Received: (at submit) by debbugs.gnu.org; 5 Aug 2024 15:29:24 +0000 Received: from localhost ([127.0.0.1]:59303 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sazeG-0000uG-8S for submit <at> debbugs.gnu.org; Mon, 05 Aug 2024 11:29:24 -0400 Received: from lists.gnu.org ([209.51.188.17]:40040) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <sbaugh@HIDDEN>) id 1sazeE-0000u8-8Q for submit <at> debbugs.gnu.org; Mon, 05 Aug 2024 11:29:23 -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 <sbaugh@HIDDEN>) id 1sazdr-0004LW-En for bug-gnu-emacs@HIDDEN; Mon, 05 Aug 2024 11:28:59 -0400 Received: from mxout6.mail.janestreet.com ([64.215.233.21]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <sbaugh@HIDDEN>) id 1sazdn-0006eP-Vi for bug-gnu-emacs@HIDDEN; Mon, 05 Aug 2024 11:28:58 -0400 From: Spencer Baugh <sbaugh@HIDDEN> Date: Mon, 05 Aug 2024 11:28:48 -0400 Message-ID: <iera5hrugy7.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=waixah; t=1722871731; bh=8AOYnyNUTIQDpK4AotiY1lKgomvDoVoi8AZEczflkRs=; h=From:To:Cc:Subject:Date; b=J8CFfFjfdvdxo0DbAZpJEJ/9shTazCXW2Z33daUdWP5oiEU+h8/KJNx2GQeJnxeQs fa3KaAUHvNhZWLDGwYEJOiCcDb/fdcttdi2shkBP8eQ+5yLP9FjMdoSSbq+2/cvw5Q d4i6f2D5jCeIxMp+HhC1iT7hltU+uyV2qOPnUrf6WNWjEemXwRecVnEi4/znDmaBcx 6rPLPQ9iJeIWpCok0D8l14eRNrPXK3FfFDfpTOsfgGF6Uw1Dp8GTTCyD2/VIuOE47V +LPBSqST36dJSwFs6VV9T18g+tDQRWcCNUvwlwmB6/ko0za+qr70yK/0v+ghlbIqd5 l4O+6c/qg0EBA== Received-SPF: pass client-ip=64.215.233.21; envelope-from=sbaugh@HIDDEN; helo=mxout6.mail.janestreet.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_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.4 (--) The docstrings of both backward-up-list (C-M-u) and down-list (C-M-d) say: "This command will also work on other parentheses-like expressions defined by the current language mode." However, this is misleading: - backward-up-list (and up-list) will use forward-sexp-function if that variable is non-nil, and otherwise use scan-lists - down-list does not check forward-sexp-function and always uses scan-lists. So, the two commands can have significantly different behavior in modes that configure forward-sexp-function, in particular in modes which give forward-sexp-function awareness of language-specific syntax which scan-lists can't handle. For example, python-mode sets forward-sexp-function to a function which can operate on both lists and Python syntax expressions. This results in backward-up-list and down-list having completely different behavior from each other. I suggest we should take one of these options: A. Update the docstring of up-list/down-list to indicate that while they're customizable by the mode, they aren't likely to work the same if they are customized by the mode. B. Add a down-list-function buffer-local variable so that modes which are already configuring forward-sexp-function can also configure down-list. C. Add a scan-expressions-function buffer-local variable, and have both backward-up-list and down-list check this variable. Again, modes which are already configuring forward-sexp-function to work with language-specific syntax can configure this variable. I personally suggests C. My major-mode currently implements forward-sexp-function, and it would be easy for it to also set scan-expressions-function. This would also fit well with tree-sitter-based modes: a tree-sitter based mode could easily have a tree-sitter-based scan-expressions-function. I'm interested in implementing this scan-expressions-function variable, if that sounds like a reasonable solution. In GNU Emacs 29.2.50 (build 2, x86_64-pc-linux-gnu, X toolkit, cairo version 1.15.12, Xaw scroll bars) of 2024-08-04 built on igm-qws-hydra336 Windowing system distributor 'The X.Org Foundation', version 11.0.12011000 System Description: Rocky Linux 8.10 (Green Obsidian) Configured using: 'configure --config-cache --with-x-toolkit=lucid --without-gpm --without-gconf --without-selinux --without-imagemagick --with-modules --with-gif=no --with-cairo --with-rsvg --without-compress-install --with-tree-sitter --prefix=/j/office/app/emacs/store/20240804-224533 PKG_CONFIG_PATH=/usr/local/home/garnish/libtree-sitter/0.22.6-1/lib/pkgconfig/' Configured features: CAIRO DBUS FREETYPE GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LIBSYSTEMD LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11 XDBE XIM XINPUT2 XPM LUCID ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Fundamental
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Spencer Baugh <sbaugh@HIDDEN> Subject: bug#72478: Acknowledgement (29.2.50; down-list isn't customizable by modes like backward-up-list) Message-ID: <handler.72478.B.17228717643492.ack <at> debbugs.gnu.org> References: <iera5hrugy7.fsf@HIDDEN> X-Gnu-PR-Message: ack 72478 X-Gnu-PR-Package: emacs Reply-To: 72478 <at> debbugs.gnu.org Date: Mon, 05 Aug 2024 15:30:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 72478 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 72478: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D72478 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.