Commit Graph

15319 Commits

Author SHA1 Message Date
Nicolas Goaziou 35211c479b Merge branch 'maint' 2019-03-13 12:16:41 +01:00
Nicolas Goaziou 48cafd3d3f ox-texinfo: Add missing support for item counters
* lisp/ox-texinfo.el (org-texinfo-plain-list): Support counter in the
  first item of the list.

Mid-list counters are not supported, per Texinfo limitation.
2019-03-13 12:15:33 +01:00
Nicolas Goaziou 7e58160367 Fix "File mode specification error"
This reverts "org-element: Do not require 'org", which does not seem
trivial at the moment.

Reported-by: Amin Bandali <bandali@gnu.org>
<http://lists.gnu.org/r/emacs-orgmode/2019-03/msg00117.html>
2019-03-12 10:43:25 +01:00
Nicolas Goaziou b1429cdfe0 Fix link fontification
* lisp/org.el (org-activate-links): Display description when
  available.

Reported-by: Marco Wahl <marcowahlsoft@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-03/msg00117.html>
2019-03-12 00:05:33 +01:00
Nicolas Goaziou c020e92ada Merge branch 'maint' 2019-03-10 21:48:55 +01:00
Nicolas Goaziou cd13b0241d org-clock: Fix :scope for clock table
* lisp/org-clock.el (org-dblock-write:clocktable): Test every scope
  combination before trying to call a function.

Reported-by: Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-03/msg00034.html>
2019-03-10 21:47:40 +01:00
Nicolas Goaziou 3ae98eafd0 Merge branch 'maint' 2019-03-10 21:15:25 +01:00
Nicolas Goaziou 2c454d2913 org-table: Zoom tables properly
* lisp/org-table.el (org-table-separator-space): Use :relative-width
  so that space obeys to text scale.

Reported-by: Vadim Zaliva <lord@crocodile.org>
<http://lists.gnu.org/r/emacs-orgmode/2019-03/msg00079.html>
2019-03-10 21:13:59 +01:00
Nicolas Goaziou c04372dbfe org-lint: Add checker for obsolete link escape syntax
* lisp/org-lint.el (org-lint--checkers): Add new linter.
(org-lint-percent-encoding-link-escape): New function.
* testing/lisp/test-org-lint.el (test-org-lint/percenc-encoding-link-escape):
  New test.
