1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-04 08:47:11 +00:00

* cedet/semantic/ia.el (semantic-ia-complete-symbol-menu):

Comment it out, since it cannot work.

Fixes: debbugs:14522
This commit is contained in:
Glenn Morris 2013-09-12 23:37:39 -07:00
parent 35c3d36e0e
commit a89f3fdfa0
2 changed files with 44 additions and 38 deletions

View File

@ -1,3 +1,8 @@
2013-09-13 Glenn Morris <rgm@gnu.org>
* semantic/ia.el (semantic-ia-complete-symbol-menu):
Comment it out, since it cannot work. (Bug#14522)
2013-09-12 Glenn Morris <rgm@gnu.org>
* semantic/find.el (semantic-find-first-tag-by-name):

View File

@ -149,44 +149,45 @@ Completion options are calculated with `semantic-analyze-possible-completions'."
:group 'semantic
:type semantic-format-tag-custom-list)
;;;###autoload
(defun semantic-ia-complete-symbol-menu (point)
"Complete the current symbol via a menu based at POINT.
Completion options are calculated with `semantic-analyze-possible-completions'."
(interactive "d")
(require 'imenu)
(let* ((a (semantic-analyze-current-context point))
(syms (semantic-analyze-possible-completions a))
)
;; Complete this symbol.
(if (not syms)
(progn
(message "No smart completions found. Trying Senator.")
(when (semantic-analyze-context-p a)
;; This is a quick way of getting a nice completion list
;; in the menu if the regular context mechanism fails.
(senator-completion-menu-popup)))
(let* ((menu
(mapcar
(lambda (tag)
(cons
(funcall semantic-ia-completion-menu-format-tag-function tag)
(vector tag)))
syms))
(ans
(imenu--mouse-menu
;; XEmacs needs that the menu has at least 2 items. So,
;; include a nil item that will be ignored by imenu.
(cons nil menu)
(senator-completion-menu-point-as-event)
"Completions")))
(when ans
(if (not (semantic-tag-p ans))
(setq ans (aref (cdr ans) 0)))
(delete-region (car (oref a bounds)) (cdr (oref a bounds)))
(semantic-ia-insert-tag ans))
))))
;; Disabled - see http://debbugs.gnu.org/14522
;; ;;;###autoload
;; (defun semantic-ia-complete-symbol-menu (point)
;; "Complete the current symbol via a menu based at POINT.
;; Completion options are calculated with `semantic-analyze-possible-completions'."
;; (interactive "d")
;; (require 'imenu)
;; (let* ((a (semantic-analyze-current-context point))
;; (syms (semantic-analyze-possible-completions a))
;; )
;; ;; Complete this symbol.
;; (if (not syms)
;; (progn
;; (message "No smart completions found. Trying Senator.")
;; (when (semantic-analyze-context-p a)
;; ;; This is a quick way of getting a nice completion list
;; ;; in the menu if the regular context mechanism fails.
;; (senator-completion-menu-popup)))
;;
;; (let* ((menu
;; (mapcar
;; (lambda (tag)
;; (cons
;; (funcall semantic-ia-completion-menu-format-tag-function tag)
;; (vector tag)))
;; syms))
;; (ans
;; (imenu--mouse-menu
;; ;; XEmacs needs that the menu has at least 2 items. So,
;; ;; include a nil item that will be ignored by imenu.
;; (cons nil menu)
;; (senator-completion-menu-point-as-event)
;; "Completions")))
;; (when ans
;; (if (not (semantic-tag-p ans))
;; (setq ans (aref (cdr ans) 0)))
;; (delete-region (car (oref a bounds)) (cdr (oref a bounds)))
;; (semantic-ia-insert-tag ans))
;; ))))
;;; Completions Tip
;;