두 경우 모두 대개 수용 가능합니다. 그러나 특별한 경우에는 항상 그런 것은 아닙니다.
예를 들어 *Python*
프로세스를 실행 한 후 python-shell-interpreter
을 설정하면 *Python*
실행 파일이 변경되지 않습니다. *Python*
버퍼를 삭제하고 변경 사항을 적용하려면 다시 실행해야합니다.
또한 일부 변수는 다른 변수의 값에 따라 파일로드시 바인드됩니다. 따라서 기본 변수의 변경 사항은 파생 값으로 전파되지 않습니다. 이것을 확인하기 위해 소스 코드를 읽으십시오.
.emacs
에 코드를 넣으면 모드 워드 프로세서가 다른 것을 말하지 않는 한 두 경우 모두 거의 동일합니다 (설명서의 Emacs 로딩 프로세스를 읽으십시오. 그 단계에서 Emacs는 사용자 버퍼를 처리하지 않습니다).
그러나 버퍼 처리 후에 변수를 변경하면 작동하지 않을 수 있습니다. Emacs가 사용자 버퍼를 처리 할 때 내부 캐시를 초기화/채울 수 있습니다. 이 캐시 (소스 또는 문서를 읽어야 함)를 찾고 재설정 또는 리로드 트리거 방법을 이해하기가 어렵습니다 (nil
으로 설정하거나 mode-reinit
기능 호출). 어떤 경우
내가 아주 쉽게 이맥스 소스를 읽는 발견 ...
일부 패키지는, GNUS처럼 깨끗하고 하역 (gnus-group-exit
)을 허용, 그래서 이전에로드되지 않은 것처럼 다시로드 할 수 있습니다 - 당신이있는 경우 문제는 변수/함수 선언을보고 설정 방법과 사용 된 기능을 이해하는 것입니다.
로드하기 전에 내가 조정 모드를 필요로 내 .emacs
에서이 예제 (내가 INFOPATH의 ENV var에에서 Cygwin에서와 :
와 함께 작업을 선호하는 경우 그래서 기본 이맥스 ;
를 사용하지 않습니다) : 변수가
;; Assume that cygwin-mount already activated.
(when (featurep 'cygwin-mount)
(setenv "INFOPATH" "/usr/share/info/:~/usr/share/info/:")
;; Redefine path-separator to UNIX to update Info-directory-list.
(let ((path-separator ":"))
(require 'info)
(info-initialize)
))
대부분의 경우 자동로드되지 않은 함수를 호출 할 필요가 없다면'(require 'mode)'가 필요하지 않습니다! – gavenkoa