[uim-commit] r2620 - in branches/r5rs/sigscheme: . doc
yamaken at freedesktop.org
yamaken at freedesktop.org
Fri Dec 16 16:18:59 PST 2005
Author: yamaken
Date: 2005-12-16 16:18:52 -0800 (Fri, 16 Dec 2005)
New Revision: 2620
Modified:
branches/r5rs/sigscheme/doc/style
branches/r5rs/sigscheme/eval.c
Log:
* sigscheme/eval.c
- (scm_s_cond_internal): Move the comment added in r2617 to doc/style
* sigscheme/doc/style
- Add the comment and generalize
Modified: branches/r5rs/sigscheme/doc/style
===================================================================
--- branches/r5rs/sigscheme/doc/style 2005-12-17 00:12:21 UTC (rev 2619)
+++ branches/r5rs/sigscheme/doc/style 2005-12-17 00:18:52 UTC (rev 2620)
@@ -20,3 +20,10 @@
MAKE_LIST2(FOO, SCM_FALSE);
/* => make_list(assert(), get_foo(), SCM_FALSE) */
+
+
+* Macro invocation
+
+ Don't pass a destructive expression to a SigScheme macro as an argument
+ (e.g. NFALSEP(scm_p_memv(key, test))), because there's an possibility that
+ scm_p_memv() is evaluated multiple times after the macro expantion.
Modified: branches/r5rs/sigscheme/eval.c
===================================================================
--- branches/r5rs/sigscheme/eval.c 2005-12-17 00:12:21 UTC (rev 2619)
+++ branches/r5rs/sigscheme/eval.c 2005-12-17 00:18:52 UTC (rev 2620)
@@ -1009,10 +1009,6 @@
ASSERT_NO_MORE_ARG(args);
} else {
if (VALIDP(case_key)) {
- /* Don't pass the scm_p_memv to the NFALSEP macro as an
- * argument (e.g. NFALSEP(scm_p_memv(key, test))), because
- * there's an possibility that scm_p_memv is called multiple
- * times after the macro expantion. */
test = scm_p_memv(case_key, test);
test = (NFALSEP(test)) ? case_key : SCM_FALSE;
} else {
More information about the uim-commit
mailing list