Commit Graph

13872 Commits

Author SHA1 Message Date
Nicolas Goaziou cc631078ad Merge branch 'maint' 2017-06-23 13:53:08 +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 3741196060 Merge branch 'maint' 2017-06-22 21:33:24 -04: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 1b415735ea ox-texinfo: Small menu refactoring
* lisp/ox-texinfo.el (org-texinfo--menu-entries): Use
  `org-export-collect-headlines'.
2017-06-22 19:01:28 +02:00
Nicolas Goaziou 988e8802a6 ox-texinfo: Move menu handling from sections to headlines
* lisp/ox-texinfo.el (org-texinfo-headline): Move menu handling from
  sections to headlines.
2017-06-22 19:01:23 +02:00
Nicolas Goaziou 20795aae27 ox-texinfo: Change Texinfo class definition
* lisp/ox-texinfo.el (org-texinfo-classes): Change default value and
  structure.
(org-texinfo--structuring-command): New function.
(org-texinfo-headline): Use new function.

The new structure handles properly appendices at sub-levels.
2017-06-22 18:46:44 +02:00
Nicolas Goaziou a0d1ad325d Merge branch 'maint' 2017-06-22 18:32:38 +02: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 92e8c85381 Merge branch 'maint' 2017-06-21 22:57:44 +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 e90b643b05 Merge branch 'maint' 2017-06-21 22:35:28 +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 dbed60d6bd Merge branch 'maint' 2017-06-20 21:21:35 +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 15c9e91bf3 Merge branch 'maint' 2017-06-20 09:54:35 +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 03d43ee6c6 Merge branch 'maint' 2017-06-20 09:30:25 +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 5e439d41f8 Merge branch 'maint' 2017-06-20 09:25:05 +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
Mark Oteiza f7d2639701 org-agenda.el: New command to rebuild all agenda buffers
* lisp/org-agenda.el (org-agenda-redo-all): New command to
rebuild all agenda buffers.
(org-agenda-mode-map): Bind this new command to `g'.
2017-06-20 08:09:31 +02:00
Nicolas Goaziou 566794e98e Merge branch 'maint' 2017-06-19 12:35:51 +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 1a6bf9c5f9 Merge branch 'maint' 2017-06-18 11:03:43 +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
Kaushal Modi d48cfdf68b Add hold 'action' to the "n" macro and ws-trim all "n" macro args
* lisp/org-macro.el (org-macro--counter-increment): Rename the
optional arg RESET to ACTION, as now that action can mean setting,
resetting or even holding the specified counter.  ACTION set to
"-" will hold the previous value of the counter.  White-space is
now trimmed from the NAME arg too.

* doc/org.texi (Macro replacement): Document the new hold action.

* testing/lisp/test-org-macro.el (test-org-macro/n): Add new tests for
the hold action.
2017-06-17 23:46:24 -04:00
Nicolas Goaziou 27c2ae47fc Merge branch 'maint' 2017-06-17 16:18:01 +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 4295d1b949 Merge branch 'maint' 2017-06-17 12:07:09 +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 080dc4b445 Merge branch 'maint' 2017-06-16 07:59:18 +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 62ce814130 Merge branch 'maint' 2017-06-15 09:03:35 -04: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 ad0312cde2 Merge branch 'maint' 2017-06-14 23:07:44 +02: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 e5396c189a Merge branch 'maint' 2017-06-14 21:27:37 +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 be30c8b126 ox-texinfo: Change default table markup
* lisp/ox-texinfo.el (org-texinfo-table-default-markup): Rename from
  `org-texinfo-def-table-markup'.  Set default value to the neutral
  "@asis".
(org-texinfo-plain-list): Use new name.
* lisp/org-compat.el (org-texinfo-def-table-markup): Mark as obsolete.
* doc/org.texi (Publishing options): Document change.
2017-06-14 19:11:33 +02:00
Nicolas Goaziou 1c7cf61bd7 Merge branch 'maint' 2017-06-14 11:03:40 +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 dac9ae16ea org-macro: Silence byte-compiler 2017-06-14 10:01:26 +02:00
Nicolas Goaziou 2371548c2a org-duration: Limit rounding errors when computing a duration
* lisp/org-duration.el (org-duration-from-minutes): Limit rounding
  errors.
2017-06-14 09:59:14 +02:00
Nicolas Goaziou ce21e0a8db org-table: Add missing keywords to a defcustom
* lisp/org-table.el (org-table-duration-hour-zero-padding):
  Add :package-version and :safe. Fix :version and docstring.
2017-06-14 09:48:13 +02:00
Carsten Dominik feed16e1ed Merge branch 'master' of orgmode.org:org-mode 2017-06-14 05:46:17 +02:00
Carsten Dominik daff9c93f2 Implement new `U' mode switch for table formulas to omit seconds in durations
* lisp/org-table.el (org-table-duration-custom-format): Add new
	HH:MM format.
	(org-table-duration-hour-zero-padding): New option.
	(org-table-eval-formula): Select second-less format if
	requested.
	(org-table-time-seconds-to-string): Implement formats without
	seconds and without zero-padding for hours.

	* testing/lisp/test-org-table.el (test-org-table/duration):
	New test for second-less durations.

	* doc/org.texi (Formula syntax for Calc)
	(Durations and time values): Document the U mode switch.
2017-06-14 05:43:12 +02:00
Kaushal Modi 1e92f5ed39 Allow org-file-contents to fetch file contents from a URL
* lisp/org.el (org--file-cache): New variable.
(org-reset-file-cache):
(org-file-url-p): New function.
(org-mode-restart): Use new function.

* lisp/org.el (org-file-contents): Allow the FILE argument to be a
URL.  If the URL contents are already cached, return the cache
contents, else download the file and return contents of that.  The
file is automatically cached each time it is downloaded.  Add a new
optional argument NOCACHE.  If this is non-nil, the URL is always
downloaded afresh.  Use `org--file-cache' and `org-file-url-p'.

* lisp/org.el (org-edit-special): Do not allow editing the "file" if a
URL is specified for the "#+SETUPFILE".

* lisp/ox.el (org-export--list-bound-variables)
(org-export--prepare-file-contents):
* lisp/org-macro.el (org-macro--collect-macros) : Adapt to the
possibility that the input to `org-file-contents' can be a URL too.

* doc/org.texi (Export settings, In-buffer settings)
(The very busy C-c C-c key): Mention that #+SETUPFILE keyword can now
take a URL as a value, and that C-c C-c on the #+SETUPFILE line will
clear the org file cache.

* testing/lisp/test-org.el (test-org/org-file-contents-url)
(test-org/org-file-contents-file): Add tests for org-file-contents.

* testing/lisp/test-ox.el (test-org-export/get-inbuffer-options): Add
test for reading setupfile specified via a URL.
2017-06-13 11:41:58 -04:00
Nicolas Goaziou 49dc91c55e Merge branch 'maint' 2017-06-13 10:41:41 +02:00
Nicolas Goaziou 2040b61391 org-element: Remove outdated comments 2017-06-13 10:41:13 +02:00
Nicolas Goaziou 5e35bc1807 Merge branch 'maint' 2017-06-11 11:39:37 +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 8ebfbc1d2a Merge branch 'maint' 2017-06-10 00:14:30 +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 cf505d2ebb ox-texinfo: Export example blocks as @example
* lisp/ox-texinfo.el (org-texinfo-example-block): Export as @example.

Escape @, {, }, however, so as to get proper verbatim contents.
2017-06-09 22:03:08 +02:00
Nicolas Goaziou 28bb7777b4 Merge branch 'maint' 2017-06-09 21:23:17 +02:00
Nicolas Goaziou 4bdf11a967 org-macro: Silence byte-compiler 2017-06-09 21:22:53 +02:00
Nicolas Goaziou 657ed58eac org-macro: Fix incomplete docstring
* lisp/org-macro.el (org-macro--counter-increment): Fix incomplete
  docstring.  Small refactoring.
2017-06-09 10:22:51 +02:00
Nicolas Goaziou 54344574c6 Merge branch 'maint' 2017-06-09 09:45:08 +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 c24c07c810 Merge branch 'maint' 2017-06-08 23:28:03 +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 feb34a1fbf Merge branch 'maint' 2017-06-08 21:17:09 +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 52e0a83f32 Merge branch 'maint' 2017-06-08 21:00:51 +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 ddc80b628a Merge branch 'maint' 2017-06-08 15:16:20 +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 8e8094b919 Merge branch 'maint' 2017-06-08 15:04:55 +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 3e11697ead Merge branch 'maint' 2017-06-08 13:03:14 +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 c5bb67ef60 ox-texinfo: Do not consider :sep value as a regexp
* lisp/ox-texinfo.el (org-texinfo-item): Do not consider :sep value as
  a regexp.
2017-06-08 09:04:31 +02:00
Nicolas Goaziou 7b3ec6c105 Merge branch 'maint' 2017-06-08 00:59:06 +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
Kaushal Modi 4c24ecc073 Merge branch 'maint' 2017-06-07 18:40:56 -04: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 a2c13a31bb Merge branch 'maint' 2017-06-07 22:39:03 +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 8dc31ed680 ox-texinfo: Implement the :sep attribute in plain lists
* lisp/ox-texinfo.el (org-texinfo-item):
* doc/org.texi (Plain lists in Texinfo export):
2017-06-07 22:17:08 +02:00
Nicolas Goaziou 16f735f1cb Merge branch 'maint' 2017-06-07 12:23:56 +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 0ff8ba5907 ox-texinfo: Use @code instead of @verb for inline src blocks
* lisp/ox-texinfo.el (org-texinfo-inline-src-block): Use @code.
2017-06-07 00:16:35 +02:00
Nicolas Goaziou fdac3c0140 ox-texinfo: By default, use @samp instead of @verb for =...=
* lisp/ox-texinfo.el (org-texinfo-text-markup-alist): Change default
  value.
(org-texinfo--text-markup): Handle protected @samp{...} command.

@samp{} is more versatile than @verb{} as it can belong to more
commands.  So, it makes more sense as a default value.
2017-06-07 00:00:31 +02:00
Nicolas Goaziou f0f8ca730e Merge branch 'maint' 2017-06-06 23:51:57 +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 53011308a5 Merge branch 'maint' 2017-06-06 02:20:51 +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 bffe447778 Merge branch 'maint' 2017-06-06 00:23:13 +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 e7147682f3 Merge branch 'maint' 2017-06-05 23:40:48 +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 e3f21926b4 Declare `org-usenet-links-prefer-google' as obsolete
* lisp/org-compat.el (org-usenet-links-prefer-google): Declare as
  obsolete.
