2013-08-30 6 views
6

Emacs में, कुछ चर के विशेष व्यवहार होते हैं जब एम-एक्स कस्टमाइज़ के माध्यम से सेट किया जाता है जो ट्रिगर नहीं होता है जब आप setq के माध्यम से एक ही चर सेट करते हैं। क्या इस तरह के चर सेट करने के लिए कोई प्रोग्रामेटिक तरीका है कि विशेष व्यवहार ट्रिगर किया जाएगा जैसे उपयोगकर्ता ने कस्टमाइज़ेशन को कस्टमाइज़ किया था?मैं प्रोग्रामिंग रूप से Emacs Lisp में एक कस्टम चर सेट कैसे करूं?

साथ ही, क्या उपयोगकर्ता के कस्टम फ़ाइल में मूल्य को प्रोग्रामेटिक रूप से सहेजने के लिए कोई फ़ंक्शन है? मैं उपयोगकर्ता के अतिरिक्त तत्वों को हटाए बिना डिफ़ॉल्ट तत्वों को किसी सूची में दोबारा जोड़ने के लिए एक कार्यक्षमता को कार्यान्वित करने की कोशिश कर रहा हूं।

+1

आप 'कस्टम सेट variables' द्वारा खोजे जा रहे हैं? यह वही है जो आपके सामान्य रूप से आपके '.emacs' फ़ाइल में होता है। – nickie

उत्तर

6

customize-set-variable वह है जो आप चाहते हैं, custom-set-variables (इसके लिए कोई आवश्यकता नहीं है)।

और आम तौर पर यह देखने के लिए एक अच्छा विचार है कि defcustom वैरिएबल (उपयोगकर्ता विकल्प) के लिए, यह देखने के लिए कि :set स्लॉट इत्यादि क्या है, यह आवश्यक नहीं है, लेकिन सेट करने का प्रयास करने से पहले जानना अच्छा है प्रोग्राम प्रोग्रामिक रूप से।

एक [email protected] सवाल का यह जवाब भी मदद कर सकता है: http://lists.gnu.org/archive/html/help-gnu-emacs/2013-08/msg00544.html

+0

हाँ, यह वही है जो मैं चाहता था, ठीक है क्योंकि यह चर सेट करने के लिए 'सेट' प्रॉपर्टी का उपयोग करता है। –

+2

वंशावली के लिए नोटिंग: यदि आप प्रोग्रामेटिक रूप से एक कस्टम चर सेट करना चाहते हैं और भविष्य के सत्रों के लिए नया मान भी सहेजना चाहते हैं, तो 'कस्टम-सेव-वेरिएबल' वह फ़ंक्शन है जिसे आप चाहते हैं; इसका हस्ताक्षर 'कस्टम-सेट-वेरिएबल' के समान है, और इसके व्यवहार में एकमात्र अंतर उपयोगकर्ता की अनुकूलन फ़ाइल में 'कस्टम-सेट-चर' फ़ॉर्म के रूप में नया मान भी लिख रहा है। –

0

फ़ंक्शन default-value का उपयोग करके custom-set-variable का उल्लेख किया जा सकता है।

संबंधित मुद्दे