errno EINVAL in case localtime and gmtime don't set it.
(scm_mktime, scm_strptime): Forcibly use errno EINVAL for our
SCM_SYSERROR, since mktime and strptime generally don't set errno.
code in order to avoid compiler used uninitialized warnings.
* hashtab.c, hashtab.h (scm_hash_map_to_list): Renamed from
scm_hash_map.
(scm_hash_fold): Use scm_call_3 directly in the call to
scm_internal_hash_fold instead of going via fold_proc (which is
now removed).
(scm_hash_for_each): Use a trampoline +
scm_internal_hash_for_each_handle.
(scm_internal_hash_for_each_handle, scm_hash_for_each_handle): New
functions.
(scm_set_port_line_x): In docstring, note first line is 0.
(scm_port_column): In docstring, there's no default to current input
port, and remove shared port-line @defun.
(scm_set_port_column_x): In docstring, there's no default to current
input port, note first column is 0, remove shared set-port-line!
@defun.
for dvect.
(scm_array_p): Add missing "break"s in switch, fix llvect test look
for "l" not "s", fix dvect to be false for singp(prot) since such a
value is for fvect.
(scm_array_prototype): Return 1/3 for dvect, rather than 0.33..33.
`escaped-parens'.
(s_vector): New.
(scm_lreadr): Use scm_lreadparen1 instead of scm_lreadparen. Make
handling of elisp vector syntax dependent on SCM_ENABLE_ELISP and
`elisp-vectors' option instead of SCM_ELISP_READ_EXTENSIONS.
Allow "\(" and "\)" in strings when SCM_ENABLE_ELISP defined and
`escaped-parens' option set.
(scm_read_token): If elisp vector syntax active, disallow [ and ]
in tokens.
(scm_lreadparen): Rewrite as interface to scm_lreadparen1.
(scm_lreadparen1): New.
* read.h: Remove conditionally compiled last arg to
scm_lreadparen.
(SCM_ELISP_VECTORS_P, SCM_ESCAPED_PARENS_P): New.
FORMS) also when a letrec is constructed, not only when no definitions
are found. Do not return rewritten expression to emphasize the
in-place rewriting. Changed all users.
the wind chain explicitely. Use scm_c_with_fluid for the common
case of only one fluid.
(scm_with_fluid): New.
(scm_c_with_fluid): Use frames instead of scm_c_with_fluids.
* fluids.h, fluids.c (scm_frame_fluid): New.
(scm_with_fluid): New.
(scm_i_swap_fluids, scm_i_swap_fluids_reverse): Removed.
the unwinding directly. It is simple enough.
* dynwind.h, dynwind.c: Did the following renamings:
scm_begin_frame -> scm_frame_begin,
scm_end_frame -> scm_frame_end,
scm_on_unwind -> scm_frame_unwind,
scm_on_rewind -> scm_frame_rewind,
scm_on_unwind_with_scm -> scm_frame_unwind_with_scm,
scm_on_rewind_with_scm -> scm_frame_rewind_with_scm.
Changed all uses.