2017-06-05 23:03:38 +02:00
Nicolas Goaziou a9237b3804 org-gnus: Small refactoring
* lisp/org-gnus.el (org-gnus-store-link): Small refactoring.
2017-06-05 23:03:38 +02:00
Nicolas Goaziou d5390f8f0c org-gnus: Tiny refactoring
* lisp/org-gnus.el (org-gnus-open): Tiny refactoring.
2017-06-05 23:03:38 +02:00
Nicolas Goaziou 474ac71d9e org-gnus: Remove unnecessary declarations 2017-06-05 23:03:38 +02:00
Nicolas Goaziou 57bf6bbbde Merge branch 'maint' 2017-06-05 18:47:25 +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 94fa33ec95 org-gnus: Remove outdated code
* lisp/org-gnus.el (org-gnus-nnimap-query-article-no-from-file):
  Remove variable.
* lisp/org-gnus.el (org-gnus-nnimap-cached-article-number): Remove
  function.
(org-gnus-follow-link): Apply changes.  Small refactoring.

`org-gnus-nnimap-cached-article-number' has been removed from Gnus
since 2010 and is not present in Emacs versions supported by Org.
2017-06-05 09:28:33 +02:00
Nicolas Goaziou 6059fd9f34 Merge branch 'maint' 2017-06-04 09:17:39 +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 1a69d99ce1 Merge branch 'maint' 2017-06-03 22:45:14 +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 ed291a4a91 Merge branch 'maint' 2017-06-02 09:23:03 +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
Kyle Meyer 0d25d2b061 Silence byte-compiler under "make single"
* lisp/org.el (org-comment-string): Wrap definition in an
eval-and-compile because this variable is used within the body of
eval-when-compile, leading to an error under "make single".
(org-at-timestamp-p): Use bound-and-true-p to check
org-agenda-include-inactive-timestamps because org-agenda may not be
loaded yet.

Reported-by: Kaushal Modi <kaushal.modi@gmail.com>
<https://lists.gnu.org/archive/html/emacs-orgmode/2017-05/msg00326.html>
2017-05-31 20:45:34 -04:00
Nicolas Goaziou fe822c3765 Merge branch 'maint' 2017-05-30 18:57:59 +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 496b2a9855 Merge branch 'maint' 2017-05-30 13:39:46 +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 0cbb877217 Merge branch 'maint' 2017-05-30 08:57:01 +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
Nicolas Goaziou 82a50381a1 Merge branch 'maint' 2017-05-28 09:40:39 +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 3c911e802b Merge branch 'maint' 2017-05-27 18:14:46 +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 49b3d67ec3 Merge branch 'maint' 2017-05-26 11:58:25 +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 b92eb81731 Merge branch 'maint' 2017-05-26 00:21:14 -04:00
Kyle Meyer 6d4c188e3e Silence byte-compiler under "make single" 2017-05-26 00:03:29 -04:00
Nicolas Goaziou 2960dc971b Merge branch 'maint' 2017-05-25 20:56:52 +02: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 957850043a Prevent filling before a "n" macro where it could create list items
* lisp/org.el (org-fill-n-macro-as-item-nobreak-p): New function.
(org-setup-filling): Use new function.

* testing/lisp/test-org.el (test-org/fill-element): Add tests.

Reported-by: Kaushal Modi <kaushal.modi@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113587>
2017-05-25 12:33:16 +02:00
Nicolas Goaziou ad89390219 org-macro: Implement the "n" macro
* lisp/org-macro.el (org-macro--counter-table): New variable.
(org-macro--counter-initialize):
(org-macro--counter-increment): New functions.
(org-macro-initialize-templates): Use new functions.

* doc/org.texi (Macro replacement): Document new macro.

* testing/lisp/test-org-macro.el (test-org-macro/n):
(test-org-macro/property): New tests.
2017-05-25 12:25:13 +02:00
Nicolas Goaziou 6b6476b89c Merge branch 'maint' 2017-05-25 11:10:19 +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 30ceb5c794 Merge branch 'maint' 2017-05-23 20:46:54 +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 a023b31e48 Merge branch 'maint' 2017-05-23 18:15: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 61eb86e06c Merge branch 'maint' 2017-05-22 15:28:48 +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 c2f4eec5dc `org-fill-paragraph' handles region
* lisp/org.el (org-fill-element): New function.
(org-fill-paragraph): Use new function.  Also handle region, when
called interactively.

* testing/lisp/test-org.el (test-org/fill-element): Renamed from
  test-org/fill-paragraph.  Update tests.

Reported-by: Oskar Kvist <oskar.kvist@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113542>
2017-05-22 15:02:34 +02:00
Nicolas Goaziou 78a8078d64 Merge branch 'maint' 2017-05-22 14:18:41 +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 2b44a1a74c Remove `org-protect-slash'
* lisp/org.el (org-protect-slash): Remove function.
(org-refile-get-targets): Apply removal.

This internal function is used only once throughout the code base.
2017-05-22 08:31:53 +02:00
Nicolas Goaziou f10e19eabf Merge branch 'maint' 2017-05-22 08:25:56 +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 cadbef99f0 Merge branch 'maint' 2017-05-22 08:19:12 +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 23ac37da7c Merge branch 'maint' 2017-05-21 14:54:59 -04: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 8b79f8c91b Merge branch 'maint' 2017-05-21 11:09:02 +02: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 fbc5375118 Merge branch 'maint' 2017-05-21 00:07:56 +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 d71e708fe3 Merge branch 'maint' 2017-05-20 22:13:12 +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 68429a99cc Merge branch 'maint' 2017-05-20 09:10:13 +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 c7e8034360 Merge branch 'maint' 2017-05-19 16:30:07 +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
Yuri D. Lensky 9e4a1704ab org-capture.el: Fix handling of variable capture location
* lisp/org-capture.el (org-capture-expand-file): Fix handling of
  variable capture location.
2017-05-19 16:07:27 +02:00
Marco Wahl ab79f112b4 org-agenda: Friendlier agenda tag filter user interface
* lisp/org-agenda.el (org-agenda-filter-by-tag): Added little texts
  for the tag-char item and the tag-chooser item.
2017-05-19 09:17:05 +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 bda9a49056 Merge branch 'maint' 2017-05-18 14:50:42 -04: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
Sebastian Reuße 2906e50177 org-refile: Fix inconsistency when listing refile targets
* org.el (org-refile-get-targets): Setting org-refile-use-outline-path
to `file' or `buffer-name' causes an additional target for the file’s
root node to be inserted. This functionality was absent when using
`full-file-path'. We now add this since it is convenient and makes the
behavior more consistent.
2017-05-17 14:37:54 +02:00
Nicolas Goaziou 865ac0952b Merge branch 'maint' 2017-05-15 18:29:23 +02: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
Kyle Meyer 134d35e7cb Merge branch 'maint' 2017-05-15 00:04:16 -04: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 dcda03170d Merge branch 'maint' 2017-05-15 00:35:12 +02: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 dbe2424b07 Adjust `org-at-timestamp-p' behavior
* lisp/org.el (org-at-timestamp-p): Change optional argument
  behaviour.  Remove interactive call.
