X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/6e6c82a4e687708d5a7a3887f92db45bd74da276..4dc7c8d5795458e89d19b59f64760e155c2cd70b:/lisp/ido.el diff --git a/lisp/ido.el b/lisp/ido.el index 5813aff0f2..da30b132d2 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -791,44 +791,39 @@ subdirs in the alternatives." :type 'boolean :group 'ido) -(defface ido-first-match '((t (:bold t))) +(defface ido-first-match '((t :weight bold)) "Face used by ido for highlighting first match." :group 'ido) (defface ido-only-match '((((class color)) - (:foreground "ForestGreen")) - (t (:italic t))) + :foreground "ForestGreen") + (t :slant italic)) "Face used by ido for highlighting only match." :group 'ido) (defface ido-subdir '((((min-colors 88) (class color)) - (:foreground "red1")) - (((class color)) - (:foreground "red")) - (t (:underline t))) + :foreground "red1") + (((class color)) + :foreground "red") + (t :underline t)) "Face used by ido for highlighting subdirs in the alternatives." :group 'ido) -(defface ido-virtual '((t (:inherit font-lock-builtin-face))) +(defface ido-virtual '((t :inherit font-lock-builtin-face)) "Face used by ido for matching virtual buffer names." :version "24.1" :group 'ido) -(defface ido-indicator '((((min-colors 88) (class color)) - (:foreground "yellow1" - :background "red1" - :width condensed)) - (((class color)) - (:foreground "yellow" - :background "red" - :width condensed)) - (t (:inverse-video t))) +(defface ido-indicator '((((min-colors 88) (class color)) + :foreground "yellow1" :background "red1" :width condensed) + (((class color)) + :foreground "yellow" :background "red" :width condensed) + (t :inverse-video t)) "Face used by ido for highlighting its indicators." :group 'ido) (defface ido-incomplete-regexp - '((t - (:inherit font-lock-warning-face))) + '((t :inherit font-lock-warning-face)) "Ido face for indicating incomplete regexps." :group 'ido) @@ -872,7 +867,7 @@ The following variables are available, but should not be changed: :group 'ido) (defvar ido-rewrite-file-prompt-rules nil - "*Alist of rewriting rules for directory names in ido prompts. + "Alist of rewriting rules for directory names in ido prompts. A list of elements of the form (FROM . TO) or (FROM . FUNC), each meaning to rewrite the directory name if matched by FROM by either substituting the matched string by TO or calling the function FUNC @@ -893,9 +888,14 @@ Otherwise, only the current list of matches is shown." :type 'boolean :group 'ido) -(defvar ido-all-frames 'visible - "*Argument to pass to `walk-windows' when finding visible files. -See documentation of `walk-windows' for useful values.") +(defcustom ido-all-frames 'visible + "Argument to pass to `walk-windows' when Ido is finding buffers. +See documentation of `walk-windows' for useful values." + :type '(choice (const :tag "Selected frame only" nil) + (const :tag "All existing frames" t) + (const :tag "All visible frames" visible) + (const :tag "All frames on this terminal" 0)) + :group 'ido) (defcustom ido-minibuffer-setup-hook nil "Ido-specific customization of minibuffer setup. @@ -1722,8 +1722,9 @@ This function also adds a hook to the minibuffer." (unless (and ido-enable-tramp-completion (string-match "\\`/[^/]*@\\'" dir)) (setq dir (ido-final-slash dir t)))) - (if (get-buffer ido-completion-buffer) - (kill-buffer ido-completion-buffer)) + (and ido-completion-buffer + (get-buffer ido-completion-buffer) + (kill-buffer ido-completion-buffer)) (cond ((equal dir ido-current-directory) nil) @@ -1736,8 +1737,9 @@ This function also adds a hook to the minibuffer." (t (ido-trace "cd" dir) (setq ido-current-directory dir) - (if (get-buffer ido-completion-buffer) - (kill-buffer ido-completion-buffer)) + (and ido-completion-buffer + (get-buffer ido-completion-buffer) + (kill-buffer ido-completion-buffer)) (setq ido-directory-nonreadable (ido-nonreadable-directory-p dir)) (setq ido-directory-too-big (and (not ido-directory-nonreadable) (ido-directory-too-big-p dir))) @@ -1982,8 +1984,9 @@ If INITIAL is non-nil, it specifies the initial input string." (setq ido-text-init nil)) ido-completion-map nil hist)))) (ido-trace "read-from-minibuffer" ido-final-text) - (if (get-buffer ido-completion-buffer) - (kill-buffer ido-completion-buffer)) + (and ido-completion-buffer + (get-buffer ido-completion-buffer) + (kill-buffer ido-completion-buffer)) (ido-trace "\n_EXIT_" ido-exit) @@ -3266,7 +3269,7 @@ for first matching file." (while filenames (setq filename (car filenames) filenames (cdr filenames)) - (if (and (string-match "^/" filename) + (if (and (file-name-absolute-p filename) (file-exists-p filename)) (setq d (file-name-directory filename) f (file-name-nondirectory filename) @@ -3837,8 +3840,9 @@ This is to make them appear as if they were \"virtual buffers\"." (defun ido-choose-completion-string (choice &rest ignored) (when (ido-active) ;; Insert the completion into the buffer where completion was requested. - (if (get-buffer ido-completion-buffer) - (kill-buffer ido-completion-buffer)) + (and ido-completion-buffer + (get-buffer ido-completion-buffer) + (kill-buffer ido-completion-buffer)) (cond ((ido-active t) ;; ido-use-merged-list (setq ido-current-directory "" @@ -3857,7 +3861,8 @@ This is to make them appear as if they were \"virtual buffers\"." "Show possible completions in a *File Completions* buffer." (interactive) (setq ido-rescan nil) - (let ((temp-buf (get-buffer ido-completion-buffer)) + (let ((temp-buf (and ido-completion-buffer + (get-buffer ido-completion-buffer))) display-it full-list) (if (and (eq last-command this-command) temp-buf) ;; scroll buffer @@ -3876,7 +3881,7 @@ This is to make them appear as if they were \"virtual buffers\"." (scroll-other-window)) (set-buffer buf)) (setq display-it t)) - (if display-it + (if (and ido-completion-buffer display-it) (with-output-to-temp-buffer ido-completion-buffer (let ((completion-list (sort (cond @@ -4041,8 +4046,7 @@ their normal keybindings, except for the following: \\ RET Select the file at the front of the list of matches. If the list is empty, possibly prompt to create new file. -\\[ido-select-text] Select the current prompt as the buffer or file. -If no buffer or file is found, prompt for a new one. +\\[ido-select-text] Use the current input string verbatim. \\[ido-next-match] Put the first element at the end of the list. \\[ido-prev-match] Put the last element at the start of the list. @@ -4137,6 +4140,7 @@ If no buffer or file is found, prompt for a new one. matches all files. If there is only one match, select that file. If there is no common suffix, show a list of all matching files in a separate window. +\\[ido-magic-delete-char] Open the specified directory in Dired mode. \\[ido-edit-input] Edit input string (including directory). \\[ido-prev-work-directory] or \\[ido-next-work-directory] go to previous/next directory in work directory history. \\[ido-merge-work-directories] search for file in the work directory history.