[Quoting trimmed for the most relevant context.] > On Jan 11, 2019, at 7:12 PM, Berry, Charles <ccbe...@ucsd.edu> wrote: > >> On Jan 5, 2019, at 7:41 AM, Win Treese <tre...@acm.org> wrote: >> >>> On Jan 5, 2019, at 5:25 AM, Eric S Fraga <esfli...@gmail.com> wrote: >>> >>> On Friday, 4 Jan 2019 at 19:38, Win Treese wrote: >>>> Suppose I have the following Org file contents: >>>> >>>> * test >>>> >>>> #+BEGIN_SRC emacs-lisp >>>> (setq yyy 3) >>>> ;; See https://www.gnu.org >>>> #+END_SRC >>>> >>>> The URL for gnu.org is highlighted as a clickable link. But if I click >>>> it, the source block is evaluated. This seems rather unexpected, >>>> especially since my intention was to open the link. >>> >>> Probably expected albeit maybe not your preferred behaviour; all about >>> precedence. In any case, I would suggest that the easy solution would >>> be to move such links out of the src block.
>> This seems like a slightly bigger problem, though: clicking on a highlighted >> link doesn’t just fail to open the link, it executes the source block, which >> can >> have very unintended side effects. >> >> I wonder if the issue is an artifact of implementation rather than >> intentional >> design: org-open-at-mouse sets point to the location of the click and then >> calls org-open-at-point. The documentation at points says that C-c C-o in >> a source block opens the results of evaluation (fair enough, although the >> docstring does not). >> >> So the problem seems to be about the mouse click behavior, not the basic >> function of org-open-at-point. > > AFAICS, the issue is with org-open-at-point. > > If you really want to `fix' this, there is a hook that allows customization > of the behavior of org-open-at-point. > > This snippet will add a function to that hook that will attempt to follow a > link, when you click on a link in a src-block: [Example code with function added to org-open-at-point-functions elided.] Chuck, Thanks for the code. You’re right—the proximate problem is in org-open-at-point. Unfortunately, org-open-at-point calls org-babel-open-src-block-result first thing, wrapped by unless, before it gets to running the hook. Plausible changes would be to treat this as a mouse click issue and change org-open-at-mouse, or to change the precedence in org-open-at-point, which Eric suggested is a way to look at the problem. For the moment, I’m going to use a personal version of org-open-at-mouse, but I still think that running the code in a block when a URL is clicked is an unusual but potentially big problem for someone. Thanks, Win