如何以批处理模式 运行 emacs 并使其自动跟随 GIT 存储库链接

How to run emacs in batch mode and have it automatically follow GIT Repository Links

我正在尝试 运行 在 Git 控制的 Verilog 源文件上使用 Emacs。我还将 emacs 设置为遵循符号 links。但尽管如此,我还是得到了这个 -

    emacs -batch real_wrap.sv -f verilog-auto -f save-buffer -l verilog-mode  --eval="(set vc-follow-symlinks t)"
    Loading /usr/share/emacs/site-lisp/site-start.d/auctex.el (source)...
    Loading /usr/share/emacs/site-lisp/site-start.d/focus-init.el (source)...
    Loading /usr/share/emacs/site-lisp/site-start.d/gnuplot-init.el (source)...
    Loading /usr/share/emacs/site-lisp/site-start.d/php-mode-init.el (source)...
    Loading /usr/share/emacs/site-lisp/site-start.d/po-mode-init.el (source)...
    Loading /usr/share/emacs/site-lisp/site-start.d/preview-latex.el (source)...
    Loading /usr/share/emacs/site-lisp/site-start.d/rpm-spec-mode-init.el (source)...
    Loading /usr/share/emacs/site-lisp/site-start.d/rpmdev-init.el (source)...
    Loading vc-git...
    Symbolic link to Git-controlled source file; follow link? (yes or no) 

Emacs 仍在进入交互模式并询问是否(或不)遵循 link。关于如何不让 Emacs 执行此操作的任何想法? Emacs的版本是23.1.1

正如@Serge 在评论中指出的那样,您的错误是使用 set 而不是 setq

vc-follow-symlinks的默认值是符号ask。因此 (set vc-follow-symlinks t) 等同于 (setq ask t) 并且对 vc-follow-symlinks 的值没有任何影响,而是为名为 ask.

的变量设置一个值

setq 中的“q”表示“引用”,因为它的符号参数未 计算,而 set 的参数确实被计算.您可以使用 (set 'vc-follow-symlinks t) 手动引用参数,但实际上您总是会使用 setq.