On Sat, Nov 28, 2009 at 2:49 AM, Stefan Monnier wrote: >>>> Isn't there still a problem with condition-case then? Or perhaps it >>>> could be tamed to pass on user-error? >>> I don't know what problem you're thinking of. >> That the intention is going to top-level and condition-case might stop >> it.  But I do not know what is best to do.  user-error will really fit >> best in command functions.  It those are called by other functions the >> semantics is a bit hard to define (or at least use). > > Usually the `user-error' situations are situations which are expected to > be pilot errors rather than bugs, but you can never be sure since > commands can also be called as functions, so the "pilot" may be another > piece of Lisp code.  So condition-case needs to be able to catch them. So here is the patch. There are some "fix-me":s. I tried to convert some (error ...) to (user-error ...) where it seemed to apply.