[bugfix] avoid auxiliary keywords such as unquote or unquote-splicing
from being renamed
This commit is contained in:
		
							parent
							
								
									725297384a
								
							
						
					
					
						commit
						b231d63297
					
				| 
						 | 
				
			
			@ -599,6 +599,16 @@
 | 
			
		|||
    (let ((expr (walk (lambda (x) (if (symbol? x) (inject x) x)) expr)))
 | 
			
		||||
      (make-syntactic-closure mac-env '() (f expr inject compare)))))
 | 
			
		||||
 | 
			
		||||
(define-syntax define-auxiliary-syntax
 | 
			
		||||
  (ir-macro-transformer
 | 
			
		||||
   (lambda (expr i c)
 | 
			
		||||
     `(define-syntax ,(cadr expr)
 | 
			
		||||
        (sc-macro-transformer
 | 
			
		||||
         (lambda (expr env)
 | 
			
		||||
           (error "invalid use of auxiliary syntax")))))))
 | 
			
		||||
 | 
			
		||||
(define-auxiliary-syntax unquote)
 | 
			
		||||
(define-auxiliary-syntax unquote-splicing)
 | 
			
		||||
(define-syntax or
 | 
			
		||||
  (ir-macro-transformer
 | 
			
		||||
   (lambda (expr inject compare)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue