Commit Graph

13275 Commits

Author SHA1 Message Date
Nicolas Goaziou bc1d6aadfd org-element: Fix $...$ parser error
* lisp/org-element.el (org-element-latex-fragment-parser): Also check
  border character right after opening "$" sign.
* testing/lisp/test-org-element.el (test-org-element/latex-fragment-parser):
Add tests.

Reported-by: thomas <thomas@friendlyvillagers.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/114285>
2017-06-26 22:07:05 +02:00
Nicolas Goaziou 7b065b1d0a ox-odt: Include #+latex_header when converting LaTeX to PNG
* lisp/ox-odt.el (org-odt--translate-latex-fragments): Include
  #+latex_header when converting LaTeX to PNG.

Reported-by: edgar@openmail.cc
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-06/msg00480.html>
2017-06-25 23:09:21 +02:00
Nicolas Goaziou e903288e50 ox-latex: Fix LATEX_HEADER_EXTRA keyword
* lisp/ox-latex.el (org-latex-make-preamble): Do not include
  LATEX_HEADER_EXTRA keywords' contents when previewing a LaTeX
  fragment.

Reported-by: Mario Román <mromang08@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-06/msg00477.html>
2017-06-25 09:39:32 +02:00
Nicolas Goaziou 7ca34d2aef org-indent: Fix indentation of inline tasks
* lisp/org-indent.el (org-indent--compute-prefixes): Fix indentation
  of inline tasks when `org-inlinetask-show-first-star is non-nil.

Reported-by: Rasmus <rasmus@gmx.us>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-06/msg00452.html>
2017-06-23 13:52:16 +02:00
Kyle Meyer 1930a8f05a org-todo: Display state change message when headline is not visible
* lisp/org.el (org-todo): Display state change message when headline
is not visible, reversing unintentional modification from dd17e9d29.

Prior to dd17e9d29 (2014-05-31), a message was displayed when changing
the state of a headline that was *not* visible, helping the user know
what the new state was even though the headline was off the screen.
While extending this code, dd17e9d29 unintentionally reversed the
visibility check, resulting in the message only being shown when the
headline is visible.

Reported-by: Russell Adams <RLAdams@AdamsInfoServ.Com>
<https://lists.gnu.org/archive/html/emacs-orgmode/2017-06/msg00442.html>
2017-06-22 21:29:43 -04:00
Nicolas Goaziou 5d99560ddf Fix open-at-point in example blocks and diary-sexps
* lisp/org.el (org-open-at-point): Also open links in example blocks
  and diary-sexps.

* testing/lisp/test-org.el (test-org/open-at-point/keyword):
(test-org/open-at-point/property):
(test-org/open-at-point/comment): Add tests.

Reported-by: Dieter Faulbaum <Dieter.Faulbaum@helmholtz-berlin.de>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-06/msg00277.html>
2017-06-22 18:30:58 +02:00
Nicolas Goaziou 521734d51f Fix link fontification
* lisp/org.el (org-activate-links): Fix link fontification.

Reported-by: John Kitchin <jkitchin@andrew.cmu.edu>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-06/msg00381.html>
2017-06-21 22:55:10 +02:00
Nicolas Goaziou 112c5ba479 org-clock: Remove daylight saving time offset in duration
* lisp/org-clock.el (org-clock-out):
(org-clock-sum):
(org-clocktable-steps):
(org-clock-update-time-maybe): Use UTC to compute time differences.

* testing/lisp/test-org-clock.el (test-org-clock/clocktable/scope):
  Update test.
2017-06-21 22:32:57 +02:00
Nicolas Goaziou 7fe9ae6bd2 org-element: Fix babel call parser
* lisp/org-element.el (org-element-babel-call-parser): Handle complex
  arguments.
* testing/lisp/test-org-element.el (test-org-element/babel-call-parser):
Add test.

Reported-by: Eric S Fraga <e.fraga@ucl.ac.uk>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-06/msg00366.html>
2017-06-20 21:20:30 +02:00
Nicolas Goaziou 97fa95cbc3 org-indent: Fix "Fix line and wrap prefixes"
* lisp/org-indent.el (org-indent-set-line-properties): Fix
  wrap-prefix.

Reported-by: William Denton <wtd@pobox.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-06/msg00360.html>
2017-06-20 09:53:26 +02:00
Nicolas Goaziou 5d6325ffa3 ox-texinfo: Remove spurious "@insertcopying"
* lisp/ox-texinfo.el (org-texinfo-template): Remove "@insertcopying"
  command outside title page.

See (info "(texinfo) Copyright") for details.
2017-06-20 09:28:40 +02:00
Nicolas Goaziou fa6b7bf25c ox-texinfo: Fix location of text before first headline
* doc/org.texi (Info directory file): Fix node name.
(Headings and sectioning structure): Document location of text before
  first headline.
(A Texinfo example): Update example.

* lisp/ox-texinfo.el (org-texinfo-template): Handle contents of very
  first section.
(org-texinfo-section): Ignore very first section.

According to Texinfo specifications, Top node contents should not
appear in printed output.  Move it near "@top" command, within
"@ifnottex".
2017-06-20 09:24:34 +02:00
Nicolas Goaziou 002e2a072c org-indent: Fix line and wrap prefixes
* lisp/org-indent.el (org-indent--text-line-prefixes):
(org-indent--heading-line-prefixes):
(org-indent--inlinetask-line-prefixes): New variables.
(org-indent--compute-prefixes): New function.
(org-indent-mode): Use new function.
(org-indent-set-line-properties): Use new variables.  Also prevent
regular lines from being prefixed with stars.

Reported-by: Forrest Sedgwick <fgsedgwick@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-06/msg00341.html>
2017-06-19 12:24:16 +02:00
Nicolas Goaziou 8769cfc91c Revert "ox-texinfo: Escape @ { } in index"
* lisp/ox-texinfo.el (org-texinfo-keyword): Index keywords are
  specific to Texinfo back-end, so they expect regular Texinfo code.
* doc/org.texi (Indices): Update documentation.
2017-06-18 11:00:56 +02:00
Allen Li b9b921716b org-attach: Respect org-attach-commit everywhere
* lisp/org-attach.el (org-attach-delete-one): Respect org-attach-commit
(org-attach-delete-all): Respect org-attach-commit
(org-attach-sync): Respect org-attach-commit

TINYCHANGE
2017-06-17 16:16:27 +02:00
Nicolas Goaziou 39351d0d14 ox-texinfo: Add missing entities
* lisp/ox-texinfo.el (org-texinfo-entity): Add "@textdegree{}" and
  "@registeredsymbol".
2017-06-17 12:04:36 +02:00
Nicolas Goaziou 673fe87b05 Fix compilation warning
* lisp/org.el (org-parse-time-string): Fix compilation warning.
2017-06-16 07:58:18 +02:00
Kaushal Modi 3bcfed071d Fix breakage due to outline-invisible-p defn change in emacs 26+
* lisp/org.el (org-invisible-p): New function.  Restore the behavior
of outline-invisible-p prior to the following commint on emacs master
<http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=9cc59ffbbb2f20fbbf1c72d2e0c9dc47c7906a99>.

* lisp/org.el (org-cycle-internal-local)
(org-clean-visibility-after-subtree-move, org-goto)
(org-get-location, org-move-subtree-down, org-copy-subtree)
(org-paste-subtree, org-next-link, org-mark-ring-goto)
(org-todo, org-deadline, org-schedule, org-set-tags)
(org-truely-invisible-p, org-invisible-p2)
(org-forward-heading-same-level, org-forward-paragraph)
(org-backward-paragraph, org-down-element)
(org-bookmark-jump-unhide, org-mark-jump-unhide):
* lisp/org-list.el (org-insert-item):
* lisp/org-crypt.el (org-encrypt-entry, org-decrypt-entry):
* lisp/org-clock.el (org-clock-load):
* lisp/org-archive.el (org-archive-subtree)
(org-archive-to-archive-sibling, org-toggle-archive-tag)
(org-archive-set-tag):
* contrib/lisp/org-drill.el (org-drill-hide-subheadings-if): Use
org-invisible-p instead of outline-invisible-p.

Reference:
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-06/msg00230.html>
2017-06-15 08:10:47 -04:00
Nicolas Goaziou 17382722db ox-texinfo: Fix last commit
* lisp/ox-texinfo.el (org-texinfo-keyword): Fix last commit.

Do not escape raw #+TEXINFO value.
2017-06-14 23:07:04 +02:00
Nicolas Goaziou a621289953 ox-texinfo: Escape @ { } in index
* lisp/ox-texinfo.el (org-texinfo-keyword): Escape @ { } in index.
2017-06-14 21:27:02 +02:00
Nicolas Goaziou b47920ed20 org-colview: Fix failing test
* lisp/org.el (org-parse-time-string): Allow to specify zone as an
  optional argument.
* lisp/org-colview.el (org-columns--age-to-seconds): Apply change
  above.
* testing/lisp/test-org-colview.el (test-org-colview/columns-summary):
  Update tests.
2017-06-14 11:00:01 +02:00
Nicolas Goaziou 2040b61391 org-element: Remove outdated comments 2017-06-13 10:41:13 +02:00
Nicolas Goaziou 62dc27dc75 ox-texinfo: Fix spurious "nil" in "special block export
* lisp/ox-texinfo.el (org-texinfo-special-block): Remove spurious
  "nil" when no option is defined.
2017-06-11 11:38:45 +02:00
Nicolas Goaziou b8df40eccc ob-shell: Fix handling list variables
* lisp/ob-shell.el (org-babel--variable-assignments:bash): Do not
  error when value is a list.

* testing/lisp/test-ob-shell.el (ob-shell/simple-list): New test.

Reported-by: Keith Amidon <camalot@picnicpark.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/113920>
2017-06-10 00:06:24 +02:00
Nicolas Goaziou 4bdf11a967 org-macro: Silence byte-compiler 2017-06-09 21:22:53 +02:00
Nicolas Goaziou 9a8506b7af org-footnote: Fix footnote deletion
* lisp/org-footnote.el (org-footnote-delete-definitions): Preserve
  blank lines after the definition.
* testing/lisp/test-org-footnote.el (test-org-footnote/delete): Add
  test.
2017-06-09 09:43:49 +02:00
Nicolas Goaziou 9fdc77a3cd ox-texinfo: Improve entities handling
* lisp/ox-texinfo.el (org-texinfo-entity): Use Texinfo specific
  commands whenever possible.
2017-06-08 23:26:26 +02:00
Nicolas Goaziou a138fedfd2 ox-texinfo: Use UTF-8 instead of LaTeX for entities
* lisp/ox-texinfo.el (org-texinfo-entity): Use UTF-8 instead of LaTeX
  for entities.
2017-06-08 21:16:43 +02:00
Nicolas Goaziou 6921d84198 ox: Fix search cell error on footnote sections
* lisp/ox.el (org-export--install-footnote-definitions):
  Provide :raw-value property when building a virtual footnote
  section, as `org-export-search-cells' expects it.
