Fix Semantic completion-at-point functions in non-Semantic buffers
Fixes: debbugs:19077 * lisp/cedet/semantic.el (semantic-analyze-completion-at-point-function) (semantic-analyze-notc-completion-at-point-function) (semantic-analyze-nolongprefix-completion-at-point-function): Do nothing if the current buffer is not using Semantic.
This commit is contained in:
parent
9f28cb59dc
commit
f7572b72fd
2 changed files with 35 additions and 25 deletions
|
@ -1,3 +1,10 @@
|
|||
2014-12-14 Dmitry Gutov <dgutov@yandex.ru>
|
||||
|
||||
* semantic.el (semantic-analyze-completion-at-point-function)
|
||||
(semantic-analyze-notc-completion-at-point-function)
|
||||
(semantic-analyze-nolongprefix-completion-at-point-function): Do
|
||||
nothing if the current buffer is not using Semantic (bug#19077).
|
||||
|
||||
2014-12-08 Matt Curtis <matt.r.curtis@gmail.com> (tiny change)
|
||||
|
||||
* pulse.el (pulse-momentary-highlight-one-line): Respect the POINT
|
||||
|
|
|
@ -1174,17 +1174,18 @@ Semantic mode.
|
|||
"Return possible analysis completions at point.
|
||||
The completions provided are via `semantic-analyze-possible-completions'.
|
||||
This function can be used by `completion-at-point-functions'."
|
||||
(let* ((ctxt (semantic-analyze-current-context))
|
||||
(possible (semantic-analyze-possible-completions ctxt)))
|
||||
(when (semantic-active-p)
|
||||
(let* ((ctxt (semantic-analyze-current-context))
|
||||
(possible (semantic-analyze-possible-completions ctxt)))
|
||||
|
||||
;; The return from this is either:
|
||||
;; nil - not applicable here.
|
||||
;; A list: (START END COLLECTION . PROPS)
|
||||
(when possible
|
||||
(list (car (oref ctxt bounds))
|
||||
(cdr (oref ctxt bounds))
|
||||
possible))
|
||||
))
|
||||
;; The return from this is either:
|
||||
;; nil - not applicable here.
|
||||
;; A list: (START END COLLECTION . PROPS)
|
||||
(when possible
|
||||
(list (car (oref ctxt bounds))
|
||||
(cdr (oref ctxt bounds))
|
||||
possible))
|
||||
)))
|
||||
|
||||
(defun semantic-analyze-notc-completion-at-point-function ()
|
||||
"Return possible analysis completions at point.
|
||||
|
@ -1192,14 +1193,15 @@ The completions provided are via `semantic-analyze-possible-completions',
|
|||
but with the 'no-tc option passed in, which means constraints based
|
||||
on what is being assigned to are ignored.
|
||||
This function can be used by `completion-at-point-functions'."
|
||||
(let* ((ctxt (semantic-analyze-current-context))
|
||||
(possible (semantic-analyze-possible-completions ctxt 'no-tc)))
|
||||
(when (semantic-active-p)
|
||||
(let* ((ctxt (semantic-analyze-current-context))
|
||||
(possible (semantic-analyze-possible-completions ctxt 'no-tc)))
|
||||
|
||||
(when possible
|
||||
(list (car (oref ctxt bounds))
|
||||
(cdr (oref ctxt bounds))
|
||||
possible))
|
||||
))
|
||||
(when possible
|
||||
(list (car (oref ctxt bounds))
|
||||
(cdr (oref ctxt bounds))
|
||||
possible))
|
||||
)))
|
||||
|
||||
(defun semantic-analyze-nolongprefix-completion-at-point-function ()
|
||||
"Return possible analysis completions at point.
|
||||
|
@ -1207,15 +1209,16 @@ The completions provided are via `semantic-analyze-possible-completions',
|
|||
but with the 'no-tc and 'no-longprefix option passed in, which means
|
||||
constraints resulting in a long multi-symbol dereference are ignored.
|
||||
This function can be used by `completion-at-point-functions'."
|
||||
(let* ((ctxt (semantic-analyze-current-context))
|
||||
(possible (semantic-analyze-possible-completions
|
||||
ctxt 'no-tc 'no-longprefix)))
|
||||
(when (semantic-active-p)
|
||||
(let* ((ctxt (semantic-analyze-current-context))
|
||||
(possible (semantic-analyze-possible-completions
|
||||
ctxt 'no-tc 'no-longprefix)))
|
||||
|
||||
(when possible
|
||||
(list (car (oref ctxt bounds))
|
||||
(cdr (oref ctxt bounds))
|
||||
possible))
|
||||
))
|
||||
(when possible
|
||||
(list (car (oref ctxt bounds))
|
||||
(cdr (oref ctxt bounds))
|
||||
possible))
|
||||
)))
|
||||
|
||||
;;; Autoload some functions that are not in semantic/loaddefs
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue