]> git.eshelyaron.com Git - emacs.git/commitdiff
semantic: New function to find library with macro definition
authorEric Ludlam <eric@siege-engine.com>
Sat, 8 Aug 2015 14:45:15 +0000 (10:45 -0400)
committerDavid Engster <deng@randomsample.de>
Sun, 22 Jan 2017 21:25:16 +0000 (22:25 +0100)
* lisp/cedet/semantic/grammar.el
  (semantic--grammar-find-macro-symbol-library): New

lisp/cedet/semantic/grammar.el

index e7dd7c43b6e7aa3e9be7d010b4bd2914a2568d45..3260ddd5166e789d203e4d966185381e43163e13 100644 (file)
@@ -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)))))