The following piece of code gives me the expected result:
(let ((name 'test)
(args '("arg1" "arg2")))
`(defun ,name ,@args))
;; (DEFUN TEST "arg1" "arg2")
Why if args is a list of symbols does a QUOTE appear?
(let ((name 'test)
(args '('arg1 'arg2)))
`(defun ,name ,@args))
;; (DEFUN TEST (QUOTE ARG1) 'ARG2)
('arg1 'arg2)isn't a list of symbols, it's a list of lists. The first list is(quote arg1)and the second is(quote arg2). - Joshua Taylor(quote x)as'x. - Sylwester