Commit Graph

26906 Commits

Author SHA1 Message Date
Ihor Radchenko 7cc208af91
org-agenda: Do not err on SCHEDULED/DEADLINE with inactive timestamp
* lisp/org-agenda.el (org-agenda-get-deadlines):
(org-agenda-get-scheduled): Ignore SCHEDULED/DEADLINE set to inactive
timestamps.  Previously, an error would be thrown.

Reported-by: Christian Barthel <bch@online.de>
Link: https://orgmode.org/list/875y5tlouo.fsf@localhost
2023-08-18 15:19:25 +03:00
Ihor Radchenko d560a2d739
org-lint-invalid-id-link: Only update ID locations if there are ID links
* lisp/org-lint.el (org-lint-invalid-id-link): Avoid running
`org-id-update-id-locations' when there are no ID links in the linted
file.
2023-08-18 15:18:50 +03:00
Ihor Radchenko 83fd03fb6d
org-attach: Fix when called from agenda
* lisp/org-attach.el (org-attach): Do not try to call `org-attach-dir'
from non-Org buffer.  This requires parser, which cannot run in agenda
buffer.
2023-08-18 13:24:13 +03:00
Ihor Radchenko 79aa149143
org-babel-map-executable: Describe header arg in the docstring
* lisp/ob-core.el (org-babel-execute-buffer): Mention in the docstring
how prefix argument is handled.
2023-08-18 13:15:10 +03:00
Ihor Radchenko b3660cf135
* testing/lisp/test-org-attach-git.el: Avoid using global git config
(test-org-attach-git/with-annex): Disable global git config during
testing.
2023-08-18 12:03:58 +03:00
Juan Manuel Macias 2eb4fd8900
lisp/ox-latex.el: Add the `:literal' attribute to verse block.
* (org-latex-verse-block): Now the treatment of blank lines is
consistent with the syntax of the LaTeX `verse' environment, and the
one provided by the `verse' package.  If the `:literal' attribute is
used, all blank lines are preserved and exported as
`\vspace*{\baselineskip}', including the blank lines before or after
contents.  The rx code has been suggested by Ihor Radchenko, to
improve readability.

* doc/org-manual.org (Verse blocks in LaTeX export): The new feature
is documented.

* testing/lisp/test-ox-latex.el (test-ox-latex/verse): Updated.
2023-08-18 11:41:24 +03:00
Ihor Radchenko f1359546ad
org-element-at-point: Throw an error when not in org-mode
* lisp/org-element.el (org-element-at-point): Explicitly throw an
error when not in org-mode buffer.  The parser expects certain
buffer-local constants and may fail otherwise.  It is better to
indicate the problem explicitly instead of dealing with cryptic
generic errors.
(org-element-plain-list-interpreter):
* testing/lisp/test-ox.el (test-org-export/expand-include/links): Make
sure that we never invoke parser in non-Org buffers.
2023-08-18 11:11:17 +03:00
Ihor Radchenko 3ec0933122
Fix Emacs 27 test failure
* lisp/org-id.el (org-id-find-id-in-file): Work around change
functions not always firing up in Emacs 27 when using
`insert-file-contents'.
2023-08-18 11:10:12 +03:00
Ihor Radchenko 933d282881
Fix Emacs 27 false-positive warnings
* lisp/org-element-ast.el (org-element--plist-property): Shield
annoying warning spam with `with-no-warnings'.  The warnings are not
present in newer Emacs.
* lisp/org-element.el (org-element--interpret-affiliated-keywords):
Suppress warning about two token unused `_' arguments.
* lisp/org-id.el (org-id-find-id-in-file): Suppress warning about
number of arguments.
2023-08-18 11:08:56 +03:00
Ihor Radchenko 9e40208547
test-org-agenda/todo-selector: Remove stray `message' call
* testing/lisp/test-org-agenda.el: Remove leftover message call.
2023-08-18 11:08:12 +03:00
Ihor Radchenko 3b49db8755
Revert "Prefer `string-search' when matching exact strings"
This reverts commit e9110a8dd7.

