* bug#64969: 30.0.50: Stipple broken with PGTK
@ 2023-07-31 8:05 magnus
2023-07-31 13:47 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 5+ messages in thread
From: magnus @ 2023-07-31 8:05 UTC (permalink / raw)
To: 64969
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))
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#64969: 30.0.50: Stipple broken with PGTK
2023-07-31 8:05 bug#64969: 30.0.50: Stipple broken with PGTK magnus
@ 2023-07-31 13:47 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-01 2:35 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 5+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-07-31 13:47 UTC (permalink / raw)
To: magnus; +Cc: 64969
magnus@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.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#64969: 30.0.50: Stipple broken with PGTK
2023-07-31 13:47 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-08-01 2:35 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-01 9:27 ` magnus
0 siblings, 1 reply; 5+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-08-01 2:35 UTC (permalink / raw)
To: magnus; +Cc: 64969
Po Lu <luangruo@yahoo.com> writes:
> magnus@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.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#64969: 30.0.50: Stipple broken with PGTK
2023-08-01 2:35 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-08-01 9:27 ` magnus
2023-08-02 0:14 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 5+ messages in thread
From: magnus @ 2023-08-01 9:27 UTC (permalink / raw)
To: Po Lu; +Cc: 64969
[-- Attachment #1: Type: text/plain, Size: 1900 bytes --]
Po Lu <luangruo@yahoo.com> writes:
> Po Lu <luangruo@yahoo.com> writes:
>
>> magnus@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@therning.org
@magthe@mastodon.technology http://magnus.therning.org/
`Ford, you're turning into a penguin. Stop it.'
— Arthur experiences the improbability drive at work.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#64969: 30.0.50: Stipple broken with PGTK
2023-08-01 9:27 ` magnus
@ 2023-08-02 0:14 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 5+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-08-02 0:14 UTC (permalink / raw)
To: magnus; +Cc: 64969-done
magnus@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.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-08-02 0:14 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-31 8:05 bug#64969: 30.0.50: Stipple broken with PGTK magnus
2023-07-31 13:47 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-01 2:35 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-08-01 9:27 ` magnus
2023-08-02 0:14 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
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.