emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] scratch/last-cedet-merge deaa8c9 24/37: semantic: New func


From: David Engster
Subject: [Emacs-diffs] scratch/last-cedet-merge deaa8c9 24/37: semantic: New function to find library with macro definition
Date: Sun, 22 Jan 2017 21:26:32 +0000 (UTC)

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

    semantic: New function to find library with macro definition
    
    * lisp/cedet/semantic/grammar.el
      (semantic--grammar-find-macro-symbol-library): New
---
 lisp/cedet/semantic/grammar.el |   10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/lisp/cedet/semantic/grammar.el b/lisp/cedet/semantic/grammar.el
index e7dd7c4..3260ddd 100644
--- a/lisp/cedet/semantic/grammar.el
+++ b/lisp/cedet/semantic/grammar.el
@@ -1546,6 +1546,16 @@ Return the tag found or nil if not found."
                  semanticdb-current-database
                  (cdar (semanticdb-find-tags-by-name name nil t)))))))
 
+(defun semantic--grammar-find-macro-symbol-library (def)
+  "Return the library the macro defined by DEF is in."
+  (let ((lib (symbol-file (cdr def) 'defun)))
+    (if (not (string-match "\\.elc" lib))
+       lib
+      (setq lib2 (replace-match ".el" t t lib 0))
+      (if (file-exists-p lib2)
+         lib2
+       lib))))
+
 (defsubst semantic--grammar-macro-lib-part (def)
   "Return the library part of the grammar macro defined by DEF."
   (let ((suf (format "-%s\\'" (regexp-quote (symbol-name (car def)))))



reply via email to

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