emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#14143: closed ([gmane.emacs.devel] Patch to ido.el


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#14143: closed ([gmane.emacs.devel] Patch to ido.el)
Date: Fri, 05 Apr 2013 14:08:02 +0000

Your message dated Fri, 05 Apr 2013 10:04:25 -0400
with message-id <address@hidden>
and subject line Re: bug#14143: [gmane.emacs.devel] Patch to ido.el
has caused the debbugs.gnu.org bug report #14143,
regarding [gmane.emacs.devel] Patch to ido.el
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
14143: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14143
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: [gmane.emacs.devel] Patch to ido.el Date: Fri, 05 Apr 2013 15:42:28 +0800 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (OS X 10.8.3)
M-x report-emacs-bug will send your email to the issue tracker.

Thanks for the patch I'll take a look in 2 days.

--- Begin Message --- Subject: Patch to ido.el Date: Fri, 5 Apr 2013 01:31:57 -0500
Disclaimer: I have absolutely no idea how this process works.

This patch makes ido.el slightly more configurable.

In particular, when using ido-decorations that make ido-mode display vertically (per http://emacswiki.org/emacs/InteractivelyDoThings#toc20), a pair of decorations are being used in two different places with two different meanings, even though by happenstance they look the same. This patch splits them out into two different pairs of decorations (which currently have the same value), allowing the user to customize them with greater precision.


diff --git ido.el ido2.el
index cda4021..dfb5b0a 100644
--- ido.el
+++ ido2.el
@@ -763,7 +763,7 @@ Obsolete.  Set 3rd element of `ido-decorations' instead."
   :type '(choice string (const nil))
   :group 'ido)
 
-(defcustom ido-decorations '( "{" "}" " | " " | ..." "[" "]" " [No match]" " [Matched]" " [Not readable]" " [Too big]" " [Confirm]")
+(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:
 1st and 2nd elements are used as brackets around the prospect list,
@@ -4570,9 +4570,9 @@ For details of keybindings, see `ido-find-file'."
                                        (ido-name (car comps))))
                        ""
                      ;; when there is one match, show the matching file name in full
-                     (concat (nth 4 ido-decorations)  ;; [ ... ]
+                     (concat (nth 11 ido-decorations)  ;; [ ... ]
                              (ido-name (car comps))
-                             (nth 5 ido-decorations)))
+                             (nth 12 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))



So, now that I've said everything that can probably be said on the topic, how do I go about submitting this patch for review to the official emacs repo? Does this email count? Or maybe someone in here knows how to do it in like 3 seconds flat and wouldn't mind?

-Steven

--- End Message ---

--- End Message ---
--- Begin Message --- Subject: Re: bug#14143: [gmane.emacs.devel] Patch to ido.el Date: Fri, 05 Apr 2013 10:04:25 -0400 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)
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  <address@hidden>
+
+       * ido.el (ido-completions): Use extra elements of ido-decorations
+       (bug#14143).
+       (ido-decorations): Update docstring.
+
 2013-04-05  Michael Albinus  <address@hidden>
 
        * 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))



--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]