Вопросы с тегом «elisp-macros»

2
«И» против «когда» для условных
Это продолжение комментариев к этому ответу . Следующие биты кода кажутся эквивалентными: (and a b) (when a b) Конечно, andвы можете поставить больше условий: (and a b c d)значит(when (and a b c) d) Я склонен использовать whenтолько для выражения ветвления. Есть ли реальные различия? Лучше использовать один или другой? …

2
Макросы раскрываются при компиляции файла?
У меня есть макрос, который необходимо расширять при каждом использовании во время компиляции. Есть ли способ, которым я могу указать, чтобы это было так, не проходя через кодовую базу и тщательно оборачивая каждый вызов eval-when-compile?

1
Макрос с defcustom приводит к ошибке «Значение символа, поскольку переменная пуста» при байтовой компиляции
В двух моих пакетах у меня есть макрос, тело которого зависит от переменной, определенной в defcustomформе. При установке пакетов из Melpa байт-компиляция заканчивается: Ошибка: значение символа в качестве переменной недействительно: my-defcustom-variable Затем вручную выполняется байтовая компиляция файла, открывая его в буфере. Я пытался с autoloadcookie, но по-прежнему такое же поведение. …

3
Когда использовать макрос или не использовать [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 4 года назад . Когда я должен использовать макрос в моей программе или нет? Этот …

2
Как использовать пока нет ввода?
Из строки документации: Выполняйте BODY только до тех пор, пока нет ожидающих ввода. Если поступает ввод, это завершает выполнение BODY и while-no-inputвозвращает t. Выход заставляет его возвращать ноль. Если BODY завершает работу, while-no-inputвозвращает любое значение, произведенное BODY. Если я правильно понимаю, этот макрос позволяет мне (пытаться) выполнять тяжелые вычисления без …

3
Как я могу создать несколько defuns, просматривая список?
Я работаю над оптимизацией своего конфига emacs, где я могу динамически создавать интерактивные функции для всех тем, которые есть в списке. Ниже приведен упрощенный вариант конструкции, которую я пытаюсь заставить работать. ;; List containing names of functions that I want to create (setq my/defun-list '(zz-abc zz-def zz-ghi)) ;; Elisp macro …

1
Как определяется переменная область видимости для макросов?
Возьмите следующий пример макроса, определенный в 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связана с лексической или динамической привязкой? Я понимаю, что это зависит от того, использует ли файл …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.