Commit Graph

27954 Commits

Author SHA1 Message Date
Stefan Monnier cb758720f3
testing/org-test.el (<toplevel>): Remove dead code
(featurep 'org) is always non-nil here since we have a (require 'org)
further up.  I suspect other `require's nearby could be removed or
moved to toplevel.
2024-06-15 16:27:15 +02:00
Stefan Monnier 3fa18371ee
mk/default.mk (BTEST): Remove `-l cl'
The CL library is deprecated and it's not needed here any more.
I suspect other `-l' could be removed here since `org-test' loads
those libraries anyway.
2024-06-15 16:27:04 +02:00
Stefan Monnier 4d4bc20861
(org-*-in-calendar): Prefer `apply' to `eval'
* lisp/org.el (org-funcall-in-calendar): Rename from `org-eval-in-calendar'.
Use `apply' rather than `eval'.  Use `with-selected-window' rather than
cooking our own version of it.  Update all callers.
(org-read-date): Use `with-current-buffer' to set `cursor-type' since
it's not affected by the selected window.
Move the `calendar-forward-day' call to `org-funcall-in-calendar' to
clarify the need to update `org-date-ovl'.
(org-eval-in-calendar): New backward compatibility function.

* lisp/org-keys.el (org-eval-in-calendar): Remove unused declaration.
2024-06-15 16:26:39 +02:00
Ihor Radchenko a9a05dab81
lisp/org-src.el (org-src-lang-modes): Fix :type definition
Reported-by:  Mattias Engdegård <mattias.engdegard@gmail.com>
Link: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71566
2024-06-15 16:15:45 +02:00
Ihor Radchenko be39e61c4e
Use emacs-internal coding system to read/write Elisp data
* lisp/org-persist.el (org-persist--read-elisp-file):
(org-persist--write-elisp-file):
* lisp/ox.el (org-export-async-start):

Suggested by Emacs maintainer.

Link: https://list.orgmode.org/861q4zy0va.fsf@gnu.org/
2024-06-15 15:45:40 +02:00
Rudolf Adamkovič c4434f825d
ob-lua: Do not confuse list-like strings with lists
* lisp/ob-lua.el (org-babel-lua-wrapper-method): Prevent Org Babel
from confusing strings that look like lists with actual lists.
* testing/lisp/test-ob-lua.el (test-ob-lua/result/none):
(test-ob-lua/result/nil):
(test-ob-lua/result/nil/multiple):
(test-ob-lua/result/boolean):
(test-ob-lua/results/number/integer):
(test-ob-lua/results/number/integer/negative):
(test-ob-lua/results/number/integer/multiple):
(test-ob-lua/results/number/real):
(test-ob-lua/results/number/real/multiple):
(test-ob-lua/results/number/infinity):
(test-ob-lua/results/string/single-quotes):
(test-ob-lua/results/string/double-quotes):
(test-ob-lua/results/string/multiple):
(test-ob-lua/results/string/list-like):
(test-ob-lua/results/string/list-like/brackets):
(test-ob-lua/results/string/list-like/curlies):
(test-ob-lua/results/string/list-like/multiple):
(test-ob-lua/result/table):
(test-ob-lua/result/table/pretty-print):
(test-ob-lua/result/table/pretty-print/sorted):
(test-ob-lua/results/value-separator): Add new tests.
2024-06-15 14:59:09 +02:00
Rudolf Adamkovič c23d5fc5dc
ob-lua: Improve documentation strings and commentary
* lisp/ob-lua.el (org-babel-lua-mode):
(org-babel-lua-hline-to):
(org-babel-lua-None-to):
(org-babel-lua-var-to-lua):
(org-babel-lua-table-or-string):
(org-babel-lua-evaluate-external-process): Harmonize spelling,
capitalization, and quoting.
2024-06-15 14:59:08 +02:00
Rudolf Adamkovič 58e5d1d5a6
ob-lua: Remove half-baked session support
* lisp/ob-lua.el (org-babel-execute:lua):
(org-babel-prep-session:lua):
(org-babel-load-session:lua):
(org-babel-lua-session-buffer):
(org-babel-lua-with-earmuffs):
(org-babel-session-buffer:lua):
(org-babel-lua-without-earmuffs):
(lua-default-interpreter):
(lua-which-bufname):
(lua-shell-buffer-name):
(org-babel-lua-initiate-session-by-key):
(org-babel-lua-initiate-session):
(org-babel-lua-evaluate):
(org-babel-lua-evaluate-external-process):
(org-babel-lua-evaluate-session):
(org-babel-lua-read-string): Remove all unfinished Lua and Emacs Lisp
code related to sessions and emit a user error when a Lua session is
requested.
* testing/lisp/test-ob-lua.el (test-ob-lua/no-sessions): Test the user
error emitted when requesting a Lua session.

Link: https://list.orgmode.org/87y192etb4.fsf@localhost/
2024-06-15 14:59:07 +02:00
Rudolf Adamkovič 80f6a949e5
ob-lua: Sort tabular results
`test-ob-lua/colnames-yes-header-argument-pp' fails intermittently due
to tabular results being returned from Lua to Emacs Lisp in different
order than expected.  We fix the problem by sorting all tabular
results before returning them.

