[slime-devel] Re: Tab completion bug?

Luke Gorrie luke at bluetail.com
Wed Mar 24 12:53:16 UTC 2004


Helmut Eller <e9626484 at stud3.tuwien.ac.at> writes:

> Dirk Gerrits <dirk at dirkgerrits.com> writes:
>
>> Well I didn't know about it. Now that I do, I'll see if I like it.
>
> People like me, who don't it, can set slime-complete-symbol-function
> to 'slime-simple-complete-symbol.  This works more like Emacs' default
> completion and doesn't expand abbreviations.  The other difference is
> that the simple variant only completes the string _before_ point, not
> the around point.

I have updated the manual with information about completion. Exerpt:

  `slime-complete-symbol-function'
       The function to use for completion of Lisp symbols. Two completion
       styles are available. The default `slime-complete-symbol*'
       performs completion "in parallel" over the hyphen-delimited
       sub-words of a symbol name.  Formally this means that
       `a-b-c' can complete to any symbol matching the regular
       expression `^a.*-b.*-c.*' (where "dot" matches anything but a
       hyphen). Examples give a more intuitive feeling:
          * `m-v-b' completes to `multiple-value-bind'.

          * `w-open' is ambiguous: it completes to either
            `with-open-file' or `with-open-stream'. The symbol is
            expanded to the longest common completion (`with-open-') and
            the point is placed at the first point of ambiguity, which in
            this case is the end.

          * `w--stream' completes to `with-open-stream'.
       The alternative is `slime-simple-complete-symbol', which completes
       in the usual Emacs way.

I hope that explains the "fancy" completion style, if not then please
ask! I think it's pretty subtle (my first implementation was wildly
wrong).

-Luke






More information about the slime-devel mailing list