Mercurial > hg > xemacs-beta
comparison lisp/utils/redo.el @ 193:f53b5ca2e663 r20-3b23
Import from CVS: tag r20-3b23
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:58:30 +0200 |
parents | 4103f0995bd7 |
children |
comparison
equal
deleted
inserted
replaced
192:9d35321dd38c | 193:f53b5ca2e663 |
---|---|
88 (error "Buffer modified since last undo/redo, cannot redo")) | 88 (error "Buffer modified since last undo/redo, cannot redo")) |
89 (and (or (eq buffer-undo-list pending-undo-list) | 89 (and (or (eq buffer-undo-list pending-undo-list) |
90 (eq (cdr buffer-undo-list) pending-undo-list)) | 90 (eq (cdr buffer-undo-list) pending-undo-list)) |
91 (error "No further undos to redo in this buffer")) | 91 (error "No further undos to redo in this buffer")) |
92 (or (eq (selected-window) (minibuffer-window)) | 92 (or (eq (selected-window) (minibuffer-window)) |
93 (message "Redo...")) | 93 (display-message 'progress "Redo...")) |
94 (let ((modified (buffer-modified-p)) | 94 (let ((modified (buffer-modified-p)) |
95 (recent-save (recent-auto-save-p)) | 95 (recent-save (recent-auto-save-p)) |
96 (old-undo-list buffer-undo-list) | 96 (old-undo-list buffer-undo-list) |
97 (p (cdr buffer-undo-list)) | 97 (p (cdr buffer-undo-list)) |
98 (records-between 0)) | 98 (records-between 0)) |
142 (setq p (cdr p))) | 142 (setq p (cdr p))) |
143 (setq pending-undo-list p))) | 143 (setq pending-undo-list p))) |
144 (and modified (not (buffer-modified-p)) | 144 (and modified (not (buffer-modified-p)) |
145 (delete-auto-save-file-if-necessary recent-save)) | 145 (delete-auto-save-file-if-necessary recent-save)) |
146 (or (eq (selected-window) (minibuffer-window)) | 146 (or (eq (selected-window) (minibuffer-window)) |
147 (message "Redo!")) | 147 (display-message 'progress "Redo!")) |
148 (setq last-buffer-undo-list buffer-undo-list))) | 148 (setq last-buffer-undo-list buffer-undo-list))) |
149 | 149 |
150 (defun undo (&optional arg) | 150 (defun undo (&optional arg) |
151 "Undo some previous changes. | 151 "Undo some previous changes. |
152 Repeat this command to undo more changes. | 152 Repeat this command to undo more changes. |
153 A numeric argument serves as a repeat count." | 153 A numeric argument serves as a repeat count." |
154 (interactive "*p") | 154 (interactive "*p") |
155 (let ((modified (buffer-modified-p)) | 155 (let ((modified (buffer-modified-p)) |
156 (recent-save (recent-auto-save-p))) | 156 (recent-save (recent-auto-save-p))) |
157 (or (eq (selected-window) (minibuffer-window)) | 157 (or (eq (selected-window) (minibuffer-window)) |
158 (message "Undo...")) | 158 (display-message 'progress "Undo...")) |
159 (or (eq last-buffer-undo-list buffer-undo-list) | 159 (or (eq last-buffer-undo-list buffer-undo-list) |
160 (and (null (car-safe buffer-undo-list)) | 160 (and (null (car-safe buffer-undo-list)) |
161 (eq last-buffer-undo-list (cdr-safe buffer-undo-list))) | 161 (eq last-buffer-undo-list (cdr-safe buffer-undo-list))) |
162 (progn (undo-start) | 162 (progn (undo-start) |
163 (undo-more 1))) | 163 (undo-more 1))) |
181 (setq prev list | 181 (setq prev list |
182 list (cdr list)))) | 182 list (cdr list)))) |
183 (and modified (not (buffer-modified-p)) | 183 (and modified (not (buffer-modified-p)) |
184 (delete-auto-save-file-if-necessary recent-save))) | 184 (delete-auto-save-file-if-necessary recent-save))) |
185 (or (eq (selected-window) (minibuffer-window)) | 185 (or (eq (selected-window) (minibuffer-window)) |
186 (message "Undo!")) | 186 (display-message 'progress "Undo!")) |
187 (setq last-buffer-undo-list buffer-undo-list)) | 187 (setq last-buffer-undo-list buffer-undo-list)) |
188 | 188 |
189 ;;; redo.el ends here | 189 ;;; redo.el ends here |