Commit Graph

5069 Commits

Author SHA1 Message Date
Nicolas Goaziou 363df82b19 Change default value for `org-email-link-description-format'
* lisp/org.el (org-email-link-description-format): Change default
  value.  No longer truncate subject by default.  Add `:safe' keyword.
* doc/org-manual.org (Handling Links): Document change.

Reported-by: "Garreau, Alexandre" <galex-713@galex-713.eu>
<http://lists.gnu.org/r/emacs-orgmode/2018-10/msg00344.html>
2018-11-01 23:00:45 +01:00
Nicolas Goaziou e02d8cd811 Merge branch 'master' into next 2018-11-01 22:27:01 +01:00
Nicolas Goaziou 42eebb3755 Use `cl-signum' instead of `signum'
* lisp/org.el (org-modify-ts-extra): Use `cl-signum' instead of
  `signum'.
2018-11-01 22:26:21 +01:00
Nicolas Goaziou dd1d15dcd8 Merge branch 'master' into next 2018-11-01 18:30:25 +01:00
Nicolas Goaziou 67cea44c9f Add docstring for `org-at-heading-p'
* lisp/org.el (org-at-heading-p): Add docstring.

Reported-by: Will Pierce <pierwill@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-11/msg00006.html>
2018-11-01 18:29:35 +01:00
Nicolas Goaziou 9d6a9e1739 Merge branch 'master' into next 2018-10-14 09:58:55 +02:00
Nicolas Goaziou f12f9b4f28 Fix fontification of links within verbatim markup
* lisp/org.el (org-do-emphasis-faces): Prevent fontification of links
  within verbatim markup.
2018-10-14 09:57:47 +02:00
Nicolas Goaziou 36c7bada28 Merge branch 'master' into next 2018-10-13 16:54:39 +02:00
Michaël Cadilhac d9fdc204cc org.el: Fix typo
* lisp/org.el (org-enforce-todo-checkbox-dependencies): Fix typo.

TINYCHANGE
2018-10-13 16:54:01 +02:00
Nicolas Goaziou 100541b53c Bump version keyword to 9.3 2018-10-06 12:12:13 +02:00
Nicolas Goaziou ffad253307 Merge branch 'master' into next 2018-10-06 09:50:52 +02:00
Nicolas Goaziou 1fbae137da Silence byte-compiler 2018-10-06 09:50:32 +02:00
Nicolas Goaziou 0954d4c258 Merge branch 'master' into next 2018-10-04 22:52:53 +02:00
Nicolas Goaziou 2ada40b796 Fix `org-paste-subtree' when called at the end of a headline
* lisp/org.el (org-paste-subtree): Fix `org-paste-subtree' when called
  at the end of a headline.

Reported-by: Dale Sedivec <dale@codefu.org>
<http://lists.gnu.org/r/emacs-orgmode/2018-10/msg00050.html>
2018-10-04 22:50:09 +02:00
Nicolas Goaziou bb36c0c8ab Refactor `org-babel-load-file'
* lisp/org.el (org-babel-load-file): Refactor code.
2018-10-03 18:44:34 +02:00
Nicolas Goaziou 144c27e39d org-keys: Extract key bindings into their own library
* lisp/org.el (org-replace-disputed):
(org-use-extra-keys):
(org-disputed-keys):
(org-key):
(org-defkey):
(org-use-speed-commands):
(org-speed-commands-user):
(org-follow-link-hook):
(org-tab-follows-link):
(org-return-follows-link):
(org-return-follows-link):
(org-mouse-1-follows-link):
(org-mouse-map):
(org-read-date-minibuffer-local-map):
(org-remap):
(org-speed-commands-default):
(org-print-speed-command):
(org-speed-command-help):
(org-speed-move-safe):
(org-speed-command-activate):
(org-babel-speed-command-activate):
(org-speed-command-hook): Move to "org-keys.el".
* lisp/org-keys.el: New file.
* lisp/ob-keys.el: Remove file.
2018-10-03 18:44:34 +02:00
Nicolas Goaziou 0266c36645 Do not use `org-refresh-effort-properties' when initializing Org
* lisp/org.el (org-mode): Do not call `org-refresh-effort-properties'.
(org-set-effort): Avoid using `effort' text property.
* lisp/org-timer.el (org-timer-set-timer): Avoid using
  `effort-minutes' text property.

Limit use of `effort' and `effort-minutes' properties to "org-agenda".
2018-10-03 18:44:34 +02:00
Nicolas Goaziou 0dd2985509 `org-fill-paragraph' leaves buffer unmodified when doing nothing
* lisp/org.el (org-fill-paragraph): Leave buffer unmodified when
  nothing was filled.
* lisp/org-compat.el: Add forward compatibility with `buffer-hash'
  function.
2018-10-03 18:44:34 +02:00
Chris Kauffman 09f9507238 Added keybindings for `org-table-move-cell-*' functions
* lisp/org.el (org-shiftup):
(org-shiftdown):
(org-shiftright):
(org-shiftleft): Dispatch `org-table-move-cell-*' commands.
2018-10-03 18:44:34 +02:00
Nicolas Goaziou 77aadd569c Improve a docstring
* lisp/org.el (org-complete-tags-always-offer-all-agenda-tags):
  Improve docstring.

Reported-by: No Wayman <iarchivedmywholelife@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-10/msg00027.html>
2018-10-03 12:40:58 +02:00
Marco Wahl d3e286257b org: Fix dangling parens in org-info-find-node 2018-10-03 09:21:58 +02:00
Marco Wahl 4ec502fc98 Merge branch 'master' into contextual-docu 2018-10-02 16:34:58 +02:00
Marco Wahl 3be61dff2f org: Unify a few settings in the org-mode-map 2018-10-02 15:05:59 +02:00
Marco Wahl 9968e66b64 org: Dropped one non-functional keybinding 2018-10-01 23:40:27 +02:00
Marco Wahl b19e7737dd org,org-agenda: New: open info depending on context
* lisp/org.el (org-info-find-node): Function to jump to info depending
  on context.  For an org file the context is the element type at point.
2018-10-01 22:47:33 +02:00
Marco Wahl 3f8b1b0265 org: Enable planning lines for special edit
* lisp/org.el (org-edit-special): Add a case for element type
  'planning.
2018-09-27 13:46:19 +02:00
Marco Wahl 7ae1230816 Merge remote-tracking branch 'origin/master' 2018-09-26 22:22:46 +02:00
Marco Wahl 6e584d06fd org: Show planning type in prompt when editing
* lisp/org.el (org-add-planning-info): Call `org-read-date' with either
  DEADLINE or SCHEDULED as value for the prompt.
2018-09-26 22:20:15 +02:00
Marco Wahl fe72a05ba5 org: Show planning type in prompt when editing
* lisp/org.el (org-add-planning-info): Call `org-read-date' with either
  DEADLINE or SCHEDULED as value for the prompt.
2018-09-26 14:15:34 +02:00
Nicolas Goaziou 17edaf8c14 "src block" -> "source block" in documentation and comments
* etc/ORG-NEWS (Maxima: new headers ~:prologue~ and ~:epilogue~):
(Texinfo exports inline source blocks as ~@code{}~):
(Default lexical evaluation of emacs-lisp source blocks):
* lisp/ob-clojure.el (org-babel-clojure-default-ns):
* lisp/ob-core.el (org-babel-named-src-block-regexp-for-name):
(org-babel-current-src-block-location):
(org-babel-mark-block):
(org-babel-insert-result):
* lisp/ob-emacs-lisp.el (org-babel-default-header-args:emacs-lisp):
* lisp/ob-exp.el (org-babel-exp-process-buffer):
* lisp/ob-lob.el (org-babel-lob-ingest):
* lisp/ob-ref.el:
* lisp/org-element.el (org-element-object-restrictions):
(org-element-src-block-parser):
(org-element-inline-src-block-parser):
* lisp/org-lint.el:
(org-lint--checkers):
* lisp/org-pcomplete.el (pcomplete/org-mode/block-option/src):
* lisp/org-src.el (org-edit-inline-src-code):
* lisp/org.el (org-ctrl-c-ctrl-c):
(org-in-src-block-p):
(org-fill-element):
* lisp/ox-html.el (org-html--textarea-block):
(org-html-format-code):
* lisp/ox-latex.el (org-latex-minted-options):
(org-latex-custom-lang-environments):
* lisp/ox-md.el:
* lisp/ox-odt.el (org-odt-format-code):
* lisp/ox.el (org-export-collect-listings):
* testing/lisp/test-ob-exp.el (ob-exp/src-block-with-affiliated-keyword):
* testing/lisp/test-ob.el (test-ob/preserve-results-indentation):
  Correct "src block" occurrences when they do not specifically refer
  to the element type `src-block'.
2018-09-20 11:23:49 +02:00
Marco Wahl 13090d114b org: Add special edit on timestamps
* lisp/org.el (org-edit-special): Added a case to call a suitable
  function to edit the timestamp at hand.
2018-09-18 17:59:52 +02:00
Nicolas Goaziou 5fe1650034 Fix `org-copy-visible'
* lisp/org.el (org-copy-visible): Deactivate region before adding
  visible part to kill ring.

See https://lists.gnu.org/archive/html/emacs-devel/2018-09/msg00476.html
2018-09-11 12:06:22 +02:00
Matt Lundin 5e27b2fd32 Ensure that org-get-tags returns all local tags
* lisp/org.el: (org-get-tags) Create a clearer separation between
  local and inherited tags in the function, so that
  org-remove-uninherited tags is only run on inherited tags. This is
  important to avoid destroying existing tags when adding new tags.
* testing/lisp/test-org.el: (test-org/get-tags) Add regression test
2018-08-19 10:28:27 +02:00
Nicolas Goaziou d975b44fd4 Fix `org-kill-line' on tag lines
* lisp/org.el (org-kill-line): Preserve tags when `org-special-ctrl-k'
  is non-nil.
* testing/lisp/test-org.el (test-org/kill-line): New test.

Reported-by: Matt Lundin <mdl@imapmail.org>
<http://lists.gnu.org/r/emacs-orgmode/2018-07/msg00122.html>
2018-07-17 22:24:01 +02:00
Nicolas Goaziou d3774fba77 Limit `org-open-at-point'
* lisp/org.el (org-open-at-point): Do not open everything that looks
  like a link, in particular in verbatim or code objects.  However,
  still conveniently open links in comments, node properties and
  keywords.
2018-07-05 13:35:26 +02:00
Nicolas Goaziou 120f871f41 Small refactoring
* lisp/ob-core.el (org-babel-open-src-block-result): Fix docstring,
  refactor code.
* lisp/org.el (org-open-at-point): Refactor so as to not call
  `org-babel-open-src-block-result' unconditionally.
2018-07-05 13:15:30 +02:00
Nicolas Goaziou accf99cbc0 Deprecate `org-effort-durations'
* lisp/org.el (org-effort-duration): Remove unused variable.
* lisp/org-compat.el (org-effort-durations): Make
  `org-effort-duration' an alias for `org-duration-units'.
* lisp/org-clock.el (org-clock-modify-effort-estimate): Fix docstring.
* doc/org-manual.org (Footnotes): Clarify footnote.

The variable is inactive since introduction of "org-duration" library.
2018-06-25 17:13:04 +02:00
Nicolas Goaziou 62dd2cc829 Fix regression in tags alignment
* lisp/org.el (org--align-tags-here): Correctly preserve column.
* testing/lisp/test-org.el (test-org/tag-align): Add test.

The regression was introduced in
593058e4a6.

Reported-by: Bernt Hansen <bernt@norang.ca>
<http://lists.gnu.org/r/emacs-orgmode/2018-06/msg00245.html>
2018-06-22 18:49:11 +02:00
Nicolas Goaziou 593058e4a6 `org-set-tags' modifies buffer only when necessary
* lisp/org.el (org--align-tags-here):
(org-set-tags): Modify buffer only when necessary.

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

Reported-by: Allen Li <darkfeline@felesatra.moe>
<http://lists.gnu.org/r/emacs-orgmode/2018-06/msg00242.html>
2018-06-19 09:40:00 +02:00
Nicolas Goaziou 2e1daf14e0 Update "Version" keyword 2018-06-17 10:25:35 +02:00
Christian Schwarzgruber 7fcceecf5d Improve `org-log-reschedule` and `org-log-redeadline' docstrings
* lisp/org.el (org-log-reschedule):
(org-log-redeadline): Improve docstring.

TINYCHANGE
2018-06-16 21:51:37 +02:00
Nicolas Goaziou 42a2c248eb org-capture: Fix completion for properties in capture buffer
* lisp/org.el (org-read-property-value):
* lisp/org-capture.el (org-capture-fill-template): Sidestep
  `org-set-property'.  Use previous function and `org-entry-put'
  instead.

Reported-by: Eric Danan <eric.danan@u-cergy.fr>
<http://lists.gnu.org/r/emacs-orgmode/2018-06/msg00061.html>
2018-06-16 17:03:22 +02:00
Nicolas Goaziou b3981d6ad0 Fix `org-metaup' and `org-metadown' on regions
* lisp/org.el (org-metaup): Do not leave a character behind when
  transposing regions.
(org-metadown): Fix "Transposed regions overlap" error.

Reported-by: Adam Porter <adam@alphapapa.net>
<http://lists.gnu.org/r/emacs-orgmode/2018-06/msg00184.html>
2018-06-15 18:52:09 +02:00
Nicolas Goaziou 956a5a4cb1 Ignore inlinetasks in `org-before-first-heading-p'
* lisp/org.el (org-before-first-heading-p): Ignore inlinetasks.
2018-06-13 22:20:27 +02:00
Nicolas Goaziou f50f373389 Add facility for commit log messages from Org documents
* lisp/org-compat.el (org-add-log-current-headline): New function.
* lisp/org.el (org-mode): Use new function.
2018-06-13 22:15:56 +02:00
Nicolas Goaziou 3f26c9bd2e `org-get-heading' returns nil instead of erroring out
* lisp/org.el (org-get-heading): Return nil instead of throwing an
  error before first headline.
2018-06-13 22:15:17 +02:00
Nicolas Goaziou f440ff0a6a Fix imenu compatibility with non-contiguous structure
* lisp/org.el (org-mode): Move imenu compatibility to "org-compat.el".
* lisp/org-compat.el (org-imenu-new-marker): Remove function.
(org-imenu-get-tree): Handle non-contiguous structure.

Reported-by: Thibault Polge <thibault@thb.lt>
<http://lists.gnu.org/r/emacs-orgmode/2018-06/msg00088.html>
2018-06-13 01:13:16 +02:00
Nicolas Goaziou 3745c0af9f Fix indentation when wrapping a block around a region
* lisp/org.el (org-insert-structure-template): Indent like the first
  line, not the line the point happens to be on.

Reported-by: stardiviner <numbchild@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-06/msg00107.html>
2018-06-12 09:03:33 +02:00
Nicolas Goaziou ed7d1dc6d7 Fix quirks in `org-insert-structure-template'
* lisp/org.el (org-insert-structure-template): Fix some issues.
  Refactor code.
* testing/lisp/test-org.el (test-org/insert-structure-template):
  Update tests.

Reported-by: stardiviner <numbchild@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-05/msg00553.html>
2018-06-02 23:41:56 +02:00
Rasmus 7ac46c52b7 Check format of org-structure-template-alist
* org.el (org--check-org-structure-template-alist): New function
  yielding user-error if using old org-structure-template-alist
  format.
  (org--insert-structure-template-mks):
* org-tempo.el (org-tempo-add-templates): Use new function
2018-05-28 23:44:51 +02:00
Aaron Ecay c32938b7fd Revert "Un-fontlock sub/superscripts when point enters them"
This reverts commit 102832e66f.

See <https://lists.gnu.org/archive/cgi-bin/namazu.cgi?query=%2Bmessage-id%3A%3C87y3g43mjy.fsf%40nicolasgoaziou.fr%3E&submit=Search&idxname=emacs-orgmode>
2018-05-27 21:29:57 +01:00
Nicolas Goaziou c698c8e959 Fix tags completion
* lisp/org.el (org-tags-completion-function): Refactor function. Fix
  tag completion.

Reported-by: Alain.Cochard@unistra.fr
<http://lists.gnu.org/r/emacs-orgmode/2018-05/msg00450.html>
2018-05-27 22:13:00 +02:00
Aaron Ecay 102832e66f Un-fontlock sub/superscripts when point enters them
* lisp/org.el (org-remove-font-lock-display-properties): Rename to
‘org-remove-font-lock-display-properties’.  It is a more
specific/accurate name.
(org-match-substring-with-braces-regexp):
(org-match-substring-regexp): Add a note to docstrings about what the
match groups are.
(org-raise-scripts--post-command-hook): New function, modeled on
‘prettify-symbols--post-command-hook’.
(org-raise-scripts): Use the above.

Inspired by
<https://lists.gnu.org/archive/cgi-bin/namazu.cgi?query=%2Bmessage-id%3A%3C518DCC34-E435-42F7-A15E-FAE7727033F8%40scratch.space%3E&submit=Search&idxname=emacs-orgmode>
2018-05-27 17:13:59 +01:00
Aaron Ecay 1117d65622 org.el: remove trailing whitespace 2018-05-27 16:58:39 +01:00
Nicolas Goaziou 2c5a8740ad Remove spurious colon in tags view
* lisp/org.el (org-scan-tags): Remove spurious colon in tags view.
  Small refactoring.

The regression was introduced in
be31a0c459.

Reported-by: Rainer Stengele <rainer.stengele@online.de>
<http://lists.gnu.org/r/emacs-orgmode/2018-05/msg00478.html>
2018-05-26 12:30:46 +02:00
Nicolas Goaziou 1cfd5d04e3 Fix a docstring
* lisp/org.el (org-store-link): Use "link" instead of puzzling
  "org-link".
2018-05-17 16:55:31 +02:00
Nicolas Goaziou 463664bdd0 Merge branch 'maint' 2018-05-16 22:07:33 +02:00
Nicolas Goaziou 2b26644b3a Fix `org-skip-over-state-notes'
* lisp/org.el (org-skip-over-state-notes): Allow empty TODO states.

