Mercurial > hg > xemacs-beta
comparison src/bytecode.c @ 1661:2264738f7ae4
[xemacs-hg @ 2003-09-02 13:18:14 by michaels]
2003-08-30 Mike Sperber <mike@xemacs.org>
* bytecode.c (execute_optimized_program): Remove broken
special-case code in Bvarset for buffer-local variables, reverting
previous patch to bytecode.c from 2003-08-18 by Jerry James
<james@xemacs.org>.
author | michaels |
---|---|
date | Tue, 02 Sep 2003 13:18:17 +0000 |
parents | 6c996a26d761 |
children | 68ed93de81b7 |
comparison
equal
deleted
inserted
replaced
1660:0cf8519c122c | 1661:2264738f7ae4 |
---|---|
538 { | 538 { |
539 Lisp_Object symbol = constants_data[n]; | 539 Lisp_Object symbol = constants_data[n]; |
540 Lisp_Symbol *symbol_ptr = XSYMBOL (symbol); | 540 Lisp_Symbol *symbol_ptr = XSYMBOL (symbol); |
541 Lisp_Object old_value = symbol_ptr->value; | 541 Lisp_Object old_value = symbol_ptr->value; |
542 Lisp_Object new_value = POP; | 542 Lisp_Object new_value = POP; |
543 if (SYMBOL_VALUE_MAGIC_P (old_value) && | 543 if (!SYMBOL_VALUE_MAGIC_P (old_value) || UNBOUNDP (old_value)) |
544 (XSYMBOL_VALUE_MAGIC_TYPE (old_value) == SYMVAL_BUFFER_LOCAL || | |
545 XSYMBOL_VALUE_MAGIC_TYPE (old_value) == | |
546 SYMVAL_SOME_BUFFER_LOCAL) && | |
547 NILP (Fdefault_boundp (symbol))) | |
548 Fset_default (symbol, new_value); | |
549 else if (!SYMBOL_VALUE_MAGIC_P (old_value) || UNBOUNDP (old_value)) | |
550 symbol_ptr->value = new_value; | 544 symbol_ptr->value = new_value; |
551 else | 545 else |
552 Fset (symbol, new_value); | 546 Fset (symbol, new_value); |
553 break; | 547 break; |
554 } | 548 } |