;; generated automatically.  DO NOT EDIT
#!no-fold-case
(define-module gauche.parameter (export <parameter> make-parameter parameterize parameter-pre-observers parameter-post-observers parameter-observer-add! parameter-observer-delete!))
(select-module gauche.parameter)
(dynamic-load "gauche--parameter")
(define-syntax parameterize (syntax-rules () ((_ (binds |...|) . body) (%parameterize () () () (binds |...|) body))))
(define-syntax %parameterize (syntax-rules () ((_ (param |...|) (val |...|) ((P L S) |...|) () body) (let ((P param) |...| (L val) |...| (S #f) |...|) (dynamic-wind (^ () (set! S (P L)) |...|) (^ () . body) (^ () (set! L (%restore-parameter P S)) |...|)))) ((_ (param |...|) (val |...|) (tmps |...|) ((p v) . more) body) (%parameterize (param |...| p) (val |...| v) (tmps |...| (P L S)) more body)) ((_ params vals tmps other body) (syntax-error "malformed binding list for parameterize" other))))
