Subject: Re: bug#64969: 30.0.50: Stipple broken with PGTK

From: Po Lu <[email-masked]>
Date: Tue, 01 Aug 2023 10:35:47 +0800

Po Lu <[email-masked]> writes:

> [email-masked] 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.