* org.el (org-ctrl-o): New command to insert a new row in
tables (like `M-S-<down>' does) and open a line elsewhere.
(org-mode-map): Bind the new command to `C-o'.
* org.el (org-ctrl-c-ctrl-c): Fix bug wrt updating checkboxes:
the list beginning should be stored using a marker so that
updating [%0] to [%50] will not throw an error.
* org-table.el (org-calc-current-TBLFM): New function to
re-calculate the table by applying the #+TBLFM in the line
where the point is.
* org.el (org-ctrl-c-ctrl-c): Call `org-calc-current-TBLFM' when
point is in the #+TBLFM line.
* testing/lisp/test-org-table.el: Add test.
* org.el (org-babel-load-file): Move `org-babel-load-file'
from ob-tangle.el to here so that it is correctly autoloaded
by Emacs before Org is required.
Thanks to Eric Schulte for feedback about this.
* lisp/org.el (org-store-link, org-link-search, org-options-keywords):
Remove reference to TARGET keyword.
* lisp/ox.el (org-export-resolve-fuzzy-link, org-export-get-ordinal):
Do not use TARGET as a destination for links anymore.
* testing/lisp/test-ox.el: Update tests.
* testing/lisp/test-org.el: Update tests.
Its specifications were not useful enough to keep maintaining this
feature.
* lisp/ox-org.el (org): Add a menu entry for the back-end.
(org-org-export-as-org, org-org-export-to-org): New functions.
* lisp/org.el (org-export-backends): Accept `org' as a loadable
back-end.
* org.el (org-cycle-internal-local): Fix invalid search bound
when `org-cycle-include-plain-lists' is set to 'integrate.
Thanks to James Harkins for reporting this.
* org.el (org-agenda-prepare-buffers): Fix bugs: don't
let-bind `org-tag-alist' to nil and don't append duplicate
tags to `org-tag-alist-for-agenda'.
Thanks to Toby Cubitt for reporting this.
* org.el (org-store-link): Storing multiple links in the
active region now requires a triple prefix argument.
Thanks to Matt Lundin for reporting bugs in this area.
* org.el (org-mode-flyspell-verify): Require 'org-element so
that `org-element-affiliated-keywords' is defined.
Thanks to Matt Lundin for reporting this.
* org.el (org-toggle-tags-groups): Correctly highlight group
tags.
(org-tags-expand): Expand tags as words, with characters ?@
and ?_ being considered words constituents.
* org.el (org-set-regexps-and-options): Don't read setup files
from read-only buffers.
(org-file-contents): When no-error is non-nil, throw a less
intrusive message.
This commit prevents Gnus to try reading arbitrary files on your machine
when opening a message with #+SETUPFILE keyword.
In general, it prevents reading a setup file from any read-only buffer.
Thanks to Eric Abrahamsen and Andreas Leha for reporting this.
* org-agenda.el (org-tags-view): Set the matcher after
preparing the agenda, as `org-tag-groups-alist-for-agenda'
might be needed.
(org-agenda-filter-make-matcher): New parameter `filter' and
`type'. Handle group tags.
(org-agenda-filter-expand-tags): New function.
(org-agenda-filter-apply): Handle group tags.
* org.el (org-blank-before-new-entry): Tiny docstring fix.
(org-tag-alist-for-agenda): Add docstring.
(org-tag-groups-alist-for-agenda): New global variable.
(org-tag-groups-alist): New buffer-local variable.
(org-tag-alist, org-tag-persistent-alist): Handle :grouptags.
(org-group-tags): New option.
(org-toggle-group-tags): New command.
(org-mode-map): Bind `org-toggle-group-tags' to `C-c C-x q'.
(org-set-regexps-and-options-for-tags): New function, factored
out from `org-set-regexps-and-options'.
(org-set-regexps-and-options): Don't handle tags, they are now
handled separately by `org-set-regexps-and-options-for-tags'.
(org-assign-fast-keys): Handle :grouptags.
(org-mode): Use `org-set-regexps-and-options-for-tags' on top
of `org-set-regexps-and-options'.
(org-fontify-meta-lines-and-blocks-1): Fontify group tags.
(org-make-tags-matcher): Expand group tags in the matcher.
(org-tags-expand): New function.
(org-tags-completion-function): Tiny code clean up.
(org-set-current-tags-overlay): Add a docstring.
(org-fast-tag-selection): Highlight group tags.
(org-agenda-prepare-buffers): Set `org-tag-alist-for-agenda'
and `org-tag-groups-alist-for-agenda'. Don't uniquify
`org-tag-alist-for-agenda' as we may need the grouping
information for filtering in the agenda buffer.
(org-uniquify-alist): New function.
* org-pcomplete.el (pcomplete/org-mode/file-option/tags):
Handle :grouptags.
* org-faces.el (mode-line): New face for group tags.
* org.el (org-entry-add-to-multivalued-property): Add the new
value by appending it at the end of the line.
Thanks to Thorsten Jolitz for a preliminary patch for this.
* org.el (org-set-regexps-and-options): Use
`org-table-set-constants'.
* org-table.el (org-table-set-constants): New function.
(orgtbl-ctrl-c-ctrl-c): Use it.
Thanks to Oliver Večerník for reporting problems here.
* org.el (org-store-link): When there is an active region,
store each line as a separate link.
(org-insert-all-links): Use a default description when links
do not have one already.
* org-agenda.el (org-agenda-redo): Fix typo in code.
* org.el (org-clone-subtree-with-time-shift): Only prompt for
a time shift when the entry at point has a time stamp and when
the command is called with a universal prefix argument.
* org.el (org-deadline-time-hour-regexp)
(org-scheduled-time-hour-regexp): New buffer local variables.
(org-set-regexps-and-options): Set the new variables.
* org-agenda.el (org-agenda-custom-commands-local-options):
Add :deadline* and :scheduled* to the list of possible agenda
entry types.
(org-agenda): Implement a new agenda type agenda* with :scheduled*
and :deadline* replacing :scheduled and :deadline respectively in
agenda entry types. In such agenda, only scheduled and deadline
items with a time specification [h]h:mm will be considered.
(org-agenda-entry-types): Document the new agenda entry types
:scheduled* and :deadline*.
(org-agenda-list): New parameter `with-hour'. Use :scheduled* and
:deadline*.
(org-agenda-get-day-entries): Handle :scheduled* and :deadline*.
(org-agenda-get-deadlines, org-agenda-get-scheduled): New
parameter `with-hour'. Use `org-deadline-time-hour-regexp' or
`org-scheduled-time-hour-regexp' as the search string if needed.
(org-agenda-to-appt): Use :scheduled* and :deadline* by default,
as other scheduled and deadline items don't have a time spec and
cannot be turned into appointments. Trim bracket links and use
only the description as the appointment text.
(org-agenda-get-restriction-and-command): Add
default description for the agenda* view.
(org-agenda-run-series): Handle agenda* views.
* org.el (org-insert-heading): DTRT when in a narrowed region.
* org-compat.el (org-buffer-narrowed-p): New compatibility
function.
Thanks to Samuel Wales for reporting this problem.
* org.el (orgstruct-heading-prefix-regexp): Change default
value to nil.
(orgstruct-error): Use user-error if available.
(orgstruct-setup): Disable bindings of {pro,de}motion commands
if orgstruct-heading-prefix-regexp is non-nil. Always use
org-outline-level.
(orgstruct-make-binding): New argument
DISABLE-WHEN-HEADING-PREFIX.
* org.el (org-toggle-item): Convert all normal lines as items when
there is a region, and only convert the first line when called
with a universal prefix argument. This is consistent with the
behavior of `org-toggle-heading'.
(org-toggle-heading): When the region contains only normal lines,
a universal prefix arg will only convert the first line. This is
more consistent with `org-toggle-item'.
* lisp/ox-latex.el (latex): Introduce new buffer keyword.
(org-latex-template): Use new keyword.
* lisp/ox-beamer.el (org-beamer-template): Use new keyword.
* lisp/org.el (org-create-formula--latex-header): Use new keyword.
* contrib/lisp/ox-koma-letter.el (org-koma-letter-template): Use new
keyword.
Previewing of LaTeX snippets takes account of LATEX_HEADER keywords.
LATEX_HEADER_EXTRA keyword allows to specify some header lines that
will not be used for building snippets.
* org.el (org-time-clocksum-use-effort-durations): Don't set to t
by default as it will change many clocktables out there. Let the
user decides whether she wants to turn this on.
* org.el (org-agenda-inhibit-startup): Revert to nil as the default.
* org-agenda.el (org-agenda-dim-blocked-tasks): Revert to t as the
default.
The reason for this reversion is that that users expect the agenda to
DTRT by default, and that it's better not to change the previous default
in general. Also, users who need to speed up their agenda are probably
long time users with big and numerous agenda files, and it's easier for
them to find these variables than it is for newbies to find out why the
agenda does not DTRT.
If users want to speed up their agenda, they can now read advice here:
http://orgmode.org/worg/agenda-optimization.html
* org.el (org-modules): Do not include org-mew.el, org-vm.el,
org-w3m.el, org-wl.el as these files are now part of contrib/.
* org-w3m.el:
* org-vm.el:
* org-w3m.el:
* org-wl.el: Move to contrib/.
The purpose behind this change is to prepare a future split between
org-mode.git and org-contrib.git: org-mode.git will contain all files
that are directly relevant to GNU Emacs, while org-contrib.git will
contain files that are more peripheral and/or from authors who cannot
assign their copyright to the FSF.
This is *not* a way do downgrade those files, it is a way to prepare
org-contrib.org so that it gets more attention and more contributors,
thanks to the fact that there is no legal barrier to contribute to it.
* org.el (org-previous-line-empty-p): New parameter to allow
checking next line. Add a docstring.
(org-insert-heading): Handle two universal prefix arguments as
advertized in the docstring. Don't insert new lines when
creating a heading after the first heading in the current
subtree.
(org-insert-heading-respect-content): New optional argument
arg, passed to `org-insert-heading'.
* org.texi (Structure editing): Update documentation for
`org-insert-heading-or-item'.
(Plain lists, Relative timer): Update index entry.
* org-mobile.el (org-mobile-edit): Use correct parameters for
`org-insert-heading-respect-content'.
* org.el (org-mode): Use `org-backward-element' and
`org-forward-element' for `beginning-of-defun-function' and
`end-of-defun-function': this allows using C-M-a and C-M-e
before the first headline.
* org.el (org-deadline, org-schedule): When called with two
universal prefix arguments, set the warning time or the delay
relatively to the current timestamp, not to today's date.
Thanks to Sébastien Vauban for reporting this.
* org.el (org-mode): Set `paragraph-start'.
The value inherited from outline-mode is wrong because
outline mode does not enforce the space after the star
while Org-mode does.
outline-mode value for `paragraph-start' prevents filling
paragraphs containing a string like " -- *bold*": in this
case, fill-paragraph might think that the "*b" part of the
string starts a paragraph while it does not.
Thanks to Samuel Wales for reporting this.
* org.el (org-mode): Add `org-fix-ellipsis-at-bol' to
`isearch-mode-end-hook' so that any isearch fixes the problem with
ellipsis on the first line.
(org-fix-ellipsis-at-bol): New defsubst.
(org-show-context, org-isearch-end): Use it.
* lisp/org.el (org-do-latex-and-related): Fix infloop when user
provides a wrong value for `org-highlight-latex-and-related'. In
this case, `org-latex-and-related-regexp' is the empty string and
generates an infloop since matching it doesn't move point.
* org.el (org-show-context): Remove useless catch. Make sure the
top of the window is a visible headline.
* org.el (org-activate-plain-links): Remove unused catch.
* org-macs.el (org-get-alist-option): Return nil, not (nil), so
that `org-show-context' DTRT.
Thanks to Samuel Wales for his patience in reporting this.