diff options
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | libguile/ChangeLog | 11 | ||||
-rw-r--r-- | libguile/eval.c | 12 | ||||
-rw-r--r-- | libguile/srcprop.c | 8 | ||||
-rw-r--r-- | libguile/srcprop.h | 10 |
5 files changed, 35 insertions, 10 deletions
@@ -110,6 +110,10 @@ the user of SCM_NEWCELL and SCM_NEWCELL2 could make this safe and efficient. Use the variables scm_check_entry_p, scm_check_apply_p and scm_check_exit_p instead. +** SRCBRKP has been deprecated. + +Use scm_c_source_property_breakpoint_p instead. + ** Removed definitions: scm_lisp_nil, scm_lisp_t, s_nil_ify, scm_m_nil_ify, s_t_ify, scm_m_t_ify, s_0_cond, scm_m_0_cond, s_0_ify, scm_m_0_ify, s_1_ify, scm_m_1_ify, scm_debug_newcell, scm_debug_newcell2, scm_tc16_allocated, diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 331ef3d2d..3623a11f3 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,14 @@ +2002-03-26 Dirk Herrmann <D.Herrmann@tu-bs.de> + + * srcprop.[ch] (scm_c_source_property_breakpoint_p): New + function, replaces macro SRCBRKP. + + (SRCBRKP): Deprecated. + + * eval.c (SCM_CEVAL): Replaced use of SRCBRKP by call to + scm_c_source_property_breakpoint_p. Removed some use of arg1 as + temporary variable. + 2002-03-25 Dirk Herrmann <D.Herrmann@tu-bs.de> * debug.h, eval.c: Deprecated CHECK_ENTRY, CHECK_APPLY and diff --git a/libguile/eval.c b/libguile/eval.c index 7d3bf2ac4..2eb1367ed 100644 --- a/libguile/eval.c +++ b/libguile/eval.c @@ -1939,19 +1939,21 @@ start: debug.info->e.env = env; if (scm_check_entry_p && SCM_TRAPS_P) { - if (SCM_ENTER_FRAME_P || (SCM_BREAKPOINTS_P && SRCBRKP (x))) + if (SCM_ENTER_FRAME_P + || (SCM_BREAKPOINTS_P && scm_c_source_property_breakpoint_p (x))) { - SCM tail = SCM_BOOL(SCM_TAILRECP (debug)); + SCM stackrep; + SCM tail = SCM_BOOL (SCM_TAILRECP (debug)); SCM_SET_TAILREC (debug); if (SCM_CHEAPTRAPS_P) - arg1 = scm_make_debugobj (&debug); + stackrep = scm_make_debugobj (&debug); else { int first; SCM val = scm_make_continuation (&first); if (first) - arg1 = val; + stackrep = val; else { x = val; @@ -1966,7 +1968,7 @@ start: SCM_TRAPS_P = 0; scm_call_4 (SCM_ENTER_FRAME_HDLR, scm_sym_enter_frame, - arg1, + stackrep, tail, scm_unmemocopy (x, env)); SCM_TRAPS_P = 1; diff --git a/libguile/srcprop.c b/libguile/srcprop.c index bc8a582ab..ae18babf2 100644 --- a/libguile/srcprop.c +++ b/libguile/srcprop.c @@ -117,6 +117,14 @@ srcprops_print (SCM obj, SCM port, scm_print_state *pstate) } +int +scm_c_source_property_breakpoint_p (SCM form) +{ + SCM obj = scm_whash_lookup (scm_source_whash, form); + return SRCPROPSP (obj) && SRCPROPBRK (obj); +} + + SCM scm_make_srcprops (long line, int col, SCM filename, SCM copy, SCM plist) { diff --git a/libguile/srcprop.h b/libguile/srcprop.h index 2f92b0621..117dc39ed 100644 --- a/libguile/srcprop.h +++ b/libguile/srcprop.h @@ -115,10 +115,6 @@ typedef struct scm_t_srcprops_chunk #define SETSRCPROPLINE(p,l) SETSRCPROPPOS (p, l, SRCPROPCOL (p)) #define SETSRCPROPCOL(p,c) SETSRCPROPPOS (p, SRCPROPLINE (p), c) -#define SRCBRKP(x) (!SCM_IMP (arg1 = scm_whash_lookup (scm_source_whash, (x)))\ - && SRCPROPSP (arg1)\ - && SRCPROPBRK (arg1)) - #define PROCTRACEP(x) (!SCM_FALSEP (scm_procedure_property (x, scm_sym_trace))) SCM_API SCM scm_sym_filename; @@ -129,7 +125,7 @@ SCM_API SCM scm_sym_breakpoint; - +SCM_API int scm_c_source_property_breakpoint_p (SCM form); SCM_API SCM scm_srcprops_to_plist (SCM obj); SCM_API SCM scm_make_srcprops (long line, int col, SCM fname, SCM copy, SCM plist); SCM_API SCM scm_source_property (SCM obj, SCM key); @@ -139,6 +135,10 @@ SCM_API SCM scm_set_source_properties_x (SCM obj, SCM props); SCM_API void scm_finish_srcprop (void); SCM_API void scm_init_srcprop (void); +#if SCM_ENABLE_DEPRECATED == 1 +#define SRCBRKP(x) (scm_source_property_breakpoint_p (x)) +#endif + #endif /* SCM_SRCPROP_H */ /* |