summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/simple.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/lisp/simple.el b/lisp/simple.el
index 2d2d93306d9..88dc0dac2fd 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -798,7 +798,7 @@ An uppercase letter in REGEXP makes the search case-sensitive."
(or (zerop n)
(let ((narg (- minibuffer-history-position n))
(minimum (if minibuffer-default -1 0))
- elt)
+ elt minibuffer-returned-to-present)
(if (and (zerop minibuffer-history-position)
(null minibuffer-text-before-history))
(setq minibuffer-text-before-history (buffer-string)))
@@ -814,11 +814,13 @@ An uppercase letter in REGEXP makes the search case-sensitive."
(setq elt minibuffer-default))
((= narg 0)
(setq elt (or minibuffer-text-before-history ""))
+ (setq minibuffer-returned-to-present t)
(setq minibuffer-text-before-history nil))
(t (setq elt (nth (1- minibuffer-history-position)
(symbol-value minibuffer-history-variable)))))
(insert
- (if (eq minibuffer-history-sexp-flag (minibuffer-depth))
+ (if (and (eq minibuffer-history-sexp-flag (minibuffer-depth))
+ (not minibuffer-returned-to-present))
(let ((print-level nil))
(prin1-to-string elt))
elt))