Subject: Re: bug#12191: 24.1.50; Error getf is not a valid place expression

From: Ivan Kanis <[email-masked]>
Date: Mon, 13 Aug 2012 20:23:04 +0200

Stefan Monnier <[email-masked]> wrote:

>> 1) create a file foo.el containing
>
>> (defun slime-merge-notes (notes)
>>   "Merge NOTES together. Keep the highest severity, concatenate the messages."
>>   (let* ((new-severity (reduce #'slime-most-severe notes
>>                                :key #'slime-note.severity))
>>          (new-message (mapconcat #'slime-note.message notes "\n")))
>>     (let ((new-note (copy-list (car notes))))
>>       (setf (getf new-note :message) new-message)
>>       (setf (getf new-note :severity) new-severity)
>>       new-note)))
>
> This file uses `getf' which is not defined until you require CL.
> If you add (require 'cl), byte-compiling should work fine.

I tacked (require 'cl) on top, I got:

foo.el:1:1:Warning: cl package required at runtime
foo.el:3:1:Error: (cl-getf new-note :message) is not a valid place expression
-- 
Ivan Kanis
http://ivan.kanis.fr

Luck affects everything. Let your hook always be cast; in the stream
where you least expect it there will be a fish.
    -- Ovid