2009-12-06 2 views
8

필자는 문서를보고 커스터마이징 및 다양한 작업을 시도했지만 Flymake는 원본 파일이있는 디렉토리에 항상 임시 파일을 저장합니다.flymake를 임시 파일 용으로 특정 디렉토리를 사용하도록 구성 하시겠습니까?

이유는 이것이 큰 문제입니다. 왜냐하면 gdb를 사용하여 프로그램을 단계적으로 실행할 때 가끔 STL 파일이나 비 사용자 디렉토리의 다른 파일에 들어가기 때문입니다. 자주 이것은 내 gdb 프로세스가 어떤 이유로 든 응답을 멈추게합니다. 즉, 처음부터 다시 돌아가서 Flymake를 전역 적으로 사용하지 않거나 Dir에서 다른 find 파일을 수행 할 필요가 없다는 것을 의미합니다. 내 이맥스 프로세스에 대한 쓰기 권한이 없습니다.

플라이 메이크가 항상 임시 파일을 생성하도록하는 좋은 방법이 있습니까? ~/.emacs.d/tmp?

답변

5

최근 버전은 "올바른 위치"를 저장합니다. 다음은 "intemp"를 저장하는 간단한 해킹입니다. http://blog.arithm.com/2011/01/27/save-_flymake-files-in-a-temporary-directory/

+0

파이썬/플라이 메이크에 대해 defun을 약간 수정해야했지만 실제로 작동했습니다. 나는 수정 된 defun을 해당 페이지에 주석으로 추가했습니다. 그리고 Jonatan Linden의 대답처럼 '임시 파일 디렉토리'가 정의되어 있어야합니다. – quodlibetor

+0

@quodlibetor 몇 가지 모드를 별도로 지정할 필요는 없지만 일반적으로 (LaTeX, Python 등) 일반적인 방법을 찾았습니까? – PascalVKooten

+0

미안 @Dualinity 나는 이것을 일반화하려고 시도 할 정도로 충분하지 않았다. – quodlibetor

0

잘 모르겠지만 C#의 경우 flymake는 flymake-get-make-cmdline 함수를 다시 정의합니다.

flymake에서 실행할 명령 줄 문자열을 반환합니다. 임시 파일 위치를 지능적으로 지정하는 명령 줄, 실행중인 컴파일러에 상관없이 원하는대로 반환하도록 함수를 수정할 수 있다고 가정합니다.

2

이 나를 위해 잘 작동 : 이맥스의

(setq temporary-file-directory "~/.emacs.d/tmp/") 
+0

이맥스를 업그레이드했을 때 작동이 멈췄다는 사실을 눈치 챘지만 결코 고치지 않았습니다. nurikabe의 답변은 당신과 함께 나를 위해 그것을했다. – quodlibetor

관련 문제