From e30140cebbd4e67a913ffd320c0346ea74e6185d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andr=C3=A9=20Spiegel?= Date: Fri, 19 Jul 2002 13:26:11 +0000 Subject: [PATCH] (vc-insert-file): When called with a LIMIT regexp, delete anything that comes after LIMIT from the buffer. --- lisp/vc-hooks.el | 12 ++++++++---- 1 file 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 -;; $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)) -- 2.39.2