Slime retrieved from CVS on or before 2004-07-19 would print a package name on the mode line of a buffer editing a Lisp file. After 2004-07-19, Slime stops printing a package name on a mode line. Is this change intentional? It's not documented in the change log. Printing a package name on a mode line is quite useful.
Best,
-cph
Chisheng Huang cph@chi-square-works.com writes:
Slime retrieved from CVS on or before 2004-07-19 would print a package name on the mode line of a buffer editing a Lisp file. After 2004-07-19, Slime stops printing a package name on a mode line. Is this change intentional? It's not documented in the change log. Printing a package name on a mode line is quite useful.
It's a side-effect of an intentional change.
Historically when we make an RPC to Lisp we optionally update the package name in the mode-line. I didn't like this for two reasons.
First it makes the RPC calls a bit more complicated and verbose. If we wanted to update the package we would say:
(slime-eval-async form (slime-buffer-package) cont)
where (slime-buffer-package) does it as a side-effect. If we didn't want to update the package we'd write:
(slime-eval-async form (slime-buffer-package t) cont)
Now there's no package variable to update, so we always write:
(slime-eval-async form cont)
which is a bit simpler and more concise.
The other reason is that the meaning of the package name in the modeline was a bit fuzzy. Really it's just saying what package the last SLIME command used. If you have a file like:
(in-package :cl) (+ 1 2) (in-package :cl-user) (+ 2 3)
Then ideally the modeline should show the package that would be used for a command at the current point. But since it gets updated lazily it doesn't necessarily work that way.
Hmm.
Maybe we can put the feature back in a nicer way, e.g. by updating the package name on an idle timer as with autodocs.
-Luke
Chisheng Huang cph@chi-square-works.com writes:
Slime retrieved from CVS on or before 2004-07-19 would print a package name on the mode line of a buffer editing a Lisp file. After 2004-07-19, Slime stops printing a package name on a mode line. Is this change intentional? It's not documented in the change log. Printing a package name on a mode line is quite useful.
The package name is now printed in the modeline again. This time it gets updated by an idle timer, which is hopefully slightly better.
On Fri, 30 Jul 2004, Luke Gorrie wrote:
The package name is now printed in the modeline again. This time it gets updated by an idle timer, which is hopefully slightly better.
Nicenice! Another thing that would be neat to have displayed somewhere is the current compiler policy, though I suppose the real-estate there is limited.
Cheers,
-- Nikodemus "Not as clumsy or random as a C++ or Java. An elegant weapon for a more civilized time."