There's no way to do this by default, see
(glob-syms (and target pred (all-completions target obarray pred))) in the code - it's all pre-determined.
But this is a good thing, since pre-narrowing the candidate list
really speeds up the completion. For example, I have 70k symbols
bound/fbound in my current session - narrowing them to "line" gives
just 12. Of course, 70k isn't that drastic, but you may get a 0.1s
delay here and there - perceptible if you use the command a lot.
Here's how to patch the function to do what you want (if you decide to accept the slowdown). The change is
(all-completions target obarray pred) ->
(all-completions "" obarray pred).
(defun helm-lisp-completion-at-point ()
"Preconfigured helm for lisp symbol completion at point."
(setq helm-lgst-len 0)
(let* ((target (helm-thing-before-point))
(beg (car (helm-bounds-of-thing-before-point)))
(pred (and beg (helm-lisp-completion--predicate-at-point beg)))
(loc-vars (and (fboundp 'elisp--local-variables)
(mapcar #'symbol-name (elisp--local-variables)))))
(glob-syms (and target pred (all-completions "" obarray pred)))
(candidates (append loc-vars glob-syms))
(setq helm-lisp-completion--cache (cl-loop for sym in candidates
for len = (length sym)
when (> len helm-lgst-len)
do (setq helm-lgst-len len)
(with-helm-show-completion beg end
;; Overlay is initialized now in helm-current-buffer.
:sources (helm-build-in-buffer-source "Lisp completion"
:action `(lambda (candidate)
,beg ,end candidate))))
:input (if helm-lisp-fuzzy-completion
target (concat target " "))
:buffer "*helm lisp completion*"
(message "[No Match]"))))