[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.
Stefan