emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r117371: * cedet/semantic/ia.el (semantic-ia-complet


From: Stefan Monnier
Subject: [Emacs-diffs] trunk r117371: * cedet/semantic/ia.el (semantic-ia-complete-symbol-menu): Use posn-at-point
Date: Thu, 19 Jun 2014 22:07:13 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117371
revision-id: address@hidden
parent: address@hidden
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Thu 2014-06-19 18:07:09 -0400
message:
  * cedet/semantic/ia.el (semantic-ia-complete-symbol-menu): Use posn-at-point
  instead of senator-completion-menu-point-as-event; un-comment, tho keep
  the "no smart completion" fallback commented since it still doesn't work.
modified:
  lisp/cedet/ChangeLog           changelog-20100919015713-3rbr456yray5m84f-1
  lisp/cedet/semantic/ia.el      ia.el-20091113204419-o5vbwnq5f7feedwu-11284
=== modified file 'lisp/cedet/ChangeLog'
--- a/lisp/cedet/ChangeLog      2014-05-04 19:37:56 +0000
+++ b/lisp/cedet/ChangeLog      2014-06-19 22:07:09 +0000
@@ -1,3 +1,9 @@
+2014-06-19  Stefan Monnier  <address@hidden>
+
+       * semantic/ia.el (semantic-ia-complete-symbol-menu): Use posn-at-point
+       instead of senator-completion-menu-point-as-event; un-comment, tho keep
+       the "no smart completion" fallback commented since it still doesn't 
work.
+
 2014-05-01  Glenn Morris  <address@hidden>
 
        * ede.el (ede-project-directories, ede-check-project-directory):

=== modified file 'lisp/cedet/semantic/ia.el'
--- a/lisp/cedet/semantic/ia.el 2014-01-13 20:04:08 +0000
+++ b/lisp/cedet/semantic/ia.el 2014-06-19 22:07:09 +0000
@@ -150,45 +150,47 @@
   :group 'semantic
   :type semantic-format-tag-custom-list)
 
-;; 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))
-;;     ))))
+;;;###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.")
+          ;; Disabled - see http://debbugs.gnu.org/14522
+         ;; (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)
+              `(down-mouse-1 ,(posn-at-point))
+              "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
 ;;


reply via email to

[Prev in Thread] Current Thread [Next in Thread]