From unknown Mon Aug 11 18:54:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#22323: Font fallback causes inconsistent stacking of faces in overlays with invisible property Resent-From: =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Jan 2016 16:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 22323 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 22323@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.145218559914038 (code B ref -1); Thu, 07 Jan 2016 16:54:01 +0000 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 From: =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel 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-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 unknown Mon Aug 11 18:54:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#22323: Font fallback causes inconsistent stacking of faces in overlays with invisible property Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Jan 2016 18:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22323 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel Cc: 22323@debbugs.gnu.org Reply-To: Eli Zaretskii Received: via spool by 22323-submit@debbugs.gnu.org id=B22323.145219096422186 (code B ref 22323); Thu, 07 Jan 2016 18:23:02 +0000 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 In-reply-to: <568E97E7.2030604@live.com> (message from =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel on Thu, 7 Jan 2016 11:52:55 -0500) 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-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: -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 unknown Mon Aug 11 18:54:46 2025 X-Loop: help-debbugs@gnu.org Subject: bug#22323: Font fallback causes inconsistent stacking of faces in overlays with invisible property Resent-From: =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 08 Jan 2016 01:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22323 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 22323@debbugs.gnu.org Received: via spool by 22323-submit@debbugs.gnu.org id=B22323.1452215977896 (code B ref 22323); Fri, 08 Jan 2016 01:20:02 +0000 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 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-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 unknown Mon Aug 11 18:54:46 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel Subject: bug#22323: closed (Re: bug#22323: Font fallback causes inconsistent stacking of faces in overlays with invisible property) Message-ID: References: <83twmopdz7.fsf@gnu.org> <568E97E7.2030604@live.com> X-Gnu-PR-Message: they-closed 22323 X-Gnu-PR-Package: emacs Reply-To: 22323@debbugs.gnu.org Date: Fri, 08 Jan 2016 10:24:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1452248642-31537-1" This is a multi-part message in MIME format... ------------=_1452248642-31537-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #22323: Font fallback causes inconsistent stacking of faces in overlays wit= h invisible property which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 22323@debbugs.gnu.org. --=20 22323: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D22323 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1452248642-31537-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit 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. ------------=_1452248642-31537-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit 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-- ------------=_1452248642-31537-1-- From unknown Mon Aug 11 18:54:46 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: =?UTF-8?Q?Cl=C3=A9ment?= Pit--Claudel Subject: bug#22320: closed (Re: bug#22323: Font fallback causes inconsistent stacking of faces in overlays with invisible property) Message-ID: References: <83twmopdz7.fsf@gnu.org> <568D5721.7060709@live.com> X-Gnu-PR-Message: they-closed 22320 X-Gnu-PR-Package: emacs Reply-To: 22320@debbugs.gnu.org Date: Fri, 08 Jan 2016 10:24:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1452248642-31537-3" This is a multi-part message in MIME format... ------------=_1452248642-31537-3 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #22323: Overlays with an 'invisible property break stacking of overlay faces which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 22320@debbugs.gnu.org. --=20 22323: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D22323 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1452248642-31537-3 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit 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. ------------=_1452248642-31537-3 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 6 Jan 2016 18:04:35 +0000 Received: from localhost ([127.0.0.1]:40550 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aGsRn-0007Yy-F4 for submit@debbugs.gnu.org; Wed, 06 Jan 2016 13:04:35 -0500 Received: from eggs.gnu.org ([208.118.235.92]:41038) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aGsRl-0007Yj-4f for submit@debbugs.gnu.org; Wed, 06 Jan 2016 13:04:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aGsRe-0002xW-Lt for submit@debbugs.gnu.org; Wed, 06 Jan 2016 13:04:27 -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]:42434) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aGsRe-0002xR-JD for submit@debbugs.gnu.org; Wed, 06 Jan 2016 13:04:26 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60232) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aGsRd-0007JB-1d for bug-gnu-emacs@gnu.org; Wed, 06 Jan 2016 13:04:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aGsRZ-0002wI-Pa for bug-gnu-emacs@gnu.org; Wed, 06 Jan 2016 13:04:24 -0500 Received: from mout.kundenserver.de ([217.72.192.73]:54574) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aGsRZ-0002vz-Gt for bug-gnu-emacs@gnu.org; Wed, 06 Jan 2016 13:04:21 -0500 Received: from [18.26.2.123] ([18.26.2.123]) by mrelayeu.kundenserver.de (mreue104) with ESMTPSA (Nemesis) id 0Lo18K-1Zk0bb37u4-00fwvS for ; Wed, 06 Jan 2016 19:04:19 +0100 From: =?UTF-8?Q?Cl=c3=a9ment_Pit--Claudel?= X-Enigmail-Draft-Status: N1110 Subject: Overlays with an 'invisible property break stacking of overlay faces To: bug-gnu-emacs@gnu.org Message-ID: <568D5721.7060709@live.com> Date: Wed, 6 Jan 2016 13:04:17 -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="HI0oUaD4APtD3pgfaJhDO8J9tqqngxF9d" X-Provags-ID: V03:K0:clE21Nabq50/SjydBPZjeYjyKG/Lo2MEQPIj+DELQmdf1mnQPkE x6wfXd8Woxx13886ty6tsAYfj0K7XFXI90/mnIENQFhoTdBDy9hL0HHSX3Xn9GAr4+gpmmo qtNDX4OviiStvJzlB4TsY//H1G1wwlAcBYvx2JiMj4RDmc+2IkoJgpktgVdPkqvUaxVNW4w LpGJhmhVVW8+twlJw7VXg== X-UI-Out-Filterresults: notjunk:1;V01:K0:sWwXQZemze8=:kJBiwlXZ5/LUtwp/ELjRt+ gA89zkXEV3puoZSBqtwIKIQxM8zb6fkbeixBlAVEIdNZdBDQzViMSELyP8HAXmuVdTHH8lyA4 6OWKlkpjWvI/K4Vvx3qHYfmgQpo4mATjaILv05nL2KZGiBPs7TGzCm1xlVobdw2QErgWc8p8R rIAcNjx5zGfiVByxe3wO3U0gQnLnDHF1eixMzzPhJWPwtW0/7riYzakswdApOnNim4WBaOvcW rOKk/+Bl1AAzt4ljwqCbEUmL808UUyJh7sZgoqnmbOUO/4H5qVkDt1q61c7xA+RcW+mMKrDhA jsE2QWdIHDQfHKo3XNxDbjcI2wcytL3A9IcgBf7khecnw85jQ1nQHsNPzMf066D33T+5Jiz6U ZzzSz3qa4b4yXr2jh5f15ryuFs9OurIFCGzQc7lV+5xVERq0tsrQCEhlQZ3qtyxzUbckm8a6j RGcIPNhuUbdLG0eyZ/2mhPXBTPxgvHu2ai3DvdwRPkdtM062pxFBmmb6yUyOPpV+a/yxAhElA DHWmQpZ9XV6M3vozcNN0zW2Jtm1oENIPE4YYXkviwJeLjnlYOKn4drgoChLqK98sOff1I0VWX O4Jr7yDOhSqBRsBObxRtvpifuM49+NRHN2jpQ8psW8KRKdbq2YGqgrwumNc7FxiPw9g01tt6S gvv82R8E+FCC6LKdSIMVITMerP9siiDALeGyLjVbAl3f8TLnwxS5cbolL9EniuIIx2tw= 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) --HI0oUaD4APtD3pgfaJhDO8J9tqqngxF9d Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi all, Adding an 'invisible property to an overlay seems to break stacking of fa= ces. To reproduce, run the following snippet. The whole buffer should have a r= ed background, but the invisible section does not inherit that background. (with-current-buffer (get-buffer-create "bug") (erase-buffer) (fundamental-mode) (add-to-invisibility-spec '(outline . t)) (insert "line1 line2 line3") (let ((ov (make-overlay 7 12))) (overlay-put ov 'invisible 'outline)) (let ((ov (make-overlay 7 8))) (overlay-put ov 'face '(:underline t))) (let ((ov (make-overlay (point-min) (point-max)))) (overlay-put ov 'face '(:background "red"))) (pop-to-buffer (current-buffer))) I initially thought this was an issue of priorities, but removing the ove= rlay with the invisible property makes the issue disappear. Similarly, removing the= underline overlay makes the issue disappear. Here is another (more "real-world") way to reproduce this issue (run the snippet, then use C-x h in the newly created buffer to mark all text: the= invisible section isn't highlighted) (with-current-buffer (get-buffer-create "org-bug") (erase-buffer) (org-mode) (insert "* line1\n** line2\n* line3") (org-shifttab) (pop-to-buffer (current-buffer))) Yet another way it to reproduce it is given below (with-current-buffer (get-buffer-create "flyspell-bug") (erase-buffer) (text-mode) (add-to-invisibility-spec '(outline . t)) (insert "line1\nline2\nline3") (flyspell-check-region-doublons (point-min) (point-max)) (let ((ov (make-overlay 7 12))) (overlay-put ov 'invisible 'outline)) (pop-to-buffer (current-buffer))) Interestingly, the first example is broken in both 24.4 and emacs-25; but= the second one is broken only in emacs-25 (the third one does not run in= Emacs 24.4). I wonder if this is connected to another issue that I've seen, where havi= ng a composition (using prettify-symbols-mode) just before an invisible r= egion would cause the background of the invisible region to be incorrect,= but setting prettify-symbols-unprettify-at-point and moving the point to= the edge of the symbol would cause the background to be fine. Unfortunat= ely I don't have a good repro for that issue. Cheers, Cl=C3=A9ment. In GNU Emacs 25.0.50.8 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8) of 2015-12-29 built on clem-w50-mint Repository revision: a21bb238ce7bcc9c13a9cf66db77918304daa2fc Windowing system distributor 'The X.Org Foundation', version 11.0.1150100= 0 System Description: Linux Mint 17.2 Rafaela Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=3Dibus locale-coding-system: utf-8-unix Major mode: Fundamental Minor modes in effect: recentf-mode: t ido-ubiquitous-mode: t keybindings-global-mode: t keybindings-minor-mode: t ido-everywhere: t flycheck-pos-tip-mode: t global-company-mode: t company-mode: t global-page-break-lines-mode: t which-key-mode: t delete-selection-mode: t show-paren-mode: t save-place-mode: t savehist-mode: t xterm-mouse-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Features: (shadow sort ws-butler flyspell ispell ruler-mode gnus-util mail-extr emacsbug message dired format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util help-fns mail-prsvr mail-utils smex recentf tree-widget company-math math-symbol-lists company-files company-oddmuse company-keywords company-etags etags xref project company-gtags company-dabbrev-code company-dabbrev company-capf company-cmake company-xcode company-clang company-semantic company-eclim company-template company-css company-nxml company-bbdb ido-ubiquitous s ucs-normalize ido-completing-read+ cus-edit cus-start cus-load wid-edit autoloads ido haskell-prettify flycheck-pos-tip pos-tip flycheck find-func rx subr-x jka-compr let-alist proof-site proof-autoloads pg-vars company agda2 smart-mode-line-dark-theme smart-mode-line rich-minority page-break-lines diminish which-key which-func imenu elapsed time eml-mode derived demo-mode dash always-make-directory easy-escape easy-mmode delsel paren saveplace savehist xt-mouse finder-inf edmacro kmacro advice tex-site cl-seq cl eieio eieio-core cl-macs info package epg-config compatibility seq byte-opt gv compile comint ansi-color ring bytecomp byte-compile cl-extra help-mode easymenu cl-loaddefs pcase cl-lib cconv tangomod-dark-theme time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cl-generic 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 charscript case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote dbusbind inotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 433672 15194) (symbols 48 33265 1) (miscs 40 54 211) (strings 32 81160 11716) (string-bytes 1 2094594) (vectors 16 42572) (vector-slots 8 774284 7488) (floats 8 294 55) (intervals 56 2934 164) (buffers 976 14) (heap 1024 43373 1840)) --HI0oUaD4APtD3pgfaJhDO8J9tqqngxF9d 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) iQIcBAEBAgAGBQJWjVciAAoJEPqg+cTm90wjhUcP/RJ/TIJ0Fp8zrMlrL0gvbg7i awQHJ5J5OoScrI8VTf8xbAucsJ8Yfr3+uVo5BsH1SGbSumzNKN35fkeX9l2wtFlq HlVIJk8xRUpZccBsq53HLJSaPGRwxDso66DN25AYYzz+HYVeavgfV9SuTi/j1Yn1 MIwKC4x4l1SQs0kUw1zaB2nNkxOZ7NjBaLBXRYXC38SDcBqHh7reQIRswlAj0ub1 MjWe3jnJ8WpuxP3ZP5hEywT79zU+3FaRdOe8I0E8uB8FdmKvsmmjWT5oYahh6TbJ c34iIUSqZlgFZX+SXnVxKX+yrY0gDoaVTqYagMgtg0LrBpNOlPURIpNV+EtGT/BL xHOQ9lWT+90bX+f+GeaasEBuAs0eOc5NNxKzffFwyfReQLjoM8ATvunUSzB0O7iz WonwCIK0pwjuTcinN9xtaLKCeAhRq03OLeIyfQpXcVKCfBVTGzb2IP6hZmpupiC4 JIOA6wQkaDg0733vX2iBaxllQ1y+quWATGFdmkU49lEPEphKthKDYe9x5ti1Ti4j Ly1GXzjNrTL+ynJVhOBBZfhXdC6xyQj5qWOCS+1Kzv9i+NtxpZbxeePrdcRgvBq7 ZHj3MhS8vDVtbUR+AOl0FgymTMrSQr02gmlTY8xmj7ocFiFvEUH0tZv5EEL0FKsm c7d8fu2CBQjAAW/nKi9n =JrVL -----END PGP SIGNATURE----- --HI0oUaD4APtD3pgfaJhDO8J9tqqngxF9d-- ------------=_1452248642-31537-3--