Commit Graph

18116 Commits

Author SHA1 Message Date
Kyle Meyer e4ed6c92b4 Merge branch 'km/from-emacs-master' 2022-11-13 17:37:11 -05:00
Stefan Kangas 801ca4c6d0 Backport commit 0f5352377 from Emacs
* lisp/org-ctags.el:
* lisp/org-protocol.el: Remove redundant installation instructions
for packages bundled with Emacs.

Remove redundant library installation instructions
0f5352377539bc2587b9bfd068de0f4b3bf8b248
Stefan Kangas
Fri Nov 11 04:29:29 2022 +0100
2022-11-13 17:32:10 -05:00
Ihor Radchenko 5a10517d02
Add missing :package-version tags in changed `defcustom'
* lisp/ob-clojure.el (ob-clojure-babashka-command):
(ob-clojure-nbb-command):
* lisp/ob-exp.el (org-babel-exp-code-template):
* lisp/ob-latex.el (org-babel-latex-pdf-svg-process):
* lisp/org-agenda.el (org-agenda-show-outline-path):
* lisp/org-capture.el (org-capture-templates):
* lisp/org-clock.el (org-clocktable-defaults):
* lisp/org-persist.el (org-persist-directory):
(org-persist-remote-files):
(org-persist-default-expiry):
* lisp/org-refile.el (org-refile-use-outline-path):
* lisp/org-src.el (org-src-lang-modes):
* lisp/org.el (org-resource-download-policy):
(org-safe-remote-resources):
(org-time-stamp-custom-formats):
(org-property-separators):
(org-preview-latex-process-alist):
(org-structure-template-alist):
* lisp/ox-latex.el (org-latex-inline-image-rules):
(org-latex-src-block-backend):
(org-latex-engraved-options):
(org-latex-engraved-theme):
* lisp/ox-md.el (org-md-toplevel-hlevel):
* lisp/ox-texinfo.el (org-texinfo-with-latex): Add :package-version
keywords to the new custom options, and those with the value or
meaning changed.
2022-11-13 15:29:15 +08:00
Ihor Radchenko f83e45526b
org-toggle-item: Move footnote-definitions out of the lists
* lisp/org-list.el (org-toggle-item): When headings contain
footnote-definitions, move them out of the list.  Footnote-definitions
must not be indented and hence cannot belong to the list.  Ensure that
definitions do not slurp the following element after the list.
Consider when the list created by `org-toggle-item' is continued by an
existing list.
* testing/lisp/test-org-list.el (test-org-list/toggle-item): Add
tests.

Reported-by: Ypo <ypuntot@gmail.com>
Link: https://orgmode.org/list/877d3k70lu.fsf@localhost
2022-11-11 13:19:01 +08:00
Ihor Radchenko 4517fba441
org-html-htmlize-output-type: Mark safe as buffer-local
* lisp/ox-html.el (org-html-htmlize-output-type): This variable is
safe to set buffer-locally as a symbol.

Reported-by: Rudolf Adamkovič <salutis@me.com>
Link: https://orgmode.org/list/m28ruxklo5.fsf@me.com
2022-11-11 11:31:58 +08:00
Ihor Radchenko 10e857d428
org-babel-read: Obey `org-confirm-babel-evaluate'
* lisp/ob-core.el (org-babel-read): Do not execute arbitrary Elisp
without prompt, according to `org-confirm-babel-evaluate'.

Reported-by: Max Nikulin <manikulin@gmail.com>
Link: https://orgmode.org/list/tjct9e$179u$1@ciao.gmane.io
2022-11-10 13:52:56 +08:00
Ihor Radchenko 51bb222260
ob-tangle: Update docstrings
* lisp/ob-tangle.el (org-babel-tangle-file):
* lisp/ob-tangle.el (org-babel-tangle): Clarify return values.
2022-11-10 13:36:01 +08:00
Ilya Chernyshov 6c285af9fb
ox-icalendar: Create export backend options for deadline/scheduled-summary-prefix defcustoms
ox-icalendar.el (org-export-define-derived-backend):

