help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: need obsolete arg in (read-from-minibuffer ...)


From: Drew Adams
Subject: RE: need obsolete arg in (read-from-minibuffer ...)
Date: Fri, 18 Mar 2011 16:03:51 -0700

> > What do you mean by "work"?  And what do you mean "without" 
> > the obsolete arg?
> 
> 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.
> However, the docs say that this arg is obsolete.
> I take this to mean that it should be left as "nil".

Correct.  By "obsolete" the docs mean that that the Emacs developers think you
should leave it as nil (i.e., not use the INITIAL-CONTENTS argument), and use
only the DEFAULT-VALUE argument.

They think that the only useful use cases make no use of INITIAL-CONTENTS.  But
see the doc string wrt the HIST arg, where they allow for an exception.

However, if you understand the difference between DEFAULT-VALUE and
INITIAL-CONTENTS, and _you prefer_ the behavior of INITIAL-CONTENTS for some
reason in some particular context, then use it.  Personally, I do not consider
INITIAL-CONTENTS obsolete, FWIW.

Remember that you can pull the DEFAULT-VALUE into the minibuffer using `M-n'.
So the difference typically comes down to which you find more convenient: having
a value in the minibuffer initially (and having to get rid of it if you really
want something else instead) or pulling a value into the minibuffer when you
need it, using `M-n'.

If the default/initial value is used most of the time, then you might find it
more convenient to have the minibuffer prefilled with it.  If it is not used
most of the time then you might find it more convenient not to have to clear it
out of the minibuffer and type another value.  And this relative convenience
might change, depending on the command and the context.

Personally, I bind `M-k' to a command that clears out the minibuffer, and I
prefill the minibuffer.  I prefill it with the value of DEFAULT-VALUE if
INITIAL-CONTENTS is empty (nil), which is typically the case.  IOW, I have in
effect an automatic `M-n'.  I hit `M-k' when I don't want the value.  Other
people prefer to hit `M-n' when they do want the value.

A lot can depend on how appropriate/useful the default values are for the
commands you use.  If the programmer provided only lousy default values, then
you probably don't want the minibuffer prefilled with them.

In Icicles, whether to prefill or not is a user choice (option).
http://www.emacswiki.org/emacs/Icicles_-_Customization_and_General_Tips#toc11




reply via email to

[Prev in Thread] Current Thread [Next in Thread]