In article , Pascal J. Bourguignon wrote: >... >The point is that catch/throw is a dynamic mechanism, not a lexical one. >So it is bad to say "outside", since this has a spacial conotation. > >throw can be used WHEN catch is executing, or WHEN it is not. > >If you call (throw 'something result) WHEN there's a (catch 'something …) >executing, then the control will pass from the throw expression to the >catch expression, and the catch expression will return the result >passed to throw. > >It's only a question of time, of WHEN catch is being evaluated and WHEN >throw is evaluated. > Would you then say that when throw is triggered, it starts looking up the stack (to older items) for a (matching?) catch, then collapses the part of the stack it came from (where the throw was) up to that point, fixes things up, and continues within the catch? And if there is no catch, then it does . > > > ...., but the current implementation >(even in emacs-24) is full of bugs. In your opinion, is this going to get fixed anytime soon? Or has it been there for decades, and probably will remain for decades to come? Thanks, David