summaryrefslogtreecommitdiff
path: root/libguile/srcprop.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-05-24 21:25:11 +0200
committerAndy Wingo <wingo@pobox.com>2011-05-24 22:41:11 +0200
commit26c8cc144f4d58871098347df7462ea60b72a72c (patch)
tree11ade9f795d50a63afda6d25593f2a3146448813 /libguile/srcprop.h
parentc0937f0988d202d1062fea6e5b61d68d387d1542 (diff)
downloadguile-26c8cc144f4d58871098347df7462ea60b72a72c.tar.gz
read + source properties simplification
* libguile/srcprop.h: Remove internal scm_source_whash declaration. * libguile/srcprop.c (scm_i_set_source_properties_x) (scm_i_has_source_properties): New helpers. (scm_source_whash): Make static. * libguile/read.c (scm_read_sexp): Remove register declarations here; let's trust the compiler. Remove code to incrementally build up a copy; instead let's let scm_i_set_source_properties_x handle copying the expression if needed. (scm_read_quote, scm_read_syntax): Use scm_i_set_source_properties_x. (recsexpr): Remove this helper from 1996. (scm_read_sharp_extension): Instead of trying to recursively label sharp-read subforms with source properties, just label the outside form and rely on the macro-expander to propagate it down.
Diffstat (limited to 'libguile/srcprop.h')
-rw-r--r--libguile/srcprop.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/libguile/srcprop.h b/libguile/srcprop.h
index 5c9ccb960..250756dcc 100644
--- a/libguile/srcprop.h
+++ b/libguile/srcprop.h
@@ -33,7 +33,6 @@
#define SCM_SOURCE_PROPERTY_FLAG_BREAK 1
SCM_API scm_t_bits scm_tc16_srcprops;
-SCM_INTERNAL SCM scm_source_whash;
SCM_API SCM scm_sym_filename;
SCM_API SCM scm_sym_copy;
@@ -47,6 +46,9 @@ SCM_API SCM scm_source_property (SCM obj, SCM key);
SCM_API SCM scm_set_source_property_x (SCM obj, SCM key, SCM datum);
SCM_API SCM scm_source_properties (SCM obj);
SCM_API SCM scm_set_source_properties_x (SCM obj, SCM props);
+SCM_INTERNAL int scm_i_has_source_properties (SCM obj);
+SCM_INTERNAL void scm_i_set_source_properties_x (SCM obj, long line, int col,
+ SCM fname);
SCM_API SCM scm_cons_source (SCM xorig, SCM x, SCM y);
SCM_INTERNAL void scm_init_srcprop (void);