Discussion:
bug#43149: 27.1; Widget text seems to disappear when building with Cairo and Xaw
(too old to reply)
Pouar Dragon
2020-09-01 02:49:04 UTC
Permalink
widgets when building with Xaw and Cairo seem to have missing text,
looking like this

Loading Image...


problem seems to go away when 5f4e8e2e088de9fb76cb631077c6eddd3219f594
is reverted


In GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.17.3, Xaw3d scroll bars)
of 2020-08-31 built on PouarArch
Repository revision: 86d8d76aa36037184db0b2897c434cdaab1a9ae8
Repository branch: makepkg
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: Arch Linux

Recent messages:
Checking 87 files in /usr/share/emacs/27.1/lisp/calc...
Checking 113 files in /usr/share/emacs/27.1/lisp/obsolete...
Checking for load-path shadows...done
You can run the command ‘report-emacs-bug’ with M-x r-em RET
Checking for load-path shadows...done
Mark set
Beginning of buffer
Undo [3 times]
C-? is undefined [3 times]
Redo [2 times]

Configured using:
'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
--localstatedir=/var --with-x-toolkit=lucid --with-xft --with-modules
--with-imagemagick --with-mailutils --with-cairo --with-rsvg'

Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG CAIRO IMAGEMAGICK SOUND GPM DBUS
GSETTINGS GLIB NOTIFY INOTIFY ACL GNUTLS LIBXML2 FREETYPE HARFBUZZ
M17N_FLT LIBOTF ZLIB TOOLKIT_SCROLL_BARS LUCID X11 XDBE XIM MODULES
THREADS LIBSYSTEMD JSON PDUMPER LCMS2 GMP

Important settings:
value of $LC_COLLATE: C
value of $LC_MONETARY: en_US.UTF-8
value of $LC_NUMERIC: en_US.UTF-8
value of $LC_TIME: en_US.UTF-8
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=fcitx
locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t

Load-path shadows:
None found.

Features:
(help-mode pp shadow sort mail-extr emacsbug message rmc puny dired
dired-loaddefs format-spec rfc822 mml easymenu mml-sec password-cache
epa derived epg epg-config gnus-util rmail rmail-loaddefs
text-property-search seq byte-opt gv bytecomp byte-compile cconv
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr
mail-utils time-date subr-x cl-loaddefs cl-lib tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting cairo x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 50575 12154)
(symbols 48 6210 1)
(strings 32 16997 2285)
(string-bytes 1 537126)
(vectors 16 11058)
(vector-slots 8 141008 18188)
(floats 8 25 34)
(intervals 56 309 88)
(buffers 1000 14))
Eli Zaretskii
2020-09-01 14:09:18 UTC
Permalink
Date: Mon, 31 Aug 2020 21:34:46 -0500
widgets when building with Xaw and Cairo seem to have missing text,
looking like this
problem seems to go away when 5f4e8e2e088de9fb76cb631077c6eddd3219f594
is reverted
Thanks. I hope Yamamoto-san will be able to take a look at this.
Robert Pluim
2020-09-01 15:05:55 UTC
Permalink
Date: Mon, 31 Aug 2020 21:34:46 -0500
widgets when building with Xaw and Cairo seem to have missing text,
looking like this
problem seems to go away when 5f4e8e2e088de9fb76cb631077c6eddd3219f594
is reverted
Eli> Thanks. I hope Yamamoto-san will be able to take a look at this.

Putting on my 'let's simplify' hat, is this really a combination we
want to spend time on? Lucid + Xaw + Cairo is decidedly non-mainstream
(Iʼm surprised it even builds).

