Add initial support for wide symbols
authorMichael Gran <spk121@yahoo.com>
Fri, 21 Aug 2009 15:57:35 +0000 (08:57 -0700)
committerMichael Gran <spk121@yahoo.com>
Fri, 21 Aug 2009 15:57:35 +0000 (08:57 -0700)
commite23106d53eb03d7cb4962282396269176ea7482e
treed7736a8f7f16af0c73365f688f75561aac81c5eb
parent90305ce9e429f0381ff79427e71287fdafd4d201
Add initial support for wide symbols

* libguile/hash.c (scm_i_string_hash): new function
  (scm_hasher): don't unpack string: use scm_i_string_hash

* libguile/hash.h: new declaration for scm_i_string_hash

* libguile/print.c (quote_keywordish_symbol): use symbol accessors
  (scm_i_print_symbol_name): new function
  (scm_print_symbol_name): call scm_i_print_symbol_name
  (iprin1): use scm_i_print_symbol_name to print symbols

* libguile/print.h: new declaration for scm_i_print_symbol_name

* libguile/symbols.c (lookup_interned_symbol): now takes scheme string
  instead of c string; callers changed
  (lookup_interned_symbol): add wide symbol support
  (scm_i_c_mem2symbol): removed
  (scm_i_mem2symbol): removed and replaced with scm_i_str2symbol
  (scm_i_str2symbol): new function
  (scm_i_mem2uninterned_symbol): removed and replaced with
  scm_i_str2uninterned_symbol
  (scm_i_str2uninterned_symbol): new function
  (scm_make_symbol, scm_string_to_symbol, scm_from_locale_symbol)
  (scm_from_locale_symboln): use scm_i_str2symbol

* test-suite/tests/symbols.test: new tests
libguile/hash.c
libguile/hash.h
libguile/print.c
libguile/print.h
libguile/symbols.c
test-suite/tests/symbols.test