Commit Graph

5407 Commits

Author SHA1 Message Date
Bastien ee3c3b5547 org.el: Allow empty subtrees to be folded back
* lisp/org.el (org-cycle-internal-local): Allow empty subtrees to
fold back.

See <https://orgmode.org/list/CA+Yh0SRPgeMUYAD0ds3TZnwpPKq8_mpact-OeKK-rXoQNb-eEg@mail.gmail.com>

Reported-by: Dmitrii Korobeinikov <dim1212k@gmail.com>
2020-09-05 08:01:58 +02:00
Bastien 8a3777e35b org.el: Use `string-match-p' in two functions
* lisp/org.el (org-remove-empty-overlays-at)
(org-cycle-internal-global): Use `string-match-p' as match data
are not used.
2020-09-05 08:00:29 +02:00
Bastien 5beeb094a2 Merge branch 'maint' 2020-09-05 07:30:47 +02:00
Dmitrii Korobeinikov a8e812e601 org.el: Restore the scroll position after cycling
* lisp/org.el (org-scroll-position-to-restore): New variable.
(org-optimize-window-after-visibility-change): Use it to restore
the scroll position when needed.

TINYCHANGE

See <https://orgmode.org/list/CA+Yh0STTE+Zx-zct3qy7eyqTovogr_fqwwOCLx9z3da7_hFRnw@mail.gmail.com>
2020-09-05 07:28:20 +02:00
Bastien 3c524c5fd5 org.el: Fix the "version" keyword in the header
* lisp/org.el: Fix the "version" keyword in the header.
2020-09-05 07:28:20 +02:00
Bastien Guerry a3576543f5 org.el: Fix `org-display-outline-path'
* lisp/org.el (org-display-outline-path): Always remove faces when
setting the outline path to display.

See <https://orgmode.org/list/21ef0e94-e766-455c-a45c-fe30e316c121@Spark>
2020-09-04 10:03:48 +02:00
Kyle Meyer cdfc404bed Merge branch 'maint' into master 2020-08-23 22:39:44 -04:00
Allen Li 76da93aa86 org.el: Don't exclude local tags that are also inherited
This fixes a bug in set-tags-command excluding a tag that is both set
locally and inherited from the initial minibuffer input by modifying
org-get-tags to prefer keeping the locally set tag over the inherited
tag, as this behavior is more intuitive for org-get-tags anyway.

* lisp/org.el (org-get-tags): Keep local tags over inherited.
* testing/lisp/test-org.el (test-org/set-tags-command): Add test.
2020-08-23 22:38:20 -04:00
Kyle Meyer 5417e384eb Merge branch 'maint' 2020-08-10 20:38:18 -04:00
Nicholas Vollmer ab9b14a80f org.el: (org-get-cursor-date): Fix regular expression
* lisp/org.el (org-get-cursor-date): Fix regular expression.

Previous regular expression assumed the time grid string will have two
digits in the hour portion of the time string.  However, the time grid
string does not always have two digits.  For example:

" 8:00......"
2020-08-10 20:35:36 -04:00
Kévin Le Gouguec 81e2948472 Fix org-fontify-whole-*-line by setting face extension (bug#42184)
* lisp/org-faces.el (org-block): Set background extension beyond
end-of-line.
* lisp/org-compat.el (org--set-faces-extend): New function to
temporarily (re)set :extend for Emacs≥27.
* lisp/org.el (org-mode): Call it to set the extend attribute of
relevant faces to the correct value.
2020-08-10 20:22:25 -04:00
Nicolas Goaziou 270aa438e2 Fix `org-show-children' error when called before first heading
* lisp/org.el (org-show-children): Fix `org-show-children' error when
called before first heading.
2020-07-27 19:22:46 +02:00
Kyle Meyer 82b496c0e9 Merge branch 'maint' 2020-07-22 23:33:07 -04:00
Leo Vivier c9abb4c29a org: Remove useless example in docstring
* lisp/org.el (org-find-olp): Remove useless example in docstring.

TINYCHANGE
2020-07-22 23:30:58 -04:00
Marco Wahl 7069dc3f32 org: New function to hide the body up to the first child
* lisp/org.el (org-hide-entry): New function. Counterpart to org-show-entry.
2020-07-21 12:14:10 +02:00
Nicolas Goaziou 91b2398293 Do not fill paragraph before region
* lisp/org.el (org-fill-paragraph): Do not fill paragraph before
region.
* testing/lisp/test-org.el (test-org/fill-paragraph): Add test.

Reported-by: Matt Lundin <mdl@imapmail.org>
<http://lists.gnu.org/r/emacs-orgmode/2020-07/msg00164.html>
2020-07-14 11:46:38 +02:00
Nick Dokos bc4fa8a008 org: add property names from #+PROPERTY keywords to completion list
* lisp/org.el (org-buffer-property-keys): Enhance the completion list
with property names from #+PROPERTY keywords, not just property
drawers. Also, for each xxx_ALL property, make sure that the bare xxx
property is added too.

* testing/lisp/test-org.el (test-org/buffer-property-keys): Add test
cases for #+PROPERTY keywords and also for xxx_ALL --> xxx properties.

See https://emacs.stackexchange.com/questions/59448/ for details.

Modified-by: Kyle Meyer <kyle@kyleam.com>
  Cosmetic tweaks to _ALL stripping.
2020-07-07 23:37:54 -04:00
Nicolas Goaziou 353e8cc2b7 Fix paragraph filling
* lisp/org.el (org-fill-paragraph): Fix regression introduced in
e2b62b4da8.
* testing/lisp/test-org.el (test-org/fill-paragraph): New test.

Reported-by: stardiviner <numbchild@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2020-07/msg00065.html>
2020-07-07 10:37:35 +02:00
Marco Wahl ab864a29be org: Improve consistency for org-ctrl-c-tab and children folding
* lisp/org.el (org-ctrl-c-tab): Don't move point when acting on
  outline level 0 (which is before first heading). This is consistent to
  the behavior for level > 0. And refactor some. And correct the
  docstring.
2020-07-07 00:39:35 +02:00
Marco Wahl 8b92bcd827 org: Enable org-show-entry before first heading
* lisp/org.el (org-show-entry): Before first heading show the region
  up to the first heading. Remove the now useless ignore-errors.

This behavior allows to reveal invisible text before the first
heading.
2020-07-07 00:12:39 +02:00
Nicolas Goaziou a3f01e183f Tweak drawer visibility after isearch
* lisp/org-macs.el (org-flag-region): Control visibility state after
an isearch.
* lisp/org.el (org-mode): Remove an unused variable.
2020-07-04 09:56:20 +02:00
Nicolas Goaziou e3745fac1e Remove `org-hide-drawer' text property leftovers
* lisp/org-macs.el (org-save-outline-visibility):
(org-invisible-p):
* lisp/org.el (org-show-set-visibility):
(org--forward-paragraph-once):
(org--backward-paragraph-once): Remove reference to `org-hide-drawer',
no longer used to hide drawers.
2020-07-03 21:50:46 +02:00
Kyle Meyer 15029c8abb Merge branch 'maint' 2020-06-28 02:29:12 -04:00
Kyle Meyer 3ed035ce3b org.el: Clarify argument in org-todo's call to org-map-entries
* lisp/org.el (org-todo): Use nil instead of
org-loop-over-headlines-in-active-region as the MATCH argument.

org-loop-over-headlines-in-active-region isn't related to the MATCH
argument; it's related to SCOPE and decides the value of the let-bound
cl variable that's passed as SCOPE.  Note, though, that
org-loop-over-headlines-in-active-region is let-bound to nil around
the org-map-entries call, so this didn't cause any issues.
2020-06-28 02:27:49 -04:00
Kyle Meyer 8a2eb7d1bc org.el: Fix org-todo argument handling when looping over region
* lisp/org.el (org-todo): Replace backquote construct, which did not
properly quote argument, with closure.

Using "',arg" instead of ",arg" would also work.

Reported-by: Mario Frasca <mario@anche.no>
https://orgmode.org/list/ea64d98c-d7bf-eea0-40d4-00a1515bdb98@anche.no
2020-06-28 02:13:58 -04:00
Marco Wahl 945f495b94 org: Enable join of multiple lines
* lisp/org.el (org-delete-indentation): Call delete-indentation via
the call-interactive wrapper to take into account a possibly selected
region.
2020-06-17 12:58:34 +02:00
Kyle Meyer a8cc4f7244 Merge branch 'maint' 2020-06-13 15:18:12 -04:00
Kyle Meyer ba6ca79af5 org.el: Fix #+end_src fontification error
* lisp/org.el (org-fontify-meta-lines-and-blocks-1): Rewrite the "line
begins with *" check so that it does not assume that match data has
remained intact.

The upstream call to org-src-font-lock-fontify-block overwrites the
match data in some cases.  As a result, (match-string 1) signals an
error and #+end_src is not fontified.  Wrapping the call to
org-src-font-lock-fontify-block with save-match-data would fix the
reported issue.  However, the position at the beginning of the line is
already stored in a variable, so use that information instead to check
whether the line starts with "*".

Reported-by: John Ciolfi <ciolfi@mathworks.com>
<r9r1ulpctz.fsf@ah-ciolfi-lah-ciolfi-l.dhcp.mathworks.com>
2020-06-13 15:17:58 -04:00
Nicolas Goaziou c709187173 Do not widen when folding all drawers
* lisp/org.el (org-cycle-hide-drawers): Do not widen drawer.
2020-06-13 17:51:30 +02:00
Nicolas Goaziou e2b62b4da8 Rewrite `org-forward-paragraph' and `org-backward-paragraph'
* lisp/org.el (org-forward-paragraph):
(org-backward-paragraph): Rewrite functions.  Add repeat argument.
Mimic more closely regular `forward|backward-paragraph' functions.
(org--forward-paragraph-once):
(org--backward-paragraph-once):
(org--paragraph-at-point): New functions.
* testing/lisp/test-org.el (test-org/forward-paragraph):
(test-org/backward-paragraph): Update tests.  Add some.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2020-06-13 17:22:48 +02:00
Kyle Meyer aa32f65f83 Rename org-startup-numeroted variable to fix typo
* lisp/org.el (org-startup-numerated): Fix "numeroted" typo in
variable name.
(org-startup-options):
(org-mode):
* doc/org-manual.org (Dynamic Headline Numbering):
(Summary of In-Buffer Settings): Update for rename.

Also fix a few related typos in ORG-NEWS and the manual.

No compatibility alias has been added, as this variable hasn't yet
made it into a release.
2020-06-11 17:55:50 -04:00
Nicolas Goaziou 1aa095ccf1 Fix drawer invisibility
* lisp/org.el (org-cycle-hide-drawers): Move back from "org-compat.el"
(org-cycle-hook):
(org-show-entry):
(org-set-startup-visibility):
(org-clean-visibility-after-subtree-move):
(org-sort-entries): Use `org-cycle-hide-drawers'.
(org-log-beginning):
(org--hide-wrapper-toggle):
(org-hide-drawer-all): Use `outline' invisibility spec for drawers.
(org-show-all): Rewrite taking into account drawers now have the same
invisibility spec as headlines.
(org-overview):
(org-content):
(org-tree-to-indirect-buffer): Use fast arguments for `org-show-all'.
(org-mode): Remove `org-hide-drawer' invisibility spec.
* lisp/org-compat.el (org-flag-drawer): Use `outline' for drawer
invisibility.
(org-cycle-hide-drawers): move back to "org.el".
* lisp/org-clock.el (org-clock-find-position): Use `outline' for
invisibility spec.
* lisp/org-agenda.el (org-agenda-show-and-scroll-up): Use
`org-cycle-hide-drawers'.
2020-06-06 17:01:21 +02:00
Nicolas Goaziou b4e379846e Do not insert unwanted TAB characters in some places
* lisp/org.el (org-indent-line): Do not return `noindent'.

Returning `noindent' is not synonymous to "no indentation change
needed".  In particular, `noindent' triggers insertion of
TAB-character, ignoring `tab-always-indent' value.
2020-06-05 14:06:35 +02:00
Bastien Guerry c7a86a43ae Merge branch 'maint' 2020-06-05 10:40:14 +02:00
Bastien Guerry fa4dddf8d2 Fix broken links
* lisp/org.el:
* lisp/ol-bibtex.el:
* etc/ORG-NEWS (org-capture.el is now the default capture system):
* doc/org-manual.org (Cache results of evaluation): Fix broken links.
2020-06-05 10:39:52 +02:00
Nicolas Goaziou b68090e0be Another fix to `org-next-visible-heading'
* lisp/org.el (org-next-visible-heading): There is no guarantee that
a `outline' overlay begins on the same line as a headline.
* testing/lisp/test-org.el (test-org/previous-visible-heading): New
test.

Reported-by: Kevin Liu <kevin@nivekuil.com>
<http://lists.gnu.org/r/emacs-orgmode/2020-06/msg00092.html>
2020-06-04 16:08:40 +02:00
Nicolas Goaziou 8483b27c28 Merge branch 'maint' 2020-06-01 22:11:36 +02:00
Nicolas Goaziou 2c980de073 Prevent one-char invisible overlay at end of buffer
* lisp/org.el (org-cycle-internal-local): Do not create a one
character overlay at the end of buffer.
2020-06-01 22:07:01 +02:00
Nicolas Goaziou f6c29730b3 Silence byte-compiler
* lisp/org.el (org-next-visible-heading): Remove unused binding.
2020-06-01 15:22:35 +02:00
Nicolas Goaziou fe7830b4f3 Merge branch 'maint' 2020-05-31 13:57:05 +02:00
Nicolas Goaziou 65fdf2be16 Fix `org-mark-element' in narrowed buffers
* lisp/org.el (org-mark-element): Do not set mark past narrowed part
of the buffer.
* testing/lisp/test-org.el (test-org/mark-element): New test.

Reported-by: Kevin Liu <kevin@nivekuil.com>
<http://lists.gnu.org/r/emacs-orgmode/2020-05/msg00812.html>
2020-05-31 13:55:47 +02:00
Nicolas Goaziou 1596113512 Fix `org-next-visible-heading'
* lisp/org.el (org-next-visible-heading): Fix function when
`org-cycle-separator-lines' is different from 0.
* testing/lisp/test-org.el (test-org/next-visible-heading): New test.
2020-05-31 12:55:08 +02:00
TEC f5c47d857c Extend org-edit-special to editing LaTeX fragments
* lisp/org-src.el (org-src--contents-area): Handle `latex-fragment'.
(org-edit-latex-fragment): New function.
* lisp/org.el (org-edit-special): Use new function.
2020-05-26 23:03:11 +02:00
Bastien 701c7bed94 lisp/org.el: Minor docstrings enhancements
* lisp/org.el (org-deadline, org-schedule): Update docstrings by
mentioning the use of the Emacs calendar.

See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=15598
2020-05-24 10:13:52 +02:00
Bastien 5adfb533ce org.el: Tiny fixes in comments 2020-05-22 18:50:13 +02:00
Kyle Meyer 962b8e765c org.el: Fix regression in collecting empty-value keywords
* lisp/org.el (org--collect-keywords-1): Don't replace space-only
values with nil because that leads to the option's default being used.
* testing/lisp/test-ox.el (test-org-export/get-inbuffer-options):
Add test.

This restores the behavior to what it was before b4e91b7e9 (New
function: org-collect-keywords, 2020-04-26).

Reported-by: Kaushal Modi <kaushal.modi@gmail.com>
<CAFyQvY2ZGJPv=Ajx2_1xR0otv=VQYHcrUwzS46PmnyJ2Co1KVg@mail.gmail.com>
2020-05-19 20:33:15 -04:00
Nicolas Goaziou 93c50e3a78 Speed-up `org-(next|previous)-visible-heading
* lisp/org.el (org-next-visible-heading): Do not stop at every
invisible heading.
(org-previous-visible-heading): Use `org-next-visible-heading'.
2020-05-15 23:48:48 +02:00
Nicolas Goaziou 99bb514f7f Follow links with RET even in read-only buffers
* lisp/org.el (org-return): Fix `interactive' arguments.
* testing/lisp/test-org.el (test-org/return): Add test.

Reported-by: Gregor Zattler <telegraph@gmx.net>
<http://lists.gnu.org/r/emacs-orgmode/2020-05/msg00247.html>
2020-05-14 23:28:10 +02:00
Jonas Bernoulli 71604cbc2d Fix typos 2020-05-13 23:27:49 -04:00
Nicolas Goaziou 88f5ed91c5 `org-startup-folded' defaults to `showeverything'
* lisp/org.el (org-startup-folded): New default value.

