]> code.delx.au - gnu-emacs/blobdiff - lisp/cedet/semantic/ctxt.el
Merge changes from emacs-23
[gnu-emacs] / lisp / cedet / semantic / ctxt.el
index a33d0ad90ae8d22adddc8389a1af4d19c9b9d519..08049201756b4996008c4529c1c8280b42cc81c4 100644 (file)
@@ -1,7 +1,6 @@
 ;;; semantic/ctxt.el --- Context calculations for Semantic tools.
 
-;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-;;   2007, 2008, 2009  Free Software Foundation, Inc.
+;; Copyright (C) 1999-2011  Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
 ;; Keywords: syntax
@@ -156,15 +155,11 @@ Return non-nil if there is no upper context."
   "Get the local variables based on POINT's context.
 Local variables are returned in Semantic tag format.
 This can be overriden with `get-local-variables'."
-  ;; The working status is to let the parser work properly
-  (let ((semantic--progress-reporter
-        (make-progress-reporter (semantic-parser-working-message "Local")
-                                0 100)))
+  ;; Disable parsing messages
+  (let ((semantic--progress-reporter nil))
     (save-excursion
       (if point (goto-char point))
-      (let* ((semantic-working-type nil)
-            ;; Disable parsing messages
-            (case-fold-search semantic-case-fold))
+      (let* ((case-fold-search semantic-case-fold))
        (:override-with-args ())))))
 
 (defun semantic-get-local-variables-default ()
@@ -603,18 +598,23 @@ that may or may not have a name.)")
   "Return a list of scoped types by name for the current context at POINT.
 This is very different for various languages, and does nothing unless
 overridden."
-  (if point (goto-char point))
-  (let ((case-fold-search semantic-case-fold))
-    ;; We need to look at TYPES within the bounds of locally parse arguments.
-    ;; C needs to find using statements and the like too.  Bleh.
-    nil
-    ))
+  nil)
+
+(define-overloadable-function semantic-ctxt-imported-packages (&optional point)
+  "Return a list of package tags or names which are being imported at POINT.
+The return value is a list of strings which are package names
+that are implied in code.  Thus a C++ symbol:
+  foo::bar();
+where there is a statement such as:
+  using baz;
+means that the first symbol might be:
+  baz::foo::bar();"
+  nil)
 
 (provide 'semantic/ctxt)
 
 ;; Local variables:
 ;; generated-autoload-file: "loaddefs.el"
-;; generated-autoload-feature: semantic/loaddefs
 ;; generated-autoload-load-name: "semantic/ctxt"
 ;; End: