]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/lisp.el (lisp-completion-at-point): Symbols don't start
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 6 Feb 2014 05:37:23 +0000 (00:37 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 6 Feb 2014 05:37:23 +0000 (00:37 -0500)
with a space.  Limit the symbols considered to the ones
that are bound or fbound (bug#16646).

Fixes: debbugs:16664
lisp/ChangeLog
lisp/emacs-lisp/lisp.el

index 1a1a7031b8cb4d921b0bf67ca1085c9061edbccb..7e37e36378687a7089a570a4df6f052675e0617e 100644 (file)
@@ -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.
index 716df8a4cca527f00313572d82edde4e895cfae1..58780bfc657e668923d07ca6966d88d3405c2cf9 100644 (file)
@@ -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