Mercurial > hg > xemacs-beta
comparison src/symbols.c @ 284:558f606b08ae r21-0b40
Import from CVS: tag r21-0b40
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:34:13 +0200 |
parents | 7df0dd720c89 |
children | 8bec6624d99b |
comparison
equal
deleted
inserted
replaced
283:fa3d41851a08 | 284:558f606b08ae |
---|---|
531 case SYMVAL_CONST_FIXNUM_FORWARD: | 531 case SYMVAL_CONST_FIXNUM_FORWARD: |
532 case SYMVAL_CONST_BOOLEAN_FORWARD: | 532 case SYMVAL_CONST_BOOLEAN_FORWARD: |
533 case SYMVAL_CONST_CURRENT_BUFFER_FORWARD: | 533 case SYMVAL_CONST_CURRENT_BUFFER_FORWARD: |
534 case SYMVAL_CONST_SELECTED_CONSOLE_FORWARD: | 534 case SYMVAL_CONST_SELECTED_CONSOLE_FORWARD: |
535 return 1; | 535 return 1; |
536 default: break; /* Warning suppression */ | |
536 } | 537 } |
537 | 538 |
538 /* We don't return true for keywords here because they are handled | 539 /* We don't return true for keywords here because they are handled |
539 specially by reject_constant_symbols(). */ | 540 specially by reject_constant_symbols(). */ |
540 return 0; | 541 return 0; |
587 /* #### It's theoretically possible for it to be reasonable | 588 /* #### It's theoretically possible for it to be reasonable |
588 to have both console-local and buffer-local variables, | 589 to have both console-local and buffer-local variables, |
589 but I don't want to consider that right now. */ | 590 but I don't want to consider that right now. */ |
590 case SYMVAL_SELECTED_CONSOLE_FORWARD: | 591 case SYMVAL_SELECTED_CONSOLE_FORWARD: |
591 goto not_ok; | 592 goto not_ok; |
593 default: break; /* Warning suppression */ | |
592 } | 594 } |
593 | 595 |
594 return; | 596 return; |
595 | 597 |
596 not_ok: | 598 not_ok: |
713 and retrieving its value doesn't just set or retrieve the raw | 715 and retrieving its value doesn't just set or retrieve the raw |
714 contents of the value cell. None of these objects can escape to | 716 contents of the value cell. None of these objects can escape to |
715 the user level, so there is no loss of generality. | 717 the user level, so there is no loss of generality. |
716 | 718 |
717 If a symbol is "unbound", then the contents of its value cell is | 719 If a symbol is "unbound", then the contents of its value cell is |
718 Qunbound. Despite appearances, this is *not* a symbol, but is | 720 Qunbound. Despite appearances, this is *not* a symbol, but is a |
719 a symbol-value-forward object. | 721 symbol-value-forward object. This is so that printing it results |
722 in "INTERNAL EMACS BUG", in case it leaks to Lisp, somehow. | |
720 | 723 |
721 Logically all of the following objects are "symbol-value-magic" | 724 Logically all of the following objects are "symbol-value-magic" |
722 objects, and there are some games played w.r.t. this (#### this | 725 objects, and there are some games played w.r.t. this (#### this |
723 should be cleaned up). SYMBOL_VALUE_MAGIC_P is true for all of | 726 should be cleaned up). SYMBOL_VALUE_MAGIC_P is true for all of |
724 the object types. XSYMBOL_VALUE_MAGIC_TYPE returns the type of | 727 the object types. XSYMBOL_VALUE_MAGIC_TYPE returns the type of |
887 the symbol that this variable is aliased to. | 890 the symbol that this variable is aliased to. |
888 symbol-value-varalias objects cannot occur anywhere within | 891 symbol-value-varalias objects cannot occur anywhere within |
889 a symbol-value-buffer-local object, and most of the | 892 a symbol-value-buffer-local object, and most of the |
890 low-level functions below do not accept them; you need | 893 low-level functions below do not accept them; you need |
891 to call follow_varalias_pointers to get the actual | 894 to call follow_varalias_pointers to get the actual |
892 symbol to operate on. | 895 symbol to operate on. */ |
893 */ | |
894 | 896 |
895 static Lisp_Object | 897 static Lisp_Object |
896 mark_symbol_value_buffer_local (Lisp_Object obj, | 898 mark_symbol_value_buffer_local (Lisp_Object obj, |
897 void (*markobj) (Lisp_Object)) | 899 void (*markobj) (Lisp_Object)) |
898 { | 900 { |