From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Re: C-n and C-a Date: Fri, 30 Jan 2009 02:32:29 +0200 Organization: JURTA Message-ID: <87skn1fxaw.fsf@jurta.org> References: <87bptqywpq.fsf@thinkpad.tsdh.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1233275965 20284 80.91.229.12 (30 Jan 2009 00:39:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 30 Jan 2009 00:39:25 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 30 01:40:38 2009 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 1LShQz-00069Z-8F for ged-emacs-devel@m.gmane.org; Fri, 30 Jan 2009 01:40:37 +0100 Original-Received: from localhost ([127.0.0.1]:59041 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LShPe-0001bb-MW for ged-emacs-devel@m.gmane.org; Thu, 29 Jan 2009 19:39:14 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LShPb-0001bW-6W for emacs-devel@gnu.org; Thu, 29 Jan 2009 19:39:11 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LShPX-0001bK-Rs for emacs-devel@gnu.org; Thu, 29 Jan 2009 19:39:09 -0500 Original-Received: from [199.232.76.173] (port=39939 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LShPX-0001bH-LU for emacs-devel@gnu.org; Thu, 29 Jan 2009 19:39:07 -0500 Original-Received: from relay03.kiev.sovam.com ([62.64.120.201]:54662) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LShPX-0006Xb-7w for emacs-devel@gnu.org; Thu, 29 Jan 2009 19:39:07 -0500 Original-Received: from [83.170.232.243] (helo=smtp.svitonline.com) by relay03.kiev.sovam.com with esmtp (Exim 4.69) (envelope-from ) id 1LShPD-0000cv-1K for emacs-devel@gnu.org; Fri, 30 Jan 2009 02:38:47 +0200 In-Reply-To: <87bptqywpq.fsf@thinkpad.tsdh.de> (Tassilo Horn's message of "Thu, 29 Jan 2009 16:10:25 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (x86_64-pc-linux-gnu) X-Scanner-Signature: 4fe2b897d4d72954524b6b73d18f8617 X-DrWeb-checked: yes X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. 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:108380 Archived-At: >> The new definitions of C-n and C-p seem to work reasonably >> conveniently with the very long lines that non-Emacs-users often >> write. However, it is very counterintuitive that C-a and C-e have not >> been changed in the same way. > > I mentioned this inconsistencies before in > <874p55z20j.fsf@thinkpad.tsdh.de>. I was told that the current behavior > was due to a consensus. But still I don't like it, so I switch on > `visual-line-mode' where everything operates consistently on screen > lines. In addition to inconsistencies and lack of convenient key bindings there are also problems with the used terminology. There are two similar confusing names: line-move-visual visual-line-mode The former defines half-real/half-screen line motion mode, and the latter has a name that says nothing to most users. I think if we want to achieve simplicity and intuitiveness then we should have a mode word-wrap-mode with a pair of variables to define variations for key bindings and visual appearance. By default, `word-wrap-mode' could bind C-n/C-p and C-a/C-e to visual line motion commands, and also provide alternative keys for real line motion commands when `line-move-visual' is non-nil. But the nil value of `line-move-visual' could reverse the meaning of these key bindings. Another variant is to define a mode line-wrap-mode with C-n/C-p and C-a/C-e bound to visual line motion commands and `line-move-visual' behaving as described above. And additionally it could provide a variable `word-wrap' to define wrapping boundaries (word vs non-word). -- Juri Linkov http://www.jurta.org/emacs/