emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] scratch/last-cedet-merge fdd5968 15/50: semantic: New func


From: David Engster
Subject: [Emacs-diffs] scratch/last-cedet-merge fdd5968 15/50: semantic: New function to calculate scope around tag
Date: Wed, 25 Jan 2017 22:15:21 +0000 (UTC)

branch: scratch/last-cedet-merge
commit fdd5968c0b451cd38a923541de8aa5ce2422bfa8
Author: Eric Ludlam <address@hidden>
Commit: David Engster <address@hidden>

    semantic: New function to calculate scope around tag
    
    * lisp/cedet/semantic/scope.el (semantic-calculate-scope-for-tag):
      New.
---
 lisp/cedet/semantic/scope.el |   10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/lisp/cedet/semantic/scope.el b/lisp/cedet/semantic/scope.el
index 9bade56..272f37d 100644
--- a/lisp/cedet/semantic/scope.el
+++ b/lisp/cedet/semantic/scope.el
@@ -767,6 +767,16 @@ The class returned from the scope calculation is variable
        ;; can reset the scope cache without affecting others.
        (clone scopecache)))))
 
+(defun semantic-calculate-scope-for-tag (tag)
+  "Calculate the current scope that is around TAG.
+Return nil if TAG has no position, or we cannot otherwise find a scope.
+Use this when pulling a datatype off TAG so when it is looked up
+it has the right context around it."
+   (save-current-buffer
+     (when (semantic-tag-with-position-p tag)
+       (semantic-go-to-tag tag)
+       (semantic-calculate-scope (point)))) )
+
 (defun semantic-scope-find (name &optional class scope-in)
   "Find the tag with NAME, and optional CLASS in the current SCOPE-IN.
 Searches various elements of the scope for NAME.  Return ALL the



reply via email to

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