emacs - "गलत टाइप तर्क: कमांडपी" त्रुटि जब एक कुंजी पर एक लैम्ब्डा बाध्यकारी




elisp (2)

मुझे "गलत प्रकार तर्क: कमांडप, (लैम्ब्डा नील (फॉरवर्ड-लाइन 5)) मिल रहा है" यहां।

(global-set-key [?\M-n] (lambda () (forward-line 5)))

त्रुटि क्या है? मुझे पूरा यकीन है कि यह आसान है और मुझे कुछ स्पष्ट याद आ रहा है।


मैंने यह त्रुटि एक नई मशीन पर भी देखी है जहां मैं अपनी सामान्य .emacs फ़ाइल का उपयोग कर रहा हूं लेकिन मेरे पैकेज इंस्टॉल नहीं किए हैं, और निष्पादित करने का आदेश उन संकुलों में से एक में है। (क्योंकि एक आदेश जिसे निष्पादित नहीं किया जा सकता है निश्चित रूप से इंटरैक्टिव नहीं है!)


सही रूप यह होना चाहिए -

(global-set-key (kbd "M-n") (lambda () (interactive) (forward-line 5)))

समस्या यह थी कि आप (interactive) (ब्रेंडन का उल्लेख किया गया) डालना भूल गए थे।

वैसे, आप देखेंगे कि मैंने कुंजी-बाध्यकारी निर्दिष्ट करने के लिए (kbd) फ़ंक्शन का उपयोग किया था। यह फ़ंक्शन बेहद उपयोगी है क्योंकि आप मुख्य रूप से कुंजी-बाइंडिंग डाल सकते हैं।





elisp