slime on github

João Távora joaotavora at gmail.com
Sat Jan 11 23:27:27 UTC 2014


Helmut Eller <eller.helmut at gmail.com> writes:

> On Sat, Jan 11 2014, João Távora wrote:
>
> I would call it "lib" and also wouldn't add it to the load-path.

OK. I'll move nregex.lisp, hyperspec.el and the new cl-lib.el and ert-el
into that directory and update the "Emacs 23 gotchas" section.

What about these ideas:

* With some work on swank-loader's *SYSDEP-FILES*, we could move
  metering.lisp, xref.lisp and the lisp backends.

* In that case we could organize lib into "backends" and "etc".

* While we're there, a "test" top level dir could host slime-tests.el,
  and the new files containing just contrib test as well (so loading
  them doesn't trigger the ERT warning).

> If you're breaking everybody's .emacs then you can just as well drop
> the non-autoload receipe.

I don't understand. AFAICT, the non-autoload recipe was not broken, and
I see no no reason to break it. In any case I'm _trying_ to do just the
opposite: not break user's ~/.emacs files.

As you reported the "visit lisp files early" case *was* indeed broken,
but I warned beforehand about possible instability. Anyway I have now
fixed it. I added new tests "readme-recipe" and
"readme-recipe-autoload-on-lisp-visit". If you can think of more cases
do tell me or add them.

But I agree with should make the autoload recipe the main recommended
recipe. Autoloads is how package.el and el-get are going to set things
up when we package SLIME for them and how MELPA sets things up when it
builds automatically.

Doing that:

* We can change `slime-setup' to not do the add-hook step.

* We can deprecate slime-enable-contrib and slime-disable-contrib. I had
  agreed before on mentioning them in the doc (they aren't now), but
  I've changed my mind. They promise functionality they can't really
  keep, don't you think? No emacs package I know promises to "disable"
  itself. There are "modes" though and SLIME uses plenty of them which
  *do* keep their promises.

* If we do the above step we might, someday in the future, make
  `slime-setup' essentially a no-op. `require' and autoloads are the
  normal Emacs way of activating functionality and I think there is (in
  recent GNU Emacsen) enough functionality to make
  `define-slime-contrib' obsolete.

So, in the future, (mapc #'require slime-contribs) might be all that is
required and it's much more idiomatic elisp. And the existing ~/.emacs
needn't be broken.

João



More information about the slime-devel mailing list