2017-06-08 20:59:29 +02:00
Nicolas Goaziou f03387ef90 ox-texinfo: Fix special characters in plain text
* lisp/ox-texinfo.el (org-texinfo-plain-text): Add missing
  discretionary hyphenation point.  Tiny refactoring.
2017-06-08 15:14:48 +02:00
Nicolas Goaziou 3cf6345b40 org-macro: Fix macro expansion in commented trees
* lisp/org-macro.el (org-macro-replace-all): Prevent macro expansion
  in commented trees.
* testing/lisp/test-org-macro.el (test-org/macro-replace-all): Add
  tests.
* testing/lisp/test-ox.el (test-org-export/expand-macro): Remove
  tests.
2017-06-08 14:59:34 +02:00
Nicolas Goaziou da8b8f0774 org-compat: Add obsolete aliases for link fontification functions
* lisp/org-compat.el (org-activate-bracket-links):
(org-activate-plain-links):
(org-activate-angle-links): Define aliases for backward compatibility.
2017-06-08 13:01:44 +02:00
Nicolas Goaziou 9f5c252f93 org-src: Fix footnote reference remote editing
* lisp/org-src.el (org-edit-footnote-reference): Do not collapse
  footnote definitions after editing remotely one of them.

* testing/lisp/test-org-src.el (test-org-src/footnote-references): New
  test.
