From d6cb0203cb58ea352b4e9de5eea4325e379c175c Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 8 Feb 2012 03:10:11 -0500 Subject: [PATCH] Add and use maybe_annotate_source helper in read.c * libguile/read.c (maybe_annotate_source): New static helper function. (scm_read_sexp, scm_read_quote, scm_read_syntax): Use 'maybe_annotate_source'. --- libguile/read.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/libguile/read.c b/libguile/read.c index d026f0565..4cdde4ab2 100644 --- a/libguile/read.c +++ b/libguile/read.c @@ -359,6 +359,14 @@ static SCM scm_read_expression (SCM port); static SCM scm_read_sharp (int chr, SCM port); +static SCM +maybe_annotate_source (SCM x, SCM port, long line, int column) +{ + if (SCM_RECORD_POSITIONS_P) + scm_i_set_source_properties_x (x, line, column, SCM_FILENAME (port)); + return x; +} + static SCM scm_read_sexp (scm_t_wchar chr, SCM port) #define FUNC_NAME "scm_i_lreadparen" @@ -423,10 +431,7 @@ scm_read_sexp (scm_t_wchar chr, SCM port) } exit: - if (SCM_RECORD_POSITIONS_P) - scm_i_set_source_properties_x (ans, line, column, SCM_FILENAME (port)); - - return ans; + return maybe_annotate_source (ans, port, line, column); } #undef FUNC_NAME @@ -780,10 +785,7 @@ scm_read_quote (int chr, SCM port) } p = scm_cons2 (p, scm_read_expression (port), SCM_EOL); - if (SCM_RECORD_POSITIONS_P) - scm_i_set_source_properties_x (p, line, column, SCM_FILENAME (port)); - - return p; + return maybe_annotate_source (p, port, line, column); } SCM_SYMBOL (sym_syntax, "syntax"); @@ -830,10 +832,7 @@ scm_read_syntax (int chr, SCM port) } p = scm_cons2 (p, scm_read_expression (port), SCM_EOL); - if (SCM_RECORD_POSITIONS_P) - scm_i_set_source_properties_x (p, line, column, SCM_FILENAME (port)); - - return p; + return maybe_annotate_source (p, port, line, column); } static SCM