* lisp/ido.el (ido-common-initilization): New function.
authorLeo Liu <sdl.web@gmail.com>
Wed, 1 Dec 2010 22:34:09 +0000 (17:34 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 1 Dec 2010 22:34:09 +0000 (17:34 -0500)
(ido-mode): Use it.
(ido-completing-read): Call it.

Fixes: debbugs:3274

lisp/ChangeLog
lisp/ido.el

index c6da166..12a1db2 100644 (file)
@@ -1,3 +1,9 @@
+2010-12-01  Leo  <sdl.web@gmail.com>
+
+       * ido.el (ido-common-initilization): New function.  (bug#3274)
+       (ido-mode): Use it.
+       (ido-completing-read): Call it.
+
 2010-11-27  Chong Yidong  <cyd@stupidchicken.com>
 
        * log-edit.el (log-edit-font-lock-keywords): Don't try matching
index a440977..ee8bd49 100644 (file)
@@ -1439,6 +1439,11 @@ Removes badly formatted data and ignored directories."
   ;; ido kill emacs hook
   (ido-save-history))
 
+(defun ido-common-initilization ()
+  (ido-init-completion-maps)
+  (add-hook 'minibuffer-setup-hook 'ido-minibuffer-setup)
+  (add-hook 'choose-completion-string-functions 'ido-choose-completion-string))
+
 (define-minor-mode ido-everywhere
   "Toggle using ido speed-ups everywhere file and directory names are read.
 With ARG, turn ido speed-up on if arg is positive, off otherwise."
@@ -1482,12 +1487,9 @@ This function also adds a hook to the minibuffer."
         (t nil)))
 
   (ido-everywhere (if ido-everywhere 1 -1))
-  (when ido-mode
-    (ido-init-completion-maps))
 
   (when ido-mode
-    (add-hook 'minibuffer-setup-hook 'ido-minibuffer-setup)
-    (add-hook 'choose-completion-string-functions 'ido-choose-completion-string)
+    (ido-common-initilization)
     (ido-load-history)
 
     (add-hook 'kill-emacs-hook 'ido-kill-emacs-hook)
@@ -4679,6 +4681,8 @@ DEF, if non-nil, is the default value."
        (ido-directory-too-big nil)
        (ido-context-switch-command 'ignore)
        (ido-choice-list choices))
+    ;; Initialize ido before invoking ido-read-internal
+    (ido-common-initilization)
     (ido-read-internal 'list prompt hist def require-match initial-input)))
 
 (defun ido-unload-function ()