Update test-syntax-rename to work with syntax changes.
authorChris Hanson <org/chris-hanson/cph>
Sat, 8 Dec 2018 08:23:06 +0000 (00:23 -0800)
committerChris Hanson <org/chris-hanson/cph>
Sat, 8 Dec 2018 08:23:35 +0000 (00:23 -0800)
tests/runtime/test-syntax-rename.scm

index 16ce2f2a0771e1c64cd1dd938748fad52517f71e..085101da2e473082081cafcdaff5c7c3ff5de4c8 100644 (file)
@@ -31,20 +31,26 @@ USA.
 (define test-environment
   (the-environment))
 
+(define genv
+  (runtime-environment->syntactic test-environment))
+
+(define (grename form)
+  (close-syntax form genv))
+
 (define-syntax outer
-  (sc-macro-transformer
-   (lambda (form use-env)
+  (er-macro-transformer
+   (lambda (form rename compare)
+     (declare (ignore compare))
      (syntax-check '(_ identifier) form)
-     (let* ((raw (cadr form))
-           (closed (close-syntax raw use-env)))
-       `(define-syntax ,(close-syntax 'inner use-env)
-         (sc-macro-transformer
-          (lambda (form use-env)
-            (syntax-check '(_) form)
-            `(,(quote-identifier ,raw)
-              ,(quote ,raw)
-              ,(quote-identifier ,closed)
-              ,(quote ,closed)))))))))
+     (let ((id (cadr form)))
+       `(,(rename 'define-syntax) inner
+        (,(rename 'sc-macro-transformer)
+         (,(rename 'lambda) (form use-env)
+          (,(rename 'list)
+           'list
+           (,(rename 'grename) (,(rename 'quote) ,id))
+           (,(rename 'grename) (,(rename 'quote-identifier) ,id))
+           ))))))))
 
 ;; A fairly complicated test that shows how quote-identifier works,
 ;; how it's different from quote, and that weird binding combinations
@@ -55,8 +61,8 @@ USA.
           '(let ((car 13))
              (outer car)
              (let ((car 15))
-               (car (inner))))))
+               (cons car (inner))))))
       (assert-equal (unsyntax (syntax expr test-environment))
                    '(let ((.car.1 13))
                       (let ((.car.2 15))
-                        (.car.2 (car car .car.1 car))))))))
\ No newline at end of file
+                        (cons .car.2 (list car .car.1))))))))
\ No newline at end of file