As we can see there are lot's of fake bug reports associated with using incompatible slime.el version. I think there should be some way to put a function into swank like (equired-slime-version) so slime.el could check whether it is up to date on connect and recompile itself or at least warn the user. Ignas Mikalajunas
Ignas Mikalajunas i.mikalajunas@mbt.lt writes:
As we can see there are lot's of fake bug reports associated with using incompatible slime.el version. I think there should be some way to put a function into swank like (equired-slime-version) so slime.el could check whether it is up to date on connect and recompile itself or at least warn the user.
I've been pondering this too. The best I've come up with is to complain very loudly if slime.elc is older than slime.el.
Possibly `M-x slime' could even check if slime.el[c] has changed since it was last loaded and reload on demand? That is a bit DWIM, but perhaps justifiably so given our CVS-oriented distribution.
As for cross-checking the versions of slime.el and swank.lisp, that would be nice so long as we can think of a fully automated scheme.
-Luke
Luke Gorrie luke@bluetail.com writes:
Ignas Mikalajunas i.mikalajunas@mbt.lt writes:
As we can see there are lot's of fake bug reports associated with using incompatible slime.el version. I think there should be some way to put a function into swank like (equired-slime-version) so slime.el could check whether it is up to date on connect and recompile itself or at least warn the user.
I've been pondering this too. The best I've come up with is to complain very loudly if slime.elc is older than slime.el.
Possibly `M-x slime' could even check if slime.el[c] has changed since it was last loaded and reload on demand? That is a bit DWIM, but perhaps justifiably so given our CVS-oriented distribution.
As for cross-checking the versions of slime.el and swank.lisp, that would be nice so long as we can think of a fully automated scheme.
Is there a protocol version number in the messages exchanged between emacs and lisp? (I've learned the hard way--i.e. over and over again until it's finally sunk in--that you *always* end up needing version numbers in protocols.) Of course just having it isn't sufficient--you then need a way to make sure the numbers get bumped at appropriate times. But it is necessary.
-Peter
Luke Gorrie luke@bluetail.com writes:
I've been pondering this too. The best I've come up with is to complain very loudly if slime.elc is older than slime.el.
Possibly `M-x slime' could even check if slime.el[c] has changed since it was last loaded and reload on demand? That is a bit DWIM, but perhaps justifiably so given our CVS-oriented distribution.
As for cross-checking the versions of slime.el and swank.lisp, that would be nice so long as we can think of a fully automated scheme.
I added a check for this. The date of the newest entry from the ChangeLog is stored in the compiled versions of swank.lisp and slime.el and compared at runtime. If slime.el is interpreted, it reads the date from the current ChangeLog file. The Lisp side for this is in swank.lisp. It would be better if it where in the last file in the compilation order, but I haven't found a good way to achieve that. Let's see how this works.
Helmut.