See <http://lists.gnu.org/r/emacs-orgmode/2020-04/msg00452.html>.
2020-05-12 12:33:21 +02:00
Nicolas Goaziou 20c1322194 Small fix in `org-cycle-hide-property-drawers'
* lisp/org.el (org-cycle-hide-property-drawers): Ignore case when
looking for the end of a property drawer.
2020-05-10 23:55:12 +02:00
Nicolas Goaziou 6076f40cae Better checks to avoid re-hiding folded drawers
* lisp/org.el (org-hide-drawer-all): Hide regular drawers even in
folded headlines.  They do not use the same invisibility spec.
However, when the heading is folded, still ignore property drawers.
(org-cycle-hide-property-drawers): Only skip property drawers folded
with or inside `outline' overlays.
2020-05-10 11:14:40 +02:00
Nicolas Goaziou eabc9712b7 Fix code typo.
* lisp/org.el (org-cycle-hide-property-drawers): Fix code typo.
2020-05-10 10:46:21 +02:00
Nicolas Goaziou 1bf2b33e27 Refactor `org-global-cycle'
* lisp/org.el (org-global-cycle): Small refactoring. Always assume
`org-mode' as major mode.  Show all is not necessary.
2020-05-10 02:22:19 +02:00
Nicolas Goaziou a9ba5dc2dc Fix `org-content'
* lisp/org.el (org-content): Use Org function instead of Outline's for
a small speed-up. Properly handle numeric argument.
2020-05-10 02:20:52 +02:00
Nicolas Goaziou f1c0f34772 Small speed-up to `org-overview'
* lisp/org.el (org-overview): Use direct Org function instead of
Outline's for a slight speed-up.
2020-05-10 02:19:43 +02:00
Nicolas Goaziou c744d3cf4c Do not fold drawers hidden inside folded blocks
* lisp/org.el (org-hide-drawer-all):
(org-cycle-hide-property-drawers): Do not fold invisible drawers,
ignoring the type of invisibility spec.
2020-05-09 23:41:39 +02:00
Kyle Meyer b0fb4599c7 Merge branch 'maint' 2020-05-09 15:54:44 -04:00
Matt Lundin 6e50b22ff0 Fix bug that placed cursor incorrectly when setting tags
* lisp/org.el (org-set-tags-command): Only fix cursor position in very
specific circumstances (i.e., when cursor is on an empty headline).
* testing/lisp/test-org.el (test-org/set-tags-command): Add tests
related to point position.

Modified-by: Kyle Meyer <kyle@kyleam.com>
  Adjusted for review comments and added tests.
2020-05-09 15:50:37 -04:00
Nicolas Goaziou 92bc33287e Do not fold property drawers in already folded areas
* lisp/org.el (org-cycle-hide-property-drawers): Do not re-fold
drawer.
2020-05-09 19:09:39 +02:00
Nicolas Goaziou 76f5cbd5a5 Properly hide new property drawers
* lisp/org.el (org-insert-property-drawer): Fix typo.
2020-05-09 18:56:34 +02:00
Nicolas Goaziou 3435b05922 Do not move point when cycling subtree visibility
* lisp/org.el (org-cycle-hide-property-drawers): Fix a bug introduced
in 1027e02569.
2020-05-09 18:35:11 +02:00
Kyle Meyer 86ec470bfc Correct :package-version typo from 1027e0256
* lisp/org.el (org-cycle-hook): Fix recent typo in package-version
value.
2020-05-09 11:14:46 -04:00
Nicolas Goaziou 074ea1629c Deprecate `org-cycle-hide-drawers'
* lisp/org.el (org-hide-drawer-all): New function.
(org-cycle-hide-drawers): move...
* lisp/org-compat.el (org-cycle-hide-drawers): ... here.
* lisp/org-agenda.el (org-agenda-show-1): Remove use of
`org-cycle-hide-drawers'.
2020-05-09 15:30:02 +02:00
Nicolas Goaziou 1027e02569 Implement `org-cycle-hide-property-drawers'
* lisp/org.el (org-cycle-hide-property-drawers): New function.
(org-set-startup-visibility):
(org-clean-visibility-after-subtree-move):
(org-sort-entries):
(org-cycle-hook):
(org-show-entry):
* lisp/org-agenda.el (org-agenda-show-and-scroll-up): Use new function.
2020-05-09 15:20:39 +02:00
Nicolas Goaziou 8b05c06d42 Use `outline' invisibility spec for property drawers
* lisp/org.el (org--hide-wrapper-toggle): Use `outline' invisibility
spec when hiding a property drawer.
(org-cycle): Fix typo.
2020-05-09 13:30:27 +02:00
Nicolas Goaziou ed0e75d241 Fix typo
* lisp/org.el (org-at-property-drawer-p): Fix typo.
* testing/lisp/test-org.el (test-org/at-property-drawer-p): Update
name and function calls.  Add a test.
2020-05-09 12:58:09 +02:00
Nicolas Goaziou 8580ef6ec1 Rename `org-at-property-block-p'
* lisp/org.el (org-at-property-drawer-p): New name.
* lisp/org-compat.el (org-at-property-block-p): Obsolete alias.
2020-05-09 12:50:34 +02:00
Nicolas Goaziou 7e7f5c6f03 Rewrite `org-at-property-block-p'
* lisp/org.el (org-comment-regexp): New variable.
(org-at-property-block-p): Rewrite function to check syntax locally.
(org-at-comment-p): Use new variable.
2020-05-09 12:47:37 +02:00
Kévin Le Gouguec e47b053d9a compat: Add `org-newline-and-indent'
* lisp/org-compat.el (org-newline-and-indent): New function.
* lisp/org.el (org--newline): Use new function.
2020-05-07 21:34:32 +02:00
Nicolas Goaziou e304d58978 Revert "Fix docstring"
This reverts commit 5d308e2728.
2020-05-07 21:29:46 +02:00
Nicolas Goaziou 5d308e2728 Fix docstring
* lisp/org.el (org--newline): Fix docstring.
2020-05-07 14:10:05 +02:00
Kévin Le Gouguec d3e6b58004 Make RET and C-j obey `electric-indent-mode'
* lisp/org-compat.el (org-return-indent): Deprecate this command.
* lisp/org-keys.el (org-mode-map): Rebind C-j to a command emulating
`electric-newline-and-maybe-indent'.
* lisp/org.el (org-cdlatex-environment-indent): Stop using the now
obsolete function.
(org--newline): New helper function.
(org-return): Use it to transparently handle `electric-indent-mode'.
(org-return-and-maybe-indent): New command to emulate
`electric-newline-and-maybe-indent' while taking care of Org special
cases (tables, links, timestamps).
* testing/lisp/test-org.el (test-org/with-electric-indent,
test-org/without-electric-indent): New tests.
* testing/org-test.el (org-test-with-minor-mode): New helper to set a
minor mode to a specific state, and reset it afterward.
2020-05-07 12:14:30 +02:00
Kyle Meyer b171ff02f6 Merge branch 'maint' 2020-05-05 22:38:00 -04:00
Kyle Meyer f4fed7ea0c org: Retain prefix arg when dispatching dynamic block commands
* lisp/org.el (org-dynamic-block-insert-dblock): Add an interactive-p
argument that is non-nil for interactive calls and signals to call the
dynamic block function interactively.

org-clock-report takes a prefix argument.  When it had a regular
binding, this was easy to access.  As of 34b71a0ca (Add a dispatcher
command for inserting dynamic blocks, 2018-12-23), its only "binding"
is through the dynamic block dispatcher.  Make it possible to supply a
prefix argument in that context too.
2020-05-05 22:31:43 -04:00
Nicolas Goaziou ea6a9bd6fa Add menu entry for `org-insert-structure-template'
* lisp/org.el (org-org-menu): Add entry.

Reported-by: John Ciolfi <ciolfi@mathworks.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-11/msg00157.html>
2020-05-06 02:47:35 +02:00
Nicolas Goaziou 271f5a6829 Insert planning in visible part of narrowed buffer
* lisp/org.el (org-add-planning-info): Make sure planning info appears
in the visible part of a narrowed buffer.
* testing/lisp/test-org.el (test-org/deadline):
(test-org/schedule): Update tests.

Reported-by: Michaël Cadilhac <michael@cadilhac.name>
<http://lists.gnu.org/r/emacs-orgmode/2019-09/msg00091.html>
2020-05-06 02:43:42 +02:00
Nicolas Goaziou 046f1d22ff org-ellipsis cannot be local variable
* lisp/org.el (org-ellipsis): docstring specifies it cannot be a local
variable.  As a consequence, remove :safe keyword.

Reported-by: "Mark E. Shoulson" <mark@shoulson.com>
<http://lists.gnu.org/r/emacs-orgmode/2020-01/msg00145.html>
2020-05-06 02:15:22 +02:00
Nicolas Goaziou 7d35d46494 Fix :package-version values
* lisp/ol.el (org-link-email-description-format):
* lisp/org-src.el (org-src-tab-acts-natively):
* lisp/org-table.el (org-table-header-line-p):
* lisp/org.el (org-loop-over-headlines-in-active-region):
(org-fontify-done-headline): Use correct (PACKAGE . VERSION-STRING)
value.  Remove :version keyword since :package-version overrides it.
2020-05-06 02:12:23 +02:00
Nicolas Goaziou 1e1328b41c Move some functions in "org-macs.el"
* lisp/org.el (org--line-empty-p):
(org-previous-line-empty-p):
(org-next-line-empty-p): Move these functions...
* lisp/org-macs.el: ... here.
2020-04-30 11:23:11 +02:00
Nicolas Goaziou c672651fef Small speed-up for `org-collect-keywords'
* lisp/org.el (org--collect-keywords-1): Do not really activate Org
mode in setup files.
2020-04-28 09:50:46 +02:00
Nicolas Goaziou 80865bab64 Improve SETUPFILE error handling
* lisp/org.el (org-file-contents): Return nil when NOERROR is non-nil
and an error is raised.
(org--collect-keywords-1): Do not raise an error when an invalid
SETUPFILE keyword is met.
2020-04-27 23:31:05 +02:00
Nicolas Goaziou b223a28063 Fix last commit
* lisp/org.el (org--collect-keywords-1): Fix thinko.
2020-04-26 18:51:16 +02:00
Nicolas Goaziou 053676d284 Better handling of filenames in `org-collect-keywords'
* lisp/org.el (org-collect-keywords):
(org--collect-keywords-1): Add a new argument to take into
consideration current directory.
2020-04-26 18:40:24 +02:00
Nicolas Goaziou b4e91b7e94 New function: org-collect-keywords
* lisp/org.el (org-set-regexps-and-options): Use new function.
(org-collect-keywords):
(org--collect-keywords-1): New functions.
* lisp/ox.el (org-export--get-inbuffer-options): Use new function.
2020-04-26 18:06:15 +02:00
Kyle Meyer 3c31941139 Fix loading issues related to org-refile.el move
* lisp/org-refile.el (org-directory):
(org-default-notes-file):
(org-reverse-note-order):
(org-outline-path-cache):
(org--get-outline-path-1):
(org-get-outline-path):
(org-format-outline-path):
(org-display-outline-path): Move back to org.el.
* lisp/org-id.el: Require org-refile.
* lisp/org-refile.el: Require org.

f636cf91b (New org-refile.el file with refile definitions, 2020-02-05)
moved refile-related code into a new file, org-refile.el.  This
introduced several dependency issues, which can be seen by running
`make single'.

Many of these issues could be solved by loading org.el in
org-refile.el and loading org-refile in several libraries that depend
on moved functionality.  However, there would still be a circular
dependency because org.el depends on three variables now defined in
org-refile.el.  Also, conceptually there is the problem that the
outline path functionality, despite being used primarily for refile
internally, is now used more generally in third-party code and in a
couple of spots within this repo.

Resolve the above situation by moving the three org-refile.el
variables that org.el needs and the outline path bits back to org.el.

Reported-by: Kaushal Modi <kaushal.modi@gmail.com>
<CAFyQvY1VR5t_a=JO01+QWbUQk_9i8+2XG6W2-mg-DpFzjz9seg@mail.gmail.com>

Reported-by: Ihor Radchenko <yantar92@gmail.com>
<878sj74lfp.fsf@localhost>

Reported-by: Ryan C. Thompson <rct@thompsonclan.org>
<8861c9e9-6c19-ea8f-6a90-7a466782096f@thompsonclan.org>
2020-04-26 01:29:33 -04:00
Nicolas Goaziou 12515da332 Fix LaTeX fragments fontification
* lisp/org.el (org-do-latex-and-related): Limit false positive, e.g.,
in ORG-NEWS file.  Small speedup.
2020-04-24 00:52:14 +02:00
Nicolas Goaziou 5afacc5fce Do not apply drawer face also on indentation
* lisp/org.el (org-fontify-drawers): Do not apply drawer face also on
indentation.

Reported-by: Norman Tovey-Walsh <ndw@nwalsh.com>
<http://lists.gnu.org/r/emacs-orgmode/2020-04/msg00330.html>
2020-04-21 18:42:43 +02:00
Kyle Meyer bab2995c71 Merge branch 'maint' 2020-04-20 20:47:24 -04:00
Kyle Meyer c716b7c085 org-id: Allow file name to be overridden on ID creation
* lisp/org-id.el (org-id-overriding-file-name): New variable.
(org-id-get): Prefer org-id-overriding-file-name over the buffer's
file name if set.
(org-id-locations-load): Give a more informative error when file is
nil.
* lisp/org.el (org-clone-subtree-with-time-shift): Let-bind
org-id-overriding-file-name, enabling an ID to be created for a cloned
subtree rather than crashing with a type error.

Note that, before 9865e6bd8 (org-id: Speedup, minor functional change
and fix, 2019-08-01), this wouldn't fail with a type error.  However,
the ID would not be added correctly because org-id-add-location simply
wouldn't process the ID at all if the passed file was nil.

Reported-by: Ian Eure <ian@retrospec.tv>
<87a73caayj.fsf@phaktory>
2020-04-20 20:46:56 -04:00
Nicolas Goaziou 0d1d56f86a Merge branch 'maint' 2020-04-19 00:04:27 +02:00
Nicolas Goaziou eb2d6a8cd4 Fix some fontification issues
* lisp/org.el (org-inside-LaTeX-fragment-p): properly find limit.

This commit partly reverts ad8e508e93.
2020-04-19 00:02:53 +02:00
Nicolas Goaziou 43956c693b Small refactoring to `org-cycle'
* lisp/org.el (org-cycle): Integrate new folding functions for
drawers.  Small refactoring, in particular to minimize the number of
calls to `org-element-at-point'.
2020-04-18 18:34:56 +02:00
Nicolas Goaziou 692f191f84 Refactor block and drawer visibility toggling
* lisp/org.el (org--hide-wrapper-toggle): New function.
(org-hide-block-toggle):
(org-hide-drawer-toggle): Use new function.
2020-04-18 18:34:56 +02:00
Nicolas Goaziou 4fbc36a057 Deprecate `org-hide-block-toggle-all'
* lisp/org.el (org-hide-block-toggle-all): move...
* lisp/org-compat.el (org-hide-block-toggle-all): ... here.
2020-04-18 18:34:56 +02:00
Nicolas Goaziou cd9e000d86 Deprecate `org-hide-block-toggle-maybe'
* lisp/org.el (org-hide-block-all): Use `org-hide-block-toggle'.
(org-hide-block-toggle-maybe): move...
* lisp/org-compat.el (org-hide-block-toggle-maybe): ... here.
2020-04-18 18:34:56 +02:00
Nicolas Goaziou 09f1b74f25 Change signature for `org-hide-block-toggle'
* lisp/org.el (org-hide-block-toggle): Add two optional arguments.
Small refactoring.
2020-04-18 18:34:55 +02:00
Nicolas Goaziou b4f77b1f9a Deprecate `org-flag-drawer'
* testing/lisp/test-org.el (test-org/flag-drawer): Remove tests.
* lisp/org-clock.el (org-clock-jump-to-current-clock):
* lisp/org.el (org-cycle-hide-drawers): Use `org-hide-drawer-toggle'
instead.
(org-insert-drawer)
(org-hide-drawer-toggle): Use `org-flag-region' instead.
(org-flag-drawer): move...
* lisp/org-compat.el (org-flag-drawer): ... here.
2020-04-18 18:34:55 +02:00
Nicolas Goaziou e6cd5a50d1 Drawer visibility tooling mimics blocks'
* lisp/org.el (org-hide-drawer-toggle): New function.
(org-flag-drawer): Assume either a parser drawer or buffer positions
are provided.  Remove unnecessary checks, since this is a low-level function.
* testing/lisp/test-org.el (test-org/hide-drawer-toggle): New test.
(test-org/flag-drawer):
(test-org/show-set-visibility): Update tests.
2020-04-18 18:34:55 +02:00
Kyle Meyer 9994e8ee89 org.el: Silence some byte-compiler warnings
The remaining ones are related to the org-refile.el movement in
f636cf91b (New org-refile.el file with refile definitions,
2020-02-05).
2020-04-15 22:00:51 -04:00
Kyle Meyer 65f5bb6e96 Merge branch 'maint' 2020-04-12 18:27:16 -04:00
Kyle Meyer c77edde765 org-time-stamp-inactive: Remove inaccurate statements
* lisp/org.el (org-time-stamp-inactive): Drop incorrect statements in
docstring about differences between inactive and active timestamps.

S-cursor commands work on inactive time stamp, and clicking on an
inactive time stamp visits the day in the agenda, just as it does for
an active time stamp.

Reported-by: Jorge P. de Morais Neto <jorge@disroot.org>
  <87a73gstpz.fsf@disroot.org>
2020-04-12 18:26:31 -04:00
Gustav Wikström 8e3b73d4dc Allow storing and following ID links before first heading
* lisp/org.el (org-find-property): Make org-find-property work
  correctly also before first heading.

* lisp/org-id.el (org-id-store-link): Make it possible to store ID
  links also before first heading.
2020-04-10 10:04:12 +02:00
Kyle Meyer 9e385d1bab Merge branch 'maint' 2020-04-09 22:29:48 -04:00
Kyle Meyer 6f1b837492 Silence byte-compiler
These both show up when compiling files separately (e.g., 'make
single').

ob-core already assumes ob-tangle is loaded based on declared
functions, presumably because ob.el is given responsibility for
collectively loading these pieces.  org.el loads org-attach within the
body of a function before calling org-attach-dir.
2020-04-09 22:27:06 -04:00
Nicolas Goaziou 44ec473c19 Small fix
* lisp/org.el (org-set-tags-command): Also avoid using `looking-back',
in particular without a LIMIT argument.  This silences the
byte-compiler.

