org-track.el – Keep current with Org-mode development: M-x org-track-update

Table of Contents

{Back to Worg's contibutions index}

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:

(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)

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: org-latest.tar.gz.
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':

(add-to-list 'auto-mode-alist '("org-latest\\.tar\\.gz\\'" . tar-mode))

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

Documentation from the website (either in its HTML format or in its Org format) is licensed under the GNU Free Documentation License version 1.3 or later. The code examples and css stylesheets are licensed under the GNU General Public License v3 or later.