Robert
Eli Zaretskii
2020-09-01 15:51:47 UTC
Permalink
Date: Tue, 01 Sep 2020 17:05:55 +0200
Date: Mon, 31 Aug 2020 21:34:46 -0500
widgets when building with Xaw and Cairo seem to have missing text,
looking like this
problem seems to go away when 5f4e8e2e088de9fb76cb631077c6eddd3219f594
is reverted
Eli> Thanks. I hope Yamamoto-san will be able to take a look at this.
Putting on my 'let's simplify' hat, is this really a combination we
want to spend time on? Lucid + Xaw + Cairo is decidedly non-mainstream
(Iʼm surprised it even builds).
I wasn't aware that it's a rare configuration. We definitely support
Lucid, right? If so, is Xaw the problem? and if it is, what are the
alternatives that are less "non-mainstream"?
Robert Pluim
2020-09-01 16:13:10 UTC
Permalink
Date: Tue, 01 Sep 2020 17:05:55 +0200
Date: Mon, 31 Aug 2020 21:34:46 -0500
widgets when building with Xaw and Cairo seem to have missing text,
looking like this
problem seems to go away when 5f4e8e2e088de9fb76cb631077c6eddd3219f594
is reverted
Eli> Thanks. I hope Yamamoto-san will be able to take a look at this.
Putting on my 'let's simplify' hat, is this really a combination we
want to spend time on? Lucid + Xaw + Cairo is decidedly non-mainstream
(Iʼm surprised it even builds).
Eli> I wasn't aware that it's a rare configuration. We definitely support
Eli> Lucid, right? If so, is Xaw the problem? and if it is, what are the
Eli> alternatives that are less "non-mainstream"?

Lucid + Xaw is common enough, itʼs mixing in Cairo thatʼs uncommon. To
me, Cairo pretty much implies GTK.

Robert
Eli Zaretskii
2020-09-01 16:48:41 UTC
Permalink
Date: Tue, 01 Sep 2020 18:13:10 +0200
Post by Robert Pluim
Putting on my 'let's simplify' hat, is this really a combination we
want to spend time on? Lucid + Xaw + Cairo is decidedly non-mainstream
(Iʼm surprised it even builds).
Eli> I wasn't aware that it's a rare configuration. We definitely support
Eli> Lucid, right? If so, is Xaw the problem? and if it is, what are the
Eli> alternatives that are less "non-mainstream"?
Lucid + Xaw is common enough, itʼs mixing in Cairo thatʼs uncommon. To
me, Cairo pretty much implies GTK.
Surely, given our troubled experiences with GTK, we don't want to have
it as a single toolkit supported in the Cairo build?
YAMAMOTO Mitsuharu
2020-09-02 02:15:23 UTC
Permalink
On Tue, 01 Sep 2020 11:34:46 +0900,
Post by Pouar Dragon
widgets when building with Xaw and Cairo seem to have missing text,
looking like this
Does it also happen with the following invocations?

$ emacs -Q &
$ emacs -xrm 'Emacs.pane.menubar.font: Courier-12' &

YAMAMOTO Mitsuharu
***@math.s.chiba-u.ac.jp
Robert Pluim
2020-09-02 06:59:56 UTC
Permalink
Date: Tue, 01 Sep 2020 18:13:10 +0200
Post by Robert Pluim
Putting on my 'let's simplify' hat, is this really a combination we
want to spend time on? Lucid + Xaw + Cairo is decidedly non-mainstream
(Iʼm surprised it even builds).
Eli> I wasn't aware that it's a rare configuration. We definitely support
Eli> Lucid, right? If so, is Xaw the problem? and if it is, what are the
Eli> alternatives that are less "non-mainstream"?
Lucid + Xaw is common enough, itʼs mixing in Cairo thatʼs uncommon. To
me, Cairo pretty much implies GTK.
Eli> Surely, given our troubled experiences with GTK, we don't want to have
Eli> it as a single toolkit supported in the Cairo build?

I can understand that, but nobody is stepping up to e.g. make Lucid
work well on HiDPI screens, so it will become increasingly
irrelevant. Plus I donʼt see any prospect of Qt being added as a
toolkit under GNU/Linux, so GTK appears to be the only thing we've
got.

