[Top][All Lists]

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

bug#591: 23.0.60; lisp-complete-symbol erases extra text

From: Stefan Monnier
Subject: bug#591: 23.0.60; lisp-complete-symbol erases extra text
Date: Tue, 29 Jul 2008 18:07:57 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

>> In *scratch*, type this, and leave cursor after the final `for':
>> format-decode-buffer
>> forward-char
>> for
>> Then hit `M-TAB'. Choose one of the completions using mouse-2 in 
>> *Completions*.
>> Only the final `for' should be completed, but instead all of the text
>> in the buffer is replaced by the chosen completion.

> Hi Stefan,
> This bug was introduced by your patch:

Yes, I know.

> This sets completion-base-size to 0, which causes the completions buffer
> to delete everything in the Lisp buffer when you make a selection.

The problem is that leaving it nil will revert to the use of
a heuristic.  Fixing it right is a bit more difficult.

> I don't understand why we need the (completely undocumented) hack
> introduced here, where the cdr of the last item on the completions list
> gives completion-base-size.  Does anything else in Emacs depend on this?
> Why not simply add a new optional argument to display-completion-list?

Yes the base-size in the cdr is a hack, and we be able to get rid of it
now that I've added the new `boundaries' action.  But passing it as an
additional argument won't make any difference for the bug at hand.


reply via email to

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