emacs가 수정 된 파일에 대한 임시 심볼릭 링크를 만드는 이유는 무엇입니까?
버퍼를 수정할 때 Emacs는 편집중인 파일 (예 : foo.c)과 동일한 디렉토리에 임시 심볼릭 링크를 자동으로 생성합니다.
.#foo.c -> user@host.12345:1296583136
여기서 '12345'는 Emacs 'PID입니다 (마지막 숫자가 무엇을 의미하는지 모르겠습니다).
Emacs가 이러한 링크를 생성하는 이유는 무엇이며이를 방지하려면 어떻게해야합니까?
자동 저장 모드 ( M-x auto-save-mode)를 끄고 백업 파일 ( M-x set-variable -> make-backup-files -> nil)을 비활성화했습니다 . 수정 된 버퍼를 저장하거나 변경 사항을 취소하면 심볼릭 링크가 사라집니다.
특히, 나는 Emacs가 이러한 링크를 만드는 것을 막으려 고합니다. 왜냐하면 그것들이 디렉토리 타임 스탬프를 수정하게해서 우리 빌드 시스템이 하나의 변경된 파일을 컴파일하고 링크하는 대신 전체 모듈을 다시 빌드하게하기 때문입니다.
입력 해 주셔서 감사합니다!
업데이트 : Emacs가 연동 파일을 영구적으로 생성하는 것을 방지하기 위해 src/filelock.c사용자 지정 바이너리를 변경 하고 빌드 할 수 있습니다 .
void
lock_file (fn)
Lisp_Object fn;
{
return;
// Unused code below...
}
업데이트 2 : Arne의 대답이 맞습니다. 이제 .emacs 파일에 다음을 추가하여 최신 Emacs (24.3.1)에서 잠금 파일을 비활성화 할 수 있습니다.
(setq create-lockfiles nil)
업데이트 :이 새로운 설정을 완벽하게 지원하는 Emacs 24.3이 출시되었습니다!
emacs의 현재 트렁크에서 간단히 create-lockfiles 변수를 사용자 정의 할 수 있습니다.
C-h v create-lockfiles
문서 : Non-nil은 충돌 편집을 피하기 위해 잠금 파일을 사용함을 의미합니다.
init 파일에서 다음을 설정할 수 있습니다.
(setq create-lockfiles nil)
그것을 통해 얻으십시오
bzr branch bzr://bzr.savannah.gnu.org/emacs/trunk emacs-trunk
make
src/emacs
(나는 이것에 대해 알게되었다. 왜냐하면 내가 활동적이되기로 결정하고 나 자신과 같은 옵션을 추가하기로 결정했기 때문이다… :))
심볼릭 링크는 emacs의 파일 연동 시스템입니다. 심볼릭 링크는 emacs 인스턴스가이 파일을 편집하고 있음을 나타냅니다. 다른 인스턴스가 동일한 파일을 편집하려고하면 emacs가 경고를 표시합니다. 참조 http://www.gnu.org/software/emacs/manual/html_node/emacs/Interlocking.html를
이것은 자동 저장과 관련이 없습니다.
emacs 내에서 파일 잠금을 수정하거나 비활성화하는 방법을 찾을 수 없습니다.
'Nice programing' 카테고리의 다른 글
| "abstract : true"상태에 URL을 지정하는 이유는 무엇입니까? (0) | 2020.11.08 |
|---|---|
| 장고 메시지 단위 테스트는 어떻게하나요? (0) | 2020.11.08 |
| cron없이 AWS에서 예약 된 작업 실행 (0) | 2020.11.08 |
| typescript의 module.exports (0) | 2020.11.08 |
| 앱 소스는 언제 테스트 대상에 포함되어야합니까? (0) | 2020.11.08 |