From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ken Newsgroups: gmane.emacs.help Subject: Re: need obsolete arg in (read-from-minibuffer ...) Date: Sat, 19 Mar 2011 01:23:54 -0400 Message-ID: <4D843DEA.3000201@mousecar.com> References: <4D83BF4A.1030707@mousecar.com> <57C62106C2FC4A8DABE33A73A9A35201@us.oracle.com> Reply-To: gebser@mousecar.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1300512304 11654 80.91.229.12 (19 Mar 2011 05:25:04 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 19 Mar 2011 05:25:04 +0000 (UTC) Cc: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat Mar 19 06:24:54 2011 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.69) (envelope-from ) id 1Q0oef-00068Z-Jn for geh-help-gnu-emacs@m.gmane.org; Sat, 19 Mar 2011 06:24:49 +0100 Original-Received: from localhost ([127.0.0.1]:40631 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q0oef-0005FO-3g for geh-help-gnu-emacs@m.gmane.org; Sat, 19 Mar 2011 01:24:49 -0400 Original-Received: from [140.186.70.92] (port=58894 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q0odt-0005Bn-P9 for help-gnu-emacs@gnu.org; Sat, 19 Mar 2011 01:24:02 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q0ods-000457-GA for help-gnu-emacs@gnu.org; Sat, 19 Mar 2011 01:24:01 -0400 Original-Received: from mout.perfora.net ([74.208.4.195]:63898) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q0ods-00044r-Bq for help-gnu-emacs@gnu.org; Sat, 19 Mar 2011 01:24:00 -0400 Original-Received: from dellap.mousecar.net (dsl093-011-016.cle1.dsl.speakeasy.net [66.93.11.16]) by mrelay.perfora.net (node=mrus2) with ESMTP (Nemesis) id 0LfkDy-1Phe6g3tWs-00ooIF; Sat, 19 Mar 2011 01:23:58 -0400 User-Agent: Thunderbird 2.0.0.24 (X11/20101213) In-Reply-To: X-Enigmail-Version: 0.96.0 OpenPGP: id=5AD091E7 X-Provags-ID: V02:K0:gb4hylMmlO1GOyER412+zBZM8U/8rTtavDiLOkwBNBY yZAZSl4EcLlqsiZ19hRtQbuR/vJgWT6HQ9h/VVrUYhMAd6OdKg sFUKuhQgd8NljzxRDMlYX0UywwUUkkAj26CeUC2l6R5MPkFPmF Ok6XduaRFMMhWbq/lPhAtbwAa0bY2FKN4xVmbrsPijDh6PFQQ0 KQEfCOEkgtrcPiM4eUpBHXQEZfUKiCoTW4HtDUClRE= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 74.208.4.195 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:80266 Archived-At: On 12/31/1969 07:00 PM wrote: >>>> the docs say that 2nd arg is obsolete. However, >>>> I've tried a lot of permutations of the args listed and I >>>> can't get this function to work without using that obsolete 2nd arg. >>>> (defun mygetstr (def-val) >>>> (read-from-minibuffer "Enter/Edit string: " >>>> def-val nil nil nil def-val t)) > > First note: you probably don't want to use read-from-minibuffer, but use > read-string instead (read-from-minibuffer is lower-level and slightly more > tricky to use right). I guess I should have asked this list before I spent so much time trying to get it to work. But now that it's working, I think I'll just keep it. > >>> What do you mean by "work"? And what do you mean "without" the >>> obsolete arg? >> Sorry, I should have been clearer. If I change the 2nd arg from >> "def-val" to "nil", then def-val isn't displayed in the minibuffer for >> editing by the user. > > Exactly: placing the default value into the minibuffer text is what > is discouraged. Instead, you should pass it as the `default-value' > argument and manually make your prompt look like > " (default ): " > I know it sounds silly, but ...blablabla... history ...blablabla... I think I see what you're saying: The default value is displayed in the prompt, but not after the prompt in the editable section of the minibuffer, yes? If so, when the user just hits RET, is the default value confirmed (and returned), or does this return nil? It's ambiguous to me now and I think it would be ambiguous to the user... probably leading to his/her getting not what was intended. Me, I don't think it's a big deal to do C-a C-k to clear a string provided in the minibuffer. I do it without even having to think about it. If there were a keyboard on its handlebars, I could do it while riding my bike in heavy traffic. I don't get what all the juice is about. Moreover, I sometimes C-a C-k a string in the minibuffer (and then commonly yank it back) just because I want the string in the kill ring for subsequent use elsewhere. If it's not editably displayed there, this trick is out and the window and it's considerably fricking more typing I have to do. :-( The more typing I can have emacs do for me, the better I like it. I guess I'm just an obsolete, deprecated kind of guy. > >> However, the docs say that this arg is obsolete. >> I take this to mean that it should be left as "nil". > > Unless you really have a good argument why you want the initial > minibuffer content to not be empty, of course. The "obsolete" is really > about the UI guidelines and should be enforced differently ideally, but > for now that's what we have. > > > Stefan Rather than say "obsolete", the docs would better say "discouraged for non-technical reasons"... and then maybe even give those reasons. A few words like that would have saved me a lot of time today, time which would have been better spent writing more code. But thanks to all for the clarifications.