summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog10
-rw-r--r--lisp/emacs-lisp/lisp.el13
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