GNU bug report logs -
#64969
30.0.50: Stipple broken with PGTK
Previous Next
Reported by: magnus <at> therning.org
Date: Mon, 31 Jul 2023 09:38:03 UTC
Severity: normal
Merged with 64970
Found in version 30.0.50
Done: Po Lu <luangruo <at> yahoo.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 64969 in the body.
You can then email your comments to 64969 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#64969
; Package
emacs
.
(Mon, 31 Jul 2023 09:38:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
magnus <at> therning.org
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Mon, 31 Jul 2023 09:38:03 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
The code
(let* ((w (window-font-width))
(stipple `(,w 1 ,(apply #'unibyte-string
(append (make-list (1- (/ (+ w 7)
8)) ?\0)
'(1))))))
(insert "\n" (propertize (concat (make-string 15 ?\s)
"THIS IS A TEST"
(make-string 15 ?\s))
'face `(:background "red" :foreground
"blue" :stipple ,stipple))))
doesn't have the expected result, i.e. the text is not blue on red
background.
More information leading to this report can be found at
https://github.com/jdtsmith/indent-bars/issues/3
In GNU Emacs 30.0.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version
3.24.38, cairo version 1.17.8) of 2023-07-26 built on elostirion
Repository revision: 04a930a08ce80d8dcc123f86a3f153f23ec31a29
Repository branch: makepkg
System Description: Arch Linux
Configured using:
'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
--localstatedir=/var --mandir=/usr/share/man
--with-gameuser=:games
--with-modules --without-libotf --without-m17n-flt
--without-gconf
--with-native-compilation=yes --with-native-compilation=aot
--with-xinput2 --with-pgtk --without-xaw3d --with-sound=no
--with-xwidgets --with-tree-sitter --without-compress-install
'--program-transform-name=s/\([ec]tags\)/\1.emacs/'
'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt
-fexceptions
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security
-fstack-clash-protection -fcf-protection'
LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now
'CXXFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt
-fexceptions
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security
-fstack-clash-protection -fcf-protection
-Wp,-D_GLIBCXX_ASSERTIONS''
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ
JPEG
JSON LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER
PGTK PNG RSVG SECCOMP SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP XIM XWIDGETS GTK3 ZLIB
Important settings:
value of $LANG: en_GB.UTF-8
locale-coding-system: utf-8-unix
Major mode: ELisp/d
Minor modes in effect:
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
show-paren-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
line-number-mode: t
indent-tabs-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr comp comp-cstr warnings icons rx cl-seq
cl-macs
gv cl-extra help-mode bytecomp byte-compile emacsbug message
mailcap
yank-media puny dired dired-loaddefs rfc822 mml mml-sec
password-cache
epa derived epg rfc6068 epg-config gnus-util text-property-search
time-date subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail
rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils rmc iso-transl
tooltip
cconv eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type
elisp-mode mwheel term/pgtk-win pgtk-win term/common-win pgtk-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list
replace
newcomment text-mode lisp-mode prog-mode register page tab-bar
menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse
jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer
nadvice seq
simple cl-generic indonesian philippine 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 emoji-zwj charscript charprop
case-table
epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded
button
loaddefs theme-loaddefs faces cus-face macroexp files window
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget keymap hashtable-print-readable backquote threads
xwidget-internal dbusbind inotify dynamic-setting
system-font-setting
font-render-setting cairo gtk pgtk lcms2 multi-tty move-toolbar
make-network-process native-compile emacs)
Memory information:
((conses 16 80510 12708) (symbols 48 7353 0) (strings 32 19778
2015)
(string-bytes 1 592396) (vectors 16 15046)
(vector-slots 8 285882 20727) (floats 8 27 63) (intervals 56 451
8)
(buffers 984 12))
Merged 64969 64970.
Request was from
Eli Zaretskii <eliz <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Mon, 31 Jul 2023 11:27:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#64969
; Package
emacs
.
(Mon, 31 Jul 2023 13:48:02 GMT)
Full text and
rfc822 format available.
Message #10 received at 64969 <at> debbugs.gnu.org (full text, mbox):
magnus <at> therning.org writes:
> The code
>
> (let* ((w (window-font-width))
> (stipple `(,w 1 ,(apply #'unibyte-string
> (append (make-list (1- (/ (+ w 7)
> 8)) ?\0)
> '(1))))))
> (insert "\n" (propertize (concat (make-string 15 ?\s)
> "THIS IS A TEST"
> (make-string 15 ?\s))
> 'face `(:background "red" :foreground
> "blue" :stipple ,stipple))))
>
> doesn't have the expected result, i.e. the text is not blue on red
> background.
>
> More information leading to this report can be found at
> https://github.com/jdtsmith/indent-bars/issues/3
I think this owes to an inconsistency between the PGTK and X bitmap
initialization code. I will look into this tomorrow, unless someone
wants to do it first.
The relevant functions are `image_create_bitmap_from_data' and
`image_create_pattern_from_pixbuf' in image.c.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#64969
; Package
emacs
.
(Tue, 01 Aug 2023 02:37:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 64969 <at> debbugs.gnu.org (full text, mbox):
Po Lu <luangruo <at> yahoo.com> writes:
> magnus <at> therning.org writes:
>
>> The code
>>
>> (let* ((w (window-font-width))
>> (stipple `(,w 1 ,(apply #'unibyte-string
>> (append (make-list (1- (/ (+ w 7)
>> 8)) ?\0)
>> '(1))))))
>> (insert "\n" (propertize (concat (make-string 15 ?\s)
>> "THIS IS A TEST"
>> (make-string 15 ?\s))
>> 'face `(:background "red" :foreground
>> "blue" :stipple ,stipple))))
>>
>> doesn't have the expected result, i.e. the text is not blue on red
>> background.
>>
>> More information leading to this report can be found at
>> https://github.com/jdtsmith/indent-bars/issues/3
>
> I think this owes to an inconsistency between the PGTK and X bitmap
> initialization code. I will look into this tomorrow, unless someone
> wants to do it first.
>
> The relevant functions are `image_create_bitmap_from_data' and
> `image_create_pattern_from_pixbuf' in image.c.
I think this should now have been fixed on the master branch; the change
was too involved for Emacs 29. Please test and ack, thanks.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#64969
; Package
emacs
.
(Tue, 01 Aug 2023 11:59:02 GMT)
Full text and
rfc822 format available.
Message #16 received at 64969 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Po Lu <luangruo <at> yahoo.com> writes:
> Po Lu <luangruo <at> yahoo.com> writes:
>
>> magnus <at> therning.org writes:
>>
>>> The code
>>>
>>> (let* ((w (window-font-width))
>>> (stipple `(,w 1 ,(apply #'unibyte-string
>>> (append (make-list (1- (/ (+ w 7)
>>> 8)) ?\0)
>>> '(1))))))
>>> (insert "\n" (propertize (concat (make-string 15 ?\s)
>>> "THIS IS A TEST"
>>> (make-string 15 ?\s))
>>> 'face `(:background "red"
>>> :foreground
>>> "blue" :stipple ,stipple))))
>>>
>>> doesn't have the expected result, i.e. the text is not blue on
>>> red
>>> background.
>>>
>>> More information leading to this report can be found at
>>> https://github.com/jdtsmith/indent-bars/issues/3
>>
>> I think this owes to an inconsistency between the PGTK and X
>> bitmap
>> initialization code. I will look into this tomorrow, unless
>> someone
>> wants to do it first.
>>
>> The relevant functions are `image_create_bitmap_from_data' and
>> `image_create_pattern_from_pixbuf' in image.c.
>
> I think this should now have been fixed on the master branch;
> the change
> was too involved for Emacs 29. Please test and ack, thanks.
Yes! That change fixed it.
I verified the above elisp expression (in fundamental mode) both
in a "bare emacs" (emacs -q) and in my own config. The behaviour
is now exactly as expected.
It also works well with the indent-bars[1] package.
Thanks so much for the very fast fix.
/M
[1]: https://github.com/jdtsmith/indent-bars
--
Magnus Therning OpenPGP: 0x927912051716CE39
email: magnus <at> therning.org
@magthe <at> mastodon.technology http://magnus.therning.org/
`Ford, you're turning into a penguin. Stop it.'
— Arthur experiences the improbability drive at work.
[signature.asc (application/pgp-signature, inline)]
Reply sent
to
Po Lu <luangruo <at> yahoo.com>
:
You have taken responsibility.
(Wed, 02 Aug 2023 00:15:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
magnus <at> therning.org
:
bug acknowledged by developer.
(Wed, 02 Aug 2023 00:15:02 GMT)
Full text and
rfc822 format available.
Message #21 received at 64969-done <at> debbugs.gnu.org (full text, mbox):
magnus <at> therning.org writes:
> Yes! That change fixed it.
>
> I verified the above elisp expression (in fundamental mode) both in a
> "bare emacs" (emacs -q) and in my own config. The behaviour is now
> exactly as expected.
>
> It also works well with the indent-bars[1] package.
>
> Thanks so much for the very fast fix.
>
> /M
>
> [1]: https://github.com/jdtsmith/indent-bars
I'm closing this bug then, thanks.
Reply sent
to
Po Lu <luangruo <at> yahoo.com>
:
You have taken responsibility.
(Wed, 02 Aug 2023 00:15:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
magnus <at> therning.org
:
bug acknowledged by developer.
(Wed, 02 Aug 2023 00:15:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 30 Aug 2023 11:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 290 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.