Change reader to pass read options to helpers via explicit parameter.
authorMark H Weaver <mhw@netris.org>
Tue, 23 Oct 2012 21:11:41 +0000 (17:11 -0400)
committerMark H Weaver <mhw@netris.org>
Wed, 24 Oct 2012 02:42:38 +0000 (22:42 -0400)
commitb1b5433d66ccc8267a70c6ca3c0a630bddea4edb
treef7d6bc767675cfabfa3b581b813587fcf99d78a4
parent603234c611b50cdc8770b2a822cd333812eed98d
Change reader to pass read options to helpers via explicit parameter.

* libguile/read.c (enum t_keyword_style, struct t_read_opts,
  scm_t_read_opts): New types.
  (init_read_options): New function.

  (CHAR_IS_DELIMITER): Look up square-brackets option via local 'opts'.

  (scm_read): Call 'init_read_options', and pass 'opts' to helpers.

  (flush_ws, maybe_annotate_source, read_complete_token, read_token,
  scm_read_bytevector, scm_read_character,
  scm_read_commented_expression, scm_read_expression,
  scm_read_guile_bit_vector, scm_read_keyword,
  scm_read_mixed_case_symbol, scm_read_nil, scm_read_number,
  scm_read_number_and_radix, scm_read_quote, scm_read_sexp,
  scm_read_sharp, scm_read_sharp_extension, scm_read_shebang,
  scm_read_srfi4_vector, scm_read_string, scm_read_syntax,
  scm_read_vector, scm_read_array): Add 'opts' as an additional
  parameter, and use it to look up read options.  Previously the global
  read options were consulted directly.
libguile/read.c