[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: a happy user
From: |
Kalle Olavi Niemitalo |
Subject: |
Re: a happy user |
Date: |
01 Oct 2000 20:24:21 +0300 |
Bill Schottstaedt <address@hidden> writes:
> (defmacro with-sound (args . body)
> `((lambda* (#:key (srate 22050)
> (explode #f))
> (let ((old-srate (mus-srate)))
> (dynamic-wind
> (lambda ()
> (set! (mus-srate) srate))
> (lambda ()
> ,@body)
> (lambda ()
> (set! (mus-srate) old-srate)))))
> ,@args))
Shouldn't you use gensyms for srate, explode (what's that?) and
old-srate?
When I coded for Guile Emacs, I avoided gensyms by using helper
functions:
(define* (with-sound-helper thunk #:key (srate 22050) (explode #f))
(let ((old-srate (mus-srate)))
(dynamic-wind (lambda () (set! (mus-srate) srate))
thunk
(lambda () (set! (mus-srate) old-srate)))))
(defmacro with-sound (args . body)
`(with-sound-helper (lambda () ,@body)
,@args))
Is this a good idea in general?
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: a happy user,
Kalle Olavi Niemitalo <=