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

On Sun, Jul 19 2015, Stephen J. Turnbull wrote:

> 1.  The package has an idempotent initialization function, typically
>     implemented by wrapping the whole function in `(if (not
>     <package>-initialized-p) ...)'.
> 2.  The autoloads include exactly those commands that users are
>     expected to invoke in the uninitialized state.  (Users who know
>     what they are doing can of course explicitly require or load
>     package files and call any function.)
> 3.  All autoloaded commands should call the package initialization
>     function as their first action.
> 4.  The autoloads may defvar global variables in the package's
>     namespace.  However defcustoms (which are automatically
>     initialized by the XEmacs package system) are preferred for
>     variables the user might customize, even if that is unusual.
[]
>  > I quite like to see the explicit call to slime-setup in my .emacs, but
>  > others might not.
>
> I think the rules 1-4 above would satisfy both you and those others.

I don't see how.  Either (require 'slime-autoloads) calls slime-setup or
not.  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.  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.

Helmut



  reply	other threads:[~2015-07-19  7:23 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 [this message]
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
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=m2si8k1uh4.fsf@gmail.com \
    --to=eller.helmut@gmail.com \
    --cc=bruce.connor.am@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=stephen@xemacs.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.