diff lisp/minibuf.el @ 434:9d177e8d4150 r21-2-25

Import from CVS: tag r21-2-25
author cvs
date Mon, 13 Aug 2007 11:30:53 +0200
parents a5df635868b2
children 84b14dcb0985
line wrap: on
line diff
--- a/lisp/minibuf.el	Mon Aug 13 11:30:00 2007 +0200
+++ b/lisp/minibuf.el	Mon Aug 13 11:30:53 2007 +0200
@@ -415,7 +415,8 @@
 	 ;; `M-x doctor' makes history a local variable, and thus
 	 ;; our binding above is buffer-local and doesn't apply
 	 ;; once we switch buffers!!!!  We demand better scope!
-	 (_history_ history))
+	 (_history_ history)
+	 (minibuffer-default default))
     (unwind-protect
          (progn
            (set-buffer (reset-buffer buffer))
@@ -1445,7 +1446,9 @@
     (while (progn
              (setq result (completing-read prompt alist nil require-match
 					   nil 'buffer-history 
-					   (if default (buffer-name default))))
+					   (if (bufferp default)
+					       (buffer-name default)
+					     default)))
              (cond ((not (equal result ""))
                     nil)
                    ((not require-match)
@@ -1548,8 +1551,9 @@
 				      read-file-name-map
 				    read-file-name-must-match-map)
 				  nil
-				  history))
-	      ))
+				  history
+				  nil
+				  default))))
 ;;;     ;; Kludge!  Put "/foo/bar" on history rather than "/default//foo/bar"
 ;;;     (let ((hist (cond ((not history) 'minibuffer-history)
 ;;;                       ((consp history) (car history))