* UTILITIES/org-fixup.el(org-make-org-install): Use relative filenames
throughout, and query Emacs for directory names where a full path is
required. This avoids Cygwin/POSIX paths being misinterpreted by a
stock NTEmacs. Use the same regex as (org-reload) for enumerating
the files to byte-compile.
* default.mk: Factor out standard load-path for Emacs started in lisp/
into BATCHL and use this in defaults. Make all paths to be
interpreted by Emacs relative so Cygwin and NTEmacs can coexist.
* UTILITIES/org-fixup.el(org-make-org-version): Use temporary buffer.
* UTILITIES/org-fixup.el(org-make-org-install): Use temporary buffer.
* UTILITIES/org-fixup.el(org-make-autoloads): New function, generates
autoload files using (org-make-org-version)
and (org-make-org-install). Uses (org-fixup) to determine version
strings.
* UTILITIES/org-fixup.el(org-make-autoloads-compile): New function,
generates autoload files using (org-make-autoloads) and
byte-compiles files in lisp. Optional argument forces
re-compilation of all files.
* UTILITIES/org-fixup.el(org-fixup): Clean up whitespace and correct the
unwind form.
* UTILITIES/server.mk: Re-introduce, keep in UTILITIES like the other
server stuff. Implement "helpserver" and link into "help" and
"helpall" targets. Add "reltest" target to clean up the work tree
and produce release archives, uses internal target "rel-dirty" for
the actual archive creation. Warn if $(ORGVERSION) is different
from $(GITVERSION), as a release should only be made from a revision
that has an annotated tag.
* lisp/org-compat.el (org-find-library-dir): rename
org-find-library-name (misleading) and implement with a function
that exists identically in Emacs/XEmacs.
* UTILITIES/org-fixup.el: change calls to org-find-library-dir.
Simplify invocations of git, use the same arguments as in targets.mk
and use only functions that work the same in EMacs and XEmacs.
* lisp/org-exp-blocks.el: change calls to org-find-library-dir.
* lisp/org.el: change calls to org-find-library-dir. Make require for
noutline fail silently because it is missing from XEmacs.
* UTILITIES/org-fixup.el (org-make-org-version): change defconst to
defun for org-release and org-git-version and close over those
variables (do not make them global anymore).
* UTILITIES/org-fixup.el (org-fixup): check for org-version.el or try
to use git to get the version from the worktree (code uses parts of
the former implementation from org.el).
* lisp/org.el (org-version): use functions instead of global variables
to get the version strings and remove the defvaralias to
org-version. Warn when encountering a mixed installation (org and
org-install.el should be found in the same directory).
Supported use-cases:
1) Org uninstalled (and possibly uncompiled) from Git or tarball.
1a) No org-version.el or org-install.el exists in worktree. Partially
supported configuration, org version is determined from git if
possible via UTILITIES/org-fixup.el. However, Emacs versions
delivered with orgmode will provide autoloads that may or may not work
with that version of org (mixed installation). If such a situation is
encountered, warn the user. It can work if the autoloads from the
installation match the ones that would be generated for the worktree,
which generelly is only the case if there is a relatively recent
installation in site-lisp.
1b) Autoload file org-install.el exists in worktree. Fully supported
configuration, org version is determined from git if possible via
UTILITIES/org-fixup.el.
1c) Both org-version.el or org-install.el exist in worktree.
Recommended configuration for 1), org version is taken from
org-version.el (git never gets invoked).
2) Org installed. Both org-version.el and org-install.el must exist
in install directory. Only supported configuration for 2), org
version is taken from org-version.el (git never gets invoked since
UTILITIES/org-fixup.el is not available).
Any unsupported configuration should still yield a version string, but
it will contain "N/A" to alert the user about a botched org
installation.
* UTILITIES/org-fixup.el: new file, has functions to create
org-version.el and org-install.el, now use by the build system.
* lisp/Makefile: delete said definitions, now sourced from toplevel
make. "clean" and "cleanall" should do the same thing here, make
them aliases, ditto for "all" and "compile". Both autoload files
must be .PHONY and depend only on each other for correct ordering.
Make "compile-dirty" actually do that again (i.e. no implied
"clean", but "cleanauto"). Remove autoload files directly after
install, so that they will only be present when explicitly requested
by "autoloads". Create "org-version.el" before compilation as it is
mandatory. Remove $(ORG_MAKE_INSTALL) and $(ORG_MAKE_VERSION),
source from default.mk/local.mk.
* default.mk: move definitions for $(ORG_MAKE_INSTALL) and
$(ORG_MAKE_VERSION) here so that they can be more easily configured.
Remove definition of "org-release" from $(BATCH) and $(BTEST), now
sourced from "org-version.el".
* targets.mk: target reorganization, introduce "stop" targets to
prevent cleaning of org-version.el. Use new targets for "oldorg" to
make it more robust in case of errors. New target "cleanutils" to
remove any "*.elc" files that may have been produced there and add
this target to "cleanall". Do the same in cleancontrib.
The workflow is now:
$ pw branch NNN
To create a branch with patch numb er NNN
$ git commit --amend
To check and modify the commit message where necessary
$ pw merge -m "Comment for notification email" NNN
To merge that branch. The -m comment will be added to the
notification email that is sent to the mailing list.
The -m comment can also be given to the update command,if the update
sends an email:
$ pw update -s "changes requested" -m "comment for email" NNN
The reorganizes parts of the manual. The Archiving stuff has been
moved into the new chapter "Capture-Refile-Archive". Also, there is a
new chapter "Markup" to contains both the markup rules (moved there
from the Export chapter) and the embedded LaTeX stuff.
The manual now used better the org.css file. It also reacts to single
key presses like "n" and "p", and has a top-level table of contents
that is always active and visible.
A new perl program, list-hooks.pl, now extracts the full list of hook
and function variables in Org, for inclusion into Worg's org-hooks.org.
Also, add a docstring to a few hooks that did not have one.