Subject: bug#19854: 25.0.50; completion-extra-properties in emacs-25

From: Noam Postavsky <[email-masked]>
Date: Mon, 27 Jun 2016 00:15:06 -0400

On Sun, Jun 26, 2016 at 9:28 PM, Dmitry Gutov <[email-masked]> wrote:
> To be thorough, though, AFAIK "function position" means something specific
> to a Lisp programmer: the first element of a list.
>
> Whereas we also look at whether the whole form is quoted (and if so, offer
> all kinds of symbols as completions anyway), and we can also offer
> function-only completions in a non-function position if the function
> position contains one of the known macros (such as cl-callf or
> declare-function).

Okay, maybe using the word "context" instead of "position" works
better? (trying not to get overly specific in the docstring)

(defun elisp-completion-at-point ()
  "Function used for `completion-at-point-functions' in `emacs-lisp-mode'.
If the context at point allows only a certain category of
symbols (e.g. functions, or variables) then the returned
completions are restricted to that category.  In contexts where
any symbol is possible (following a quote, for example),
functions are annotated with \"<f>\" via the
`:annotation-function' property."