Add export backend options:
:deadline-summary-prefix
:scheduled-summary-prefix

ox-icalendar.el (org-icalendar-entry):

Use :deadline-summary-prefix export backend option instead of
`org-icalendar-deadline-summary-prefix'.  If the option is not
explicitly set, use the value of the custom variable.

Use :scheduled-summary-prefix export backend option instead of
`org-icalendar-scheduled-summary-prefix'.  If the option is not
explicitly set, use the value of the custom variable.

Convert `deadline/scheduled-summary-prefix' string to iCal-compatible
format via `(org-icalendar-cleanup-string)'

TINYCHANGE
2022-11-10 10:38:06 +08:00
Bruno BARBIER 620a96dd68
org-babel-insert-result: Avoid errors in `unwind-protect' unwindforms
lisp/ob-core.el (org-babel-insert-result): Don't reset the marker
`end' if it is not defined.  Such scenario happens when
`unwind-protect' BODY forms throw an error.

Reported-by: Bruno Barbier <perso.bruno.barbier@free.fr>
Link: https://orgmode.org/list/E1osecc-00046e-UI@lists.gnu.org
2022-11-09 14:40:37 +08:00
Bruno BARBIER 7f72807aea
lisp/ob-haskell.el: Fix org-babel-script-escape expects a string
* lisp/ob-haskell.el (org-babel-interpret-haskell): Don't call
`org-babel-script-escape' when the result is nil.
2022-11-09 10:34:03 +08:00
Ihor Radchenko 8a827437a5
org--at-headline-data-p: Fix when at :post-blank after heading
* lisp/org.el (org--at-headline-data-p): Fix infinite loop when within
blank lines after empty heading.

