From bee48f254bfb43ca0f520f53c46c7d29bcdcc28e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andr=C3=A9=20Spiegel?= Date: Fri, 27 Oct 2000 11:37:17 +0000 Subject: [PATCH] (vc-cvs-checkin): Check both status and error message after command. If there's an unexpected error, signal it instead of being silent. --- lisp/vc-cvs.el | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/lisp/vc-cvs.el b/lisp/vc-cvs.el index 8dbcaf1b723..fbe6b9a2b33 100644 --- a/lisp/vc-cvs.el +++ b/lisp/vc-cvs.el @@ -5,7 +5,7 @@ ;; Author: FSF (see vc.el for full credits) ;; Maintainer: Andre Spiegel -;; $Id: vc-cvs.el,v 1.5 2000/10/04 09:51:15 spiegel Exp $ +;; $Id: vc-cvs.el,v 1.6 2000/10/22 15:31:11 spiegel Exp $ ;; This file is part of GNU Emacs. @@ -519,14 +519,21 @@ Inappropriate for CVS" "ci" (if rev (concat "-r" rev)) (concat "-m" comment) switches)) - ;; determine and store the new workfile version (set-buffer "*vc*") (goto-char (point-min)) - ;; Check checkin problem. We could check `status' as well. - (when (re-search-forward "Up-to-date check failed" nil t) - (vc-file-setprop file 'vc-state 'needs-merge) - (error (substitute-command-keys - "Up-to-date check failed: type \\[vc-next-action] to merge in changes"))) + (when (not (zerop status)) + ;; Check checkin problem. + (cond + ((re-search-forward "Up-to-date check failed" nil t) + (vc-file-setprop file 'vc-state 'needs-merge) + (error (substitute-command-keys + (concat "Up-to-date check failed: " + "type \\[vc-next-action] to merge in changes")))) + (t + (pop-to-buffer (current-buffer)) + (goto-char (point-min)) + (shrink-window-if-larger-than-buffer) + (error "Check-in failed")))) ;; Update file properties (vc-file-setprop file 'vc-workfile-version -- 2.39.2