* lisp/org.el: Honour existing restrictions when regenerating the agenda
Narrowed org buffers are now retained when regenerating the agenda
with org-agenda-redo
* lisp/ob.el (org-babel-common-header-args-w-values): Add the new
header argument name.
(org-babel-insert-result): Respect the value of the :wrap header
argument when inserting results.
(org-babel-result-end): Find the end of arbitrarily named result
blocks.
* lisp/org-indent.el (org-indent-refresh-maybe): Check for new
headlines from the beginning of the line to be sure to catch
any newly inserted headline there.
* lisp/ob-emacs-lisp.el: A comment on the last line of an emacs-lisp
code block would cause an error when the block is was executed. This
fix cures this behaviour.
* testing/lisp/test-ob-emacs-lisp.el: Regression tests for the above
fix.
* org-mobile.el (org-mobile-push): Use `org-agenda-tag-filter'
instead of the obsolete `org-agenda-filter'.
Thanks to Charles Sebold for reporting this.
* org-agenda.el: Add an alias for `org-agenda-filter'.
(diary-list-entries-hook): Use the non-obsolete hook.
(org-agenda-filter-apply): Silent compiler warning.
* ob-ditaa.el (org-ditaa-jar-path): Make a defcustom.
(org-ditaa-jar-option): New option.
(org-babel-execute:ditaa): Use it.
Thanks to Waldemar Reusch for reporting this need.
Thanks to Martyn Jago for the test case
* lisp/ob.el (org-babel-balanced-split): Explicit checking if list
before calling member.
* testing/lisp/test-ob.el (test-ob/org-babel-balanced-split): Testing
the new Emacs22-proof behavior.
Thanks to Martyn Jago for the test case
* lisp/ob.el (org-babel-balanced-split): Explicit checking if list
before calling member.
* testing/lisp/test-ob.el (test-ob/org-babel-balanced-split): Testing
the new Emacs22-proof behavior.
* org.el (org-ctrl-c-ctrl-c): Preserve symmetry when adding
and removing checkboxes with `C-u C-c C-c' on the first item
of a list. Also, don't reinitialize checkboxes that are
already ticked.
Thanks to Nicolas Goaziou for these fixes.
* lisp/org-list.el (org-list-write-struct): Add an optional argument
for structure changes happening outside the function.
* lisp/org.el (org-ctrl-c-ctrl-c): Now, C-u C-c C-c on the first item
of a sub-list should toggle check-box presence of every item in the
same sub-list. Also fix check-box insertion on a single item.
* lisp/org-bbdb.el (org-bbdb-old): New variable.
(org-bbdb-store-link):
(org-bbdb-open): Check for `org-bbdb-old'.
(org-bbdb-open-old):
(org-bbdb-open-new): New functions.
Patch by Ivan Kanis
* lisp/ob.el (org-babel-expand-noweb-references): Rather than using a
pure regexp solution to resolve noweb references, actually check the
information of every code block in the buffer. This will cause a
slowdown in noweb reference expansion, but is necessary for correct
behavior.
* org-odt.el (org-odt-styles-dir): Assume that the styles
files are located under `data-directory' of Emacs distribution
as etc/org/OrgOdtStyles.xml and
etc/org/OrgOdtContentTemplate.xml. Also update docstring.
(org-export-odt-schema-dir): Update docstring.
* org-exp-blocks.el (org-export-blocks-preprocess): Fix regexp
for matching the end of a block.
Thanks to Robert Lupton the Good for reporting this and to Nick
Dokos for digging the issue further.
* org.el (org-open-at-point): Escape link path for http:, https:,
ftp:, news:, and doi: links only if the path contains space or
non-ascii character.
This should take care of mistakenly double-escaped links as reported
by Jeff Horn in <http://article.gmane.org/gmane.emacs.orgmode/48731>.
We are just guessing here and push the responsibility for proper
escaping to the target application.
* org.el (org-refile-get-targets): Ignore headlines without a true
headline.
This fixes a bug reported by Nathan Neff in
<http://article.gmane.org/gmane.emacs.orgmode/50035>.
Headlines with just a keyword are ignored as possible refile target.
* org-publish.el (org-publish-index-generate-theindex): Use
theindex.inc for storing index entries, and theindex.org for
including theindex.inc.
Commit f0d7ac removed the theindex.inc and directly included
index entries in theindex.org. This is not as flexible as using
theindex.org as a page you want to manually edit, which can then
include theindex.inc with proper content.
Thanks to Stefan Vollmar for insisting about this issue.
* lisp/org-odt.el (org-export-odt-default-org-styles-alist):
Add styles for title and subtitle.
(org-odt-format-toc): New.
(org-odt-format-preamble): New. Users can redefine this to
customize what goes before the document body. Currently it
outputs title, author and email, date and toc.
(org-odt-begin-document-body): Use `org-odt-format-preamble'.
(org-odt-format-date): Renamed from
`org-odt-iso-date-from-org-timestamp'. Also added an
additional param for format string.
(org-odt-begin-annotation, org-odt-update-meta-file): Use
`org-odt-format-date'.
* etc/styles/OrgOdtStyles.xml (Title, OrgTitle, Subtitle)
(OrgSubtitle): New styles for formatting title.
Rename `org-on-heading-p' and `org-on-target-p' to
`org-at-heading-p' and `org-at-target-p' to be more
consistent with the org-at-*-p family.
Also define two aliases.
* org.el (org-at-drawer-p): New function.
(org-end-of-line): Use it.
This function make the behavior of C-e in folded drawers consistent
with C-e in folded subtrees: in this case, point moves to the last
invisible characters of the line, not to the last character.
* lisp/ob.el (*org-babel-use-quick-and-dirty-noweb-expansion*):
Controls the method in which noweb references are expanded.
(org-babel-expand-noweb-references): Bring back the option for
regexp-based noweb expansion.
* org.el (org-ctrl-c-ctrl-c): Preserve symmetry when adding
and removing checkboxes with `C-u C-c C-c' on the first item
of a list. Also, don't reinitialize checkboxes that are
already ticked.
Thanks to Nicolas Goaziou for these fixes.
* lisp/org-list.el (org-list-write-struct): Add an optional argument
for structure changes happening outside the function.
* lisp/org.el (org-ctrl-c-ctrl-c): Now, C-u C-c C-c on the first item
of a sub-list should toggle check-box presence of every item in the
same sub-list. Also fix check-box insertion on a single item.
* org-agenda.el (org-agenda-filter-preset): New alias.
(org-agenda-filter-by-category): New command.
(org-agenda-mode-map): Add the new command.
(org-agenda-custom-commands-local-options): Add category
filter preset.
(org-agenda-mark-filtered-text): Mark both tag and filter
overlays.
(org-agenda-category-filter-preset): New variable.
(org-finalize-agenda, org-agenda-redo)
(org-agenda-filter-make-matcher, org-agenda-filter-apply):
Handle both category and tag filters.
(org-agenda-filter-show-all-tag): Rename from
`org-agenda-filter-by-tag-show-all'.
(org-agenda-filter-show-all-cat): New function.
(org-agenda-set-mode-name): Show the category filter in the
modeline.
* org-faces.el (org-agenda-filter-category): New face.
* org.texi (Agenda commands): Update documentation about the
new category filtering feature.
This feature has been requested by several people -- thanks
to all of them for mentioning this possibility.
* lisp/org-bbdb.el (org-bbdb-old): New variable.
(org-bbdb-store-link):
(org-bbdb-open): Check for `org-bbdb-old'.
(org-bbdb-open-old):
(org-bbdb-open-new): New functions.
Patch by Ivan Kanis
* org-agenda.el (org-agenda-write): Rename from
`org-write-agenda'.
(org-agenda-mode-map, org-agenda-menu)
(org-batch-store-agenda-views): Use new name
`org-agenda-write'.
* org.el (org-loop-over-headlines-in-active-region): Fix
docstring.
(org-todo, org-deadline, org-schedule): Honor the 'start-level
value of `org-loop-over-headlines-in-active-region'.
* lisp/org-agenda.el (org-agenda-switch-to): Widen org buffer only if point is
outside the current restriction
Widen org buffer when visiting from agenda only if point is outside
current restriction.
Visiting a task with RET or TAB in the agenda should not affect the
org-mode buffer restriction unless the target task is not currently
visible due to the restriction.
* lisp/org-agenda.el (org-agenda-clock-in): Save restriction when clocking in from the agenda
Narrowed org buffers are now retained when clocking in from the agenda.
We only widen the buffer when the task to clock in is outside the existing
restriction.
* lisp/org.el: Honour existing restrictions when regenerating the agenda
Narrowed org buffers are now retained when regenerating the agenda
with org-agenda-redo
Initialize`org-export-odt-schema-dir' *before* initializing
`org-odt-styles-dir'. This re-arrangement prevents the warning message that
notifies the user of missing OpenDocument schema files not lurk around in
the echo area like a sore-thumb.
* org-odt.el (org-odt-lib-dir): Add docstring.
(org-odt-data-dir): New variable. Use this variable to
control the locations from which the ODT exporter picks the
OpenDocument styles and schema files from. Set this variable
explicitly only if the in-built heuristics for locating the
above files fails.
(org-odt-styles-dir-list, org-odt-schema-dir-list): New
variables. Pay specific attention to (eval-when-compile ...)
form through which Makefile's $(datadir) - contained in
`org-odt-data-dir' - gets compiled in as a "hard coded"
constant.
(org-odt-styles-dir, org-export-odt-schema-dir): Add messages
to aid debugging.
* Makefile (etcdir): Remove this.
(stylesdir): Rename to datadir.
(datadir): Was stylesdir.
(STYLESFILES): Rename to DATAFILES.
(DATAFILES): Was STYLESFILES. Offer a menu of files that is
available. Package maintainers can use this list and their
own discretion to cherry-pick what they are willing to install
in their distribution.
(CP): Add recursive flag so that directories listed in
DATAFILES can be copied enbloc.
(install-lisp): Use conditional flag BATCH_EXTRA
(BATCH_EXTRA): "Target-specific variable value" that plumbs
the value of $(datadir) in to org-odt.el via
`org-odt-data-dir'. See ChangeLog entries for
`org-odt-styles-dir-list' and `org-odt-schema-dir-list'.
(BATCH): Add BATCH_EXTRA.
(lisp/org-odt.elc): Force re-generation of this target every
time so that $(datadir) gets plumbed in to org-odt.el through
`org-odt-data-dir'.
(org-odt-data-dir): "FORCE" target. Also a variable defined
in org-odt.el.
(install-etc): Rename this target to install-data.
(install-data): Was install-etc.
Fix for the following report:
http://lists.gnu.org/archive/html/emacs-orgmode/2011-12/msg00799.html
Ulrich Mueller <ulm@gentoo.org> writes:
In Gentoo we have an issue with the location of the
OpenDocument style files, reported to us in bug 396269 [1].
When org-mode is installed as a separate Gentoo package, its
lisp files are installed in
/usr/share/emacs/site-lisp/org-mode/. According to our
policy, non-lisp files would go to
/usr/share/emacs/etc/org-mode/. We would pass this as the
"etcdir" parameter to "make install", so the odt style files
would be installed in stylesdir =
/usr/share/emacs/etc/org-mode/styles/.
Now org-odt.el currently defines org-odt-styles-dir in a
defconst, and it searches only in ../etc/styles/,
./etc/styles/, and ./etc/org/ relative to lispdir. Obviously
it cannot find the files in the Gentoo location.
[1] <https://bugs.gentoo.org/show_bug.cgi?id=396269>
* org-archive.el (org-archive-subtree)
(org-archive-to-archive-sibling, org-toggle-archive-tag)
(org-archive-set-tag): Handle the 'start-level value for
`org-loop-over-headlines-in-active-region'.