manywaypark's Blog
개발, 검색, 함수

먹고 살려고 windows 환경에서 emacs를 쓰고 있는데, 어느 순간엔가 제목과 같은 에러가 나면서 emacs가 시작조차 되지 않았다.

emacs가 안되면 나는 아무것도 할 수 없는 상태... 완전 맨붕.

*Messages* buffer의 내용은 아래와 같았다.

......

Desktop: 367.00ms to restore ~/.emacs.d/custom.el

Entering debugger...

condition-case: Variable binding depth exceeds max-specpdl-size

Error in post-command-hook (global-rinari-mode-check-buffers): (error "Variable binding depth exceeds max-specpdl-size")

Mark activated

rinari-root: Lisp nesting exceeds `max-lisp-eval-depth'

......

검색해봐도 별로 유의미한 것은 없었고 rinari는 ruby 관련 패키지라는 것 말고는 알아낸게 없었다 (난 ruby 쓰지도 않음).

얼마전부터 개별 패키지 설치를 하지 않고(너무 많아서 귀찮음) 대부분의 각종 설정을 해주는 emacs.d를 잘 쓰고 있었는데 거기에는 desktop이라는 패키지도 기본으로 포함되어 있었다. emacs 종료 직전의 상태(열린 파일 즉 버퍼 등)로 복구해주는 아주 유용한 패키지인데, 파일들을 열다가 상기 메시지를 뿌리는 것으로 보아 좀 의심이 갔다. 설정 파일(~/.emacs.d/.emacs.desktop)을 열어 보았다.
에러 메시지를 뿌리기 직전 custom.el을 열고 그 다음에 remote server의 파일(//으로 시작하는 path)을 열면서 에러가 난 것으로 추정되었다.

기억을 더듬어 보니 며칠전에 remote file server에 있는 파일을 drag & drop으로 열려고 시도했는데 제대로 열리지 않아서 local로 옮겨서 열었던것이 용케 떠올랐다 (사실 rebooting 요구하는 windows update만 안했어도 몇주 이상 더 띄워 놓았을 거다).
해당 부분을 파일에서 삭제하고 emacs를 시작했더니 제대로 올라왔다.
해당 부분(lisp expression 이다):
(desktop-create-buffer 206
  "//a.file.server/path/to/file"
  "file"
  'fundamental-mode
  '(anzu-mode global-auto-revert-mode whitespace-cleanup-mode undo-tree-mode whole-line-or-region-mode hes-mode auto-compile-on-load-mode)
  1
  '(nil nil)
  nil
  nil
  '((buffer-file-coding-system . iso-latin-1-dos)))

간만에 구글느님께서도 정답을 알려주지 못하는 문제가 생겨서 삽질좀했다.

happy hackin'



분류 전체보기 (306)
잡담 (20)
함수형 언어 (65)
emacs (16)
java (18)
tips & tricks (154)
사랑 (1)
가사 (0)
독서 (4)
mobile (6)
비함수형 언어 (2)

공지사항

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

04-20 04:50