emacs-devel
[Top][All Lists]
Advanced

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

Re: PATCH: Fix IDO interaction with uniquify.el


From: Óscar Fuentes
Subject: Re: PATCH: Fix IDO interaction with uniquify.el
Date: Wed, 05 May 2010 21:09:13 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:

>>> I confirm the original bug report. I propose here a different fix for
>>> both ido and iswitch. It is much simpler and more efficient.
>> On the minus side, your patch:
>>   - is less generic; Óscar's will work for other packages that do
>> dynamic renaming of buffers (yes, there are none on the Emacs
>> distribution, but there's a lot of elisp code out there).
>>   - makes ido depend on a feature of uniquify, which it didn't before.
>
> Even more problematic: it changes the behavior of uniquify.
> Can someone install Oscar's patch?

It was installed long time ago.

> BTW, I don't understand why his patch changes (defvar ido-cur-list)
> and (defvar ido-choice-list) into (defvar ido-cur-list nil)
> and (defvar ido-choice-list nil).  These changes aren't necessarily bad,
> but I suspect the change is either unneeded or hiding a bug.

I was unable to obtain a solid insight on how ido managed the list of
buffers. It looked quite complicated and dispersed to me. So tried some
code, tested (with Juanma's help) and submitted the patch. The last
patch posted by Leo looks great because it is so simple, but IIRC I
considered some simple ways of fixing the bug and they introduced
strange bugs and annoyances(*), so maybe my fix doesn't contain so much
gratuitous code at it seems, or maybe Leo is right and I was unlucky
with my attempts at fixing the bug with a simple change.

* One of those annoyances was changing the "next" item on the list of
  buffers once you kill the first one, something that I find
  confusing. Right now ido may change the order of the buffers after a
  kill, but the previous second item appears as the first item on the
  new list.




reply via email to

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