İçinde tanımlanmış olan aşağıdaki örnek makroyu ele alalım macro.el
.
(defmacro some-macro (&rest body)
`(let ((some-variable 1))
,@body))
Ve aşağıdaki işlevi, almak farklı bir dosyada tanımlanır , function.el
.
(defun some-function ()
(some-macro (do-something)))
function.el
Bayt ne zaman derlenir, some-variable
sözcüksel veya dinamik bağlama altında mı bağlanır?
Bu dosyanın kullanıp kullanmadığına bağlı olduğunu anlıyorum -*- lexical-binding: t; -*-
, bu yüzden sorum özellikle aşağıdaki durumlarla ilgili:
- Eğer
function.el
bağlayıcı, ancak kullanımları sözcükselmacro.el
değildir. - Eğer
macro.el
bağlayıcı, ancak kullanımları sözcükselfunction.el
değildir.
some-var
İçinde küresel (bir defvar ile) ilan edilmişse bir fark yaratır function.el
mı? Varsa, özellikle olmadığı durumla ilgileniyorum .