diff lisp/ido.el @ 90776:dd7c098af727

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 638-652) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 202) - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-177
author Miles Bader <miles@gnu.org>
date Mon, 26 Feb 2007 23:03:45 +0000
parents 52a7f3f50b89 d38be8d45087
children c0409ee15cee
line wrap: on
line diff
--- a/lisp/ido.el	Fri Feb 23 06:03:48 2007 +0000
+++ b/lisp/ido.el	Mon Feb 26 23:03:45 2007 +0000
@@ -2163,9 +2163,9 @@
 
        ((eq ido-exit 'fallback)
 	(let ((read-buffer-function nil))
-	  (run-hook-with-args 'ido-before-fallback-functions
-			      (or fallback 'switch-to-buffer))
-	  (call-interactively (or fallback 'switch-to-buffer))))
+	  (setq this-command (or fallback 'switch-to-buffer))
+	  (run-hook-with-args 'ido-before-fallback-functions this-command)
+	  (call-interactively this-command)))
 
        ;; Check buf is non-nil.
        ((not buf) nil)
@@ -2173,6 +2173,7 @@
 
        ;; View buffer if it exists
        ((get-buffer buf)
+	(add-to-history 'buffer-name-history buf)
 	(if (eq method 'insert)
 	    (progn
 	      (ido-record-command 'insert-buffer buf)
@@ -2192,6 +2193,7 @@
 
        ;; create a new buffer
        (t
+	(add-to-history 'buffer-name-history buf)
 	(setq buf (get-buffer-create buf))
 	(if (fboundp 'set-buffer-major-mode)
 	    (set-buffer-major-mode buf))
@@ -2304,9 +2306,9 @@
 	;; we don't want to change directory of current buffer.
 	(let ((default-directory ido-current-directory)
 	      (read-file-name-function nil))
-	  (run-hook-with-args 'ido-before-fallback-functions
-			      (or fallback 'find-file))
-	  (call-interactively (or fallback 'find-file))))
+	  (setq this-command (or fallback 'find-file))
+	  (run-hook-with-args 'ido-before-fallback-functions this-command)
+	  (call-interactively this-command)))
 
        ((eq ido-exit 'switch-to-buffer)
 	(ido-buffer-internal ido-default-buffer-method nil nil nil ido-text))
@@ -2363,9 +2365,11 @@
        ((eq method 'write)
 	(ido-record-work-file filename)
 	(setq default-directory ido-current-directory)
-	(ido-record-command 'write-file (concat ido-current-directory filename))
+	(setq filename (concat ido-current-directory filename))
+	(ido-record-command 'write-file filename)
+	(add-to-history 'file-name-history filename)
 	(ido-record-work-directory)
-	(write-file (concat ido-current-directory filename)))
+	(write-file filename))
 
        ((eq method 'read-only)
 	(ido-record-work-file filename)
@@ -2381,6 +2385,7 @@
 	(ido-record-command
 	 (if ido-find-literal 'insert-file-literally 'insert-file)
 	 filename)
+	(add-to-history 'file-name-history filename)
 	(ido-record-work-directory)
 	(insert-file-1 filename
 		       (if ido-find-literal
@@ -2391,6 +2396,7 @@
 	(ido-record-work-file filename)
 	(setq filename (concat ido-current-directory filename))
 	(ido-record-command 'find-file filename)
+	(add-to-history 'file-name-history filename)
 	(ido-record-work-directory)
 	(ido-visit-buffer (find-file-noselect filename nil ido-find-literal) method))))))