diff options
author | André Spiegel <spiegel@gnu.org> | 2002-07-19 13:26:11 +0000 |
---|---|---|
committer | André Spiegel <spiegel@gnu.org> | 2002-07-19 13:26:11 +0000 |
commit | e30140cebbd4e67a913ffd320c0346ea74e6185d (patch) | |
tree | ca1738199302963b83b9290b4db08735b74b52d2 /lisp/vc-hooks.el | |
parent | 655388b5d42a92b893c9b624103ed5505cc4b98f (diff) | |
download | emacs-e30140cebbd4e67a913ffd320c0346ea74e6185d.tar.gz |
(vc-insert-file): When called with a LIMIT regexp,
delete anything that comes after LIMIT from the buffer.
Diffstat (limited to 'lisp/vc-hooks.el')
-rw-r--r-- | lisp/vc-hooks.el | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lisp/vc-hooks.el b/lisp/vc-hooks.el index ceb6a325eec..c90356a9c1a 100644 --- a/lisp/vc-hooks.el +++ b/lisp/vc-hooks.el @@ -5,7 +5,7 @@ ;; Author: FSF (see vc.el for full credits) ;; Maintainer: Andre Spiegel <spiegel@gnu.org> -;; $Id: vc-hooks.el,v 1.139 2002/02/28 13:09:36 spiegel Exp $ +;; $Id: vc-hooks.el,v 1.140 2002/07/16 17:42:57 spiegel Exp $ ;; This file is part of GNU Emacs. @@ -216,8 +216,9 @@ It is usually called via the `vc-call' macro." Optional argument LIMIT is a regexp. If present, the file is inserted in chunks of size BLOCKSIZE (default 8 kByte), until the first -occurrence of LIMIT is found. The function returns non-nil if FILE -exists and its contents were successfully inserted." +occurrence of LIMIT is found. Anything from the start of that occurence +to the end of the buffer is then deleted. The function returns +non-nil if FILE exists and its contents were successfully inserted." (erase-buffer) (when (file-exists-p file) (if (not limit) @@ -228,7 +229,10 @@ exists and its contents were successfully inserted." (and (< 0 (cadr (insert-file-contents file nil filepos (incf filepos blocksize)))) (progn (beginning-of-line) - (not (re-search-forward limit nil 'move))))))) + (let ((pos (re-search-forward limit nil 'move))) + (if pos (delete-region (match-beginning 0) + (point-max))) + (not pos))))))) (set-buffer-modified-p nil) t)) |