guile-cvs
[Top][All Lists]
Advanced

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

guile/guile-core/libguile ChangeLog print.c


From: Dirk Herrmann
Subject: guile/guile-core/libguile ChangeLog print.c
Date: Tue, 05 Dec 2000 06:07:03 -0800

CVSROOT:        /cvs
Module name:    guile
Changes by:     Dirk Herrmann <address@hidden>  00/12/05 06:07:03

Modified files:
        guile-core/libguile: ChangeLog print.c 

Log message:
        * Use scm_tc3_* codes instead of hardcoded values.

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/ChangeLog.diff?r1=1.1187&r2=1.1188
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/print.c.diff?r1=1.106&r2=1.107

Patches:
Index: guile/guile-core/libguile/ChangeLog
diff -u guile/guile-core/libguile/ChangeLog:1.1187 
guile/guile-core/libguile/ChangeLog:1.1188
--- guile/guile-core/libguile/ChangeLog:1.1187  Mon Dec  4 19:04:20 2000
+++ guile/guile-core/libguile/ChangeLog Tue Dec  5 06:07:02 2000
@@ -1,5 +1,11 @@
 2000-12-05  Dirk Herrmann  <address@hidden>
 
+       * print.c (scm_iprin1):  Use scm_tc3_* codes instead of hardcoded
+       values.  Added comment about tc3 codes that may appear in
+       immediates.  Got rid of one goto command.
+
+2000-12-05  Dirk Herrmann  <address@hidden>
+
        * dynl.c (sysdep_dynl_link):  Improved error reporting.
 
        * guardians.c:  Changed the representation from a compiled closure
Index: guile/guile-core/libguile/print.c
diff -u guile/guile-core/libguile/print.c:1.106 
guile/guile-core/libguile/print.c:1.107
--- guile/guile-core/libguile/print.c:1.106     Sat Nov 25 08:58:25 2000
+++ guile/guile-core/libguile/print.c   Tue Dec  5 06:07:03 2000
@@ -312,16 +312,24 @@
 taloop:
   switch (SCM_ITAG3 (exp))
     {
-    case 2:
-    case 6:
+    case scm_tc3_closure:
+    case scm_tc3_tc7_1:
+    case scm_tc3_tc7_2:
+      /* These tc3 tags should never occur in an immediate value.  They are
+       * only used in cell types of non-immediates, i. e. the value returned
+       * by SCM_CELL_TYPE (exp) can use these tags.
+       */
+      scm_ipruk ("immediate", exp, port);
+      break;
+    case scm_tc3_int_1:
+    case scm_tc3_int_2:
       scm_intprint (SCM_INUM (exp), 10, port);
       break;
-    case 4:
+    case scm_tc3_imm24:
       if (SCM_CHARP (exp))
        {
-         register long i;
+         long i = SCM_CHAR (exp);
 
-         i = SCM_CHAR (exp);
          if (SCM_WRITINGP (pstate))
            {
              scm_puts ("#\\", port);
@@ -350,18 +358,17 @@
          scm_intprint (SCM_IDIST (exp), 10, port);
        }
       else
-       goto idef;
+       {
+         /* unknown immediate value */
+         scm_ipruk ("immediate", exp, port);
+       }
       break;
-    case 1:
+    case scm_tc3_cons_gloc:
       /* gloc */
       scm_puts ("#@", port);
       exp = SCM_GLOC_SYM (exp);
       goto taloop;
-    default:
-    idef:
-      scm_ipruk ("immediate", exp, port);
-      break;
-    case 0:
+    case scm_tc3_cons:
       switch (SCM_TYP7 (exp))
        {
        case scm_tcs_cons_gloc:



reply via email to

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