From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kevin Rodgers Newsgroups: gmane.emacs.help Subject: Re: How to get rid of *GNU Emacs* buffer on start-up? Date: Thu, 25 Sep 2008 23:40:29 -0600 Message-ID: References: <873ajzwoqu.fsf@kobe.laptop> <823901dd-c54c-4e3b-b6ad-512d52724a46@z11g2000prl.googlegroups.com> <87ljxoffs6.fsf@atthis.clsnet.nl> <71208e97-140c-445d-8eda-1705f11b14b3@r15g2000prd.googlegroups.com> <095ef0c0-c7f4-494d-8bf6-8a5ee43fd934@i20g2000prf.googlegroups.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1222407687 27377 80.91.229.12 (26 Sep 2008 05:41:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 26 Sep 2008 05:41:27 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri Sep 26 07:42:25 2008 connect(): Connection refused Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Kj65u-0008N7-T1 for geh-help-gnu-emacs@m.gmane.org; Fri, 26 Sep 2008 07:42:23 +0200 Original-Received: from localhost ([127.0.0.1]:33592 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Kj64s-0006lM-Ee for geh-help-gnu-emacs@m.gmane.org; Fri, 26 Sep 2008 01:41:18 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Kj64F-0006kP-0k for help-gnu-emacs@gnu.org; Fri, 26 Sep 2008 01:40:39 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Kj64D-0006jo-8I for help-gnu-emacs@gnu.org; Fri, 26 Sep 2008 01:40:38 -0400 Original-Received: from [199.232.76.173] (port=48971 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Kj64C-0006jh-Vy for help-gnu-emacs@gnu.org; Fri, 26 Sep 2008 01:40:37 -0400 Original-Received: from main.gmane.org ([80.91.229.2]:36963 helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Kj64C-0000WO-4q for help-gnu-emacs@gnu.org; Fri, 26 Sep 2008 01:40:36 -0400 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1Kj64A-0003NV-5Y for help-gnu-emacs@gnu.org; Fri, 26 Sep 2008 05:40:34 +0000 Original-Received: from c-67-161-145-183.hsd1.co.comcast.net ([67.161.145.183]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 26 Sep 2008 05:40:34 +0000 Original-Received: from kevin.d.rodgers by c-67-161-145-183.hsd1.co.comcast.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 26 Sep 2008 05:40:34 +0000 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 139 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: c-67-161-145-183.hsd1.co.comcast.net User-Agent: Thunderbird 2.0.0.16 (Macintosh/20080707) In-Reply-To: <095ef0c0-c7f4-494d-8bf6-8a5ee43fd934@i20g2000prf.googlegroups.com> X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:58096 Archived-At: Xah Lee wrote: > On Sep 24, 12:54 am, Kevin Rodgers >> Here's my attempt at critical thinking: >> >> 1. You said that find-file and switch-to-buffer each have problems, so I >> wrote a new command that has neither problem. That is called a >> solution. > > Yes. > >> 2. You said that neither function is designed for creating a new >> temporary buffer. That is true of find-file, which can create a new >> buffer, but a buffer whose contents are to be persisted i.e. not >> temporary. I think switch-to-buffer _is_ designed for creating a new >> temporary buffer, just a buffer that has a user-specified name. > > this i don't agree. Quote from my article: > > « > * There is no easy, intuitive way to create multiple scratch > buffers. (it is done by using the switch-to-buffer command (C-x b) and > give name that is not one of existing buffers.) We'll have to disagree: I think that is both easy and intuitive. > * When the scratch buffer is closed, emacs does not prompt user to > save it. This easily causes data loss. What part of the initial contents of the *scratch* buffer is not clear: ;; This buffer is for notes you don't want to save, and for Lisp evaluation. ;; If you want to create a file, visit that file with C-x C-f, ;; then enter the text in that file's own buffer. > * A scratch pad can be very useful not just for temporary elisp > code but for any scratch notes or programing in other languages. (For > example, well known programer Stevey Yegg in his popular Effective > Emacs↗ blog list it as a top 10 tip in emacs productivity.) Emacs's > “*scratch*” buffer is narrowly geared for elisp editing only, > defaulting to emacs-lisp-mode. So set initial-major-mode to your favorite text or programming language mode. Mine is emacs-lisp-mode. > * Emacs does not provide a user level function to create a new > buffer. It has menu “File‣Open file...” (a wrapper to the find-file > command), which immediately prompt user for a full file path. This is > annoying. Modern apps's New File command actually just create a new > untitled file without prompting, and only when user save it it prompt > a file name. If user closes it, it prompts for saving. > » Agreed. I think you should lobby the Emacs maintainers to include something like the switch-to-new-buffer command I proposed. But it does need to be enhanced to prompt for saving when it is killed. > More specifically, in different wording now: the problem with switch- > to-buffer for creating new buffer is that it is simply not designed > for it. It is only a side effect. (similar to, say, the unix “touch” > command is used to create new file, and unix “mv” command is used for > renaming, and in unix the boulean operators for “and” (&&) and > “or” (||) are used for program flow... and quite a lot such quirks in > various langs.) Sure, it you can use a hammer as a weapon and various > things but not the right design for something is a problem. More > specifically: > > • switch-to-buffer the name does not convey it's use as a create-new- > buffer. > > • By using it for the purpose of creating new buffer and as well as > switching buffer, it has multiple purposes. Thes 2 purpsose are > semantically distinct and in practice doesn't mix. > > • when user uses switch-to-buffer for creating new buffer, it again, > just like find-file, promp user to type a name. Also, user needs to > give a name not one of existing buffers. The problem with trivial > prompting is well know is UI, especiall its problems can be seen in > Microsoft Windows OS, where every minute it prompts users for this or > that which is quite annoying. A better way, to let user decided to > name something when user needs to. So: Don't use switch-to-buffer. Use something else. Lobby the Emacs maintainers to include that something else. Argue the case for that something else based on your actual usage, not speculation about what makes Emacs easy/hard/intuitive/nonintuitive for others. >> 3. You contradict yourself to some degree by complaining that >> temporary buffers can be killed without prompting the user about >> whether and under what name to save them. I think it would be clearer >> if you said "empty" buffer instead of "temporary". > > I'm not sure i understood exactly what u mean. Temporary objects are those which are not intended to be saved. > What i meant in my article or post was that, emacs won't offer save > for buffers not associated with a file. This is so for buffers created > using the switch-to-buffer command. Yes, it is a convenient feature. :-) >> I prefer progress to modernization. > > The “modernization” is just a descriptive tag. Am not sure exactly > what you mean. Modernization is simply a collective term for emacs > improvements that happens to make emacs more compatible with modern > terminologies, UI sandards. Many tech geekers will perhaps think > “modernization” means “let's make emacs like Microsoft”. No. It is not > the intention nor the goal. (Of interest to note, that it is EXACTLY > Linux's KDE's prominently published manifesto, for example, when it > starts in about 1998.) Whether a technology or UI convention (not standard) is good has little to do with how modern it is, regardless of its sponsor. > For example, if i think modernization of emacs means making it behave > like Microsoft apps, then i would have suggest using popup dialogs and > get rid of scratch buffer, using XML instead of elisp for user prefs, > using standard menu instead of the emacs's ones, get rid of dired, use > standard Microsoft help app and format instead of C-h and info, > possibly incorporate pop langs such as VisualBasic and replace elisp. Yes, we're waiting for those suggestions from you next. :-) > The modernization i proposed, is intended to make emacs more > efficient, powerful, and get rid of its primary criticism of usability > problem. I believe, my propose solve the problem well, is quite > conservative, is simple to implement, having no major change to emacs > ways and consistency. ( Please give it a thought: http://xahlee.org/emacs/modernization.html > ) I do not see how this single user command affects Emacs' efficiency, power, or usability. Your proposal is a sledgehammer that impacts all users, when all that is needed to address *your* criticism is a new command that behaves the way *you* want it to. -- Kevin Rodgers Denver, Colorado, USA