# HG changeset patch # User Kim F. Storm # Date 1107985752 0 # Node ID bbd61dfcbd2cf201f7f919b444070488d6d2a506 # Parent fc21b849d45c211433e92f3e06c09012a4a22a93 (Fprimitive_undo): Check that undo function does not switch buffer. diff -r fc21b849d45c -r bbd61dfcbd2c src/undo.c --- a/src/undo.c Wed Feb 09 21:48:36 2005 +0000 +++ b/src/undo.c Wed Feb 09 21:49:12 2005 +0000 @@ -557,6 +557,8 @@ else if (EQ (car, Qapply)) { /* Element (apply FUN . ARGS) means call FUN to undo. */ + struct buffer *save_buffer = current_buffer; + car = Fcar (cdr); cdr = Fcdr (cdr); if (INTEGERP (car)) @@ -582,6 +584,9 @@ } else apply1 (car, cdr); + + if (save_buffer != current_buffer) + error ("Undo function switched buffer"); did_apply = 1; } else if (STRINGP (car) && INTEGERP (cdr))