(org-follow-timestamp-link):
(org-get-repeat):
(org-auto-repeat-maybe):
(org-time-stamp):
(org-timestamp-up-day):
(org-timestamp-down-day):
(org-toggle-timestamp-type):
(org-timestamp-change):
(org-goto-calendar):
(org-date-from-calendar):
(org-shiftup):
(org-shiftdown):
(org-shiftright):
(org-shiftleft):
(org-org-menu):
(org-fill-paragraph-with-timestamp-nobreak-p):
(org-shiftcontrolup):
(org-shiftcontroldown):
* lisp/org-agenda.el (org-agenda-date-later):
(org-agenda-date-prompt):
* lisp/org-clock.el (org-clock-timestamps-change):
* lisp/org-mouse.el (org-mouse-delete-timestamp):
(org-mouse-context-menu):
* lisp/org-table.el (org-table-copy-down): Update callers.

* testing/lisp/test-org.el (test-org/at-timestamp-p): Add tests.
2017-05-14 10:54:25 +02:00
Nicolas Goaziou cbbe00e30e org-element: Do not parse timestamps within planning line
* lisp/org-element.el (org-element-context): Do not parse timestamps
  within planning line.
* testing/lisp/test-org-element.el (test-org-element/context): Remove test.

Strictly speaking, timestamps within planning lines are parameters
values that use timestamp syntax, not real timestamps belonging to the
document contents.
2017-05-14 10:25:13 +02:00
Nicolas Goaziou de2a8b31e4 Fix typo in code comment 2017-05-14 00:21:18 +02:00
Nicolas Goaziou b72d29d685 Merge branch 'maint' 2017-05-13 09:21:31 +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 79ac71d175 Tiny fix
* lisp/org.el (org-N-empty-lines-before-current): Insert empty lines
  before point, not after.
* testing/lisp/test-org.el (test-org/insert-heading): Add test.
2017-05-12 17:45:46 +02:00
Nicolas Goaziou 4f578a3f7f org-agenda: Small refactoring
* lisp/org-agenda.el (org-agenda-bulk-action): Small refactoring. Two
  `eval' less in the code base.
2017-05-12 01:19:51 +02:00
Nicolas Goaziou a842ae1d38 Merge branch 'maint' 2017-05-12 00:40:22 +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 41a42abc1b Merge branch 'maint' 2017-05-12 00:15:46 +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
Nicolas Goaziou 9a297d6531 org-attach: Silence byte-compiler
* lisp/org-attach.el (org-attach-attach): Tiny refactoring.
2017-05-09 17:56:24 +02:00
Oleh Krehel e23b806bd8 lisp/org-attach.el (org-attach-attach): Add dired-dwim-target-directory
Use case: have two windows open side-by-side. One has an Org-mode
file, the other - a Dired buffer with a file we want to attach.

With this change, and user's `dired-dwim-target' setting, the prompt
for file to attach will start in the Dired buffer's directory.
2017-05-09 17:30:18 +02:00
Kyle Meyer c801ef0328 org-sort: Go back to calling org-sort-* functions interactively
* lisp/org.el (org-sort): Revert change from c1addc825 that replaced
org-call-with-arg with funcall because org-table-sort-lines changes
its behavior based on the return value of called-interactively-p.
2017-05-08 23:57:30 -04:00
Kyle Meyer c1addc8252 org-sort: Call org-sort-* functions non-interactively
* lisp/org.el (org-sort): Use funcall instead of org-call-with-arg,
and make WITH-CASE an optional argument.
* lisp/org-table.el (org-table-sort-lines): Make WITH-CASE an optional
argument.
2017-05-08 11:13:19 -04:00
Nicolas Goaziou f4fca13598 Merge branch 'maint' 2017-05-08 11:39:34 +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 93b5e5087f Merge branch 'maint' 2017-05-08 11:26:33 +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 31cf5b2a9a ox-publish: Add missing `file-truename'
* lisp/ox-publish.el (org-publish--expand-file-name): Add missing
  `file-truename'.
