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, 1 Sep 2019 10:14:06 +0200 Message-ID: <8acd9fc1-e6ce-9a86-cfb6-e00a672c154a@gmx.at> References: <20190819161305.uwlgsm44yjrmul3o@Ergus> <83pnl1kskj.fsf@gnu.org> <20190819213024.ciukp34xmgrzh7yn@Ergus> <83imqskjyb.fsf@gnu.org> <20190825102205.rxhmu3bukraywhok@Ergus> <83lfvhh6dn.fsf@gnu.org> <20190826043145.pm5aplrxna5hwcso@Ergus> <83y2zgfjzs.fsf@gnu.org> <20190826081819.cuhm3tpw3lq3m5jh@Ergus> <83mufwfe8o.fsf@gnu.org> <20190827222025.p2cbjwak4ysi3ept@Ergus> <3ea328a6-2b35-5a01-77a1-bbf9ff7f16f2@gmx.at> <83lfvdd5f7.fsf@gnu.org> <83woexb3yu.fsf@gnu.org> <160dfd3f-60d4-8758-df65-2165c552f39e@gmx.at> <83zhjrakf9.fsf@gnu.org> <2aff0873-5d18-a4a0-eada-1ad0e632e753@gmx.at> <83mufr9gya.fsf@gnu.org> <03a80221-5222-9b8b-86a1-67cef18df463@gmx.at> <83zhjp937v.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="147809"; 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 Sep 01 10:22:45 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 1i4L8F-000cEZ-NA for ged-emacs-devel@m.gmane.org; Sun, 01 Sep 2019 10:22:43 +0200 Original-Received: from localhost ([::1]:48564 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i4L88-0007fj-Lo for ged-emacs-devel@m.gmane.org; Sun, 01 Sep 2019 04:22:36 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54013) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i4L0A-0006So-8F for emacs-devel@gnu.org; Sun, 01 Sep 2019 04:14:24 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i4L07-0007x0-R4 for emacs-devel@gnu.org; Sun, 01 Sep 2019 04:14:21 -0400 Original-Received: from mout.gmx.net ([212.227.15.19]:42869) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i4L04-0007rq-R2; Sun, 01 Sep 2019 04:14:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1567325648; bh=7KE52KONB7d2cUu4JEfnpFBBm85WJ+yd4Eq6SiYMbcs=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=ADljbqwfJZ/ftl8aihBgs82odm0euiu57IG0h1dZcpx2MFjYQikydvSX/R3VQrCRX /fqVq6ZELYr/Zoh2qGkq4b+RsoVdfG5WaWFJEV1C5nz1TVWpo+Sz4TZBDzj2eNMx42 DMA5C7l4Q9QLcd3RYW0vjOkIELHBufo1eynuYYY8= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Original-Received: from [192.168.1.101] ([46.125.249.4]) by mail.gmx.com (mrgmx001 [212.227.17.190]) with ESMTPSA (Nemesis) id 0LzskF-1iGjIC47Od-014xfE; Sun, 01 Sep 2019 10:14:08 +0200 In-Reply-To: <83zhjp937v.fsf@gnu.org> Content-Language: de-DE X-Provags-ID: V03:K1:o3paQHkSy47i9iDeVIp7XgOYjNsoHGWWyL3bwhw4iEsK4hdhXRQ ntaIjXduRKfIOFREIsSkiUE3hJQbwaxaoNWCvY57JA/tIxLGuCu1q1jp50uNJW1ADsukby2 08Yoz6TnZBeyHiND5ZmtRB/lsSQxyD+z/AKEPzqaIeI7RmURhCOtPsvvTKHU5zsPnq1vO6m nC7RIHHDNGnqL0GVEAaOg== X-UI-Out-Filterresults: notjunk:1;V03:K0:n8b+cN62y3Y=:iE9vmTpkLTknGiOaskd/UA qG7cdrwjXB2pktlwhLqceUcU/YnWNhMR5cEJaiLhWE+t5R6tkC9UI1GOLGIdzDMVXgrmJGIF1 hoidCb41PXlwH2NZwhMtXjXa86bK/MyckK2U7qWDGmuxCYMkS2QEJ0BGSXp2e+l5JaqXtuIHO eXkwm4ghOBtSEMfkxpfVG2a0zx7evlJ48snhsk1Xwyg4+yKolbwgUClTXXDShXBCcGJlfqCwn bkwwp/PPNlWcF58ElFdFvXj4L6xvwRKq3I4eSdQhLydH2jo7jweP7OmdEBxnQiMZlY1PeTapK iTrNnDwqddRg7wD0JYF3572dVODFhyMmLHwMWU51pQW9QS4DRoxnM1oCxNhr2gyfAVsV3Zn+v mrqwId0zzN2bHPkXendRlQ4gSiwrSybSFALadQfYGoq7rO3UKCRRDtYry3BQNMGDERPustEL1 m8ylNgFLa0cdBwUOikQgUQDAVbOGIodP75r5ZFGwmCPLV94KP2ciOWlFKjuiPKDffRqeasmLv k1bNxA3/1YWB4e8ijShEdzftK3R6ZvDSj5zqbiFyfTlNb61RDdOvx3oGdoK6FUb42CbN3xNXN FztITEObvD+nlYFciMOSHzpi/rU4Ff4FzlRoRVg/dLKrvDYjjl378/P6DwCM4wxMESKrb0byy nsbFv78YOTYLEUnlzATfYc3Z7gsFpubkt5sIm7R4RP3y68aHMdpB2VthPCNTCQWLPhlBY0Zg+ JdYn06RyrkwvuRtktvl0VQdIHW2yjhz4pAoMwKYcWJZXEme96kO2h16s1OuKPSHO66P0TXYo X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.15.19 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:239743 Archived-At: >> To put this into praxis, the face merger would maintain a shadow copy >> of the background value. That shadow value would not get overwritten >> when merging in the :background attribute of a face that does not have >> the :extend attribute set. Eventually, we would wind up with two, >> possibly distinct values of the background to realize - one for the >> normal and the shadow value for the extended background. > > The face merger doesn't maintain any state, so I don't think this is > easily done. The background would be stored in an extend_background slot of the face vector (or maybe even a separate extend_vector) which would contain the part of the state responsible for handling the background. >> Note: We could also try to find out whether there _is_ another stop >> position before the next EOL after merging faces and, if there's none, >> realize the extended face eagerly, but I'm not sure whether this idea >> can be incorporated easily. > > Right. IIUC next_interval is newline agnostic. The 'auto-composition-mode' check does look for a newline within the next 1000 characters (around line 3761 of xdisp.c) so we maybe could use that. >> BTW: One problem with Ergus' proposal is that hacks like the one >> proposed for Bug#15934 won't work any more. For that bug, we could >> obviously set the :extend attribute of the respective highlight line >> face but all instances in the wild using the same hack already would >> be affected by our change. > > Yes, of course. So we should probably provide a :no-extend attribute, extend face attributes by default and explicitly not extend some attributes like underline and box. martin