[uim-commit] r2799 - branches/r5rs/sigscheme
yamaken at freedesktop.org
yamaken at freedesktop.org
Wed Jan 4 20:09:01 PST 2006
Author: yamaken
Date: 2006-01-04 20:08:56 -0800 (Wed, 04 Jan 2006)
New Revision: 2799
Modified:
branches/r5rs/sigscheme/sigscheme.c
Log:
* sigscheme/sigscheme.c
- (scm_s_use): Optimize
Modified: branches/r5rs/sigscheme/sigscheme.c
===================================================================
--- branches/r5rs/sigscheme/sigscheme.c 2006-01-05 03:50:18 UTC (rev 2798)
+++ branches/r5rs/sigscheme/sigscheme.c 2006-01-05 04:08:56 UTC (rev 2799)
@@ -36,6 +36,7 @@
=======================================*/
#include <stdlib.h>
#include <stdio.h>
+#include <string.h>
/*=======================================
Local Include
@@ -267,16 +268,19 @@
{
struct module_info *mod;
ScmObj feature_str;
+ const char *c_feature_str;
DECLARE_FUNCTION("use", syntax_fixed_1);
ENSURE_SYMBOL(feature);
+ c_feature_str = SCM_SYMBOL_NAME(feature);
+
for (mod = module_info_table; mod->name; mod++) {
- if (EQ(feature, scm_intern(mod->name))) {
- feature_str = scm_p_symbol2string(feature);
- if (FALSEP(scm_p_providedp(feature_str))) {
+ if (strcmp(c_feature_str, mod->name) == 0) {
+ feature_str = MAKE_IMMUTABLE_STRING_COPYING(c_feature_str);
+ if (!scm_providedp(feature_str)) {
(*mod->initializer)();
- scm_p_provide(feature_str);
+ scm_provide(feature_str);
}
return SCM_TRUE;
}
More information about the uim-commit
mailing list