2017-06-08 00:57:38 +02:00
Nicolas Goaziou 3b8037f316 org-src: Raise an error when source buffer is unreachable
* lisp/org-src.el (org-edit-src-exit): Raise an error when source
  buffer is unreachable.
2017-06-08 00:57:23 +02:00
Nicolas Goaziou 84cfa58d4a org-element: Fix footnote definition parser
* lisp/org-element.el (org-element-footnote-definition-parser):
* testing/lisp/test-org-element.el (test-org-element/footnote-definition-parser):
  Add tests.
2017-06-07 23:45:17 +02:00
Nicolas Goaziou 1c71172c54 ox-texinfo: Tolerate indicating commands without @-sign
* lisp/ox-texinfo.el (org-texinfo-def-table-markup): Improve
  docstring.
(org-texinfo-plain-list): Tolerate indicating commands without @-sign.
2017-06-07 22:38:02 +02:00
Nicolas Goaziou 8305c9381e ox-texinfo: Remove spurious blank line in fixed width areas
* lisp/ox-texinfo.el (org-texinfo-fixed-width): Remove spurious blank
  line.
2017-06-07 12:23:20 +02:00
Nicolas Goaziou b13e672977 ox-texinfo: More fixes to cross-referencing
* lisp/ox-texinfo.el (org-texinfo--sanitize-title): New function.
(org-texinfo--get-node): Use new function.  Tiny improvement over
aesthetics of duplicate node names.
(org-texinfo--sanitize-node): Fix docstring.
(org-texinfo-headline): Use new function
(org-texinfo--@ref): Remove colons and protect commas in description.
(org-texinfo-link): Use new function.  Better handling of targets
within headings.
(org-texinfo--format-entries): Use new function.  Remove colons from
menu entries.
2017-06-06 23:48:33 +02:00
Nicolas Goaziou 93bc1b7c7e ox-texinfo: Improve algorithm to make node names unique
* lisp/ox-texinfo.el (org-texinfo--get-node): Use numbers to
  differentiate between common base node names instead of "x".
