Email list hosting service & mailing list manager


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.