all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: Helmut Eller <eller.helmut@gmail.com>
Cc: Artur Malabarba <bruce.connor.am@gmail.com>,
	emacs-devel <emacs-devel@gnu.org>
Subject: Re: Package initialization
Date: Mon, 20 Jul 2015 00:52:09 +0900	[thread overview]
Message-ID: <21931.51113.826895.663216@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <m2si8k1uh4.fsf@gmail.com>

Helmut Eller writes:

 > I don't see how.  Either (require 'slime-autoloads) calls slime-setup or
 > not.

In XEmacs it would be considered pollution, and we'd change the XEmacs
version of the package so that the autoloads do not call slime-setup.
XEmacs (and I assume Emacs ;-) is designed to be usable on a multiuser
system, and I have yet to find a package that absolutely everybody
thinks should be enabled.  For example, you'd think AUCTeX would be a
no-brainer in this day and age, but as far as I know RMS doesn't use
it, and there is at least one long since inactive XEmacs developer who
didn't use AUCTeX and objected vehemently to making it the default
TeX-mode if available.  Ditto cc-mode (although that person did
eventually switch).

Also, any of the schemes that I propose would mean that emacs -u
disables slime except for autoloads (I assume package autoloads can be
defeated some other way, as in XEmacs).  This is an important feature
for debugging.

 > Calling it lazily when a SLIME related command is invoked the
 > first time would kinda work for SLIME, but it would be rather strange
 > that say the slime-connect command implicitly adds hooks to
 > lisp-mode-hook.

Why is that stranger than saying that slime-setup implicitly adds
hooks to lisp-mode-hook?  Or stranger than saying that simply
installing the SLIME package on your system implicitly adds hooks to
lisp-mode-hook?

 > In general, lazy initialization would also not work well if those
 > autoloaded commands should be bound to keys because before the
 > first invocation the keys would not be bound.

Why would you expect them to be bound?  The existence of a package
doesn't necessarily mean that the user wants it invoked at startup.
If the user does want those keys bound, I don't see why it's a problem
to have the user put a call to slime-setup in .emacs, or put it on
lisp-mode-hook itself.

If users really object to that, well, you're right -- the XEmacs
policy would not satisfy their requirements.  But in a setup where
package installation implies package initialization, putting a call to
slime-setup in .emacs looks quite silly.

What I think would be nice for this kind of situation would be to have
a way for SLIME to add slime-setup to a checklist of defcustom options
for lisp-mode-hook.  Then users who do always want slime can use
Customize to enable it "permanently", and it's not in their .emacs.
Since slime-setup should be idempotent, it doesn't hurt to put it in
.emacs even if it would be invoked some other way (including by the
Customized lisp-mode-hook.




  parent reply	other threads:[~2015-07-19 15:52 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-18 15:56 Package initialization Helmut Eller
2015-07-18 17:16 ` Artur Malabarba
2015-07-18 19:00   ` Helmut Eller
2015-07-18 19:20     ` Artur Malabarba
2015-07-18 22:56       ` Helmut Eller
2015-07-18 23:07         ` Artur Malabarba
2015-07-18 23:29           ` Helmut Eller
2015-07-18 23:48             ` Artur Malabarba
2015-07-19  0:13             ` Stephen J. Turnbull
2015-07-19  7:23               ` Helmut Eller
2015-07-19  8:10                 ` Artur Malabarba
2015-07-19  9:58                   ` Helmut Eller
2015-07-19 10:07                     ` David Kastrup
2015-07-19 10:11                       ` Helmut Eller
2015-07-19 10:27                         ` David Kastrup
2015-07-19 10:33                           ` Helmut Eller
2015-07-19 10:38                             ` David Kastrup
2015-07-19 10:41                               ` Helmut Eller
2015-07-19 10:51                                 ` David Kastrup
2015-07-19 10:11                     ` Artur Malabarba
2015-07-19 10:14                       ` Helmut Eller
2015-07-19 10:35                         ` bruce.connor.am
2015-07-19 10:48                           ` Helmut Eller
2015-07-19 11:35                             ` Artur Malabarba
2015-07-19 10:54                           ` David Kastrup
2015-07-19 11:34                             ` Artur Malabarba
2015-07-19 12:09                               ` David Kastrup
2015-07-19 12:33                                 ` Artur Malabarba
2015-07-19 16:54                       ` Eli Zaretskii
2015-07-19 15:52                 ` Stephen J. Turnbull [this message]
2015-07-19 16:37                   ` Helmut Eller
2015-07-20  1:30                     ` Stephen J. Turnbull
2015-07-20 17:01                       ` Helmut Eller
2015-07-20 17:25                         ` Chad Brown
2015-07-20 18:12                           ` Helmut Eller
2015-07-20 19:09                             ` Artur Malabarba
2015-07-20 20:54                         ` Dmitry Gutov
2015-07-21  5:59                         ` Stephen J. Turnbull
2015-07-21  6:40                           ` Helmut Eller
2015-07-25  4:42                             ` Alexis
2015-07-19 16:51                 ` Eli Zaretskii
2015-07-20  0:11             ` Stefan Monnier
2015-07-20 16:33               ` Helmut Eller
2015-07-20 22:25                 ` Stefan Monnier
2015-07-21  5:53                   ` Stephen J. Turnbull
2015-07-21  6:45                     ` David Kastrup
2015-07-21  6:05                   ` Helmut Eller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=21931.51113.826895.663216@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=bruce.connor.am@gmail.com \
    --cc=eller.helmut@gmail.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.