2015-03-30 175 views
1

我正在使用emacs版本24.4.2。出於某種原因,我不能使用流浪漢。任何試圖這樣做,即試圖鍵入/sudo::導致應用程序的一個小竅門跟以下錯誤消息中緩衝:Emacs流量導致堆棧溢出

expand-file-name: Lisp nesting exceeds `max-lisp-eval-depth' 

我能做些什麼來解決這個錯誤或正確診斷呢?

更新:調試顯示問題的來源是ido。目前,它設置了以下內容:

(setq ido-everywhere t) 
    (ido-mode t) 
    (setq ido-enable-flex-matching t) 

回答

0

設置debug-on-error到非nil。看看哪個函數叫做expand-file-name,產生錯誤。然後嘗試M-x debug-on-entry F,其中F是該函數,並通過d來調試程序以查看會發生什麼。在使用調試器的同時,在另一個窗口中查看定義該函數的代碼。

您還可以嘗試,首先查看當您啓動Emacs而不使用init文件時是否得到相同的中斷行爲:emacs -Q。如果沒有,然後遞歸地平分你的init文件來找出它的哪一部分引入了這個問題。

我的水晶球在向我耳語,你已經建議了一個函數,直接或間接地告訴它自己。

+0

感謝您的建議。你在幾個賬戶上是正確的:在沒有init文件的情況下啓動會導致tramp的正確行爲。調試會導致「ido-find-file」,據我所知,它是映射「find-file」。這是我能解決的問題,我想。但是,有關如何設置ido與tramp一起工作的建議將不勝感激。 – Srv19 2015-03-30 20:55:54

+0

對不起,其他人將不得不提供幫助。我不使用伊多。 ;-) – Drew 2015-03-30 21:42:33