[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 46c94cd 1/3: Make sure we're inside the let binding
From: |
Dmitry Gutov |
Subject: |
[Emacs-diffs] master 46c94cd 1/3: Make sure we're inside the let bindings |
Date: |
Tue, 05 May 2015 02:18:42 +0000 |
branch: master
commit 46c94cd599374556d65daffa173e7028df69bc1c
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>
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.
---
lisp/progmodes/elisp-mode.el | 14 +++++++-------
test/automated/elisp-mode-tests.el | 10 +++++++++-
2 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 9b7bc21..4056151 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
diff --git a/test/automated/elisp-mode-tests.el
b/test/automated/elisp-mode-tests.el
index 26f903d..bfecfe7 100644
--- a/test/automated/elisp-mode-tests.el
+++ b/test/automated/elisp-mode-tests.el
@@ -84,7 +84,7 @@
(should (member "bar" comps))
(should (member "baz" comps)))))
-(ert-deftest completest-variables-in-let-bindings ()
+(ert-deftest elisp-completest-variables-in-let-bindings ()
(dolist (text '("(let (ba" "(let* ((ba"))
(with-temp-buffer
(emacs-lisp-mode)
@@ -93,5 +93,13 @@
(should (member "backup-inhibited" comps))
(should-not (member "backup-buffer" comps))))))
+(ert-deftest elisp-completes-functions-after-let-bindings ()
+ (with-temp-buffer
+ (emacs-lisp-mode)
+ (insert "(let ((bar 1) (baz 2)) (ba")
+ (let ((comps (elisp--test-completions)))
+ (should (member "backup-buffer" comps))
+ (should-not (member "backup-inhibited" comps)))))
+
(provide 'elisp-mode-tests)
;;; elisp-mode-tests.el ends here