From: Eli Zaretskii <eliz@gnu.org>
To: Juri Linkov <juri@jurta.org>
Cc: 5809@debbugs.gnu.org
Subject: bug#5809: 23.1.94; cross-reference by anchor yields in accurate position
Date: Sun, 04 Apr 2010 15:12:11 +0300 [thread overview]
Message-ID: <83sk7bzaas.fsf@gnu.org> (raw)
In-Reply-To: <87bpdzzdfu.fsf@mail.jurta.org>
> From: Juri Linkov <juri@jurta.org>
> Cc: monnier@iro.umontreal.ca, 5809@debbugs.gnu.org
> Date: Sun, 04 Apr 2010 14:07:28 +0300
>
> >> There are still a problem. I can't find a way to move the cursor
> >> inside the overlay's after-string and click links inside it.
> >> Any suggestions?
> >
> > Does it work to change the character of the overlay string on which
> > you put the `cursor' property? (You will need to redefine C-f, C-b,
> > and friends for that.)
>
> Sorry, I don't understand what do you mean. Could you modify the example
> you recently sent to emacs-devel:
>
> (let ((pos (goto-char (point-max))))
> (insert "foobar")
> (overlay-put
> (make-overlay (+ pos 2) (+ pos 3))
> 'after-string (propertize "-" 'cursor t)))
>
> to allow the cursor to move inside 'after-string and to not jump over it?
Compare the results of evaluating the two forms below:
(let ((pos (goto-char (point-max))))
(insert "foobar")
(overlay-put
(make-overlay (+ pos 2) (+ pos 3))
'after-string (concat "1" (propertize "2" 'cursor t) "34")))
(let ((pos (goto-char (point-max))))
(insert "foobar")
(overlay-put
(make-overlay (+ pos 2) (+ pos 3))
'after-string (concat "12" (propertize "3" 'cursor t) "4")))
Both display "foo1234bar", with "1234" coming from the `after-string'
overlay.
When you type C-f on the second `o' in "foo", the cursor will be
displayed on `2' with the first form and on `3' with the second. More
generally, the cursor will be displayed on the character in "1234"
which you propertize with a non-nil `cursor' property.
What I meant in my suggestion is to move the property from one
character to another of the `after-string' when the user types C-f
with cursor on the overlay. E.g., if the cursor is on `2' and I type
C-f, modify the `after-string' from
(concat "1" (propertize "2" 'cursor t) "34")
to
(concat "12" (propertize "3" 'cursor t) "4")
Then it will appear as if the cursor moved inside the `after-string'.
next prev parent reply other threads:[~2010-04-04 12:12 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-31 9:58 bug#5809: 23.1.94; cross-reference by anchor yields in accurate position Eli Zaretskii
2010-03-31 11:17 ` Eli Zaretskii
2010-03-31 15:08 ` Juri Linkov
2010-03-31 15:55 ` Eli Zaretskii
2010-04-01 18:06 ` Juri Linkov
2010-04-01 18:13 ` Eli Zaretskii
2010-04-01 18:30 ` Juri Linkov
2010-04-01 20:22 ` Eli Zaretskii
2010-04-01 20:49 ` Eli Zaretskii
2010-04-01 21:10 ` Juri Linkov
2010-04-01 22:16 ` Stefan Monnier
2010-04-02 7:07 ` Eli Zaretskii
2010-04-02 14:17 ` Drew Adams
2010-04-02 14:39 ` Eli Zaretskii
2010-04-02 15:26 ` Drew Adams
2010-04-04 20:39 ` Drew Adams
2010-04-04 20:47 ` Eli Zaretskii
2010-04-04 22:51 ` Drew Adams
2010-04-04 23:58 ` Juri Linkov
2010-04-05 7:01 ` Drew Adams
2010-04-05 16:42 ` Juri Linkov
2010-04-05 20:11 ` Stefan Monnier
2010-04-05 23:17 ` Drew Adams
2010-04-06 5:49 ` Drew Adams
2010-04-06 17:46 ` Drew Adams
2010-04-05 16:45 ` Juri Linkov
2010-04-05 17:12 ` Drew Adams
2010-04-05 21:55 ` Eli Zaretskii
2010-04-05 6:38 ` Drew Adams
2010-04-02 16:14 ` Juri Linkov
2010-04-02 16:31 ` Drew Adams
2010-04-02 17:41 ` Eli Zaretskii
2010-04-02 18:01 ` Stefan Monnier
2010-04-02 23:11 ` Juri Linkov
2010-04-03 22:04 ` Juri Linkov
2010-04-04 6:12 ` Eli Zaretskii
2010-04-04 11:07 ` Juri Linkov
2010-04-04 12:12 ` Eli Zaretskii [this message]
2010-04-04 23:51 ` Juri Linkov
2010-04-05 5:26 ` Eli Zaretskii
2010-04-04 14:31 ` Stefan Monnier
2010-04-04 23:52 ` Juri Linkov
2010-04-05 2:06 ` Stefan Monnier
2010-04-05 16:50 ` Juri Linkov
2010-04-05 20:09 ` Stefan Monnier
2010-04-05 22:17 ` Juri Linkov
2010-04-01 21:09 ` Juri Linkov
2010-04-02 18:03 ` Stefan Monnier
2010-04-25 18:28 ` Chong Yidong
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=83sk7bzaas.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=5809@debbugs.gnu.org \
--cc=juri@jurta.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.
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).