* org.el (org-update-dblock): Use `save-excursion' instead of
`save-window-excursion' so that blocks can edit other windows and
change the window layout.
Thanks to Martin for reporting this.
* org-agenda.el (org-agenda-mode): Disable `indent-tabs-mode'.
(org-agenda-dim-blocked-tasks): Make overlays intangible.
(org-agenda-show-new-time): Fix bug when deleting a timestamp
right after changing it.
(org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item)
(org-agenda-get-sexps, org-agenda-filter-by-regexp)
(org-agenda-filter-top-headline-apply): Fix indentation.
Thanks to Fletcher Charest and Nick Dokos for reporting issues
in this area.
There is one bug left: in a filtered agenda, changing a timestamp
will not always correctly display the warning. This happens when
the headline at point is followed by hidden headlines, because
`org-agenda-show-new-time' tries to set a text property at a
point where there is an overlay that hides then text. Because
the overlay is now intangible, the warning text will be displayed
too far on the right, and may be outside of the window.
* lisp/ox-html.el (org-html-link):
* lisp/ox-latex.el (org-latex-link):
* lisp/ox-man.el (org-man-link):
* lisp/ox-odt.el (org-odt-link):
* contrib/lisp/ox-groff.el (org-groff-link): "mailto" URI do not have
an authority part, we do not append "//".
* lisp/ox-html.el (org-html-link):
* lisp/ox-latex.el (org-latex-link):
* lisp/ox-man.el (org-man-link):
* lisp/ox-odt.el (org-odt-link):
* lisp/ox-texinfo.el (org-texinfo-link): Append "//" after some link
types.
* lisp/ox-md.el (org-md-link):
* contrib/lisp/ox-groff.el (org-groff-link): Ditto. Also remove some
unused code, as search options are already stripped out link's path.
Since 3589f64e42, Org ignores "//" in
a link type so it has to be re-introduced upon exporting.
* lisp/org-agenda.el (org-refile): Flip logic to allow instead of
prohibit the use of `org-refile' with the goto flat from non
org-mode buffers.
In commit 49da67d the condition was changed from only
`(unless goto ...)` to `(unless (and goto (listp arg)) ...)`
where the `and` condition is only true for non-empty lists, so that
calling `(org-refile t)` complains about not being inside an org-mode
buffer.
With this patch org-refile can be used (again) from anywhere when
passed the goto flag to jump to the chosen task.
TINYCHANGE
* lisp/org.el (org-make-link-regexps): Allow optional double slashes
after type. Small refactoring.
* testing/lisp/test-org-element.el (test-org-element/link-parser):
Update test.
This patch allows to write both [[file:/file.org]] and [[file:///file.org]].
See bug#16751.
* lisp/org-element.el (org-element-table-cell-parser,
org-element-table-cell-successor): Recognize cell even when last
vertical bar is missing.
* testing/lisp/test-org-element.el (test-org-element/table-cell-parser):
Add test.
Thanks to Thorsten Jolitz for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/84713
* lisp/ox-latex.el (org-latex-export-to-latex): Downcase the language
name when using minted highlighting for src block exports.
Minted, by convention, uses all lowercase names for languages. This
will handle mappings like "R" to "r" or "Python" to "python"
automatically. More complex renamings still need to be handled by
customizing `org-latex-minted-langs'.
Note that the `downcase' is only applied when using the "automatic"
name. Names in `org-latex-minted-langs' still need to be lower-case.
TINYCHANGE
* lisp/ox-publish.el (org-publish-find-title):
Fix (invalid-read-syntax "#").
Since 8e1386cead,
`org-element-interpret-data' no longer trims text properties attached
to strings. We need to remove them before writing the title into the
cache, as text properties are not readable.
* org-agenda.el (org-agenda-show-new-time): Don't use
`move-beginning-of-line' as it is slower and not needed.
Thanks to Matt Lundin for reporting this.
* lisp/ob-gnuplot.el (org-babel-gnuplot-process-vars):
`org-babel-gnuplot-table-to-data´ expects a table, so we need to
construct one when Babel hands us a vector.
Thanks to Eric Fraga for reporting the bug.
http://permalink.gmane.org/gmane.emacs.orgmode/84072
* lisp/org-element.el (org-element-all-successors,
org-element-object-restrictions): Prioritize `link' over other
successors in order to find radio links starting with another syntax
object (e.g., an entity). Also allow text markup within radio
targets.
(org-element-link-parser): Add contents to radio targets.
* lisp/org.el (org-make-target-link-regexp): Fix regexp so it can
match targets starting with an Org object (e.g., an entity).
(org-ctrl-c-ctrl-c): Fix function when applied on an object contained
within a radio target.
* testing/lisp/test-org-element.el (test-org-element/radio-target-parser): Add test.
* testing/lisp/test-ox.el (test-org-export/resolve-radio-link): Add test.
* lisp/org.el (org-mode): Change "\" and "~" characters syntax from
`punctuation' to `symbol' so they are on par with other characters used
in Org syntax (e.g., "/", "*"...).
This change is needed to correctly find radio links starting with an
entity:
<<<\alpha-test>>> \alpha-test
* lisp/ox-beamer.el (org-beamer-publish-to-pdf):
* lisp/ox-latex.el (org-latex-publish-to-pdf): Ensure ".tex" file is
generated in the same directory as the ".org" file.
Thanks to Rafael for reporting it. See
http://permalink.gmane.org/gmane.emacs.orgmode/84095.
* lisp/ox-latex.el (org-latex-headline): Hard-code "\underline" in
sections because "\uline" ("ulem" package) returns an error and
"\ul" ("soul" package) doesn't support chinese characters.
See http://permalink.gmane.org/gmane.emacs.orgmode/83962 for the
related thread.
* org-src.el (org-edit-src-exit): Place an undo boundary before
writing changes back to parent buffer.
The previous code attempted to preserve the undo information in the
indirect buffer editing the source code, but this interacts poorly
with the undo system, and can lead to undo operations scrambling the
buffer. The new approach means that edits made in the indirect buffer
cannot be undone piece-by-piece (instead, all changes made in the
indirect buffer constitute one “change” from the point of view of
undo), but the misbehavior of undo is (hopefully) now avoided.
* ox-latex.el (org-latex-text-markup-alist): Use \ul{...} for
underlining instead of \uline{...} as requiring the hyperref
package makes \uline{...} unusable on headline.
* org.el (org-latex-default-packages-alist): Add the "soul"
package.
Thanks to Konstantin Kliakhandler for reporting this.
* org.el (org-refresh-properties): Don't add the property to
the whole subtree, only to the part between the beginning of
the headline and the end of the "content", before any other
headline. This fix a bug about properties displayed as
inherited in the agenda, where Org properties are checked
against text properties.
Thanks to Sébastien Vauban for reporting this.
* org-agenda.el (org-agenda-filter-hide-line): Hide from the
beginning of the line to the beginning of the next line.
(org-agenda-show-new-time): Use `move-beginning-of-line' and
`move-end-of-line'.
(org-agenda-drag-line-forward): Adapt to the new definition of
hidden filtered lines.
Thanks to Igor Sosa Mayor for reporting this bug and to Nick Dokos
and Matt Lundin for providing further information.
* org-compat.el (org-move-to-column): Always ignore invisible
text in agenda buffer, and when there is both a bracket link
and '(org-link) as a member of `buffer-invisibility-spec'.
Add a docstring.
* org.el (org-align-tags-here): Add docstring and remove
useless arguments when calling `org-move-to-column'.
* org-table.el (org-table-copy-down)
(org-table-find-dataline, org-table-move-row)
(org-table-insert-hline, org-table-kill-row):
* org-agenda.el (org-agenda-next-item)
(org-agenda-previous-item, org-agenda-todo)
(org-agenda-priority, org-agenda-show-new-time)
(org-agenda-clock-in, org-agenda-clock-out): Remove useless
arguments when calling `org-move-to-column'.
This fixes the issue about S-RET not placing the cursor in the right
table field when M-x org-toggle-link-display RET removed '(org-link)
from `buffer-invisibility-spec' and some other discrepancies (like
S-M-<up> not restoring point correctly when there is a bracket link
before point, or M-x org-clock-display RET not aligning overlays
correctly, etc.
Thanks to Matt Lundin and Michael Brand for tracking issues
about this.
* org-clock.el (org-clock-get-table-data): When :link is `t'
in the clocktable parameters, bracket links in the clocktable
should only contain their description, other C-c C-o will try
to open the bracket link at point instead of the headline.
Thanks to Alexey Lebedeff for providing a preliminary patch for this.
* org-agenda.el (org-agenda-todo): Always restore the window
state after `org-agenda-change-all-lines' has been called.
`org-agenda-change-all-lines' is narrowing to the line it needs to
update. In the narrowed state, `org-agenda-finalize' is called,
which may lead to a change in the way the window is displayed. We
use `save-window-excursion' to ensure the window state is restored
correctly.
Thanks to Francesco Pizzolante for reporting this with a
detailed recipe.
* org-agenda.el (org-agenda-open-link): Don't throw an error
when trying to open a link when the point is on a place that
is not associated with a buffer.
* org.el (org-entry-get): Only try to combine file properties
with local properties when the property drawer contains such
local property, not when the property drawer exists.
Before the fix, `org-entry-get' behavior was inconsistent,
returning `nil' when looking for a property in a subtree with
no property drawer, and returning the global properties in a
subtree with a property drawer, independantly of whether this
property drawer contained a reference to the property we are checking
against or not.
As a side-effect, inheritance was broken for the case that
Ilya reported in commit 475f2f53, because `org-entry-get' returned
a value (with the global properties of the file) too early.
Thanks to Ilya for raising this bug and to Achim for pointing
out that the previous fix was wrong.
* lisp/org-element.el (org-element-link-parser): "radio" links have
their path downcased to avoid introducing case mismatch with their
relative radio target. With this change it is also necessary to add
contents to them, since `:path' property no longer matches real
value of the link.
(org-element-radio-target-parser): Downcase value as explained above.
Store the initial value in a new `:raw-value' property.
* ox-latex.el (org-latex-link):
* ox-html.el (org-html-link):
* ox-beamer.el (org-beamer-link): Fix links to radio targets.
* ox-ascii.el (org-ascii-link): For links to a radio target,
use the link, not the target.
Thanks to Noah Slater for reporting this.
* lisp/org-agenda.el (org-agenda-get-scheduled): If
`org-agenda-skip-scheduled-if-deadline-is-shown' is set to
'repeated-after-deadline, still show tasks without any deadline
The problem was that the check for the deadline seems to return a
default time even if no deadline is set for the task. This adds a
check if there is a deadline at all, if there is none, the task is
shown in the agenda, otherwise the old semantics apply.
TINYCHANGE
* lisp/org.el (org-entry-get-with-inheritance): Temporarily
let-bind `org-file-properties', `org-global-properties' and
`org-global-properties-fixed' to nil before calling `org-entry-get'
on entries up the hierarchy from the queried entry.
Problem was that when org-entry-get-with-inheritance went up the
hierarchy of entries from a given entry, checking whether the property
has been set in any of the entries, it was calling org-entry-get,
which always looks at file-scope and global-scope properties. So if
our property was set file-wide or system-wide, and somewhere up the
hierarchy there was an entry which set some properties _other_ than
the one we're looking up but did not set ours, org-entry-get would
fill in the global property value and report that our property was in
fact set in that entry. The search would stop, and if the property
was actually set further up the hierarchy (which should override
file-wide or system-wide settings), we would never get to that
up-the-hierarchy setting.
Illustration of fixed problem:
#+PROPERTY: myprop aaa
* headline A
:PROPERTIES:
:myprop: bbb
:END:
*** headline B
:PROPERTIES:
:otherprop: ccc
:END:
#+BEGIN_SRC emacs-lisp
(message (org-entry-get-with-inheritance "myprop"))
#+END_SRC
#+RESULTS:
: aaa
Result should be bbb, which it is after the fix.
* org.el (org-store-link): Fall back on an empty string when
no description is available.
This fixes a bug about tangling a source block outside of any
subtree when `org-id-link-to-org-use-id' is `t'.
Thanks to Sean Allred for reporting this.
* org-capture.el (org-capture-finalize): Ensure to widen the
buffer when the target buffer is not initially narrowed.
Thanks to Adam Spiers and Thomas Proschinger for reporting this bug.
* org-compat.el (org-move-to-column): Fix bug about ignoring
bracket links visibility status in tables with S-RET.
Thanks to Michael Brand for reporting this.
* org.el (org-delete-property): Don't suggest to delete the
CATEGORY property when the category is not explicitely set in
the property drawer. Also enforce matching when completing.
Thanks to Oleh for providing a preliminary patch for this.
* org.el (org-insert-heading): Fix regression: with two
universal prefixes, insert heading at the end of the subtree.
(org-insert-todo-heading): Bugfix: only enforce the first TODO
state when arg is '(4).
* lisp/org-element.el (org-element-context): Fix parsing of bold
objects at the beginning of a headline.
* testing/lisp/test-org-element.el (test-org-element/context): Add
test.
* org.el (org-emphasis-alist): Use `org-verbatim' for =text=
and `org-code' for ~text~.
* org.texi (Emphasis and monospace): Document the use of
=verbatim= and ~code~ to be consistent with
`org-element-text-markup-successor'.
Thanks to Yasushi for reporting this.
* lisp/ox-beamer.el (org-beamer-item): Insert the export snippet right
after the first \item, not all of them.
Thanks to Andreas Leha for reporting it.
* lisp/org-bibtex.el (org-bibtex-read): Check string length before
using aref.
If a field in a bibtex entry is empty:
@article(test,
description = "")
the function org-bibtex-read throws an exception because of
using aref on this empty string.
The solution is to check the length of the string before.
TINYCHANGE
Signed-off-by: Stefan-W. Hahn <stefan.hahn@s-hahn.de>
* lisp/org-element.el (org-element-inlinetask-parser): Fix parsing
when regular and degenerate inlinetasks are mixed in the section.
* testing/lisp/test-org-element.el (test-org-element/inlinetask-parser):
Add tests.
Thanks to Anders Johansson for reporting it.
* org-colview.el (org-columns-display-here): Fix the column
view for numbers with a format specifier (e.g. {+; %5.1f}).
Thanks to OSiUX and Michael Brand for reporting this.
* org-src.el (org-edit-src-code): Throw a warning instead of
an error when loading the mode fails, otherwise the user is
left with unusable buffers.
Thanks to Florian Beck for suggesting this.
* lisp/org-element.el (org-element-normalize-contents): Do not ignore
empty lines when an object follows.
* testing/lisp/test-org-element.el (test-org-element/normalize-contents):
Add test.
* org-table.el (org-table-copy-down)
(org-table-find-dataline, org-table-move-row)
(org-table-insert-hline, org-table-kill-row): Use
`org-move-to-column' with the IGNORE-INVISIBLE arg set to `t',
so that abbreviated rows don't interfer with setting the
cursor back at the correct position.
Thanks to Jason Lewis for reporting one of these bugs.
* lisp/org-element.el (org-element-interpret-data): Do not remove
properties by side-effect when interpreting a string, as it also
removes them from the parse tree, making the string unusable without
its :parent property.
If text properties get in the way, it is also possible to use
`substring-no-properties' but then, a compatibility function would be
required for XEmacs.
* lisp/ob-exp.el (org-babel-exp-process-buffer): Also check
`org-src-preserve-indentation' to know when to preserve indentation.
* testing/lisp/test-ob-exp.el (ob-export/export-and-indentation): New
test.
Thanks to John Hendy for reporting it.