* mk/targets.mk (ORGVERSION, GITVERSION): trim "-dev" suffix from ORGVERSION.
61336f80 uses org.el's Version metadata to generate ORGVERSION when
the source repository has no tags.
This can result in an org-version of "Major.Minor-dev".
The "-dev" suffix is not recognized by `version-to-list' as a valid
version syntax because it is not part of `version-regexp-alist'.
* mk/targets.mk (ORGVERSION, GITVERSION): Get version from lisp/org.el
header if it can't be retrieved from git-describe.
As of elpa.git's ee03829f90 (Finalize the new master branch,
2020-12-14), org-release and org-git-version are empty strings in
https://elpa.gnu.org/packages/org-*.tar files. This is because the
new setup executes `make autoloads info' in an elpa.git worktree with
an Org branch checked out, but elpa.git of course doesn't have Org's
release tags.
Maintaining the org.el version header has been a point of contention
in the past [1], but the header has been there for a while now. Use
it to avoid the above elpa.git issue. In the case of the master
branch, the org-release value generated in a tag-less repo will have a
different version than the one from a regular repo because org.el's
version header has a "-dev" suffix, but that's still better than an
empty version.
[1] For example: https://orgmode.org/list/87zj1uhix6.fsf@gmx.us/
Reported-by: Pierre Langlois <pierre.langlois@gmx.com>
Ref: https://orgmode.org/list/87y2hi9qev.fsf@gmx.com
* mk/eldo.el: Update copyright year and fix formatting.
* lisp/ox-man.el: Don't set generated-autoload-file as a
buffer local variable.
* lisp/org-refile.el: Place ;;;###autoload correctly.
* lisp/ob-lilypond.el (org-babel-lilypond-switch-extension):
Formatting fix.
* doc/Makefile: Add rule to generate org-version.tex.
* doc/orgcard.tex: Include org-version.tex rather than explicitly
setting version and year.
This removes the only instance in the repo where the Org version is
hardcoded.
* 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.