Commit Graph

14521 Commits

Author SHA1 Message Date
Sebastian Reuße 88bf8aef28 org-table-sort-lines: Fix case-sensitive sorting
* org-table.el (org-table-sort-lines): Fix case sensitive sorting,
improve docstring.
* test-org-table.el (test-org-table/sort-lines): Enforce C locale when
testing alphabetic sorting.

‘sort-subr’ ignores ‘sort-fold-case’ when a predicate is provided. To
correctly handle case-sensitivity, we now bake it into the predicate.

Since we are now sorting according to the user’s locale, WITH-CASE
will not make a difference in most instances, since most locales
always sort case-insensitively (cf. how GNU sort ignores the ‘-f’
switch).  We now mention this in the function docstring.

In order to meaningfully test case-sensitive sorting, we now enforce
the C locale in the respective unit test.
2018-03-13 09:09:54 +01:00
Sebastian Reuße 8e9518a3b0 Fix string-collate-lessp shim
* org-compat.el (org-string-collate-lessp): When shimming
string-collate-lessp, accept the same arguments as in the unshimmed
case.
2018-03-13 09:09:48 +01:00
Sebastian Reuße 0d6ee386a1 Fix alphabetic string matching operators
* org.el (org-string<): Add.
(org-op-to-function): Use it.
(org-string> etc.): Use collated comparison.

Cf. commit 551d2f1fe.
2018-03-13 09:09:32 +01:00
Sebastian Reuße e64ff15f67 Fix alphabetic sorting for tables, plain lists
* org-table.el (org-table-sort-lines): Use collated sorting.
* org-list.el (org-sort-list): Use collated sorting.

Cf. commit 551d2f1fe.
2018-03-13 09:09:07 +01:00
Nicolas Goaziou 0de818964d Merge branch 'maint' 2018-03-11 19:22:25 +01:00
Nicolas Goaziou 2f587d496f org-capture: Prevent spurious blank line during capture
* lisp/org-capture.el (org-capture-place-entry): Prevent spurious
  blank line during capture.

Reported-by: Luke <mideniko1234-org@yahoo.co.uk>
<http://lists.gnu.org/r/emacs-orgmode/2018-03/msg00075.html>
2018-03-11 19:21:29 +01:00
Bastien 69e674f518 Merge branch 'maint' 2018-03-10 22:29:38 +01:00
Glenn Morris 04f06958ab Backport commit 16faff6a4 from Emacs
; * lisp/org/org-table.el: Replace obsolete alias in comment.
16faff6a46f28b4db2e9b91e52b27404303f3197
Glenn Morris
Fri Mar 9 12:43:21 2018 -0500
2018-03-09 23:41:47 -05:00
Kyle Meyer f74f55cc75 Merge branch 'maint' 2018-03-07 22:07:42 -05:00
Paul Eggert 9ac80ede5e Backport commit f2caf08ca from Emacs
; Spelling fixes
f2caf08ca625f64c7eeea8dfa8f65a5b1bac58e2
Paul Eggert
Sun Mar 4 17:10:34 2018 -0800
2018-03-07 22:07:25 -05:00
Nicolas Goaziou 5ad085f34c Merge branch 'maint' 2018-03-06 10:15:22 +01:00
Nicolas Goaziou 9449939ca0 org-clock: Fix face for clock overruns
* lisp/org-clock.el (org-clock-get-clock-string): Fix 6655429b8.

Reported-by: Luke <mideniko1234-org@yahoo.co.uk>
<http://lists.gnu.org/r/emacs-orgmode/2018-03/msg00078.html>
2018-03-06 10:13:12 +01:00
stardiviner 49a8de4ffd
* ob-core.el (org-babel-result-to-file): relative file link result.
Respect option `org-link-file-path-type`.
2018-03-06 14:43:22 +08:00
Nicolas Goaziou b420c8e290 ob-core: Fix last commit
* lisp/ob-core.el (org-babel-execute-src-block): Fix thinko in commit
  122bf2997.
2018-03-05 14:34:28 +01:00
Bastien 69c5b6c999 Remove headings' metadata when turning them into list items
* lisp/org-list.el (org-toggle-item): Delete headings'
metadata before turning them into list items.

* lisp/org.el (org-log-drawer-start-re): New variable.
(org-log-drawer-end-re, org-log-drawer-re): New constants.
(org-heading-delete-metadata): New function.
(org-setting-tags): Fix comment.
2018-03-05 10:57:43 +01:00
Bastien 902148a967 Merge branch 'maint' 2018-03-04 21:22:32 +01:00
Bastien 74f6ed1eb0 org-clock.el: Strip bracket links from the heading
* lisp/org-clock.el (org-clock--mode-line-heading): Strip
links from the heading.

This restores the previous behavior before commit 66554298.

Thanks to Matt Lundin for reporting this.
2018-03-04 21:21:00 +01:00
Nicolas Goaziou d97ae53059 Merge branch 'maint' 2018-03-03 23:33:59 +01:00
Nicolas Goaziou cb0954d8de org-gnus: Fix `org-gnus-store-link'
* lisp/org-gnus.el (org-gnus-store-link): Fix storing link from an
  article when point in the summary buffer does not match the article.

Reported-by: Kevin Brubeck Unhammer <unhammer@fsfe.org>
<http://lists.gnu.org/r/emacs-orgmode/2018-03/msg00037.html>
2018-03-03 23:33:17 +01:00
Nicolas Goaziou 122bf29974 ob-core: Tiny refactoring
* lisp/ob-core.el (org-babel-execute-src-block): Tiny refactoring.
  Keep lines under 80 columns.
2018-03-03 10:07:21 +01:00
Nicolas Goaziou 3fab011755 org-element: Better indentation for `org-element-adopt-elements'
* lisp/org-element.el (org-element-adopt-elements): Define a better
  indentation rule.
