|
From: | Gregory Heytings |
Subject: | bug#60467: 30.0.50; primitive-undo: Changes to be undone by function different from announced |
Date: | Wed, 04 Jan 2023 00:16:39 +0000 |
I don't even understand what this is supposed to do.Yet you happily threw it away :-(Because there are no such precautions elsewhere in the code, and the comment above ("In case garbage collection has removed OLD-BUL") does not explain what its purpose is. A few lines below, old-bul is used without such a precaution. Of course, if it has a purpose, it's okay to keep it.
I didn't remember the main reason why I removed that (cdr ptr). The reason is not only that the comment above it is wrong, but also that this (cdr ptr) condition itself is wrong: it makes that loop stop when the last element of the buffer-undo-list is reached. When buffer-undo-list is initially nil, (funcall body) adds a number of entries in buffer-undo-list, and there is no reason to exit that loop without processing its last element.
[Prev in Thread] | Current Thread | [Next in Thread] |