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 Thread Gustavo Barros
Hi Ihor,

On Sat, 23 Sept 2023 at 05:28, Ihor Radchenko  wrote:
>
> Gustavo Barros  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@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.



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 Thread Ihor Radchenko
Gustavo Barros  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@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 .
Support Org development at ,
or support my work at 



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 Thread Gustavo Barros
On Fri, 22 Sept 2023 at 15:11, Gustavo Barros  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.



[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 Thread Gustavo Barros
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)