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 (-:
Thanks,
Andreas Fuchs asf@boinkor.net writes:
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.
Just hacked it some more. I think the semantics should be right now, i.e. we will complete only/all symbols that would not cause a read-error due to package visibility. From the updated docstring:
The way symbols are matched depends on the symbol designator's format. The cases are as follows: FOO - Symbols with matching prefix and accessible in the buffer package. PKG:FOO - Symbols with matching prefix and external in package PKG. PKG::FOO - Symbols with matching prefix and accessible in package PKG.
Please let me know if you find any further problems.
In short, as Krystof said on IRC, "blah blah blah nag nag nag"
Hmm, did I leave my Right Thing filter switched on? ;-)
Now there. Please undo this change (-:
The change was actually an improvement on the previous behaviour, though neither was correct.
-Luke
Today, Luke Gorrie luke@bluetail.com wrote:
Now there. Please undo this change (-:
The change was actually an improvement on the previous behaviour, though neither was correct.
Oh. I had thought that what you described was the previous behaviour. Erm.
Looking good now. Sorry for screaming fire too soon (-:
Thanks,