I'm checking this in. It is not ok to 'return' from inside a TRY_CATCH. This messes up the cleanups and will lead to problems later. I found this problem using the attached script. It is simplistic but I think it should catch most cases of this bug. You can run it using: emacs --script try-catch.el /path/to/src/gdb Tom