emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master fe4e258 2/2: Classify lone symbol inside let varlis


From: Dmitry Gutov
Subject: [Emacs-diffs] master fe4e258 2/2: Classify lone symbol inside let varlist as variable
Date: Mon, 04 May 2015 15:52:25 +0000

branch: master
commit fe4e258b17feb529ac364daee67a5f0441f851f4
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>

    Classify lone symbol inside let varlist as variable
    
    * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
    Classify lone symbol inside let varlist as variable.
    
    * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
    New test.
---
 lisp/progmodes/elisp-mode.el       |   13 +++++++------
 test/automated/elisp-mode-tests.el |    9 +++++++++
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 7c9a2d7..18da076 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -544,12 +544,13 @@ It can be quoted, or be inside a quoted form."
                                         (< (point) beg)))))
                         (list t obarray
                               :predicate (lambda (sym) (get sym 
'error-conditions))))
-                       ((and ?\(
-                             (guard (save-excursion
-                                      (goto-char (1- beg))
-                                      (up-list -1)
-                                      (forward-symbol -1)
-                                      (looking-at "\\_<let\\*?\\_>"))))
+                       ((or `let `let*
+                            (and ?\(
+                                 (guard (save-excursion
+                                          (goto-char (1- beg))
+                                          (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 a4148e9..26f903d 100644
--- a/test/automated/elisp-mode-tests.el
+++ b/test/automated/elisp-mode-tests.el
@@ -84,5 +84,14 @@
       (should (member "bar" comps))
       (should (member "baz" comps)))))
 
+(ert-deftest completest-variables-in-let-bindings ()
+  (dolist (text '("(let (ba" "(let* ((ba"))
+    (with-temp-buffer
+      (emacs-lisp-mode)
+      (insert text)
+      (let ((comps (elisp--test-completions)))
+        (should (member "backup-inhibited" comps))
+        (should-not (member "backup-buffer" comps))))))
+
 (provide 'elisp-mode-tests)
 ;;; elisp-mode-tests.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]