further cleanup for org version
commit6fbc226ca5881afc94632a63778ae7e2216ab3ae
authorAchim Gratz <Stromeko@Stromeko.DE>
Sun, 15 Jul 2012 08:41:27 +0000 (15 10:41 +0200)
committerAchim Gratz <Stromeko@Stromeko.DE>
Sun, 15 Jul 2012 11:53:53 +0000 (15 13:53 +0200)
tree48503ac906e88f7263cca7a544f6977c69113339
parente6a88820bf61a4cfa9ab80120b16e5089122d134
further cleanup for org version

* UTILITIES/org-fixup.el (org-make-org-version): Provide feature
  'org-version.
* lisp/org-compat.el (org-check-version): New macro.  Check if
  org-version.el exists and provide autoloads to that. Otherwise check
  if org-fixup.el exists and use it to provide definitions.  Finally
  if nothing worked, complain about a botched installation and provide
  fallback definitions.
* lisp/org.el: Use org-check-version.

This should finally provide the correct behaviour in all supported
use-cases as well as a few corner scenarios that were reported on the
mailing list and allow to always build on Git, ELPA and Emacs Bzr
correctly.  The file org-version.el must be added to the Emacs sources
and should be re-generated each time orgmode Git is synced to Emacs
Bzr (it would be best to automate this).

Note that the internal functions (org-release) and (org-git-release)
are not autoloaded when org-version is not present and become only
available when org.el is loaded.  This should pose no problem since
they are only used by (org-version), which is autoloaded from org.el.
UTILITIES/org-fixup.el
lisp/org-compat.el
lisp/org.el