aboutsummaryrefslogtreecommitdiffstats
path: root/src/bytecode.c
diff options
context:
space:
mode:
authorJoakim Verona2010-05-13 15:13:52 +0200
committerJoakim Verona2010-05-13 15:13:52 +0200
commitce07fa9adcea121b5515f98e161e257d1210c9b0 (patch)
treee1f4791841752bfc70d9daa3f5ddcb75ec2a8193 /src/bytecode.c
parent86fa4cb5094901384f680e2ba4d6424e53fa820c (diff)
parent38d93f03c75ddbf853fe9de5444ee2d4e01226a0 (diff)
downloademacs-ce07fa9adcea121b5515f98e161e257d1210c9b0.tar.gz
emacs-ce07fa9adcea121b5515f98e161e257d1210c9b0.zip
merge and fixes
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index e95614c72a9..c53c5acdbb3 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -505,8 +505,9 @@ If the third argument is incorrect, Emacs may crash. */)
505 v1 = vectorp[op]; 505 v1 = vectorp[op];
506 if (SYMBOLP (v1)) 506 if (SYMBOLP (v1))
507 { 507 {
508 v2 = SYMBOL_VALUE (v1); 508 if (XSYMBOL (v1)->redirect != SYMBOL_PLAINVAL
509 if (MISCP (v2) || EQ (v2, Qunbound)) 509 || (v2 = SYMBOL_VAL (XSYMBOL (v1)),
510 EQ (v2, Qunbound)))
510 { 511 {
511 BEFORE_POTENTIAL_GC (); 512 BEFORE_POTENTIAL_GC ();
512 v2 = Fsymbol_value (v1); 513 v2 = Fsymbol_value (v1);
@@ -597,14 +598,13 @@ If the third argument is incorrect, Emacs may crash. */)
597 /* Inline the most common case. */ 598 /* Inline the most common case. */
598 if (SYMBOLP (sym) 599 if (SYMBOLP (sym)
599 && !EQ (val, Qunbound) 600 && !EQ (val, Qunbound)
600 && !XSYMBOL (sym)->indirect_variable 601 && !XSYMBOL (sym)->redirect
601 && !SYMBOL_CONSTANT_P (sym) 602 && !SYMBOL_CONSTANT_P (sym))
602 && !MISCP (XSYMBOL (sym)->value)) 603 XSYMBOL (sym)->val.value = val;
603 XSYMBOL (sym)->value = val;
604 else 604 else
605 { 605 {
606 BEFORE_POTENTIAL_GC (); 606 BEFORE_POTENTIAL_GC ();
607 set_internal (sym, val, current_buffer, 0); 607 set_internal (sym, val, Qnil, 0);
608 AFTER_POTENTIAL_GC (); 608 AFTER_POTENTIAL_GC ();
609 } 609 }
610 } 610 }