tags 45831 patch quit Backward-compatible change attached. With this change, all of the following work: (list-colors-display nil nil (let ((cbuf (current-buffer))) (lambda (color) (when (buffer-live-p cbuf) (message "Picked color %s for buffer %s" color (buffer-name cbuf)))))) (list-colors-display nil nil (let ((cbuf (current-buffer))) `(function ,(lambda (color) (when (buffer-live-p cbuf) (message "Picked color %s for buffer %s" color (buffer-name cbuf))))))) (list-colors-display nil nil (let ((cbuf (current-buffer))) `(lambda (color) (when (buffer-live-p ,cbuf) (message "Picked color %s for buffer %s" color (buffer-name ,cbuf)))))) (list-colors-display nil nil (let ((cbuf (current-buffer))) #'(lambda (color) (when (buffer-live-p cbuf) (message "Picked color %s for buffer %s" color (buffer-name cbuf)))))) Feel free to drop the 2nd cond clause if backward-compatibility is not deemed too important here.