(cherry picked from commit 83518daf11)
2020-04-09 22:25:30 -04:00
Kyle Meyer 06c7a54f0b org-shift*: Honor org-support-shift-select for table cell movement
* lisp/org.el (org-support-shift-select): Mention table context.
(org-shiftup):
(org-shiftdown):
(org-shiftright):
(org-shiftleft): Don't move table cells when org-support-shift-select
is `always'.

Reported-by: Vladimir Panteleev <thecybershadow@gmail.com>
<CAHhfkvw8O4cSxe5CJXQ8L+ce+9wOhuM==Xv9rB2NVhsCgYANdA@mail.gmail.com>
2020-04-09 22:24:55 -04:00
Kyle Meyer 4fde1ce64a Merge branch 'maint' 2020-04-08 22:57:05 -04:00
Leo Vivier acd1635966 org: Fix docstring typo
* lisp/org.el (org-time-stamp-inactive): Change ‘active’ to ‘inactive’
in the docstring.

TINYCHANGE
2020-04-08 22:55:00 -04:00
Nicolas Goaziou fb593f7556 Handle ".+" repeater with hours step
* doc/org-manual.org (Repeated tasks): Document new feature.
* lisp/org.el (org-auto-repeat-maybe): Repeat from now when ".+" is
used in conjunction of hours increment.
* testing/lisp/test-org.el (test-org/auto-repeat-maybe): Add tests.
2020-04-06 15:18:48 +02:00
Nicholas Vollmer 097b4e6ca0 Use defvaralias for priority variable aliases
* lisp/org.el (org-highest-priority):
(org-lowest-priority):
(org-default-priority): Define as a variable alias, not a function
alias.

When these variables were renamed in e11f50648 (2020-01-30), variable
aliases were defined for the old names, but these were incorrectly
switched to function aliases in e062ca719 (org.el: Use `defalias' for
priority aliases, 2020-02-24).

<https://lists.gnu.org/archive/html/emacs-orgmode/2020-03/msg00083.html>

TINYCHANGE
2020-03-23 23:48:39 -04:00
Mattias Engdegård 0c046aecf0 Backport commit 0c6c8aa00 from Emacs
See discussion at
https://lists.gnu.org/archive/html/emacs-devel/2020-01/msg00749.html .

* lisp/org-element.el (org-element--cache-sync-requests):
* lisp/org.el (org-sparse-tree):
Remove redundant backslashes.

Remove (or double) redundant backslashes in string literals
0c6c8aa002d321db61afdd14c70744f7bc27f268
Mattias Engdegård
Fri Jan 24 23:04:34 2020 +0100
2020-03-15 22:51:31 -04:00
Kyle Meyer fed3c07390 Update customize-package-emacs-version-alist
* lisp/org.el (customize-package-emacs-version-alist): Map Org 9.4 to
Emacs 28.1.

Emacs 27 is nearing release.  A sync of 9.4 would be with the current
version for Emacs's master branch.
2020-03-15 22:51:24 -04:00
Bastien 30d0b6e1f6 org.el: Tiny enhancements `org-format-latex-as-html'
* lisp/org.el (org-create-math-formula): Use `warn'.
(org-format-latex-as-html): Don't set a free variable, return
the string directly.
2020-02-24 11:43:45 +01:00
Bastien e062ca7199 org.el: Use `defalias' for priority aliases.
* lisp/org.el (org-highest-priority, org-lowest-priority)
(org-default-priority): Use `defalias'.
2020-02-24 11:41:33 +01:00
Bastien 3a543a981b Enhancements to `org-latex-to-html-convert-command'
* lisp/org.el (org-latex-to-html-convert-command): Fix option.

* etc/ORG-NEWS: Document `org-latex-to-html-convert-command'
as a new option.
2020-02-24 11:21:40 +01:00
Matt Huszagh 860cfe7f13 Add an option to convert LaTeX fragments to HTML
* lisp/org.el (org-latex-to-html-convert-command): New option to
convert a LaTeX fragment directly into HTML.
(org-format-latex): Use the new option.
(org-format-latex-as-html): Do the conversion and return HTML.
* lisp/ox-html.el (org-html-with-latex): Document the 'html symbol.
(org-html-format-latex): This custom HTML conversion, like MathJax,
doesn't require preprocessing.
(org-html-latex-fragment): Use the new option.

This allows you to set a custom command
`org-latex-to-html-convert-command' that will take as input a LaTeX
fragment and use it to generate HTML for export.  This is very
open-ended in the sense that you can use any shell-command you
want.  This has been added in order to use latexml, but you could
use any other tool that generates HTML output text.
2020-02-24 11:16:01 +01:00
Nicolas Goaziou fe5962ce9b Fix some time stamps regexps
* lisp/org.el (org-ts--internal-regexp): New variable.
(org-ts-regexp):
(org-ts-regexp-inactive):
(org-ts-regexp-both): Use new variable.
(org-maybe-keyword-time-regexp): Remove variable.
(org-logbook-drawer-re): Simplify regexp.

Also move "Timestamp" section higher in the library (topological
order). This change should pacify "Relint" checks.
2020-02-23 12:41:33 +01:00
Nicolas Goaziou 83518daf11 Small fix
* lisp/org.el (org-set-tags-command): Also avoid using `looking-back',
in particular without a LIMIT argument.  This silences the
byte-compiler.
2020-02-23 10:30:22 +01:00
Bastien e360cd8f3a Change the default values for several options
* doc/org-manual.org (Execute commands in the active region):
Update the manual given the new defaults.

* etc/ORG-NEWS (New default settings for some options): New
section.

* lisp/org.el (org-loop-over-headlines-in-active-region):
Change the default value to `t'.
(org-fontify-done-headline): Ditto.

* lisp/org-agenda.el
(org-agenda-loop-over-headlines-in-active-region): Ditto.

* lisp/org-src.el (org-src-tab-acts-natively): Ditto.
2020-02-21 16:35:56 +01:00
Bastien 450452de4b org.el: Two minor fixes
* lisp/org.el (org-set-tags-command): Fix point position after
setting tag at the beginning of a blank heading.
(org-kill-line): Prevent from throwing an error when killing
the headline while point is right after the * chars.
2020-02-21 16:12:28 +01:00
Bastien 05f294ec5b org.el: Two minor fixes
* lisp/org.el (org-set-tags-command): Fix point position after
setting tag at the beginning of a blank heading.
(org-kill-line): Prevent from throwing an error when killing
the headline while point is right after the * chars.
2020-02-21 16:12:11 +01:00
Bastien 6f943b1da5 org.el (org-use-sub-superscripts): Remove old comment in docstring
* lisp/org.el (org-use-sub-superscripts): Remove old comment
in docstring.
2020-02-19 22:26:47 +01:00
Bastien bc75b75d9f org.el (org-special-ctrl-k): Enhance docstring
* lisp/org.el (org-special-ctrl-k): Enhance docstring.

Thanks to Marco Wahl for suggesting this change.
2020-02-19 21:43:31 +01:00
Bastien 39f1c1f1e1 Merge branch 'maint' 2020-02-19 14:35:05 +01:00
Bastien 10607d45ae org.el: Fix typo in docstring
* lisp/org.el (org-special-ctrl-k): Fix typo in docstring.
2020-02-19 14:34:58 +01:00
Bastien fae16ed8f5 Add `generated-autoload-file' buffer local variable
* lisp/org.el:
* lisp/org-num.el:
* lisp/org-macs.el:
* lisp/org-list.el:
* lisp/org-lint.el:
* lisp/org-keys.el:
* lisp/org-goto.el:
* lisp/org-duration.el:
* lisp/org-compat.el:
* lisp/org-colview.el:
* lisp/org-capture.el:
* lisp/org-agenda.el:
* lisp/ol.el: Add `generated-autoload-file' buffer local variable.

This is needed when compiling Org files within GNU Emacs.
2020-02-18 23:37:24 +01:00
Bastien 6a1f6ee1f8 Tiny formatting fixes
* lisp/ox.el (org-export-table-dimensions):
* lisp/ox-texinfo.el (org-texinfo-template):
* lisp/ox-md.el (org-md-link):
* lisp/ox-icalendar.el (org-icalendar-use-UTC-date-time-p):
* lisp/ox-ascii.el (org-ascii-fixed-width):
* lisp/org.el (org-context):
* lisp/org-table.el (org-table-eval-formula)
(org-table-export):
* lisp/org-refile.el:
* lisp/org-plot.el (org-plot/gnuplot-to-grid-data):
* lisp/org-num.el (org-num):
* lisp/org-mouse.el (org-mouse-popup-global-menu)
(org-mouse-context-menu):
* lisp/org-macro.el (org-macro):
* lisp/org-lint.el (org-lint):
* lisp/org-keys.el (org-keys):
* lisp/org-duration.el:
* lisp/org-clock.el (org-clock-get-last-clock-out-time)
(org-clock-update-mode-line, org-find-open-clocks):
* lisp/org-agenda.el (org-diary)
(org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item)
(org-agenda-highlight-todo, org-cmp-alpha)
(org-agenda-filter-by-category):
* lisp/ol.el (org-link-expand-abbrev, ol):
* lisp/ol-docview.el (ol-docview):
* lisp/ol-bibtex.el (org-execute-file-search-in-bibtex)
(org-bibtex, org-bibtex-read):
* lisp/ol-bbdb.el (org-bbdb-anniversary-description):
* lisp/ob-tangle.el (org-babel-tangle-jump-to-org):
* lisp/ob-table.el (org-babel-table-truncate-at-newline):
* lisp/ob-stan.el:
* lisp/ob-sqlite.el (org-babel-sqlite-table-or-scalar):
* lisp/ob-sql.el:
* lisp/ob-shen.el:
* lisp/ob-shell.el (org-babel-prep-session:shell)
(org-babel-prep-session:shell):
* lisp/ob-sed.el (org-babel-execute:sed)
(org-babel-execute:sed):
* lisp/ob-screen.el:
* lisp/ob-sass.el:
* lisp/ob-ruby.el (org-babel-prep-session:ruby)
(org-babel-prep-session:ruby):
* lisp/ob-ref.el (org-babel-ref-resolve, ob-ref):
* lisp/ob-python.el (org-babel-prep-session:python)
(org-babel-prep-session:python):
* lisp/ob-plantuml.el:
* lisp/ob-picolisp.el:
* lisp/ob-perl.el:
* lisp/ob-org.el:
* lisp/ob-octave.el (org-babel-prep-session:octave)
(org-babel-prep-session:octave)
(org-babel-octave-evaluate-session):
* lisp/ob-ocaml.el:
* lisp/ob-mscgen.el (org-babel-execute:mscgen)
(org-babel-execute:mscgen):
* lisp/ob-maxima.el:
(ob-maxima):
* lisp/ob-matlab.el:
* lisp/ob-makefile.el:
* lisp/ob-lua.el (org-babel-prep-session:lua)
(org-babel-prep-session:lua):
* lisp/ob-lisp.el:
* lisp/ob-ledger.el:
* lisp/ob-latex.el (org-babel-expand-body:latex)
(org-babel-expand-body:latex, ob-latex):
* lisp/ob-js.el:
* lisp/ob-java.el:
* lisp/ob-io.el (org-babel-prep-session:io)
(org-babel-prep-session:io):
* lisp/ob-hledger.el:
* lisp/ob-haskell.el:
* lisp/ob-groovy.el (org-babel-groovy-wrapper-method)
(org-babel-groovy-evaluate):
* lisp/ob-gnuplot.el:
* lisp/ob-fortran.el (org-babel-expand-body:fortran)
(org-babel-expand-body:fortran):
* lisp/ob-forth.el (org-babel-forth-session-execute):
* lisp/ob-exp.el (ob-exp):
* lisp/ob-eval.el:
* lisp/ob-emacs-lisp.el:
* lisp/ob-ebnf.el:
* lisp/ob-dot.el:
* lisp/ob-ditaa.el:
* lisp/ob-css.el:
* lisp/ob-core.el (org-babel-put-rownames):
* lisp/ob-coq.el:
* lisp/ob-comint.el:
* lisp/ob-calc.el:
* lisp/ob-awk.el:
* lisp/ob-asymptote.el:
* lisp/ob-abc.el:
* lisp/ob-R.el (org-babel-prep-session:R): Formatting fixes.
2020-02-18 22:57:37 +01:00
Bastien 325962c003 org.el: New option `org-startup-numeroted' and #+startup: num
* lisp/org.el (org-startup-numeroted): New option.
(org-startup-options): New "num" and "nonum" startup keywords.
(org-mode): Startup according `org-startup-numeroted' or the
local #+startup setup.

* doc/org-manual.org (Dynamic Headline Numbering)
(Summary of In-Buffer Settings): Document
`org-startup-numeroted' and #startup: num.

* etc/ORG-NEWS: Document the new startup option.

Thanks to Guillaume MULLER for this idea.
2020-02-18 13:27:33 +01:00
Bastien f25b40621b Merge branch 'maint' 2020-02-17 14:23:00 +01:00
Bastien fb188adda0 org.el: Move `org-agenda-diary-file' to org-agenda.el
* lisp/org-agenda.el (org-agenda-diary-file): Move from org.el.
* lisp/org-colview.el (org-agenda-diary-file): Move to org-agenda.el.
2020-02-17 14:22:30 +01:00
Bastien fb3ec41dac Merge branch 'maint' 2020-02-14 08:38:03 +01:00
Bastien 29f44df758 Fix fa24cd541 again 2020-02-14 08:36:54 +01:00
Bastien 66810d2121 Bump version to 9.3.6 2020-02-13 08:47:28 +01:00
Kyle Meyer ea94a0da43 Merge branch 'maint' 2020-02-13 00:04:16 -05:00
Mattias Engdegård 7c63da6fb9 Backport commit 32763dac4 from Emacs
Since 'add-to-list', being a plain function, cannot access lexical
variables, such use must be rewritten for correctness.
(Some instances actually do work thanks to a compiler macro,
but it's not something code should rely on.)

* lisp/org.el (org-reload): Replace add-to-list with push.

Replace add-to-list to lexical variable with push (bug#39373)
32763dac46e61cc34e8fe4d19df4905d09c1a27f
Mattias Engdegård
Sat Feb 1 22:27:23 2020 +0100
2020-02-13 00:02:47 -05:00
Bastien 9712d1cdff Only fontify emphasis markers when they are visible
* lisp/org.el (org-do-emphasis-faces): Only fontify emphasis
markers when they are visible.

Thanks to d.williams for provided a bug report and this fix.
2020-02-13 00:10:33 +01:00
Bastien be93859c78 org.el (org-babel-load-file): Load emacs-lisp and elisp src blocks
* lisp/org.el (org-babel-load-file): Load both "emacs-lisp"
and "elisp" source blocks.

* lisp/ob-tangle.el (org-babel-tangle-file)
(org-babel-tangle, org-babel-tangle-collect-blocks): Use a
regular expression to match the language(s) to tangle.

Thanks to Troy Hinckley for reporting this.
2020-02-12 22:40:45 +01:00
Bastien 73445c0fab Merge branch 'maint' 2020-02-12 17:56:43 +01:00
Bastien fa24cd541d org.el (org-babel-load-file): Don't get fooled by symlinks
* lisp/org.el (org-babel-load-file): Don't get fooled by symlinks.
2020-02-12 17:43:02 +01:00
Bastien ea47d9ebb4 Merge branch 'maint' 2020-02-12 11:27:55 +01:00
Bastien a03e57cdaf Bump version for 9.3.5 2020-02-12 11:27:01 +01:00
Bastien 4028cc731b Use "#+attr_org: :radio" before lists to enable radio buttons
* doc/org-manual.org (Checkboxes): Document the use of
"#+attr_org".

* lisp/org.el (org-ctrl-c-ctrl-c): When the list at point is
preceded by "#+attr_org: :radio" use `org-toggle-radio-button'
instead of `org-toggle-checkbox'.

* lisp/org-list.el (org-at-radio-list-p): New defsubst.
(org-toggle-checkbox): Use it.

* etc/ORG-NEWS: Document the use of "#+attr_org".
2020-02-12 01:51:46 +01:00
Bastien 561feb128d Add `org-toggle-radio-button' and related minor mode
* doc/org-manual.org (Checkboxes): Document the new minor mode
and command.

* lisp/org-keys.el (org-mode-map): Bind C-c C-x C-r to
`org-toggle-radio-button'.

* lisp/org-list.el (org-list-checkbox-radio-mode): New minor
mode to let C-c C-c call `org-toggle-radio-button' instead of
`org-toggle-checkbox'.
(org-toggle-radio-button): New command.

* lisp/org.el (org-ctrl-c-ctrl-c): Use `org-toggle-radio-button'.

* etc/ORG-NEWS: Document the new minor mode and command.

Thanks to Phil Sainty for sharing this idea and links to similar
implementations.
2020-02-11 23:55:53 +01:00
Bastien 0330efc865 Merge branch 'maint' 2020-02-11 10:08:14 +01:00
Bastien 95ff24dfc4 org.el: Fix bug occurring when setting effort value
* lisp/org.el (org-refresh-property)
(org-refresh-category-properties): Tiny docstring or comment
fixes.
(org-set-effort): Fail early when the effort value is wrong.

