From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Variable-width font indentation Date: Fri, 09 Mar 2018 10:30:54 +0200 Message-ID: <83muzhodkx.fsf@gnu.org> References: <87inaiss6l.fsf@web.de> <6FCF6ACA-4F29-4B6B-BE9D-D7130C6E9495@gnu.org> <87fu5moe4c.fsf@web.de> <877eqyocro.fsf@web.de> <83zi3uz4nb.fsf@gnu.org> <0b1dd3fa-e0b0-ed20-a256-dd92d1c1826f@dancol.org> <8bc3c4c7-dfc7-987a-95e7-bd309e2326c6@cs.ucla.edu> <03118DC0-39DA-4AB5-980E-A33809B9A5EE@raeburn.org> <83vaeas8uz.fsf@gnu.org> <83lgf6s3aa.fsf@gnu.org> <838tb5rxoe.fsf@gnu.org> <83lgf5q73p.fsf@gnu.org> <4742f0ae-86b5-48f9-4601-4dbba9e6380d@gmail.com> <83bmfzreaq.fsf@gnu.org> <83lgf3przh.fsf@gnu.org> <42d0c18b-8d14-bfe2-8f09-112787e8b0b4@gmail.com> <83zi3io9tr.fsf@gnu.org> <859ec725-acc3-22e4-ca26-28108c3e5e26@gmail.com> <83sh9ao086.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1520584149 9408 195.159.176.226 (9 Mar 2018 08:29:09 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 9 Mar 2018 08:29:09 +0000 (UTC) Cc: eggert@cs.ucla.edu, emacs-devel@gnu.org To: =?utf-8?Q?Cl=C3=A9ment?= Pit-Claudel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Mar 09 09:29:04 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1euDOi-0002Nb-OJ for ged-emacs-devel@m.gmane.org; Fri, 09 Mar 2018 09:29:04 +0100 Original-Received: from localhost ([::1]:43779 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1euDQl-000169-Es for ged-emacs-devel@m.gmane.org; Fri, 09 Mar 2018 03:31:11 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35582) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1euDQe-00015w-Gl for emacs-devel@gnu.org; Fri, 09 Mar 2018 03:31:05 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1euDQd-00088b-7W for emacs-devel@gnu.org; Fri, 09 Mar 2018 03:31:04 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:48396) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1euDQY-000854-PM; Fri, 09 Mar 2018 03:30:58 -0500 Original-Received: from [176.228.60.248] (port=4570 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1euDQX-0003Wy-QH; Fri, 09 Mar 2018 03:30:58 -0500 In-reply-to: (message from =?utf-8?Q?Cl=C3=A9ment?= Pit-Claudel on Thu, 8 Mar 2018 14:55:20 -0500) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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:223531 Archived-At: > Cc: emacs-devel@gnu.org, eggert@cs.ucla.edu > From: Clément Pit-Claudel > Date: Thu, 8 Mar 2018 14:55:20 -0500 > > > Maybe we could find a middle ground, whereby each one of the examples > > will approximately align. If that can be done, and the result is > > acceptable, then the problem of recording the text properties in the > > file and/or reindenting when the file is revisited goes away. > > Maybe :) I don't know how good it would look, in practice, but it's easy to experiment. > Paul's algorithm is not too bad in that sense: these two examples align pixel-perfectly. Yes, but as I said, I don't think that approach is appropriate for code indentation, because leading whitespace in code blocks _must_ always align, IMO. IOW, that approach seems to favor alignment of multi-line code sequences to alignment of indented blocks, and I think programming modes should have the opposite preference. > > Is it really needed? With most font back-ends, a tab is displayed as > > a stretch glyph whose width is an integral multiple of the width of > > the space glyph for the same font. So they should align even without > > the fixed-pitch font trick. > > Hmm, indeed. So which problems did you have in mind when you said the following? > > > But leading whitespace will certainly be aligned, something that is > > not universally true today. At least the w32 font back-end doesn't fulfill that requirement, because it calculates the font's space width differently (due to practical problems related to the MS-Windows APIs). Not sure about ns. > > That's more relevant for text-derived modes, where indentation levels > > are rigid and not determined by previous lines. There we could do a > > better job, I hope. > > OK. I tend to think of indentation even in text modes as being somewhat previous-lines dependent (wrapped paragraphs align relative to bullet points, for example), but I agree that it isn't as much as in programming modes. IME, indentation of text in word processors I use does not depend on previous lines at all.