SCM_VALIDATE_NULLORROSTRING_COPY, SCM_ROLENGTH, SCM_LENGTH, SCM_HUGE_LENGTH,
SCM_SUBSTRP, SCM_SUBSTR_STR, SCM_SUBSTR_OFFSET, SCM_COERCE_SUBSTR,
SCM_ROSTRINGP, SCM_RWSTRINGP, SCM_VALIDATE_RWSTRING, SCM_ROCHARS,
-SCM_ROUCHARS, SCM_SETLENGTH, SCM_SETCHARS, SCM_LENGTH_MAX
+SCM_ROUCHARS, SCM_SETLENGTH, SCM_SETCHARS, SCM_LENGTH_MAX, SCM_GC8MARKP,
+SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16, SCM_GCCDR
Use SCM_ASSERT_RANGE or SCM_VALIDATE_XXX_RANGE instead of SCM_OUTOFRANGE.
Use scm_memory_error instead of SCM_NALLOC.
Use a type specific setter macro instead of SCM_SETLENGTH.
Use a type specific setter macro instead of SCM_SETCHARS.
Use a type specific length macro instead of SCM_LENGTH_MAX.
+Use SCM_GCMARKP instead of SCM_GC8MARKP.
+Use SCM_SETGCMARK instead of SCM_SETGC8MARK.
+Use SCM_CLRGCMARK instead of SCM_CLRGC8MARK.
+Use SCM_TYP16 instead of SCM_GCTYP16.
+Use SCM_CDR instead of SCM_GCCDR.
** Removed function: scm_struct_init
SCM_VALIDATE_ROSTRING_COPY, SCM_VALIDATE_NULLORROSTRING_COPY, SCM_ROLENGTH,
SCM_LENGTH, SCM_HUGE_LENGTH, SCM_SUBSTRP, SCM_SUBSTR_STR, SCM_SUBSTR_OFFSET,
SCM_COERCE_SUBSTR, SCM_ROSTRINGP, SCM_RWSTRINGP, SCM_VALIDATE_RWSTRING,
- SCM_ROCHARS, SCM_ROUCHARS, SCM_SETLENGTH, SCM_SETCHARS, SCM_LENGTH_MAX
+ SCM_ROCHARS, SCM_ROUCHARS, SCM_SETLENGTH, SCM_SETCHARS, SCM_LENGTH_MAX,
+ SCM_GC8MARKP, SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16, SCM_GCCDR
- remove scm_vector_set_length_x
- remove function scm_call_catching_errors
(replaced by catch functions from throw.[ch])
+2000-12-06 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * async.c (SCM_ASYNCP): Use SCM_TYP16 instead of SCM_GCTYP16.
+
+ * eval.c (scm_m_vref, scm_m_vset, scm_m_define, SCM_CEVAL,
+ SCM_APPLY, scm_copy_tree): Remove commented code.
+
+ (SCM_CEVAL, SCM_APPLY): Remove #ifdef CCLO conditionals. Without
+ CCLO being defined, guile would not compile at all anyway.
+
+ * gc.h (SCM_GC8MARKP, SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16,
+ SCM_GCCDR): Deprecated.
+
+ * gdbint.c (unmark_port, remark_port, gdb_read), procs.c
+ (scm_mark_subr_table): Use SCM_(SET|CLR)?GCMARK(P)? instead of
+ SCM_(SET|CLR)?GC8MARK(P)?.
+
+ * gh_data.c (gh_scm2char): Remove bogus ';'.
+
+ * tags.h: Removed comment about GCTYP16 macro.
+
+ * weaks.c (scm_mark_weak_vector_spines): Use SCM_CDR instead of
+ SCM_GCCDR.
+
2000-12-05 Dirk Herrmann <D.Herrmann@tu-bs.de>
* print.c (scm_iprin1): Use scm_tc3_* codes instead of hardcoded
/* cmm: this has SCM_ prefix because SCM_MAKE_VALIDATE expects it.
this is ugly. */
-#define SCM_ASYNCP(X) (SCM_NIMP(X) && (tc16_async == SCM_GCTYP16 (X)))
+#define SCM_ASYNCP(X) (SCM_NIMP(X) && (tc16_async == SCM_TYP16 (X)))
#define VALIDATE_ASYNC(pos,a) SCM_MAKE_VALIDATE(pos, a, ASYNCP)
}
-#if 0
-
-SCM
-scm_m_vref (SCM xorig, SCM env)
-{
- SCM x = SCM_CDR (xorig);
- SCM_ASSYNT (1 == scm_ilength (x), xorig, scm_s_expression, s_vref);
- if (SCM_NIMP(x) && UDSCM_VARIABLEP (SCM_CAR (x)))
- {
- /* scm_everr (SCM_UNDEFINED, env,..., "global variable reference") */
- scm_misc_error (NULL,
- "Bad variable: ~S",
- scm_listify (SCM_CAR (SCM_CDR (x)), SCM_UNDEFINED));
- }
- SCM_ASSYNT (SCM_NIMP(x) && DEFSCM_VARIABLEP (SCM_CAR (x)),
- xorig, scm_s_variable, s_vref);
- return scm_cons (IM_VREF, x);
-}
-
-
-
-SCM
-scm_m_vset (SCM xorig, SCM env)
-{
- SCM x = SCM_CDR (xorig);
- SCM_ASSYNT (3 == scm_ilength (x), xorig, scm_s_expression, s_vset);
- SCM_ASSYNT ((DEFSCM_VARIABLEP (SCM_CAR (x))
- || UDSCM_VARIABLEP (SCM_CAR (x))),
- xorig, scm_s_variable, s_vset);
- return scm_cons (IM_VSET, x);
-}
-#endif
-
-
SCM_SYNTAX(s_and, "and", scm_makmmacro, scm_m_and);
SCM_GLOBAL_SYMBOL(scm_sym_and, s_and);
{
SCM proc, arg1 = x;
x = SCM_CDR (x);
- /* SCM_ASSYNT(SCM_NULLP(env), x, "bad placement", s_define);*/
SCM_ASSYNT (scm_ilength (x) >= 2, arg1, scm_s_expression, s_define);
proc = SCM_CAR (x);
x = SCM_CDR (x);
SCM_ASRTGO (SCM_ISYMP (proc), badfun);
switch SCM_ISYMNUM (proc)
{
-#if 0
- case (SCM_ISYMNUM (IM_VREF)):
- {
- SCM var;
- var = SCM_CAR (SCM_CDR (x));
- RETURN (SCM_CDR(var));
- }
- case (SCM_ISYMNUM (IM_VSET)):
- SCM_CDR (SCM_CAR ( SCM_CDR (x))) = EVALCAR( SCM_CDR ( SCM_CDR (x)), env);
- SCM_CAR (SCM_CAR ( SCM_CDR (x))) = scm_tc16_variable;
- RETURN (SCM_UNSPECIFIED)
-#endif
-
case (SCM_ISYMNUM (SCM_IM_APPLY)):
proc = SCM_CDR (x);
proc = EVALCAR (proc, env);
case scm_tc7_substring:
case scm_tc7_smob:
case scm_tcs_closures:
-#ifdef CCLO
case scm_tc7_cclo:
-#endif
case scm_tc7_pws:
case scm_tcs_subrs:
RETURN (x);
#ifdef DEVAL
if (!SCM_CLOSUREP (SCM_CDR (proc)))
{
-
-#if 0 /* Top-level defines doesn't very often occur in backtraces */
- if (scm_m_define == SCM_SUBRF (SCM_CDR (proc)) && SCM_TOP_LEVEL (env))
- /* Prevent memoizing result of define macro */
- {
- debug.info->e.exp = scm_cons (SCM_CAR (x), SCM_CDR (x));
- scm_set_source_properties_x (debug.info->e.exp,
- scm_source_properties (x));
- }
-#endif
SCM_DEFER_INTS;
SCM_SETCAR (x, SCM_CAR (t.arg1));
SCM_SETCDR (x, SCM_CDR (t.arg1));
if (!SCM_SMOB_DESCRIPTOR (proc).apply)
goto badfun;
RETURN (scm_smob_apply_0 (proc));
-#ifdef CCLO
case scm_tc7_cclo:
t.arg1 = proc;
proc = SCM_CCLO_SUBR (proc);
debug.info->a.args = scm_cons (t.arg1, SCM_EOL);
#endif
goto evap1;
-#endif
case scm_tc7_pws:
proc = SCM_PROCEDURE (proc);
#ifdef DEVAL
if (!SCM_SMOB_DESCRIPTOR (proc).apply)
goto badfun;
RETURN (scm_smob_apply_1 (proc, t.arg1));
-#ifdef CCLO
case scm_tc7_cclo:
arg2 = t.arg1;
t.arg1 = proc;
debug.info->a.proc = proc;
#endif
goto evap2;
-#endif
case scm_tc7_pws:
proc = SCM_PROCEDURE (proc);
#ifdef DEVAL
x = SCM_CDR (x);
if (SCM_NULLP (x)) {
ENTER_APPLY;
-#ifdef CCLO
evap2:
-#endif
switch (SCM_TYP7 (proc))
{ /* have two arguments */
case scm_tc7_subr_2:
if (!SCM_SMOB_DESCRIPTOR (proc).apply)
goto badfun;
RETURN (scm_smob_apply_2 (proc, t.arg1, arg2));
-#ifdef CCLO
cclon:
case scm_tc7_cclo:
#ifdef DEVAL
env,
proc))),
SCM_EOL));
-#endif
- /* case scm_tc7_cclo:
- x = scm_cons(arg2, scm_eval_args(x, env));
- arg2 = t.arg1;
- t.arg1 = proc;
- proc = SCM_CCLO_SUBR(proc);
- goto evap3; */
#endif
case scm_tcs_cons_gloc:
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC)
goto badfun;
RETURN (scm_smob_apply_3 (proc, t.arg1, arg2,
SCM_CDDR (debug.info->a.args)));
-#ifdef CCLO
case scm_tc7_cclo:
goto cclon;
-#endif
case scm_tc7_pws:
proc = SCM_PROCEDURE (proc);
debug.info->a.proc = proc;
goto badfun;
RETURN (scm_smob_apply_3 (proc, t.arg1, arg2,
scm_eval_args (x, env, proc)));
-#ifdef CCLO
case scm_tc7_cclo:
goto cclon;
-#endif
case scm_tc7_pws:
proc = SCM_PROCEDURE (proc);
if (!SCM_CLOSUREP (proc))
}
else
{
- /* SCM_ASRTGO(SCM_CONSP(args), wrongnumargs); */
args = scm_nconc2last (args);
#ifdef DEVAL
debug.vect[0].a.args = scm_cons (arg1, args);
entap:
ENTER_APPLY;
#endif
-#ifdef CCLO
tail:
-#endif
switch (SCM_TYP7 (proc))
{
case scm_tc7_subr_2o:
RETURN (scm_smob_apply_2 (proc, arg1, SCM_CAR (args)))
else
RETURN (scm_smob_apply_3 (proc, arg1, SCM_CAR (args), SCM_CDR (args)));
-#ifdef CCLO
case scm_tc7_cclo:
#ifdef DEVAL
args = (SCM_UNBNDP(arg1) ? SCM_EOL : debug.vect[0].a.args);
proc = SCM_CCLO_SUBR (proc);
#endif
goto tail;
-#endif
case scm_tc7_pws:
proc = SCM_PROCEDURE (proc);
#ifdef DEVAL
}
if (SCM_NCONSP (obj))
return obj;
-/* return scm_cons(scm_copy_tree(SCM_CAR(obj)), scm_copy_tree(SCM_CDR(obj))); */
ans = tl = scm_cons_source (obj,
scm_copy_tree (SCM_CAR (obj)),
SCM_UNSPECIFIED);
#define SCM_SETGCMARK(x) SCM_GC_CELL_SET_BIT (x)
#define SCM_CLRGCMARK(x) SCM_GC_CELL_CLR_BIT (x)
-/* compatibility stuff: */
-
-#define SCM_GC8MARKP(x) SCM_GCMARKP (x)
-#define SCM_SETGC8MARK(x) SCM_SETGCMARK (x)
-#define SCM_CLRGC8MARK(x) SCM_CLRGCMARK (x)
-
-#define SCM_GCTYP16(x) SCM_TYP16 (x)
-#define SCM_GCCDR(x) SCM_CDR (x)
-
/* Low level cell data accessing macros:
*/
#define SCM_FREEP(x) (SCM_FREE_CELL_P (x))
#define SCM_NFREEP(x) (!SCM_FREE_CELL_P (x))
+#define SCM_GC8MARKP(x) SCM_GCMARKP (x)
+#define SCM_SETGC8MARK(x) SCM_SETGCMARK (x)
+#define SCM_CLRGC8MARK(x) SCM_CLRGCMARK (x)
+#define SCM_GCTYP16(x) SCM_TYP16 (x)
+#define SCM_GCCDR(x) SCM_CDR (x)
#endif /* SCM_DEBUG_DEPRECATED == 0 */
unmark_port (SCM port)
{
SCM stream, string;
- port_mark_p = SCM_GC8MARKP (port);
- SCM_CLRGC8MARK (port);
+ port_mark_p = SCM_GCMARKP (port);
+ SCM_CLRGCMARK (port);
stream = SCM_PACK (SCM_STREAM (port));
stream_mark_p = SCM_GCMARKP (stream);
SCM_CLRGCMARK (stream);
string = SCM_CDR (stream);
- string_mark_p = SCM_GC8MARKP (string);
- SCM_CLRGC8MARK (string);
+ string_mark_p = SCM_GCMARKP (string);
+ SCM_CLRGCMARK (string);
}
{
SCM stream = SCM_PACK (SCM_STREAM (port));
SCM string = SCM_CDR (stream);
- if (string_mark_p) SCM_SETGC8MARK (string);
+ if (string_mark_p) SCM_SETGCMARK (string);
if (stream_mark_p) SCM_SETGCMARK (stream);
- if (port_mark_p) SCM_SETGC8MARK (port);
+ if (port_mark_p) SCM_SETGCMARK (port);
}
scm_truncate_file (gdb_input_port, SCM_UNDEFINED);
scm_seek (gdb_input_port, SCM_INUM0, SCM_MAKINUM (SEEK_SET));
/* Read one object */
- tok_buf_mark_p = SCM_GC8MARKP (tok_buf);
- SCM_CLRGC8MARK (tok_buf);
+ tok_buf_mark_p = SCM_GCMARKP (tok_buf);
+ SCM_CLRGCMARK (tok_buf);
ans = scm_lreadr (&tok_buf, gdb_input_port, &ans);
if (SCM_GC_P)
{
scm_permanent_object (ans);
exit:
if (tok_buf_mark_p)
- SCM_SETGC8MARK (tok_buf);
+ SCM_SETGCMARK (tok_buf);
remark_port (gdb_input_port);
SCM_END_FOREIGN_BLOCK;
return status;
SCM_VALIDATE_CHAR (SCM_ARG1, obj);
return SCM_CHAR (obj);
}
-#undef FUNC_NAME;
+#undef FUNC_NAME
/* Convert a vector, weak vector, string, substring or uniform vector
into an array of chars. If result array in arg 2 is NULL, malloc a
int i;
for (i = 0; i < scm_subr_table_size; ++i)
{
- SCM_SETGC8MARK (scm_subr_table[i].name);
+ SCM_SETGCMARK (scm_subr_table[i].name);
if (scm_subr_table[i].generic && *scm_subr_table[i].generic)
scm_gc_mark (*scm_subr_table[i].generic);
if (SCM_NIMP (scm_subr_table[i].properties))
*
* TYP16
* TYP16S
- * GCTYP16
*
* TYP16S functions similarly wrt to TYP16 as TYP7S to TYP7,
* but a different option bit is used (bit 2 for TYP7S,
{
SCM_SETGCMARK (alist);
SCM_SETGCMARK (SCM_CAR (alist));
- alist = SCM_GCCDR (alist);
+ alist = SCM_CDR (alist);
}
}
}