From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#20592: the `display' property messes the `face' properties after `concat' Date: Tue, 19 May 2015 18:31:23 +0300 Message-ID: <83fv6seg8k.fsf@gnu.org> References: <83iobrfeun.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1432049559 4072 80.91.229.3 (19 May 2015 15:32:39 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 19 May 2015 15:32:39 +0000 (UTC) Cc: 20592@debbugs.gnu.org, haroogan@gmail.com To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue May 19 17:32:25 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YujVJ-0001of-H7 for geb-bug-gnu-emacs@m.gmane.org; Tue, 19 May 2015 17:32:25 +0200 Original-Received: from localhost ([::1]:46826 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YujVJ-0005a4-2o for geb-bug-gnu-emacs@m.gmane.org; Tue, 19 May 2015 11:32:25 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55310) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YujV0-0005Gh-Ow for bug-gnu-emacs@gnu.org; Tue, 19 May 2015 11:32:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YujUw-00073B-Nz for bug-gnu-emacs@gnu.org; Tue, 19 May 2015 11:32:06 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:40284) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YujUw-000736-Kt for bug-gnu-emacs@gnu.org; Tue, 19 May 2015 11:32:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YujUw-0003Mz-5I for bug-gnu-emacs@gnu.org; Tue, 19 May 2015 11:32:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 May 2015 15:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 20592 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 20592-submit@debbugs.gnu.org id=B20592.143204950812932 (code B ref 20592); Tue, 19 May 2015 15:32:02 +0000 Original-Received: (at 20592) by debbugs.gnu.org; 19 May 2015 15:31:48 +0000 Original-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 Original-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 Original-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) Original-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) In-reply-to: X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:102951 Archived-At: > 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.