|
@@ -24,28 +24,34 @@
|
|
|
;;
|
|
|
;;; Commentary:
|
|
|
|
|
|
-(require 'find-func)
|
|
|
(require 'org-compat)
|
|
|
(require 'autoload)
|
|
|
|
|
|
(defun org-make-org-version (org-release org-git-version odt-dir)
|
|
|
(find-file "org-version.el")
|
|
|
(erase-buffer)
|
|
|
- (insert ";;; org-version.el --- autogenerated file, do not edit\n;;\n;;; Code:\n")
|
|
|
- (insert ";;;\#\#\#autoload\n")
|
|
|
- (insert "(defconst org-release \"" org-release "\"\n")
|
|
|
- (insert " \"The release version of org-mode.\n")
|
|
|
- (insert " Inserted by installing org-mode or when a release is made.\")\n")
|
|
|
- (insert ";;;\#\#\#autoload\n")
|
|
|
- (insert "(defconst org-git-version \"" org-git-version "\"\n")
|
|
|
- (insert " \"The Git version of org-mode.\n")
|
|
|
- (insert " Inserted by installing org-mode or when a release is made.\")\n")
|
|
|
- (insert ";;;\#\#\#autoload\n")
|
|
|
- (insert "(defconst org-odt-data-dir \"" odt-dir "\"\n")
|
|
|
- (insert " \"The location of ODT styles.\")\n")
|
|
|
- (insert "\f\n;; Local Variables:\n;; version-control: never\n")
|
|
|
- (insert ";; no-byte-compile: t\n")
|
|
|
- (insert ";; coding: utf-8\n;; End:\n;;; org-version.el ends here\n")
|
|
|
+ (insert "\
|
|
|
+;;; org-version.el --- autogenerated file, do not edit
|
|
|
+;;
|
|
|
+;;; Code:
|
|
|
+;;;\#\#\#autoload
|
|
|
+\(defun org-release ()
|
|
|
+ \"The release version of org-mode.
|
|
|
+ Inserted by installing org-mode or when a release is made.\"
|
|
|
+ (let ((org-release \"" org-release "\"))
|
|
|
+ org-release))
|
|
|
+;;;\#\#\#autoload
|
|
|
+\(defun org-git-version ()
|
|
|
+ \"The Git version of org-mode.
|
|
|
+ Inserted by installing org-mode or when a release is made.\"
|
|
|
+ (let ((org-git-version \"" org-git-version "\"))
|
|
|
+ org-git-version))
|
|
|
+;;;\#\#\#autoload
|
|
|
+\(defconst org-odt-data-dir \"" odt-dir "\"
|
|
|
+ \"The location of ODT styles.\")
|
|
|
+\f\n;; Local Variables:\n;; version-control: never
|
|
|
+;; no-byte-compile: t
|
|
|
+;; coding: utf-8\n;; End:\n;;; org-version.el ends here\n")
|
|
|
(save-buffer))
|
|
|
|
|
|
(defun org-make-org-install (absfile)
|
|
@@ -60,12 +66,40 @@
|
|
|
(insert ";; coding: utf-8\n;; End:\n;;; org-install.el ends here\n")
|
|
|
(save-buffer))
|
|
|
|
|
|
-(defun org-fixup ()
|
|
|
- (message "might as well do something, but not now")
|
|
|
-)
|
|
|
+(defmacro org-fixup ()
|
|
|
+ (let* ((origin default-directory)
|
|
|
+ (dirlisp (org-find-library-name "org"))
|
|
|
+ (dirorg (concat dirlisp "../" ))
|
|
|
+ (dirgit (concat dirorg ".git/" ))
|
|
|
+ (org-version "N/A-fixup")
|
|
|
+ (org-git-version "N/A-fixup !!check installation!!"))
|
|
|
+ (if (load (concat dirlisp "org-version.el") 'noerror 'nomessage 'nosuffix 'mustsuffix)
|
|
|
+ (setq org-version (org-release)
|
|
|
+ org-git-version (org-git-version))
|
|
|
+ (when (and (file-exists-p dirgit)
|
|
|
+ (executable-find "git"))
|
|
|
+ (unwind-protect
|
|
|
+ (progn
|
|
|
+ (cd dirorg)
|
|
|
+ (when (eql 0 (shell-command "git describe --abbrev=6 HEAD"))
|
|
|
+ (with-current-buffer "*Shell Command Output*"
|
|
|
+ (goto-char (point-min))
|
|
|
+ (setq git-version (buffer-substring (point) (point-at-eol))))
|
|
|
+ (when (string-match "\\S-"
|
|
|
+ (shell-command-to-string
|
|
|
+ "git diff-index --name-only HEAD --"))
|
|
|
+ (setq git-version (concat git-version "-dirty")))
|
|
|
+ (setq org-version (and (string-match "_\\([^-]+\\)-" git-version)
|
|
|
+ (match-string 1 git-version)))
|
|
|
+ (setq org-git-version git-version)))
|
|
|
+ (cd origin))))
|
|
|
+ `(progn
|
|
|
+ (defun org-release () ,org-version)
|
|
|
+ (defun org-git-version () ,org-git-version)
|
|
|
+ "org-fixup.el: redefined org version."
|
|
|
+ )))
|
|
|
|
|
|
(provide 'org-fixup)
|
|
|
-
|
|
|
|
|
|
;; Local Variables:
|
|
|
;; no-byte-compile: t
|