3.6 KB

Note that this package might need to be updated to work with the new Org repo starting 2018. See here for the announcement.

org-track.el aims to add a simple interface to track Org-mode's git repository on For non-git users, an =org-latest.tar.gz= archive is provided and will be downloaded from

The idea was born in a thread on the great emacs-orgmode mailing list on a request from Stefan Vollmer:

If you run into trouble, drop us a mail on the great emacs-orgmode Mailinglist.


You will need an initial version of the Org-mode distribution in your load path. For easy upgrading, add the following to your =.emacs=:

#+begin_src emacs-lisp (add-to-list load-path "/path/to/org-mode/lisp") (add-to-list load-path "/path/to/org-mode/contrib/lisp") (require org-install) (require org-track) #+end_src

Adjust at least the variable org-track-directory. You can use customize for this:

M-x customize-variable RET org-track-directory RET

From now on, to update and compile the current development version of Org-mode is just a matter of typing:

M-x org-track-update RET

This will download the current org-latest.tar.gz, update the autoloads file org-install.el and (optionally) compile the sources.

org-track-directoy Layout

The org-track-directory is the only variable you'll need to adjust. This is the directory where your local copy of Org-mode will live. I.e., a sub directory 'org-mode/' will be added here. Also the file org-latest.tar.gz will be put here (and deleted after updates):

        |-- org-latest.tar.gz (if you download archives)
        `-- org-mode
            |-- ...
            |-- lisp          (add this dir to your loadpath)
            |-- contrib
            |   `-- lisp       (add this dir to your loadpath)
            `-- ...


To see and/or change all the related variables, do:

M-x customize-group RET org-track RET

Here is a list of all variables the script uses:

The directory, where the sub-directory org-mode/
lives. Default: =~/.emacs.d/org/lisp=
Compile the sources after downloading? Defaults
to =t=.
The package is downloaded from this URL. This denotes
the folder actually (i.e. the URL without the basename =org-latest.tar.gz=).
The name the package itself. Default:
Remove the downloaded package after unpacking?
The default is to keep the archive.

How it works

The `*.tar.gz' version is extracted without external dependencies (tar-mode). To make sure that org-latest.tar.gz is opened in tar-mode, the code modifies your `auto-mode-alist':

#+begin_src emacs-lisp (add-to-list 'auto-mode-alist '("org-latest\\.tar\\.gz\\'" . tar-mode)) #+end_src

The downloaded package can be removed. See the option org-git-remove-package. Default is not to remove org-latest.tar.gz.