* lisp/ob-lua.el (org-babel-lua-wrapper-method): Sort all tabular
results, recursively, before returning them from Lua to Emacs Lisp.
2024-06-15 14:59:06 +02:00
Rudolf Adamkovič 3ccc1ca6ec
ob-lua: Escape double quote characters in results
* lisp/ob-lua.el (org-babel-lua-wrapper-method): Escape all double
quote characters in Lua before giving them to Org Babel.
* testing/lisp/test-ob-lua.el (test-ob-lua/escaping-quotes): Test
automatic escaping of double quote characters.

Reported-by: Max Nikulin <manikulin@gmail.com>
Link: https://list.orgmode.org/216278dc-075c-47d1-94dc-f5bde8346b3c@gmail.com/
2024-06-15 14:59:06 +02:00
Ihor Radchenko 1387e36135
Update version number for the 9.7.4 release 2024-06-15 13:14:58 +02:00
Ihor Radchenko 55fd660b4e
org-element: Auto-undefer deferred properties that depend on buffer positions
* lisp/org-element.el (org-element--get-node-properties):
(org-element--headline-parse-title):
(org-element--headline-parse-title-raw):
(org-element--headline-parse-title-parse):
(org-element-comment-block-parser):
(org-element-example-block-parser):
(org-element-export-block-parser):
(org-element-latex-environment-parser):
(org-element-src-block-parser):
(org-element-table-parser):
(org-element--parse-generic-emphasis):
(org-element-export-snippet-parser):
(org-element-inline-babel-call-parser):
(org-element-latex-fragment-parser): Auto-undefer node properties that
are calculated based on buffer position of the node.  This will make
the return value of `org-element-at-point' a little more robust once
the buffer is modified.  The :begin/:end, and other positional
properties may not be up-to-date, but at least some other properties
may be "frozen" if they are undeferred early.  Auto-undefer is still
disabled for properties that do not depend on buffer positions and may
benefit from dynamic calculation that takes into account syntax
changes that are influenced by global variables.
2024-06-14 16:22:00 +02:00
Ihor Radchenko 73da6beb50
org-link-plain-re: Improve heuristic regexp for plain link detection
* lisp/ol.el (org-link-make-regexps): Allow trailing ?- at the end of
the plain links.
* etc/ORG-NEWS (Trailing =-= is now allowed in plain links): Announce
the change.

Link: https://orgmode.org/list/87sexh9ddv.fsf@ice9.digital
2024-06-14 16:03:05 +02:00
Ihor Radchenko 9f0a9ec34a
org-lint: New linter for malformed CLOCK: lines
* lisp/org-lint.el (org-lint-clock-syntax): New linter.

Link: https://list.orgmode.org/orgmode/0e2ed754-bc71-4558-9c46-f17d73981fe5@NymanTechnology.com/
2024-06-14 15:35:59 +02:00
Ihor Radchenko 34c99027e0
Merge branch 'bugfix' 2024-06-14 15:31:09 +02:00
Ihor Radchenko fd8ddf2874
org-clock-sum: Gracefully skip invalid CLOCK lines
* lisp/org-clock.el (org-clock-sum): Skip invalid CLOCK
lines (malformed or with times missing).  Display a warning.

This brings back the old behavior with such CLOCK lines being silently
skipped.  Now, we also display a warning.

Reported-by: Robert Nyman <RKNyman@NymanTechnology.com>
Link: https://list.orgmode.org/orgmode/0e2ed754-bc71-4558-9c46-f17d73981fe5@NymanTechnology.com/
2024-06-14 15:29:08 +02:00
Ihor Radchenko f2be2fd073
Merge branch 'bugfix' 2024-06-14 15:05:29 +02:00
Ihor Radchenko 2347eac669
lisp/org.el (org--dnd-rmc): Fix `read-multiple-choice' call
* lisp/org.el (org--dnd-rmc): Add docstring.  Fix the call to
`read-multiple-choice' when extended help ("?") is requested by the
user.

Reported-by: Johann Klähn <org-mode@web.jklaehn.de>
Link: https://orgmode.org/list/87ikyhg9qi.fsf@jklaehn.de
2024-06-14 15:03:49 +02:00
Ihor Radchenko 3e4588c732
Merge branch 'bugfix' 2024-06-14 14:35:04 +02:00
Ihor Radchenko bd8b861ee9
org-num-skip-tags: Avoid using function that is not pre-loaded in autoloads
* lisp/org-num.el (org-num-skip-tags): Make sure that function used
for :safe `defcustom' slot does not require functions that are not
defined in org-loaddefs.el.  This is because `org-num-skip-tags' is
autoloaded and cannot rely upon requires in org-num.el.  Instead, it
may only use pre-loaded functions and other autoloaded Org mode
functions.

Reported-by: Eli Zaretskii <eliz@gnu.org>
Link: https://yhetil.org/emacs-devel/868qzd9hjg.fsf@gnu.org/
2024-06-14 14:25:03 +02:00
Ihor Radchenko 4bb0719374
org-capture-templates: Remove no-longer-supported variants from :type spec
* lisp/org-capture.el (org-capture-templates): Remove "sexp" type from
allowed values of capture targets.  S-exp support has been removed in
f5645675a3.
2024-06-14 13:48:10 +02:00
Ihor Radchenko 1686b6f3ba
org-attach-dir-from-id: Search existing attachments for symlinks
* lisp/org-attach.el (org-attach-dir-from-id): When current buffer
displays a symlinked file, search for existing attachments in the
original file dir.
* etc/ORG-NEWS (=org-attach= now considers symlinked files when
searching pre-existing attach dirs): Announce the change.

Reported-by: Karthik Chikmagalur <karthikchikmagalur@gmail.com>
Link: https://orgmode.org/list/87seyydnf7.fsf@localhost
2024-06-14 13:40:42 +02:00
Ihor Radchenko cbea9fa70f
Merge branch 'bugfix' 2024-06-14 11:47:35 +02:00
Ihor Radchenko 13fdbf73ff
mk: Prevent search local id: db when building manuals
* mk/org-fixup.el (org-make-manual):
(org-make-guide):
(org-make-manuals): Disable local ID db when building Org
documentation.  This makes sure that local IDs on the build machine
can never influence the build process.

Reported-by: Eli Zaretskii <eliz@gnu.org>
Link: https://yhetil.org/emacs-devel/868qzd9hjg.fsf@gnu.org/
2024-06-14 11:40:20 +02:00
Ihor Radchenko 6310bcd5ed
Merge branch 'bugfix' 2024-06-13 18:04:18 +02:00
Ihor Radchenko d7b5c19daa
DnD: Create directory when `org-yank-image-save-method' is a directory
* lisp/org.el (org--dnd-attach-file): Make sure that target directory
is created before copying file when `org-yank-image-save-method' is
set to specific directory (not 'attach).

Reported-by: ISouthRain <isouthrain@qq.com>
Link: https://orgmode.org/list/tencent_AABB2DEBF7ABFBC795348C288E0EBFCFDD0A@qq.com
2024-06-13 18:03:50 +02:00
Ihor Radchenko 8f40da6bf6
Merge branch 'bugfix' 2024-06-13 17:31:05 +02:00
Ihor Radchenko 96113f3b59
org-export--set-variables: Fix variable assignment
* lisp/ox.el (org-export--set-variables): Assume that variables are
listed as (var value) - as a list.  Only use the second element of the
list as the value, following example in `org-export-get-environment'.
(org-export-get-environment): Use `org-export--set-variables'.
* testing/lisp/test-ox.el (test-org-export/bind-keyword): Add new
test.

Reported-by: Suhail Singh <suhailsingh247@gmail.com>
Link: https://orgmode.org/list/87cyonhuq3.fsf@gmail.com
2024-06-13 17:26:44 +02:00
Ihor Radchenko a13d8fe83b
org-babel-exp-process-buffer: Fix edge case when src block ends at eob
* lisp/ob-exp.el (org-babel-exp-process-buffer): When src block ends
at eob, do not leave the #+end_src behind after replacement.
2024-06-13 17:26:02 +02:00
Ihor Radchenko a2ae069869
ob-*: Do not emit redundant messages about code block evaluation
* lisp/ob-C.el (org-babel-C-header-to-C):
* lisp/ob-awk.el (org-babel-execute:awk):
* lisp/ob-ditaa.el (org-babel-execute:ditaa):
* lisp/ob-gnuplot.el (org-babel-execute:gnuplot):
(org-babel-prep-session:gnuplot):
* lisp/ob-groovy.el (org-babel-execute:groovy):
* lisp/ob-maxima.el (org-babel-execute:maxima):
* lisp/ob-screen.el (org-babel-execute:screen):
* lisp/ob-sed.el (org-babel-execute:sed):
`org-babel-execute-src-block' already emits status messages about code
block evaluation.  Doing it from inside individual babel backends is
thus redundant.
2024-06-13 15:22:28 +02:00
Ihor Radchenko 14f176246f
Merge branch 'bugfix' 2024-06-13 15:19:58 +02:00
Ihor Radchenko e4902995a0
org-babel: Reduce verbosity when running in batch mode
* lisp/ob-C.el (org-babel-C-header-to-C):
* lisp/ob-awk.el (org-babel-execute:awk):
* lisp/ob-core.el (org-babel-execute-src-block):
(org-babel-insert-result):
* lisp/ob-ditaa.el (org-babel-execute:ditaa):
* lisp/ob-gnuplot.el (org-babel-execute:gnuplot):
(org-babel-prep-session:gnuplot):
* lisp/ob-groovy.el (org-babel-execute:groovy):
* lisp/ob-maxima.el (org-babel-execute:maxima):
* lisp/ob-screen.el (org-babel-execute:screen):
* lisp/ob-sed.el (org-babel-execute:sed): Suppress progress messages
when running noninteractively (batch export, for example).  This
change follows the existing behavior of `org-babel-exp-src-block'.

Reported-by: Eli Zaretskii <eliz@gnu.org>
Link: https://yhetil.org/emacs-devel/868qzd9hjg.fsf@gnu.org/
2024-06-13 15:16:54 +02:00
Ihor Radchenko 959534ba11
ob-sql: Quote all the shell arguments originating from Org buffer
* lisp/ob-sql.el (org-babel-sql-dbstring-mysql):
(org-babel-sql-dbstring-postgresql):
(org-babel-sql-dbstring-oracle):
(org-babel-sql-dbstring-mssql):
(org-babel-sql-dbstring-sqsh):
(org-babel-sql-dbstring-vertica):
(org-babel-sql-dbstring-saphana):
(org-babel-execute:sql): Quote all the shell arguments to avoid
unexpect shell expansion.  Do not quote port as it is a number; make
sure that port is really demanded a number in the format strings.

Reported-by: Andrea <andrea-dev@hotmail.com>
Link: https://orgmode.org/list/DU2P193MB24225F623DBF8B3D254D3C0E88FA2@DU2P193MB2422.EURP193.PROD.OUTLOOK.COM
2024-06-12 15:40:31 +02:00
Ihor Radchenko 3232cc1619
Merge branch 'bugfix' 2024-06-12 15:33:01 +02:00
Ihor Radchenko 84945f9de0
orgtbl-gather-send-defs: Fix infinite loop when table is at bob
* lisp/org-table.el (orgtbl-gather-send-defs): Avoid infinite loop
when table is at the beginning of buffer.

Reported-by: Rustom Mody <rustompmody@gmail.com>
Link: https://orgmode.org/list/CAJ+Teoehk30LKVCTwMy0uREBHkNVBvrOLDZYboUQ4wBV6Fnwzw@mail.gmail.com
2024-06-12 15:31:45 +02:00
Ihor Radchenko a0950e9432
org-babel-execute-src-block: Handle code block moving point
* lisp/ob-core.el (org-babel-execute-src-block): Make sure that point
remain on src block after evaluation.  The function logic later
implicitly assumes that the point is on the block that has been
evaluated.
2024-06-12 12:47:48 +02:00
Ihor Radchenko e24c2408e7
Merge branch 'bugfix' 2024-06-11 12:46:49 +02:00
Ihor Radchenko 3e4c89e556
org-image--align: Fix image alignment when image is not inside paragraph
* lisp/org.el (org-image--align): Improve docstring.  Do not try to
align when image is not inside a paragraph.

Reported-by: Lin Sun <sunlin7.mail@gmail.com>
Link: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71484
2024-06-11 12:44:57 +02:00
Ihor Radchenko 331086ebec
org-capture-fill-template: Allow recursive capture while expanding template
* lisp/org-capture.el (org-capture-fill-template): Do not fix the
temporary *Capture* buffer name to be used for template expansion.
Instead, generate a throwaway buffer every time a new capture is
requested.  This way, we can nest multiple captures even when a new
capture is requested while querying a %^{prompt}.  Clear the buffer
upon completing/failing the template expansion.
(org-capture): Do not clear *Capture* buffer.
`org-capture-fill-template' not does it by itself.

