slime on github
João Távora
joaotavora at gmail.com
Sun Jan 12 12:04:15 UTC 2014
Helmut Eller <eller.helmut at gmail.com> writes:
> I'm not very enthusiastic about that. The technical reason to do it
> isn't so obvious. There may aesthetic reasons, but those are, as
> always, debatable.
OK. But I just gave you one such asthetic reason
me> The only thing that bugs me is the growing list of "bundled" third
me> party files at top level. Helmut, can we move these to a new
me> "vendor" dir?
and apparently won the debate immediately :-) Which files are you
more/less enthusiastic about moving around?
>>> 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.
> Well, you said that changes to the non-autoload recipe may be
> necessary. If you do that then you could also drop it entirely.
You misunderstood me when I said "complicate the non-autoload
installation recipe". I meant we must complicate our program to do
something akin to replacing:
(require 'hyperspec ...)
with
(require 'hyperspec "lib/hyperspec.el")
And that's quite different from "breaking everybody's .emacs",
ie. breaking existing instances of that recipe.
Again, that is something I don't want to do.
>> * We can deprecate slime-enable-contrib and slime-disable-contrib. I had
> Not sure what slime-enable-contrib promises.
Precisely my point.
> It would also be possible to enable resp. disable modes with these
I don't understand "reps. disable modes", but I agree they aren't very
useful. See the end of the mssage for a proposal.
> I don't think these commands need to be documented in the manual, but
> they are useful for debugging.
Perhaps they should be in a "slime-debugging" contrib and not in SLIME?
Or in slime-tests? At the least they should be reprefixed "slime--".
Actually a lot of code seems like it would make a good candidate for
that contrib/file. For example the curious "urge-recompile" and the
manual recompilation of some functions, which I think were made obsolete
by "make compile" are more candidates.
>> So, in the future, (mapc #'require slime-contribs) might be all that is
> Doesn't sound very idiomatic to me. IMO, loading a package and enabling
> it should be separate steps. The elisp manual seems to agree with me
> (elisp)Coding Conventions::
I think you may be misunderstanding the spirit of the guideline. The key
is
> ...should not change Emacs's editing behaviour
^^^^^^^
It means you shouldn't change stuff like global keybindings or the value
of the `fill-column' variable, which makes perfect sense to me.
For example, just by `requiring' python-mode or ruby-mode, files with
those extensions will automatically be opened in that mode. Requiring
slime-autoloads does the same for lisp files and requiring some contrib
files could follow in the same spirit.
But to be clear, I *agree with you*, and my suggestion sucks, or at
least was very lacking. Contribs should rather be minor-modes defined by
`define-globalized-minor-mode'
So for most of them:
(require 'slime-foo-autoloads)
(slime-foo-mode 1) ;; prints a warning if there are more connections
;; besides the current one
slime-repl's mode should be called something like slime-auto-repl-mode,
meaning a repl is automatically launched.
But these are suggestions for the future. There are most interesting
problems right now.
João
More information about the slime-devel
mailing list