summaryrefslogtreecommitdiff
path: root/libguile/symbols.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-01-05 18:24:32 -0600
committerAndy Wingo <wingo@pobox.com>2011-01-07 09:18:36 -0800
commitad5cbc470f2cc29d63a735871883a9436e0915d5 (patch)
tree365954292da2df719d8aea402bc20608370666bf /libguile/symbols.c
parentd40e1ca893149e9781bad54ac1e39d03e7be988f (diff)
downloadguile-ad5cbc470f2cc29d63a735871883a9436e0915d5.tar.gz
add scm_from_{latin1,utf8}_symbol{n,}
* libguile/symbols.c (scm_from_latin1_symbol, scm_from_latin1_symboln) (scm_from_utf8_symbol, scm_from_utf8_symboln): New functions.
Diffstat (limited to 'libguile/symbols.c')
-rw-r--r--libguile/symbols.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/libguile/symbols.c b/libguile/symbols.c
index c77749f11..9a59b6a8e 100644
--- a/libguile/symbols.c
+++ b/libguile/symbols.c
@@ -443,6 +443,32 @@ scm_take_locale_symbol (char *sym)
return scm_take_locale_symboln (sym, (size_t)-1);
}
+SCM
+scm_from_latin1_symbol (const char *sym)
+{
+ return scm_from_latin1_symboln (sym, -1);
+}
+
+SCM
+scm_from_latin1_symboln (const char *sym, size_t len)
+{
+ SCM str = scm_from_latin1_stringn (sym, len);
+ return scm_i_str2symbol (str);
+}
+
+SCM
+scm_from_utf8_symbol (const char *sym)
+{
+ return scm_from_utf8_symboln (sym, -1);
+}
+
+SCM
+scm_from_utf8_symboln (const char *sym, size_t len)
+{
+ SCM str = scm_from_utf8_stringn (sym, len);
+ return scm_i_str2symbol (str);
+}
+
void
scm_symbols_prehistory ()
{