
; Non-hygienic, a la Dylan

;; The ?ID parameter is passed through to try to make an alternate
;; version for plain R6RS work; this version does not need ?ID.

(define-syntax with-next-method
  (syntax-rules ()
    ((with-next-method ?id #f ?formals . ?body)
     (lambda (next . ?formals)
       (fluid-let-syntax
	((next-method (identifier-syntax (next-method next))))
	. ?body)))
    ((with-next-method ?id ?next ?formals . ?body)
     (lambda (?next . ?formals) . ?body))))
