--- emacs-23.3.90/lisp/minibuffer.el 2012-01-11 13:35:01.000000000 +0100 +++ minibuffer.el 2012-01-18 18:57:37.561110910 +0100 @@ -1198,15 +1198,16 @@ 'completion-at-point-functions))) (cond ((functionp res) (funcall res)) - (res - (let* ((plist (nthcdr 3 res)) - (start (nth 0 res)) - (end (nth 1 res)) - (completion-annotate-function - (or (plist-get plist :annotation-function) - completion-annotate-function))) - (completion-in-region start end (nth 2 res) - (plist-get plist :predicate))))))) + (unless (numberp res) + (res + (let* ((plist (nthcdr 3 res)) + (start (nth 0 res)) + (end (nth 1 res)) + (completion-annotate-function + (or (plist-get plist :annotation-function) + completion-annotate-function))) + (completion-in-region start end (nth 2 res) + (plist-get plist :predicate)))))))) ;;; Key bindings.