2018-03-03 10:00:06 +01:00
Bastien Guerry 0c96d5066f Merge branch 'develop' of stardiviner/org-mode into master 2018-03-02 08:52:42 +00:00
stardiviner 39bd69b08d
* ob-core.el: (org-babel-execute-src-block) handle :results graphics :file case.
Don't write result to file if result is graphics.
2018-03-02 14:22:52 +08:00
Nicolas Goaziou a1659053d5 Merge branch 'maint' 2018-03-01 10:56:01 +01:00
Nicolas Goaziou 428ab7942a org-agenda: Obey to "++" prefix when bulk rescheduling/resetting deadline
* lisp/org-agenda.el (org-agenda-bulk-action): When date starts with
  "++", shift every marked entry.

Reported-by: Michael Hoffman <gmane4-hoffman@sneakemail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2018-03/msg00001.html>
2018-03-01 10:53:35 +01:00
Nicolas Goaziou d87148057e Update .dir-locals
* .dir-locals.el (org-mode): Update default values.
* lisp/org-list.el (org-list-description-max-indent): Add :safe
  keyword.
2018-02-27 19:17:18 +01:00
Nicolas Goaziou 2c93a0b2d7 org-tempo: Fix TAB behaviour
* lisp/org-tempo.el (org-tempo-complete-tag): Use a different trick to
  handle failed completions.

Reported-by: Brent Goodrick <bgoodr@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00164.html>
2018-02-27 02:02:56 +01:00
Alex Branham f521400a08 New face for upcoming deadlines in agenda
* lisp/org-faces.el (org-upcoming-distant-deadline-face): New face.
2018-02-27 01:44:49 +01:00
Nicolas Goaziou 6a56ae53f2 `org-mark-ring-push' also populates Emacs mark ring
* lisp/org.el (org-mark-ring-push): Also populate Emacs mark ring.

Fixes: Bug#23745
2018-02-27 01:02:22 +01:00
Nicolas Goaziou 8ebf4b7274 Change `org-paste-subtree' behavior
* lisp/org.el (org-paste-subtree): Never split a section. Instead
  always insert tree before the headline after point.  Use `org-yank'
  to split the section.
* testing/lisp/test-org.el (test-org/paste-subtree): New test.
2018-02-27 00:03:31 +01:00
Nicolas Goaziou e445894c0d Merge branch 'maint' 2018-02-26 12:16:34 +01:00
Nicolas Goaziou a0104599dc Fix `org-paste-subtree'
* lisp/org.el (org-paste-subtree): Use `org-outline-regexp-bol'.

The function cannot detect the proper level when a headline around
point contains spurious white spaces after the stars.
2018-02-26 12:14:24 +01:00
Nicolas Goaziou 5e8fa13610 Re-instate `C-c C-x m' binding
Reported-by: Kyle Meyer <kyle@kyleam.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00322.html>
2018-02-24 23:03:28 +01:00
Nicolas Goaziou 1b259f95aa Merge branch 'maint' 2018-02-24 22:38:27 +01:00
Nicolas Goaziou fffd300efd Update version keyword 2018-02-24 22:36:54 +01:00
Nicolas Goaziou 6ef5d2497c Revert "org-agenda: Fix lprops when recreating sticky agendas"
This reverts commit b306aa2245.
2018-02-24 22:36:29 +01:00
Nicolas Goaziou 6e10c268de Merge branch 'maint' 2018-02-24 22:01:32 +01:00
Nicolas Goaziou 65d6d3b043 org-capture: Silence byte-compiler 2018-02-24 22:01:04 +01:00
Nicolas Goaziou be93bacfa1 Merge branch 'maint' 2018-02-24 21:59:23 +01:00
Nick Dokos 84a3d03dff Replace dash by underscore in temp file names.
* org-babel-groovy-evaluate: replace '-' by '_' in temp file names.

Apparently, the JVM uses file names in the construction of names of internal
objects and dashes are illegal in that context. See

   https://stackoverflow.com/questions/48893994/groovy-in-org-mode-babel

for an example.
2018-02-24 21:39:50 +01:00
Nicolas Goaziou f3c20eb912 Merge branch 'maint' 2018-02-22 14:38:35 +01:00
Nicolas Dudebout db90aadd38 org-agenda: make log and clockreport modes local
* lisp/org-agenda.el (org-agenda-mode): Only set `org-agenda-show-log'
  and `org-agenda-clock-report-mode' to their default values when
  constructing an agenda buffer, and not when redoing it.
* lisp/org-agenda.el (org-agenda-log-mode,
  org-agenda-clockreport-mode): Do not set the global default value
  `org-agenda-start-with-log-mode' (respectively
  `org-agenda-start-with-clockreport-mode') with the current value of
  `org-agenda-log-mode' (respectively `org-agenda-clockreport-mode'),
  which, with sticky agendas is even buffer local.

