GNU bug report logs - #64989
29.1; Comment or uncomment lines in elisp-mode will show message in minibuffer

Previous Next

Package: emacs;

Reported by: Eason Huang <aqua0210 <at> foxmail.com>

Date: Tue, 1 Aug 2023 11:15:01 UTC

Severity: normal

Merged with 65246

Found in version 29.1

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 64989 in the body.
You can then email your comments to 64989 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#64989; Package emacs. (Tue, 01 Aug 2023 11:15:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Eason Huang <aqua0210 <at> foxmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 01 Aug 2023 11:15:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Eason Huang <aqua0210 <at> foxmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.1; Comment or uncomment lines in elisp-mode will show message in
 minibuffer
Date: Tue, 01 Aug 2023 19:13:59 +0800
Hello Emacs,

When update to the new released Emacs 29.1, I found that when comment or
uncomment lines in emacs-lisp-mode will show message in minibuffer as
below:
```
combine-change-calls: buffer-undo-list broken
```
Steps to reproduce:
1. create a test.el file with any Elisp code. such as:
```
(message "Test")
```
2. start emacs and open the test.el file with `emacs -Q ~/test.el`
3. Use C-x C-; (comment-line) to comment the code in test.el
4. Now you will see the message mentioned above.

This issue also happened on Emacs 29.1 on Windows OS.

----
Best regard, Eason Huang


In GNU Emacs 29.1 (build 1, x86_64-apple-darwin22.6.0, NS appkit-2299.70
 Version 13.5 (Build 22G74), git sha1 a9b28224af0) of 2023-07-30 built on macbook
Windowing system distributor 'Apple', version 10.3.2299
System Description:  macOS 13.5

Configured using:
 'configure --with-native-compilation=aot --without-dbus
 'CPPFLAGS=-I/opt/local/include
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
 'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath
 /opt/local/lib/gcc12
 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
 -arch x86_64''

Configured features:
ACL GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM ZLIB

Important settings:
  value of $LC_CTYPE: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: ELisp/l

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils vc-git diff-mode easy-mmode
vc-dispatcher shortdoc text-property-search help-fns radix-tree
cl-loaddefs comp comp-cstr warnings icons subr-x rx cl-seq cl-macs gv
cl-extra help-mode bytecomp byte-compile cl-lib rmc iso-transl tooltip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util
term/common-win 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 kqueue cocoa ns lcms2 multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 91885 14315)
 (symbols 48 7745 3)
 (strings 32 22830 1629)
 (string-bytes 1 698877)
 (vectors 16 17037)
 (vector-slots 8 356967 18443)
 (floats 8 85 110)
 (intervals 56 538 16)
 (buffers 984 14))





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#64989; Package emacs. (Tue, 01 Aug 2023 13:21:02 GMT) Full text and rfc822 format available.

Message #8 received at 64989 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Eason Huang <aqua0210 <at> foxmail.com>,
 Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 64989 <at> debbugs.gnu.org
Subject: Re: bug#64989: 29.1;
 Comment or uncomment lines in elisp-mode will show message in
 minibuffer
Date: Tue, 01 Aug 2023 16:20:20 +0300
> From: Eason Huang <aqua0210 <at> foxmail.com>
> Date: Tue, 01 Aug 2023 19:13:59 +0800
> 
> Hello Emacs,
> 
> When update to the new released Emacs 29.1, I found that when comment or
> uncomment lines in emacs-lisp-mode will show message in minibuffer as
> below:
> ```
> combine-change-calls: buffer-undo-list broken
> ```
> Steps to reproduce:
> 1. create a test.el file with any Elisp code. such as:
> ```
> (message "Test")
> ```
> 2. start emacs and open the test.el file with `emacs -Q ~/test.el`
> 3. Use C-x C-; (comment-line) to comment the code in test.el
> 4. Now you will see the message mentioned above.

Thanks.

Stefan, I think this is due to the commit below:

| Author:     Stefan Monnier <monnier <at> iro.umontreal.ca>
| AuthorDate: Fri Jan 13 17:38:04 2023 -0500
| Commit:     Stefan Monnier <monnier <at> iro.umontreal.ca>
| CommitDate: Fri Jan 13 17:38:04 2023 -0500
|
|     * lisp/subr.el (combine-change-calls-1): Fix bug#60467
|
|     Don't stop at timestamps.  Strip them for now, to be on the safe side.
|     Don't merge into `master` where we'll use a better fix.

My "partial bisecting" indicates that the bug was introduced between
Dec 31, 2022 and Jan 31, 2023, and the above is the only commit
in-between that could matter.

If indeed this is the culprit, can we perhaps backport the "better
fix" from master to the emacs-29 branch?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#64989; Package emacs. (Sat, 12 Aug 2023 06:44:01 GMT) Full text and rfc822 format available.

