guile-cvs
[Top][All Lists]
Advanced

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

guile/guile-core/srfi ChangeLog srfi-14.c srfi-...


From: Martin Grabmueller
Subject: guile/guile-core/srfi ChangeLog srfi-14.c srfi-...
Date: Tue, 17 Jul 2001 12:41:49 -0700

CVSROOT:        /cvs
Module name:    guile
Changes by:     Martin Grabmueller <address@hidden>     01/07/17 12:41:49

Modified files:
        guile-core/srfi: ChangeLog srfi-14.c srfi-19.scm 

Log message:
        * srfi-14.c: Okay.  Now I got it.  Really.  This time it's fixed.
        Guaranteed. (Maybe)
        
        * srfi-19.scm: Define `current-time' before exporting it.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/srfi/ChangeLog.diff?cvsroot=OldCVS&tr1=1.54&tr2=1.55&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/srfi/srfi-14.c.diff?cvsroot=OldCVS&tr1=1.17&tr2=1.18&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/srfi/srfi-19.scm.diff?cvsroot=OldCVS&tr1=1.9&tr2=1.10&r1=text&r2=text

Patches:
Index: guile/guile-core/srfi/ChangeLog
diff -u guile/guile-core/srfi/ChangeLog:1.54 
guile/guile-core/srfi/ChangeLog:1.55
--- guile/guile-core/srfi/ChangeLog:1.54        Mon Jul 16 22:35:51 2001
+++ guile/guile-core/srfi/ChangeLog     Tue Jul 17 12:41:49 2001
@@ -1,5 +1,12 @@
 2001-07-17  Martin Grabmueller  <address@hidden>
 
+       * srfi-14.c: Okay.  Now I got it.  Really.  This time it's fixed.
+       Guaranteed. (Maybe)
+       
+       * srfi-19.scm: Define `current-time' before exporting it.
+
+2001-07-17  Martin Grabmueller  <address@hidden>
+
        * srfi-14.c: Fix for bug caused by brain-malfunctioning on my
        side.  Bit sets were handled wrong because I couldn't tell bit
        counts from byte counts.  Also, the bit array should be 256 / 8
Index: guile/guile-core/srfi/srfi-14.c
diff -u guile/guile-core/srfi/srfi-14.c:1.17 
guile/guile-core/srfi/srfi-14.c:1.18
--- guile/guile-core/srfi/srfi-14.c:1.17        Mon Jul 16 22:35:51 2001
+++ guile/guile-core/srfi/srfi-14.c     Tue Jul 17 12:41:49 2001
@@ -54,6 +54,10 @@
 #define SCM_CHARSET_SET(cs, idx) (((long *) SCM_SMOB_DATA (cs))[(idx) / 
SCM_BITS_PER_LONG] |= (1 << ((idx) % SCM_BITS_PER_LONG)))
 
 
+#define BYTES_PER_CHARSET (SCM_CHARSET_SIZE / 8)
+#define LONGS_PER_CHARSET (SCM_CHARSET_SIZE / SCM_BITS_PER_LONG)
+
+
 /* Smob type code for character sets.  */
 int scm_tc16_charset = 0;
 
@@ -94,8 +98,8 @@
 {
   long * p;
   
-  p = scm_must_malloc (SCM_CHARSET_SIZE / 8, func_name);
-  memset (p, 0, SCM_CHARSET_SIZE / 8);
+  p = scm_must_malloc (BYTES_PER_CHARSET, func_name);
+  memset (p, 0, BYTES_PER_CHARSET);
   SCM_RETURN_NEWSMOB (scm_tc16_charset, p);
 }
 
@@ -131,7 +135,7 @@
       csi_data = (long *) SCM_SMOB_DATA (csi);
       if (cs1_data == NULL)
        cs1_data = csi_data;
-      else if (memcmp (cs1_data, csi_data, SCM_CHARSET_SIZE / 8) != 0)
+      else if (memcmp (cs1_data, csi_data, BYTES_PER_CHARSET) != 0)
        return SCM_BOOL_F;
       char_sets = SCM_CDR (char_sets);
     }
@@ -163,7 +167,7 @@
        {
          int k;
          
-         for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
+         for (k = 0; k < LONGS_PER_CHARSET; k++)
            {
              if ((prev_data[k] & csi_data[k]) != prev_data[k])
                return SCM_BOOL_F;
@@ -202,7 +206,7 @@
     }
 
   p = (long *) SCM_SMOB_DATA (cs);
-  for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
+  for (k = 0; k < LONGS_PER_CHARSET; k++)
     {
       if (p[k] != 0)
         val = p[k] + (val << 1);
@@ -449,7 +453,7 @@
   ret = make_char_set (FUNC_NAME);
   p1 = (long *) SCM_SMOB_DATA (cs);
   p2 = (long *) SCM_SMOB_DATA (ret);
-  for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
+  for (k = 0; k < LONGS_PER_CHARSET; k++)
     p2[k] = p1[k];
   return ret;
 }
@@ -1030,7 +1034,7 @@
   res = make_char_set (FUNC_NAME);
   p = (long *) SCM_SMOB_DATA (res);
   q = (long *) SCM_SMOB_DATA (cs);
-  for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
+  for (k = 0; k < LONGS_PER_CHARSET; k++)
     p[k] = ~q[k];
   return res;
 }
@@ -1058,7 +1062,7 @@
       c++;
       rest = SCM_CDR (rest);
 
