non-pair cells.
(SCM_MOST_POSITIVE_FIXNUM, SCM_MOST_NEGATIVE_FIXNUM): Make sure
the return value is signed. Thanks to Brian Crowder for the bug
report.
(SCM_SRS): Avoid unnecessary casting and don't unpack input
values. With this patch, SCM_SRS can be safely used for other
types than scm_t_signed_bits. However, it should still better be
an internal macro and thus be renamed to SCM_I_SRS.
(SCM_MAKINUM, SCM_INUM): Use proper casting.
* num2float.i.c: New file, multiply included by numbers.c, used
to "templatize" the float <-> num conversion routines.
* numbers.c: New functions: scm_num2float, scm_float2num,
scm_num2double, scm_double2num.
(scm_char_set_hash): val needs to be long, not just unsigned.
(scm_char_set): need 1L, not just 1 in "<<".
(scm_list_to_char_set): need 1L, not just 1 in "<<".
(scm_list_to_char_set_x): need 1L, not just 1 in "<<".
(scm_list_to_char_set_x): FUNC_NAME was wrong - added a _x.
(scm_string_to_char_set): string length var needed to be
scm_sizet, not int.
(scm_string_to_char_set): need 1L, not just 1 in "<<".
(scm_string_to_char_set_x): string length var needed to be
scm_sizet, not int.
(scm_string_to_char_set_x): need 1L, not just 1 in "<<".
(scm_char_set_filter): need 1L, not just 1 in "<<".
(scm_char_set_filter_x): need 1L, not just 1 in "<<".
(scm_ucs_range_to_char_set): need 1L, not just 1 in "<<".
(scm_ucs_range_to_char_set_x): need 1L, not just 1 in "<<".
(scm_char_set_adjoin): need 1L, not just 1 in "<<".
(scm_char_set_delete): need 1L, not just 1 in "<<".
(scm_char_set_adjoin_x): need 1L, not just 1 in "<<".
(scm_char_set_delete_x): need 1L, not just 1 in "<<".
(scm_major_version): support integer *_VERSION macros.
(scm_minor_version): support integer *_VERSION macros.
(scm_micro_version): support integer *_VERSION macros.
(scm_version): support integer *_VERSION macros.
routines are passed an inexact. This change in behavior is
motivated by concordance with R5RS: It is more common that a
primitive doesn't want to accept an inexact for an exact.