]> git.eshelyaron.com Git - emacs.git/commitdiff
(viper-frame-value): Prefer buffer-local value, if set, over frame value.
authorGlenn Morris <rgm@gnu.org>
Mon, 3 Mar 2008 03:24:32 +0000 (03:24 +0000)
committerGlenn Morris <rgm@gnu.org>
Mon, 3 Mar 2008 03:24:32 +0000 (03:24 +0000)
lisp/ChangeLog
lisp/emulation/viper-util.el

index 5f0fe54217b8b1cac5c64f5d0a3e6430c37c5363..08dcb611ba7f20874006cb8f8821e83a055d3009 100644 (file)
@@ -1,5 +1,8 @@
 2008-03-03  Glenn Morris  <rgm@gnu.org>
 
+       * emulation/viper-util.el (viper-frame-value): Prefer buffer-local
+       value, if set, over frame value.
+
        * simple.el (transient-mark-mode): Don't turn on by default.
 
        * net/tls.el (open-tls-stream): Restore the 2007-11-04 change
index e96f671cc533f0897d8d491c824232ba2d61e051..291c03c4c4e511642413099f58ac3f906647fe94 100644 (file)
@@ -130,11 +130,14 @@ Otherwise return the normal value."
        ,variable
      ;; Frame-local variables are obsolete from Emacs 22.2 onwards,
      ;; so we do it by hand instead.
-     ;; Distinguish between no frame parameter and a frame parameter
-     ;; with a value of nil.
-     (let ((fp (assoc ',variable (frame-parameters))))
-       (if fp (cdr fp)
-        ,variable))))
+     ;; Buffer-local values take precedence over frame-local ones.
+     (if (local-variable-p ',variable)
+        ,variable
+       ;; Distinguish between no frame parameter and a frame parameter
+       ;; with a value of nil.
+       (let ((fp (assoc ',variable (frame-parameters))))
+        (if fp (cdr fp)
+          ,variable)))))
 
 ;; OS/2
 (cond ((eq (viper-device-type) 'pm)