* overlap between cite syntax and link activation @ 2022-04-03 23:44 John Kitchin 2022-04-04 0:55 ` Bruce D'Arcus 0 siblings, 1 reply; 6+ messages in thread From: John Kitchin @ 2022-04-03 23:44 UTC (permalink / raw) To: org-mode-email [-- Attachment #1: Type: text/plain, Size: 1024 bytes --] I think there is some overlap between the org-cite syntax and org-link activation. Consider this org-cite: [cite/noauthor/bare:@key] Now define this link: #+BEGIN_SRC emacs-lisp (org-link-set-parameters "bare" :help-echo "BARE LINK" :activate-func (lambda (start end path _bracketp) (message-box "%S activating bare" (list start end path)) (put-text-property start end 'face '(:foreground "OrangeRed1")))) #+END_SRC When I put my cursor on the org-cite line and press spc, I see a message box pop up, and the @key has a tooltip of "BARE LINK". I guess this means the activate-func is being used too aggressively. It looks like it is called after (re-search-forward org-link-any-re limit t). This does seem to match the cite syntax above. Does anyone else see this? John ----------------------------------- Professor John Kitchin (he/him/his) Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu [-- Attachment #2: Type: text/html, Size: 1631 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: overlap between cite syntax and link activation 2022-04-03 23:44 overlap between cite syntax and link activation John Kitchin @ 2022-04-04 0:55 ` Bruce D'Arcus 2022-04-22 12:47 ` Bruce D'Arcus 0 siblings, 1 reply; 6+ messages in thread From: Bruce D'Arcus @ 2022-04-04 0:55 UTC (permalink / raw) To: John Kitchin; +Cc: org-mode-email On Sun, Apr 3, 2022 at 7:46 PM John Kitchin <jkitchin@andrew.cmu.edu> wrote: ... > When I put my cursor on the org-cite line and press spc, I see a message box pop up, and the @key has a tooltip of "BARE LINK". .... > Does anyone else see this? Yes; I see the same thing with your example. Bruce ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: overlap between cite syntax and link activation 2022-04-04 0:55 ` Bruce D'Arcus @ 2022-04-22 12:47 ` Bruce D'Arcus 2022-04-22 17:10 ` Nicolas Goaziou 0 siblings, 1 reply; 6+ messages in thread From: Bruce D'Arcus @ 2022-04-22 12:47 UTC (permalink / raw) To: John Kitchin; +Cc: org-mode-email Nicolas (or Ihor?) - can you take a look at this too? It's the second of the two stoppers that John identified. He seems to have reported a related issue last August, but it slipped through the cracks. https://lists.gnu.org/archive/html/emacs-orgmode/2021-08/msg00303.html On Sun, Apr 3, 2022 at 8:55 PM Bruce D'Arcus <bdarcus@gmail.com> wrote: > > On Sun, Apr 3, 2022 at 7:46 PM John Kitchin <jkitchin@andrew.cmu.edu> wrote: > ... > > > When I put my cursor on the org-cite line and press spc, I see a message box pop up, and the @key has a tooltip of "BARE LINK". > > .... > > > Does anyone else see this? > > Yes; I see the same thing with your example. > > Bruce ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: overlap between cite syntax and link activation 2022-04-22 12:47 ` Bruce D'Arcus @ 2022-04-22 17:10 ` Nicolas Goaziou 2022-04-24 7:19 ` Ihor Radchenko 0 siblings, 1 reply; 6+ messages in thread From: Nicolas Goaziou @ 2022-04-22 17:10 UTC (permalink / raw) To: Bruce D'Arcus; +Cc: org-mode-email, John Kitchin Hello, "Bruce D'Arcus" <bdarcus@gmail.com> writes: > Nicolas (or Ihor?) - can you take a look at this too? > > It's the second of the two stoppers that John identified. > > He seems to have reported a related issue last August, but it slipped > through the cracks. > > https://lists.gnu.org/archive/html/emacs-orgmode/2021-08/msg00303.html One short-term solution would be to use the same function to fontify links and cites. I.e., "org.el" could define `org-activate-cites-and-links', which in turn, would dispatch work to either `org-activate-links' or `org-cite-activate'. A long-term solution would be to apply fontification on top of parsed data exclusively. IIRC, I think Ihor started to work on something like this, but I don't know about the current state of that project. Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: overlap between cite syntax and link activation 2022-04-22 17:10 ` Nicolas Goaziou @ 2022-04-24 7:19 ` Ihor Radchenko 2022-04-24 9:03 ` Nicolas Goaziou 0 siblings, 1 reply; 6+ messages in thread From: Ihor Radchenko @ 2022-04-24 7:19 UTC (permalink / raw) To: Nicolas Goaziou; +Cc: org-mode-email, Bruce D'Arcus, John Kitchin [-- Attachment #1: Type: text/plain, Size: 1171 bytes --] Nicolas Goaziou <mail@nicolasgoaziou.fr> writes: >> It's the second of the two stoppers that John identified. >> >> He seems to have reported a related issue last August, but it slipped >> through the cracks. >> >> https://lists.gnu.org/archive/html/emacs-orgmode/2021-08/msg00303.html > A long-term solution would be to apply fontification on top of parsed > data exclusively. IIRC, I think Ihor started to work on something like > this, but I don't know about the current state of that project. Yeah, but I afraid that I will have to implement object-level caching to get sustainable performance. Currently, I got something semi-working in https://github.com/yantar92/org/tree/feature/org-font-lock-element, but it still chocks on large paragraphs with a lot of emphasis objects. > One short-term solution would be to use the same function to fontify > links and cites. I.e., "org.el" could define > `org-activate-cites-and-links', which in turn, would dispatch work to > either `org-activate-links' or `org-cite-activate'. A quick temporary fix could be like the attached. Or checking (org-element-context) instead of direct call to citation parser. Best, Ihor [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-org-cite-activate-Temporary-fix-to-not-fontify-links.patch --] [-- Type: text/x-patch, Size: 1201 bytes --] From 033677f02141f498ca3e1a84e85bb4c9a6d189c9 Mon Sep 17 00:00:00 2001 Message-Id: <033677f02141f498ca3e1a84e85bb4c9a6d189c9.1650784539.git.yantar92@gmail.com> From: Ihor Radchenko <yantar92@gmail.com> Date: Sun, 24 Apr 2022 15:14:26 +0800 Subject: [PATCH] org-cite-activate: Temporary fix to not fontify links as citations * lisp/oc.el (org-cite-activate): Use heuristics to check previous char to determine if current match is not citation, but link. --- lisp/oc.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/oc.el b/lisp/oc.el index 360f1fadc..147bda368 100644 --- a/lisp/oc.el +++ b/lisp/oc.el @@ -1214,7 +1214,9 @@ (defun org-cite-activate (limit) #'org-cite-fontify-default))) (when (re-search-forward org-element-citation-prefix-re limit t) (let ((cite (org-with-point-at (match-beginning 0) - (org-element-citation-parser)))) + (and (or (bolp) + (not (eq ?\[ (char-before)))) + (org-element-citation-parser))))) (when cite (funcall activate cite) ;; Move after cite object and make sure to return -- 2.35.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: overlap between cite syntax and link activation 2022-04-24 7:19 ` Ihor Radchenko @ 2022-04-24 9:03 ` Nicolas Goaziou 0 siblings, 0 replies; 6+ messages in thread From: Nicolas Goaziou @ 2022-04-24 9:03 UTC (permalink / raw) To: Ihor Radchenko; +Cc: Bruce D'Arcus, org-mode-email, John Kitchin Hello, Ihor Radchenko <yantar92@gmail.com> writes: > A quick temporary fix could be like the attached. I don't think this is sufficient. As demonstrated by John Kitchin in its message from April 4, plain link with type "bare" bare:@key matches [cite/noauthor/bare:@key] > Or checking (org-element-context) instead of direct call to citation > parser. This is morally equivalent to use the parser for fontification, which is the long-term solution exposed before. Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-04-24 9:04 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-04-03 23:44 overlap between cite syntax and link activation John Kitchin 2022-04-04 0:55 ` Bruce D'Arcus 2022-04-22 12:47 ` Bruce D'Arcus 2022-04-22 17:10 ` Nicolas Goaziou 2022-04-24 7:19 ` Ihor Radchenko 2022-04-24 9:03 ` Nicolas Goaziou
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).