`org-agenda-show-log' indicates if the the current agenda buffer has
log-mode enabled.  When building a new agenda buffer, it gets its
value from `org-agenda-start-with-log-mode'.  It is is semantically a
buffer local variable: when creating a new agenda buffer you expect it
to be set to the value in `org-agenda-start-with-log-mode'.  However,
2e9c2d71 while fixing an issue with sticky agendas rendered the
variable `org-agenda-log-mode' effectively global: toggling log mode
in a given agenda buffer modifies the global default for all agenda
buffers.  The same reasoning holds for clockreport mode.

This change ensures that a log or clockreport mode change made in one
agenda buffer does not propagate to other agenda buffers, existing or
new.  The change is however preserved on org-agenda-redo in the
initial agenda buffer, whether using sticky agendas or not.

TINYCHANGE
2018-02-22 14:37:45 +01:00
Nicolas Goaziou 79b36b6a8d Merge branch 'maint' 2018-02-21 15:04:37 +01:00
Nicolas Goaziou 6655429b8d org-capture: Refresh clock mode line when finalizing capture
* lisp/org-capture.el (org-capture-finalize): Refresh clock mode line.
* lisp/org-clock.el (org-clock--mode-line-heading): New function.
(org-clock-get-clock-string): Small refactoring.
(org-clock-update-mode-line): Add optional argument. Use new function.
(org-clock-in): Use new function.
2018-02-21 15:02:33 +01:00
Kyle Meyer 47908228e7 Merge branch 'maint' 2018-02-18 16:33:04 -05:00
Glenn Morris ec8590d5e2 Backport commit 69107f347 from Emacs
; Fix doc typos related to indefinite articles
69107f347b3ac7f51cd22333f57393fd735915f2
Glenn Morris
Fri Feb 16 17:33:57 2018 -0500
2018-02-18 16:32:41 -05:00
Glenn Morris 4ddfc6bd69 Backport commit 66a4e651f from Emacs
; Fix doc typos related to indefinite articles
66a4e651f3cf38c320d1a9d5ae6f88dcc641792b
Glenn Morris
Fri Feb 16 15:16:15 2018 -0500
2018-02-18 16:32:41 -05:00
Nicolas Goaziou bbcf2f939c Merge branch 'maint' 2018-02-15 15:04:59 +01:00
Nicolas Goaziou 1562d4e293 ox-publish: Fix last commit
* lisp/ox-publish.el (org-publish-org-to):
(org-publish-collect-index):
(org-publish--store-crossrefs):
(org-publish-resolve-external-link): Use `file-truename' instead of
`expand-file-name'.

Do not preserve symbolic links when a unique identifier is needed,
e.g., when storing or retrieving file properties from cache.
2018-02-15 14:51:26 +01:00
Nicolas Goaziou 58da7d4d17 org-table: Fix shrunk columns on hlines
* lisp/org-table.el (org-table--shrunk-field): Fix function when on
  a hline.
* testing/lisp/test-org-table.el (test-org-table/shrunk-columns): Add
  tests.

Reported-by: Kaushal Modi <kaushal.modi@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00231.html>
2018-02-14 18:48:48 +01:00
Nicolas Goaziou af824a9b39 Merge branch 'maint' 2018-02-14 18:00:38 +01:00
Nicolas Goaziou 1a5151c51d org-clock: Fix default clocktable properties priority
* lisp/org-clock.el (org-clock-report): Improve docstring.  Refactor
  code.  Ensure user-defined properties have precedence over automatic
  ones.

Reported-by: Tyler Smith <tyler@plantarum.ca>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00215.html>
2018-02-14 17:57:21 +01:00
Nicolas Goaziou 61c8903c87 Fix failing tests
* lisp/org-compat.el (org-string-collate-lessp): Reinstate function,
  inadvertently removed in last merge with maint branch.
2018-02-13 14:17:00 +01:00
Nicolas Goaziou 2a7a4a65ad Merge branch 'maint' 2018-02-13 14:10:28 +01:00
Nicolas Goaziou 7c21dfc771 ox-publish: Follow symlink directories
* lisp/org-compat.el (directory-files-recursively): Remove
  compatibility function, no longer needed.