`string-search' is not available in Emacs<28 and also always
case-sensitive.
2023-08-18 11:00:13 +03:00
Ihor Radchenko d0c7cd48eb
org-babel-do-key-sequence-in-edit-buffer: Mention argument in docstring
* lisp/ob-core.el (org-babel-do-key-sequence-in-edit-buffer): Mention
argument KEY in the docstring.
2023-08-17 15:54:20 +03:00
Ihor Radchenko 1ae611c7e3
fixup! org-id-find-id-in-file: Prefer using temporary buffer
* lisp/org-id.el (org-id-find-id-in-file): Fix Emacs 27 compatibility.
Avoid modifications not captured by element cache.
2023-08-17 15:45:13 +03:00
Ihor Radchenko d1e4b93519
org-copy-subtree: Do not consider inlinetask to be a subtree of its own
* lisp/org.el (org-copy-subtree): Go up to parent heading when we are
at or inside inlinetask.
2023-08-17 14:25:43 +03:00
Ihor Radchenko f285ae37b3
org-agenda-get-todos: Fix for todo keywords that can be interpreted as regexp
* lisp/org-agenda.el (org-agenda-get-todos): Use `regexp-quote' to
match keywords.
(org-select-this-todo-keyword): Add docstring, clarifying the allowed
values.
* testing/lisp/test-org-agenda.el (test-org-agenda/todo-selector): Add
new test.

Reported-by: spookygostee@gmail.com
Link: https://orgmode.org/list/87jztuzzpl.fsf@gmail.com
2023-08-17 14:15:14 +03:00
Jonathan Gregory f78a3c2bdc
lisp/ob-lilypond.el: Prevent full page results in basic-mode
* ob-lilypond.el (org-babel-lilypond-paper-settings): New variable.
* lisp/ob-lilypond.el (org-babel-lilypond-process-basic): Pass the new
variable value to correctly set paper size on the generated transcript.

Link: https://list.orgmode.org/87a5w15jur.fsf@localhost/

TINYCHANGE
2023-08-17 13:20:08 +03:00
Ihor Radchenko b2e34474f5
org-lint: Allow jumping outside narrowing when jumping to source
* lisp/org-lint.el (org-lint--jump-to-source): When buffer is
narrowed and the location to jump is outside the narrowing, widen.
2023-08-17 12:50:52 +03:00
Ihor Radchenko 2cf245810b
org-lint-invalid-id-link: Improve performance
* lisp/org-lint.el (org-lint-invalid-id-link): Do not try to search
for exact position of every ID.  Instead, sync all the ID locations
once and then make use of the up-to-date locations state to query if
an ID is present.
2023-08-17 12:49:59 +03:00
Ihor Radchenko 4cf0b0433d
org-id-find-id-in-file: Prefer using temporary buffer
* lisp/org-id.el (org-id-find-id-in-file): Use a temporary throwaway
Org buffer to lookup IDs when we do not need to keep the buffer.  This
speeds up updating IDs.
2023-08-17 12:48:52 +03:00
Ihor Radchenko cc435cba71
lisp/ob-core.el: Fix some docstrings that do not detail all the arguments
* lisp/ob-core.el (org-babel-initiate-session):
(org-babel-switch-to-session):
(org-babel-switch-to-session-with-code): Explain all the arguments in
the docstring.
2023-08-16 13:32:06 +03:00
Ihor Radchenko e4504853b5
Merge branch 'bugfix' 2023-08-16 11:43:12 +03:00
Ihor Radchenko 27a41d418d
org-element--cache-before-change: Fix edge case creating heading
* lisp/org-element.el (org-element--cache-before-change): Fix edge
case when a heading is created because we insert a newline right
before ****.
* testing/lisp/test-org-element.el (test-org-element/cache-headline):
Add tests.

Reported-by: Rodrigo Morales <moralesrodrigo1100@gmail.com>
Link: https://orgmode.org/list/CAGxMbPbbqc33iaqJ=EceyKrLaf4maJAxaUmJGaPOvG_Rpw+xcQ@mail.gmail.com
2023-08-16 11:41:31 +03:00
Ihor Radchenko 9fd547dd3a
org-babel-where-is-src-block-result: Fix inside affiliated parsed keyword
* lisp/ob-core.el (org-babel-where-is-src-block-result): Do not assume
that parent has contents-end and that we are inside contents, but not
inside secondary object/affiliated keyword.
*
testing/lisp/test-ob.el (test-ob/inline-src_blk-default-results-replace-line-1):
Add tests.

Reported-by: Tom Gillespie <tgbugs@gmail.com>
Link: https://orgmode.org/list/CA+G3_PNt7WqkCzChV+dx1FeSPgTEVkNSE41a3qC5wv3g+jTwrQ@mail.gmail.com
2023-08-16 11:07:20 +03:00
Ihor Radchenko 54c09c84e9
org-element-context: Fix when point is at the beginning of parsed value
* lisp/org-element.el (org-element-context): When point is at the
first point in parsed affiliated keyword value, do not return parent
"keyword".

