स्थानीय चर "जोखिम भरा" निष्पादित करने की अनुमति याद रखें


15

मेरी कई परियोजनाओं में मैं .dir-locals.elप्रोजेक्ट विशिष्ट चर जैसे संकलित कमांड को सेटअप करने के लिए फ़ाइलों का उपयोग करता हूं । ऐसी फ़ाइल वाली निर्देशिका में फ़ाइल खोलने पर , विशेष रूप से "जोखिमपूर्ण स्थानीय चर" केemacs बारे में शिकायत होती है:

The local variables list in $DIR$/ contains variables that are risky (**)

Do you want to apply it? You can type
y  -- to apply the local variables list.
n  -- to ignore the local variables list.

** LaTeX-command : "lualatex -shell-escape"

मैं इस सुविधा को बंद नहीं करना चाहता, लेकिन मैं एक विशिष्ट .dir-locals.elफ़ाइल के लिए केवल एक बार (एक emacs सत्र के दौरान) पूछा जाना चाहूंगा ।

मैं कुछ प्लगइन्स का उपयोग कर रहा हूं, जो पूरी सॉकेट्री को पार्स करना चाहते हैं और yहर चीज को पार्स करने के लिए सैकड़ों बार हिट करना काफी कष्टप्रद है ।

तो, वास्तविक सवाल:

क्या emacs'स्थानीय-चर लोडिंग तंत्र को कॉन्फ़िगर / संशोधित किया जा सकता है, जिससे यह emacsसत्र की संपूर्णता के लिए एक विशिष्ट स्थानीय चर सूची की अनुमति देने / अस्वीकार करने की अनुमति देता है ?

जवाबों:


7

Emacs को (और आम तौर पर ऑफ़र की पेशकश करनी चाहिए) बाद के सत्रों के लिए विकल्प को स्वीकार करने और याद रखने का विकल्प। मैं आपको M-x report-emacs-bugअपने मामले में इस लापता विकल्प के बारे में सुझाव देता हूं ।

इस बीच में, आप निम्नलिखित को अपने साथ जोड़ सकते हैं ~/.emacs:

(add-to-list 'safe-local-variable-values
             '(LaTeX-command . "lualatex -shell-escape"))

4
याद रखने का कोई विकल्प बग नहीं है, यह जोखिम भरे चर के लिए जानबूझकर है। यदि चर सुरक्षित सूची में नहीं है, तो Emacs रिपोर्ट करेगा कि यह y / n विकल्प के साथ असुरक्षित और शीघ्र हो सकता है! याद करने के लिए। यदि चर नाम एक निश्चित रेगेक्स से मेल खाता है तो इसे जोखिम भरा माना जाता है और आपको केवल y / n विकल्प दिए जाते हैं। यह निर्धारित करने के लिए regex कि क्या कुछ जोखिम भरा है। github.com/emacs-mirror/emacs/blob/…
Dan Midwood

शायद यह जानबूझकर किया गया था, लेकिन मुझे लगता है कि यह गलत था और ओपी सहमत प्रतीत होता है, इसलिए मुझे लगता है कि यह एक बग रिपोर्ट के योग्य है।
स्टीफन

2

आप इसे निम्नलिखित में डालकर "जोखिम भरा चर याद न करें" सुविधा को निष्क्रिय कर सकते हैं ~/.emacs:

;; allow remembering risky variables
(defun risky-local-variable-p (sym &optional _ignored) nil)

जब आप एक को संपादित करेंगे तो यह केवल फिर से पुष्टि करेगा।


1
आप भी कर सकते हैं (advice-add 'risky-local-variable-p :override #'ignore), जिसके माध्यम से अनुपयुक्त होने का लाभ है advice-remove
23
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.