신뢰 .dir-locals.el


12

init.el파일 외부에 구성을 넣고 싶습니다 .dir-locals.el.

((nil
  (let ((dirs '(".cask" "core" "packages" "modules" "snippets" "themes")))
   (mapc #'(lambda (path) (add-to-list 'projectile-globally-ignored-directories path)) dirs))))

그러나 내 .emacs.d폴더 에서 파일을 열려고 할 때마다 emacs는이 코드를 적용하기 위해 저장할 것인지 묻습니다. 파일 로컬 변수를 설정하여 침묵 시키려고했습니다.

;; -*- enable-local-variables: t; enable-local-eval: t -*-

그리고 전혀 도움이되지 않았습니다. 반면 에이 로컬 설정을 신뢰하는 다른 메시지가 추가됩니다. 내 .dir-locals.el코드를 신뢰하게하려면 어떻게해야 합니까?


라는 이름의 변수를 바인딩 한let
필리스

답변:


8

safe-local-variable-valuesinit 파일에서 사용자 정의 할 수 있습니다 . 안전하다고 생각되는 값도 지정해야합니다.

(add-to-list 'safe-local-variable-values '(var . value))

질문에서 알 수 있듯이 가능한 값 집합을 알고 있으면 괜찮습니다.

술어를 만족시키는 모든 값에 대해 변수를 안전하게 만들려면 다음을 수행하십시오.

(put 'var 'safe-local-variable #'stringp) 

이 접근 방식에 감사드립니다. 그러나 .dir-locals.el
제가

여전히 .dir-locals.el에서 발사체 설정을 구성합니다. 그러나 이러한 작업 중 하나를 수행 할 때까지 해당 파일을로드 할 때 계속 경고 메시지가 표시됩니다. 당신은 2를 시도 했습니까? init 파일에서 'var을 projectile-globallyignored-directories로 바꾸는이 코드는 .dir-locals.el이로드 될 때 경고를 방지해야합니다.
InHarmsWay

그것에 대해 생각하고 있지만 막대를 문자열 목록으로 설정하기 때문에 '#stringp 대신'#listp가 필요할 수 있습니다.
InHarmsWay
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.