Reported-by: Tom Gillespie <tgbugs@gmail.com>
Link: https://orgmode.org/list/CA+G3_PNt7WqkCzChV+dx1FeSPgTEVkNSE41a3qC5wv3g+jTwrQ@mail.gmail.com
2023-08-16 11:06:08 +03:00
Ihor Radchenko 99c8425bc7
org-babel-insert-result: Remove duplicate let-binding
* lisp/ob-core.el (org-babel-insert-result): Remove duplicate
computation of the INLINE value.
2023-08-16 11:05:31 +03:00
Ihor Radchenko 487f39efa6
org-babel-insert-result: Err on :results drawer inline src block
* lisp/ob-core.el (org-babel-insert-result): Throw an error when
trying to insert :results drawer in inline src blocks.
2023-08-16 11:04:14 +03:00
Ihor Radchenko 5496f5277f
org-babel-load-in-session: Document argument INFO
* lisp/ob-core.el (org-babel-load-in-session): Update the docstring,
describing what INFO argument does.
2023-08-15 14:50:58 +03:00
Ihor Radchenko 570cdacdbf
org-export-smart-quotes-alist: Turn into a custom option
* lisp/ox.el (org-export-smart-quotes-alist): Change to `defcustom'.
Fix typo in the value.  Add :type/:package-version/:group definitions.
* etc/ORG-NEWS (~org-export-smart-quotes-alist~ is now a custom
option): Announce the change.

Link: https://orgmode.org/list/871qg5bnfh.fsf@bzg.fr
2023-08-15 14:16:41 +03:00
Ihor Radchenko 1d04af59b6
org-refile-get-targets: Barf when target is not an Org buffer
* lisp/org-refile.el (org-refile-get-targets): Display error when
target buffer is not in Org mode.  If we do not manually throw an
error, local variables like `org-complex-heading-regexp' will not be
defined, and the user would see a lot more cryptic error.
2023-08-15 13:54:00 +03:00
Ihor Radchenko dcd2ba4a02
* lisp/org-macs.el: Declare `org-buffer-text-pixel-width' 2023-08-15 13:49:02 +03:00
Ihor Radchenko 6954fe93ed
org-store-link: Never allow link duplicates in `org-stored-links'
* lisp/ol.el (org-link-store-existing): Remove the previously added
custom option.
(org-store-link): Do not use `org-link-store-existing' removing all
the code branches for values other than 'move-to-front.
* etc/ORG-NEWS (~org-store-link~ now moves an already stored link to
front of the ~org-stored-links~): Remove reference to the removed
custom option.

Link: https://orgmode.org/list/87leeffd1z.fsf@localhost
2023-08-15 13:48:55 +03:00
Ihor Radchenko 1c00632f11
org-latex-compile--postprocess: Fix when OUTFILE has no directory
* lisp/ox-latex.el: Make sure that we do not pass nil to
`directory-files'.  Use `default-directory' when OUTFILE is like
"file.foo" without any directory component.
2023-08-15 13:13:44 +03:00
Ihor Radchenko 572d01ab7e
Merge branch 'bugfix' 2023-08-15 12:59:18 +03:00
Ihor Radchenko 561c1d0db0
org-element-at-point: Fix cache initialization in indirect buffer
* lisp/org-element.el (org-element-at-point): Always check cache
variable in base buffer.

Reported-by: Adam Beckmeyer <adam_git@thebeckmeyers.xyz>
Link: https://orgmode.org/list/E1qVc9n-0006Ti-92@rmmprod06.runbox
2023-08-15 11:52:26 +03:00
Ihor Radchenko e340dde63e
org-element-export-snippet-parser: Fix when no closing @@
* lisp/org-element.el (org-element-export-snippet-parser): Return nil
when there is no closing @@.
* testing/lisp/test-org-element.el (test-org-element/context): Add
test.

Reported-by: Tom Alexander <tom@fizz.buzz>
Link: https://orgmode.org/list/fb61ea28-f004-4c25-adf7-69fc55683ed4@app.fastmail.com
2023-08-15 11:37:37 +03:00
Ihor Radchenko b89bc55867
org-babel-insert-header-arg: Describe arguments in the docstring
* lisp/ob-core.el (org-babel-insert-header-arg): Fix the docstring,
describing when the arguments do.
2023-08-14 14:59:11 +03:00
Ihor Radchenko 34ee6f1a21
Merge branch 'bugfix' 2023-08-13 19:24:50 +03:00
Ihor Radchenko 99cc9619c5
org-bibtex-yank: Fix bibtex parser not initialized in temp buffer
* lisp/ol-bibtex.el (org-bibtex-yank): Make sure that we parse bibtex
entry from the kill ring in a `bibtex-mode' buffer.  Otherwise,
calling `org-bibtex-read' (that calls `bibtex-parse-entry') may err
because some Bibtex parser variables are not initialized.

