[uim-commit] r2537 - branches/r5rs/sigscheme

yamaken at freedesktop.org yamaken at freedesktop.org
Sun Dec 11 19:04:04 PST 2005


Author: yamaken
Date: 2005-12-11 19:04:00 -0800 (Sun, 11 Dec 2005)
New Revision: 2537

Modified:
   branches/r5rs/sigscheme/TODO
   branches/r5rs/sigscheme/sigschemeinternal.h
Log:
* sigscheme/sigschemeinternal.h
  - (SCM_SHIFT_RAW, SCM_SHIFT_RAW_1, SCM_SHIFT_RAW_2,
    SCM_SHIFT_RAW_3): Removed
* sigscheme/TODO
  - Update


Modified: branches/r5rs/sigscheme/TODO
===================================================================
--- branches/r5rs/sigscheme/TODO	2005-12-12 03:01:24 UTC (rev 2536)
+++ branches/r5rs/sigscheme/TODO	2005-12-12 03:04:00 UTC (rev 2537)
@@ -52,8 +52,6 @@
 
 * Replace all Scm_ErrorObj() in procedures and syntaxes with ERR_OBJ
 
-* Reorganize SCM_SHIFT*() macros to complement POP_ARG() macro
-
 ==============================================================================
 Namings and Cosmetic things:
 

Modified: branches/r5rs/sigscheme/sigschemeinternal.h
===================================================================
--- branches/r5rs/sigscheme/sigschemeinternal.h	2005-12-12 03:01:24 UTC (rev 2536)
+++ branches/r5rs/sigscheme/sigschemeinternal.h	2005-12-12 03:04:00 UTC (rev 2537)
@@ -193,34 +193,6 @@
  * SCM_UNDEF
  */
 
-/*
- * Macros For List Element Extraction With Safety Check
- *
- * SCM_SHIFT_*() safely and efficiently extracts elements of a list into
- * arbitrary storages (Suppose 'shift' function of scripting languages).
- *
- * The macro overwrites the argument variable 'lst' as list iterator, and
- * returns rest list after requested number of elements have been
- * extracted. Caller can test whether the list has been empty or not by
- * applying NULLP to the result. If a shotage of the list has been occurred
- * before extracting all elements, the iteration stops with false value, and
- * the lst becomes to empty list. The macro itself does not have any error
- * handlings. Caller must do it appropriately by referencing the result value.
- */
-#define SCM_SHIFT_RAW(elm, lst)                                              \
-    ((!NULLP(lst)) && ((elm) = CAR(lst), (lst) = CDR(lst), (lst)))
-
-#define SCM_SHIFT_RAW_1(elm0, lst)                                           \
-    (SCM_SHIFT_RAW((elm0), (lst)) ? (lst) : 0)
-#define SCM_SHIFT_RAW_2(elm0, elm1, lst)                                     \
-    ((SCM_SHIFT_RAW((elm0), (lst))                                           \
-      && SCM_SHIFT_RAW((elm1), (lst))) ? (lst) : 0)
-
-#define SCM_SHIFT_RAW_3(elm0, elm1, elm2, lst)                               \
-    ((SCM_SHIFT_RAW((elm0), (lst))                                           \
-      && SCM_SHIFT_RAW((elm1), (lst))                                        \
-      && SCM_SHIFT_RAW((elm2), (lst))) ? (lst) : 0)
-
 /* Obscures identifier ID. */
 #define SCM_MANGLE(id) Scm_internal_##id
 



More information about the uim-commit mailing list