Reported-by: Cletip Cletip <clement020302@gmail.com>
Link: https://orgmode.org/list/CAD6d+LUJ7St5_muvwqzE80EfHSoiMmZD+qDTAojeN0L7v+zsCQ@mail.gmail.com
2024-06-11 12:27:11 +02:00
Ihor Radchenko ea4a690c1a
org--confirm-resource-safe: Throw an error when non-interactive
* lisp/org.el (org--confirm-resource-safe): When asking about resource
safety in non-interactive mode throw an error rather than silently not
downloading the resource.  The previous behavior may remote
 #+include's seemingly being ignored.
* etc/ORG-NEWS (Org mode may throw an error when attempting to include
remote unsafe resource): Announce the change.
2024-06-11 12:09:38 +02:00
Kyle Meyer 9419dad48a Merge branch 'km/from-emacs-master' into bugfix 2024-06-10 18:34:04 -04:00
Stefan Monnier 008e6030ac Backport commit d3524560e from Emacs
* lisp/ox.el (org-export-filters-alist): Don't define as constant.

d3524560ee3cb075125f0af158d4af01cb2ab546
Stefan Monnier
Mon Jun 10 10:58:46 2024 -0400
2024-06-10 18:30:27 -04:00
Mattias Engdegård 6eab01c580 Backport commit 331573e40 from Emacs
* lisp/org-element.el (org-element-copy-buffer):
Repair incorrect escaping.
* lisp/org-macs.el (org--line-empty-p): Fix broken skip-set.
* lisp/org.el (org-setup-yank-dnd-handlers): Fix broken regexp.