2019-03-10 18:00:36 +01:00
Nicolas Goaziou c3d75b4aa2 ol: Remove `org-link-re-with-space(2|3)?' variables
* lisp/ol.el (org-link-re-with-space):
(org-link-re-with-space2):
(org-link-re-with-space3): Remove variables.
(org-link-make-regexps): Do not set removed variables.

These variables are not accurate. They are not used throughout the
code base either.
2019-03-10 18:00:36 +01:00
Nicolas Goaziou 2b00d62816 Change bracket link escape syntax
* contrib/lisp/org-link-edit.el (org-link-edit--link-data):
* lisp/ob-tangle.el (org-babel-tangle-comment-links): Update match-group.
(org-babel-detangle): Remove unnecessary `org-link-escape' call.
(org-babel-tangle-jump-to-org): Update match group.
(org-link-url-hexify):
(org-link-escape-chars): Remove variables.
* lisp/ol.el (org-link--decode-compound): Renamed from
  `org-link--unescape-compound'.
(org-link--decode-single-byte-sequence): Renamed from
`org-link--unescape-single-byte-sequence'.
(org-link-make-regexps): Update `org-link-bracket-re' syntax.
(org-link-encode): New function, renamed from `org-link-escape'.
(org-link-decode): New function, renamed from `org-link-unescape'.
(org-link-escape):
(org-link-unescape): Use new escape syntax.
(org-link-make-string): Apply new escaping rules.
(org-link-display-format):
(org-insert-link): Update match group.
* lisp/org-agenda.el (org-diary):
(org-agenda-format-item):
(org-agenda-to-appt): Update match group.
* lisp/org-clock.el (org-clocktable-write-default): Update match group.
* lisp/org-element.el (org-element-link-parser): Update match group.
* lisp/org-mobile.el (org-mobile-escape-olp):
(org-mobile-locate-entry): Apply function renaming.
* lisp/org-protocol.el (org-protocol-split-data):
(org-protocol-parse-parameters): Apply function renaming.
* lisp/org.el (org-refile): Update match group.
* testing/README (Interactive testing from within Emacs): Fix
  examples.
* testing/lisp/test-ol.el (test-ol/encode): Merge old escape tests.
(test-ol/decode): Merge old unescape tests.
(test-ol/escape):
(test-ol/unescape):
(test-ol/make-string): New tests.
* testing/lisp/test-org-clock.el (test-org-clock/clocktable/link):
* testing/lisp/test-org.el (test-org/custom-id):
(test-org/fuzzy-links):
* testing/lisp/test-ox.el (test-org-export/resolve-fuzzy-link): Update
  tests.
2019-03-10 18:00:36 +01:00
Nicolas Goaziou 3318b50a39 Deprecate `org-link-analytic-bracket-re'
* lisp/ob-tangle.el (org-babel-detangle):
(org-babel-tangle-jump-to-org): Use `org-link-bracket-re'.
* lisp/ol.el (org-link-analytic-bracket-re): Remove variable.
(org-link-make-regexps): Do not set it.
(org-link-display-format): Use `org-link-bracket-re'
(org-link-trim-scheme): New function.
(org-store-link): Remove code duplication.
2019-03-10 18:00:36 +01:00
Nicolas Goaziou 4ff8947ea8 Fix `org-(next|previous)-link'
* lisp/ol.el (org-next-link): Rewrite function.
* testing/lisp/test-ol.el (test-ol/next-link):
(test-ol/previous-link): New tests.
2019-03-10 18:00:36 +01:00
Nicolas Goaziou 6c9d0e86b1 Fix function declarations 2019-03-10 18:00:36 +01:00
Nicolas Goaziou 9cf2040313 Move `org-replace-escapes' into "org-macs.el"
* lisp/org.el (org-replace-escapes): Move function...
* lisp/org-macs.el: ...there.
2019-03-10 18:00:36 +01:00
Nicolas Goaziou ccfea3d8e5 Move `org-fill-template' into "org-macs.el"
* lisp/org.el (org-fill-template): Move function
* lisp/org-macs.el: ...there.
2019-03-10 18:00:36 +01:00
Nicolas Goaziou d4827ea53f org-element: Do not require 'org 2019-03-10 18:00:36 +01:00
Nicolas Goaziou 499c0a50cc Prefix link-related libraries filenames with "ol"
* lisp/org.el (org-modules): Update provided symbols.
2019-03-10 18:00:36 +01:00
Nicolas Goaziou a486d9cbd7 Move link-related core functions out of "org.el"
* contrib/lisp/org-wl.el (org-wl-store-link-message):
* lisp/Makefile (clean-install):
* lisp/ob-core.el (org-link-bracket-re):
(org-babel-open-src-block-result):
(org-babel-read-element):
(org-babel-read-link):
(org-babel-result-end):
* lisp/ob-tangle.el (org-link-bracket-re):
(org-babel-tangle-single-block):
(org-link-analytic-bracket-re):
(org-babel-detangle):
(org-babel-tangle-jump-to-org):
* lisp/ol.el:
* lisp/org-agenda.el (org-agenda-get-some-entry-text):
(org-diary):
(org-agenda-format-item):
(org-agenda-open-link):
(org-agenda-switch-to):
(org-agenda-to-appt):
* lisp/org-bbdb.el (org-bbdb-store-link):
* lisp/org-bibtex.el (org-bibtex-store-link):
* lisp/org-capture.el (org-capture-fill-template):
* lisp/org-clock.el (org-clocktable-write-default):
(org-clock-get-table-data):
* lisp/org-compat.el (org-doi-server-url):
(org-email-link-description-format):
(org-make-link-description-function):
(org-from-is-user-regexp):
(org-descriptive-links):
(org-url-hexify-p):
(org-context-in-file-links):
(org-keep-stored-link-after-insertion):
(org-display-internal-link-with-indirect-buffer):
(org-confirm-shell-link-function):
(org-confirm-shell-link-not-regexp):
(org-confirm-elisp-link-function):
(org-confirm-elisp-link-not-regexp):
(org-file-complete-link):
(org-email-link-description):
(org-make-link-string):
(org-store-link-props):
(org-add-link-props):
(org-make-link-regexps):
(org-angle-link-re):
(org-plain-link-re):
(org-bracket-link-regexp):
(org-bracket-link-analytic-regexp):
(org-any-link-re):
* lisp/org-docview.el (org-docview-store-link):
(org-docview-complete-link):
* lisp/org-element.el (org-element-link-parser):
* lisp/org-eshell.el (org-eshell-store-link):
* lisp/org-eww.el (org-eww-store-link):
(org-eww-copy-for-org-mode):
* lisp/org-footnote.el (org-footnote-next-reference-or-definition):
* lisp/org-gnus.el (org-gnus-article-link):
(org-gnus-store-link):
* lisp/org-id.el (org-id-store-link):
* lisp/org-info.el (org-info-store-link):
* lisp/org-irc.el (org-irc-erc-store-link):
* lisp/org-mhe.el (org-mhe-store-link):
* lisp/org-pcomplete.el (pcomplete/org-mode/searchhead):
* lisp/org-protocol.el (org-protocol-do-capture):
* lisp/org-rmail.el (org-rmail-store-link):
* lisp/org-w3m.el (org-w3m-store-link):
(org-w3m-copy-for-org-mode):
2019-03-10 18:00:27 +01:00
Nicolas Goaziou e84006ea4e Merge branch 'maint' 2019-03-10 11:14:52 +01:00
memeplex 116a58b368 org-agenda: Fix nil-nil comparison in tags and alpha
* lisp/org-agenda.el (org-cmp-alpha):
(org-cmp-tag): Don't favor a particular ordering when both lhs and rhs
are nil.
2019-03-10 11:13:45 +01:00
Nicolas Goaziou 0f17d14766 Merge branch 'maint' 2019-03-09 11:13:45 +01:00
Nicolas Goaziou e0bfdec22e org-protocol: Fix URL handling
* lisp/org-protocol.el (org-protocol-parse-parameters): Un-escape
  extracted link as it is url-encoded externally.

Reported-by: Pierre Téchoueyres <pierre.techoueyres@free.fr>
<http://lists.gnu.org/r/emacs-orgmode/2019-03/msg00081.html>
2019-03-09 11:12:19 +01:00
Nicolas Goaziou 69e6ee6b33 Merge branch 'maint' 2019-03-09 11:02:54 +01:00
Nicolas Goaziou 7d2f7b61ca org-archive: Fix typo in comment
* lisp/org-archive.el (org-archive-subtree): Fix typo.
2019-03-09 11:02:23 +01:00
Nicolas Goaziou 30e5b846b4 Merge branch 'maint' 2019-03-09 11:01:05 +01:00
memeplex d313b24991 Avoid extra space when removing state
* lisp/org.el (org-todo): check if org-string-nw-p instead of non nil.
2019-03-09 11:00:25 +01:00
stardiviner 8b5941330b ob-core: Make :mkdirp work for :dir too
* lisp/ob-core.el (org-babel-execute-src-block): Make directory if
  ":dir path" does not exist when ":mkdirp yes" exist.

* doc/org-manual.org (Header arguments): Document it.

* testing/lisp/test-ob.el: Add a specific testing file for ob-core.el,
  and add a testing for ":mkdir yes" work with :dir header argument
  usage.
2019-03-04 22:25:48 +01:00
Nicolas Goaziou 9d7b1ef8a9 Merge branch 'maint' 2019-03-04 17:04:38 +01:00
Nicolas Goaziou 2fb60532cf org-clock: Remove :scope from default clocktable properties
* lisp/org-clock.el (org-clock-clocktable-default-properties):
  Remove :scope.

The :scope value is handled specially in `org-clock-report'.  Setting
it here would override the special mechanism there.

Reported-by: Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-03/msg00034.html>
2019-03-04 17:04:26 +01:00
Kyle Meyer cded785a6a Merge branch 'maint' 2019-03-03 22:55:07 -05:00
Paul Eggert a6cead0d21 Backport commit 476066e89 from Emacs
* lisp/org-clock.el (org-clock-out):
* lisp/org.el (org-evaluate-time-range):
Avoid double-rounding of time-related values.  Simplify.
* lisp/org-clock.el (org-resolve-clocks-if-idle):
Use time-since instead of open-coding most of it.
* lisp/org-agenda.el (org-agenda-show-clocking-issues):
* lisp/org-capture.el (org-capture-set-target-location):
* lisp/org-table.el (org-table-sum):
* lisp/org.el (org-babel-load-file, org-2ft, org-time-stamp)
(org-read-date-analyze, org-time-stamp-to-now):
Simplify.

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

Avoid some double-rounding of Lisp timestamps
476066e89d6f0bb87220da690b8a476bf9655b80
Paul Eggert
Fri Feb 22 18:33:57 2019 -0800
2019-03-03 22:49:42 -05:00
Paul Eggert 1b15d5ef8e Backport commit eba66c1ea from Emacs
* lisp/ox-publish.el (org-publish-sitemap):
Simplify and remove assumptions about timestamp format.

Don’t assume that current-time and plain encode-time return
timestamps in (HI LO US PS) format.

Remove some timestamp format assumptions
eba66c1eafeef6512259c9b46face2b03c7433b8
Paul Eggert
Fri Feb 22 13:31:01 2019 -0800
2019-03-03 22:25:22 -05:00
Paul Eggert 6b5695aabd Backport commit b5e66f46a from Emacs
* lisp/org-id.el: Update RFC citations.

