[O] Experiences with literate elisp and ob-tangle?

2011-08-22 Thread John Wiegley
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?  Is there a way to get
ob-tangle to compile the resulting Elisp file?  I'm guessing it does not
regenerate the .el file if no changes have been made to the .org, right?

Thanks,
  John




Re: [O] Experiences with literate elisp and ob-tangle?

2011-08-22 Thread Eric Schulte
Hi John,

John Wiegley jwieg...@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/



Re: [O] Experiences with literate elisp and ob-tangle?

2011-08-22 Thread Darlan Cavalcante Moreira

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 jwieg...@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/