我正在编写一个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
...
)))))
这里,在临时缓冲区中打开的文件在我调用该函数的窗口中打开,而不是在后台打开。这种任务是否有惯用的方式?
答案 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
。