summaryrefslogtreecommitdiff
path: root/devdocs/elisp/object-from-minibuffer.html
diff options
context:
space:
mode:
Diffstat (limited to 'devdocs/elisp/object-from-minibuffer.html')
-rw-r--r--devdocs/elisp/object-from-minibuffer.html46
1 files changed, 46 insertions, 0 deletions
diff --git a/devdocs/elisp/object-from-minibuffer.html b/devdocs/elisp/object-from-minibuffer.html
new file mode 100644
index 00000000..64877f98
--- /dev/null
+++ b/devdocs/elisp/object-from-minibuffer.html
@@ -0,0 +1,46 @@
+ <h3 class="section">Reading Lisp Objects with the Minibuffer</h3> <p>This section describes functions for reading Lisp objects with the minibuffer. </p> <dl> <dt id="read-minibuffer">Function: <strong>read-minibuffer</strong> <em>prompt &amp;optional initial</em>
+</dt> <dd>
+<p>This function reads a Lisp object using the minibuffer, and returns it without evaluating it. The arguments <var>prompt</var> and <var>initial</var> are used as in <code>read-from-minibuffer</code>. </p> <p>This is a simplified interface to the <code>read-from-minibuffer</code> function: </p> <div class="example"> <pre class="example">(read-minibuffer <var>prompt</var> <var>initial</var>)
+≡
+(let (minibuffer-allow-text-properties)
+ (read-from-minibuffer <var>prompt</var> <var>initial</var> nil t))
+</pre>
+</div> <p>Here is an example in which we supply the string <code>"(testing)"</code> as initial input: </p> <div class="example"> <pre class="example">(read-minibuffer
+ "Enter an expression: " (format "%s" '(testing)))
+
+;; <span class="roman">Here is how the minibuffer is displayed:</span>
+</pre>
+
+<pre class="example">---------- Buffer: Minibuffer ----------
+Enter an expression: (testing)∗
+---------- Buffer: Minibuffer ----------
+</pre>
+</div> <p>The user can type <tt class="key">RET</tt> immediately to use the initial input as a default, or can edit the input. </p>
+</dd>
+</dl> <dl> <dt id="eval-minibuffer">Function: <strong>eval-minibuffer</strong> <em>prompt &amp;optional initial</em>
+</dt> <dd>
+<p>This function reads a Lisp expression using the minibuffer, evaluates it, then returns the result. The arguments <var>prompt</var> and <var>initial</var> are used as in <code>read-from-minibuffer</code>. </p> <p>This function simply evaluates the result of a call to <code>read-minibuffer</code>: </p> <div class="example"> <pre class="example">(eval-minibuffer <var>prompt</var> <var>initial</var>)
+≡
+(eval (read-minibuffer <var>prompt</var> <var>initial</var>))
+</pre>
+</div> </dd>
+</dl> <dl> <dt id="edit-and-eval-command">Function: <strong>edit-and-eval-command</strong> <em>prompt form</em>
+</dt> <dd>
+<p>This function reads a Lisp expression in the minibuffer, evaluates it, then returns the result. The difference between this command and <code>eval-minibuffer</code> is that here the initial <var>form</var> is not optional and it is treated as a Lisp object to be converted to printed representation rather than as a string of text. It is printed with <code>prin1</code>, so if it is a string, double-quote characters (‘<samp>"</samp>’) appear in the initial text. See <a href="output-functions">Output Functions</a>. </p> <p>In the following example, we offer the user an expression with initial text that is already a valid form: </p> <div class="example"> <pre class="example">(edit-and-eval-command "Please edit: " '(forward-word 1))
+
+;; <span class="roman">After evaluation of the preceding expression,</span>
+;; <span class="roman">the following appears in the minibuffer:</span>
+</pre>
+
+<pre class="example">---------- Buffer: Minibuffer ----------
+Please edit: (forward-word 1)∗
+---------- Buffer: Minibuffer ----------
+</pre>
+</div> <p>Typing <tt class="key">RET</tt> right away would exit the minibuffer and evaluate the expression, thus moving point forward one word. </p>
+</dd>
+</dl><div class="_attribution">
+ <p class="_attribution-p">
+ Copyright &copy; 1990-1996, 1998-2022 Free Software Foundation, Inc. <br>Licensed under the GNU GPL license.<br>
+ <a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Object-from-Minibuffer.html" class="_attribution-link">https://www.gnu.org/software/emacs/manual/html_node/elisp/Object-from-Minibuffer.html</a>
+ </p>
+</div>