* How to get the actual face attribute?
@ 2020-06-21 4:01 Yuan Fu
2020-06-21 14:52 ` Eli Zaretskii
2020-06-21 15:54 ` Stefan Monnier
0 siblings, 2 replies; 19+ messages in thread
From: Yuan Fu @ 2020-06-21 4:01 UTC (permalink / raw
To: help-gnu-emacs
Hi,
When writing my package I need to get height of the face at point. But `face-attribute` doesn’t take face remapping into account, which gives wrong answers. Is there a reliable way to get the actual face attribute that’s used for display? Thanks.
Yuan
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-21 4:01 How to get the actual face attribute? Yuan Fu
@ 2020-06-21 14:52 ` Eli Zaretskii
2020-06-21 14:55 ` Yuan Fu
2020-06-21 15:54 ` Stefan Monnier
1 sibling, 1 reply; 19+ messages in thread
From: Eli Zaretskii @ 2020-06-21 14:52 UTC (permalink / raw
To: help-gnu-emacs
> From: Yuan Fu <casouri@gmail.com>
> Date: Sun, 21 Jun 2020 00:01:37 -0400
>
> When writing my package I need to get height of the face at point. But `face-attribute` doesn’t take face remapping into account, which gives wrong answers. Is there a reliable way to get the actual face attribute that’s used for display? Thanks.
From Lisp or from C?
In general, you cannot know that except by displaying that text or
emulating its display, because the face is fully realized only while
displaying text that is affected by the face.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-21 14:52 ` Eli Zaretskii
@ 2020-06-21 14:55 ` Yuan Fu
2020-06-21 15:03 ` Eli Zaretskii
0 siblings, 1 reply; 19+ messages in thread
From: Yuan Fu @ 2020-06-21 14:55 UTC (permalink / raw
To: Eli Zaretskii; +Cc: help-gnu-emacs
> On Jun 21, 2020, at 10:52 AM, Eli Zaretskii <eliz@gnu.org> wrote:
>
>> From: Yuan Fu <casouri@gmail.com>
>> Date: Sun, 21 Jun 2020 00:01:37 -0400
>>
>> When writing my package I need to get height of the face at point. But `face-attribute` doesn’t take face remapping into account, which gives wrong answers. Is there a reliable way to get the actual face attribute that’s used for display? Thanks.
>
> From Lisp or from C?
From Lisp.
>
> In general, you cannot know that except by displaying that text or
> emulating its display, because the face is fully realized only while
> displaying text that is affected by the face.
>
I see, then I will use some ad-hoc check to produce a mostly-right answer. Thanks.
Yuan
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-21 14:55 ` Yuan Fu
@ 2020-06-21 15:03 ` Eli Zaretskii
0 siblings, 0 replies; 19+ messages in thread
From: Eli Zaretskii @ 2020-06-21 15:03 UTC (permalink / raw
To: help-gnu-emacs
> From: Yuan Fu <casouri@gmail.com>
> Date: Sun, 21 Jun 2020 10:55:38 -0400
> Cc: help-gnu-emacs@gnu.org
>
> >> When writing my package I need to get height of the face at point. But `face-attribute` doesn’t take face remapping into account, which gives wrong answers. Is there a reliable way to get the actual face attribute that’s used for display? Thanks.
> >
> > From Lisp or from C?
>
> From Lisp.
You could try calling vertical-motion to move past that line, then use
posn-at-point in the position where you arrived to see how many pixels
you moved. (Completely untested.)
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-21 4:01 How to get the actual face attribute? Yuan Fu
2020-06-21 14:52 ` Eli Zaretskii
@ 2020-06-21 15:54 ` Stefan Monnier
2020-06-22 17:00 ` Yuan Fu
1 sibling, 1 reply; 19+ messages in thread
From: Stefan Monnier @ 2020-06-21 15:54 UTC (permalink / raw
To: help-gnu-emacs
> When writing my package I need to get height of the face at point.
Note that there may be simultaneously several different such heights if
point is shown simultaneously in different frames.
Stefan
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-21 15:54 ` Stefan Monnier
@ 2020-06-22 17:00 ` Yuan Fu
2020-06-22 17:15 ` Perry Smith
0 siblings, 1 reply; 19+ messages in thread
From: Yuan Fu @ 2020-06-22 17:00 UTC (permalink / raw
To: Stefan Monnier; +Cc: help-gnu-emacs
> On Jun 21, 2020, at 11:54 AM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>
>> When writing my package I need to get height of the face at point.
>
> Note that there may be simultaneously several different such heights if
> point is shown simultaneously in different frames.
>
>
> Stefan
>
>
Thanks. Unfortunately I think I asked an x-y question. What I really want to know is the width of the glyph and I thought I can just multiply the height factor to the original width of the glyph. It seems not to be the case. The multiplied result doesn’t match with the width on glass. More precisely :height * glyph width != posn of point after - posn of point. Is this expected?
Also I can’t use posn for calculation since sometimes the text might not be on screen.
Yuan
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-22 17:00 ` Yuan Fu
@ 2020-06-22 17:15 ` Perry Smith
2020-06-22 17:21 ` Yuan Fu
0 siblings, 1 reply; 19+ messages in thread
From: Perry Smith @ 2020-06-22 17:15 UTC (permalink / raw
To: Yuan Fu; +Cc: help-gnu-emacs, Stefan Monnier
> On Jun 22, 2020, at 12:00 PM, Yuan Fu <casouri@gmail.com> wrote:
>
>
>
>> On Jun 21, 2020, at 11:54 AM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>>
>>> When writing my package I need to get height of the face at point.
>>
>> Note that there may be simultaneously several different such heights if
>> point is shown simultaneously in different frames.
>>
>
> Thanks. Unfortunately I think I asked an x-y question. What I really want to know is the width of the glyph and I thought I can just multiply the height factor to the original width of the glyph. It seems not to be the case. The multiplied result doesn’t match with the width on glass. More precisely :height * glyph width != posn of point after - posn of point. Is this expected?
>
> Also I can’t use posn for calculation since sometimes the text might not be on screen.
It might help to explain what the bigger objective is.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-22 17:15 ` Perry Smith
@ 2020-06-22 17:21 ` Yuan Fu
2020-06-22 18:47 ` Eli Zaretskii
` (2 more replies)
0 siblings, 3 replies; 19+ messages in thread
From: Yuan Fu @ 2020-06-22 17:21 UTC (permalink / raw
To: Perry Smith; +Cc: help-gnu-emacs, Stefan Monnier
> On Jun 22, 2020, at 1:15 PM, Perry Smith <pedz@easesoftware.com> wrote:
>
>
>
>> On Jun 22, 2020, at 12:00 PM, Yuan Fu <casouri@gmail.com <mailto:casouri@gmail.com>> wrote:
>>
>>
>>
>>> On Jun 21, 2020, at 11:54 AM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>>>
>>>> When writing my package I need to get height of the face at point.
>>>
>>> Note that there may be simultaneously several different such heights if
>>> point is shown simultaneously in different frames.
>>>
>>
>> Thanks. Unfortunately I think I asked an x-y question. What I really want to know is the width of the glyph and I thought I can just multiply the height factor to the original width of the glyph. It seems not to be the case. The multiplied result doesn’t match with the width on glass. More precisely :height * glyph width != posn of point after - posn of point. Is this expected?
>>
>> Also I can’t use posn for calculation since sometimes the text might not be on screen.
>
> It might help to explain what the bigger objective is.
I have a package that aligns org tables even for variable pitch text, CJK text, images, etc are in the table:
Some one reported that when they change the text size with text-scale-adjust, the alignment are messed up. That’s because the package aligns by calculating the pixel width of each cell, and when the text size are adjusted that width is no accurate anymore. I’m using this function to calculate the width of a glyph (which adds up to the width of a cell):
(let* ((p (or point (point))))
(if (eq (char-after point) ?\t)
(valign--tab-width (font-at p))
;; (font-at 0 nil (buffer-substring p (1+ p))) doesn’t work, the
;; font is sometimes wrong. (font-at p) doesn’t work, because
;; it requires the buffer to be visible.
(aref (aref (font-get-glyphs (font-at p) p (1+ p)) 0) 4)))
Yuan
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-22 17:21 ` Yuan Fu
@ 2020-06-22 18:47 ` Eli Zaretskii
2020-06-22 19:07 ` Yuan Fu
2020-06-22 18:56 ` Stefan Monnier
2020-06-22 21:27 ` Emanuel Berg via Users list for the GNU Emacs text editor
2 siblings, 1 reply; 19+ messages in thread
From: Eli Zaretskii @ 2020-06-22 18:47 UTC (permalink / raw
To: help-gnu-emacs
> From: Yuan Fu <casouri@gmail.com>
> Date: Mon, 22 Jun 2020 13:21:15 -0400
> Cc: help-gnu-emacs@gnu.org, Stefan Monnier <monnier@iro.umontreal.ca>
>
> I have a package that aligns org tables even for variable pitch text, CJK text, images, etc are in the table:
>
>
>
> Some one reported that when they change the text size with text-scale-adjust, the alignment are messed up. That’s because the package aligns by calculating the pixel width of each cell, and when the text size are adjusted that width is no accurate anymore. I’m using this function to calculate the width of a glyph (which adds up to the width of a cell):
>
> (let* ((p (or point (point))))
> (if (eq (char-after point) ?\t)
> (valign--tab-width (font-at p))
> ;; (font-at 0 nil (buffer-substring p (1+ p))) doesn’t work, the
> ;; font is sometimes wrong. (font-at p) doesn’t work, because
> ;; it requires the buffer to be visible.
> (aref (aref (font-get-glyphs (font-at p) p (1+ p)) 0) 4)))
Did you try using window-text-pixel-size?
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-22 17:21 ` Yuan Fu
2020-06-22 18:47 ` Eli Zaretskii
@ 2020-06-22 18:56 ` Stefan Monnier
2020-06-22 19:10 ` Yuan Fu
2020-06-22 21:27 ` Emanuel Berg via Users list for the GNU Emacs text editor
2 siblings, 1 reply; 19+ messages in thread
From: Stefan Monnier @ 2020-06-22 18:56 UTC (permalink / raw
To: Yuan Fu; +Cc: Perry Smith, help-gnu-emacs
> Some one reported that when they change the text size with
> text-scale-adjust, the alignment are messed up.
If the alignment is done before changing the text-scale, then it's no
big surprise, since text-scale won't scale everything by the same factor.
IOW, when/where do you do the alignment and trigger re-alignment when
things change (like text-scale, for example)?
Stefan
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-22 18:47 ` Eli Zaretskii
@ 2020-06-22 19:07 ` Yuan Fu
0 siblings, 0 replies; 19+ messages in thread
From: Yuan Fu @ 2020-06-22 19:07 UTC (permalink / raw
To: Eli Zaretskii; +Cc: help-gnu-emacs
>
> Did you try using window-text-pixel-size?
>
That requires the buffer to be in a live window so I decided to roll my own measuring function. Now it seems changing my package’s design to accommodate that will work better than using my custom function. (Posn can’t work because it requires all the text to be on glass, which my package can’t work with.) Thanks!
Yuan
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-22 18:56 ` Stefan Monnier
@ 2020-06-22 19:10 ` Yuan Fu
2020-06-22 19:49 ` Stefan Monnier
0 siblings, 1 reply; 19+ messages in thread
From: Yuan Fu @ 2020-06-22 19:10 UTC (permalink / raw
To: Stefan Monnier; +Cc: Perry Smith, help-gnu-emacs
> On Jun 22, 2020, at 2:56 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>
>> Some one reported that when they change the text size with
>> text-scale-adjust, the alignment are messed up.
>
> If the alignment is done before changing the text-scale, then it's no
> big surprise, since text-scale won't scale everything by the same factor.
>
I see. I calculate the text size base on the assumption that the text scale is the same for all glyphs. That explains why my measuring are off.
Yuan
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-22 19:10 ` Yuan Fu
@ 2020-06-22 19:49 ` Stefan Monnier
2020-06-22 19:54 ` Yuan Fu
0 siblings, 1 reply; 19+ messages in thread
From: Stefan Monnier @ 2020-06-22 19:49 UTC (permalink / raw
To: help-gnu-emacs
>>> Some one reported that when they change the text size with
>>> text-scale-adjust, the alignment are messed up.
>> If the alignment is done before changing the text-scale, then it's no
>> big surprise, since text-scale won't scale everything by the same factor.
> I see. I calculate the text size base on the assumption that the text scale
> is the same for all glyphs. That explains why my measuring are off.
I don't know what that means. The text-scale does apply globally.
But it doesn't necessarily scale by the same factor horizontally and
vertically, nor does it necessarily scale by the same factor for
different fonts. It's "more or less equal" but not exactly. And of
course, it won't affect those glyphs whose size is not relative to the
base `default` face (e.g. images or glyphs to which a face is applied
which sets an absolute rather than relative size).
IOW it needs to be recomputed from scratch when the text-scale is changed.
Stefan
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-22 19:49 ` Stefan Monnier
@ 2020-06-22 19:54 ` Yuan Fu
2020-06-22 21:05 ` Stefan Monnier
0 siblings, 1 reply; 19+ messages in thread
From: Yuan Fu @ 2020-06-22 19:54 UTC (permalink / raw
To: Stefan Monnier; +Cc: help-gnu-emacs
> On Jun 22, 2020, at 3:49 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>
>>>> Some one reported that when they change the text size with
>>>> text-scale-adjust, the alignment are messed up.
>>> If the alignment is done before changing the text-scale, then it's no
>>> big surprise, since text-scale won't scale everything by the same factor.
>> I see. I calculate the text size base on the assumption that the text scale
>> is the same for all glyphs. That explains why my measuring are off.
>
> I don't know what that means. The text-scale does apply globally.
> But it doesn't necessarily scale by the same factor horizontally and
> vertically, nor does it necessarily scale by the same factor for
> different fonts. It's "more or less equal" but not exactly. And of
> course, it won't affect those glyphs whose size is not relative to the
> base `default` face (e.g. images or glyphs to which a face is applied
> which sets an absolute rather than relative size).
>
> IOW it needs to be recomputed from scratch when the text-scale is changed.
How should I recompute the text scale? Currently I calculate it from
(expt text-scale-mode-step text-scale-mode-amount)
Which is what text-scale-mode uses. (Face remap is hard to calculate so I thought I can just support text-scale-mode.)
Yuan
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-22 19:54 ` Yuan Fu
@ 2020-06-22 21:05 ` Stefan Monnier
2020-06-22 21:14 ` Emacs hackers all around the world (was: Re: How to get the actual face attribute?) Emanuel Berg via Users list for the GNU Emacs text editor
2020-06-24 4:13 ` How to get the actual face attribute? Yuan Fu
0 siblings, 2 replies; 19+ messages in thread
From: Stefan Monnier @ 2020-06-22 21:05 UTC (permalink / raw
To: Yuan Fu; +Cc: help-gnu-emacs
> How should I recompute the text scale? Currently I calculate it from
>
> (expt text-scale-mode-step text-scale-mode-amount)
>
> Which is what text-scale-mode uses. (Face remap is hard to calculate so
> I thought I can just support text-scale-mode.)
You shouldn't look at `text-scale-*` at all and instead ask the display
code which font it will use.
[ But note that there's the issue of *computing* and then there's the
issue of *re*computing (i.e. how to detect when it needs to be
refreshed and how to make sure it is refreshed then). ]
-- Stefan
^ permalink raw reply [flat|nested] 19+ messages in thread
* Emacs hackers all around the world (was: Re: How to get the actual face attribute?)
2020-06-22 21:05 ` Stefan Monnier
@ 2020-06-22 21:14 ` Emanuel Berg via Users list for the GNU Emacs text editor
2020-06-24 4:13 ` How to get the actual face attribute? Yuan Fu
1 sibling, 0 replies; 19+ messages in thread
From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2020-06-22 21:14 UTC (permalink / raw
To: help-gnu-emacs
Stefan Monnier wrote:
> [ But note that there's the issue of *computing*
> and then there's the issue of *re*computing (i.e.
> how to detect when it needs to be refreshed and
> how to make sure it is refreshed then). ]
That's difficult - recomputing - even
Mr. Monnier would hesitate just a fraction's second
before he did it :)
My birthday's today, so love to all Emacs, Lisp, and
C hackers all around the world <3
Amd as always, sorry if I did and said stupid things.
When it comes to your .emacs and .gnus, but also
.emanuel-berg actually, there is always room for
improvements :)
re: font colors, here is some inspiration. Black and
white, just a little bit bold black, bright white, or
aligned, tilted green, perhaps?
https://dataswamp.org/~incal/pimgs/baw.png
https://dataswamp.org/~incal/pimgs/black.jpg
https://dataswamp.org/~incal/pimgs/champs.png
https://dataswamp.org/~incal/pimgs/green.png
--
underground experts united
http://user.it.uu.se/~embe8573
https://dataswamp.org/~incal
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-22 17:21 ` Yuan Fu
2020-06-22 18:47 ` Eli Zaretskii
2020-06-22 18:56 ` Stefan Monnier
@ 2020-06-22 21:27 ` Emanuel Berg via Users list for the GNU Emacs text editor
2020-06-24 4:12 ` Yuan Fu
2 siblings, 1 reply; 19+ messages in thread
From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2020-06-22 21:27 UTC (permalink / raw
To: help-gnu-emacs
Yuan Fu wrote:
> (let* ((p (or point (point))))
> (if (eq (char-after point) ?\t)
> (valign--tab-width (font-at p))
> ;; (font-at 0 nil (buffer-substring p (1+ p))) doesn’t work, the
> ;; font is sometimes wrong. (font-at p) doesn’t work, because
> ;; it requires the buffer to be visible.
> (aref (aref (font-get-glyphs (font-at p) p (1+ p)) 0) 4)))
Hello Yuan Fu, you have a cool name :)
re: code, the byte compiler is always your friend:
geh.el:
In do-something:
geh.el:10:17:Warning: reference to free variable ‘point’
In end of data:
geh.el:110:1:Warning: the function ‘valign--tab-width’ is not known to be
defined.
Also style point #1:
(aref (aref (font-get-glyphs (font-at p) p (1+ p)) 0) 4)))
Suggestion, break it up, do more `let*'.
ditto #2:
(or point (point))
Straight long-ear [1] use of `or' :) However the
particular
point (point)
is confusing IMO.
ditto #3:
... 0) 4)))
hard-coded data can also be put into `let*' to
increase clarity, however if they only appear once
one is allowed... heh :) one is allowed to have them
hard-coded. if they ever appear twice names,
variables/bindings are compulsory, with the possible
exceptions of -1, 0, 1, nil and t :)
Keep 'em coming...
[1] https://en.wikipedia.org/wiki/Hanau_epe
--
underground experts united
http://user.it.uu.se/~embe8573
https://dataswamp.org/~incal
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-22 21:27 ` Emanuel Berg via Users list for the GNU Emacs text editor
@ 2020-06-24 4:12 ` Yuan Fu
0 siblings, 0 replies; 19+ messages in thread
From: Yuan Fu @ 2020-06-24 4:12 UTC (permalink / raw
To: Emanuel Berg; +Cc: help-gnu-emacs
> On Jun 22, 2020, at 5:27 PM, Emanuel Berg via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> wrote:
>
> Yuan Fu wrote:
>
>> (let* ((p (or point (point))))
>> (if (eq (char-after point) ?\t)
>> (valign--tab-width (font-at p))
>> ;; (font-at 0 nil (buffer-substring p (1+ p))) doesn’t work, the
>> ;; font is sometimes wrong. (font-at p) doesn’t work, because
>> ;; it requires the buffer to be visible.
>> (aref (aref (font-get-glyphs (font-at p) p (1+ p)) 0) 4)))
>
> Hello Yuan Fu, you have a cool name :)
>
> re: code, the byte compiler is always your friend:
>
> geh.el:
> In do-something:
> geh.el:10:17:Warning: reference to free variable ‘point’
>
> In end of data:
> geh.el:110:1:Warning: the function ‘valign--tab-width’ is not known to be
> defined.
>
> Also style point #1:
>
> (aref (aref (font-get-glyphs (font-at p) p (1+ p)) 0) 4)))
>
> Suggestion, break it up, do more `let*'.
>
> ditto #2:
>
> (or point (point))
>
> Straight long-ear [1] use of `or' :) However the
> particular
>
> point (point)
>
> is confusing IMO.
>
It’s used to support optional argument POINT.
> ditto #3:
>
> ... 0) 4)))
>
> hard-coded data can also be put into `let*' to
> increase clarity, however if they only appear once
> one is allowed... heh :) one is allowed to have them
> hard-coded. if they ever appear twice names,
> variables/bindings are compulsory, with the possible
> exceptions of -1, 0, 1, nil and t :)
Ok, I’ll use more let next time. Thanks!
Yuan
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How to get the actual face attribute?
2020-06-22 21:05 ` Stefan Monnier
2020-06-22 21:14 ` Emacs hackers all around the world (was: Re: How to get the actual face attribute?) Emanuel Berg via Users list for the GNU Emacs text editor
@ 2020-06-24 4:13 ` Yuan Fu
1 sibling, 0 replies; 19+ messages in thread
From: Yuan Fu @ 2020-06-24 4:13 UTC (permalink / raw
To: Stefan Monnier; +Cc: help-gnu-emacs
> On Jun 22, 2020, at 5:05 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>
>> How should I recompute the text scale? Currently I calculate it from
>>
>> (expt text-scale-mode-step text-scale-mode-amount)
>>
>> Which is what text-scale-mode uses. (Face remap is hard to calculate so
>> I thought I can just support text-scale-mode.)
>
> You shouldn't look at `text-scale-*` at all and instead ask the display
> code which font it will use.
>
> [ But note that there's the issue of *computing* and then there's the
> issue of *re*computing (i.e. how to detect when it needs to be
> refreshed and how to make sure it is refreshed then). ]
>
Right. I just advised text-scale functions for now. I think that should work for most of the use cases.
Yuan
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2020-06-24 4:13 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-21 4:01 How to get the actual face attribute? Yuan Fu
2020-06-21 14:52 ` Eli Zaretskii
2020-06-21 14:55 ` Yuan Fu
2020-06-21 15:03 ` Eli Zaretskii
2020-06-21 15:54 ` Stefan Monnier
2020-06-22 17:00 ` Yuan Fu
2020-06-22 17:15 ` Perry Smith
2020-06-22 17:21 ` Yuan Fu
2020-06-22 18:47 ` Eli Zaretskii
2020-06-22 19:07 ` Yuan Fu
2020-06-22 18:56 ` Stefan Monnier
2020-06-22 19:10 ` Yuan Fu
2020-06-22 19:49 ` Stefan Monnier
2020-06-22 19:54 ` Yuan Fu
2020-06-22 21:05 ` Stefan Monnier
2020-06-22 21:14 ` Emacs hackers all around the world (was: Re: How to get the actual face attribute?) Emanuel Berg via Users list for the GNU Emacs text editor
2020-06-24 4:13 ` How to get the actual face attribute? Yuan Fu
2020-06-22 21:27 ` Emanuel Berg via Users list for the GNU Emacs text editor
2020-06-24 4:12 ` Yuan Fu
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.