2017-05-08 08:48:40 +02:00
Sebastian Reuße 1188beaa3b org-refile: Optionally prefix refile targets with buffer name
* org.el (org-refile-get-targets): Add case to optionally prefix
refile targets with the buffer name.
(org-refile-use-outline-path): Add new option setting and document.

Having an option to use the buffer name as a prefix is convenient,
since this will work hand in hand with uniquify to only show those
parts of the filesystem path needed to disambiguate buffers of
identically named files, as opposed to prefixing refile targets with
the full filesystem path.
2017-05-06 12:01:20 -04:00
Sebastian Reuße 53bcf91a96 org-refile: Escape slashes only in headline of refile target
* org.el (org-refile-get-targets): Only escape slashes in headline
part of refile target; leave any file-system path component (when
enabled) unescaped.

The reason to escape slashes in refile targets is to make it clear
when a slash was part of a headline vs. part of the outline path.  It
makes sense to treat slashes in the file system part the same way as
outline paths, since this won’t result in any confusion and serves to
make target selection less noisy.
2017-05-06 12:01:09 -04:00
Nicolas Goaziou 449f97abbb Merge branch 'maint' 2017-05-05 23:23:29 +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 c55770006a ox-publish: Fix last commit
* lisp/ox-publish.el (org-publish-get-project-from-filename): Fix last
  commit.
2017-05-05 19:56:58 +02:00
Nicolas Goaziou 6a4d3988b9 Merge branch 'maint' 2017-05-05 19:52:55 +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
Carsten Dominik 44de3efe75 * lisp/org-archive.el (org-archive-subtree): Honor
`org-archive-reversed-order' also on top level.
2017-05-05 11:59:10 +02:00
Nicolas Goaziou cecdb2bd67 Merge branch 'maint' 2017-05-02 08:24:24 +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 5bc540eae1 Merge branch 'maint' 2017-04-30 22:26:52 +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 27c3c75358 Merge branch 'maint' 2017-04-30 15:13:38 -04: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
Nicolas Goaziou cc80e7a8ce Merge branch 'maint' 2017-04-29 16:27:30 +02: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 6834142d87 Merge branch 'maint' 2017-04-29 14:34:09 +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 2a3443f142 Merge branch 'maint' 2017-04-29 11:48:45 +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 b60edc480d org-duration: Small docstring improvement
* lisp/org-duration.el (org-duration-format): Remove ambiguous
  reference to a "next smallest unit".  Reword REQUIRED? description.
2017-04-29 10:37:39 +02:00
Nicolas Goaziou 75320ff205 org-clock: Small refactoring
* lisp/org-clock.el (org-clock-get-table-data): Use `org-get-heading'.
  Also, avoid calling `org-entry-properties' since getting "TIMESTAMP"
  or "TIMESTAMP_IA" properties can be very slow.
2017-04-29 10:35:04 +02:00
Nicolas Goaziou b4ba9f1770 Merge branch 'maint' 2017-04-29 10:26:59 +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 52a327e4e5 Merge branch 'maint' 2017-04-28 00:24:46 +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
Nicolas Goaziou 32e1ca2933 Merge branch 'maint' 2017-04-25 23:47:22 +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
Nicolas Goaziou 9874458468 Merge branch 'maint' 2017-04-25 10:10:13 +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
Kyle Meyer 871ecea3ca Merge branch 'maint' 2017-04-23 19:46:36 -04: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
Nicolas Goaziou 5e1f7ff04b ox: Ignore INCLUDE keywords in commented headlines
* lisp/ox.el (org-export-expand-include-keyword): Ignore INCLUDE
  keywords in commented headlines.
* testing/lisp/test-ox.el (test-org-export/expand-include): Add test.
2017-04-23 19:48:50 +02:00
Nicolas Goaziou 942b6267a0 org-agenda: `tags-todo' command type includes DONE keywords
* lisp/org-agenda.el (org-agenda):
(org-agenda-run-series): Do not restrict `tags-todo' searches to
non-DONE TODO keywords.

Reported-by: Kevin Foley <kfoley15@gmail.com>
2017-04-18 11:55:27 +02:00
Nicolas Goaziou 54e1076b11 Merge branch 'maint' 2017-04-18 08:27:33 +02: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 1dfdb81932 Merge branch 'maint' 2017-04-17 20:04: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 ea3754f168 Merge branch 'maint' 2017-04-17 14:19:12 +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 6c1aaff5ce Merge branch 'maint' 2017-04-17 11:05:28 +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
Nicolas Goaziou 571dfe2a3f Merge branch 'maint' 2017-04-17 10:38:24 +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 0d35d9d0d6 Merge branch 'maint' 2017-04-17 10:05:08 +02:00
Nicolas Goaziou 6bd5210535 org-clock: Silence byte-compiler 2017-04-17 10:04:54 +02:00
Nicolas Goaziou fc369b6fae Merge branch 'maint' 2017-04-17 10:03:10 +02:00
Nicolas Goaziou 58ba690e33 org-clock: Fix :link parameter in Clock table
* lisp/org-clock.el (org-clock-get-table-data): Fix link creation with
  headlines containing COMMENT or TODO keywords.  Fix docstring.
  Small refactoring.

Reported-by: "Stacey Marshall" <stacey.marshall@oracle.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113094>
2017-04-17 10:02:46 +02:00
Kyle Meyer b7d4bf7e02 Merge branch 'maint' 2017-04-16 17:08:17 -04:00
Kyle Meyer 7fb6ab52c4 Don't call kill-this-buffer outside of menus
* contrib/lisp/org-toc.el (org-toc-quit):
* lisp/org-mhe.el (org-mhe-follow-link): Use kill-buffer rather than
  menu-bar.el's kill-this-buffer.

See Emacs bug#26466 and discussion on emacs.devel:
https://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00346.html.

This is in favor of backporting Emacs's 2e4f4c9d48 (Don't call
'kill-this-buffer' outside of menus, 2017-04-12), which introduces a
new function kill-current-buffer that provides special handling of
minibuffers.
2017-04-16 17:07:44 -04:00
Nicolas Goaziou f84ca3fac3 Merge branch 'maint' 2017-04-16 09:35:06 +02:00
Nicolas Goaziou de7e495e46 ox-latex: Remove unwanted indentation in horizontal rules
* lisp/ox-latex.el (org-latex-horizontal-rule): Add "\noindent" macro
  before the horizontal rule.

Reported-by: Justen Rickert <justenrickert@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113092>
2017-04-16 09:33:33 +02:00
Nicolas Goaziou c3cdbbff9b Merge branch 'maint' 2017-04-16 09:25:30 +02:00
Xi Shen 93972c9845 ob-sql.el: Fix filename conversion in minGW environment.
(org-babel-sql-convert-standard-filename): If it is not in Cygwin
environment, and `system-nt' is "windows-nt", Emacs must be in minGW
or MSYS environment, and can handle Windows filename correctly.

