* org.el (org-mode): Don't use `buffer-face-mode' by default.
Still set `org-default' as the face for `buffer-face-mode-face' in
case the user turn `buffer-face-mode' on.
* org-faces.el (org-date-selected): New face.
* org.el (org-date-ovl): Use `org-date-selected'.
This fixes a problem with bold faces enlarging the calendar window
unduely. See http://patchwork.newartisans.com/patch/1286/
* lisp/org-odt.el (org-odt-format-org-link): Pay no heed to
whether the internal links destined for headlines provide a
description or not. In fact, the `org-store-link' and
`org-insert-link' create internal links which do have a
description.
This fixes an issue where internal links terminating at an
invisible target (that is bound to a headline) was badly
rendered. Refer following thread:
http://lists.gnu.org/archive/html/emacs-orgmode/2012-04/msg00757.html
* etc/styles/OrgOdtStyles.xml (OrgDescriptionList): Modify
style. With this change, in a description list, if the
description paragraph spawns multiple lines then it will
correctly indented.
* lisp/org-capture.el (org-capture-place-entry): Place captured entry
immediately after last subheading of target, instead of just before
next heading at same level as target.
* lisp/org-capture.el (org-capture-templates): Document new capture
template properties.
* lisp/org-capture.el (org-capture-place-entry,
org-capture-empty-lines-before): Make new :empty-lines-before property
override :empty-lines when inserting empty lines before captured
captured entry.
* lisp/org-capture.el (org-capture-finalize,
org-capture-empty-lines-after): Make new :empty-lines-after property
override :empty-lines when inserting empty lines after captured
captured entry.
* org.texi: Alter several examples of headings with timestamps
in them to include the timestamps in the body instead of the heading.
* orgguide.texi: Alter the same examples in the same way as for
org.texi.
The Org-mode manual explicitly discourages the inclusion of timestamps
in headlines, yet examples do just that. These changes make the manual
consistent with its own advice.
TINYCHANGE
* org.el (org-link-prettify): New function to prettify links
while displaying them with `org-insert-link'.
(org-insert-link): Use the new function.
TINYCHANGE
* org.el (org-latex-create-formula-image-program): New option
to use either dvipng or imagemagick to convert and preview
LaTeX fragments.
(org-preview-latex-fragment, org-format-latex): Handle the new
option.
(org-create-formula-image-with-dvipng): Rename from
`org-create-formula-image'.
(org-create-formula-image-with-imagemagick): New defun to
handle LaTeX preview with imagemagick.
(org-latex-color, org-latex-color-format): New defuns to
handle color conversions.
* org-latex.el (org-latex-to-pdf-process, org-export-as-pdf):
Allow to use imagemagick to convert LaTeX fragments.
* org-html.el (org-export-html-preprocess): Ditto.
* org-exp.el (org-export-with-LaTeX-fragments): Ditto.
* org.texi (@LaTeX{} fragments): Document imagemagick as an
alternative to dvipng.
* org.el (org-repeat-re)
(org-clone-subtree-with-time-shift, org-auto-repeat-maybe)
(org-deadline, org-schedule, org-matcher-time)
(org-time-stamp, org-read-date, org-read-date-get-relative)
(org-display-custom-time, org-get-wdays)
(org-time-string-to-absolute, org-closest-date)
(org-timestamp-change): Allow to set hourly repeat cookie.
Send an error when an hourly repeat cookie is set and no hour
is specified in the timestamp.
* org.texi (Repeated tasks): Document repeat cookies for
years, months, weeks, days and hours.
* org-agenda.el (org-agenda-get-timestamps): Match hourly
repeat cookies.
* org-icalendar.el (org-print-icalendar-entries): Handle
hourly repeat cookies.
Thanks a lot to Takafumi Arakaki for this idea and for a preliminary
version of this patch.
* doc/Makefile: rename auto-generated file "git-describe.texi" to
"org-version.inc" to allow for easier inclusion into Emacs.
* doc/org.texi: include "org-version.inc" instead of
"git-describe.texi".
* lisp/Makefile: new auto-generated file org-version.el with autoload
cookies. The version strings will be pulled during autoload
extraction into org-install.el (standalone org-mode) or
../loaddefs.el (Emacs).
* default.mk: Run emacs without a site-file. BTEST_EXTRA
redefined to hold names of extra packages to require for
testing. BTEST_PRE and BTEST_POST allow additional
options to be injected around setup of standard load path
for testing. BTEST_OB_LANGUAGES holds the names of Babel
languages to required. R is not added to the list since
it requires ess to be installed and configured. All
variables can be overridden in local.mk as before.
default.mk: add $(testdir) definition based on $(TMPDIR), which
defaults to "/tmp" if not already defined
targets.mk(check): call test suite with TMPDIR=$(testdir) and remove
direactory after successful run of testsuite. Do not remove
temporary test files if $(TEST_NO_AUTOCLEAN) is set to a non-empty
value.
targets.mk(cleandirs): refactor the first part of what cleanall
had been doing.
targets.mk(cleanall): run cleantest and cleandirs, then remove
backup files.
targets.mk(cleanlisp): remove backup files.
targets.mk(cleandoc): remove backup files.
targets.mk(cleanall): run cleantest and cleandirs, then remove
backup files.
targets.mk(cleantest): removal of temporary test files.
defaults.mk: define SUDO to map to sudo, add comment to define
blank if administrative privileges are not needed (already root on
Linux or Administrator on Windows)
targets.mk: use newly defined $(SUDO) uinstead of plain sudo,
replaces some braces with parentheses
.gitignore: also ignore *.t2d directories in doc/ that texi2pdf
might produce when run in tidy mode
default.mk: correct some comments
targets.mk: implement missing clean targets and add aliases for
them
default.mk: make sure org-release is defined when starting emacs
in batch mode. Add a suffix to see if this definition leaks into
the installed version someplace. When running from an installed
version, this definition is pulled in from org-install.el.
Makefile: add help for target "test"
default.mk: more sane location for local data, add $(BTEST) that
will run the test in batch mode. Some tests require non-standard
packages, introduce $(BTEST_EXTRA) in order to add options so they
can be found.
targets.mk: new target "test" that implies "all" and then runs all
test. Hidden target "test-dirty" runs tests without doing
compilation.
etc/Makefile: add "schema" to $(ETCDIRS)
contrib/odt/etc/schema/od-manifest-schema-v1.2-cs01.rnc: move to etc/schema/od-manifest-schema-v1.2-cs01.rnc
contrib/odt/etc/schema/od-schema-v1.2-cs01.rnc: move to etc/schema/od-schema-v1.2-cs01.rn
contrib/odt/etc/schema/schemas.xml: move to etc/schema/schemas.xml
targets.mk: if no .git directory is present, assume that Git is
not available. Make ORGVERSION, GITVERSION and GITSTATUS
customizable from local.mk (override from command line is also
possible and probably easier)
Makefile: remove includes for maintainer targets, these will go
into local.mk on the server
default.mk: introduce $(datadir) to replace $(etcdir) in etc/Makefile
doc/Makefile: replace $etcdir) with $(datadir)
lisp/Makefile: record ODT styles location as defconst in org-install
{doc,etc,lisp}/Makefile: prefix all installation targets with $(DESTDIR)
* targets.mk: target "all" for lisp directory does now the same as
"compile", i.e. it cleans .elc file first
* Makefile: describe all targets and re-arrange the target groups
* lisp/Makefile: use batch-byte-recompile-directory instead of
batch-byte-compile; remove pattern rule for compiling single file
from source
* lisp/Makefile: add compile-dirty to list of phony targets
* lisp/org.el (org-version): show the full path to org-install.el
in the version string to avoid confusion if multiple installations
exist or a previously loaded org-install.el has already defined a
version string that is now out of date.
* targets.mk: check for release and git version and record this
into environment variables for use in sub-make invocations; add
new target "compile-dirty" that does not invoke "make clean" first
* doc/Makefile, lisp/Makefile: remove git version check, since
they are now provided by first-level make
* lisp/Makefile: add insertion of version information into
org-install.el, have org-install.el depend on LISPF rather than
LISPC so that autoloads can be produced without compiling
everything and remove insertion into org.el and re-compilation
during install; add new target "compile-dirty" to support
invocation from first-level make
* lisp/org.el (org-version): remove determination of version
information, show "N/A" if the information is not provided via
org-install.el
* doc/Makefile: introduce target for git-describe.texi, which is an
automatically generated file that records the output of git-describe
and date; remove this file during make clean
* doc/org.texi: remove @set for VERSION and DATE and do an @include
git-describe.texi instead
* lisp/dependencies.mk: remove file
* lisp/Makefile: remove dependency on dependencies.mk
Rationale: since we will always start with a "make clean", the
dependencies file has become obsolete. The dependencies had not
been updated for a long time anyway and there seems to be no way
to produce them automatically.
* Makefile: prepend "make clean" in lisp directory when compiling
Rationale: Emacs prefers the compiled lisp files even if the source is newer.
In case of circular dependencies or if the dependencies file is not correct,
the compiled files might not reflect the sources. Since there is no canonical
way to remove all compiled files which are stale (it can be hacked, but it is
really ugly), it seems more prudent to just always remove the compiled files
before starting the compilation. Most folks already already do that anyway.
* doc/Makefile: cleanall additionally removes the directories for
manual and guide; fix the dir file in infodir after removal of org
documentation
* lisp/Makefile: remove debug statement
* Makefile, lisp/Makefile, doc/Makefile: add target clean-install
to remove files in install-directories
* default.mk: add customization variable $(SED)
* doc/Makefile: do not remove dir while cleaning
* lisp/Makefile: use sed instead of perl to weave git-status into
org.el and ignore any errors while doing it. Keep git status in
$(GITSTATUS) to make it more clear what happens in the check.
* lisp/org.el (org-git-version): placeholder for recording the Git
version of org during install
* lisp/org.el (org-version): initialize local git-version with
placeholder and fall through using it when org is not installed in
a Git repository
* Makefile: use info function for output and call shell only once
* default.mk: add PDFTEX and RMR variables for customization
* lisp/Makefile: add target 'all' and create $(lispdir) if necessary
* maint-targets.mk: invoke sub-make for HTML manuals
* maint.mk: remove unsused VARIABLES
* targets.mk: invoke sub-make for ./doc and clean up some targets
* Makefile: add an optional include local.mk
* default.mk: install lisp files into org subfolder by default
* lisp/Makefile: new file to handle all make targets within lisp
* lisp/dependencies.mk: dependencies, should rather be auto-generated
* maint.mk: remove obsolete variable definitions
* targets.mk: hand off to sub-make in ./lisp, remove unused targets
* Makefile: declare phony targets, remove help text for install-info-debian
* default.mk: add variable for FIND and RM
* targets.mk, maint-targets.mk: shuffle targets to where they belong, declare
phony targets, work around a texi2dvi bug, use pattern rules, use targets for
dependencies instead of repeating them verbatim
* default.mk: change prefix to /usr/share and do some formatting
This change establishes the baseline installation path that should work
out-of-the-box on Linux and Cygwin when the install is done system-wide (which
needs administrator privileges).
* Makefile: just keep help target (now also default for no target)
and include all other parts from here.
* default.mk: user editable variables with their default values
* maint.mk: definitions by maintainer, should not be touched by user
* targets.mk: user callable targets
* maint-targets.mk: targets for maintenance, should not be called by user
* dependencies.mk: keep order during compile (could become auto-generated)
This is the first in a series of patches that restructures the Makefile to
achieve easier customization and separation of different concerns (mainly user
vs. maintenance of the distribution). This first patch simply establishes a
set of files without changing anything else to provide a clean starting point.
It uses GNU make extensions since Makefile already depends on GNU make anyway.