() Eric Abrahamsen () Wed, 30 Apr 2014 16:36:50 +0800 ;; (eval-after-load 'message ;; (let ...) What am I not understanding?! If you ‘C-h f eval-after-load’, you will see the template: (eval-after-load FILE FORM) and can match symbol ‘eval-after-load’ to the first element of the same name, the expression 'message to the second element FILE, and the expression (let ...) to the third element FORM. So order seems to be correct. No easy answers in this life! Trundle on! Next step, do the "types" match? The first element is for dispatch so we ignore it. The second one, FILE, seems to be correct per this fragment: Alternatively, FILE can be a feature (i.e. a symbol), and the expression does indeed evaluate to a symbol, i.e., (quote SYMBOL) => SYMBOL That leaves the third element, FORM. It appears the ‘(let ...)’ does not evaluate to a proper FORM. Hmm... "But ttn, why all this "evaluate to" noise? Why didn't you just say that ‘(quote message)’ *is* a symbol? Same for "does not evaluate to" for the third arg! What, are you getting old and crufty?!" Well, yes! Everything has its time. -- Thien-Thi Nguyen GPG key: 4C807502 (if you're human and you know it) read my lisp: (responsep (questions 'technical) (not (via 'mailing-list))) => nil