[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Simple macro question
From: |
Ergus |
Subject: |
Simple macro question |
Date: |
Mon, 3 May 2021 02:07:12 +0200 |
Hi:
Playing with macros to generate function I got an problem I am not sure
how to solve or why is it an issue
In the following minimal code:
==============================
;;; test.el --- test editing -*- lexical-binding: t; -*-
;;; Commentary:
;;; Code:
(defvar test-commands-list '(A B C)
"List of replaced functions.")
(defmacro test-def ()
"Doc def."
`(eval-and-compile ,@(mapcar (lambda (com) nil) test-commands-list)))
(test-def)
(provide 'test)
;;; test ends here
==============================
This code shows an error like:
Symbol’s value as variable is void: test-commands-list
in this line: (test-def)
I can't use test-commands-list either in this way or as an input if I
define the macro as:
(defmacro test-def (commands-list)
...
(test-def test-commands-list)
In this second case I get: wrong arguments sequencep test-commands-list
Is this intended?
- Simple macro question,
Ergus <=