guile-cvs
[Top][All Lists]
Advanced

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

guile/guile-core NEWS RELEASE libguile/ChangeLo...


From: Dirk Herrmann
Subject: guile/guile-core NEWS RELEASE libguile/ChangeLo...
Date: Wed, 25 Oct 2000 04:01:04 -0700

CVSROOT:        /cvs
Module name:    guile
Changes by:     Dirk Herrmann <address@hidden>  00/10/25 04:01:03

Modified files:
        guile-core     : NEWS RELEASE 
        guile-core/libguile: ChangeLog alist.c async.c dynl.c filesys.c 
                             fports.c hash.c posix.c print.c simpos.c 
                             strings.c strop.c struct.c symbols.c 
                             symbols.h eval.c gc.c gc.h read.c root.c 
                             root.h tags.h validate.h 

Log message:
        * Some more work to get rid of SCM_LENGTH
        * Eliminated some cell type bit fiddling
        * Various minor changes

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/NEWS.diff?r1=1.206&r2=1.207
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/RELEASE.diff?r1=1.70&r2=1.71
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/ChangeLog.diff?r1=1.1150&r2=1.1151
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/alist.c.diff?r1=1.30&r2=1.31
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/async.c.diff?r1=1.49&r2=1.50
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/dynl.c.diff?r1=1.49&r2=1.50
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/filesys.c.diff?r1=1.82&r2=1.83
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/fports.c.diff?r1=1.79&r2=1.80
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/hash.c.diff?r1=1.33&r2=1.34
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/posix.c.diff?r1=1.73&r2=1.74
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/print.c.diff?r1=1.101&r2=1.102
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/simpos.c.diff?r1=1.35&r2=1.36
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/strings.c.diff?r1=1.41&r2=1.42
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/strop.c.diff?r1=1.43&r2=1.44
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/struct.c.diff?r1=1.62&r2=1.63
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/symbols.c.diff?r1=1.60&r2=1.61
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/symbols.h.diff?r1=1.37&r2=1.38
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/eval.c.diff?r1=1.175&r2=1.176
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/gc.c.diff?r1=1.159&r2=1.160
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/gc.h.diff?r1=1.64&r2=1.65
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/read.c.diff?r1=1.59&r2=1.60
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/root.c.diff?r1=1.44&r2=1.45
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/root.h.diff?r1=1.28&r2=1.29
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/tags.h.diff?r1=1.67&r2=1.68
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/libguile/validate.h.diff?r1=1.17&r2=1.18

Patches:
Index: guile/guile-core/NEWS
diff -u guile/guile-core/NEWS:1.206 guile/guile-core/NEWS:1.207
--- guile/guile-core/NEWS:1.206 Fri Oct 13 00:55:23 2000
+++ guile/guile-core/NEWS       Wed Oct 25 04:01:03 2000
@@ -140,11 +140,14 @@
 ** Deprecated macros:  SCM_OUTOFRANGE, SCM_NALLOC, SCM_HUP_SIGNAL, 
 SCM_INT_SIGNAL, SCM_FPE_SIGNAL, SCM_BUS_SIGNAL, SCM_SEGV_SIGNAL, 
 SCM_ALRM_SIGNAL, SCM_GC_SIGNAL, SCM_TICK_SIGNAL, SCM_SIG_ORD, 
-SCM_ORD_SIG, SCM_NUM_SIGS, SCM_SYMBOL_SLOTS, SCM_SLOTS, SCM_SLOPPY_STRINGP
+SCM_ORD_SIG, SCM_NUM_SIGS, SCM_SYMBOL_SLOTS, SCM_SLOTS, SCM_SLOPPY_STRINGP,
+SCM_VALIDATE_STRINGORSUBSTR, SCM_FREEP, SCM_NFREEP
 
 Use SCM_ASSERT_RANGE or SCM_VALIDATE_XXX_RANGE instead of SCM_OUTOFRANGE.
 Use scm_memory_error instead of SCM_NALLOC.
 Use SCM_STRINGP instead of SCM_SLOPPY_STRINGP.
+Use SCM_VALIDATE_STRING instead of SCM_VALIDATE_STRINGORSUBSTR.
+Use SCM_FREE_CELL_P instead of SCM_FREEP/SCM_NFREEP
 
 ** Removed function:  scm_struct_init
 
