[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