[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/ses.el
From: |
Richard M . Stallman |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/ses.el |
Date: |
Sat, 29 Jan 2005 12:31:32 -0500 |
Index: emacs/lisp/ses.el
diff -c emacs/lisp/ses.el:1.12 emacs/lisp/ses.el:1.13
*** emacs/lisp/ses.el:1.12 Wed Jan 19 23:46:06 2005
--- emacs/lisp/ses.el Sat Jan 29 17:31:32 2005
***************
*** 1279,1316 ****
;; Undo control
;;----------------------------------------------------------------------------
! (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)))))))
(defun ses-begin-change ()
! "For undo, remember current buffer-position before we start changing hidden
! stuff."
(let ((inhibit-read-only t))
(insert-and-inherit "X")
(delete-region (1- (point)) (point))))
--- 1279,1317 ----
;; Undo control
;;----------------------------------------------------------------------------
! ;; 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)))))))
(defun ses-begin-change ()
! "For undo, remember point before we start changing hidden stuff."
(let ((inhibit-read-only t))
(insert-and-inherit "X")
(delete-region (1- (point)) (point))))