* lisp/org-exp-blocks.el (org-marker-from-point): Helper function to
create markers at specific points in source buffers.
(org-export-blocks-preprocess): Use markers instead of points to
delimit code blocks.
* lisp/org-list.el (org-list-separating-blank-lines-number): the
behaviour of `org-back-over-empty-lines' depends on the associated
value of `headline' in `org-blank-before-new-entry', which is out of
context in a list.
* lisp/org-indent.el (org-indent-initialize-agent): when the current
buffer isn't being watched, resume initialization of other watched
buffers. In that case, give hand to others idle timers or processes
more frequently.
(org-indent-agent-active-delay): renamed from
org-indent-agent-process-duration.
(org-indent-agent-passive-delay): new variable.
(org-indent-agent-resume-delay): change value.
(org-indent-initialize-buffer): change argument name.
(org-indent-add-properties): change argument name and type
expected. It must be a time value now.
add
* lisp/org-agenda.el (org-agenda-include-all-todo): Declare this
option as no longer working.
(org-timeline): Rename the include-all argument to dotodo.
(org-arg-loc): Renamed from` org-include-all-loc'.
(org-agenda-list): Rename the INCLUDE-ALL argument to ARG, because its
function has changed.
* lisp/org-indent.el (org-indent-agent-timer,
org-indent-agentized-buffers, org-indent-agent-resume-timer,
org-indent-agent-process-duration, org-indent-agent-resume-delay):
new variables.
(org-indent-initial-marker): more accurate doc-string.
(org-indent-initial-timer, org-indent-initial-resume-timer,
org-indent-initial-process-duration, org-indent-initial-resume-delay,
org-indent-initial-lock): removed variables.
(org-indent-mode): set up an agent to watch current buffer, or add it
to the list of already watched buffers.
(org-indent-initialize-agent): new function.
(org-indent-initialize-buffer): now requires a mandatory buffer
argument.
(org-indent-add-properties): reflect changes to variables. The resume
timer is now global.
This change was introduced because a buffer killed while initializing
couldn't cancel its own initialization timer. Now, a global agent
watches for buffers, starting or resuming their initialization when
appropriate. It can cancel its own timer, thus killing itself, when no
more buffers are being watched.
* lisp/org-indent.el (org-indent-set-line-properties): add text
properties down to the beginning of the next line.
(org-indent-add-properties): when last position to add properties to
is at the beginning of a line, all that line will have properties.
* lisp/org-indent.el (org-indent-initial-resume-timer): new variable.
(org-indent-initialize-buffer): also resume after a small break.
(org-indent-add-properties): when in asynchronous mode, proceed for
2 seconds, then take a break.
* lisp/org-indent.el (org-indent-modified-headline-flag): renamed from
`org-indent-deleted-headline-flag'
(org-indent-notify-modified-headline): renamed from
`org-indent-notify-deleted-headline'. Handle situations when the stars
of an headline are modified.
(org-indent-refresh-maybe): remove case now handled by previous function.
(org-indent-mode): apply renames.
* lisp/org-indent.el (org-indent-inlinetask-first-star): new variable.
(org-indent-add-properties): set the first star of inline-tasks'
virtual indentation in `org-warning' face.
* lisp/org-inlinetask.el (org-inlinetask-insert-task): create a new
inline-task slightly differently, so virtual indentation can be
applied normally.
* lisp/org-indent.el (org-indent-initial-marker,
org-indent-initial-timer, org-indent-initial-lock): new variables.
(org-indent-mode): at initialization, start an idle timer to indent
the whole buffer. When the user is asking for control, interrupt the
process, and resume at the same point when idle again.
(org-indent-initialize-buffer): new function.
(org-indent-add-properties): throw an interrupt when indentation of
buffer is stopped during initialization.
* lisp/org-indent.el (org-indent-max-levels): modify default value and
add comment.
(org-indent-add-properties): pay attention to org-indent-max and
org-indent-max-levels values.
(org-indent-refresh-maybe): refactor code to avoid an unnecessary
save excursion.
* lisp/org-indent.el (org-indent-mode): completely refresh buffer
before starting org-indent-mode. Also set idle timer to refresh only
visible portion of buffer, and refresh the subtree instead of
section when promoting or demoting it.
(org-indent-add-properties): rewrite function to proceed line by
line, as required by `wrap-prefix' specificity.
(org-indent-refresh-section,org-indent-refresh-subtree): refactor.
(org-indent-refresh-view): new function.
(org-indent-refresh-to, org-indent-refresh-section): removed
functions.
* lisp/org.el (org-unfontify-region): do not remove prefix properties
when unfontifying a region.
* org-colview.el (org-columns-cleanup-item): Correctly remove
leading stars in items displayed in the agenda column view.
Thanks to Christian Schmidt for spotting this.
This function by Max Mikhanosha was added accidently. We are
waiting for the FSF to process Max copyright assignement to get
this function in org-mode.
Thanks to Achim Gratz for spotting at this.
* org-colview.el (org-columns-display-here): Clean up items in
org-agenda-mode too.
(org-columns-cleanup-item): Take a new argument CPHR to allow
passing a complex heading regexp. Rewrite to cleanup ITEM
correctly in `org-agenda-mode'.
Thanks to Christian Schmidt for pointing at this problem.
(org-open-at-mouse): Point to the docstring of `org-open-file'
for more details.
(org-open-file): Mention `org-link-frame-setup' in the
docstring.
Thanks to Reiner Steib for pointing at this.
(org-link-display-descriptive): New option to customize the
default display of links, either literal or descriptive.
(org-toggle-link-display): New command to toggle link display.
(org-org-menu): Use the new toggle function for links.
Thanks to Reiner Steib for suggesting this.
Also remove blank lines before the ";;; org*el ends here" declarations.
Having a "Version" header forced us to update every file when releasing a
new version of Org; it also forced us to update every file when merging Org
with Emacs trunk, thus cluttering the diffs between the previously merged
version and the new one with useless information.
Glenn Morris suggested this in emacs-devel:
http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00322.html
* org.el (org-refile-active-region-within-subtree): New option
to allow refiling a region that is part of a subtree without
containing a subtree itself. This default to `nil'.
(org-refile): Use the new option. Put point at the beginning
of the region/subtree to be refiled, so that users understand
what will be refiled. Also improve the prompt to tell whether
the user is refiling a region or a headline.
Thanks to Jeff Horn for raising the issue of refiling a list item,
and to Nicolas Goaziou, Nick Dokos and Suvayu Ali for discussing
them patiently. The discussion led to these changes.
* org.el (org-properties-postprocess-alist): New option to
allow postprocessing the values of properties set through
`org-set-property'.
(org-set-property): Use this option.
This is inspired by a request from Pascal Mattia.