diff options
author | Richard M. Stallman <rms@gnu.org> | 2004-12-21 11:37:52 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2004-12-21 11:37:52 +0000 |
commit | b6e8e8e55dba10595b059df3638a85b10c3d3d1f (patch) | |
tree | d069f78d548cfa2678d3ea4bef52f49f599f8a49 /lisp/simple.el | |
parent | d2acc90a44d940a97134dea2a4c9c1a19ccc06da (diff) | |
download | emacs-b6e8e8e55dba10595b059df3638a85b10c3d3d1f.tar.gz |
(undo-outer-limit-truncate): New function.
(undo-outer-limit-function): Use undo-outer-limit-truncate.
Diffstat (limited to 'lisp/simple.el')
-rw-r--r-- | lisp/simple.el | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lisp/simple.el b/lisp/simple.el index 3c9e8c72428..9f1bde393ee 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -1484,6 +1484,17 @@ is not *inside* the region START...END." (t '(0 . 0))) '(0 . 0))) + +;; When the first undo batch in an undo list is longer than undo-outer-limit, +;; this function gets called to ask the user what to do. +;; Garbage collection is inhibited around the call, +;; so it had better not do a lot of consing. +(setq undo-outer-limit-function 'undo-outer-limit-truncate) +(defun undo-outer-limit-truncate (size) + (if (yes-or-no-p (format "Buffer %s undo info is %d bytes long; discard it? " + (buffer-name) size)) + (progn (setq buffer-undo-list nil) t) + nil)) (defvar shell-command-history nil "History list for some commands that read shell commands.") |