summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/vc-hooks.el12
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))