martin rudalics <[EMAIL PROTECTED]> writes: > It's a problem with `save-restriction'. Take: > > (with-current-buffer (get-buffer-create "*foo*") > (delete-region (point-min) (point-max)) > (insert "foo\nbar\nfoo\n") > (save-restriction > (narrow-to-region (line-beginning-position -1) (line-end-position -1)) > (error "????"))) > > It will leave the buffer narrowed although the doc-string of > `save-restriction' says: > > AFAICT Emacs 20 DTRT here, Emacs 21 and 22 don't. Could you try to > debug it?
I've tried. From what I can tell `specpdl' isn't being wound back afterwards, so `save_restriction_restore' is never called. In fact, this apparently is the case after any error (unless caught by `condition-case'), so `specpdl' grows bigger and bigger. Is that supposed to happen?? The functions called by `error' are * signal ** find_handler_clause *** call_debuger **** debug ***** recursive-edit ****** command_loop ******* internal_catch ******** command_loop_2 from which it never returns. regards, Nikolaj Schumacher _______________________________________________ emacs-pretest-bug mailing list [email protected] http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
