diff options
author | Dirk Herrmann <dirk@dirk-herrmanns-seiten.de> | 2002-03-26 00:19:04 +0000 |
---|---|---|
committer | Dirk Herrmann <dirk@dirk-herrmanns-seiten.de> | 2002-03-26 00:19:04 +0000 |
commit | bc76d628650140c26e5dc772c2a38bb91eeb5e0e (patch) | |
tree | 943e2e1c93e4f782e35dc88b8a02df1b06d3c31a /libguile | |
parent | 5132eef0cfa81c8734b8477754884d886a340363 (diff) | |
download | guile-bc76d628650140c26e5dc772c2a38bb91eeb5e0e.tar.gz |
* 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.
Diffstat (limited to 'libguile')
-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 |
4 files changed, 31 insertions, 10 deletions
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 */ /* |