Robert
James Cloos
2020-09-02 10:24:12 UTC
Permalink
RP> I can understand that, but nobody is stepping up to e.g. make Lucid
RP> work well on HiDPI screens, so it will become increasingly
RP> irrelevant.

why?

for emacs, higher dpi mostly just means larger fonts.

if images ever need scaling, that should not be hard to do in emacs
itself.

gtk is horrid. (1 was ok; it only went downhill when novel got
involved, and that trend has continued.)

and the push for hb+cxr over m17n+xft means xaw(3d) w/ cairo should
become more and more common.

(i don't use menus, but a quick test of yesyerday's master with -Q has
working menus.)
(gentoo with USE='X Xaw3d cairo harfbuzz' plus some others.)

-JimC
--
James Cloos <***@jhcloos.com> OpenPGP: 0x997A9F17ED7DAEA6
Robert Pluim
2020-09-02 10:45:07 UTC
Permalink
RP> I can understand that, but nobody is stepping up to e.g. make Lucid
RP> work well on HiDPI screens, so it will become increasingly
RP> irrelevant.

James> why?

James> for emacs, higher dpi mostly just means larger fonts.

No it means "why canʼt I read the text in Emacs on my new HiDPI
monitor, everything else adapts automatically. What do you mean I have
to reconfigure Emacs to use larger fonts?"

James> if images ever need scaling, that should not be hard to do in emacs
James> itself.

James> gtk is horrid. (1 was ok; it only went downhill when novel got
James> involved, and that trend has continued.)

What alternative is there?

James> and the push for hb+cxr over m17n+xft means xaw(3d) w/ cairo should
James> become more and more common.

Iʼm not sure I see the connection there.

Robert
Peder O. Klingenberg
2020-09-02 11:38:12 UTC
Permalink
Post by Robert Pluim
Putting on my 'let's simplify' hat, is this really a combination we
want to spend time on? Lucid + Xaw + Cairo is decidedly non-mainstream
(Iʼm surprised it even builds).
I'm running configure on master like this:

./configure --with-x-toolkit=lucid --prefix=/not/relevant

and that gives me

What toolkit should Emacs use? LUCID
Does Emacs use -lXaw3d? yes
Does Emacs use cairo? yes

So Cairo seems to be default (and thus probably most common) when
configuring to build with Lucid?

(GTK simply doesn't work for me because I depend on daemon mode and Emacs not
crashing when a display goes away.)


...Peder...
--
Sløv uten dop
Eli Zaretskii
2020-09-02 13:57:30 UTC
Permalink
Date: Wed, 02 Sep 2020 08:59:56 +0200
Post by Robert Pluim
Lucid + Xaw is common enough, itʼs mixing in Cairo thatʼs uncommon. To
me, Cairo pretty much implies GTK.
Eli> Surely, given our troubled experiences with GTK, we don't want to have
Eli> it as a single toolkit supported in the Cairo build?
I can understand that, but nobody is stepping up to e.g. make Lucid
work well on HiDPI screens, so it will become increasingly
irrelevant.
It's one thing to have a configuration bitrot because no one is
motivated and/or capable enough to maintain it. It's quite another to
decide we don't want to even try keeping that configuration alive.
I'd rather we didn't do the latter for reasons of making our lives
simpler, because it will make someone else's life less simple.
Eli Zaretskii
2020-09-02 14:05:15 UTC
Permalink
Date: Wed, 02 Sep 2020 06:24:12 -0400
(i don't use menus, but a quick test of yesyerday's master with -Q has
working menus.)
So you are saying that the OP's problem started happening only
yesterday?
James Cloos
2020-09-02 14:28:24 UTC
Permalink
EZ> So you are saying that the OP's problem started happening only
EZ> yesterday?

no.

i'm saying that my current compile of master is twenty some hour old,
uses xaw3d and cairo, and that, with -Q at least, menus display.

