From: Tassilo Horn <tsdh@gnu.org>
To: Michael Heerdegen <michael_heerdegen@web.de>
Cc: help-gnu-emacs@gnu.org
Subject: Re: My read-buffer-function doesn't work when called by switch-to-buffer
Date: Sun, 12 Mar 2023 19:51:33 +0100 [thread overview]
Message-ID: <87h6upyenm.fsf@gnu.org> (raw)
In-Reply-To: <874jqq63vn.fsf@web.de>
Michael Heerdegen <michael_heerdegen@web.de> writes:
Hi Michael,
> I think the lesson is that it's better to avoid nested
> `completing-read' calls. It is probably not intended to allow to
> change the completion table in `read-buffer-function'.
Seems so but it nevertheless works extremely well since I strongly
stated my wish by appending to minibuffer-with-setup-hook. :-)
> Maybe an advice of a higher level function would better fit your
> wished-for behavior.
Do you have one in mind?
>> And a bonus question: I use vertico + marginalia, so the buffers (and
>> files in C-x C-f, variables/functions in C-h v/f,...) are nicely
>> annotated, e.g., with the buffer's mode or the file's permissions.
>> What do I have to do that the recentf candidates also get those
>> niceties? Wrap the recentf completion table so that it responds to
>> metadata requests?
>
> Dunno. I don't use these packages. Maybe using :annotation-function
> in `completion-extra-properties' also works? How do these packages
> achieve this?
I haven't checked their implementation but completion-extra-properties
is nil and the metadata completion requests also don't return an
annotation-function or affixation-function. Nevertheless, all standard
completions are annotated. I'll have a look how marginalia does it.
Anyway, I've played a bit with responding to metadata requests and it
looks like it's not really suited for my goal because it seems to assume
that the metadata won't change (e.g., category from buffer to file)
during a single completion which is obviously a reasonable assumption.
Bye,
Tassilo
next prev parent reply other threads:[~2023-03-12 18:51 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-10 21:10 My read-buffer-function doesn't work when called by switch-to-buffer Tassilo Horn
2023-03-11 0:32 ` Michael Heerdegen
2023-03-11 8:58 ` Tassilo Horn
2023-03-11 20:40 ` `when-let' (was: Re: My read-buffer-function doesn't work when called by switch-to-buffer) Emanuel Berg
2023-03-12 3:32 ` My read-buffer-function doesn't work when called by switch-to-buffer Michael Heerdegen
2023-03-12 18:51 ` Tassilo Horn [this message]
2023-03-13 0:32 ` Michael Heerdegen
2023-03-15 9:06 ` Tassilo Horn
2023-03-15 18:57 ` Michael Heerdegen
2023-03-16 9:18 ` Tassilo Horn
2023-03-16 16:59 ` Tassilo Horn
2023-03-16 23:46 ` Michael Heerdegen
2023-03-17 7:04 ` Tassilo Horn
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=87h6upyenm.fsf@gnu.org \
--to=tsdh@gnu.org \
--cc=help-gnu-emacs@gnu.org \
--cc=michael_heerdegen@web.de \
/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.
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).