[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-f
From: |
Juri Linkov |
Subject: |
Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846) |
Date: |
Thu, 16 May 2024 09:08:21 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) |
>> +*** New variable 'completion-allow-text-properties'.
>> +Like non-nil 'minibuffer-allow-text-properties' that doesn't discard
>> +text properties, it does the same by keeping text properties
>> +on the selected completion candidate. So when these two variables
>> +both are non-nil then 'completing-read' returns a selected completion
>> +with the initial text properties kept intact.
>
> Note that when minibuffer-allow-text-properties is non-nil, you can
> already get the same original text properties from completing-read if
> you "select" your candidate by cycling, since that doesn't go through
> choose-completion which strips text properties. It feels a bit
> surprising to have this separate variable that affects one kind of
> selection ("choosing") and not other kinds ("cycling", "expanding").
> IMO, it'd be better, if possible, to just cease stripping text
> properties in choose-completion altogether. Note that choose-completion
> calls completion--replace to do the actual insertion, and that function
> already respects minibuffer-allow-text-properties.
I agree that a new variable is unnecessary, so it would be better just
to preserve text properties in choose-completion unconditionally.
Unless there are objections this looks like the right thing to do.
>> (let ((name (thing-at-point 'symbol))
>> choice
>> + (minibuffer-allow-text-properties t)
>> + (completion-allow-text-properties t)
>
> IIUC, these let-bindings around completing-read will affect all
> recursive minibuffers too, and even completion-at-point completions if
> you start editing another buffer before exiting the minibuffer. Perhaps
> we can use buffer-local bindings in the minibuffer and propagate them to
> the completions list buffer when populating it instead of let-binding?
This problem could be solved much easier if we avoid adding a new variable
completion-allow-text-properties. Then we can set only the existing variable
minibuffer-allow-text-properties in the minibuffer.
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), (continued)
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Juri Linkov, 2024/05/13
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Juri Linkov, 2024/05/14
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Eli Zaretskii, 2024/05/14
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Stefan Monnier, 2024/05/14
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Juri Linkov, 2024/05/14
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Daniel Mendler, 2024/05/14
- FW: [External] : Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Drew Adams, 2024/05/14
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Juri Linkov, 2024/05/15
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Eli Zaretskii, 2024/05/15
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Eshel Yaron, 2024/05/15
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846),
Juri Linkov <=
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Eli Zaretskii, 2024/05/16
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Juri Linkov, 2024/05/17
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Stefan Monnier, 2024/05/17
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Juri Linkov, 2024/05/17
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Stefan Monnier, 2024/05/18
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Juri Linkov, 2024/05/20
- Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Juri Linkov, 2024/05/27
- RE: [External] : Re: master 431f8ff1e38: * lisp/imenu.el: Support more values for imenu-flatten (bug#70846), Drew Adams, 2024/05/14