(undo-more): restore defadvice, but only the part that allows changes
outside the restricted area of the buffer.
This commit is contained in:
42
lisp/ses.el
42
lisp/ses.el
@@ -1281,34 +1281,20 @@ to each symbol."
|
||||
|
||||
;; This should be unnecessary, because the feature is now built in.
|
||||
|
||||
;;; (defadvice undo-more (around ses-undo-more activate preactivate)
|
||||
;;; "Define a meaning for conses in buffer-undo-list whose car is a symbol
|
||||
;;; other than t or nil. To undo these, apply the car--a function--to the
|
||||
;;; cdr--its arglist."
|
||||
;;; (let ((ses-count (ad-get-arg 0)))
|
||||
;;; (catch 'undo
|
||||
;;; (dolist (ses-x pending-undo-list)
|
||||
;;; (unless ses-x
|
||||
;;; ;;End of undo boundary
|
||||
;;; (setq ses-count (1- ses-count))
|
||||
;;; (if (<= ses-count 0)
|
||||
;;; ;;We've seen enough boundaries - stop undoing
|
||||
;;; (throw 'undo nil)))
|
||||
;;; (and (consp ses-x) (symbolp (car ses-x)) (fboundp (car ses-x))
|
||||
;;; ;;Undo using apply
|
||||
;;; (apply (car ses-x) (cdr ses-x)))))
|
||||
;;; (if (not (eq major-mode 'ses-mode))
|
||||
;;; ad-do-it
|
||||
;;; ;;Here is some extra code for SES mode.
|
||||
;;; (setq ses--deferred-narrow
|
||||
;;; (or ses--deferred-narrow (ses-narrowed-p)))
|
||||
;;; (widen)
|
||||
;;; (condition-case x
|
||||
;;; ad-do-it
|
||||
;;; (error
|
||||
;;; ;;Restore narrow if appropriate
|
||||
;;; (ses-command-hook)
|
||||
;;; (signal (car x) (cdr x)))))))
|
||||
(defadvice undo-more (around ses-undo-more activate preactivate)
|
||||
"For SES mode, allow undo outside of narrowed buffer range."
|
||||
(if (not (eq major-mode 'ses-mode))
|
||||
ad-do-it
|
||||
;;Here is some extra code for SES mode.
|
||||
(setq ses--deferred-narrow
|
||||
(or ses--deferred-narrow (ses-narrowed-p)))
|
||||
(widen)
|
||||
(condition-case x
|
||||
ad-do-it
|
||||
(error
|
||||
;;Restore narrow if appropriate
|
||||
(ses-command-hook)
|
||||
(signal (car x) (cdr x))))))
|
||||
|
||||
(defun ses-begin-change ()
|
||||
"For undo, remember point before we start changing hidden stuff."
|
||||
|
||||
Reference in New Issue
Block a user