-JimC
--
James Cloos <***@jhcloos.com> OpenPGP: 0x997A9F17ED7DAEA6
Eli Zaretskii
2020-09-02 14:50:41 UTC
Permalink
Date: Wed, 02 Sep 2020 10:28:24 -0400
EZ> So you are saying that the OP's problem started happening only
EZ> yesterday?
no.
i'm saying that my current compile of master is twenty some hour old,
uses xaw3d and cairo, and that, with -Q at least, menus display.
Are you also using Lucid?

If so, then maybe this problem cannot be easily reproduced on every
platform in this build?
Robert Pluim
2020-09-02 15:19:05 UTC
Permalink
Date: Wed, 02 Sep 2020 10:28:24 -0400
EZ> So you are saying that the OP's problem started happening only
EZ> yesterday?
no.
i'm saying that my current compile of master is twenty some hour old,
uses xaw3d and cairo, and that, with -Q at least, menus display.
Eli> Are you also using Lucid?

I donʼt think !Lucid + xaw3d is possible, but I haven't checked.

Eli> If so, then maybe this problem cannot be easily reproduced on every
Eli> platform in this build?

Iʼve just built emacs-27 with Lucid and xaw3d, and the menus display
fine. Iʼve tried YAMAMOTO-san's suggestion about
Emacs.pane.menubar.font, but with a non-existent font, and that also
works fine.

Robert
Eli Zaretskii
2020-09-02 15:25:39 UTC
Permalink
Date: Wed, 02 Sep 2020 17:19:05 +0200
Eli> Are you also using Lucid?
I donʼt think !Lucid + xaw3d is possible, but I haven't checked.
That was what I knew, but I wanted to be sure I wasn't missing
anything.
Eli> If so, then maybe this problem cannot be easily reproduced on every
Eli> platform in this build?
Iʼve just built emacs-27 with Lucid and xaw3d, and the menus display
fine. Iʼve tried YAMAMOTO-san's suggestion about
Emacs.pane.menubar.font, but with a non-existent font, and that also
works fine.
So I guess the question becomes what's different with OP's system that
it doesn't work there?
Robert Pluim
2020-09-03 09:09:29 UTC
Permalink
Post by Robert Pluim
Putting on my 'let's simplify' hat, is this really a combination we
want to spend time on? Lucid + Xaw + Cairo is decidedly non-mainstream
(Iʼm surprised it even builds).
Peder> I'm running configure on master like this:

Peder> ./configure --with-x-toolkit=lucid --prefix=/not/relevant

Peder> and that gives me

Peder> What toolkit should Emacs use? LUCID
Peder> Does Emacs use -lXaw3d? yes
Peder> Does Emacs use cairo? yes

Peder> So Cairo seems to be default (and thus probably most common) when
Peder> configuring to build with Lucid?

Cairo is the default on master, whether you use GTK or Lucid, you'd
have to configure --without-cairo to not use it.

Peder> (GTK simply doesn't work for me because I depend on daemon mode and Emacs not
Peder> crashing when a display goes away.)

Hmm, thereʼs a feature/one-true-gtk
Robert Pluim
2020-09-03 09:18:53 UTC
Permalink
Post by Robert Pluim
Putting on my 'let's simplify' hat, is this really a combination we
want to spend time on? Lucid + Xaw + Cairo is decidedly non-mainstream
(Iʼm surprised it even builds).
Peder> (GTK simply doesn't work for me because I depend on daemon mode and Emacs not
Peder> crashing when a display goes away.)

What I meant to say before I rudely interrupted myself: thereʼs an
effort to have emacs use 'pure' GTK that might solve this, although
the solution could end up at 'use Wayland', which as far as I know
doesnʼt have the equivalent of X display forwarding yet, so that still
wouldnʼt solve your issue (assuming youʼre doing ssh -X or similar).

Robert

Loading...