GNU bug report logs -
#79200
31.0.50; Duplicated elements for '#<marker at' in buffer-undo-list
Previous Next
Full log
View this message in rfc822 format
> Cc: 79200 <at> debbugs.gnu.org, oscarfv <at> telefonica.net, monnier <at> iro.umontreal.ca,
> me <at> pengjiz.com
> From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
> Date: Sat, 09 Aug 2025 15:33:56 +0200
>
> Gerd Möllmann <gerd.moellmann <at> gmail.com> writes:
>
> > Another thought: the format_mode_line_unwind is only called from
> > display_mode_line (redisplay) and format-mode-line. Why does soemthing
> > land in the undo list at all? DOes that make sense at all?
>
> jit-lock uses this, which turns undo recording off
>
> subr.el:
> 5253 (defmacro with-silent-modifications (&rest body)
> 5254 "Execute BODY, pretending it does not modify the buffer.
> 5255 This macro is typically used around modifications of
> 5256 text properties that do not really affect the buffer's content.
> 5257 If BODY performs real modifications to the buffer's text, other
> 5258 than cosmetic ones, undo data may become corrupted.
> 5259
> 5260 This macro will run BODY normally, but doesn't count its buffer
> 5261 modifications as being buffer modifications. This affects things
> 5262 like `buffer-modified-p', checking whether the file is locked by
> 5263 someone else, running buffer modification hooks, and other things
> 5264 of that nature."
> 5265 (declare (debug t) (indent 0))
> 5266 (let ((modified (make-symbol "modified")))
> 5267 `(let* ((,modified (buffer-modified-p))
> 5268 (buffer-undo-list t)
> ^^^^^^^^^^^^^^^^^^
> Maybe there specbinds missing somewhere.
I don't think so. The additions to buffer-undo-list are because of
deleting some text, and that cannot be disabled. The problem we see
is because there are many-many markers where the text is deleted.
This bug report was last modified today.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.