[Top][All Lists]

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

Re: [O] Some Experiences with org-babel-load-file

From: Eric Schulte
Subject: Re: [O] Some Experiences with org-babel-load-file
Date: Tue, 11 Dec 2012 07:52:36 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Florian Beck <address@hidden> writes:

> Hello!
> As an experiment, I moved my .emacs and all my personal packages into
> an org-file and now load it with 'org-babel-load-file. This works fine
> enough: the source code blocks can handle several thousand lines of
> code (for later splitting) without any quirks, tough editing in the
> org-file sure gets slow.
> A couple of observations:
> 1. `org-babel-load-file' doesn't seem to be in the org docu. The
> instructions on worg are obsolete (mentions `org-install') and
> needlessly complicated. Just putting
> (package-initialize) ;; only if you use the newest org
> (require 'ob-tangle)
> (org-babel-load-file "/path/to/your/org-init-file.org")
> into your .emacs (no need for .emacs.d/init.el) seems to suffice.

Please go ahead and update the information on worg.  Note that Emacs24
users need only do

    (require 'org)
    (org-babel-load-file "/path/to/your/org-init-file.org")

while users of lesser Emacs will have to load a new version of Org-mode
before calling org-babel-load-file.

> 2. Unless you are only setting variables, you want your functions to
> be byte-compiled. I modified `org-babel-load-file' to do that. Any
> reason not to?

I disagree, I don't find a noticeable performance difference between
compiled and un-compiled code.  If this does pose a problem for you,
perhaps an optional extra argument to be added to org-babel-load-file to
enable compilation.

> 3. While it saves some keystrokes not to have to write "tangle: yes",
> it seems to be at odds with `org-tangle-file (though it does respect
> "tangle: no").

The `org-babel-load-file' function calls `org-tangle-file' so they are
definitely working in concert.  When a target file is passed to
`org-tangle-file' then that is used as the value of the ":tangle" header
argument, so the default behavior is to tangle.

> 4. When I babel-load "my-package.org", all emacs sees is the tangled
> "my-package.el", which of course is right. The problem, however, is
> that I often search for one of my functions, change it … and loose the
> changes the next time I start emacs (I already got zapped a couple of
> times). Integrating org-tangle with the emacs documentation would be
> tough I guess. But how about setting a read-only file locale variable
> to block the most stupid mistakes?

Great idea.  I don't have time to work on this right now, but it is
definitely on my stack.  I suppose this should be the default behavior
for all tangled files (not just those written by org-babel-load-file).


> Overall, very nice. Thank you.

Eric Schulte

reply via email to

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