From debbugs-submit-bounces@debbugs.gnu.org Sat May 16 19:58:42 2015 Received: (at submit) by debbugs.gnu.org; 16 May 2015 23:58:42 +0000 Received: from localhost ([127.0.0.1]:47534 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ytlyb-0003x0-RP for submit@debbugs.gnu.org; Sat, 16 May 2015 19:58:42 -0400 Received: from eggs.gnu.org ([208.118.235.92]:53479) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YtlyZ-0003wn-K9 for submit@debbugs.gnu.org; Sat, 16 May 2015 19:58:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YtlyT-0000w9-91 for submit@debbugs.gnu.org; Sat, 16 May 2015 19:58:34 -0400 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, HTML_MESSAGE,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:37870) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YtlyT-0000w5-5r for submit@debbugs.gnu.org; Sat, 16 May 2015 19:58:33 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38753) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YtlyS-0006RE-3B for bug-gnu-emacs@gnu.org; Sat, 16 May 2015 19:58:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YtlyR-0000vv-5X for bug-gnu-emacs@gnu.org; Sat, 16 May 2015 19:58:32 -0400 Received: from mail-la0-x232.google.com ([2a00:1450:4010:c03::232]:35132) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YtlyQ-0000vq-Pi for bug-gnu-emacs@gnu.org; Sat, 16 May 2015 19:58:31 -0400 Received: by labbd9 with SMTP id bd9so171857037lab.2 for ; Sat, 16 May 2015 16:58:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=VCnROL/3oFDeYbNkJIkwuSiZBRx9VzZybEaUcKfueog=; b=F7ro2fR7jHVe/DitShIQkFym65txxb4xbCH7L6YgbeoSyah1ksqZkyyr8yP6V6nlFx Uu+q0vAOf2mVUzuMMIRIY1XSA3/L3hyu7NFN6Y90RBE0BnpO+iqb9z52FIq56AfDbxOQ rTUN9uItGSd9shY5XaEeWLJw2fYhHL7jpiqywHUdgBCgZOQzPAkKSler5Nb+TvhzXkRO bxPeTXXN4ZW4ZEvcLBgep7IHGGQucOD2DHYrBx/UDqnbywiCNo3N30tYHRiBGagkbD9f n+VSL5/J5bG+a9VLjpb5ghg7Z14BmEOOczHCMs0Wlk1n+YaBDEdXDZxrtudoRwEKr9Zp lrRQ== MIME-Version: 1.0 X-Received: by 10.152.87.13 with SMTP id t13mr4123793laz.66.1431820709080; Sat, 16 May 2015 16:58:29 -0700 (PDT) Received: by 10.112.36.103 with HTTP; Sat, 16 May 2015 16:58:29 -0700 (PDT) Date: Sun, 17 May 2015 01:58:29 +0200 Message-ID: Subject: the `display' property messes the `face' properties after `concat' From: Alexander Shukaev To: bug-gnu-emacs Content-Type: multipart/alternative; boundary=001a11c353e6bf346105163bbcb1 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). 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.15 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 (----) --001a11c353e6bf346105163bbcb1 Content-Type: text/plain; charset=UTF-8 Following the "Minibuffer tray to display current time and date" discussion, it seems that a bug with the `display' property. Consider the following code: (setq-default minibuffer-line-format '((:eval (propertize (format-time-string "%Y.%m.%d") 'face 'minibuffer-line-date)) " " (:eval (propertize (format-time-string "%A") 'face 'minibuffer-line-weekday)) " " (:eval (propertize (format-time-string "%R") 'face 'minibuffer-line-time)))) It works as expected. Consider another piece of code: (setq-default minibuffer-line-format `((:eval (let ((string (concat (propertize (format-time-string "%Y.%m.%d") 'face 'minibuffer-line-date) " " (propertize (format-time-string "%A") 'face 'minibuffer-line-weekday) " " (propertize (format-time-string "%R") 'face 'minibuffer-line-time)))) (concat (propertize " " 'display `((space :align-to (- right right-fringe ,(length string))))) string))))) Alignment works as expected, but faces are messed up. In fact, the default face is used everywhere (which comes from the `display' property), like if subsequent propertizings of date, weekday, and time have never been there. --001a11c353e6bf346105163bbcb1 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCIgc3R5bGU9ImZvbnQtZmFt aWx5Om1vbm9zcGFjZSI+Rm9sbG93aW5nIHRoZSAmcXVvdDtNaW5pYnVmZmVyIHRyYXkgdG8gZGlz cGxheSBjdXJyZW50IHRpbWUgYW5kIGRhdGUmcXVvdDsgZGlzY3Vzc2lvbiwgaXQgc2VlbXMgdGhh dCBhIGJ1ZyB3aXRoIHRoZSBgZGlzcGxheSYjMzk7IHByb3BlcnR5LsKgIENvbnNpZGVyIHRoZSBm b2xsb3dpbmcgY29kZTo8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0IiBzdHlsZT0iZm9u dC1mYW1pbHk6bW9ub3NwYWNlIj48YnI+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCIg c3R5bGU9ImZvbnQtZmFtaWx5Om1vbm9zcGFjZSI+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCI+ wqAgKHNldHEtZGVmYXVsdCBtaW5pYnVmZmVyLWxpbmUtZm9ybWF0PC9kaXY+PGRpdiBjbGFzcz0i Z21haWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgJiMzOTsoKDpldmFsIChwcm9w ZXJ0aXplIChmb3JtYXQtdGltZS1zdHJpbmcgJnF1b3Q7JVkuJW0uJWQmcXVvdDspPC9kaXY+PGRp diBjbGFzcz0iZ21haWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAmIzM5O2ZhY2U8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9k ZWZhdWx0Ij7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCYjMzk7bWluaWJ1ZmZlci1saW5lLWRhdGUpKTwvZGl2PjxkaXYgY2xhc3M9ImdtYWls X2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICZxdW90OyAmcXVvdDs8L2Rpdj48 ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAoOmV2 YWwgKHByb3BlcnRpemUgKGZvcm1hdC10aW1lLXN0cmluZyAmcXVvdDslQSZxdW90Oyk8L2Rpdj48 ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCYjMzk7ZmFjZTwvZGl2PjxkaXYgY2xhc3M9ImdtYWls X2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgJiMzOTttaW5pYnVmZmVyLWxpbmUtd2Vla2RheSkpPC9kaXY+PGRpdiBjbGFzcz0i Z21haWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgJnF1b3Q7ICZxdW90Ozwv ZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg ICg6ZXZhbCAocHJvcGVydGl6ZSAoZm9ybWF0LXRpbWUtc3RyaW5nICZxdW90OyVSJnF1b3Q7KTwv ZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJiMzOTtmYWNlPC9kaXY+PGRpdiBjbGFzcz0i Z21haWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAmIzM5O21pbmlidWZmZXItbGluZS10aW1lKSkpKTwvZGl2PjxkaXYgY2xh c3M9ImdtYWlsX2RlZmF1bHQiPjxicj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij5J dCB3b3JrcyBhcyBleHBlY3RlZC48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij48YnI+ PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCI+Q29uc2lkZXIgYW5vdGhlciBwaWVjZSBv ZiBjb2RlOjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiPjxicj48L2Rpdj48ZGl2IGNs YXNzPSJnbWFpbF9kZWZhdWx0Ij48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij7CoCAoc2V0cS1k ZWZhdWx0IG1pbmlidWZmZXItbGluZS1mb3JtYXQ8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZh dWx0Ij7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBgKCg6ZXZhbDwvZGl2PjxkaXYgY2xhc3M9Imdt YWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKGxldCAoKHN0cmluZyAo Y29uY2F0PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgKHByb3BlcnRpemUgKGZvcm1hdC10aW1l LXN0cmluZyAmcXVvdDslWS4lbS4lZCZxdW90Oyk8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZh dWx0Ij7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCAmIzM5O2ZhY2U8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0 Ij7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCAmIzM5O21pbmlidWZmZXItbGluZS1kYXRlKTwvZGl2PjxkaXYgY2xhc3M9 ImdtYWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgICZxdW90OyAmcXVvdDs8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij7C oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAocHJvcGVy dGl6ZSAoZm9ybWF0LXRpbWUtc3RyaW5nICZxdW90OyVBJnF1b3Q7KTwvZGl2PjxkaXYgY2xhc3M9 ImdtYWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICYjMzk7ZmFjZTwvZGl2PjxkaXYgY2xhc3M9Imdt YWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICYjMzk7bWluaWJ1ZmZlci1saW5lLXdlZWtkYXkpPC9k aXY+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgJnF1b3Q7ICZxdW90OzwvZGl2PjxkaXYgY2xhc3M9Imdt YWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIChwcm9wZXJ0aXplIChmb3JtYXQtdGltZS1zdHJpbmcgJnF1b3Q7JVImcXVvdDspPC9k aXY+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgJiMzOTtmYWNlPC9kaXY+ PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgJiMzOTttaW5pYnVmZmVyLWxp bmUtdGltZSkpKSk8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij7CoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoChjb25jYXQgKHByb3BlcnRpemUgJnF1b3Q7ICZxdW90OzwvZGl2 PjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJiMzOTtkaXNwbGF5PC9kaXY+PGRpdiBj bGFzcz0iZ21haWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBgKChzcGFjZSA6YWxpZ24tdG88L2Rpdj48ZGl2IGNs YXNzPSJnbWFpbF9kZWZhdWx0Ij7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAoLSByaWdodDwvZGl2PjxkaXYg Y2xhc3M9ImdtYWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgcmlnaHQtZnJpbmdl PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAs KGxlbmd0aCBzdHJpbmcpKSkpKTwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiPsKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgc3RyaW5nKSkpKSk8L2Rpdj48 ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij48YnI+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfZGVm YXVsdCI+QWxpZ25tZW50IHdvcmtzIGFzIGV4cGVjdGVkLCBidXQgZmFjZXMgYXJlIG1lc3NlZCB1 cC7CoCBJbiBmYWN0LCB0aGUgZGVmYXVsdCBmYWNlIGlzIHVzZWQgZXZlcnl3aGVyZSAod2hpY2gg Y29tZXMgZnJvbSB0aGUgYGRpc3BsYXkmIzM5OyBwcm9wZXJ0eSksIGxpa2UgaWYgc3Vic2VxdWVu dCBwcm9wZXJ0aXppbmdzIG9mIGRhdGUsIHdlZWtkYXksIGFuZCB0aW1lIGhhdmUgbmV2ZXIgYmVl biB0aGVyZS48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4NCg== --001a11c353e6bf346105163bbcb1-- From debbugs-submit-bounces@debbugs.gnu.org Sun May 17 10:39:31 2015 Received: (at 20592) by debbugs.gnu.org; 17 May 2015 14:39:31 +0000 Received: from localhost ([127.0.0.1]:48275 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ytzj0-00017A-Gr for submit@debbugs.gnu.org; Sun, 17 May 2015 10:39:31 -0400 Received: from mtaout20.012.net.il ([80.179.55.166]:49942) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Ytziy-00016x-2P for 20592@debbugs.gnu.org; Sun, 17 May 2015 10:39:29 -0400 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0NOI003000LPL300@a-mtaout20.012.net.il> for 20592@debbugs.gnu.org; Sun, 17 May 2015 17:39:21 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NOI003MZ0PJIS20@a-mtaout20.012.net.il>; Sun, 17 May 2015 17:39:21 +0300 (IDT) Date: Sun, 17 May 2015 17:39:12 +0300 From: Eli Zaretskii Subject: Re: bug#20592: the `display' property messes the `face' properties after `concat' In-reply-to: X-012-Sender: halo1@inter.net.il To: Alexander Shukaev Message-id: <83iobrfeun.fsf@gnu.org> References: X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20592 Cc: 20592@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii 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 (+) > Date: Sun, 17 May 2015 01:58:29 +0200 > From: Alexander Shukaev > > Consider another piece of code: > > (setq-default minibuffer-line-format > `((:eval > (let ((string (concat > (propertize (format-time-string "%Y.%m.%d") > 'face > 'minibuffer-line-date) > " " > (propertize (format-time-string "%A") > 'face > 'minibuffer-line-weekday) > " " > (propertize (format-time-string "%R") > 'face > 'minibuffer-line-time)))) > (concat (propertize " " > 'display > `((space :align-to > (- right > right-fringe > ,(length string))))) > string))))) > Alignment works as expected, but faces are messed up. In fact, the default face is used everywhere (which comes from the `display' property), like if subsequent propertizings of date, weekday, and time have never been there. (To complete the bug report, the 3 minibuffer-line-* faces need to be defined, and the minibuffer-line package from ELPA loaded and then minibuffer-line-mode turned on.) The behavior you observe is because the ':eval' construct expects to produce a single string with either the same common face spec on all of its characters, or no faces at all. You cannot use ':eval' to produce a string that has more than one face spec on its different characters; if you do, only the face spec of the first character of the string will be honored. 'minibuffer-line-mode' is implemented via the function 'format-mode-line'. While I can understand this design decision, the downside is that you get to face some of the idiosyncrasies of formatting the mode line. (E.g., did you ask yourself why you get an extra column of white space after the string?) The upshot of this is that you need to generate each substring that has a unique face with its own ':eval'. For example, the following abomination works as you expect: (setq-default minibuffer-line-format '((:eval (propertize " " 'display `((space :align-to (- right right-fringe ,(length (concat (format-time-string "%Y.%m.%d") " " (format-time-string "%A") " " (format-time-string "%R")))))))) (:eval (propertize (format-time-string "%Y.%m.%d") 'face 'minibuffer-line-date)) " " (:eval (propertize (format-time-string "%A") 'face 'minibuffer-line-weekday)) " " (:eval (propertize (format-time-string "%R") 'face 'minibuffer-line-time)))) From debbugs-submit-bounces@debbugs.gnu.org Mon May 18 21:20:15 2015 Received: (at 20592) by debbugs.gnu.org; 19 May 2015 01:20:15 +0000 Received: from localhost ([127.0.0.1]:49497 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YuWCb-0006li-G7 for submit@debbugs.gnu.org; Mon, 18 May 2015 21:20:14 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.181]:17726) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YuWCZ-0006lU-3t for 20592@debbugs.gnu.org; Mon, 18 May 2015 21:20:11 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgUFAGvvdVTO+LMW/2dsb2JhbAA3gVOhb4EIgXUBAQQBViMFCws0EhQYDSSIE6IRjAMKFEMJAwECgz4Dg3AEo2OEWA X-IPAS-Result: AgUFAGvvdVTO+LMW/2dsb2JhbAA3gVOhb4EIgXUBAQQBViMFCws0EhQYDSSIE6IRjAMKFEMJAwECgz4Dg3AEo2OEWA X-IronPort-AV: E=Sophos;i="5.11,557,1422939600"; d="scan'208";a="120743250" Received: from 206-248-179-22.dsl.teksavvy.com (HELO pastel.home) ([206.248.179.22]) by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 18 May 2015 21:20:05 -0400 Received: by pastel.home (Postfix, from userid 20848) id 131EA2B99; Mon, 18 May 2015 21:20:05 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#20592: the `display' property messes the `face' properties after `concat' Message-ID: References: <83iobrfeun.fsf@gnu.org> Date: Mon, 18 May 2015 21:20:05 -0400 In-Reply-To: <83iobrfeun.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 17 May 2015 17:39:12 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 20592 Cc: 20592@debbugs.gnu.org, Alexander Shukaev X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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.3 (/) > The behavior you observe is because the ':eval' construct expects to > produce a single string with either the same common face spec on all > of its characters, or no faces at all. You cannot use ':eval' to > produce a string that has more than one face spec on its different > characters; if you do, only the face spec of the first character of > the string will be honored. IIUC, this is the bug that needs to be fixed. Or is there a reason to consider this as a feature? Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue May 19 11:31:48 2015 Received: (at 20592) by debbugs.gnu.org; 19 May 2015 15:31:48 +0000 Received: from localhost ([127.0.0.1]:50259 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YujUe-0003MS-MC for submit@debbugs.gnu.org; Tue, 19 May 2015 11:31:48 -0400 Received: from mtaout28.012.net.il ([80.179.55.184]:57807) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YujUY-0003M8-Eg for 20592@debbugs.gnu.org; Tue, 19 May 2015 11:31:42 -0400 Received: from conversion-daemon.mtaout28.012.net.il by mtaout28.012.net.il (HyperSendmail v2007.08) id <0NOL00600SE1GB00@mtaout28.012.net.il> for 20592@debbugs.gnu.org; Tue, 19 May 2015 18:30:34 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout28.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NOL002VUSEYB930@mtaout28.012.net.il>; Tue, 19 May 2015 18:30:34 +0300 (IDT) Date: Tue, 19 May 2015 18:31:23 +0300 From: Eli Zaretskii Subject: Re: bug#20592: the `display' property messes the `face' properties after `concat' In-reply-to: X-012-Sender: halo1@inter.net.il To: Stefan Monnier Message-id: <83fv6seg8k.fsf@gnu.org> References: <83iobrfeun.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20592 Cc: 20592@debbugs.gnu.org, haroogan@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii 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 (+) > From: Stefan Monnier > Cc: Alexander Shukaev , 20592@debbugs.gnu.org > Date: Mon, 18 May 2015 21:20:05 -0400 > > > The behavior you observe is because the ':eval' construct expects to > > produce a single string with either the same common face spec on all > > of its characters, or no faces at all. You cannot use ':eval' to > > produce a string that has more than one face spec on its different > > characters; if you do, only the face spec of the first character of > > the string will be honored. > > IIUC, this is the bug that needs to be fixed. > Or is there a reason to consider this as a feature? I think the reason for this implementation was to keep the code simple and efficient. After all, ':eval' is part of the standard mode line, in several places, so this code runs each time we update the mode line, which we do a lot. I agree that the limitation is counter-intuitive, and barely documented, but given that using a separate ':eval' is such an easy solution, perhaps we should simply document this. Fixing this doesn't sound as high priority to me. From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 25 15:16:51 2015 Received: (at 20592) by debbugs.gnu.org; 25 Jun 2015 19:16:51 +0000 Received: from localhost ([127.0.0.1]:57490 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8Cdm-0004NM-FY for submit@debbugs.gnu.org; Thu, 25 Jun 2015 15:16:50 -0400 Received: from mail-lb0-f172.google.com ([209.85.217.172]:35481) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8Cdj-0004N8-K3 for 20592@debbugs.gnu.org; Thu, 25 Jun 2015 15:16:48 -0400 Received: by lbbwc1 with SMTP id wc1so51502729lbb.2 for <20592@debbugs.gnu.org>; Thu, 25 Jun 2015 12:16:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=iUaJ1dy8iFPlbRBBQeMUiUZS+er8O4DB/mHGf6zx3qA=; b=EM2kYV4krHreGacF8Unf+Jsk3+0PIOHJCH8acGg1RXq/Lw+W7TIM8PdKvvruXcDeZs +m6DELYJ3wgTCkuXFLk2CGBbM8Bhm2cKQW7xE00lTu9RCGIh60+SKhSFS62MLIPv7hRJ aBlyLwDHvqpIz4V2XSHyJVAKtlxAzh4nzch0gfraRKHa7Y0gttA1W6uQ7oZFXKuinXkQ bC+jk8w347eN3hVI4LTwYTZx61vrP5K2Y03/wXzCSrsMda/xkvdC4CoJjwtrifSX4bAX qbFfpvjKHj9ZGKtqmZif6JbKRv+E5i4MpSQ9ivw5O0JJt91AEz7+MmVPyJ88ZumgRx2R YHlA== MIME-Version: 1.0 X-Received: by 10.152.30.4 with SMTP id o4mr44745306lah.74.1435259801794; Thu, 25 Jun 2015 12:16:41 -0700 (PDT) Received: by 10.112.36.103 with HTTP; Thu, 25 Jun 2015 12:16:41 -0700 (PDT) In-Reply-To: <83fv6seg8k.fsf@gnu.org> References: <83iobrfeun.fsf@gnu.org> <83fv6seg8k.fsf@gnu.org> Date: Thu, 25 Jun 2015 21:16:41 +0200 Message-ID: Subject: Re: bug#20592: the `display' property messes the `face' properties after `concat' From: Alexander Shukaev To: Eli Zaretskii Content-Type: multipart/alternative; boundary=089e0160b436a57e8f05195c76a7 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 20592 Cc: 20592@debbugs.gnu.org, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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 (/) --089e0160b436a57e8f05195c76a7 Content-Type: text/plain; charset=UTF-8 Not sure how this complies with what Eli said: The behavior you observe is because the ':eval' construct expects to > produce a single string with either the same common face spec on all > of its characters, or no faces at all. You cannot use ':eval' to > produce a string that has more than one face spec on its different > characters; if you do, only the face spec of the first character of > the string will be honored. but I've still managed to work it out in the following way: (setq-default minibuffer-line-format '((:eval (let* ((date-string (propertize (format-time-string "%Y.%m.%d") 'face 'minibuffer-line-date)) (weekday-string (propertize (format-time-string "%A") 'face 'minibuffer-line-weekday)) (time-string (propertize (format-time-string "%R") 'face 'minibuffer-line-time)) (right-string-list (list date-string " " weekday-string " " time-string)) (right-string (apply #'concat right-string-list)) (pad-string (propertize " " 'display `((space :align-to (- right right-fringe ,(length right-string))))))) (list pad-string right-string-list))))) --089e0160b436a57e8f05195c76a7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCIgc3R5bGU9ImZvbnQtZmFt aWx5Om1vbm9zcGFjZSI+Tm90IHN1cmUgaG93IHRoaXMgY29tcGxpZXMgd2l0aCB3aGF0IEVsaSBz YWlkOjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiIHN0eWxlPSJmb250LWZhbWlseTpt b25vc3BhY2UiPjxicj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0IiBzdHlsZT0iZm9u dC1mYW1pbHk6bW9ub3NwYWNlIj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxl PSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4O2JvcmRlci1s ZWZ0LWNvbG9yOnJnYigyMDQsMjA0LDIwNCk7Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7cGFkZGlu Zy1sZWZ0OjFleCI+VGhlIGJlaGF2aW9yIHlvdSBvYnNlcnZlIGlzIGJlY2F1c2UgdGhlICYjMzk7 OmV2YWwmIzM5OyBjb25zdHJ1Y3QgZXhwZWN0cyB0bzxicj5wcm9kdWNlIGEgc2luZ2xlIHN0cmlu ZyB3aXRoIGVpdGhlciB0aGUgc2FtZSBjb21tb24gZmFjZSBzcGVjIG9uIGFsbDxicj5vZiBpdHMg Y2hhcmFjdGVycywgb3Igbm8gZmFjZXMgYXQgYWxsLsKgIFlvdSBjYW5ub3QgdXNlICYjMzk7OmV2 YWwmIzM5OyB0bzxicj5wcm9kdWNlIGEgc3RyaW5nIHRoYXQgaGFzIG1vcmUgdGhhbiBvbmUgZmFj ZSBzcGVjIG9uIGl0cyBkaWZmZXJlbnQ8YnI+Y2hhcmFjdGVyczsgaWYgeW91IGRvLCBvbmx5IHRo ZSBmYWNlIHNwZWMgb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBvZjxicj50aGUgc3RyaW5nIHdpbGwg YmUgaG9ub3JlZC48L2Jsb2NrcXVvdGU+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCI+PGJyPjwv ZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiPmJ1dCBJJiMzOTt2ZSBzdGlsbCBtYW5hZ2Vk IHRvIHdvcmsgaXQgb3V0IGluIHRoZSBmb2xsb3dpbmcgd2F5OjwvZGl2PjxkaXYgY2xhc3M9Imdt YWlsX2RlZmF1bHQiPjxicj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij48ZGl2IGNs YXNzPSJnbWFpbF9kZWZhdWx0Ij7CoCAoc2V0cS1kZWZhdWx0IG1pbmlidWZmZXItbGluZS1mb3Jt YXQ8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij7CoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCAmIzM5OygoOmV2YWw8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij7CoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoChsZXQqICgoZGF0ZS1zdHJpbmc8L2Rpdj48ZGl2IGNsYXNzPSJn bWFpbF9kZWZhdWx0Ij7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoChw cm9wZXJ0aXplIChmb3JtYXQtdGltZS1zdHJpbmcgJnF1b3Q7JVkuJW0uJWQmcXVvdDspPC9kaXY+ PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAmIzM5O2ZhY2U8L2Rpdj48ZGl2IGNsYXNzPSJn bWFpbF9kZWZhdWx0Ij7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCYjMzk7bWluaWJ1ZmZlci1saW5lLWRhdGUpKTwvZGl2PjxkaXYgY2xh c3M9ImdtYWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg ICh3ZWVrZGF5LXN0cmluZzwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiPsKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKHByb3BlcnRpemUgKGZvcm1hdC10aW1l LXN0cmluZyAmcXVvdDslQSZxdW90Oyk8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij7C oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCYjMzk7ZmFjZTwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJiMzOTttaW5pYnVm ZmVyLWxpbmUtd2Vla2RheSkpPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCI+wqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgKHRpbWUtc3RyaW5nPC9kaXY+PGRpdiBj bGFzcz0iZ21haWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAocHJvcGVydGl6ZSAoZm9ybWF0LXRpbWUtc3RyaW5nICZxdW90OyVSJnF1b3Q7KTwvZGl2 PjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJiMzOTtmYWNlPC9kaXY+PGRpdiBjbGFzcz0i Z21haWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAmIzM5O21pbmlidWZmZXItbGluZS10aW1lKSk8L2Rpdj48ZGl2IGNs YXNzPSJnbWFpbF9kZWZhdWx0Ij7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCAocmlnaHQtc3RyaW5nLWxpc3Q8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij7CoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoChsaXN0IGRhdGUtc3RyaW5nPC9k aXY+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAmcXVvdDsgJnF1b3Q7PC9kaXY+PGRpdiBjbGFzcz0iZ21h aWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqB3ZWVrZGF5LXN0cmluZzwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiPsKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJnF1b3Q7ICZxdW90 OzwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgdGltZS1zdHJpbmcpKTwvZGl2PjxkaXYgY2xhc3M9 ImdtYWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIChy aWdodC1zdHJpbmc8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij7CoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoChhcHBseSAjJiMzOTtjb25jYXQgcmlnaHQtc3Ry aW5nLWxpc3QpKTwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIChwYWQtc3RyaW5nPC9kaXY+PGRpdiBjbGFzcz0iZ21h aWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAocHJv cGVydGl6ZSAmcXVvdDsgJnF1b3Q7PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCI+wqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAm IzM5O2Rpc3BsYXk8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij7CoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGAoKHNwYWNlIDph bGlnbi10bzwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiPsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICgt IHJpZ2h0PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCI+wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqByaWdodC1mcmluZ2U8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij7CoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCwobGVuZ3RoIHJpZ2h0LXN0cmluZykpKSkpKSk8L2Rpdj48ZGl2IGNsYXNzPSJn bWFpbF9kZWZhdWx0Ij7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoChsaXN0IHBhZC1z dHJpbmc8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0Ij7CoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoHJpZ2h0LXN0cmluZy1saXN0KSkpKSk8L2Rpdj48L2Rpdj48 L2Rpdj48L2Rpdj4NCg== --089e0160b436a57e8f05195c76a7-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 25 15:42:32 2015 Received: (at 20592) by debbugs.gnu.org; 25 Jun 2015 19:42:32 +0000 Received: from localhost ([127.0.0.1]:57518 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8D2e-000511-9D for submit@debbugs.gnu.org; Thu, 25 Jun 2015 15:42:32 -0400 Received: from mtaout20.012.net.il ([80.179.55.166]:40579) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z8D2b-00050k-A0 for 20592@debbugs.gnu.org; Thu, 25 Jun 2015 15:42:30 -0400 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0NQI00J00MB8CQ00@a-mtaout20.012.net.il> for 20592@debbugs.gnu.org; Thu, 25 Jun 2015 22:42:22 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NQI00JR9MQM43A0@a-mtaout20.012.net.il>; Thu, 25 Jun 2015 22:42:22 +0300 (IDT) Date: Thu, 25 Jun 2015 22:42:15 +0300 From: Eli Zaretskii Subject: Re: bug#20592: the `display' property messes the `face' properties after `concat' In-reply-to: X-012-Sender: halo1@inter.net.il To: Alexander Shukaev Message-id: <83381fefs8.fsf@gnu.org> References: <83iobrfeun.fsf@gnu.org> <83fv6seg8k.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 20592 Cc: 20592@debbugs.gnu.org, monnier@iro.umontreal.ca X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii 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 (+) > Date: Thu, 25 Jun 2015 21:16:41 +0200 > From: Alexander Shukaev > Cc: Stefan Monnier , 20592@debbugs.gnu.org > > Not sure how this complies with what Eli said: > > The behavior you observe is because the ':eval' construct expects to > produce a single string with either the same common face spec on all > of its characters, or no faces at all. You cannot use ':eval' to > produce a string that has more than one face spec on its different > characters; if you do, only the face spec of the first character of > the string will be honored. > > but I've still managed to work it out in the following way: It does comply, AFAIU: you produced a list, not a string. Each string in the list still needs to have a single face on all of its characters. From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 02 05:01:11 2021 Received: (at 20592) by debbugs.gnu.org; 2 Dec 2021 10:01:11 +0000 Received: from localhost ([127.0.0.1]:46682 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msitr-0007J0-Fx for submit@debbugs.gnu.org; Thu, 02 Dec 2021 05:01:11 -0500 Received: from quimby.gnus.org ([95.216.78.240]:37084) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msitp-0007CZ-JZ for 20592@debbugs.gnu.org; Thu, 02 Dec 2021 05:01:10 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Z6yNS5nKG+n9dOsOx3e+YAGHNFYrvvvz0J55tY9QOUA=; b=KGCcp7hwt66vIAaYhwrHWxlQa9 24xQHjco9ha1OcFHpkNeSDG5KLvJoKInkbb7BhnHWAnKqelZC2J621+0mQu2OemWFHYGJCaH8W1cm 9WbBkmbi7vz1w5n1mZXz9ehq75kNLjk1ymhQ/9scUf2Y2lWS1Rss9okRElrLo/+WjKZs=; Received: from [84.212.220.105] (helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1msita-00084H-TD; Thu, 02 Dec 2021 11:01:01 +0100 From: Lars Ingebrigtsen To: Eli Zaretskii Subject: Re: bug#20592: the `display' property messes the `face' properties after `concat' References: <83iobrfeun.fsf@gnu.org> <83fv6seg8k.fsf@gnu.org> <83381fefs8.fsf@gnu.org> X-Now-Playing: Riow Aral's _Beat Bracelet_: "Side Swipe" Date: Thu, 02 Dec 2021 11:00:54 +0100 In-Reply-To: <83381fefs8.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 25 Jun 2015 22:42:15 +0300") Message-ID: <87sfvb5ns9.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.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 @@CONTACT_ADDRESS@@ for details. Content preview: Eli Zaretskii writes: > It does comply, AFAIU: you produced a list, not a string. Each string > in the list still needs to have a single face on all of its > characters. So I don't think there's anything to fix here -- the text property limitation on mode line strings wasn't documented before, but it's documented in Emacs 28. Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 20592 Cc: 20592@debbugs.gnu.org, Alexander Shukaev , monnier@iro.umontreal.ca 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 (---) Eli Zaretskii writes: > It does comply, AFAIU: you produced a list, not a string. Each string > in the list still needs to have a single face on all of its > characters. So I don't think there's anything to fix here -- the text property limitation on mode line strings wasn't documented before, but it's documented in Emacs 28. So I'm closing this bug report. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 02 05:01:13 2021 Received: (at control) by debbugs.gnu.org; 2 Dec 2021 10:01:13 +0000 Received: from localhost ([127.0.0.1]:46685 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msitt-0007L1-Mn for submit@debbugs.gnu.org; Thu, 02 Dec 2021 05:01:13 -0500 Received: from quimby.gnus.org ([95.216.78.240]:37098) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1msitr-0007Em-Qx for control@debbugs.gnu.org; Thu, 02 Dec 2021 05:01:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=PrNVnv6S2Tt0Xu3edSIxFM6u92JM/0aAe4UnibdKql8=; b=bfYdyLtBeha+k3YTHsP4YDVmxG LGq9y+65GUEvAALZ7pXnLrHh0nCzhJx7iVW97y+D58sOySDF24X3ZpnajdWCC8cTQH13rm9HdPEKM Bm6Q4+JUVYL30vlsHhVOzb9LXYwHjfUr+rmIR40p0ZWo8VSyTIQgma720+Wlwy0TCEHw=; Received: from [84.212.220.105] (helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1msitk-00084W-5A for control@debbugs.gnu.org; Thu, 02 Dec 2021 11:01:06 +0100 Date: Thu, 02 Dec 2021 11:01:03 +0100 Message-Id: <87r1av5ns0.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #20592 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.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 @@CONTACT_ADDRESS@@ for details. Content preview: close 20592 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) 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: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) close 20592 quit From unknown Sat Jun 21 10:45:02 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 30 Dec 2021 12:24:15 +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