2017-06-06 02:18:40 +02:00
Nicolas Goaziou d44cadbe3e ox-texinfo: Fix conflicts between @node and @anchor names
* lisp/ox-texinfo.el (org-texinfo--get-node): Prevent using reserved
  "Top" node.
(org-texinfo-radio-target):
(org-texinfo-src-block):
(org-texinfo-table):
(org-texinfo-target): Use `org-texinfo--get-node' instead of
`org-export-get-reference'.
2017-06-06 02:18:40 +02:00
Nicolas Goaziou c822329faf ox-texinfo: Additional fix to @ref commands
* lisp/ox-texinfo.el (org-texinfo--@ref): New function.
(org-texinfo-link): Use new function.

When node name doesn't correspond to actual title, use the third @ref
argument to ensure the node name is not printed nor displayed.
2017-06-06 02:18:40 +02:00
Nicolas Goaziou 6f12dfbcb0 ox-texinfo: Fix @ref{...} handling
* lisp/ox-texinfo.el (org-texinfo-link): Fix @ref{...} handling.  Use
  third argument as description.  Without description, use
  one-argument @ref.
2017-06-06 00:21:53 +02:00
Nicolas Goaziou 439fcfbbf2 Fix link fontification
* lisp/org.el (org-activate-links): Delegate to
  `org-element-link-parser' to handle blanks and link expansion.
2017-06-05 23:39:42 +02:00
Nicolas Goaziou 82db669de6 org-macro: Expand macros only within narrowed part of buffer
* lisp/org-macro.el (org-macro-replace-all): Expand macros only within
  narrowed part of buffer.
* testing/lisp/test-org-macro.el (test-org/macro-replace-all): Update
  test.

Expanding macros outside in the whole buffer could make sense, e.g.,
if a macro expands to some Babel code, which, in turn, is evaluated
prior to export.  However, by principle of least surprise, it is
better to limit expansion to current accessible part of the buffer.
2017-06-05 18:08:42 +02:00
Nicolas Goaziou faace6f05d Fix last commit
* lisp/org-agenda.el (org-agenda-mode):
* lisp/org.el (org-clone-local-variables): Fix match pattern.
2017-06-04 09:17:07 +02:00
Nicolas Goaziou 355b0012d1 Fix local variable handling
* lisp/org.el (org-clone-local-variables):
* lisp/org-agenda.el (org-agenda-mode): Do not assume
  `buffer-local-variables' returns only cons cells.

Reported-by: "Stefan-W. Hahn" <stefan.hahn@s-hahn.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/113793>
2017-06-03 22:43:35 +02:00
Nicolas Goaziou 57d0a7453d org-capture: Fix visibility of planning line in capture buffer
* lisp/org-capture.el (org-capture-place-entry): Make sure planning
  line is visible when added in a narrowed capture buffer.  Refactor
  code.

Reported-by: Detlef Steuer <steuer@unibw-hamburg.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/113756>
2017-06-02 09:21:44 +02:00
Nicolas Goaziou 2b95b40b31 org-agenda: Fix `org-tags-view'
* lisp/org-agenda.el (org-tags-view): Do not set global value for
  `org--matcher-tags-todo-only'.

Reported-by: Samuel Loury <konubinix@gmail.com>
2017-05-30 18:56:56 +02:00
Nicolas Goaziou 444d2673bb org-colview: Fix `org-columns' with a prefix argument
* lisp/org-colview.el (org-columns): Fix `org-columns' with a prefix
  argument.
* testing/lisp/test-org-colview.el (test-org-colview/columns-scope):
  Update test.

Reported-by: Hendrik Tews <hendrik@askra.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/113721>
2017-05-30 13:38:54 +02:00
Nicolas Goaziou 400cd95bba org-clock: Fix german translations
* lisp/org-clock.el (org-clock-clocktable-language-setup): Fix german
  translations.