Reported-by: David Lukeš <dafydd.lukes@gmail.com>
Link: https://orgmode.org/list/CAEPTPEw9hugOWmzhNWCzCeXzV_qNePAdz4BbOp_sanTH9ZJ+AA@mail.gmail.com
2022-11-08 21:18:42 +08:00
Bruno BARBIER 0de063a521
org-babel-interpret-haskell: Don't remove outputs that match inputs
* lisp/ob-haskell.el (org-babel-interpret-haskell): Change the call to
`org-babel-comint-with-output'.
2022-11-07 15:23:05 +08:00
Ihor Radchenko e3a7c01874
Refactor `org-time-stamp-custom-formats' and `org-time-stamp-formats'
* lisp/org.el (org-time-stamp-formats):
* lisp/org.el (org-time-stamp-custom-formats): Change the default
values stripping leading "<" and trailing ">".  Update the docstring
explaining the format and that leading and trailing brackets are now
ignored.  Update the :type specification to more precise.
(org-time-stamp-format): Update the argument list and docstring
allowing to use the function more flexibly to find the time stamp
format for both `org-time-stamp-formats' and
`org-time-stamp-custom-formats'.  Rename `long' argument to more
accurate `with-time'.  Ignore brackets in the `org-time-stamp-formats'
and `org-time-stamp-custom-formats'.  Allow `inactive' argument to be
`no-brackets'
(org-format-timestamp):
(org-read-date-display):
(org-insert-time-stamp):
(org-display-custom-time):
(org-timestamp-translate):
* lisp/org-compat.el (org-timestamp-format): Rename
`org-timestamp-format' to `org-format-timestamp'.  The old variant is
too similar with other `org-time-stamp-format' function.  Also, use
`org-time-stamp-format' to determine the timestamp format instead of
using `org-time-stamp-formats' directly.
* lisp/ol.el (org-store-link):
* lisp/org-agenda.el (org-agenda-get-timestamps):
(org-agenda-get-progress):
* lisp/org-archive.el (org-archive-subtree):
(org-archive-to-archive-sibling):
* lisp/org-clock.el (org-clock-special-range):
* lisp/org-colview.el (org-colview-construct-allowed-dates):
* lisp/org-element.el (org-element-timestamp-interpreter):
* lisp/org-macro.el (org-macro--find-date):
* lisp/org-pcomplete.el (pcomplete/org-mode/file-option/date):
* lisp/ox-odt.el (org-odt--format-timestamp):
(org-odt-template):
* lisp/ox.el (org-export-get-date):
* testing/lisp/test-org.el (test-org/timestamp-format): Use
`org-time-stamp-format' instead of directly examining
`org-time-stamp-custom-formats' and `org-time-stamp-formats'.  Use the
new function name `org-format-timestamp'.
* etc/ORG-NEWS (Default values and interpretations of ~org-time-stamp-formats~ and ~org-time-stamp-custom-formats~ are changed):
(~org-timestamp-format~ is renamed to ~org-format-timestamp~):
(Updated argument list in ~org-time-stamp-format~): Document the
user-facing changes.

This commit documents and unifies previously undocumented assumptions
about the values of `org-time-stamp-formats' and
`org-time-stamp-custom-formats'.  Instead of fiddling with
leading/trailing brackets in the values, expedite the time format
calculation to `org-time-stamp-format'.  The undocumented assumption
about brackets in user option `org-time-stamp-custom-formats' is not
relaxed making the docstring correct.

Reported-by: Uwe Brauer <oub@mat.ucm.es>
Link: https://orgmode.org/list/87k04ppp1t.fsf@localhost
2022-11-07 15:05:37 +08:00
Adam Porter 155dc778e8
* lisp/org.el: (org-get-indirect-buffer) Allow indirect base buffers
Previously, calling this function on an indirect buffer would fail,
preventing the user from making a new indirect buffer based on an
indirect buffer (e.g. imagine the user makes an indirect buffer for a
large subtree, then wants to make another one for a subtree of that).
Now, the base buffer of the buffer is used, when applicable.

Also, the function is partially rewritten to be clearer, and a
docstring is added.

Link: https://orgmode.org/list/8b2c1814-2c6f-fdca-8ba7-63c415bfca5e@alphapapa.net
2022-11-07 11:16:08 +08:00
Daniel Ziltener 5e0c5c186d
org-babel: Add new "strip-tangle" :noweb argument value
* lisp/ob-tangle.el (org-babel-tangle-single-block): Strip noweb tags
from block if :noweb has been set to "strip-tangle".
* lisp/ob-core.el (org-babel-common-header-args-w-values): Add
"strip-tangle" as new allowed value.
* lisp/ob-core.el (org-babel-noweb-p): Add "strip-tangle" at the
appropriate positions.
* testing/lisp/test-ob-tangle.el (ob-tangle/strip-tangle): Add new test
case for "strip-tangle".
* doc/org-manual.org (Noweb Reference Syntax): Adjust documentation for
the noweb header argument.
* etc/ORG-NEWS: Add entry for new header argument value.

This patch adds the "strip-tangle" option for the :noweb header
argument.  This strips the noweb tags before tangling the block.  This can
be useful for e.g. testing purposes where one wants to use a block as
test case that can be both run inline as well as tangled into a file for
automated testing.

TINYCHANGE
2022-11-07 10:54:13 +08:00
Ihor Radchenko 26a2811b06
org-cite-basic-export-bibliography: Skip missing bibliography keys
* lisp/oc-basic.el (org-cite-basic-export-bibliography): Ignore
citation keys that are not present in bibliography.  Previously, an
error was thrown.
2022-11-06 15:44:44 +08:00
Leo Butler 9abf1b5167
lisp/ob-maxima.el: correct placement of $ in command string
* ob-maxima.el (org-babel-maxima:execute): Commit 6156b57bdf fixed a
quoting problem encountered on windows. However, the dollar sign ($)
is part of the maxima command string and needs to be escaped on
gnu/linux.

Reported by: Eric Fraga
Ref:
https://list.orgmode.org/950eb41c-1c8a-c891-af8d-276f6a452eaa@electrum-bikes.pl/T/#m4b5a54551604e5b3ec21f317c4a31b547ccada68

TINYCHANGE
2022-11-06 10:51:06 +08:00
Ihor Radchenko 946abeb49a
org-sting-width: Do no err in dedicated windows
* lisp/org-macs.el (org-string-width): Do not err when current window
is dedicated.  Force-remove dedicated status temporarily during the
call.  This should be safe as we only need to take over the window
temporarily to hook into Emacs display and calculate the string
width.

Reported-by: Bruno BARBIER <brubar.cs@gmail.com>
Link: https://orgmode.org/list/63662793.5d0a0220.62647.3003@mx.google.com
2022-11-05 17:38:37 +08:00
Ihor Radchenko 3e010d81dc
org-element-adopt-elements: Skip nil children
* lisp/org-element.el (org-element-adopt-elements): Ignore nil
children instead of throwing an error.

Reported-by: Alain.Cochard@unistra.fr
Link: https://orgmode.org/list/25445.34286.700495.260710@gargle.gargle.HOWL
2022-11-05 12:02:02 +08:00
Ihor Radchenko a3b9bb8faa
org-lint: Fix #+INCLUDE keyword parsing
* lisp/org-lint.el (org-lint-wrong-include-link-parameter): Use
non-greedy regexp to parse included file name.

Reported-by: gerard.vermeulen@posteo.net
Link: https://orgmode.org/list/ceef41267fcb44cdcbd7986f599bf332@posteo.net
2022-11-05 11:31:37 +08:00
Ihor Radchenko 0d60013f0e
org-attach-attach: Fix when `org-attach-store-link-p' is t
* lisp/org-attach.el (org-attach-attach): Store link to the original
file location when `org-attach-store-link-p' is set to t, as promised
by the variable docstring.
2022-11-05 11:00:15 +08:00
Ihor Radchenko 094ee4490d
org-attach-store-link-p: Explain all the values in the docstring
* lisp/org-attach.el (org-attach-store-link-p): Detail what each of
the allowed values mean, in addition to the :type tags.
2022-11-05 11:00:14 +08:00
Rudolf Adamkovič f7b16402e6
org-babel: Never throw away standard error
* lisp/ob-eval.el (org-babel-eval-error-notify): Do not insert
superfluous whitespace.
* lisp/ob-eval.el (org-babel-eval): Show standard error even if the
command exits with a zero code.
* testing/lisp/test-ob-shell.el(
ob-shell/standard-output-after-success,
ob-shell/standard-output-after-failure,
ob-shell/error-output-after-success,
ob-shell/error-output-after-failure,
ob-shell/error-output-after-failure-multiple,
ob-shell/exit-code,
ob-shell/exit-code-multiple
): Add tests to avoid regressions.
2022-11-04 10:48:38 +08:00
Ihor Radchenko 2924c77848
org-compat: Add missing argument to `connection-local-get-profiles'
* lisp/org-compat.el (with-connection-local-variables): Add missing
required argument to the `connection-local-get-profiles' call.

Reported-by: Max Nikulin <manikulin@gmail.com>
Link: https://orgmode.org/list/tk0pjd$ebo$1@ciao.gmane.io
2022-11-04 10:41:59 +08:00
Bastien bd468136dd lisp/ob-sql.el: Add Daniel Kraus as the maintainer 2022-11-03 09:27:36 +01:00
Rudolf Adamkovič 17425599cf
ob-latex: Call Inkscape with descriptive arguments
* lisp/ob-latex.el (org-babel-latex-pdf-svg-process): Use descriptive
arguments, such as '--export-area-drawing' instead of '-D', to
optimize for readability and not brevity (which makes sense for
interactive use, which does not apply here).
2022-11-03 15:27:49 +08:00
Rudolf Adamkovič aaccbb2f98
ob-latex: Export the full area of the drawing
* lisp/ob-latex.el (org-babel-latex-pdf-svg-process): Add the argument
-D (--export-area-drawing) to avoid sub-point cuts on hi-DPI screens,
where Inkscape sometimes cuts off a single physical pixel from the
exported drawing.
2022-11-03 15:27:48 +08:00
Ihor Radchenko 210630e546
org-odt-link: Fix relative file links
* lisp/ox-odt.el (org-odt-link): Append an extra "../" to relative
links.  This is needed to conform with OpenOffice convention to treat
base path inside the odt archive.  The path containing the odt file is
thus "../".

Reported-by: Ihor Radchenko <yantar92@posteo.net>
Link: https://orgmode.org/list/87ilkc30wd.fsf@localhost
2022-11-03 14:18:36 +08:00
Ihor Radchenko 5bc6741a5a
org-clock-update-time-maybe: Update the containing timestamps as well
* lisp/org-clock.el (org-clock-update-time-maybe): Update the
containing timestamps inside the clock, not only the clock sum.

Reported-by: Bruce E. Robertson <brucer42@gmail.com>
Link: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=53393
2022-11-01 15:52:25 +08:00
Ihor Radchenko 9987451252
org-babel-execute-src-block: Do not err on virtual src blocks
* lisp/ob-core.el (org-babel-execute-src-block): Handle no block at
point.  Do not err when block info does not have position data.

Reported-by: Alan Schmitt <alan.schmitt@polytechnique.org>
Link: https://orgmode.org/list/87r0yol8kp.fsf@m4x.org
2022-11-01 10:12:54 +08:00
Daniel Kraus fbbc8b55cf
ob-sql.el: Respect all params when using dbconnection
* etc/ORG-NEWS (Miscellaneous): Document the change.
* lisp/ob-sql.el (org-babel-find-db-connection-param): Make it
possible to overwrite parameters that are set from :dbconnection.
2022-11-01 09:55:35 +08:00
Ihor Radchenko 5dc8ea0abe
org-paste-subtree: Fix when `kill-ring' is empty
* lisp/org.el (org-paste-subtree): Allow pasting from system
clipboard.
2022-11-01 09:41:38 +08:00
Ihor Radchenko 33cbb11d5a
org-kill-is-subtree-p: Handle clipboard
* lisp/org.el (org-kill-is-subtree-p): Allow `current-kill' to return
clipboard (even when `kill-ring' is empty).  Do not throw error when
clipboard is also empty.
2022-11-01 09:28:48 +08:00
Max Nikulin 57abbd4b92
org.el: Fix first call of `org-paste-subtree'
* lisp/org.el (org-paste-subtree): Do not check `kill-ring' before
calling `current-kill' since the latter can pull content of clipboard.

First call of `org-paste-subtree' failed if nothing had been yanked
before since Emacs start but system clipboard had text with valid
subtree originating from other application.  The bug was where since
the commit adding `org-paste-subtree'.

If both `kill-ring' and system clipboard are empty then `current-kill'
generates meaningful error.
2022-11-01 09:26:50 +08:00
Ihor Radchenko 6ef33b6dd6
org-latex-src-block--listings: Put options within lstlisting environment
* lisp/ox-latex.el (org-latex-src-block--listings): Do not use global
\lstset to set options.  Prefer optional argument to lstlisting
environment instead.

