Subject: bug#12898: 24.2.50.1; Completion is not passed further on in emacs-lisp, org-mode etc.

From: Stefan Monnier <[email-masked]>
Date: Tue, 20 Nov 2012 08:42:56 -0500

>>> In elisp mode completion-at-point-functions is set to
>>> (lisp-completion-at-point t).  If I set it to (t), filename completion
>>> works as expected.  So, it's the lisp-completion-at-point that is not
>>> handing the completion over.
SM> Indeed, lisp-completion-at-point should return nil when it determines
SM> that it cannot provide completion information for the text around point.
SM> Problem is: how should it determine that?
> There is an inbuilt facility (:exclusive 'no).  Why is that not the default?

Because it only works for prefix-completion, so it's a crutch.
The right way to do it is for lisp-completion-at-point function to
determine whether the data at point should/can be a Lisp name or a file
name or both (if it's both, it could use the :exclusive crutch, or it
could combine the completion tables with completion-table-in-turn).

        Stefan