diff options
author | Dmitry Gutov <dgutov@yandex.ru> | 2014-09-19 07:41:42 +0400 |
---|---|---|
committer | Dmitry Gutov <dgutov@yandex.ru> | 2014-09-19 07:41:42 +0400 |
commit | 3907574bb864de9a9020af11c30ec0b48588fc13 (patch) | |
tree | 0b88f52cdce46a90614b218349f522f9b6ba6f38 /lisp/emacs-lisp/lisp.el | |
parent | 30c17da5df63c49ac3f4d7fdf1a0d668d02516e3 (diff) | |
download | emacs-3907574bb864de9a9020af11c30ec0b48588fc13.tar.gz |
Fix bug#18265
* lisp/emacs-lisp/lisp.el (lisp-completion-at-point): Only calculate
`table-etc' when `end' is non-nil.
(lisp-completion-at-point): Move `end' back if it's after quote.
If in comment or string, only complete when after backquote.
Diffstat (limited to 'lisp/emacs-lisp/lisp.el')
-rw-r--r-- | lisp/emacs-lisp/lisp.el | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el index 581e9b9504b..a8bad47a90a 100644 --- a/lisp/emacs-lisp/lisp.el +++ b/lisp/emacs-lisp/lisp.el @@ -957,12 +957,14 @@ It can be quoted, or be inside a quoted form." (save-excursion (goto-char beg) (forward-sexp 1) + (skip-chars-backward "'") (when (>= (point) pos) (point))) (scan-error pos)))) ;; t if in function position. (funpos (eq (char-before beg) ?\())) - (when end + (when (and end (or (not (nth 8 (syntax-ppss))) + (eq (char-before beg) ?`))) (let ((table-etc (if (not funpos) ;; FIXME: We could look at the first element of the list and |