From 12d87c5d944b75f8acbd6cacb3351cede1d44525 Mon Sep 17 00:00:00 2001 From: Achim Gratz 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- 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