From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: Question about display engine Date: Sun, 11 Aug 2019 10:14:33 +0200 Message-ID: <5361a037-d204-b746-790f-ee2ea09459e6@gmx.at> 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> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="122738"; mail-complaints-to="usenet@blaine.gmane.org" Cc: spacibba@aol.com, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Aug 11 10:17:06 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 1hwj2H-000VpO-U3 for ged-emacs-devel@m.gmane.org; Sun, 11 Aug 2019 10:17:06 +0200 Original-Received: from localhost ([::1]:39430 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hwj2G-0002Mb-St for ged-emacs-devel@m.gmane.org; Sun, 11 Aug 2019 04:17:04 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33181) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hwizv-0007Xv-S2 for emacs-devel@gnu.org; Sun, 11 Aug 2019 04:14:40 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hwizu-0007d9-Tl for emacs-devel@gnu.org; Sun, 11 Aug 2019 04:14:39 -0400 Original-Received: from mout.gmx.net ([212.227.17.20]:35557) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hwizt-0007bp-Cp; Sun, 11 Aug 2019 04:14:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1565511273; bh=tLudLVvSQUxqBJ4MNx198imM62dy022dLumTDj4pels=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=O3QukQLx/eNyTNOBF5TIpAssIswz1H+EzYzjwWWVPjvUmy1d1EU7CxYZt+XKKjtUX 8muTr5fiLue2xOvRIhCg1X3jSpxccygLno7lIid1KKBqW12U9wSMxuSQI8lBIncZ93 METdIfJFGY9Os+o6dW/ODun4dd0lzl5JTh6THV44= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Original-Received: from [192.168.1.101] ([213.142.96.129]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MgvvJ-1iWcFR49yH-00hMZP; Sun, 11 Aug 2019 10:14:33 +0200 In-Reply-To: <83ftm98dgu.fsf@gnu.org> Content-Language: de-DE X-Provags-ID: V03:K1:ABof6jAByPTrTVoF9BVj6plLZ7zv96WO9U9TVxAxUmdDt01r5wf famjJbx7mGha4SJWOEc4/26QlM9ZkfN+VoBoAmjfODwBQRjjzxu7MbY/cDj3iJeWrOu4k/Y lckfXWaxKROMLgrp31XWHmgtBpBL15yAUa3OylOINj8bVInmb94PZuK6pCA+8bMyDXiGFmq EJTjWxafsR99RF47tyIrg== X-UI-Out-Filterresults: notjunk:1;V03:K0:ya+bsrP0628=:1GO6wj88dqGV96OTuqTXvo 0nbPd+XuFmGAvZm39PjZDg9QrCTgZv3rOoGHYnO+H9yShrXLY27PAr5mtstGJVMIsDC8a0P/N kfqgL7JAHV0RfGY/wHVF5YC3Kmx8klxQCovnvy8UX47nhvMsu5rKwM8TaInu84Bba4+nz33td X9XSZtgp82JjQYNm+CxE8u6R0fvLpjGiPBYNsBA0mWpITvyYaSo359csfa92jOkLOIOQ91H4L 47eeTEbN8fak6PbbLFXhdGQ9a+Hm4uTKmN5CD+h76qQMdehu00ztgvdsxzhRDVEu6Sk0u9Lhw y2hP/M3jsOKtKW/anCtxRiIqvZuj38gCcSXdsHmKZ20ZIIpE1WVc6MLNtZCXlr2vZn9kf02av juSF3Fv7ToeYL74EBmc1wbSpsSlfExsNdynJjV4qZu3SVKATpDg5J8I/cY4/yM5U7esJTg0ME 22R5Ih/c/gkbZFPFS46fOkxv9kHEhSNIXup96EW8HYLUuEht3NT4EcY8xe9E+IXtAH+/k4byN gvX+aSBRYu7FfhLLjYOQh0rroB1XjTxrp9HJfqvem1jmwSxABKQ7QtMUXCK1qXptWfzVWS3JF HbqgTW3cFMxCnHulETJoBYcJOC47ZmHkLWj3dARlYabBC0YfPxCNCJZTYD+wQN7QG8VGCWiEz gAAbxjCA+w6CyBuDykVrxUZRjJFVp8UTK3BSo8d0ibyiS5tr65cT/2wnMRpS4dwKvtX0MH9Xe IX+qa2jr/u7fLEJVPW7Jkhri0QFKmdQacnlLOa7CzhV11oNJn6MEp9gVz2AlRYTuPOXLaABQ X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.17.20 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:239322 Archived-At: >> OTOH, the display engine could simply delegate some design decisions >> to the face specification apparatus and attribute any faults to the >> latter. > > 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. Which means that if the region is specified as both underlining and background, _both_ would extend if the extend attribute of the region face is set. It's the user's responsibility to either not set underline or not request extension of the region if such behavior is unwanted. > 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. Those faces' :extend attribute would specify how to extend the background and how to extend the underline. martin