From: Platon Pronko <platon7pronko@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>, help-gnu-emacs@gnu.org
Subject: Re: Moving point around empty overlays with 'after-text
Date: Sat, 8 Apr 2023 18:14:13 +0800 [thread overview]
Message-ID: <e0879711-c6bf-a70d-9f99-03569b508eed@gmail.com> (raw)
In-Reply-To: <83wn2mn0xf.fsf@gnu.org>
On 2023-04-08 18:06, Eli Zaretskii wrote:
>> Date: Fri, 07 Apr 2023 22:46:19 -0700
>> From: Ash <ext0l@catgirl.ai>
>>
>> https://github.com/emacs-lsp/lsp-mode/issues/3263 is a bug in lsp-mode (emacs's
>> own eglot has the same bug as far as I can tell) that appears to boil down to
>> the behavior of emacs overlays and after-string. That is, if your buffer looks
>> like
>>
>> let my_value{: Vec<i32>} = vec![0, 1, 2];
>>
>> (where the curly braces indicate the after-string property of an
>> overlay), you need to put your cursor *after* the overlay to
>> insert text at the end of the variable name, which comes *before*
>> it, and it's impossible to put your cursor immediately between
>> the overlay and the preceding text. I assume the behavior the
>> user desires is that you can put your cursor either immediately
>> before or immediately after the overlay and insert text, and that
>> pressing the left/right arrow would move you over the overlay but
>> leave the actual position of point unchahnged.
>>
>> My suspicion is that this isn't fixable just by setting the right text/overlay
>> properties, since both the cursor locations immediately before and after the
>> overlay actually correspond to the same location in the underlying string. But
>> I'm not good at text property arcana. Any advice?
>
> Did you try to use on the overlay string the 'cursor' text property
> whose value is zero?
>
As I understand that it won't help, because they have to use zero-width overlays here,
and the behavior of 'cursor property in such cases is not to be relied upon (as you previously
suggested in https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62540).
--
Best regards,
Platon Pronko
PGP 2A62D77A7A2CB94E
next prev parent reply other threads:[~2023-04-08 10:14 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-08 5:46 Moving point around empty overlays with 'after-text Ash
2023-04-08 10:06 ` Eli Zaretskii
2023-04-08 10:14 ` Platon Pronko [this message]
2023-04-08 10:10 ` Platon Pronko
2023-04-08 23:06 ` Ash
2023-04-09 12:15 ` Platon Pronko
2023-04-09 14:49 ` tomas
2023-04-10 1:52 ` Platon Pronko
2023-04-10 4:56 ` Eli Zaretskii
2023-04-10 5:22 ` Platon Pronko
2023-04-10 9:56 ` Yuri Khan
2023-04-11 8:49 ` Platon Pronko
2023-04-11 9:41 ` Yuri Khan
2023-04-10 5:35 ` tomas
2023-04-10 5:48 ` Platon Pronko
2023-04-09 20:44 ` Ash
2023-04-10 2:00 ` Platon Pronko
2023-04-10 3:21 ` Ash
2023-04-10 3:31 ` Platon Pronko
2023-04-11 0:22 ` Ash
2023-04-10 5:09 ` Eli Zaretskii
2023-04-10 5:37 ` Platon Pronko
2023-04-10 8:03 ` Eli Zaretskii
2023-04-10 9:05 ` Platon Pronko
2023-04-10 5:01 ` Eli Zaretskii
2023-04-10 5:26 ` Platon Pronko
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=e0879711-c6bf-a70d-9f99-03569b508eed@gmail.com \
--to=platon7pronko@gmail.com \
--cc=eliz@gnu.org \
--cc=help-gnu-emacs@gnu.org \
/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).