all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
Subject: RE: Start value in minibuffer
Date: Mon, 14 Nov 2005 09:36:59 -0800	[thread overview]
Message-ID: <DNEMKBNJBGPAOPIJOOICIEMPCOAA.drew.adams@oracle.com> (raw)
In-Reply-To: <43786D55.7080300@soem.dk>

    I think you are right and clear! But then the most sensible thing would
    be to make it optional. What about something like:

    (defcustom minibuffer-insert-default-value nil
      "Insert DEFAULT-VALUE into minibuffer.
    If non-nil, `read-from-minibuffer' inserts DEFAULT-VALUE into the
    minibuffer if
    INITIAL-CONTENTS is nil. If the value is 'select, the minibuffer
    contents will
    be selected."
      :type '(choice
        (const :tag "Don't insert default value" nil)
        (const :tag "Insert default value" t)
        (const :tag "Insert and select default value" select)))

There are actually three things we might consider making options:

1. Whether or not the default value is to be inserted in the
   minibuffer as an initial value.

2. If inserted, whether or not to preselect it.

3. Where to leave the cursor - at the beginning or end of the value.

These could be treated independently (3 separate options) or together. The
cursor position matters most for the preselection case, I think.

As an example, in my library, I provide the cursor-position option only in
case of preselection. So, I provide only one option, with these values:

(defcustom icicle-init-value 'insert
  "*Non-nil means to use default value as init value when reading input.
This is used by `completing-read'.  When the default-value argument is
non-nil and the initial-input argument is nil or \"\",  the default
value is inserted in the minibuffer as the initial input.

This has the advantage of not requiring you to use `M-n' to retrieve
the default value.  It has the disadvantage of making you empty the
minibuffer if you do not want to use or edit the default value.

The particular non-nil value determines whether or not the value is
preselected and, if preselected, where the cursor is left: at the
beginning or end of the value.  Possible values:

  nil               - Do not insert default value.
  `insert'          - Insert default value (leave cursor at end).
  `preselect-start' - Insert and preselect default value;
                      leave cursor at beginning.
  `preselect-start' - Insert and preselect default value;
                      leave cursor at end.

Preselection can be useful in Delete Selection mode or PC Selection
mode.  It makes it easy to replace the value by typing characters, or
delete it by hitting `C-d' or `DEL' (backspace).  However, all of the
initial input is lost if you type or hit `C-d' or `DEL'.  That is
inconvenient if you want to keep most of it and edit it only slightly."
  :type '(choice
          (const :tag "Do not insert default value as initial value"
nil)
          (const :tag "Insert (and leave cursor at end)"
insert)
          (const :tag "Insert, preselect, and leave cursor at beginning"
preselect-start)
          (const :tag "Insert, preselect, and leave cursor at end"
preselect-end))
  :group 'icicles)

  reply	other threads:[~2005-11-14 17:36 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-12 10:47 opening /tmp//foo doesn't work Han Boetes
2005-11-12 14:40 ` Alfred M. Szmidt
2005-11-12 15:15   ` Han Boetes
2005-11-12 15:55     ` Alfred M. Szmidt
2005-11-12 16:11       ` Han Boetes
2005-11-12 16:22         ` Alfred M. Szmidt
2005-11-12 16:38 ` Tomas Zerolo
2005-11-12 17:23   ` Chong Yidong
2005-11-13 21:50     ` Start value in minibuffer [Was: opening /tmp//foo doesn't work.] Lars Hansen
2005-11-13 22:36       ` Drew Adams
2005-11-13 22:45         ` Lennart Borgman
2005-11-13 22:57           ` Drew Adams
2005-11-13 23:08             ` Lennart Borgman
2005-11-15  5:42             ` Richard M. Stallman
2005-11-14  0:34           ` Miles Bader
2005-11-14  0:43             ` Lennart Borgman
2005-11-13 23:22         ` Start value in minibuffer Stefan Monnier
2005-11-13 23:48           ` Kim F. Storm
2005-11-14  0:55             ` Juri Linkov
2005-11-14  2:35               ` Drew Adams
2005-11-14 10:56                 ` Lars Hansen
2005-11-14 17:36                   ` Drew Adams [this message]
2005-11-14  9:40         ` Start value in minibuffer [Was: opening /tmp//foo doesn't work.] Lars Hansen
2005-11-14 12:47       ` Robert J. Chassell
2005-11-14 22:44         ` Lars Hansen
2005-11-14 23:06           ` Robert J. Chassell
2005-11-15 17:06             ` Lars Hansen
2005-11-15 17:33               ` Miles Bader
2005-11-15 17:56                 ` Lars Hansen
2005-11-15 18:39               ` Kevin Rodgers
2005-11-15 18:08           ` Richard M. Stallman
2005-11-12 20:07   ` opening /tmp//foo doesn't work Randal L. Schwartz
2005-11-12 18:11 ` Turning on file-name-shadow-mode by default (was: opening /tmp//foo doesn't work.) Reiner Steib
2005-11-12 20:06   ` Miles Bader
2005-11-12 21:17     ` Luc Teirlinck
2005-11-12 21:38       ` Miles Bader
2005-11-13 21:08       ` Turning on file-name-shadow-mode by default Stefan Monnier
2005-11-13 23:57         ` Luc Teirlinck
2005-11-14 17:48         ` Richard M. Stallman
2005-11-14 23:23           ` Luc Teirlinck
2005-11-15  0:57             ` Juri Linkov
2005-11-15  2:12               ` Luc Teirlinck
2005-11-15  2:19                 ` Juri Linkov
2005-11-15  3:04                   ` Luc Teirlinck
2005-11-15  3:08                   ` Miles Bader
2005-11-15  3:19                     ` Juri Linkov
2005-11-15  3:13                   ` Luc Teirlinck
2005-11-15  3:18                     ` Juri Linkov
2005-11-15  4:13                       ` Luc Teirlinck
2005-11-15  4:43                       ` Luc Teirlinck
2005-11-15 22:57               ` Stefan Monnier
2005-11-15 18:08             ` Richard M. Stallman
2005-11-15 23:02               ` Stefan Monnier
2005-11-13 20:54   ` Turning on file-name-shadow-mode by default (was: opening /tmp//foo doesn't work.) Richard M. Stallman
2005-11-14  0:09     ` Luc Teirlinck
2005-11-16  3:17     ` Luc Teirlinck
2005-11-12 21:21 ` opening /tmp//foo doesn't work Richard M. Stallman
2005-11-12 23:16   ` Drew Adams
2005-11-13  9:28   ` Lars Hansen
2005-11-13 21:05 ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DNEMKBNJBGPAOPIJOOICIEMPCOAA.drew.adams@oracle.com \
    --to=drew.adams@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.