unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Steven Degutis <sbdegutis@gmail.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 14143-done@debbugs.gnu.org
Subject: bug#14143: [gmane.emacs.devel] Patch to ido.el
Date: Fri, 5 Apr 2013 10:40:11 -0500	[thread overview]
Message-ID: <CACeWA3gRSTLbY2370_kBLCEAuSX2FVNLx2ZRP2yAD13nq3rVhQ@mail.gmail.com> (raw)
In-Reply-To: <jwvvc816r9o.fsf-monnier+emacs@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 4200 bytes --]

Your patch is mostly perfect, except there's one more thing needed, namely
that the inner-if on line 4563 has to be wrapped with an (and (not
(ido-show-when-exact-single-match)) ...) and the defcustom created above it
defaulting to nil. I didn't apply this to your patch because to be honest,
I have no idea how to apply your patch to my copy of ido.el.

So I submitted a bug report just now via M-x report-emacs-bug, and included
as much information as I can.

-Steven


On Fri, Apr 5, 2013 at 9:04 AM, Stefan Monnier <monnier@iro.umontreal.ca>wrote:

> Thanks for your bug-report, Steven [ by now, it seems you've been told
> plenty of times how/where to send your patch, right?  ].
>
> I installed your patch with a few changes.  The most important one is to
> make sure that people who have customized their ido-decorations still
> get the same behavior as before.  See the final patch below.
>
>
>         Stefan
>
>
> === modified file 'etc/NEWS'
> --- etc/NEWS    2013-03-30 13:49:00 +0000
> +++ etc/NEWS    2013-04-05 13:54:30 +0000
> @@ -87,6 +87,8 @@
>
>  * 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/<foo> additionally to ~/.<foo>.
>  Affected files:
>  ~/.emacs.d/timelog     replaces  ~/.timelog
>
> === modified file 'lisp/ChangeLog'
> --- lisp/ChangeLog      2013-04-05 10:18:43 +0000
> +++ lisp/ChangeLog      2013-04-05 13:55:28 +0000
> @@ -1,3 +1,9 @@
> +2013-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>
> +
> +       * ido.el (ido-completions): Use extra elements of ido-decorations
> +       (bug#14143).
> +       (ido-decorations): Update docstring.
> +
>  2013-04-05  Michael Albinus  <michael.albinus@gmx.de>
>
>         * autorevert.el (auto-revert-mode, auto-revert-tail-mode)
>
> === modified file 'lisp/ido.el'
> --- lisp/ido.el 2013-03-20 03:05:34 +0000
> +++ lisp/ido.el 2013-04-05 13:49:23 +0000
> @@ -765,7 +765,7 @@
>
>  (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 @@
>  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 @@
>                           (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)  ;; [ ... ]
> +                     ;; 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))
> -                             (nth 5 ido-decorations)))
> +                      (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))
>
>

[-- Attachment #2: Type: text/html, Size: 5130 bytes --]

      reply	other threads:[~2013-04-05 15:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-05  7:42 bug#14143: [gmane.emacs.devel] Patch to ido.el Leo Liu
2013-04-05 14:04 ` Stefan Monnier
2013-04-05 15:40   ` Steven Degutis [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CACeWA3gRSTLbY2370_kBLCEAuSX2FVNLx2ZRP2yAD13nq3rVhQ@mail.gmail.com \
    --to=sbdegutis@gmail.com \
    --cc=14143-done@debbugs.gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).