* [BUG] org-element-context doesn't recognize link inside property drawer [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)]
@ 2023-09-22 18:11 Gustavo Barros
2023-09-22 18:48 ` Gustavo Barros
2023-09-23 8:29 ` Ihor Radchenko
0 siblings, 2 replies; 4+ messages in thread
From: Gustavo Barros @ 2023-09-22 18:11 UTC (permalink / raw)
To: org-mode list
Hi All,
When a link is placed as a property value, `org-element-context' does
not recognize it as a link.
(Setting `eval-expression-print-level' and
`eval-expression-print-length' to nil).
Consider the following document:
#+begin_src org
,* Heading
:PROPERTIES:
:LINK: [[https://orgmode.org/][Org mode for Emacs]]
:END:
#+end_src
Placing point on the link and calling `(org-element-context)' returns:
#+begin_src emacs-lisp
(node-property
(:key "LINK"
:value "[[https://orgmode.org/][Org mode for Emacs]]"
:begin 24
:end 76
:post-blank 0
:post-affiliated 24
:mode node-property
:granularity element
:cached t
:parent
(property-drawer
(:begin 11
:end 82
:contents-begin 24
:contents-end 76
:post-blank 0
:post-affiliated 11
:mode planning
:granularity element
:cached t
:parent
(section
(:begin 11
:end 82
:contents-begin 11
:contents-end 82
:robust-begin 11
:robust-end 80
:post-blank 0
:post-affiliated 11
:mode section
:granularity element
:cached t
:parent
(headline
(:raw-value "Heading"
:begin 1
:end 82
:pre-blank 0
:contents-begin 11
:contents-end 82
:robust-begin nil
:robust-end nil
:level 1
:priority nil
:tags nil
:todo-keyword nil
:todo-type nil
:post-blank 0
:footnote-section-p nil
:archivedp nil
:commentedp nil
:post-affiliated 1
:LINK "[[https://orgmode.org/][Org mode for Emacs]]"
:title "Heading"
:mode first-section
:granularity element
:cached t
:parent
(org-data
(:begin 1
:contents-begin 1
:contents-end 82
:end 82
:robust-begin 3
:robust-end 80
:post-blank 0
:post-affiliated 1
:path "~/test.org"
:mode org-data
:CATEGORY "test"
:cached t))))))))))
#+end_src
In particular, the "link" element is not present, as would be the case
if the exact same link were not inside the property drawer. On the
other hand, the link is active (fontified, works, etc.). Thus,
`org-element.el` and `ol.el` seem to disagree as to what that part of
the buffer actually is.
Best regards,
Gustavo.
Emacs : GNU Emacs 29.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version
3.24.33, cairo version 1.16.0)
of 2023-07-30
Package: Org mode version 9.6.6 (release_9.6.6 @
/usr/local/share/emacs/29.1/lisp/org/)
current state:
==============
(setq
org-link-elisp-confirm-function 'yes-or-no-p
org-bibtex-headline-format-function #[257 "\300 \236A\207" [:title] 3
"\n\n(fn ENTRY)"]
org-persist-after-read-hook '(org-element--cache-persist-after-read)
org-export-before-parsing-hook '(org-attach-expand-links)
org-cycle-tab-first-hook '(org-babel-hide-result-toggle-maybe
org-babel-header-arg-expand)
org-archive-hook '(org-attach-archive-delete-maybe)
org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines
org-cycle-optimize-window-after-visibility-change
org-cycle-display-inline-images)
org-persist-before-read-hook '(org-element--cache-persist-before-read)
org-mode-hook '(#[0 "\300\301\302\303\304$\207"
[add-hook change-major-mode-hook org-fold-show-all append
local]
5]
#[0 "\300\301\302\303\304$\207"
[add-hook change-major-mode-hook org-babel-show-result-all
append local]
5]
org-babel-result-hide-spec org-babel-hide-all-hashes)
org-confirm-shell-link-function 'yes-or-no-p
outline-isearch-open-invisible-function 'outline-isearch-open-invisible
org-agenda-before-write-hook '(org-agenda-add-entry-text)
org-src-mode-hook '(org-src-babel-configure-edit-buffer
org-src-mode-configure-edit-buffer)
org-confirm-elisp-link-function 'yes-or-no-p
org-speed-command-hook '(org-speed-command-activate
org-babel-speed-command-activate)
org-persist-directory "/tmp/org-persist-DRjSU9"
org-fold-core-isearch-open-function 'org-fold--isearch-reveal
org-persist-before-write-hook '(org-element--cache-persist-before-write)
org-tab-first-hook '(org-babel-hide-result-toggle-maybe
org-babel-header-arg-expand)
org-link-shell-confirm-function 'yes-or-no-p
org-babel-pre-tangle-hook '(save-buffer)
org-agenda-loop-over-headlines-in-active-region nil
org-occur-hook '(org-first-headline-recenter)
org-metadown-hook '(org-babel-pop-to-session-maybe)
org-link-parameters '(("attachment" :follow org-attach-follow :complete
org-attach-complete-link)
("id" :follow org-id-open)
("eww" :follow org-eww-open :store org-eww-store-link)
("rmail" :follow org-rmail-open :store
org-rmail-store-link)
("mhe" :follow org-mhe-open :store org-mhe-store-link)
("irc" :follow org-irc-visit :store org-irc-store-link
:export org-irc-export)
("info" :follow org-info-open :export org-info-export
:store org-info-store-link :insert-description
org-info-description-as-command)
("gnus" :follow org-gnus-open :store
org-gnus-store-link)
("docview" :follow org-docview-open :export
org-docview-export :store org-docview-store-link)
("bibtex" :follow org-bibtex-open :store
org-bibtex-store-link)
("bbdb" :follow org-bbdb-open :export org-bbdb-export
:complete org-bbdb-complete-link :store
org-bbdb-store-link)
("w3m" :store org-w3m-store-link)
("doi" :follow org-link-doi-open :export
org-link-doi-export)
("file+sys") ("file+emacs")
("shell" :follow org-link--open-shell)
("news" :follow
#[514 "\301\300\302 Q \"\207"
["news" browse-url ":"] 6 "\n\n(fn URL ARG)"]
)
("mailto" :follow
#[514 "\301\300\302 Q \"\207"
["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"]
)
("https" :follow
#[514 "\301\300\302 Q \"\207"
["https" browse-url ":"] 6 "\n\n(fn URL ARG)"]
)
("http" :follow
#[514 "\301\300\302 Q \"\207"
["http" browse-url ":"] 6 "\n\n(fn URL ARG)"]
)
("ftp" :follow
#[514 "\301\300\302 Q \"\207" ["ftp" browse-url ":"]
6 "\n\n(fn URL ARG)"]
)
("help" :follow org-link--open-help :store
org-link--store-help)
("file" :complete org-link-complete-file)
("elisp" :follow org-link--open-elisp))
org-metaup-hook '(org-babel-load-in-session-maybe)
)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BUG] org-element-context doesn't recognize link inside property drawer [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)]
2023-09-22 18:11 [BUG] org-element-context doesn't recognize link inside property drawer [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)] Gustavo Barros
@ 2023-09-22 18:48 ` Gustavo Barros
2023-09-23 8:29 ` Ihor Radchenko
1 sibling, 0 replies; 4+ messages in thread
From: Gustavo Barros @ 2023-09-22 18:48 UTC (permalink / raw)
To: org-mode list
On Fri, 22 Sept 2023 at 15:11, Gustavo Barros <gusbrs.2016@gmail.com> wrote:
Sorry, some poor copy-paste from my part on the original report. The
following...
> (Setting `eval-expression-print-level' and
> `eval-expression-print-length' to nil).
... was meant to come after:
> Placing point on the link and calling `(org-element-context)' returns:
It doesn't make sense where it was placed.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BUG] org-element-context doesn't recognize link inside property drawer [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)]
2023-09-22 18:11 [BUG] org-element-context doesn't recognize link inside property drawer [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)] Gustavo Barros
2023-09-22 18:48 ` Gustavo Barros
@ 2023-09-23 8:29 ` Ihor Radchenko
2023-09-23 10:19 ` Gustavo Barros
1 sibling, 1 reply; 4+ messages in thread
From: Ihor Radchenko @ 2023-09-23 8:29 UTC (permalink / raw)
To: Gustavo Barros; +Cc: org-mode list
Gustavo Barros <gusbrs.2016@gmail.com> writes:
> When a link is placed as a property value, `org-element-context' does
> not recognize it as a link.
It is expected and intentional: https://list.orgmode.org/orgmode/877d8llha9.fsf@nicolasgoaziou.fr/.
> In particular, the "link" element is not present, as would be the case
> if the exact same link were not inside the property drawer. On the
> other hand, the link is active (fontified, works, etc.). Thus,
> `org-element.el` and `ol.el` seem to disagree as to what that part of
> the buffer actually is.
This is intentional. org-agenda and fontification deliberately recognize
links in more contexts compared to org-element and export. Same for
timestamps. For example, see `org-at-timestamp-p'.
For ol.el, the links are open inside property drawer for convenience.
Below is a code responsible for this case from `org-open-at-point':
;; No valid link at point. For convenience, look if something
;; looks like a link under point in some specific places.
((memq type '(comment comment-block node-property keyword))
(call-interactively #'org-open-at-point-global))
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BUG] org-element-context doesn't recognize link inside property drawer [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)]
2023-09-23 8:29 ` Ihor Radchenko
@ 2023-09-23 10:19 ` Gustavo Barros
0 siblings, 0 replies; 4+ messages in thread
From: Gustavo Barros @ 2023-09-23 10:19 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: org-mode list
Hi Ihor,
On Sat, 23 Sept 2023 at 05:28, Ihor Radchenko <yantar92@posteo.net> wrote:
>
> Gustavo Barros <gusbrs.2016@gmail.com> writes:
>
> > When a link is placed as a property value, `org-element-context' does
> > not recognize it as a link.
>
> It is expected and intentional: https://list.orgmode.org/orgmode/877d8llha9.fsf@nicolasgoaziou.fr/.
>
> > In particular, the "link" element is not present, as would be the case
> > if the exact same link were not inside the property drawer. On the
> > other hand, the link is active (fontified, works, etc.). Thus,
> > `org-element.el` and `ol.el` seem to disagree as to what that part of
> > the buffer actually is.
>
> This is intentional. org-agenda and fontification deliberately recognize
> links in more contexts compared to org-element and export. Same for
> timestamps. For example, see `org-at-timestamp-p'.
>
> For ol.el, the links are open inside property drawer for convenience.
> Below is a code responsible for this case from `org-open-at-point':
>
> ;; No valid link at point. For convenience, look if something
> ;; looks like a link under point in some specific places.
> ((memq type '(comment comment-block node-property keyword))
> (call-interactively #'org-open-at-point-global))
I didn't know that. Thanks for the detailed answer.
Best,
Gustavo.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-09-23 10:20 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-22 18:11 [BUG] org-element-context doesn't recognize link inside property drawer [9.6.6 (release_9.6.6 @ /usr/local/share/emacs/29.1/lisp/org/)] Gustavo Barros
2023-09-22 18:48 ` Gustavo Barros
2023-09-23 8:29 ` Ihor Radchenko
2023-09-23 10:19 ` Gustavo Barros
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).