Update citations of Internet RFCs
b5e66f46a6f33f9d633e6cc3e0770a566bdfcf6b
Paul Eggert
Sat Feb 16 12:00:02 2019 -0800
2019-03-03 22:25:22 -05:00
Kyle Meyer c0f2d5d0bf org-archive: Make substring call compatible with Emacs 24
* lisp/org-archive.el (org-archive--compute-location): Pass 0 rather
than nil for FROM for Emacs 24 compatibility.
2019-03-03 22:25:10 -05:00
Nicolas Goaziou f330259c5b Merge branch 'maint' 2019-02-28 19:40:19 +01:00
Nicolas Goaziou 92c3b76dd8 ox: Insert templates with lower case keywords
* lisp/ox.el (org-export-insert-default-template): Insert lower case
  keywords.
2019-02-28 19:39:39 +01:00
Nicolas Goaziou cf13dc58c0 Merge branch 'maint' 2019-02-28 15:28:06 +01:00
Feng Shu 8a2f4a21a9 org-agenda: Align multibyte tags properly
* lisp/org-agenda.el (org-agenda-align-tags): Let org-agenda align
  multibyte tags properly.
2019-02-28 15:27:44 +01:00
Nicolas Goaziou 344ed4c278 Merge branch 'maint' 2019-02-28 14:39:54 +01:00
Feng Shu 69c211d154 Let radio target works well with Chinese
* lisp/org.el (org-update-radio-target-regexp): Let radio target works well with Chinese.

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

<<<天空>>>

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

See <http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00320.html>
2019-02-27 20:22:51 +01:00
Nicolas Goaziou bdbb7a255b org-protocol: Fix message string
* lisp/org-protocol.el (org-protocol-store-link): Remove spurious
  single quotes.
2019-02-27 11:06:19 +01:00
Nicolas Goaziou 87a00b3595 Merge branch 'maint' 2019-02-25 13:47:40 +01:00
Nicolas Goaziou d437c1b5de Move obsolete function alias into "org-compat.el" 2019-02-25 13:46:41 +01:00
Allen Li cc020dbe4d Fix buffer local org-agenda-overriding-columns-format bug
* doc/org-manual.org (Using Column View in the Agenda): Updated
  reference to variable.
* lisp/org-agenda.el (org-agenda-finalize): Set buffer local variable
  instead.
* lisp/org-colview.el (org-overriding-columns-format): Renamed.
(org-agenda-overriding-columns-format): Renamed.
(org-local-columns-format): New buffer local variable.
(org-columns-edit-value): Updated reference to variable.
(org-columns-next-allowed-value): Updated reference to variable.
(org-agenda-columns): Updated reference to variable.

Setting org-agenda-overriding-columns-format as a buffer local value
interferes with how it is used as a dynamically scoped var, so use a
separate variable for buffer local setting.
2019-02-25 13:41:40 +01:00
Nicolas Goaziou c6829e239c Merge branch 'maint' 2019-02-25 13:36:53 +01:00
Nicolas Goaziou 9d603b1854 org-archive: Fix archive location with multiple ARCHIVE keywords
* lisp/org-archive.el (org-get-local-archive-location):
(org-extract-archive-file):
(org-extract-archive-heading): Remove function.
(org-all-archive-files): Fix function.
(org-archive--compute-location): New function.
* lisp/org-archive.el (org-archive-subtree): Use new function.

Do not look for multiple ARCHIVE keywords.  This is already taken care
of in `org-set-regexps-and-options', through `org-archive-location'
buffer-local variable.
2019-02-25 13:24:37 +01:00
Nicolas Goaziou 289e16d040 Merge branch 'maint' 2019-02-25 02:16:30 +01:00
Nicolas Goaziou c07bf18b50 org-agenda: Fix wrong number of arguments error
* lisp/org-agenda.el (org-agenda-get-restriction-and-command): Fix
  typo.
2019-02-25 02:15:47 +01:00
Nicolas Goaziou b139e1531a Merge branch 'maint' 2019-02-25 02:04:29 +01:00
Nicolas Goaziou 95e1f844ac Fix `org-refile' when logging multiple entries
* lisp/org.el (org-log-refile): Improve docstring.
(org-refile): Record information for every headline in the region.

Reported-by: "Eugene Sharygin" <eush77@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00315.html>
2019-02-25 02:02:28 +01:00
Nicolas Goaziou 2097f5488b Merge branch 'maint' 2019-02-22 19:58:25 +01:00
memeplex 029cf66f01 org-agenda: don't show trailing color if no matcher
* lisp/org-agenda.el (org-agenda-get-restriction-and-command):
  when no matcher was specified there is no point in showing
  a trailing colon (and space).
2019-02-22 19:54:58 +01:00
memeplex b0932f703e org-agenda: improve todo states completion
* lisp/org-agenda.el (org-todo-list): prepare agenda buffers before
  prompting for state.
2019-02-22 19:43:16 +01:00
memeplex d6fcfc06ce Fix fast todo selection menu alignment
* lisp/org.el (org-fast-todo-selection): Avoid lines with just a
  closing delimiter.
2019-02-22 19:38:15 +01:00
Nicolas Goaziou 9eddf47059 Merge branch 'maint' 2019-02-22 15:16:25 +01:00
Nicolas Goaziou 93c3d9d281 Fix `org-display-inline-images' with "clickable images"
* lisp/org.el (org-display-inline-images): Even though Org syntax
  doesn't support nested links, display an image when the function is
  called on a link that contains a single file name in its
  description.

Reported-by: "Dietrich Foethke" <foethke@web.de>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00280.html>
2019-02-22 15:15:20 +01:00
Nicolas Goaziou 02eea8b944 Merge branch 'maint' 2019-02-21 15:33:48 +01:00
Nicolas Goaziou 29fe5a7d7f ox-icalendar: Fix `org-icalendar-blocked-headline-p'
* lisp/ox-icalendar.el (org-icalendar-blocked-headline-p): Only
  consider children when looking for blocked entries, not the headline
  itself.

Reported-by: Duane Farnsworth <dfarnsworth@clarion.edu>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00275.html>
2019-02-21 15:33:00 +01:00
Nicolas Goaziou 1067d6c5ff Merge branch 'maint' 2019-02-20 15:31:46 +01:00
Nicolas Goaziou 0f70354b32 ox: Add missing `org-link-unescape' calls
* lisp/ox-ascii.el (org-ascii-link):
* lisp/ox-latex.el (org-latex--inline-image):
(org-latex-link): Add missing `org-link-unescape' to handle
hex-escaped URI.

Reported-by: stardiviner <numbchild@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00265.html>
2019-02-20 15:26:27 +01:00
Nicolas Goaziou dee2403754 Merge branch 'maint' 2019-02-19 17:06:41 +01:00
Nicolas Goaziou 6a9e847dec org-table: Fix empty field narrowing
* lisp/org-table.el (org-table--shrink-field): Fix empty field
  narrowing.

Reported-by: Nick Helm <nick@tenpoint.co.nz>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00214.html>
2019-02-19 17:05:56 +01:00
Nicolas Goaziou 3a106a213c Merge branch 'maint' 2019-02-18 23:38:55 +01:00
Nicolas Goaziou 6b8fb446b6 org-list: Fix `org-list-demote-modify-bullet' with alpha bullets
* lisp/org-list.el (org-list-struct-indent): Match case-sensitively
  against current bullet in order the tell the difference between "a."
  and "A.".
