[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/transient fd2695d12c 217/366: transient--with-emergency
From: |
Jonas Bernoulli |
Subject: |
[elpa] externals/transient fd2695d12c 217/366: transient--with-emergency-exit: Wrap default debug function |
Date: |
Tue, 25 Jan 2022 18:54:42 -0500 (EST) |
branch: externals/transient
commit fd2695d12c76d504cb9d7e705b22e9cb547639d5
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>
transient--with-emergency-exit: Wrap default debug function
Previously we tried to use the `debug-mode-hook' (which is called
by `debug') to take the emergency exit, but that was not reliable
because, that hook is only called if the *Backtrace* buffer does
not happen to already exit.
---
lisp/transient.el | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/lisp/transient.el b/lisp/transient.el
index 0ede50b365..8cc93a5bc9 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -92,11 +92,16 @@
(defmacro transient--with-emergency-exit (&rest body)
(declare (indent defun))
`(condition-case err
- ,(macroexp-progn body)
+ (let ((debugger #'transient--exit-and-debug))
+ ,(macroexp-progn body))
((debug error)
(transient--emergency-exit)
(signal (car err) (cdr err)))))
+(defun transient--exit-and-debug (&rest args)
+ (transient--emergency-exit)
+ (apply #'debug args))
+
;;; Options
(defgroup transient nil
@@ -2009,13 +2014,6 @@ value. Otherwise return CHILDREN as is."
(defun transient--emergency-exit ()
"Exit the current transient command after an error occurred.
-
-Beside being used with `condition-case', this function also has
-to be a member of `debugger-mode-hook', else the debugger would
-be unusable and exiting it by pressing \"q\" would fail because
-the transient command would still be active and that key would
-either be unbound or do something else.
-
When no transient is active (i.e. when `transient--prefix') is
nil, then do nothing."
(transient--debug 'emergency-exit)
@@ -2025,8 +2023,6 @@ nil, then do nothing."
(transient--pre-exit)
(transient--post-command)))
-(add-hook 'debugger-mode-hook 'transient--emergency-exit)
-
;;; Pre-Commands
(defun transient--do-stay ()
- [elpa] externals/transient b52c9652fa 077/366: Update manual, (continued)
- [elpa] externals/transient b52c9652fa 077/366: Update manual, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient dcf7a4dc62 084/366: transient-read-with-initial-input: New option, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient fd9e9bfe26 088/366: transient--layout-member-1: New function, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient ac02efc119 157/366: transient--scroll-commands: New variable, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 9683e8add2 165/366: transient--do-suffix-p: New function, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient ec2de622d2 171/366: transient-suffix-object: Check type of argument, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient bcd07e065b 172/366: transient--suffix-symbol: Split from transient--suffix-command, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 293a437d66 206/366: Support padding of keys regardless of the group's class, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 3284f6a0fe 213/366: transient-init-value: Support per-object functions for prefixes, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 809fd048b1 223/366: transient--insert-suffix: Add comments, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient fd2695d12c 217/366: transient--with-emergency-exit: Wrap default debug function,
Jonas Bernoulli <=
- [elpa] externals/transient f086cb620b 224/366: transient--insert-suffix: Allow same key with different predicates, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 7811dcff82 226/366: Add /docs/*.info to .gitignore, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 8ad5fb83c4 227/366: Remove async-bytecomp kludge, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient d48f2451ec 232/366: transient--pre-exit: Don't log clearing of minibuffer, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 48335f8370 237/366: transient-status: Prevent use while minibuffer is active, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient baebe85ceb 239/366: manual: Deal with texinfo cross reference idiocy, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 8c28b8a4fa 242/366: transient-prefix: Do not initially bind SUFFIX-DESCRIPTION, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient cc16a5eaa7 244/366: transient-{, base-}map: Mention related keymaps in doc-string, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 39c536eab6 245/366: make: Add bump-version target, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 4da0fab7d9 246/366: Release version 0.3.1, Jonas Bernoulli, 2022/01/25