summaryrefslogtreecommitdiff
path: root/libguile/print.h
diff options
context:
space:
mode:
authorMichael Gran <spk121@yahoo.com>2009-08-21 08:57:35 -0700
committerMichael Gran <spk121@yahoo.com>2009-08-21 08:57:35 -0700
commite23106d53eb03d7cb4962282396269176ea7482e (patch)
treed7736a8f7f16af0c73365f688f75561aac81c5eb /libguile/print.h
parent90305ce9e429f0381ff79427e71287fdafd4d201 (diff)
downloadguile-e23106d53eb03d7cb4962282396269176ea7482e.tar.gz
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
Diffstat (limited to 'libguile/print.h')
-rw-r--r--libguile/print.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/libguile/print.h b/libguile/print.h
index 00648efc1..3e2333ddd 100644
--- a/libguile/print.h
+++ b/libguile/print.h
@@ -82,6 +82,7 @@ SCM_API void scm_intprint (scm_t_intmax n, int radix, SCM port);
SCM_API void scm_uintprint (scm_t_uintmax n, int radix, SCM port);
SCM_API void scm_ipruk (char *hdr, SCM ptr, SCM port);
SCM_API void scm_iprlist (char *hdr, SCM exp, int tlr, SCM port, scm_print_state *pstate);
+SCM_INTERNAL void scm_i_print_symbol_name (SCM sym, SCM port);
SCM_API void scm_print_symbol_name (const char *str, size_t len, SCM port);
SCM_API void scm_prin1 (SCM exp, SCM port, int writingp);
SCM_API void scm_iprin1 (SCM exp, SCM port, scm_print_state *pstate);