Например, у меня есть эта установка в моем .emacsКак вызвать всплывающее окно от emacs программно?
(defun gtags-create-or-update()
"Create or update the gnu global tag file."
(interactive)
(if (y-or-n-p-with-timeout
(format "Run gtags to create/update tag file for code at %s (default no)? "
default-directory)
5 nil) ; default - no run
(unless (= 0 (call-process "global" nil nil nil " -p")) ; tagfile doesn't exist?
(let ((olddir default-directory)
(topdir (read-directory-name
"gtags: top of source tree: " default-directory)))
(cd topdir)
(shell-command "gtags -v")
;; (shell-command "gtags && echo 'created tagfile'")
(cd olddir)) ; restore
;; tagfile already exists; update it
(shell-command "global -uv"))))
;; (shell-command "global -u && echo 'updated tagfile'")))
(add-hook 'c-mode-common-hook
(lambda()
(require 'gtags)
(gtags-mode t)
(gtags-create-or-update)))
Когда я бегу gtags-create-or-update
явно, Emacs подскажите в минибуфер спросить меня, нужно ли создавать/обновлять файлы тегов. Однако, когда я открываю файл c/cpp, он всегда выдает окно GUI, спрашивая меня, да или нет, что очень раздражает. Мне интересно, почему это происходит.
Как вы открываете свои файлы c/cpp? Когда пользователь задает вопрос, Emacs обычно использует окно GUI, если инициирующее действие было инициировано с помощью мыши, и минибуфер, если он был инициирован клавиатурой. – phils
открыть файлы с 'C-x C-f', поэтому он не должен использовать окно GUI. – RNA
@phils: Маленькая нитика, она использует область эха, а не минибуфер. –