Fix bug: VC was causing a local binding of vc-mode-line-status to
authorChris Hanson <org/chris-hanson/cph>
Mon, 21 Jul 1997 04:36:12 +0000 (04:36 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 21 Jul 1997 04:36:12 +0000 (04:36 +0000)
appear in every buffer, when it should only be bound in buffers under
version control.

v7/src/edwin/vc.scm

index 50deed39cfce37ccd8ef4ab19af4057bdff6d8e2..50992f58ca8b6b372f26dcd93e0d9300fd00332e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: vc.scm,v 1.26 1997/06/25 07:26:48 cph Exp $
+;;;    $Id: vc.scm,v 1.27 1997/07/21 04:36:12 cph Exp $
 ;;;
 ;;;    Copyright (c) 1994-97 Massachusetts Institute of Technology
 ;;;
@@ -158,10 +158,13 @@ Otherwise, the mod time of the file is the checkout time."
                     (append! hooks (list vc-file-not-found-hook)))))
 
 (define (vc-mode-line master buffer)
-  (set-variable-local-value!
-   buffer
-   (ref-variable-object vc-mode-line-status)
-   (and master (string-append " " (vc-mode-line-status master buffer))))
+  (let ((variable (ref-variable-object vc-mode-line-status)))
+    (if master
+       (set-variable-local-value!
+        buffer
+        variable
+        (string-append " " (vc-mode-line-status master buffer)))
+       (undefine-variable-local-value! buffer variable)))
   ;; root shouldn't modify a registered file without locking it first.
   (if (and master
           (= 0 (unix/current-uid))