Этот первый должен вернуть t, но не делает этого, а другой возвращает t. Они должны быть одинаковыми.
(defvar list '((binds . 'emacs)))
(eq (cdr (assoc 'binds list)) 'emacs) ;; returns nil
(eq 'emacs 'emacs) ;; returns t
(type-of 'emacs) ;; returns symbol
(type-of (cdr (assoc 'binds list))) ;; Returns cons
Что здесь происходит?