Suggested-by: Jens Lange <jens.lange.de@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113714>
2017-05-30 08:56:25 +02:00
Chunyang Xu 1afcf2c9aa Exclude '[' and ']' in `org-plain-link-re'
* lisp/org.el (org-make-link-regexps): Do it.

TINYCHANGE
2017-05-28 09:39:29 +02:00
Nicolas Goaziou 75e9fdac6c org-clock: Fix number of time columns in clock table
* lisp/org-clock.el (org-clocktable-write-default): Limit number of
  time columns to the deepest headline level.

* testing/lisp/test-org-clock.el (test-org-clock/clocktable/maxlevel):
  Update tests.
2017-05-27 18:12:38 +02:00
Nicolas Goaziou 2d29269bb1 Fix link fontification
* lisp/org.el (org-activate-links): New function.
(org-set-font-lock-defaults): Use new function.
(org-activate-angle-links):
(org-activate-bracket-links):
(org-activate-plain-links): Remove functions.
* lisp/org-agenda.el (org-agenda-get-some-entry-text):
(org-agenda-finalize): Use new function.

Reported-by: 林镇国 <mistkafka@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113485>
2017-05-26 11:56:53 +02:00
Kyle Meyer 6d4c188e3e Silence byte-compiler under "make single" 2017-05-26 00:03:29 -04:00
Nicolas Goaziou 89bd7ad871 org-colview: Silence byte-compiler
* lisp/org-colview.el (org-columns--displayed-value): Silence
  byte-compiler.
2017-05-25 20:54:39 +02:00
Nicolas Goaziou 118ec40c53 ox-publish: Fix symlink publishing
* lisp/ox-publish.el (org-publish-file): Do not expand symlinks so as
  to get proper publishing directory.

Reported-by: Julien Cubizolles <j.cubizolles@free.fr>
<http://permalink.gmane.org/gmane.emacs.orgmode/113611>
2017-05-25 11:08:02 +02:00
Bastien f4803cfad4 org-list.el (org-sort-list): Fix typo in prompt string
* lisp/org-list.el (org-sort-list): Fix typo in prompt string.
2017-05-23 20:46:42 +02:00
Nicolas Goaziou d6f096546e org-capture: Fix number of blank lines with :unnarrowed option
* lisp/org-capture.el (org-capture-finalize): Remove blank lines
  number fix, which only applies to narrowed capture buffers.
(org-capture-insert-template-here):
(org-capture-place-plain-text):
(org-capture-place-item):
(org-capture-place-entry): Do not hard-code number of blank lines
after entry.

Reported-by: Igor Perepelytsya <igorquail@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113093>

Reported-by: Jay Dresser <jay@jaydresser.us>
<http://permalink.gmane.org/gmane.emacs.orgmode/113449>
2017-05-23 18:10:06 +02:00
Nicolas Goaziou 7f0391cfe0 org-colview: Remove error upon summarizing non-numbers with a format string
* lisp/org-colview.el (org-columns--displayed-value): Remove check.
* testing/lisp/test-org-colview.el (test-org-colview/columns-summary):
  Remove a test.

Reported-by: Hendrik Tews <hendrik@askra.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/113600>
2017-05-22 15:27:17 +02:00
Nicolas Goaziou 9fd562f35a org-colview: Update new summarized value only when necessary
* lisp/org-colview.el (org-columns--compute-spec): Make sure current
  and new values do not differ only by leading or trailing blanks
  before replacing the former by the latter.

Reported-by: Hendrik Tews <hendrik@askra.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/113597>
2017-05-22 14:17:01 +02:00
Nicolas Goaziou d7599e3f27 Preserve targets order according to rules
* lisp/org.el (org-refile-get-targets): Keep targets grouped according
  to `org-refile-targets' value.
2017-05-22 08:24:56 +02:00
Nicolas Goaziou 7560a49459 Remove duplicates in refile targets
* lisp/org.el (org-refile-get-targets): Remove duplicates in refile
  targets.
2017-05-22 08:16:42 +02:00
Kyle Meyer 0de7ad0430 org-store-link: Don't roll C-u behavior into C-u C-u behavior
* lisp/org.el (org-store-link): When a double C-u prefix argument is
given, do not reverse the meaning of the org-context-in-file-links
option.
* testing/lisp/test-org.el (test-org/store-link): Add tests.

This allows the user to fall back to the core link storing functions
without also reversing their org-context-in-file-links preference,
because wanting to do the former does not mean a user also wants to do
the latter.

Reported-by: York Zhao <gtdplatform@gmail.com>
<https://lists.gnu.org/archive/html/emacs-orgmode/2017-05/msg00254.html>
2017-05-21 14:52:30 -04:00
Nicolas Goaziou 39b3f45a7d org-colview: Fix {X%} and {X/} on recursive summaries
* lisp/org-colview.el (org-columns--summary-checkbox-count):
(org-columns--summary-checkbox-percent): Handle own output for higher
level summaries.
* testing/lisp/test-org-colview.el (test-org-colview/columns-summary):
  Add tests.
