मैंने कुछ कीबाइंडिंग प्रदान करने के लिए एक मामूली मोड को कोड करना शुरू किया। मेरे शुरुआती प्रयास में एक टाइपो था:
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(([b] . 'previous-line)))
मैंने b
कुंजी का उपयोग करने का इरादा किया था , और तुरंत महसूस किया कि मुझे "b"
इसके बजाय उपयोग करना चाहिए था [b]
। इसलिए मैंने मामूली मोड को फिर से परिभाषित किया:
(define-minor-mode borked-mode
"A mode defined with a broken key binding"
nil nil
'(("b" . 'previous-line)))
हालांकि, यह काम नहीं किया। इसने मुझे बाइंडिंग कीज (यानी, (kbd ...), [...], आदि के सभी विभिन्न तरीकों से एक जंगली हंस का पीछा करने पर रोक दिया। अंत में मुझे एहसास हुआ कि बस (define-minor-mode ...)
फॉर्म का पुनर्मूल्यांकन करने से कुछ भी नहीं बदल रहा था, मैं मूल, टूटे हुए कुंजी नक्शे के साथ फंस गया था। मैंने तब सीधे केमैप को बदलने की कोशिश की (define-key borked-mode-map ...)
और अभी भी सही किए गए कीमैप को लोड नहीं कर पाया। अंत में मैंने Emacs को फिर से शुरू किया, और मेरा मामूली मोड सही ढंग से लोड किया गया था।
मेरा सवाल यह है: आप इसे विकसित करते समय एक मामूली मोड परिभाषा कैसे अपडेट करते हैं? क्या किसी टूटी हुई परिभाषा को फ्लश करने का कोई तरीका है, या क्या आपको टूटे हुए बिट्स को दूर करने के लिए emacs को पुनरारंभ करना है?
defvar
मूल्यांकन नहीं होगा यह फिर से के बाद मूल्य हैC-M-x
:) आप की आवश्यकता होगीdefparameter
या एक अलगsetf
।