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 bug report
#66218: 30.0.50; edebug-instrument-function off by one
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 60768 <at> debbugs.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)]
> 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.
[Message part 3 (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
This bug report was last modified 1 year and 218 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.