/[guile]/guile/guile-core/libguile/symbols.h
ViewVC logotype

Diff of /guile/guile-core/libguile/symbols.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.61 by ela, Mon Jan 28 21:15:55 2002 UTC revision 1.62 by mvo, Sun Feb 3 22:49:06 2002 UTC
# Line 51  Line 51 
51    
52  /* SCM_SYMBOL_LENGTH(SYM) is the length of SYM's name in characters, and  /* SCM_SYMBOL_LENGTH(SYM) is the length of SYM's name in characters, and
53   * SCM_SYMBOL_CHARS(SYM) is the address of the first character of SYM's name.   * SCM_SYMBOL_CHARS(SYM) is the address of the first character of SYM's name.
54     *
55     * SCM_SYMBOL_HASH is a hash value for the symbol.  It is also used to
56     * encode whether the symbol is interned or not.  See
57     * SCM_SYMBOL_INTERNED_P.
58   */   */
59    
60  #define SCM_SYMBOLP(x)              (!SCM_IMP (x) && (SCM_TYP7 (x) == scm_tc7_symbol))  #define SCM_SYMBOLP(x)              (!SCM_IMP (x) && (SCM_TYP7 (x) == scm_tc7_symbol))
# Line 60  Line 64 
64  #define SCM_SYMBOL_CHARS(x)         ((char *) (SCM_CELL_WORD_1 (x)))  #define SCM_SYMBOL_CHARS(x)         ((char *) (SCM_CELL_WORD_1 (x)))
65  #define SCM_SET_SYMBOL_CHARS(s, c)  (SCM_SET_CELL_WORD_1 ((s), (c)))  #define SCM_SET_SYMBOL_CHARS(s, c)  (SCM_SET_CELL_WORD_1 ((s), (c)))
66  #define SCM_SYMBOL_HASH(X)          ((unsigned long) SCM_CELL_WORD_2 (X))  #define SCM_SYMBOL_HASH(X)          ((unsigned long) SCM_CELL_WORD_2 (X))
67  #define SCM_SET_SYMBOL_HASH(X, v)   (SCM_SET_CELL_WORD_2 ((X), (v)))  #define SCM_SYMBOL_INTERNED_P(X)    (SCM_SYMBOL_HASH(X) <= (SCM_T_BITS_MAX/2))
68    
69  #define SCM_PROP_SLOTS(X)           (SCM_CELL_OBJECT_3 (X))  #define SCM_PROP_SLOTS(X)           (SCM_CELL_OBJECT_3 (X))
70  #define SCM_SET_PROP_SLOTS(X, v)    (SCM_SET_CELL_OBJECT_3 ((X), (v)))  #define SCM_SET_PROP_SLOTS(X, v)    (SCM_SET_CELL_OBJECT_3 ((X), (v)))

Legend:
Removed from v.1.61  
changed lines
  Added in v.1.62

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26