* mk/default.mk (CHMOD): Addtional customization variable for
chmod (change file permissions). Explain why we need it for
git-annex.
* mk/targets.mk (cleantest): If the plain $(RMR) fails, try to make
directories writable recursively and retry the $(RMR).
(cleanall, $(CLEANDIRS:%=clean%)): Use "+" instead of ";" to reduce
the number of execs.
* org-attach.el (org-attach-use-annex): New function to check if git
annex should be used.
(org-attach-annex-get-maybe): New function to get a file from git
annex if necessary.
(org-attach-annex-auto-get): New defcustom to determine behavior
of org-attach-annex-get-maybe.
(org-attach-open): Automatically get attached files from git annex when
opening if necessary.
* testing/lisp/test-org-annex.el: New file for testing org-attach. Only
contains code for testing org-attach with git annex at the moment.
* mk/targets.mk: Fix cleantest target so it can delete git annex repos.
* mk/org-fixup.el (org-make-org-version, org-make-org-loaddefs,
org-make-local-mk, org-make-letterformat): Do not use
`toggle-read-only' as it has been obsoleted in 24.4 and the
replacement read-only-mode should not be used from Lisp in most
cases. Bind `inhibit-read-only' to t instead.
* mk/default.mk (GIT_BRANCH): New configuration variable to specify a
Git branch that is checked out before updating.
* mk/targets.mk (up0 up1 up2): Check out the branch in GIT_BRANCH
before doing an update. Stays on the current branch if GIT_BRANCH
is undefined or empty.
* mk/default.mk (BTEST_INIT): Isolate load-path manipulation into
BTEST_LOAD and do whitespace cleanup. (EMACSQ): New variable for an
Emacs with no configuration files. (NOBATCH, BATCH): Use EMACSQ.
* mk/targets.mk (vanilla): Do not echo command line and explicitly say
that we don't get a return value. (CONF_CALL): Add NOBATCH to the
list of things shown in `make config-all´.
* mk/default.mk: Add default for new variable BTEST_RE to select all
tests. (BTEST_OB_LANGUAGES): Remove sh (always needed, as
emacs-lisp) and add comment for ruby. (BTEST): Use BTEST_RE to
select tests from the test suite. Reorganize pre-loading of Org,
Babel, Ox and babel languages into a known clean environment.
* mk/targets.mk (CONF_TEST): Add BTEST_RE to the output of
config-test.
* testing/org-batch-test-init.el: New file. Remove all traces of any
Org built into Emacs or otherwise present in the environment so it
can not be picked up spuriously during testing or conceal errors in
the Org version under test.
* testing/org-test.el (org-test-run-batch-tests): Showtest selection
in messages. (org-test-run-all-tests): Update ID locations.
e.g., to run a single test without re-compiling Org-mode use the
following.
make single-test-dirty TEST=test-ob/org-babel-remove-result--results-code
This should aid in isolating errors with git bisect.
* mk/targets.mk (up0): Explicitly remove additions from contrib/
before moving HEAD via git since the files might be renamed, deleted
or moved by checking out a new version.
Thanks to Suvayu Ali for pointing to this problem. The user still has
to remember to do this when moving HEAD manually, though.