emacs-devel
[Top][All Lists]
Advanced

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

Re: fix for bug 10994 breaks ido customizations in major way


From: Le Wang
Subject: Re: fix for bug 10994 breaks ido customizations in major way
Date: Fri, 3 May 2013 20:49:20 +0800

I sent this off list by accident.

On Fri, May 3, 2013 at 12:13 PM, Leo Liu <address@hidden> wrote:
On 2013-05-03 01:57 +0800, Le Wang wrote:
> bug:
http://emacs.1067599.n5.nabble.com/bug-10994-23-3-ido-mode-ido-next-match-ido-prev-match-work-wrong-with-same-elements-td300.html
>
> The committed fix converts equal to eq, causing any plugin that propertizes
> the completion list to hang Emacs.
>
> This bug is filed as: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14334
>
> The original bug report is essentially this:
>
> (ido-completing-read "dat is whrong -> " '("2" "3" "3" "3" "4" "5"))
>
> What's the expected behaviour in this case?  Shouldn't the duplicates from
> the list just be removed?

I put in the fix. It was based on how ido-matches are built from
ido-cur-list. So it fixes the bug.

I am not sure what new things you are doing with ido you will have to
look into this yourself..

There are a few ido customizations floating around that propertizes text.  This will break all of them.  I don't think this fix is acceptable.
 
Ideally ido should not modified the list fed to it. i.e.

 That's not happening.  The list passed to ido is not modified.  ido-set-matches-1 returns a newlist,

(ido-completing-read "dat is whrong -> " '("2" "3" "3" "3" "4" "5"))

should be able to rotate for- band backwards without removing the dups.
It would be odd-looking if a user supply one list and ido display
another.

I asked for a use-case of a completion list with duplicate strings.   Do you have one?  

If I do a completing read outside of ido from "emacs -Q" duplicates are not shown.

I tried

    (completing-read ": " '("a" "ab" "a"))

when I press <tab> only two items are shown.


-- 
Le

reply via email to

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