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.
(ido-define-mode-map): Bind C-l for both file and dir modes.
(ido-wide-find-file, ido-wide-find-dir, ido-make-directory):
Let-bind enable-recursive-minibuffers to t around read-string.
commands to their ido specific equivalents. Disable ESC in
viper mode (to avoid exiting insert mode), since ido doesn't
work in viper command mode.
(ido-delete-backward-updir, ido-delete-backward-word-updir):
Handle remapped viper commands.
(ido-enter-single-matching-directory): Change default to 'slash.
(ido-is-tramp-root): New defun.
(ido-is-root-directory, ido-is-ftp-directory, ido-is-slow-ftp-host)
(ido-may-cache-directory, ido-final-slash, ido-read-internal)
(ido-complete, ido-make-file-list1, ido-make-dir-list1):
Handle tramp completion.
(ido-file-name-all-completions1): New defun for tramp completion.
(ido-file-name-all-completions): Use it.
(ido-set-matches1): Relax matching of text with trailing slash.
(ido-exhibit): Handle tramp completion.
Simplified code using nested cond forms using new `refresh' var.
Fixed handling of /~user/ paths.
ido-completion-help (similar to iswitchb-cannot-complete-hook).
(ido-complete): Call value of ido-cannot-complete-command rather
than ido-completion-help when no common completion.
(ido-read-internal): Don't set ido-default-item if the default is
member of ido-ignore-item-temp-list.
Don't return first match for C-j if no text is entered.
(ido-buffer-internal): Check for empty string return.
(ido-make-buffer-list1): Use member instead of memq.
(ido-window-buffer-p): Likewise.
(ido-get-bufname): Ignore buffers on ido-ignore-item-temp-list.
(ido-ignore-item-p): Ignore items on ido-ignore-item-temp-list.