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, 8 Aug 2019 18:43:19 +0200 Message-ID: <20190808164319.bvsm265x76agq67v@Ergus> References: <20190807155738.yviofsumjjhqueci@Ergus> <83imr9ar9f.fsf@gnu.org> <0975890b-37b4-428d-f6e5-5dcf894fb6be@gmx.at> <83ftmdapxm.fsf@gnu.org> <20190808083804.ta3evocyb4hirywj@Ergus> <835zn7bvvp.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="241000"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: NeoMutt/20180716 Cc: martin rudalics , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Aug 08 18:46:07 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 1hvlYF-0010Zv-6f for ged-emacs-devel@m.gmane.org; Thu, 08 Aug 2019 18:46:07 +0200 Original-Received: from localhost ([::1]:54134 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hvlYD-0003Ki-Ib for ged-emacs-devel@m.gmane.org; Thu, 08 Aug 2019 12:46:05 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55514) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hvlVf-0008Sp-QG for emacs-devel@gnu.org; Thu, 08 Aug 2019 12:43:28 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hvlVe-0001Li-Mq for emacs-devel@gnu.org; Thu, 08 Aug 2019 12:43:27 -0400 Original-Received: from sonic306-20.consmr.mail.ir2.yahoo.com ([77.238.176.206]:45186) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hvlVe-0001KA-9v for emacs-devel@gnu.org; Thu, 08 Aug 2019 12:43:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1565282604; bh=W0jPb4dIiSQ1tfSi1LDpmHZmP7vg4B5dfwW3u5p6rCA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From:Subject; b=I3VH7Cf0xcqTwMXRrV5fmmqBS1dEmTPictubuWvqaKHQnXMzb4GO32oCRGojAllO6idkVltyLl+LjQdzhEuAiZC+TnvyoehjRua+oInLUsav1OMlUmixyJXp6BxuvNTfjEWINkhYawJcuE4k7SEMCgB0QaOfLY73QtCgxNgS+/U4lx4GCe2DUgP4Ydq2UBHg0Uiy1zQfhJ5GhXjk99llgJ8qzQotNmU2PUhq+boSmbmXZJyeYCIDqVmaD72Gv6MfU/pawS8hOpThcNwx8xI++eJw7W6Hnkvo6QUjuQpvb5CyTVB13nUuZrFPm1awAK8ORt5cueBNYilq+0JejtLdgA== X-YMail-OSG: fm.NkncVM1mxnWk9pdmNxti7n8t4sZ6OG179EpWCpdwHx2owSdhYPIQcChuS6_i Ny6bKMsx7_ilP03hP9RYaS7GkmtKnTeo33ly2X3ttZ.vjhr6_AwA_gha2iIOexsBdTZdQT_qtPQJ P2lG01LqZa.kK3qkmfl3S30h7cZ0JGqhW9W8G3eQPE81can4.cb5A1bDh.tInE0iqVSysF.kVSTb SdSPZSIuUtIqcEMni3GbA5LRWpdIclR8v_j_Knsfu8hpGuTv.88lyYrpkfPjr6mP3YjXAF57_e3i RGPxsyFlr.22Nsx6jq5FbTE75WbJXMx6BshFtIJpMd4HuLh9tkYg6EpoZdmT6uOHpIHMDclQmJAq JOBK9A4U1fdCRG55Zp06SxXkTQv121j1NOFZDf1t4ylLXh2nkA_w8hp6AYmQLRPazsgS2EOwlMNh .vMIfOa0q6TWuMGuBRCvgSu3DzxqKQcVKtUiCSVC7OdDT5QVh_brIFRn5H8O0sAWQwq9f3HzxHfp GOd9yik0Y5ktRw9mc4He6GFfgkBZLMtTRJPISS9H_yYiVuTs.Oy3IpBsYr.4VdbcIrfqtes.Ko.2 fOr6pz3iWwdwUs.mpcJcSWIR9ROqu00ap1mHgqQrT9h2z9vPHC0iJscYSVKIJuWlh2tGBGxgwXgt fQuzF7WG7nccu3M8VDkk5MAsATrPczcuOflxSXDqHkajjTHLyEqilX3E3WdYX0uI5RHzhX4vMlFG NG1uUVswr8hGfSTbolxtPklMrnlJWpgsT72Pd4ZGbSfal3WeRUrV9wusdLV2IAJai3Yy4D.I4q0f 5TNpI81o7AmIMttIhzMb3H9ic61UVPNlHkngnypo1e Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.ir2.yahoo.com with HTTP; Thu, 8 Aug 2019 16:43:24 +0000 Original-Received: by smtp422.mail.ir2.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID a34692defad0f332bf311bc9ac356fce; Thu, 08 Aug 2019 16:43:23 +0000 (UTC) Content-Disposition: inline In-Reply-To: <835zn7bvvp.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 77.238.176.206 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:239254 Archived-At: On Thu, Aug 08, 2019 at 04:59:54PM +0300, Eli Zaretskii wrote: >> Cc: Eli Zaretskii >> From: martin rudalics >> Date: Thu, 8 Aug 2019 15:05:37 +0200 >> >> > Yes, that's exactly the point. The only face I see that needs to be >> > extended so far is the region. If only the region is extended >> > (assuming we won't stop extending that one too) you won't need your >> > workarounds, extra settings, another flag in the face structure, or >> > call extend face to end of line most of the time. >> >> I'm afraid things are not that simple. We have at least the secondary >> selection and 'hl-line-mode' to take care of. > >Indeed, nothing is ever as simple in the display code, due to the >sheer amount of different use cases. I think at least one other face >attribute that's special in this regard is :box, in particular (but >not only) because extend_face_to_end_of_line is called from the >function which redisplays the mode line and the header line. > Yes I have seen :p. That's why I will vote for simplicity+efficiency over more complex customization that 99% of the users won't need/know/use. I only want a uniform behavior between gui and tui. Because bigger changes I have understand that are close to impossible. >> Moreover, there might be users who do prefer the current way of >> extending (and not extending) faces to window edges. And I have no >> idea whether image or rectangular regions require special treatment >> too. > >Yes, I think we will have to provide some backward compatibility shims >for these and other use cases. > So finally what's the agreement about this? Does Eli (or anyone) have the time to implement it?? (else I can try with some hints of course). Can we add maybe a deadline to decide? I'm just wondering that this can be forgotten like the discussion in Bug#23574 if nobody starts working on it. When and who decides/approves the changes to do? I vote for: Reproduce in TUI the gui behavior as is now by default but: 1) With a not-extend-by-default policy 2.0) With some condition checks to extend the mentioned exceptions (secondary, region, hl_line_mode etc) maybe this last can be set in a customizable variable as there will be relatively few elements. xor 2.1) Add the "extensible" flag to the face. 3) Add an extra face to extend (like in my previous code) that needs to be merged with the last face in the line conditionally and can be used in case the user wants extend but removing the underline and keeping the background color (for example). This seems to be the most general solution in my opinion. I am specially concerned about this because org-mode behavior in terminal affects many users.