(ido-common-completion-map, ido-file-completion-map)
(ido-file-dir-completion-map, ido-buffer-completion-map):
Renamed from ido-mode-....-map.
(ido-init-completion-maps): Renamed from ido-init-mode-maps.
(ido-setup-completion-map): Renamed from ido-define-mode-map.
(ido-read-internal): Bind minibuffer-local-filename-completion-map
to ido-completion-map.
(ido-mode-common-map, ido-mode-file-map)
(ido-mode-file-dir-map, ido-mode-buffer-map): New keymaps.
(ido-define-mode-map): Rewrite. Select one of the new maps as
parent for ido-mode-map instead of building from scratch.
(ido-init-mode-maps): New defun to initialize new maps.
(ido-mode): Call it.
(ido-switch-buffer): Doc fix -- use \<ido-mode-buffer-map>.
(ido-find-file): Doc fix -- use \<ido-mode-file-map>.
(ido-set-current-directory): Don't add / after final @.
(ido-file-name-all-completions-1): Adapt to fixed tramp completion.
Explicitly handle ange-ftp completion oddities.
(ido-make-file-list): Don't rotate list at tramp root to avoid
triggering tramp file handler for expand-file-name via get-file-buffer.
* ido.el (ido-incomplete-regexp): New variable.
(ido-set-matches-1): Handle invalid-regexp error and set
ido-incomplete-regexp.
(ido-incomplete-regexp): New face.
(ido-completions): Use it.
(ido-complete, ido-exit-minibuffer, ido-completions): Handle
incomplete regexps.
(ido-completions): Add check for complete match when entering a
regexp.
ido-make-merged-file-list.
(ido-make-merged-file-list): Bind throw-on-input around call to
ido-make-merged-file-list-1. Return input-pending-p if
interrupted by more input available.
(ido-read-internal): Handle input-pending-p return value from
ido-make-merged-file-list.
(ido-magic-delete-char): New commands for C-f, C-b, C-d.
(ido-wide-find-dir-or-delete-dir): New command for M-d.
(ido-define-mode-map): Bind them. Add C-x prefix to fallback commands.
(ido-read-file-name): Handle commands with ido property value
equal to find-file as reading a file name, to allow C-d to enter dired.
(ibuffer-find-file): Add ido property with value find-file.
(ido-define-mode-map-hook): Remove hook; use ido-setup-hook instead.
(ido-input-stack): New var.
(ido-define-mode-map): Bind M-b to ido-push-dir. Move old
ido-next-work-file binding to M-O.
Bind M-f to ido-wide-find-file-or-pop-dir.
(ido-define-mode-map): Don't run ido-define-mode-map-hook.
(ido-read-internal): Run ido-setup-hook.
Catch quit in read-file-name and read-string to cancel edit.
Handle new push, pop, and pop-all exit codes (for M-b/M-f).
Automatically pop-all when completing a directory name (RET).
(ido-file-internal): Add with-no-warnings around ffap and dired code.
(ido-exit-minibuffer): Use exit-minibuffer instead of throw.
(ido-wide-find-file, ido-wide-find-dir): Catch quit to cancel find.
(ido-push-dir, ido-pop-dir, ido-wide-find-file-or-pop-dir): New
functions for M-b/M-f to move among the directory components.
(ido-make-merged-file-list): Catch quit to cancel merge.
(ido-make-dir-list): Delete "." when ido-input-stack is non-empty.
(ido-completion-help): No warnings for ido-completion-buffer-full.
(ido-file-extension-lessp, ido-file-extension-aux)
(ido-file-extension-order): New advanced file ordering.
(ido-file-lessp): New simple file ordering.
(ido-sort-list): Remove.
(ido-make-file-list): Use ido-file-lessp or ido-file-extension-lessp.
(ido-make-dir-list, ido-completion-help): Use ido-file-lessp.
(ido-decorations): Add "too big" element.
(ido-directory-too-big): New dynamic var.
(ido-may-cache-directory): Don't cache big directories.
(ido-directory-too-big-p): New defun.
(ido-set-current-directory): Update ido-directory-too-big.
(ido-read-internal): Make empty ido-cur-item if too-big.
(ido-buffer-internal): Use ido-read-internal directly instead of
ido-read-buffer.
(ido-file-internal): Init ido-directory-too-big.
(ido-complete): <TAB> If ido-directory-too-big is set, clear it,
and redo completion with full list.
(ido-toggle-ignore): <C-a> If ido-directory-too-big is set, clear
it, and show completions.
(ido-all-completions): Let bind ido-directory-too-big to nil.
(ido-exhibit): Handle ido-directory-too-big.
(ido-read-buffer): Handle fallback to read-buffer. Init
ido-directory-too-big.
(ido-read-file-name, ido-read-directory-name, ido-completing-read):
Init ido-directory-too-big.
(ido-context-switch-command): New dynamic var.
(ido-define-mode-map): Generalize switch between file/buffer contexts.
(ido-read-internal): Handle new `list' context.
Handle insert-buffer and insert-file ido-exit values.
(ido-buffer-internal): New arg switch-cmd. Use it to setup
ido-context-switch-command. Handle insert-file ido-exit value.
(ido-read-buffer): Set ido-context-switch-command to 'ignore
unless it is already bound by caller.
(ido-file-internal): New arg switch-cmd. Use it to setup
ido-context-switch-command. Handle insert-buffer ido-exit value.
(ido-enter-insert-buffer, ido-enter-insert-file): New commands
used for context switching.
(ido-all-completions): Handle new `list' context.
(ido-make-choice-list): Return choices for `list' context.
(ido-find-file-in-dir, ido-display-file, ido-write-file)
(ido-display-buffer, ido-kill-buffer): Disable context switching.
(ido-insert-buffer, ido-insert-file): Setup context switching.
(ido-exhibit): Handle `list' context.
(ido-read-file-name): Disable context switching. Handle fallback.
(ido-read-directory-name): Disable context switching.
(ido-completing-read): New defun like completing-read. Setup and
use new `list' context.
nonreadable directory without activating tramp to avoid problems
with checking incomplete tramp paths.
(ido-set-current-directory, ido-file-internal)
(ido-file-name-all-completions1): Use it.
(ido-decorations): Add 9th element for non-readable directory.
(ido-directory-nonreadable): New dynamic var.
(ido-set-current-directory): Set it.
(ido-read-buffer, ido-file-internal):
(ido-read-file-name, ido-read-directory-name): Let-bind it.
(ido-file-name-all-completions1): Return empty list for
non-readable directory.
(ido-exhibit): Print [Not readable] if directory is not readable.
(ido-expand-directory): New defun (based on tiny fix from Karl Chen).
(ido-read-file-name, ido-file-internal, ido-read-directory-name):
Use it.
New defcustoms to add ffap-like functionality to ido.
(ido-saved-vc-hb): Rename from ido-saved-vc-mt. Uses changed.
(ido-no-final-slash): New defun.
(ido-make-prompt, ido-file-internal, ido-toggle-vc)
(ido-read-file-name): ): Toggle VC checking via
vc-handled-backends instead of vc-master-templates.
(ido-file-internal): Handle ido-use-url-at-point and
ido-use-filename-at-point via code borrowed from ffap-guesser.
Handle new ido-exit code ffap.
(ido-sort-list): Ignore final slash when sorting file names.