* execute elisp link without prompt
@ 2021-05-21 16:11 Colin Baxter
2021-05-21 16:28 ` Nicolas Goaziou
0 siblings, 1 reply; 5+ messages in thread
From: Colin Baxter @ 2021-05-21 16:11 UTC (permalink / raw)
To: emacs-orgmode
Hello,
I have an elisp link of the form (without spaces, of course)
[ [elisp:(dired-other-window "/path/to/directory/") ][ Directory ] ].
The link works with the directory in appearing in dired window. However,
when I first click on the link, a dialog box is brought up asking me if
a I wish to execute the command. Of course, I do - and I click 'Yes'.
How can I go to link directly without being interrogated by the dialog
box?
Best wishes,
Colin Baxter.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: execute elisp link without prompt
2021-05-21 16:11 execute elisp link without prompt Colin Baxter
@ 2021-05-21 16:28 ` Nicolas Goaziou
2021-05-21 19:17 ` Colin Baxter
0 siblings, 1 reply; 5+ messages in thread
From: Nicolas Goaziou @ 2021-05-21 16:28 UTC (permalink / raw)
To: Colin Baxter; +Cc: emacs-orgmode
Hello,
Colin Baxter <m43cap@yandex.com> writes:
> I have an elisp link of the form (without spaces, of course)
> [ [elisp:(dired-other-window "/path/to/directory/") ][ Directory ] ].
>
> The link works with the directory in appearing in dired window. However,
> when I first click on the link, a dialog box is brought up asking me if
> a I wish to execute the command. Of course, I do - and I click 'Yes'.
>
> How can I go to link directly without being interrogated by the dialog
> box?
See org-link-elisp-confirm-function.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: execute elisp link without prompt
2021-05-21 16:28 ` Nicolas Goaziou
@ 2021-05-21 19:17 ` Colin Baxter
2021-05-21 22:01 ` Tom Gillespie
0 siblings, 1 reply; 5+ messages in thread
From: Colin Baxter @ 2021-05-21 19:17 UTC (permalink / raw)
To: emacs-orgmode
Dear Nicolas,
>>>>> Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
> Hello, Colin Baxter <m43cap@yandex.com> writes:
>> I have an elisp link of the form (without spaces, of course) [
>> [elisp:(dired-other-window "/path/to/directory/") ][ Directory ]
>> ].
>>
>> The link works with the directory in appearing in dired
>> window. However, when I first click on the link, a dialog box is
>> brought up asking me if a I wish to execute the command. Of
>> course, I do - and I click 'Yes'.
>>
>> How can I go to link directly without being interrogated by the
>> dialog box?
> See org-link-elisp-confirm-function.
Thank you. I tried setting 'org-link-elisp-confirm-function' to y-or-n-p
as suggested by ol.el, but it gave me a dialog box, as before, which I
had to click. In the end I've set as to nil as a local variable:
#+begin_src elisp
eval: (set (make-local-variable 'org-link-elisp-confirm-function) nil)
#+end_src
The doc-string says it's risky when used as a local variable, but it
seems to work. The variable returns to the global default 'yes-or-no-p'
when the buffer is killed.
Best wishes,
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: execute elisp link without prompt
2021-05-21 19:17 ` Colin Baxter
@ 2021-05-21 22:01 ` Tom Gillespie
2021-05-22 6:02 ` Colin Baxter
0 siblings, 1 reply; 5+ messages in thread
From: Tom Gillespie @ 2021-05-21 22:01 UTC (permalink / raw)
To: Colin Baxter; +Cc: emacs-orgmode
> In the end I've set as to nil as a local variable
If you want something a bit more secure you could use a function that
checks the block name ("some-block" in this example). Best!
Tom
(lambda (_lang _body)
(not
(string= "some-block"
(plist-get (cadr (org-element-at-point)) :name))))
#+begin_src elisp
(setq-local
org-confirm-babel-evaluate
(lambda (_lang _body)
(not
(string= "some-block"
(plist-get (cadr (org-element-at-point)) :name)))))
#+end_src
#+name: some-block
#+begin_src elisp
(message "yay!")
#+end_src
#+RESULTS: some-block
: yay!
#+name: some-other-block
#+begin_src elisp
(message "I ask to run")
#+end_src
#+RESULTS: some-other-block
: I ask to run
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: execute elisp link without prompt
2021-05-21 22:01 ` Tom Gillespie
@ 2021-05-22 6:02 ` Colin Baxter
0 siblings, 0 replies; 5+ messages in thread
From: Colin Baxter @ 2021-05-22 6:02 UTC (permalink / raw)
To: Tom Gillespie; +Cc: emacs-orgmode
>>>>> Tom Gillespie <tgbugs@gmail.com> writes:
>> In the end I've set as to nil as a local variable
> If you want something a bit more secure you could use a function
> that checks the block name ("some-block" in this example). Best!
> Tom
> (lambda (_lang _body) (not (string= "some-block" (plist-get (cadr
> (org-element-at-point)) :name))))
> #+begin_src elisp (setq-local org-confirm-babel-evaluate (lambda
> (_lang _body) (not (string= "some-block" (plist-get (cadr
> (org-element-at-point)) :name))))) #+end_src
> #+name: some-block #+begin_src elisp
> (message "yay!") #+end_src
> #+RESULTS: some-block : yay!
> #+name: some-other-block #+begin_src elisp
> (message "I ask to run") #+end_src
> #+RESULTS: some-other-block : I ask to run
Thanks Tom. I'll try this.
Best wishes,
Colin Baxter.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-05-22 6:03 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-05-21 16:11 execute elisp link without prompt Colin Baxter
2021-05-21 16:28 ` Nicolas Goaziou
2021-05-21 19:17 ` Colin Baxter
2021-05-21 22:01 ` Tom Gillespie
2021-05-22 6:02 ` Colin Baxter
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).