From 632556e4feb1121faff0c6fd31ee84f7e13591ec Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 5 Apr 2013 10:00:08 -0400 Subject: [PATCH] * lisp/ido.el (ido-completions): Use extra elements of ido-decorations. (ido-decorations): Update docstring. Fixes: debbugs:14143 --- etc/NEWS | 2 ++ lisp/ChangeLog | 6 ++++++ lisp/ido.el | 16 ++++++++++------ 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 1d416dd3737..d893f496ef0 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -87,6 +87,8 @@ Eg View mode, etc. * Changes in Specialized Modes and Packages in Emacs 24.4 +** `ido-decorations' has been slightly extended to give a bit more control. + ** More packages look for ~/.emacs.d/ additionally to ~/.. Affected files: ~/.emacs.d/timelog replaces ~/.timelog diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b77bfb3ab4e..eac9a7b0006 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2013-04-05 Stefan Monnier + + * ido.el (ido-completions): Use extra elements of ido-decorations + (bug#14143). + (ido-decorations): Update docstring. + 2013-04-05 Michael Albinus * autorevert.el (auto-revert-mode, auto-revert-tail-mode) diff --git a/lisp/ido.el b/lisp/ido.el index 7ace1811daa..bedf00e638d 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -765,7 +765,7 @@ Obsolete. Set 3rd element of `ido-decorations' instead." (defcustom ido-decorations '( "{" "}" " | " " | ..." "[" "]" " [No match]" " [Matched]" " [Not readable]" " [Too big]" " [Confirm]") "List of strings used by ido to display the alternatives in the minibuffer. -There are 11 elements in this list: +There are between 11 and 13 elements in this list: 1st and 2nd elements are used as brackets around the prospect list, 3rd element is the separator between prospects (ignored if `ido-separator' is set), 4th element is the string inserted at the end of a truncated list of prospects, @@ -775,7 +775,9 @@ can be completed using TAB, 8th element is displayed if there is a single match (and faces are not used), 9th element is displayed when the current directory is non-readable, 10th element is displayed when directory exceeds `ido-max-directory-size', -11th element is displayed to confirm creating new file or buffer." +11th element is displayed to confirm creating new file or buffer. +12th and 13th elements (if present) are used as brackets around the sole +remaining completion. If absent, elements 5 and 6 are used instead." :type '(repeat string) :group 'ido) @@ -4581,10 +4583,12 @@ For details of keybindings, see `ido-find-file'." (string-equal (match-string 0 (ido-name (car comps))) (ido-name (car comps)))) "" - ;; when there is one match, show the matching file name in full - (concat (nth 4 ido-decorations) ;; [ ... ] - (ido-name (car comps)) - (nth 5 ido-decorations))) + ;; When there is only one match, show the matching file + ;; name in full, wrapped in [ ... ]. + (concat + (or (nth 11 ido-decorations) (nth 4 ido-decorations)) + (ido-name (car comps)) + (or (nth 12 ido-decorations) (nth 5 ido-decorations)))) (if (not ido-use-faces) (nth 7 ido-decorations)))) ;; [Matched] (t ;multiple matches (let* ((items (if (> ido-max-prospects 0) (1+ ido-max-prospects) 999)) -- 2.39.2