* lisp/org.el (org--file-apps-entry-dlink-p): Fix it to pass match data
to handler functions from `org-open-file' alist when pattern field of
`org-file-apps' contains regexp subgroups.
Update `org--file-apps-entry-dlink-p' to use current convention for action
field of `org-file-apps' structure. Currently it may be a function while
earlier s-expression was allowed. Obsolete test wrongly separated actions
able to handle regexp subgroups matched in the link. An example when
match data were not passed to the handler function:
(add-to-list
'org-file-apps
'("\\.pdf\\(?:\\.gz\\|\\.bz2\\|\\.xz\\)?\\(?:::.*\\)?\\'"
. my-open-pdf-locator))
Notice that lambda functions passed `consp' test, so namely
`defun' is required to reproduce the issue.
This change was missed in the commit:
c8a3ab1e4 2016-02-03 18:30:17 +0100
Nicolas Goaziou: `org-file-apps' accept functions instead of sexp
For discussion of the issue with evaluation of arbitrary expression see
https://list.orgmode.org/CALn3zoh+ACSU09eRurfwKjmCnw7i-_0KX7tA2jWqtu=vvQepLQ@mail.gmail.com/T/#u
Michael Brand. org-player and switch to lexical binding in org.el.
Sun, 17 Jan 2016 19:58:38 +0100
* lisp/ox-icalendar.el (org-icalendar-scheduled-summary-prefix): A new
customization option to control summary prefix in exported scheduled
events.
* lisp/ox-icalendar.el (org-icalendar-deadline-summary-prefix): A new
customization option to control summary prefix in exported deadline
events.
* lisp/ox-icalendar.el (org-icalendar-entry): Use configurable summary
prefixes for scheduled and deadline events, instead of hardcoded ones.
* lisp/ox.el (org-export-before-processing-functions):
(org-export-before-parsing-functions): Rename
`org-export-before-processing-hook' and
`org-export-before-parsing-hook' to use "-functions" suffix as these
hooks are abnormal hooks and we need not to use "-hook" suffix in
abnormal hooks.
* lisp/org-compat.el (org-export-before-processing-hook):
(org-export-before-parsing-hook): Declare obsolete.
* lisp/org-attach.el (org-export-before-parsing-functions): Use the
new hook name.
* lisp/oc-basic.el (org-cite-basic--parse-bibliography): Do not use
obsolete `buffer-file-name' generalized variable. Prefer
`set-visited-file-name'.
* lisp/ol-bibtex.el (org-indent-region): Declare function.
(org-bibtex-import-from-file): Remove unused variable.
* lisp/ol.el (org-link--decode-compound): Use `ash' instead of
obsolete `lsh'.
* lisp/org-macs.el: Do no use obsolete generalized variable
`buffer-string'.
* lisp/org-plot.el (org-plot/redisplay-img-in-buffer):
* lisp/org.el (image-flush):
(org-display-inline-images): Use `image-flush' instead of obsolete
`image-refresh'.
* lisp/ox.el (org-export-to-file): Quote ' in the docstring.
All other changes are changing obsolete `point-at-bol' and
`point-at-eol' to `line-beginning-position' and `line-end-position'.
* lisp/org-compat.el (outline-flag-region):
(outline-next-visible-heading):
(outline-back-to-heading):
(outline-on-heading-p):
(outline-hide-sublevels):
(outline-toggle-children): Accept arbitrary extra arguments and pass
them to original function if its arglist changes in future.
This patch is following the "no-breakage" policy:
>> I won't break your user experience.
https://bzg.fr/en/the-software-maintainers-pledge/
lisp/ob-shell.el (org-babel-sh-evaluate): Use `process-file' (instead
of `call-process-shell-command') so that `org-babel-sh-evaluate' will
invoke file name handlers based on `default-directory', if needed,
like when using a remote directory.
lisp/org-compat.el (with-connection-local-variables): New
compatibility macro.
testing/lisp/test-ob-shell.el (ob-shell/remote-with-stdin-or-cmdline):
New test.
testing/org-test.el (org-test-with-tramp-remote-dir): New macro.
Fixes https://list.orgmode.org/CKMOBWBK709F.1RUN69SRWB64U@laptop/.
* lisp/org-macs.el (org-unbracket-string): Handle empty suffix string.
* lisp/ol-info.el (org-info--link-file-node):
(org-info-description-as-command): Use `org-trim' and
`org-unbracket-string' instead of `string-trim' and
`string-remove-prefix' from the subr-x package.
* lisp/org.el (org--open-file-format-command): New function with better
coverage of mailcap RFC 1524 syntax. Do not replace percent character
in file name or link component, fix substitution of multiple regular
expression groups matched in the link target.
(org-open-file): Use `org--open-file-format-command' instead of inline
code.
* testing/lisp/test-org.el (org-test/org--open-file-format-command):
Tests for `org--open-file-format-command'.
The primary goal of moving code outside of `org-open-file' function is to
make it testable.
It should fix the following issues:
- Maxim Nikulin. greedy substitution in org-open-file.
Wed, 20 Jan 2021 23:08:35 +0700.
https://list.orgmode.org/ru9ki4$t5e$1@ciao.gmane.io
- Rodrigo Morales. Org mode links: Open a PDF file at a given page
and highlight a given string. Tue, 02 Mar 2021 15:07:32 -0500.
https://list.orgmode.org/87lfb5pbej.fsf@gmail.com
* lisp/org-compat.el:
(outline-next-visible-heading):
(outline-back-to-heading):
(outline-on-heading-p):
(outline-hide-sublevels):
(outline-toggle-children): Use `funcall' instead of `apply'. The
former does not expect the last argument to be a list of arguments.
* lisp/org-compat.el (outline-flag-region):
(outline-next-visible-heading):
(outline-back-to-heading):
(outline-on-heading-p):
(outline-hide-sublevels):
(outline-toggle-children): Use `define-advice', remove redundant
interactive specs, and use `derived-mode-p' instead of `eq'
`major-mode'.
Suggested by Stefan Monnier.
* lisp/ob-ref.el (org-babel-ref-resolve): Add support for
`named-block[]' syntax, resolving to the contents of a named-block.
* lisp/ob-core.el (org-babel-read-element): Read a code block into its
contents, like other blocks.
* testing/listp/test-ob.el (test-ob/block-content-resolution): Test
block content resolution.
* doc/org-manual.org: Document syntax.
* etc/ORG-NEWS: Document syntax.
* lisp/ob-python.el (org-babel-python-initiate-session-by-key): Do not
rely on 10ms delay to initialize Python. Wait until python process is
initialized using `org-babel-comint-wait-for-output'.
* lisp/ol-bibtex.el (org-bibtex-put): Add new optional argument to
insert node property at point directly, without leveraging
`org-set-property'. Add docstring.
(org-bibtex-write): Insert headline properties directly. Add new
optional argument to suppress indentation. Do not use `length' to
check if `org-bibtex-entries' list empty---`length' is too slow on
large lists.
(org-bibtex-import-from-file): Postpone indentation after all the
entries are imported.
* lisp/org.el (org-indent-region): Use cache.
* lisp/ol-info.el (org-info--link-file-node): New helper to parse info
link info file (manual) name and node.
(org-info-follow-link, org-info-export): Use `org-info--link-file-node'.
(org-info-description-as-command): New function to create description
for info links that may executed to view the manual.
(org-link-parameters): Specify `org-info-description-as-command' as
`:insert-description' for info links.
(org-info-other-documents): Add URL of directory index.
* testing/lisp/test-org-info.el (test-org-info/export): Add cases for
texinfo export with link description.
(test-org-info/link-file-node, test-org-info/description-as-command):
New tests for new functions `org-info--link-file-node' and
`org-info-description-as-command'.
Use recently added :insert-description feature of `org-link'.
Alternative separators between file name and node ":", "::", "#:"
are preserved. Added interpretation of empty path or omitted
file name as info dir index.
* lisp/ox-md.el (defcustom org-md-toplevel-hlevel): Define the customizable
variable that defines the top level heading to use when exporting to markdown.
(org-export-define-derived-backend): Read the value of the new
`org-md-toplevel-hlevel' variable into the `:options-alist' for this backend
(org-md--build-toc): Use the newly defined top-level heading setting to control
the heading level for the "Table of Contents" text.
(org-md-headline): Use the newly defined top-level heading setting as an offset
to the heading level calculated by `org-export-get-relative-level'.
This patch adds a new setting: `org-md-toplevel-hlevel' that controls which
Markdown heading level is used for top level headings. This change makes
markdown export more like HTML export, which has a `org-html-toplevel-hlevel'
variable which does the same thing for HTML export.
TINYCHANGE
* lisp/ob-comint.el (org-babel-comint-wait-for-output): Do not rely on
`face-at-point' returning non-nil.
* lisp/ob-shell.el (org-babel-shell-set-prompt-commands): New constant
holding shell-specific commands to change prompt.
(org-babel-prompt-command): New variable holding command to be user to
set distinguishable prompt.
(org-babel-shell-initialize): Set `org-babel-prompt-command' according
to shell name.
(org-babel-sh-prompt): New variable holding default shell prompt.
(org-babel-sh-initiate-session): Change the default prompt to
`org-babel-sh-prompt' and alter `comint-prompt-regexp' to match it
tightly.
Fixes https://list.orgmode.org/CKK9TULBP2BG.2UITT31YJV03J@laptop/T/#mc8e3ca2f5f1b9a94040a68b4c6201234b209041c
* lisp/org-element.el (org-element-cache-map--recurse): Remove.
(org-element-cache-map): Do not perform a cache-filling pass. This is
not gaining any speed in practice.
* lisp/org-fold-core.el: Remove the code overriding
`font-lock-default-fontify-region'. Emacs itself is skipping
fontification of invisible text and doing it more efficiently. The
org-fold fontification overrides are redundant, except when some
poorly written third-party code is forcing fontification inside folded
regions. However, Org does not need to entertain poorly written third
party code, especially when the required supporting code is reducing
font-lock performance and is complicating the maintenance.
(org-fold-core--specs):
(org-fold-core-add-folding-spec): Remove `:font-lock-skip' spec.
(org-fold-core-initialize):
(org-fold-core--fontifying):
(org-fold-core-region):
(org-fold-core--force-fontification):
(org-fold-core-fontify-region): Remove custom fontification.
* lisp/org-fold.el (org-fold-initialize): Remove `:font-lock-skip'
spec.
* lisp/org-macs.el (org-fold-core--force-fontification):
(org-with-forced-fontification):
(org-buffer-substring-fontified):
(org-looking-at-fontified): Remove org-fold's font-lock logic.
* lisp/ox.el (org-export-search-cells): Use #+RESULTS keyword as
search cell when #+NAME is not provided. Update the docstring
accordingly.
(org-export-resolve-fuzzy-link): Update the docstring.
* doc/org-manual.org (Exporting Code Blocks): Document the new
behavior and explain the details of exporting links to named code
blocks/results.
Fixes https://orgmode.org/list/010201826cb68597-bf75d596-7890-4dd0-b9ff-0c7b617b4dd4-000000@eu-west-1.amazonses.com
* lisp/ob-core.el (org-babel-execute-src-block): Post-process and
return results even when "none" results parameter is given. Document
that the result value is returned, as it is assumed by
`org-babel-ref-resolve'.
(org-babel-result-cond): Do return results even when "none" results
parameter is given.
According to the manual ":results none" should only affect how the
results of evaluation are inserted into the buffer. However, the
results are simply ignored currently. Fix this.
* lisp/ob-ref.el (org-babel-ref-resolve): Set :results to "none" when
resolving noweb references. Together with the above changes, this
makes Org not echo the results value yet returning the value
programatically.
Reported in https://orgmode.org/list/7702b511-c289-5688-c64c-fb673324a63a@posteo.eu
* doc/org-manual.org (System-wide header arguments): Update the
default value of `org-babel-default-header-args'. Document that
inline source blocks use a different set of the default arguments.
* doc/org-manual.org (Footnotes): Fix links to particular sections in
MathJax manual.
Scheme is not changed to https: since the site prefers http:
curl -I https://docs.mathjax.org/
HTTP/2 302
date: Sun, 03 Oct 2021 16:04:15 GMT
location: http://docs.mathjax.org/en/latest/
* lisp/org.el (org-align-tags): Re-use 'line-prefix text property when
`org-indent-mode' is enabled. The old version partially copy-pasted
the org-indent code and missed the new changes in inlinetask
alignment. The new approach should be robust against future
org-indent changes.
Fixes https://orgmode.org/list/25334.19025.107017.390781@gargle.gargle.HOWL
* lisp/org-clock.el (org-clocktable-defaults): Add default value for
new clock table option `:filetitle'.
(org-clock-get-file-title): Add new function to extract title of org file.
(org-clocktable-write-default): Print org file name in clock table if
`:filetitle' is set to `t'.
* doc/org-manual.org (The clock table): Include new `:filetitle'
option in manual for clock table.
* etc/ORG-NEWS (New =:filetitle= option for clock table): Include new
`:filetitle' option for clock table.
Allow user to show org file title instead of file name in the
clock table. If the file does not have a title defined, the file name
will be shown in the clock table.
TINYCHANGE
* ob-julia.el (org-babel-julia-evaluate-session, commentary): Add line
to initialize ESS so that Julia sessions work. Also added text in
commentary about Julia packages that sessions require. Fix
contributed by Stephen Eglen. See discussion:
https://stat.ethz.ch/pipermail/ess-help/2022-August/013113.html.
* ob-julia.el (org-babel-julia-evaluate-session, commentary): Add line
to initialize ESS so that Julia sessions work. Also added text in
commentary about Julia packages that sessions require. Fix
contributed by Stephen Eglen. See discussion:
https://stat.ethz.ch/pipermail/ess-help/2022-August/013113.html.