static void
replace_symbol_bucket_type (SCHEME_OBJECT symbol, unsigned int type)
{
- SCHEME_OBJECT obarray = (VECTOR_REF (fixed_objects, OBARRAY));
- SCHEME_OBJECT string = (MEMORY_REF (symbol, SYMBOL_NAME));
- long length = (STRING_LENGTH (string));
- const char *char_pointer = (STRING_POINTER (string));
- SCHEME_OBJECT *bucket
+ SCHEME_OBJECT obarray, string, *bucket;
+ long length;
+ const char *char_pointer;
+
+ if (UNINTERNED_SYMBOL_P (symbol)) return;
+ assert (INTERNED_SYMBOL_P (symbol));
+
+ obarray = (VECTOR_REF (fixed_objects, OBARRAY));
+ string = (MEMORY_REF (symbol, SYMBOL_NAME));
+ length = (STRING_LENGTH (string));
+ char_pointer = (STRING_POINTER (string));
+ bucket
= (VECTOR_LOC (obarray,
((string_hash (length, char_pointer))
% (VECTOR_LENGTH (obarray)))));