Revision: 5986 http://geany.svn.sourceforge.net/geany/?rev=5986&view=rev Author: ntrel Date: 2011-10-03 14:14:33 +0000 (Mon, 03 Oct 2011) Log Message: ----------- Fix parsing keyword-qualified functions strictly, e.g. don't parse 'staticfunction' or 'fatfunction'.
Modified Paths: -------------- branches/unstable/ChangeLog branches/unstable/tagmanager/php.c
Modified: branches/unstable/ChangeLog =================================================================== --- branches/unstable/ChangeLog 2011-10-02 13:45:14 UTC (rev 5985) +++ branches/unstable/ChangeLog 2011-10-03 14:14:33 UTC (rev 5986) @@ -1,3 +1,10 @@ +2011-10-03 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com> + + * tagmanager/php.c: + Fix parsing keyword-qualified functions strictly, e.g. don't + parse 'staticfunction' or 'fatfunction'. + + 2011-09-30 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/utils.c, src/utils.h, src/editor.c:
Modified: branches/unstable/tagmanager/php.c =================================================================== --- branches/unstable/tagmanager/php.c 2011-10-02 13:45:14 UTC (rev 5985) +++ branches/unstable/tagmanager/php.c 2011-10-03 14:14:33 UTC (rev 5986) @@ -79,10 +79,14 @@ "\1", "m,macro,macros", NULL); addTagRegex(language, "^[ \t]*const[ \t]*([" ALPHA "_][" ALNUM "_]*)[ \t]*[=;]", "\1", "m,macro,macros", NULL); - /* Note: Using [] to match words is wrong, but using () doesn't seem to match 'function' on its own */ addCallbackRegex(language, - "^[ \t]*[(public|protected|private|static|final)[ \t]*]*[ \t]*function[ \t]+&?[ \t]*([" ALPHA "_][" ALNUM "_]*)[[:space:]]*(\(.*\))", + "^[ \t]*((public|protected|private|static|final)[ \t]+)+function[ \t]+&?[ \t]*([" ALPHA "_][" ALNUM "_]*)[[:space:]]*(\(.*\))", NULL, function_cb); + /* note: using (qualifiers)* instead of (qualifiers)+ in the above regex doesn't seem to + * match 'function' on its own, so we handle that separately: */ + addCallbackRegex(language, + "^[ \t]*function[ \t]+&?[ \t]*([" ALPHA "_][" ALNUM "_]*)[[:space:]]*(\(.*\))", + NULL, function_cb); addTagRegex(language, "^[ \t]*(\$|::\$|\$this->)([" ALPHA "_][" ALNUM "_]*)[ \t]*=", "\2", "v,variable,variables", NULL); addTagRegex(language, "^[ \t]*((var|public|protected|private|static)[ \t]+)+\$([" ALPHA "_][" ALNUM "_]*)[ \t]*[=;]",
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.