-      for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
+      for (k = 0; k < LONGS_PER_CHARSET; k++)
        p[k] |= ((long *) SCM_SMOB_DATA (cs))[k];
     }
   return res;
@@ -1088,7 +1092,7 @@
       c++;
       rest = SCM_CDR (rest);
 
-      for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
+      for (k = 0; k < LONGS_PER_CHARSET; k++)
        p[k] &= ((long *) SCM_SMOB_DATA (cs))[k];
     }
   return res;
@@ -1118,7 +1122,7 @@
       c++;
       rest = SCM_CDR (rest);
 
-      for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
+      for (k = 0; k < LONGS_PER_CHARSET; k++)
        p[k] &= ~((long *) SCM_SMOB_DATA (cs))[k];
     }
   return res;
@@ -1148,7 +1152,7 @@
       c++;
       rest = SCM_CDR (rest);
 
-      for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
+      for (k = 0; k < LONGS_PER_CHARSET; k++)
        p[k] ^= ((long *) SCM_SMOB_DATA (cs))[k];
     }
   return res;
@@ -1181,7 +1185,7 @@
       c++;
       rest = SCM_CDR (rest);
 
-      for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
+      for (k = 0; k < LONGS_PER_CHARSET; k++)
        {
          p[k] &= ~((long *) SCM_SMOB_DATA (cs))[k];
          q[k] &= ((long *) SCM_SMOB_DATA (cs))[k];
@@ -1202,7 +1206,7 @@
 
   SCM_VALIDATE_SMOB (1, cs, charset);
   p = (long *) SCM_SMOB_DATA (cs);
-  for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
+  for (k = 0; k < LONGS_PER_CHARSET; k++)
     p[k] = ~p[k];
   return cs;
 }
@@ -1229,7 +1233,7 @@
       c++;
       rest = SCM_CDR (rest);
 
-      for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
+      for (k = 0; k < LONGS_PER_CHARSET; k++)
        p[k] |= ((long *) SCM_SMOB_DATA (cs))[k];
     }
   return cs1;
@@ -1257,7 +1261,7 @@
       c++;
       rest = SCM_CDR (rest);
 
-      for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
+      for (k = 0; k < LONGS_PER_CHARSET; k++)
        p[k] &= ((long *) SCM_SMOB_DATA (cs))[k];
     }
   return cs1;
@@ -1285,7 +1289,7 @@
       c++;
       rest = SCM_CDR (rest);
 
-      for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
+      for (k = 0; k < LONGS_PER_CHARSET; k++)
        p[k] &= ~((long *) SCM_SMOB_DATA (cs))[k];
     }
   return cs1;
@@ -1313,7 +1317,7 @@
       c++;
       rest = SCM_CDR (rest);
 
-      for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
+      for (k = 0; k < LONGS_PER_CHARSET; k++)
        p[k] ^= ((long *) SCM_SMOB_DATA (cs))[k];
     }
   return cs1;
@@ -1345,7 +1349,7 @@
       c++;
       rest = SCM_CDR (rest);
 
-      for (k = 0; k < SCM_CHARSET_SIZE / sizeof (long); k++)
+      for (k = 0; k < LONGS_PER_CHARSET; k++)
        {
          p[k] &= ~((long *) SCM_SMOB_DATA (cs))[k];
          q[k] &= ((long *) SCM_SMOB_DATA (cs))[k];
@@ -1369,7 +1373,7 @@
   if (!initialized)
     {
       scm_tc16_charset = scm_make_smob_type ("character-set",
-                                            SCM_CHARSET_SIZE / 8);
+                                            BYTES_PER_CHARSET);
       scm_set_smob_free (scm_tc16_charset, charset_free);
       scm_set_smob_print (scm_tc16_charset, charset_print);
       initialized = 1;
@@ -1382,6 +1386,13 @@
 void
 scm_init_srfi_14 (void)
 {
+#if 0
+  fprintf(stderr, "bytes-per-charset: %d\n", BYTES_PER_CHARSET);
+  fprintf(stderr, "bits-per-long: %d\n", SCM_BITS_PER_LONG);
+  fprintf(stderr, "longs-per-charset: %d\n", LONGS_PER_CHARSET);
+  fflush (stderr);
+#endif /* 0 */
+
   /* Do the smob type initialization.  */
   scm_c_init_srfi_14 ();
 
Index: guile/guile-core/srfi/srfi-19.scm
diff -u guile/guile-core/srfi/srfi-19.scm:1.9 
guile/guile-core/srfi/srfi-19.scm:1.10
--- guile/guile-core/srfi/srfi-19.scm:1.9       Fri Jul  6 07:00:13 2001
+++ guile/guile-core/srfi/srfi-19.scm   Tue Jul 17 12:41:49 2001
@@ -60,8 +60,15 @@
 (define-module (srfi srfi-19)
   :use-module (srfi srfi-6)
   :use-module (srfi srfi-8)
-  :use-module (srfi srfi-9)
-  :export (;; Constants
+  :use-module (srfi srfi-9))
+
+(begin-deprecated
+ ;; Prevent `export' from re-exporting core bindings.  This behaviour
+ ;; of `export' is deprecated and will disappear in one of the next
+ ;; releases.
+ (define current-time #f))
+
+(export ;; Constants
            time-duration
            time-monotonic
            time-process
@@ -147,7 +154,7 @@
            time-utc->time-tai!
            ;; Date to string/string to date converters.
            date->string
-           string->date))
+           string->date)
 
 (cond-expand-provide (current-module) '(srfi-19))
 



reply via email to

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