Commit f7572b72 authored by Dmitry Gutov's avatar Dmitry Gutov
Browse files

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.
parent 9f28cb59
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)))
;; 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))
))
(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))
)))
(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 possible
(list (car (oref ctxt bounds))
(cdr (oref ctxt bounds))
possible))
))
(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))
)))
;;; Autoload some functions that are not in semantic/loaddefs
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment