2011-03-24 5 views
23

지금까지 필자는 .emacs 파일에 코드를 자르고 붙여 넣었지만 이맥스에 일부 maven 기능을 추가하기로 결정했습니다. 자, 내가 어떻게 이것을 망쳐 놓았는지는 모르겠지만 어젯밤에 나는 M-x jarl-mvn-exec을 실행할 때 제목에 넣은 오류를 계속 지켰다. 나는 그 곳에서 잠을 잤고 그 다음날 되돌아 왔지만 나는 아직 어디에도 가지 않고있다.타입 인자가 잘못되었습니다 : stringp, nil

(defun jarl-get-pom() 
    (concat (locate-dominating-file 
     (buffer-file-name 
     (current-buffer)) 
     "pom.xml") 
     "pom.xml")) 

(defun jarl-visit-pom() 
    (interactive) 
    (find-file (jarl-get-pom))) 

(defun jarl-mvn-exec() 
    (interactive) 
    (switch-to-buffer (get-buffer-create "maven")) 
    (start-process-shell-command "mvn-exec" "maven" "mvn" "-f" (jarl-get-pom) "compile") 
    (start-process-shell-command "mvn-exec" "maven" "mvn" "-f" (jarl-get-pom) "exec:exec")) 

답변

31

자세한 정보를 제공해야합니다. 설정을 시도하십시오

어떤 문자열이 0 인 지 불평하는 기능을 보여주는 스택 추적을 제공합니다.

내 생각에 buffer-file-name은 nil을 반환하며 문제가있는 곳입니다 (모든 버퍼에 파일 이름이있는 것은 아닙니다). debugging 섹션이 An Introduction To Programming in Emacs Lisp이거나 이멕스 리스프 매뉴얼의 debugging 섹션을 확인하십시오.

+0

필자의 의도는 emacs의 현재 버퍼 파일 위에 pom을 가져 오는 것이지만, 다른 파일 (파일이없는 파일)로 버퍼를 전환하여 내 maven 명령의 결과를 확인했습니다. – HahaHortness

11

초기화 파일에서 문제를 찾는 비밀은 바이너리 검색입니다.

comment-region을 사용하여 초기화 파일의 절반을 주석 처리 한 다음 3/4, 7/8, ... 매우입니다. comment-region도 주석 처리되지 않음 : C-h f comment-region RET.