summaryrefslogtreecommitdiff
path: root/libguile
diff options
context:
space:
mode:
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2002-03-26 00:19:04 +0000
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2002-03-26 00:19:04 +0000
commitbc76d628650140c26e5dc772c2a38bb91eeb5e0e (patch)
tree943e2e1c93e4f782e35dc88b8a02df1b06d3c31a /libguile
parent5132eef0cfa81c8734b8477754884d886a340363 (diff)
downloadguile-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/ChangeLog11
-rw-r--r--libguile/eval.c12
-rw-r--r--libguile/srcprop.c8
-rw-r--r--libguile/srcprop.h10
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 */
/*