* [PATCH] ol: Fix org-link-search
@ 2022-04-20 16:10 tony aldon
2022-04-21 5:39 ` Ihor Radchenko
2022-04-21 13:00 ` Ihor Radchenko
0 siblings, 2 replies; 4+ messages in thread
From: tony aldon @ 2022-04-20 16:10 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1.1: Type: text/plain, Size: 304 bytes --]
Hey everyone,
If I'm not wrong, name defined after #+NAME: should be match first
before trying a fuzzy search in the function `org-link-search`.
You can find the patch in attachment (hope it feat in Tiny changes
[though I also sent a request today for the FSF agreement]).
Have a nice day.
Tony Aldon
[-- Attachment #1.2: Type: text/html, Size: 357 bytes --]
[-- Attachment #2: 0001-ol-Fix-org-link-search.patch --]
[-- Type: text/x-patch, Size: 1647 bytes --]
From ba4028e71fb41b6e4367d3e85846526dd7577d52 Mon Sep 17 00:00:00 2001
From: tony <tony.aldon.adm@gmail.com>
Date: Wed, 20 Apr 2022 17:58:34 +0200
Subject: [PATCH] ol: Fix org-link-search
* lisp/ol.el (org-link-search): Replace wrong property :name by
:value. Name defined after #+NAME: should be match first before
trying a fuzzy search.
* testing/lisp/test-ol.el (test-ol/search): New test.
TINYCHANGE
---
lisp/ol.el | 2 +-
testing/lisp/test-ol.el | 12 ++++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/lisp/ol.el b/lisp/ol.el
index 1b2bb9a9a..4554941b6 100644
--- a/lisp/ol.el
+++ b/lisp/ol.el
@@ -1189,7 +1189,7 @@ of matched result, which is either `dedicated' or `fuzzy'."
(goto-char (point-min))
(while (re-search-forward name nil t)
(let* ((element (org-element-at-point))
- (name (org-element-property :name element)))
+ (name (org-element-property :value element)))
(when (and name (equal words (split-string name)))
(setq type 'dedicated)
(beginning-of-line)
diff --git a/testing/lisp/test-ol.el b/testing/lisp/test-ol.el
index ddcc570b3..3e5b9c7cd 100644
--- a/testing/lisp/test-ol.el
+++ b/testing/lisp/test-ol.el
@@ -492,6 +492,18 @@
(buffer-substring (point) (line-end-position))))))
\f
+;;; Search
+
+(ert-deftest test-ol/search ()
+ "Test `org-link-search'."
+ ;; Look for name defined after #+NAME:
+ (should
+ (equal 'dedicated
+ (org-test-with-temp-text "foo\n#+NAME: foo"
+ (let ((org-link-search-must-match-exact-headline nil))
+ (org-link-search "foo"))))))
+
+\f
;;; Link regexps
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] ol: Fix org-link-search
2022-04-20 16:10 [PATCH] ol: Fix org-link-search tony aldon
@ 2022-04-21 5:39 ` Ihor Radchenko
[not found] ` <CACWitSA6eYp68L3u3HFxA-U-EE=s9ZDQxKaHmaFPdL+UxXVEOw@mail.gmail.com>
2022-04-21 13:00 ` Ihor Radchenko
1 sibling, 1 reply; 4+ messages in thread
From: Ihor Radchenko @ 2022-04-21 5:39 UTC (permalink / raw)
To: tony aldon; +Cc: emacs-orgmode
tony aldon <tony.aldon.adm@gmail.com> writes:
> If I'm not wrong, name defined after #+NAME: should be match first
> before trying a fuzzy search in the function `org-link-search`.
> ...
> - (name (org-element-property :name element)))
> + (name (org-element-property :value element)))
I think you are missing something.
A standaline
#+name: some name
is a keyword, not an element name, but a generic keyword element.
Named elements are the elements with affiliated keywords (not ordinary
keywords):
#+name: some other name
Some element that can have affiliated keywords. It may be a paragraph,
like here or e.g. source block. Link search should not try to search
standalone keywords and hence it is sufficient to check for :name
element property. :value will miss e.g. named source blocks.
Try running (org-element-at-point) on the first and second #+name in org
buffer.
Best,
Ihor
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ol: Fix org-link-search
[not found] ` <CACWitSA6eYp68L3u3HFxA-U-EE=s9ZDQxKaHmaFPdL+UxXVEOw@mail.gmail.com>
@ 2022-04-21 10:25 ` tony aldon
0 siblings, 0 replies; 4+ messages in thread
From: tony aldon @ 2022-04-21 10:25 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1352 bytes --]
On Thu, Apr 21, 2022 at 12:23 PM tony aldon <tony.aldon.adm@gmail.com>
wrote:
> You're right I was effectively missing affiliated keywords and so my
> patch is wrong.
>
> Thank you for your quick feedback and insight.
>
> Have a nice day,
> Tony Aldon
>
> On Thu, Apr 21, 2022 at 7:39 AM Ihor Radchenko <yantar92@gmail.com> wrote:
>
>> tony aldon <tony.aldon.adm@gmail.com> writes:
>>
>> > If I'm not wrong, name defined after #+NAME: should be match first
>> > before trying a fuzzy search in the function `org-link-search`.
>> > ...
>> > - (name (org-element-property :name element)))
>> > + (name (org-element-property :value element)))
>>
>> I think you are missing something.
>>
>> A standaline
>>
>> #+name: some name
>>
>> is a keyword, not an element name, but a generic keyword element.
>>
>> Named elements are the elements with affiliated keywords (not ordinary
>> keywords):
>>
>> #+name: some other name
>> Some element that can have affiliated keywords. It may be a paragraph,
>> like here or e.g. source block. Link search should not try to search
>> standalone keywords and hence it is sufficient to check for :name
>> element property. :value will miss e.g. named source blocks.
>>
>> Try running (org-element-at-point) on the first and second #+name in org
>> buffer.
>>
>> Best,
>> Ihor
>>
>
[-- Attachment #2: Type: text/html, Size: 2119 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ol: Fix org-link-search
2022-04-20 16:10 [PATCH] ol: Fix org-link-search tony aldon
2022-04-21 5:39 ` Ihor Radchenko
@ 2022-04-21 13:00 ` Ihor Radchenko
1 sibling, 0 replies; 4+ messages in thread
From: Ihor Radchenko @ 2022-04-21 13:00 UTC (permalink / raw)
To: emacs-orgmode
Patch marked as cancelled.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-04-21 13:04 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-20 16:10 [PATCH] ol: Fix org-link-search tony aldon
2022-04-21 5:39 ` Ihor Radchenko
[not found] ` <CACWitSA6eYp68L3u3HFxA-U-EE=s9ZDQxKaHmaFPdL+UxXVEOw@mail.gmail.com>
2022-04-21 10:25 ` tony aldon
2022-04-21 13:00 ` Ihor Radchenko
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).