Обратная кавычка - это обычный способ интерполировать значения в цитируемый список:
> (setq var1 4 var2 5)
5
> `(1 2 3 ,var1 ,var2)
(1 2 3 4 5)
Отредактировано, чтобы добавить: если вы хотите обработать список так, чтобы символы заменялись на их symbol-value
, то вам нужна функция примерно такая:
(defun interpolate-symbol-values (list)
"Return a copy of LIST with symbols replaced by their symbol-value."
(loop for x in list
collect (if (symbolp x) (symbol-value x) x)))
> (interpolate-variables '(1 2 3 var1 var2))
(1 2 3 4 5)
Однако это кажется странной вещью, которую хочется сделать. Можете ли вы сказать больше о том, чего вы пытаетесь достичь? Почти наверняка есть лучший способ сделать это, чем этот.