macros - What is "with-eval-after-load" in Emacs Lisp -


मैं को स्थापित करने का प्रयास करते समय मैक्रो के साथ- eval-after-load से persp- मोड लेकिन मैं एमएक्स और / या Google पर मैक्रो को ढूंढने में असमर्थ हूं। यह कहां परिभाषित है? क्या यह मानक इमाक्स लिस्प का हिस्सा है?

से आदि / समाचार : < / P>

  * Emacs 24.4 में लिस्प परिवर्तन ... ** नई मैक्रो `के साथ- eval-after-load ' यह पुराने 'eval-after-load' की तरह है, लेकिन बेहतर व्यवहार।  

एमएक्स 24.4 को 20 अक्टूबर 2014 को रिलीज़ किया गया था।

eval-after-load को गलत व्यवहार माना जाता है क्योंकि यह एक फ़ंक्शन है, एक मैक्रो नहीं है, और इस प्रकार इसके अंदर कोड को उद्धृत करने की आवश्यकता होती है, जिसका मतलब है कि यह बाइट-कंपाइल किया जा सकता है। यह केवल एक ही फ़ॉर्म स्वीकार करता है, इसलिए यदि आपके पास एक से अधिक है, तो आपको progn का उपयोग करना होगा उदाहरण के लिए:

  (eval-after-load "foo" '(progn (setq foo 42) (setq बार 17))  

समकक्ष साथ- eval-after-load के साथ संस्करण होगा:

  (with-eval-after-load "foo" (setq foo 42) (setq बार 17) )  

Comments