Message #11 received at 64989 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: monnier <at> iro.umontreal.ca
Cc: aqua0210 <at> foxmail.com, 64989 <at> debbugs.gnu.org
Subject: Re: bug#64989: 29.1;
 Comment or uncomment lines in elisp-mode will show message in
 minibuffer
Date: Sat, 12 Aug 2023 09:43:54 +0300
Ping!  Stefan, any suggestions?

> Cc: 64989 <at> debbugs.gnu.org
> Date: Tue, 01 Aug 2023 16:20:20 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> 
> > From: Eason Huang <aqua0210 <at> foxmail.com>
> > Date: Tue, 01 Aug 2023 19:13:59 +0800
> > 
> > Hello Emacs,
> > 
> > When update to the new released Emacs 29.1, I found that when comment or
> > uncomment lines in emacs-lisp-mode will show message in minibuffer as
> > below:
> > ```
> > combine-change-calls: buffer-undo-list broken
> > ```
> > Steps to reproduce:
> > 1. create a test.el file with any Elisp code. such as:
> > ```
> > (message "Test")
> > ```
> > 2. start emacs and open the test.el file with `emacs -Q ~/test.el`
> > 3. Use C-x C-; (comment-line) to comment the code in test.el
> > 4. Now you will see the message mentioned above.
> 
> Thanks.
> 
> Stefan, I think this is due to the commit below:
> 
> | Author:     Stefan Monnier <monnier <at> iro.umontreal.ca>
> | AuthorDate: Fri Jan 13 17:38:04 2023 -0500
> | Commit:     Stefan Monnier <monnier <at> iro.umontreal.ca>
> | CommitDate: Fri Jan 13 17:38:04 2023 -0500
> |
> |     * lisp/subr.el (combine-change-calls-1): Fix bug#60467
> |
> |     Don't stop at timestamps.  Strip them for now, to be on the safe side.
> |     Don't merge into `master` where we'll use a better fix.
> 
> My "partial bisecting" indicates that the bug was introduced between
> Dec 31, 2022 and Jan 31, 2023, and the above is the only commit
> in-between that could matter.
> 
> If indeed this is the culprit, can we perhaps backport the "better
> fix" from master to the emacs-29 branch?




Merged 64989 65246. Request was from Eli Zaretskii <eliz <at> gnu.org> to control <at> debbugs.gnu.org. (Sat, 12 Aug 2023 13:40:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#64989; Package emacs. (Wed, 16 Aug 2023 16:13:01 GMT) Full text and rfc822 format available.

Message #16 received at 64989 <at> debbugs.gnu.org (full text, mbox):

From: Gregory Heytings <gregory <at> heytings.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: aqua0210 <at> foxmail.com, monnier <at> iro.umontreal.ca, 64989 <at> debbugs.gnu.org
Subject: Re: bug#64989: 29.1; Comment or uncomment lines in elisp-mode will
 show message in minibuffer
Date: Wed, 16 Aug 2023 16:12:15 +0000
As mentioned in bug#60467, this is the same bug.  I suggest backporting 
d622602452 to emacs-29 once you are confident enough that it does not 
break anything (if it does indeed not break anything!).





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#64989; Package emacs. (Thu, 24 Aug 2023 06:20:02 GMT) Full text and rfc822 format available.

Message #19 received at 64989 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: monnier <at> iro.umontreal.ca
Cc: aqua0210 <at> foxmail.com, 64989 <at> debbugs.gnu.org
Subject: Re: bug#64989: 29.1;
 Comment or uncomment lines in elisp-mode will show message in
 minibuffer
Date: Thu, 24 Aug 2023 09:19:41 +0300
Ping! Ping!

> Cc: aqua0210 <at> foxmail.com, 64989 <at> debbugs.gnu.org
> Date: Sat, 12 Aug 2023 09:43:54 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> 
> Ping!  Stefan, any suggestions?
> 
> > Cc: 64989 <at> debbugs.gnu.org
> > Date: Tue, 01 Aug 2023 16:20:20 +0300
> > From: Eli Zaretskii <eliz <at> gnu.org>
> > 
> > > From: Eason Huang <aqua0210 <at> foxmail.com>
> > > Date: Tue, 01 Aug 2023 19:13:59 +0800
> > > 
> > > Hello Emacs,
> > > 
> > > When update to the new released Emacs 29.1, I found that when comment or
> > > uncomment lines in emacs-lisp-mode will show message in minibuffer as
> > > below:
> > > ```
> > > combine-change-calls: buffer-undo-list broken
> > > ```
> > > Steps to reproduce:
> > > 1. create a test.el file with any Elisp code. such as:
> > > ```
> > > (message "Test")
> > > ```
> > > 2. start emacs and open the test.el file with `emacs -Q ~/test.el`
> > > 3. Use C-x C-; (comment-line) to comment the code in test.el
> > > 4. Now you will see the message mentioned above.
> > 
> > Thanks.
> > 
> > Stefan, I think this is due to the commit below:
> > 
> > | Author:     Stefan Monnier <monnier <at> iro.umontreal.ca>
> > | AuthorDate: Fri Jan 13 17:38:04 2023 -0500
> > | Commit:     Stefan Monnier <monnier <at> iro.umontreal.ca>
> > | CommitDate: Fri Jan 13 17:38:04 2023 -0500
> > |
> > |     * lisp/subr.el (combine-change-calls-1): Fix bug#60467
> > |
> > |     Don't stop at timestamps.  Strip them for now, to be on the safe side.
> > |     Don't merge into `master` where we'll use a better fix.
> > 
> > My "partial bisecting" indicates that the bug was introduced between
> > Dec 31, 2022 and Jan 31, 2023, and the above is the only commit
> > in-between that could matter.
> > 
> > If indeed this is the culprit, can we perhaps backport the "better
> > fix" from master to the emacs-29 branch?
> 
> 
> 
> 




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#64989; Package emacs. (Sat, 26 Aug 2023 15:10:02 GMT) Full text and rfc822 format available.

Message #22 received at 64989 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Eason Huang <aqua0210 <at> foxmail.com>, 64989 <at> debbugs.gnu.org
Subject: Re: bug#64989: 29.1; Comment or uncomment lines in elisp-mode will
 show message in minibuffer
Date: Sat, 26 Aug 2023 11:09:21 -0400
>> When update to the new released Emacs 29.1, I found that when comment or
>> uncomment lines in emacs-lisp-mode will show message in minibuffer as
>> below:
>> ```
>> combine-change-calls: buffer-undo-list broken
>> ```
>> Steps to reproduce:
>> 1. create a test.el file with any Elisp code. such as:
>> ```
>> (message "Test")
>> ```
>> 2. start emacs and open the test.el file with `emacs -Q ~/test.el`
>> 3. Use C-x C-; (comment-line) to comment the code in test.el
>> 4. Now you will see the message mentioned above.
>
> Thanks.
>
> Stefan, I think this is due to the commit below:

Yup.  The message is just wrong in this case: (cdr ptr) is nil simply
because `buffer-undo-list` was nil initially, not because the
`buffer-undo-list` has been shortened by the GC.

> If indeed this is the culprit, can we perhaps backport the "better
> fix" from master to the emacs-29 branch?

That would work as well.  The patch below should do the trick, tho, if
you prefer to keep changes to a minimum.


        Stefan


diff --git a/lisp/subr.el b/lisp/subr.el
index 28473f1d38c..ec30637b526 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -5002,7 +5002,7 @@ combine-change-calls-1
 			;; Don't include a timestamp entry.
 			(setcdr ptr (cddr ptr))
 		      (setq ptr (cdr ptr))))
-		  (unless (cdr ptr)
+		  (unless (or (cdr ptr) (null old-bul))
 		    (message "combine-change-calls: buffer-undo-list broken"))
 		  (setcdr ptr nil)
 		  (push ap-elt buffer-undo-list)





Reply sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
You have taken responsibility. (Mon, 28 Aug 2023 16:14:02 GMT) Full text and rfc822 format available.

Notification sent to Eason Huang <aqua0210 <at> foxmail.com>:
bug acknowledged by developer. (Mon, 28 Aug 2023 16:14:02 GMT) Full text and rfc822 format available.

Message #27 received at 64989-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Eason Huang <aqua0210 <at> foxmail.com>, 64989-done <at> debbugs.gnu.org
Subject: Re: bug#64989: 29.1; Comment or uncomment lines in elisp-mode will
 show message in minibuffer
Date: Mon, 28 Aug 2023 12:13:24 -0400
> That would work as well.  The patch below should do the trick, tho, if
> you prefer to keep changes to a minimum.

Pushed to `emacs-29`.


        Stefan





Reply sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
You have taken responsibility. (Mon, 28 Aug 2023 16:14:03 GMT) Full text and rfc822 format available.

Notification sent to Rittwik Chatterjee <rittwik <at> gmail.com>:
bug acknowledged by developer. (Mon, 28 Aug 2023 16:14:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#64989; Package emacs. (Mon, 28 Aug 2023 16:37:02 GMT) Full text and rfc822 format available.

Message #35 received at 64989-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: aqua0210 <at> foxmail.com, 64989-done <at> debbugs.gnu.org
Subject: Re: bug#64989: 29.1; Comment or uncomment lines in elisp-mode will
 show message in minibuffer
Date: Mon, 28 Aug 2023 19:35:23 +0300
> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Cc: Eason Huang <aqua0210 <at> foxmail.com>,  64989-done <at> debbugs.gnu.org
> Date: Mon, 28 Aug 2023 12:13:24 -0400
> 
> > That would work as well.  The patch below should do the trick, tho, if
> > you prefer to keep changes to a minimum.
> 
> Pushed to `emacs-29`.

Thanks!




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 26 Sep 2023 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 228 days ago.

Previous Next


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