emacs: initialize ido(-completing-read) in emacs 23.[123]

Otherwise `ido-completing-read' will freeze after PROMPT is displayed.
This commit is contained in:
Tomi Ollila 2014-01-27 22:23:37 +02:00 committed by David Bremner
parent b220aefdf9
commit 9c1bc977d7

View file

@ -287,6 +287,19 @@ the From: header is already filled in by notmuch."
(defvar notmuch-mua-sender-history nil) (defvar notmuch-mua-sender-history nil)
;; Workaround: Running `ido-completing-read' in emacs 23.1, 23.2 and 23.3
;; without some explicit initialization fill freeze the operation.
;; Hence, we advice `ido-completing-read' to ensure required initialization
;; is done.
(if (and (= emacs-major-version 23) (< emacs-minor-version 4))
(defadvice ido-completing-read (before notmuch-ido-mode-init activate)
(ido-init-completion-maps)
(add-hook 'minibuffer-setup-hook 'ido-minibuffer-setup)
(add-hook 'choose-completion-string-functions
'ido-choose-completion-string)
(ad-disable-advice 'ido-completing-read 'before 'notmuch-ido-mode-init)
(ad-activate 'ido-completing-read)))
(defun notmuch-mua-prompt-for-sender () (defun notmuch-mua-prompt-for-sender ()
(interactive) (interactive)
(let (name addresses one-name-only) (let (name addresses one-name-only)