From unknown Mon Aug 18 11:05:01 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#62573 <62573@debbugs.gnu.org> To: bug#62573 <62573@debbugs.gnu.org> Subject: Status: 29.0.60; Cursor color not being inverted in emacs-29 Reply-To: bug#62573 <62573@debbugs.gnu.org> Date: Mon, 18 Aug 2025 18:05:01 +0000 retitle 62573 29.0.60; Cursor color not being inverted in emacs-29 reassign 62573 emacs submitter 62573 Al Haji-Ali severity 62573 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 31 14:34:14 2023 Received: (at submit) by debbugs.gnu.org; 31 Mar 2023 18:34:14 +0000 Received: from localhost ([127.0.0.1]:34503 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piJZm-0004Gk-Hq for submit@debbugs.gnu.org; Fri, 31 Mar 2023 14:34:14 -0400 Received: from lists.gnu.org ([209.51.188.17]:55548) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piJZk-0004Gd-Ha for submit@debbugs.gnu.org; Fri, 31 Mar 2023 14:34:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1piJZk-0001aK-9O for bug-gnu-emacs@gnu.org; Fri, 31 Mar 2023 14:34:12 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1piJZi-000806-No for bug-gnu-emacs@gnu.org; Fri, 31 Mar 2023 14:34:12 -0400 Received: by mail-wr1-x434.google.com with SMTP id t4so18144932wra.7 for ; Fri, 31 Mar 2023 11:34:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680287648; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=mbon0rhEHXbhZfeOhtHGPZYtMn4BTlICydw5dUwCw/s=; b=UXH/ds7F/ZGtGLkDRW7cU/lxur1bimVNuzBhXQhx6QhjwGFdPjR6v756hP+wAO4c+T U4+QzLmJgnvusAtqvaPKXf5mdVXQTX0vqdlF7NLkS/os+RQj7sPVrkiQTY18MypDXXZ1 sklCdpzhqcZteDKP1dRSp02hRj3yun5nSJBQWgqlAM261tESYNu6RWbNttBneuc/aXSp HohezW2Ytwu6xZf7FyeocNvXfjhviS67MP5QcpH4soebw+BOsY0pNEc1RS0NY5Bob/KF nZpJzYS3u7BwMS4cPyxvZq3YzC74xBepMINBrI7iRb0bcF1Eb0ncrwTYC+3ycRkbyKfr qIJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680287648; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=mbon0rhEHXbhZfeOhtHGPZYtMn4BTlICydw5dUwCw/s=; b=4m2CRzxF9i73/Q3i+AoTaDO0lxyuy+TJa3HrygHwbgIRPlwF2aCvBHKbDmf4iRH2qF aV2REvVy7JrUOUYUmpp4HNVS+sfd4AqIXg/Ek0qRTGrD2oVc6O2tGoUg7/dm3Rdn7Rsd HsDgZQZ9xNZQvuFNSk4GEffJctRN+/YXBbbJopppTsJ8f3gwBdGYWzjczJkWQYOyV6Co uzuVMz7Bnvilalik/FvLCJ+sVeGEJHviTjrq927ninXG7QtXxWbiGLafi2dPsK112fBt EwP96TZzkt7vbwLcFSC9rfQc6zRf2V5kQKWWrMNHc58lb/8MUsocqjVm9GiHRNl6kPFP jc0Q== X-Gm-Message-State: AAQBX9dFKQ4/l7KkKIBmPD4pPfLV4UejIJxFDZoxV42b1kA+kWkyS2RY t87hXoRLzk05jdB2pbAJTVinfdm7cBcWmw== X-Google-Smtp-Source: AKy350YlXnp9WR4nQCK96BEdzRzhZjl3q8ymGN6xCaLBYBTdq6oQv63R03Pjiw6pFzPKDWKdeA+tEg== X-Received: by 2002:adf:fd81:0:b0:2c8:9ab8:85f9 with SMTP id d1-20020adffd81000000b002c89ab885f9mr25349956wrr.40.1680287648237; Fri, 31 Mar 2023 11:34:08 -0700 (PDT) Received: from localhost (sgyl-45-b2-v4wan-165314-cust948.vm6.cable.virginm.net. [92.236.87.181]) by smtp.gmail.com with ESMTPSA id a2-20020adfed02000000b002c55de1c72bsm2797500wro.62.2023.03.31.11.34.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 Mar 2023 11:34:07 -0700 (PDT) From: Al Haji-Ali To: bug-gnu-emacs@gnu.org Subject: 29.0.60; Cursor color not being inverted in emacs-29 Date: Fri, 31 Mar 2023 19:34:05 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=abdo.haji.ali@gmail.com; helo=mail-wr1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) I noticed a change in the default cursor colour of emacs 29. It seems that in emacs 28.2 (at least) the cursor colour is inverted when it is on a background of the same colour but in emacs 29 the cursor colour is not changed making it impossible to see. For example, the following code inserts text with a black background (same as the cursor colour). When the cursor is on top of this text in emacs 28.2 it becomes yellow'ish but it is invisible in emacs 29. ;; Start with emacs -Q (fundamental-mode) (defface my-back-face '((t :foreground "yellow" :background "black")) "Testing.") (let ((current-string "\ntext to insert")) (put-text-property 0 (length current-string) 'face 'my-back-face current-string) (insert current-string)) How can I get the emacs 28.2 behaviour? Maybe this should be the default behaviour in emacs 29? -- Al From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 31 15:15:51 2023 Received: (at 62573) by debbugs.gnu.org; 31 Mar 2023 19:15:51 +0000 Received: from localhost ([127.0.0.1]:34522 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piKE3-0005Tx-2B for submit@debbugs.gnu.org; Fri, 31 Mar 2023 15:15:51 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58382) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piKE1-0005Tk-3i for 62573@debbugs.gnu.org; Fri, 31 Mar 2023 15:15:49 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1piKDt-0007vf-Dq; Fri, 31 Mar 2023 15:15:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=IB5X/w6GjlsJhYiGsx9YRZjb+cxwxKHP7Yr2TYIKavU=; b=S+tjLaNvxoFR b/JI/Iy35KzzBTuQc+FUHEHrCJL/wEYQAGMZ8Fc1ZF0r99ylwm2mS8cS3BywMps0P+8BtxH+wTT75 s46xeMriQnZevlyI9KU5iuR7DZ6VB8lNaJ8v2SBgfOBjvzrkYwqWAX2PxoH98F+Yyi/izjvuDuj5W e8rn4VCoCOdiGcxGP5HwrHxzpJJiQINuOAsbBvNDtG+VGhq9ZIpwCZgpoVUfaCIQM2Cica0SqhFxf NFVHrjbJbTV5qPj7mEHv08ZVQAAdPsJ60VBC0SIAMwJwr+S/TDrj47sMqFuPwBS52lMSmUmoI62TF HzsVe4AK5/eo8csRKLa+0g==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1piKDs-0004KA-CT; Fri, 31 Mar 2023 15:15:40 -0400 Date: Fri, 31 Mar 2023 22:15:54 +0300 Message-Id: <83edp420lx.fsf@gnu.org> From: Eli Zaretskii To: Al Haji-Ali In-Reply-To: (message from Al Haji-Ali on Fri, 31 Mar 2023 19:34:05 +0100) Subject: Re: bug#62573: 29.0.60; Cursor color not being inverted in emacs-29 References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62573 Cc: 62573@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Al Haji-Ali > Date: Fri, 31 Mar 2023 19:34:05 +0100 > > > I noticed a change in the default cursor colour of emacs 29. It seems that in emacs 28.2 (at least) the cursor colour is inverted when it is on a background of the same colour but in emacs 29 the cursor colour is not changed making it impossible to see. > > For example, the following code inserts text with a black background (same as the cursor colour). When the cursor is on top of this text in emacs 28.2 it becomes yellow'ish but it is invisible in emacs 29. > > ;; Start with emacs -Q > > (fundamental-mode) > > (defface my-back-face > '((t :foreground "yellow" > :background "black")) > "Testing.") > > (let ((current-string "\ntext to insert")) > (put-text-property 0 (length current-string) > 'face 'my-back-face > current-string) > (insert current-string)) I cannot reproduce this problem here: I get a "yellowish" cursor in Emacs 29 as well. And I'm not aware of any changes in this area between Emacs 28 and Emacs 29. On which platform is that and with what Emacs configuration? (Using "M-x report-emacs-bug" would have collected this information automatically for you.) Thanks. From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 31 17:46:12 2023 Received: (at 62573) by debbugs.gnu.org; 31 Mar 2023 21:46:12 +0000 Received: from localhost ([127.0.0.1]:34713 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piMZY-0001hK-28 for submit@debbugs.gnu.org; Fri, 31 Mar 2023 17:46:12 -0400 Received: from mail-wr1-f51.google.com ([209.85.221.51]:36618) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piMZW-0001h6-Tp for 62573@debbugs.gnu.org; Fri, 31 Mar 2023 17:46:11 -0400 Received: by mail-wr1-f51.google.com with SMTP id i9so23807561wrp.3 for <62573@debbugs.gnu.org>; Fri, 31 Mar 2023 14:46:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680299165; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=U4+pisWR5AORvYNBcqP/8OKlctqpuxC+tq00yX2B+Jk=; b=GsuBzcAG0qMGNSGv6YUMcG/+TgkVfRxGmtIOfdjoviO+EzhrhDzmhjXZGS+n0O6KLw NlVaOUcKsueGYoihx7HOku6icLMD4FYIlQzc8OMXRXeCQGF/vtFpg80sF2JX8piLljkO MDf3OPCUUPIr46//TI+9LLZPdQ0Rm9MxXYif4PNaKDC0/QOGXv/ezH8SLBd5m/IUiJ35 mnenty7vmp/qHEccIEu3sNJZ2U2ymizRhgxABG63kDuiNw2dMhU2EC+fdIaItxutcj7S At1/XliZbfxrrB9/t4655EVVmTvNaB3KZSrtb0UUw/fHsPTbbzKlHk+RvLy+RqeNWlDt hFEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680299165; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=U4+pisWR5AORvYNBcqP/8OKlctqpuxC+tq00yX2B+Jk=; b=Yfk3b5u715LQ0hPNw4kNIS4+ry/lg/y2zMZ47hW7q8Xjd4LIQqJgEN/rh7WxO3yfjQ 5Qt+NheYE3MTysVpInYuScEYuGKiWc8VDTSI0o02gWoI5Poke02+LG3swXGOSfLnMyuw Yvyl5R9wIvaC1mKEw0Tm2akpZq2tRGn3W5ZQ5N3B7l3KK/tI6RpbprRJkoI8e9CqPJeu 4d79P6jTKgXlBwa4A/EpeXtPn9gXIWkpZbu0JE4BIYFaPBwpgSXlJHFp+HMnB9e3+ol3 POb+s/UwRu+six+EvxEm1usfZqFgJWWHV6YWYIxHnAEFzP4t905MWpMU576OQazLn39Q VOww== X-Gm-Message-State: AAQBX9f6GHwY8Z90jurd1jPrjWV10SUwslDkMiYV7Ozs+/eikydqE8Ap ufJx7leg8aAzMLWA14WfhfTrmJj55ORLrw== X-Google-Smtp-Source: AKy350aF0cDhkzuB0+QVBZ/LHFNrrcYFzN9Iy8bDEReic6LEGQH7OsRkSnzE4ur/uEWyO1Zhla7dNw== X-Received: by 2002:a5d:58e7:0:b0:2ce:aed6:3f2e with SMTP id f7-20020a5d58e7000000b002ceaed63f2emr19982899wrd.46.1680299164812; Fri, 31 Mar 2023 14:46:04 -0700 (PDT) Received: from localhost (sgyl-45-b2-v4wan-165314-cust948.vm6.cable.virginm.net. [92.236.87.181]) by smtp.gmail.com with ESMTPSA id m17-20020adfe0d1000000b002d1e49cff35sm3160710wri.40.2023.03.31.14.46.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 Mar 2023 14:46:04 -0700 (PDT) From: Al Haji-Ali To: Eli Zaretskii Subject: Re: bug#62573: 29.0.60; Cursor color not being inverted in emacs-29 In-Reply-To: <83edp420lx.fsf@gnu.org> References: <83edp420lx.fsf@gnu.org> Date: Fri, 31 Mar 2023 22:46:00 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62573 Cc: 62573@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 31/03/2023, Eli Zaretskii wrote: > On which platform is that and with what Emacs configuration? (Using > "M-x report-emacs-bug" would have collected this information > automatically for you.) Apologies, below are the details. I can also add the config of emacs 28.2 if that's helpful. I am not sure what the issue is or how to debug it, so any hints are appreciated. --------------------------------------------------------------------------- In GNU Emacs 29.0.60 (build 1, aarch64-apple-darwin22.3.0, NS appkit-2299.40 Version 13.2.1 (Build 22D68)) of 2023-03-22 built on HW-R9XXWKPJ4D Windowing system distributor 'Apple', version 10.3.2299 System Description: macOS 13.2.1 Configured using: 'configure --disable-dependency-tracking --disable-silent-rules --enable-locallisppath=/opt/homebrew/share/emacs/site-lisp --infodir=/opt/homebrew/Cellar/emacs-plus@29/29.0.60/share/info/emacs --prefix=/opt/homebrew/Cellar/emacs-plus@29/29.0.60 --with-xml2 --with-gnutls --with-native-compilation --without-compress-install --without-dbus --with-imagemagick --with-modules --with-rsvg --with-ns --disable-ns-self-contained 'CFLAGS=-Os -w -pipe -mmacosx-version-min=13 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -DFD_SETSIZE=10000 -DDARWIN_UNLIMITED_SELECT' 'CPPFLAGS=-I/opt/homebrew/opt/zlib/include -I/opt/homebrew/opt/jpeg/include -I/opt/homebrew/opt/libomp/include -I/opt/homebrew/opt/icu4c/include -I/opt/homebrew/opt/openssl@1.1/include -isystem/opt/homebrew/include -F/opt/homebrew/Frameworks -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk' 'LDFLAGS=-L/opt/homebrew/opt/zlib/lib -L/opt/homebrew/opt/jpeg/lib -L/opt/homebrew/opt/libomp/lib -L/opt/homebrew/opt/icu4c/lib -L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/lib -F/opt/homebrew/Frameworks -Wl,-headerpad_max_install_names -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk'' Configured features: ACL GIF GLIB GMP GNUTLS IMAGEMAGICK JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM ZLIB Important settings: value of $LANG: en_GB.UTF-8 locale-coding-system: utf-8-unix Major mode: Fundamental Minor modes in effect: tooltip-mode: t global-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 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 mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date help-fns radix-tree cl-print byte-opt debug backtrace find-func comp comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra help-mode cl-loaddefs cl-lib bytecomp byte-compile rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win 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 kqueue cocoa ns lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 88096 7065) (symbols 48 7478 0) (strings 32 24488 3567) (string-bytes 1 788707) (vectors 16 20965) (vector-slots 8 357186 10640) (floats 8 37 39) (intervals 56 775 0) (buffers 984 13)) From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 01 01:38:40 2023 Received: (at 62573) by debbugs.gnu.org; 1 Apr 2023 05:38:40 +0000 Received: from localhost ([127.0.0.1]:35205 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piTwm-0007KQ-CF for submit@debbugs.gnu.org; Sat, 01 Apr 2023 01:38:40 -0400 Received: from eggs.gnu.org ([209.51.188.92]:37158) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piTwk-0007KD-Rd for 62573@debbugs.gnu.org; Sat, 01 Apr 2023 01:38:39 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1piTwf-0003cl-Jk; Sat, 01 Apr 2023 01:38:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=flF35yRrp7vI+QXYIE76UlJdSpuGyfYS+l9vMMSHUJE=; b=cV8CfrEDzz2A zV3EayX3x/w5dn0zOxktW+dPQudxi99Y7cgRPE3zLKI5CapP+ux+1QIjQsGdAB+Keycv+yb8mEcXk LyhuY76J+tQqHJo1AW5jKbU3woLoS/xZ+ffUgpbyjT0K7mw70yikb/+ufr6mLUkAuuG6JT6qSiJN2 74lR/2X1ZjHStw3f9M83Qv9XvuPI9BbsvysYG49+pQdcl3Z6YS+U2JytlPk7k0udZ0sbg8wDcYL/K Y+yvHXRPYyroLn4g1HSiKRzRX1ZlJMFWBkI7Iom00iHhow1EOV4Q/awp6lHhbGLVm3ZKG/WRahe8m 4AdK8r9OWyZ406Ss24wiHg==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1piTwe-0005OW-Nq; Sat, 01 Apr 2023 01:38:33 -0400 Date: Sat, 01 Apr 2023 08:38:48 +0300 Message-Id: <83bkk817rr.fsf@gnu.org> From: Eli Zaretskii To: Al Haji-Ali In-Reply-To: (message from Al Haji-Ali on Fri, 31 Mar 2023 22:46:00 +0100) Subject: Re: bug#62573: 29.0.60; Cursor color not being inverted in emacs-29 References: <83edp420lx.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62573 Cc: 62573@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Al Haji-Ali > Cc: 62573@debbugs.gnu.org > Date: Fri, 31 Mar 2023 22:46:00 +0100 > > > On 31/03/2023, Eli Zaretskii wrote: > > On which platform is that and with what Emacs configuration? (Using > > "M-x report-emacs-bug" would have collected this information > > automatically for you.) > Apologies, below are the details. I can also add the config of emacs 28.2 if that's helpful. > I am not sure what the issue is or how to debug it, so any hints are appreciated. > > --------------------------------------------------------------------------- > In GNU Emacs 29.0.60 (build 1, aarch64-apple-darwin22.3.0, NS > appkit-2299.40 Version 13.2.1 (Build 22D68)) of 2023-03-22 built on > HW-R9XXWKPJ4D > Windowing system distributor 'Apple', version 10.3.2299 > System Description: macOS 13.2.1 This is macOS, so I suspect the problem is specific to macOS. Can someone with access to macOS please try reproducing this, and perhaps debugging the problem? From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 01 15:56:47 2023 Received: (at 62573) by debbugs.gnu.org; 1 Apr 2023 19:56:47 +0000 Received: from localhost ([127.0.0.1]:38644 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pihLC-0007dw-Kt for submit@debbugs.gnu.org; Sat, 01 Apr 2023 15:56:47 -0400 Received: from sonic303-21.consmr.mail.ir2.yahoo.com ([77.238.178.202]:43198) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pihLA-0007da-Aw for 62573@debbugs.gnu.org; Sat, 01 Apr 2023 15:56:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.es; s=s2048; t=1680378998; bh=LXtxUU7N3x05arBxth3CnPZIVJuBx9QtUtIS7c2fNS4=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=SNw0oDlu67+wxGxSfucAG8hVbvgy1cW9/jvMCx0pTchnHBHSfiFo/dSB+PA0Yx8qzvIgsJt9Sq2KW3MardUs01LUGf5Ry5s776Rw8WNtF85Y+kXv9/wnNtvolTsiu4OVa8tBFQfyLfkFXV16NVanNID+1YQv3o7wAJcbthoEbGaLE1a5eEvAuYkBWsOzfWegUdu2xW+HTkZEdx/nnPBPK9CNznOgELc5LVsnX5mPt4ep2OcFte8UUwBZ8I8IgPtTTVYHMtpIujmx3Ibt6UWCjDESNuM/EOLu8245L0x26CF6AgavaYjBtsBqTxrcxlIAYr6IiMhiIxt0KFAHT9l+Sg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1680378998; bh=5hh7tWSC+ujcqLyybEtRK3KJ/rGPOm5eGbrte2xEwLj=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=O9VOkb0CND+CVa+Go7/m/lL4VTS5JyKd3ROzItMWYtHjYKo0O3D2sB7EuYUr+0LZ5zwdld5ldOXecoUq5gy6z2HN+jPZl5R8GnU7WwQi3mH6poToMYdjgLIof30SDodTyKBcTh7QAnvcnL3GqAoTim30jskN7N86Uw1vZKG9d7nwV2xgPQ/QqTQdj+JhlZcydJslrd5z/T4IjFCgKLEgZ6O+VvWwoQCDtHrlAvk+1SiBTzNOQVDUvsrVwo2kDrm/wvrIoDbJV4wkJur8asXgub+b7gFWwcRejp9ls4Q1VRQ2PckmSU2/p55jHp+5zA7NpqYhSDXtaRTJbISjJ6ftRg== X-YMail-OSG: CERUkAwVM1k5A.THUzQu0HRhPblYcXV8bfiwWI8UTa4rsM2yYj3taRMBH7hC2pb Vx0UN5I57L.1Y6eLNkMZiLSXB7HeEfZECi4c1MM.1ScHd_vOP1So4Ox4JqUWcaSbfkFV2s1k.w.e 1Be4YS.3_y3TgIEerBOdPFuJx1J5Lgrlc3bTHZ5WAQKDiBQb.YSnHzOatNscTGtxLnjjMFnzaey8 XWB9AyFbumdkORz9JvR9Hfv3HhQUeybMnCfLlW9n2tTkI1K3rllvd1v1cNpeGmgN6r3p8kFTSDAS AHSIpfmAD.CEFDEfDOXCJJ7pgz3Mj5y0lqyPUfR5Lbbx56_qcJHZTGLikLSvfZDoAajknX53q2EC iRbLz8o.q1pKpFH9tUNH5GHUjX0u4NkazLP21HW2T2iQmo7QHXOoWeM64HbWU5kBu6uUNwCAeAhv 0Aw7EvzPM6cwY5RHf73FKzsy8SwQzx.aBWVO9ksR916in2dasyddsaZdvRAqqnjDbmQZ7nweDoZe hIBpZe5NSwinAmXx9JioLZDxQcab0ll3X.kCX6R3C4Cpq4azv0y1Rj3YGlpuX7DqLPtb9Fr.SyNT Vajfpee5duGPzb_D8.RW2sliUvLGo6o.BjcBEsckMF5rKosuH4VYrpCYDvrX4FVptSynjZzZol_s iak7cUIZBmHPMHrpmLZO2cO3zIFUdb9NqpSt9zhTT6N5iYZQ8NtGpeh1bMfHjDrz4FJJGLH0KpOJ Ye99rHoc8eUQLQkPlO7QAYVUXNvLH5vKTI8XOYm62bjb2vYxTsC.wiSn7hG53cACpa5gfm5YzBfi 9qil4CmdteZveRynR8NXG9XAT.ngWw.CEmgZxsMYhSWFWhyt0g5niAvFcdZkZWORu9yCtuKC4yih uWKUEwXNKkt61RRtJKsDNQVoeouZGl7Pk5L33CXAiGk8tcRpKgArBOxWbmYKNtTW.oYWh14zZix. GMefwtYhDxsQg2U8VPKXkROqMM9b5gTFGu0OIWdJFHeZLexZMgNN91IX5IEGnTLUTcpMM_OV.Ltf 0RsuvUQ3Sxbm20Te296Y4b2g7ENlUye.6yuZ_qQn1.5dBtVS090st4WqfxgwKRdQ5tUpfXqUPDDZ Jy0iDfirh2azwSwBjW10ZXdGStzE6T7CE8aFj_hae1WPjA7PVXhIQro00jRQsQ3vEk3mKvSa.arp QljUBAF9arKypdLzoLsyNNbwbTf6hTGjCte0WkNUXej4.CoyMlC3IasyjV_ddJes9JmYzSijfqdZ S62VI9kTqUupP6Ff_YTx4gcSE5gElJiKakxgtLkwHfOcX_w60_xvS8ue0W04lD_GkG5kaMvxMNaX _tFVSEyd4nIwxlqHGc41.UWO1gTgxx3jWmUIkvuOrhpqixtJKc196PNVuMosFC1kfE_HDIp3ret1 RfkkrDlVPk3OcRh_sjTEZxdn0c0UlXb7UrNixja6b_m96EWzt_61GGmZy3gVBamgY__wBycCP3c. 7aBoqlUzsKIm_0W1m4rhpdR2HYifBj1tI.1Fds6bNiZvXlXysjpGlKG7SNaGWY8.b0zZrjjWd6lC s9iFS7OXFJBdznVB.YwyPbKWZkhMBbjz.RPPUY0_adYzewwW..MVhvb7Z9xVmGePBjx7Y6stT3ky fPjyNJzqzWvm6E08EWYgZazlkP8954V1tdPQ6haJAR5hu1iqTLcCGqRSACVdGoPBU0RW5R7RlP7W ysMW49QrQXEfhqrO8hGaNXBJ0IO.Z0Ann9J9k3Sr5vRQHgsNucz_kUGaworGdI3t65gObJSoebxs NNckKphu2G7Agkj_gCAHTy.Nyl5I0qW4SZEtpULuxRnjVk8LBcOl9Zpz82qrT0wbnrMipCyYylka HPzTal0M_W6oUGOzoeLvE4Jf.w.j6NNFrMRFVLQpsLJnrsHYzbZElVbeN3Z6Zj9.IytEO1CO6prY AvV578qXdo_dPm0Cwcy7UgygvTGiHk.gmMj.jl5SLdJ1WFqOsLKqdMYsHKzvOLV2p9cX_hlxeqpL J04fHmoq3ljElSzl6Muqwf7.TFsPQkaWDvnbd3EEC5KLMperiEM57RBRIB3JAAajIM0wAahfjDic P.1_kkC6yQuEJoghaLkhuovW3D4pj0ofs37IMYtK4neg__VbG9nkErEUiEdLum_1WMT_A5vBzj2i PlaD89iJGlPB659H4itKyV1VBTcIe0U9Q5Xo3ZRc0ZO1WwM25CkuYcBQ18WOoobb27UgCXJqXTqO bEi2AUaiicLcjlwi5HPUvA3BAA6ZVn9MSBI7lzZQ- X-Sonic-MF: X-Sonic-ID: fa2006c8-486b-404c-954d-5c11e023753f Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.ir2.yahoo.com with HTTP; Sat, 1 Apr 2023 19:56:38 +0000 Received: by hermes--production-ir2-74cd8fc864-jl5bm (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 525242455118bffb9120b771f33b1d5e; Sat, 01 Apr 2023 19:56:35 +0000 (UTC) From: =?utf-8?Q?Daniel_Mart=C3=ADn?= To: Eli Zaretskii Subject: Re: bug#62573: 29.0.60; Cursor color not being inverted in emacs-29 References: <83edp420lx.fsf@gnu.org> <83bkk817rr.fsf@gnu.org> Date: Sat, 01 Apr 2023 21:56:33 +0200 In-Reply-To: <83bkk817rr.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 01 Apr 2023 08:38:48 +0300") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (darwin) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 4877 X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 62573 Cc: luangruo@yahoo.com, 62573@debbugs.gnu.org, Al Haji-Ali X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) Eli Zaretskii writes: >> From: Al Haji-Ali >> Cc: 62573@debbugs.gnu.org >> Date: Fri, 31 Mar 2023 22:46:00 +0100 >> >> >> On 31/03/2023, Eli Zaretskii wrote: >> > On which platform is that and with what Emacs configuration? (Using >> > "M-x report-emacs-bug" would have collected this information >> > automatically for you.) >> Apologies, below are the details. I can also add the config of emacs 28.2 if that's helpful. >> I am not sure what the issue is or how to debug it, so any hints are appreciated. >> >> --------------------------------------------------------------------------- >> In GNU Emacs 29.0.60 (build 1, aarch64-apple-darwin22.3.0, NS >> appkit-2299.40 Version 13.2.1 (Build 22D68)) of 2023-03-22 built on >> HW-R9XXWKPJ4D >> Windowing system distributor 'Apple', version 10.3.2299 >> System Description: macOS 13.2.1 > > This is macOS, so I suspect the problem is specific to macOS. Can > someone with access to macOS please try reproducing this, and perhaps > debugging the problem? This bug is a regression caused by 07715630ad9df9cb681cbadecbaf73fc9c698061. (Adding Po Lu to the CC.) >From what I see, the font display refactor removed this code from src/nsterm.m: - face = FACE_FROM_ID_OR_NULL (f, phys_cursor_glyph->face_id); - if (face && NS_FACE_BACKGROUND (face) - == ns_index_color (FRAME_CURSOR_COLOR (f), f)) - { - [ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), f) set]; - hollow_color = FRAME_CURSOR_COLOR (f); - } - else which seems to be responsible for the cursor color change when the background face color is the same as the cursor color. I can't find that logic in the current code, so I think we miss it from the refactoring. I've solved the bug by replicating that logic in the appropriate places, nsterm.m and macfont.m: diff --git a/src/macfont.m b/src/macfont.m index d0cdbcd08c7..d14cf5f9c98 100644 --- a/src/macfont.m +++ b/src/macfont.m @@ -2933,9 +2933,15 @@ So we use CTFontDescriptorCreateMatchingFontDescriptor (no { if (s->hl == DRAW_CURSOR) { - CGColorRef colorref = get_cgcolor_from_nscolor (FRAME_CURSOR_COLOR (f), f); - CGContextSetFillColorWithColor (context, colorref); - CGColorRelease (colorref); + if (face && NS_FACE_BACKGROUND (face) + == [(NSColor*)FRAME_CURSOR_COLOR (f) unsignedLong]) + CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND (context, face); + else + { + CGColorRef colorref = get_cgcolor_from_nscolor (FRAME_CURSOR_COLOR (f), f); + CGContextSetFillColorWithColor (context, colorref); + CGColorRelease (colorref); + } } else CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND (context, face); @@ -2949,9 +2955,15 @@ So we use CTFontDescriptorCreateMatchingFontDescriptor (no CGContextScaleCTM (context, 1, -1); if (s->hl == DRAW_CURSOR) { - CGColorRef colorref = get_cgcolor_from_nscolor (FRAME_BACKGROUND_COLOR (f), f); - CGContextSetFillColorWithColor (context, colorref); - CGColorRelease (colorref); + if (face && NS_FACE_BACKGROUND (face) + == [(NSColor*)FRAME_CURSOR_COLOR (f) unsignedLong]) + CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND (context, face); + else + { + CGColorRef colorref = get_cgcolor_from_nscolor (FRAME_BACKGROUND_COLOR (f), f); + CGContextSetFillColorWithColor (context, colorref); + CGColorRelease (colorref); + } } else CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND (context, face); diff --git a/src/nsterm.m b/src/nsterm.m index 46007ec4fcb..2f31a279bfc 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -3750,14 +3750,17 @@ Function modeled after x_draw_glyph_string_box (). { struct face *face = s->face; if (!face->stipple) - { - if (s->hl != DRAW_CURSOR) - [(NS_FACE_BACKGROUND (face) != 0 - ? [NSColor colorWithUnsignedLong:NS_FACE_BACKGROUND (face)] - : FRAME_BACKGROUND_COLOR (s->f)) set]; - else - [FRAME_CURSOR_COLOR (s->f) set]; - } + { + if (s->hl != DRAW_CURSOR) + [(NS_FACE_BACKGROUND (face) != 0 + ? [NSColor colorWithUnsignedLong:NS_FACE_BACKGROUND (face)] + : FRAME_BACKGROUND_COLOR (s->f)) set]; + else if (face && NS_FACE_BACKGROUND (face) + == [(NSColor*)FRAME_CURSOR_COLOR (s->f) unsignedLong]) + [[NSColor colorWithUnsignedLong:NS_FACE_FOREGROUND (face)] set]; + else + [FRAME_CURSOR_COLOR (s->f) set]; + } else { struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (s->f); Could you give it a try on macOS and GNUstep? Thank you. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 01 20:44:25 2023 Received: (at 62573) by debbugs.gnu.org; 2 Apr 2023 00:44:25 +0000 Received: from localhost ([127.0.0.1]:38735 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pilpZ-00011I-7q for submit@debbugs.gnu.org; Sat, 01 Apr 2023 20:44:25 -0400 Received: from sonic312-25.consmr.mail.ne1.yahoo.com ([66.163.191.206]:45927) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pilpX-000113-Sq for 62573@debbugs.gnu.org; Sat, 01 Apr 2023 20:44:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1680396257; bh=Tx6a9S6W+E0B8NnVMI2EXnhMg4qpThRIapt2kijfgqA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=g/5V+obxxeEPuVxiPf+EsIJD/lCBuT96yClFzGIXGrieMODep0kiBnkwFuuNmU8I9O60gcqxzN2N9o/bv0dpMpnwwCWZG/d9CwZeV7wPLQl6ThxUYO1n/W/MYnh4gMZCB0m3N0S+8C8Y/yV8vSnhJxRDZfuu1bvxmXb8HN2NCaqd8WpEcongiXcm+lLmwviSpMkBB0boWj3ofuCr4NtcplXTH8tMJLJWdx0qLkW05H6UmgGwTktjfcDoDAyRVuSpTOMHJaRnssoN7R5wjHh3HHSFNRIXQ/LeTGl8UTH+scCuJwebz+p9go9EZEh7qi192bx2hhOD3JzebfIPYtNDMg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1680396257; bh=YNLZ1hSc1DuXH9JynuDV3UHHLFab3aoVKmZGM7zBqIf=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=jYwAT/tQsuWw+5KiB1RjfsrTNF5G8vIpbhLHIk2iCReRkTEZlkn9JmLtFcEJxuD55YtrpmBaUaJS0OI/LHtF5n8fq0IDZpxTpaMHcitOh68ZwsSV55LAJkQhPLTRZ98Xz8yydu/q8ANmh2EBPJAnpHzSgt2yhZNoNlsl9in+aAtx6aDrS78Lw+Cl1sIeilQnsAeS7G+iicmoWTG1S6AOYZrPsN/dIMNhfWE03lJKa/avsL5s5h4eAHhGoxAdqRBq2soD7jFTMdDnzJIGZZyNFgGeWgs2LSQFqlLT4z2uKUprXTZL8A/iFRUNHiAQS7BwwyYEUXU8OFgN4BF1GSqSfg== X-YMail-OSG: TxZITVkVM1m3YC6sgElpM4SDPSozGskxh4_FJjDcNUWurvDasUoFyEREyQFsKaQ pEJeeW6qphaxcZsaQRLr5arq1cbjShQMwrMsR25LAKAP70XNjLXaRY_BKUexq7.hi5oRMgYJ16TF i3__sy2ZOg_m1OGUIN0IZ5cQdv7pV865lTixfsHYvxxvpCwfkZYg7iL_IY4YbHWVhVsZcNhkU.i. PPwQCn3arflcimzXaya22rNVVGFpwAVUpjOirWc.qxElMsJpCBlffS1L8indN5yWGnHvPmnf0I8E nWT8WG8hX36FjrYnnpxXdoLswWFx_e5iWgDX9b4NI3Sfvv3Q8AwjIbWbWWhToFv50IIn27NrczW4 dfeA8nAmRpPwSBjA2CO6GbKTpjEor440x81geRMn50_HdccAKbWbt9kXs4M5FbCLBGtU3NUfPzMF 9nVqQ3wbfY.ZY5NKDHn3sSTKRfKV1_yKatxEOoZFt.1ooK6.z4hMEVAvwBKgsKYBtq2NOYjreJgc SkGM9ZORmjst38cytJmc2_IJIiN46.G8y0iYteEtxebSUeuA_YK9MYWLEif0P9GMIDCUCKMj.0.R qL0v0dX5uf.BDhMXVmq.gzFOJNIUfYBhFEO6q73uhjaCVFCZYJ3rTmeHgLZr0GN7J7minQU6la4q 5iR_IlQvTfWyC1EKSLVeMq8Z6qPQtmPug0qP7fnPVG1lNmFsEydWMFFUK0DOXKe11E4eOXjqaYCM rZNfTuSWITWhzWl3Fe.FNxPPWpSiuw8NZokxcAW6PWLmT8e.wcRxUO8nyNytJZJmFM0duCgh4g8o 5VCvkjOslQfKTvuyJZvbrY9py4f04wpltcb1gOf3MP.oe0d..cSU2Frl_6jtPCVdJ7qPRyP4Fwux qWcZsLWWkGqBvHO3Wua5TdrL6pJ7jPt5uNS5kw30rteavCufgUJOfacwO762uNFPk2ijgUoGwVbD ctmcNyq8ZJxGxtB7tIWR6Wzga6aNPC684SGxICLK4_33rdiULsCyFtZTlqS6834DZQ6.Uo99BwWZ q2YA.Q2ydvMmxIhe8crZLQL2POADlTQ95ikc46TPyOjvQpcUxJahTXfP36Aj7pctlAUIBeZ4Lx4v krDx83E4U9CKpaBEVKhOIohXP.BpugsNabwhhzBjdW6hochldkP.5hbOYWlyHE_cDl0uEXWJXafU 9L0ELF9DZtlbQqquJbRhMdx.559I9rvBPRoX74upVaznL_WXC.mh9R8g0uRxFeMCkdVkudCj3_Dr YE0qPYyLOIJTbmEWZP9uA0OjwrYz.ykDzZE6eX04kGKJ8GC2TV06jDvgDMiFx240Svs74iDk92Cu o6fT1Z7ARiUHrUf9djFxGOWsdlWamLoi0C5AXEz9Bh3l1FbmnSpMKLtNQ3JBAwhAT1CJgWGpMKGQ KAIGph0.BsIOnEAZSN9oK18QqZs4.gwtWYYMlIgxgBuqLzGBSQBFAMfTdRBnRDobDoYhBu3OhxZX n0A2h3ygEz9KTWhLEx0L44EyLwB.rnMC2d.60D17A.fCM4hfhkgXuhP9oTekPLed8hn4s33PNJZ4 AOh.8U1TY6NE_SA7gfLQsYIxxUQ86elLLTZ1r9bLs9n5l16LFmDX3TMI6TDanbUCXfMOetcbJPrd oz_Y8XYeTwRFlkWWvNL5VyXrnXU40UAfskmqdxPCSvAdyaErhJxb1TdcBWpvDR3Zy7fj8gVcsMqh ZaNeafQRCPtCzJ.gn1CpwkdovC9xiBtCB6ZziORLotxfkrAXaa3Z8E974Tpbi0pJFSXSiYmOsZIV gEFQ.H17OL0mHW13x9GhpCtBjZGVIn1hU6apfOS_ShF0f0h436lgBkQXqUXdspw.ZCT33vqreP5s o6EueCCqbnzOOWWdafDc0tZDGIzFyGecHUnA6wM9TQ2bVj6Eyz2fRad32qzera4vzb9K3C1l.0hL _YHsVU9I9rxG09k5mUxenBh7oPZAsCt9jDBPpBTehWCdm1egsiaXOPMsEAQoIfbAklrSCNJSvHnA hFLCFNCdjOTPhQ9N74C2Q1j3l3JzT.NVWevY41j6oAETIgqDZyRKTIZhJW4M2SnvKTbQG5ckj6u7 CRyha6yv9EKiTGdqf6LMNBVkGi4IcoDFY.Yd68h0vI.X9ev5z9S3amd39Z2eVw5Gq_wxmY7WnJ65 0UE2fBVgPEggyY52_bsfdDg_0WEPNrAfxKwNmgjQJASNcCzrriArPZc.aWeSgI7b63kOIW2HZRKR .cal9bYv6G_pxfLu4O6yfZ_sVf4K2.qY.FlynbgDEPqTR_myrNLfMvvID3.GTFQ-- X-Sonic-MF: X-Sonic-ID: 942022b6-6c28-45fc-b3fe-d5455b75a484 Received: from sonic.gate.mail.ne1.yahoo.com by sonic312.consmr.mail.ne1.yahoo.com with HTTP; Sun, 2 Apr 2023 00:44:17 +0000 Received: by hermes--production-sg3-6d6fb994f6-c7twq (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 80af9d29171764568ac53e083e9e174f; Sun, 02 Apr 2023 00:44:13 +0000 (UTC) From: Po Lu To: Daniel =?utf-8?Q?Mart=C3=ADn?= Subject: Re: bug#62573: 29.0.60; Cursor color not being inverted in emacs-29 In-Reply-To: ("Daniel =?utf-8?Q?Mart=C3=ADn=22's?= message of "Sat, 01 Apr 2023 21:56:33 +0200") References: <83edp420lx.fsf@gnu.org> <83bkk817rr.fsf@gnu.org> Date: Sun, 02 Apr 2023 08:44:09 +0800 Message-ID: <87mt3rru3q.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 1766 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62573 Cc: Al Haji-Ali , Eli Zaretskii , 62573@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Daniel Mart=C3=ADn writes: > I've solved the bug by replicating that logic in the appropriate places, > nsterm.m and macfont.m: Nice, thanks. > + CGColorRef colorref =3D get_cgcolor_from_nscolor (FRAME_CU= RSOR_COLOR (f), f); This row is now wider than 80 columns. Please wrap it. > struct face *face =3D s->face; > if (!face->stipple) > - { > - if (s->hl !=3D DRAW_CURSOR) > - [(NS_FACE_BACKGROUND (face) !=3D 0 > - ? [NSColor colorWithUnsignedLong:NS_FACE_BACKGROUND (face)] > - : FRAME_BACKGROUND_COLOR (s->f)) set]; > - else > - [FRAME_CURSOR_COLOR (s->f) set]; > - } > + { > + if (s->hl !=3D DRAW_CURSOR) > + [(NS_FACE_BACKGROUND (face) !=3D 0 > + ? [NSColor colorWithUnsignedLong:NS_FACE_BACKGROUND (f= ace)] > + : FRAME_BACKGROUND_COLOR (s->f)) set]; > + else if (face && NS_FACE_BACKGROUND (face) > + =3D=3D [(NSColor*)FRAME_CURSOR_COLOR (s->f) unsig= nedLong]) > + [[NSColor colorWithUnsignedLong:NS_FACE_FOREGROUND (face= )] set]; > + else > + [FRAME_CURSOR_COLOR (s->f) set]; > + } > else > { > struct ns_display_info *dpyinfo =3D FRAME_DISPLAY_INFO (s-= >f); > Please write: (face && (NS_FACE_BACKGROUND (face) =3D=3D [(NSColor *) FRAME_CURSOR_COLOR (s->f) unsignedLong])) instead. > Could you give it a try on macOS and GNUstep? Thank you. Works for me, thanks. P.S. I think what needs to be done is to make the NS port keep track of glyph string colors through GCs, so that the relevant code can be easily synchronized with X. From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 02 01:09:07 2023 Received: (at 62573) by debbugs.gnu.org; 2 Apr 2023 05:09:07 +0000 Received: from localhost ([127.0.0.1]:38957 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pipxj-0000I7-5r for submit@debbugs.gnu.org; Sun, 02 Apr 2023 01:09:07 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48364) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pipxc-0000HY-Qi for 62573@debbugs.gnu.org; Sun, 02 Apr 2023 01:09:05 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pipxX-0007Go-9G; Sun, 02 Apr 2023 01:08:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=yzjQDjVNblsgPf8a5d2LHFSl8Jis4n9ACb27Ufz665g=; b=RA8T+Vs557H2IzeQOmUd lGcWRSCa9TMRtwmb1UfmXGa6kJEygq2orHHdFg0BU04XL6+zQKNELdMtV/SpMUGLwkS5hU7O2xBnb WxeGMV+vTKyIr5TqocNL6HhE7HL5GOTLEMv46gPK+dUvvUuIB9ZiFOQdxSxBAIyir06KPKE+81T6c uduTGX8iWVzA/F0YHrL01PtQVYU0mNTN1oEAFMzjF9Rb8V8VHi3sK0x03Zww/hy56yF+J8WdOwZoS +PYQfkOmu5xxq1dwz/p5JdYs2L9CfD2rSmiJCn06pmZE8jEylrOg3avVsYDCxC1JNNa8HIvVrWIAr 4T7dP9kdpg5y5A==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pipxW-0000j5-6W; Sun, 02 Apr 2023 01:08:54 -0400 Date: Sun, 02 Apr 2023 08:09:12 +0300 Message-Id: <83cz4myio7.fsf@gnu.org> From: Eli Zaretskii To: Daniel =?utf-8?Q?Mart=C3=ADn?= In-Reply-To: (message from Daniel =?utf-8?Q?Mart?= =?utf-8?Q?=C3=ADn?= on Sat, 01 Apr 2023 21:56:33 +0200) Subject: Re: bug#62573: 29.0.60; Cursor color not being inverted in emacs-29 References: <83edp420lx.fsf@gnu.org> <83bkk817rr.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62573 Cc: luangruo@yahoo.com, 62573@debbugs.gnu.org, abdo.haji.ali@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Daniel Martín > Cc: Al Haji-Ali , 62573@debbugs.gnu.org, > luangruo@yahoo.com > Date: Sat, 01 Apr 2023 21:56:33 +0200 > > This bug is a regression caused by > 07715630ad9df9cb681cbadecbaf73fc9c698061. (Adding Po Lu to the CC.) > > >From what I see, the font display refactor removed this code from > src/nsterm.m: > > - face = FACE_FROM_ID_OR_NULL (f, phys_cursor_glyph->face_id); > - if (face && NS_FACE_BACKGROUND (face) > - == ns_index_color (FRAME_CURSOR_COLOR (f), f)) > - { > - [ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), f) set]; > - hollow_color = FRAME_CURSOR_COLOR (f); > - } > - else > > which seems to be responsible for the cursor color change when the > background face color is the same as the cursor color. I can't find > that logic in the current code, so I think we miss it from the > refactoring. > > I've solved the bug by replicating that logic in the appropriate places, > nsterm.m and macfont.m: This regression should be fixed on the release branch, but the patch you propose is quite large. Can't we simply reinstate the removed code, and apply the changes you propose only on master? Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 02 01:53:01 2023 Received: (at 62573) by debbugs.gnu.org; 2 Apr 2023 05:53:01 +0000 Received: from localhost ([127.0.0.1]:39005 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piqeD-0001qW-67 for submit@debbugs.gnu.org; Sun, 02 Apr 2023 01:53:01 -0400 Received: from sonic312-25.consmr.mail.ne1.yahoo.com ([66.163.191.206]:43989) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piqeB-0001qJ-4b for 62573@debbugs.gnu.org; Sun, 02 Apr 2023 01:53:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1680414773; bh=0bhH9Z1B06Ix4RenNXcdlI4K/Fn5lH/o7ea6DWVliLY=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=Pk4ppLtQajsjV8ryKpr+uvk5khifSg5B9gUHSJuaLkZgQRAq6XIY1RUktXXZbfvSFUfj8X1o1gMESgD1K1t+SF+/31/nE1AnGdhWTmAWJ/9BWqV1JwCAzjzzxmezUH/tEEtK8vGgxICFyOYIn3zeLCCyYeakUGjTXLatNkZpmuvgBn3q2RK2nQbsN6vQeTm7ZY0yfPD1ump+3o4hy41ALUd7hsL5oeh1QJ8V9RazxoyRn5cuOFMGmzymBCpOjUfsezGJFCaqZo0BmS2mUHAWcKQ0hqGWcqpqyDO8T9nWAFFG1lzIQNAgrfpu+MW7416PB9cTUw7HAxlpZMNfgbhrPg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1680414773; bh=pdpIIEIr/N5rqTdMcMmq/wUcWkslloH9iLXJm70aozq=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=sjZW8OPwNPnvd47KFtQIj3WzqTFPfQrgr/lu4zIzDmOAxIu+30QmIM+g3BqIjZtaNzlEHbstVHThBRv3gjHbbHsZ/8nAIuguQvjzbCE+bbCQQ3ohIMGfkgH242muruLB6VQJLxz5yHjMgxTxfe6CHqhqQu6XL0G+u+2C8EJDJP6dnN2MTkHMoh8zqHbEK1lolNxftSxH9y/V8qC/IHTY2LW5vAuO6NtlEFa10AgmzRcbXMOcF8aCn39qQ1HxgmZnTRQjl1hzrjoLidF36bWZGMAuJo5UqLqGKlB3NzlB/tK7wAW8JuGJQ18TMAWACaenZZ4mSGX20Y3Acpa8JMae2w== X-YMail-OSG: srK.jhsVM1lI7fLpAG989K1UU3CqIm7zs_r1VTezjCtyaitVAPHw.qkDNYjIFtV kMk8bTZV0bBq5.Saz2Eak9y.l5gGRMxmBmzm5dqsyhWcK2ZgiXaQdO5TOvSykg_3XC13lDMeclxp TJeq75AwdOJJpHyNTPhY1ijXDsXhbD0RbIV6E0mU6a71R4AImt10bgYDKJeM62L4SDxwHpifdzJv jz1bSVWRBMg66g5oARnM9BJ.27YWMJcUvE2QGTJCNMGCdwlMZz065LCsd6zYIteBD2B_o2ah.Vg. vnp.6kQISoavNbwtb1wNeJrT3RmDlfXQHNTP_9UFYUxIjLWhb2jpjpO4IZqW_ybiNecbscwhr1qv vLeJ_a1QKj_Rs76uoH0idNb4aNxbXqhzSutMo4hoKDS5HGyWP29ZG_JkPTDljy.f.v9E6Qn3bkJu WrQAM6VxtgMAzVUQvq0IqFboTDpe66sYXtQeI3GEFYBlQ7BSu2gXJqd3Q5irkGobZc0U0Zhf8gl_ 0ZLjTat0.79sry9PUbW7AwZXCIltFNIpG6tfSXObzlMnLMlW7SfqNtpnb45rOCCxb3L012xcpbL4 AC44MP2yJE5n_z9AzCjPesvN4c4L0yU_p3VISuITZbkDN83.Qdg1fA1O8FsRilA8JLJvEY7YC_96 4h.1i6_qtqfFZZxV0htGw1.IaMYx2PvlNv4CMIHSnHG2okNjtcKg0EiSSbTbaBYaJvwyE5GHOjPr 9pWQFy58hcsGzhBebGR7Hcq5WKU8dbQTdmGPz8_z2beIKPncAMfGP_pd3_VG5AKXIwixRjqtiBIp AUQDxXvv.VX9dLZPr6r6UiQEOvtpWBjMohkRP1TbxnJnw48xQHQPgnZzrKhB_7BA3Rr7kmZaJzDJ I4KJCmwPhV52ramFaARZHU0B0KFrE84fzn_s9IEk8l2EK2NYJJjp77yOEtTWVHeVXlAjotxvLf8D emQmfRL5eaJG92kCdGDdQ0xZ3JnBf0ee5AWUz1_IrxrZ7T_lRJO6qzkS8qLWo8Du_tr1KzMh_LHf 9vcUPpPmp_yUZjJHG2EkS7HKatxKvqbRh2BCyv2iyHjJF.FcECy7Rnf_9Z7SBErsbMt.1HO9Xarb ppf3XGGgAxaaW7EIbw3V44w51iaucHaQCCC3M7jOEJh5qnq4..6seAt1GzdUBOyErzXLHaPfPjgR cFxAN.Xgcv7jfG3O6MS_vc_zdogRtvlA21YnswUSBprWJO5mAc5s3gdKAogH5aa7gOXXRr6kKnqC JWc4uHwY6SRwGBImTG53W80V5s2vzjLCKU8N8qsKjfdckcyPF.nfh.HwhmFLeWeCNI1k7wUxnTdY .m4Qpw06UeFK1sudd18TajM7pkEFdT2giyuB1wsuGZWeMnDpU_OVkX7wVHOaIYjEuI2ILqNFmHfN GtL0xX0eACvk3Jep3eHoIC8Njx4AjkEoadUWrqzsUPjVmxWDJ4wOF6ITNaEtNWr6C0RmcJqTpaCK rZ5hxxRSmvMYWkiGqxbHZPbs_25VPzbJZ1WdzL6k07MiYXPaz8OnHTrlTWsv7jKd3pDczkQ2m2EX onN2CgvPtcfsXaYjYoqR5Q8T244ikpTsEDGuOkV4FxNHvrsvmcaVxIYWki8QFRNHmwzmpywDn0TF Sv5obpQzatUtSTQnNSrqlr4eud8nkEVoVG.4D6JQeKkTFlUcS795jFFbiXuXZ5ySTbVFgcBnGshu wNvvFL04rAt.q8oTN_fqgdLJVdC6hMlont19wFWawc_tBGMYvv3n1MhEiO1JUmnfdr2RX0umYvYD noKl1nVUToItx0gAan5LRQ_uvADst53681UNkyflmZ3fCk0CQ1flqnkoL.wUXuLWxG9Y4nGRZ1RG Jth5H7bh3tsik.0gMP55zizhgVRMxaWlwHHQgcvx74JkltGgkT1ECtvOlIL9pfM5OT2IE3W3XaK9 fSVTkbE3iU5yzoWk79NdUkGxBhjP2HegrSuJCZzPWM21DAGeJli_CZ8_zMqJtSxA5C05mZ5bfrQP hW4N4owZUyG84frIuOf9qJnNzdaHhtElIIW6R3eJcGnndDcN3EZ9VdNT365Z4kQHl0RCRF3ZbhqO vIL7i91nxvXk2imW_Dn3kC9iYFy.6IT8xHwdFDDUssYcP3kWm27geSiaNZet35iMr2vwce3HbKlT 6D3ySCx7tsMmH0.z.O80pRKgsjgkGUY9LysByaRS96abXeIaNAh4nH757oqczUBVBgTLUzU_lZ9w hNm65sn5dJaoA1cASFTP3GhEGuNhzvvMM69CesVrWeQZfGZfF4Q0q2NCDyFPlyTwohN8- X-Sonic-MF: X-Sonic-ID: 98ff536c-c908-49b9-ab8d-29f0be8b10e9 Received: from sonic.gate.mail.ne1.yahoo.com by sonic312.consmr.mail.ne1.yahoo.com with HTTP; Sun, 2 Apr 2023 05:52:53 +0000 Received: by hermes--production-sg3-6d6fb994f6-q52kb (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 0764e3a48d44e4986157d5c8e496f684; Sun, 02 Apr 2023 05:52:50 +0000 (UTC) From: Po Lu To: Eli Zaretskii Subject: Re: bug#62573: 29.0.60; Cursor color not being inverted in emacs-29 In-Reply-To: <83cz4myio7.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 02 Apr 2023 08:09:12 +0300") References: <83edp420lx.fsf@gnu.org> <83bkk817rr.fsf@gnu.org> <83cz4myio7.fsf@gnu.org> Date: Sun, 02 Apr 2023 13:52:45 +0800 Message-ID: <875yaesudu.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 1426 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62573 Cc: 62573@debbugs.gnu.org, abdo.haji.ali@gmail.com, Daniel =?utf-8?Q?Mart=C3=ADn?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> From: Daniel Mart=C3=ADn >> Cc: Al Haji-Ali , 62573@debbugs.gnu.org, >> luangruo@yahoo.com >> Date: Sat, 01 Apr 2023 21:56:33 +0200 >>=20 >> This bug is a regression caused by >> 07715630ad9df9cb681cbadecbaf73fc9c698061. (Adding Po Lu to the CC.) >>=20 >> >From what I see, the font display refactor removed this code from >> src/nsterm.m: >>=20 >> - face =3D FACE_FROM_ID_OR_NULL (f, phys_cursor_glyph->face_id); >> - if (face && NS_FACE_BACKGROUND (face) >> - =3D=3D ns_index_color (FRAME_CURSOR_COLOR (f), f)) >> - { >> - [ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), f) set]; >> - hollow_color =3D FRAME_CURSOR_COLOR (f); >> - } >> - else >>=20 >> which seems to be responsible for the cursor color change when the >> background face color is the same as the cursor color. I can't find >> that logic in the current code, so I think we miss it from the >> refactoring. >>=20 >> I've solved the bug by replicating that logic in the appropriate places, >> nsterm.m and macfont.m: > > This regression should be fixed on the release branch, but the patch > you propose is quite large. Can't we simply reinstate the removed > code, and apply the changes you propose only on master? Unfortunately not, as that would involve removing the ability to properly display mouse face with the Emacs 29 redisplay. From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 02 02:57:59 2023 Received: (at 62573) by debbugs.gnu.org; 2 Apr 2023 06:57:59 +0000 Received: from localhost ([127.0.0.1]:39077 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pirf5-0003hw-CU for submit@debbugs.gnu.org; Sun, 02 Apr 2023 02:57:59 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55892) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pirf3-0003hW-Ga for 62573@debbugs.gnu.org; Sun, 02 Apr 2023 02:57:58 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1piret-0007vg-GM; Sun, 02 Apr 2023 02:57:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=ifyXz1YPE2rM555LP1yL5plJR/g5V7aRaR1gS5Dw8sc=; b=KinaZBsk5+oFRFIAb8A+ cSZ+fa61eICU2vHvkbGXQ0tlK8eVb2oQqv4dpWi/yFEGqm+szetT73/SdpcVFj00Y9X23IKqbbiNA EqFQw/oEUZczpRjZJyyasfLIO8s+JcBtPRw5qJb3AWeFTVJ7v7OA2HqRa4In9eKLIsHprx+QkFlcU I5gunyhdvttAl0I825QoOOri3DeI5A39Y4+S0F2gWy7L4h2r5+XIUAUYI+5uakqdzFQhRAkHgDKFA kX0gRLzYIM4JUqUdd03tWXWyooY59x5bEdXEK9mP8XxYcGejJTm5bpyg4hf4SJiCBw+Ij6fMXroXV /FPC3bYhEvQ+kg==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pirer-0005On-KI; Sun, 02 Apr 2023 02:57:47 -0400 Date: Sun, 02 Apr 2023 09:58:03 +0300 Message-Id: <83zg7qwz2c.fsf@gnu.org> From: Eli Zaretskii To: Po Lu In-Reply-To: <875yaesudu.fsf@yahoo.com> (message from Po Lu on Sun, 02 Apr 2023 13:52:45 +0800) Subject: Re: bug#62573: 29.0.60; Cursor color not being inverted in emacs-29 References: <83edp420lx.fsf@gnu.org> <83bkk817rr.fsf@gnu.org> <83cz4myio7.fsf@gnu.org> <875yaesudu.fsf@yahoo.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62573 Cc: 62573@debbugs.gnu.org, abdo.haji.ali@gmail.com, mardani29@yahoo.es X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Po Lu > Cc: Daniel Martín , > abdo.haji.ali@gmail.com, > 62573@debbugs.gnu.org > Date: Sun, 02 Apr 2023 13:52:45 +0800 > > >> I've solved the bug by replicating that logic in the appropriate places, > >> nsterm.m and macfont.m: > > > > This regression should be fixed on the release branch, but the patch > > you propose is quite large. Can't we simply reinstate the removed > > code, and apply the changes you propose only on master? > > Unfortunately not, as that would involve removing the ability to > properly display mouse face with the Emacs 29 redisplay. Sigh... From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 02 07:01:18 2023 Received: (at 62573) by debbugs.gnu.org; 2 Apr 2023 11:01:18 +0000 Received: from localhost ([127.0.0.1]:39277 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pivSY-0002TF-4F for submit@debbugs.gnu.org; Sun, 02 Apr 2023 07:01:18 -0400 Received: from sonic313-20.consmr.mail.ir2.yahoo.com ([77.238.179.187]:41645) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pivSV-0002T0-TL for 62573@debbugs.gnu.org; Sun, 02 Apr 2023 07:01:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.es; s=s2048; t=1680433270; bh=+HpyADOOmDFAIoKx6JIse4h63EtHJDJjb6unyJO93p8=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=k4J+H0cI5/sgWSm8Ejq2zN1ry925S6JgsJDTUs/3/MRUU9vDe6MBdf+bxPyfQ4ZqrB0biwdVO3M6q0tLWJevgmZTc2fWdCI1Bk7zL2xbYXCAcAJBZ9cHkNoprOlc54TWH+OiWUcB/Arimftjj7zGsX1hS6z+j4Sl4vBHOMmpohbYVOfETkEw50tEESaoYc/hmEa5gZP6TvvZr5qAO25zVEt3Xqs6VlRDDsf+UK9gPr9yhUAo31EMZoPRDphuV8yH0321ehaSXm44Xc9FXxT7PvalH8BD51W/UUKcH5FUR8a7knpocOtKugsbrC5XUQTBwLT7Wu7OeQ/kFcwCZZ/pCA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1680433270; bh=lzol4XeyeRrtHe5Pmv+KHiOyUJyjiViEmTQUco+Qib6=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=tEasrtflZKhV3iM4IEMz/K5Fw+zCZ9F4QQ9I2e6G8SAkdYjxlm8sCDwHA5fqCBg3HuJ9Fx4WVFFzVZrOJZ2hpy9OkOmyHbFGqZguseGw2pkb6PKxU4Q9eMUM+NWr1+7H6zegw7Bq2uDF4VSAuSS8DzwClTgcFZVtootvz6poG3oGJGp1HZOHDb44iwP717xMnLKXMClAfOQwc+ab6hG1hygyvrOIjAvUjgECLjtQ08z3m46XlUXF9eUEekh/fmSlalC3LyoAd/geWOcj+yYqqezf7BiMs8oCzyH4ez1oh084NP9C7eodM1xcriS2Vu47YgGAgfm+xPhaeKKI1SzqMA== X-YMail-OSG: PaUoVv0VM1kv3OWImK_Ok5YOixNrt_Z_FkMhDQtMzy4msfFxNayUkTbmoDSCpx8 4kVrO4R0T3kUPS6DAlUUlLUMu3.m26fIn.ri_PKY047GJrbb3Vcz978eCW6ZTmWBMo94t9wIJ_dd uBQqlUlqc0VyN6oLjTbSfHUHSnGOApcXDOdTKOcKhVFl9FQNOcJjXswBvT0h7seTY00br0lD0yzi _I5SaKU75FUzToll2cp8PjaVnI7fZtTvhDRtoZxCvlZNyHg5UnPSrLekCZiADRUQL305VN9EJ8TO PSDnGJ9x3z2LfaFvh8OsjBLGCJk9LecRdlt2NwUFrWtE_HJhpkCUJA6X3ZKXwjVHKr.za7rp5c_1 L5iRDGbGCs.PWE1vZqp2rEjhTg3WhhppbXAmcO_TOT4.NG7Cwxm0.HwIZnFk.z5zzjh9iWRRa7KA 4u1SNtA6rDPqND9p_YUNV9j0yhJ9D4t4LPkVaUwPcEYqIFOaTtmBEgpyFqbpCkZiLWkvPXXokxD3 UzIwZy1reUqfNqYJNzaKku8UqOk86k30sJTJ5CiYM.p4kzxADMVydTHgY.fHGulAAzSFtJO5kWGr kzoaqBPe0zNKhnQuu6naHMjLkDweqA0e2GiGZM.j9ux5yzgAt7PCjXSrB7dyg7IT_RBvHsa7k2zb oicjj2ZgUPJ4Gd_CX6OX0CjwgV3xmnzxD7jVzAXaSi1g.ayuLUBcVLK7RizccJGMWm1x8SAaaEAc kvzg0Gg47hDVPM3NlltR8lGQ.Whn6rsIBRkIq7ufuW8sMaDp802YtmKvKL7GXgqoPFcwMCdqDZNw O4JCbT84RzaKuEstjGiXvvI8d5WKKIfXmJ24Xx..v0DgnpqKpF1yHmrxVi85uITC7Sc_E7hyej9d GTdEJkIFl31k22au9Tr9Kf4WLfvcNOjGpze1DrTQ4bbqLLrQWUPNmy285JH1HpgS8iuqFHNrapjy yYtSOUORdLeuJl93w9bnXVbCqIXygqkhwHh5PsOhvb4jEWH7YuglCnEgePOONw19JlkVhjuPOb_B O4JwWvtq6_prDzDQR59zRoRqxOBO4E9eGMxvZBJNTwFbm7rdmEQCj0vg3Fmpn98_f7nhwdUWp1Hm OeMnskLbFV9Kl0xPYmKnL8VR9uX7axQ0GXq4Sh_jpoUew2Gf.xNnBeWBhzjpKXw_ZY.1cYEjkbBY u9gTqtutWrvVTOcVTzf.LmqYfTrciKR13W0vtCB.TbfyjBZ5kUPn8ITpc78ENIQH.579_LbKFKhv xkC4ATQz93hgbiYdYFOOw3_Y16yh0pHUfvjayIe409Ur.0RqViNsQMpT.pebI3W.vE0kWGRTE0qO j4JgwnXG0Fekd.hf75wrLmMm.qN7lJUtYtNXIClq3bVymXVTmA2PERVZsMuKXQkYIZcv4TH82vNX 3VHhxs_jVXfxTFnye6cADi7x6UCstBruwBDJote73emUxRCtv8WWgHOy7QGmIluLyLwspKPKMLjP Nf5PjE6F99.Eo.mDr9My1FL_ZmZFNlfvMTVXXMcRgyLGrEuSUJQiuaFUFaEfOVD2Jzj.Hmzm68KF z35lxfrX70IASFb42HRMq.sYOPQPGefzu.w5gG0OxSPoy9WUfRipFJz3NHDvFFw0HXVi5fs1J5SV i9DH_a4ZD0y_rbQ9SfvAWb4PRYdAA.UESOc9IcStfWWdQkupiZ28zBkQ9c6RHFpIrLVm92x1oiaL 8qcXUmAYhtYpLu5mXXb2qCWWwaqVR_f4YDd8u5kJdEVQu2ta5Is1j7ejzrS4U9TVL8NsVi4I3k8u dmQiOet8bgDbUD.by5JJzEK6AQpzkDPlaofGH82ziHxm9HMJRAI5X45H.F44HL5AJFmS4R7pC53W r0S9wV96QlKnuPqqHT4P8.K7E4XIG.Fin5gYFRTelCE92ZjhFlTcip_3SXEbpCOM0H3Oj_hmNNqU EekKa_PzakF8poSmITeWdnFnJkp1LOK_Phegw_Jgj890YT9QAP8IRIfV9Rd536o.AMO.74F6AyBr mhFwObw0iOROQb3yE8OvA23dvOr5Q3x.3aDz_yMmDWw5RWgEKRv_8gS_aIhm8kCi4gAnIg1bZyzj sskiNm_0x31ibyrogQvMGfKc_m.vV6ia8rjnqwGzZEE5AKIeQIpxmvQqRN3lC90fl78NV.6yYFT2 FOiZ9DNgbyP7p2uXpmSToloRyezG4jRm.UMhK7evjuENCvx3CzUtxs.v1Ddmo9nfLQzlKDONVzUL WQE_BKPogbLwSYi5YN1V0tyB2aFkpwdr9s3eJmM1g5eVYTQ-- X-Sonic-MF: X-Sonic-ID: 2aa85966-fea2-4eec-8a3f-59add0ac120d Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.ir2.yahoo.com with HTTP; Sun, 2 Apr 2023 11:01:10 +0000 Received: by hermes--production-ir2-74cd8fc864-tk7pl (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 8ca87c5bb948152b4451d46bb509e689; Sun, 02 Apr 2023 11:01:08 +0000 (UTC) From: =?utf-8?Q?Daniel_Mart=C3=ADn?= To: Eli Zaretskii Subject: Re: bug#62573: 29.0.60; Cursor color not being inverted in emacs-29 References: <83edp420lx.fsf@gnu.org> <83bkk817rr.fsf@gnu.org> <83cz4myio7.fsf@gnu.org> Date: Sun, 02 Apr 2023 13:01:07 +0200 In-Reply-To: <83cz4myio7.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 02 Apr 2023 08:09:12 +0300") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (darwin) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 1552 X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Eli Zaretskii writes: >> From: Daniel Martín >> Cc: Al Haji-Ali , 62573@debbugs.gnu.org, >> luangruo@yahoo.com >> Date: Sat, 01 Apr 2023 21:56:33 +0200 >> >> This bug is a regression caused by >> 07715630ad9df9cb681cba [...] Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (mardani29[at]yahoo.es) -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [77.238.179.187 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (mardani29[at]yahoo.es) 1.0 FREEMAIL_REPLY From and body contain different freemails X-Debbugs-Envelope-To: 62573 Cc: luangruo@yahoo.com, abdo.haji.ali@gmail.com, 62573@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Eli Zaretskii writes: >> From: Daniel Mart=C3=ADn >> Cc: Al Haji-Ali , 62573@debbugs.gnu.org, >> luangruo@yahoo.com >> Date: Sat, 01 Apr 2023 21:56:33 +0200 >>=20 >> This bug is a regression caused by >> 07715630ad9df9cb681cbadecbaf73fc9c698061. (Adding Po Lu to the CC.) >>=20 >> >From what I see, the font display refactor removed this code from >> src/nsterm.m: >>=20 >> - face =3D FACE_FROM_ID_OR_NULL (f, phys_cursor_glyph->face_id); >> - if (face && NS_FACE_BACKGROUND (face) >> - =3D=3D ns_index_color (FRAME_CURSOR_COLOR (f), f)) >> - { >> - [ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), f) set]; >> - hollow_color =3D FRAME_CURSOR_COLOR (f); >> - } >> - else >>=20 >> which seems to be responsible for the cursor color change when the >> background face color is the same as the cursor color. I can't find >> that logic in the current code, so I think we miss it from the >> refactoring. >>=20 >> I've solved the bug by replicating that logic in the appropriate places, >> nsterm.m and macfont.m: > > This regression should be fixed on the release branch, but the patch > you propose is quite large. Can't we simply reinstate the removed > code, and apply the changes you propose only on master? > That's the first thing I tried, but it didn't fix the problem. More code changes would be needed because, since 07715630ad9df9cb681cbadecbaf73fc9c698061, the responsibility of drawing the cursor now resides in the macOS font driver (macfont.m). From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 02 07:12:35 2023 Received: (at 62573) by debbugs.gnu.org; 2 Apr 2023 11:12:35 +0000 Received: from localhost ([127.0.0.1]:39288 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pivdT-0002qR-GP for submit@debbugs.gnu.org; Sun, 02 Apr 2023 07:12:35 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35294) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pivdP-0002q1-9E for 62573@debbugs.gnu.org; Sun, 02 Apr 2023 07:12:33 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pivdJ-0004n1-RK; Sun, 02 Apr 2023 07:12:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=EsHSRuwAm0fcZb6FK058AWZ4jEb7NIxQ28qr9omii9k=; b=axhV1k6Twaecz5ThAuIC ezn3ZPDdzQfVs+vnA/kQLKT6J9xuzXcfS25A1sHa8BzpWsQU+IlXHPNkL/w03kqYrSpYo6Aojh6zf Ylhn+oW8EwtPm6igXIPgQYI6ZmAIphgprS20srm8WpsnVsKOl01+Ge3SaJmrlyyc4mdtNAG/paZQ4 JiZNVHMDTKJfO5FZCMnu9Q7SpaiLbXZCUeXfIgo/JggtsC27stW2KnnrtXjJqdPWgfNorWKIJto/s PExDYLI4batu/qHCsfCWwHY8o/Y64DF6WlZbiEkhG5zpb7+hG7r47Ir5fNd+9yAhmjbiVh3k7EKoI 1RKGMW8f2zVimQ==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pivdJ-0006Bm-3o; Sun, 02 Apr 2023 07:12:25 -0400 Date: Sun, 02 Apr 2023 14:12:42 +0300 Message-Id: <83r0t2wn9x.fsf@gnu.org> From: Eli Zaretskii To: Daniel =?utf-8?Q?Mart=C3=ADn?= In-Reply-To: (message from Daniel =?utf-8?Q?Mart?= =?utf-8?Q?=C3=ADn?= on Sun, 02 Apr 2023 13:01:07 +0200) Subject: Re: bug#62573: 29.0.60; Cursor color not being inverted in emacs-29 References: <83edp420lx.fsf@gnu.org> <83bkk817rr.fsf@gnu.org> <83cz4myio7.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62573 Cc: luangruo@yahoo.com, abdo.haji.ali@gmail.com, 62573@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Daniel Martín > Cc: luangruo@yahoo.com, 62573@debbugs.gnu.org, abdo.haji.ali@gmail.com > Date: Sun, 02 Apr 2023 13:01:07 +0200 > > Eli Zaretskii writes: > > >> From: Daniel Martín > >> Cc: Al Haji-Ali , 62573@debbugs.gnu.org, > >> luangruo@yahoo.com > >> Date: Sat, 01 Apr 2023 21:56:33 +0200 > >> > >> This bug is a regression caused by > >> 07715630ad9df9cb681cbadecbaf73fc9c698061. (Adding Po Lu to the CC.) > >> > >> >From what I see, the font display refactor removed this code from > >> src/nsterm.m: > >> > >> - face = FACE_FROM_ID_OR_NULL (f, phys_cursor_glyph->face_id); > >> - if (face && NS_FACE_BACKGROUND (face) > >> - == ns_index_color (FRAME_CURSOR_COLOR (f), f)) > >> - { > >> - [ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), f) set]; > >> - hollow_color = FRAME_CURSOR_COLOR (f); > >> - } > >> - else > >> > >> which seems to be responsible for the cursor color change when the > >> background face color is the same as the cursor color. I can't find > >> that logic in the current code, so I think we miss it from the > >> refactoring. > >> > >> I've solved the bug by replicating that logic in the appropriate places, > >> nsterm.m and macfont.m: > > > > This regression should be fixed on the release branch, but the patch > > you propose is quite large. Can't we simply reinstate the removed > > code, and apply the changes you propose only on master? > > > > That's the first thing I tried, but it didn't fix the problem. More > code changes would be needed because, since > 07715630ad9df9cb681cbadecbaf73fc9c698061, the responsibility of drawing > the cursor now resides in the macOS font driver (macfont.m). OK, thanks, understood. From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 02 10:40:10 2023 Received: (at 62573) by debbugs.gnu.org; 2 Apr 2023 14:40:10 +0000 Received: from localhost ([127.0.0.1]:42444 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piysM-0005xW-HT for submit@debbugs.gnu.org; Sun, 02 Apr 2023 10:40:10 -0400 Received: from mail-wr1-f44.google.com ([209.85.221.44]:38907) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1piysJ-0005xF-Na for 62573@debbugs.gnu.org; Sun, 02 Apr 2023 10:40:09 -0400 Received: by mail-wr1-f44.google.com with SMTP id q19so23756644wrc.5 for <62573@debbugs.gnu.org>; Sun, 02 Apr 2023 07:40:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680446402; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:from:to:cc:subject:date:message-id :reply-to; bh=YnIFNkQxl+bcjE3insxFPWYeV2x5MlynYlLaHsM34m0=; b=NDqMZi1omOywAp1NerVYk8luvxQv+s6njMe0E9Sm+z3KNePer44VwhwqxEzJPf6MEs 6oWKTGlR4zaxw3bWVWFeCLVluCx+6TnzvARHIP28LA6ltWeLsCFKYDNcl5KQlAXj0br0 xKVe6eUQfaTd+jNJFSu45a3LPvNpQUnWAzAKlRa29gPIgq/fOD/OGEA6qVejdmuT02ZJ +HuOTEVLAeMEAkp2cV3FuGpJJHyQGAhCJzLHIVOqJC2njnCJ3sVFXuvBV9dNjowJchZh LKF+B1gh8jsCmhwX9/9lYF/oYxUCfMOBaBhIdiHlqXFGCMt6nRVY8iYyfzEmlzmRgbIT Ma1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680446402; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YnIFNkQxl+bcjE3insxFPWYeV2x5MlynYlLaHsM34m0=; b=Gm7DhR1eQgv3CjB0GylbFPPk2pX3hRXpdIzehFrBjPuLP4jG8Sq3ZYdf1/kdD5k3jZ SBM/r/8hSgeynSOC9JGdg2PuL7gKqm5qBk+epyphAvO606bAHecuCi8yBGuCRJQzxc0x KUomBIWKr0d2pNxH8X21ukDOIgfDSzNA5bjPPlaUmMzhwpqObbzS1rK8MSbJjDjSwLKq sB0Ekyc+dFx+kd1QSu+pgnY892LBK80tL7Ry2zkQ6KtAkBt1c3HVKUfnabbjsJRnv5oK JzvTRdTFbvJsLixWm7VKKIa1ZShpTIBeoYIb/MjUqykBMJ7Uj9Dudomglo+FbxAXx22r 5GLg== X-Gm-Message-State: AAQBX9dWFJ4tEbxtzZ1gPa0hq3MfbIqt8ZfTCNZa+wxqNH1MW+aKwnxR 4wOYDtV328TCUQ18sqKXglE= X-Google-Smtp-Source: AKy350aV4puA82TNPDCyh6iuvp7lP+WdhkQiGeY/XhKtybklAdvI75kdhdcF9kBrClntrVNWwo8ukg== X-Received: by 2002:adf:db0a:0:b0:2df:7c0a:df33 with SMTP id s10-20020adfdb0a000000b002df7c0adf33mr19744089wri.30.1680446401487; Sun, 02 Apr 2023 07:40:01 -0700 (PDT) Received: from localhost (sgyl-45-b2-v4wan-165314-cust948.vm6.cable.virginm.net. [92.236.87.181]) by smtp.gmail.com with ESMTPSA id h6-20020a5d4306000000b002c8476dde7asm7352026wrq.114.2023.04.02.07.40.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Apr 2023 07:40:01 -0700 (PDT) From: Al Haji-Ali To: Daniel =?utf-8?Q?Mart=C3=ADn?= , Eli Zaretskii Subject: Re: bug#62573: 29.0.60; Cursor color not being inverted in emacs-29 In-Reply-To: References: <83edp420lx.fsf@gnu.org> <83bkk817rr.fsf@gnu.org> Date: Sun, 02 Apr 2023 15:28:58 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62573 Cc: luangruo@yahoo.com, 62573@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 01/04/2023, Daniel Mart=C3=ADn wrote: > This bug is a regression caused by > 07715630ad9df9cb681cbadecbaf73fc9c698061. (Adding Po Lu to the CC.) > > [snip] > > Could you give it a try on macOS and GNUstep? Thank you. Just managed to apply the path and it does seem to fix the issue for me. Thanks! -- Al From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 02 17:24:27 2023 Received: (at 62573) by debbugs.gnu.org; 2 Apr 2023 21:24:27 +0000 Received: from localhost ([127.0.0.1]:42847 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pj5Bb-0003Ek-D9 for submit@debbugs.gnu.org; Sun, 02 Apr 2023 17:24:27 -0400 Received: from sonic309-25.consmr.mail.ir2.yahoo.com ([77.238.179.83]:41632) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pj5BX-0003EV-R1 for 62573@debbugs.gnu.org; Sun, 02 Apr 2023 17:24:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.es; s=s2048; t=1680470658; bh=4ScXLc5oCrpj+s73oLd1T5d6PJGruGIrVv9DJZ9q39c=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=TFzO8mqPzGr3bP2L8V/oalfDcBdQUkMe92zDBg8oT/TaUJ5Ynyt7e555ZXDUGryT8JJPM14ZnG71p1wS9wLYlv6EEdvIUyBZ5jFPSxHKIcewk9NNs72H0G6Px/n23tQ4DgMB3JV0Sl9QIOOqmj2BFIxEkXc1EqC52GJlCg5mn4Nw+w6YpbZ/UmTBZ74Yc4VDZ17e+qjUrLw8/s5bElPgkDT8UjeC/f+TDk8dK7S1T6Nq4f6fydV+NT/SurGx2LFth6Rrhqq68mA22qm/2lh4qv/NtkKf2t2KqAeHVyU+IvfDA3XUi2AyaNpIwGvqrpjETx0hRg5/wjoMJqKUbbD/AA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1680470658; bh=TOTtMKn/uDhekYKfUEKvAjMfcuGNTgm9NU6FRxpRAMw=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=aJdH5EPQvEecNUEcekKFoHXW1ygtAtI+T8A/RQKNnhgGWOjEoUhTcN5ghTvI6Zjzu809RhFRl3AEQ2mFJPQNRo4vtIsOLmYX6wwoXwaHFoOR32t98wHSe4VLqqk2AMuXx/1svczFJ99xpUNKEaboJfZ6fwzUe0exNtwRH0cCLb/H8DutSPxpCqOyxN75UdARyzlUChtsB/E+K80/+464WL/xWYMYyeuMZoLbVt/aHZxmKrXUfnk3G/ZscPbikewjVcwYaQozojvu6AqigViQ9TjZ6xUzBkC/LiqYThe4m31eLeJSlUyJ8lEhLSQguIfvx6Ohgcfbl9ioTej6u4/qcg== X-YMail-OSG: 2sYyT_cVM1m30lOhP3KjgrFuGZvMVttmVZXAuo2sm0IP.7lJS3P8vO4hl6TGpAw _OjaE.7vgb9aTD7NZKMdF8k3qQyRmWgQjFqNklLzocL6HXWXTlvRuZo8Xaf6frNkmeDQCrto7FVk 5NPOBAV2DIoNVRPAMKoZUFDuywMHy3jJkSeuSCbjm0.X_4V0F16bTUW3nyPMcsYW5WOqM1pTDb29 IzOBDP_pIvmKKrTjCZFDr0644LzUTSyM2ndcYhz2opps3Ik.kc8HS3hYlXVxDBdyfEYsPIc5EYj1 EJ5JFHGZg6pPnLhu9tYF6odsTtpztMAnmQHRPL7EDa8fuEJTtwmzUW84LoWS4D9QimaZioqc6dwG rGm.w3vg3wVda4O40S5RN6tERys7F6UYXy8dyG0rBBJP339TfyhZwnqMiLDla57CseDl.I3ZPMIG 1DydvDUlQu3HtKEEw8EHzsUYi07hUHjdQOidymOhS6i1qcKBLltfPEBbgaClZA9iRVXtG_6NF9P4 N1uiR5YswAkpeDfkz69g_XiDuGzugRNwpeDdhTrTWUfwhqutnHAEeVB1n4bDYWf06blixaG2ni8g t.gMHkq3TVRL.rc2gXF0Ggf2jYHHxPfaXKgg7mphRb.K3jkx4J1rpWwFVqwvxpFpKhT1T4GBDH3n 5_R5WKUbU9U5JBJoyzU.EBWeJ2zJRE3ZKY1cI4tXwT7ghfQIUuPDiF7CCr2b8hUT0WF3R1ocCpT3 7FNl4hWp8KtHju8qD0aHFD9R0WTLvUIIe9CdwGM4QQ918_B1ZOgQAY1xzqPS3covujIFzAwIop8f EbC69ih1GKXFZbAVcO3N3jgIxOAS5qofTo_NSLf8YL9TXiXEJMKUIJFK_vXxkvRuay1KZEdTrmom QV.M.FYruoZylgRG2TjanncoLhX2tJ6Ser.EOdr_uiEEkvCzeShxJRDcABpI.DaWxKbeNrIlPy6J xdHPQLXq.arAbkQqhP.0q89XzavVoQvNf5WaytX_KmHfb_hwuBF3kUC2MewtqVUVKa0m2RNcqR7W k_q9cjMpA2XYCCXAS8i1FFCEKr9gR6WrbSJHzVP5pH58mo1Ri3x.TeqVaoHceceNzdJzeIqjFXUo U08_LsbwDeLmckYonPFNqfVLus_hTI57nemRXDb4mVrjKpqGGteuaGs5w2wHUir5ymtg1I7nwzM6 hPDJ8RWsWp2dTLwe9IwYih3fxSXXqixmFZa7dcQUxNMznLZwdyP65yOQ3HyaJmOo1GUitm7PPzMT Zv_O.i1Zu43GyWKs8.GBn9YCCRQKgaH_dLq_wd0ZnOaKhOH3.PUyJZE0O.QkYqBHX3cc433W9ISS aC2rG7VgIwE7s86O_Wgs0S4zlW6Ftn0xvr9TKelxxrplBocRkKTF7nEdHfIjQAFzk74ATpFoSC_u qmUhfoIxPa2jZh2e7zwDiIILmVTIGu9RjmhMj8BLC_Qtf6meJJv8sgduOv4F5.UvQlwWols_RJ_Y WMsta9KltHNrBqd.KCqal.d3weQzoUa2J2Y0zSXmPzWsH0aZU5Q7LovaTHijjUDC7V0Zm0mykl6E wAtS4GqV2aipAb3FJvtrH69tZ6p8tRxv0APPUecwdB4tjquvXEd2EbU9r8N8agUCRufS__OjTJbb w2l5jwgfl54DmZA25nvDsw_8IpWfxyZNha5laBcZY65ziURSzNmkRvZ9TiaaYlDPJMfuN_eo_DPk JGPehf0W6FI6vwRNdC7aYV.D8XjnfeaVUV_gNJBXjako9kwSomVbJFd9c57eYMBj6_Xi8rBtYq75 mm.dcXzfycjNb4jVj4S_GOrYvJOM6zRbi_gmm2lTILY6f9gaRli2.hM5UmyI7rjADeu6a25GfCMC NkoazISUz2960pjpXIh4yFIc2jkOfBbAB_iP1w8fhbXusJ4DIrDAs2makpOdhk6GZ82YuiEheK2T SL40xTOj5BdsZ2jLEZQKUyv_hhStNWJiFT_dM1U83hBHvGQIendaQOM.DOPf5XFCbarOQXz9liuS GbBofAWBIPG3lOEVqGdCpQjSdEHtUuxz2wDNV4juFYwLpJiQIJwR3UYcllaPhKzk6lUEF9X_w69w UZWvsTq69U65tSbTLWnNC0gyIZqc2R__rPWsG2fSHEST7cyAWHxfdhX86kj7d95.5RlRZeYD6HkB 3HBTlbFr7x3S8vhEKKPed6qiHoYqj1zUSkahiAqGQy8v_oKCI19D_08qf2aBiF9sWma1OeNk0X5z uNDRZQ.VTLLOtU1tTCT7gnOu7__0oiPcWqRVS3fE8hRyG X-Sonic-MF: X-Sonic-ID: fd139522-47cd-4041-8a93-b5c6fa5eb26e Received: from sonic.gate.mail.ne1.yahoo.com by sonic309.consmr.mail.ir2.yahoo.com with HTTP; Sun, 2 Apr 2023 21:24:18 +0000 Received: by hermes--production-ir2-74cd8fc864-jl5bm (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 85228670b14f7496d640058656ac9a72; Sun, 02 Apr 2023 21:24:16 +0000 (UTC) From: =?utf-8?Q?Daniel_Mart=C3=ADn?= To: Po Lu Subject: Re: bug#62573: 29.0.60; Cursor color not being inverted in emacs-29 References: <83edp420lx.fsf@gnu.org> <83bkk817rr.fsf@gnu.org> <87mt3rru3q.fsf@yahoo.com> Date: Sun, 02 Apr 2023 23:24:15 +0200 In-Reply-To: <87mt3rru3q.fsf@yahoo.com> (Po Lu's message of "Sun, 02 Apr 2023 08:44:09 +0800") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (darwin) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 7428 X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 62573 Cc: 62573@debbugs.gnu.org, Eli Zaretskii , Al Haji-Ali X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Po Lu writes: > Daniel Mart=C3=ADn writes: > >> I've solved the bug by replicating that logic in the appropriate places, >> nsterm.m and macfont.m: > > Nice, thanks. > >> + CGColorRef colorref =3D get_cgcolor_from_nscolor (FRAME_C= URSOR_COLOR (f), f); > > This row is now wider than 80 columns. Please wrap it. > Alright, I have also extracted a couple of macros because there were already some macros for similar code patterns. >> struct face *face =3D s->face; >> if (!face->stipple) >> - { >> - if (s->hl !=3D DRAW_CURSOR) >> - [(NS_FACE_BACKGROUND (face) !=3D 0 >> - ? [NSColor colorWithUnsignedLong:NS_FACE_BACKGROUND (face)] >> - : FRAME_BACKGROUND_COLOR (s->f)) set]; >> - else >> - [FRAME_CURSOR_COLOR (s->f) set]; >> - } >> + { >> + if (s->hl !=3D DRAW_CURSOR) >> + [(NS_FACE_BACKGROUND (face) !=3D 0 >> + ? [NSColor colorWithUnsignedLong:NS_FACE_BACKGROUND (= face)] >> + : FRAME_BACKGROUND_COLOR (s->f)) set]; >> + else if (face && NS_FACE_BACKGROUND (face) >> + =3D=3D [(NSColor*)FRAME_CURSOR_COLOR (s->f) unsi= gnedLong]) >> + [[NSColor colorWithUnsignedLong:NS_FACE_FOREGROUND (fac= e)] set]; >> + else >> + [FRAME_CURSOR_COLOR (s->f) set]; >> + } >> else >> { >> struct ns_display_info *dpyinfo =3D FRAME_DISPLAY_INFO (s= ->f); >> > > Please write: > > (face && (NS_FACE_BACKGROUND (face) > =3D=3D [(NSColor *) FRAME_CURSOR_COLOR (s->f) > unsignedLong])) > > instead. Done. > >> Could you give it a try on macOS and GNUstep? Thank you. > > Works for me, thanks. > > P.S. I think what needs to be done is to make the NS port keep track of > glyph string colors through GCs, so that the relevant code can be easily > synchronized with X. Yes, I agree that we should refactor the code to use GCs in order to avoid these differences with X. Maybe I can work on that and suggest a patch for the master branch. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Change-cursor-color-on-NS-port-when-it-matches-the-f.patch >From f824d2e59921f14aa61ece17e8401c8a47c77d5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=ADn?= Date: Sun, 2 Apr 2023 22:39:44 +0200 Subject: [PATCH] Change cursor color on NS port when it matches the face background * src/macfont.m (CG_SET_FILL_COLOR_WITH_FRAME_CURSOR): New macro. (CG_SET_FILL_COLOR_WITH_FRAME_BACKGROUND): New macro. (macfont_draw): When the cursor's color matches the face background, set the fill color of the cursor to the face foreground. * src/nsterm.m (ns_maybe_dumpglyphs_background): When dumping the background of a glyph string, apply the logic mentioned above. (Bug#62573) --- src/macfont.m | 32 ++++++++++++++++++++++++++------ src/nsterm.m | 20 ++++++++++++-------- 2 files changed, 38 insertions(+), 14 deletions(-) diff --git a/src/macfont.m b/src/macfont.m index d0cdbcd08c7..a582bc1e38e 100644 --- a/src/macfont.m +++ b/src/macfont.m @@ -642,6 +642,20 @@ static void mac_font_get_glyphs_for_variants (CFDataRef, UTF32Char, CGContextSetFillColorWithColor (context, refcol_); \ CGColorRelease (refcol_); \ } while (0) +#define CG_SET_FILL_COLOR_WITH_FRAME_CURSOR(context, frame) \ + do { \ + CGColorRef refcol_ = \ + get_cgcolor_from_nscolor (FRAME_CURSOR_COLOR (frame), frame); \ + CGContextSetFillColorWithColor (context, refcol_); \ + CGColorRelease (refcol_); \ + } while (0) +#define CG_SET_FILL_COLOR_WITH_FRAME_BACKGROUND(context, frame) \ + do { \ + CGColorRef refcol_ = \ + get_cgcolor_from_nscolor (FRAME_BACKGROUND_COLOR (frame), frame); \ + CGContextSetFillColorWithColor (context, refcol_); \ + CGColorRelease (refcol_); \ + } while (0) #define CG_SET_STROKE_COLOR_WITH_FACE_FOREGROUND(context, face) \ do { \ CGColorRef refcol_ = get_cgcolor (NS_FACE_FOREGROUND (face)); \ @@ -2933,9 +2947,12 @@ So we use CTFontDescriptorCreateMatchingFontDescriptor (no { if (s->hl == DRAW_CURSOR) { - CGColorRef colorref = get_cgcolor_from_nscolor (FRAME_CURSOR_COLOR (f), f); - CGContextSetFillColorWithColor (context, colorref); - CGColorRelease (colorref); + if (face && (NS_FACE_BACKGROUND (face) + == [(NSColor *) FRAME_CURSOR_COLOR (f) + unsignedLong])) + CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND (context, face); + else + CG_SET_FILL_COLOR_WITH_FRAME_CURSOR (context, f); } else CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND (context, face); @@ -2949,9 +2966,12 @@ So we use CTFontDescriptorCreateMatchingFontDescriptor (no CGContextScaleCTM (context, 1, -1); if (s->hl == DRAW_CURSOR) { - CGColorRef colorref = get_cgcolor_from_nscolor (FRAME_BACKGROUND_COLOR (f), f); - CGContextSetFillColorWithColor (context, colorref); - CGColorRelease (colorref); + if (face && (NS_FACE_BACKGROUND (face) + == [(NSColor *) FRAME_CURSOR_COLOR (f) + unsignedLong])) + CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND (context, face); + else + CG_SET_FILL_COLOR_WITH_FRAME_BACKGROUND (context, f); } else CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND (context, face); diff --git a/src/nsterm.m b/src/nsterm.m index 46007ec4fcb..637bc4b6419 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -3750,14 +3750,18 @@ Function modeled after x_draw_glyph_string_box (). { struct face *face = s->face; if (!face->stipple) - { - if (s->hl != DRAW_CURSOR) - [(NS_FACE_BACKGROUND (face) != 0 - ? [NSColor colorWithUnsignedLong:NS_FACE_BACKGROUND (face)] - : FRAME_BACKGROUND_COLOR (s->f)) set]; - else - [FRAME_CURSOR_COLOR (s->f) set]; - } + { + if (s->hl != DRAW_CURSOR) + [(NS_FACE_BACKGROUND (face) != 0 + ? [NSColor colorWithUnsignedLong:NS_FACE_BACKGROUND (face)] + : FRAME_BACKGROUND_COLOR (s->f)) set]; + else if (face && (NS_FACE_BACKGROUND (face) + == [(NSColor *) FRAME_CURSOR_COLOR (s->f) + unsignedLong])) + [[NSColor colorWithUnsignedLong:NS_FACE_FOREGROUND (face)] set]; + else + [FRAME_CURSOR_COLOR (s->f) set]; + } else { struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (s->f); -- 2.34.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 02 20:07:42 2023 Received: (at 62573) by debbugs.gnu.org; 3 Apr 2023 00:07:42 +0000 Received: from localhost ([127.0.0.1]:42954 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pj7jZ-00085T-UB for submit@debbugs.gnu.org; Sun, 02 Apr 2023 20:07:42 -0400 Received: from sonic307-10.consmr.mail.ne1.yahoo.com ([66.163.190.33]:42965) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pj7jX-00085B-Av for 62573@debbugs.gnu.org; Sun, 02 Apr 2023 20:07:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1680480454; bh=RTCc9CSyaFDrW0THSl8Y8uAcQr9ldNVq0Lj+JRWND54=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=fby7eH/QlQe+GoUMaBV3Fqywxm9WAjFWOcpJNIpNvI2obHdfG9BXVu+V9Ii0r6w5AFyb/zorEVeV3IbXSrRE5tlR8MhgxXiW4HS0Wz7ip1fIm8WRJy/S9JBj5V37pasdgwt9lG+hklIffAteZhHIkZ98dgbGUSWy2l5HRditSLRHucwcPoesVCI3PI3gcY+lpU6IrXExOl8D2e9qGK92lk4lhZiX8VX0sKp87c+tmrVNC7Cq3ZqAOzYRhNnUAWCJBI7lJvm+ZmGIM/s2RnIADF0kyWe+sgt4RkJprcY6Yghnk9ZCgN/urdeb6rckk/f8oJeqh8lOhKrBfKTYAugWCg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1680480454; bh=A00EsqB1GXr3xOXZJ0Lo5JbeMl/Jb9+VkjIpMPtOg5N=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=gmlRhS6D/p4SQ5EYAJKyu487PlGPfQKXa7+6ZDz5ceb96ckD/9zbOtsUZyTzVzx0W9t/vCeoPAx7E16c5SSwBV5p3kONM7iGELLftCIZ/g68ekZt2FAIZkqwW8Lr0pS58QDGnHC9r74PoY6Yb9XP61BfXABC5GNVV5BcNPQ6GtVSNLJLY2YEAWEmsyFRysXnXRnyAkpV3ryHY6Ps1AvNMf5dukoTCa+vO7DldwGE8ggX2Q/NkP7sCOtbWTVlqTa54xzebFV0+8wVSVtO73UZU9U4oLaxAMzlkZ59sBAuOSonXrIAT4TmIwF4Rxj8lm7c+bbBbU0CgNV1aCBAOCOl1A== X-YMail-OSG: SA4h_PoVM1lE6jmKzACrea5GmC2P.ouJ6zAA1mxpPATFjNYSp28bPkusDA5RZ6g rFFAyH6FA6M4HyIx4J_x8LYKrIuOWstyH1oeVcf7uUQfumsvjGuHfSnHCBYKpRUGhB3N7yvwQkKV 8f73Zd1lSYTYDGPqo9fDF26ts69Rlh3X5w0T.xo8MTuo3O8aXiXT90mhf29fZtnGOpaM3mlOnf4q 7tyEZ5SpkSpmivEQwyv7lKGqP_j9jztAXybcbDJ5RJxNgGhQYbcAiin_39FcT4nEP8Rk0MEBOQ1f u9pu1iqO8wPbe3fiCwbqsCCxOl9Ey59aQ3lHhw4qOIcKcJXThdY.PQDSSKZq2F27D3C27G7x3O8H .FbeHMuh0k8LviEBTqSdTteQwMbyknFWfnLJbpz4Vc_dvAHfFS_3apvznI0mV9oWwomR0mYDiMGb bKOrFXX.o6zE3gvcoXC3RUEzGRFgYd4YLo2sh2FHbkhn4X7bC9Qae480GHFyl0prIkI.lVal0W7o phBlEmJxYhX6BYlensQBoMKG0u5wHO0k0KrzL63ZEGzX9fe.7g5xXYO3B5rbJY7GCDV2BEnCYiYk xmwUkw6ahaHB1Xu.Pp6PhsCiwBiYkhtIr_Y6E0FwXykuGsZxnqmxQEadlB1_CESU7SESp327W_F6 GBgdbbXd4Z6qb_L1KnIRaz8CdGbhZxHdeAKcHww_RAJHILLsrVK8RmTcBoFa7h3GR2IjZhDp6o6K .TK99HQo.HADfaCMNU2U9PYQ_cRmLCzer0f0OVy.BY9.EYPySG1e482LefuFDklnrrMuY8HzKdoP VWFuEO1Z1xXauxrZsJcBQnfQCqHcL.q8yTjBx6p42moZCM2g33CIClmH.GCaWKxCzPEIcqsl51cE 2zYuZNhoSz3EK.swQiBJp9Wpwv7T__BFBdAi4YrmiEMSBQa.aTaohGs2VHXN.4taUtPNaj7mUyJa KqSvY9zgYZYb86fbnpcAsV.MZujsMQbY93i3hpfmdxGSLVpv4GXhwXQk7EOqTcM4.qthGusAZURM 4N_vI6h6bHWYA_E0Lfyz9zemSJoSUcn4MOTMapxegvzpnauUCYaknhL.sRfc9rGcg9x6Bm45NKHQ XmAUWMvoGoii8x6YYSpnHPzJz3bbn0YBnOEpfK8syOh9JcCMqpfY8wisJTejmdseeBtYuTp6m3jt 0CPu9apN8mIX_RHlRBTV6XHKBX7ujOr1lhJSdz45sTwEdxgx.H8DwFBspjUGEBZGOQ9gbhBtrtyA pH7NVXCSUOhzN_jgmmqOxYN6Q9YL.ClmYVCSEx2oCPBEXMX_XdiRwvm1HoEpbE6STw4YTdaMkxT2 GWRz0u.OhOkuNYI4PYzY3aip7u8sZMmgwQgV95o9A402myk4SbQ1Lri72JJ3U0pGbiwpRQczXM9o ilVFZNPYZX.6STPchdcIM3WkiLGqNRT7a3EALNJ14XXzm9jd8_pQV1v2oPe9DrSiZHMUqKrBDB4M f7DYiPm2FtHfXfw3eNVF2WQZpOHHNK..6_T2Ot.IT6mNlLVcPTjUb_UPPcm_8aYvYgjzO2KsjsDj rpOrk_LM4Vp7RKAGhFHV29bjPzYAhky5fUjQQxlowg6_..EhSX80JC_6k5On2GLCMAjzondcY4U5 4SNkQzKKCO_auw1KYNiHnzWyDF4iMOHp3JbLTmAdZpi5kjDuLwIDBXAcKWUHVquZJs.CXXR3Gy6K Zw1yjYNVhNZRpN03XdC3hzSsw5Kzt9NrJrOiVlk7G8pjQSSP.FIMSDRuDOz8nb2lxFPkzb_3vr7K ryjOQriKVZB4WNmBAlBiDFx_gHFyvcYH6Aevd8uJSGwSo9tKGFR.8TDb3ImGty3SmnxqSVBNbs51 J2FAiFIFLVpSZr1whpm8FWZAEsUXDUj370DOOeYE7aYI8oE39fAjFp4F3pDRj8AWV4l0oKQHRzUA LJjm0Lc5Y4dFQEPkyFxlIZ2k_RwqG8mwgI1PawNsGTPHes11CjDDnneWssT7zYXsz38603o8cYyE 34Q2.mCQWK4yNkPRdj16E6bI0wstGXtzR_BCqw1yLdCJG1cP_QIbNLyixGixjFtGfsM3a4a.7PT8 k20vft2yCaOKtf6P7aJOdIOcOzH79MXBZenhIXOR7p3kS9OiJGgCJLC4qRSamlt7DO.ku0JH.2tm Z47N1wCX6DkKVjz4tQ0uRWggyALGMSLAvDPSxT98ru76V0ZWuOJVwZcZqeR_5viued.rpLeBAdMJ DikL1WKSgwVsGxlqBU2jhgcqF23AnR.cfZtyBkmmoJQl5_YSjOq_ccbLXv0yjag1eXQ-- X-Sonic-MF: X-Sonic-ID: d6f779ee-256e-4947-80ea-c248d22c4c0c Received: from sonic.gate.mail.ne1.yahoo.com by sonic307.consmr.mail.ne1.yahoo.com with HTTP; Mon, 3 Apr 2023 00:07:34 +0000 Received: by hermes--production-sg3-6d6fb994f6-q52kb (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 6d3e322f245f96a09d8c20895e1a0cb0; Mon, 03 Apr 2023 00:07:29 +0000 (UTC) From: Po Lu To: Daniel =?utf-8?Q?Mart=C3=ADn?= Subject: Re: bug#62573: 29.0.60; Cursor color not being inverted in emacs-29 In-Reply-To: ("Daniel =?utf-8?Q?Mart=C3=ADn=22's?= message of "Sun, 02 Apr 2023 23:24:15 +0200") References: <83edp420lx.fsf@gnu.org> <83bkk817rr.fsf@gnu.org> <87mt3rru3q.fsf@yahoo.com> Date: Mon, 03 Apr 2023 08:07:24 +0800 Message-ID: <87ttxxrfpf.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 4411 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62573 Cc: 62573@debbugs.gnu.org, Eli Zaretskii , Al Haji-Ali X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Daniel Mart=C3=ADn writes: > +#define CG_SET_FILL_COLOR_WITH_FRAME_CURSOR(context, frame) \ > + do { \ > + CGColorRef refcol_ =3D = \ > + get_cgcolor_from_nscolor (FRAME_CURSOR_COLOR (frame), frame); \ > + CGContextSetFillColorWithColor (context, refcol_); \ > + CGColorRelease (refcol_); \ > + } while (0) > +#define CG_SET_FILL_COLOR_WITH_FRAME_BACKGROUND(context, frame) \ > + do { \ > + CGColorRef refcol_ =3D = \ > + get_cgcolor_from_nscolor (FRAME_BACKGROUND_COLOR (frame), frame); \ > + CGContextSetFillColorWithColor (context, refcol_); \ > + CGColorRelease (refcol_); \ > + } while (0) Thanks. The GNU Coding Standards split expressions, before operators. So this should read: do { CGColorRef refcol =3D ... also, since you put this in a separate block, you don't have to worry about shadowing, so there's no need to use names with a trailing underscore. > #define CG_SET_STROKE_COLOR_WITH_FACE_FOREGROUND(context, face) \ > do { \ > CGColorRef refcol_ =3D get_cgcolor (NS_FACE_FOREGROUND (face)); = \ > @@ -2933,9 +2947,12 @@ So we use CTFontDescriptorCreateMatchingFontDescri= ptor (no > { > if (s->hl =3D=3D DRAW_CURSOR) > { > - CGColorRef colorref =3D get_cgcolor_from_nscolor (FRAME_CURSOR_COLOR = (f), f); > - CGContextSetFillColorWithColor (context, colorref); > - CGColorRelease (colorref); > + if (face && (NS_FACE_BACKGROUND (face) > + =3D=3D [(NSColor *) FRAME_CURSOR_COLOR (f) > + unsignedLong])) > + CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND (context, face); > + else > + CG_SET_FILL_COLOR_WITH_FRAME_CURSOR (context, f); > } > else > CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND (context, face); > @@ -2949,9 +2966,12 @@ So we use CTFontDescriptorCreateMatchingFontDescri= ptor (no > CGContextScaleCTM (context, 1, -1); > if (s->hl =3D=3D DRAW_CURSOR) > { > - CGColorRef colorref =3D get_cgcolor_from_nscolor (FRAME_BACKGROUND_CO= LOR (f), f); > - CGContextSetFillColorWithColor (context, colorref); > - CGColorRelease (colorref); > + if (face && (NS_FACE_BACKGROUND (face) > + =3D=3D [(NSColor *) FRAME_CURSOR_COLOR (f) > + unsignedLong])) > + CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND (context, face); > + else > + CG_SET_FILL_COLOR_WITH_FRAME_BACKGROUND (context, f); > } > else > CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND (context, face); > diff --git a/src/nsterm.m b/src/nsterm.m > index 46007ec4fcb..637bc4b6419 100644 > --- a/src/nsterm.m > +++ b/src/nsterm.m > @@ -3750,14 +3750,18 @@ Function modeled after x_draw_glyph_string_box (). > { > struct face *face =3D s->face; > if (!face->stipple) > - { > - if (s->hl !=3D DRAW_CURSOR) > - [(NS_FACE_BACKGROUND (face) !=3D 0 > - ? [NSColor colorWithUnsignedLong:NS_FACE_BACKGROUND (face)] > - : FRAME_BACKGROUND_COLOR (s->f)) set]; > - else > - [FRAME_CURSOR_COLOR (s->f) set]; > - } > + { > + if (s->hl !=3D DRAW_CURSOR) > + [(NS_FACE_BACKGROUND (face) !=3D 0 > + ? [NSColor colorWithUnsignedLong:NS_FACE_BACKGROUND (f= ace)] > + : FRAME_BACKGROUND_COLOR (s->f)) set]; > + else if (face && (NS_FACE_BACKGROUND (face) > + =3D=3D [(NSColor *) FRAME_CURSOR_COLOR (= s->f) > + unsignedLong])) > + [[NSColor colorWithUnsignedLong:NS_FACE_FOREGROUND (face= )] set]; > + else > + [FRAME_CURSOR_COLOR (s->f) set]; > + } > else > { > struct ns_display_info *dpyinfo =3D FRAME_DISPLAY_INFO (s-= >f); LGTM. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 06 06:12:16 2023 Received: (at 62573) by debbugs.gnu.org; 6 Apr 2023 10:12:16 +0000 Received: from localhost ([127.0.0.1]:53484 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pkMbI-0007iU-9i for submit@debbugs.gnu.org; Thu, 06 Apr 2023 06:12:16 -0400 Received: from sonic301-21.consmr.mail.ir2.yahoo.com ([77.238.176.98]:38484) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pkMbG-0007iH-Pg for 62573@debbugs.gnu.org; Thu, 06 Apr 2023 06:12:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.es; s=s2048; t=1680775929; bh=EvMuDYzJoWRxxSxLkHQmophsWDGpNjKFKlb0CcBzTJI=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=ZBJZg2RM995lfqNrNpjApdONOw+NHs9fMB4HVX4UxbaQ3C03nDu+RS0u42fJm9eLUhEFsijMmpa5IsgyTHF1htnXm6l5FuF0CPB9cN75DeaVrUJWXfhx3bMqxDJLZnlZBBUXNXxa9Nk3ld/Whh7HsZHDE+UnB0risihFns2roJ5Nn/pYZgCprzscqjGWOBSClQS9IrAeRY1C6xgtqqYhUY3aixMupunfoXeGHOZMDopqTimakISUHiz/iGHcr+hDLEZHfOXk95LnHTNC8thwgFnUeFucA+BQGArTA270g24waeM1jcBiIMraOfPjfAmBoXfp5Tvg7misiCjz5+zXwA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1680775929; bh=X6nGdqeSPrfNrnHsbXjkHsoVXbq9fL/gSmYtWsHcLp3=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=SA/jGhLiTnaCDOjBFf62XzFlaf5i2eKt3z75zdzIY8a32Wyu7o6hGSN8BDILz/aQ3EsaRDe3Woo2ceo4MUIkPNWge7TLGWViQgps8M5c4gPfl9RqBDT+GO26YWnwvEvoxIeVpJj7LdjvaCHNRyDl9eBA7VxYKRM+hrpmXMdrWKAFyoNxjrX67AefuD0litN+5DGJNh9NmwL6dlQ5HcK7Dj+8ZFHuwNSxoh6aDD4hTrtg0N+mGMOv8AgEDJGeshN/r+ptOkSaiqkjtr2OmKuYdcMrB/fz/esatIpG/pcQsgIBnbzagGPzOUlsqkEjsnrU7GdSmOfpRFZLc4dpJd5y/w== X-YMail-OSG: TyW1ULYVM1nzrcBzv_bMKKR4oCvLMiTlyI6q2kk0lLCVMXxnMW2DSbjIeMoHyed TjBQE8B28kcHGGfEnNe2nGyLiN1Hz3ayYUWsHCb7nizr9GrJKavnDvukKomX8Na5vL8ImV8KYsRj EjliBeMBfnxFtqxodYNkv9fPUJtC5NooaNatMs2XcPi5XLqDlzNQD0EvCWxka7cJVmNBuqShekKD UmKRWIOOFVP_zVB.Pkg6MvDpNFVlKRJhbTrAAeb3W_kCIPBqhG7jscYKMihNbOkmDSY1X5KUot5j nP7fIH7cd9m3OgTtAdANzngm0RBwuHHklI6he9TbUC5e_MQHD0j2IHb_zEZ3iB31EzNngpqy7lm9 sVqZg2PYW8xduUk34iSRYHbnWYY_9EJfbX5jX3PJ69EeN8Jh7wpP4.7BUYJghZtLhyNKET28MQ8m m9atwUk.IRDK1zJUdRcF3uDuaVWNnuRqxYbLknJAo_kncCY_0WlNKvjZvLhbwx1o8f__PaOIjwhM GHa5kpcGtPjYEadHwu5I5Bh4xomvwxYcUU._bDyDIDju7mq4SBw1rl1xues2UlPUd9.zyRQNwGdb iX9zKBJVtoFbXfvv.jCedg3GL5c4irmNXaaoEtXP5i_SMl0oGGk_fBtmCJi73LtbBMJlmFmoJ48U BhmzyNDs_VHVa.Kl.LcL4eoFdGs_pNW3jkkSQe847t11ENX7bMUZqjX.FF37w4UPCJ.9862usDMH y6PnQV9kgS2ZJcqqfObPczmZVN5uEJTAhXMyIdE7TV95Wpqi9tTbXHChWTY1ouae9o8to3cNDli2 uUwBgRAp1BS4dddOf6caO3xS93CO9OY58e83XXeR2TbQEabcbiMRdI5COVXM1NOg6pWVCZKY10Jx qug.x7twbUjiEO_RJ3r5ih_IJGZCYv2ew6s36QgzLlgC99qS82EGcFbPF7qt3hE6zHtZyIPmrQTM l05CryP.mGgPA.7mf0GqVuk8V0_joAqwLAABbu_6bEX3qxX5fQXnj8Lc6bcu0gaAWgHusE2PuK_w uxMmWI87.urj3CNKgxKtxXLfsFF7EvzPCaslDc0waqV_koKvv7t4zxfv.dDd6XlxofnXQO9dTRTx kcDmS.84LR0q8khBlxreoTjkuknmTdmfqE1P7M8f4yoEMuhUu8jTEceppx8YCp7HSAdSkcg7KpEX KIihBO04g0t4ET898L_Z4L1_dej96HRUbo.UKV_LSX6fynN5sF7qb5KiwvGEttgWY6MzxI2T1.UE FQfXgBnQSOyE4lOFfc9tDwBu1dwbgtiFRi.occ5Uufnqx1K.IQ8wamY8anNWMdU8KYoOi_WBFLN0 NoRWEz.u.k8mNIduRHViostq8dbhNxmj0YVMY6hvjPiZsDd_ztAdCoxYnQ8U9k1qZi508sW1cykH GuEEG3RZzgN8y7j8mTP_pKMC3Bfi7RMjIRPF.wNV.5VBszTqqGqhkyJmtNPFxrcgoPXYhmZ4B5q1 dad7xCYSAB7mRO.E5f3la9rGuWdqWQ9py_IZPO1.fccqXZAsewfd8TPlcnu1uOSkVXoDupDLFUBy EeTutLBrjltBfQ4IRA7gVbFOrUaG9Z640sGEdmBUaSkh6sN76KsFRBxMdZLUcCX7k8j4jKyniS2U DmkrEoAr5MWwNae_5V1yrrdz3lZ6TzJBHnUwjKuG8gZKNuvuzizss0SWuSIRDzmJpkIT3URCbh61 WPKcpTBLPmqOC1fcBVc4lsWh9RbJRLEO2tEi.keyWHjf6Y.hSgENfUdNMM6pSeLxjVwAzTTVpk2a rAoKk4uRrWNZTgpjfUTf0Y1PdTx.wrKghXil13FOkzcGN6Znane7.EZwKZ6sDrmtaCRQrSbEuTLf UBKlJS.D_taY2hroxtygalzKuA40H8MWB5gG7s4L0TnDUKn0JjCtECO03jZK7hCOB6PHf8o.oUNt tyBuc5xVkspJ7LDUXacbIJrzgOos_g41oLPtrmtcP089UXyKrlgVoxuE8n92kj9wJXJnWLpFuQDN NEw..czn0iAWbTdYE9lyLuV8RQx5HAPl3Xn6X4r1J6C66pPrTWMDraR4RYKxteF3AtFi7fwV1Ve4 lfn9SRwC9MphfOM4wlUc74lc2I1irR_dLaYcq85Fuv34CyXHI0xGTMnXJS5jHUuh5zZc9_Glpmb9 AWHMzaN_vyQsExUhc20YKX.vJAgTiLL51wwgFeDxBqlal_62sw4icloaArQEEzMVDsL9coBrrl1r LUePBfpwDXnknR7YTC5.T50eDxCAXDmqR2TopkJ0- X-Sonic-MF: X-Sonic-ID: 51c4d936-c0a9-4b62-a7ef-cb7031465158 Received: from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.ir2.yahoo.com with HTTP; Thu, 6 Apr 2023 10:12:09 +0000 Received: by hermes--production-ir2-74cd8fc864-b5cqd (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 6ee514815d0610f4ab50da0a4ef9c754; Thu, 06 Apr 2023 10:12:05 +0000 (UTC) From: =?utf-8?Q?Daniel_Mart=C3=ADn?= To: Po Lu Subject: Re: bug#62573: 29.0.60; Cursor color not being inverted in emacs-29 References: <83edp420lx.fsf@gnu.org> <83bkk817rr.fsf@gnu.org> <87mt3rru3q.fsf@yahoo.com> <87ttxxrfpf.fsf@yahoo.com> Date: Thu, 06 Apr 2023 12:12:04 +0200 In-Reply-To: <87ttxxrfpf.fsf@yahoo.com> (Po Lu's message of "Mon, 03 Apr 2023 08:07:24 +0800") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (darwin) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Mailer: WebService/1.1.21365 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 8383 X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 62573 Cc: Al Haji-Ali , Eli Zaretskii , 62573@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Po Lu writes: > Daniel Mart=C3=ADn writes: > >> +#define CG_SET_FILL_COLOR_WITH_FRAME_CURSOR(context, frame) = \ >> + do { = \ >> + CGColorRef refcol_ =3D = \ >> + get_cgcolor_from_nscolor (FRAME_CURSOR_COLOR (frame), frame); = \ >> + CGContextSetFillColorWithColor (context, refcol_); = \ >> + CGColorRelease (refcol_); = \ >> + } while (0) >> +#define CG_SET_FILL_COLOR_WITH_FRAME_BACKGROUND(context, frame) = \ >> + do { = \ >> + CGColorRef refcol_ =3D = \ >> + get_cgcolor_from_nscolor (FRAME_BACKGROUND_COLOR (frame), frame);= \ >> + CGContextSetFillColorWithColor (context, refcol_); = \ >> + CGColorRelease (refcol_); = \ >> + } while (0) > > Thanks. The GNU Coding Standards split expressions, before operators. > So this should read: > > do { > CGColorRef refcol > =3D ... > > also, since you put this in a separate block, you don't have to worry > about shadowing, so there's no need to use names with a trailing > underscore. > OK, I've removed the trailing underscore in the other macros as well. Here's a new patch with the requested changes. If everything looks good, could someone install the patch for me? (I don't have push access to the repository.) Thanks. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Change-cursor-color-on-NS-port-when-it-matches-the-f.patch >From bbce06787debc564353ffc09ad74566e1fa254a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=ADn?= Date: Sun, 2 Apr 2023 22:39:44 +0200 Subject: [PATCH] Change cursor color on NS port when it matches the face background * src/macfont.m (CG_SET_FILL_COLOR_WITH_FRAME_CURSOR): New macro. (CG_SET_FILL_COLOR_WITH_FRAME_BACKGROUND): New macro. (macfont_draw): When the cursor's color matches the face background, set the fill color of the cursor to the face foreground. * src/nsterm.m (ns_maybe_dumpglyphs_background): When dumping the background of a glyph string, apply the logic mentioned above. (Bug#62573) --- src/macfont.m | 50 +++++++++++++++++++++++++++++++++++--------------- src/nsterm.m | 20 ++++++++++++-------- 2 files changed, 47 insertions(+), 23 deletions(-) diff --git a/src/macfont.m b/src/macfont.m index d0cdbcd08c7..9f9f6f4efaf 100644 --- a/src/macfont.m +++ b/src/macfont.m @@ -632,21 +632,35 @@ static void mac_font_get_glyphs_for_variants (CFDataRef, UTF32Char, #define CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND(context, face) \ do { \ - CGColorRef refcol_ = get_cgcolor (NS_FACE_FOREGROUND (face)); \ - CGContextSetFillColorWithColor (context, refcol_) ; \ - CGColorRelease (refcol_); \ + CGColorRef refcol = get_cgcolor (NS_FACE_FOREGROUND (face)); \ + CGContextSetFillColorWithColor (context, refcol); \ + CGColorRelease (refcol); \ } while (0) #define CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND(context, face) \ do { \ - CGColorRef refcol_ = get_cgcolor (NS_FACE_BACKGROUND (face)); \ - CGContextSetFillColorWithColor (context, refcol_); \ - CGColorRelease (refcol_); \ + CGColorRef refcol = get_cgcolor (NS_FACE_BACKGROUND (face)); \ + CGContextSetFillColorWithColor (context, refcol); \ + CGColorRelease (refcol); \ + } while (0) +#define CG_SET_FILL_COLOR_WITH_FRAME_CURSOR(context, frame) \ + do { \ + CGColorRef refcol \ + = get_cgcolor_from_nscolor (FRAME_CURSOR_COLOR (frame), frame); \ + CGContextSetFillColorWithColor (context, refcol); \ + CGColorRelease (refcol); \ + } while (0) +#define CG_SET_FILL_COLOR_WITH_FRAME_BACKGROUND(context, frame) \ + do { \ + CGColorRef refcol \ + = get_cgcolor_from_nscolor (FRAME_BACKGROUND_COLOR (frame), frame); \ + CGContextSetFillColorWithColor (context, refcol); \ + CGColorRelease (refcol); \ } while (0) #define CG_SET_STROKE_COLOR_WITH_FACE_FOREGROUND(context, face) \ do { \ - CGColorRef refcol_ = get_cgcolor (NS_FACE_FOREGROUND (face)); \ - CGContextSetStrokeColorWithColor (context, refcol_); \ - CGColorRelease (refcol_); \ + CGColorRef refcol = get_cgcolor (NS_FACE_FOREGROUND (face)); \ + CGContextSetStrokeColorWithColor (context, refcol); \ + CGColorRelease (refcol); \ } while (0) @@ -2933,9 +2947,12 @@ So we use CTFontDescriptorCreateMatchingFontDescriptor (no { if (s->hl == DRAW_CURSOR) { - CGColorRef colorref = get_cgcolor_from_nscolor (FRAME_CURSOR_COLOR (f), f); - CGContextSetFillColorWithColor (context, colorref); - CGColorRelease (colorref); + if (face && (NS_FACE_BACKGROUND (face) + == [(NSColor *) FRAME_CURSOR_COLOR (f) + unsignedLong])) + CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND (context, face); + else + CG_SET_FILL_COLOR_WITH_FRAME_CURSOR (context, f); } else CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND (context, face); @@ -2949,9 +2966,12 @@ So we use CTFontDescriptorCreateMatchingFontDescriptor (no CGContextScaleCTM (context, 1, -1); if (s->hl == DRAW_CURSOR) { - CGColorRef colorref = get_cgcolor_from_nscolor (FRAME_BACKGROUND_COLOR (f), f); - CGContextSetFillColorWithColor (context, colorref); - CGColorRelease (colorref); + if (face && (NS_FACE_BACKGROUND (face) + == [(NSColor *) FRAME_CURSOR_COLOR (f) + unsignedLong])) + CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND (context, face); + else + CG_SET_FILL_COLOR_WITH_FRAME_BACKGROUND (context, f); } else CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND (context, face); diff --git a/src/nsterm.m b/src/nsterm.m index c9f955000ac..37462cf49e2 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -3750,14 +3750,18 @@ Function modeled after x_draw_glyph_string_box (). { struct face *face = s->face; if (!face->stipple) - { - if (s->hl != DRAW_CURSOR) - [(NS_FACE_BACKGROUND (face) != 0 - ? [NSColor colorWithUnsignedLong:NS_FACE_BACKGROUND (face)] - : FRAME_BACKGROUND_COLOR (s->f)) set]; - else - [FRAME_CURSOR_COLOR (s->f) set]; - } + { + if (s->hl != DRAW_CURSOR) + [(NS_FACE_BACKGROUND (face) != 0 + ? [NSColor colorWithUnsignedLong:NS_FACE_BACKGROUND (face)] + : FRAME_BACKGROUND_COLOR (s->f)) set]; + else if (face && (NS_FACE_BACKGROUND (face) + == [(NSColor *) FRAME_CURSOR_COLOR (s->f) + unsignedLong])) + [[NSColor colorWithUnsignedLong:NS_FACE_FOREGROUND (face)] set]; + else + [FRAME_CURSOR_COLOR (s->f) set]; + } else { struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (s->f); -- 2.34.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 08 07:35:50 2023 Received: (at 62573-done) by debbugs.gnu.org; 8 Apr 2023 11:35:50 +0000 Received: from localhost ([127.0.0.1]:57825 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pl6rG-00064W-Fb for submit@debbugs.gnu.org; Sat, 08 Apr 2023 07:35:50 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45080) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pl6rD-00064J-Pm for 62573-done@debbugs.gnu.org; Sat, 08 Apr 2023 07:35:48 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pl6r6-0005tO-P5; Sat, 08 Apr 2023 07:35:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=omiSUnZTsrMltVGzrPQWqc0SIhQ0fiOM0/3tFixuDbE=; b=fpPz7ojDRDejX9eaLWfL YvE6E36LMM+q8TuUdwEXTEWfG0o3dVERfRl7Fhdj99BkeqE/Q8SyaYe/eJRbU60PoNTEtDUznmDgU SeFBOLEnq0sqNG5illnvHojEp8x+LbgxP9W2yi8g43C2FDxwJupV6Ujc/P5p/UWaBHWElN7adqmdL OlzAM9cVRfry+AHYcdYqMOOeQ0k2TQEOeG0iGPwk+ZBFzxKufzRID/yqyP+bVeNpPYjiQWSHrf54z Xkq7w6MOAQqXfiiFB6YSDfpb/1f/sSJkbeSL9QHySEU7m2OXHhI9cPj0WT1AU4o9ZHvWdQy/E90zZ 8pRMdYBCGjTUZw==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pl6r6-0001Vm-1o; Sat, 08 Apr 2023 07:35:40 -0400 Date: Sat, 08 Apr 2023 14:36:13 +0300 Message-Id: <83v8i6mwr6.fsf@gnu.org> From: Eli Zaretskii To: Daniel =?utf-8?Q?Mart=C3=ADn?= In-Reply-To: (message from Daniel =?utf-8?Q?Mart?= =?utf-8?Q?=C3=ADn?= on Thu, 06 Apr 2023 12:12:04 +0200) Subject: Re: bug#62573: 29.0.60; Cursor color not being inverted in emacs-29 References: <83edp420lx.fsf@gnu.org> <83bkk817rr.fsf@gnu.org> <87mt3rru3q.fsf@yahoo.com> <87ttxxrfpf.fsf@yahoo.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 62573-done Cc: luangruo@yahoo.com, abdo.haji.ali@gmail.com, 62573-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Daniel Martín > Cc: 62573@debbugs.gnu.org, Eli Zaretskii , Al Haji-Ali > > Date: Thu, 06 Apr 2023 12:12:04 +0200 > > OK, I've removed the trailing underscore in the other macros as well. > > Here's a new patch with the requested changes. If everything looks > good, could someone install the patch for me? (I don't have push access > to the repository.) Thanks, installed, and closing the bug. From unknown Mon Aug 18 11:05:01 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 07 May 2023 11:24:12 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator