From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: How to make Emacs popular again: Use monospaced fonts less Date: Thu, 15 Oct 2020 17:28:30 +0300 Message-ID: <83d01jy35d.fsf@gnu.org> References: <835z7qfp6h.fsf@gnu.org> <87ft6lgw5y.fsf_-_@gnus.org> <1F8F3522-1E6C-40A3-B61A-B9B84FC0AD18@gnu.org> <87blh9gthg.fsf@gnus.org> <87tuv1f2y9.fsf@gnus.org> <87o8l9f1dl.fsf@gnus.org> <83lfgc50gb.fsf@gnu.org> <875z7gflpl.fsf@gnus.org> <83imbf2xux.fsf@gnu.org> <87lfgbarkk.fsf@gnus.org> <83zh4q195b.fsf@gnu.org> <87sgah1mjz.fsf@gnus.org> <83r1q0zwlp.fsf@gnu.org> <837drszozo.fsf@gnu.org> <83lfg7y4ka.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32019"; mail-complaints-to="usenet@ciao.gmane.io" Cc: larsi@gnus.org, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Oct 15 16:29:29 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kT4G1-0008Ds-BM for ged-emacs-devel@m.gmane-mx.org; Thu, 15 Oct 2020 16:29:29 +0200 Original-Received: from localhost ([::1]:54972 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kT4G0-0006RW-EH for ged-emacs-devel@m.gmane-mx.org; Thu, 15 Oct 2020 10:29:28 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36348) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kT4F1-0005qv-Cr for emacs-devel@gnu.org; Thu, 15 Oct 2020 10:28:28 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:51518) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kT4Ev-0006rL-DL; Thu, 15 Oct 2020 10:28:25 -0400 Original-Received: from [176.228.60.248] (port=3833 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kT4Eq-0003ts-3G; Thu, 15 Oct 2020 10:28:18 -0400 In-Reply-To: (message from Stefan Monnier on Thu, 15 Oct 2020 10:21:39 -0400) 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:257737 Archived-At: > From: Stefan Monnier > Cc: larsi@gnus.org, emacs-devel@gnu.org > Date: Thu, 15 Oct 2020 10:21:39 -0400 > > Yes, we'd need somehow to walk back the glyph structure to find the > pixel position of the start position of the element. > > What I was trying to address is the issue of text properties being > potentially split, so you can't really rely on > > (put-text-property START END 'width 50) > > so I was thinking of instead doing something like > > (put-text-property (1- END) END 'relative-end-position (list START 50)) > > so when the redisplay sees this position, it would walk back the glyphs > to find the nearest one corresponding to START, and then either truncate > the last few glyphs to fit in a width of 50, or add some space to reach > a width of 50. I don't think this will be much simpler than just the first method above: the way to find where the property started is just one previous-single-property-change call away, right? Or we could add some new field to the iterator to keep track of the beginning, and be done with that.