guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, master, updated. release_1-9-9-15-gf60


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-9-15-gf60c2c4
Date: Sun, 28 Mar 2010 12:34:18 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=f60c2c4e100b36e5ec2616ba7940280b57d952b9

The branch, master has been updated
       via  f60c2c4e100b36e5ec2616ba7940280b57d952b9 (commit)
      from  98dcf051e00bb0b36b932b60e5bdce584f2acde4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f60c2c4e100b36e5ec2616ba7940280b57d952b9
Author: Mark H Weaver <address@hidden>
Date:   Sat Mar 27 17:35:46 2010 -0400

    Renumber IFLAGSs so the first 8 are reserved for lisp booleans.
    
    This enables more efficient implementations of several operations,
    e.g. scm_is_lisp_bool, canonicalize_boolean, fast_boolean_not,
    converting SCM booleans to C booleans, etc.
    
    * libguile/tags.h: Renumber IFLAGs.
    
    * libguile/print.c: Renumber iflagnames to match.
    
    * libguile/boolean.c:
    * libguile/boolean.h:
      SCM_XXX_ANOTHER_BOOLEAN_DONT_USE --> SCM_XXX_ANOTHER_BOOLEAN_DONT_USE_0

-----------------------------------------------------------------------

Summary of changes:
 libguile/boolean.c |    2 +-
 libguile/boolean.h |    2 +-
 libguile/print.c   |    4 +++-
 libguile/tags.h    |   14 ++++++++------
 4 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/libguile/boolean.c b/libguile/boolean.c
index 1ca0d78..3391d6c 100644
--- a/libguile/boolean.c
+++ b/libguile/boolean.c
@@ -49,7 +49,7 @@ verify (SCM_VALUES_DIFFER_IN_EXACTLY_ONE_BIT_POSITION         
\
                (SCM_ELISP_NIL, SCM_EOL));
 verify (SCM_VALUES_DIFFER_IN_EXACTLY_TWO_BIT_POSITIONS         \
                (SCM_ELISP_NIL, SCM_BOOL_F, SCM_BOOL_T,         \
-                SCM_XXX_ANOTHER_BOOLEAN_DONT_USE));
+                SCM_XXX_ANOTHER_BOOLEAN_DONT_USE_0));
 verify (SCM_VALUES_DIFFER_IN_EXACTLY_TWO_BIT_POSITIONS         \
                (SCM_ELISP_NIL, SCM_BOOL_F, SCM_EOL,            \
                 SCM_XXX_ANOTHER_LISP_FALSE_DONT_USE));
diff --git a/libguile/boolean.h b/libguile/boolean.h
index ba5313c..bc108f5 100644
--- a/libguile/boolean.h
+++ b/libguile/boolean.h
@@ -75,7 +75,7 @@
  *
  * If SCM_ENABLE_ELISP is true, then scm_is_bool_or_nil(x)
  * returns 1 if and only if x is one of the following: SCM_BOOL_F,
- * SCM_BOOL_T, SCM_ELISP_NIL, or SCM_XXX_ANOTHER_BOOLEAN_DONT_USE.
+ * SCM_BOOL_T, SCM_ELISP_NIL, or SCM_XXX_ANOTHER_BOOLEAN_DONT_USE_0.
  * Otherwise, it returns 0.
  */
 #if SCM_ENABLE_ELISP
diff --git a/libguile/print.c b/libguile/print.c
index 8867e6b..ca38d42 100644
--- a/libguile/print.c
+++ b/libguile/print.c
@@ -68,7 +68,9 @@ static const char *iflagnames[] =
   "#<XXX UNUSED LISP FALSE -- DO NOT USE -- SHOULD NEVER BE SEEN XXX>",
   "()",
   "#t",
-  "#<XXX UNUSED BOOLEAN -- DO NOT USE -- SHOULD NEVER BE SEEN XXX>",
+  "#<XXX UNUSED BOOLEAN 0 -- DO NOT USE -- SHOULD NEVER BE SEEN XXX>",
+  "#<XXX UNUSED BOOLEAN 1 -- DO NOT USE -- SHOULD NEVER BE SEEN XXX>",
+  "#<XXX UNUSED BOOLEAN 2 -- DO NOT USE -- SHOULD NEVER BE SEEN XXX>",
   "#<unspecified>",
   "#<undefined>",
   "#<eof>",
diff --git a/libguile/tags.h b/libguile/tags.h
index 2e6dea2..d11bf68 100644
--- a/libguile/tags.h
+++ b/libguile/tags.h
@@ -498,7 +498,7 @@ enum scm_tc8_tags
  *   must all be equal except for two bit positions.
  *   (used to implement scm_is_lisp_false)
  *
- * - SCM_ELISP_NIL, SCM_BOOL_F, SCM_BOOL_T, SCM_XXX_ANOTHER_BOOLEAN_DONT_USE
+ * - SCM_ELISP_NIL, SCM_BOOL_F, SCM_BOOL_T, SCM_XXX_ANOTHER_BOOLEAN_DONT_USE_0
  *   must all be equal except for two bit positions.
  *   (used to implement scm_is_bool_or_nil)
  *
@@ -519,12 +519,14 @@ enum scm_tc8_tags
 #define SCM_BOOL_T             SCM_MAKIFLAG (4)
 
 #ifdef BUILDING_LIBGUILE
-#define SCM_XXX_ANOTHER_BOOLEAN_DONT_USE       SCM_MAKIFLAG (5)
+#define SCM_XXX_ANOTHER_BOOLEAN_DONT_USE_0     SCM_MAKIFLAG (5)
+#define SCM_XXX_ANOTHER_BOOLEAN_DONT_USE_1     SCM_MAKIFLAG (6)
+#define SCM_XXX_ANOTHER_BOOLEAN_DONT_USE_2     SCM_MAKIFLAG (7)
 #endif
 
-#define SCM_UNSPECIFIED                SCM_MAKIFLAG (6)
-#define SCM_UNDEFINED          SCM_MAKIFLAG (7)
-#define SCM_EOF_VAL            SCM_MAKIFLAG (8)
+#define SCM_UNSPECIFIED                SCM_MAKIFLAG (8)
+#define SCM_UNDEFINED          SCM_MAKIFLAG (9)
+#define SCM_EOF_VAL            SCM_MAKIFLAG (10)
 
 /* When a variable is unbound this is marked by the SCM_UNDEFINED
  * value.  The following is an unbound value which can be handled on
@@ -534,7 +536,7 @@ enum scm_tc8_tags
  * the code which handles this value in C so that SCM_UNDEFINED can be
  * used instead.  It is not ideal to let this kind of unique and
  * strange values loose on the Scheme level.  */
-#define SCM_UNBOUND            SCM_MAKIFLAG (9)
+#define SCM_UNBOUND            SCM_MAKIFLAG (11)
 
 #define SCM_UNBNDP(x)          (scm_is_eq ((x), SCM_UNDEFINED))
 


hooks/post-receive
-- 
GNU Guile




reply via email to

[Prev in Thread] Current Thread [Next in Thread]