diff options
author | Andy Wingo <wingo@pobox.com> | 2011-05-24 21:25:11 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2011-05-24 22:41:11 +0200 |
commit | 26c8cc144f4d58871098347df7462ea60b72a72c (patch) | |
tree | 11ade9f795d50a63afda6d25593f2a3146448813 /libguile/srcprop.h | |
parent | c0937f0988d202d1062fea6e5b61d68d387d1542 (diff) | |
download | guile-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.h | 4 |
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); |