* lisp/ox-publish.el (org-publish--expand-file-name):
(org-publish-org-to):
(org-publish-collect-index):
(org-publish--store-crossrefs):
(org-publish-resolve-external-link): Preserve symlinks in file name.
(org-publish-get-base-files): Follow symlink directories.
(org-publish-get-project-from-filename): Preserve symlinks in file
name.  Do not use `file-in-directory-p', which ignores symlinks.

Reported-by: Michel Damiens <michel.damiens@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00186.html>
2018-02-13 14:06:56 +01:00
Sebastian Reuße 551d2f1fe7 Fix alphabetic sorting for headlines, tags
* org.el (org-sort-entries): Use collated sorting.
(org-tags-sort-function): Use collated sorting.
(org-string-collate-greaterp): Add helper-function to use as defcustom
option, since there is no ‘string-collate-greaterp’ in Emacs.

* org-compat.el (org-string-collate-lessp): Add proxy to fall-back on
string-lessp when string-collate-lessp is missing (Emacs ≤ 24).

* test-org.el (test-org/string-collate-lessp): Add test.
(test-org/sort-entries): Add regression test for non-ASCII inputs.

‘org-sort-entries’ and ‘org-tags-sort-function’ advertise alphabetic
sorting, but actually sort based only on character code.  This
produces non-alphabetic orderings of strings in non-ASCII locales.

E. g., German Umlauts “Ä Ü Ö” are alphabetically sorted as if they
were “A U O”, whereas sorting based on character-code will place them
after “Z”, which is unexpected.
2018-02-12 14:57:54 +01:00
Kaushal Modi b505a5b6ad Merge branch 'maint' 2018-02-11 15:29:57 -05:00
Kaushal Modi fe7619cd18 Do not auto-fill when point is in Org property drawer
* lisp/org.el (org-return): Set auto-fill-function to nil when point
  is in an Org property drawer.
* testing/lisp/test-org.el (test-org/return): Add test.

<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00102.html>
2018-02-11 15:19:49 -05:00
Nicolas Goaziou da78ccc690 org-tempo: Do not activate Org Tempo in export output buffers and agenda
* lisp/org-tempo.el (b): Do not activate Org Tempo in export output
  buffers and agenda.
2018-02-11 12:06:42 +01:00
Nicolas Goaziou 6791fd29d3 org-tempo: Fix obnoxious `ding' when expanding templates
* lisp/org-tempo.el (org-tempo-complete-tag): New function.

Reported-by: Brent Goodrick <bgoodr@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00080.html>
2018-02-11 12:03:15 +01:00
Nicolas Goaziou 6cb6ddc671 org-macs.el: Tiny re-ordering 2018-02-11 11:45:07 +01:00
Nicolas Goaziou f487fccbec org-macs: Use `define-key' instead of `org-defkey'
* lisp/org-macs.el (org-completing-read): Use `define-key' instead of
  `org-defkey'.

For bootstrapping reasons, "org-macs.el" isn't expected to require
functions from "org.el". Besides, minibuffer isn't supposed to depend
of `org-disputed-keys' either.
2018-02-11 11:40:21 +01:00
Nicolas Goaziou 013941de86 `org-save-outline-visibility' preserve outline, blocks and drawers
* lisp/org-macs.el (org-save-outline-visibility): Also preserve blocks
  and drawers visibility.  Re-implement without helper functions.
  (org-outline-overlay-data):
  (org-set-outline-overlay-data): Remove functions.
2018-02-11 11:37:50 +01:00
Nicolas Goaziou 2956408f75 Move `org-flag-region' to "org-macs.el"
* lisp/org.el (org-flag-region): Move function...
* lisp/org-macs.el (org-flag-region): ... here.
2018-02-11 11:27:53 +01:00
Nicolas Goaziou b73f7c013d ox-ascii: Use angle brackets for external links
* lisp/ox-ascii.el (org-ascii--describe-links):
(org-ascii-link): Use angle brackets for external links.

Reported-by: Samuel Wales <samologist@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00105.html>
2018-02-10 14:16:37 +01:00
Nicolas Goaziou da26490208 org-colview: Fix typo in docstring
* lisp/org-colview.el (org-columns-summary-types): Fix typo.
2018-02-10 14:03:59 +01:00
Matt Lundin c72304b95e Fix S-<return> and M-S-<return> keybindings for GUI
This prevents these key combinations from being translated to M-RET in
window systems. These bindings already have extra keys defined for
TTY.
2018-02-10 13:53:11 +01:00
Nicolas Goaziou 3558e6e835 Merge branch 'maint' 2018-02-05 15:37:15 +01:00
Tim Landscheidt 61a885a399 Make manual and URL links in docstrings clickable 2018-02-05 15:27:12 +01:00
Marco Wahl 33cbd80850 org-agenda: Remove superfluous messages at bulk marking 2018-02-05 10:41:49 +01:00
Nicolas Goaziou cdacaa5e87 Merge branch 'maint' 2018-02-04 23:33:41 +01:00
Jose Robins e6f891e7aa org-clock.el: Add an autoload entry for the function org-clock-sum-today
* lisp/org-clock.el: When the org-mode is called for the very first time
any functionality that requires the org-clock-sum-today used to fail.
(e.g. a column that calculates CLOCKSUM_T)

TINYCHANGE
2018-02-04 23:32:59 +01:00
Nicolas Goaziou f500d7c7f6 org-element: Fix example and src block interpreter.
* lisp/org-element.el (org-element-example-block-interpreter):
(org-element-src-block-interpreter): Correctly handle indentation.
* testing/lisp/test-org-element.el (test-org-element/example-block-interpreter):
  Add tests.

Reported-by: Yasushi SHOJI <yasushi.shoji@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00006.html>
2018-02-04 10:04:17 +01:00
Nicolas Goaziou 878f2ae68b org-tempo: Small refactoring
* lisp/org-tempo.el (org-tempo-add-templates): Small refactoring.
2018-02-04 08:56:15 +01:00
Nicolas Goaziou a2471b1bb6 Silence byte-compiler 2018-02-04 00:51:00 +01:00
Nicolas Goaziou 85418667a6 Merge branch 'maint' 2018-02-04 00:31:47 +01:00
Nicolas Goaziou 248bc9631b org-element: Revert regexp change for inline source blocks and babel calls
* lisp/org-element.el (org-element-inline-babel-call-parser):
(org-element-inline-src-block-parser): Revert commit
7efa0f2879.

* testing/lisp/test-ob-exp.el (ob-exp/exports-inline-code):
* testing/lisp/test-org-element.el (test-org-element/inline-src-block-parser):
Update tests.

Reported-by: Greg Minshall <minshall@acm.org>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00002.html>
2018-02-04 00:30:00 +01:00
Nicolas Goaziou 222a65bdee org-tempo: Silence byte-compiler 2018-02-04 00:24:01 +01:00
Nicolas Goaziou 892ae3c2e1 Merge branch 'maint' 2018-02-04 00:13:36 +01:00
Nicolas Goaziou 19dcbab6f0 ox: Fix select tags and exclude tags and tags hierarchy
* lisp/ox.el (org-export--selected-trees): Expand select tags groups.
(org-export--prune-tree): Expand exclude tags groups.
(org-export--skip-p): Change signature.

* testing/lisp/test-ox.el (test-org-export/handle-options): Add tests.

Reported-by: Pierre-Luc Gauthier <p.luc.gauthier@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00039.html>
2018-02-04 00:12:45 +01:00
Nicolas Goaziou d89e35ee50 Merge branch 'maint' 2018-02-03 15:24:50 +01:00
Nicolas Goaziou 52c059a10d org-feed: Do not stop feed update when a feed is unavailable
* lisp/org-feed.el (org-feed-update-all): Do not stop feed update when
  a feed is unavailable.

Reported-by: Adrian Tritschler <ajft@ajft.org>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00043.html>
2018-02-03 15:23:47 +01:00
Nicolas Goaziou 005ff5f5c2 Merge branch 'maint' 2018-02-03 14:54:11 +01:00
Nicolas Goaziou d0c4d9ba23 ox-latex: Allow negative tocdepth
* lisp/ox-latex.el (org-latex-template): Allow negative tocdepth.

Reported-by: Akater <nuclearspace@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-01/msg00528.html>
2018-02-03 14:52:20 +01:00
Nicolas Goaziou 567fc311ac Merge branch 'maint' 2018-02-03 14:42:49 +01:00
Nicolas Goaziou 98422471c9 org-agenda: Fix docstring
* lisp/org-agenda.el (org-agenda-prefix-format): Fix count of items in
  alist.

Reported-by: Nicolas Dudebout <nicolas.dudebout@gmail.com>
2018-02-03 14:41:34 +01:00
Nicolas Goaziou 4b2006db3d Merge branch 'maint' 2018-02-01 22:43:19 +01:00
Nicolas Goaziou e570e964a3 org-compat: Remove `org-decode-time'
* lisp/org-compat.el (org-decode-time): Remove compatibility function,
  no longer used.