Thanks to Firmin Martin for reporting this.
2020-02-11 10:06:13 +01:00
Bastien e83b2b50df Merge branch 'maint' 2020-02-11 07:54:47 +01:00
Bastien f7175e4878 org.el: Fix bug about cycling
* lisp/org.el (org-cycle-internal-local): Handle
`org-cycle-include-plain-lists'.

Thanks to Bruce Tulloch for reporting this.
This fixes a bug introduced in commit c2aebcee.
2020-02-11 07:54:36 +01:00
Marco Wahl 1c6336652b org: Tiny refactoring
* lisp/org.el (org-redisplay-inline-images): Save one line
of code.  Also make the docstring more precise.
2020-02-10 13:10:08 +01:00
Bastien 63ca986bea Fix e3b79ad2b 2020-02-10 08:48:55 +01:00
Bastien e4be72d14b org.el: Fix typo in docstring
* lisp/org.el (org-startup-truncated): Fix typo in docstring.
2020-02-10 00:33:54 +01:00
Bastien 2096c9c76f org.el: Tiny code cleanup
* lisp/org.el (org-fixup-indentation): Remove redundant
`save-excursion'.
2020-02-09 18:25:35 +01:00
Bastien 97269bc6fa Merge branch 'maint' 2020-02-09 17:48:41 +01:00
Bastien a0f3bbd3c2 Revert "org.el: Fix `org-indent-region' bug in source block"
This reverts commit 321b119c44.
2020-02-09 17:48:19 +01:00
Bastien e3b79ad2bf Allow a new value for `org-adapt-indentation'
* doc/org-manual.org (Hard indentation): Add a footnote
mentioning the new value for `org-adapt-indentation'

* etc/ORG-NEWS: Mention the new value for
`org-adapt-indentation'.

* lisp/org.el (org-logbook-drawer-re): New constant.
(org-adapt-indentation): Allow 'headline-data as a new value
to only adapt indentation for headline data.
(org-fixup-indentation, org--get-expected-indentation): Handle
`org-adapt-indentation' set to 'headline-data.

* lisp/org-indent.el (org-indent-mode)
(org-indent-add-properties): Handle `org-adapt-indentation'
set to 'headline-data.

* lisp/org-clock.el (org-clock-in): Call `org-indent-line'
after clock timestamp insertion.
2020-02-09 17:30:42 +01:00
Bastien 88794cab06 New option `org-clock-auto-clockout-timer'
* etc/ORG-NEWS (New option ~org-clock-auto-clockout-timer~):
Mention the new option `org-clock-auto-clockout-timer'.

* doc/org-manual.org (Clocking out automatically after some
idle time): Document `org-clock-auto-clockout-timer'.

* lisp/org.el (org-clock-auto-clockout-insinuate): New
function to add a hook for auto-clocking out the current tasks
after `org-clock-auto-clockout-timer' seconds.

* lisp/org-clock.el (org-clock-auto-clockout-timer): New option.
(org-clock-auto-clockout): New function, use the new option.
2020-02-09 11:05:12 +01:00
Bastien 3de19f7c91 org.el: Minor refactoring
* lisp/org.el (org-indent-line): Minor refactoring.
2020-02-09 00:15:30 +01:00
Bastien 08815085fe org-agenda.el: Enhance docstrings
* lisp/org.el (org-loop-over-headlines-in-active-region):
Mention `org-agenda-loop-over-headlines-in-active-region'.

* lisp/org-agenda.el (org-agenda-do-in-region): Use the
`region' face for the selected headline.
(org-agenda-loop-over-headlines-in-active-region): Mention
`org-loop-over-headlines-in-active-region'.
2020-02-08 17:05:50 +01:00
Bastien b694c2fd7a Fix org menu initialization
* lisp/org-mobile.el: Add mobile commands to org menu.

* lisp/org-refile.el: Add refile commands to org menu.

* lisp/org.el (org-mode): Remove `org-menu-define'.
(org-org-menu): Delete.
2020-02-07 16:26:31 +01:00
Bastien f636cf91b6 New org-refile.el file with refile definitions
* lisp/org-refile.el: New file.

* lisp/org.el (org-refile, org-directory)
(org-default-notes-file, org-reverse-note-order)
(org-log-refile, org-refile-targets)
(org-refile-target-verify-function, org-refile-use-cache)
(org-refile-use-outline-path)
(org-outline-path-complete-in-steps)
(org-refile-allow-creating-parent-nodes)
(org-refile-active-region-within-subtree)
(org-refile-target-table, org-refile-cache)
(org-refile-markers, org-refile-marker)
(org-refile-cache-clear, org-refile-cache-check-set)
(org-refile-cache-put, org-refile-cache-get)
(org-outline-path-cache, org-refile-get-targets)
(org--get-outline-path-1, org-get-outline-path)
(org-format-outline-path, org-display-outline-path)
(org-refile-history, org-after-refile-insert-hook)
(org-capture-last-stored-marker, org-refile-keep, org-copy)
(org-refile, org-refile-goto-last-stored)
(org-refile--get-location, org-refile-get-location)
(org-refile-check-position, org-refile-new-child)
(org-olpath-completing-read): Move to org-refile.el.
(org-menu-define): Display Org refile comands only when
'org-refile is featured.

* lisp/org-keys.el (org-refile-copy, org-mode-map): Declare
functions.

* lisp/org-capture.el: Require 'org-refile.

* lisp/org-agenda.el: Require 'org-refile.
2020-02-05 15:34:06 +01:00
Bastien c524b7f51a Bump version 2020-02-05 09:36:55 +01:00
Bastien 04cb76571d org-table.el: Various fixes and enhancements
* lisp/org.el (org-mode): Obey `org-table-header-line-p'.

* lisp/org-table.el (org-table-row-get-visible-string): Fix
handling of shrunk cells.
(org-table-header-set-line): Minor enhancements.  Rename from
`org-table-set-header-line-format'.
(org-table-header-line-mode): Use `org-table-header-set-line'.
2020-02-04 18:14:29 +01:00
Bastien c3d5547642 Merge branch 'maint' 2020-02-04 17:05:34 +01:00
Bastien 321b119c44 org.el: Fix `org-indent-region' bug in source block
* lisp/org.el (org-indent-region): Use `save-window-excursion'
to restore point after indenting region in source blocks.

Thanks to Gustavo Barros for reporting this bug.
2020-02-04 17:04:15 +01:00
Bastien 39ead741b3 org.el: Don't hide emphasis markers in comments
* lisp/org.el (org-do-emphasis-faces): Don't hide emphasis
markers in comments.

Thanks to Sebastian Miele for suggesting this.
2020-02-04 09:51:02 +01:00
Bastien 328c9a1af3 org.el: Enhance menus
* lisp/org.el (org-menu-define): New function.
(org-mode): Use it to set up Org menus.
2020-02-04 09:39:13 +01:00
Bastien c46ee2be86 Merge branch 'maint' 2020-02-04 09:24:22 +01:00
Bastien 2cfcdeab96 org.el: Fix `org-[scheduled|deadline]-time-hour-regexp'
* lisp/org.el (org-deadline-time-hour-regexp)
(org-scheduled-time-hour-regexp): Also match habits.

Thanks to Damian for reporting this.
2020-02-04 08:58:15 +01:00
Bastien 1a29c0eee8 org.el (org-submit-bug-report): Enhance the message
* lisp/org.el (org-submit-bug-report): Enhance the message.
2020-02-03 20:18:57 +01:00
Kisaragi Hiu 4d5731bb33 org.el: Correct docstring
* lisp/org.el (org-effort-property): Correct docstring, as the
previous description of the format was inaccurate.

TINYCHANGE
2020-02-01 17:44:17 +01:00
Jack Kamm dcdb470177 Add inline remote image display
* lisp/org.el (org-display-inline-images): Add inline remote image
display. Remote image display is controlled by the new option
`org-display-remote-inline-images'.
2020-02-01 11:50:08 +01:00
Bastien 6e944086fb org.el: Tiny formatting fix 2020-01-31 21:17:15 +01:00
Bastien 5e9c3c0794 org.el: Enhance docstrings
* lisp/org.el (org-get-priority)
(org-priority-get-priority-function): Enhance docstring.
2020-01-31 17:12:46 +01:00
Bastien 4f98694bf7 Allow numeric values for priorities
* lisp/org.el (org-priority-highest, org-priority-default):
Allow integer.
(org-priority-get-priority-function): Tiny docstring change.
(org-priority-to-value): New defsubst.
(org--setup-collect-keywords, org-priority-regexp)
(org-priority, org-get-priority): Allow numeric values.

* doc/org-manual.org (Priorities): Illustrate the use of
numeric values for priorities.
2020-01-30 23:01:29 +01:00
Bastien 11734ba22a Merge branch 'maint' 2020-01-30 15:41:22 +01:00
Bastien 1d97b730d2 Delete unused variable 2020-01-30 15:40:22 +01:00
Bastien e11f506484 Continue previous commit and document it in etc/ORG-NEWS
* lisp/org.el (org-priority-enable-commands)
(org-priority-highest, org-priority-get-priority-function):
Define aliases.

(org-priority): Use `org-priority-show'.

* lisp/org-agenda.el (org-agenda-priority, org-agenda-menu):
Ditto.
2020-01-30 15:16:44 +01:00
Bastien 1de5e80adf Rename `org-x-priority' functions and variables to `org-priority-x'
* lisp/org.el (org-priority-enable-commands)
(org-priority-start-cycle-with-default)
(org-set-regexps-and-options, org-sort-entries, org-priority)
(org-get-priority, org-entry-properties)
(org-property-get-allowed-values, org-shiftup, org-shiftdown):
Rename `org-[x]-priority' functions and variables to
`org-priority-[x]'.

* lisp/org-pcomplete.el (org-priority-default)
(org-priority-highest)
(pcomplete/org-mode/file-option/priorities): Ditto.

* lisp/org-mouse.el (org-mouse-get-priority)
(org-mouse-priority-list): Ditto.

* lisp/org-agenda.el (org-agenda-fontify-priorities)
(org-agenda-format-item, org-agenda-priority): Ditto.

* lisp/ox-icalendar.el (org-icalendar--vtodo): Ditto.

* doc/org-manual.org (Priorities, Summary of In-Buffer Settings): Ditto.

* testing/lisp/test-org.el (test-org/set-regexps-and-options)
(test-org/entry-properties): Ditto.
2020-01-30 14:56:38 +01:00
Bastien 7b1077def7 Tiny enhancements to priority handling
* lisp/org.el (org-font-lock-add-priority-faces): Use
`org-priority-regexp'.
(org-priority-regexp): Match multiple characters.

* lisp/org-agenda.el (org-agenda-fontify-priorities): Use
`org-priority-regexp'.

This commit paves the way for more flexibility in priority handling.
For example, `org-priority-[up/down]' could deal with priorities as
numbers (e.g. [#1]) instead of letters.
2020-01-30 12:05:07 +01:00
Bastien db3758da92 Merge branch 'maint' 2020-01-29 21:44:05 +01:00
Bastien c2aebcee27 org.el: Fix bug about visibility cycling
* lisp/org.el (org-cycle-internal-local): When cycling visibility
on a subtree, don't take a list has a child.

These two subtrees should cycle the same way:

* A subtree

A Paragraph.

* A subtree

- A list.

Before the fix, the second subtree would cycle through three steps
instead of two.

Thanks to Samuel Wales for reporting this.
2020-01-29 21:39:52 +01:00
Bastien 241750b3c2 Use `number-to-string' instead of `int-to-string'
* lisp/org.el (org-end-of-subtree): Use `number-to-string' instead
of `int-to-string'.

* lisp/org-table.el (org-table-edit-field)
(org-table-fix-formulas, org-table-analyze, orgtbl-make-binding)
(org-table-field-info): Ditto.

* lisp/org-macs.el (org-shorten-string): Ditto.

* lisp/org-agenda.el (org-get-time-of-day): Ditto.
2020-01-28 20:19:24 +01:00
Bastien e9526b5a79 Enhance C-c C-c in agenda buffers
* lisp/org-agenda.el (org-agenda-ctrl-c-ctrl-c): Don't try to
deactivate columns as `org-columns-toggle-or-columns-quit' is
already bound to `C-c C-c' when the column view is active.

* lisp/org.el (org-ctrl-c-ctrl-c): Update docstring.
2020-01-28 12:44:27 +01:00
Bastien 32eba0f0a6 Merge branch 'maint' 2020-01-27 23:41:56 +01:00
Marco Wahl 42ad656436 org: Extend documentation some
* lisp/org.el (org-ctrl-c-ctrl-c): Document more cases.
2020-01-27 23:35:47 +01:00
Bastien 1930f10b6f Silence compiler warning
* lisp/org.el (org-open-at-point): Delete unused let binding.
2020-01-27 16:12:19 +01:00
Bastien 6f02fa596a Merge branch 'maint' 2020-01-27 14:55:50 +01:00
Bastien e982108445 Fix "Maintainer: " entry in the header
* lisp/org.el:
* lisp/org-table.el:
* lisp/org-list.el:
* lisp/org-attach.el:
* lisp/org-agenda.el: Fix "Maintainer: " entry in the header.
2020-01-27 14:55:15 +01:00
Bastien 8a12b125a8 org.el: New default value for `org-file-apps'
* lisp/org.el (org-file-apps): Add emacs as the application for
opening directories.
2020-01-26 19:33:53 +01:00
Bastien 081d571a3d org.el: Use `user-error' in `org-back-to-heading'
* lisp/org.el (org-back-to-heading): Use `user-error'.
2020-01-26 17:50:27 +01:00
Bastien da18a958f1 org.el: Adding maintainer
(Testing post-receive hook to trigger a release on the server.)
2020-01-26 12:05:02 +01:00
Bastien bd1d449e7f Add maintainer information
(Testing the new post-receive hook.)
2020-01-26 12:01:29 +01:00
Bastien 91aef7219b Merge branch 'maint' 2020-01-26 11:06:11 +01:00
Bastien 1d426e4a59 Bump version number to 9.3.2 2020-01-26 11:05:20 +01:00
Nicolas Goaziou 4141355492 Merge branch 'maint' 2020-01-26 09:45:28 +01:00
Bastien ac2c0f9a75 org.el: Don't forceably try ot open attachments
* lisp/org.el (org-open-at-point): Don't forceably try ot open
attachments.

This commit fixes a bug: when trying to open links in a subtree with
no attachments, `org-open-at-point' would create an ID property with
no apparent reason.
2020-01-26 08:44:16 +01:00
Bastien c8975ec150 org.el: Fix ID property retrieval
* org.el (org-clone-subtree-with-time-shift): Fix ID property
retrieval.
2020-01-25 20:41:48 +01:00
Bastien 7f1b51b615 Fix previous commit 2020-01-25 19:46:35 +01:00
Bastien 32f00fe90e org.el: Remove variables, small refactoring
* lisp/org.el (org-get-level-face): Remove variables, small
refactoring.

Thanks to Jorge P. de Morais Neto for pointing to this.
2020-01-25 19:23:34 +01:00
Bastien ea6349d671 org.el: Delete dynamically scoped variable
*  (org-dcst): Delete dynamically scoped variable.
2020-01-25 19:16:49 +01:00
Nicolas Goaziou 3999320aa4 Merge branch 'maint' 2020-01-11 20:18:47 +01:00
Nicolas Goaziou 2931bef9e7 Move `org-find-(visible|invisible)' to org-macs.el
* lisp/org.el (org-find-visible):
(org-find-invisible): Move functions...
* lisp/org-macs.el: ... here.
2020-01-11 20:15:30 +01:00
Nicolas Goaziou b8f4773bfe Fix "find-visible" functions
* lisp/org.el (org-find-visible):
(org-find-invisible): Return appropriate position.  Add a docstring.
2020-01-11 20:04:19 +01:00
Nicolas Goaziou 2fbbc23368 Fix build
* lisp/org-compat.el (org-file-properties): Prevent error at build
time about creating an alias for a local variable.
* lisp/org.el (org-keyword-properties): Slight change to docstring.
2020-01-03 11:07:28 +01:00
Kyle Meyer 93c11da002 Merge branch 'maint' 2020-01-01 13:39:26 -05:00
Kyle Meyer ff5fc050d3 Update copyright year to 2020 2020-01-01 13:38:46 -05:00
Nicolas Goaziou 09df149991 Merge branch 'maint' 2019-12-31 16:56:45 +01:00
Nicolas Goaziou f37ae5e56a Small refactoring
* lisp/org.el (org-kill-note-or-show-branches): Prefer `org' functions
over `outline' ones.  Use `cond' instead of nested `if'.
2019-12-31 16:55:48 +01:00
Marco Wahl c637195e45 Merge branch 'maint' 2019-12-31 13:58:26 +01:00
Marco Wahl 524ccf3adb org: Fix: keep archived subtrees hidden after C-c C-k
* lisp/org.el (org-kill-note-or-show-branches): Hide archived
subtrees.

Report by Allen Li
https://lists.gnu.org/archive/html/emacs-orgmode/2019-12/msg00396.html
2019-12-31 13:55:12 +01:00
Marco Wahl bcf1187baf Merge branch 'maint' 2019-12-31 12:43:32 +01:00
Marco Wahl c0c790eb9b org: Fix use of image-map for inline images
Don't set image-map for Emacs before v26.  Variable image-map
available with emacs-version 26.

Reported by Johannes Brauer
https://lists.gnu.org/archive/html/emacs-orgmode/2019-12/msg00391.html
2019-12-31 12:38:04 +01:00
Bastien 747c6a8b55 Bump version number to 9.3.1 2019-12-26 19:16:10 +01:00
Bastien b23b6a4abd org.el: Bump version keyword to "9.4-dev" 2019-12-24 11:53:38 +01:00
Terje Larsen 2dddaf474b org: Add customization to fontify TODO headlines
* lisp/org.el (org-fontify-todo-headline): Add new boolean customization to
  toggle this behavior.
* lisp/org.el (org-set-font-lock-defaults): Apply face org-headline-todo to
  lines starting with keywords in org-not-done-keywords.
* lisp/org-faces (org-headline-todo): New face.

