summaryrefslogtreecommitdiff
path: root/lisp/progmodes/elisp-mode.el
diff options
context:
space:
mode:
authorDmitry Gutov <dgutov@yandex.ru>2015-05-05 04:54:01 +0300
committerDmitry Gutov <dgutov@yandex.ru>2015-05-05 05:14:01 +0300
commit46c94cd599374556d65daffa173e7028df69bc1c (patch)
treea9234f6ae2c7c4fc63f76072adf0e5d1d6802f0a /lisp/progmodes/elisp-mode.el
parent201f91e5ad9619d71e1dfed327f47cb6923edd16 (diff)
downloademacs-46c94cd599374556d65daffa173e7028df69bc1c.tar.gz
emacs-46c94cd599374556d65daffa173e7028df69bc1c.tar.bz2
emacs-46c94cd599374556d65daffa173e7028df69bc1c.zip
Make sure we're inside the let bindings
* lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Make sure we're inside the let bindings. * test/automated/elisp-mode-tests.el (elisp-completes-functions-after-let-bindings): New test.
Diffstat (limited to 'lisp/progmodes/elisp-mode.el')
-rw-r--r--lisp/progmodes/elisp-mode.el14
1 files changed, 7 insertions, 7 deletions
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 9b7bc219923..40561515ed2 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -544,13 +544,13 @@ It can be quoted, or be inside a quoted form."
(< (point) beg)))))
(list t obarray
:predicate (lambda (sym) (get sym 'error-conditions))))
- ((or `let `let*
- (and ?\(
- (guard (save-excursion
- (goto-char (1- beg))
- (up-list -1)
- (forward-symbol -1)
- (looking-at "\\_<let\\*?\\_>")))))
+ ((and (or ?\( `let `let*)
+ (guard (save-excursion
+ (goto-char (1- beg))
+ (when (eq parent ?\()
+ (up-list -1))
+ (forward-symbol -1)
+ (looking-at "\\_<let\\*?\\_>"))))
(list t obarray
:predicate #'boundp
:company-doc-buffer #'elisp--company-doc-buffer