When reading about ido, we are instructed to add this to .emacs:

(ido-everywhere t)

The doc says that it Toggle use of Ido for all buffer/file reading.

What does it mean? Everything seems to work whether ido-everywhere is set or not.

1 Answer 1


ido-everywhere function

(define-minor-mode ido-everywhere
  "Toggle use of Ido for all buffer/file reading.
With a prefix argument ARG, enable this feature if ARG is
positive, and disable it otherwise.  If called from Lisp,
enable the mode if ARG is omitted or nil."
  :global t
  :group 'ido
  (remove-function read-file-name-function #'ido-read-file-name)
  (remove-function read-buffer-function #'ido-read-buffer)
  (when ido-everywhere
    (add-function :override read-file-name-function #'ido-read-file-name)
(add-function :override read-buffer-function #'ido-read-buffer)))

It overrides read-file-name-function (https://www.gnu.org/software/emacs/manual/html_node/elisp/Reading-File-Names.html), read-buffer-function (ftp://ftp.gnu.org/old-gnu/Manuals/elisp-manual-20-2.5/html_chapter/elisp_20.html).

You can see the effect when you try File->Open File from menu bar. With ido-everywhere disabled, it opens graphical interface, but with ido-everywhere enabled it shows file list in mini buffer (ido style). Effect can be seen where ever these overrided functions are used.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.