1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-29 07:58:28 +00:00

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.
This commit is contained in:
Dmitry Gutov 2015-05-05 04:54:01 +03:00
parent 201f91e5ad
commit 46c94cd599
2 changed files with 16 additions and 8 deletions

View File

@ -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

View File

@ -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