org-mode/testing/lisp
Rick Lupton 95554543b9
org-id.el: Add search strings, inherit parent IDs
* lisp/ol.el (org-store-link): Refactor org-id links to use standard
`org-store-link-functions'.
(org-link-search): Create new headings at appropriate level.
(org-link-precise-link-target): New function extracting logic to
identify a precise link target, e.g. a heading, named object, or text
search.
(org-link-try-link-store-functions): Extract logic to call external
link store functions. Pass them a new `interactive?' argument.
* lisp/ol-bbdb.el (org-bbdb-store-link):
* lisp/ol-bibtex.el (org-bibtex-store-link):
* lisp/ol-docview.el (org-docview-store-link):
* lisp/ol-eshell.el (org-eshell-store-link):
* lisp/ol-eww.el (org-eww-store-link):
* lisp/ol-gnus.el (org-gnus-store-link):
* lisp/ol-info.el (org-info-store-link):
* lisp/ol-irc.el (org-irc-store-link):
* lisp/ol-man.el (org-man-store-link):
* lisp/ol-mhe.el (org-mhe-store-link):
* lisp/ol-rmail.el (org-rmail-store-link): Accept optional arg.
* lisp/org-id.el (org-id-link-consider-parent-id): New option to allow
a parent heading with an id to be considered as a link target.
(org-id-link-use-context): New option to add context to org-id links.
(org-id-get): Add optional `inherit' argument which considers parents'
IDs if the current entry does not have one.
(org-id-store-link): Consider IDs of parent headings as link targets
when current heading has no ID and `org-id-link-consider-parent-id' is
set.  Add a search string to the link when enabled.
(org-id-store-link-maybe): Function set as :store option for custom id
link property. Move logic from `org-store-link' here to determine when
an org-id link should be stored using `org-id-store-link'.
(org-id-open): Recognise search strings after "::" in org-id links.
* lisp/org-lint.el: Add checker for "::" in ID properties.
* testing/lisp/test-ol.el: Add tests for
`org-link-precise-link-target' and `org-id-store-link' functions,
testing new options.
* doc/org-manual.org: Update documentation about links.
* etc/ORG-NEWS: Document changes and new options.

These feature allows for more precise links when using org-id to link to
org headings, without requiring every single headline to have an id.