Index: guile/guile-core/RELEASE
diff -u guile/guile-core/RELEASE:1.70 guile/guile-core/RELEASE:1.71
--- guile/guile-core/RELEASE:1.70       Fri Oct 13 00:55:24 2000
+++ guile/guile-core/RELEASE    Wed Oct 25 04:01:03 2000
@@ -9,11 +9,6 @@
 
 * Deprecate `read-only-string?'.
 
-Before releasing the next version of libguile which is not binary compatible
-with the one released with 1.4:
-- remove struct members system_transformer and top_level_lookup_closure_var
-  from struct scm_root_state in root.h.
-
 After signal handling and threading have been fixed:
 - remove the code corresponding to GUILE_OLD_ASYNC_CLICK and the corresponding
   GUILE_OLD_ASYNC_CLICK macro.
@@ -50,7 +45,8 @@
 - remove deprecated macros: SCM_OUTOFRANGE, SCM_NALLOC, SCM_HUP_SIGNAL, 
   SCM_INT_SIGNAL, SCM_FPE_SIGNAL, SCM_BUS_SIGNAL, SCM_SEGV_SIGNAL, 
   SCM_ALRM_SIGNAL, SCM_GC_SIGNAL, SCM_TICK_SIGNAL, SCM_SIG_ORD, 
-  SCM_ORD_SIG, SCM_NUM_SIGS, SCM_SLOPPY_STRINGP
+  SCM_ORD_SIG, SCM_NUM_SIGS, SCM_SLOPPY_STRINGP, SCM_VALIDATE_STRINGORSUBSTR,
+  SCM_FREEP, SCM_NFREEP
 - remove function scm_call_catching_errors
   (replaced by catch functions from throw.[ch])
 - remove support for "#&" reader syntax in (ice-9 optargs).
Index: guile/guile-core/libguile/ChangeLog
diff -u guile/guile-core/libguile/ChangeLog:1.1150 
guile/guile-core/libguile/ChangeLog:1.1151
--- guile/guile-core/libguile/ChangeLog:1.1150  Tue Oct 24 13:37:00 2000
+++ guile/guile-core/libguile/ChangeLog Wed Oct 25 04:01:03 2000
@@ -1,3 +1,53 @@
+2000-10-25  Dirk Herrmann  <address@hidden>
+
+       * alist.c (scm_assq_ref):  Add a suggestion about how to deal with
+       this function when the API gets reviewed.
+
+       * async.c (SET_ASYNC_GOT_IT):  Use SCM_TYP16 instead of doing bit
+       operations directly.
+
+       * dynl.c (scm_coerce_rostring), filesys.c (scm_link,
+       scm_copy_file), fports (scm_open_file), hash.c (scm_hasher),
+       posix.c (scm_getpwuid), print.c (scm_iprin1), simpos.c
+       (scm_system), strings.c (scm_string_ref, scm_substring,
+       scm_string_append), strop.c (scm_string_copy), struct.c
+       (scm_make_struct_layout), symbols.c (scm_gensym, scm_gentemp),
+       symbols.h (SCM_COERCE_SUBSTR):  Use SCM_STRING_LENGTH instead of   
+       SCM_ROLENGTH if the object is known to be a string or substring.
+
+       * eval.c (scm_lookupcar):  Use SCM_ITAG7 instead of doing bit
+       operations directly.
+
+       * filesys.c (scm_dirname, scm_basename):  Don't create shared
+       substrings as these are going to disappear from guile.
+
+       * gc.c (scm_gc_sweep):  Use SCM_UVECTOR_LENGTH instead of
+       SCM_HUGE_LENGTH.  (The SCM_HUGE_LENGTH mechanism does not work
+       correctly anyway.)
+
+       * gc.h (SCM_FREEP, SCM_NFREEP):  Deprecated.
+
+       * read.c (scm_flush_ws):  Don't compare SCM values directly.
+
+       * root.c (scm_make_root), root.h (scm_root_state):  Removed
+       system_transformer and top_level_lookup_closure_var from struct.
+       (Since eval is now R5RS, binary compatibility is not granted
+       anyway.)
+
+       * simpos.c (scm_system):  Fix condition.
+
+       * strings.c (scm_string_length, scm_string_ref, scm_substring,
+       scm_string_append), strop.c (scm_string_copy), struct.c
+       (scm_make_struct_layout, scm_make_vtable_vtable), symbols.c
+       (scm_gensym, scm_gentemp):  Replace SCM_VALIDATE_STRINGORSUBSTR
+       with SCM_VALIDATE_STRING, since they do the same thing.
+
+       * strings.h (scm_make_shared_substring):  Deprecated.
+
+       * tags.h (SCM_ITAG7):  Added.
+
+       * validated.h (SCM_VALIDATE_STRINGORSUBSTR):  Deprecated.
+
 2000-10-20  Marius Vollmer  <address@hidden>
 
        * init.c (scm_init_guile_1, invoke_main_func): Call
Index: guile/guile-core/libguile/alist.c
diff -u guile/guile-core/libguile/alist.c:1.30 
guile/guile-core/libguile/alist.c:1.31
--- guile/guile-core/libguile/alist.c:1.30      Sun Aug 13 14:05:03 2000
+++ guile/guile-core/libguile/alist.c   Wed Oct 25 04:01:03 2000
@@ -207,6 +207,18 @@
 
 
 
+/* Dirk:API2.0:: We should not return #f if the key was not found.  In the
+ * current solution we can not distinguish between finding a (key . #f) pair
+ * and not finding the key at all.
+ *
+ * Possible alternative solutions:
+ * 1) Remove assq-ref from the API:  assq is sufficient.
+ * 2) Signal an error (what error type?) if the key is not found.
+ * 3) provide an additional 'default' parameter.
+ * 3.1) The default parameter is mandatory.
+ * 3.2) The default parameter is optional, but if no default is given and
+ *      the key is not found, signal an error (what error type?).
+ */
 SCM_DEFINE (scm_assq_ref, "assq-ref", 2, 0, 0,
             (SCM alist, SCM key),
            "@deffnx primitive assv-ref alist key\n"
Index: guile/guile-core/libguile/async.c
diff -u guile/guile-core/libguile/async.c:1.49 
guile/guile-core/libguile/async.c:1.50
--- guile/guile-core/libguile/async.c:1.49      Thu Jun 29 08:06:31 2000
+++ guile/guile-core/libguile/async.c   Wed Oct 25 04:01:03 2000
@@ -121,7 +121,7 @@
 #define VALIDATE_ASYNC(pos,a) SCM_MAKE_VALIDATE(pos, a, ASYNCP)
 
 #define ASYNC_GOT_IT(X)        (SCM_CELL_WORD_0 (X) >> 16)
-#define SET_ASYNC_GOT_IT(X, V) (SCM_SET_CELL_WORD_0 (X, (SCM_CELL_WORD_0 (X) & 
((1 << 16) - 1)) | ((V) << 16)))
+#define SET_ASYNC_GOT_IT(X, V) (SCM_SET_CELL_WORD_0 ((X), SCM_TYP16 (X) | ((V) 
<< 16)))
 #define ASYNC_THUNK(X)         SCM_CELL_OBJECT_1 (X)
 
 
Index: guile/guile-core/libguile/dynl.c
diff -u guile/guile-core/libguile/dynl.c:1.49 
guile/guile-core/libguile/dynl.c:1.50
--- guile/guile-core/libguile/dynl.c:1.49       Tue Sep 26 11:37:26 2000
+++ guile/guile-core/libguile/dynl.c    Wed Oct 25 04:01:03 2000
@@ -127,7 +127,7 @@
 {
   SCM_ASSERT (SCM_ROSTRINGP (rostr), rostr, argn, subr);
   if (SCM_SUBSTRP (rostr))
-    rostr = scm_makfromstr (SCM_ROCHARS (rostr), SCM_ROLENGTH (rostr), 0);
+    rostr = scm_makfromstr (SCM_ROCHARS (rostr), SCM_STRING_LENGTH (rostr), 0);
   return rostr;
 }
 
Index: guile/guile-core/libguile/eval.c
diff -u guile/guile-core/libguile/eval.c:1.175 
guile/guile-core/libguile/eval.c:1.176
--- guile/guile-core/libguile/eval.c:1.175      Tue Oct 10 02:22:31 2000
+++ guile/guile-core/libguile/eval.c    Wed Oct 25 04:01:03 2000
@@ -370,7 +370,7 @@
       if (SCM_ITAG3 (var) == scm_tc3_cons_gloc)
        return SCM_GLOC_VAL_LOC (var);
 #ifdef MEMOIZE_LOCALS
-      if ((SCM_UNPACK (var) & 127) == (127 & SCM_UNPACK (SCM_ILOC00)))
+      if (SCM_ITAG7 (var) == SCM_ITAG7 (SCM_ILOC00))
        return scm_ilookup (var, genv);
 #endif
       /* We can't cope with anything else than glocs and ilocs.  When
Index: guile/guile-core/libguile/filesys.c
diff -u guile/guile-core/libguile/filesys.c:1.82 
guile/guile-core/libguile/filesys.c:1.83
--- guile/guile-core/libguile/filesys.c:1.82    Mon Oct  9 09:27:24 2000
+++ guile/guile-core/libguile/filesys.c Wed Oct 25 04:01:03 2000
@@ -547,11 +547,11 @@
   SCM_VALIDATE_ROSTRING (1,oldpath);
   if (SCM_SUBSTRP (oldpath))
     oldpath = scm_makfromstr (SCM_ROCHARS (oldpath),
-                             SCM_ROLENGTH (oldpath), 0);
+                             SCM_STRING_LENGTH (oldpath), 0);
   SCM_VALIDATE_ROSTRING (2,newpath);
   if (SCM_SUBSTRP (newpath))
     newpath = scm_makfromstr (SCM_ROCHARS (newpath),
-                             SCM_ROLENGTH (newpath), 0);
+                             SCM_STRING_LENGTH (newpath), 0);
   SCM_SYSCALL (val = link (SCM_ROCHARS (oldpath), SCM_ROCHARS (newpath)));
   if (val != 0)
     SCM_SYSERROR;
@@ -1289,10 +1289,10 @@
 
   SCM_VALIDATE_ROSTRING (1,oldfile);
   if (SCM_SUBSTRP (oldfile))
-    oldfile = scm_makfromstr (SCM_ROCHARS (oldfile), SCM_ROLENGTH (oldfile), 
0);
+    oldfile = scm_makfromstr (SCM_ROCHARS (oldfile), SCM_STRING_LENGTH 
(oldfile), 0);
   SCM_VALIDATE_ROSTRING (2,newfile);
   if (SCM_SUBSTRP (newfile))
-    newfile = scm_makfromstr (SCM_ROCHARS (newfile), SCM_ROLENGTH (newfile), 
0);
+    newfile = scm_makfromstr (SCM_ROCHARS (newfile), SCM_STRING_LENGTH 
(newfile), 0);
   if (stat (SCM_ROCHARS (oldfile), &oldstat) == -1)
     SCM_SYSERROR;
   oldfd = open (SCM_ROCHARS (oldfile), O_RDONLY);
@@ -1345,12 +1345,12 @@
   if (i < 0)
     {
       if (len > 0 && s[0] == '/')
-       return scm_make_shared_substring (filename, SCM_INUM0, SCM_MAKINUM (1));
+       return scm_substring (filename, SCM_INUM0, SCM_MAKINUM (1));
       else
        return scm_dot_string;
     }
   else
-    return scm_make_shared_substring (filename, SCM_INUM0, SCM_MAKINUM (i + 
1));
+    return scm_substring (filename, SCM_INUM0, SCM_MAKINUM (i + 1));
 }
 #undef FUNC_NAME
 
@@ -1384,14 +1384,12 @@
   if (i == end)
     {
       if (len > 0 && f[0] == '/')
-       return scm_make_shared_substring (filename, SCM_INUM0, SCM_MAKINUM (1));
+       return scm_substring (filename, SCM_INUM0, SCM_MAKINUM (1));
       else
        return scm_dot_string;
     }
   else
-    return scm_make_shared_substring (filename,
-                                     SCM_MAKINUM (i + 1),
-                                     SCM_MAKINUM (end + 1));
+    return scm_substring (filename, SCM_MAKINUM (i + 1), SCM_MAKINUM (end + 
1));
 }
 #undef FUNC_NAME
 
Index: guile/guile-core/libguile/fports.c
diff -u guile/guile-core/libguile/fports.c:1.79 
guile/guile-core/libguile/fports.c:1.80
--- guile/guile-core/libguile/fports.c:1.79     Mon Jun 12 17:49:40 2000
+++ guile/guile-core/libguile/fports.c  Wed Oct 25 04:01:03 2000
@@ -279,9 +279,9 @@
   SCM_VALIDATE_ROSTRING (1,filename);
   SCM_VALIDATE_ROSTRING (2,modes);
   if (SCM_SUBSTRP (filename))
-    filename = scm_makfromstr (SCM_ROCHARS (filename), SCM_ROLENGTH 
(filename), 0);
+    filename = scm_makfromstr (SCM_ROCHARS (filename), SCM_STRING_LENGTH 
(filename), 0);
   if (SCM_SUBSTRP (modes))
-    modes = scm_makfromstr (SCM_ROCHARS (modes), SCM_ROLENGTH (modes), 0);
+    modes = scm_makfromstr (SCM_ROCHARS (modes), SCM_STRING_LENGTH (modes), 0);
 
   file = SCM_ROCHARS (filename);
   mode = SCM_ROCHARS (modes);
Index: guile/guile-core/libguile/gc.c
diff -u guile/guile-core/libguile/gc.c:1.159 
guile/guile-core/libguile/gc.c:1.160
--- guile/guile-core/libguile/gc.c:1.159        Tue Oct 10 02:22:31 2000
+++ guile/guile-core/libguile/gc.c      Wed Oct 25 04:01:03 2000
@@ -1639,7 +1639,7 @@
            case scm_tc7_fvect:
            case scm_tc7_dvect:
            case scm_tc7_cvect:
-             m += SCM_HUGE_LENGTH (scmptr) * scm_uniform_element_size (scmptr);
+             m += SCM_UVECTOR_LENGTH (scmptr) * scm_uniform_element_size 
(scmptr);
              scm_must_free (SCM_UVECTOR_BASE (scmptr));
              break;
 #endif
Index: guile/guile-core/libguile/gc.h
diff -u guile/guile-core/libguile/gc.h:1.64 guile/guile-core/libguile/gc.h:1.65
--- guile/guile-core/libguile/gc.h:1.64 Wed Oct 11 12:20:14 2000
+++ guile/guile-core/libguile/gc.h      Wed Oct 25 04:01:03 2000
@@ -280,9 +280,6 @@
 #endif
 
 
-#define SCM_FREEP(x) (SCM_FREE_CELL_P (x))
-#define SCM_NFREEP(x) (!SCM_FREEP (x))
-
 #define SCM_MARKEDP    SCM_GCMARKP
 #define SCM_NMARKEDP(x) (!SCM_MARKEDP (x))
 
@@ -371,6 +368,16 @@
                             scm_sizet max_segment_size);
 extern void *scm_get_stack_base (void);
 extern void scm_init_gc (void);
+
+
+
+#if (SCM_DEBUG_DEPRECATED == 0)
+
+#define SCM_FREEP(x) (SCM_FREE_CELL_P (x))
+#define SCM_NFREEP(x) (!SCM_FREE_CELL_P (x))
+
+#endif  /* SCM_DEBUG_DEPRECATED == 0 */
+
 #endif  /* GCH */
 
 /*
Index: guile/guile-core/libguile/hash.c
diff -u guile/guile-core/libguile/hash.c:1.33 
guile/guile-core/libguile/hash.c:1.34
--- guile/guile-core/libguile/hash.c:1.33       Mon Oct  9 07:37:36 2000
+++ guile/guile-core/libguile/hash.c    Wed Oct 25 04:01:03 2000
@@ -121,7 +121,7 @@
     case scm_tc7_string:
       return scm_string_hash (SCM_STRING_UCHARS (obj), SCM_STRING_LENGTH 
(obj)) % n;
     case scm_tc7_substring:
-      return scm_string_hash (SCM_ROUCHARS (obj), SCM_ROLENGTH (obj)) % n;
+      return scm_string_hash (SCM_ROUCHARS (obj), SCM_STRING_LENGTH (obj)) % n;
     case scm_tc7_symbol:
       return SCM_SYMBOL_HASH (obj) % n;
     case scm_tc7_wvect:
Index: guile/guile-core/libguile/posix.c
diff -u guile/guile-core/libguile/posix.c:1.73 
guile/guile-core/libguile/posix.c:1.74
--- guile/guile-core/libguile/posix.c:1.73      Mon Oct  9 09:27:24 2000
+++ guile/guile-core/libguile/posix.c   Wed Oct 25 04:01:03 2000
@@ -266,7 +266,7 @@
     {
       SCM_VALIDATE_ROSTRING (1,user);
       if (SCM_SUBSTRP (user))
-       user = scm_makfromstr (SCM_ROCHARS (user), SCM_ROLENGTH (user), 0);
+       user = scm_makfromstr (SCM_ROCHARS (user), SCM_STRING_LENGTH (user), 0);
       entry = getpwnam (SCM_ROCHARS (user));
     }
   if (!entry)
Index: guile/guile-core/libguile/print.c
diff -u guile/guile-core/libguile/print.c:1.101 
guile/guile-core/libguile/print.c:1.102
--- guile/guile-core/libguile/print.c:1.101     Wed Oct 18 14:05:57 2000
+++ guile/guile-core/libguile/print.c   Wed Oct 25 04:01:03 2000
@@ -477,7 +477,7 @@
              scm_sizet i;
 
              scm_putc ('"', port);
-             for (i = 0; i < SCM_ROLENGTH (exp); ++i)
+             for (i = 0; i < SCM_STRING_LENGTH (exp); ++i)
                switch (SCM_ROCHARS (exp)[i])
                  {
                  case '"':
@@ -490,7 +490,7 @@
              break;
            }
          else
-           scm_lfwrite (SCM_ROCHARS (exp), (scm_sizet) SCM_ROLENGTH (exp),
+           scm_lfwrite (SCM_ROCHARS (exp), (scm_sizet) SCM_STRING_LENGTH (exp),
                         port);
          break;
        case scm_tc7_symbol:
Index: guile/guile-core/libguile/read.c
diff -u guile/guile-core/libguile/read.c:1.59 
guile/guile-core/libguile/read.c:1.60
--- guile/guile-core/libguile/read.c:1.59       Fri Oct  6 09:51:08 2000
+++ guile/guile-core/libguile/read.c    Wed Oct 25 04:01:03 2000
@@ -146,7 +146,7 @@
       goteof:
        if (eoferr)
          {
-           if (SCM_FILENAME (port) != SCM_BOOL_F)
+           if (!SCM_FALSEP (SCM_FILENAME (port)))
              scm_misc_error (eoferr,
                              "end of file in ~A",
                              SCM_LIST1 (SCM_FILENAME (port)));
Index: guile/guile-core/libguile/root.c
diff -u guile/guile-core/libguile/root.c:1.44 
guile/guile-core/libguile/root.c:1.45
--- guile/guile-core/libguile/root.c:1.44       Fri Sep 22 06:40:12 2000
+++ guile/guile-core/libguile/root.c    Wed Oct 25 04:01:03 2000
@@ -142,8 +142,6 @@
        = root_state->def_errp
        = root_state->cur_loadp
        = root_state->fluids
-       = root_state->system_transformer
-       = root_state->top_level_lookup_closure_var
        = root_state->handle
        = root_state->parent
        = SCM_BOOL_F;
Index: guile/guile-core/libguile/root.h
diff -u guile/guile-core/libguile/root.h:1.28 
guile/guile-core/libguile/root.h:1.29
--- guile/guile-core/libguile/root.h:1.28       Sun Sep  3 13:26:11 2000
+++ guile/guile-core/libguile/root.h    Wed Oct 25 04:01:03 2000
@@ -115,9 +115,6 @@
 
   SCM fluids;
 
-  SCM system_transformer;          /* No longer used (but kept for binary 
compatibility) */
-  SCM top_level_lookup_closure_var; /* No longer used (but kept for binary 
compatibility) */
-
   SCM handle;                  /* The root object for this root state */
   SCM parent;                  /* The parent root object */
 } scm_root_state;
Index: guile/guile-core/libguile/simpos.c
diff -u guile/guile-core/libguile/simpos.c:1.35 
guile/guile-core/libguile/simpos.c:1.36
--- guile/guile-core/libguile/simpos.c:1.35     Fri Sep 22 10:17:55 2000
+++ guile/guile-core/libguile/simpos.c  Wed Oct 25 04:01:03 2000
@@ -85,8 +85,8 @@
   SCM_VALIDATE_ROSTRING (1,cmd);
   SCM_DEFER_INTS;
   errno = 0;
-  if (SCM_ROSTRINGP (cmd))
-    cmd = scm_makfromstr (SCM_ROCHARS (cmd), SCM_ROLENGTH (cmd), 0);
+  if (SCM_SUBSTRP (cmd))
+    cmd = scm_makfromstr (SCM_ROCHARS (cmd), SCM_STRING_LENGTH (cmd), 0);
   rv = system(SCM_ROCHARS(cmd));
   if (rv == -1 || (rv == 127 && errno != 0))
     SCM_SYSERROR;
Index: guile/guile-core/libguile/strings.c
diff -u guile/guile-core/libguile/strings.c:1.41 
guile/guile-core/libguile/strings.c:1.42
--- guile/guile-core/libguile/strings.c:1.41    Mon Oct  9 07:37:36 2000
+++ guile/guile-core/libguile/strings.c Wed Oct 25 04:01:03 2000
@@ -241,7 +241,7 @@
            "Returns the number of characters in STRING")
 #define FUNC_NAME s_scm_string_length
 {
-  SCM_VALIDATE_STRINGORSUBSTR (1, string);
+  SCM_VALIDATE_STRING (1, string);
   return SCM_MAKINUM (SCM_STRING_LENGTH (string));
 }
 #undef FUNC_NAME
@@ -254,9 +254,9 @@
 {
   int idx;
 
-  SCM_VALIDATE_STRINGORSUBSTR (1, str);
+  SCM_VALIDATE_STRING (1, str);
   SCM_VALIDATE_INUM_COPY (2, k, idx);
-  SCM_ASSERT_RANGE (2, k, idx >= 0 && idx < SCM_ROLENGTH (str));
+  SCM_ASSERT_RANGE (2, k, idx >= 0 && idx < SCM_STRING_LENGTH (str));
   return SCM_MAKE_CHAR (SCM_ROUCHARS (str)[idx]);
 }
 #undef FUNC_NAME
@@ -288,14 +288,14 @@
   long int from;
   long int to;
 
-  SCM_VALIDATE_STRINGORSUBSTR (1, str);
+  SCM_VALIDATE_STRING (1, str);
   SCM_VALIDATE_INUM (2, start);
-  SCM_VALIDATE_INUM_DEF (3, end, SCM_ROLENGTH (str));
+  SCM_VALIDATE_INUM_DEF (3, end, SCM_STRING_LENGTH (str));
 
   from = SCM_INUM (start);
-  SCM_ASSERT_RANGE (2, start, 0 <= from && from <= SCM_ROLENGTH (str));
+  SCM_ASSERT_RANGE (2, start, 0 <= from && from <= SCM_STRING_LENGTH (str));
   to = SCM_INUM (end);
-  SCM_ASSERT_RANGE (3, end, from <= to && to <= SCM_ROLENGTH (str));
+  SCM_ASSERT_RANGE (3, end, from <= to && to <= SCM_STRING_LENGTH (str));
 
   return scm_makfromstr (&SCM_ROCHARS (str)[from], (scm_sizet) (to - from), 0);
 }
@@ -316,14 +316,14 @@
   SCM_VALIDATE_REST_ARGUMENT (args);
   for (l = args; !SCM_NULLP (l); l = SCM_CDR (l)) {
     s = SCM_CAR (l);
-    SCM_VALIDATE_STRINGORSUBSTR (SCM_ARGn,s);
-    i += SCM_ROLENGTH (s);
+    SCM_VALIDATE_STRING (SCM_ARGn,s);
+    i += SCM_STRING_LENGTH (s);
   }
   res = scm_makstr (i, 0);
   data = SCM_STRING_UCHARS (res);
   for (l = args;SCM_NIMP (l);l = SCM_CDR (l)) {
     s = SCM_CAR (l);
-    for (i = 0;i<SCM_ROLENGTH (s);i++) *data++ = SCM_ROUCHARS (s)[i];
+    for (i = 0;i<SCM_STRING_LENGTH (s);i++) *data++ = SCM_ROUCHARS (s)[i];
   }
   return res;
 }
Index: guile/guile-core/libguile/strop.c
diff -u guile/guile-core/libguile/strop.c:1.43 
guile/guile-core/libguile/strop.c:1.44
--- guile/guile-core/libguile/strop.c:1.43      Mon Oct  9 07:37:36 2000
+++ guile/guile-core/libguile/strop.c   Wed Oct 25 04:01:03 2000
@@ -342,8 +342,8 @@
            "Returns a newly allocated copy of the given @var{string}. (r5rs)")
 #define FUNC_NAME s_scm_string_copy
 {
-  SCM_VALIDATE_STRINGORSUBSTR (1,str);
-  return scm_makfromstr (SCM_ROCHARS (str), (scm_sizet)SCM_ROLENGTH (str), 0);
+  SCM_VALIDATE_STRING (1, str);
+  return scm_makfromstr (SCM_ROCHARS (str), SCM_STRING_LENGTH (str), 0);
 }
 #undef FUNC_NAME
 
Index: guile/guile-core/libguile/struct.c
diff -u guile/guile-core/libguile/struct.c:1.62 
guile/guile-core/libguile/struct.c:1.63
--- guile/guile-core/libguile/struct.c:1.62     Mon Oct  9 07:37:36 2000
+++ guile/guile-core/libguile/struct.c  Wed Oct 25 04:01:03 2000
@@ -81,13 +81,13 @@
 #define FUNC_NAME s_scm_make_struct_layout
 {
   SCM new_sym;
-  SCM_VALIDATE_STRINGORSUBSTR (1, fields);
+  SCM_VALIDATE_STRING (1, fields);
   { /* scope */
     char * field_desc;
     int len;
     int x;
 
-    len = SCM_ROLENGTH (fields);
+    len = SCM_STRING_LENGTH (fields);
     field_desc = SCM_ROCHARS (fields);
     SCM_ASSERT (!(len & 1), fields, "odd length field specification", 
FUNC_NAME);
 
@@ -524,7 +524,7 @@
   scm_bits_t * data;
   SCM handle;
 
-  SCM_VALIDATE_STRINGORSUBSTR (1, user_fields);
+  SCM_VALIDATE_STRING (1, user_fields);
   SCM_VALIDATE_INUM (2, tail_array_size);
   SCM_VALIDATE_REST_ARGUMENT (init);
 
Index: guile/guile-core/libguile/symbols.c
diff -u guile/guile-core/libguile/symbols.c:1.60 
guile/guile-core/libguile/symbols.c:1.61
--- guile/guile-core/libguile/symbols.c:1.60    Mon Oct  9 09:27:24 2000
+++ guile/guile-core/libguile/symbols.c Wed Oct 25 04:01:03 2000
@@ -833,8 +833,8 @@
     }
   else
     {
-      SCM_VALIDATE_STRINGORSUBSTR (1, prefix);
-      len = SCM_ROLENGTH (prefix);
+      SCM_VALIDATE_STRING (1, prefix);
+      len = SCM_STRING_LENGTH (prefix);
       if (len > MAX_PREFIX_LENGTH)
        name = SCM_MUST_MALLOC (MAX_PREFIX_LENGTH + SCM_INTBUFLEN);
       strncpy (name, SCM_ROCHARS (prefix), len);
@@ -871,8 +871,8 @@
     }
   else
     {
-      SCM_VALIDATE_STRINGORSUBSTR (1, prefix);
-      len = SCM_ROLENGTH (prefix);
+      SCM_VALIDATE_STRING (1, prefix);
+      len = SCM_STRING_LENGTH (prefix);
       if (len > MAX_PREFIX_LENGTH)
        name = SCM_MUST_MALLOC (MAX_PREFIX_LENGTH + SCM_INTBUFLEN);
       strncpy (name, SCM_ROCHARS (prefix), len);
Index: guile/guile-core/libguile/symbols.h
diff -u guile/guile-core/libguile/symbols.h:1.37 
guile/guile-core/libguile/symbols.h:1.38
--- guile/guile-core/libguile/symbols.h:1.37    Fri Oct  6 06:35:58 2000
+++ guile/guile-core/libguile/symbols.h Wed Oct 25 04:01:03 2000
@@ -95,7 +95,7 @@
 
 #define SCM_COERCE_SUBSTR(x) { if (SCM_SUBSTRP (x)) \
                                 x = scm_makfromstr (SCM_ROCHARS (x), \
-                                                    SCM_ROLENGTH (x), 0); }
+                                                    SCM_STRING_LENGTH (x), 0); 
}
 
 
 
Index: guile/guile-core/libguile/tags.h
diff -u guile/guile-core/libguile/tags.h:1.67 
guile/guile-core/libguile/tags.h:1.68
--- guile/guile-core/libguile/tags.h:1.67       Tue Sep 26 11:37:26 2000
+++ guile/guile-core/libguile/tags.h    Wed Oct 25 04:01:03 2000
@@ -316,6 +316,7 @@
  */
 
 
+#define SCM_ITAG7(x)           (127 & SCM_UNPACK (x))
 #define SCM_TYP7(x)            (0x7f &        SCM_CELL_TYPE (x))
 #define SCM_TYP7S(x)           ((0x7f & ~2) & SCM_CELL_TYPE (x))
 
Index: guile/guile-core/libguile/validate.h
diff -u guile/guile-core/libguile/validate.h:1.17 
guile/guile-core/libguile/validate.h:1.18
--- guile/guile-core/libguile/validate.h:1.17   Mon Oct  9 09:27:24 2000
+++ guile/guile-core/libguile/validate.h        Wed Oct 25 04:01:03 2000
@@ -1,4 +1,4 @@
-/* $Id: validate.h,v 1.17 2000/10/09 16:27:24 dirk Exp $ */
+/* $Id: validate.h,v 1.18 2000/10/25 11:01:03 dirk Exp $ */
 /*     Copyright (C) 1999, 2000 Free Software Foundation, Inc.
  *
  * This program is free software; you can redistribute it and/or modify
@@ -144,12 +144,6 @@
 
 #define SCM_VALIDATE_STRING(pos, str) SCM_MAKE_VALIDATE (pos, str, STRINGP)
 
-#define SCM_VALIDATE_STRINGORSUBSTR(pos, str) \
-  do { \
-    SCM_ASSERT (SCM_STRINGP (str) || SCM_SUBSTRP (str), \
-                str, pos, FUNC_NAME); \
-  } while (0)
-
 #define SCM_VALIDATE_STRING_COPY(pos, str, cvar) \
   do { \
     SCM_ASSERT (SCM_STRINGP (str), str, pos, FUNC_NAME); \
@@ -415,6 +409,14 @@
   do { \
     SCM_ASSERT (SCM_VECTORP (v) && len == SCM_VECTOR_LENGTH (v), v, pos, 
FUNC_NAME); \
   } while (0)
+
+
+
+#if (SCM_DEBUG_DEPRECATED == 0)
+
+#define SCM_VALIDATE_STRINGORSUBSTR SCM_VALIDATE_STRING
+
+#endif  /* SCM_DEBUG_DEPRECATED == 0 */
 
 #endif
 



reply via email to

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