Mercurial > hg > xemacs-beta
comparison src/bytecode.c @ 1630:6c996a26d761
[xemacs-hg @ 2003-08-18 20:30:49 by james]
Fix edebug problem caused by making a variable buffer-local before the defvar.
author | james |
---|---|
date | Mon, 18 Aug 2003 20:30:51 +0000 |
parents | 5cec7ab01719 |
children | 2264738f7ae4 |
comparison
equal
deleted
inserted
replaced
1629:632411c376d0 | 1630:6c996a26d761 |
---|---|
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) || UNBOUNDP (old_value)) | 543 if (SYMBOL_VALUE_MAGIC_P (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)) | |
544 symbol_ptr->value = new_value; | 550 symbol_ptr->value = new_value; |
545 else | 551 else |
546 Fset (symbol, new_value); | 552 Fset (symbol, new_value); |
547 break; | 553 break; |
548 } | 554 } |