emacs-diffs
[Top][All Lists]
Advanced

[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))))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]