[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: catch-cancel
- To: info-mcl@digitool.com
- Subject: Re: catch-cancel
- From: lynch@ils.nwu.edu (Richard Lynch)
- Date: 29 May 1995 19:09:08 GMT
- Organization: ILS
- References: <korcuska-2805950935540001@korcuska.ils.nwu.edu>
- Sender: owner-info-mcl@digitool.com
In article <korcuska-2805950935540001@korcuska.ils.nwu.edu>,
korcuska@ils.nwu.edu (Michael Korcuska) wrote:
|We ran into a strange problem the other day with catch-cancel and
|throw-cancel. Inside a catch-cancel we create a window with a button
|which, when clicked, calls throw-cancel. Unfortunately the throw wasn't
|being caught by the catch we set up.
|
|After puzzling over this for a bit, we ditched (catch-cancel...) and used
|(catch :my-cancel ...). Now it works fine.
|
|Ok. So catch-cancel must be doing something strange, right?
|Macroexpanding catch-cancel gives us (catch :cancel ...). And, sure
|enough, if we use :cancel as the tag for the catch then the problem
|reappears. So it seems that MCL's implementation of catch is doing
|something special when the tag is :cancel.
|
|Anyone care to explain what's happening? Is it documented somewhere?
Don't claim to understand what's going on, but I fought with this [or at
least related] once before.
I tried to set up my own yes/no/cancel dialog, and return one of [:yes,
:no, :cancel]. It behaved oddly/specially :cancel. Any other value would
be ok.
It would probably be a bad idea to try and fix it, but documentation
explaining what's going on, or at least saying what not to do would be a
Good Thing<tm>.
--
--
--
-- "TANSTAAFL" Rich lynch@ils.nwu.edu