]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix boundp and a bug in store_symval_forwarding.
authorTom Tromey <tromey@redhat.com>
Sun, 13 Sep 2009 19:18:03 +0000 (21:18 +0200)
committerGiuseppe Scrivano <gscrivano@gnu.org>
Sun, 13 Sep 2009 19:18:03 +0000 (21:18 +0200)
src/data.c

index 8d1ca2b42872e59f2045835a87dd5f64b7289937..913cd0a98f4c3d54126ef293e7c89fa38c357ac9 100644 (file)
@@ -582,12 +582,8 @@ DEFUN ("boundp", Fboundp, Sboundp, 1, 1, 0,
      register Lisp_Object symbol;
 {
   Lisp_Object valcontents;
-  CHECK_SYMBOL (symbol);
-
-  valcontents = SYMBOL_VALUE (symbol);
 
-  if (BUFFER_LOCAL_VALUEP (valcontents))
-    valcontents = swap_in_symval_forwarding (symbol, valcontents);
+  valcontents = find_symbol_value (symbol);
 
   return (EQ (valcontents, Qunbound) ? Qnil : Qt);
 }
@@ -1078,7 +1074,7 @@ store_symval_forwarding (symbol, valcontents, newval, buf)
       if (BUFFER_LOCAL_VALUEP (valcontents))
        XBUFFER_LOCAL_VALUE (valcontents)->realvalue = newval;
       else if (THREADLOCALP (valcontents))
-       *find_variable_location (&XSYMBOL (symbol)->value) = newval;
+       *find_variable_location (&indirect_variable (XSYMBOL (symbol))->value) = newval;
       else
        SET_SYMBOL_VALUE (symbol, newval);
     }