]> git.eshelyaron.com Git - emacs.git/commitdiff
(goto-history-element): Allow minibuffer-default to be
authorJuri Linkov <juri@jurta.org>
Mon, 22 Oct 2007 00:17:55 +0000 (00:17 +0000)
committerJuri Linkov <juri@jurta.org>
Mon, 22 Oct 2007 00:17:55 +0000 (00:17 +0000)
a list of default values accessible by typing M-n in the minibuffer.

lisp/ChangeLog
lisp/simple.el

index ea696bf935804cb69a53ad37c1bfc10c98c0e324..f96e92a615006729e16016472c71fe1a6d068f9b 100644 (file)
@@ -1,3 +1,8 @@
+2007-10-22  Juri Linkov  <juri@jurta.org>
+
+       * simple.el (goto-history-element): Allow minibuffer-default to be
+       a list of default values accessible by typing M-n in the minibuffer.
+
 2007-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * emacs-lisp/byte-opt.el (byte-optimize-featurep): Fix paren typo.
index ebf0a5ff71ebb03aad2ac5f412d400923bad4e1e..eb76cd490d4e8dc96fbb8ebed730271899d7c928 100644 (file)
@@ -1295,7 +1295,11 @@ makes the search case-sensitive."
   "Puts element of the minibuffer history in the minibuffer.
 The argument NABS specifies the absolute history position."
   (interactive "p")
-  (let ((minimum (if minibuffer-default -1 0))
+  (let ((minimum (if minibuffer-default
+                    (- (if (listp minibuffer-default)
+                           (length minibuffer-default)
+                         1))
+                  0))
        elt minibuffer-returned-to-present)
     (if (and (zerop minibuffer-history-position)
             (null minibuffer-text-before-history))
@@ -1317,8 +1321,10 @@ The argument NABS specifies the absolute history position."
     (goto-char (point-max))
     (delete-minibuffer-contents)
     (setq minibuffer-history-position nabs)
-    (cond ((= nabs -1)
-          (setq elt minibuffer-default))
+    (cond ((< nabs 0)
+          (setq elt (if (listp minibuffer-default)
+                        (nth (1- (abs nabs)) minibuffer-default)
+                      minibuffer-default)))
          ((= nabs 0)
           (setq elt (or minibuffer-text-before-history ""))
           (setq minibuffer-returned-to-present t)