[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
  clicking on such a choice will result in the wrong


  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


> 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

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


     offering as possible completions


     So you must press `f' or `w' to decide on it _anyway_;
     it doesn't matter if the initial completion simply expanded to


     since a common suffix means that it _will_ be automatically
     completed anyway!



More information about the slime-devel mailing list