Merge rev 120 from Scheme 48 svn repo:

Modified:
   s48/tuebingen/trunk/scheme/rts/jar-defrecord.scm
Log:
Subject: Fix hygiene bug in DEFINE-RECORD-TYPE

DEFINE-RECORD-TYPE would expand into the wrong thing if there was a
field name identical to the name of the type that appears as a
constructor argument; the constructor used that same name as a
parameter, shadowing the name for the type.  The fix was to rename
those parameters before including them in the output.
This commit is contained in:
sperber 2003-03-18 12:48:53 +00:00
parent e62510c4f1
commit f28a5f7dbb
1 changed files with 2 additions and 2 deletions

View File

@ -46,9 +46,9 @@
(%unspecific (r 'unspecific))
(name (cadr e))
(type (caddr e))
(args (map car (cadddr e)))
(args (map r (map car (cadddr e))))
(arg-types (map cadr (cadddr e)))
(fields (caddr (cddr e))))
(fields (map r (caddr (cddr e)))))
(define (mem? name list)
(cond ((null? list) #f)
((c name (car list)) #t)