Note that identifying when org is loaded is not always straight-forward. There are lots of packages which include org support which can result in org being loaded as a side effect when you load them. This is especially true of non-core packages which will use explicit require statements rather than relying on autoloads etc.
For this reason, I always ensure that anything relating to org source paths etc is loaded as early as possible. Sharon Kimble <boudic...@skimble09.plus.com> writes: > > So I've looked at my config file, and the first time that org is mentioned is > - > ===== > ** installation > #+BEGIN_SRC emacs-lisp :tangle "~/.emacs.d/init.el" :exports code :results > silent > ;;; init.el --- sharon's config -*- eval: (read-only-mode 1) -*- > (require 'package) > (setq package-enable-at-startup nil) > (package-initialize) > > (require 'ob-tangle) > (org-babel-load-file "~/.emacs.d/config22.org") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is when org is being loaded as ob-tangle is part of org. This will mean the built-in/bundled version of org is loaded. > #+END_SRC > ===== > and the first time that org-mode is mentioned is - > ===== > ** set pathways > > #+begin_src emacs-lisp > ;;(setq load-path (cons "~/.emacs.d/lisp" load-path)) > ;; This sets up the load path so that we can override it > (package-initialize nil) > ;; Override the packages with the git version of Org and other packages > ;;(add-to-list 'load-path (expand-file-name "/home/boudiccas/git/org-mode/")) > (add-to-list 'load-path (expand-file-name > "/home/boudiccas/git/org-mode/lisp")) > (add-to-list 'load-path (expand-file-name > "/home/boudiccas/git/org-contrib/lisp")) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This isn't going to work as you hope. You have already loaded org mode when you called (require 'ob-tangle), so what this is doing is adding an additional path to a latter version of org which is going to result in a 'mixed' version. This will cause lots of issues. You either need to move the above lines *above* the require 'ob-tangle or move the earlier lines to after these ones. I think earlier is better when it comes to org as there are many packages which include org support and which will load org as a hidden side effect. > ;; Load the rest of the packages > (add-to-list 'load-path (expand-file-name "/home/boudiccas/.emacs.d/lisp")) > ;; (add-to-list 'load-path "/home/boudiccas/.emacs.d/personal-elisp") > ;; (add-to-list 'load-path "/home/boudiccas/.emacs.d/test") > (add-to-list 'load-path (expand-file-name "/home/boudiccas/.emacs.d/elpa")) > ;; (add-to-list 'load-path "/home/boudiccas/git") > (setq custom-file "/home/boudiccas/.emacs.d/lisp/custom.el") > > (load custom-file) > #+end_src > ===== > > So how can I load the correct org-mode please? > I note your appear to be running both the development version of Emacs as well as the git version of org mode. While this will give you the most recent versions of both, it will also mean your working with the most unstable versions of both. If you rely on org for your daily workflow, I would recommend 1. Just running with the version of org bundled with Emacs. Being the development version, it will stay reasonably up-to-date as you really need to update and re-build Emacs every week or so anyway. or 2. Just use the org from ELPA and org-contrib from non-GNU ELPA. These are usually the most stable versions with bug fixes applied. This would be my recommendation. I think few people actually need to run from the head of the git repository. Your messages indicated that having a broken org installation was a significant issue for you and getting the issues resolved are quite urgent. Using the ELPA/non-GNU packages will ensure you get important bug fixes while keeping your org version current with the most recent stable version and is probably the best choice for anyone who needs a reliable org for production/daily use.