From unknown Wed Jun 18 23:06:35 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#22323 <22323@debbugs.gnu.org> To: bug#22323 <22323@debbugs.gnu.org> Subject: Status: Font fallback causes inconsistent stacking of faces in overlays with invisible property Reply-To: bug#22323 <22323@debbugs.gnu.org> Date: Thu, 19 Jun 2025 06:06:35 +0000 retitle 22323 Font fallback causes inconsistent stacking of faces in overla= ys with invisible property reassign 22323 emacs submitter 22323 Cl=C3=A9ment Pit--Claudel severity 22323 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 07 11:53:19 2016 Received: (at submit) by debbugs.gnu.org; 7 Jan 2016 16:53:19 +0000 Received: from localhost ([127.0.0.1]:41880 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aHDoN-0003eL-4U for submit@debbugs.gnu.org; Thu, 07 Jan 2016 11:53:19 -0500 Received: from eggs.gnu.org ([208.118.235.92]:36562) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aHDoL-0003e9-99 for submit@debbugs.gnu.org; Thu, 07 Jan 2016 11:53:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aHDoF-0000hV-5V for submit@debbugs.gnu.org; Thu, 07 Jan 2016 11:53:11 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:49970) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aHDoF-0000hR-2E for submit@debbugs.gnu.org; Thu, 07 Jan 2016 11:53:11 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55753) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aHDoE-0007lx-4i for bug-gnu-emacs@gnu.org; Thu, 07 Jan 2016 11:53:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aHDo9-0000gT-Ie for bug-gnu-emacs@gnu.org; Thu, 07 Jan 2016 11:53:10 -0500 Received: from mout.kundenserver.de ([217.72.192.75]:58114) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aHDo9-0000gP-9J for bug-gnu-emacs@gnu.org; Thu, 07 Jan 2016 11:53:05 -0500 Received: from [18.189.87.242] ([18.189.87.242]) by mrelayeu.kundenserver.de (mreue104) with ESMTPSA (Nemesis) id 0MQODc-1aeQXz3Zb2-00TpHY for ; Thu, 07 Jan 2016 17:53:04 +0100 To: bug-gnu-emacs@gnu.org From: =?UTF-8?Q?Cl=c3=a9ment_Pit--Claudel?= Subject: Font fallback causes inconsistent stacking of faces in overlays with invisible property Message-ID: <568E97E7.2030604@live.com> Date: Thu, 7 Jan 2016 11:52:55 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="wXoXx4Np726S0EDeVb6uBkpggNuhIggmd" X-Provags-ID: V03:K0:JwBqh2ZYkabynkVQpjmcQqhzkSBTROlRjdGwDExd2kjl0gDQr1R vCQ6nnVM8hEG1OQXkOgWo2R27/TrlP6P86XbDbN3QwrlNjln9Ot3JNmH9g9cvE/QekUzgBE gM3ZQvgUnlBe4JmCJgRR63mvZpbpYxz8bsqiANSxwo9Mlw5m00h84aD6jUYfFKNag+rLGtO 23O7qRJLgtkeZxEeruKYw== X-UI-Out-Filterresults: notjunk:1;V01:K0:I+h0eNeGWM4=:89TMBLE1oRfvxDgRWu+tYx 5z1vP98MuS4UjkBE/Spw1BSb2zdyWWyYRbsCo/LLomPCBRq6QXH+mziou+VimAwsyFghjo0sv t+dfQ5b0O2s4WktwQc4YQVWqSr/HHgfZxE8SQyDtsKfoib00c3fa2ViuVHyRvJswwH9VXcTyt ZyxZNR+4sjrewbVsZKAUpOp0/hFqjbsnxf+Z/prNtAr70+jN/FSRZ+3VuhoSY0S01WmqL/KXv k3T41GgajA761GiNUWsr2WHz6EKQbLYePG19Yb2j3Fzb2vwLqTbr/+q9w/mwQ8bnFinDAcGVO w7O/Aw1fXMp01tPPPHrNWR0Y4TqGQcrID7RVKEIaK8R2fNXFmPVv8OV8+7GDtQna4AgD1dYjh P9uB2C8ZEN661hNB0Q9tUwdQ7nvdjt5HQbvRu1pgmH9EA78AjgXoXKY84xHoVIy4BB0747+qQ 4x/R/2k6oVvZCzBCZWpJo2L5ir+qu8Fz2jTIobuYapZpmOb7fAia9T2HQkBnnGANKmRTkjEpy nveBb/lWPwgywdWOE6Of8jeCUf8dInbGW6TsQmT9aE7DQYLrCFBStWdUNxMWFlsKweSUWJ6p8 QJ+IuDX84u5l8/oMyue5blKEQZR4s2oieiqR1dCdo8lufhV0Zzhr1iq+CBZNEybArDxppLEiu 9sjpHIYPcaf1bDSSw0LC8hN7HLS/TSmUkVBtNeICuDO5AXsJc2z2UBsQ7UjnRyowMljo= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) 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: -4.0 (----) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --wXoXx4Np726S0EDeVb6uBkpggNuhIggmd Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi all, Font fallback seems to break face stacking for invisible overlays: This works fine: (with-current-buffer (get-buffer-create "No prettification: ellispis is h= ighlighed") (erase-buffer) (fundamental-mode) (add-to-invisibility-spec '(outline . t)) (insert "abc!!def!!ghi") (let ((ov (make-overlay 6 9))) (overlay-put ov 'invisible 'outline)) (let ((ov (make-overlay (point-min) (point-max)))) (overlay-put ov 'face 'region)) (pop-to-buffer (current-buffer))) This doesn't work (assuming that =E2=84=99 is not in your usual font): (with-current-buffer (get-buffer-create "No prettification: ellispis is h= ighlighed") (erase-buffer) (fundamental-mode) (add-to-invisibility-spec '(outline . t)) (insert "abc=E2=84=99=E2=84=99def=E2=84=99=E2=84=99ghi") (let ((ov (make-overlay 6 9))) (overlay-put ov 'invisible 'outline)) (let ((ov (make-overlay (point-min) (point-max)))) (overlay-put ov 'face 'region)) (pop-to-buffer (current-buffer))) I came across this while using prettify-symbols-mode: (with-current-buffer (get-buffer-create "With prettification to common ch= aracter: ellispis is highlighed") (erase-buffer) (fundamental-mode) (add-to-invisibility-spec '(outline . t)) (insert "abc!!def!!ghi") (setq prettify-symbols-alist '(("!!" . ?=E2=84=99))) (prettify-symbols-mode) (let ((ov (make-overlay 6 9))) (overlay-put ov 'invisible 'outline)) (let ((ov (make-overlay (point-min) (point-max)))) (overlay-put ov 'face 'region)) (pop-to-buffer (current-buffer))) Cheers, Cl=C3=A9ment. --wXoXx4Np726S0EDeVb6uBkpggNuhIggmd Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBAgAGBQJWjpfuAAoJEPqg+cTm90wjvSgQALxTG469tjmEfkXVDWgVsBxE rQNVLkqHbjqqliOMy0GqUyP93CW7KDxIUBdlX0w8V5I5QfmD5WbYyoPrME/L7L/F YqFyqodTBgxkvF5lWIYh37vs498NJLdyk3VI5X0R8w4/0B3gEna4ARdg0S//zE+2 akuHkQInnW4UTKV6eL8V94zyJMXF4yAnLlzHPVnQ16oR/cYV5StAqcPMDDyxw+ab h45XypC6VsYl7KfJDv+uHApFMmKrh2yfpbVK6ZUXylIlER3rTCEwTjNldJLkaaKU Nw41MN+92GUV5yFQzYxfVsJ6q+dPVyirnHboDPOURmmJoqyN1ru+fRciXciMsU5J ff+ntxXrCs6x7wsbMNxt3vA2RvtWY8m0PkLloB4lvDfDAAmjsn43ZcPfzNT7AblW v5adCjbQd5ZUduSCRTaRqhjw2TMSlQiHumKD7+T8LywCwjdYty5DRWVO4CbD/ePL b616SlkMR483EH7+cbfj7B4q6Dvl+wPvOQar2SU72wW0O5ADBR+IFMlgHCg0LAzk 5hX5fy1EqsB96LYzjymUwPZgc4ODmR9KpoGHqsNejLRo6btyWDkI7mgZ/8kHZcbr XibnXFJQpUZFuAkck/vPXmmXpEwXchzWwabznmOfeZHsqEN9lCermwQ4hsNobE7x cO4Q+VCdF8leQ1YRMhfm =GJqE -----END PGP SIGNATURE----- --wXoXx4Np726S0EDeVb6uBkpggNuhIggmd-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 07 13:20:00 2016 Received: (at control) by debbugs.gnu.org; 7 Jan 2016 18:20:00 +0000 Received: from localhost ([127.0.0.1]:41954 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aHFAG-0005h9-Cp for submit@debbugs.gnu.org; Thu, 07 Jan 2016 13:20:00 -0500 Received: from eggs.gnu.org ([208.118.235.92]:36139) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aHFAF-0005gx-EO for control@debbugs.gnu.org; Thu, 07 Jan 2016 13:19:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aHFA7-0007XC-3o for control@debbugs.gnu.org; Thu, 07 Jan 2016 13:19:54 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:50598) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aHFA6-0007X8-W3 for control@debbugs.gnu.org; Thu, 07 Jan 2016 13:19:51 -0500 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1878 helo=HOME-C4E4A596F7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aHFA6-0002Ef-9c for control@debbugs.gnu.org; Thu, 07 Jan 2016 13:19:50 -0500 Date: Thu, 07 Jan 2016 20:20:02 +0200 Message-Id: <8337u92qwd.fsf@gnu.org> From: Eli Zaretskii To: control@debbugs.gnu.org In-reply-to: <568E97E7.2030604@live.com> (message from =?iso-8859-1?Q?Cl?= =?iso-8859-1?Q?=E9ment?= Pit--Claudel on Thu, 7 Jan 2016 11:52:55 -0500) Subject: Re: bug#22323: Font fallback causes inconsistent stacking of faces in overlays with invisible property References: <568E97E7.2030604@live.com> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: control 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: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) merge 22323 22320 thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 07 13:22:43 2016 Received: (at 22323) by debbugs.gnu.org; 7 Jan 2016 18:22:44 +0000 Received: from localhost ([127.0.0.1]:41958 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aHFCt-0005lm-OY for submit@debbugs.gnu.org; Thu, 07 Jan 2016 13:22:43 -0500 Received: from eggs.gnu.org ([208.118.235.92]:36829) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aHFCr-0005lR-St for 22323@debbugs.gnu.org; Thu, 07 Jan 2016 13:22:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aHFCj-0000A7-O5 for 22323@debbugs.gnu.org; Thu, 07 Jan 2016 13:22:36 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:50634) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aHFCj-0000A3-KE; Thu, 07 Jan 2016 13:22:33 -0500 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1881 helo=HOME-C4E4A596F7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aHFCi-0002Te-Ln; Thu, 07 Jan 2016 13:22:33 -0500 Date: Thu, 07 Jan 2016 20:22:44 +0200 Message-Id: <831t9t2qrv.fsf@gnu.org> From: Eli Zaretskii To: =?utf-8?Q?Cl=C3=A9ment?= Pit--Claudel In-reply-to: <568E97E7.2030604@live.com> (message from =?utf-8?Q?Cl=C3=A9m?= =?utf-8?Q?ent?= Pit--Claudel on Thu, 7 Jan 2016 11:52:55 -0500) Subject: Re: bug#22323: Font fallback causes inconsistent stacking of faces in overlays with invisible property References: <568E97E7.2030604@live.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22323 Cc: 22323@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: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Clément Pit--Claudel > Date: Thu, 7 Jan 2016 11:52:55 -0500 > > Font fallback seems to break face stacking for invisible overlays: > > This works fine: > > (with-current-buffer (get-buffer-create "No prettification: ellispis is highlighed") > (erase-buffer) > (fundamental-mode) > (add-to-invisibility-spec '(outline . t)) > (insert "abc!!def!!ghi") > (let ((ov (make-overlay 6 9))) > (overlay-put ov 'invisible 'outline)) > (let ((ov (make-overlay (point-min) (point-max)))) > (overlay-put ov 'face 'region)) > (pop-to-buffer (current-buffer))) > > This doesn't work (assuming that ℙ is not in your usual font): > > (with-current-buffer (get-buffer-create "No prettification: ellispis is highlighed") > (erase-buffer) > (fundamental-mode) > (add-to-invisibility-spec '(outline . t)) > (insert "abcℙℙdefℙℙghi") > (let ((ov (make-overlay 6 9))) > (overlay-put ov 'invisible 'outline)) > (let ((ov (make-overlay (point-min) (point-max)))) > (overlay-put ov 'face 'region)) > (pop-to-buffer (current-buffer))) This is indeed the same issue as bug#22320. Using a different font requires a different face, so you have here exactly the same situation as in #22320: the last visible character ℙ has a face that is different from the first invisible character d. From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 07 20:19:37 2016 Received: (at 22323) by debbugs.gnu.org; 8 Jan 2016 01:19:37 +0000 Received: from localhost ([127.0.0.1]:42088 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aHLiL-0000EN-7V for submit@debbugs.gnu.org; Thu, 07 Jan 2016 20:19:37 -0500 Received: from mout.kundenserver.de ([212.227.126.134]:53499) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aHLiI-0000E9-TN for 22323@debbugs.gnu.org; Thu, 07 Jan 2016 20:19:36 -0500 Received: from [18.189.101.34] ([18.189.101.34]) by mrelayeu.kundenserver.de (mreue002) with ESMTPSA (Nemesis) id 0MOXA5-1aKO6s1Xlt-005mQA; Fri, 08 Jan 2016 02:19:27 +0100 Subject: Re: bug#22323: Font fallback causes inconsistent stacking of faces in overlays with invisible property To: Eli Zaretskii References: <568E97E7.2030604@live.com> <831t9t2qrv.fsf@gnu.org> From: =?UTF-8?Q?Cl=c3=a9ment_Pit--Claudel?= Message-ID: <568F0E9D.3070200@live.com> Date: Thu, 7 Jan 2016 20:19:25 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <831t9t2qrv.fsf@gnu.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="n7ptk6stXuBUbN7CfwCoAa3dXhueD1SaD" X-Provags-ID: V03:K0:1DsMLTo49bOvolXGrFFRShOzceKDCvUCEZMqgILiGL2v0d+5/0s n+aTBGQ44fa6LGPntJRB8+BWCaoIGy6hnGTO82hkbn1zsSOvpx0FwpW2ml44SfqRymgd6fW Lm2NHjTcllHH8cgzu1LUbAJNv+h/gabarB9QfKVznoa4tlTdiWoXYD44SLvHx7d1iNrqQZR 22C+XSZGKOQFAjeFvf7YQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:jusq2r0z5rU=:ZdTCBc3mmQuYCIt4pKwa5q MfKMfqSsPr4i72iErKbkjvMLrQeRbXhvHE/0+NMcd10mnmXzpA4bHGgUaU7W3n7KyWgXEWD+W Be7ZgODy35NY0DBV9AlBeZ7w6VVRu4YhCMlX27080leJGj11L07FHzwMI+RW74YKxJ+HJPjsB /M4XAUgIiFutLnnV+gx0nlQp+0r42PwHUanhWbw7QCJP8mhN983RwQCK5if8y933tG3EuKJeD 1LOsflKVVSr3U6S2DULP3FhwQXS5suyeZQ/QxPnPG0stoNvxaJPACt3Q5Iu9aGVRpnHB50OWs KywfgjntXh8b9298lFM0x559hbjj+lggcmy+C9efS2ybwDk1otdDOk3Mbiw3cvNe6FYl/1hq3 73xKzAxZ0lleo9faM5lJsxbqnedbRZ3dy8mR/XKeSCP4JFyL0cJcKgEJcO3mLD+zs86yXpgXL 5G3qqxpl8FOwvktFhlP7OP5uoUk9k5HyvjNSV4Ai3kvXDAIFjtKHQdA9ohqaXoWyUXrHZZlPE ox+VAt7wC1eMje1yTdNLGLx9MbD0JzYrMdROwKPSk9oblH59FzaHhBGgh3TpOPm8JpfGFl1Da oW3F6AaGHGJXeVTJudZ+c2ooaNb8wXn8CIC7Rw3POUcSGlLq9A/L9E4I75VMzGNY+Tlp0ABQe 8EliZcSKWAqV/zp5FD/s9ef7QahPGvkQqxdmAfIaEJvZzDx59pgGA2DFdU7+lnlx2oRU= X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 22323 Cc: 22323@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 (+) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --n7ptk6stXuBUbN7CfwCoAa3dXhueD1SaD Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 01/07/2016 04:02 PM, Eli Zaretskii wrote: >> Date: Thu, 07 Jan 2016 22:12:42 +0200 >> From: Eli Zaretskii >> Cc: 22320@debbugs.gnu.org >> >>> The same problems exist for composition, but keeping the properties o= f the first character seems to work well there; maybe we could consider h= armonizing both behaviors? >> >> I'm not sure I understand what exactly are you proposing to do. We >> cannot treat invisible text like we treat character compositions, each= >> one invokes a very different machinery with distinct and very >> different features. >=20 > Here's a suggestion: ignore the face of the invisible text altogether, > and instead always use the face of the last visible character. The > patch to do that is below; it fixes all of your test cases. But since > you would like to see the face of the invisible text show through, I'm > not sure you will like it... >=20 > WDYT? I like it :) I find it much more consistent that what we currently have. = Plus, has a desirable property that you pointed out and that I agree with, that= the properties of the invisible text do not affect the display of the ellipsi= s. The current implementation doesn't have that property (adding a face to a hid= den character will cause the ellipsis to change to the default face), so I th= ink it's a net gain. (In fact, I'm even a bit surprised that it handles the selection and font= fallback cases properly. It's great that it does though; but did I apply = the patch incorrectly?) Cl=C3=A9ment. > diff --git a/src/xdisp.c b/src/xdisp.c > index 87a92fc..7e5f7df 100644 > --- a/src/xdisp.c > +++ b/src/xdisp.c > @@ -4583,14 +4583,15 @@ setup_for_ellipsis (struct it *it, int len) > it->current.dpvec_index =3D 0; > it->dpvec_face_id =3D -1; > =20 > - /* Reset the current face ID to default if the last visible > - character and the first invisible character have different faces.= > - IT->saved_face_id was set in handle_stop to the face of the > - preceding character, and will be different from IT->face_id only > - if the invisible text skipped in handle_invisible_prop has some > - non-default face. IT's face is restored in set_iterator_to_next.= */ > - if (it->saved_face_id < 0 || it->saved_face_id !=3D it->face_id) > - it->saved_face_id =3D it->face_id =3D DEFAULT_FACE_ID; > + /* Use IT->saved_face_id for the ellipsis, so that it has the same > + face as the preceding text. IT->saved_face_id was set in > + handle_stop to the face of the preceding character, and will be > + different from IT->face_id only if the invisible text skipped in > + handle_invisible_prop has some non-default face. We thus ignore > + the face of the invisible text when we display the ellipsis. > + IT's face is restored in set_iterator_to_next. */ > + if (it->saved_face_id >=3D 0) > + it->face_id =3D it->saved_face_id; > =20 > /* If the ellipsis represents buffer text, it means we advanced in > the buffer, so we should no longer ignore overlay strings. */ >=20 >=20 --n7ptk6stXuBUbN7CfwCoAa3dXhueD1SaD Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBAgAGBQJWjw6dAAoJEPqg+cTm90wjpVgQAKhSSRrt7atan4+26VcGiR0V aFVc+CaZ7J9fj14GoucjBV9t1KHthU8q/NUhd8RMqvZvq1mmfLEiCK5hUYD8Lzlb vObVqMvkWya+HF36KC9b9IG+eez+1RJz1sNa5cBCQolQfMSD5NeSA7zD3K0pyw4z 0boU/QMcLcc4B3cRarohNBFozPiXdyr+xuJWT5zjwfTHOodtiU5Pf3x+Ap3MLVpp DeoNbpWEBjYEkRrHzoGFQfrfvfIGBQnUD9wlfIXl7brsXduIORItlHPqeNHDVsQt 4wPF6gzow5Oh3+98qh+PcNVcuxghthtGqwIrV+Xaj9fWnw7zsCLH+UX2oPAlHIJ8 rwbYC0Z1/f9ypbfi4+LLW0cZevufUoOCPdmm3tYIzhAQw7EUcVq82iI0DOWFqH5B 529peL0J6eo4XMWnlVNCNH7BF33Go2g35pyRHQwMjZEE7TVZu/LvumQbI9Gv1SXE hNxdINEPfXgxBXyeqr/GrtYVYClbjrPAOxavzI6YmAsx4/1Ma5p267zlta+FJt6c g4w2Wmm5kV+cappK2TVHpSmeWcfBPa8T97BsrZBxiBC5JZF4h/H4y3F83C3Vwg89 ivfmpGkJtsA4D148to+paAMb60F4I48tJubcQH9WXkhL4kqKBF6cZiXg4S6fzEnO q4tSaf477yClvHSZavz8 =FZsP -----END PGP SIGNATURE----- --n7ptk6stXuBUbN7CfwCoAa3dXhueD1SaD-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 08 05:23:15 2016 Received: (at 22323-done) by debbugs.gnu.org; 8 Jan 2016 10:23:15 +0000 Received: from localhost ([127.0.0.1]:42283 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aHUCR-0008Bg-IS for submit@debbugs.gnu.org; Fri, 08 Jan 2016 05:23:15 -0500 Received: from eggs.gnu.org ([208.118.235.92]:54505) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aHUCP-0008BR-W2 for 22323-done@debbugs.gnu.org; Fri, 08 Jan 2016 05:23:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aHUCH-0004LJ-IA for 22323-done@debbugs.gnu.org; Fri, 08 Jan 2016 05:23:08 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39875) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aHUCH-0004LF-EP; Fri, 08 Jan 2016 05:23:05 -0500 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1220 helo=HOME-C4E4A596F7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aHUC7-0007yQ-KT; Fri, 08 Jan 2016 05:23:02 -0500 Date: Fri, 08 Jan 2016 12:22:52 +0200 Message-Id: <83twmopdz7.fsf@gnu.org> From: Eli Zaretskii To: =?utf-8?Q?Cl=C3=A9ment?= Pit--Claudel In-reply-to: <568F0E9D.3070200@live.com> (message from =?utf-8?Q?Cl=C3=A9m?= =?utf-8?Q?ent?= Pit--Claudel on Thu, 7 Jan 2016 20:19:25 -0500) Subject: Re: bug#22323: Font fallback causes inconsistent stacking of faces in overlays with invisible property References: <568E97E7.2030604@live.com> <831t9t2qrv.fsf@gnu.org> <568F0E9D.3070200@live.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 22323-done Cc: 22323-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: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Cc: 22323@debbugs.gnu.org > From: Clément Pit--Claudel > Date: Thu, 7 Jan 2016 20:19:25 -0500 > > > Here's a suggestion: ignore the face of the invisible text altogether, > > and instead always use the face of the last visible character. The > > patch to do that is below; it fixes all of your test cases. But since > > you would like to see the face of the invisible text show through, I'm > > not sure you will like it... > > > > WDYT? > > I like it :) I find it much more consistent that what we currently have. Plus, > has a desirable property that you pointed out and that I agree with, that the > properties of the invisible text do not affect the display of the ellipsis. The > current implementation doesn't have that property (adding a face to a hidden > character will cause the ellipsis to change to the default face), so I think > it's a net gain. Thanks, I pushed it, and I'm marking these 2 bugs as done. > (In fact, I'm even a bit surprised that it handles the selection and font > fallback cases properly. It's great that it does though; but did I apply the > patch incorrectly?) Yes, you applied correctly. The default ellipsis uses ASCII characters, so I think the fallback font doesn't affect them. From unknown Wed Jun 18 23:06:35 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 05 Feb 2016 12:24:03 +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