* lisp/org-persist.el (org-persist--find-index):
(org-persist--add-to-index):
(org-persist--remove-from-index): Do not assume that every container
is a list of other containers.
* lisp/ob-shell.el (org-babel-sh-prompt): Change the value of unique
prompt from long prompt string to a much shorter, but still unlikely
to appear in output, single-char prompt.
Cuneiform because Sumerian, Babylon, Tower ob Babel :)
* lisp/ob-shell.el (org-babel-sh-initiate-session): Set
`comint-prompt-regexp' early, _before_ evaluating prompt change. This
way, we make sure that comint is not stuck trying to search for the
old prompt if the new prompt no longer matches `comint-prompt-regexp'.
* lisp/ob-shell.el (org-babel-sh--prompt-initialized): New variable
flag that indicates whether ob-shell changed the prompt in current
comint buffer.
(org-babel-sh-initiate-session): Set unique prompt in existing
sessions if it is not yet done.
Link: https://orgmode.org/list/87o782gx7o.fsf@localhost
* lisp/ob-comint.el (org-babel-comint-prompt-regexp-fallback): Rename
to more accurate name. Leave the old name as an alias.
(org-babel-comint--set-fallback-prompt): Use the new name.
(org-babel-comint-with-output):
(org-babel-comint-wait-for-output):
* lisp/ob-clojure.el (ob-clojure-eval-with-inf-clojure):
* lisp/ob-haskell.el (org-babel-interpret-haskell):
* lisp/ob-ruby.el (org-babel-ruby-initiate-session):
* lisp/ob-shell.el (org-babel-sh-initiate-session):
* lisp/org-agenda.el (org-agenda-write): Drop `set-buffer' call at the
end. It does nothing since the rest of the code is wrapped in
`save-excursion' and the aim of the `set-buffer' is to switch to the
agenda buffer we just saved. Ignore AGENDA-BUFNAME argument - it is
unused now. Update the docstring, removing the mention of what
appears to be the now-ignored argument.
(org--batch-store-agenda-views): Update the caller. Passing current
agenda buffer name is no longer necessary. We set it before the call
anyway.
Reported-by: Sławomir Grochowski <slawomir.grochowski@gmail.com>
Link: https://orgmode.org/list/87ed7dwygq.fsf@gmail.com
* lisp/org-plot.el (org-plot-timestamp-fmt): Add default value and the docstring.
(org-plot/gnuplot-to-data): `let'-bind `org-plot-timestamp-fmt'
instead of setting it in current buffer.
Reported-by: Chris Keschnat <chris@catsu.it>
Link: https://orgmode.org/list/87r0bje1vs.fsf@catsu.it
* lisp/org.el (org--get-expected-indentation): Allow ELEMENT to be nil.
(org-indent-line): Account for element at point possibly being
nil (`org-element-at-point' returns nil at blank lines at the
beginning of buffer).
Reported-by: Jens Schmidt <jschmidt4gnu@vodafonemail.de>
Link: https://orgmode.org/list/87ed7tb4ja.fsf@sappc2.mail-host-address-is-not-set
* lisp/ox.el (org-export-get-all-options):
(org-export-get-all-filters): Do not demand parent chain to be from
registered backends. Allow anonymous parents as well.
This is necessary because `orgtbl-to-generic' now uses anonymous
backend via normal ox.el machinery and ob-gnuplot layers an anonymous
backend on top (which is not invalid, given that `orgtbl-to-generic'
did work with this setup in the past).
* lisp/org-refile.el (org-refile):
(org-refile-goto-last-stored): Save position to the Org mark ring if
we are about to jump to a different position.
* etc/ORG-NEWS (~org-refile~ now saves current position to Org mark
ring when jumping to heading): Document the new feature.
Link: https://orgmode.org/list/CAJcAo8vYLJ3YGH0+nZs1rgtdq2iRKzJ8tuGxJKRD-XyEwEm4FA@mail.gmail.com
* lisp/org-table.el (orgtbl-to-generic): Before e0924db3c,
`orgtbl-to-generic' did honor the filter functions for AST
specifically (but no other). Keep it so.
* lisp/org.el (org-insert-subheading): Make sure that `forward-char'
never happens at the end of buffer. Also, only move char when we are
at actual heading/item - that's the only case when we need to adjust
point position to avoid `org-insert-heading' inserting above.
* lisp/ox-beamer.el (org-beamer--format-frame): Allow a frame subtitle
to be specified in the BEAMER_SUBTITLE property. If specified, put it
in the second non-optional argument to \begin{frame}.
* doc/org-manual.org (Frames and Blocks in Beamer): Document above
behaviour.
* etc/ORG-NEWS (Beamer export supports setting frame subtitles):
Document the new feature.
* lisp/org-table.el (orgtbl--skip):
(orgtbl--skipcols): New helper functions.
(orgtbl-to-generic): Use `org-export-as' machinery to setup table
export instead of duplicating ox.el internals. Retain special rows in
tables when exporting to Org. Org export is used by ob-core to format
the code block output and will thus retain special rows.
* testing/lisp/test-org-table.el (test-org-table/to-generic): Adjust
test to expect special rows to be exported.
* etc/ORG-NEWS (~orgtbl-to-generic~ retains special rows when
exporting to Org): Announce the breaking change.
Reported-by: Rudolf Adamkovič <rudolf@adamkovic.org>
Link: https://orgmode.org/list/87r0ch6q9h.fsf@localhost
* lisp/ox.el (org-export-replace-macros): New custom option
controlling macro replacement.
(org-export--annotate-info): Honor it, except when processing inline
code block results and their {{{results...}}} macro.
* etc/ORG-NEWS (Allow disabling macro replacement during export):
Announce the new option.
* doc/org-manual.org (Macro Replacement):
(Summary of the export process): Document the new option.
* lisp/org-list.el (org-list-struct-apply-struct): Make sure that we
never shift item contents to or before the item indentation.
* testing/lisp/test-org-list.el (test-org-list/cycle-bullet): Add new
test.
Reported-by: vitalij@gmx.com
Link: https://orgmode.org/list/871q42qbn7.fsf@gmx.com
* lisp/ox-html.el (org-html-head):
(org-html-head-extra): Allow value to be a function.
(org-html-normalize-string-or-function): New helper function.
(org-html--build-head): Use the new helper to handle the function
value of :html-head and :html-head-extra export options.
* etc/ORG-NEWS:
(~org-html-head~ and ~org-html-head-extra~ can now be specified as
functions): Document the new feature.
* testing/lisp/test-ox-html.el (ox-html/test-normalize-string-or-function):
New test.
TINYCHANGE
* lisp/org-agenda.el (org-agenda-category-icon-alist): Refer to
`org-agenda-prefix-format' in the docstring, as it is what controls
whether the icons are rendered at all.
* lisp/ob-core.el (org-babel-insert-result): Explain that
RESULT-PARAMS is a list. Clarify the treatment of INFO. Fix
incorrect :file parameters that is actually not used. Instead,
document :file-desc parameter that is being used.
Reported-by: Stefan Kangas <stefankangas@gmail.com>
Link: https://orgmode.org/list/871q4fzx0k.fsf@localhost
* lisp/org-persist.el (org-persist--find-index): Only match index
entries that contain _all_ the components of the given COLLECTION.
For example, when searching for
`((elisp org-element--cache) (version ,org-element-cache-version))
container, make sure that the returned value match both "elisp" and
"version" containers.
org-link-expand-abbrev: Do not evaluate arbitrary unsafe Elisp code
c645e1d8205f0f0663ec4a2d27575b238c646c7c
Ihor Radchenko
Sat Jun 22 00:54:36 2024 +0200
[ km: This was independently covered on the bugfix branch with
f4cc61636. I'm applying it here too for bookkeeping/traceability
purposes. ]