在后台运行文件?

时间:2013-05-17 13:20:08

标签: emacs elisp

我正在编写一个elisp函数,用于对符号进行简短的帮助描述:

(defun set-up-tooltip()
    ;; search for the text to be highlighted
    ...
    (add-text-properties (match-beginning 0)
                         (match-end 0)
                         '(mouse-face highlight
                                      help-echo (get-help-text (match-beginning 0)))

(get-help-text )函数需要打开另一个文件来搜索文本。问题是:如何在后台打开此文件以便用户不会注意到?我试过了:

(defun get-help-text(
    (save-excursion
      (with-temp-buffer
         (find-file "lookup-file")
         ;;search for the text
         ...
             )))))

这里,在临时缓冲区中打开的文件在我调用该函数的窗口中打开,而不是在后台打开。这种任务是否有惯用的方式?

2 个答案:

答案 0 :(得分:1)

您正在寻找功能insert-file-contents

insert-file-contents is a built-in function in `C source code'.

(insert-file-contents FILENAME &optional VISIT BEG END REPLACE)

Insert contents of file FILENAME after point.

find-file内使用{而不是with-temp-buffer,你应该达到你想要的效果。

答案 1 :(得分:0)

您可以考虑使用功能find-file-noselect