From: "Basil L. Contovounesios" <contovob@tcd.ie>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
Subject: Re: master 695f679: Remove ; ; ; ###tramp-autoload cookie from Tramp defcustoms (Bug#47063)
Date: Sun, 14 Mar 2021 12:59:23 +0000 [thread overview]
Message-ID: <87zgz5uc0k.fsf@tcd.ie> (raw)
In-Reply-To: <87sg4ygmd9.fsf@gmx.de> (Michael Albinus's message of "Sun, 14 Mar 2021 09:39:30 +0100")
[-- Attachment #1: Type: text/plain, Size: 496 bytes --]
Michael Albinus <michael.albinus@gmx.de> writes:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>>> - The function command-completion-default-include-p checks whether
>>> completion-predicate is functionp.
>> I think this is *also* needed, tho a better option is
>> `with-demoted-errors` since no matter what error is signal'd we don't
>> want it to prevent `M-x` from doing its job.
> Yes.
Like so? Or do we want the safety net higher up, e.g. in
read-extended-command or its callers?
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Demote-completion-predicate-errors.patch --]
[-- Type: text/x-diff, Size: 1271 bytes --]
From 41cbd533d7fb770ef3ce8a8a88180f9e0e1ecc54 Mon Sep 17 00:00:00 2001
From: "Basil L. Contovounesios" <contovob@tcd.ie>
Date: Sun, 14 Mar 2021 12:52:31 +0000
Subject: [PATCH] Demote completion-predicate errors
For discussion, see the following thread:
https://lists.gnu.org/r/emacs-devel/2021-03/msg00682.html
* lisp/simple.el (command-completion-default-include-p): Demote
errors when calling completion-predicate so M-x doesn't break.
---
lisp/simple.el | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/lisp/simple.el b/lisp/simple.el
index 98fccf4ff2..295c01e21f 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -2025,7 +2025,12 @@ command-completion-default-include-p
BUFFER."
(if (get symbol 'completion-predicate)
;; An explicit completion predicate takes precedence.
- (funcall (get symbol 'completion-predicate) symbol buffer)
+ ;; Demote any errors so M-x continues to work.
+ (condition-case-unless-debug err
+ (funcall (get symbol 'completion-predicate) symbol buffer)
+ (error
+ (message "command-completion-default-include-p: %s: %S" symbol err)
+ nil))
(or (null (command-modes symbol))
(command-completion-using-modes-p symbol buffer))))
--
2.30.1
[-- Attachment #3: Type: text/plain, Size: 169 bytes --]
> I have adapted tramp-crypt.el such a way, that `completion-predicate'
> for `tramp-crypt-add-directory' is set only after loading tramp-crypt.el.
Thanks,
--
Basil
next prev parent reply other threads:[~2021-03-14 12:59 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20210313133546.6042.78482@vcs0.savannah.gnu.org>
[not found] ` <20210313133547.AA06C20B2E@vcs0.savannah.gnu.org>
2021-03-13 22:27 ` master 695f679: Remove ; ; ; ###tramp-autoload cookie from Tramp defcustoms (Bug#47063) Basil L. Contovounesios
2021-03-13 23:20 ` Stefan Monnier
2021-03-14 8:39 ` Michael Albinus
2021-03-14 12:59 ` Basil L. Contovounesios [this message]
2021-03-14 14:57 ` Stefan Monnier
2021-03-24 22:19 ` Basil L. Contovounesios
2021-03-25 8:25 ` Michael Albinus
2021-03-26 15:18 ` Basil L. Contovounesios
2021-03-26 15:24 ` Michael Albinus
2021-03-25 9:12 ` Lars Ingebrigtsen
2021-03-25 14:05 ` Stefan Monnier
2021-03-26 11:28 ` Lars Ingebrigtsen
2021-03-26 13:39 ` Stefan Monnier
2021-03-26 14:42 ` Michael Albinus
2021-03-26 18:39 ` Basil L. Contovounesios
2021-03-26 15:36 ` Basil L. Contovounesios
2021-03-26 16:37 ` Stefan Monnier
2021-03-26 18:18 ` Basil L. Contovounesios
2021-03-26 22:12 ` Lars Ingebrigtsen
2021-03-26 15:57 ` Basil L. Contovounesios
2021-03-26 15:33 ` Basil L. Contovounesios
2021-03-26 16:32 ` Stefan Monnier
2021-03-26 18:18 ` Basil L. Contovounesios
2021-03-26 15:27 ` Basil L. Contovounesios
2021-03-26 22:11 ` Lars Ingebrigtsen
2021-03-27 1:18 ` Basil L. Contovounesios
2021-03-27 12:33 ` Lars Ingebrigtsen
2021-03-27 20:29 ` Basil L. Contovounesios
2021-03-14 14:57 ` Stefan Monnier
2021-03-14 18:42 ` Michael Albinus
2021-03-14 20:30 ` Stefan Monnier
2021-03-15 9:00 ` Michael Albinus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87zgz5uc0k.fsf@tcd.ie \
--to=contovob@tcd.ie \
--cc=emacs-devel@gnu.org \
--cc=michael.albinus@gmx.de \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).