Reported-by: Denis Bitouzé <denis.bitouze@univ-littoral.fr>
Link: https://orgmode.org/list/87pmepvb7u.fsf@example.com
2022-10-31 16:15:11 +08:00
Ihor Radchenko c12175003a
org-ctags: Fix interactive calls to `visit-tags-table'
* lisp/org-ctags.el (org-ctags-get-filename-for-tag):
(org-ctags-all-tags-in-current-tags-table):
(org-ctags-rebuild-tags-file-then-find-tag): Fix the calls.
2022-10-31 14:22:40 +08:00
Ihor Radchenko 2ab762e93b
ob-scheme: Use new `geiser' function when available
* lisp/ob-scheme.el (geiser): Add new declare.
(org-babel-scheme-get-repl): When possible, call the newer `geiser'
instead of the obsolete `run-geiser'.
2022-10-31 14:22:39 +08:00
Daniel Kraus bd68ece99c
ob-clojure.el: Auto detect backend
* lisp/ob-clojure.el (org-babel-clojure-backend): Set the backend
to an available cli program or elisp package.
2022-10-30 12:18:58 +01:00
Ihor Radchenko e0a87eba18
org-element-cache: Fix cache updates from indirect buffers
* lisp/org-element.el (org-element--cache-active-p):
(org-element--cache-put):
(org-element--cache-process-request):
(org-element--parse-to): Ensure that cache updates are done in base
buffer.
(org-element--cache-remove): Ensure that cache updates are done in base
buffer.  Watch for cache size to be non-negative.
2022-10-30 10:14:51 +08:00
Ihor Radchenko e675affe93
org-macs: Add new macro `org-with-base-buffer'
* lisp/org-macs.el (org-with-base-buffer): New macro to run code in
base buffer of current or given buffer.
* lisp/org-element.el (org-element-org-data-parser):
(org-element--cache-find):
(org-element--cache-sync):
(org-element--cache-before-change):
(org-element--cache-after-change):
(org-element--cache-submit-request):
(org-persist-after-read-hook): Use the new macro.
2022-10-30 10:14:50 +08:00
Ihor Radchenko a182add4a4
org-clock-x11idle-program-name: Fix link to x11idle source code
* lisp/org-clock.el (org-clock-x11idle-program-name): Fix the link to
default x11idle program.  It is not distributed via WORG.
2022-10-30 10:14:49 +08:00
Daniel Kraus a51cf1cc6b
ob-clojure.el: Fix bug with inline comments
* lisp/ob-clojure.el (ob-clojure-eval-with-cider): Filter out
  nil values from cider evaluation.
2022-10-29 22:22:12 +02:00
Kyle Meyer 0681babab4 Fix recent doc string quoting issues
* lisp/org-agenda.el (org-agenda-show-outline-path):
* lisp/org.el (org-display-outline-path): Surround symbols with `...'
rather than using leading quote.

