Peter Graves | 1 Jun 2008 19:57

Re: SpecialBinding not declared public

On Fri, 30 May 2008 at 22:36:33 +0200, Erik Huelsmann wrote:
> In a piece of Java code, I'd like to do something like the lisp code below:
>
>  (let ((*handler-clusters* (cons (list 'error #'foo) *handler-clusters*)))
>    ... <my code>)
>
> When looking at Symbol.java:getDescription(), I see a construct like this:
>
>     final LispThread thread = LispThread.currentThread();
>     SpecialBinding lastSpecialBinding = thread.lastSpecialBinding;
>     thread.bindSpecial(Symbol.PRINT_ESCAPE, NIL);
>     try
>       {
>        ....
>       }
>     finally
>       {
>         thread.lastSpecialBinding = lastSpecialBinding;
>       }
>
> To me, that looks like something I should be able to do in my code
> too. However, while LispThread.lastSpecialBinding is public, its type
> SpecialBinding is not...
>
> I presume this is a bug?
>
> If it is, the patch below fixes this issue:
>
> Index: SpecialBinding.java
> ===================================================================
(Continue reading)


Gmane