]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid a double symval forwarding
authorGiuseppe Scrivano <gscrivano@gnu.org>
Thu, 31 Dec 2009 13:42:56 +0000 (14:42 +0100)
committerGiuseppe Scrivano <gscrivano@gnu.org>
Thu, 31 Dec 2009 13:42:56 +0000 (14:42 +0100)
src/data.c

index 941ded20a15a7d62dcced935d21d195045226e13..43257cb8de34380f43dcb9e441d1e583c8aafc66 100644 (file)
@@ -1001,7 +1001,7 @@ do_symval_forwarding (valcontents)
                                + (char *)FRAME_KBOARD (SELECTED_FRAME ()));
 
       case Lisp_Misc_ThreadLocal:
-       return do_symval_forwarding (*find_variable_location (&valcontents));
+       return *find_variable_location (&valcontents);
       }
   return valcontents;
 }
@@ -1112,7 +1112,7 @@ store_symval_forwarding (symbol, valcontents, newval, buf)
         {
           Lisp_Object val = indirect_variable (XSYMBOL (symbol))->value;
           ensure_thread_local (&val);
-         *find_variable_location (&val) = newval;
+          *find_variable_location (&val) = newval;
         }
       else
        SET_SYMBOL_VALUE (symbol, newval);
@@ -1391,7 +1391,7 @@ set_internal (symbol, newval, buf, bindflag)
          XSETBUFFER (BLOCAL_BUFFER (XBUFFER_LOCAL_VALUE (valcontents)), buf);
          BLOCAL_FRAME (XBUFFER_LOCAL_VALUE (valcontents)) = selected_frame;
        }
-      innercontents = XBUFFER_LOCAL_VALUE (valcontents)->realvalue;
+      innercontents = BLOCAL_REALVALUE (XBUFFER_LOCAL_VALUE (valcontents));
 
       /* Store the new value in the cons-cell.  */
       XSETCDR (XCAR (BLOCAL_CDR (XBUFFER_LOCAL_VALUE (valcontents))), newval);