From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Chong Yidong Newsgroups: gmane.emacs.devel Subject: Re: visual-line-mode Date: Thu, 10 Jul 2008 19:23:49 -0400 Message-ID: <87fxqhpblm.fsf@stupidchicken.com> References: <87zlp4raab.fsf@catnip.gol.com> <87d4lzehq2.fsf@stupidchicken.com> <87skuqbwr8.fsf@stupidchicken.com> <85E9BC5B-7337-4CD4-A783-6B2FAEBAEBCA@gmail.com> <87tzf6c5il.fsf@stupidchicken.com> <87abgxx0ju.fsf@stupidchicken.com> <4D997CA8-A2ED-4E12-9F91-76E98AE95210@gmail.com> <87prpsjhre.fsf@stupidchicken.com> <375C0006-2B47-4B1F-9EB2-ED47941C2DB3@gmail.com> <87od56tp4o.fsf@stupidchicken.com> <71C2D50C-1680-4ADD-A7E3-7B7A1146B85D@gmail.com> <87ej61n19h.fsf@stupidchicken.com> <87vdzdr6f6.fsf@catnip.gol.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1215732242 27328 80.91.229.12 (10 Jul 2008 23:24:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 10 Jul 2008 23:24:02 +0000 (UTC) Cc: David Reitter , Emacs-Devel devel , "Lennart Borgman \(gmail\)" , Miles Bader To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jul 11 01:24:48 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KH5VD-0005u8-U2 for ged-emacs-devel@m.gmane.org; Fri, 11 Jul 2008 01:24:46 +0200 Original-Received: from localhost ([127.0.0.1]:46206 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KH5UK-0001ly-Om for ged-emacs-devel@m.gmane.org; Thu, 10 Jul 2008 19:23:48 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KH5UG-0001jJ-71 for emacs-devel@gnu.org; Thu, 10 Jul 2008 19:23:44 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KH5UD-0001fI-Qu for emacs-devel@gnu.org; Thu, 10 Jul 2008 19:23:43 -0400 Original-Received: from [199.232.76.173] (port=54234 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KH5UD-0001eu-CG for emacs-devel@gnu.org; Thu, 10 Jul 2008 19:23:41 -0400 Original-Received: from cyd.mit.edu ([18.115.2.24]:57372 helo=cyd) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KH5U7-0003eV-6x; Thu, 10 Jul 2008 19:23:35 -0400 Original-Received: by cyd (Postfix, from userid 1000) id 133EC57E2C8; Thu, 10 Jul 2008 19:23:49 -0400 (EDT) In-Reply-To: (Stefan Monnier's message of "Thu, 10 Jul 2008 16:23:07 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:100559 Archived-At: Stefan Monnier writes: >> BTW, while C-n and C-p work great with Stefan's patch (with both fixed- >> and variable-pitch fonts), C-a and C-e act oddly (though they actually >> do act somewhat differently when line-move-visual is t). > > Indeed, my patch does not update C-a and C-e. Not sure what you mean > by "oddly", tho. I've been using my patch ever since I posted it and > haven't noticed anything strange with it. > > PS: My patch is just a proof of concept. It has a few bugs. One of > them can be seen when you set truncate-lines, in which case it doesn't > preserve columns correctly (basically, its temporary-goal-column ends > up being computed from the beginning of the displayed part of the > line, so as long as hscroll is not changed, it works OK but as soon as > hscroll is modified, the result is incorrect). I think that in order to be useful, this feature ought to be provided as a minor mode that rebinds keys, not a direct modification of the motion code like in your patch. Then we can also handle C-k etc. properly. Also, David Reitter's minor mode handles variable-width fonts. AFAICT, your patch doesn't support that, or at least not without a further extension of vertical-motion to support a pixel goal. So I think we ought to check in David's code. Once that's done, we can see about extending vertical-motion and making the minor mode use that, for increased speed. WDYT?