From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Question about display engine Date: Sun, 11 Aug 2019 17:13:23 +0300 Message-ID: <83o90vu6ws.fsf@gnu.org> References: <83k1bpasic.fsf@gnu.org> <20190807155738.yviofsumjjhqueci@Ergus> <83imr9ar9f.fsf@gnu.org> <0975890b-37b4-428d-f6e5-5dcf894fb6be@gmx.at> <83ftmdapxm.fsf@gnu.org> <20190808083804.ta3evocyb4hirywj@Ergus> <20190808145015.2qaxwzwf4ws2i3er@Ergus> <83ftm98dgu.fsf@gnu.org> <5361a037-d204-b746-790f-ee2ea09459e6@gmx.at> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="176483"; mail-complaints-to="usenet@blaine.gmane.org" Cc: spacibba@aol.com, emacs-devel@gnu.org To: martin rudalics Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Aug 11 16:13:47 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hwobQ-000jo1-QR for ged-emacs-devel@m.gmane.org; Sun, 11 Aug 2019 16:13:44 +0200 Original-Received: from localhost ([::1]:40428 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hwobP-0002YN-Rn for ged-emacs-devel@m.gmane.org; Sun, 11 Aug 2019 10:13:43 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41089) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hwobL-0002Y0-G2 for emacs-devel@gnu.org; Sun, 11 Aug 2019 10:13:40 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:35760) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hwobL-0002NF-56; Sun, 11 Aug 2019 10:13:39 -0400 Original-Received: from [176.228.60.248] (port=3099 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hwobK-0000JL-LY; Sun, 11 Aug 2019 10:13:38 -0400 In-reply-to: <5361a037-d204-b746-790f-ee2ea09459e6@gmx.at> (message from martin rudalics on Sun, 11 Aug 2019 10:14:33 +0200) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:239325 Archived-At: > Cc: spacibba@aol.com, emacs-devel@gnu.org > From: martin rudalics > Date: Sun, 11 Aug 2019 10:14:33 +0200 > > > I don't think this is workable, because of face merging. The actual > > face used to display the last character on a screen line can (and > > frequently does) come from merging several faces, and there's no > > meaningful answer to the question: which face did this attribute come > > from? > > Answering this question should not be the task of a (face agnostic) > display engine. The face merging algorithm would have to decide > whether the :extend attribute of the winning face should cause an > extension of any attribute specified by that face. What is the "winning face" in this context? > > For a face merged from 2 or more faces defined via defface, how > > do you tell whether or not to extend it? Thus, such delegation can > > only yield inconsistent behavior and more bug reports. > > But there's only one face that decides whether and how the background > shall be set and there's only face that decides that for underlining. Not necessarily true: two or more faces could specify the same value of a particular attribute, including background and underlining. The :extend attribute could be different in some of these faces.