[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: catch-cancel



At 18:49 6/3/95, Alice Hartley wrote:
>At 4:55 PM 5/31/95, Michael Korcuska wrote:
>>In article <gclements-3105951036250001@mac21_58.keps.com>,
>>gclements@keps.com (Geoffrey Clements) wrote:
>>
>>>
>>> I belive the problem is that the scope that (throw *tag* "Cancelled") is
>>> different from the scope that (catch *tag ...) is set up in. The throw is
>>> called from low level event handling code which is different from where
>>> the loop is running. I also think that the throw-cancel/catch-cancel
>>> mechanism is reserved for modal-dialogs. (i'm relatively new to MCL so I
>>> could be wrong about this.)
>>
>>(my email reply to you previously was incorrect, Geoff.  sorry about that)
>>
>>I originally suspected this too.  But if this were the case then (throw
>>:foo) would cause an error.  My best guess (from Chris Wisdo actually) is
>>that the event processing code is setting up a (catch :cancel) inside the
>>dynamic scope of my catch.  Anybody at Apple/Digitool care to comment on
>>this?
>>
>
>Yes its true that there is a (catch :cancel ...) withing the event processing
>code. It should probably be mentioned somewhere in the documentation
>that MCL uses the catch tag :cancel for some internal purposes.

Maybe the catch tag should be something like the (this is from memory so
I might not get it quite right) Lispm tag: if-you-throw-to-this-you-deserve-to-lose.

>
>
>Alice@digitool.com