>>414
dolist の中から return で脱出できたような。
けれど自分ならこうするかな。

(defadvice undo (after flash activate)
  (loop for (beg . end) in buffer-undo-list
        if (and (integerp beg)
                (integerp end))
        return (let ((ol (make-overlay beg end)))
                 (unwind-protect
                     (progn
                       (overlay-put ol 'face 'highlight)
                       (sit-for 0.5))
                   (delete-overlay ol)))
        else when (stringp beg)
        return nil))