summaryrefslogtreecommitdiff
path: root/doc/ref
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ref')
-rw-r--r--doc/ref/ChangeLog3
-rwxr-xr-xdoc/ref/scheme-data.texi12
2 files changed, 15 insertions, 0 deletions
diff --git a/doc/ref/ChangeLog b/doc/ref/ChangeLog
index a2b5c613e..f873ed62a 100644
--- a/doc/ref/ChangeLog
+++ b/doc/ref/ChangeLog
@@ -1,5 +1,8 @@
2003-04-26 Neil Jerram <neil@ossau.uklinux.net>
+ * scheme-data.texi (Symbol Primitives): Document scm_str2symbol
+ and scm_mem2symbol.
+
* data-rep.texi (Describing a New Type): Clarify that
scm_make_smob_type_mfpe is deprecated. (Thanks to
tomas@fabula.de.)
diff --git a/doc/ref/scheme-data.texi b/doc/ref/scheme-data.texi
index d26ce7cae..125592df8 100755
--- a/doc/ref/scheme-data.texi
+++ b/doc/ref/scheme-data.texi
@@ -2692,6 +2692,18 @@ the case-sensitivity of symbols:
(string->symbol "K. Harper, M.D."))) @result{} #t
@end lisp
+From C, there are lower level functions that construct a Scheme symbol
+from a null terminated C string or from a sequence of bytes whose length
+is specified explicitly.
+
+@deffn {C Function} scm_str2symbol (const char * name)
+@deffnx {C Function} scm_mem2symbol (const char * name, size_t len)
+Construct and return a Scheme symbol whose name is specified by
+@var{name}. For @code{scm_str2symbol} @var{name} must be null
+terminated; For @code{scm_mem2symbol} the length of @var{name} is
+specified explicitly by @var{len}.
+@end deffn
+
Finally, some applications, especially those that generate new Scheme
code dynamically, need to generate symbols for use in the generated
code. The @code{gensym} primitive meets this need: