Commit graph

14808 commits

Author SHA1 Message Date
Bastien Guerry 1cca8f534f org.el (org-sort-entries): Allow to sort by clocking time
* org.el (org-sort-entries): Allow to sort by clocking time.

Thanks to Noah Slater for this idea.
2014-04-17 10:30:44 +02:00
Bastien Guerry f2ec685008 Fix previous commit 2014-04-17 10:18:32 +02:00
Bastien Guerry 63e9763b2a org-agenda.el (org-agenda-finalize): Apply all filters correctly
* org-agenda.el (org-agenda-finalize): Apply all filters
correctly.
2014-04-17 09:55:57 +02:00
Bastien Guerry c3810f71b6 org.el (org-update-dblock): Use `save-excursion'
* 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.
2014-04-17 09:18:08 +02:00
Bastien Guerry eb0f8afdf4 org-agenda.el: Fix bug when displaying the changed date
* 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.
2014-04-17 02:31:23 +02:00
Bastien Guerry 241764b2d1 Revert "org-agenda.el: Fix bug when using `org-agenda-do-date-later' in filtered agendas"
This reverts commit 3559ff84b2.
2014-04-17 00:35:14 +02:00
Bastien Guerry d1600af7b6 org.el (org-cycle): Try `org-try-cdlatex-tab' before trying to edit/move as in a table
* org.el (org-cycle): Try `org-try-cdlatex-tab' before trying
to edit/move as in a table.

Thanks to Konstantin Kliakhandler for reporting this.
2014-04-16 17:25:08 +02:00
Nicolas Goaziou f61cd6b7a1 Fix mailto links
* 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 "//".
2014-04-14 13:47:57 +02:00
Nicolas Goaziou fc1f7d752f Fix link export
* 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.
2014-04-14 12:36:34 +02:00
Markus Hauck faa1703b8f org.el (org-refile): Allow org-refile goto from everywhere
* 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
2014-04-11 11:59:43 +02:00
Sacha Chua d6a38604e6 org.el (org-refresh-properties): Don't throw an error when reaching the end of the buffer
* org.el (org-refresh-properties): Don't throw an error when
reaching the end of the buffer.
2014-04-11 11:28:45 +02:00
Nicolas Goaziou 3589f64e42 Make Org links compatible with URI syntax
* 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.
2014-04-10 22:57:05 +02:00
Nicolas Goaziou 7fe1da1f8c org-test: Small code clean-up
* testing/org-test.el (org-test-with-temp-text): Clean-up code.
2014-04-10 11:53:27 +02:00
York Zhao d01d22b74f org-test: Fix <point> feature
* testing/org-test.el (org-test-with-temp-text): Fix point position.

According to the docstring, if the string "<point>" appears in TEXT
then the string "<point>" is removed and point is placed there. The
problem was that after string "<point>" was removed, the point
was *not* placed at the position of the removed text, rather, it was
placed one character before that position which is wrong. The reason
is that Emacs buffer position is a number started from 1, instead of
0, in other words, the value of `(point-min)' is 1 not 0. The problem
is addressed by adding 1 to the calculated position.

TINYCHANGE
2014-04-10 11:52:44 +02:00
Nicolas Goaziou a768cf045d org-element: Tiny refactoring
* lisp/org-element.el (org-element-headline-parser): Tiny refactoring.
2014-04-09 23:49:04 +02:00
Nicolas Goaziou 1b7d3ffcbf org-element: Tiny fix to headline parsing
* lisp/org-element.el (org-element-headline-parser): Correctly parse
  blank lines after a headline.

Thanks to Thorsten Jolitz for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/84753
2014-04-09 23:44:15 +02:00
Nicolas Goaziou 728661309e org-element: Fix table parsing with missing final bar
* 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
2014-04-08 18:56:51 +02:00
Michael Weylandt 0820d002cb ox-latex.el: Downcase language name in minted blocks
* 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
2014-04-06 19:58:06 +02:00
Nicolas Goaziou 2868f962a2 ox-md: Fix handling of switches in source blocks
* lisp/ox-md.el (org-md-example-block): handle switches and references
  in source blocks.
2014-04-06 14:06:08 +02:00
Nicolas Goaziou 7de492a0c4 Update docstrings
* lisp/org.el (org-latex-packages-alist,
  org-latex-default-packages-alist): Update docstrings.
2014-04-05 09:50:20 +02:00
Nicolas Goaziou a6485af3e4 ox-ascii: Ignore line breaks when removing duplicates links
* lisp/ox-ascii.el (org-ascii--unique-links): Ignore white spaces when
  uniquifying links in section.

Thanks to Mathias Bauer for reporting it.
http://permalink.gmane.org/gmane.emacs.orgmode/84548
2014-04-03 22:50:53 +02:00
Nicolas Goaziou 91175a31ee ox-odt: Ignore blank titles
* lisp/ox-odt.el (org-odt-template): Ignore blank titles.
2014-03-29 15:00:00 +01:00
Nicolas Goaziou 3636783ca4 ox-publish: Fix (invalid-read-syntax "#") error
* 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.
2014-03-29 14:41:27 +01:00
Bastien Guerry e330027ac1 org-agenda.el (org-agenda-show-new-time): Don't use `move-beginning-of-line'
* 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.
2014-03-25 21:46:50 +01:00
Achim Gratz c6e0157095 org-test: fix macro definitions so that eager macro expansion doesn't fail
* testing/org-test.el (org-test-with-temp-text,
  org-test-with-temp-text-in-file): Correct quoting of macro
  expansion.

Macro arguments must not be used during macro expansion since they are
not available at that time; conversely, bindings established during
macro expansion generally can not be used at macro execution
time (unless un-quoted during expansion).
2014-03-25 19:11:01 +01:00
Achim Gratz e89adba685 ob-gnuplot: create a proper table even when handed just a vector
* 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
2014-03-25 18:55:13 +01:00
Bastien Guerry 0e344ae04a org-compat.el (org-move-to-column): Fix bug
* org-compat.el (org-move-to-column): Temporarily set
`buffer-invisibility-spec' more accurately.

Thanks to Samuel Wales for reporting this.
2014-03-25 12:04:09 +01:00
Nicolas Goaziou 2e79bd8119 export back-ends: Update radio target export
* contrib/lisp/ox-groff.el (org-groff-link):
* lisp/ox-ascii.el (org-ascii-link):
* lisp/ox-beamer.el (org-beamer-link):
* lisp/ox-html.el (org-html-link):
* lisp/ox-latex.el (org-latex-link):
* lisp/ox-md.el (org-md-link):
* lisp/ox-odt.el (org-odt-link): Update radio target export according
  to recent changes.

See bug report at http://permalink.gmane.org/gmane.emacs.orgmode/82923
2014-03-24 14:13:24 +01:00
Nicolas Goaziou 8212776cfc Fix radio target parsing
* 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.
2014-03-24 14:13:24 +01:00
Nicolas Goaziou 955d9d8a78 Change "\" and "~" syntax to symbol
* 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
2014-03-24 14:13:24 +01:00
Nicolas Goaziou 33dce5b98f Fix LaTeX and Beamer publishing process
* 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.
2014-03-24 13:58:25 +01:00
Bastien Guerry c4bca1c384 Fix 3a233aa 2014-03-24 06:29:14 +01:00
Bastien Guerry 2836c9cd81 org-rss-headline: Replace bracket links by their descriptions
* contrib/lisp/ox-rss.el (org-rss-headline): Replace bracket
links by their descriptions.

Thanks to steckerhalter for reporting this.
2014-03-24 06:27:31 +01:00
Nicolas Goaziou d91d4bfb47 ox-latex: Fix underline in sections
* 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.
2014-03-22 15:15:35 +01:00
Nicolas Goaziou 95eeefa9bc Revert "LaTeX: Use \ul (from the "soul" package) instead of \uline"
This reverts commit b399ff0cba.
2014-03-22 15:15:35 +01:00
Aaron Ecay cb53665e55 Fix org-src-edit interaction with undo.
* 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.
2014-03-22 09:40:18 +01:00
Bastien Guerry b399ff0cba LaTeX: Use \ul (from the "soul" package) instead of \uline
* 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.
2014-03-22 00:27:34 +01:00
Bastien Guerry 5a195423d3 org.el (org-refresh-properties): Bugfix
* 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.
2014-03-21 12:51:04 +01:00
Bastien Guerry f8cb7803cc ox-latex.el (org-latex--text-markup): Replace newlines by whitespaces in \verb constructs
* ox-latex.el (org-latex--text-markup): Replace newlines by
whitespaces in \verb constructs.

Thanks to Alan Schmitt for reporting this.
2014-03-21 09:56:18 +01:00
Nicolas Goaziou a97959984a Revert "ox-ascii: Fix radio link"
This reverts commit b4ffae0d09.
2014-03-20 18:21:29 +01:00
Nicolas Goaziou 0c4ab29d0a Revert "org-element: Fix radio-target and radio link parsing"
This reverts commit 5174495ee6.

Conflicts:
	lisp/org-element.el
2014-03-20 18:21:04 +01:00
Bastien Guerry 3559ff84b2 org-agenda.el: Fix bug when using `org-agenda-do-date-later' in filtered agendas
* 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.
2014-03-20 17:07:03 +01:00
Bastien Guerry a3ec854cab Fix bugs wrt invisibility handline.
* 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.
2014-03-20 15:04:49 +01:00
Bastien Guerry 8bab38bcba Fix 3a233aa
Thanks to Alexey Lebedeff for providing the fix.
2014-03-20 09:44:56 +01:00
Bastien Guerry 49da67d351 org.el (org-refile): Fix C-u 3 C-c C-w
* org.el (org-refile): Fix calling with a numeric prefix
argument of 3 to refile and keep.
2014-03-19 16:13:33 +01:00
Bastien Guerry 3a233aa6d9 org-clock.el (org-clock-get-table-data): Bugfix
* 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.
2014-03-19 10:48:44 +01:00
Nikolai Weibull 2d09804e19 org.el: Only set org-hide foreground if one is available
* org.el (org-mode): Add guard around set-face-foreground.

TINYCHANGE
2014-03-19 09:31:11 +01:00
Bastien Guerry 6ba3b2d03d org-agenda.el (org-agenda-todo): Restore the window correctly
* 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.
2014-03-18 20:54:02 +01:00
Bastien Guerry c16e09e158 org-agenda.el (org-agenda-open-link): Bugfix
* 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.
2014-03-18 17:23:45 +01:00
Bastien Guerry 03bcfbe3d0 ox-latex.el (org-latex-link): Escape `%' characters
* ox-latex.el (org-latex-link): Escape `%' characters.
2014-03-18 16:41:24 +01:00