emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] babel perl issue


From: Achim Gratz
Subject: Re: [O] babel perl issue
Date: Sun, 09 Dec 2012 21:34:49 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.90 (gnu/linux)

Eric Schulte writes:
> See http://orgmode.org/manual/Languages.html for the documentation on
> how to activate and disable org-babel languages.

That actually produces the error:

File mode specification error: (void-variable org-babel-tangle-lang-exts)

as the OP has found out (and I can reproduce it).

The reason is that none of the ob-<lang>.el files do a (require
ob-tangle), but try to change a defcustom in ob.tangle.el that is only
declared, but not yet available at the time.  I've quickfixed it by
moving the require for ob-tangle in org.el to the beginning of the file,
but this is now relying on the fact that org is implicitly loaded for
getting the major mode set up, so all the babel language files still
need to be cleaned up.

>From 12d87c5d944b75f8acbd6cacb3351cede1d44525 Mon Sep 17 00:00:00 2001
From: Achim Gratz <address@hidden>
Date: Sun, 9 Dec 2012 21:26:16 +0100
Subject: [PATCH] Keep requires at the beginning of the file

* lisp/org.el: Keep require forms at the beginning of the file.

Thanks to "flav" for providing an example that showed ob-tangle was
required too late.

Also, all ob-<lang> files should IMHO require ob-tangle instead of
declaring dynamic variables and relying on org.el to do the require.
---
 lisp/org.el | 62 ++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 31 insertions(+), 31 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index c5be3c5..42d4c0d 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -78,6 +78,37 @@ (defvar org-table-formula-constants-local nil
 (require 'find-func)
 (require 'format-spec)
 
+(require 'outline)
+(if (and (not (keymapp outline-mode-map)) (featurep 'allout))
+    (error "Conflict with outdated version of allout.el.  Load org.el before 
allout.el, or upgrade to newer allout, for example by switching to Emacs 22"))
+(require 'noutline "noutline" 'noerror) ;; stock XEmacs does not have it
+
+;; Other stuff we need.
+(require 'time-date)
+(unless (fboundp 'time-subtract) (defalias 'time-subtract 'subtract-time))
+(require 'easymenu)
+(require 'overlay)
+
+(require 'org-macs)
+(require 'org-entities)
+;; (require 'org-compat) moved higher up in the file before it is first used
+(require 'org-faces)
+(require 'org-list)
+(require 'org-pcomplete)
+(require 'org-src)
+(require 'org-footnote)
+
+;; babel
+(require 'ob)
+(require 'ob-table)
+(require 'ob-lob)
+(require 'ob-ref)
+(require 'ob-tangle)
+(require 'ob-comint)
+(require 'ob-keys)
+
+(require 'font-lock)
+
 (let ((load-suffixes (list ".el")))
   (load "org-loaddefs" 'noerror nil nil 'mustsuffix))
 
@@ -4939,35 +4970,6 @@ (defvar org-table-buffer-is-an nil)
 (defvar bidi-paragraph-direction)
 (defvar buffer-face-mode-face)
 
-(require 'outline)
-(if (and (not (keymapp outline-mode-map)) (featurep 'allout))
-    (error "Conflict with outdated version of allout.el.  Load org.el before 
allout.el, or upgrade to newer allout, for example by switching to Emacs 22"))
-(require 'noutline "noutline" 'noerror) ;; stock XEmacs does not have it
-
-;; Other stuff we need.
-(require 'time-date)
-(unless (fboundp 'time-subtract) (defalias 'time-subtract 'subtract-time))
-(require 'easymenu)
-(require 'overlay)
-
-(require 'org-macs)
-(require 'org-entities)
-;; (require 'org-compat) moved higher up in the file before it is first used
-(require 'org-faces)
-(require 'org-list)
-(require 'org-pcomplete)
-(require 'org-src)
-(require 'org-footnote)
-
-;; babel
-(require 'ob)
-(require 'ob-table)
-(require 'ob-lob)
-(require 'ob-ref)
-(require 'ob-tangle)
-(require 'ob-comint)
-(require 'ob-keys)
-
 ;;;###autoload
 (define-derived-mode org-mode outline-mode "Org"
   "Outline-based notes management and organizer, alias
@@ -5174,8 +5176,6 @@ (defvar org-mouse-map (make-sparse-keymap))
   (org-defkey org-mouse-map [(tab)] 'org-open-at-point)
   (org-defkey org-mouse-map "\C-i" 'org-open-at-point))
 
-(require 'font-lock)
-
 (defconst org-non-link-chars "]\t\n\r<>")
 (defvar org-link-types '("http" "https" "ftp" "mailto" "file" "news"
                         "shell" "elisp" "doi" "message"))
-- 
1.8.0.1



Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

DIY Stuff:
http://Synth.Stromeko.net/DIY.html

reply via email to

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