[Top][All Lists]

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

Re: [O] babel perl issue

From: Eric Schulte
Subject: Re: [O] babel perl issue
Date: Tue, 11 Dec 2012 07:33:05 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

>> Specifically to the require structure of Babel.  Perhaps the best
>> solution would be to replace ob.el with a small file which requires all
>> of the core components of Babel (e.g., ob-exp, ob-ref, ob-tangle,
>> etc...) and move the existing ob.el to something like ob-core.el.  That
>> way the entire Babel suite may be loaded by all language specific files
>> using a single require statement.  Does that seem reasonable?
> If you can manage to keep the require structure non-circular, that seems
> like a good idea.  You could also turn your suggestion on the head and
> provide ob-core.el with just the requires (and maybe the defcustoms) you
> mentioned above and have all other ob-* files require it.

I'm attaching two patches which implement this new require structure.
They move ob.el -> ob-core.el.  The new ob.el (which is now loaded by
every file which requires 'ob) does two things.

1. It defines every Babel defcustom (excluding the language-specific
   defcustoms).  Should defvars be moved here as well?

2. It loads the remainder of Babel, namely; ob-eval, ob-core, ob-comint,
   ob-exp, ob-keys, ob-table, ob-lob, ob-ref and ob-tangle.

This allows for most of the language files to be simplified as they now
only need to require ob, rather than requiring the subset of the above
particular to their needs.

The only Babel-related compiler warnings thrown while compiling with
this new setup are in reference to an undefined variable which I see now
you've mentioned in another thread.

If these patches look reasonable I'll apply them to the master branch.


Attachment: 0001-ob.el-is-an-umbrella-loading-all-of-Babel.patch
Description: Text Data

Attachment: 0002-consolidate-Babel-defcustoms-in-ob.el.patch
Description: Text Data

Eric Schulte

reply via email to

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