mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-15 16:20:17 +02:00
* srfi-14.c (scm_char_set_hash): recognise 0 instead of #f in the
opt arg to give default bound, as in final spec. don't allow negative bounds.
This commit is contained in:
parent
072cb6f740
commit
f1a928f435
2 changed files with 16 additions and 4 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2001-07-15 Gary Houston <ghouston@arglist.com>
|
||||||
|
|
||||||
|
* srfi-14.c (scm_char_set_hash): recognise 0 instead of #f in the
|
||||||
|
opt arg to give default bound, as in final spec. don't allow
|
||||||
|
negative bounds.
|
||||||
|
|
||||||
2001-07-13 Marius Vollmer <mvo@zagadka.ping.de>
|
2001-07-13 Marius Vollmer <mvo@zagadka.ping.de>
|
||||||
|
|
||||||
* srfi-2.scm (and-let*): Use `re-export-syntax' instead of
|
* srfi-2.scm (and-let*): Use `re-export-syntax' instead of
|
||||||
|
|
|
@ -178,20 +178,26 @@ SCM_DEFINE (scm_char_set_leq, "char-set<=", 0, 0, 1,
|
||||||
SCM_DEFINE (scm_char_set_hash, "char-set-hash", 1, 1, 0,
|
SCM_DEFINE (scm_char_set_hash, "char-set-hash", 1, 1, 0,
|
||||||
(SCM cs, SCM bound),
|
(SCM cs, SCM bound),
|
||||||
"Compute a hash value for the character set @var{cs}. If\n"
|
"Compute a hash value for the character set @var{cs}. If\n"
|
||||||
"@var{bound} is given and not @code{#f}, it restricts the\n"
|
"@var{bound} is given and non-zero, it restricts the\n"
|
||||||
"returned value to the range 0 @dots{} @var{bound - 1}.")
|
"returned value to the range 0 @dots{} @var{bound - 1}.")
|
||||||
#define FUNC_NAME s_scm_char_set_hash
|
#define FUNC_NAME s_scm_char_set_hash
|
||||||
{
|
{
|
||||||
|
const int default_bnd = 871;
|
||||||
int bnd;
|
int bnd;
|
||||||
long * p;
|
long * p;
|
||||||
unsigned val = 0;
|
unsigned val = 0;
|
||||||
int k;
|
int k;
|
||||||
|
|
||||||
SCM_VALIDATE_SMOB (1, cs, charset);
|
SCM_VALIDATE_SMOB (1, cs, charset);
|
||||||
if (SCM_UNBNDP (bound) || SCM_FALSEP (bound))
|
|
||||||
bnd = 871;
|
if (SCM_UNBNDP (bound))
|
||||||
|
bnd = default_bnd;
|
||||||
else
|
else
|
||||||
SCM_VALIDATE_INUM_COPY (2, bound, bnd);
|
{
|
||||||
|
SCM_VALIDATE_INUM_MIN_COPY (2, bound, 0, bnd);
|
||||||
|
if (bnd == 0)
|
||||||
|
bnd = default_bnd;
|
||||||
|
}
|
||||||
|
|
||||||
p = (long *) SCM_SMOB_DATA (cs);
|
p = (long *) SCM_SMOB_DATA (cs);
|
||||||
for (k = 0; k < SCM_CHARSET_SIZE - 1; k++)
|
for (k = 0; k < SCM_CHARSET_SIZE - 1; k++)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue