নিম্নলিখিত ম্যাক্রো উদাহরণস্বরূপ নিন macro.el
।
(defmacro some-macro (&rest body)
`(let ((some-variable 1))
,@body))
এবং নিম্নলিখিত ফাংশন, নিতে একটি আলাদা ফাইল সংজ্ঞায়িত , function.el
।
(defun some-function ()
(some-macro (do-something)))
কখন function.el
বাইট-সংকলন করা হবে, some-variable
লেক্সিকাল বা ডায়নামিক বাইন্ডিংয়ের আওতায় থাকবে ?
আমি বুঝতে পারি এটি ফাইলটি ব্যবহার করে কিনা তার উপর নির্ভর করে -*- lexical-binding: t; -*-
, সুতরাং আমার প্রশ্নটি নিম্নলিখিত পরিস্থিতিতেগুলিকে বিশেষভাবে সম্মান করে:
- তাহলে
function.el
বাঁধাই কিন্তু ব্যবহারসমূহ আভিধানিকmacro.el
না। - তাহলে
macro.el
বাঁধাই কিন্তু ব্যবহারসমূহ আভিধানিকfunction.el
না।
অভ্যন্তরে some-var
বিশ্বব্যাপী (একটি ডিফওয়ার সহ) ঘোষিত হলে কী কোনও পার্থক্য রয়েছে function.el
? যদি তা হয় তবে আমি বিশেষভাবে আগ্রহী যেখানে এটি হয়নি ।