2017-05-21 11:08:11 +02:00
Nicolas Goaziou 3e3e4e621b org-colview: Fix estimate's summary
* lisp/org-colview.el (org-columns--summary-estimate): Per last
  commit, do not make use of printf, since values are not numbers.
2017-05-21 00:06:31 +02:00
Nicolas Goaziou ec5df01bd8 org-colview: Properly apply operator format strings on leaf nodes
* lisp/org-colview.el (org-columns--displayed-value): When value is
a number and a format string is specified, apply it.
* testing/lisp/test-org-colview.el (test-org-colview/columns-summary):
  Add tests.

Reported-by: Hendrik Tews <hendrik@askra.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/113547>
2017-05-20 22:11:45 +02:00
Nicolas Goaziou 85a26f0cfe Fix "Stack overflow in regexp matcher" in `org-refresh-stats-properties'
* lisp/org.el (org-refresh-stats-properties): Simplify regexp.  Small
  refactoring.

Reported-by: Kevin Zettler <kevzettler@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113555>
2017-05-20 09:09:03 +02:00
Nicolas Goaziou c848ade014 org-element: Fix suprious "nil" in dynamic-block interpreter
* lisp/org-element.el (org-element-dynamic-block-interpreter): Ignore
  empty arguments instead of displaying "nil".

Reported-by: John Kitchin <jkitchin@andrew.cmu.edu>
<http://permalink.gmane.org/gmane.emacs.orgmode/113551>
2017-05-19 16:29:12 +02:00
Nicolas Goaziou f70eb7d2e8 org-clock: Fix missing properties in Clock table
* lisp/org-clock.el (org-clocktable-write-default): Do not ignore
  properties specified by :properties parameter.

* testing/lisp/test-org-clock.el (test-org-clock/clocktable/properties):
  New test.

The regression was introduced in b897ab722.

Reported-by: Dale <dale@codefu.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/112219>
2017-05-19 09:09:32 +02:00
Kyle Meyer 9d9f5179e7 org-sort: Read compare-func in interactive calls
* lisp/org-macs.el (org-read-function): New function.
* lisp/org-table.el (org-table-sort-lines): Make WITH-CASE an optional
argument to match org-sort-entries and org-sort-list.
* lisp/org.el (org-sort-entries):
* lisp/org-table.el (org-table-sort-lines):
* lisp/org-list.el (org-sort-list): Read COMPARE-FUNC when called
interactively rather than being restricted to the default behavior of
sort-subr's PREDICATE parameter.  Only prompt for for GETKEY-FUNC and
COMPARE-FUNC during an interactive call, like org-table-sort-lines
already did for GETKEY-FUNC, but use an argument rather than relying
on the brittle called-interactively-p.

Suggested-by: Zhitao Gong <zhitaao.gong@gmail.com>
<https://lists.gnu.org/archive/html/emacs-orgmode/2017-05/msg00040.html>
2017-05-18 14:46:33 -04:00
Nicolas Berthier 2c9f6fcef9 Fontify inline source blocks when exporting to HTML
* lisp/ox-html.el (org-html-inline-src-block): Fontify inline source
blocks.
2017-05-15 18:28:34 +02:00
Philipp Stephani 5eeccc7230 Backport commit 3c4c8ca06 from Emacs
* lisp/ob-ref.el (org-babel-ref-resolve): Fix unescaped character
literal.

Fix all unescaped character literals
3c4c8ca06e3306ccbcd07e354eb51abe53b52d22
Philipp Stephani
Sun May 7 13:22:34 2017 +0200
2017-05-15 00:02:53 -04:00
Nicolas Goaziou 93e5d92383 org-clock: Disambiguate character syntax
* lisp/org-clock.el (org-clock-put-overlay): Escape character in
  character syntax.
2017-05-15 00:34:58 +02:00
Nicolas Goaziou c0369a7984 org-element: Fix $...$ fragments followed by an apostrophe
* lisp/org-element.el (org-element-latex-fragment-parser):
* lisp/org.el (org-latex-regexps): Allow an apostrophe right after
  a fragment.

* testing/lisp/test-org-element.el (test-org-element/latex-fragment-parser):
  Add test.

In Text mode, and, as a consequence, in Org mode, "'" is not treated
as punctuation, but as word constituent.  The apostrophe isn't caught
by "\s." regexp.

Reported-by: Joe Corneli <holtzermann17@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113464>
2017-05-13 09:18:07 +02:00
Nicolas Goaziou 0255538701 org-agenda: Fix logging with bulk-deadlining
* lisp/org-agenda.el (org-agenda-bulk-action): Do not request logging
  writing a note when multiple entries are being re-deadline'd at the
  same time.

Reported-by: Allen Li <darkfeline@felesatra.moe>
<http://permalink.gmane.org/gmane.emacs.orgmode/113426>
2017-05-12 00:39:06 +02:00
Nicolas Goaziou ffa5a93764 org-agenda: Fix consecutive bulk marks on the same task
* lisp/org-agenda.el (org-agenda-bulk-unmark-all): Do not reset
  markers stored in `org-agenda-bulk-marked-entries'.  These markers
  are not specific to bulk actions and need not be modified by
  side-effect.

