* org.el (org-at-timestamp-p): Set ̀org-ts-what' to 'after when
the point is right after the timestamp. `org-at-timestamp-p'
still returns `t' in this case, as this is more practical.
(org-return): Check against ̀org-ts-what' to verify that point
is really within the timestamp (if any).
Thanks to Nick Dokos for raising this issue.
* lisp/org.el (org-reload): Revert an undesirable change in
org-reload. Do not prepend org-dir to babel-files, which prevents
the files from being found in load-path.
* lisp/org.el (org-fontify-entities): Fix bug: The entities \sup[123] and
\there4 were not "prettified" when org-pretty-entities was enabled.
TINYCHANGE
* lisp/org.el (org-fontify-entities): Fix bug: The entities \sup[123] and
\there4 were not "prettified" when org-pretty-entities was enabled.
TINYCHANGE
* org.el (org-open-at-point): Allow to open the agenda from an
active or inactive timestamp in a headline.
TINYCHANGE
Thanks to Ingo Lohmar for this patch.
* org.el (org-scan-tags): Fix bug when building the scanner regexp.
Thanks to Mike McLean, who first reported this issue and provided a
reproducible recipe. Thanks to Laurynas Biveinis and Loris Bennett
who provided complementary feedback on this.
* org.el(org-version): Add optional parameters 'full and 'message
to optionally return the full version string and echo to message
area in non-interactive calls.
* org.el(org-submit-bug-report): Add optional parameter 'full to
call of (org-version) so that the bug report has all version
information.
* org.el(org-reload): Simplify file-re (orgtbl-*.el files do not
exist anymore). Keep org-*.el at the end of the files list.
Explicitely load org-version.el (since it doesn't provide feature
'org-version) at the very end, but ignore errors when it doesn't
exist. Add parameters 'full and 'message to the call
of (org-version) so that after reload the full version information
is displayed in the message area again.
* lisp/org-agenda.el: Replace with-no-warnings with
org-no-warnings (defined in org-macs.el).
* lisp/org-bbdb.el: Replace with-no-warnings with
org-no-warnings (defined in org-macs.el).
* lisp/org-clock.el: Replace with-no-warnings with
org-no-warnings (defined in org-macs.el).
* lisp/org.el: Replace with-no-warnings with org-no-warnings (defined
in org-macs.el).
* 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.
* lisp/org.el: add with-no-warning to defvar for two unprefixed global
variables from calendar.el (there's nothing else we can do inside
org until it is fixed in calendar.el).
* org.el (org-allow-promoting-top-level-subtree): New option
to allow promoting a top-level subtree.
(org-called-with-limited-levels): New variable, dynamically
bound within the `org-with-limited-levels' macro.
(org-promote): Use the new option to allow promoting a
top-level subtree.
* org-macs.el (org-with-limited-levels): Let-bind
`org-called-interactively-p' to t.
Promoting a top-level subtree can be useful but should not be allowed by
default, as this restructuring is only reversible with M-x undo RET.
* org.el (org-create-formula-image-with-dvipng)
(org-create-formula-image-with-imagemagick): Make sure a file
exists before trying to delete it.
Thanks to Benjamin Motz for this idea.
* org.el (org-indent-line-function): Fix bug.
Don't fall back systematically on `org-fb-vars' to do
the indentation. Only fall back at then end, when no
modification has been done by indenting a la Org. In
that case, use `indent-according-to-mode' instead of
using `indent-line-function' to avoid a possible loop.
Thanks to Eric Fraga, Christopher Schmidt and Nicolas
Goaziou who reported problems with this.
* org.el (org-toggle-heading): Allow `C-u C-c *' to mark the
list at point before converting items to headings. With a
simple universal-argument, set `current-prefix-arg' to 1,
otherwise keep the numeric value.
* org.el (org-src-prevent-auto-filling): New option to prevent
auto-filling in src blocks. This defaults to nil to avoid people
being surprised that no auto-fill occurs in Org buffers where they
use `auto-fill-mode'.
(org-auto-fill-function): Use the new option.
Thanks to Ken Williams for this feature request and to Charles
C. Berry for a preliminary patch for this.
* org.el (org-properties-postprocess-alist): Better
customization type.
(org-set-property): Fix the check against
`org-properties-postprocess-alist'.
Thanks to Bill Wishon for testing/spotting this.
* org-colview.el (org-columns-string-to-number): When
computing the values for the colview, match durations and
convert them to HH:MM values.
* org.el (org-duration-string-to-minutes): Match non-round
numbers. Add a new optional parameter to allow returning the
output as a string.
Thanks to Sébastien for reporting these bugs.
* org.el (org-auto-fill-fallback-function)
(org-indent-line-fallback-function)
(org-fill-paragraph-fallback-function)
(org-auto-fill-fallback-function)
(org-indent-line-fallback-function)
(org-fill-paragraph-fallback-function): Remove.
(org-fb-vars): New buffer-local variable.
(orgstruct++-mode): Use the fallback variable `org-fb-vars' to
store, use and restore variables if needed.
(org-fill-paragraph): Ignore `orgstruct++-mode' filling
variables when needed.
(org-auto-fill-function, org-indent-line-function): Ditto.
* org-macs.el (orgstruct++-ignore-org-filling): New macro.
* org.el (org-create-formula-image-with-imagemagick): Use 'call-process
to launch latex so that no shell output buffer will be shown when previewing
formulas.
* org.el (org-version): When called non-interactively, insert
the short version string, otherwise send a message with the
complete version string.
* org-odt.el (org-odt-update-meta-file): Use (org-version) and
delegate checking whether `org-version' is known as a variable
there.
* org-html.el (org-export-as-html): Use (org-version).
* org-docbook.el (org-export-as-docbook): Ditto.
* org-latex.el (org-export-latex-make-header): Ditto.
* lisp/org.el (org-set-regexps-and-options): Fix
`org-planning-or-clock-line-re' regexp. Indeed "\\>" will never
match since time keywords must end with colons, which are not word
constituent.
* org-faces.el (org-list-dt): New face.
* org.el (org-set-font-lock-defaults): Use `org-list-dt' as
the face for definition terms in definition lists.
Thanks to Alex Lane for suggesting this.
* org.el (org-auto-fill-fallback-function)
(org-indent-line-fallback-function)
(org-fill-paragraph-fallback-function): New variables to store
some fall-back functions when turning `orgstruct++-mode' on.
(orgstruct++-mode): Set the new variables.
(org-indent-line-function, org-fill-paragraph)
(org-auto-fill-function): Use them.
Thanks to Christopher Schmidt for reporting this and to Eric
S Fraga for insisting on it.
This commit creates these fall-back buffer-local variables:
(defvar org-auto-fill-fallback-function nil)
(defvar org-fill-paragraph-fallback-function nil)
(defvar org-indent-line-fallback-function nil)
When `org-auto-fill-function' cannot do anything useful in the
current mode and `org-auto-fill-fallback-function' is set (for
example to `message-do-auto-fill), use the fall-back function
before `do-auto-file'.
When `org-fill-paragraph-function' cannot do anything useful in the
current mode and `org-fill-paragraph-fallback-function' is set (for
example to `message-fill-paragraph'), use the fall-back function
before `fill-paragraph'.
When `org-indent-line-fallback-function' is set, always run it
instead of `org-indent-line-function'.
* org.el (org-read-date): Bugfix: call `org-eval-in-calendar'
with the 'keepdate parameter set to t when setting the cursor
type.
Thanks to Matt Lundin for reporting this and for the solution.
* org.el (org-read-date): Set cursor-type to nil in the calendar.
* org-faces.el (org-date-selected): Use inverse video. Don't explicitely
set bold to nil as it causes `customize-face' to show the weight property
and thus encourage the user to change it. Warn in the docstring that using
bold might cause problems when displaying the calendar.
Using inverse video for the selected date might be too much for many
people, but with cursor-type set to nil (thanks to Toby Cubitt for this)
and with a light-weight font, we need to really highlight the selected
date -- and a simple color change is not catchy enough IMO.
* org-archive.el (org-archive-subtree): Allow archiving to a
datetree.
* org.el (org-archive-location): Ditto.
* org.texi (Moving subtrees): Document the ability to archive
to a datetree.
TINYCHANGE
* lisp/org-list.el (org-list-struct-indent): Follow
`org-list-demote-modify-bullet' specifications for ordered bullets.
(org-list-indent-item-generic, org-indent-item-tree,
org-outdent-item-tree): Fix bug when operating on a region.
(org-outdent-item, org-indent-item): Allow to operate on a region.
* lisp/org.el (org-shiftmetaleft, org-shiftmetaright): Allow to
operate on a region.
* testing/lisp/test-org-list.el: Add tests.
* 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/
* 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.
* 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/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
* 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
* 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/
* org.el (org-parse-time-string): Allow strings supported by tags/properties
matcher (eg <now>, <yesterday>, <-7d>) if the time starts with < and ends
with >. This means that e.g. in the clocktable parameters you can specify
:tstart "<-1w>" :tend "<now>".
TINYCHANGE
* 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.
* lisp/org-list.el (org-list-struct-indent): Follow
`org-list-demote-modify-bullet' specifications for ordered bullets.
(org-list-indent-item-generic, org-indent-item-tree,
org-outdent-item-tree): Fix bug when operating on a region.
(org-outdent-item, org-indent-item): Allow to operate on a region.
* lisp/org.el (org-shiftmetaleft, org-shiftmetaright): Allow to
operate on a region.
* testing/lisp/test-org-list.el: Add tests.
* org.el (org-point-at-end-of-empty-headline): Only try to
match ̀org-todo-line-regexp' when the value is non-nil, e.g.
in non-org modes.
Thanks to Jambunathan for bringing this up.
* org.el (org-fontify-meta-lines-and-blocks-1): Prevent more
fontification errors.
Thanks to Henning Redestig for reporting this and to Nick Dokos for
digging further.
* lisp/org.el: (org-after-todo-state-change-hook): Fix docstring to
reflect name change of state to org-state.
The renamed variable can cause user hooks added to
org-after-todo-state-change-hook to break, so it is essential to have
the correct variable name in the docstring.
* org.el (org-fill-paragraph): Leave scheduled/deadline lines
untouched when filling an adjacent paragraph.
Thanks to Stuart McLean for suggesting this.