2018-02-01 22:42:35 +01:00
Nicolas Goaziou 0790855c93 org-clock: Fix remnant UTC time in clock computation
* lisp/org-clock.el (org-clock-get-sum-start): Remove wrong UTC
  reference.

Reported-by: Jose Robins <jose.robins@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00018.html>
2018-02-01 22:40:39 +01:00
Nicolas Goaziou e490d2766f Merge branch 'maint' 2018-02-01 15:51:28 +01:00
Nicolas Goaziou b4cc12fc32 ob-core: Fix infloop when filling a region with a source block
* lisp/ob-core.el (org-babel-do-in-edit-buffer): Do not move point.

Reported-by: Yasushi SHOJI <yasushi.shoji@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00006.html>
2018-02-01 15:40:51 +01:00
Nicolas Goaziou 75ece16507 Move bindings together 2018-02-01 13:54:25 +01:00
Nicolas Goaziou 2a91f967ca Merge branch 'maint' 2018-01-31 21:20:54 +01:00
Nicolas Goaziou ddc8e8eb23 ox: Fix typo in docstring
* lisp/ox.el (org-export-with-toc): Fix typo in docstring.  Slightly
  rephrase it.
2018-01-31 21:20:21 +01:00
Nicolas Goaziou 86f3ef8d80 org-macs: Fix typo in docstring.
* lisp/org-macs.el (org-match-any-p): Fix typo in docstring.
2018-01-31 18:20:25 +01:00
Nicolas Goaziou 68b076bf52 Re-organize some bindings 2018-01-31 17:56:21 +01:00
Nicolas Goaziou b86413beb3 ob-exp: Fix Lisp evaluation when exporting a source block
* lisp/ob-exp.el (org-babel-exp-src-block): Fully expand block
  parameters before exporting a source block.

Reported-by: Fabrice Popineau <fabrice.popineau@supelec.fr>
<http://lists.gnu.org/r/emacs-orgmode/2018-01/msg00471.html>
2018-01-30 10:42:56 +01:00
Nicolas Goaziou 485f218510 Merge branch 'maint' 2018-01-30 10:12:32 +01:00
Nicolas Goaziou 7efa0f2879 Fix inline src and inline babel calls parsing
* lisp/org-element.el (org-element-inline-babel-call-parser):
(org-element-inline-src-block-parser): Tolerate any prefix before the objects.

* testing/lisp/test-ob-exp.el (ob-exp/exports-inline-code):
* testing/lisp/test-org-element.el (test-org-element/inline-src-block-parser):
Update tests.

