* lisp/org-element.el (org-element--cache-active-p):
(org-element-cache-reset): Do not activate cache outside Org buffers,
even if using "orgstruct-mode".
Reported-by: "Mark A. Hershberger" <mah@nichework.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/104648>
* lisp/ox-latex.el (org-latex-src-block): Fix numbering reset on source
blocks when using the listings package.
Reported-by: P-O Gustafsson <kullager@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/104650>
* lisp/ob-tangle.el (org-babel-tangle-jump-to-org): Find correct
location in the Org document.
* testing/lisp/test-ob-tangle.el (ob-tangle/jump-to-org): New test.
* lisp/ob-core.el (org-babel-update-block-body): Correctly handle block
indentation.
(org-babel-where-is-src-block-head): Accept an optional argument in
order to avoid parsing twice the same element.
* testing/lisp/test-ob.el (org-test-ob/update-block-body): New test.
* lisp/org-src.el (org-src-font-lock-fontify-block): Use
org-font-lock-ensure instead of font-lock-fontify-buffer.
This replacement has previously been made (f36b19e, d81e6b5) and then reverted
(99f9999, 003a0f1) twice because source blocks were not being reliably
highlighted when font-lock-ensure was used instead of
font-lock-fontify-buffer. This was due to a bug in font-lock-ensure
that has now been fixed (see Emacs's 21beb19 and bug#22399).
font-lock-ensure was introduced after Emacs 24.5, so this issue only
pertains to users with a developmental version of Emacs.
* lisp/org-compat.el (org-font-lock-ensure): Add new alias that accepts
the same number of arguments as font-lock-ensure does. Use an org-
prefix.
* lisp/org-clock.el (org-clock-get-clocktable):
* lisp/org.el (org-fontify-like-in-org-mode):
* lisp/ox-html.el (org-html-fontify-code):
* lisp/ox-odt.el (org-odt-do-format-code):
* lisp/ox-org.el (org-org-publish-to-org): Use org-font-lock-ensure.
See Emacs's bug#22399.
* lisp/org-table.el (org-table-show-reference): Do not move point
outside the table when editing formulas. Fix docstring.
Reported-by: Samuel Wales <samologist@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/104472>
* lisp/ox-latex.el (org-latex-compile): Improve timestamp check on HFS+
filesystem by only considering 1-second clock resolution.
Previously, the call to (current-time) could return a timestamp with
a non-zero microsecond or picosecond fields, while the file attribute
always has zeros for these fields. The check that the generated file is
newer than the reference timestamp only succeeded when the time to
generate the file crossed a 1-second clock interval.
TINYCHANGE
* lisp/ob-core.el (org-babel-check-confirm-evaluate)
(org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
(*this*): Declare as dyn-bound.
(org-babel-expand-src-block, org-babel-load-in-session)
(org-babel-switch-to-session-with-code, org-babel-get-rownames):
Mark unused args.
(org-babel-combine-header-arg-lists): Remove unused var `args'.
* lisp/org-src.el (org-inhibit-startup):
Declare as dyn-bound.
lisp/org: Fix some compiler warnings
1203e8aecb7f49621af52cc13bc0e4427545dd4f
Stefan Monnier
Mon Jan 25 10:11:31 2016 -0500
Expunge "allow" + infinitive without direct object from source and doc.
fbce4757a874cc43806eb41b8637538b101c3c69
Alan Mackenzie
Sun Jan 24 20:30:39 2016 +0000
* lisp/org.el (org-activate-plain-links): Ensure that a valid buffer
position is given as first argument to get-text-property, in
particular when the plain link is at the very beginning of the buffer.
TINYCHANGE
* ox-icalendar.el (org-icalendar-export-current-agenda): Correct
argument order in call to org-icalendar--vcalendar (timezone should be
third, description fourth).
TINYCHANGE
* lisp/org-colview.el (org-columns-next-allowed-value): Fix error when
trying to edit a column from a headline starting at the very beginning
of the buffer.
This patch also prepares for lexical binding.
Reported-by: "T.F. Torrey" <tftorrey@tftorrey.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/104370>
* lisp/org.el (org-agenda-prepare-buffers): Do not use
`org-uniquify-alist' since it uses `eq' for comparison, whereas where
are using strings as keys.
Reported-by: Vincent Emanuele <vincent.emanuele@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/104196>
* lisp/org-element.el (org-element-context): Do not look for objects
within TODO keyword, priority cookie, comment keyword or tags.
* lisp/org.el (org-activate-tags): Fix regexp.
* testing/lisp/test-org-element.el (test-org-element/context): Add test.
Reported-by: John Kitchin <jkitchin@andrew.cmu.edu>
* lisp/org-table.el (org-table-current-field-formula): Column formulas
are stored with a leading dollar sign. Also raise an error when no
field applies, unless NOERROR is non-nil.
* lisp/org-table.el (org-table-eval-formula): Remove unnecessary error.
* lisp/org-bibtex.el (org-bibtex): Fix type error in cases where the
buffer is not visiting a file. In an indirect buffer, use the file
name for the base buffer.
* lisp/org-bibtex.el (org-bibtex): Mark FILENAME argument as required
because, when called from Lisp, the function does not provide a
default file name when FILENAME is nil, leading to a type error.
* lisp/org-clock.el (org-clocktable-write-default): Count properties
columns when using special :formula %
The previous count did not consider properties columns, so the generated
formula was incorrect.
* lisp/org.el (org--valid-property-p): New function.
(org-entry-put):
(org-set-property): Use new function.
Suggested-by: Julien Cubizolles <j.cubizolles@free.fr>
<http://permalink.gmane.org/gmane.emacs.orgmode/104044>
* lisp/ox-publish.el (org-publish-cache-file-needs-publishing):
According to the syntax of #+INCLUDE statement in *info* page,
there's no space between search option and file path.
TINYCHANGE
* lisp/org-agenda.el (org-agenda--quit): Fix changes introduced by
9b1c682 and 8594aed that incorrectly assume that the agenda buffer is
always the current buffer at the time of killing or burying.
Reported-by: David Mann <manndmd@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/103791>
* lisp/org-table.el (org-table-recalculate): Expand "$<" without
returning an error. Small refactoring.
* testing/lisp/test-org-table.el (test-org-table/first-rc): New test.
Reported-by: Stefan Nobis <stefan-ml@snobis.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/103693>
* lisp/org-table.el (org-table-eval-formula): Properly parse named
fields when indentation of current line ends with a TAB character.
* testing/lisp/test-org-table.el (test-org-table/tab-indent): New test.
Reported-by: Piotr Gajewski <pg7@outlook.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/103290>
* lisp/org-agenda.el (org-agenda-write): Fix arguments passed to
`org-agenda-remove-marked-text' to properly remove entries with
`invisible' property set to `org-filtered'.
* lisp/ox-icalendar.el (org-icalendar-export-current-agenda): Always
include TODO entries in the output. The motivation is that a user not
filtering out TODO or DONE items in the current agenda probably wants
them in the output.
Reported-by: "sgeorgii ." <sgeorgii@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/102998>
* lisp/org-table.el (org-table-get-formula):
(org-table-store-formulas): Column formulas references are stored along
with their dollar-sign since "Fix `org-table-get-range' with column
formulas". Update functions accordingly.
Reported-by: John Hendy <jw.hendy@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/103056>
* lisp/ox-publish.el (org-publish-cache-file-needs-publishing): Ignore
any link search suffix on an include so that the path represents
a valid file during the publishing check.
TINYCHANGE
* lisp/org-colview.el (org-columns-capture-view): Obey to
skip-empty-rows even when "ITEM" doesn't belong to current title.
Reported-by: Joon Ro <joon.ro@outlook.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/102924>
* lisp/ox.el (org-export--delete-comments): Preserve document's
structure when removing comment lines or comment blocks.
* testing/lisp/test-ox.el (test-org-export/comments): New test.
Reported-by: Samuel Wales <samologist@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/102860>
* lisp/org-table.el (org-table-analyze): Fix incorrect replacement for
"$>" reference when the table ends on a hline.
* testing/lisp/test-org-table.el (test-org-table/end-on-hline): New
test.
* lisp/org.el (org-self-insert-command): Do not call
`backward-delete-char' since it possibly deletes active region.
Simplify code.
This fixes bug#21838.
* lisp/org.el (org-format-outline-path): Ignore nil path elements.
* testing/lisp/test-org.el (test-org/format-outline-path): Add test.
The PATH argument shouldn't contain a nil item. However, this didn't
fail before 1c74002, and helm-get-org-candidates-in-file relies on this
behavior, so prevent it from failing now.
Reported-by: Simon Thum <simon.thum@gmx.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/102411>
* lisp/org.el (org-format-outline-path): Change loop counter.
The old version gives the same result when combined with the other for
clause, but it reads as though the intention is to reach
(length path) rather than (1- (length path)).
* lisp/org.el (org-format-outline-path): Avoid out-of-range error when
the length of PREFIX is greater than the value given for WIDTH.
Prevent result from extending beyond WIDTH. Simplify code.
* testing/lisp/test-org.el (test-org/format-outline-path): Add tests.
Reported-by: Simon Thum <simon.thum@gmx.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/102241>
* lisp/org.el (org-return): Properly follow links when description is
emphasized. Also tolerate links and timestamps in otherwise forbidden
areas (e.g., comments, node properties...), much like
`org-open-at-point'.
* testing/lisp/test-org.el (test-org/return): Add tests.
Reported-by: Samuel Wales <samologist@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/101977>
* lisp/org-clock.el (org-clock-find-position): Create clock drawer when
a drawer is missing, even though requested, but some clocks are
already present in the entry.
Reported-by: Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/101973>
* lisp/org-element.el (org-element--next-mode): Line following an
inlinetask can be a planning.
* testing/lisp/test-org-element.el (test-org-element/inlinetask-parser):
Update test.
Reported-by: Gregor Zattler <telegraph@gmx.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/101958>
* lisp/ox-beamer.el (org-beamer--get-label): Remove protective braces
when extracting label from options.
(org-beamer--format-frame): Protect label with braces if it contains
colons.
Based off a patch from Fabrice
Popineau (<http://permalink.gmane.org/gmane.emacs.orgmode/101933>).
* org-capture.el (org-capture-refile): Call finalize first, then
refile. If the capture buffer needs to be killed afterwards, kill
after refiling.
Refiling before finalizing led to an incorrect cursor position during
refile. Since adjusting the buffer position and bounds for the refiled
entry is difficult, I reverted the `org-capture-refile' function to its
original order of finalizing and then refiling. However, this leads to
a bug with killing the buffer on capture, described in
<http://permalink.gmane.org/gmane.emacs.orgmode/78027/>. To work around
this, now the :kill-buffer flag is cleared before calling finalize, and
the capture buffer is killed after `org-refile' is called.
TINYCHANGE
* lisp/org-mouse.el (org-mouse-insert-item):
(org-mouse-context-menu):
* lisp/org-pcomplete.el (org-thing-at-point):
* lisp/org.el (org-read-date-minibuffer-local-map):
(org-timestamp-change): Provide LIMIT argument to org-looking-back.
* lisp/org.el (org-read-date-minibuffer-local-map):
(org-insert-heading): Replace looking-back with org-looking-back.
As of Emacs 25, the LIMIT argument to looking-back is advertised as a
required argument.
* lisp/ox.el (org-export-smart-quotes-alist):
(org-export--smart-quote-status): Change misleading quote names.
Due to the new smart quotes algorithm, "..." are always primary quotes,
even though they may be translated as single quotes. Conversely, '...'
are secondary quotes and may not be translated to single quotes.
* lisp/org-table.el (orgtbl-to-generic): Make sure "ox.el" is loaded
before converting a radio table.
Reported-by: Dave Marquardt <davemarq@linux.vnet.ibm.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/101642>
* lisp/org-macro.el (org-macro--collect-macros): cd to the directory
containing the SETUPFILE before recursing so that relative pathnames
in the SETUPFILE are expanded properly.
* lisp/org.el (org--setup-collect-keywords): cd to the directory
containing the SETUPFILE before recursing so that relative pathnames
in the SETUPFILE are expanded properly.
* lisp/ox.el (org-export--get-inbuffer-options,
org-export--list-bound-variables): cd to the directory containing the
SETUPFILE before recursing so that relative pathnames in the SETUPFILE
are expanded properly.
If /path/to/foo.org contains:
#+SETUPFILE: settings/beamer.org
and /path/to/settings/beamer.org contains:
#+SETUPFILE: common.org
then we want to read /path/to/settings/common.org, not
/path/to/common.org.
TINYCHANGE
* lisp/org.el (org-modify-ts-extra): Properly wrap time after 23:59.
This can still generate wrong timestamps, e.g.
<2015-09-21 Mo 23:00-23:55> => <2015-09-21 Mo 23:05-00:00>
but at least, the error is predictable.
Reported-by: Detlef Steuer <detlef.steuer@gmx.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/101350>
* lisp/ob-latex.el (convert-pdf):
* lisp/org-crypt.el (org-crypt-check-auto-save):
* lisp/ox-man.el (org-man-compile):
* lisp/ox-odt.el (org-odt--export-wrap):
* lisp/ox-texinfo.el (org-texinfo-compile):
Use %s to avoid translating quotes of file names etc. in diagnostics.
Use %s to format strings instead of splicing them
ab11a1cf27ebe3791df45cccde3c851affd184dd
Paul Eggert
Sun Sep 20 09:42:05 2015 -0700
* lisp/org-timer.el (org-timer-pause-or-continue):
(org-timer-mode-line-string):
(org-timer-set-mode-line): Use `paused' rather than `pause'.
(org-timer-countdown-timer): Quote `paused' as symbol.
* lisp/org-bibtex.el (org-bibtex-fields):
* lisp/org-docview.el (org-docview-export):
* lisp/org-entities.el (org-entities):
* lisp/ox-icalendar.el (org-icalendar-cleanup-string):
Fix typo by replacing ‘\’ with ‘\\’ in a string literal.
For example, to get the regular expression ‘\.’ use the string
literal "\\.", not "\." (which is equivalent to ".").
Fix several backslash typos in Elisp strings
753fbfbef484272bcde5214f75fb0846ee3f33df
Paul Eggert
Thu Sep 17 12:39:54 2015 -0700
Protect apostrophes not covered by the last backport. Convert
expressions like '(...) to \\='(...) and symbols written as 'name to
`name'. (In addition to ensuring the correct display, the latter also
improves consistency with many Org docstrings.)
If these aren't protected, Emacs 25 may display them as curved quotes in
the help buffer, depending on the value of text-quoting-style.
These changes are in line with the changes proposed on the mailing list,
but many of those changes weren't necessary because they had already
been reverted in the Emacs repo.
<http://permalink.gmane.org/gmane.emacs.orgmode/100896/>
These changes are the combination of the commits below (in order
applied). Unlike other backports, these are applied in one commit
because they are closely related and because some of the later commits
reverse changes in earlier commits. Changes to message and help quote
display for Emacs 25 seem to be here to stay. The quote protections are
required to ensure grave accents and apostrophes are displayed as
intended in Emacs 25, and they should not affect earlier versions.
Quoting fixes in lisp/org
6cd2629bd1b3ce77d29ac28e29237c94a4197116
Paul Eggert
Mon Aug 31 00:29:40 2015 -0700
More-conservative ‘format’ quote restyling
fbb5531fa11d13854b274d28ccd329c9b6652cfc
Paul Eggert
Sun Aug 23 22:39:06 2015 -0700
Prefer directed to neutral quotes
875a5d0ead827d3da32ecbd30e739a29f07bbc87
Paul Eggert
Mon Aug 24 23:57:25 2015 -0700
Escape ` and ' in doc
19532d147b431a4fe34f088d6de07891c48e2c5c
Paul Eggert
Tue Sep 1 18:23:21 2015 -0700
Fix some more docstring etc. quoting problems
26bd978d87dfbf9baa115cd961a67d42b416c4bf
Paul Eggert
Thu Sep 3 15:32:54 2015 -0700
Go back to grave quoting in source-code docstrings etc.
6afef3f6ca2f3009c722b84e249903b7f807b044
Paul Eggert
Mon Sep 7 16:09:27 2015 -0700
* lisp/org-agenda.el (org-agenda-kill-all-agenda-buffers): Remove
reference to stale key binding.
This binding was removed in 39c7630 (Clean up local variable stuff and
document sticky agenda buffers, 2012-03-10).
* lisp/ox-md.el (org-md-headline): Use CUSTOM-ID when available.
TOC is generated using HTML export back-end, which links to headlines
through their custom ID, when available. By anchoring that custom ID,
we make sure these links are not broken.
Reported-by: dbitouze@wanadoo.fr (Denis Bitouzé)
<http://permalink.gmane.org/gmane.emacs.orgmode/101344>
* lisp/org-table.el (orgtbl-to-generic): Export macros as-is, even if
they are undefined.
* testing/lisp/test-org-table.el (test-org-table/to-generic): Add test.
Radio tables are now using a minimal set-up for export. In particular,
no macro is expanded, and no Babel code is executed. If any of these is
needed, use `org-export-string-as' or `org-export-region-as' instead.
Reported-by: Mark Edgington <edgimar@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/100621>
* lisp/org-agenda.el (org-agenda-filter-by-category): Documentation of
the effect of the prefix argument.
* doc/org.texi (Filtering/limiting agenda items): Documentation about
the effect of the prefix argument when filtering by category.
* lisp/ob-tangle.el (org-babel-spec-to-string): Ignore invisible
characters when commenting in destination file.
* testing/lisp/test-ob-tangle.el (ob-tangle/comment-links-at-left-margin):
New test.
Reported-by: Rainer M Krug <Rainer@krugs.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/101002>
* lisp/ob-tangle.el (org-babel-tangle-single-block): Get file name from
base buffer.
(org-babel-tangle): Use file name from attribute list returned by
org-babel-tangle-single-block.
Reported-by: Rainer M Krug <Rainer@krugs.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/100845>
* lisp/ox.el (org-export--update-footnote-label): Remove function.
(org-export--prepare-file-contents): Do not error when a footnote
definition cannot be found.
In particular, it should not throw an error when a footnote is not
defined outside of export scope.
Reported-by: Leonard Randall <leonard.a.randall@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/100924>
* lisp/ox.el (org-export--update-footnote-label):
(org-export--prepare-file-contents): Use a new naming scheme for
internal footnotes, less likely to introduce collisions.
The previous one introduced a collision between [1] and [fn:1].
* lisp/ox.el (org-export--prepare-file-contents): Do not error when
including multiple footnotes with the same label.
* testing/lisp/test-ox.el (test-org-export/expand-include): Update test.
Reported-by: Leonard Randall <leonard.a.randall@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/100906>
* lisp/org.el (org-add-planning-info): Do not remove too much
indentation when removing a planning line.
* testing/lisp/test-org.el: Add tests.
Reported-by: George McNinch <gmcninch@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/100819>
* lisp/ox-html.el (org-html-link): Escape ampersands and other special
characters in anchor once and only once.
Reported-by: "Greedwolf DSS" <passchaos@163.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/100797>
* lisp/org-clock.el (org-clock-drawer-name): New function.
(org-clock-find-position): Use new function.
(org-clock-remove-empty-clock-drawer): Remove drawer actually used for
clocks, which may be different from the one used for storing notes.
Also, consider that headlines could use different drawer names in the
same tree.
* lisp/org.el (org-insert-property-drawer): Ensure insertion of new
property drawer happens in current entry so as to not mess with next's
overlays.
Reported-by: Dale <dale@codefu.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/100508>