GNU bug report logs - #64969
30.0.50: Stipple broken with PGTK

Previous Next

Package: emacs;

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.

Full log


Message #16 received at 64969 <at> debbugs.gnu.org (full text, mbox):

From: magnus <at> therning.org
To: Po Lu <luangruo <at> yahoo.com>
Cc: 64969 <at> debbugs.gnu.org
Subject: Re: bug#64969: 30.0.50: Stipple broken with PGTK
Date: Tue, 01 Aug 2023 11:27:09 +0200
[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)]

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.