Commit Graph

22026 Commits

Author SHA1 Message Date
Nicolas Goaziou 1c936fd2ac org-manual: Document new link syntax
* doc/org-manual.org (Link Format): Document rules for escaping
  sensitive characters in a link.
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 8ffe341989 Move link tests to a dedicated file
* testing/lisp/test-org.el: Move test to the...
* testing/lisp/test-ol.el: ... new file.
2019-03-10 18:00:36 +01:00
Nicolas Goaziou 944c62a794 Include "ol"-prefixed files in the build system
* mk/default.mk (BTEST):
* mk/server.mk (elpaplus-dirty elpaplus-up): Include "ol"-prefixed
  files in the build system.
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 4e4e5fbbf4 org-manual: Update link variables and functions
* doc/org-manual.org (Handling Links):
(Template expansion):
(Code Evaluation and Security Issues):
(Footnotes): Update link variables and functions.
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 8060ca6727 org-manual: Fix footnotes
* doc/org-manual.org (Clocking commands): Fix footnote numbers.
2019-03-10 17:34:34 +01:00
Nicolas Goaziou 1f3bd5f62a Merge branch 'maint' 2019-03-10 17:32:47 +01:00
Nicolas Goaziou 5ac6ca24fa org-manual: Fix footnote
* doc/org-manual.org (A LaTeX example of radio tables): Fix footnote
  number.
2019-03-10 17:26:22 +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 56b7c5ba59 Merge branch 'maint' 2019-03-10 11:05:37 +01:00
Nicolas Goaziou cebd6417b2 org-manual: Clarify clock table parameters value
* doc/org-manual.org (The clock table): Clarify boolean values.

Reported-by: Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-03/msg00108.html>
2019-03-10 11:04:50 +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
Nicolas Goaziou 51444aadf5 org-clock: Fix failing test
* testing/lisp/test-org-clock.el (test-org-clock/clocktable/insert):
  Fix test now default scope is not file.
2019-03-04 23:16:48 +01:00
Nicolas Goaziou 2e06d61915 org-manual: Slight change to mkdirp documentation
* doc/org-manual.org (Choosing a working directory): Document "mkdirp"
  in conjunction with "dir".
(Header arguments): Remove reference to "mkdirp" and "dir" combination.
2019-03-04 22:56:00 +01:00
Nicolas Goaziou 0c1916657a ob: Fix and add tests for mkdirp header argument
* testing/lisp/test-ob.el (test-ob-core/dir-mkdirp): Add tests.
2019-03-04 22:34:31 +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 b25895e5c9 Merge branch 'master' of code.orgmode.org:bzg/org-mode 2019-02-28 14:40:00 +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 5fbfb0fafa Merge branch 'maint' 2019-02-28 11:39:14 +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 c2c91f0589 Merge branch 'maint' 2019-02-28 00:24:30 +01:00
Nicolas Goaziou 2afca09936 org-manual: Remove unnecessary introductory section
* doc/org-manual.org (Outlines): Remove section.
2019-02-28 00:21:52 +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