From: Eli Zaretskii <eliz@gnu.org>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: emacs-devel@gnu.org, stefankangas@gmail.com, dgutov@yandex.ru
Subject: Re: Tick Reduction
Date: Fri, 26 Nov 2021 14:56:42 +0200 [thread overview]
Message-ID: <83fsrj2hyt.fsf@gnu.org> (raw)
In-Reply-To: <87r1b39kza.fsf@gnus.org> (message from Lars Ingebrigtsen on Fri, 26 Nov 2021 13:09:45 +0100)
> From: Lars Ingebrigtsen <larsi@gnus.org>
> Cc: dgutov@yandex.ru, stefankangas@gmail.com, emacs-devel@gnu.org
> Date: Fri, 26 Nov 2021 13:09:45 +0100
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > Given this description, what exactly do you mean when you say you
> > don't understand "how the display (resulting from those C strings)
> > does have text properties"? How do you see that "the display does
> > have text properties"?
>
> When hovering over "10%", Emacs displays the `help-echo' text property.
Ah, that. It's an illusion which we create in this fragment from
display_mode_element:
case MODE_LINE_DISPLAY:
{
int nglyphs_before, nwritten;
nglyphs_before = it->glyph_row->used[TEXT_AREA];
nwritten = display_string (spec, string, elt,
charpos, 0, it,
field, prec, 0,
multibyte);
/* Assign to the glyphs written above the
string where the `%x' came from, position
of the `%'. */
if (nwritten > 0)
{
struct glyph *glyph
= (it->glyph_row->glyphs[TEXT_AREA]
+ nglyphs_before);
int i;
for (i = 0; i < nwritten; ++i)
{
glyph[i].object = elt;
glyph[i].charpos = charpos;
}
n += nwritten;
}
As you see, after display_string (where any 'display' properties can
be consulted and acted upon) does its job and produces some glyphs for
display on the mode line, we manually assign to each produced glyph
the original object from which those glyphs came. In this case, that
object is the Lisp string whose text is "%p" and whose text properties
include help-echo etc. Then, when the mouse hovers over that part of
the mode line, the code in note_mode_line_or_margin_highlight examines
the object recorded in the glyph below the mouse pointer, and extracts
the help-echo stuff.
next prev parent reply other threads:[~2021-11-26 12:56 UTC|newest]
Thread overview: 167+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-18 20:37 Tick Reduction Lars Ingebrigtsen
2021-11-18 21:01 ` Perry E. Metzger
2021-11-19 5:25 ` Lars Ingebrigtsen
2021-11-18 21:23 ` Dmitry Gutov
2021-11-19 5:27 ` Lars Ingebrigtsen
2021-11-19 6:31 ` Michael Welsh Duggan
2021-11-19 6:50 ` Stefan Kangas
2021-11-19 7:05 ` Lars Ingebrigtsen
2021-11-19 8:19 ` Eli Zaretskii
2021-11-19 8:30 ` Lars Ingebrigtsen
2021-11-20 8:01 ` Eli Zaretskii
2021-11-20 9:07 ` Lars Ingebrigtsen
2021-11-21 15:11 ` Lars Ingebrigtsen
2021-11-21 17:16 ` Eli Zaretskii
2021-11-21 17:24 ` Lars Ingebrigtsen
2021-11-21 17:39 ` Eli Zaretskii
2021-11-21 18:00 ` Lars Ingebrigtsen
2021-11-21 18:15 ` Eli Zaretskii
2021-11-21 18:25 ` Lars Ingebrigtsen
2021-11-21 18:33 ` Lars Ingebrigtsen
2021-11-21 19:31 ` Eli Zaretskii
2021-11-21 19:34 ` Lars Ingebrigtsen
2021-11-21 19:36 ` Lars Ingebrigtsen
2021-11-21 19:41 ` Lars Ingebrigtsen
2021-11-21 19:49 ` Eli Zaretskii
2021-11-21 19:53 ` Lars Ingebrigtsen
2021-11-21 20:07 ` Eli Zaretskii
2021-11-21 20:17 ` Lars Ingebrigtsen
2021-11-21 20:26 ` Eli Zaretskii
2021-11-21 20:30 ` Lars Ingebrigtsen
2021-11-21 20:31 ` Lars Ingebrigtsen
2021-11-22 8:19 ` Lars Ingebrigtsen
2021-11-22 14:45 ` Eli Zaretskii
2021-11-22 14:50 ` Lars Ingebrigtsen
2021-11-22 17:21 ` Eli Zaretskii
2021-11-22 18:35 ` Stefan Monnier
2021-11-23 10:15 ` Lars Ingebrigtsen
2021-11-23 13:41 ` Eli Zaretskii
2021-11-23 13:49 ` Lars Ingebrigtsen
2021-11-23 14:19 ` Eli Zaretskii
2021-11-23 14:32 ` Lars Ingebrigtsen
2021-11-23 14:43 ` Eli Zaretskii
2021-11-24 11:07 ` Lars Ingebrigtsen
2021-11-24 14:20 ` Eli Zaretskii
2021-11-24 16:28 ` Lars Ingebrigtsen
2021-11-24 17:05 ` Eli Zaretskii
2021-11-24 17:10 ` Lars Ingebrigtsen
2021-11-24 17:41 ` Eli Zaretskii
2021-11-24 17:50 ` Lars Ingebrigtsen
2021-11-24 18:39 ` Eli Zaretskii
2021-11-24 18:44 ` Lars Ingebrigtsen
2021-11-24 19:00 ` Eli Zaretskii
2021-11-25 13:02 ` Lars Ingebrigtsen
2021-11-25 12:58 ` Lars Ingebrigtsen
2021-11-25 13:28 ` Eli Zaretskii
2021-11-25 14:29 ` Lars Ingebrigtsen
2021-11-25 15:10 ` Eli Zaretskii
2021-11-26 12:12 ` Lars Ingebrigtsen
2021-11-26 12:43 ` Eli Zaretskii
2021-11-24 18:41 ` Lars Ingebrigtsen
2021-11-24 18:53 ` Eli Zaretskii
2021-11-24 22:32 ` Yuan Fu
2021-11-25 7:34 ` Eli Zaretskii
2021-11-26 17:03 ` Yuan Fu
2021-11-26 18:41 ` Eli Zaretskii
2021-11-26 18:54 ` Yuan Fu
2021-11-26 18:57 ` Eli Zaretskii
2021-11-25 13:06 ` Lars Ingebrigtsen
2021-11-25 14:02 ` Eli Zaretskii
2021-11-25 14:07 ` Lars Ingebrigtsen
2021-11-25 14:12 ` Eli Zaretskii
2021-11-25 14:16 ` Lars Ingebrigtsen
2021-11-25 15:04 ` Eli Zaretskii
2021-11-26 12:09 ` Lars Ingebrigtsen
2021-11-26 12:56 ` Eli Zaretskii [this message]
2021-11-27 14:15 ` Lars Ingebrigtsen
2021-11-27 14:51 ` Eli Zaretskii
2021-11-29 13:40 ` Lars Ingebrigtsen
2021-11-29 13:53 ` Eli Zaretskii
2021-11-29 14:00 ` Lars Ingebrigtsen
2021-11-29 14:06 ` Eli Zaretskii
2021-11-29 14:15 ` Lars Ingebrigtsen
2021-11-29 14:17 ` Eli Zaretskii
2021-11-29 14:35 ` Eli Zaretskii
2021-11-29 15:06 ` Lars Ingebrigtsen
2021-11-24 23:10 ` Feng Shu
2021-11-25 7:42 ` Eli Zaretskii
2021-11-25 11:52 ` Lars Ingebrigtsen
2021-11-22 23:26 ` chad
2021-11-21 20:10 ` Lars Ingebrigtsen
2021-11-21 20:22 ` Eli Zaretskii
2021-11-21 20:28 ` Lars Ingebrigtsen
2021-11-21 20:41 ` Lars Ingebrigtsen
2021-11-21 21:13 ` Eli Zaretskii
2021-11-21 20:42 ` Eli Zaretskii
2021-11-21 21:12 ` Eli Zaretskii
2021-11-22 11:22 ` Lars Ingebrigtsen
2021-11-22 14:52 ` Eli Zaretskii
2021-11-22 14:55 ` Lars Ingebrigtsen
2021-11-22 18:04 ` Eli Zaretskii
2021-11-19 8:33 ` Stefan Kangas
2021-11-19 8:39 ` Lars Ingebrigtsen
2021-11-19 8:48 ` Eli Zaretskii
2021-11-19 10:00 ` Lars Ingebrigtsen
2021-11-19 10:28 ` Stefan Kangas
2021-11-19 12:41 ` Eli Zaretskii
2021-11-19 13:04 ` Stefan Kangas
2021-11-19 13:18 ` Eli Zaretskii
2021-11-19 13:41 ` Stefan Kangas
2021-11-19 13:48 ` Eli Zaretskii
2021-11-21 13:35 ` Stefan Kangas
2021-11-19 10:28 ` Stefan Kangas
2021-11-20 8:43 ` Lars Ingebrigtsen
2021-11-20 9:03 ` Eli Zaretskii
2021-11-20 9:26 ` Lars Ingebrigtsen
2021-11-20 9:51 ` Eli Zaretskii
2021-11-20 9:56 ` Lars Ingebrigtsen
2021-11-20 10:11 ` Eli Zaretskii
2021-11-21 8:57 ` Lars Ingebrigtsen
2021-11-21 9:02 ` Lars Ingebrigtsen
2021-11-21 13:36 ` Stefan Kangas
2021-11-21 19:26 ` Lars Ingebrigtsen
2021-11-21 13:54 ` Stefan Kangas
2021-11-21 15:25 ` Lars Ingebrigtsen
2021-11-21 19:28 ` Stefan Kangas
2021-11-21 19:31 ` Lars Ingebrigtsen
2021-11-22 14:57 ` Use variable-pitch face in more places Stefan Kangas
2021-11-22 15:05 ` Stefan Kangas
2021-11-22 17:22 ` Juri Linkov
2021-11-22 18:10 ` Stefan Kangas
2021-11-22 18:40 ` Juri Linkov
2021-11-23 9:56 ` Lars Ingebrigtsen
2021-11-24 9:12 ` Juri Linkov
2021-11-24 16:52 ` Lars Ingebrigtsen
2021-11-24 17:59 ` Juri Linkov
2021-11-19 7:48 ` Tick Reduction Eli Zaretskii
2021-11-19 13:41 ` Stefan Kangas
2021-11-19 11:58 ` Dmitry Gutov
2021-11-18 22:18 ` [External] : " Drew Adams
2021-11-21 10:17 ` Phil Sainty
2021-11-19 5:48 ` Lars Ingebrigtsen
2021-11-19 7:24 ` Eli Zaretskii
2021-11-19 7:28 ` Lars Ingebrigtsen
2021-11-19 8:26 ` Eli Zaretskii
2021-11-19 8:33 ` Lars Ingebrigtsen
2021-11-19 6:42 ` Eric S Fraga
2021-11-19 7:30 ` Lars Ingebrigtsen
2021-11-19 6:52 ` Stefan Kangas
2021-11-19 7:26 ` Lars Ingebrigtsen
2021-11-19 7:59 ` Stefan Kangas
2021-11-19 8:17 ` Lars Ingebrigtsen
2021-11-19 8:09 ` Eli Zaretskii
2021-11-19 8:34 ` Stefan Kangas
2021-11-19 13:58 ` Stefan Monnier
2021-11-19 14:46 ` Eli Zaretskii
2021-11-19 18:22 ` Stefan Monnier
2021-11-19 18:53 ` Eli Zaretskii
2021-11-19 19:24 ` Stefan Monnier
2021-11-19 19:50 ` Eli Zaretskii
2021-11-19 21:09 ` Stefan Monnier
2021-11-20 6:34 ` Eli Zaretskii
2021-11-20 13:11 ` Stefan Monnier
2021-11-20 13:32 ` Eli Zaretskii
2021-11-20 14:06 ` Stefan Monnier
2021-11-20 14:35 ` Eli Zaretskii
2021-11-20 15:01 ` Stefan Monnier
2021-11-20 9:00 ` Lars Ingebrigtsen
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=83fsrj2hyt.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=dgutov@yandex.ru \
--cc=emacs-devel@gnu.org \
--cc=larsi@gnus.org \
--cc=stefankangas@gmail.com \
/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).