> undo-in-region does not implement undo-only, indeed. I think the way > to implement undo-only is to change undo-make-selective-list so it > also skips redo entries (depending on undo-no-redo, obviously) using > the above while loop. I don't see how that's a correct solution in the face of arbitrary regional undos and prefix args. Would you have the redo records resulting from regional undos still map to t in the undo-equiv-table? How does your solution account for redo records that undid several because of prefix-arg? undo-equiv-table only maps to the change group after the last undone record without information about the (1- prefix-arg) others. My proposition accounts for these considerations and I think is correct. If not I hope to find out when I start hacking it.