* testing/lisp/test-org-list.el (test-org-list/indent-item): Add test.
2019-02-18 23:38:13 +01:00
Nicolas Goaziou e9d4eb0147 Merge branch 'maint' 2019-02-18 21:41:37 +01:00
Piet van Oostrum 08cb207b38 Add missing `interactive` spec to `org-show-all'
* lisp/org.el (org-show-all): Add missing `interactive` spec to
  `org-show-all'.

TINYCHANGE
2019-02-18 21:40:57 +01:00
Nicolas Goaziou 7b951e6ebe Merge branch 'maint' 2019-02-18 17:03:56 +01:00
Nicolas Goaziou d647043431 org-table: Fix last commit
* lisp/org-table.el (org-table--shrink-field): Properly shrink empty
  and blank fields.
2019-02-18 17:03:25 +01:00
Nicolas Goaziou 335c121451 Merge branch 'maint' 2019-02-17 18:46:46 +01:00
Nicolas Goaziou 1227ad468d org-table: Shrunk columns obey to alignment cookies
* lisp/org-table.el (org-table--make-shrinking-overlay): Take care of
  concatenating `org-table-separator-space' and
  `org-table-shrunk-column-indicator'.
(org-table--shrink-field): Change signature to include column's
alignment.  Improve algorithm.
(org-table--shrink-columns): Apply signature change.
2019-02-17 18:42:23 +01:00
Nicolas Goaziou 7e98c5c4cc Merge branch 'maint' 2019-02-15 22:47:53 +01:00
Nicolas Goaziou 6872088c7a Prevent spurious newline characters when inserting a heading
* lisp/org.el (org-insert-heading): Do not insert spurious newline
  characters.
* testing/lisp/test-org.el (test-org/insert-heading): Update tests.

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

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

See <http://lists.gnu.org/archive/html/emacs-orgmode/2019-02/msg00138.html>.
2019-02-14 00:14:25 +01:00
Marco Wahl ba974fecf9 org: Refine open at point for tags to use just the tag at point
* lisp/org.el (org-open-at-point): On a tag open a tags view for just
  the tag at point.  Recent behavior for multiple tags was to open a
  tags view for the complete tag string.
2019-02-13 23:29:26 +01:00
Nicolas Goaziou 3abedb8b64 Bump version keyword 2019-02-13 15:43:29 +01:00
Nicolas Goaziou bb53c61816 Merge branch 'maint' 2019-02-13 15:09:35 +01:00
Nicolas Goaziou 20c0c49d09 ox-publish: Fix arithmetic range error on some systems
* lisp/ox-publish.el (org-publish-cache-file-needs-publishing):
(org-publish-cache-ctime-of-src): Use internal time format for
timestamps.

Reported-by: Colin Baxter <m43cap@yandex.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00072.html>
2019-02-13 15:07:47 +01:00
Nicolas Goaziou 613b480db4 Merge branch 'maint' 2019-02-13 13:05:54 +01:00
memeplex 0b148ba706 Fix fast tag selection menu alignment
* lisp/org.el (org-fast-tag-selection): Avoid lines with just
a closing delimiter.  Also correctly align grouped and ungrouped tags.
2019-02-13 13:05:33 +01:00
Nicolas Goaziou 670e8cd6bf Merge branch 'maint' 2019-02-13 13:04:45 +01:00
Nicolas Goaziou 8e9b8dc2eb org-timer: Further simplification
* lisp/org-timer.el (org-timer-seconds): Remove function.
(org-timer-value-string): Fix docstring.  Remove call to
`org-timer-seconds'.
2019-02-13 13:02:28 +01:00
Kyle Meyer f362df7eb7 Merge branch 'maint' 2019-02-12 19:55:26 -05:00
Kyle Meyer c0213eb743 org-timer: Simplify org-timer-seconds
* lisp/org-timer.el (org-timer-seconds): Simplify.
2019-02-12 19:53:52 -05:00
Kyle Meyer 6a5be09c1d Restore some current-time to nil changes
* lisp/org-colview.el (org-columns-compute-all):
* lisp/org-timer.el (org-timer-start):
(org-timer-pause-or-continue):
(org-timer-seconds):
* lisp/org.el (org-read-date-analyze): Favor nil argument to
explicitly passing current-time result to float-time and decode-time.

Most of these "(current-time) => nil" changes were made in the Emacs
codebase, but we stayed with the original state because we relied on
explicitly overriding current-time in the tests.  As of the last
commit, we no longer need to do this and can use org-test-at-time
instead.
2019-02-12 19:46:03 -05:00
Nicolas Goaziou 25f29e1e44 Merge branch 'maint' 2019-02-12 23:34:14 +01:00
Nicolas Goaziou e54f09af50 org-macs: Fix visibility issue with file local variables
* lisp/org-macs.el (org-preserve-local-variables): When file local
  variables are preserved and located in a folded section, make sure
  to hide them again.

Reported-by: Scott Randby <srandby@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00105.html>
2019-02-12 23:33:01 +01:00
Nicolas Goaziou 232160cf7a Merge branch 'maint' 2019-02-12 01:19:19 +01:00
Nicolas Goaziou 931b7b8faf Fix included nested relative file links
* lisp/ox.el (org-export--update-included-link): New function.
(org-export--prepare-file-contents): Use new function.  Also check
possible file links within link's description.
* testing/lisp/test-ox.el (test-org-export/expand-include/links): Fix
  prefix.  Add tests.

Reported-by: "Dietrich Foethke" <foethke@web.de>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00103.html>
2019-02-12 01:15:55 +01:00
Nicolas Goaziou b0379f4f66 Merge branch 'maint' 2019-02-10 23:29:06 +01:00
Nicolas Goaziou 1b1797d446 org-list: Fix missing newline in `org-list-make-subtree'
* lisp/org-list.el (org-list-make-subtree): Add missing newline.

