Commit Graph

25248 Commits

Author SHA1 Message Date
Samim Pezeshki 847e332301
lisp/org-agenda.el: Fix bug in `org-agenda-highlight-todo'
* lisp/org-agenda.el (org-agenda-highlight-todo): Skip formatting
the to-do keyword when `org-agenda-todo-keyword-format' is the
empty string.

TINYCHANGE
2022-03-21 15:25:13 +08:00
Ihor Radchenko 7e78f664b2
Merge branch 'bugfix' 2022-03-19 16:07:58 +08:00
Ihor Radchenko af6f1298b6
org-mouse: Fix keyword selection menu
* lisp/org-mouse.el (org-mouse-keyword-menu): Fix void-variable error
when selecting todo keyword.

Reported in https://list.orgmode.org/CAFChFyjzuBtr8BeGTb195AVoGbUKFtXf35vvv-r0mzOy0wvZ2Q@mail.gmail.com/T/#u
2022-03-19 16:07:01 +08:00
Kyle Meyer 91681fc033 Merge branch 'bugfix' 2022-03-02 23:04:59 -05:00
Stefan Monnier 668205f769 Backport commit d52c929e3 from Emacs
* lisp/org-refile.el (org-refile):
* lisp/org-capture.el (org-capture-store-last-position):
Pass `format` arg to `with-demoted-errors`.

(with-demoted-errors): Warn on missing `format` arg
d52c929e31f60ff0462371bfe27ebd479e3e82bd
Stefan Monnier
Fri Feb 4 19:39:53 2022 -0500

[km] with-demoted-errors has had a format argument since Emacs 24.4.
     Passing it avoids an error when compiling with Emacs's current
     master (bug#54225).  Once that bug is resolved, it will prevent a
     warning.
2022-03-02 23:02:50 -05:00
Nicolas Goaziou ef66660cf4 Merge branch 'bugfix' 2022-02-28 15:46:06 +01:00
Nicolas Goaziou bafeaf161c element: Fix parsing of inline footnotes
* lisp/org-element.el (org-element--pair-round-table):
(org-element--pair-square-table):
(org-element--pair-curly-table): De-activate all but one pair of
parenthesis.
* testing/lisp/test-org-element.el (test-org-element/footnote-reference-parser):
Add test.

Reported-by: Greg Minshall <minshall@umich.edu>
<http://lists.gnu.org/r/emacs-orgmode/2022-02/msg00369.html>
2022-02-28 15:45:25 +01:00
Kyle Meyer e822291aca Merge branch 'bugfix' 2022-02-27 23:45:32 -05:00
Kyle Meyer 33543d2aa8 org-link-descriptive: Fix docstring typo
* lisp/ol.el (org-link-descriptive): Drop extra word from docstring.
2022-02-27 23:43:59 -05:00
Kyle Meyer 57362f7414 org-copy-visible: Respect buffer-invisibility-spec
* lisp/org.el (org-copy-visible): Decide whether text is invisible by
calling invisible-p rather than checking whether the invisible
property at point is non-nil.

Text may have a non-nil invisible property but _not_ be hidden from
the user (and thus should be copied by org-copy-visible).  For
example, the link itself is shown when org-link-descriptive is nil,
but it still has an invisible property of `org-link'.
2022-02-27 23:43:59 -05:00
Kyle Meyer f2833ff255 org-copy-visible: Fix handling of adjacent invisible text
* lisp/org.el (org-copy-visible): Don't copy invisible text that
follows invisible text with a different property value.

If org-copy-visible sees that the left bound position has a non-nil
invisible property, it uses next-single-char-property-change to find
the new bound.  However, next-single-char-property-change may just
find a bound that still has a _different_ non-nil invisible property.

Reported-by: "Максим Бабушкин" <maxbabushkin@gmail.com>
Link: https://debbugs.gnu.org/49967
2022-02-27 23:43:59 -05:00
Kyle Meyer e85a872f3b test-org.el: Actually test org-copy-visible
* testing/lisp/test-org.el (test-org/copy-visible): Switch defun to
ert-deftest so that the test is actually executed, and resolve
failures in test.

Make two adjustments so that the now executed test passes:

  - Correct the end value of the hidden part of the string for one
    test case.

  - Disable org-unfontify-region so that the invisible properties show
    up in the temporary buffer.

    I think org-unfontify-region should probably be changed to _not_
    remove the invisible property, but it's a longstanding behavior.
    Changing it would need more thought and isn't something that
    should be done on the bugfix branch.
2022-02-27 23:41:44 -05:00
Nicolas Goaziou bb6830409d Merge branch 'bugfix' 2022-02-26 10:25:06 +01:00
David Lukes 83c6eccaee oc-basic: Better handling of CSL-JSON dates
* lisp/oc-basic.el (org-cite-basic--parse-json): Make date-parsing and
year extraction more resilient.  Provide more informative errors when it
fails.

A string-based date is not only indicated by the key 'raw, but also
possibly by the key 'literal.

String-based dates come in various formats, not necessarily yyyy-mm-dd.
So extracting the first sequence of 4 digits is arguably a better
heuristic for getting the publication year than splitting the string on
- and getting the car of that.

On error, include `value' in the message, which contains the original
value with actionable information, whereas the previously included
`date' is always nil in that case.

TINYCHANGE
2022-02-26 10:24:36 +01:00
Jonas Bernoulli 282a01f221 ORG-NEWS: Add news items about new features in texinfo exporter 2022-02-22 20:14:25 +01:00
Juan Manuel Macias 1291e89d2d ox-latex: Add a `t' value for `:float' in tables and figures
* org-latex--inline-image: default `figure' environment
* org-latex--decorate-table: default table environment
* doc/org-manual.org (Tables in LaTeX export): add `t' and arbitrary
`:float' values
* doc/org-manual.org (Images in LaTeX export): add `t' and arbitrary
`:float' values
2022-02-22 20:10:58 +01:00
Kyle Meyer 6e080e5786 Merge branch 'bugfix' 2022-02-20 14:14:24 -05:00
Kyle Meyer ea6b7451b8 ox: Escape a docstring apostrophe
* lisp/ox.el (org-export-with-smart-quotes): Escape an apostrophe to
prevent it from being displayed as a curved quote in the help buffer.
2022-02-20 13:53:28 -05:00
Ihor Radchenko c5a0113367
org-element-org-data-parser: Fix when invoked from indirect buffer
* lisp/org-element.el (org-element-org-data-parser): Consider base
buffer file name when calculating Org buffer category.
2022-02-20 15:26:11 +08:00
Nicolas Goaziou 37d8bc801e oc-basic: Fix `org-cite-basic--get-author'.
* lisp/oc-basic.el (org-cite-basic--get-author): Allow optional RAW argument.
(org-cite-basic--get-year):
(org-cite-basic--key-completion-table): Make use of new argument.
2022-02-16 13:55:08 +01:00
Ihor Radchenko bc8c3e7795
org-export-link--remote-local-copy: Update docstring
* lisp/ox.el (org-export-link-localise): Make sure that docstring is
narrower than 80 chars.  Clarify the return value when LINK is not a
remote link.
2022-02-14 12:42:57 +08:00
Ihor Radchenko 0cb0760206
org-persist-write:elisp: Do not use `buffer-local-boundp'
* lisp/org-persist.el (org-persist-write:elisp): Use manual
implementation of `buffer-local-boundp' to make things work in Emacs
<28.

Reported in https://list.orgmode.org/87k0dyqy3d.fsf@kyleam.com/T/#u
2022-02-14 12:41:37 +08:00
Nicolas Goaziou fe4a60dffa oc-basic: Fallback to editor when author is not available
* lisp/oc-basic.el (org-cite-basic--get-author): New function.
(org-cite-basic--get-year):
(org-cite-basic--print-entry):
(org-cite-basic--format-author-year):
(org-cite-basic-export-citation):
(org-cite-basic--key-completion-table): Use new function.

Suggested-by: psychosis <psychosis@disroot.org>
<http://lists.gnu.org/r/emacs-orgmode/2022-02/msg00006.html>
2022-02-13 22:27:47 +01:00
Nicolas Goaziou 6ac5e0adc8 Merge branch 'bugfix' 2022-02-13 22:14:55 +01:00
Nicolas Goaziou 17e4fe9093 lint: Fix false positive with inline footnote definitions
* lisp/org-lint.el (org-lint-invalid-macro-argument-and-template):
Take into consideration inline definitions.
* testing/lisp/test-org-lint.el (test-org-lint/undefined-footnote-reference):
Add test.

Reported-by: Timothy <tecosaur@gmail.com>
2022-02-13 22:13:41 +01:00
Ihor Radchenko 27215ac5b5
org-persist: Handle undefined variables in elisp containers
* lisp/org-persist.el (org-persist-write:elisp): Do not try to write
elisp variable data when the variable is not defined.
(org-persist-load-all):
(org-persist-write-all): Cleanup containers that cannot be
read/written.
2022-02-13 16:53:59 +08:00
Jonas Bernoulli 98588ebfe1 ox-texinfo: Allow enabling compact syntax for @itemx per file
* doc/org-manual.org (Plain lists in Texinfo export): Document the
:texinfo-compact-itemx export option and variable
org-texinfo-compact-itemx.
(Texinfo specific properties): Mention new export option and variable.
* lisp/ox-texinfo.el: Add org-texinfo-compact-itemx to the
:options-alist of the texinfo backend.
* lisp/ox-texinfo.el (org-texinfo-compact-itemx): New option.
* lisp/ox-texinfo.el (org-texinfo--massage-key-item): Add INFO
argument and use the :texinfo-compact-itemx export option.
* lisp/ox-texinfo.el (org-texinfo-item): Use the
:texinfo-compact-itemx export option.
2022-02-09 00:38:23 +01:00
Jonas Bernoulli 1312e1a938 ox-texinfo: Define definition commands using description lists
* doc/org-manual.org (Plain lists in Texinfo export): Document use
of definition command prefixes in description lists.
* lisp/ox-texinfo.el: Add org-texinfo--separate-definitions to the
list of :filter-parse-tree functions of the texinfo backend.
* lisp/ox-texinfo.el (org-texinfo--definition-command-alist)
(org-texinfo--definition-command-regexp): New variables.
* lisp/ox-texinfo.el (org-texinfo--separate-definitions)
(org-texinfo--match-definition, org-texinfo--split-definition)
(org-texinfo--split-plain-list, org-texinfo--massage-key-item):
New functions.
2022-02-09 00:35:59 +01:00
Jonas Bernoulli e52743fb30 ox-texinfo: Optionally use @itemx for certain description list items
* doc/org-manual.org (Plain lists in Texinfo export): Reorder and
document new functionality.
* lisp/ox-texinfo.el (org-texinfo-item): In a description list when
its :compact attribute is non-nil, then transcode consecutive items
using one @item and one or more @itemx commands, if all of them
except for the last one lack content.
2022-02-08 22:45:36 +01:00
Jonas Bernoulli 3d0f592de7 ox-texinfo: Add function for use by kbd macro
* doc/doc-setup.org: Use org-texinfo-kbd-macro for kbd macro.
* doc/org-manual.org: Add new node "Key bindings in Texinfo export".
* lisp/ox-texinfo.el (org-texinfo--quoted-keys-regexp): New variable.
* lisp/ox-texinfo.el (org-texinfo-kbd-macro): New function.
2022-02-08 22:45:27 +01:00
Ihor Radchenko a694cf5224
Merge branch 'bugfix' 2022-02-07 21:08:54 +08:00
Sacha Chua c5ceb6a2c3
org-list-send-item: allow dest to be a buffer position
* lisp/org-list.el (org-list-send-item): Check if dest is a string
before matching it, to allow dest to be a buffer position.
* testing/lisp/test-org-list.el (test-org-list/send-item): Add tests.
2022-02-07 21:07:52 +08:00
Marco Wahl 28da0649e6 org-attach: Extend range for org-attach-commands
* lisp/org-attach.el (org-attach): Get rid of the use of the second
arg of `commandp`, by making `org-attach-commands` accept any
commands (including keyboard macros).

Patch from Stefan Monnier.
https://list.orgmode.org/jwvwni7y70r.fsf-monnier+emacs@gnu.org/
2022-02-06 23:57:14 +01:00
Marco Wahl 4fdfe9c584 org-attach: Clean up some magic numbers
* lisp/org-attach.el (org-attach): Clean up some magic numbers.

Patch from Stefan Monnier.
https://list.orgmode.org/jwvwni7y70r.fsf-monnier+emacs@gnu.org/
2022-02-06 23:48:32 +01:00
Ihor Radchenko 1344376d69
Merge branch 'bugfix' 2022-02-05 19:19:49 +08:00
Ihor Radchenko bb8aa14923
org-element-cache: Add more self-consistency checks
* lisp/org-element.el (org-element--parse-to):
(org-element--cache-verify-element): Add check asserting that all the
parsed elements are assigned with non-nil parent (except org-data).
2022-02-05 19:18:00 +08:00
Ihor Radchenko 5da9d6810b
org-element--cache-before-change: Fix handling sensitive edits at bol
* lisp/org-element.el (org-element--cache-before-change): Fix
optimisation when edits are involving element :end position.  Checking
that END is at BOL fails when we insert at the beginning of a
headline.
2022-02-05 19:17:59 +08:00
Ihor Radchenko e29fea256d
org-element--parse-to: Simplify code 2022-02-05 19:17:59 +08:00
Ihor Radchenko 7543da991f
org-bibtex-read: Fix regression from f7d6db1bf
* lisp/ol-bibtex.el (org-bibtex-read): Make sure that the return value
is the updated `org-bibtex-entries'.  Document the return value
requirement.  The assumption about the return value is used by
`org-bibtex-yank'.

Fixes https://list.orgmode.org/86zgn689m5.fsf@krailli2.fritz.box/T/#u
2022-02-05 19:17:58 +08:00
Marco Wahl 1f78ca45f8 org: Small simplification 2022-02-04 11:49:15 +01:00
TEC e7ea951ac9
ol: Fix formatting in org-link--open-shell
* lisp/ol.el (org-link--open-shell): The %S token in the format string
causes the propertization to be printed as a structure, instead of
styling the path string.  This is clearly not the intended behaviour.

Reported by Max Nikulin <manikulin@gmail.com>
in https://list.orgmode.org/2c23e039-7215-3d6e-13a2-cb244563f347@gmail.com
2022-02-01 19:56:37 +08:00
TEC 6ee45518f3
ox: Add link localisation feature using persist
* lisp/ox.el (org-export-link-remote-p): A new function to determine
whether a link refers to a remote resource.
(org-export-link--remote-local-copy): Download and return the local
location of a remote resource link.
(org-export-link-localise): Transform remote links to refer to a local
copy of the resource.

* lisp/ox-latex.el (org-latex-link, org-latex-inline-image-rules): Make
use of the new functions for remote resources in ox.el to support
embedding https and tramp -linked files.
2022-01-31 19:37:39 +08:00
TEC b3ceafd0b9
ol: Fix formatting in org-link--open-elisp
* lisp/ol.el (org-link--open-elisp): The %S token in the format string
causes the propertization to be printed as a structure, instead of
styling the path string.  This is clearly not the intended behaviour.

Reported by Omar Antolín Camarena <omar@matem.unam.mx>
in https://list.orgmode.org/87sft58b6r.fsf@matem.unam.mx
2022-01-31 19:37:39 +08:00
Ihor Radchenko 7f6b6e4891
Merge branch 'bugfix' 2022-01-30 16:52:15 +08:00
Ihor Radchenko dd6486a070
Make sure that declarative defvars do not set variable value
* lisp/ob-tangle.el (org-id-link-to-org-use-id):
* lisp/org-agenda.el (org-agenda-overriding-header): Do not try set
value of a variable defined elsewhere.  This may interfere with custom
interface.  See
https://list.orgmode.org/orgmode/871r19ryxb.fsf@localhost/

(org-agenda-restrict):
* lisp/ol-bibtex.el (org-bibtex-description): Remove incorrect
comments.
2022-01-30 16:46:12 +08:00
Ihor Radchenko 589cc0732e
Merge branch 'bugfix' 2022-01-30 15:41:49 +08:00
Ihor Radchenko 2b49d6fd9c
org-id-update-id-locations: Disable cache in throwaway buffers
* lisp/org-macs.el (org-element-with-disabled-cache): Move from
org-element.el to org-macs.el
2022-01-30 15:40:14 +08:00
TEC 1b675f0ca8
org-agenda: Make timestamp ordering match docs
* lisp/org-agenda.el: When `org-agenda-sort-notime-is-late' is non-nil,
an absent timestamp is now (correctly) treated as maximal.

Bug reported by: Charles Tam <me@charlest.net> in
https://list.orgmode.org/CAKu+9YVNPSHG4HVtPFa2L2tP6yBdjJ38Teyr8OSDmCg0ZEOe9Q@mail.gmail.com
2022-01-30 15:40:13 +08:00
Ihor Radchenko ac5742f296
Merge branch 'feature/org-persist-new-tidy' 2022-01-29 17:16:35 +08:00
Ihor Radchenko 7014675226
org-mode: Fix cache loading order 2022-01-29 17:11:07 +08:00