2017-05-05 2 views
1

기본 이맥스 cc-mode.el을 다른 파일로 덮어 쓰고 싶습니다. 이 지역 이맥스 설정 파일을로드 제대로 작동어떻게 Emacs에서 기본 모드 파일을 무시할 수 있습니까?

(add-to-list 'load-path "/usr/home/smooth/emacs" t) 

: 내 .emacs, 나는 다음 줄을 가지고있다. 예를 들어

(require 'go-mode-autoloads) 

위의 디렉토리에서 go-mode.el를로드하기 위해 노력하고 있습니다.

기본 이맥스 c-mode을 무시하기 위해 위의 디렉토리에 필요한 cc-mode.el 파일을 배치 해 보았습니다. 그러나 /usr/home/smooth/emacs에 넣은 cc-mode.el 파일을로드하지 않았습니다. 그 대신 기본 작업을 계속 사용했습니다.

Emacs가 내 cc-mode.el 파일을 사용하고 기본 파일이 아닌 파일을 사용하도록하려면 어떻게해야합니까? 이미 광범위하게 Google을 검색하고 Emacs Wiki를 시도했지만 올바른 페이지를 찾을 수 없습니다.

다른 방법으로 시스템 기본값이 아닌 c-mode에 다른 파일을 사용하도록 Emacs를 설정할 수 있습니까? 현재 cc-mode.el의 이름을 다른 이름으로 바꿔도 상관 없습니다.

내 이맥스 버전은 25.2입니다.

+0

일반적으로'cc-mode'가'load-path' 수정 전에로드되지 않았다면, 당신이했던 것은 일반적으로 작동 할 것입니다. – phils

+0

Emacs Wiki를보고, "로드 경로"의 끝에 "t"가 없다는 것을 알아 냈으므로 제거하고 작업을 시작했습니다.위의 "t"는 문제의 원인 일 수 있습니다. 매우 이상한 점은 내가 돌아 다니려고 시도했던 cc 모드의 오작동 또한 사라 졌다는 것입니다. 위의 "t"는 다른 종류의 오류를 유발했을 수 있습니다. Emacs Wiki 페이지는 https://www.emacswiki.org/emacs/LoadPath를 참조하십시오. –

+0

이 페이지를 찾았습니다 : https://www.gnu.org/software/emacs/manual/html_node/elisp/List-Variables.html. '보통 요소가 추가되면 symbol의 앞에 추가되지만, 옵션 인자 append가 nil이 아닌 경우 끝에 추가됩니다. '마지막에 추가하는 것 같습니다. 며칠 전 이맥스 25.2로 바꿀 때까지 작동했기 때문에 왜 그렇게 끔찍하게 cc-mode가 깨 졌는지 확신 할 수 없습니다. 이제는 잘 작동하고 있습니다. –

답변

0

Emacs Wiki를 보면 "로드 경로"끝에 "t"가 없다는 것을 알았으므로 제거하고 작업을 시작했습니다. 위의 "t"는 문제의 원인 일 수 있습니다. 매우 이상한 점은 내가 돌아 다니려고 시도했던 cc 모드의 오작동 또한 사라 졌다는 것입니다. 위의 "t"는 다른 종류의 오류를 유발했을 수 있습니다. Emacs Wiki 페이지는 emacswiki.org/emacs/LoadPath를 참조하십시오.

이 페이지를 찾았습니다 : gnu.org/software/emacs/manual/html_node/elisp/.... 이것은 보통 요소가 추가되면 symbol의 앞에 추가되지만, 선택적 인수 append가 nil이 아닌 경우 끝에 추가됩니다. 내가 마지막에 추가하고있는 것 같습니다. 며칠 전 이맥스 25.2로 바꿀 때까지 작동했기 때문에 왜 그렇게 끔찍하게 cc-mode가 깨 졌는지 확신 할 수 없습니다. 이제는 잘 작동하고 있습니다.

+0

'add-to-list'에서 APPEND와 같은 선택적 매개 변수는 부울입니다. 즉, 'nil'이거나 nil이 아닌 경우에만 중요합니다. 이 경우 설명 값을 제공하고 싶습니다. '(add-to-list '로드 경로 "foo"'append)'. – jpkotta

0

당신은 load-library (또는 load가) 무조건 다른 라이브러리 나 같은 라이브러리의 다른 버전 예 기능 (들)가 이미 제공 한 제공이 (이미 있었던 것하더라도,에게 라이브러리를로드 할 수 있습니다 짐을 실은).

load-path의 시작 부분에 가까운 디렉토리에로드하려는 라이브러리를 넣은 다음 load-library으로 전화하십시오.

[그러나 라이브러리로드 (또는 다시로드)가 이 아닌 경우은 이미 평가되었을 수있는 defvars 및 defcustoms를 취소합니다. 예를 들어, 라이브러리 foo.elfoo-option에 대한 defcustom이 있고로드 된 다음 해당 defcustom을 가지고 있지만 다른 기본값을 가진 자신의 버전 foo.el을로드하면 사용자가 무시됩니다. 이것은 defvardefcustom의 일부입니다.]

관련 문제