Reported-by: Adrian Bradd <adrian.bradd@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/112895>
2017-05-12 00:13:09 +02:00
Thierry Banel e89ca9c5d2 ob-gnuplot: escape % character in output
lisp/ob-gnuplot.el (org-babel-execute:gnuplot): escape % percent
character in output messages coming from GnuPlot.
2017-05-08 11:38:45 +02:00
Nicolas Goaziou f1da21f7d9 ob-core: Fix regression
* lisp/ob-core.el (org-babel-balanced-split): Fix regression
  introduced in 500abcd7fb.

* testing/lisp/test-ob.el (test-ob/balanced-split): Add tests.

Reported-by: Eric S Fraga <e.fraga@ucl.ac.uk>
<http://permalink.gmane.org/gmane.emacs.orgmode/113401>
2017-05-08 11:25:17 +02:00
Nicolas Goaziou 250b64b3cb ox-publish: Consistently cache properties
* lisp/ox-publish.el (org-publish-org-to):
(org-publish-collect-index):
(org-publish--store-crossrefs):
(org-publish-resolve-external-link): Use `file-truename' so that
caching keys do not depend on links in the file name.
2017-05-05 23:22:23 +02:00
Nicolas Goaziou d9c0a810f7 ox-publish: Use file true name as reference
* lisp/ox-publish.el (org-publish-file): Use file true name as
  reference.
2017-05-05 17:47:30 +02:00
Nicolas Goaziou 018ce94d88 ox-publish: Small refactoring
* lisp/ox-publish.el (org-publish-file): Use function dedicated to
  files instead of string related ones.  Small refactoring.
(org-publish-cache-get-file-property): Small refactoring.
2017-05-05 17:47:30 +02:00
Nicolas Goaziou 6539c41589 ox-publish: Fix publishing filenames with symbolic links
* lisp/ox-publish.el (org-publish-get-project-from-filename):
(org-publish-attachment):
(org-publish-projects):
(org-publish-org-sitemap): Use file comparison functions instead of
string ones so as to properly handle symbolic links in filenames.
2017-05-05 17:47:30 +02:00
Nicolas Goaziou 500abcd7fb ob-core: Fix `org-babel-balanced-split'
* lisp/ob-core.el (org-babel-balanced-split): Rewrite function.

Reported-by: Moritz Heidkamp <moritz@twoticketsplease.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/113204>
2017-05-01 23:35:39 +02:00
Nicolas Goaziou 823c821bc8 ob-core: Small refactoring
* lisp/ob-core.el (org-babel-read): Small refactoring.
(org-babel--string-to-number): Use `string-match-p' instead of
`string-match'.
* lisp/org-compat.el (org-babel-number-p): Move obsolete alias.
2017-05-01 15:33:09 +02:00
Nicolas Goaziou 3502e6fa7c Fix indentation bug
* lisp/org.el (org--get-expected-indentation): Correctly indent line
  when last element in an item is not a greater element.
* testing/lisp/test-org.el (test-org/indent-line): Add test.
2017-04-30 22:26:10 +02:00
Kyle Meyer 2a37760dfd Fix some documentation typos
* lisp/org-agenda.el (org-agenda-show-inherited-tags):
* lisp/org-element.el (Accessors and Setters):
(org-element-parse-buffer): Fix documentation typos.
2017-04-30 15:11:45 -04:00
Nathaniel Nicandro e527e49c38 ob-python: Honor the :python header argument in python src blocks
* lisp/ob-python.el (org-babel-execute:python):
`org-babel-python-command` should be set before calling
`org-babel-python-initiate-session`.

TINYCHANGE
2017-04-29 16:26:33 +02:00
Nicolas Goaziou 1332bbd616 ox: Do not trim leading and trailing blank lines from code
* lisp/ox.el (org-export-get-loc):
(org-export-unravel-code):
(org-export-format-code):
(org-export-format-code-default): Do not trim leading and trailing
blank lines from code during export.

* testing/lisp/test-ox.el (test-org-export/unravel-code): Update tests.
(test-org-export/format-code-default): Add tests.

