summaryrefslogtreecommitdiff
path: root/libguile/symbols.h
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2004-08-26 15:40:13 +0000
committerMarius Vollmer <mvo@zagadka.de>2004-08-26 15:40:13 +0000
commit6869328b3b6b6cdd12df86ca517ecf2aa7544940 (patch)
tree2eb443dde7f659d47d17d4838dc60fab12da3ddb /libguile/symbols.h
parent1d1a9211783badd8eaf1136122b14ccbbc91ceaa (diff)
downloadguile-6869328b3b6b6cdd12df86ca517ecf2aa7544940.tar.gz
* strings.h, strings.c (scm_i_make_symbol): Added FLAGS parameter.
* symbols.h, symbols.c (SCM_I_F_SYMBOL_UNINTERNED, scm_i_symbol_is_interned, scm_i_mem2symbol, scm_i_mem2uninternedsymbol): Use it to store uninternedness flag.
Diffstat (limited to 'libguile/symbols.h')
-rw-r--r--libguile/symbols.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/libguile/symbols.h b/libguile/symbols.h
index 84a8df1f7..357881d45 100644
--- a/libguile/symbols.h
+++ b/libguile/symbols.h
@@ -28,7 +28,10 @@
#define scm_is_symbol(x) (!SCM_IMP (x) \
&& (SCM_TYP7 (x) == scm_tc7_symbol))
#define scm_i_symbol_hash(x) ((unsigned long) SCM_CELL_WORD_2 (x))
-#define scm_i_symbol_is_interned(x) (scm_i_symbol_hash(x)<=(SCM_T_BITS_MAX/2))
+#define scm_i_symbol_is_interned(x) \
+ (!(SCM_CELL_WORD_0 (x) & SCM_I_F_SYMBOL_UNINTERNED))
+
+#define SCM_I_F_SYMBOL_UNINTERNED 0x100