My personal patches-in-progress branch of Org. See https://git.tecosaur.net/mirrors/org-mode/compare/main..tec/org-mode:dev.
Find a file
Max Nikulin 33686b9955
org.el: Pass link match data to `org-file-apps' functions
* 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
2022-09-09 19:03:49 +08:00
doc New babel syntax to pass src block contents as argument 2022-08-31 11:31:16 +08:00
etc ox-icalendar.el: Customize vevent summary prefix 2022-09-08 13:29:00 +08:00
lisp org.el: Pass link match data to `org-file-apps' functions 2022-09-09 19:03:49 +08:00
mk Fix feature regexp used to detect Org library names 2022-07-28 20:26:14 +08:00
testing ob-shell: Use `process-file' when stdin or cmdline 2022-09-05 18:31:39 +08:00
.dir-locals.el .dir-locals.el: Set indent-tabs-mode to nil in Elisp sources 2020-12-23 00:00:26 -05:00
.gitignore * lisp/org-agenda.el: Use lexical-binding 2021-03-09 22:56:33 -05:00
.gitmodules updated jump submodule for those behind http proxy 2013-06-06 14:36:24 -06:00
CONTRIBUTE CONTRIBUTE: Link WORG page when explaining commit message format 2022-04-23 16:04:55 +08:00
COPYING Prefer HTTPS to HTTP in most links 2021-03-21 15:21:22 -04:00
Makefile Use https for links to orgmode.org 2018-01-19 18:14:58 +01:00
README README: Use plain-text URLs 2022-03-28 12:03:03 +02:00
README_ELPA Prefer "website" to "homepage" 2022-06-26 10:10:48 +08:00
request-assign-future.txt request-assign-future.txt: Use "Emacs" instead of "Org-mode, which is part of Emacs" 2014-02-07 09:24:52 +01:00

-*- mode: org; fill-column:70 -*-

This is a distribution of Org, a plain text notes and project planning
tool for Emacs.

Check the Org Mode website at https://orgmode.org and the installation
instructions at https://orgmode.org/org.html#Installation.

* Contents of this distribution

- README :: This file.

- COPYING :: The GNU General Public License.

- Makefile :: The makefile to compile and install Org.  See the
  installation instructions https://orgmode.org/org.html#Installation
  or this more detailed procedure on Worg:
  https://orgmode.org/worg/dev/org-build-system.html.
  
- mk/ :: Files needed for building Org.

- lisp/ :: Directory with all the Emacs Lisp files that make up Org.

- doc/ :: The documentation files.  org.texi is the source of the
  documentation, org.html and org.pdf are formatted versions of it.

- etc/ :: Files needed for the ODT exporter.

- testing/ :: Testing suite for Org.

- request-assign-future.txt :: The form that contributors have to sign
  and get processed with the FSF before contributed changes can be
  integrated into the Org core.  All files in this distribution have
  copyright assigned to the FSF.

* Join the GNU Project

Org is part of GNU Emacs and GNU Emacs is part of the GNU Operating
System, developed by the GNU Project.

If you are the author of an awesome program and want to join us in
writing Free (libre) Software, please consider making it an official
GNU program and become a GNU Maintainer.  Instructions on how to do
this are here http://www.gnu.org/help/evaluation

Don't have a program to contribute?  Look at all the other ways to
help: https://www.gnu.org/help/help.html

And to learn more about Free (libre) Software in general, please read
and share this page: https://gnu.org/philosophy/free-sw.html

* License

Org-mode is published under the GNU GPLv3 license or any later
version, the same as GNU Emacs:
https://www.gnu.org/licenses/gpl-3.0.html

Org-mode is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 3 of the License, or (at your
option) any later version.

GNU Emacs is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with Org mode.  If not, see https://www.gnu.org/licenses/.