TINYCHANGE
2017-04-16 09:24:06 +02:00
Nicolas Goaziou be90287802 Merge branch 'maint' 2017-04-16 09:00:04 +02:00
aviv 842a75828f Updating MathJax CDN links
* doc/org.texi : Change reference to "cdn.mathjax.org" to "cdnjs.com",
  removing comment about no longer relevant terms of service.
* lisp/ox-html.el (org-html-mathjax-options) : Change link to
  appropriate cdnjs.com link to load MathJax.

Updating MathJax CDN links to reflect cdnjs.com as cdn.mathjax.org
will be disconitnued as of 30 April 2017.

TINYCHANGE
2017-04-16 08:59:05 +02:00
Nicolas Goaziou 0be422187f Merge branch 'maint' 2017-04-15 17:28:04 +02:00
Nicolas Goaziou 8a2ffac88a org-element: Fix radio link parser
* lisp/org-element.el (org-element--object-lex): Fix parsing of radio
  links within emphasis.
* testing/lisp/test-org-element.el (test-org-element/link-parser): Add
  test.

Reported-by: R C <recifx@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113063>
2017-04-15 17:27:01 +02:00
Nicolas Goaziou 42f24c167c Merge branch 'maint' 2017-04-15 16:52:46 +02:00
Nicolas Goaziou 74379eaaa2 Fix `org-forward-heading-same-level'
* lisp/org.el (org-forward-heading-same-level): Do not fail when
  heading is at the beginning of the buffer.
* testing/lisp/test-org.el (test-org/forward-heading-same-level): New
  test.

Reported-by: Rafael Laboissière <rafael@laboissiere.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/113084>
2017-04-15 16:51:33 +02:00