emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] odt export not working


From: Nick Dokos
Subject: Re: [O] odt export not working
Date: Tue, 07 May 2013 16:02:16 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

John Hendy <address@hidden> writes:

> #+begin_quote
>
> 3 Installation
>
> PPPPPPPPPPPPPP
>
> 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.

Nick




reply via email to

[Prev in Thread] Current Thread [Next in Thread]