GNU bug report logs -
#23648
[PATCH] `defun-declarations-alist' can be unintentionally modified
Previous Next
Reported by: Paul Pogonyshev <pogonyshev <at> gmail.com>
Date: Sun, 29 May 2016 14:12:02 UTC
Severity: normal
Tags: fixed, patch
Fixed in version 25.1
Done: npostavs <at> users.sourceforge.net
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Paul Pogonyshev <pogonyshev <at> gmail.com> writes:
> 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.
I agree with analysis and patch here. Since this just appends another
nil, it should be safe for emacs-25, right?
>
> Paul
>
> * elisp-mode.el (elisp-completion-at-point): Fix to not alter
> `defun-declarations-alist' by side effect.
> - (append
> - macro-declarations-alist
> - defun-declarations-alist)))))
> + (append macro-declarations-alist
> + defun-declarations-alist
> + nil)))))
This bug report was last modified 8 years and 306 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.