emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nick Dokos <ndokos@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: odt export not working
Date: Tue, 07 May 2013 16:02:16 -0400	[thread overview]
Message-ID: <87obcmpnhz.fsf@pierrot.dokosmarshall.org> (raw)
In-Reply-To: <CA+M2ft-GzX-ASj0vOY-DA2z4DnKGxZz3V=H4Q0scA8RWyt=C7Q@mail.gmail.com>

John Hendy <jw.hendy@gmail.com> writes:

> #+begin_quote
> 3 Installation
> There are two ways to install export back-ends.
> 1. You may customize `org-export-backends' variable. It contains the
> list of back-ends that should always be available.
> 2. You can also simply require the back-end libraries (e.g. `(require
> 'ox-icalendar)' for the iCalendar back-end). Note that with method 1,
> the back-ends will be loaded only when the export framework is used
> for the first time.
> #+end_quote
> [1] http://article.gmane.org/gmane.emacs.orgmode/65574
> If you customize =org-export-backends=, the actual backend is not
> loaded until you export for the first time per new Emacs session.
> ...
> Repeat the steps above and note the difference. If you want to do any
> customizing or (like me) use =C-h v= or =M-x help= to remember the
> name of the variable you're looking for, you won't get auto-completion
> as Org isn't aware of the variable until you actually use the exporter
> the first time (use the first minimal config, export to ODT, and then
> repeat the steps described and you'll see that the variables are now
> known).
> Anyway, just wanted to make sure this was well known. I've taken to
> using a =(require 'ox-backend)= line for every exporter I want vs. the
> org-export-backends variable for this reason.

This is the usual trade-off between convenience and speed and is
certainly not specific to this case: you can either load into emacs the
kitchen sink at startup time and wait for all of that to finish before
you can start work, or you can initialize things on demand (or do
something in between: see below). That's exactly the difference between
``require'' (or load-file/load-library) and ``autoload''.

If you have a simple initialization file and/or a fast machine and/or
you start emacs once in a blue moon and keep it running, choosing the
"load the kitchen sink" approach might make sense. If not, you can
autoload everything (fastest init but emacs will not know about things
it has not loaded yet until you use them). Or you can ``require'' the things
that you *know* you are going to use and let the rest be autoloaded
(slower init, but more convenience - the case John describes above).

So there is almost a continuum of choices: which one you use is entirely
up to you.


  reply	other threads:[~2013-05-07 20:02 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-21 13:42 Manfred Lotz
2013-04-21 14:29 ` Eric Abrahamsen
2013-04-21 14:31   ` Manfred Lotz
2013-05-07 11:01     ` Julian Burgos
2013-05-07 13:59       ` Nicolas Goaziou
2013-05-07 14:58         ` Julian M. Burgos
2013-05-07 15:33           ` Julian M. Burgos
2013-05-07 15:52           ` Nicolas Goaziou
2013-05-07 16:07             ` Julian M. Burgos
2013-05-07 16:32               ` Nick Dokos
2013-05-07 18:46                 ` John Hendy
2013-05-07 20:02                   ` Nick Dokos [this message]
2013-05-10 10:10                 ` Julian M. Burgos

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:

  List information: https://www.orgmode.org/

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

  git send-email \
    --in-reply-to=87obcmpnhz.fsf@pierrot.dokosmarshall.org \
    --to=ndokos@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --subject='Re: odt export not working' \


* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Code repositories for project(s) associated with this inbox:


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).