Reported-by: Li DebugFan <debugfanli@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113205>
2017-04-29 14:32:29 +02:00
Nicolas Goaziou 91236a3db3 org-src: Fix indentation when tabs are involved
* lisp/org-src.el (org-src--source-type):
(org-src--tab-width): New variables.
(org-src--edit-element): Set variables above.

(org-src--contents-for-write-back): Re-indent properly non-blank lines
before inserting contents back into the source buffer.
(org-edit-src-code): Delegate block indentation to
`org-src--contents-for-write-back'.

* testing/lisp/test-org-src.el (test-org-src/indented-blocks): New
  test.

Reported-by: Brent Goodrick <bgoodr@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113207>
2017-04-29 11:45:45 +02:00
Nicolas Goaziou cb5ca4206f org-clock: Fix failing tests
* lisp/org-clock.el (org-clock-get-table-data): `org-get-heading' only
  accepts up to 2 arguments in Org 9.0.
2017-04-29 10:25:57 +02:00
Nicolas Goaziou 8dfcdedf44 org-colview: Fix agenda columns with diary entries
* lisp/org-colview.el (org-agenda-columns): Do not treat diary entries
  as headlines.

Reported-by: "Éibhear" <eibhear.geo@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113282>
2017-04-28 00:23:49 +02:00
Allen Li da83e7d583 org-agenda: Store stuck project redo command
* lisp/org-agenda.el (org-agenda-list-stuck-projects): Store the redo
command in a text property so it is found correctly.

`org-agenda-redo' checks the `org-redo-cmd' text property, not
`org-agenda-redo-command'.

TINYCHANGE
2017-04-25 23:46:50 +02:00
Иван Трусков 411e9e0816 ob-C: Fix command to perform on remote host
* lisp/ob-C.el (org-babel-C-execute): Make sure name of compiled
program is converted to local representation before sending it to the
shell on remote host.

The problem was when one would try to evaluate C source code block in
the file on remote host.  Compilation would go normally, then
evaluation would fail with error like "/bin/sh: unable to find file".

TINYCHANGE
2017-04-25 10:08:48 +02:00
Christian Garbs a91eae6d52 Backport commit c68cce94c from Emacs
; Fix typo in error messages (Bug#26034)
c68cce94c46140f2ad1411550427d3cc2658ec02
Christian Garbs
Mon Apr 17 07:07:12 2017 +0300

TINYCHANGE
2017-04-23 19:44:21 -04:00
Matt Lundin 8f4989d00d org-protocol: Don't push url to kill-ring
* lisp/org-protocol.el: (org-protocol-do-capture) Don't push link to
  kill-ring when invoking `org-protocol-capture'.  Otherwise,
  `org-protocol-do-capture' interferes with capture templates that
  insert the contents of the clipboard or the kill ring.
2017-04-18 08:26:42 +02:00
Nicolas Goaziou 68f60dbdd5 org-capture: Fix typo
* lisp/org-capture.el (org-capture-fill-template): Fix typo introduced
  in last commit.

Reported-by: Kaushal Modi <kaushal.modi@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113126>
2017-04-17 20:04:09 +02:00
Nicolas Goaziou 03873f070c org-capture: Fix clipboard history with %^C or %^L place holders
* lisp/org-capture.el (org-capture--clipboards): New variable.
(org-capture-fill-template): Use new variable.

Reported-by: Allen Li <darkfeline@felesatra.moe>
<http://permalink.gmane.org/gmane.emacs.orgmode/113020>
2017-04-17 14:18:06 +02:00
Nicolas Goaziou 137c6ad658 org-protocol: Do not catch all errors when providing backward compatibility
* lisp/org-protocol.el (org-protocol-check-filename-for-protocol): Do
  not catch every error so as to ease old style support.  Re-format
  code to fit within 80 columns.

Reported-by: Adam Porter <adam@alphapapa.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/113102>
2017-04-17 11:03:47 +02:00
Marc Ihm 165f7c3950 Fix explanation, if state change is blocked by contained checkboxes
* lisp/org.el (org-todo): Fix explanation, if state change is blocked
  by contained checkboxes.

Consider a node, which contains unchecked checkboxes; if you have set
org-enforce-todo-checkbox-dependencies and try to change the node to
DONE, you will be denied with a message explaining why. However in this
special case the explanation would be wrong in talking of an unrelated
node instead of the checkboxes.

The fix uses the already existing variable org-blocked-by-checkboxes
(which is handled in org-block-todo-from-checkboxes).  Similar code is
already present in org-agenda-dim-blocked-tasks within org-agenda.el.
2017-04-17 10:33:51 +02:00
Nicolas Goaziou 6bd5210535 org-clock: Silence byte-compiler 2017-04-17 10:04:54 +02:00