Hi Ian, Great debugging, and great patch.
On Sat 11 Jun 2011 15:36, Ian Price <[email protected]> writes: > I have attached a patch for stable-2.0 to deal with these > issues. Keywords are now matched as syntax-case literals, and > sub-expressions are de-structured as necessary, rather than by using > syntax->datum on all the clauses at the start. There are some issues I > didn't touch, e.g. I think that the error messages should be improved, > but I can do that too if you would like. Please feel free to improve the error messages, or anything else really. Only a couple of nits with the patch: > * module/rnrs/records/syntactic.scm(define-record-type0, process-fields): ^ a space goes here > + (list (wrap `(immutable ,(syntax->datum #'name))) > (guess-accessor-name #'name) #f)] Please avoid lines longer than 80 characters, if possible. > + (let loop ((_fields *unspecified*) > + (_parent *unspecified*) I realize this was in the original code, but better to use some other value to indicate a non-initialized value. In the future *unspecified* will be the same as (values). > :use-module ((rnrs records inspection) :version (6)) > + :use-module ((rnrs conditions) :version (6)) > + :use-module ((rnrs exceptions) :version (6)) > + :use-module ((system base compile) #:select (compile)) > :use-module (test-suite lib)) Along the same lines, #:use-module and #:version are the preferred spellings now. > +(with-test-prefix "record hygiene" Thanks for the test. Want to fix the line wrapping and the commit message and resubmit? Thanks! Andy -- http://wingolog.org/
