2014-05-15 66 views
0

我有一個問題,同時調用emacs來評估一些從Windows PowerShell的elisp。它似乎是一個用引號的問題,但我無法弄清楚:emacs -eval從powershell

這是我執行命令:

PS> emacs.exe --eval '(with-current-buffer "*scratch*" (insert "Hi"))' 

然後Emacs將打開,我得到的*回溯下面的消息*緩衝區:

Debugger entered--Lisp error: (void-variable *scratch*) 
(set-buffer *scratch*) 
(save-current-buffer (set-buffer *scratch*) (insert Hi)) 
(with-current-buffer *scratch* (insert Hi)) 
eval((with-current-buffer *scratch* (insert Hi))) 
command-line-1(("--eval" "(with-current-buffer *scratch* (insert Hi))")) 
command-line() 
normal-top-level() 

如何運行任何幫助正確的將是aweso我。

感謝

+0

逃脫你的報價 –

+0

@JordonBiondo:怎麼樣? – LarsH

+0

@JordonBiondo我沒有看到一個方法如何可以在這裏逃脫報價。任何建議? – quicoju

回答

2

播放,同時與報價後,我意識到,我需要通過Emacs的轉義字符爲雙引號。所以終於爲我工作的命令是:

PS> emacs.exe --eval '(with-current-buffer \"*scratch*\" (insert \"Hi\"))' 

謝謝大家的幫助。