Reported-by: Felix Wiemuth
Fixes bug#34334
2019-02-10 23:28:18 +01:00
Nicolas Goaziou d4d681cc15 ox-publish: Fix previous patch
* lisp/ox-publish.el (org-publish-cache-file-needs-publishing): Remove
  unnecessary code, since `time-less-p' also handles integers.

Reported-by: Paul Eggert <eggert@cs.ucla.edu>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00074.html>
2019-02-10 13:57:40 +01:00
Nicolas Goaziou 9b3ca51fa4 Merge branch 'maint' 2019-02-09 18:53:28 +01:00
Nicolas Goaziou b929c3e5e4 Fix typo in docstring
* lisp/org.el (org-get-tags): Fix typo in docstring.
2019-02-09 18:52:54 +01:00
Marco Wahl cdcbc2fa82 org-goto: Remove jump to point-min at every start of search
The jump has been unexpected and confusing and is undocumented AFAICT.
2019-02-09 16:06:06 +01:00
Nicolas Goaziou de54bbd759 reproducibility: Remove absolute file names in ox-odt.elc
* lisp/ox-odt.el (org-odt-schema-dir-list):
(org-odt-styles-dir-list): Remove `eval-when-compile'.
* mk/org-fixup.el (org-make-org-version): Change signature. Do not
  hard-code ODT style directory at build time.

Fixes: bug#34323
2019-02-09 12:31:37 +01:00
Nicolas Goaziou 19baf228c0 org-habit: Silence byte-compiler
* lisp/org-habit.el (org-habit-build-graph): Silence
  byte-compiler.  Tiny refactoring.
2019-02-09 00:41:15 +01:00
Nicolas Goaziou 67d25049ed ox-publish: Use `org-strip-quotes'
* lisp/ox-publish.el (org-publish-cache-file-needs-publishing): Use
  `org-strip-quotes'.
2019-02-09 00:36:12 +01:00
Nicolas Goaziou c7f4e85389 ox-publish: Fix arithmetic range error on some systems
* lisp/ox-publish.el (org-publish-cache-file-needs-publishing):
(org-publish-cache-ctime-of-src): Use internal time format for
timestamps.

Reported-by: Colin Baxter <m43cap@yandex.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00072.html>
2019-02-09 00:32:13 +01:00
Marco Wahl 0da4491622 org-habit: Mouse over habit graph displays date
* lisp/org-habit.el (org-habit-build-graph): Display the date also for
  day when the task has not been marked done.  If the task has been
  marked done the string "DONE" appears in the display.

Hint: With { M-x tooltip-mode } the date appears in a tooltip
2019-02-07 23:40:19 +01:00
John Lee 18b85aa3fe org-habit: Use face 'org-agenda-done for habits scheduled for future
* lisp/org-agenda.el (org-agenda-get-scheduled): Use the face.

This has the effect that if you just did the habit, it is "greyed out"
in the agenda.

TINYCHANGE
2019-02-06 22:29:32 +01:00
John Lee ba9111a7de org-habit: Always show time of day designation for habits
* org-agenda.el (org-agenda-get-scheduled): Always show the time of
  day designation for habits

TINYCHANGE
2019-02-06 22:29:29 +01:00
John Lee ba1fba147f org-habit: Add org-habit-scheduled-past-days
* lisp/org-habit.el (org-habit-scheduled-past-days): New variable

* lisp/org-agenda.el (org-agenda-get-scheduled): override
  `org-scheduled-past-days' for habits if
  `org-habit-scheduled-past-days` is not nil

TINYCHANGE
2019-02-06 22:29:21 +01:00
Nicolas Goaziou 230cc1ee07 Merge branch 'maint' 2019-02-06 19:34:10 +01:00
Nicolas Goaziou 03d7441813 Fix `org-edit-special' on INCLUDE with additional parameters
* lisp/org.el (org-edit-special): Correctly parse filenames with
  quotes and additional parameters.

Reported-by: Joon Ro <joon.ro@outlook.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00066.html>
2019-02-06 19:32:30 +01:00
Nicolas Goaziou ef1edfc25c org-num: Add missing :package-version keywords
* lisp/org-num.el (org-num-face):
(org-num-format-function):
(org-num-max-level):
(org-num-skip-commented):
(org-num-skip-footnotes):
(org-num-skip-tags):
(org-num-skip-unnumbered): Add missing :package-version keyword.
2019-02-05 09:19:56 +01:00
Nicolas Goaziou 0b5ce28f1e Fix :package-version value
* lisp/org.el (org-email-link-description-format):
  Fix :package-version value.
2019-02-05 09:17:51 +01:00
Nicolas Goaziou 42d9c0d24d org-num: Silence byte-compiler 2019-02-05 08:43:40 +01:00
Nicolas Goaziou 0e5e01ba76 Merge branch 'maint' 2019-02-04 18:02:54 +01:00
Nicolas Goaziou 70dde3f617 ob-core: Fix Noweb reference regexp
* lisp/ob-core.el (org-babel-noweb-wrap): Fix regexp, which could not
  match 2 character long references.  Add docstring.
2019-02-04 18:02:38 +01:00
Kyle Meyer 2d88cfbc08 Merge branch 'maint' 2019-02-03 12:05:49 -05:00
Kyle Meyer c6d37c6ebd org-attach: Autoload org-attach-dired-to-subtree
* lisp/org-attach.el (org-attach-dired-to-subtree): Autoload.

