ट्रस्ट .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फोल्डर में कोई भी फाइल खोलने की कोशिश कर रहा होता हूं , ईमैक्स मुझसे पूछता है कि क्या यह कोड लागू करने के लिए सेव है। मैंने फ़ाइल स्थानीय संस्करण सेट करके इसे चुप करने की कोशिश की है:

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

और यह बिल्कुल भी मदद नहीं करता था, इसके विपरीत इन स्थानीय सेटिंग्स पर भरोसा करने के लिए एक और संदेश जोड़ता है। मैं इसे अपने .dir-locals.elकोड पर कैसे भरोसा कर सकता हूं ?


आपने एक चर नाम दिया हैlet
phils

जवाबों:


8

आप safe-local-variable-valuesअपनी इनिट फ़ाइल में कस्टमाइज़ कर सकते हैं । इसके लिए आपको यह भी निर्दिष्ट करना होगा कि आप किन मूल्यों को सुरक्षित मानते हैं।

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

यह ठीक है यदि आप संभावित मूल्यों के सेट को जानते हैं, जैसा कि आपका सवाल है कि आप करते हैं।

यदि आप एक ऐसे सभी मानों को सुरक्षित बनाना चाहते हैं जो एक विधेय को संतुष्ट करता है, तो आप कर सकते हैं:

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

इस दृष्टिकोण के लिए धन्यवाद, लेकिन जैसा कि मैंने लिखा था कि मैं इस कॉन्‍फ़‍िगर को डालना चाहता .dir-locals.el
हूं

आप अभी भी .dir-locals.el में प्रक्षेप्य सेटिंग को कॉन्फ़िगर करेंगे। लेकिन आप उस फ़ाइल को लोड करने पर चेतावनी प्राप्त करना जारी रखेंगे, जब तक कि आप इनमें से एक कार्रवाई नहीं करते। क्या आपने दूसरा प्रयास किया है? यह कोड, आपकी init फ़ाइल में, प्रोजेक्टाइल-ग्लोबली-इग्नोर किए गए-डायरेक्ट्री के साथ 'var' की जगह, .dir-locals.el लोड होने पर चेतावनियों को रोकना चाहिए।
इनहेरम्सवे

हालांकि इसके बारे में सोचते हुए, आपको #stringp के बजाय '#listp' की आवश्यकता हो सकती है, क्योंकि आप बार को स्ट्रिंग्स की सूची में सेट कर रहे हैं।
inHarmsWay
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.