diff options
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 10 | ||||
| -rw-r--r-- | lisp/emacs-lisp/lisp.el | 13 |
2 files changed, 19 insertions, 4 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1a1a7031b8c..7e37e363786 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,11 +1,17 @@ +2014-02-06 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/lisp.el (lisp-completion-at-point): Symbols don't start + with a space (bug#16664). Limit the symbols considered to the ones + that are bound or fbound (bug#16646). + 2014-02-06 Glenn Morris <rgm@gnu.org> * epa.el (epa-mail-aliases): Doc fix. 2014-02-06 Dmitry Gutov <dgutov@yandex.ru> - * emacs-lisp/lisp.el (lisp-completion-at-point): Use - `completion-table-merge' instead of `completion-table-in-turn' + * emacs-lisp/lisp.el (lisp-completion-at-point): + Use `completion-table-merge' instead of `completion-table-in-turn' (bug#16604). * minibuffer.el (completion-table-merge): New function. diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el index 716df8a4cca..58780bfc657 100644 --- a/lisp/emacs-lisp/lisp.el +++ b/lisp/emacs-lisp/lisp.el @@ -815,7 +815,8 @@ considered." (scan-error pos))) (end (unless (or (eq beg (point-max)) - (member (char-syntax (char-after beg)) '(?\" ?\( ?\)))) + (member (char-syntax (char-after beg)) + '(?\s ?\" ?\( ?\)))) (condition-case nil (save-excursion (goto-char beg) @@ -832,7 +833,15 @@ considered." ;; the macro/function being called. (list nil (completion-table-merge lisp--local-variables-completion-table - obarray) ;Could be anything. + (apply-partially #'completion-table-with-predicate + obarray + ;; Don't include all symbols + ;; (bug#16646). + (lambda (sym) + (or (boundp sym) + (fboundp sym) + (symbol-plist sym))) + 'strict)) :annotation-function (lambda (str) (if (fboundp (intern-soft str)) " <f>")) :company-doc-buffer #'lisp--company-doc-buffer |
