changeset 46542:f8e6993503cf

(vc-insert-file): When called with a LIMIT regexp, delete anything that comes after LIMIT from the buffer.
author André Spiegel <spiegel@gnu.org>
date Fri, 19 Jul 2002 13:26:11 +0000
parents 021204d82a30
children 7fa004ccd462
files lisp/vc-hooks.el
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/vc-hooks.el	Fri Jul 19 13:20:02 2002 +0000
+++ b/lisp/vc-hooks.el	Fri Jul 19 13:26:11 2002 +0000
@@ -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 @@
 
 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 @@
 	    (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))