slime-c-p-c provides a different symbol completion
algorithm, which 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
w-openis ambiguous: it completes to either
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.
slime-c-p-c-unambiguous-prefix-p specifies where
point should be placed after completion. E.g. the possible
force-output. By the default point is moved after the
f, because that is the unambiguous prefix. If
slime-c-p-c-unambiguous-prefix-p is nil, point moves to
the end of the inserted text, after the
o in this case.
slime-c-p-c provides completion for character names
(mostly useful for Unicode-aware implementations):
Here SLIME will usually complete the character to
in a Unicode-aware implementation, this might provide the following completions:
Space Space Sparkle Spherical_Angle Spherical_Angle_Opening_Left Spherical_Angle_Opening_Up
slime-c-p-c also provides context-sensitive completion for keywords.
CL-USER> (find 1 '(1 2 3) :s<TAB>
Here SLIME will complete
:start, rather than suggesting all
ever-interned keywords starting with
defmethod, and many other functions. Examples:
(subseq "abc" <C-c C-s> --inserts--> start [end]) (find 17 <C-c C-s> --inserts--> sequence :from-end from-end :test test :test-not test-not :start start :end end :key key) (find 17 '(17 18 19) :test #'= <C-c C-s> --inserts--> :from-end from-end :test-not test-not :start start :end end :key key) (defclass foo () ((bar :initarg :bar))) (defmethod print-object <C-c C-s> --inserts--> (object stream) body...) (defmethod initialize-instance :after ((object foo) &key blub)) (make-instance 'foo <C-c C-s> --inserts--> :bar bar :blub blub initargs...)
 This style of completion is modelled on completer.el by Chris McConnell. That package is bundled with ILISP.