Re: two bugs in reference implementation of SRFI 13
Taylor R Campbell 24 Dec 2011 20:40 UTC
Date: Sat, 24 Dec 2011 20:48:10 +0100
From: Jamison Hope <xxxxxx@theptrgroup.com>
string-parse-start+end is documented to return three values:
"rest start end", but in make-kmp-restart-vector its result is bound
to two variables (start end). I found the same issue in
string-kmp-partial-search, which also attempts to capture only the
"start" and "end" values.
The fix in both places is to call string-parse-final-start+end instead,
which strips off the first unwanted rest value from string-parse-start
+end.
Not quite. The fix is to identify and use the intended definition of
the name LET-OPTIONALS*. With Olin's definition of LET-OPTIONALS*,
such as you will find in scsh, or reimplemented with SYNTAX-RULES in
more recent Scheme48, the use of STRING-PARSE-START+END is correct.
It seems (a) he forgot to say what definition to use in the reference
implementation, and (b) the authors of Kawa chose a different one.