From: <ryk@ds...>  20021229 20:29:41

Hi David, Your defadvice seems like it would solve the original problem I was referring to. I would like to see in somewhere in cedet files. In addition, I took a look at findfunctionregexp that you mentioned and added the following to my .emacs: ;; Modified this regexp from the original so that all symbols starting ;; with "define" would be matched. This allows defineoverload from ;; semantic package to match in particular. ryk12/29/02. (customsetvariables '(findfunctionregexp "^\\s*(\\(def\[^cgv\W]\\w+\\*?\ \\define\\(\\(\\sw\\\\s_\\)+\\)\ \\easymmodedefineglobalmode\\)\ \\(\\s\\\n\\)+'?%s\\(\\s\\$\\\(\\\)\\)" )) I believe the only change I made to the regexp was to match anything that starts with "define" prefix. I will suggest this change to the author of findfunc. Also this perhaps should be a convention promoted by the elisp manual itself so that all elisp packages would benefit from it. Above change certainly wouldn't help with defclass or defgeneric. >>>>> "DP" == David Ponce <david.ponce@...> writes: DP> >> In fact, it seems that this is the function >> `findfunctionsearchforsymbol' that actually search for a symbol >> definition in a library (GNU Emacs 20.7, 21 and XEmacs 21.4). It uses >> the `findfunctionregexp' and `findvariableregexp' to respectively >> search for a function or variable definition. Maybe we could just >> customize these regexps to match Semantic `defineTHING' macros? DP> DP> I just found that I wrote the following `defadvice' to extend DP> `findfunctionsearchforsymbol' for CEDET things: DP> DP> (defadvice findfunctionsearchforsymbol DP> (around cedetfindfunctionsearchforsymbol activate) DP> "Extend find function to search for CEDET stuff." DP> (if (adgetarg 1) DP> ;; Search for a variable DP> addoit DP> ;; Search for a function DP> (conditioncase nil DP> addoit DP> (error DP> ;; The default search failed try a more specific regexp. DP> (let ((findfunctionregexp DP> (format "(%s%s\\('\\(quote \\)?%%s\\(\\s\\$\\(\\)\\)" DP> (regexpopt DP> '( DP> "defclass" DP> "defgeneric" DP> "definelex" DP> "definelexanalyzer" DP> "definelexblockanalyzer" DP> "definelexregexanalyzer" DP> "definelexsimpleregexanalyzer" DP> "definemodeoverloadimplementation" DP> "defineoverload" DP> "definewisentlexer" DP> "defmethod" DP> )) DP> findfunctionspacere))) DP> addoit))))) DP> DP> Maybe could we provide something like this in common tools? DP> DP> David DP> DP> DP> DP> DP>  DP> This sf.net email is sponsored by:ThinkGeek DP> Welcome to geek heaven. DP> http://thinkgeek.com/sf DP> _______________________________________________ DP> Cedetdevel mailing list DP> Cedetdevel@... DP> https://lists.sourceforge.net/lists/listinfo/cedetdevel DP> 