emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Darlan Cavalcante Moreira <darcamo@gmail.com>
To: Eric Schulte <schulte.eric@gmail.com>
Cc: John Wiegley <jwiegley@gmail.com>, emacs-orgmode@gnu.org
Subject: Re: Experiences with "literate elisp" and ob-tangle?
Date: Mon, 22 Aug 2011 15:18:51 -0300	[thread overview]
Message-ID: <4e529d90.62c5ec0a.1d35.26af@mx.google.com> (raw)
In-Reply-To: <877h658jb6.fsf@gmail.com>


I've been using the Emacs starter kit for some time and I must say it is
excellent. Before making the change, I already had my Emacs initialization
broken-down into smaller .el files that were loaded by the master file. It
was as much organized as I could be, but not enough. It always required
more work when I needed to make any changes than I would like.

With the starter-kit I now use only a single org file for everything. The
outline-structure of org-mode allows me to have my initialization broken
down into smaller pieces in a more natural way without any extra
work. Also, it is much easier to locate any part of my initialization that
I want to change, since everything is in a single file and now I have tags.

Another bonus feature is that I can easily disable/enable parts of my
initialization simple by setting the tangle property of a sub-tree to
"nil", as well as putting "COMMENT" in the beginning of it (COMMENT will be
red, but has no effect besides identify a disabled sub-tree). This is
better than locating and commenting the undesired/desired lisp code in my
previous .el files. This allowed me to identify bottlenecks and optimize my
Emacs initialization.

--
Darlan

At Mon, 22 Aug 2011 11:09:17 -0600,
Eric Schulte wrote:
> 
> Hi John,
> 
> John Wiegley <jwiegley@gmail.com> writes:
> 
> > Hi all, I'm considering switching my lengthy .emacs over to a literate Org
> > file, using ob-tangle, and as I was wondering if others had any experience
> > with this, and if so, does it slow down startup much?
> 
> The first load after a .org file is changed will require re-tangling of
> the file, but in most cases the .el files are loaded directly and there
> should be no slowdown.  I've been using this for over a year now with no
> noticable slowdown.  For an example of a large config structured using
> .org files and based on Emacs24 see [1].
> 
> > Is there a way to get ob-tangle to compile the resulting Elisp file?
> 
> Yes, see the makefile in the repo I pointed to above [2].
> 
> > 
> > I'm guessing it does not regenerate the .el file if no changes have
> > been made to the .org, right?
> >
> 
> That is correct, the `org-babel-load-file' function compares the
> modification dates of the .el and .org file to see if re-tangling is
> required.
> 
> Best of luck -- Eric
> 
> >
> > Thanks,
> >   John
> >
> >
> 
> 
> Footnotes: 
> [1]  https://github.com/eschulte/emacs24-starter-kit
> 
> [2]  https://github.com/eschulte/emacs24-starter-kit/blob/master/Makefile
> 
> -- 
> Eric Schulte
> http://cs.unm.edu/~eschulte/
> 

      reply	other threads:[~2011-08-22 18:19 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-22 14:20 Experiences with "literate elisp" and ob-tangle? John Wiegley
2011-08-22 17:09 ` Eric Schulte
2011-08-22 18:18   ` Darlan Cavalcante Moreira [this message]

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.orgmode.org/

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

  git send-email \
    --in-reply-to=4e529d90.62c5ec0a.1d35.26af@mx.google.com \
    --to=darcamo@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=jwiegley@gmail.com \
    --cc=schulte.eric@gmail.com \
    /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/org-mode.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).