From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Ergus Newsgroups: gmane.emacs.devel Subject: Re: Question about display engine Date: Thu, 12 Sep 2019 05:37:33 +0200 Message-ID: <20190912033733.rt6ebux3424n2vbi@Ergus> References: <83mufg5yn1.fsf@gnu.org> <20190908005109.s7hhcczkrcbzewdc@Ergus> <377a8380-af26-776f-de79-2e24cc14e0e4@gmx.at> <20190908125306.mhb2eg7nxjs5z5pf@Ergus> <36b5122a-96a7-b798-1fed-423ea388b772@gmx.at> <83k1ah31fj.fsf@gnu.org> <20190909170826.w3ug6iv3fnrxh4jp@Ergus> <83d0g92vgs.fsf@gnu.org> <20190909192934.7sysej7ladlefunb@Ergus> <838sqw3mxw.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="147717"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: NeoMutt/20180716 Cc: rudalics@gmx.at, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Sep 12 05:37:59 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 1i8Fvi-000cI7-7G for ged-emacs-devel@m.gmane.org; Thu, 12 Sep 2019 05:37:58 +0200 Original-Received: from localhost ([::1]:57900 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i8Fvg-0002wJ-Dt for ged-emacs-devel@m.gmane.org; Wed, 11 Sep 2019 23:37:56 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35463) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i8FvZ-0002w2-9V for emacs-devel@gnu.org; Wed, 11 Sep 2019 23:37:50 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i8FvX-0007YF-8d for emacs-devel@gnu.org; Wed, 11 Sep 2019 23:37:48 -0400 Original-Received: from sonic310-12.consmr.mail.ir2.yahoo.com ([77.238.177.33]:43981) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i8FvW-0007XN-L2 for emacs-devel@gnu.org; Wed, 11 Sep 2019 23:37:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1568259464; bh=GIssSymIy0/ZVT106N0N8XVkBSWYniQNQewKttoJlBk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From:Subject; b=DTezxeIKAt1euq9IlKvZjFYDiL3bq7jorXL2hh9bwIctPKWN+lqIKtbeJhKU02ovIsB9kHIpCJoa26hpp0ry7/soZr+EME3brdAzRHKCaToIY4v3L5SK8JayKsrBds/ypaSN64XNi4KHPMI1VGUYqW6eeERhDdjsjJcPI4Q8WfVs3U0IcfprVTbdRpUE+azVD5mmtPOcF1ILvzsQx8kVtPqusdIPI0pjn+Kb7oJqWJTGQb2wOQ79e7J+fDA8gu2Wli5KXimGXw9p0IGBgrfKZvBY4+7zdUyuzTSBcA2ykzQ513g+4b5Kc8w9EQWdLEapvKQ03/i15EZ8hChv8cTxJg== X-YMail-OSG: kY8MPqoVM1mkFRrGGoj4Mls6HN74UL0Tb9ctePgiU0sKHb49fcnlq2d7ixpo7Zs mYQ9l6V6Y7n7rup5xTZM4F9ceFwZkEZDnqM5orBB.On8yi6Gb5f6eH0nATy75jISPolIA94qVd7f tQ744B2RxPKccEU1fGHul_nfsPH1m3dli0hBCu3m6_Ic6oN6GzU0ic6zcJVFxJcNsNSrEagTwt2V PlLWmkUIXOysqTfqlB04b4tquItHLEB_iq.mqkvuLaFuMwBh9Hk0rBcIc1mUOjz451lLB1EoiXnV utonO_SGfdZr6FWWU1kbSSpFUKMQXZ8x..9DpOBRwv7GArqo6.T7lProHj.SXzDAioJl1vlH8gjo gN8wKabNZu5AjP8XOpU7W_AxDFo0jZuE5pmjcCF7o0_wtznfYUBej2kmUpAsLyHwGHfKU7I7hiL0 G5NeyI6zGOa5lymYQ0t5BOSbJBKVJfi_RF3hrNvk6YXMjEd2RBalvTIDs.B68YT.N8jtKEeqWrXH TxF2KLgthRcsHM6hZCEEenwiPDz_Q1IWsc37n07hZ6oy5madh6v4Z8ArPXif8OChWvblqVoI9jG1 pl67tR0UBNr0gytBcLpgLu763PGRSvUHLM_BWESuuMubarm4wScWMWLyHu45L1D_mhs1cPZ0RtBk je3CQWI4.BddsXraMYXY4uMyd3R8Xd4ewq0MBoDxzc3LBK0aUCNi0klH3Bqg4sVBQJuXwDNEHZLH EP_kXKWf26mf.IKe3ZT.146KQpV0sE6hzgGLTd3X4n4WWFpp._qYNHvDOksDUSbc_KYiw7RbnaY2 LQ0okaZkNmnFyFCxrdSBlggs84LRUUOeWPRkg0r1jy Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic310.consmr.mail.ir2.yahoo.com with HTTP; Thu, 12 Sep 2019 03:37:44 +0000 Original-Received: by smtp416.mail.ir2.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 15918376d9b044a3d0f1f1db0897581b; Thu, 12 Sep 2019 03:37:42 +0000 (UTC) Content-Disposition: inline In-Reply-To: <838sqw3mxw.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 77.238.177.33 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:239992 Archived-At: Hi Eli: Could you answer please the questions about the modifications in other functions (face_at_string and so on)? And could you tell me which are the faces that are supposed to be :extend t by default. I made a couple of changes in the interface to avoid passing the values by reference. And other small fixed in the branch. Please give a look and tell me what do you think. It will be nice if you could tell me where in the manual I am supposed to documents this as this actually enables 2 different functionalities: 1) Extend a face. 2) Change the region looking (whole screen width or "fixed to text" as a side effect). And fixes the issues with fill-column-indicator in org and the other issue that martin indicated. I will push tomorrow a fix for the extra space in term mode. So after that; your comments and the documentations I think I will rename the branch to a feature one in order to suggest people to test it your recommended two weeks. Is it fine? On Tue, Sep 10, 2019 at 05:27:39AM +0300, Eli Zaretskii wrote: >> Date: Mon, 9 Sep 2019 21:29:34 +0200 >> From: Ergus >> Cc: rudalics@gmx.at, emacs-devel@gnu.org >> >> >I don't think I agree. Given the complexity of the face-related >> >functionalities -- face remapping, the need to recompute all the faces >> >when some basic face changes, the various sources of face-related >> >information for each buffer/string position, etc. -- I find the design >> >and implementation of face code quite elegant and easy to understand, >> >maintain and change. >> > >> I am talking about efficiency. > >Efficiency is secondary to clean design and correct implementation. > >> It is just not standard. If there is no difference why are there >> different methods to select with if/else? > >History, I guess. > >> To add one field to the faces it required many modifications. > >That isn't a problem in my eyes. > >> But then why when the GC fails the lagging is so intense? I >> thought that the main part of the display engine related with GC was the >> faces part. > >No, faces code cannot GC. What causes GC is the calls to Lisp, which >is JIT font-lock and other Lisp hooks. > >> >Which interfaces would you like to unify? I don't think I understand. >> > >> Most of the code conditioned with: if (FRAME_WINDOW_P (f)) could be >> simplified. But I understand that this could be a lot of work and I >> don't know enough about this. > >This work is being done, and most of it has been done already. Some >display features are only possible on GUI frames (multiple fonts, for >example), so such conditions are necessary, at least to some extent.