diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el index 77bf3f1ed1..44f4c012ef 100644 --- a/lisp/progmodes/elisp-mode.el +++ b/lisp/progmodes/elisp-mode.el @@ -697,7 +697,11 @@ elisp-completion-at-point (let ((c (char-after))) (if (eq c ?\() ?\( (if (memq (char-syntax c) '(?w ?_)) - (read (current-buffer)))))) + (let ((pt (point))) + (ignore-errors + (forward-sexp) + (intern-soft + (buffer-substring pt (point))))))))) (error nil)))) (pcase parent ;; FIXME: Rather than hardcode special cases here,