TINYCHANGE
2019-12-22 16:00:39 +01:00
Nicolas Goaziou 7fe3605d9c Merge branch 'maint' 2019-12-19 14:07:58 +01:00
Tom Gillespie 04d2828ad9 org: Fix verbatim block fontification to end blocks on headlines
* lisp/org.el (org-fontify-meta-lines-and-blocks-1): Enhance regex
for finding the end of blocks (i.e., `beg-of-endline') to detect
headlines (i.e., (rx bol (one-or-more "*") space) so that fontification
matches the behavior of org mode (i.e., that headlines are healines,
even in vertabim).

This change aligns the behavior and the visual appearance of verbatim
blocks that contain headlines. When `font-lock-mode' is enabled this
change makes situations like those in (info "(org) Literal Examples")
literally jump off the page.

Overview of new fontification

Source                | fontification before | fontification after  |
\#+BEGIN_EXAMPLE      | org-block-begin-line | org-block-begin-line |
I look verbatim!      | org-block            | org-block            |
* Org headers in      | org-block            | org-level-1          |
verbatim blocks       | org-block            | nil                  |
** highly accordingly | org-block            | org-level-2          |
\#+END_EXAMPLE        | org-block-end-line   | org-meta-line        |

This commit also makes some improvements to the reability of
org-fontify-meta-lines-and-blocks-1.

1. Use the `rx' macro for better readability. Note that the strings
below return with literal tabs when using `rx'. Expansion included for
reference here.

Begin regex.
old: "^\\([ \t]*#\\(\\(\\+[a-zA-Z]+:?\\| \\|$\\)\\(_\\([a-zA-Z]+\\)\\)?\\)[ \t]*\\(\\([^ \t\n]*\\)[ \t]*\\(.*\\)\\)\\)"
new: "^\\([[:blank:]]*#\\(\\(\\+[A-Za-z]+:?\\|[[:space:]]\\|$\\)\\(_\\([A-Za-z]+\\)\\)?\\)[[:blank:]]*\\(\\([^	\n ]*\\)[[:blank:]]*\\(.*\\)\\)\\)"

End regex. Note match-string call is stringified for documentation here.
old:                        (concat "^[ \t]*#\\+end" (match-string 4) "\\>.*")
new: "\\(?:\\(^\\(?:\\*+[[:space:]]\\|[[:blank:]]*#\\+end(match-string 4)\\>.*\\)\\)\\)"

Caption regex:
old: "\\([ \t]*#\\+caption\\(?:\\[.*\\]\\)?:\\)[ \t]*"
new: "\\([[:blank:]]*#\\+caption\\(?:\\[.*]\\)?:\\)[[:blank:]]*"

2. Refactor fontification of #+end blocks for readability and to reduce
the number of calls to point-max to one per branch.

TINYCHANGE
2019-12-19 14:07:33 +01:00
Nicolas Goaziou 4f398cf84e Merge branch 'maint' 2019-12-15 10:02:57 +01:00
Matt Huszagh bc9a92ee7b org: Remove leading/trailing whitespace from latex fragment
* lisp/org.el (org-create-formula-image): Ensure user input ends
with a % character to remove trailing whitespace. Also, add %
characters between macros and newlines purely visual.

TINYCHANGE
2019-12-15 10:02:38 +01:00
Kyle Meyer 955e531d24 Merge branch 'maint' 2019-12-11 21:24:45 -05:00
Paul Eggert f9a55cba31 Backport commit b0f20651e from Emacs
; Spelling fixes
b0f20651e3cbb8a66f11ffae4c18634019c20cd4
Paul Eggert
Tue Dec 10 20:05:49 2019 -0800
2019-12-11 21:22:50 -05:00
Paul Eggert ac90e86c32 Backport commit d1a791f8e from Emacs
Spelling fixes
d1a791f8edc1b8f2189b6f1b3be7b946fef1edbc
Paul Eggert
Mon Dec 9 18:45:18 2019 -0800
2019-12-11 21:19:55 -05:00
Kyle Meyer 2eee3ca190 Merge branch 'maint' 2019-12-05 23:00:03 -05:00
Kyle Meyer 2ab4540b98 Update customize-package-emacs-version-alist
* lisp/org.el (customize-package-emacs-version-alist): Map Org 9.3 to
Emacs 27.1.
2019-12-05 22:59:53 -05:00
Paul Eggert a3101370bd Backport commit 4c9330771 from Emacs
* lisp/org-agenda.el (org-agenda-filter): Fix unescaped literal ‘+’ in
regexp.  Reported by Mattias Engdegård in:
https://lists.gnu.org/r/emacs-devel/2019-12/msg00215.html
* lisp/org.el (org-clone-subtree-with-time-shift): Fix a regexp typo
that mishandled strings like ‘\1d’, reported by the same email.

2019-12-05 regexp lint fixes
4c933077157ba409d645f4649c8a3a8e534d53d5
Paul Eggert
Thu Dec 5 19:32:12 2019 -0800
2019-12-05 22:59:06 -05:00
Bastien 7938b6ec30 org.el: Fix warning when updating to the same TODO state
*  (org-todo): Only warn about TODO state change when both new and
old states are not `nil'.
2019-12-05 16:57:37 +01:00
Bastien 0ff2867aa1 org.el: Warn the user when buffer is (un)narrowed to subtree
* lisp/org.el (org-toggle-narrow-to-subtree): Warn the user when
buffer is (un)narrowed to subtree.
2019-12-05 16:51:25 +01:00
Marco Wahl b8f43ecbf4 org,colview: Quit column-view with C-c C-c. manual,news: Update
* lisp/org-colview.el (org-columns-toggle-or-columns-quit): New
  function.  Takes the place of removed function
  org-columns-set-tags-or-toggle.
2019-12-04 23:36:33 +01:00
Kyle Meyer 12e87f46a1 Merge branch 'maint' 2019-12-03 21:55:00 -05:00
Kyle Meyer 8cd225a36c Clean up spacing to pass Emacs's pre-commit check 2019-12-03 21:46:54 -05:00
Kyle Meyer aeaaf39381 Merge branch 'master' into next 2019-12-01 21:32:43 -05:00
Kyle Meyer ad171650bb Merge branch 'maint' 2019-12-01 21:29:35 -05:00
Stefan Monnier f2d03cb6b4 Backport commit 5bc97ebce from Emacs
* lisp/org.el (org-mode): Add pcomplete-completions-at-point to capf.

This lets the normal `completion-at-point` and `complete-symbol`
use `pcomplete` for completion.

(org-mode-map): Leave M-TAB bound to the global default since
`pcomplete` is now obsolete.

5bc97ebceb54e0eb2804bef4c1bc32a40d8a2371
Stefan Monnier
Mon Nov 18 17:47:06 2019 -0500
2019-12-01 21:28:39 -05:00
Marco Wahl be81ee46ba Merge branch 'master' into next 2019-11-22 11:33:54 +01:00
Marco Wahl 43c086f4f7 org: restrict inline image display to narrowed part
* lisp/org.el (org-display-inline-images): Clarify documentation and
  introduce the narrowing borders to the function.
2019-11-22 11:29:26 +01:00
Marco Wahl b16c33409f Merge branch 'master' into next 2019-11-18 22:50:03 +01:00
Jack Kamm e69a85f4e1 org: Fix images failing to display with imagemagick
See also: https://lists.gnu.org/archive/html/emacs-orgmode/2019-09/msg00111.html
Despite the subject of that message thread, the issue also affects
some Linux users.

TINYCHANGE
2019-11-18 22:46:57 +01:00
Kyle Meyer a4fa04bbd4 Merge branch 'master' into next 2019-11-16 17:19:11 -05:00
Jonas Bernoulli 5117d8a159 Fix typos 2019-11-16 17:17:36 -05:00
Gustav Wikström 03c60c78b5 Docstring update
* lisp/org.el (org-archive-location): Update docstring due to the
addition of document property drawers.
2019-11-01 00:32:02 +01:00
Gustav Wikström 00646ad817 Fix newline-issue with document property drawer
A bug was squashed where newlines after insertion of document property
drawers wasn't handled correctly.

* testing/lisp/test-org.el (test-org/insert-property-drawer):
Add test to verify that the document property drawer is
inserted above keyword lines.  Also fix the specification for
document property drawer so it doesn't remove existing blank
rows if inserted at the top of a buffer.

* lisp/org.el (org-insert-property-drawer): Make sure to add
newline after document property drawers.
2019-10-31 23:56:03 +01:00
Kyle Meyer 64ab701078 Merge branch 'master' into next 2019-10-27 15:59:40 -04:00
Gustav Wikström 58ceff522b Handle attachment links more gracefully when expanding inline images
* lisp/org.el (org-display-inline-images): Introduce error-handling to
  ignore image display if the attachment link cannot be expanded for
  whatever reason.  For example if attachments are relative to the
  buffer, but the buffer is temporary and lacks filesystem location.
2019-10-26 02:38:53 +02:00
Gustav Wikström 1bdff9f73d Org document property-drawers
Add functionality to define property-blocks on document level, in
addition to at headline level.

* doc/org-manual.org:
* etc/ORG-NEWS: Document new functionality.

* lisp/org.el (org-keyword-regexp): Define constant instead of
  hardcoding.
(org-file-properties): Renamed, see next line.
(org-keyword-properties): Renamed from above.  Due to the fact that
  properties can be defined for the whole document using property
  drawers this local variable needs a rename to make its name less
  ambigous.
(org-refresh-properties, org-refresh-property, org-entry-properties)
(org-refresh-category-properties, org-get-property-block)
(org-entry-get-with-inheritance, org-entry-put)
(org-insert-property-drawer, org-end-of-subtree): Made to work before
  first headline.
(org-at-property-block-p): New function to validate if point is at the
start of a property block.
(org-property-global-value): Renamed, see next line.
(org-property-global-or-keyword-value): Renamed from above to match
  its functionality better.
(org-back-to-heading-or-point-min): New function to make a document
  work as a level 0 node in the outline.
(org-at-keyword-p): Predicate function to answer to if we're currently
at a keyword line or not.
(org-up-heading-or-point-min): New function to make a document work as
a level 0 node in the outline.

* lisp/org-element.el (org-element--current-element): Can now detect
  property-blocks before first headline according to it's positional
  rules.

* lisp/org-attach.el (org-attach): Make it possible to call the
  attachment dispatcher also before the first headline, since document
  property drawers make attachments possible for the whole document
  now.

* lisp/org-capture.el: Modified only due to rename of function in
  org.el.

* lisp/org-compat.el (org-file-properties)
(org-property-global-value): Renamed functions declared obsolete.

* testing/lisp/test-org.el (org/insert-property-drawer)
(org/set-property, org/delete-property, org/delete-property-globally):
  Additions of tests to check if they work before first headline.
(org/at-property-p, org/at-property-block-p, org/get-property-block)
(org/entry-get, org/refresh-properties): New tests

* testing/examples/property-inheritance.org: Switch from
  property-keywords to a property-drawer in the testfile.
  Functionality should be the same, but now using a document drawer
  instead of property-keywords.

  Reason for switching is that I'd like us to slowly depricate
  property-keywords.

* testing/lisp/test-org-element.el:

* contrib/lisp/ox-taskjuggler.el: A comment is modified only due to
  rename of function in org.el.
2019-10-19 14:07:58 +02:00
Nicolas Goaziou 8c5a788581 Remove duplicates in declare-function lines 2019-10-14 17:40:22 +02:00
Anton-Latukha 1f8b454825 org.el: fx org-get-priority-function funcall (give arg - headline)
* org.el (org-get-priority): Fix to allow the use of custom priority
getters.
Provide the headline as argument to the custom priority getter
function.
2019-10-08 11:23:20 +02:00
Kyle Meyer d215c3a8c0 Merge branch 'maint' 2019-09-29 15:49:08 -04:00
Paul Eggert e3090573be Backport commit 946a56a10 from Emacs
* lisp/org.el (org-doi-server-url): Prefer https: to http: un URLs.

Update some URLs
946a56a10fed769646a8b7c4ebc53f53c84be896
Paul Eggert
Mon Sep 23 00:12:52 2019 -0700

Notes(km):

  - It's not mentioned in 946a56a10's message, but that commit also
    drops the dx subdomain, an "earlier syntax which continues to be
    supported" according to https://www.doi.org/factsheets/DOI_PURL.html.

  - 946a56a10 replaced a link in the manual with https://api.uva.nl/
    (which the previous link redirects to).  Here we instead use the
    replacement link from master's f4083eefd (manual: Fix URL,
    2019-06-01).
2019-09-29 15:47:58 -04:00
Juanma Barranquero 97feee0469 Backport commit 114323226 from Emacs
* lisp/ob-C.el (org-babel-prep-session:C)
(org-babel-load-session:C):
* lisp/ob-J.el (org-babel-execute:J):
* lisp/ob-asymptote.el (org-babel-prep-session:asymptote):
* lisp/ob-awk.el (org-babel-execute:awk):
* lisp/ob-core.el (org-babel-process-file-name):
* lisp/ob-ebnf.el (org-babel-execute:ebnf):
* lisp/ob-forth.el (org-babel-execute:forth):
* lisp/ob-fortran.el (org-babel-execute:fortran)
(org-babel-prep-session:fortran, org-babel-load-session:fortran):
* lisp/ob-groovy.el (org-babel-execute:groovy):
* lisp/ob-io.el (org-babel-execute:io):
* lisp/ob-js.el (org-babel-execute:js):
* lisp/ob-lilypond.el (org-babel-default-header-args:lilypond)
(org-babel-lilypond-compile-post-tangle)
(org-babel-lilypond-display-pdf-post-tangle)
(org-babel-lilypond-tangle)
(org-babel-lilypond-execute-tangled-ly)
(org-babel-lilypond-compile-lilyfile)
(org-babel-lilypond-check-for-compile-error)
(org-babel-lilypond-process-compile-error)
(org-babel-lilypond-mark-error-line)
(org-babel-lilypond-parse-error-line)
(org-babel-lilypond-attempt-to-open-pdf)
(org-babel-lilypond-attempt-to-play-midi)
(org-babel-lilypond-switch-extension)
(org-babel-lilypond-set-header-args):
* lisp/ob-lua.el (org-babel-prep-session:lua):
* lisp/ob-picolisp.el (org-babel-execute:picolisp):
* lisp/ob-processing.el (org-babel-prep-session:processing):
* lisp/ob-python.el (org-babel-prep-session:python):
* lisp/ob-scheme.el (org-babel-scheme-capture-current-message)
(org-babel-scheme-execute-with-geiser, org-babel-execute:scheme):
* lisp/ob-shen.el (org-babel-execute:shen):
* lisp/org-agenda.el (org-agenda-entry-types)
(org-agenda-move-date-from-past-immediately-to-today)
(org-agenda-time-grid, org-agenda-sorting-strategy)
(org-agenda-filter-by-category, org-agenda-forward-block):
* lisp/org-faces.el (org-verbatim, org-cycle-level-faces):
* lisp/org-indent.el (org-indent-set-line-properties):
* lisp/org-macs.el (org-get-limited-outline-regexp):
* lisp/org-mobile.el (org-mobile-files):
* lisp/org.el (org-use-fast-todo-selection)
(org-extend-today-until, org-use-property-inheritance)
(org-refresh-effort-properties)
(org-track-ordered-property-with-tag, org-shiftright):
* lisp/ox-html.el (org-html-checkbox-type):
* lisp/ox-man.el (org-man-source-highlight)
(org-man-verse-block):
* lisp/ox-publish.el (org-publish-sitemap-default): Assorted
docfixes.

lisp/*.el: Fix typos and other trivial doc fixes
11432322650830fe9ae365f4113733a79226056d
Juanma Barranquero
Sat Sep 21 00:27:53 2019 +0200
2019-09-29 15:47:58 -04:00
Juanma Barranquero 001306c1c0 Backport commit 79a01866a from Emacs
* lisp/org-agenda.el (org-agenda-change-all-lines)
(org-agenda-today-p):
* lisp/org-id.el (org-id-get):
* lisp/org.el (org-highlight-latex-and-related)
(org--valid-property-p):
* lisp/ox-beamer.el (org-beamer--get-label):
* lisp/ox-latex.el (org-latex--caption-above-p):
* lisp/ox-odt.el (org-odt--copy-image-file)
(org-odt--copy-formula-file):
* lisp/ox.el (org-export-with-timestamps): Fix typos in docstrings.

lisp/*.el, src/*.c: Fix typos in docstrings
79a01866a01754b9f566af76ef96e80cd90d094b
Juanma Barranquero
Thu Sep 19 04:32:25 2019 +0200
2019-09-29 15:47:57 -04:00
Gustav Wikström 6175593530 Fix predicate comment string
Ref. (info "(elisp) Documentation Tips")

* lisp/org.el (org-at-comment-p, org-at-drawer-p)
(org-at-block-p): Fix documentation.
2019-09-29 09:02:17 +02:00
Marco Wahl 1fd07c1eeb Fix org-activate-links
* lisp/org.el (org-activate-links): Set the match group number
  back.  See commit d07d8ff4 for the number switch.
2019-09-18 10:45:21 +02:00
Max Mouratov d07d8ff416 Prevent loss of `re-search-forward' results
* org.el (org-activate-links): `match-beginning' and `match-end` should
be called shortly after `re-search-forward'. Otherwise, they may return
values corresponding to a different invocation of `re-search-forward'.

TINYCHANGE
2019-09-16 18:55:04 +02:00
Michaël Cadilhac 876a4419dd Fontify drawers correctly.
* lisp/org.el (org-fontify-drawers): Fix face used, fix range of text
properties.
(org-set-font-lock-defaults): Fontify drawers after keywords.
2019-09-05 18:53:26 +02:00
Bastien cff97c361a Bump Version keyword 2019-09-04 06:53:49 +02:00
Marco Wahl 48da60f47a org: Relax dependance on imagemagick for image width setting
* lisp/org.el (org-display-inline-images): Don't depend on image type
  imagemagick for rescaling.  When imagemagick is available use that
  type at image creation.

Reported by Terje Larsen.

https://lists.gnu.org/archive/html/emacs-orgmode/2019-08/msg00303.html
2019-08-29 17:28:58 +02:00
Marco Wahl 3c24be0945 org: Equip inline images with key-map `image-map' 2019-08-26 22:53:24 +02:00
Nicolas Goaziou 4f3d1eefbd Remove `org-enable-fixed-width-editor'
* lisp/org.el (org-enable-fixed-width-editor): Remove variable.
2019-08-19 12:22:22 +02:00
Kyle Meyer c7c04b0447 Merge branch 'maint' 2019-08-18 17:44:08 -04:00
Kyle Meyer 9e1b9fe627 Port more time-related changes
* lisp/org-agenda.el (org-agenda-check-clock-gap):
* lisp/org-clock.el (org-clock-get-clocked-time)
(org-clock-resolve-clock, (org-clock-resolve)
(org-resolve-clocks, org-resolve-clocks-if-idle)
(org-clock-in, org-clock-out, org-clock-sum, org-clocktable-steps):
* lisp/org-element.el (org-element-cache-sync-duration)
(org-element--cache-set-timer, org-element--cache-interrupt-p):
(org-element--cache-sync):
* lisp/org-habit.el (org-habit-insert-consistency-graphs):
* lisp/org-indent.el (org-indent-add-properties):
* lisp/org-timer.el (org-timer-start):
(org-timer-pause-or-continue, org-timer-set-timer):
* lisp/org.el (org-today, org-auto-repeat-maybe): Port time-related
changes from the Emacs repo by using compatibility wrappers.

In the Emacs repo, there has been a lot of changes to Org files
involving time-related code.  I've ported some of those changes but
have largely ignored any changes that break compatibility with older
Emacsen that we support.  That, however, isn't a good approach because
it will be hard to do a systematic update once we bump our minimum
Emacs requirement.  Instead use the recently added compatibility
wrappers where needed, which is ugly but more maintainable.

The main time-related changes this leaves unported are changes that
replace (apply #'encode-time args) calls with (encode-time args).
Until the first form is unsupported, adding a compatibility function
doesn't seem worth the churn.

Relevant Emacs commits include
c75f505dea6a560b825384cf3d277690f86840bf,
57c74793c46c6533b63836f00aecaf3ac2accb6d,
988e37fa0f922b852715671d59a0e3f682373411,
476066e89d6f0bb87220da690b8a476bf9655b80,
89c63b3522b62c0fd725f0b348927a2069238452.
2019-08-18 17:37:51 -04:00
Kyle Meyer a23d0225ab org-time-stamp: Simplify encode-time call
* lisp/org.el (org-time-stamp): Use org-time-string-to-time.

This should have been applied with a6cead0d2 (Backport commit
476066e89 from Emacs, 2019-02-22).
2019-08-18 17:36:13 -04:00
Paul Eggert 74bf99502d Backport commit 988e37fa0 from Emacs
* lisp/org-agenda.el (org-agenda-get-timestamps, org-agenda-get-progress)
(org-agenda-show-clocking-issues):
* lisp/org-capture.el (org-capture-set-target-location):
* lisp/org-clock.el (org-clock-get-sum-start):
* lisp/org.el (org-current-time, org-store-link)
(org-read-date, org-read-date-display)
(org-display-custom-time, org-timestamp-to-time)
Simplify use of encode-time.
* lisp/org-clock.el (org-clock-in, org-clock-update-time-maybe):
* lisp/org-colview.el (org-columns--age-to-minutes):
* lisp/org-macs.el (org-2ft):
* lisp/org.el (org-get-scheduled-time, org-get-deadline-time)
(org-add-planning-info, org-time-string-to-absolute)
(org-closest-date):
Use org-time-string-to-time instead of doing it by hand with
encode-time.
* lisp/org.el (org-read-date): Avoid extra trip through encode-time.

Simplify use of encode-time
988e37fa0f922b852715671d59a0e3f682373411
Paul Eggert
Sun Feb 10 23:54:35 2019 -0800

Note(km): org-current-time has been modified to use org-time-subtract
and org-time-less-p for backward compatibility.  Some changes from
988e37fa0 have been dropped to keep encode-time's call compatible with
older Emacsen.
2019-08-18 17:36:13 -04:00
Nicolas Goaziou 3405b9afac Hide newly created properties drawers
* lisp/org.el (org-flag-drawer): Change signature.
(org-insert-property-drawer): Hide newly created properties drawers.
2019-08-17 17:47:01 +02:00
Renato Ferreira 413736f315 org-todo: Respect state argument when called from elisp
* lisp/org.el (org-todo): Respect argument when called from elisp when
calling from elisp (such as in `org-clock-in').

Fast selection should only be shown if a state argument was not used.
This fixes a regression introduced by f1c030bed (Prefix argument to
`org-todo' forces stage change logging, 2019-08-14).

TINYCHANGE
2019-08-16 18:30:09 -04:00
Carsten Dominik 07e48a7af6 Merge branch 'fix-org-columns-formatdocumentation' 2019-08-16 09:37:54 +02:00
Carsten Dominik 6dda536f9f Clear up unclear setting of columns format for the agenda
* lisp/org.el (org-columns-default-format-for-agenda): New option.

* lisp/org-colview.el (org-overriding-columns-format): Updated documentation.
(org-agenda-columns): `Use org-columns-default-format-for-agenda'

* doc/org-manual.org (Using Column View in the Agenda): Fix the
description how to set the columns format for agenda views.
2019-08-16 09:34:55 +02:00
Carsten Dominik 4d88d41430 Cleanup code 2019-08-14 10:32:03 +02:00
Carsten Dominik f1c030bed5 Prefix argument to `org-todo' forces stage change logging
* lisp/org.el (org-use-fast-todo-selection): Allow values
`auto' and `expert'.
(org-todo): Change the interpretation of the prefix argument.
A single `C-u' now forces taking a logging time stamp and note.
(org-fast-todo-selection): Implement the `expert' option of
`org-use-fast-todo-selection' and avoid showing the selection
window.  Instead, show the options in the prompt.

* doc/org-manual.org: (Basic TODO Functionality): Document that `C-u
C-c C-t' is the simplest way to log a TODO state change.
(TODO keywords as workflow states): Slightly simplify text.
(TODO keywords as types): Document that tags should be used instead.
(Progress Logging, Closing items, Tracking TODO state changes):
Document that `C-u C-c C-t' is the simplest way to log a TODO
state change.
(Remote editing): Document using a prefix to the `org-agenda-todo'
command logs the state change.
(Using CDLaTeX to enter math): Document that CDLaTeX is	available on
MELPA.

* doc/org-guide.org (Progress Logging): Document the use of a
prefix to `org-todo' to force logging.
2019-08-14 09:58:38 +02:00
Carsten Dominik e3856a0c8e Fix tag alignment after todo state change with empty headline
* lisp/org.el (org-todo): Fix tag alignment with empty headline.
2019-08-12 11:35:29 +02:00
Carsten Dominik 495826e897 Make it customizable if block lines should be fontified to end
* lisp/org.el (org-fontify-whole-block-delimiter-line): New option.

* lisp/org.el (org-fontify-meta-lines-and-blocks-1): Use
`org-fontify-whole-block-delimiter-line'. Also, clean-up the function.
2019-08-12 09:03:29 +02:00
Carsten Dominik 20d9fefe4e Hide drawer contenxt after sorting entries
2019-08-10  Carsten Dominik  <carsten.dominik@gmail.com>

* lisp/org.el (org-sort-entries): Hide drawers after sort.
2019-08-10 07:58:28 +02:00
Carsten Dominik de3faf0767 Improve TODO selection if some keys are present in several sequences
* lisp/org.el (org-todo): Give the current state as an
argument to `org-fast-todo-selection'.
(org-fast-todo-selection): Accept current state as an
argument.  Use that state to find out to which TODO sequence
the current state belongs and use that to make the right
choice if selection keys are not unique globally.  For
example, if you have a task sequence, and a project sequence,
you could use the "d" selection key in both sequences to
switch to the appropriate DONE (or e.g. PRDN) state.
2019-08-09 23:00:21 +02:00
Carsten Dominik db6952cfe4 Improve docstring of `org-todo' 2019-08-09 10:04:02 +02:00
Nicolas Goaziou ff6508ad4b Bump Version keyword
* lisp/org.el: Bump Version keyword.

This is necessary for GNU ELPA. Ideally, such a change should be
tagged with the official release.
2019-08-02 09:55:53 +02:00
Carsten Dominik 4910bec3aa Bug fix for previous commit 2019-08-01 08:35:47 +02:00
Carsten Dominik 64739aa065 Implement force logging of a TODO state change
* lisp/org.el (org-todo): Make a tripple `C-u' prefix force
          logging the todo state change with timestamp and a note.
          Ignoting blocking a change now needs four `C-u' prefixes,
          because this is probably hardly ever used.

	* doc/org-manual.org (Tracking TODO state changes): Document
          forcing of state change logging with `C-u C-u C-u C-c C-t'.
2019-08-01 08:10:20 +02:00
Marco Wahl 63b9c2634e Merge branch 'master' into compact-folding-refinement 2019-07-13 23:21:12 +02:00
Marco Wahl d2a5a6e4d0 Make feature "show children" applicable to whole file
* lisp/org.el (org-ctrl-c-tab): Make function applicable to a whole
  file.  Further flag (aka hide) all content in the subtrees.
2019-07-13 22:30:02 +02:00
Marco Wahl fd63eee797 Make feature "show branches" applicable to whole file
* lisp/org.el (org-kill-note-or-show-branches): Extend and refactor.
2019-07-13 22:29:29 +02:00
Nicolas Goaziou 2c8e8b4a18 contrib: Remove Org Drill
* contrib/README:
* lisp/org.el (org-modules): Remove reference to Org Drill.
contrib/lisp/org-drill.el: Remove file.

Org Drill is now developed externally, and available through an
ELPA (MELPA at this point).
2019-07-11 22:55:02 +02:00
Marco Wahl ee4fcc2aaa Add function to show just every headline in buffer
* lisp/org.el (org-show-branches-buffer): New function.
2019-07-11 12:12:37 +02:00
Marco Wahl add2614cf9 Add function to flag region above first heading
* lisp/org.el (org-flag-above-first-heading): New function.
2019-07-11 12:08:47 +02:00
Gustav Wikström ae9cd4370b org-attach*, org, org-manual, org-news, ox-html, testing/*
* lisp/org-attach.el

Changed the way attachments deal with property-inheritance.  It now
adheres to the =org-use-property-inheritance= setting by default but
it can be customized if needed (I recommend to enable it!).
The property ATTACH_DIR is deprecated in favour of the shorter and simpler
property DIR.

Added an explicit option to =org-attach= for unsetting
attachment-directories (i.e. remove DIR property and deal with the
attachments by interaction).

Added attachment link type with the prefix "attachment:".

Added customizations:
- org-attach-dir-relative
- org-attach-preferred-new-method
- org-attach-use-inheritance
- org-attach-id-to-path-function

Hooks added:
- org-attach-after-change-hook
- org-attach-open-hook

A new linktype "attachment" is added in order to reduce
link-duplication when wanting to link to files in attached folders of
nodes.  This works for both ID and DIR properties.  The goal is to
make the functionality for attachment links mirror the functionality
for file links.

* lisp/org-attach-git.el

New file, existing functionality.  Code here has been factored out
from org-attach.el and if GIT-functionality is to be used this module
needs to be required sepatately.  It extends org-attach by use of its
hooks.

Activating git functionality in org-attach is done by loading
org-attach-git from now on, instead of customizing a variable.

Naming of both functions and tests has been modified to match the move
of functionality into its own module.

* lisp/org.el

Inline images are shown also using attachment-links, exactly the same
as it works for file-links today.

Make org-open-at-point respect ARG when opening attachment-dir.

* lisp/org-compat.el

org-attach-directory has been deprecated in favour for
org-attach-id-dir.  The new name matches its purpose better.

* lisp/ox-html.el

Export attachment links to images as inline images, in the same way as
file links work today.

* etc/ORG-NEWS

Mention the changes in this patch.

* doc/org-manual.org

The chapter "Refile, Copy, Archive" has been split into two separate
chapters.
- "Refile, Copy and Archiving" for information related to moving
  existing data around.

- "Capture, Attachments, RSS Feeds and Protocols" for information
  related to working with external data.

The attachment-part has been rewritten and extended to match the
changes in this patch.

The new attachment link type is mentioned both inside the attachments
chapter and in the chapter dealing with links.

Documentation related to external links has been improved.

* testing/lisp/test-org-attach-annex.el

Require org-attach-git instead of org-attach, since this file tests
the GIT-functionality.

* testing/lisp/test-org-attach.el

Add tests for org-attach.

* testing/org-test.el

Define a symbol for a file to test attachments with.

* testing/examples/*

A bunch of new example files and folders are created and are used in
testing of org-attach to verify its functionality.
2019-07-07 19:55:49 +02:00
Neil Jerram 85711ba3d9 Make capture's idea of the current day more intuitive 2019-06-10 11:20:20 +02:00
Kyle Meyer 81920b3f86 Merge branch 'maint' 2019-06-09 21:39:18 -04:00
Paul Eggert 55e19d973e Backport commit 797ee5871 from Emacs
The convention is that a file with Author: but not Maintainer:
means the author is a maintainer, which makes it confusing
when a file lists the same person as author and maintainer.
Avoid the confusion by removing the duplicate Maintainer: line.

Remove Maintainer: when it duplicates Author:
797ee5871e458d6d97f57a24405412a053f5ef32
Paul Eggert
Sun May 26 01:00:15 2019 -0700
2019-06-09 21:28:44 -04:00
Paul Eggert 43bdc85b9d Backport commit 542443645 from Emacs
* lisp/org-id.el (org-id-link-to-org-use-id):
* lisp/org.el (org-support-shift-select, org-file-apps):
Remove backslash-newline that immediately precedes another
newline, as this is not the usual style and is confusing.

Avoid backslash-newline-newline in source code
5424436452bc0b3d8a62a8398f92d0c2db81e22b
Paul Eggert
Wed May 22 23:59:36 2019 -0700
2019-06-09 21:26:08 -04:00
Nicolas Goaziou 0ff65e9f4c org-list: Change `org-list-to-subtree' signature
* lisp/org-list.el (org-list-to-subtree): Add optional argument to
  specify level of the subtree.
(org-list-make-subtree):
* lisp/org.el (org-toggle-heading): Adapt to signature change.

Reported-by: Felix Wiemuth <felixwiemuth@hotmail.de>
<http://lists.gnu.org/r/emacs-orgmode/2019-06/msg00010.html>
2019-06-10 00:19:32 +02:00
Nicolas Goaziou 5832c8fc93 Fix `org-image-actual-width' behaviour
* lisp/org.el (org-image-actual-width): Improve docstring.
(org-display-inline-images): Ignore case when looking for ATTR
keywords.  Refactor code.

Reported-by: 'Ihor Radchenko' <yantar92@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-06/msg00030.html>
2019-06-05 18:31:35 +02:00
Nicolas Goaziou b373e688be Merge branch 'maint' 2019-05-30 14:19:49 +02:00
Nicolas Goaziou 24555a0c00 Revert "Fix strike-through fontification on heading"
This reverts commit 42abf5c695.
2019-05-30 14:19:09 +02:00
Nicolas Goaziou 4a383ee0f1 Merge branch 'maint' 2019-05-28 11:20:21 +02:00
Cheong Yiu Fung e4f5a194c7 org.el: Fix docstring of org-latex-packages-alist
* lisp/org.el (org-latex-packages-alist): Fix docstring to match
`org-latex-default-packages-alist'

TINYCHANGE
2019-05-28 11:19:51 +02:00
Nicolas Goaziou 12f93c112b Use `org-flag-subtree' instead of `outline-hide-subtree'
* lisp/org-agenda.el (org-agenda-show-1):
* lisp/org-archive.el (org-archive-to-archive-sibling):
* lisp/org-crypt.el (org-encrypt-entry):
* lisp/org-feed.el (org-feed-update):
* lisp/org.el (org-set-visibility-according-to-property):
(org-move-subtree-down):
(org-paste-subtree):
(org-yank-generic):
* testing/lisp/test-org-inlinetask.el (test-org-inlinetask/folding-directly-consecutive-tasks/1): Use `org-flag-subtree' instead of `outline-hide-subtree'.

`outline-hide-subtree' leaves overlays on top of white spaces,
particularly at the end of the buffer. `org-flag-subtree' does not.
2019-05-11 09:48:53 +02:00
Nicolas Goaziou d79e80fc4a Merge branch 'maint' 2019-05-09 22:01:13 +02:00
Ingo Lohmar d1ce59571f Fix fast tag selection affecting wrong line
* lisp/org.el (org-fast-tag-selection): Wrap `save-window-excursion'
with `save-excursion'.

In the case when the tags are changed remotely from the agenda, and
the affected buffer is already visible in another window, the tag
change was applied to the currently visible line in the target buffer,
not the headline in the agenda.
2019-05-09 22:00:00 +02:00
Nicolas Goaziou f8d8da6491 Merge branch 'maint' 2019-05-07 09:36:41 +02:00
Nicolas Goaziou e91bf47e4d Fix docstring
* lisp/org.el (org-timestamp-change): Fix docstring.

Reported-by: Tim Landscheidt <tim@tim-landscheidt.de>
<http://lists.gnu.org/r/emacs-orgmode/2019-05/msg00047.html>
2019-05-07 07:32:20 +02:00
Nicolas Goaziou 7cfc9ce95f Merge branch 'maint' 2019-04-27 18:54:51 +02:00
Kévin Le Gouguec 42abf5c695 Fix strike-through fontification on heading
* lisp/org.el (org-do-emphasis-faces): Fix face priority.
2019-04-27 18:52:57 +02:00
Kyle Meyer 92a59795f1 Merge branch 'maint' 2019-04-02 19:07:21 -04:00
Paul Eggert b0324a7405 Backport commit f9ff60e0d from Emacs
* lisp/org-eshell.el (org-eshell-open):
* lisp/org.el (org-deadline-time-hour-regexp)
(org-scheduled-time-hour-regexp):
Avoid attempts to chain ranges, as this can be confusing.
For example, instead of [0-9-_.], use [0-9_.-].

Improve regexp advice again, and unchain ranges
f9ff60e0d7288e30cdbd1e43225059f1374441f1
Paul Eggert
Tue Apr 2 15:01:34 2019 -0700
2019-04-02 19:04:56 -04:00
Bastien 01182eb775 org.el: Bump version number 2019-04-02 08:30:19 +02:00
Kyle Meyer d9afed12f4 Merge branch 'maint' 2019-03-24 20:44:13 -04:00
Paul Eggert c856b34bd1 Backport commit bc2a93d5b from Emacs
* lisp/org.el (org-increase-number-at-point)
(org-fill-line-break-nobreak-p):
Fix regular expression typos.

Fix more regular expression typos
bc2a93d5b7c3d749b31927452e31b32bdb1b9108
Paul Eggert
Mon Mar 18 17:02:29 2019 -0700
2019-03-24 20:35:02 -04:00
Nicolas Goaziou 3a2ef56195 Fix last commit
* lisp/org.el (org-dynamic-block-define): Fix match.
2019-03-22 18:36:02 +01:00
Nicolas Goaziou 6c88d8e406 Fix multiple calls to `org-dynamic-block-alist'.
* lisp/org.el (org-dynamic-block-define): Update entry instead of
  piling up entries of the same type.
2019-03-22 18:32:51 +01:00
Nicolas Goaziou a39ee98873 Turn `org-dynamic-block-alist' into a defvar
* lisp/org.el (org-dynamic-block-alist): Make it a defvar.  Update docstring.
2019-03-22 18:32:40 +01:00
Kyle Meyer c2f3f1912e Merge branch 'maint' 2019-03-17 22:56:24 -04:00
Paul Eggert 7c9bfa142f Backport commit 3739d51ef from Emacs
* lisp/org-agenda.el (org-agenda):
* lisp/org-clock.el (org-clock-out, org-clock-display):
* lisp/org.el (org-refile):
Don’t trust arbitrary strings to not contain "%" or "`" in
(message (concat STRING1 STRING2 ...)).

Be safer about "%" in message formats
3739d51ef3b935b30e40ba4534fe362bc685865f
Paul Eggert
Thu Mar 7 09:05:56 2019 -0800
2019-03-17 22:52:48 -04:00
Paul Eggert 602f2280e3 Backport commit 3c94c7bc0 and db9c924d3 from Emacs
* lisp/ob-core.el (org-babel-string-read):
* lisp/org-agenda.el:
(org-agenda-add-entry-to-org-agenda-diary-file):
* lisp/org-element.el (org-element-keyword-parser):
* lisp/org-list.el (org-list-indent-item-generic):
* lisp/org-mhe.el (org-mhe-get-message-folder-from-index):
* lisp/org-mobile.el (org-mobile-apply):
* lisp/org-mouse.el (org-mouse-context-menu):
* lisp/org-plot.el (org-plot/gnuplot):
* lisp/org-protocol.el (org-protocol-flatten-greedy):
* lisp/org-table.el (org-table-copy-down)
(org-table-formula-make-cmp-string)
(org-table-get-stored-formulas, org-table-recalculate)
(org-table-edit-formulas):
* lisp/org.el (org-translate-link-from-planner)
(org-fill-line-break-nobreak-p):
* lisp/ox-ascii.el (org-ascii-item):
* lisp/ox-latex.el (org-latex-clean-invalid-line-breaks):
* lisp/ox.el (org-export-expand-include-keyword):
Fix regular-expression infelicities and typos.

Fix regular-expression glitches and typos
3c94c7bc02fcacb4a101188dddb0c44d53444178
Paul Eggert
Mon Mar 4 18:00:58 2019 -0800

More regexp corrections and tweaks
db9c924d3d53f46846ad8fd74a5d08f4586a520e
Paul Eggert
Fri Mar 8 09:09:40 2019 -0800

Note(km): These two commits are ported together because, with respect
to Org files, db9c924d3 is a fix of an error from 3c94c7bc0.
2019-03-17 22:52:27 -04:00
Nicolas Goaziou ce1681b597 Fix `org-offer-links-in-entry'
* lisp/org.el (org-offer-links-in-entry): Fix match groups.

Reported-by: Bernt Hansen <bernt@norang.ca>
<http://lists.gnu.org/r/emacs-orgmode/2019-03/msg00192.html>
2019-03-16 18:05:50 +01:00
Nicolas Goaziou bab7dcbee8 Fix link fontification
* lisp/org.el (org-activate-links): Stop at paragraph boundaries.
2019-03-16 13:56:42 +01:00
Nicolas Goaziou 98475b32d8 Move table-related variables and functions into "org-table"
Slightly re-organize file.
2019-03-15 00:15:30 +01:00
Nicolas Goaziou b1429cdfe0 Fix link fontification
* lisp/org.el (org-activate-links): Display description when
  available.

Reported-by: Marco Wahl <marcowahlsoft@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-03/msg00117.html>
2019-03-12 00:05:33 +01:00
Nicolas Goaziou 2b00d62816 Change bracket link escape syntax
* contrib/lisp/org-link-edit.el (org-link-edit--link-data):
* lisp/ob-tangle.el (org-babel-tangle-comment-links): Update match-group.
(org-babel-detangle): Remove unnecessary `org-link-escape' call.
(org-babel-tangle-jump-to-org): Update match group.
(org-link-url-hexify):
(org-link-escape-chars): Remove variables.
* lisp/ol.el (org-link--decode-compound): Renamed from
  `org-link--unescape-compound'.
(org-link--decode-single-byte-sequence): Renamed from
`org-link--unescape-single-byte-sequence'.
(org-link-make-regexps): Update `org-link-bracket-re' syntax.
(org-link-encode): New function, renamed from `org-link-escape'.
(org-link-decode): New function, renamed from `org-link-unescape'.
(org-link-escape):
(org-link-unescape): Use new escape syntax.
(org-link-make-string): Apply new escaping rules.
(org-link-display-format):
(org-insert-link): Update match group.
* lisp/org-agenda.el (org-diary):
(org-agenda-format-item):
(org-agenda-to-appt): Update match group.
* lisp/org-clock.el (org-clocktable-write-default): Update match group.
* lisp/org-element.el (org-element-link-parser): Update match group.
* lisp/org-mobile.el (org-mobile-escape-olp):
(org-mobile-locate-entry): Apply function renaming.
* lisp/org-protocol.el (org-protocol-split-data):
(org-protocol-parse-parameters): Apply function renaming.
* lisp/org.el (org-refile): Update match group.
* testing/README (Interactive testing from within Emacs): Fix
  examples.
* testing/lisp/test-ol.el (test-ol/encode): Merge old escape tests.
(test-ol/decode): Merge old unescape tests.
(test-ol/escape):
(test-ol/unescape):
(test-ol/make-string): New tests.
* testing/lisp/test-org-clock.el (test-org-clock/clocktable/link):
* testing/lisp/test-org.el (test-org/custom-id):
(test-org/fuzzy-links):
* testing/lisp/test-ox.el (test-org-export/resolve-fuzzy-link): Update
  tests.
2019-03-10 18:00:36 +01:00
Nicolas Goaziou 6c9d0e86b1 Fix function declarations 2019-03-10 18:00:36 +01:00
Nicolas Goaziou 9cf2040313 Move `org-replace-escapes' into "org-macs.el"
* lisp/org.el (org-replace-escapes): Move function...
* lisp/org-macs.el: ...there.
2019-03-10 18:00:36 +01:00
Nicolas Goaziou ccfea3d8e5 Move `org-fill-template' into "org-macs.el"
* lisp/org.el (org-fill-template): Move function
* lisp/org-macs.el: ...there.
2019-03-10 18:00:36 +01:00
Nicolas Goaziou 499c0a50cc Prefix link-related libraries filenames with "ol"
* lisp/org.el (org-modules): Update provided symbols.
2019-03-10 18:00:36 +01:00
Nicolas Goaziou a486d9cbd7 Move link-related core functions out of "org.el"
* contrib/lisp/org-wl.el (org-wl-store-link-message):
* lisp/Makefile (clean-install):
* lisp/ob-core.el (org-link-bracket-re):
(org-babel-open-src-block-result):
(org-babel-read-element):
(org-babel-read-link):
(org-babel-result-end):
* lisp/ob-tangle.el (org-link-bracket-re):
(org-babel-tangle-single-block):
(org-link-analytic-bracket-re):
(org-babel-detangle):
(org-babel-tangle-jump-to-org):
* lisp/ol.el:
* lisp/org-agenda.el (org-agenda-get-some-entry-text):
(org-diary):
(org-agenda-format-item):
(org-agenda-open-link):
(org-agenda-switch-to):
(org-agenda-to-appt):
* lisp/org-bbdb.el (org-bbdb-store-link):
* lisp/org-bibtex.el (org-bibtex-store-link):
* lisp/org-capture.el (org-capture-fill-template):
* lisp/org-clock.el (org-clocktable-write-default):
(org-clock-get-table-data):
* lisp/org-compat.el (org-doi-server-url):
(org-email-link-description-format):
(org-make-link-description-function):
(org-from-is-user-regexp):
(org-descriptive-links):
(org-url-hexify-p):
(org-context-in-file-links):
(org-keep-stored-link-after-insertion):
(org-display-internal-link-with-indirect-buffer):
(org-confirm-shell-link-function):
(org-confirm-shell-link-not-regexp):
(org-confirm-elisp-link-function):
(org-confirm-elisp-link-not-regexp):
(org-file-complete-link):
(org-email-link-description):
(org-make-link-string):
(org-store-link-props):
(org-add-link-props):
(org-make-link-regexps):
(org-angle-link-re):
(org-plain-link-re):
(org-bracket-link-regexp):
(org-bracket-link-analytic-regexp):
(org-any-link-re):
* lisp/org-docview.el (org-docview-store-link):
(org-docview-complete-link):
* lisp/org-element.el (org-element-link-parser):
* lisp/org-eshell.el (org-eshell-store-link):
* lisp/org-eww.el (org-eww-store-link):
(org-eww-copy-for-org-mode):
* lisp/org-footnote.el (org-footnote-next-reference-or-definition):
* lisp/org-gnus.el (org-gnus-article-link):
(org-gnus-store-link):
* lisp/org-id.el (org-id-store-link):
* lisp/org-info.el (org-info-store-link):
* lisp/org-irc.el (org-irc-erc-store-link):
* lisp/org-mhe.el (org-mhe-store-link):
* lisp/org-pcomplete.el (pcomplete/org-mode/searchhead):
* lisp/org-protocol.el (org-protocol-do-capture):
* lisp/org-rmail.el (org-rmail-store-link):
* lisp/org-w3m.el (org-w3m-store-link):
(org-w3m-copy-for-org-mode):
2019-03-10 18:00:27 +01:00
Nicolas Goaziou 30e5b846b4 Merge branch 'maint' 2019-03-09 11:01:05 +01:00
memeplex d313b24991 Avoid extra space when removing state
* lisp/org.el (org-todo): check if org-string-nw-p instead of non nil.
2019-03-09 11:00:25 +01:00
Kyle Meyer cded785a6a Merge branch 'maint' 2019-03-03 22:55:07 -05:00
Paul Eggert a6cead0d21 Backport commit 476066e89 from Emacs
* lisp/org-clock.el (org-clock-out):
* lisp/org.el (org-evaluate-time-range):
Avoid double-rounding of time-related values.  Simplify.
* lisp/org-clock.el (org-resolve-clocks-if-idle):
Use time-since instead of open-coding most of it.
* lisp/org-agenda.el (org-agenda-show-clocking-issues):
* lisp/org-capture.el (org-capture-set-target-location):
* lisp/org-table.el (org-table-sum):
* lisp/org.el (org-babel-load-file, org-2ft, org-time-stamp)
(org-read-date-analyze, org-time-stamp-to-now):
Simplify.

Note(km): Many of the changes from 476066e89 have been dropped for
compatibility with older Emacsen.

Avoid some double-rounding of Lisp timestamps
476066e89d6f0bb87220da690b8a476bf9655b80
Paul Eggert
Fri Feb 22 18:33:57 2019 -0800
2019-03-03 22:49:42 -05:00
Nicolas Goaziou 344ed4c278 Merge branch 'maint' 2019-02-28 14:39:54 +01:00
Feng Shu 69c211d154 Let radio target works well with Chinese
* lisp/org.el (org-update-radio-target-regexp): Let radio target works well with Chinese.

There is no need to force split words with the help
of space for Chinese, this change let the below
example works well.

<<<天空>>>

我爱天空和大地
    ^^^^
2019-02-28 14:06:17 +01:00
Nicolas Goaziou 819864aebb Merge branch 'maint' 2019-02-27 21:56:36 +01:00
Nicolas Goaziou cc7c4a6732 Rationalize `org-link-(un)escape'
* contrib/lisp/org-contacts.el (org-contacts-vcard-format):
* contrib/lisp/org-link-edit.el (org-link-edit--link-data):
* contrib/lisp/org-notmuch.el (org-notmuch-search-store-link):
(org-notmuch-search-follow-link):
(org-notmuch-tree-follow-link):
* lisp/org-docview.el (org-docview-export):
* lisp/org-element.el (org-element-link-parser):
* lisp/org-lint.el (org-lint-link-to-local-file):
* lisp/org-protocol.el (org-protocol-split-data):
(org-protocol-parse-parameters):
* lisp/org.el (org-open-at-point):
(org-display-inline-images):
* lisp/ox-ascii.el (org-ascii-link):
* lisp/ox-html.el (org-html-link):
* lisp/ox-latex.el (org-latex--inline-image):
(org-latex-link):
* lisp/ox-publish.el (org-publish-resolve-external-link):
* lisp/ox.el (org-export-custom-protocol-maybe):
(org-export-resolve-fuzzy-link): Do not call `org-link-unescape' when
the link is obtained through the parser or as a user input.
* doc/org-manual.org (Link Format): Document escape syntax.

See <http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00320.html>
2019-02-27 20:22:51 +01:00
Nicolas Goaziou b139e1531a Merge branch 'maint' 2019-02-25 02:04:29 +01:00
Nicolas Goaziou 95e1f844ac Fix `org-refile' when logging multiple entries
* lisp/org.el (org-log-refile): Improve docstring.
(org-refile): Record information for every headline in the region.

Reported-by: "Eugene Sharygin" <eush77@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00315.html>
2019-02-25 02:02:28 +01:00
Nicolas Goaziou 2097f5488b Merge branch 'maint' 2019-02-22 19:58:25 +01:00
memeplex d6fcfc06ce Fix fast todo selection menu alignment
* lisp/org.el (org-fast-todo-selection): Avoid lines with just a
  closing delimiter.
2019-02-22 19:38:15 +01:00
Nicolas Goaziou 9eddf47059 Merge branch 'maint' 2019-02-22 15:16:25 +01:00
Nicolas Goaziou 93c3d9d281 Fix `org-display-inline-images' with "clickable images"
* lisp/org.el (org-display-inline-images): Even though Org syntax
  doesn't support nested links, display an image when the function is
  called on a link that contains a single file name in its
  description.

Reported-by: "Dietrich Foethke" <foethke@web.de>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00280.html>
2019-02-22 15:15:20 +01:00
Nicolas Goaziou e9d4eb0147 Merge branch 'maint' 2019-02-18 21:41:37 +01:00
Piet van Oostrum 08cb207b38 Add missing `interactive` spec to `org-show-all'
* lisp/org.el (org-show-all): Add missing `interactive` spec to
  `org-show-all'.

TINYCHANGE
2019-02-18 21:40:57 +01:00
Nicolas Goaziou 7e98c5c4cc Merge branch 'maint' 2019-02-15 22:47:53 +01:00
Nicolas Goaziou 6872088c7a Prevent spurious newline characters when inserting a heading
* lisp/org.el (org-insert-heading): Do not insert spurious newline
  characters.
* testing/lisp/test-org.el (test-org/insert-heading): Update tests.

Reported-by: Leo Vivier <zaephon@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00128.html>
2019-02-15 22:47:28 +01:00
Nicolas Goaziou 38121248c9 Merge branch 'maint' 2019-02-15 00:22:03 +01:00
Nicolas Goaziou f9015b4bbf Fix last commit
* lisp/org-clock.el (org-clock-out-if-current): Autoload function.
* lisp/org.el (org-todo): Do not call `org-clock-out-if-current' if
  `org-clock' is not loaded yet.
2019-02-15 00:20:40 +01:00
Nicolas Goaziou d783422498 Merge branch 'maint' 2019-02-14 15:07:07 +01:00
Nicolas Goaziou 8fc22d464d Fix `org-clock-out-when-done' in a narrowed buffer
* lisp/org-clock.el (org-clock-out-if-current): Ignore narrowing.
* lisp/org.el (org-todo): Call directly previous function instead of
  relying on a hook.

Reported-by: Leo Vivier <leo.vivier@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00132.html>
2019-02-14 15:03:37 +01:00
Nicolas Goaziou 0ceb59c377 Merge branch 'master' of code.orgmode.org:bzg/org-mode 2019-02-14 01:16:16 +01:00
Nicolas Goaziou 6d9022df22 Make LaTeX preview toggle more useful and predictable
* lisp/org.el (org-remove-highlights-with-change):
(org-mode): Update.
(org--format-latex-make-overlay):
(org--list-latex-overlays): Remove functions.
(org--make-preview-overlay):
(org-clear-latex-preview):
(org--latex-preview-region):
(org-latex-preview): New functions.
(org-format-latex): Use new function
* lisp/org-compat.el (org-toggle-latex-fragment):
(org-remove-latex-fragment-image-overlays): Deprecate.
* doc/org-manual.org (Previewing LaTeX fragments): Update
  documentation about `org-latex-preview'.

See <http://lists.gnu.org/archive/html/emacs-orgmode/2019-02/msg00138.html>.
2019-02-14 00:14:25 +01:00
Marco Wahl ba974fecf9 org: Refine open at point for tags to use just the tag at point
* lisp/org.el (org-open-at-point): On a tag open a tags view for just
  the tag at point.  Recent behavior for multiple tags was to open a
  tags view for the complete tag string.
2019-02-13 23:29:26 +01:00
Nicolas Goaziou 3abedb8b64 Bump version keyword 2019-02-13 15:43:29 +01:00
Nicolas Goaziou 613b480db4 Merge branch 'maint' 2019-02-13 13:05:54 +01:00
memeplex 0b148ba706 Fix fast tag selection menu alignment
* lisp/org.el (org-fast-tag-selection): Avoid lines with just
a closing delimiter.  Also correctly align grouped and ungrouped tags.
2019-02-13 13:05:33 +01:00
Kyle Meyer f362df7eb7 Merge branch 'maint' 2019-02-12 19:55:26 -05:00
Kyle Meyer 6a5be09c1d Restore some current-time to nil changes
* lisp/org-colview.el (org-columns-compute-all):
* lisp/org-timer.el (org-timer-start):
(org-timer-pause-or-continue):
(org-timer-seconds):
* lisp/org.el (org-read-date-analyze): Favor nil argument to
explicitly passing current-time result to float-time and decode-time.

Most of these "(current-time) => nil" changes were made in the Emacs
codebase, but we stayed with the original state because we relied on
explicitly overriding current-time in the tests.  As of the last
commit, we no longer need to do this and can use org-test-at-time
instead.
2019-02-12 19:46:03 -05:00
Nicolas Goaziou 9b3ca51fa4 Merge branch 'maint' 2019-02-09 18:53:28 +01:00
Nicolas Goaziou b929c3e5e4 Fix typo in docstring
* lisp/org.el (org-get-tags): Fix typo in docstring.
2019-02-09 18:52:54 +01:00
Nicolas Goaziou 230cc1ee07 Merge branch 'maint' 2019-02-06 19:34:10 +01:00
Nicolas Goaziou 03d7441813 Fix `org-edit-special' on INCLUDE with additional parameters
* lisp/org.el (org-edit-special): Correctly parse filenames with
  quotes and additional parameters.

Reported-by: Joon Ro <joon.ro@outlook.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00066.html>
2019-02-06 19:32:30 +01:00
Nicolas Goaziou 0b5ce28f1e Fix :package-version value
* lisp/org.el (org-email-link-description-format):
  Fix :package-version value.
2019-02-05 09:17:51 +01:00
Nicolas Goaziou 96cc9b58c2 Bump Org version 2019-02-03 14:54:58 +01:00
Nicolas Goaziou ce48c6b0d1 Merge branch 'maint' 2019-02-03 14:42:18 +01:00
Nicolas Goaziou 70c90c2cb5 Fix nested VISIBILITY property
* lisp/org.el (org-set-visibility-according-to-property): Fix nested
  VISIBILITY property. Small refactoring.
* testing/lisp/test-org.el (test-org/set-visibility-according-to-property):
  Add test.

Reported-by: Michael Maurer <maurer.michael@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00402.html>
2019-02-03 14:23:44 +01:00
Kyle Meyer 646d4a5fe9 Merge branch 'maint' 2019-01-31 23:04:06 -05:00
Kyle Meyer af7795533a Revert "(current-time) => nil" for Emacs 24 compatibility
* lisp/org-clock.el (org-clock-resolve-clock):
(org-clock-resolve):
(org-resolve-clocks-if-idle):
* lisp/org-element.el (org-element--cache-interrupt-p):
(org-element--cache-sync):
* lisp/org-habit.el (org-habit-insert-consistency-graphs):
* lisp/org-indent.el (org-indent-add-properties):
* lisp/org-timer.el (org-timer-show-remaining-time):
* lisp/org.el (org-babel-load-file):
(org-current-time):
(org-today):
(org-auto-repeat-maybe): Revert nil to (current-time) replacement for
compatibility with Emacs 24.

This reverts many changes introduced by eb10ad936 (Backport commit
c75f505de from Emacs, 2017-10-20).

Reported-by: Samuel Wales <samologist@gmail.com>
<https://lists.gnu.org/archive/html/emacs-orgmode/2019-01/msg00427.html>
2019-01-31 23:03:10 -05:00
Nicolas Goaziou 683df456a4 org-list: Remove fancy description list indentation
* lisp/org-list.el (org-list-description-max-indent): Remove variable.
(org-list-item-body-column): No longer indent specially description
items.
* lisp/org.el (org-indent-line): Prune reference to removed variable
  in docstring.

Special indentation on description items breaks indentation in
sub-items.
2019-01-31 00:26:00 +01:00
Nicolas Goaziou ee29cdc40e Merge branch 'maint' 2019-01-30 22:36:14 +01:00
Nicolas Goaziou a6adc9831d Add new `org-todo-repeat-hook'
* lisp/org.el (org-todo-repeat-hook): New variable.
(org-auto-repeat-maybe): Use it.

See <http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00102.html>.
2019-01-30 22:35:30 +01:00
Nicolas Goaziou 5e47e49832 Revert actionable repeaters in inactive timestamps
* lisp/org.el (org-repeat-re): Repeaters are for active timestamps
  only.
* testing/lisp/test-org.el (test-org/auto-repeat-maybe): Update test.

Reported-by: cesar mena <cesar.mena@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00095.html>
2019-01-30 22:19:28 +01:00
Nicolas Goaziou 5fe9e6cbea Extend pcomplete binding to C-M-i
* lisp/org.el (org-mode-map): Add TAB equivalent to <tab> binding.

Reported-by: Johannes Altmanninger <aclopte@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00373.html>
2019-01-29 10:06:19 +01:00
Marco Wahl ed7ea512c2 org: Fix match of todo items
* lisp/org.el (org-show-todo-tree): Don't match headlines that start
  with a todo kwd as prefix.
2019-01-25 10:32:07 +01:00
Nicolas Goaziou deb5c4f39a Merge branch 'maint' 2019-01-24 15:05:13 +01:00
Nicolas Goaziou 24030ef62b Fix consecutive radio links
* lisp/org.el (org-activate-target-links): Properly match consecutive
  radio links.

Reported-by: Jay Dresser <jay@jaydresser.us>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00327.html>
2019-01-24 15:03:47 +01:00
Yasushi SHOJI 4a076ed545 Allow cloning subtrees while shifting them backward in time
* lisp/org.el (org-clone-subtree-with-time-shift): Accept a negative
value to shift the timestamp backward in time.
* testing/lisp/test-org.el (test-org/clone-with-time-shift): Add test.

Reported-by: Scott Randby <srandby@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00151.html>

Signed-off-by: Yasushi SHOJI <yasushi.shoji@gmail.com>
2019-01-21 18:47:49 +01:00
Kyle Meyer baa98a4a6f babel: Fix incorrect merge resolution from ba321d0e4
* lisp/org.el (org-babel-load-file): Fix type error introduced by
merge ba321d0e4.

Reported-by: Gregor Zattler <telegraph@gmx.net>
<https://lists.gnu.org/archive/html/emacs-orgmode/2019-01/msg00208.html>
2019-01-14 17:09:03 -05:00
Kyle Meyer ba321d0e44 Merge branch 'maint' 2019-01-13 15:14:37 -05:00
Paul Eggert d64c9a996b Backport commit 662bee7d7 from Emacs
* lisp/ob-eval.el (org-babel--shell-command-on-region):
* lisp/org-attach.el (org-attach-commit):
* lisp/org-macro.el (org-macro-initialize-templates):
* lisp/org.el (org-babel-load-file)
(org-file-newer-than-p):
* lisp/ox-html.el (org-html-format-spec):
* lisp/ox-publish.el (org-publish-find-date)
(org-publish-cache-ctime-of-src):
Prefer (file-attribute-size A) to (nth 7 A), and similarly
for other file attributes accessors.
* lisp/ox-publish.el (org-publish-cache-ctime-of-src):
Prefer float-time to doing time arithmetic by hand.

file-attributes cleanup
662bee7d70ccd3903e123b08c7ec9108a1a2ce0b
Paul Eggert
Sun Sep 23 18:32:59 2018 -0700
2019-01-13 12:43:04 -05:00
Paul Eggert 28d2c81709 Backport commit f18af6cd5 from Emacs
* lisp/org.el:
* lisp/ox-publish.el:
Prefer ash to lsh when either will do.

Audit use of lsh and fix glitches
f18af6cd5cb7dbbf7420ec2d3efed4e202c4f0dd
Paul Eggert
Tue Aug 21 13:44:32 2018 -0700
2019-01-13 12:43:04 -05:00
Glenn Morris f73cc4811b Backport commit 18de2ada2 from Emacs
* lisp/org.el (org-CUA-compatible)
(org-popup-calendar-for-date-prompt):
Move aliases before targets, to silence new compiler warning.

More alias-related tedium
18de2ada243653ece98b18044233e5d29eee5903
Glenn Morris
Fri Apr 20 18:55:04 2018 -0400
2019-01-13 12:43:04 -05:00
Glenn Morris 3d11e4c69b Backport commit 9c3eeba4d from Emacs
* lisp/org-agenda.el (org-agenda-search-view-search-words-only)
(org-agenda-remove-tags-when-in-prefix)
(org-agenda-align-tags-to-column, org-agenda-keymap):
* lisp/org.el (org-special-ctrl-a)
(org-log-state-notes-into-drawer)
(org-agenda-multi-occur-extra-files):
Move aliases before targets, to silence new compiler warning.

The tedious game of whack-a-mole with compiler warnings continues
9c3eeba4db26ddaeead100beea7a96f9fa640918
Glenn Morris
Fri Apr 20 18:34:39 2018 -0400
2019-01-13 12:43:04 -05:00
Glenn Morris 16c8187db1 Backport commit d5f6ff99c from Emacs
* lisp/org.el (image-refresh):
* lisp/ox-odt.el (clear-image-cache, image-size): Declare.

Quieten without-x org compilation
d5f6ff99c2b594919931b277a2d94d3a289ca764
Glenn Morris
Wed Feb 28 16:55:41 2018 -0500
2019-01-13 12:43:04 -05:00
Kyle Meyer 6df3e8880e Partially revert backport of c75f505de
* lisp/org-colview.el (org-columns-compute-all):
* lisp/org-timer.el (org-timer-start):
(org-timer-pause-or-continue):
(org-timer-seconds):
(org-timer-set-timer):
* lisp/org.el (org-read-date-analyze): Restore use of `current-time`
for testing purposes.

In these spots, we call (current-time) so that it can be overriden in
tests.  Add a comment about this in the cases that don't have one.
2019-01-13 12:43:04 -05:00
Paul Eggert eb10ad9360 Backport commit c75f505de from Emacs
* lisp/org-agenda.el (org-agenda-to-appt):
* lisp/org-clock.el (org-clock-resolve-clock)
(org-clock-resolve, org-resolve-clocks-if-idle):
* lisp/org-colview.el (org-columns-edit-value, org-columns)
(org-agenda-columns):
* lisp/org-element.el (org-element--cache-interrupt-p)
(org-element--cache-sync):
* lisp/org-habit.el (org-habit-get-faces)
(org-habit-insert-consistency-graphs):
* lisp/org-indent.el (org-indent-add-properties):
* lisp/org-timer.el ((org-timer-show-remaining-time):
* lisp/org.el (org-babel-load-file, org-current-time)
(org-today, org-auto-repeat-maybe)
(org-small-year-to-year, org-goto-calendar):
* lisp/ox.el (org-export-insert-default-template):
Use nil instead of (current-time) where either will do, as nil is
a bit more efficient and should have less timing error.

Prefer nil to (current-time) when either works
c75f505dea6a560b825384cf3d277690f86840bf
Paul Eggert
Fri Oct 20 19:42:23 2017 -0700

Note(km): The changes that will reverted in the next commit have been
dropped from the ChangeLog entries above.
2019-01-13 12:43:03 -05:00
Kyle Meyer 6972cce38b Merge branch 'maint' 2019-01-13 00:13:46 -05:00
Kyle Meyer 87c4635c88 Fix docstring typo
* lisp/org.el (org-insert-link): Fix docstring typo.
2019-01-12 23:47:36 -05:00
Nicolas Goaziou 871119986a Merge branch 'maint' 2019-01-12 11:50:37 +01:00
Nicolas Goaziou f9596eb472 Fix following timestamp in planning lines
* lisp/org.el (org-open-at-point): Open calendar when called on
  a timestamp in a planning line.

Reported-by: Bob Hepple <bob.hepple@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00158.html>
2019-01-12 11:49:50 +01:00
Kaushal Modi 8a5d8f79a1 Merge branch 'maint' 2019-01-08 11:35:34 -05:00
Kaushal Modi 34e5dcfb06 Fix the order of org-get-tags collected tags from #+filetags
* lisp/org.el (org-get-tags): Now org-get-tags returns tags list with
  tags from #+filetags in the beginning.

* testing/lisp/test-org.el (test-org/get-tags): Add test.

Fixes regression caused by commit
<5e27b2fd32>.

Bug reported in
<https://lists.gnu.org/r/emacs-orgmode/2019-01/msg00052.html>.
2019-01-08 11:29:58 -05:00
Marco Wahl 2862bea69b org: Option for user to force non fast tag selection interface
* lisp/org.el (org-set-tags-command): Disable the fast tag selection
  interface when the command is prefixed by C-u C-u.
2019-01-05 13:16:31 +01:00
Marco Wahl 99f0c53418 Merge branch 'maint' 2019-01-05 11:41:57 +01:00
Marco Wahl e8ad394c74 org: Fix docstring
* lisp/org.el (org-loop-over-headlines-in-active-region): Complete the
  list of concerned functions.
2019-01-05 11:35:26 +01:00
Kaushal Modi b334a59902 Merge branch 'maint' 2019-01-04 08:59:10 -05:00
Kaushal Modi 539091799b Fix C-u M-x org-align-tags not aligning all tags in buffer
* lisp/org.el (org-align-tags): Move point to the beginning of the
  visible buffer first before attempting to look for Org headline
  tags.

* testing/lisp/test-org.el (test-org/tag-align): Add test.

Fixes a regression in
1615261cdc.

Bug reported in
<https://lists.gnu.org/r/emacs-orgmode/2019-01/msg00051.html>.
2019-01-04 08:57:10 -05:00
memeplex 7db8ebc1df Add option to natively fontify LaTeX snippets and environments
* lisp/org.el: add a 'native value to org-highlight-latex-and-related
  that allows to use tex native font locking by means of
  org-src-font-lock-fontify-block.
* etc/ORG-NEWS: add note about new feature.
2019-01-04 14:22:11 +01:00
memeplex 0e26444fe0 Use xcolor for all latex preview converters
* lisp/org.el: remove :use-xcolor option and make dvipng use xcolor
  since usage of CLI fg and bg color args is incompatible with docs
  that themselves use xcolor (e.g. through tikz).
* etc/ORG-NEWS: add incompatible change note.
2019-01-04 14:20:23 +01:00
Kyle Meyer 23ef240aa6 Merge branch 'maint' 2019-01-03 20:43:15 -05:00
Van L 98407c111d Fix two docstring typos
* lisp/org.el (org-read-date-force-compatible-dates): Fix docstring
typos.

TINYCHANGE
2019-01-03 20:43:01 -05:00
stardiviner 34b71a0ca9 Add a dispatcher command for inserting dynamic blocks
* lisp/org.el (org-dynamic-block-insert-dblock,
  org-dynamic-block-alist, org-dynamic-block-functions,
  org-dynamic-block-types, org-dynamic-block-define,
  org-dynamic-block-function): New variables, New functions.

* lisp/org-keys.el (org-dynamic-block-insert-dblock): Add binding for
  the function.
(org-clock-report, org-columns-insert-dblock): Remove function
keybindings. Mark them as obsolete.

* doc/org-manual.org (Dynamic Blocks): : Add manual for dispatch
command `org-dynamic-block-insert-dblock'.

* testing/lisp/test-org-clock.el: New test.
2019-01-02 15:55:51 +01:00
Nicolas Goaziou 43fbf8a540 Fix last commit
* lisp/org.el (org-do-latex-and-related): Silence byte-compiler.
2019-01-01 17:40:38 +01:00
Carlos Pita 80268c0e07 Fix fontification of LaTeX environments
* lisp/org.el (org-fontify-extend-region): New function.
(org-compute-latex-and-related-regexp):
(org-do-latex-and-related): Revert recent changes.
(org-set-font-lock-defaults): Use new function.
2019-01-01 17:31:18 +01:00
Nicolas Goaziou b35bda573a Merge branch 'maint' 2019-01-01 17:17:59 +01:00
Nicolas Goaziou 284799a2e8 Fix `org-insert-link' with nil description
* lisp/org.el (org-insert-link): DESC may be nil; do not use
  `string-match' directly on it.
2019-01-01 17:16:50 +01:00
Bastien 7a22b8f93b Merge branch 'maint' 2019-01-01 11:54:01 +01:00