~ chicken-core (chicken-5) 045524a45217ff1eed79a73190d61c561999fba5
commit 045524a45217ff1eed79a73190d61c561999fba5
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Sun Sep 19 00:06:47 2010 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Sun Sep 19 00:16:42 2010 +0200
Revert "applied zbigniew's record-rename patch (finally), added test-case"
This reverts commit 727b2b3fea271474540f215af4842d32e82e7e6d.
Module-renaming records will not work with record-variants, and will
break coops. Since I can't think of a correct fix for this, the feature
will be removed for the time being.
diff --git a/chicken-syntax.scm b/chicken-syntax.scm
index f97c22a1..4fc2fcf8 100644
--- a/chicken-syntax.scm
+++ b/chicken-syntax.scm
@@ -59,11 +59,8 @@
(lambda (x r c)
(##sys#check-syntax 'define-record x '(_ symbol . #(symbol 0)))
(let* ((name (cadr x))
- (prefix (symbol->string name))
- (name (if (##sys#current-module)
- (##sys#module-rename name (##sys#module-name (##sys#current-module)))
- name))
(slots (cddr x))
+ (prefix (symbol->string name))
(setters (memq #:record-setters ##sys#features))
(%define (r 'define))
(%getter-with-setter (r 'getter-with-setter)))
@@ -825,21 +822,11 @@
'define-record-printer (cons head body)
'((symbol symbol symbol) . #(_ 1)))
`(##sys#register-record-printer
- ',(if (##sys#current-module)
- (##sys#module-rename (##sys#slot head 0)
- (##sys#module-name
- (##sys#current-module)))
- (##sys#slot head 0))
+ ',(##sys#slot head 0)
(##core#lambda ,(##sys#slot head 1) ,@body)) ]
- (else
+ [else
(##sys#check-syntax 'define-record-printer (cons head body) '(symbol _))
- `(##sys#register-record-printer
- ',(if (##sys#current-module)
- (##sys#module-rename head
- (##sys#module-name
- (##sys#current-module)))
- head)
- ,@body) ) ) ))))
+ `(##sys#register-record-printer ',head ,@body) ] ) ))))
;;; Exceptions:
@@ -910,11 +897,7 @@
'define-record-type
form
'(_ variable #(variable 1) variable . _))
- (let* ((t (if (##sys#current-module)
- (##sys#module-rename (cadr form)
- (##sys#module-name
- (##sys#current-module)))
- (cadr form)))
+ (let* ((t (cadr form))
(conser (caddr form))
(pred (cadddr form))
(slots (cddddr form))
diff --git a/distribution/manifest b/distribution/manifest
index 9d12d6d9..6c2ceb82 100644
--- a/distribution/manifest
+++ b/distribution/manifest
@@ -100,7 +100,6 @@ tests/compiler-tests-2.scm
tests/compiler-tests-3.scm
tests/inlining-tests.scm
tests/locative-stress-test.scm
-tests/record-rename-test.scm
tests/r4rstest.scm
tests/null.scm
tests/sgrep.scm
diff --git a/tests/record-rename-test.scm b/tests/record-rename-test.scm
deleted file mode 100644
index 5a3e2ef6..00000000
--- a/tests/record-rename-test.scm
+++ /dev/null
@@ -1,33 +0,0 @@
-;;;; record-rename-test.scm
-
-
-(define-record foo a)
-
-(define-record-type bar
- (make-bar x)
- bar?
- (x get-x))
-
-
-(module m1 (make-foo make-bar)
-(import scheme chicken)
-
-(define-record foo a b)
-
-(define-record-type bar
- (make-bar x y)
- bar?
- (x get-x) (y get-y))
-
-)
-
-
-(let ((f1 (make-foo 1))
- (f2 (make-bar 2)))
- (print (list f1 f2)))
-
-(import m1)
-
-(let ((f1 (make-foo 1 2))
- (f2 (make-bar 3 4)))
- (print (list f1 f2)))
diff --git a/tests/runtests.sh b/tests/runtests.sh
index a17184fc..e2c2eab6 100644
--- a/tests/runtests.sh
+++ b/tests/runtests.sh
@@ -221,9 +221,6 @@ echo "======================================== posix tests ..."
$compile posix-tests.scm
./a.out
-echo "======================================== record-renaming tests ..."
-$interpret -bnq record-rename-test.scm
-
echo "======================================== regular expression tests ..."
$interpret -bnq test-irregex.scm
$interpret -bnq test-glob.scm
Trap