From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jason Earl Newsgroups: gmane.emacs.devel Subject: Re: Enabling Transient Mark Mode by default Date: Wed, 20 Feb 2008 14:13:20 -0700 Message-ID: <87ejb7babz.fsf@xmission.com> References: <87myq4saw1.fsf@catnip.gol.com> <878x1ov227.fsf@jurta.org> <878x1os6mt.fsf@catnip.gol.com> <47B39231.8010108@gmail.com> <200802151711.m1FHB3Y3008798@sallyv1.ics.uci.edu> <200802171658.m1HGwQ4h011067@sallyv1.ics.uci.edu> <20080219085231.GA1032@muc.de> <200802190938.m1J9ccVg016565@sallyv1.ics.uci.edu> <20080219190127.GA1106@muc.de> <877ih0o9dx.fsf@catnip.gol.com> <86lk5f4fjb.fsf@timbral.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1203542039 22875 80.91.229.12 (20 Feb 2008 21:13:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 20 Feb 2008 21:13:59 +0000 (UTC) Cc: emacs-devel@gnu.org To: Evans Winner Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Feb 20 22:14:22 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 1JRwGZ-0000St-Ta for ged-emacs-devel@m.gmane.org; Wed, 20 Feb 2008 22:14:12 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JRwG4-0006hM-OP for ged-emacs-devel@m.gmane.org; Wed, 20 Feb 2008 16:13:40 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JRwFz-0006gm-6d for emacs-devel@gnu.org; Wed, 20 Feb 2008 16:13:35 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JRwFx-0006gQ-W3 for emacs-devel@gnu.org; Wed, 20 Feb 2008 16:13:34 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JRwFx-0006gK-RD for emacs-devel@gnu.org; Wed, 20 Feb 2008 16:13:33 -0500 Original-Received: from out02.mta.xmission.com ([166.70.13.232]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JRwFx-0004zK-AW for emacs-devel@gnu.org; Wed, 20 Feb 2008 16:13:33 -0500 Original-Received: from [166.70.13.201] (helo=mgr1.xmission.com) by out02.mta.xmission.com with esmtp (Exim 4.62) (envelope-from ) id 1JRwFz-0003GA-LW; Wed, 20 Feb 2008 14:13:35 -0700 Original-Received: from jearl.fttp.xmission.com ([166.70.233.10] helo=workhorse.earlhome) by mgr1.xmission.com with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA:32) (Exim 4.50) id 1JRwFr-0007JV-5h; Wed, 20 Feb 2008 14:13:29 -0700 Original-Received: from nat.visiongrp.com ([65.162.166.20] helo=jearl-laptop) by workhorse.earlhome with esmtpsa (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1JRwFr-0004YQ-De; Wed, 20 Feb 2008 14:13:27 -0700 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAAAAAByaaZbAAAACXBIWXMAABKbAAASmwHgklkM AAABz0lEQVRIx5VW2bHDIAz0jPtRS+pxG1E/fEUHhzjeC2EcJ8JZ0LFa80AkrrgB6L/0K0ypc3Y9 UqYh0I9eOtzG8hwPdkARJiJmOQBk20Ft0OuDcANA/78jdpd2AL99sFy4NDbQLVrsCbAEXYA3DVzE 8D/gkNbJpZsdhHMMN2kdAOKrSo8ttNZrTrYdnEgVweWu0p5b5vjrwSXxoSv73dIibaoSu/4u/vyB sxyD/9YCiE7IRrOP9M4uSK1OrcgOkANA2+PVBsHfQU8AbafRH8e0LoBUSDn2w+JiJiOXi6AngBx7 erYTF42M3wDYAFvH/erSGlNZg/7q0s9pLR1xLNyJGqo8xo2Qzm918AW0etoeQcMHldaDz43STnru k9Lo3XslGgeLidQ/Is0l3bJKkDQ71L7GZGY8DqlEF4l4oSQRMIBQT5JnadSSom8nmZEk/xxinLSR XcgoUyHhbQ8DZHZh1la298tKDaF5ZhXjjd6YALvczwB1SX4CWOGWGGRySQ79kGesmtNLUdOUFkDU gceCp9cuEj6ogYbgqHSzyYW59MKY9EUDqbrTyyGF6eiA2g+6gtoUZKr90A8jlXzL4STZTz3aoN3Q zkNx7unnn3YC+gA3WfRuzLleFgAAAEV6VFh0Q29tbWVudAAAeNpT8MxNTE9VSE/NSy1KLElNUUiq VHD3C1Vwz8gvLilOLsosKFHQSEkty0xOtS3Iyy1KLNfkAgDinBJPV21RsgAAABp6VFh0SlBFRy1D b2xvcnNwYWNlAAB42jMEAAAyADKxisffAAAAInpUWHRKUEVHLVNhbXBsaW5nLWZhY3RvcnMAAHja M6wwBAABtwDbWB23uwAAAABJRU5ErkJggg== In-Reply-To: <86lk5f4fjb.fsf@timbral.net> (Evans Winner's message of "Wed, 20 Feb 2008 12:02:48 -0700") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) Received-SPF: neutral (mgr1.xmission.com: 166.70.233.10 is neither permitted nor denied by domain of xmission.com) client-ip=166.70.233.10; envelope-from=jearl@xmission.com; helo=workhorse.earlhome; X-SA-Exim-Connect-IP: 166.70.233.10 X-SA-Exim-Mail-From: jearl@xmission.com X-Spam-DCC: XMission; sa03 1397; Body=1 Fuz1=1 Fuz2=1 X-SA-Exim-Version: 4.2 (built Thu, 03 Mar 2005 10:44:12 +0100) X-SA-Exim-Scanned: Yes (on mgr1.xmission.com) X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) 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:89735 Archived-At: Evans Winner writes: > I am not an Emacs developer, but am an avid user, and > thought my input might be useful. It strikes me that > enabling hand-holding features by default in Emacs may not > actually be a favor to new users. I think that this depends on whether or not the person would use Emacs or abandon it for some other text editor without the hand holding. Once upon a time Emacs was so much better than the competition that it could afford to be impenetrable. People who were serious about editing text were going to end up using Emacs whether they liked it or not. That's not the case anymore. > Very early on in my learning to use Emacs (several years > ago) I found out how to enable transient-mark-mode. I > enabled it blindly on somebody's advice, in essence, because > I didn't know about or understand the actual use for which > the mark is designed. I didn't question the feature because > it mimics one that I was used to from other applications. > It was only as a result of reading this thread that I looked > into the use of the mark and have begun to understand what I > have been missing. So, my experience is similar (though not > identical) to that of someone new to an Emacs in which > transient-mark-mode is enabled by default. I had precisely the same thing happen to me. In fact, I was halfway through a long rant about the importance of making Emacs more friendly to beginners when I decided to inform myself a little better. So I took a little bit of time to actually read the part of the Emacs manual that deals with the point and mark. Like you, after a bit of experiment I have decided to turn off transient mark mode for a bit so that I can learn to use the point and mark more effectively. I am starting to believe that my use of transient-mark-mode has caused me to miss out on one of Emacs' more useful features. However, there is no question that a visible representation of the region is very helpful to someone that is learning to mark regions for the first time. I know that it certainly helped me. Before I started using Emacs I had never highlighted a block of text with the keyboard. In fact, I didn't even know that this was possible on a more Windowsy editor until very recently :). Personally, I think that Emacs developers should spend more time and effort making Emacs approachable to new users, and more user-friendly defaults is a great place to start. After all, I would bet that none of the people on this list spend any time in a plain vanilla Emacs without a .emacs file. The vast majority of people that currently use Emacs understand how to customize it. Choosing defaults to satisfy current users is a waste of time and energy. The inveterate Emacs user is going to customize Emacs to his or her specifications. Only newbies are stuck with the defaults. As such, the defaults should be designed to hold the hand of the new user that doesn't know how to customize Emacs. > On the other hand, at that time, I was one of those who had > the idea that GUIs are for wimps, so I also disabled > menu-bar-mode and tool-bar-mode. The result was as > intended: I was forced to learn the Emacs way of doing many > things and now, though there was a bit more initial > investment in learning, I am very happy I did it. I believe > the time invested has paid off, even though I no longer have > any objection to GUIs (if designed well), and even though I > leave those features turned on now. I certainly believe that we should encourage new users to learn to use Emacs' key commands effectively. However, the real problem that Emacs faces currently is that there are an increasing number of powerful editors that offer many of Emacs' advanced features without Emacs' ridiculously steep learning curve. I am a true believer in Emacs' way of doing things. If you really want to learn to edit text effectively the smartest thing you can do is find an accomplished Emacs user and learn his or her tricks. Heck, that's the real reason why I am subscribed to this list. I want to learn to use Emacs more effectively. The problem is that other editors have, over the years, closed the gap considerably on Emacs. If Emacs is going to stay relevant and attract another generation of hackers it can't afford to be actively hostile to newcomers. > One principle of teaching is that learners tend to strongly > favor the first mental model of something or method to which > they are exposed. From Wikipedia: `` `Unteaching' wrong > first impressions is harder than teaching them right the > first time.''[1] In general, tools or systems designed to > do something really well require a greater initial outlay of > time or money to use, but pay off over the long term. The problem is that the first impression that Emacs gives is that it is an outmoded text editor with non-standard keystrokes. The non-standard keystrokes bit is probably unavoidable, but the "outmoded" bit could be avoided easily. Emacs has tons of neat features that simply aren't presented effectively to the casual user. transient-mark-mode is a perfect example. Setting an operating on regions is a huge part of using Emacs effectively and yet Emacs has historically forced new Emacs users to learn how the region works the hard way. As of today I can see why people might want transient-mark-mode off in their own setup. But the only reason to default to having it off in a vanilla Emacs is that if you *want* to be hostile to newbies. Take this quote from the Emacs manual: When Emacs was developed, terminals had only one cursor, so Emacs does not show where the mark is located-you have to remember. To a newbie learning Emacs for the first time this sounds suspiciously like, "When I was a boy we didn't have fancy computers like we do today. We had to toggle the bits in our files by waving magnets over the platters of the hard drives. What's more, we liked it that way." You might as well tell aspiring young hackers to get off your lawn while you are at it. The alternative, as the manual points out, is to enable transient-mark-mode and have Emacs work like most newbies would expect a text editor to work. Yes, this is possibly not optimal for the advanced user, but the advanced user will be able to turn the feature (or mis-feature if you will) off. > I won't bother advocating that menus and tool bars and > scroll bars be deactivated by default, but I would at least > suggest that the right principle is that if a feature would > make it actively more difficult to use Emacs in the way that > it is fundamentally designed to be used, then that feature > ought not to be active by default. I completely agree that this is probably the right way to go about learning to use Emacs effectively. Unfortunately, I think that this is also basically a recipe for disaster for the Emacs project. Faced with the prospect of learning a text editor that is actively hostile to users that don't grok it's Meta-Alt-Ctrl goodness such a tactic is likely to drive new users towards the many other text editors and IDEs that are more friendly to the uninitiated. I wouldn't mind so much, but I personally would really like to see the Emacs user community (and through it the Emacs developer community) grow, not wither and die. Jason