[slime-devel] Re: RFC for completion behaviour
Tobias C. Rittweiler
tcr at freebits.de
Fri Apr 6 09:26:06 UTC 2007
Thanks Madhu for commenting on this! I've been told on IRC that there
was some issues around this, and thus wanted asked here before doing
work unnecessarily.
I'm a bit disappointed that such things don't seem to get properly
documented in the ChangeLog in the fist place.
Madhu <enometh at meer.net> writes:
> This was debated to death and I provided a patch to support both
> behaviours. I'd rather you commmit a version of that
Summary for those who are too lazy to look at the thread themselves:
Completion alternatives are provided within the *Completions* buffer,
clicking on such a completion choice (or switching to the buffer and
pressing RET) invokes `CHOOSE-COMPLETION' that inserts the chosen
completion _up to point_.
If point is set to the place of first mismatch
v
asdf:*compile-file-|-behaviour*
^
clicking on such a choice will result in the wrong
asdf:*compile-file-failure-behaviour*-behaviour*
while typing `f TAB' (asdf:*compile-file-f[TAB]-behaviour*)
would invoke the Slime specific completion function again which can
handle this case gracefully and it would be correctly completed to
asdf:*compile-file-failure-behaviour*
> The patch was sent in the message with the following headers:
Introducing yet another global variable which basically does nothing
else than determining between "Pissing-off Edi" or "Pissing-off Madhu"
is not the way to go. :) Let's stop doing that; Slime's kludgy enough
already.
I can perceive two solutions:
a) We can fix `CHOOSE-COMPLETION' to DTRT by defining an appropriate
function and hooking up `CHOOSE-COMPLETION-STRING-FUNCTIONS'.
b) Let's drop that kind of behaviour alltogether. I initially thought
the behaviour of inserting a common suffix as well as a common
prefix was kind of cool, but then, if you think about it, it
doesn't provide any real ergonomic advantage:
asdf:*com TAB
will be expanded to
asdf:*compile-file--behaviour*
offering as possible completions
asdf:*compile-file-failure-behaviour*
asdf:*compile-file-warnings-behaviour*
So you must press `f' or `w' to decide on it _anyway_;
it doesn't matter if the initial completion simply expanded to
asdf:*compile-file-
since a common suffix means that it _will_ be automatically
completed anyway!
Comments?
-T.
More information about the slime-devel
mailing list