초기-후-후크 vs.


13

나는 Emacs 24에서 패키지가 작동하는 방식 이 다소 유용하다는 것을 알았지 만 경험이 많은 사용자 또는 핵심 개발자가 24.4의 일반적인 경우에 실제로 선호하는 것에 대한 결정적인 답변을 원합니다.

Afaik (add-hook 'after-init-hook ...)은 패키지에 대한 사용자 정의를 설정하기위한 무차별 대입 방식입니다. 그러나 점진적이고 개별적이며 게으른 확장 로딩에 잘 어울리는 더 역동적이고 미세한 구성에 eval-after-load더 구문 ​​적으로 설탕 with-eval-after-load이 더 적합합니다.

이해가 정확합니까? 더 염두에 두어야 할 것은 무엇입니까?

답변:


11

Afaik (add-hook 'after-init-hook ...)은 패키지에 대한 사용자 정의를 설정하기위한 무차별 대입 방식입니다.

아니요. init 파일에서 패키지를 구성하려는 경우 일반적인 접근 방식은 (package-initialize)파일 맨 위에서 호출 한 다음 구성을 수행하는 것입니다. after-init-hook이 목적을 위해 불필요하게 복잡합니다.

그러나 점진적이고 개별적이며 게으른 확장 로딩에 잘 어울리는 더 역동적이고 미세한 구성에 eval-after-load더 구문 ​​적으로 설탕 with-eval-after-load이 더 적합합니다.

(with-)eval-after-load패키지가로드 된 수행하려는 작업에 사용됩니다 . package-initialize패키지를로드하지 않고 "준비"만합니다 (오토로드로드).

eval-after-load모든 구성 세트 를 사용하는 경우 (package-initialize)맨 위에서 전화하지 않아도됩니다 . 그러나 사람들이 일반적으로하는 일은을 호출 (package-initialize)하여 대부분의 구성을 init 파일에 직접 작성한 다음 eval-after-load매우 길거나로드되는 패키지에 따라 달라지는 코드 만 작성할 수 있습니다.


그러나 eval-after-load주어진 패키지 에 대해 모든 것을 넣는 것이 여전히 괜찮 으며 전혀 사용하지 (package-initialize)않습니까?
Erik Kaplun

@ErikAllik 예. 모든 구성 세트 주위에로드 후 평가를 사용하는 경우 맨 위에서 호출 (패키지 초기화) 할 필요가 없습니다.
Malabarba
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.