diff options
| author | Joakim Verona | 2010-05-13 15:13:52 +0200 |
|---|---|---|
| committer | Joakim Verona | 2010-05-13 15:13:52 +0200 |
| commit | ce07fa9adcea121b5515f98e161e257d1210c9b0 (patch) | |
| tree | e1f4791841752bfc70d9daa3f5ddcb75ec2a8193 /src/bytecode.c | |
| parent | 86fa4cb5094901384f680e2ba4d6424e53fa820c (diff) | |
| parent | 38d93f03c75ddbf853fe9de5444ee2d4e01226a0 (diff) | |
| download | emacs-ce07fa9adcea121b5515f98e161e257d1210c9b0.tar.gz emacs-ce07fa9adcea121b5515f98e161e257d1210c9b0.zip | |
merge and fixes
Diffstat (limited to 'src/bytecode.c')
| -rw-r--r-- | src/bytecode.c | 14 |
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 | } |