unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Artur Malabarba <bruce.connor.am@gmail.com>
To: Helmut Eller <eller.helmut@gmail.com>
Cc: emacs-devel <emacs-devel@gnu.org>
Subject: Re: Package initialization
Date: Sat, 18 Jul 2015 18:16:05 +0100	[thread overview]
Message-ID: <CAAdUY-JQA8Xs+KeDm0rAxd5PRMwcJGSx2DLAkUe8WUqez1AArg@mail.gmail.com> (raw)
In-Reply-To: <m2h9p1sbmr.fsf@gmail.com>

> The manual says this about NAME-autoload.el files:
>
>    They are typically used to autoload the principal user commands defined
>    in the package, but they can also perform other tasks, such as adding
>    an element to ‘auto-mode-alist’
>
> Which seems to suggest that one should write some
> ;;;###autoload (progn ...)
> somewhere that does the initialization.  Is this the way it should be
> done?

Yes, that line can be added to any of the package's “.el” files.

Any code that you write there will be run when your package is
activated (not loaded). This means the code is run when Emacs starts,
(either during or after loading the init file, depending on what's in
the actual init file).

Note, however, that the package itself will not be loaded at this
time. And neither should this code load your package (or be slow in
some other way). Adding an entry to auto-mode-alist is fine.

> And what is supposed to happen if two packages make conflicting changes
> to auto-mode-alist?

If you add your entry with add-to-list, nothing unexpected will
happen. If two different packages add entries regarding the same
extension, then both entries will get added. When the user visits a
file, the entry on top (the most recently added) will be the one used,
but I suppose that's what they get for installing two major-modes for
the same file type.



  reply	other threads:[~2015-07-18 17:16 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 [this message]
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
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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=CAAdUY-JQA8Xs+KeDm0rAxd5PRMwcJGSx2DLAkUe8WUqez1AArg@mail.gmail.com \
    --to=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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).