GNU bug report logs -
#66218
29.1.50; `beginning-of-defun' jumps to wrong position in `emacs-lisp-mode'
Previous Next
Reported by: Jens Schmidt <jschmidt4gnu <at> vodafonemail.de>
Date: Tue, 26 Sep 2023 19:42:01 UTC
Severity: normal
Tags: patch
Merged with 60768
Found in versions 29.1.50, 30.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sat, 14 Oct 2023 11:03:37 +0300
with message-id <83edhxsk9y.fsf <at> gnu.org>
and subject line Re: bug#66218: 29.1.50; `beginning-of-defun' jumps to wrong position in `emacs-lisp-mode'
has caused the debbugs.gnu.org bug report #66218,
regarding 30.0.50; edebug-instrument-function off by one
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
66218: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66218
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Reproduction steps:
1. Save the following elisp to /tmp/test.el:
--8<---------------cut here---------------start------------->8---
;; -*- lexical-binding: t; -*-
;;;###autoload
(defun one ()
"ONE"
(1+ 0))
(defun two ()
"TWO"
(1+ (one)))
(defun three ()
"THREE"
(1+ (two)))
(provide 'test)
--8<---------------cut here---------------end--------------->8---
2. Run emacs from the command line with the following:
emacs -Q --batch -l /tmp/test.el --eval "(progn (require 'edebug)
(edebug-instrument-function #'one))"
Expected output: Edebug: one
Actual output: Edebug: two
If you repeat the test with an additional autoload cookie added
above function "two", function one is correctly instrumented.
If you repeat it with an autoload cookie only above function
"three", function two is, incorrectly, instrumented.
My hunch is find-function-search-for-symbol being thrown off
somehow.
Haven't had time to debug farther yet, though.
In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.36, cairo version 1.17.6) of 2023-01-08 built on nbook
Repository revision: 5d1e14bd8b9a11ab860937d3ab97248ddeef30b1
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version
11.0.12101005
System Description: Arch Linux
Configured using:
'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
--localstatedir=/var --mandir=/usr/share/man
--with-gameuser=:games
--with-modules --without-libotf --without-m17n-flt
--without-gconf
--with-native-compilation=yes --with-xinput2
--with-x-toolkit=gtk3
--without-xaw3d --with-sound=no --with-tree-sitter --without-gpm
--without-compress-install
'--program-transform-name=s/\([ec]tags\)/\1.emacs/'
'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt
-fexceptions
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security
-fstack-clash-protection -fcf-protection'
LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ
JPEG JSON
LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PNG
RSVG SECCOMP SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER
WEBP
X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB
Important settings:
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
[Message part 3 (message/rfc822, inline)]
> From: Jens Schmidt <jschmidt4gnu <at> vodafonemail.de>
> Cc: 66218 <at> debbugs.gnu.org
> Date: Sat, 07 Oct 2023 22:31:50 +0200
>
> If that does not convince you for Emacs 29, fine with me, let's go for
> master, then. Updated patch attached.
>
> Thanks.
>
> Just for the record: A work-around on Emacs 29 would be to set
> `syntax-propertize-function' to nil in `emacs-lisp-mode'. Or to advise
> function `syntax-ppss' to save match data.
Thanks, installed on master, and closing the bug.
This bug report was last modified 1 year and 272 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.