A code snippet in the manual suggests binding this command in
dired-mode-map.  Autoload it so that the snippet works without an
implicit (require 'org-attach).
2019-02-03 12:04:57 -05:00
Nicolas Goaziou 96cc9b58c2 Bump Org version 2019-02-03 14:54:58 +01:00
Nicolas Goaziou ce48c6b0d1 Merge branch 'maint' 2019-02-03 14:42:18 +01:00
Nicolas Goaziou 70c90c2cb5 Fix nested VISIBILITY property
* lisp/org.el (org-set-visibility-according-to-property): Fix nested
  VISIBILITY property. Small refactoring.
* testing/lisp/test-org.el (test-org/set-visibility-according-to-property):
  Add test.

Reported-by: Michael Maurer <maurer.michael@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00402.html>
2019-02-03 14:23:44 +01:00
Nicolas Goaziou 0586b0e45a Merge branch 'maint' 2019-02-02 22:51:14 +01:00
Anders Johansson 4761fab2ff org-faces: Use regexp-opt in org-set-tag-faces
* org-faces.el (org-set-tag-faces): Use appropriate call to regexp-opt

TINYCHANGE
2019-02-02 22:50:07 +01:00
Kyle Meyer 646d4a5fe9 Merge branch 'maint' 2019-01-31 23:04:06 -05:00
Kyle Meyer af7795533a Revert "(current-time) => nil" for Emacs 24 compatibility
* lisp/org-clock.el (org-clock-resolve-clock):
(org-clock-resolve):
(org-resolve-clocks-if-idle):
* lisp/org-element.el (org-element--cache-interrupt-p):
(org-element--cache-sync):
* lisp/org-habit.el (org-habit-insert-consistency-graphs):
* lisp/org-indent.el (org-indent-add-properties):
* lisp/org-timer.el (org-timer-show-remaining-time):
* lisp/org.el (org-babel-load-file):
(org-current-time):
(org-today):
(org-auto-repeat-maybe): Revert nil to (current-time) replacement for
compatibility with Emacs 24.

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

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

Special indentation on description items breaks indentation in
sub-items.
2019-01-31 00:26:00 +01:00
Nicolas Goaziou 94f67273c6 org-list: Remove unused variable
* lisp/org-list.el (org-list-export-context): Remove variable.
2019-01-31 00:12:57 +01:00
Nicolas Goaziou 6c03dc77c9 Merge branch 'maint' 2019-01-30 23:42:48 +01:00
Brad Knotwell bf9bf7a174 ob-lua: Fix multi-line :var input
* lisp/ob-lua.el (org-babel-lua-var-to-lua): Support multi-line :var
  input using Lua's [=[ ... ]=] syntax instead of the syntactically
  invalid and pythonesque """.

TINYCHANGE
2019-01-30 23:42:32 +01:00
Nicolas Goaziou ee29cdc40e Merge branch 'maint' 2019-01-30 22:36:14 +01:00
Nicolas Goaziou a6adc9831d Add new `org-todo-repeat-hook'
* lisp/org.el (org-todo-repeat-hook): New variable.
(org-auto-repeat-maybe): Use it.

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

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

Reported-by: Johannes Altmanninger <aclopte@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00373.html>
2019-01-29 10:06:19 +01:00
Marco Wahl 5b39d8e61d org-goto: Remove needless line 2019-01-28 09:33:51 +01:00
Marco Wahl 9018e755fe org-attach: update dired when attaching with the mv method
* lisp/org-attach.el (org-attach-dired-to-subtree): Revert dired
  buffer when the mv method is active.
2019-01-28 09:26:18 +01:00
Jamie Forth 5c07b4522c ox-beamer: Export overlay specification for notes
* ox-beamer.el (org-beamer-headline): Pass overlay specification to
beamer `\note{}' command.

This is useful for animating multiple slides within a single frame and
displaying only relevant note for each step.

TINYCHANGE
2019-01-26 18:23:42 +01:00
Marco Wahl 32a17b0a63 Merge branch 'maint' 2019-01-26 16:12:15 +01:00
Marco Wahl f9a8cccafa org-goto: Fix org-goto interface 'outline
* lisp/org-goto.el (org-goto-location): Set relevant variables for the
  call of `with-output-to-temp-buffer' for predictable behavior.
2019-01-26 15:56:09 +01:00
Marco Wahl ed7ea512c2 org: Fix match of todo items
* lisp/org.el (org-show-todo-tree): Don't match headlines that start
  with a todo kwd as prefix.
2019-01-25 10:32:07 +01:00
Nicolas Goaziou deb5c4f39a Merge branch 'maint' 2019-01-24 15:05:13 +01:00
Nicolas Goaziou 24030ef62b Fix consecutive radio links
* lisp/org.el (org-activate-target-links): Properly match consecutive
  radio links.

Reported-by: Jay Dresser <jay@jaydresser.us>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00327.html>
2019-01-24 15:03:47 +01:00
Nicolas Goaziou 102142b1a5 ox-latex: Fix environment for tables without caption, take 2
* lisp/ox-latex.el (org-latex--decorate-table): Check if caption is
  the empty string.
2019-01-24 14:47:04 +01:00
Nicolas Goaziou c413bbb3b0 org-keys: Re-instate <return> bindings
Reported-by: Bernt Hansen <bernt@norang.ca>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00312.html>
2019-01-24 14:17:49 +01:00
Daniel Kraus 465255f82f org-src: Fix `org-edit-src-exit' with `split-window-below'
* lisp/org-src.el: (org-src-switch-to-buffer): Delete window when
exiting source buffer instead of splitting it again.
2019-01-23 15:32:04 +01:00
Nicolas Goaziou 3fc7b0639d Merge branch 'maint' 2019-01-22 09:02:45 +01:00
Nicolas Goaziou 010a35f193 Fix last commit
* lisp/org-element.el (org-element-parse-secondary-string): Fix last
  commit.
2019-01-22 09:02:14 +01:00
Nicolas Goaziou a23a483245 Merge branch 'maint' 2019-01-21 21:45:50 +01:00
Nicolas Goaziou 5a63156b01 org-element: Parse secondary strings in read-only documents
* lisp/org-element.el (org-element-parse-secondary-string): Parse
  secondary strings in read-only documents.

Reported-by: Michael Brand <michael.ch.brand@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00271.html>
2019-01-21 21:45:10 +01:00
stardiviner bcdb2b5568 ob-clojure: Don't tangle with auto prepend ns statement
* lisp/ob-clojure.el: (org-babel-expand-body:clojure,
  org-babel-header-args:clojure): whether auto prepend Clojure (ns ..)
  statement depend on whether have :ns header argument specified.

* testing/test-ob-clojure.el: Add a test.
2019-01-21 21:17:47 +01:00
Yasushi SHOJI 4a076ed545 Allow cloning subtrees while shifting them backward in time
* lisp/org.el (org-clone-subtree-with-time-shift): Accept a negative
value to shift the timestamp backward in time.
* testing/lisp/test-org.el (test-org/clone-with-time-shift): Add test.

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

Signed-off-by: Yasushi SHOJI <yasushi.shoji@gmail.com>
2019-01-21 18:47:49 +01:00
Nicolas Goaziou c7e306d665 Merge branch 'maint' 2019-01-21 18:44:25 +01:00
Nicolas Goaziou fadc83d4fe ox-texinfo: Fix anchors for all elements and objects
* lisp/ox-texinfo.el (org-texinfo--get-node): Fix function, too strict
  about allowed types.  One can always fallback to
  `org-export-get-reference'.

Reported-by: wlharvey4@mac.com
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00274.html>
2019-01-21 18:40:54 +01:00
Nicolas Goaziou 73d5ac74de Merge branch 'maint' 2019-01-19 17:28:46 +01:00
Nicolas Goaziou 372e033724 ob-exp: Fix "strip-export" noweb value
* lisp/ob-exp.el (org-babel-exp-results): Use :eval instead of :export
  since the function is used to evaluate a source block before
  exporting it.

Reported-by: Alexandre Duret-Lutz <adl@lrde.epita.fr>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00226.html>
2019-01-19 17:27:20 +01:00
Nicolas Goaziou c28eb3c2cb ox-latex: Fix export of tables with caption
* lisp/ox-latex.el (org-latex--decorate-table): Fix thinko.

Reported-by: Jens Lechtenboerger <lechten@wi.uni-muenster.de>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00262.html>
2019-01-19 16:05:12 +01:00
Nicolas Goaziou e7901c3aec Merge branch 'maint' 2019-01-17 14:48:31 +01:00
Nicolas Goaziou b70cb5b7d0 org-capture: Fix item capture
* lisp/org-capture.el (org-capture-place-table-line): Remove
  unnecessary call to `org-table-align', which could insert a spurious
  newline character.

Reported-by: Thomas Holst <Thomas_Holst@gmx.de>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00233.html>
2019-01-17 14:47:07 +01:00
Kyle Meyer baa98a4a6f babel: Fix incorrect merge resolution from ba321d0e4
* lisp/org.el (org-babel-load-file): Fix type error introduced by
merge ba321d0e4.

Reported-by: Gregor Zattler <telegraph@gmx.net>
<https://lists.gnu.org/archive/html/emacs-orgmode/2019-01/msg00208.html>
2019-01-14 17:09:03 -05:00
Kyle Meyer ba321d0e44 Merge branch 'maint' 2019-01-13 15:14:37 -05:00
Paul Eggert 5a958f3fae Backport commit c5e02f2bc from Emacs
* lisp/org-protocol.el (org-protocol-flatten):
Rewrite as top-level alias, as per Stefan’s suggestion,
to avoid compiler warnings.

Make org-protocol-flatten always an alias
c5e02f2bce28f3b1f2006ce1f208f4a92ca05ed9
Paul Eggert
Mon Dec 17 13:32:52 2018 -0800
2019-01-13 12:43:04 -05:00
Paul Eggert 7937b26867 Backport commit ef144113f from Emacs
* lisp/org-protocol.el (org-protocol-flatten): Make it an alias for
flatten-tree if available.

Some more flatten-tree aliases
ef144113f3473f39d3df3e96e780c832e0d5420e
Paul Eggert
Mon Dec 17 10:26:15 2018 -0800
2019-01-13 12:43:04 -05:00
Kyle Meyer d782b01d35 org-compat: Add org-current-time-as-list
* lisp/org-compat.el (org-current-time-as-list): New function for
compatibility with Emacsen before 27.1.

This is a follow-up to the backport of Emacs's 93fe42094.
2019-01-13 12:43:04 -05:00
Paul Eggert 2b6c7e14f2 Backport commit 93fe42094 from Emacs
This follows on a suggestion by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2018-08/msg00991.html
(Bug#32902).

* lisp/org-id.el (org-id-uuid, org-id-time-to-b36):
Don't assume timestamps default to list form.

New (TICKS . HZ) timestamp format
93fe420942c08111a6048af7c4d7807c61d80a09
Paul Eggert
Sat Oct 6 23:31:04 2018 -0700
2019-01-13 12:43:04 -05:00
Kyle Meyer 6c4acc8ded org-compat: Define file-attribute accessors
* lisp/org-compat.el (file-attribute-modification-time,
file-attribute-size): New functions for compatibility with Emacsen
before 26.1.

This is a follow-up to the backport of Emacs's 662bee7d7.
2019-01-13 12:43:04 -05:00
Paul Eggert d64c9a996b Backport commit 662bee7d7 from Emacs
* lisp/ob-eval.el (org-babel--shell-command-on-region):
* lisp/org-attach.el (org-attach-commit):
* lisp/org-macro.el (org-macro-initialize-templates):
* lisp/org.el (org-babel-load-file)
(org-file-newer-than-p):
* lisp/ox-html.el (org-html-format-spec):
* lisp/ox-publish.el (org-publish-find-date)
(org-publish-cache-ctime-of-src):
Prefer (file-attribute-size A) to (nth 7 A), and similarly
for other file attributes accessors.
* lisp/ox-publish.el (org-publish-cache-ctime-of-src):
Prefer float-time to doing time arithmetic by hand.

file-attributes cleanup
662bee7d70ccd3903e123b08c7ec9108a1a2ce0b
Paul Eggert
Sun Sep 23 18:32:59 2018 -0700
2019-01-13 12:43:04 -05:00
Paul Eggert 9a8462771f Backport commit a4a3c92e9 from Emacs
* lisp/org-agenda.el (org-cmp-ts): Avoid arbitrary limit to
most-positive-fixnum or to most-negative-fixnum.
* lisp/org-footnote.el (org-footnote-new): Simplify.
* lisp/org-element.el (org-element--cache-generate-key):
Document fixnum limitation.

Prune most-positive-fixnum from Lisp source
a4a3c92e9de59bd0251f36326375cce898919edc
Paul Eggert
Wed Aug 22 20:46:08 2018 -0700
2019-01-13 12:43:04 -05:00
Paul Eggert 28d2c81709 Backport commit f18af6cd5 from Emacs
* lisp/org.el:
* lisp/ox-publish.el:
Prefer ash to lsh when either will do.

Audit use of lsh and fix glitches
f18af6cd5cb7dbbf7420ec2d3efed4e202c4f0dd
Paul Eggert
Tue Aug 21 13:44:32 2018 -0700
2019-01-13 12:43:04 -05:00
Kyle Meyer da31714c10 org-compat: Define proper-list-p
* lisp/org-compat.el (proper-list-p): New function for compatibility
with Emacsen before 27.1.

This is a follow-up to the backport of Emacs's 2fde6275b.
2019-01-13 12:43:04 -05:00
Basil L. Contovounesios ede0d19feb Backport commit 2fde6275b from Emacs
* lisp/ob-core.el (org-babel-insert-result): Use proper-list-p.

Add predicate proper-list-p
2fde6275b69fd113e78243790bf112bbdd2fe2bf
Basil L. Contovounesios
Mon Jul 9 19:00:43 2018 -0700
2019-01-13 12:43:04 -05:00
Glenn Morris f73cc4811b Backport commit 18de2ada2 from Emacs
* lisp/org.el (org-CUA-compatible)
(org-popup-calendar-for-date-prompt):
Move aliases before targets, to silence new compiler warning.

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

The tedious game of whack-a-mole with compiler warnings continues
9c3eeba4db26ddaeead100beea7a96f9fa640918
Glenn Morris
Fri Apr 20 18:34:39 2018 -0400
2019-01-13 12:43:04 -05:00
Paul Eggert 32dbbfa26c Backport commit 20b858ef1 from Emacs
Prefer \... to control chars in .el literals
20b858ef13f8f71fae6cbce5cdac31c4dd130600
Paul Eggert
Thu Mar 29 17:43:08 2018 -0700
2019-01-13 12:43:04 -05:00
Glenn Morris d5a7a1a22c Backport commit 1c7db8aa3 from Emacs
* lisp/org-ctags.el:
* lisp/org-macs.el: Explicitly require cl-lib as needed.

Explicitly require cl-lib where needed
1c7db8aa30969d0bc0e6d35b9bd57c70314ed9d0
Glenn Morris
Fri Mar 16 20:41:17 2018 -0400
2019-01-13 12:43:04 -05:00
Glenn Morris 6a5082fccf Backport commit b1d7e5852 from Emacs
* lisp/org-agenda.el (org-agenda-mode):
* lisp/org-indent.el (org-indent-mode):
Replace filter-buffer-substring-functions, obsolete since 24.4.

Replace some obsolete uses of filter-buffer-substring-functions
b1d7e58520dc42a4eda902aa934a250fda6a04ca
Glenn Morris
Thu Mar 15 20:23:09 2018 -0400
2019-01-13 12:43:04 -05:00
Glenn Morris 16c8187db1 Backport commit d5f6ff99c from Emacs
* lisp/org.el (image-refresh):
* lisp/ox-odt.el (clear-image-cache, image-size): Declare.

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

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

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

Note(km): The changes that will reverted in the next commit have been
dropped from the ChangeLog entries above.
2019-01-13 12:43:03 -05:00
Paul Eggert d4a295e46a Backport commit 2fcf2dff0 from Emacs
Fix copyright years by hand
2fcf2dff00a55ece17f4342a934cb1d69ae1a743
Paul Eggert
Tue Jan 1 01:02:40 2019 +0000
2019-01-13 12:43:03 -05:00
Kyle Meyer c11b147d1d org-parse-time-string: Describe time stamp matching behavior
* lisp/org-macs.el (org-parse-time-string): Document matching of
YYYY-MM-DD substring.

org-clock-special-range used to pass in <-50001-11-30 Tue 00:00> with
the expectation that the year would be parsed as -50001, not 0001.
Mention this YYYY-MM-DD format assumption in the docstring to help
avoid such cases.
2019-01-13 12:43:03 -05:00
Kyle Meyer 9ceb723602 org-clock: Simplify `untilnow' range logic
* lisp/org-clock.el (org-clock-special-range): Use nil to represent
`untilnow'.
* lisp/org-clock.el (org-clocktable-steps): For `untilnow' block, set
set timestamp to 2003.
* doc/org-manual.org (The clock table): Document `untilnow' floor when
used with :step.

For `untilnow', org-clock-special-range sets the start to
"<-50001-11-30 Tue 00:00>", but org-parse-time-string actually assumes
a YYYY-MM-DD format and parses the year as 0001.  By chance, this is
still a really old date, so no one noticed.  However, with the port of
Emacs's fde99c729c (Port recent org-clock fix to POSIX time_t,
2018-03-28), test-org-clock/clocktable/ranges would fail if the system
supports the oldest date tried, "<-67715-09-22 Tue 17:51>".

But this "encode-time -> format-time-string -> org-parse-time-string"
dance is mostly unnecessary.  All the current org-clock-special-range
callers except for org-clocktable-steps (1) explicitly check if the
starting time is nil, (2) don't use the starting time, or (3) pass it
directly to org-clock-sum, which handles nil values.  And
org-clock-sum executes the same codepath when nil is passed instead of
"really old date".

Update org-clocktable-steps to use 2003 (the year Org was created) as
the starting point when org-clock-special-range returns nil for the
starting time.  This is more efficient because we don't needlessly
calculate steps over a large chunk of time that almost certainly
doesn't have any clocked time.  And it won't run into the portability
issues like Emacs's fde99c729c.  2003 _should_ be an appropriate
effective starting date, since we don't expect clocked time before the
existence of Org.  If this turns out to be an issue (e.g., someone
converted reports from a pre-Org and still makes clock tables that
include those times), we can make this value configurable.
2019-01-13 12:41:29 -05:00
Marco Wahl 067c8dc6c4 Merge branch 'maint' 2019-01-13 15:10:21 +01:00
Marco Wahl 295d149f46 agenda: Fix get category for habit lines
* lisp/org-agenda.el (org-agenda-get-category): New function to wrap
  the identification of the category of an agenda line.
2019-01-13 15:09:04 +01:00
Kyle Meyer 6972cce38b Merge branch 'maint' 2019-01-13 00:13:46 -05:00
Kyle Meyer f3584ecc3b org-clock: Correctly locate heading when resolving clock
* lisp/org-clock.el (org-clock-resolve-clock): Store heading location
as marker instead of raw position to ensure that org-clock-in is
called in the correct buffer.

This fixes a regression introduced by 503ede74b (org-clock: Fix
resolving clocks, 2018-12-06).
2019-01-13 00:13:33 -05:00
Kyle Meyer 87c4635c88 Fix docstring typo
* lisp/org.el (org-insert-link): Fix docstring typo.
2019-01-12 23:47:36 -05:00
Kyle Meyer cbc43c1f01 Fix docstring typo
* lisp/org-clock.el (org-clocktable-steps): Fix docstring typo.
2019-01-12 23:46:00 -05:00
Nicolas Goaziou 354e2d4a2d org-keys: Fix last commit 2019-01-12 12:01:38 +01:00
Nicolas Goaziou 8a1957d592 org-keys: Use RET instead of <return> where possible
* lisp/org-keys.el (org-mode-map): Use RET instead of <return> where
  possible.

Reported-by: Kévin Le Gouguec <kevin.legouguec@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00162.html>
2019-01-12 11:54:02 +01:00
Nicolas Goaziou 871119986a Merge branch 'maint' 2019-01-12 11:50:37 +01:00
Nicolas Goaziou f9596eb472 Fix following timestamp in planning lines
* lisp/org.el (org-open-at-point): Open calendar when called on
  a timestamp in a planning line.

Reported-by: Bob Hepple <bob.hepple@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00158.html>
2019-01-12 11:49:50 +01:00
Nicolas Goaziou 4bc21b135b Merge branch 'maint' 2019-01-12 11:40:33 +01:00
Nicolas Goaziou ae497f365e org-table: Also copy special star marker upon creating a row
* lisp/org-table.el (org-table-insert-row): Copy "*" character when in
  first column, as it is considered as a special marker then.
2019-01-12 11:36:40 +01:00
Nicolas Goaziou fa71fdbb53 org-num: Clear numbering overlays upon changing major mode
* lisp/org-num.el (org-num--clear): New function.
(org-num-mode): Use new function.

Reported-by: stardiviner <numbchild@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-01/msg00088.html>
2019-01-09 23:25:57 +01:00
Kaushal Modi 8a5d8f79a1 Merge branch 'maint' 2019-01-08 11:35:34 -05:00
Kaushal Modi 34e5dcfb06 Fix the order of org-get-tags collected tags from #+filetags
* lisp/org.el (org-get-tags): Now org-get-tags returns tags list with
  tags from #+filetags in the beginning.

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

Fixes regression caused by commit
<5e27b2fd32>.

Bug reported in
<https://lists.gnu.org/r/emacs-orgmode/2019-01/msg00052.html>.
2019-01-08 11:29:58 -05:00
Marco Wahl 2862bea69b org: Option for user to force non fast tag selection interface
* lisp/org.el (org-set-tags-command): Disable the fast tag selection
  interface when the command is prefixed by C-u C-u.
2019-01-05 13:16:31 +01:00
Marco Wahl 99f0c53418 Merge branch 'maint' 2019-01-05 11:41:57 +01:00