Link: https://list.orgmode.org/118435e8-0b20-46fd-af6a-88de8e19fac6@app.fastmail.com/
2024-02-24 15:56:44 +03:00
..
test-duplicates-detector.el testing/lisp/test-duplicates-detector.el: Fix Emacs 27 compatibility 2024-02-11 15:11:11 +01:00
test-ob-C.el testing: Delete useless ert tests 2023-09-17 12:48:36 +03:00
test-ob-R.el Fix obsolete `sleep-for' usage 2023-10-21 16:08:25 +03:00
test-ob-awk.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-ob-clojure.el Merge branch 'bugfix' 2024-01-06 16:02:02 -05:00
test-ob-emacs-lisp.el Update remaining copyright years 2024-01-06 15:55:18 -05:00
test-ob-eshell.el testing/lisp/test-ob-eshell.el: Fix tests 2022-10-13 18:28:56 +08:00
test-ob-exp.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-ob-fortran.el testing: Delete useless ert tests 2023-09-17 12:48:36 +03:00
test-ob-haskell-ghci.el ob-haskell/session-named-none-means-one-shot-sessions: Remove duplicate 2024-02-09 14:57:57 +01:00
test-ob-header-arg-defaults.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-ob-java.el Update remaining copyright years 2024-01-06 15:55:18 -05:00
test-ob-julia.el Fix obsolete `sleep-for' usage 2023-10-21 16:08:25 +03:00
test-ob-lilypond.el testing: Delete useless ert tests 2023-09-17 12:48:36 +03:00
test-ob-lob.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-ob-lua.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-ob-maxima.el * lisp/ob-maxima.el: enable use of `batch' loader and `draw' 2023-10-04 11:27:46 +03:00
test-ob-octave.el org-babel-comint-with-output: Fix for edge case of `comint-prompt-regexp' 2023-09-06 12:19:14 +03:00
test-ob-perl.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-ob-plantuml.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-ob-python.el ob-python: Test and improve robustness for externally started python 2023-12-29 07:46:49 -08:00
test-ob-ruby.el testing/lisp: Add missing `featurep' checks for required packages 2022-10-13 18:30:07 +08:00
test-ob-scheme.el test-ob-scheme.el: Disable testing for older Emacs unsupported by Geiser 2023-08-07 14:57:17 +03:00
test-ob-sed.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-ob-shell.el ob-shell.el: Add async evaluation 2023-03-22 14:55:11 -04:00
test-ob-sql.el testing/lisp: Add missing `provide' 2022-10-13 18:30:44 +08:00
test-ob-sqlite.el ob-sqlite: Use a transient in-memory database by default 2023-08-12 11:00:48 +03:00
test-ob-table.el org-sbe: Allow quoting string values 2023-02-23 12:29:18 +03:00
test-ob-tangle.el org-babel-tangle: Do not allow tangling into self 2024-01-26 16:54:04 +01:00
test-ob.el org-babel-where-is-src-block-result: Fix inside affiliated parsed keyword 2023-08-16 11:07:20 +03:00
test-oc-basic.el org-cite-basic-export-citation: Fix prefix/suffix being ignored 2024-01-16 13:38:27 +01:00
test-oc.el org-cite-list-bibliography-files: Preserve relative bibliography paths 2023-05-02 14:47:56 +02:00
test-ol-bbdb.el Prefer HTTPS to HTTP for links to gnu.org 2021-03-21 14:29:13 -04:00
test-ol.el org-id.el: Add search strings, inherit parent IDs 2024-02-24 15:56:44 +03:00
test-org-agenda.el org-agenda: Fix meaning of 'repeated-after-deadline value of `org-agenda-skip-scheduled-if-deadline-is-shown' 2024-02-07 13:21:34 +01:00
test-org-archive.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-org-attach-git.el * testing/lisp/test-org-attach-git.el: Avoid using global git config 2023-08-18 12:03:58 +03:00
test-org-attach.el org-element: Defer more when parsing headings and inlinetasks 2023-07-01 14:35:36 +03:00
test-org-capture.el org-capture-finalize: Do not save new file with :no-save aborted capture 2023-01-22 13:49:07 +03:00
test-org-clock.el test-org-clok/org-clock-update-time-maybe: Fix test for non-English LANG 2023-09-15 12:00:06 +03:00
test-org-colview.el fixup! test-org-colview/...: Fix Emacs 28 compatibility 2023-08-21 12:58:44 +03:00
test-org-datetree.el lisp/org-datetree.el: Allow datetrees with TODO, priority, tags 2023-01-21 12:29:32 +03:00
test-org-duration.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-org-element.el org-element-paragraph-parser: Fix edge case; fix tests 2024-02-13 12:46:58 +01:00
test-org-feed.el Prefer HTTPS to HTTP for links to gnu.org 2021-03-21 14:29:13 -04:00
test-org-fold.el test-org-fold/org-fold-display-inline-images: Fix skip condition in older Emacs 2024-02-02 17:03:35 +01:00
test-org-footnote.el org-footnote-new: Add an option to create new anonymous labels 2024-02-05 15:38:48 +01:00
test-org-info.el ol-info: Define :insert-description function 2022-08-26 21:09:39 +08:00
test-org-inlinetask.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-org-lint.el org-lint: Remove checker for #+name with colon 2023-12-17 14:57:03 +01:00
test-org-list.el org-toggle-item: Move footnote-definitions out of the lists 2022-11-11 13:19:01 +08:00
test-org-macro.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-org-macs.el test-org-macs.el: Add test for template-expansion bug 2022-04-30 17:45:32 +08:00
test-org-num.el test-org-num.el: Do not rely on fixed overlay order in `overlays-in' 2022-11-09 10:12:44 +08:00
test-org-pcomplete.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-org-protocol.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-org-src.el test-org-src.el: Work around `current-column' bug in older emacs 2023-07-10 11:19:31 +03:00
test-org-table.el ox-latex: Remove org-latex-line-break-safe 2024-01-31 12:35:29 +01:00
test-org-tempo.el Prefer HTTPS to HTTP for links to gnu.org 2021-03-21 14:29:13 -04:00
test-org-timer.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-org.el lisp/org.el (org-insert-heading): Allow specifying heading level 2024-02-24 15:56:43 +03:00
test-ox-ascii.el lisp/ox-ascii.el: Fix justification of special blocks 2023-11-17 10:28:32 +02:00
test-ox-html.el fixup! test-ox-html: Add new tests for checkboxes: ascii, html & unicode 2023-08-10 15:47:30 +03:00
test-ox-icalendar.el ox-icalendar: Add support for unscheduled and repeating TODOs 2023-06-18 06:51:47 -07:00
test-ox-latex.el ox-latex: Remove org-latex-line-break-safe 2024-01-31 12:35:29 +01:00
test-ox-md.el lisp/ox-md.el (org-md--footnote-section): Honor `org-md-toplevel-hlevel' 2023-12-15 15:01:57 +01:00
test-ox-publish.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00
test-ox-texinfo.el lisp/ox-texinfo.el: Fix @menu in headlines without contents 2023-12-16 15:10:29 +01:00
test-ox.el ox-html: Fix links to targets that do not have a number 2024-01-25 13:30:35 +01:00
test-property-inheritance.el testing: Make all files use `lexical-binding` 2022-09-15 19:17:19 +08:00