[Bordeaux-threads-devel] *default-special-bindings* docstring in 0-8-8-dev
Gustavo
gugamilare at gmail.com
Sat Sep 4 13:57:35 UTC 2010
(Sorry, I had forgotten to CC).
Hello, James,
I'm not a bordeaux-threads maintainer, but I can answer your question.
Duplicates are explicitly removed from the list *default-special-bindings*
before passing it's value to progv. Take a look the function
bt::binding-default-specials.
Gustavo.
2010/9/4 james anderson <james.anderson at setf.de>
> re:
>
> (defvar *default-special-bindings* nil
> "This variable holds an alist associating special variable symbols
> to forms to evaluate. Special variables named in this list will
> be locally bound in the new thread before it begins executing user
> code.
>
> This variable may be rebound around calls to MAKE-THREAD to
> add/alter default bindings. The effect of mutating this list is
> undefined, but earlier forms take precedence over later forms for
> the same symbol, so defaults may be overridden by consing to the
> head of the list.")
>
> at least for sbcl and clozure, one needs to append to the list.
> does the spec say something else somewhere?
>
>
> * (progv '(a s a) '(1 2 3) a)
>
> ; in: LAMBDA NIL
> ; (PROGV '(A S A) '(1 2 3) A)
> ; --> LET UNWIND-PROTECT FLET BLOCK MULTIPLE-VALUE-BIND MULTIPLE-
> VALUE-CALL
> ; --> BLOCK SB-C::%WITHIN-CLEANUP RETURN-FROM
> ; ==>
> ; (PROGN
> ; (LABELS ((#:UNBIND1 (SB-C::VARS)
> ; (DECLARE #)
> ; (LET #
> ; #))
> ; (#:BIND0 (SB-C::VARS SB-C::VALS)
> ; (DECLARE #)
> ; (COND # # #)))
> ; (#:BIND0 '(A S A) '(1 2 3)))
> ; NIL
> ; A)
> ;
> ; caught WARNING:
> ; undefined variable: A
> ;
> ; compilation unit finished
> ; Undefined variable:
> ; A
> ; caught 1 WARNING condition
>
> 3
> *
>
>
> _______________________________________________
> Bordeaux-threads-devel mailing list
> Bordeaux-threads-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/bordeaux-threads-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/bordeaux-threads-devel/attachments/20100904/8b7ca61b/attachment.html>
More information about the bordeaux-threads-devel
mailing list