diff options
author | Miha Rihtaršič <miha@kamnitnik.top> | 2021-07-20 14:36:45 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2021-07-20 14:36:45 +0200 |
commit | 7edbcb3648e9d08a4ccc291f672f831b4f07eb5c (patch) | |
tree | 30f6ce7415be55f973b0071d2d957023b9b8c4c7 /src/minibuf.c | |
parent | 557c59591cb03729c7ab56719e5ed87a1f06d435 (diff) | |
download | emacs-7edbcb3648e9d08a4ccc291f672f831b4f07eb5c.tar.gz emacs-7edbcb3648e9d08a4ccc291f672f831b4f07eb5c.tar.bz2 emacs-7edbcb3648e9d08a4ccc291f672f831b4f07eb5c.zip |
Quit minibuffers without aborting kmacros
* doc/lispref/commands.texi (Quitting): Document `minibuffer-quit'
(Recursive Editing): Document throwing of function values to `exit'.
* doc/lispref/errors.texi (Standard Errors): Document
`minibuffer-quit'
* lisp/minibuffer.el (minibuffer-quit-recursive-edit): New function.
* lisp/simple.el (minibuffer-error-function): Do not abort keyboard
macro execution if is minibuffer-quit is signaled (bug#48603).
* src/data.c (syms_of_data): New error symbol `minibuffer-quit'
* src/keyboard.c (recursive_edit_1): Implement throwing of function
values to `exit`. In that case, the function will be called without
arguments before returning from the command loop.
(cmd_error):
(Fcommand_error_default_function): Do not abort keyboard macro
execution if minibuffer-quit is signaled.
(command_loop_2): New argument HANDLERS.
* src/macros.c (Fexecute_kbd_macro): Use command_loop_2 instead of
command_loop_1.
* src/minibuf.c (Fabort_minibuffers): Use it.
Diffstat (limited to 'src/minibuf.c')
-rw-r--r-- | src/minibuf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/minibuf.c b/src/minibuf.c index 1b842b77211..0f4349e70b8 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -496,7 +496,7 @@ confirm the aborting of the current minibuffer and all contained ones. */) } } else - Fthrow (Qexit, Qt); + CALLN (Ffuncall, intern ("minibuffer-quit-recursive-edit")); return Qnil; } |