Кома застосовується в контексті списку, що цитується назад (він же квазіцитований), що дозволяє вибірково оцінювати деякі частини списку. Дивіться також цю нитку для прикладу використання для зворотного кодування.
Кілька простих прикладів:
(setq a "a's value" b "b's value" c "c's value")
'(a b c) ; => (a b c)
`(,a b ,c) ; => ("a's value" b "c's value")
Коми, на які ви посилаєтеся, містяться у макрозначенні, яке, у свою чергу, використовує зворотне котирування progn:
(defmacro add-annoying-arrows-advice (cmd alternatives)
`(progn
(add-to-list 'annoying-commands (quote ,cmd))
(put (quote ,cmd) 'aa--alts ,alternatives)
(defadvice ,cmd (before annoying-arrows activate)
(when annoying-arrows-mode
(aa--maybe-complain (quote ,cmd))))))
,cmdу зворотному котируванні можна поставити значення cmdзамість символу cmd.
prognозначає, що ви повинні поставити кому перед речами, які ви хочете оцінити, незалежно від того, наскільки вона вкладена? (,cmdЄ в іншому списку, а не безпосередньо(progn).)