unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Arash Esbati <arash@gnu.org>
To: 70712@debbugs.gnu.org
Subject: bug#70712: 30.0.50; Stipples on NS-port
Date: Thu, 02 May 2024 13:03:05 +0200	[thread overview]
Message-ID: <m2wmocqxw6.fsf@macmutant.fritz.box> (raw)

[-- Attachment #1: Type: text/plain, Size: 732 bytes --]

Hi all,

based on the test from this page[1], stipples don't work on the NS-port.
Steps to reproduce:

• emacs -Q
• M-x font-lock-mode RET  (i.e., disable font-lock)
• Eval this in scratch:
--8<---------------cut here---------------start------------->8---
(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))))
--8<---------------cut here---------------end--------------->8---

And it looks like this:

[-- Attachment #2: stipple-test-before.png --]
[-- Type: image/png, Size: 28851 bytes --]

[-- Attachment #3: Type: text/plain, Size: 61 bytes --]


After commit ef6ffbdc79, the same exercise looks like this:

[-- Attachment #4: stipple-test-after.png --]
[-- Type: image/png, Size: 28879 bytes --]

[-- Attachment #5: Type: text/plain, Size: 1470 bytes --]


Citing Po Lu, who kindly fixed part of the issue[2]:

    I see the problem, or rather, two distinct problems, the one being
    that the cursor face is flatly ignored when a stipple pattern is
    present, which I've just fixed, the other that the colors of such a
    stipple pattern are fixed to the image's background color and a
    black foreground, rather than adapting to the colors of the face in
    which it is displayed.  Here my scant knowledge of matters Nextstep
    failed me, and as such I will leave this to someone else with more
    experience than I.

This report is about the second part described above.

Best, Arash

Footnotes:
[1]  https://github.com/jdtsmith/indent-bars#stipples
[2]  https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg00103.html


In GNU Emacs 30.0.50 (build 1, aarch64-apple-darwin23.4.0, NS
 appkit-2487.50 Version 14.4.1 (Build 23E224)) of 2024-05-02 built on
 MacMutant.fritz.box
Repository revision: ef6ffbdc79645e719d3b5ef23c9200405c58c61e
Repository branch: master
Windowing system distributor 'Apple', version 10.3.2487
System Description:  macOS 14.4.1

Configured using:
 'configure --with-ns --without-pop --without-mailutils --with-threads
 --with-modules --with-native-compilation --without-compress-install
 'CFLAGS=-O2 -g0 -pipe''

Configured features:
ACL GLIB GMP GNUTLS LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE NS
PDUMPER PNG RSVG SQLITE3 THREADS TOOLKIT_SCROLL_BARS TREE_SITTER WEBP
XIM ZLIB

                 reply	other threads:[~2024-05-02 11:03 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2wmocqxw6.fsf@macmutant.fritz.box \
    --to=arash@gnu.org \
    --cc=70712@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).