From mboxrd@z Thu Jan 1 00:00:00 1970 From: Darlan Cavalcante Moreira Subject: Re: Experiences with "literate elisp" and ob-tangle? Date: Mon, 22 Aug 2011 15:18:51 -0300 Message-ID: <4e529d90.62c5ec0a.1d35.26af@mx.google.com> References: <877h658jb6.fsf@gmail.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Return-path: Received: from eggs.gnu.org ([140.186.70.92]:60983) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QvZ5V-0003nr-Nf for emacs-orgmode@gnu.org; Mon, 22 Aug 2011 14:19:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QvZ5P-00015v-FG for emacs-orgmode@gnu.org; Mon, 22 Aug 2011 14:19:05 -0400 Received: from mail-yi0-f41.google.com ([209.85.218.41]:42355) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QvZ5P-00015d-CF for emacs-orgmode@gnu.org; Mon, 22 Aug 2011 14:18:59 -0400 Received: by yib2 with SMTP id 2so3964476yib.0 for ; Mon, 22 Aug 2011 11:18:58 -0700 (PDT) In-Reply-To: <877h658jb6.fsf@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Eric Schulte Cc: John Wiegley , emacs-orgmode@gnu.org 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 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/ >