I quite often get the following messages: Warning: Unknown defun property ‘compiler-macro’ in ... As far as I could trace it, the problem is indirectly caused by `define-inline'. While definition of `defun-declarations-alist' does contain `compiler-macro' in its init form, it can be removed later. E.g. when I evaluated the variable, it was not there anymore, only `gv-setter' was there. It seems this is done unintentionally by `elisp-completion-at-point': (`declare (list t (mapcar (lambda (x) (symbol-name (car x))) (delete-dups ;; FIXME: We should include some ;; docstring with each entry. (append macro-declarations-alist defun-declarations-alist))))) Here `delete-dups' destructively modifies a list that includes `defun-declarations-alist' as its tail verbatim, not as a copy. Attached patch should fix that. Paul * elisp-mode.el (elisp-completion-at-point): Fix to not alter `defun-declarations-alist' by side effect.