Reported-by: Greg Minshall <minshall@acm.org>
<http://lists.gnu.org/r/emacs-orgmode/2018-01/msg00489.html>
2018-01-30 10:11:02 +01:00
Nicolas Goaziou 04bf418922 org-element: Ignore contiguous spaces in macro arguments
* lisp/org-element.el (org-element-macro-parser): Ignore
  non-meaningful spaces (e.g., indentation).
(org-element-macro-interpreter): Do not interpret macro from its raw
value.  Instead, build it again from its parsed contents.
2018-01-29 15:17:37 +01:00
Nicolas Goaziou 55e8c6f9c3 Merge branch 'maint' 2018-01-28 17:10:13 +01:00
Nicolas Goaziou 5b4a711949 Fix fontification of macro spanning over multiple lines
* lisp/org.el (org-fontify-macros): Handle macros spanning over
  multiple lines.
2018-01-28 17:08:03 +01:00
Nicolas Goaziou 00dbb3089f org-element: Improve description item's interpretation
* lisp/org-element.el (org-element-item-interpreter): Improve
  indentation of description items.
2018-01-28 16:09:54 +01:00
Nicolas Goaziou b4dda5f340 org-element: Print lower case affiliated keywords
* lisp/org-element.el (org-element--interpret-affiliated-keywords):
  Print lower case keywords.
2018-01-28 14:06:33 +01:00
Nicolas Goaziou 33a9eef11f Allow editing partially shrunk columns
* lisp/org-table.el (org-table-with-shrunk-field): New macro.
(org-table-get-field):
(org-table-toggle-column-width): Use new macro.
(org-table--shrunk-field): Update function.
(org-table--shrink-field): When there is a width cookie, leave first
characters editable.

* lisp/org.el (org-self-insert-command):
(org-delete-backward-char):
(org-delete-char): Small refactoring.  Handle shrink overlays.

* testing/lisp/test-org-table.el (test-org-table/toggle-column-width):
  Update tests.
2018-01-25 23:57:11 +01:00
Nicolas Goaziou 5411435633 org-table: Tiny rewording to docstring
* lisp/org-table.el (org-table--read-column-selection): Tiny
  rewording.
2018-01-25 23:42:58 +01:00
Nicolas Goaziou 9cf9f56ff6 org-table: Fix `org-table-current-column' on hlines
* lisp/org-table.el (org-table-current-column): Return a meaningful
  value also on hlines.
(org-table-toggle-column-width): Use `org-table-current-column'
instead of re-inventing wheel.

* testing/lisp/test-org-table.el (test-org-table/current-column): New
  test.
2018-01-25 22:55:53 +01:00
Nicolas Goaziou 13424336a6 org-element: Prefer lower case letters for blocks and keywords
* lisp/org-element.el (org-element-center-block-interpreter):
(org-element-dynamic-block-interpreter):
(org-element-inlinetask-interpreter):
(org-element-quote-block-interpreter):
(org-element-special-block-interpreter):
(org-element-babel-call-interpreter):
(org-element-comment-block-interpreter):
(org-element-example-block-interpreter):
(org-element-export-block-interpreter):
(org-element-keyword-interpreter):
(org-element-src-block-interpreter):
(org-element-verse-block-interpreter): Use lower case letters when
interpreting object.

* testing/lisp/test-org-element.el (test-org-element/example-block-parser):
(test-org-element/center-block-interpreter):
(test-org-element/dynamic-block-interpreter):
(test-org-element/inlinetask-interpreter):
(test-org-element/quote-block-interpreter):
(test-org-element/comment-block-interpreter):
(test-org-element/example-block-interpreter):
(test-org-element/keyword-interpreter):
(test-org-element/src-block-interpreter):
(test-org-element/verse-block-interpreter):
* testing/lisp/test-ox.el (test-org-export/handle-options):
(test-org-export/expand-macro):
(test-org-export/before-processing-hook): Update tests.
2018-01-24 12:56:25 +01:00
Nicolas Goaziou 8ecc4c4365 Move `org-match-any-p' in "org-macs.el"
* lisp/org-macs.el (org-match-any-p): Moved from "org.el".
* lisp/org.el (org-match-any-p): Removed.
2018-01-23 09:48:01 +01:00
Nicolas Goaziou 66bbe54a75 org-table: Small refactoring
* lisp/org-table.el (org-table-align): Small refactoring.
2018-01-23 00:40:13 +01:00
Nicolas Goaziou 2367e25c6b Merge branch 'maint' 2018-01-22 19:29:32 +01:00
Nicolas Goaziou 4d46a20ea2 ob-lob: Fix Babel calls with external references
* lisp/ob-lob.el (org-babel-lob--src-info):
(org-babel-lob-get-info): Handle calls with external references, i.e.,
FILE:NAME(...) syntax.

* testing/lisp/test-ob-lob.el (test-ob-lob/external-reference-syntax):
(test-ob-lob/call-with-indirection): New tests.
2018-01-22 19:27:13 +01:00
Nicolas Goaziou cafa08334a Merge branch 'maint' 2018-01-21 23:27:05 +01:00
Jack Henahan ffa5f3c519 org-clock: Improve `untilnow' range behavior and performance
* org-clock.el (org-clock-special-range): Set `untilnow' to use the
year -50000, rather than the earliest representable date.
(org-clock--oldest-date): Remove.

The `untilnow' range relied on the constant `org-clock--oldest-date`
to find the earliest representable date, which caused delays when
loading `org-clock' on systems where `most-negative-fixnum' is large.
This change removes that constant in favor of a simpler hack to
produce a range between the current time and before the dawn of human
civilization.  If this breaks your workflow, please report to the Time
Police.