Reported-by: Michael Brand <michael.ch.brand@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-05/msg00337.html>
2018-05-16 22:06:39 +02:00
Nicolas Goaziou 7143ae0355 Fix typo
* lisp/org.el (org-tag-alist): Fix typo in docstring.
2018-05-14 15:38:05 +02:00
Nicolas Goaziou ac21151c4a Fix typo in docstring
* lisp/org.el (org-tag-persistent-alist): Fix typo.

Reported-by: Bernt Hansen <bernt@norang.ca>
<http://lists.gnu.org/r/emacs-orgmode/2018-05/msg00293.html>
2018-05-13 22:36:09 +02:00
Aaron Ecay 7106eab974 Many small code improvements
* lisp/org-capture.el (org-capture-member): Make obsolete; the old
definition was identical to ‘org-capture-get’ anyway.
(org-capture-mode-map): Move the calls to ‘define-key’ up to where the
variable is defined.
(org-capture-mode-hook): Small docstring tweak.
(org-capture-mode): Fix typo in mode lighter.
(org-capture-set-target-location, org-capture-place-item):
(org-capture-place-plain-text, org-capture-narrow):
(org-capture-empty-lines-after):
(org-capture-import-remember-templates): ‘if’ without else -> ‘when’
* lisp/org-colview.el (org-columns-edit-value): Change an error to a
user-error.
(org-columns-uncompile-format): Improve docstring.
* lisp/org-compat.el (org-remove-from-invisibility-spec): Make
obsolete, the underlying emacs function exists since 1997, commit 31aa282e.
(org-in-invisibility-spec-p, org-count-lines): ‘if’ without else -> ‘when’.
* lisp/org-element.el (org-element-swap-A-B):
* lisp/org-entities.el (org-entities-create-table):
* lisp/org-list.el (org-insert-item):
* lisp/org-macs.el (org-with-point-at, org-base-buffer):
(org-preserve-local-variables, org-overlay-display):
(org-overlay-before-string): ‘if’ without else -> ‘when’.
* lisp/org-eshell.el (org-eshell-open): Fix docstring typo.
* lisp/org-pcomplete.el (pcomplete/org-mode/file-option/language):
(pcomplete/org-mode/file-option/startup):
(pcomplete/org-mode/file-option/options):
(pcomplete/org-mode/file-option/infojs_opt):
(pcomplete/org-mode/link, pcomplete/org-mode/tex):
(pcomplete/org-mode/todo, pcomplete/org-mode/searchhead):
(pcomplete/org-mode/tag, pcomplete/org-mode/prop): Avoid the formerly
misspelled ‘pcomplete-uniqify-list’ function.  It has a defalias in
emacs >= 27; we add our own for older emacsen.
(pcomplete/org-mode/file-option/bind): ‘if’ without else -> ‘when’.
* lisp/org-protocol.el (org-protocol-capture):
(org-protocol-convert-query-to-plist): ‘if’ without else -> ‘when’.
(org-protocol-do-capture): Pacify byte compiler, simplify conditional
logic.
* lisp/org-table.el (org-table-create-with-table.el): Simplify conditional
logic.
(org-table-create, org-table-convert-region, org-table-next-field):
(org-table-beginning-of-field, org-table-end-of-field):
* lisp/org-w3m.el (org-w3m-copy-for-org-mode): ‘if’ without else ->
‘when’.
* lisp/org.el (org-babel-do-load-languages, org-previous-link):
(org-refile): Use ‘(foo ...)’ instead of ‘(funcall 'foo ...)’.
(org-add-log-note): Convert a long cond into a cl-case.
(org-priority): Improve docstring, show a deprecation warning if the
‘show’ argument is passed (which was previously silently ignored).
Also, use ?\s instead of ?\ as a character literal for space.
(org-fast-tag-insert): Fix docstring typo.
(org-fill-element): ‘if’ without else -> ‘when’.
(org-on-target-p): Remove ancient compatibility alias.
2018-05-10 04:22:30 +01:00
Aaron Ecay 581fd90645 Fix declare-function and friends in org.el
* lisp/org-table.el (org-table-with-shrunk-field): Move from here...
* lisp/org-macs.el: ...to here

The move is necessary because this macro is used (at compile time) in
org.el.  We cannot leave its definition in org-table, because that
would lead to a require loop.  So we need to put it in org-macs, and
require the latter file in org.el also at compile time.

Finally, update and sort the declare-function calls.
2018-05-10 01:07:57 +01:00
Nicolas Goaziou 0dda9bf1c1 Mark `org-get-indentation' as obsolete
* lisp/org-macs.el (org-get-indentation): Move function...
* lisp/org-compat: ... here.
* lisp/ob-core.el (org-babel-demarcate-block):
(org-babel-insert-result):
(org-babel-update-block-body):
* lisp/ob-exp.el (org-babel-exp-process-buffer):
* lisp/org-agenda.el (org-agenda-get-some-entry-text):
* lisp/org-capture.el (org-capture-place-item):
* lisp/org-clock.el (org-clock-in):
* lisp/org-element.el (org-element-swap-A-B):
* lisp/org-feed.el (org-feed-format-entry):
* lisp/org-indent.el (org-indent-add-properties):
* lisp/org-list.el (org-in-item-p):
(org-list-struct):
(org-list-struct-apply-struct):
(org-list-item-body-column):
(org-toggle-item):
* lisp/org-src.el (org-src--edit-element):
* lisp/org.el (org-fixup-indentation):
(org-cdlatex-environment-indent):
(org--get-expected-indentation):
(org-indent-region):
(org-toggle-fixed-width):
* lisp/ox.el (org-export-expand-include-keyword): Use
  `current-indentation' instead.
2018-05-09 01:26:31 +02:00
Kyle Meyer 1dbc506086 Merge branch 'maint' 2018-05-06 02:33:55 -04:00
Kyle Meyer 732aa477b0 Update version keyword 2018-05-06 02:28:09 -04:00
Nicolas Goaziou ede4b999b8 Silence byte-compiler 2018-04-30 14:23:26 +02:00
Bastien 6dea0de7ca org.el: Add a new `org-browse-news' menu entry
* lisp/org.el (org-browse-news): New command to browse the
news for the latest major release.
(org-org-menu): New menu entry to use the new command.

Thanks to Thomas Dye and Tim Cross for suggesting this.
2018-04-30 00:27:16 +02:00
Bastien e11613b1c5 org.el: Add missing modules
* lisp/org.el (org-modules): Add missing modules.
2018-04-30 00:20:34 +02:00
Bastien 5c9bab29d4 Merge branch 'master' of code.orgmode.org:bzg/org-mode 2018-04-29 23:39:55 +02:00
Bastien 4697a19f6f org.el: Enhance a docstring
* lisp/org.el (org-babel-load-languages): Enhance docstring.
2018-04-29 23:39:32 +02:00
Nicolas Goaziou 70fc172191 Mark `org-file-remote-p' as obsolete
* lisp/org.el (org-file-remote-p): Move function...
* lisp/org-compat.el: ... here.
* lisp/ox.el (org-export--prepare-file-contents):
(org-export-file-uri): Use `file-remote-p'.
2018-04-29 16:28:25 +02:00
Nicolas Goaziou 9d8aade7ec Mark `org-with-silent-modifications' as obsolete
* lisp/org-clock.el (org-clock-sum):
* lisp/org-colview.el (org-columns--display-here):
(org-columns-remove-overlays):
(org-columns-quit):
(org-columns-edit-value):
(org-columns--compute-spec):
(org-columns-compute-all):
(org-agenda-colview-compute):
* lisp/org-indent.el (org-indent-remove-properties):
(org-indent-add-properties):
* lisp/org.el (org-sort-entries):
(org-refresh-properties):
(org-refresh-category-properties):
(org-refresh-stats-properties):
(org-agenda-prepare-buffers): Do not use
`org-with-silent-modifications'.
2018-04-29 12:02:01 +02:00
Nicolas Goaziou 31afe4b718 Move window-related function to "org-macs.el"
* lisp/org.el (org-switch-to-buffer-other-window):
* lisp/org-compat.el (org-fit-window-to-buffer): Move functions...
* lisp/org-macs.el: ... here.
2018-04-29 10:31:24 +02:00
Nicolas Goaziou 4d568fc83c Move `org-parse-time-string' to "org-macs.el"
* lisp/org.el (org-parse-time-string): Move function...
* lisp/org-macs.el : ... here.  Remove obsolete FIXME.  Improve
  docstring.
2018-04-29 10:26:41 +02:00
Nicolas Goaziou f77f5b963d Add :safe keyword to `org-hide-emphasis-markers'
* lisp/org.el (org-hide-emphasis-markers): Add :safe keyword.
2018-04-29 00:19:55 +02:00
Nicolas Goaziou c6d717cc89 Slightly speed up `org--align-tags-here'
* lisp/org.el (org--align-tags-here): Check if tags are already at the
  correct column before messing with the buffer.
2018-04-29 00:11:24 +02:00
Nicolas Goaziou 8785052735 `org-set-tags' cleans tag even when new tags are identical
* lisp/org.el (org-set-tags): Clean old tags unconditionally.

Even if the tags are the same, the line could contain noise, e.g.,
blanks after the tags, that could be cleaned up anyway.
2018-04-29 00:11:24 +02:00
Nicolas Goaziou 1615261cdc Preserve point when setting or aligning tags
* lisp/org.el (org--align-tags-here):
(org-set-tags-command):
(org-align-tags): Preserve point.
* testing/lisp/test-org.el (test-org/set-tags-command): Add test.
2018-04-28 23:45:04 +02:00
Nicolas Goaziou 7aadf4fe8c Improve `org-fix-tags-on-the-fly'
* lisp/org.el (org-fix-tags-on-the-fly): Improve docstring.  Skip more
  cases.
2018-04-28 23:45:04 +02:00
Nicolas Goaziou 4c13d0a1a8 Do not load Org Tempo by default
* lisp/org.el (org-modules): Do not load Org Tempo by default.

Org Tempo is a backward compatible substitute for the new expansion
mechanism.  It is only available for either die-hard "<s" users or
power users that need advanced templates.
2018-04-28 17:29:00 +02:00
Bastien 2debcd5b22 org.el: New command `org-toggle-narrow-to-subtree'
* lisp/org.el (org-toggle-narrow-to-subtree): New command.
(org-speed-commands-default): Use the new command for the "s"
speed command.
2018-04-28 14:00:25 +02:00
Bastien 0f83eac078 org.el: Enhance messages when (un)setting timestamps
* lisp/org.el (org--deadline-or-schedule): Enhance messages.
2018-04-28 13:31:45 +02:00
Bastien 4c14e0d1f2 org.el: New speed command "k" to kill the subtree at point
* lisp/org.el (org-speed-commands-default): Add "k" to kill
the subtree at point.
2018-04-28 12:57:15 +02:00
Bastien 5c8cb1e733 Add messages for `org-table-copy-region' and `org-copy-visible'
* lisp/org-table.el (org-table-copy-region):
* lisp/org.el (org-copy-visible): Add a message.
2018-04-28 12:52:20 +02:00
Bastien b5b7bb8446 org.el: Display a message when a checkbox could not be updated
* lisp/org.el (org-ctrl-c-ctrl-c): Display a message when the
checkbox item at point could not be updated.

* lisp/org-list.el (org-list-write-struct): Return the updated
structure.
2018-04-28 12:43:14 +02:00
Bastien 26f54050b6 Merge branch 'master' of code.orgmode.org:bzg/org-mode 2018-04-28 08:06:20 +02:00
Bastien 39b9a12bab org.el: Enhance a few docstrings
* lisp/org.el (org-structure-template-alist)
(org--insert-structure-template-mks)
(org--insert-structure-template-unique-keys)
(org-insert-structure-template): Enhance docstrings.
2018-04-28 08:05:54 +02:00
Nicolas Goaziou 031f362352 Fix `org-toggle-tag'
* lisp/org.el (org-toggle-tag): Fix weird behavior with inherited tags.

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

Reported-by: Bernt Hansen <bernt@norang.ca>
<http://lists.gnu.org/r/emacs-orgmode/2018-04/msg00537.html>
2018-04-28 02:10:44 +02:00
Nicolas Goaziou 9a1f208223 Merge branch 'maint' 2018-04-27 17:13:40 +02:00
Nicolas Goaziou 388254e0d0 Revert "org.el: Fix bug when links contain special characters"
This reverts commit b1d084c1ab.

The fix introduces a bug where `org-edit-special' throws an error on
INCLUDE keywords.
2018-04-27 17:12:18 +02:00
Bastien b08245a74e Merge branch 'maint' 2018-04-27 12:32:30 +02:00
Bastien e8c40b7a07 org.el: Update version keyword to 9.1.12
Thanks to Nicolas for reminding me.
2018-04-27 12:31:13 +02:00
Bastien 67f1a33b45 Merge branch 'master' of code.orgmode.org:bzg/org-mode 2018-04-27 01:27:40 +02:00
Bastien 6cd224e833 Merge branch 'maint' of code.orgmode.org:bzg/org-mode into maint 2018-04-27 01:27:15 +02:00
Bastien 8fd176ee76 Merge branch 'maint' into wip 2018-04-27 01:09:51 +02:00
Marco Wahl a0a40a4651 org: Remove special whitespace treatment when moving subtree
* lisp/org.el (org-move-subtree-down): Remove special whitespace treatment.
* testing/lisp/test-org.el (test-org/drag-element-backward):
  Accommodate test.
2018-04-27 01:08:29 +02:00
Bastien b1d084c1ab org.el: Fix bug when links contain special characters
* lisp/org.el (org-open-link-from-string): Fix bug when links
contain special characters.

Thanks to Joon Ro for reporting this.
2018-04-26 21:52:39 +02:00
Bastien b64f31abd2 org.el: Tiny enhancements for `org-open-at-point-global'
* lisp/org.el (org-open-at-point-global): Use `thing-at-point'
to match possibly more urls and emails.  Enhance docstring.
2018-04-26 21:50:37 +02:00
Bastien d561b3d0b9 org.el: Add org-eww to the list of default modules
* lisp/org.el (org-modules): Add org-eww to the list of
default modules.
2018-04-26 21:30:37 +02:00
Bastien 71ad7d19ea org.el: Add org-tempo to the list of default modules
* lisp/org.el (org-modules): Add org-tempo to the list of
default modules.

Template expansion is likely to be expected by many users, as it was
on by default in previous releases.  Let's load org-tempo by default
and let users remove it.  If needed, we can remove this in future
releases.
2018-04-26 21:29:48 +02:00
Nicolas Goaziou 60483fbfc3 Merge branch 'maint' 2018-04-26 14:18:07 +02:00
Nicolas Goaziou e2e5495239 Fix "(wrong-number-of-arguments max 0)" with fast tag selection
* lisp/org.el (org-fast-tag-selection): Fix
  "(wrong-number-of-arguments max 0)" error when setting tag and no
  tag is defined.
2018-04-26 14:16:17 +02:00
Nicolas Goaziou ea6825cf1f Improve docstring
* lisp/org.el (org-set-tags-command): Improve docstring.
2018-04-26 13:52:19 +02:00
Bastien 886ab9c766 Modify syntax entry for < and > globally
* lisp/org.el (org-mode): Let < and > be recognized as opening
and ending characters.

These characters are typically used in timestamps where it is useful
to use C-M-f and C-M-b to manipulate them.
2018-04-26 11:29:30 +02:00
Bastien 5a0162097a org.el (org-mode): Don't modify syntax entry for "@" globally
* lisp/org.el (org-mode): Don't modify syntax entry for "@" globally.

This syntax entry dates from commit fe939ecb when it was used to allow
"@" in tags.   Now "@" is a word constituent in tags, not anywhere.
2018-04-26 11:26:18 +02:00
Nicolas Goaziou 2056b60aae Fix merge with maint
Re-introduce commit "Fix multiple tag selection" (f1b43fe9e).
2018-04-26 02:44:23 +02:00
Nicolas Goaziou 8a90b34aa6 Fix error when setting more than one tag
* lisp/org.el (org-set-tags-command): Fix type of history argument in
  `completing-read'.
2018-04-26 02:30:09 +02:00
Nicolas Goaziou f1b43fe9e6 Fix multiple tag selection
* lisp/org.el (org--tag-add-to-alist): Preserve order when merging tag
  alists.  Remove duplicates only when they are outside a group.
  Rename from `org-tag-add-to-alist'.
(org-set-regexps-and-options):
(org-global-tags-completion-table):
(org-make-tags-matcher):
(org-set-tags):
(org-change-tag-in-region):
(org-agenda-prepare-buffers): Apply renaming.

Reported-by: Alex Branham <alex.branham@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-04/msg00311.html>
2018-04-23 15:24:23 +02:00
Kyle Meyer 08e196d7fa Merge branch 'maint' 2018-04-22 11:13:14 -04:00
Kyle Meyer e3b1c664e7 Update version keyword 2018-04-22 11:09:36 -04:00
Nicolas Goaziou 95af956cfd Merge branch 'maint' 2018-04-20 11:05:56 +02:00
Andrew Eggenberger 8c3d4fbde7 Document `org-timestamp-up' and `org-timestamp-down' behavior
* org.el (org-timestamp-up): Document undocumented behavior.
(org-timestamp-up): The function changes the timestamp type when
the point is on the enclosing bracket.  The documentation now
reflects that behavior.

* org.el (org-timestamp-down): Document undocumented behavior.
(org-timestamp-down): The function changes the timestamp type when
the point is on the enclosing bracket.  The documentation now
reflects that behavior.

TINYCHANGE
2018-04-20 11:05:28 +02:00
Nicolas Goaziou 4d152b994e Rewrite tags setting functions
* lisp/org.el (org-setting-tags): Remove variable.
(org-set-tags-command): Change signature.  For interactive use only.
(org-set-tags-to): Remove function.
(org-align-all-tags): Remove function.
(org-align-tags): New function.
(org-set-tags): Change signature.  For non-interactive use only.
(org-promote):
(org-demote):
(org-refile):
(org-todo):
(org-priority):
(org-toggle-tag):
(org-entry-put):
(org-fix-tags-on-the-fly):
(org-ctrl-c-ctrl-c):
(org-delete-indentation):
(org-return):
(org-kill-line): Apply signature change.  Use new functions.
* lisp/ox-beamer.el (org-beamer-property-changed):
(org-beamer-select-environment): Apply signature change.  Use new
functions.
* testing/lisp/test-org-archive.el (test-org-archive/to-archive-sibling):
  Update test.
* testing/lisp/test-org.el (test-org/set-tags): Add tests.
(test-org/set-tags-command): New test.
(test-org/set-tags-to): Remove test.
2018-04-20 10:51:21 +02:00
Nicolas Goaziou be31a0c459 Standardize tag regexps
* lisp/org.el (org-tag-re):
(org-tag-group-re): New variable
(org-tag-string-to-alist):
(org-scan-tags):
(org-make-tags-matcher):
(org-fast-tag-selection): Use new variables.
* lisp/org-agenda.el (org-agenda-list-stuck-projects):
(org-agenda-format-item):
(org-agenda-fix-displayed-tags):
* lisp/org-archive.el (org-archive-subtree): Use new variables.
2018-04-19 14:28:54 +02:00
Nicolas Goaziou edc159c2f2 Remove `org-get-tags-string'
* lisp/org.el (org-get-tags-string): Move to "org-compat".
(org-make-tag-string): New function
(org-set-tags-to):
(org-set-tags):
(org-set-current-tags-overlay):
(org-entry-properties):
(org-agenda-prepare-buffers):
* lisp/org-mouse.el (org-mouse-set-tags):
* lisp/ox-ascii.el (org-ascii--build-title):
* lisp/ox-beamer.el (org-beamer-select-environment):
* lisp/ox-latex.el (org-latex-format-inlinetask-default-function):
* lisp/ox-md.el (org-md-headline):
(org-md--build-toc):
* lisp/ox-texinfo.el (org-texinfo-format-headline-default-function):
(org-texinfo-format-inlinetask-default-function):
* contrib/lisp/ox-groff.el (org-groff-headline):
(org-groff-inlinetask): Use new function.
* lisp/org-compat.el (org-get-tags-string): New function.
2018-04-19 11:52:07 +02:00
Nicolas Goaziou e87ebca2a7 Use `org-tag-line-re'
* lisp/org.el (org-activate-tags):
(org-toggle-tag):
(org--align-tags-here):
(org-fast-tag-selection):
(org-kill-line):
* lisp/org-agenda.el (org-agenda-align-tags): Use `org-tag-line-re'.
2018-04-19 11:52:07 +02:00
Nicolas Goaziou 7d2ebc3ffa Deprecate `org-get-local-tags' and `org-get-local-tags-at'
* contrib/lisp/org-drill.el (org-drill-entry-p):
(org-drill-entry-leech-p):
* lisp/org-bibtex.el (org-bibtex-headline):
(org-get-local-tags-at): Use `org-get-tags'.
* lisp/org.el (org-get-local-tags-at):
(org-get-local-tags): Move to...
* lisp/org-compat.el: ... here.
2018-04-19 11:51:54 +02:00
Nicolas Goaziou f05493504a Replace `org-get-tags-at' with `org-get-tags'
* contrib/lisp/org-drill.el (org-part-of-drill-entry-p):
* lisp/org-agenda.el (org-agenda-finalize):
(org-search-view):
(org-agenda-get-todos):
(org-agenda-get-timestamps):
(org-agenda-get-sexps):
(org-agenda-get-progress):
(org-agenda-get-deadlines):
(org-agenda-get-scheduled):
(org-agenda-get-blocks):
(org-agenda-change-all-lines):
* lisp/org-bibtex.el (org-bibtex-headline):
* lisp/org-clock.el (org-clock-get-table-data):
* lisp/org-pcomplete.el (org-get-tags):
* lisp/org.el (org-trust-scanner-tags):
(org-get-local-tags-at):
(org-get-local-tags):
(org-set-tags):
(org-map-entries):
(org-entry-properties): Use `org-get-tags' instead of
`org-get-tags-at'.
2018-04-19 11:51:54 +02:00
Nicolas Goaziou fbe56f89f7 Change `org-get-tags' specifications
* lisp/org.el (org-tag-line-re): New variable.
(org-hide-archived-subtrees):
(org-get-buffer-tags): Use new function.
(org--get-local-tags): New function.
(org-get-tags): Change meaning.  Now get all inherited tags.  Change
signature.
* lisp/org-archive.el (org-archive-subtree):
* lisp/org-mobile.el (org-mobile-apply):
(org-mobile-edit):
* lisp/org-mouse.el (org-mouse-tag-menu):
* lisp/org-pcomplete.el (pcomplete/org-mode/tag): Apply change

* testing/lisp/test-org.el (test-org/get-tags): New test.
(test-org/tags-at): Remove test.
2018-04-19 11:51:54 +02:00
Nicolas Goaziou 6457a9e4e6 Merge branch 'maint' 2018-04-18 22:18:47 +02:00
Nicolas Goaziou 8814988d1c Fix error message
* lisp/org.el (org-kill-line): Fix error message.
2018-04-18 22:18:23 +02:00
Nicolas Goaziou ee5fa18430 Remove `org<>' function
* lisp/org.el (org<>): Remove function.
2018-04-17 16:08:23 +02:00
Nicolas Goaziou ff3f3876a8 Move time related functions from "org.el" to "org-macs.el"
* lisp/org.el (org-2ft):
(org-time=):
(org-time<):
(org-time<=):
(org-time>):
(org-time>=):
(org-time<>):
(org-matcher-time): Move from here to...
* lisp/org-macs.el: ... here
2018-04-17 16:06:09 +02:00
Nicolas Goaziou 1171d5ef0c Merge branch 'maint' 2018-04-16 13:45:52 +02:00
Nicolas Goaziou 8b6a617ff5 Remove inlinetask END part from Agenda view
* lisp/org-inlinetask.el (org-inlinetask-end-p): New function.
(org-inlinetask-at-task-p):
(org-inlinetask-in-task-p):
(org-inlinetask-goto-beginning):
(org-inlinetask-goto-end):
* lisp/org.el (org-scan-tags): Use new function.

Reported-by: Alain.Cochard@unistra.fr
<http://lists.gnu.org/r/emacs-orgmode/2018-04/msg00235.html>
2018-04-16 13:44:52 +02:00
Nicolas Goaziou 434d232ca7 Merge branch 'maint' 2018-04-12 21:46:25 +02:00
Nicolas Goaziou 1976c02af0 Fix docstring
* lisp/org.el (org-file-apps): Fix regexp in docstring.
2018-04-12 21:46:05 +02:00
Nicolas Goaziou 384d763447 Move some functions into "org-macs.el"
* lisp/org.el (org-file-newer-than-p):
(org-compile-file): Move...
* lisp/org-macs.el: ... here.
2018-04-11 22:03:18 +02:00
Nicolas Goaziou cbbca2991b Merge branch 'maint' 2018-04-11 21:43:37 +02:00
Nicolas Goaziou b7a7dd1492 Update version keyword 2018-04-11 21:42:46 +02:00
Nicolas Goaziou fb58727f32 Merge branch 'maint' 2018-04-08 18:39:36 +02:00
Nicolas Goaziou f05c2eae33 Fix RET on multi-line links
* lisp/org.el (org-return): Follow multi-line links.
* testing/lisp/test-org.el (test-org/return): Add tests.

Reported-by: Brent Goodrick <bgoodr@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-04/msg00105.html>
2018-04-08 18:35:40 +02:00
Rasmus 39837b4b31 org: Change org-insert-structure-template to C-c C-,
* lisp/org.el (org-mode-map):
* doc/org-manual.org (With): Change keybinding of
  org-insert-structure-template.

See the thread titled "Poll: new keybinding for
org-insert-structure-template?" in December 2017 for details.
2018-04-08 12:47:12 +02:00
Rasmus d04c20deec org: Change structure insertion
* lisp/org.el (org-insert-structure-template): Change newline
  behavior.
* testing/lisp/test-org.el (test-org/insert-template): New tests.

`org-insert-structure-template' considers indentation and also insert
newlines between the beginning and the end of the block.
2018-04-08 12:47:12 +02:00
Rasmus b56df737b7 org: org-structure-template-alist uses string keys
* lisp/org-tempo.el (org-tempo-keywords-alist):
  (org-tempo-setup):
  (org-tempo-add-templates):
* testing/lisp/test-org-tempo.el (test-org-tempo/add-new-templates):
* lisp/org.el (org-structure-template-alist): Use string keys.
  (org--insert-structure-template-mks):
  (org--insert-structure-template-unique-keys): New functions for block selection.
  (org-insert-structure-template): Use new functions.
* etc/ORG-NEWS:
* doc/org-manual.org: Reflect changes.
2018-04-08 12:47:12 +02:00
Marco Wahl 873caa6ad7 org.el: Fix two docstrings
* lisp/org.el (org-beginning-of-line, org-end-of-line): Fixed
  documentation of org-beginning-of-line; synchronized with
  documentation of org-end-of-line.
2018-04-03 17:03:34 +02:00
Kyle Meyer 052fc2226b Merge branch 'maint' 2018-03-27 18:22:29 -04:00
Rasmus ab488dc438 org.el: Fix whitespace issue blocking upstream commit 2018-03-27 18:21:31 -04:00
Nicolas Goaziou 30b7fba2ae Merge branch 'maint' 2018-03-26 23:27:07 +02:00
Nicolas Goaziou 1b3cc4e463 Update version 2018-03-26 23:24:00 +02:00
Kyle Meyer 2ddb26f95d Merge branch 'maint' 2018-03-22 09:26:49 -04:00
Kyle Meyer fa15abe6e8 Update version keyword
As of fffd300ef (Update version keyword, 2018-02-24), this should be
bumped with each release.
2018-03-22 09:18:32 -04:00
Nicolas Goaziou 6713c2792f Merge branch 'maint' 2018-03-21 12:52:43 +01:00
Nicolas Goaziou b5a90a7ab5 Silence byte-compiler 2018-03-21 12:52:19 +01:00
Nicolas Goaziou 4a631383dd Remove unused regexp
* lisp/org.el (org-log-drawer-start-re):
(org-log-drawer-end-re)
(org-log-drawer-re): Remove variables.
2018-03-21 12:49:41 +01:00
Bastien f0958d559c Merge branch 'maint' 2018-03-21 02:13:21 +01:00
Martin Kampas 894ec00e9f org.el: Fix recursion stop condition when expanding tags
* lisp/org.el (org-expand-tags): Fix recursion stop condition.

See http://lists.gnu.org/r/emacs-orgmode/2018-03/msg00228.html

TINYCHANGE
2018-03-21 02:12:42 +01:00
Bastien 27d0c469c0 Merge branch 'maint' 2018-03-21 01:58:25 +01:00
Bastien e28a5a66ad org.el: Enhance `org-tag-add-to-alist' and use it more
* lisp/org.el (org-tag-add-to-alist): Check against the car of
the ("tag") or ("tag" . ?k) element.
(org-global-tags-completion-table, org-make-tags-matcher)
(org-set-tags, org-change-tag-in-region)
(org-agenda-prepare-buffers): Use `org-tag-add-to-alist'.
2018-03-21 01:57:45 +01:00
Matt Lundin 393b98ae8e Include buffer tags in global tags completion
* lisp/org.el: (org-global-tags-completion-table): Return all tags,
  including tags in the buffer.

This fixes a bug that caused buffer tags to be excluded if user
configured tags either via `org-tag-alist' or the #+TAGS keyword.
2018-03-21 00:56:25 +01:00
Bastien a402419716 Merge branch 'maint' 2018-03-20 17:23:29 +01:00
Bastien b0cca9656d org.el: Fix bug when adding persistent tags
* lisp/org.el (org-tag-add-to-alist): New function.
(org-set-regexps-and-options): Use the new function to only
append persistent tags if they are not already in the tags
alist.
2018-03-20 17:23:18 +01:00
Bastien f18823b80a Merge branch 'maint' 2018-03-20 14:58:40 +01:00
Bastien b7f350f7ef org.el: Fix bug when building tags groups
* lisp/org.el (org-tag-alist-to-groups): Fix bug.
2018-03-20 14:58:20 +01:00
Nicolas Goaziou f6b74a5649 Remove `org-context-p'
* lisp/org.el (org-context-p): Remove function.

The function is not used anywhere, and is deprecated
`org-element-at-point'.
2018-03-20 09:34:26 +01:00
Sebastian Reuße 1af7f303d5 Guard against empty headings when sorting
* org.el (org-sort-entries): Guard against empty headings when sorting
alphabetically, numerically.

Due to how ‘org-complex-heading-regexp’ is defined, the title capture group
currently returns nil in empty headings, which we don’t want to pass on to
‘org-sort-remove-invisible’.
2018-03-20 09:25:14 +01:00
Nicolas Goaziou 0de3f78c28 Merge branch 'maint' 2018-03-18 21:27:19 +01:00
Nicolas Goaziou e1f1acbbfb Improve docstring for `org-time-stamp-inactive'
* lisp/org.el (org-time-stamp-inactive): Improve docstring.
2018-03-18 21:26:42 +01:00
Nicolas Goaziou 594b2dbae8 Merge branch 'maint' 2018-03-17 14:57:25 +01:00
Nicolas Goaziou ea4cb14883 Fix `org-set-tags-to'.
* lisp/org.el (org-set-tags-to): Do not throw an error on empty
  headlines.
* testing/lisp/test-org.el (test-org/set-tags): Move test.
(test-org/set-tags-to): New test.

Reported-by: Adrian Bradd <a.bradd@columbia.edu>
<http://lists.gnu.org/r/emacs-orgmode/2018-03/msg00210.html>
2018-03-17 14:56:49 +01:00
Nicolas Goaziou 5aaf3dfc7e Move `org-heading-delete-metadata' into "org-list.el"
* lisp/org.el (org-heading-delete-metadata): Move to...
* lisp/org-list.el (org-list--delete-metadata): ... here.  Refactor
  code.
(org-toggle-item): Use new function.

* testing/lisp/test-org-list.el (test-org-list/toggle-item): Add test.

At the moment, this function is only used internally in "org-list.el",
so it belongs there.

Also refrain from removing log or clock drawers, because they may not
contain all clocks or notes anyway. Besides, the information they
contain may still make sense in a plain list.
2018-03-17 11:49:16 +01:00
Nicolas Goaziou 409a62e5c9 Move some string functions to "org-macs.el"
* lisp/org.el (org-string<):
(org-string<=):
(org-string>=):
(org-string>):
(org-string<>): Move to...
* lisp/org-macs.el: ... here.
2018-03-13 09:26:53 +01:00
Sebastian Reuße 0d6ee386a1 Fix alphabetic string matching operators
* org.el (org-string<): Add.
(org-op-to-function): Use it.
(org-string> etc.): Use collated comparison.

Cf. commit 551d2f1fe.
2018-03-13 09:09:32 +01:00
Kyle Meyer f74f55cc75 Merge branch 'maint' 2018-03-07 22:07:42 -05:00
Paul Eggert 9ac80ede5e Backport commit f2caf08ca from Emacs
; Spelling fixes
f2caf08ca625f64c7eeea8dfa8f65a5b1bac58e2
Paul Eggert
Sun Mar 4 17:10:34 2018 -0800
2018-03-07 22:07:25 -05:00
Bastien 69c5b6c999 Remove headings' metadata when turning them into list items
* lisp/org-list.el (org-toggle-item): Delete headings'
metadata before turning them into list items.

* lisp/org.el (org-log-drawer-start-re): New variable.
(org-log-drawer-end-re, org-log-drawer-re): New constants.
(org-heading-delete-metadata): New function.
(org-setting-tags): Fix comment.
2018-03-05 10:57:43 +01:00
Nicolas Goaziou 6a56ae53f2 `org-mark-ring-push' also populates Emacs mark ring
* lisp/org.el (org-mark-ring-push): Also populate Emacs mark ring.

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

The function cannot detect the proper level when a headline around
point contains spurious white spaces after the stars.
2018-02-26 12:14:24 +01:00
Nicolas Goaziou 5e8fa13610 Re-instate `C-c C-x m' binding
Reported-by: Kyle Meyer <kyle@kyleam.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00322.html>
2018-02-24 23:03:28 +01:00
Nicolas Goaziou 1b259f95aa Merge branch 'maint' 2018-02-24 22:38:27 +01:00
Nicolas Goaziou fffd300efd Update version keyword 2018-02-24 22:36:54 +01:00
Sebastian Reuße 551d2f1fe7 Fix alphabetic sorting for headlines, tags
* org.el (org-sort-entries): Use collated sorting.
(org-tags-sort-function): Use collated sorting.
(org-string-collate-greaterp): Add helper-function to use as defcustom
option, since there is no ‘string-collate-greaterp’ in Emacs.

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

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

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

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

<http://lists.gnu.org/r/emacs-orgmode/2018-02/msg00102.html>
2018-02-11 15:19:49 -05:00
Nicolas Goaziou 2956408f75 Move `org-flag-region' to "org-macs.el"
* lisp/org.el (org-flag-region): Move function...
* lisp/org-macs.el (org-flag-region): ... here.
2018-02-11 11:27:53 +01:00
Matt Lundin c72304b95e Fix S-<return> and M-S-<return> keybindings for GUI
This prevents these key combinations from being translated to M-RET in
window systems. These bindings already have extra keys defined for
TTY.
2018-02-10 13:53:11 +01:00
Nicolas Goaziou 75ece16507 Move bindings together 2018-02-01 13:54:25 +01:00
Nicolas Goaziou 68b076bf52 Re-organize some bindings 2018-01-31 17:56:21 +01:00
Nicolas Goaziou 55e8c6f9c3 Merge branch 'maint' 2018-01-28 17:10:13 +01:00
Nicolas Goaziou 5b4a711949 Fix fontification of macro spanning over multiple lines
* lisp/org.el (org-fontify-macros): Handle macros spanning over
  multiple lines.
2018-01-28 17:08:03 +01:00
Nicolas Goaziou 33a9eef11f Allow editing partially shrunk columns
* lisp/org-table.el (org-table-with-shrunk-field): New macro.
(org-table-get-field):
(org-table-toggle-column-width): Use new macro.
(org-table--shrunk-field): Update function.
(org-table--shrink-field): When there is a width cookie, leave first
characters editable.

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

* testing/lisp/test-org-table.el (test-org-table/toggle-column-width):
  Update tests.
2018-01-25 23:57:11 +01:00
Nicolas Goaziou 8ecc4c4365 Move `org-match-any-p' in "org-macs.el"
* lisp/org-macs.el (org-match-any-p): Moved from "org.el".
* lisp/org.el (org-match-any-p): Removed.
2018-01-23 09:48:01 +01:00
Nicolas Goaziou 7a20ccafb5 Merge branch 'maint' 2018-01-20 15:55:36 +01:00
Nicolas Goaziou b891e46ccb Fix typo in docstring
* lisp/org.el (org-reload): Fix typo.
2018-01-20 15:55:13 +01:00
Nicolas Goaziou b7e94882ea Move some indentation functions in "org-macs.el", remove others
* lisp/org-macs.el (org-get-indentation): Moved from "org.el"
(org-get-string-indentation):
(org-fix-indentation): Remove functions.
2018-01-20 15:54:20 +01:00
Nicolas Goaziou 73861065fc Tiny cleanup 2018-01-20 15:45:28 +01:00
Nicolas Goaziou f1bc02f03b Merge branch 'maint' 2018-01-20 13:41:41 +01:00
Nicolas Goaziou c06f906f02 Fix typos in docstrings
* lisp/org.el (org-category):
(org-preview-latex-image-directory):
(org-hidden-keywords):
(org-scan-tags):
(org-find-exact-heading-in-directory):
(org-revert-all-org-buffers): Change "org" to "Org" where appropriate.
2018-01-20 13:40:57 +01:00
Nicolas Goaziou d6729e3eda Merge branch 'maint' 2018-01-20 13:29:49 +01:00
Nicolas Goaziou c2576f349b Re-hide archived subtrees when showing branches
* lisp/org.el (org-kill-note-or-show-branches): Re-hide archived
  subtrees when showing branches.

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

Fixes: Bug#10289
2018-01-20 13:07:46 +01:00
Nicolas Goaziou 0155441358 Merge branch 'maint' 2018-01-19 18:22:00 +01:00
Tim Landscheidt b289a65be7 Use https for links to orgmode.org
TINYCHANGE
2018-01-19 18:14:58 +01:00
Nicolas Goaziou 2372276883 Merge branch 'maint' 2018-01-18 23:10:51 +01:00
Nicolas Goaziou daceceb424 Fix `org-store-link'
* lisp/org.el (org-store-link): Fix parameter to `completing-read',
  which expects a string, not a symbol.

Reported-by: "Stefan-W. Hahn" <stefan.hahn@s-hahn.de>
2018-01-18 23:09:12 +01:00
Nicolas Goaziou c3fffcd8d2 Fix C-<return> binding 2018-01-15 22:59:40 +01:00
Nicolas Goaziou 6965098a53 Use a single keybinding representation
* lisp/org.el (org-replace-disputed-keys): Fix docstring.

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

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

Drawers and headlines visibility are now unrelated.  As a consequence,
there is no need to hide drawers every time a headline is expanded.
2018-01-10 15:58:21 +01:00
Nicolas Goaziou 4f74aa4c0e Change signature for `org-set-visibility-according-to-property'
* lisp/org.el (org-set-visibility-according-to-property): Remove unused
  argument.
(org-set-startup-visibility):
(org-overview): Apply signature change.
2018-01-10 15:58:21 +01:00
Nicolas Goaziou e886d1566d Implement `org-flag-region'
* lisp/org.el (org-flag-region): New function.
(org-hide-block-toggle): Use new function.

Unlike `outline-flag-region', this function handles multiple invisible
specs.
2018-01-10 15:55:46 +01:00
Nicolas Goaziou bbf1c26aaf Remove `org-hide-block-overlays' variable
* lisp/org.el (org-hide-block-overlays): Remove variable.
(org-show-block-all): Use `remove-overlays' to remove block-related
overlays instead of relying on a global state.
(org-hide-block-toggle): Do not update removed variable.  Tiny
refactoring.
2018-01-10 15:55:46 +01:00
Nicolas Goaziou 728920a8ed Rename `org-timestamp--to-internal-time' into `org-timestamp-to-time'
* lisp/org.el (org-timestamp-to-time): New function.
(org-timestamp--to-internal-time): Remove function.
(org-timestamp-format): Use new function.

* testing/lisp/test-org.el (test-org/timestamp-to-time): New test.
2018-01-10 15:05:11 +01:00
Nicolas Goaziou ee27fb010e Fix docstring
* lisp/org.el (org-timestamp-from-time): Fix docstring.
2018-01-10 14:37:02 +01:00
Nicolas Goaziou d3cdc35e06 Implement `org-timestamp-from-string', `org-timestamp-from-time'
* lisp/org.el (org-timestamp-from-string):
(org-timestamp-from-time): New functions.

* testing/lisp/test-org.el (test-org/timestamp-from-string):
(test-org/timestamp-from-time): New tests.
2018-01-10 14:35:32 +01:00
Nicolas Goaziou e2b47eb5e7 Merge branch 'maint' 2018-01-04 16:35:24 +01:00
Marco Wahl 6c3c06273e org.el (org-copy-subtree): Correct typo 2018-01-04 16:26:08 +01:00
Nicolas Goaziou ff3d23e64e Do not use `called-interactively-p' in `org-store-link'
* lisp/org.el (org-store-link): Do not use `called-interactively-p'.

Fixes: 19915
2018-01-03 18:04:55 +01:00
Nicolas Goaziou d6369e9ac6 Use completion in `org-set-effort'
* contrib/manual.org: Document change.
* lisp/org.el (org-set-effort): Change signature.
(org-inc-effort): Apply signature change.

Fixes: 22776, 22597
2018-01-02 22:00:35 +01:00
Nicolas Goaziou b030475575 Merge branch 'maint' 2018-01-02 14:14:18 +01:00
Nicolas Goaziou 16c7ae7996 Fix handling nested VISIBILITY properties
* lisp/org.el (org-set-visibility-according-to-property): Fix handling
  nested VISIBILITY properties.
* testing/lisp/test-org.el (test-org/set-visibility-according-to-property):
  New test.

Reported-by: Michael Maurer <maurer.michael@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2018-01/msg00012.html>
2018-01-02 14:13:46 +01:00
Nicolas Goaziou e9f30779de Merge branch 'maint' 2017-12-31 15:49:55 +01:00
Nicolas Goaziou af58a6dbf7 Change Org-mode into Org mode
* lisp/ob-core.el (org-babel-result-to-file):
* lisp/ob-picolisp.el:
* lisp/org-agenda.el (org-check-for-org-mode):
(org-search-view):
(org-tags-view):
(org-agenda-cleanup-fancy-diary):
(org-agenda-get-day-entries):
* lisp/org-table.el (orgtbl-mode):
* lisp/org-w3m.el (org-w3m-copy-for-org-mode):
* lisp/org.el (org-modules):
(org-startup-options):
(org-fontify-meta-lines-and-blocks):
* mk/default.mk:
* mk/manfull.pl:
* mk/org-fixup.el (org-make-org-version):
(org-make-org-loaddefs):
* mk/orgcard2txt.pl (rep_esc):
* mk/targets.mk ($(info):
* testing/README:
(Example):
* testing/examples/no-heading.org:
* testing/examples/normal.org: Change Org-mode into Org mode
2017-12-31 15:48:09 +01:00
Nicolas Goaziou a374b8b92a Silence byte-compiler 2017-12-31 15:16:12 +01:00
Nicolas Goaziou 2b96b08eaf Remove reference to Message mode
* lisp/org.el (org-adaptive-fill-function):
(org-fill-element): Remove reference to Message mode.  These functions
are Org mode specific.
2017-12-30 10:28:50 +01:00
Nicolas Goaziou eeb4c22090 Remove OrgStruct mode
* lisp/org.el (org-overview): Use `org-outline-regexp-bol' instead of
  `outline-regexp'.
(org-heading-components): Ignore orgstruct-mode.
(orgstruct-heading-prefix-regexp):
(orgstruct-setup-hook):
(org-local-vars):
(orgstruct-mode):
(turn-on-orgstruct):
(orgstruct-is-++):
(org-fb-vars):
(orgstruct++-mode):
(turn-on-orgstruct++):
(orgstruct-error):
(orgstruct-setup):
(orgstruct-make-binding):
(org-run-like-in-org-mode):
(org-indent-line):
(org-fill-paragraph):
(org-show-children): Remove Orgstruct mode

* doc/org.texi (Orgstruct mode): Remove node.
2017-12-30 10:28:50 +01:00
Bastien 199908ba62 org: Enhance non-interactive calls to `org-insert-link`
* org.el (org-insert-link): When called non-interactivily,
don't allow to edit the default description.
2017-12-29 18:43:40 +01:00
Bastien 29dd9a6605 org.el: New value for `org-todo-repeat-to-state'
* lisp/org.el (org-todo-repeat-to-state): Allow `t' to use
the previous TODO state.

* doc/org.texi (Repeated tasks): Document the new optional
value of `org-todo-repeat-to-state'.
2017-12-29 18:36:27 +01:00
Nicolas Goaziou a88bd87787 Merge branch 'maint' 2017-12-27 23:57:37 +01:00
Adrian Bradd ff0f3e4723 Fix `org-todo'
* org.el (org-todo): Use marker `change-plist' position property to
  permit triggering through "org-depend.el" with parent heading
  statistics.

When TODO statistics in parent headings were updated it shifted the point
defining the :position property in `change-plist' causing headlines
with TRIGGER properties to fail to evaluate.

TINYCHANGE
2017-12-27 23:57:15 +01:00
Nicolas Goaziou b30afa39b0 Merge branch 'maint' 2017-12-27 23:24:08 +01:00
Nicolas Goaziou f2c712a6a4 Fix inserting link
* lisp/org.el (org-insert-link): Fix when search option in a file link
  contains two consecutive slashes.

Reported-by: Ag Ibragimov <agzam.ibragimov@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2017-12/msg00560.html>
2017-12-27 23:22:07 +01:00
Nicolas Goaziou 7b6ec64e0e Merge branch 'maint' 2017-12-25 23:54:36 +01:00
Nicolas Goaziou 85ed1fd01d Fix visibility cycling when point is invisible
* lisp/org.el (org-cycle-internal-local): Fix visibility cycling when
  point is invisible.

Reported-by: Ruy Exel <ruyexel@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2017-12/msg00314.html>
2017-12-25 23:53:26 +01:00
Nicolas Goaziou fdb2eb6701 Preserve file local variables during some operations
* lisp/org-macs.el (org-preserve-local-variables): New macro.
* lisp/org-footnote.el (org-footnote--clear-footnote-section):
(org-footnote--goto-local-insertion-point):
(org-footnote-create-definition):
(org-footnote-delete):
(org-footnote-renumber-fn:N):
(org-footnote-sort):
(org-footnote-normalize):
* lisp/org.el (org-move-subtree-down):
(org-copy-subtree):
(org-sort-entries):
(org-refile): Use new macro.
* testing/lisp/test-org-footnote.el (test-org-footnote/normalize):
(test-org-footnote/delete):
(test-org-footnote/sort):
(test-org-footnote/normalize):
* testing/lisp/test-org.el (test-org/sort-entries): Add tests.

Operations affected include copying, killing, refiling, archiving and
moving subtrees.  It also affects sorting, creating and deleting
footnotes.
2017-12-18 16:01:41 +01:00
Nicolas Goaziou 9bbee7d3c8 Add some `:safe' keywords
* lisp/org-src.el (org-edit-src-content-indentation):
* lisp/org.el (org-adapt-indentation): Add :safe keyword.
2017-12-17 11:01:25 +01:00
Marco Wahl 3f2968c650 org: Insert a blank with structure template type "src" 2017-12-16 18:17:10 +01:00
Nicolas Goaziou c9bbc4eca7 Merge branch 'maint' 2017-12-15 23:21:34 +01:00
Nicolas Goaziou 5e30bbcd34 Silence byte-compiler 2017-12-15 23:21:15 +01:00
Nicolas Goaziou 6fc4a1c53b Merge branch 'maint' 2017-12-14 22:40:55 +01:00
Nicolas Goaziou fe98379fce Fix fuzzy link escaping
* lisp/org.el (org-make-link-string): Properly escape square brackets
  and percent sings in fuzzy links.

* testing/lisp/test-org-clock.el (test-org-clock/clocktable/link):
  Update tests.

Reported-by: Paulo Matos <paulo@matos-sorge.com>
<http://lists.gnu.org/r/emacs-orgmode/2017-12/msg00269.html>
2017-12-14 22:39:54 +01:00
Nicolas Goaziou 60831c4606 Merge branch 'maint' 2017-12-14 00:40:58 +01:00
Nicolas Goaziou 263a0cf00e Fix defcustom type
* lisp/org-agenda.el (org-agenda-custom-commands-local-options):
* lisp/org-duration.el (org-duration-units):
* lisp/org.el (org-occur-case-fold-search): Remove spurious quote.

Fixes: 29694

lignes
2017-12-14 00:40:27 +01:00
Nicolas Goaziou 5d2517ba5a Merge branch 'maint' 2017-12-14 00:18:20 +01:00
Nicolas Goaziou d9a6408baf Fix defgroups
* lisp/org.el (org-structure-template-alist): Use `org-edit-structure'
  instead of non-existent `org-completion'.
* lisp/ox-publish.el (org-export-publish): Rename from `org-publish'.
* lisp/org-pcomplete.el (org-complete): Remove unused group.

Fixes: 29698
2017-12-14 00:16:18 +01:00
Nicolas Goaziou a36d18caa4 Merge branch 'maint' 2017-12-13 23:52:06 +01:00
Nicolas Goaziou 08fa2ae056 Fix some defcustoms types
* lisp/ob-stan.el (org-babel-stan-cmdstan-directory):
* lisp/org.el (org-latex-default-packages-alist):
* lisp/ox-odt.el (org-odt-with-latex): Fix type mismatch.

Fixes: 29695
2017-12-13 23:51:10 +01:00
Nicolas Goaziou 076cba6b2d Fix last commit
* lisp/org.el (org-show-all): Remove function.
2017-12-10 23:50:30 +01:00
Nicolas Goaziou 6f89177ee6 Move `org-unlogged-message' to "org-macs.el"
* lisp/org.el (org-unlogged-message): Move function to...
* lisp/org-macs.el: ... here.
2017-12-10 23:37:59 +01:00
Rasmus 94f1a58438 org-tempo.el: New file for expansion of templates
* lisp/org-tempo.el: New file.
* doc/org.texi (Structure templates):
* lisp/org.el (org-modules): Add org-tempo.
* testing/lisp/test-org-tempo.el: New file.
2017-12-08 00:29:08 +01:00
Nicolas Goaziou 3695415199 Merge branch 'maint' 2017-12-06 23:16:55 +01:00
Nicolas Goaziou b570175d76 Fix `org-files-list'
* lisp/org.el (org-files-list): Prevent duplicates in result.

Reported-by: Renato Ferreira <renatofdds@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2017-12/msg00134.html>
2017-12-06 23:15:59 +01:00
Nicolas Goaziou 15df8db7ad Merge branch 'maint' 2017-12-04 22:43:31 +01:00
Nicolas Goaziou 0e7e3bc6df Remove some references to reserved keybinding prefix `C-c a'
* lisp/org-agenda.el (org-stuck-projects):
(org-agenda-menu):
* lisp/org.el (org-org-menu): Remove references to reserved keybinding
  prefix `C-c a'.

Fixes: 28263
2017-12-04 22:42:16 +01:00
Nicolas Goaziou a0e3f1d505 Merge branch 'maint' 2017-12-03 18:14:48 +01:00
Nicolas Goaziou 037db00f40 Fix last commit
* lisp/org.el (org-org-menu): Fix last commit.
2017-12-03 18:14:21 +01:00
Nicolas Goaziou 7fc901ca0f Merge branch 'maint' 2017-12-03 18:04:18 +01:00
Nicolas Goaziou b4079bb894 Activate CDLatex entry in menu only if `cdlatex' is loaded
* lisp/org.el (org-org-menu): Activate CDLatex entry in menu only if
  `cdlatex' is loaded.

Fixes: 4068
2017-12-03 18:03:19 +01:00
Nicolas Goaziou 259656a76e Merge branch 'maint' 2017-12-03 09:03:37 +01:00
Nicolas Goaziou 2faaacfeeb Revert the whole time zone mess
* lisp/org.el (org-time-string-to-time):
(org-time-string-to-seconds): Remove optional ZONE argument.
(org-2ft):
(org-check-before-date):
(org-check-after-date):
(org-check-dates-range):
(org-parse-time-string):
* lisp/org-clock.el (org-clock-get-sum-start):
(org-clock-out):
(org-clock-timestamps-change):
(org-clock-sum):
(org-clock-update-time-maybe):
* lisp/org-colview.el (org-columns--age-to-minutes): Apply change.
* testing/lisp/test-org-clock.el (org-test-clock-create-clock):
(test-org-clock/clocktable/scope):
* testing/lisp/test-org-colview.el (test-org-colview/columns-summary):
  Apply change.  Simplify tests to avoid daylight saving time issue.
2017-12-03 08:57:37 +01:00
Nicolas Goaziou 14620fdf0c Yet another tweak to fontification
* lisp/org.el (org-do-emphasis-faces): Handle properly asterisks at
  the beginning of line.
2017-12-02 23:21:36 +01:00
Nicolas Goaziou 8bd9839952 Revert "Fix headline fontification"
This reverts commit 5873d99121.
2017-12-02 23:07:51 +01:00
Nicolas Goaziou bdaf5dacf4 Merge branch 'maint' 2017-12-02 17:27:53 +01:00
Nicolas Goaziou ca43c1f262 Fix RET past the last column of a table
* lisp/org.el (org-return): Split the table before first column or
  after last one.
* lisp/org-table.el (org-table-next-row): Remove code handling split.

* testing/lisp/test-org.el (test-org/return): Add test.
2017-12-02 17:23:03 +01:00
Nicolas Goaziou 7a3cae65a7 Merge branch 'maint' 2017-12-01 19:35:54 +01:00
Nicolas Goaziou 0cc231a7bb Call store link functions only once
* lisp/org.el (org-store-link): Call store link functions only once.

Fixes: 19914
2017-12-01 19:33:35 +01:00
Alex Branham ee7ead62aa Make `org-comment-dwim' check if on a heading
* lisp/org.el (org-comment-dwim): If on a heading, comment the
  heading.

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

TINYCHANGE
2017-11-29 14:41:12 +01:00
Nicolas Goaziou 68544f4f21 Merge branch 'maint' 2017-11-27 23:02:26 +01:00
Nicolas Goaziou 5873d99121 Fix headline fontification
* lisp/org.el (org-do-emphasis-faces): Do not emphasize stars in
  headlines.

Reported-by: swflint@flintfam.org (Samuel W. Flint)
<http://lists.gnu.org/r/emacs-orgmode/2017-11/msg00363.html>
2017-11-27 22:54:41 +01:00
Nicolas Goaziou 579fa12f50 Merge branch 'maint' 2017-11-26 11:02:14 +01:00
Nicolas Goaziou ac4b756588 Silence byte-compiler 2017-11-26 11:01:55 +01:00
Nicolas Goaziou d7f2c8b8e1 Merge branch 'maint' 2017-11-25 15:42:33 +01:00
Nicolas Goaziou ed06b159c3 Small fix to emphasis fontification
* lisp/org.el (org-do-emphasis-faces): Do not span over paragraph
  separators.

Reported-by: Kaushal Modi <kaushal.modi@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-11/msg00202.html>
2017-11-25 15:42:10 +01:00
Eric Abrahamsen c04e357f3d Replace easy templates with org-insert-structure-template
* lisp/org.el (org-insert-structure-template): New function for
  wrapping region (or element at point) in a begin/end block.
  (org-structure-predefined-blocks): New option holding predefined
  blocks, for completion.
  (org-try-structure-completion,
  org-complete-expand-structure-template): Remove functions.
* doc/org.texi (Inserting structure templates): Document.
* testing/lisp/test-org.el (test-org/insert-template): New test.
2017-11-05 09:56:26 +01:00
Nicolas Goaziou 9bee79a102 Merge branch 'maint' 2017-11-03 23:11:07 +01:00
Nicolas Goaziou 08c9de2a74 Fix typo in docstring
* lisp/org.el (org-speed-commands-user): Fix typo in docstring.
2017-11-03 23:10:38 +01:00
Nicolas Goaziou 36578fda46 Merge branch 'maint' 2017-10-31 19:34:35 +01:00
Nicolas Goaziou 8860fe2938 Fix `org-display-inline-images'
* lisp/org.el (org-display-inline-images): Fix regexp.

Reported-by: Leslie Watter <watter@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-10/msg00455.html>
2017-10-31 19:33:55 +01:00
Nicolas Goaziou 4388bdf852 Merge branch 'maint' 2017-10-30 00:51:31 +01:00
Nicolas Goaziou 2567fee3c9 Fix Org corruption when `org-agenda-files' is invalid
* lisp/org.el (org-install-agenda-files-menu): Prevent errors in
  `org-agenda-files' from corrupting Org initialization.

Reported-by: Allen Li <vianchielfaura@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-10/msg00424.html>
2017-10-30 00:50:11 +01:00
Nicolas Goaziou e1c2db37ed Extract "org-goto" code into a dedicated library
* lisp/org-goto.el: New file.

* lisp/org.el (org-goto-interface):
(org-goto-max-level):
(org-goto-auto-isearch):
(org-goto-local-auto-isearch):
(org-goto-ret):
(org-goto-left):
(org-goto-right):
(org-goto-quit):
(org-goto): Move to new file.
(org-goto-location): Change signature. Move to new file.
(org-goto-map): Remove function.

* lisp/org-id.el (org-id-get-with-outline-drilling): Update to new
  `org-goto-location' signature.
2017-10-22 16:49:17 +02:00
Nicolas Goaziou 87116700e6 Move some invisibility check functions to "org-macs.el"
* lisp/org.el (org-invisible-p):
(org-truely-invisible-p):
(org-invisible-p2): Move...

* lisp/org-macs.el: ... there.
2017-10-22 16:20:58 +02:00
Nicolas Goaziou 59d21881b1 Revert "Move `org-key' and `org-defkey' into "org-macs.el""
This reverts commit 7f56a9920f.

`org-key' is specific to Org keybinding, therefore not generic enough
to fit in "org-macs.el". So is `org-defkey'.
2017-10-22 15:38:35 +02:00
Nicolas Goaziou 486331e323 Move some generic functions into "org-macs.el"
* lisp/org.el (org-do-wrap): Remove function.
(org-base-buffer):
(org-find-base-buffer-visiting):
(org-overlay-display):
(org-overlay-before-string):
(org-find-overlays):
(org-reverse-string):
(org-shorten-string):
(org-remove-tabs):
(org-wrap):
(org-remove-indentation):
(org-do-remove-indentation):
(org-uniquify-alist):
(org-combine-plists):
(org-skip-whitespace):
(org-in-regexp):
(org-point-in-group):
(org-get-at-eol):
(org-find-text-property-in-string):
(org-display-warning):
(org-eval):
* lisp/org-compat.el (org-add-props): Move ...

* lisp/org-macs.el: ... there.
(org--do-wrap): New function.
2017-10-22 15:34:26 +02:00
Nicolas Goaziou 7f56a9920f Move `org-key' and `org-defkey' into "org-macs.el"
* lisp/org.el (org-key):
(org-defkey): Move...

* lisp/org-macs.el: ... there.
2017-10-22 15:05:48 +02:00
Nicolas Goaziou 7554012cef Move compatibility functions in "org-compat.el"
* lisp/org.el (org-imenu-and-speedbar):
(org-imenu-markers):
(org-imenu-new-marker):
(org-imenu-get-tree):
(org-speedbar-restriction-lock-overlay):
(org-speedbar-set-agenda-restriction):
(org--flyspell-object-check-p):
(org-mode-flyspell-verify):
(org-remove-flyspell-overlays-in):
(org-bookmark-jump-unhide):
(org-mark-jump-unhide): Move...

* lisp/org-compat.el: ... there.
2017-10-22 15:01:43 +02:00
Nicolas Goaziou 95b76608a6 Merge branch 'maint' 2017-10-22 14:40:45 +02:00
Nicolas Goaziou a2a034f5b9 Prevent leaking fontification across table fields' borders
* lisp/org.el (org-do-emphasis-faces): Prevent leaking fontification
  across table fields' borders.

Reported-by: Ryan <rct@thompsonclan.org>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-10/msg00321.html>
2017-10-22 14:39:36 +02:00
Nicolas Goaziou cd9cccb4b2 Merge branch 'maint' 2017-10-18 22:49:10 +02:00
Allen Li 8c5c030c64 Fix `org-insert-todo-heading'
* lisp/org.el (org-insert-todo-heading): Insert TODO keyword relative
  to the original headline, not to the headline above.

* testing/lisp/test-org.el (test-org/insert-todo-heading-respect-content):
  Add test.
2017-10-18 22:48:16 +02:00
Nicolas Goaziou 52d4ca4b29 Merge branch 'maint' 2017-10-17 23:31:45 +02:00
Allen Li 90d283f189 Update documentation on org-protocol template placeholders
* doc/org.texi (@code{capture} protocol): Fix placeholder names
(Template expansion): Add org-protocol placeholders

* lisp/org.el (org-store-link-plist): Fix docstring grammar
(org-store-link-props): Fix docstring grammar
2017-10-17 23:28:53 +02:00
Nicolas Goaziou 7ac8883394 Move `org-completing-read' into "org-macs.el"
* lisp/org-macs.el (org-completing-read): Moved here...
* lisp/org.el: ... from there.
2017-10-17 10:11:21 +02:00
Nicolas Goaziou 45a1918efe Move `org-xor' into "org-macs.el"
* lisp/org.el (org-xor): Move...
* lisp/org-macs.el: ... there.
2017-10-17 09:37:34 +02:00
Nicolas Goaziou 2525dc6c72 Merge branch 'maint' 2017-10-14 12:32:25 +02:00
Nicolas Goaziou 1d5142601a Silence byte-compiler 2017-10-14 12:32:08 +02:00
Nicolas Goaziou 4ffddc2a93 Merge branch 'maint' 2017-10-14 11:01:32 +02:00
Nicolas Goaziou 5861a55740 `org-file-contents': Improve error message
* lisp/org.el (org-file-contents): Improve error message.
2017-10-14 10:59:51 +02:00
Kyle Meyer 0b83168465 Adjust version numbers of unreleased changes
* lisp/org-table.el (org-table-shrunk-column-indicator):
* lisp/org.el (org-startup-shrink-all-tables): Update Org version to 9.2
and Emacs version to 27.1.
(customize-package-emacs-version-alist): Map Org 9.2 to Emacs 27.1.

Emacs 26.1 is now in the pretest phase, and the version for Emacs's
development branch is 27.1.
2017-10-08 13:44:33 -04:00
Nicolas Goaziou fa56da61a7 Merge branch 'maint' 2017-10-08 10:36:48 +02:00
Nicolas Goaziou d747e51fbf Consider headlines as sentences by themselves
* lisp/org.el (org-forward-sentence): Consider headlines as sentences
  by themselves.

* testing/lisp/test-org.el (test-org/forward-sentence): Add test.

Reported-by: Mat Vibrys <vibrysec@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-10/msg00130.html>
2017-10-08 10:35:22 +02:00
Nicolas Goaziou 7f56bfe0c2 Merge branch 'maint' 2017-10-08 10:08:53 +02:00
Nicolas Goaziou 6432fcd433 C-c C-c on a planning info timestamp fixes day
* lisp/org.el (org-ctrl-c-ctrl-c): On a timestamp in a planning line,
  fix day, like regular timestamps.

Reported-by: Aaron Jensen <aaronjensen@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-10/msg00132.html>
2017-10-08 10:07:36 +02:00
Nicolas Goaziou 44e3745c78 Merge branch 'maint' 2017-10-06 19:35:25 +02:00
Nicolas Goaziou fb403ca34e Fix `org-backward-paragraph' on an empty heading
* lisp/org.el (org-backward-paragraph): Fix behavior on greater
  elements without contents.

* testing/lisp/test-org.el (test-org/backward-paragraph): Add test.

Reported-by: Omar Antolin <omar.antolin@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-10/msg00099.html>
2017-10-06 19:34:28 +02:00
Nicolas Goaziou 1b12ad5cf6 Merge branch 'maint' 2017-10-04 12:58:41 +02:00
Nicolas Goaziou ef6dac812b Fix `org-backward-paragraph' on block opening line
* lisp/org.el (org-backward-paragraph): Do not error when called from
  a block opening line.
* testing/lisp/test-org.el (test-org/backward-paragraph): Add tests.

Reported-by: Omar Antolin <omar.antolin@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-10/msg00051.html>
2017-10-04 12:57:14 +02:00
Nicolas Goaziou 428368af2f Merge branch 'maint' 2017-10-01 19:02:47 +02:00
Nicolas Goaziou 018fb0149d Fix parsing properties with title or summary type
* testing/lisp/test-org.el (test-org/buffer-property-keys): Ignore
  title and summary type when extracting name.

Reported-by: Adrian Bradd <adrian.bradd@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-10/msg00001.html>
2017-10-01 19:01:58 +02:00
Marco Wahl 193d5b5c7a Remove the overwrite of the C-c TAB binding
See also 44c46176e.
2017-09-26 12:28:14 +02:00
Nicolas Goaziou 6e7d152699 Move `org-get-at-bol' into "org-macs.el"
* lisp/org.el (org-get-at-bol): Move...
* lisp/org-macs.el: ... here.
2017-09-18 21:26:18 +02:00
Nicolas Goaziou 32890ea5a5 Move `org-uniquify' into "org-macs.el"
* lisp/org.el (org-uniquify): Move function...
* lisp/org-macs.el: ... here.
2017-09-18 21:25:15 +02:00
Nicolas Goaziou 18ee77f62a Silence byte-compiler 2017-09-18 21:15:31 +02:00
Nicolas Goaziou 442a2b430d Move `org-trim' in "org-macs.el"
* lisp/org.el (org-trim): Move function...
* lisp/org-macs.el: ... here.
2017-09-18 21:07:13 +02:00
Nicolas Goaziou 44c46176ec Re-bind `org-show-children' to C-c TAB
* lisp/org.el (org-ctrl-c-tab): New function.
2017-09-18 20:20:35 +02:00
Nicolas Goaziou ff6b380999 Merge branch 'maint' 2017-09-17 12:48:59 +02:00
Nicolas Goaziou 80cbf909ea Remove useless binding
* lisp/org.el (org-mode-map): Remove [(meta return)] binding, handled
  by (kbd "M-RET").

Suggested-by: Allen Li <vianchielfaura@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-09/msg00411.html>
2017-09-17 12:48:17 +02:00
Kyle Meyer 297acd7517 Merge branch 'maint' 2017-09-17 01:17:10 -04:00
Paul Eggert ff0dcf52a5 Backport commit bc511a64f from Emacs
Prefer HTTPS to FTP and HTTP in documentation
bc511a64f6da9ab51acc7c8865e80c4a4cb655c2
Paul Eggert
Wed Sep 13 15:54:37 2017 -0700
2017-09-17 00:28:38 -04:00
Nicolas Goaziou 2021b98b83 Merge branch 'maint' 2017-09-16 17:19:55 +02:00
Nicolas Goaziou 9fb98f4c9c Add M-RET binding for terminal
* lisp/org.el (org-mode-map): Add M-RET binding.

Reported-by: Allen Li <vianchielfaura@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-09/msg00386.html>
2017-09-16 17:19:00 +02:00
Nicolas Goaziou 85acebdc2e Remove auto-repair of malformed property drawers
* lisp/org.el (org-buffer-property-keys): Remove optional argument
  IGNORE-MALFORMED.
* lisp/org-pcomplete.el (pcomplete/org-mode/prop): Update call to
  previous function.

* testing/lisp/test-org.el (test-org/buffer-property-keys): Remove
  a test.

More often than not, the question just gets in the way.  Use `M-x
org-lint' instead.
2017-09-16 14:15:57 +02:00
Nicolas Goaziou 8383f7e08b Change emphasis regexp
* lisp/org.el (org-emphasis-regexp-components): Change emphasis
  regexp.

Reported-by: Reuben Thomas <rrt@sc3d.org>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-09/msg00363.html>
2017-09-15 00:14:09 +02:00
Nicolas Goaziou 9e062df65d Merge branch 'maint' 2017-09-14 15:44:06 +02:00
Nicolas Goaziou 25f12218d2 Fix `org-auto-repeat-maybe'
* lisp/org.el (org-auto-repeat-maybe): Fix `org-auto-repeat-maybe'.

* testing/lisp/test-org.el (test-org/auto-repeat-maybe): Add test.

Reported-by: Samuel Wales <samologist@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-09/msg00298.html>
2017-09-14 15:40:28 +02:00
Nicolas Goaziou c59cb987eb Merge branch 'maint' 2017-09-12 09:02:43 +02:00
Nicolas Goaziou 95271315cc Fix `org-forward-sentence' on a headline
* lisp/org.el (org-forward-sentence): Fix `org-forward-sentence' on a headline.

* testing/lisp/test-org.el (test-org/forward-sentence): Add tests.

Reported-by: Mat Vibrys <vibrysec@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-09/msg00282.html>
2017-09-12 09:02:02 +02:00
Nicolas Goaziou 289539e119 Merge branch 'maint' 2017-09-08 07:00:00 +02:00
Reuben Thomas a307011136 Fix logic of calling org-make-link-desciption-function
* lisp/org.el (org-insert-link): Simplify so that description is only
prompted for once, if auto-desc is not set, and takes as its default
value, in order, default-description, the return value of
org-make-link-description-function (if the variable is non-nil), and
the current desc. Update the docstring to reflect that
default-description takes precedence over
org-make-link-description-function.
(org-make-link-description-function): Remove from docstring the
statement that if the variable is nil, then the link will be used as
the default description. This is undesirable, and was not in any case
implemented.
2017-09-08 06:59:30 +02:00
Kyle Meyer 88ffcf54d8 Merge branch 'maint' 2017-09-07 16:59:39 -04:00
Kyle Meyer 79d9f0c0ce Update customize-package-emacs-version-alist
* lisp/org.el (customize-package-emacs-version-alist): Add entries for
all existing ":package-version" values, and remove entries for
versions that aren't used as ":package-version" values.

Note that this alist has a limited effect because we specify
":version" in almost all of our defcustoms.  Two functions make use of
this alist: describe-variable-custom-version-info and
customize-changed-options.  The former only looks at the alist if
:version isn't specified, and the latter only looks at :version if an
entry for :package-version isn't found in the alist.

We should consider removing the defcustom :version specifications so
that the package-version->version mapping only needs to be maintained
in one place.
2017-09-07 16:56:15 -04:00
Kyle Meyer 6496d0ca95 Correct defcustom version information
* lisp/ob-lilypond.el (org-babel-lilypond-commands):
* lisp/ob-lua.el (org-babel-lua-command):
(org-babel-lua-mode):
(org-babel-lua-hline-to):
(org-babel-lua-None-to):
* lisp/org-agenda.el (org-agenda-search-view-max-outline-level):
* lisp/org.el (org-mouse-1-follows-link):
(org-src-fontify-natively):
(orgstruct-heading-prefix-regexp):
* lisp/ox-ascii.el (org-ascii-format-inlinetask-function):
* lisp/ox-latex.el (org-latex-format-drawer-function):
(org-latex-listings-langs):
* lisp/ox-odt.el (org-odt-format-drawer-function):
* lisp/ox.el (org-export-with-properties): Correct ":version" value.

* lisp/org-attach.el (org-attach-annex-auto-get): Correct
":package-version" value.
2017-09-07 16:56:11 -04:00
Nicolas Goaziou d15a4a4a9b Silence byte-compiler 2017-09-07 18:21:01 +02:00
Nicolas Goaziou ad1c0faa7e Merge branch 'maint' 2017-09-07 14:38:23 +02:00
Nicolas Goaziou ea4e3dac6d Use `split-string' instead of `org-split-string'
* contrib/lisp/org-depend.el (org-depend-trigger-todo):
(org-depend-block-todo):
* contrib/lisp/ox-bibtex.el (org-bibtex-get-arguments):
* contrib/lisp/ox-koma-letter.el (org-koma-letter-template):
* contrib/lisp/ox-taskjuggler.el (org-taskjuggler--build-unique-id):
(org-taskjuggler-resolve-dependencies):
* lisp/ob-core.el (org-babel-insert-result):
* lisp/org-agenda.el (org-search-view):
* lisp/org-lint.el (org-lint-duplicate-target):
(org-lint-wrong-header-value):
* lisp/org.el (org--setup-collect-keywords):
(org-make-org-heading-search-string):
(org-search-radio-target):
(org-local-logging):
(org-entry-add-to-multivalued-property):
(org-entry-remove-from-multivalued-property):
(org-entry-member-in-multivalued-property):
(org-entry-get-multivalued-property):
(org-entry-put-multivalued-property):
(org-wrap):
* lisp/ox-beamer.el (org-beamer-allowed-property-values):
* lisp/ox.el (org-export--get-subtree-options):
(org-export--get-inbuffer-options): Use `split-string' instead of
`org-split-string'.
2017-09-07 14:36:50 +02:00
Nicolas Goaziou 73bf9b8887 org-table: Allow to shrink tables upon opening a document
* lisp/org-table.el (org-table-shrink): New function.
* lisp/org.el (org-startup-align-all-tables): Update docstring.
(org-startup-shrink-all-tables): New variable.
(org-mode): Use new function and new variable.
2017-09-06 15:18:37 +02:00
Nicolas Goaziou 23a2fde6fe Remove visual effect of width cookies in tables
* lisp/org-colview.el (org-dblock-write:columnview): Remove :width
  parameter.

* lisp/org-table.el (org-narrow-column-arrow): Remove variable.
(org-table-cleanup-narrow-column-properties): Remove function.
(org-table-align): Ignore width cookies when aligning table.
(org-table-justify-field-maybe):
(org-table-finish-edit-field):
(org-table-follow-fields-with-editor):
(orgtbl-setup): Remove reference to `org-cwidth' property.

* lisp/org.el (org-mode):
(org-hide-wide-columns): Remove function.
(org-set-font-lock-defaults): Apply previous removal.
(org-shorten-string): Ignore `org-cwidth' property.

* testing/lisp/test-org-colview.el (test-org-colview/dblock): Remove
  a test.

Export back-ends may still use width cookie to alter table's output.
2017-09-06 15:18:37 +02:00
Nicolas Goaziou 6d6a30d4cd org-table: Implement shrunk columns
* lisp/org-table.el (org-table-shrunk-column-indicator): New variable.
(org-table-with-shrunk-columns): New macro.
(org-table--shrunk-field):
(org-table--list-shrunk-columns):
(org-table--shrink-field):
(org-table--read-column-selection):
(org-table--expand-all-columns):
(org-table-toggle-column-width): New functions.

(org-table-align):
(org-table-get-field):
(org-table-insert-column):
(org-table-delete-column):
(org-table-move-column):
(org-table-move-row):
(org-table-insert-row):
(org-table-insert-hline):
(org-table-kill-row):
(org-table-sort-lines): Use new functions.

(org-table-overlay-coordinates):
(org-table-toggle-coordinate-overlays): Tiny refactoring.

* testing/lisp/test-org-table.el (test-org-table/toggle-column-width):
(test-org-table/shrunk-columns): New tests.
2017-09-06 15:18:37 +02:00
Nicolas Goaziou c01b62305e Merge branch 'maint' 2017-08-30 08:12:29 +02:00
Nicolas Goaziou 7d18632a73 Fix "Symbol’s function definition is void: org-clocking-buffer"
* lisp/org.el (org-sort-entries): Fix "Symbol’s function definition is
void: org-clocking-buffer".

Reported-by: Ian Garmaise <ian.g@phorixsol.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-08/msg00647.html>

Reported-by: Allen Choong <allencch@hotmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-08/msg00649.html>
2017-08-30 00:14:42 +02:00
Nicolas Goaziou 8b5b2cf49e Merge branch 'maint' 2017-08-28 09:15:54 +02:00
Nicolas Goaziou ab65bc13d6 Fix deleting a region in a table (part 2)
* lisp/org.el (org-delete-backward-char): Fix deleting a region in
  a table.
2017-08-28 09:14:57 +02:00
Nicolas Goaziou e0682619dd Merge branch 'maint' 2017-08-26 00:12:46 +02:00
Nicolas Goaziou a6840598ed Fix `org-copy-visible'
* lisp/org.el (org-copy-visible): Rewrite function.  Do not use
  dubious `org-find-visible' and `org-find-invisible'.

* testing/lisp/test-org.el (test-org/copy-visible): New test.

Reported-by: Gary Cheng <garycheng12@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-08/msg00568.html>
2017-08-26 00:09:51 +02:00
Nicolas Goaziou 6a590738b1 Remove `org-enable-table-editor'
* doc/org.texi (Built-in table editor): Document removal.
* lisp/org-table.el (orgtbl-optimized):
(org-table-auto-blank-field): Ignore removed variable.
2017-08-19 23:39:22 +02:00
Nicolas Goaziou 9638de598c `org-enable-table-editor' does not affect syntax
* lisp/org-table.el (org-table-paste-rectangle):
* lisp/org.el (org-at-table-p):
(org-at-table.el-p):
(org-at-table-hline-p):
(org-ctrl-c-ctrl-c):
(org-tbl-menu): Ignore `org-enable-table-editor'.
2017-08-19 21:44:47 +02:00
Nicolas Goaziou ac6b6a45de Merge branch 'maint' 2017-08-17 18:17:39 +02:00
Nicolas Goaziou 91c68865c6 Fix deleting region in a table
* lisp/org.el (org-self-insert-command): Fix deleting region in
  a table.

Reported-by: Nick Helm <nick@tenpoint.co.nz>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-08/msg00346.html>
2017-08-17 18:16:22 +02:00
Nicolas Goaziou 3fb025137b Fix previous commit
* lisp/org.el (org-display-inline-images): Fix thinko in previous
  commit.  Also remove code related to nested links as this is no
  longer possible in Org syntax.
2017-08-17 15:55:15 +02:00
Nicolas Goaziou 6ec148a263 Allow link abbreviations to be displayed as inline images
* lisp/org.el (org-display-inline-images): Also display link
  abbreviations when they point to a valid image file.

Reported-by: Fabrice Popineau <fabrice.popineau@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-08/msg00395.html>
2017-08-17 15:45:47 +02:00
Nicolas Goaziou 2fb129b5c7 `org-scan-tags' retrieve all TODO keywords, not only not-done ones
* lisp/org.el (org-scan-tags): Retrieve all TODO keywords.  DONE
  keywords can be filtered using "/!" matcher syntax or equivalent.

Reported-by: Julien Cubizolles <j.cubizolles@free.fr>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-08/msg00367.html>
2017-08-17 15:16:07 +02:00
Galen Menzel 10b1cfb031 Fix `org-toggle-tag
* lisp/org.el (org-toggle-tag): Fix
  d777d5e0b7.

Reported-by: Josh Moller-Mara <jmm@cns.nyu.edu>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-08/msg00278.html>
2017-08-11 11:02:01 +02:00
Grant Rettke 33e0dc6155 Add Easy Template for COMMENT (C)
* lisp/org.el: (org-structure-template-alist): Added `COMMENT' block template
  bound to `C'

* doc/org.texi: Add documentation for `COMMENT' Easy Template.

* contrib/orgmanual.org: Add documentation for `COMMENT' Easy
  Template.

* etc/ORG-NEWS: Added note for 9.1 release under Miscellaneous
2017-08-10 12:45:02 +02:00
Nicolas Goaziou 829ffa977c Merge branch 'maint' 2017-08-10 12:42:51 +02:00
Nicolas Goaziou 313d22dec6 org.el: Fix org-open-at-point for tags.
lisp/org.el (org-open-at-point): Move case for tags up so that it's
not shortcutted by the case for no valid context.

TINYCHANGE
2017-08-10 12:41:35 +02:00
Nicolas Goaziou f1b2a95bee Merge branch 'maint' 2017-08-07 23:27:51 +02:00
Nicolas Goaziou 1876514e26 Fix customize interface
* lisp/org.el (org-tag-alist, org-tag-persistent-alist): Add non-keyed
tag type.
2017-08-07 23:27:10 +02:00
Nicolas Goaziou bfbaf1caa4 Merge branch 'maint' 2017-08-07 14:47:14 +02:00
Nicolas Goaziou ec129f8e10 Silence byte-compiler 2017-08-07 14:46:59 +02:00
Nicolas Goaziou e805aba972 Add "vala" to org-babel-load-languages
* lisp/org.el (org-babel-load-languages): Add "vala".
2017-08-07 14:44:38 +02:00
Nicolas Goaziou d777d5e0b7 Fix thinko
* lisp/org.el (org-toggle-tag): Do not call `match-string' after
  `replace-match'.
2017-08-07 13:13:56 +02:00
Nicolas Goaziou 7d21349dbe Merge branch 'maint' 2017-08-07 13:12:32 +02:00
Nicolas Goaziou f6a28ba1c2 Tiny refactoring
* lisp/org.el (org-sort-entries): Use keyword instead of symbol.
2017-08-07 13:11:54 +02:00
Nicolas Goaziou c8f3833e9b Merge branch 'maint' 2017-08-07 12:56:20 +02:00
Nicolas Goaziou 6a9fc48097 Fix `org-sort-entries' loosing clock marker
* lisp/org.el (org-sort-entries): Properly restore clock marker, when
  appropriate.

Reported-by: Samuel Wales <samologist@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-08/msg00177.html>
2017-08-07 12:51:35 +02:00
Nicolas Goaziou e83255c993 Silence byte-compiler 2017-08-07 11:43:50 +02:00
Nicolas Goaziou 15f112259b Fix spurious colons next to TODO keywords
* lisp/org.el (org-toggle-tag): Fix spurious colons next to TODO
  keywords.

Reported-by: Colin Baxter <m43cap@yandex.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-08/msg00075.html>
2017-08-07 11:32:39 +02:00
Nicolas Goaziou bd9f63a22a Merge branch 'maint' 2017-08-07 10:53:22 +02:00
Nicolas Goaziou e8fe579a17 Silence byte-compiler
* lisp/org-macs.el (org-unique-local-variables):
(org-get-local-variables):
(org-clone-local-variables): Moved from "org.el".
2017-08-07 10:52:37 +02:00
Nicolas Goaziou a7e11643a9 Merge branch 'maint' 2017-08-06 10:31:06 +02:00
Nicolas Goaziou fca0dbcc61 Fix `org-clone-local-variables'
* lisp/org.el (org-clone-local-variables): Prevent errors that could
  happen when trying to set local variables that cannot be set,
  e.g. `enable-multibyte-characters'.
2017-08-06 10:26:01 +02:00
Nicolas Goaziou 9d7f8a71a9 Merge branch 'maint' 2017-08-06 02:17:25 +02:00
Nicolas Goaziou 62b4edb263 Fix `org-refile' with prefix argument
* lisp/org.el (org-refile): Handle special file targets.

Reported-by: Michaël Cadilhac <michael@cadilhac.name>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-08/msg00045.html>
2017-08-06 02:16:15 +02:00
Nicolas Goaziou dd6be5d161 Allow emphasis markers after an hyphen
* lisp/org.el (org-emphasis-regexp-components): Allow emphasis markers
  after an hyphen.
(org-do-emphasis-faces): Do not strike-through table hlines.

Hypen is already allowed after emphasis markers.  This allows one to
write, e.g., 2017-*09*-27.
2017-08-04 18:40:28 +02:00
Nicolas Goaziou 80d7025770 Fix `org-store-log-note'
* lisp/org.el (org-store-log-note): Ignore empty log buffers.

The regression was introduced in
f776e65373. From then, (org-split-string
"") no longer returns nil.

Suggested-by: Dale Sedivec <dale@codefu.org>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-08/msg00013.html>
2017-08-01 20:14:23 +02:00
Nicolas Goaziou e79b0bd9f3 Merge branch 'maint' 2017-07-28 10:15:35 +02:00
Nicolas Goaziou 808089ee04 `org-forward/backward-paragraph' do not error at buffer boundaries
* lisp/org.el (org-forward-paragraph):
(org-backward-paragraph): Do not error at buffer boundaries.

Reported-by: Omar Antolín Camarena <omar.antolin@gmail.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-07/msg00478.html>
2017-07-28 10:07:53 +02:00
Nicolas Goaziou 648b12d57d Remove `org-dwidth' and `org-dwidth-n' properties
* lisp/org.el (org-raise-scripts):
(org-display-custom-time): Remove `org-dwidth' and `org-dwidth-n'
properties.
2017-07-27 15:32:06 +02:00
Nicolas Goaziou 9a60db0ec3 Move `org-string-width' to "org-macs.el"
* lisp/org.el (org-string-width): Move from here...
* lisp/org-macs.el (org-string-width): ... to here.
2017-07-27 15:23:31 +02:00
Nicolas Goaziou 27466a38bc Fix `org-string-width'
* lisp/org.el (org-string-width): Better handle various invisible
  characters.
2017-07-27 15:22:45 +02:00
Nicolas Goaziou f776e65373 Move `org-split-string' to "org-macs.el"
* lisp/org.el (org-split-string): Move the function...
* lisp/org-macs.el (org-split-string): ... here.  Also clarify
  docstring with regards to `split-string'.
2017-07-27 13:39:52 +02:00
Marco Wahl 534678382f org: User interface message at tag edit slightly more legible 2017-07-19 00:16:23 +02:00
Kyle Meyer 5e4bb2627c Merge branch 'maint' 2017-07-18 13:32:38 -04:00
Kyle Meyer 52e0966fd4 Document STATE parameter for org-cycle-hide-* functions
* lisp/org.el (org-cycle-hide-archived-subtrees):
(org-cycle-hide-drawers): Mention STATE parameter in docstring.
2017-07-18 13:31:07 -04:00
Kyle Meyer 8ed27480aa org-cycle-hide-drawers: Remove an unnecessary state check
* lisp/org.el (org-cycle-hide-drawers): Don't check whether STATE is
`contents' within the `when' body because the `when' condition will
not pass in this case.
2017-07-18 13:24:32 -04:00
Kyle Meyer d39ccc17d4 Merge branch 'maint' 2017-07-09 11:28:54 -04:00
Paul Eggert b7fdc30388 Backport commit 20e9a00fb from Emacs
* lisp/org-table.el (org-table-sort-lines): Fix misspelling in prompt.
* lisp/ox-ascii.el (org-ascii--describe-datum): Fix misspelling in
call to org-element-lineage.

Spelling fixes
20e9a00fb5d12ad408f9dd15adcfcd205783c1b0
Paul Eggert
Thu Jul 6 00:24:56 2017 -0700
2017-07-09 11:27:12 -04:00
Kaushal Modi 73907bee5b Merge branch 'maint' 2017-07-07 17:35:41 -04:00
Kaushal Modi 21df3a3c2f Fix curved quotes in error message
* lisp/org.el (org-create-formula-image): Use back-quote + single
  quote to get the correct rendering of curved quotes.

Message displayed before this fix: "Please adjust ’imagemagick’ .."

Message displayed after this fix:  "Please adjust ‘imagemagick’ .."

The effect of this fix is visible on emacs 25.1 and newer (See Emacs
NEWS).
2017-07-07 17:18:22 -04:00
Nicolas Goaziou 97a1a49895 Fix failing tests in non-daylight saving time zones
* lisp/org.el (org-time-string-to-time): Remove optional POS and
  BUFFER arguments.  Accept new optional ZONE argument.
(org-time-string-to-seconds): Accept optional ZONE argument.
(org-check-before-date):
(org-check-after-date):
(org-check-dates-range):
(org-goto-calendar):
* lisp/ob-gnuplot.el (org-time-string-to-time):
* lisp/org-agenda.el (org-agenda-get-blocks):
* lisp/org-clock.el (org-clock-timestamps-change):
* lisp/org-list.el (org-time-string-to-seconds): Use UTC for time
  difference and time comparison.

* testing/lisp/test-org-clock.el (org-test-clock-create-clock): Use
  UTC for time differences.
2017-07-07 18:23:10 +02:00
Nicolas Goaziou fd6a6b5cb4 Merge branch 'maint' 2017-07-06 19:21:48 +02:00
Jan Seeger 1849f391bc org.el: Fix custom timestamps for date ranges
* org.el (org-activate-dates): Change `org-activate-dates' to activate
custom timestamps for both dates in date ranges. Formerly, only the
second date would be activated. The reason was a misplaced
`if'. Replaced it with `when'. Also added doc comments.

TINYCHANGE
2017-07-06 19:21:06 +02:00
Nicolas Goaziou 8c548b81b9 Merge branch 'maint' 2017-07-04 01:13:03 +02:00
Nicolas Goaziou a3d02c49a0 Do not cancel note when `org-add-log-note' is called with a prefix argument
* lisp/org.el (org-add-log-note):
(org-store-log-note): Ignore prefix argument.

The behaviour is undocumented and can lead to data loss.

Reported-by: Kyle Meyer <kyle@kyleam.com>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-07/msg00024.html>
2017-07-04 01:11:57 +02:00
Nicolas Goaziou a20c17fa51 Merge branch 'maint' 2017-07-04 00:20:12 +02:00
Nicolas Goaziou cc5a9bf538 Fix wrong data in clock table using :block
* lisp/org.el (org-2ft): Use new signature for
  `org-parse-time-string'.
2017-07-04 00:19:47 +02:00
Rasmus 2e02581cbf Merge branch 'maint' 2017-07-03 12:05:47 +02:00
Rasmus ad8e508e93 Fix bug in org-inside-LaTeX-fragment-p
* lisp/org.el (org-inside-LaTeX-fragment-p): Also work correctly in
  first paragraph.
2017-07-03 12:05:36 +02:00
Nicolas Goaziou f4f921ce5a Merge branch 'maint' 2017-07-01 14:24:29 +02:00
Nicolas Goaziou 4f372457f2 Fix `org-check-before-invisible-edit', part 2
* lisp/org.el (org-check-before-invisible-edit): Fix error before
  first headline.  Handle nested overlays.
2017-07-01 14:23:41 +02:00
Nicolas Goaziou 9ed5674dcb Merge branch 'maint' 2017-06-29 16:32:08 +02:00
Nicolas Goaziou f409c13be1 Fix `org-check-before-invisible-edit' before first headline
* lisp/org.el (org-check-before-invisible-edit): Fix "Before first
  heading" error.

Invisible characters can come from overlays and text properties.  The
current implementation tries to remove outline overlays, even though
it may be something else.

Reported-by: John Kitchin <jkitchin@andrew.cmu.edu>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-06/msg00365.html>
2017-06-29 16:29:20 +02:00
Nicolas Goaziou 87a6e3970a Merge branch 'maint' 2017-06-26 23:40:35 +02:00
Nicolas Goaziou 6c498f1337 Forbid empty string as org-ellipsis value
* lisp/org.el (org-ellipsis): Harden :safe value.
(org-display-table): Fix typo.
(org-mode): Only change ellipsis if `org-ellipsis' is a non-empty
string.  Remove obsolete checks.

Reported-by: Michael Ax <michaelax@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/114283>
2017-06-26 23:38:23 +02:00
Kyle Meyer 3741196060 Merge branch 'maint' 2017-06-22 21:33:24 -04:00
Kyle Meyer 1930a8f05a org-todo: Display state change message when headline is not visible
* lisp/org.el (org-todo): Display state change message when headline
is not visible, reversing unintentional modification from dd17e9d29.

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

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

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

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

Reported-by: John Kitchin <jkitchin@andrew.cmu.edu>
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-06/msg00381.html>
2017-06-21 22:55:10 +02:00
Nicolas Goaziou 080dc4b445 Merge branch 'maint' 2017-06-16 07:59:18 +02:00
Nicolas Goaziou 673fe87b05 Fix compilation warning
* lisp/org.el (org-parse-time-string): Fix compilation warning.
2017-06-16 07:58:18 +02:00
Kaushal Modi 62ce814130 Merge branch 'maint' 2017-06-15 09:03:35 -04:00
Kaushal Modi 3bcfed071d Fix breakage due to outline-invisible-p defn change in emacs 26+
* lisp/org.el (org-invisible-p): New function.  Restore the behavior
of outline-invisible-p prior to the following commint on emacs master
<http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=9cc59ffbbb2f20fbbf1c72d2e0c9dc47c7906a99>.

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

Reference:
<http://lists.gnu.org/archive/html/emacs-orgmode/2017-06/msg00230.html>
2017-06-15 08:10:47 -04:00
Nicolas Goaziou 1c7cf61bd7 Merge branch 'maint' 2017-06-14 11:03:40 +02:00
Nicolas Goaziou b47920ed20 org-colview: Fix failing test
* lisp/org.el (org-parse-time-string): Allow to specify zone as an
  optional argument.
* lisp/org-colview.el (org-columns--age-to-seconds): Apply change
  above.
* testing/lisp/test-org-colview.el (test-org-colview/columns-summary):
  Update tests.
2017-06-14 11:00:01 +02:00
Kaushal Modi 1e92f5ed39 Allow org-file-contents to fetch file contents from a URL
* lisp/org.el (org--file-cache): New variable.
(org-reset-file-cache):
(org-file-url-p): New function.
(org-mode-restart): Use new function.

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

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

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

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

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

* testing/lisp/test-ox.el (test-org-export/get-inbuffer-options): Add
test for reading setupfile specified via a URL.
2017-06-13 11:41:58 -04:00
Nicolas Goaziou e7147682f3 Merge branch 'maint' 2017-06-05 23:40:48 +02:00
Nicolas Goaziou 439fcfbbf2 Fix link fontification
* lisp/org.el (org-activate-links): Delegate to
  `org-element-link-parser' to handle blanks and link expansion.
2017-06-05 23:39:42 +02:00
Nicolas Goaziou 6059fd9f34 Merge branch 'maint' 2017-06-04 09:17:39 +02:00
Nicolas Goaziou faace6f05d Fix last commit
* lisp/org-agenda.el (org-agenda-mode):
* lisp/org.el (org-clone-local-variables): Fix match pattern.
2017-06-04 09:17:07 +02:00
Nicolas Goaziou 1a69d99ce1 Merge branch 'maint' 2017-06-03 22:45:14 +02:00
Nicolas Goaziou 355b0012d1 Fix local variable handling
* lisp/org.el (org-clone-local-variables):
* lisp/org-agenda.el (org-agenda-mode): Do not assume
  `buffer-local-variables' returns only cons cells.

Reported-by: "Stefan-W. Hahn" <stefan.hahn@s-hahn.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/113793>
2017-06-03 22:43:35 +02:00
Kyle Meyer 0d25d2b061 Silence byte-compiler under "make single"
* lisp/org.el (org-comment-string): Wrap definition in an
eval-and-compile because this variable is used within the body of
eval-when-compile, leading to an error under "make single".
(org-at-timestamp-p): Use bound-and-true-p to check
org-agenda-include-inactive-timestamps because org-agenda may not be
loaded yet.

Reported-by: Kaushal Modi <kaushal.modi@gmail.com>
<https://lists.gnu.org/archive/html/emacs-orgmode/2017-05/msg00326.html>
2017-05-31 20:45:34 -04:00
Nicolas Goaziou 82a50381a1 Merge branch 'maint' 2017-05-28 09:40:39 +02:00
Chunyang Xu 1afcf2c9aa Exclude '[' and ']' in `org-plain-link-re'
* lisp/org.el (org-make-link-regexps): Do it.

TINYCHANGE
2017-05-28 09:39:29 +02:00
Nicolas Goaziou 49b3d67ec3 Merge branch 'maint' 2017-05-26 11:58:25 +02:00
Nicolas Goaziou 2d29269bb1 Fix link fontification
* lisp/org.el (org-activate-links): New function.
(org-set-font-lock-defaults): Use new function.
(org-activate-angle-links):
(org-activate-bracket-links):
(org-activate-plain-links): Remove functions.
* lisp/org-agenda.el (org-agenda-get-some-entry-text):
(org-agenda-finalize): Use new function.

Reported-by: 林镇国 <mistkafka@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113485>
2017-05-26 11:56:53 +02:00
Kyle Meyer b92eb81731 Merge branch 'maint' 2017-05-26 00:21:14 -04:00
Kyle Meyer 6d4c188e3e Silence byte-compiler under "make single" 2017-05-26 00:03:29 -04:00
Nicolas Goaziou 957850043a Prevent filling before a "n" macro where it could create list items
* lisp/org.el (org-fill-n-macro-as-item-nobreak-p): New function.
(org-setup-filling): Use new function.

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

Reported-by: Kaushal Modi <kaushal.modi@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113587>
2017-05-25 12:33:16 +02:00
Nicolas Goaziou c2f4eec5dc `org-fill-paragraph' handles region
* lisp/org.el (org-fill-element): New function.
(org-fill-paragraph): Use new function.  Also handle region, when
called interactively.

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

Reported-by: Oskar Kvist <oskar.kvist@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113542>
2017-05-22 15:02:34 +02:00
Nicolas Goaziou 2b44a1a74c Remove `org-protect-slash'
* lisp/org.el (org-protect-slash): Remove function.
(org-refile-get-targets): Apply removal.

This internal function is used only once throughout the code base.
2017-05-22 08:31:53 +02:00
Nicolas Goaziou f10e19eabf Merge branch 'maint' 2017-05-22 08:25:56 +02:00
Nicolas Goaziou d7599e3f27 Preserve targets order according to rules
* lisp/org.el (org-refile-get-targets): Keep targets grouped according
  to `org-refile-targets' value.
2017-05-22 08:24:56 +02:00
Nicolas Goaziou cadbef99f0 Merge branch 'maint' 2017-05-22 08:19:12 +02:00
Nicolas Goaziou 7560a49459 Remove duplicates in refile targets
* lisp/org.el (org-refile-get-targets): Remove duplicates in refile
  targets.
2017-05-22 08:16:42 +02:00
Kyle Meyer 23ac37da7c Merge branch 'maint' 2017-05-21 14:54:59 -04:00
Kyle Meyer 0de7ad0430 org-store-link: Don't roll C-u behavior into C-u C-u behavior
* lisp/org.el (org-store-link): When a double C-u prefix argument is
given, do not reverse the meaning of the org-context-in-file-links
option.
* testing/lisp/test-org.el (test-org/store-link): Add tests.

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

Reported-by: York Zhao <gtdplatform@gmail.com>
<https://lists.gnu.org/archive/html/emacs-orgmode/2017-05/msg00254.html>
2017-05-21 14:52:30 -04:00
Nicolas Goaziou 68429a99cc Merge branch 'maint' 2017-05-20 09:10:13 +02:00
Nicolas Goaziou 85a26f0cfe Fix "Stack overflow in regexp matcher" in `org-refresh-stats-properties'
* lisp/org.el (org-refresh-stats-properties): Simplify regexp.  Small
  refactoring.

Reported-by: Kevin Zettler <kevzettler@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113555>
2017-05-20 09:09:03 +02:00
Kyle Meyer bda9a49056 Merge branch 'maint' 2017-05-18 14:50:42 -04:00
Kyle Meyer 9d9f5179e7 org-sort: Read compare-func in interactive calls
* lisp/org-macs.el (org-read-function): New function.
* lisp/org-table.el (org-table-sort-lines): Make WITH-CASE an optional
argument to match org-sort-entries and org-sort-list.
* lisp/org.el (org-sort-entries):
* lisp/org-table.el (org-table-sort-lines):
* lisp/org-list.el (org-sort-list): Read COMPARE-FUNC when called
interactively rather than being restricted to the default behavior of
sort-subr's PREDICATE parameter.  Only prompt for for GETKEY-FUNC and
COMPARE-FUNC during an interactive call, like org-table-sort-lines
already did for GETKEY-FUNC, but use an argument rather than relying
on the brittle called-interactively-p.

Suggested-by: Zhitao Gong <zhitaao.gong@gmail.com>
<https://lists.gnu.org/archive/html/emacs-orgmode/2017-05/msg00040.html>
2017-05-18 14:46:33 -04:00
Sebastian Reuße 2906e50177 org-refile: Fix inconsistency when listing refile targets
* org.el (org-refile-get-targets): Setting org-refile-use-outline-path
to `file' or `buffer-name' causes an additional target for the file’s
root node to be inserted. This functionality was absent when using
`full-file-path'. We now add this since it is convenient and makes the
behavior more consistent.
2017-05-17 14:37:54 +02:00
Nicolas Goaziou dbe2424b07 Adjust `org-at-timestamp-p' behavior
* lisp/org.el (org-at-timestamp-p): Change optional argument
  behaviour.  Remove interactive call.
(org-follow-timestamp-link):
(org-get-repeat):
(org-auto-repeat-maybe):
(org-time-stamp):
(org-timestamp-up-day):
(org-timestamp-down-day):
(org-toggle-timestamp-type):
(org-timestamp-change):
(org-goto-calendar):
(org-date-from-calendar):
(org-shiftup):
(org-shiftdown):
(org-shiftright):
(org-shiftleft):
(org-org-menu):
(org-fill-paragraph-with-timestamp-nobreak-p):
(org-shiftcontrolup):
(org-shiftcontroldown):
* lisp/org-agenda.el (org-agenda-date-later):
(org-agenda-date-prompt):
* lisp/org-clock.el (org-clock-timestamps-change):
* lisp/org-mouse.el (org-mouse-delete-timestamp):
(org-mouse-context-menu):
* lisp/org-table.el (org-table-copy-down): Update callers.

* testing/lisp/test-org.el (test-org/at-timestamp-p): Add tests.
2017-05-14 10:54:25 +02:00
Nicolas Goaziou de2a8b31e4 Fix typo in code comment 2017-05-14 00:21:18 +02:00
Nicolas Goaziou b72d29d685 Merge branch 'maint' 2017-05-13 09:21:31 +02:00
Nicolas Goaziou c0369a7984 org-element: Fix $...$ fragments followed by an apostrophe
* lisp/org-element.el (org-element-latex-fragment-parser):
* lisp/org.el (org-latex-regexps): Allow an apostrophe right after
  a fragment.

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

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

Reported-by: Joe Corneli <holtzermann17@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/113464>
2017-05-13 09:18:07 +02:00
Nicolas Goaziou 79ac71d175 Tiny fix
* lisp/org.el (org-N-empty-lines-before-current): Insert empty lines
  before point, not after.
* testing/lisp/test-org.el (test-org/insert-heading): Add test.
2017-05-12 17:45:46 +02:00
Kyle Meyer c801ef0328 org-sort: Go back to calling org-sort-* functions interactively
* lisp/org.el (org-sort): Revert change from c1addc825 that replaced
org-call-with-arg with funcall because org-table-sort-lines changes
its behavior based on the return value of called-interactively-p.
2017-05-08 23:57:30 -04:00
Kyle Meyer c1addc8252 org-sort: Call org-sort-* functions non-interactively
* lisp/org.el (org-sort): Use funcall instead of org-call-with-arg,
and make WITH-CASE an optional argument.
* lisp/org-table.el (org-table-sort-lines): Make WITH-CASE an optional
argument.
2017-05-08 11:13:19 -04:00
Sebastian Reuße 1188beaa3b org-refile: Optionally prefix refile targets with buffer name
* org.el (org-refile-get-targets): Add case to optionally prefix
refile targets with the buffer name.
(org-refile-use-outline-path): Add new option setting and document.

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

The reason to escape slashes in refile targets is to make it clear
when a slash was part of a headline vs. part of the outline path.  It
makes sense to treat slashes in the file system part the same way as
outline paths, since this won’t result in any confusion and serves to
make target selection less noisy.
2017-05-06 12:01:09 -04:00
Nicolas Goaziou 5bc540eae1 Merge branch 'maint' 2017-04-30 22:26:52 +02:00
Nicolas Goaziou 3502e6fa7c Fix indentation bug
* lisp/org.el (org--get-expected-indentation): Correctly indent line
  when last element in an item is not a greater element.
* testing/lisp/test-org.el (test-org/indent-line): Add test.
2017-04-30 22:26:10 +02:00
Nicolas Goaziou 571dfe2a3f Merge branch 'maint' 2017-04-17 10:38:24 +02:00
Marc Ihm 165f7c3950 Fix explanation, if state change is blocked by contained checkboxes
* lisp/org.el (org-todo): Fix explanation, if state change is blocked
  by contained checkboxes.

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

The fix uses the already existing variable org-blocked-by-checkboxes
(which is handled in org-block-todo-from-checkboxes).  Similar code is
already present in org-agenda-dim-blocked-tasks within org-agenda.el.
2017-04-17 10:33:51 +02:00
Nicolas Goaziou 42f24c167c Merge branch 'maint' 2017-04-15 16:52:46 +02:00
Nicolas Goaziou 74379eaaa2 Fix `org-forward-heading-same-level'
* lisp/org.el (org-forward-heading-same-level): Do not fail when
  heading is at the beginning of the buffer.
* testing/lisp/test-org.el (test-org/forward-heading-same-level): New
  test.

Reported-by: Rafael Laboissière <rafael@laboissiere.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/113084>
2017-04-15 16:51:33 +02:00
Kyle Meyer 1336347065 Merge branch 'maint' 2017-04-09 20:52:41 -04:00
Kyle Meyer 10301ab1ff org-insert-link: Correct changes from a08dd527d
* lisp/org.el (org-insert-link): Fix regexp and undefined variable.
2017-04-09 20:49:03 -04:00
Nicolas Goaziou e65be54b91 Merge branch 'maint' 2017-03-30 12:48:08 +02:00
Nicolas Goaziou 31f3725ba8 Fix `org-startup-with-latex-preview' handling
* lisp/org.el (org-mode): When honoring
  `org-startup-with-latex-preview', make sure to preview the whole
  buffer.

Reported-by: Diego Nicola Barbato
<http://permalink.gmane.org/gmane.emacs.orgmode/112925>
2017-03-30 12:46:46 +02:00
Nicolas Goaziou d4cae34eaa Merge branch 'maint' 2017-03-29 15:34:50 +02:00
Nicolas Goaziou a08dd527d9 Small refactoring
* lisp/org.el (org-insert-link): Small refactoring.
2017-03-29 15:34:27 +02:00
Matt Lundin d9038a01c1 Allow insertion of links with multi-line search strings
* lisp/org.el: (org-insert-link): Fix regexps to match across
  newlines.
2017-03-29 14:28:48 +02:00
Nicolas Goaziou a126020e56 Merge branch 'maint' 2017-03-29 14:18:14 +02:00
Nicolas Goaziou 109c86998e Allow blank lines in text search link
* lisp/org.el (org-link-search): Allow blank lines.

This is a follow-up to 4dde26f08.
2017-03-29 14:12:58 +02:00
Nicolas Goaziou 72c3c42259 Merge branch 'maint' 2017-03-27 13:36:49 +02:00
Nicolas Goaziou 4dde26f086 Fix lsearch strings with newline characters
* lisp/org.el (org-link-search): Fix regexp.
* testing/lisp/test-org.el (test-org/fuzzy-links): Add test.

Reported-by: Matt Lundin <mdl@imapmail.org>
<http://permalink.gmane.org/gmane.emacs.orgmode/112876>
2017-03-27 13:34:04 +02:00
Marco Wahl 772dc6ea27 Merge branch 'maint' 2017-03-26 15:40:10 +02:00
Marco Wahl 82310e34b9 org: Fix tag setter
* lisp/org.el (org-set-tags): Treat ':' and '::' as no tag.
2017-03-26 15:39:20 +02:00
Marco Wahl 1d35684c56 org: Liberate org-property-action
* lisp/org.el (org-property-action): Remove unnecessary restriction
  for property action.
2017-03-23 11:03:10 +01:00
Nicolas Goaziou f2e5920f41 Fix display bug when inserting a heading
* lisp/org.el (org-N-empty-lines-before-current): Do not hide newline
  character before current headline.

* testing/lisp/test-org.el (test-org/insert-heading): Add test.

Reported-by: Rick Frankel <rick@rickster.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/112751>
2017-03-16 13:01:39 +01:00
Carsten Dominik 0f1b5ec496 Consolidate capture targets and allow outline path in datetree targets
* doc/org.texi: Document the new capture templates target.
* lisp/org-capture.el (org-capture-upgrade-templates): New function.
(org-capture-templates): Implement the new file+olp+datetree target.
(org-capture): Document the C-1 prefix.
(org-capture-sanitize-olp): New function.
(org-capture-select-template): Make sure upgraded version of templates
variable is used.
* lisp/org-datetree.el (org-datetree-find-date-create): Accept
`subtree-at-point' as a value for the KEEP-RESTRICTION argument.
(org-datetree-find-iso-week-create): Accept `subtree-at-point'
as a value for the KEEP-RESTRICTION argument.
* lisp/org.el (org-find-olp): Throw an error when called in a
buffer that is not in Org mode.
* lisp/org-capture.el (org-capture-fill-template): Use overriding time
also in `?<>' escapes.
2017-03-16 08:18:55 +01:00
Simon Michael 09ee728c64 Babel support for hledger accounting tool
* lisp/ob-hledger.el: New file.
* lisp/org.el (org-babel-load-languages):
* lisp/ox-html.el (org-html-style-default): Allow calling hledger from
  Babel.
2017-03-14 18:19:26 +01:00
Nicolas Goaziou f9b501bc18 Merge branch 'maint' 2017-02-23 14:19:06 +01:00
Anders Johansson 4084337dbe org.el: Make faces org-quote and org-verse be appended
* lisp/org.el (org-fontify-quote-and-verse-blocks): Append faces.  Use
  `add-face-text-property'.

This means fontification of emphasis, links etc. is kept in quote and
verse blocks even with org-fontify-quote-and-verse-blocks non-nil.

TINYCHANGE
2017-02-23 14:17:56 +01:00
Nicolas Goaziou 542890cd3f Fix: Prevent spurious newlines when inserting a new heading
* lisp/org.el (org-insert-heading): Do not insert spurious newline
  characters when inserting a headline.

* testing/lisp/test-org.el (test-org/insert-heading): Add tests.

Reported-by: Kyle Sherman <kylewsherman@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/112205>
2017-02-17 21:51:16 +01:00
Nicolas Goaziou 67c84c161f Prefer `compilation-mode' over `special-mode' for log buffers
* lisp/org.el (org-compile-file): Use `compilation-mode' instead of
  `special-mode'.
2017-02-17 13:35:07 +01:00
Nicolas Goaziou 5018803f60 Use `special-mode' for compilation output
* lisp/org.el (org-compile-file): Switch to `special-mode' for log
  buffer.

Suggested-by: Florian Lindner <mailinglists@xgm.de>
<http://permalink.gmane.org/gmane.emacs.orgmode/112164>
2017-02-17 13:32:05 +01:00
Nicolas Goaziou 7e8cf5f4c2 Use Org duration library
* contrib/lisp/org-depend.el (org-depend-trigger-todo): Use new
  functions.

* contrib/lisp/org-invoice.el (org-invoice-heading-info):
(org-invoice-info-to-table):
(org-invoice-list-to-table): Use new functions.

* contrib/lisp/ox-taskjuggler.el (org-taskjuggler--build-task): Use
  new functions.

* lisp/org-agenda.el (org-agenda-show-clocking-issues):
(org-agenda-format-item):
(org-agenda-filter-effort-form): Use new functions.

* lisp/org-clock.el (org-clock-get-clock-string):
(org-clock-modify-effort-estimate):
(org-clock-notify-once-if-expired):
(org-clock-out):
(org-clock-display):
(org-clock-put-overlay):
(org-clocktable-write-default): Use new functions.

* lisp/org-table.el (org-table-sort-lines): Use new functions.

* lisp/org.el (org-properties-postprocess-alist):
(org-refresh-effort-properties):
(org-set-effort):
(org-entry-properties):
(org-property-next-allowed-value): Use new functions.

(org-time-clocksum-format):
(org-time-clocksum-use-fractional):
(org-time-clocksum-use-fractional-format):
(org-time-clocksum-use-effort-durations): Declare as obsolete.  Move
to "org-compat.el".

(org-minutes-to-clocksum-string):
(org-hh:mm-string-to-minutes):
(org-duration-string-to-minutes): Declare as obsolete.  Move to
"org-compat.el".
(org-hours-to-clocksum-string): Remove function.

* lisp/org-colview.el (org-columns--collect-values): Use new
  functions.
(org-columns--duration-re): Remove variable.
(org-columns--time-to-seconds): Rename to...
(org-columns--age-to-minutes): ... this.
(org-columns--format-age): New function.
(org-columns--summary-apply-times):
(org-columns--summary-min-age):
(org-columns--summary-max-age):
(org-columns--summary-mean-age): Use new functions.

* testing/lisp/test-org-clock.el (test-org-clock-clocktable-contents-at-point):
* testing/lisp/test-org-colview.el (test-org-colview/columns-summary):
  Update tests.
2017-02-13 14:41:15 +01:00
Nicolas Goaziou 80cc5c6e3b Merge branch 'maint' 2017-02-11 18:38:02 +01:00
Nicolas Goaziou 91d82f7a87 Silence byte-compiler 2017-02-11 18:37:32 +01:00
Nicolas Goaziou 0fe987e060 Merge branch 'maint' 2017-02-11 02:36:15 +01:00
Nicolas Goaziou 9070b97f0e Fix header in LaTeX snippets
* lisp/ox-latex.el (org-latex-make-preamble): Add optional argument.
* lisp/org.el (org-create-formula-image): Use it.

Reported-by: plus <ctre@users.sourceforge.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/112015>
2017-02-11 02:35:00 +01:00
Nicolas Goaziou 6632ce537e Change `org-get-repeater' signature
* lisp/org.el (org-get-repeater): Change optional argument meaning.
* lisp/org-habit.el (org-habit-parse-todo): Apply signature change.
* testing/test-org.el (test-org/get-repeater): Add tests.
2017-02-04 21:45:35 +01:00
Nicolas Goaziou 737ada43c6 Fix "Fix `org-get-repeat'"
* lisp/org.el (org-get-repeat): Make sure matching group refers to the
  proper regexp.
* testing/lisp/test-org.el (test-org/get-repeat): New test.

The bug was introduced in aef7eef0f.
2017-02-04 21:26:17 +01:00
Nicolas Goaziou 9a0b519b4e Merge branch 'maint' 2017-02-03 22:53:30 +01:00
Nicolas Goaziou 9eda09eab4 Notes associated to CLOCKs are located after the clock
* lisp/org.el (org-store-log-note): Make sure a note added after
  clocking out is inserted right after the CLOCK line.

Reported-by: Jorge Morais Neto <jorge13515@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/111795>
2017-02-03 22:46:15 +01:00
Nicolas Goaziou 9da78f3e8d Merge branch 'maint' 2017-02-03 22:04:12 +01:00
Nicolas Goaziou 6da9d0a416 Fix indentation of some elements
* lisp/org.el (org--get-expected-indentation): Tiny refactoring.
(org-indent-line): Ignore LaTex environments.
(org-indent-region): Better handling for export blocks, LaTeX
environments and example blocks.

* testing/lisp/test-org.el (test-org/indent-line):
(test-org/indent-region): Add tests.
2017-02-03 22:03:25 +01:00
Nicolas Goaziou 515e75d093 Fix `org-auto-repeat-maybe'
* lisp/org.el (org-auto-repeat-maybe): Properly find clocks in entry.
  Ignore invalid time stamps.
2017-02-03 00:34:01 +01:00
Nicolas Goaziou ec285b1057 Harden `org-at-clock-log-p'
* lisp/org.el (org-at-clock-log-p): Do strict checking.
2017-02-03 00:33:25 +01:00
Nicolas Goaziou aef7eef0f9 Fix `org-get-repeat'
* lisp/org.el (org-get-repeat): Prevent false positive.
2017-02-03 00:32:16 +01:00
Nicolas Goaziou 2a59d2f76f Harden `org-at-timestamp-p'
* lisp/org.el (org-ts-what): Remove variable.
(org-at-timestamp-p): Do strict checking.  Also return a value instead
of setting `org-ts-what'.  Improve docstring.
(org-timestamp-change): Remove use of `org-ts-what'.
(org-shiftcontrolup):
(org-shiftcontroldown): Optimize.
* lisp/org-clock.el (org-clock-timestamp-change): Remove use of `org-ts-what'.
2017-02-03 00:20:12 +01:00
Nicolas Goaziou adfc9fb4dd Merge branch 'maint' 2017-02-02 19:54:24 +01:00
Nicolas Goaziou 37bd3586e9 Fix repeating entries without a TODO keyword
* lisp/org.el (org-auto-repeat-maybe): Allow repeating entries without
  a TODO keyword.
2017-02-02 14:17:04 +01:00
Nicolas Goaziou 2b5fbfa473 Implement `org-edit-latex-environment'
* lisp/org-src.el (org-edit-latex-environment): New function.
* lisp/org.el (org-edit-special): Use new function.
2017-02-01 21:30:54 +01:00
Marco Wahl 195151a153 Merge branch 'maint' 2017-01-29 16:14:29 +01:00
Marco Wahl 39682d4854 Fix: keep repeaters at rescheduling
* lisp/org.el (org--deadline-or-schedule): Removed a blank in a regexp.
* testing/lisp/test-org.el (test-org/schedule): New test.
2017-01-29 16:11:35 +01:00
Marco Wahl 2c27b89fe7 Merge remote-tracking branch 'origin/master' 2017-01-28 00:27:28 +01:00
Marco Wahl 50a53b3f2c Explicitly use `current-time' to set 'LAST_REPEAT'
* lisp/org.el (org-auto-repeat-maybe): Explicitly use `current-time'
  to set LAST_REPEAT.  The behavior of the function remains the same.

This allows to advice current-time to use a different time.  Which
might help with testing and with functions which bend the time.
2017-01-28 00:17:19 +01:00
Nicolas Goaziou 2fbf8cb986 Merge branch 'maint' 2017-01-27 23:58:09 +01:00