Запитання з тегом «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формі. Під час встановлення пакунків від Melpa компіляція байтів закінчується: Помилка: значення символу як змінної - недійсне: my-defcustom-змінна Потім файл вручну виконує байтове збирання, відкриваючи його в буфері. Я спробував із autoloadфайлом cookie, але все …

3
Коли використовувати макрос або не використовувати [закрито]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Коли я повинен використовувати макрос у своїй програмі чи ні? Це запитання надихає інформативна …

2
Як користуватися режимом "без вводу"?
З докстрингу: Виконайте BODY лише до тих пір, поки не буде вкладеного вводу. Якщо надходить вхід, це закінчує виконання BODY і while-no-inputповертає t. Покидання змушує повернути нуль. Якщо BODY закінчується, while-no-inputповертає незалежне значення BODY. Якщо я правильно зрозумів, цей макрос дозволяє мені (намагатися) виконувати важкі обчислення без підвішування інтерфейсу. Це, …

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

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.