[slime-devel] recent symbol completion change

Andreas Fuchs asf at boinkor.net
Tue Oct 21 10:04:33 UTC 2003

hi all,

after today's "cvs up", I read in the changelog:

        * swank.lisp (completions): Slight change of semantics: when a
        prefix-designator is package-qualified, like "swank:", only match
        symbols whose home-package matches the one given - ignore
        inherited symbols.

I think this leads to unexpected and not-so-useful behaviour. In short,
as Krystof said on IRC, "if the symbol is exported from a given package,
it's irrelevant what its home package is". To elaborate:

This will break with interface packages, i.e. ones that re-export
symbols that they import from other, more implementation-dependent
packages. SB-MOP and CLIM could be examples of this.

For example, CLIM:OUTPUT-STREAM-P is a symbol :IMPORTed-FROM
#:CLIM-LISP in McCLIM. McCLIM imports it from COMMON-LISP. It is
documented in the spec
(http://www.stud.uni-karlsruhe.de/~unk6/clim-spec/D-1.html#_1927), but
the programmer can't complete it (even though it's there); This will
lead to the programmer losing hair or to SLIME losing users.

OTOH, slime does complete symbols that are in a package that :USEs
another, e.g. SB-MOP. This isn't all too consistent, IMHO.

Now there. Please undo this change (-:

Andreas Fuchs, <asf at acm.org>, asf at jabber.at, antifuchs

More information about the slime-devel mailing list