orgmode - 禁用elisp代码执行确认对话框

时间:2017-07-28 17:40:16

标签: elisp org-mode

当用户点击链接时,我有以下代码调用elisp函数“myfun”:

#+BEGIN_SRC elisp :results output raw
  (defun myfun(filepath lineno)
    (if (not (get-buffer bufname))
        (get-buffer-create bufname)
      )
    (switch-to-buffer-other-window bufname)
    (global-linum-mode)
    (erase-buffer)
    (insert-file-contents (format "%s" filepath))
    (goto-char (point-min))
    (forward-line lineno)
    (setq start (point))
    (forward-line -1)
    (setq end (point))
    (let ((x (make-overlay start end)))
      (overlay-put x 'face '(:background "#fef0f1")))
    )

  (defun createSampleFile(file-name count)
    (let ((c 0))
      (with-temp-buffer
        (while (< c (* 2 count))
          (setq c (1+ c))
          (insert (format "line %d\n" c))
          (write-file filename)
          ))))

  (let ((c 0)(filename nil))
    (while (< c 4)
      (setq c (1+ c))
      (setq filename (format "./test%d.txt" c))
      (createSampleFile filename c)
      (princ (format "[[elisp:(myfun '%s' %d)][%s]]\n" filename c filename))
      ))
#+END_SRC

#+RESULTS:
[[elisp:(myfun './test1.txt' 1)][./test1.txt]]
[[elisp:(myfun './test2.txt' 2)][./test2.txt]]
[[elisp:(myfun './test3.txt' 3)][./test3.txt]]
[[elisp:(myfun './test4.txt' 4)][./test4.txt]]

但是当点击链接时,我总是得到以下提示警告对话框: enter image description here

我们可以禁用该对话框吗?

1 个答案:

答案 0 :(得分:4)

将以下行添加到init.el:

(setq org-confirm-elisp-link-function nil)