Reported-by: J. G. <jerzor@pacbell.net>
Link: https://orgmode.org/list/1939460027.3272000.1691771671040@mail.yahoo.com
2023-08-13 19:21:48 +03:00
Ihor Radchenko 36dcb2a23c
org-babel-combine-header-arg-lists: Describe arguments in the docstring
* lisp/ob-core.el (org-babel-combine-header-arg-lists): Describe all
the header arguments in the docstring.
2023-08-13 13:35:53 +03:00
Ihor Radchenko a0830f94ea
* testing/org-test.el: Avoid looking into .emacs.d when ran non-interactively
(org-test-load):
(org-test-update-id-locations): Set `org-id-locations-file' inside
test dir, but only when running in batch mode.

Reported-by: Morgan Smith <Morgan.J.Smith@outlook.com>
Link: https://orgmode.org/list/ub84qp$6pu$1@ciao.gmane.io
2023-08-13 11:28:32 +03:00
Ihor Radchenko 70a082c9fb
org-babel-expand-src-block: Mention all the header arguments in the docstring
* lisp/ob-core.el (org-babel-expand-src-block): Explain all the header
arguments in the docstring.
2023-08-12 12:06:12 +03:00
Ihor Radchenko 051c929d65
* mk/default.mk: Enable ob-sqlite and ob-eshell tests by default
(BTEST_OB_LANGUAGES): Add more tests to be executed by default.
2023-08-12 11:20:48 +03:00
Ihor Radchenko b5aaefb551
org-babel-variable-assignments:eshell: Prevent leaking values into results
* lisp/ob-eshell.el (org-babel-variable-assignments:eshell): Wrap
`setq' eshell call into `ignore' to prevent the variable assignment
values leaking into block output.  Fixes
`ob-eshell/variables-assignment'.
2023-08-12 11:17:15 +03:00
Rudolf Adamkovič 68aa438857
ob-sqlite: Use a transient in-memory database by default
* etc/ORG-NEWS (New features): Add a news entry.
* lisp/ob-sqlite.el (org-babel-execute:sqlite): Default ':db' to
":memory:" instead of throwing an error.
* testing/lisp/test-ob-sqlite.el (ob-sqlite/in-file): Test the old behavior.
* testing/lisp/test-ob-sqlite.el (ob-sqlite/in-memory): Test the new behavior.
2023-08-12 11:00:48 +03:00
Max Nikulin 2f79c63c2c
org-macs.el: Fix Emacs-26 compatibility
lisp/org-macs.el (org-string-width): Avoid multiple variables in
`setq-local' since it is not supported by Emacs-26.

The code caused the issue was added in 0c29f53ab8723.
2023-08-11 19:24:36 +03:00
Ihor Radchenko cfea24dc15
org-babel-expand-body:generic: Document all the arguments in the docstring
* lisp/ob-core.el (org-babel-expand-body:generic): Document VAR-LINES
in the docstring.
2023-08-11 14:22:28 +03:00
Ihor Radchenko 1c7444dc3a
org-element: Bump AST version
* lisp/org-element.el (org-element-cache-reset): Bump AST version to
avoid clashes with previous caches after bfe1179dc.
2023-08-11 12:48:24 +03:00
Ihor Radchenko bfe1179dcb
org-element: Fix consistency between incremental and recursive parsers
* lisp/org-element.el (org-element--parse-to): Remove numerous special
conditions added to satisfy tests in `test-org-element/at-point'.
They create divergence with `org-element-parse-buffer' by sometimes
parsing inner elements up to beyond parent's :contents-end.  Instead,
modify org-data, section, and headline parsers to make their contents
include trailing blank lines.  This way, `org-element-at-point' will
naturally transcend inside section at the end of a heading.
(org-element-headline-parser):
(org-element-org-data-parser):
(org-element-section-parser): Span :contents-end all the way up to
:end.  Set :post-blank to 0 all the time.  Adjust :robust-end.
(org-element--open-end-p): Remove no longer used function.

Reported-by: Tom Alexander <tom@fizz.buzz>
Link: https://orgmode.org/list/6dd08eb7-9468-402d-bf88-eefb01442b99@app.fastmail.com
2023-08-11 12:09:36 +03:00
Ihor Radchenko 85b74750eb
etc/ORG-NEWS: Fix typo
* etc/ORG-NEWS (New property accessors and setters): Fix property names.
2023-08-11 12:07:29 +03:00
Ihor Radchenko 695fbc9086
fixup! test-ox-html: Add new tests for checkboxes: ascii, html & unicode
* testing/lisp/test-ox-html.el (ox-html/checkbox-ascii):
(ox-html/checkbox-html):
(ox-html/checkbox-unicode): Pass BEG and END arguments to
`libxml-parse-xml-region'.  They are mandatory in Emacs <29.
2023-08-10 15:47:30 +03:00