read + source properties simplification
authorAndy Wingo <wingo@pobox.com>
Tue, 24 May 2011 19:25:11 +0000 (21:25 +0200)
committerAndy Wingo <wingo@pobox.com>
Tue, 24 May 2011 20:41:11 +0000 (22:41 +0200)
commit26c8cc144f4d58871098347df7462ea60b72a72c
tree11ade9f795d50a63afda6d25593f2a3146448813
parentc0937f0988d202d1062fea6e5b61d68d387d1542
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.
libguile/read.c
libguile/srcprop.c
libguile/srcprop.h