See 6013cb161 (Fix doc string quoting problems with ', 2022-07-25) for
a more detailed explanation.
2022-10-29 15:49:04 -04:00
Kyle Meyer 6ca9022dc4 ob-lob: Clean up spacing to pass Emacs's pre-commit check
* lisp/ob-lob.el (org-babel-lob-get-info): Remove trailing whitespace
from docstring.
2022-10-29 15:23:00 -04:00
Kyle Meyer bfc859fedf org-cycle: Silence byte-compiler under 'make single'
These are warnings that would show up when these changes made their
way to the Emacs repo.
2022-10-29 15:22:58 -04:00
Kyle Meyer 0b6a138bd3 ob-core: Silence byte-compiler 2022-10-29 15:15:29 -04:00
Kyle Meyer 27bc5c9a28 Merge branch 'km/from-emacs-master' 2022-10-29 15:15:03 -04:00
Stefan Kangas 4f0a4e07fd Backport commit db2ed9f33 from Emacs
; Fix several symbol name typos
db2ed9f333879e5ac283fb48c8b06ed4022f0af9
Stefan Kangas
Wed Oct 26 23:04:23 2022 +0200
2022-10-29 14:22:29 -04:00
Nikolay Kudryavtsev 6156b57bdf
ob-maxima.el: Fix execution on MS Windows
* ob-maxima.el (org-babel-execute:maxima): Change command line
invocation to a one that should work everywhere.

TINYCHANGE
2022-10-29 14:03:10 +08:00
Ihor Radchenko 7880695221
org-set-tags-command: Fix handling `org-loop-over-headlines-in-active-region'
* lisp/org.el (org-set-tags-command): Respect the non-nil value of
`org-loop-over-headlines-in-active-region'.  The code is adapted from
similar uses in other commands.

Reported-by: Alex Giorev <alex.giorev@gmail.com>
Link: https://orgmode.org/list/CAMq3WZh1sGW+BNKW1hZA+wP=iFskzShF-D-wUqWYqb_EponZ8g@mail.gmail.com
2022-10-29 13:25:38 +08:00