From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Alfred M. Szmidt" Newsgroups: gmane.emacs.devel Subject: Re: A more modest proposal (Was: Emacs learning curve) Date: Fri, 23 Jul 2010 03:28:38 -0400 Message-ID: References: <4C3B6A8A.80105@gmx.de> <87wrt0e81n.fsf@telefonica.net> <62E9699C07054418AB66F9C5FCB54E5C@us.oracle.com> <87sk3oe3la.fsf@telefonica.net> <1154D96E7D2F401D849266F359E44BB9@us.oracle.com> <87ocecdzou.fsf@telefonica.net> <2256C17F740A425884AD551DE7758056@us.oracle.com> <87fwzodqqm.fsf@telefonica.net> <5138CDF30B2D4B778F948015614DA7BC@us.oracle.com> <87iq4ijtdy.fsf@lola.goethe.zz> <87bpa7uu1e.fsf@kanis.fr> <877hkv2hco.fsf@catnip.gol.com> <87iq4e593w.fsf@kanis.fr> <87lj9ayp2f.fsf@stupidchicken.com> <4C493433.4010709@censorshipresearch.org> Reply-To: ams@gnu.org NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1279870139 24088 80.91.229.12 (23 Jul 2010 07:28:59 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 23 Jul 2010 07:28:59 +0000 (UTC) Cc: cyd@stupidchicken.com, emacs-devel@gnu.org To: Daniel Colascione Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jul 23 09:28:57 2010 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.69) (envelope-from ) id 1OcCgg-0006Lu-Th for ged-emacs-devel@m.gmane.org; Fri, 23 Jul 2010 09:28:55 +0200 Original-Received: from localhost ([127.0.0.1]:60136 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OcCgg-0001MS-8I for ged-emacs-devel@m.gmane.org; Fri, 23 Jul 2010 03:28:54 -0400 Original-Received: from [199.232.76.173] (port=36616 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OcCgT-0001L9-78 for emacs-devel@gnu.org; Fri, 23 Jul 2010 03:28:41 -0400 Original-Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1OcCgR-0002gi-Mr for emacs-devel@gnu.org; Fri, 23 Jul 2010 03:28:40 -0400 Original-Received: from fencepost.gnu.org ([140.186.70.10]:55987) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1OcCgR-0002ge-Ei for emacs-devel@gnu.org; Fri, 23 Jul 2010 03:28:39 -0400 Original-Received: from ams by fencepost.gnu.org with local (Exim 4.69) (envelope-from ) id 1OcCgQ-0008JF-Gp; Fri, 23 Jul 2010 03:28:38 -0400 In-reply-to: <4C493433.4010709@censorshipresearch.org> (message from Daniel Colascione on Thu, 22 Jul 2010 23:18:27 -0700) X-detected-operating-system: by monty-python.gnu.org: GNU/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:127675 Archived-At: 1) cua-selection-mode, or its moral equivalent cua-selection-mode doesn't play games C-c and C-x or interfere with any normal Emacs keybinding, but it does give users bindings for control-insert, shift-insert, and shift-delete. These keystrokes perform "copy", "paste", and "cut", respectively, and the same keystrokes do similar things in other CUA applications --- it's be easy to tell users, "unlike most programs, Emacs does not use C-c, C-x, and C-v for copy and paste: Emacs was old when these bindings were new, and they're used for something very different in Emacs. But Emacs *does* support using Control-Insert, Shift-Delete, and Shift-Insert for copy, cut, and paste. So do most other programs; learn to use these keys instead." I think this is a good idea; if it doesn't interfere with other things. 3) Natural binding for C-z Bind C-z by default to this function: (defun undo-or-suspend-emacs () "Undo if we're in a windowing system, or suspend emacs if we're in a TTY" (interactive) (setq this-command (if window-system 'undo 'suspend-emacs)) (call-interactively this-command)) Adopting this binding will ensure Emacs has the most natural and common behavior on C-z for a given environment. Besides, not much of value is lost: why bother with C-z in a windowing system when the system probably provides its own idiomatic way of minimizing a window? Having the same keybinding behave completely differently depending if you use a windowing system or the console is a bad idea. What about having C-z C-z do suspend-frame, and C-z z ... do undo? Not that I see a need for yet another undo keybinding.