If looking for local value of variable in buffer other than the
authorChris Hanson <org/chris-hanson/cph>
Sat, 4 May 1991 22:02:03 +0000 (22:02 +0000)
committerChris Hanson <org/chris-hanson/cph>
Sat, 4 May 1991 22:02:03 +0000 (22:02 +0000)
current one, and the variable doesn't appear in the buffer's local
bindings, must search the current buffer's local bindings too.

v7/src/edwin/buffer.scm

index 1d8f0cc2aa9551286074623d4a9ea30d9ea7c9d4..6989aca7bf6c40cdec6233b677b253f859369a2d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/buffer.scm,v 1.145 1991/05/02 01:12:28 cph Exp $
+;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/buffer.scm,v 1.146 1991/05/04 22:02:03 cph Exp $
 ;;;
 ;;;    Copyright (c) 1986, 1989-91 Massachusetts Institute of Technology
 ;;;
@@ -377,12 +377,12 @@ The buffer is guaranteed to be deselected at that time."
                 (%set-variable-value! variable (cdr binding)))))))))
 
 (define (variable-local-value buffer variable)
-  (let ((binding
-        (and (not (buffer-local-bindings-installed? buffer))
-             (search-local-bindings buffer variable))))
-    (if binding
-       (cdr binding)
-       (variable-value variable))))
+  (if (buffer-local-bindings-installed? buffer)
+      (variable-value variable)
+      (let ((binding (search-local-bindings buffer variable)))
+       (if binding
+           (cdr binding)
+           (variable-default-value variable)))))
 
 (define (set-variable-local-value! buffer variable value)
   (if (variable-buffer-local? variable)