TINYCHANGE
2018-01-21 23:26:22 +01:00
Nicolas Goaziou 7a20ccafb5 Merge branch 'maint' 2018-01-20 15:55:36 +01:00
Nicolas Goaziou b891e46ccb Fix typo in docstring
* lisp/org.el (org-reload): Fix typo.
2018-01-20 15:55:13 +01:00
Nicolas Goaziou b7e94882ea Move some indentation functions in "org-macs.el", remove others
* lisp/org-macs.el (org-get-indentation): Moved from "org.el"
(org-get-string-indentation):
(org-fix-indentation): Remove functions.
2018-01-20 15:54:20 +01:00
Nicolas Goaziou 73861065fc Tiny cleanup 2018-01-20 15:45:28 +01:00
Nicolas Goaziou f1bc02f03b Merge branch 'maint' 2018-01-20 13:41:41 +01:00
Nicolas Goaziou c06f906f02 Fix typos in docstrings
* lisp/org.el (org-category):
(org-preview-latex-image-directory):
(org-hidden-keywords):
(org-scan-tags):
(org-find-exact-heading-in-directory):
(org-revert-all-org-buffers): Change "org" to "Org" where appropriate.
2018-01-20 13:40:57 +01:00
Nicolas Goaziou 1c8e687f47 org-compat: Silence byte-compiler 2018-01-20 13:32:03 +01:00
Nicolas Goaziou d6729e3eda Merge branch 'maint' 2018-01-20 13:29:49 +01:00
Nicolas Goaziou c2576f349b Re-hide archived subtrees when showing branches
* lisp/org.el (org-kill-note-or-show-branches): Re-hide archived
  subtrees when showing branches.

Reported-by: Allen Li <vianchielfaura@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-01/msg00340.html>
2018-01-20 13:28:53 +01:00
Nicolas Goaziou d378d9ec7e Do not hijack keybindings in Calendar mode
* lisp/org-compat.el (org-calendar-to-agenda-key):
(org-calendar-insert-diary-entry-key): Moved from "org.el".
(org--setup-calendar-bindings): New function.

Fixes: Bug#10289
2018-01-20 13:07:46 +01:00
Nicolas Goaziou 929b65533a Merge branch 'maint' 2018-01-19 18:31:48 +01:00
Tim Landscheidt 63c0266688 Update URLs in source code or tests
TINYCHANGE
2018-01-19 18:30:40 +01:00
Nicolas Goaziou 0155441358 Merge branch 'maint' 2018-01-19 18:22:00 +01:00
Tim Landscheidt b289a65be7 Use https for links to orgmode.org
TINYCHANGE
2018-01-19 18:14:58 +01:00
Nicolas Goaziou c27d0f85e5 Merge branch 'maint' 2018-01-18 23:43:44 +01:00
Nicolas Goaziou bdc220ca17 ox-publish: Fix including files with a search option
* lisp/ox-publish.el (org-publish-cache-file-needs-publishing): Remove
  double quotes prior to pruning search options.

Reported-by: Joseph Carter Osborn <jcosborn@ucsc.edu>
<http://lists.gnu.org/r/emacs-orgmode/2018-01/msg00317.html>
2018-01-18 23:40:55 +01:00
Nicolas Goaziou 2372276883 Merge branch 'maint' 2018-01-18 23:10:51 +01:00
Nicolas Goaziou daceceb424 Fix `org-store-link'
* lisp/org.el (org-store-link): Fix parameter to `completing-read',
  which expects a string, not a symbol.

Reported-by: "Stefan-W. Hahn" <stefan.hahn@s-hahn.de>
2018-01-18 23:09:12 +01:00
thibault ba6c0f1ea9 ox-html: Add label and number to equations in HTML export
* lisp/ox-html.el (org-html--wrap-latex-environment): New function.
(org-html--math-environment-p): New function.
(org-html-latex-environment): Use `org-html--wrap-latex-environment' to
wrap equation in HTML container (non-MathJax modes).  Make latex
environment unnumbered when compiling equations to images.  Insert latex
label in environment in MathJax mode.
(org-html-link): Calculate equation number limiting counter to equation
environments.  Use eqref for link when using MathJax
(org-html--make-unlabelled-latex-environment): New function.
2018-01-17 22:24:31 +01:00
Nicolas Goaziou 92176c90be Merge branch 'maint' 2018-01-15 23:29:21 +01:00
Nicolas Goaziou 78e4be78cb org-list: Silence byte-compiler 2018-01-15 23:28:52 +01:00
Nicolas Goaziou 21cf8d8e61 Merge branch 'maint' 2018-01-15 23:15:26 +01:00
Nicolas Goaziou b74655a4e5 Fix `org-toggle-checkbox' on a headline.
* lisp/org-list.el (org-toggle-checkbox): When called with a prefix
  argument, ignore all drawers after planning info line.  Fix
  docstring.

