summaryrefslogtreecommitdiff
path: root/libguile/symbols.c
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2004-08-24 22:13:27 +0000
committerMarius Vollmer <mvo@zagadka.de>2004-08-24 22:13:27 +0000
commit1206efbe073b709bd61fa1cea90f058c45119efd (patch)
tree1b24386b274c0f945d63ab182b51601e91f55eed /libguile/symbols.c
parent2c0b7c1fa0dc4760418133b9eeebc0561a2dd4e0 (diff)
downloadguile-1206efbe073b709bd61fa1cea90f058c45119efd.tar.gz
* symbols.h, symbols.c (scm_string_ci_to_symbol): Moved here, next
to scm_string_to_symbol. * deprecated.c, load.c, posix.c, unif.c, symbols.c: Include "srfi-13.h" instead of "strop.h".
Diffstat (limited to 'libguile/symbols.c')
-rw-r--r--libguile/symbols.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/libguile/symbols.c b/libguile/symbols.c
index 657723cc6..375ce8cf7 100644
--- a/libguile/symbols.c
+++ b/libguile/symbols.c
@@ -34,6 +34,8 @@
#include "libguile/hashtab.h"
#include "libguile/weaks.h"
#include "libguile/modules.h"
+#include "libguile/read.h"
+#include "libguile/srfi-13.h"
#include "libguile/validate.h"
#include "libguile/symbols.h"
@@ -245,6 +247,19 @@ SCM_DEFINE (scm_string_to_symbol, "string->symbol", 1, 0, 0,
}
#undef FUNC_NAME
+SCM_DEFINE (scm_string_ci_to_symbol, "string-ci->symbol", 1, 0, 0,
+ (SCM str),
+ "Return the symbol whose name is @var{str}. @var{str} is\n"
+ "converted to lowercase before the conversion is done, if Guile\n"
+ "is currently reading symbols case-insensitively.")
+#define FUNC_NAME s_scm_string_ci_to_symbol
+{
+ return scm_string_to_symbol (SCM_CASE_INSENSITIVE_P
+ ? scm_string_downcase(str)
+ : str);
+}
+#undef FUNC_NAME
+
#define MAX_PREFIX_LENGTH 30
SCM_DEFINE (scm_gensym, "gensym", 0, 1, 0,