Org: fix mistakes in regexp, skip set and doc string
331573e40731d6635acd366694493c26b480c230
Mattias Engdegård
Mon Jun 10 14:07:07 2024 +0200
2024-06-10 18:29:36 -04:00
Kyle Meyer ce350490ca ob-core: Fix indentation
* lisp/ob-core.el (org-babel-execute-src-block): Fix indentation of
line.

Emacs's bd80717d8e7 (Re-enable TTY glyph production for batch mode
frames on Android, 2024-06-10) reverted all changes from 8d1d9798f77
(Fix bootstrap of org.texi, 2024-06-10) aside from an indentation fix.
Apply the indentation fix to avoid overwriting it on sync.
2024-06-10 18:28:27 -04:00
Ihor Radchenko 9447518c75
Merge branch 'bugfix' 2024-06-10 11:16:18 +02:00
Ihor Radchenko 4d4d59874c
Fix indirect buffer tracking
* lisp/org-fold-core.el
(org-fold-core-decouple-indirect-buffer-folds): Actually, add newly
created indirect buffer to the tracked list.
2024-06-10 11:16:00 +02:00
Kyle Meyer bb3800f904 Merge branch 'km/from-emacs-master' into bugfix 2024-06-09 20:52:14 -04:00
Stefan Kangas 2a6a0480d3 Backport commit 77d0eed74 from Emacs
; Fix typos
77d0eed74e1d934e28f364cb3adb06365e71335e
Stefan Kangas
Mon Jun 10 00:40:26 2024 +0200
2024-06-09 20:50:50 -04:00
Ihor Radchenko dc2f270ac4
org-agenda: Fix multi-day ranges with non-nil `org-agenda-default-appointment-duration'
* lisp/org-agenda.el (org-agenda-get-blocks): Force
`org-agenda-default-appointment-duration' to be nil for time blocks -
they already have begin/end time, even if during different days.
* testing/examples/agenda-file2.org (five):
* testing/lisp/test-org-agenda.el (test-org-agenda/time-grid): New
test.

Reported-by: hrdl <git@hrdl.eu>
Link: https://orgmode.org/list/ZldNYYtvvQp0dILB@t490.localdomain
2024-06-09 14:25:58 +02:00
Ihor Radchenko 9427bdedcc
Merge branch 'bugfix' 2024-06-09 11:23:12 +02:00