Reported-by: Samuel Wales <samologist@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-01/msg00278.html>
2018-01-15 23:13:51 +01:00
Nicolas Goaziou c3fffcd8d2 Fix C-<return> binding 2018-01-15 22:59:40 +01:00
Bastien 0aeb66f64d Merge branch 'master' of code.orgmode.org:bzg/org-mode 2018-01-15 16:39:37 +01:00
Bastien ebb67cebe5 Merge branch 'maint' 2018-01-15 16:39:11 +01:00
Bastien ad390e895a ox-html.el (org-html-head): Fix docstring
* ox-html.el (org-html-head): Fix docstring.

Thanks to Adam Porter for reporting this.
2018-01-15 16:38:33 +01:00
Xu Chunyang 9f181d4404 org-agenda: Disable message logging for some messages
* lisp/org-agenda.el (org-agenda-filter-by-tag):
(org-agenda-view-mode-dispatch):
(org-agenda-diary-entry):
(org-agenda-bulk-action): Disable message logging for some messages.

TINYCHANGE
2018-01-15 16:34:25 +01:00
Nicolas Goaziou 6965098a53 Use a single keybinding representation
* lisp/org.el (org-replace-disputed-keys): Fix docstring.

Use `kbd' macro everywhere.  Also add missing "ESC" equivalents for
"M-" bindings.
2018-01-15 16:13:37 +01:00
Nicolas Goaziou a8a04348fd org-timer: Add missing autoload cookies
* lisp/org-timer.el (org-timer-pause-or-continue):
(org-timer-stop): Add missing autoload cookies.
2018-01-15 16:13:19 +01:00
Nicolas Goaziou d5b70fa68b Silence byte-compiler 2018-01-13 14:19:50 +01:00
Nicolas Goaziou 000b943ebd Re-order visibility functions in "org.el"
* lisp/org-macs.el (org-outline-overlay-data):
(org-set-outline-overlay-data): Moved from "org.el".
* lisp/org.el (org-remove-empty-overlays-at):
(org-show-empty-lines-in-parent):
(org-files-list):
(org-entry-beginning-position):
(org-entry-end-position):
(org-subtree-end-visible-p):
(org-first-headline-recenter):
(org-flag-region):
(org-show-entry):
(org-show-children):
(org-show-subtree):
(org-hide-block-toggle-maybe):
(org-hide-block-toggle):
(org-hide-block-toggle-all):
(org-hide-block-all):
(org-cycle-hide-drawers):
(org-flag-drawer):
(org-previous-block):
(org-next-block): Move functions.
2018-01-13 14:15:53 +01:00
Nicolas Goaziou a8ee20d23d Replace `outline-flag-region' with `org-flag-region'
* lisp/org-inlinetask.el (org-inlinetask-toggle-visibility):
* lisp/org-list.el (org-list-set-item-visibility):
* lisp/org.el (org-flag-subtree):
(org-cycle-internal-local):
(org-cycle-show-empty-lines):
(org-set-outline-overlay-data):
(org-move-subtree-down):
(org-set-tags):
(org-flag-heading):
(org-show-children):
(org-show-subtree):
(org-show-entry): Replace `outline-flag-region' with
`org-flag-region'.
2018-01-10 15:58:21 +01:00
Nicolas Goaziou 4dbb4a76a7 Implement `org-show-all'
* lisp/org.el (org-show-all): New function.
(org-cycle):
(org-cycle-internal-global):
(org-global-cycle):
(org-set-startup-visibility):
(org-set-outline-overlay-data):
(org-hide-block-all):
(org-mode-hook):
(org-tree-to-indirect-buffer):
(org-sort-entries):
(org-mode-map):
(org-org-menu):
* lisp/ob-lilypond.el (org-babel-lilypond-mark-error-line):
* lisp/org-archive.el (org-archive-subtree):
* lisp/org-capture.el (org-capture-place-template):
* lisp/org-mouse.el (org-mouse-popup-global-menu):
* lisp/ox-org.el (org-org-publish-to-org):
* testing/org-test.el (org-test-at-id):
(org-test-in-example-file): Use new function.

* lisp/org-compat.el (org-show-block-all): Mark as obsolete.
2018-01-10 15:58:21 +01:00
Nicolas Goaziou d30bea7cee Fold CLOCK and LOGBOOK drawers upon creating them
* lisp/org-clock.el (org-clock-find-position): Use a faster call to hide
  clock drawer.
* lisp/org.el (org-log-beginning): Make sure logbook drawer is folded as
  soon as inserted.
(org-store-log-note): Remove unnecessary call to
`org-cycle-hide-drawers'.
2018-01-10 15:58:21 +01:00
Nicolas Goaziou 4403d4685e Give drawers their own invisibility spec
* lisp/org.el (org-mode): Add special invisibility spec for drawers.
(org-show-set-visibility): Handle new invisibility spec.
(org-clean-visibility-after-subtree-move): Fix argument for
`org-cycle-hide-drawers'.  `overview' is a no-op.
(org-cycle-hook):
(org-cycle-internal-local):
(org-flag-drawer):
(org-move-subtree-down):
(org-show-entry):
* lisp/org-agenda.el (org-agenda-clock-in):
* lisp/org-clock.el (org-clock-goto):
* lisp/org-feed.el (org-feed-update):
* lisp/org-inlinetask.el (org-inlinetask-toggle-visibility): Do not hide
  drawers when expanding a headline.

Drawers and headlines visibility are now unrelated.  As a consequence,
there is no need to hide drawers every time a headline is expanded.
2018-01-10 15:58:21 +01:00