[Top][All Lists]
[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