           (setq smex-custom-action nil)
           (funcall action chosen-item))
       (unwind-protect
-          (execute-extended-command current-prefix-arg chosen-item-name)
+          (with-no-warnings ; Don't warn about interactive use of `execute-extended-command'
+            (execute-extended-command current-prefix-arg chosen-item-name))
         (smex-rank chosen-item)))))
 
 ;;;###autoload

;;; smex.el --- M-x interface with Ido-style fuzzy matching.

;; Copyright (C) 2009-2014 Cornelius Mika and contributors
;;

         (smex-update))
    (smex-read-and-run smex-ido-cache)))

(defun smex-already-running ()
  (and (boundp 'ido-choice-list)
       (eql ido-choice-list smex-ido-cache)
       (minibuffer-window-active-p (selected-window))))

(defun smex-update-and-rerun ()
  (smex-do-with-selected-item
   (lambda (_) (smex-update) (smex-read-and-run smex-ido-cache ido-text))))

(defun smex-read-and-run (commands &optional initial-input)
  (let* ((chosen-item-name (smex-completing-read commands initial-input))
