diff --git a/ChangeLog b/ChangeLog index 290268afd..f992c45ec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-11-19 Enrico Tröger + + * tagmanager/read.c: Fix file type detection for parsers using regexp + code with non-standard file type extensions. + + 2007-11-18 Enrico Tröger * doc/geany.html, doc/geany.txt, src/keyfile.c, src/plugindata.h, diff --git a/tagmanager/read.c b/tagmanager/read.c index e0cba15e7..a48d34177 100644 --- a/tagmanager/read.c +++ b/tagmanager/read.c @@ -66,7 +66,7 @@ static void setInputFileName (const char *const fileName) vStringNCopyS (File.path, fileName, length); } } -static void setSourceFileParameters (vString *const fileName) +static void setSourceFileParameters (vString *const fileName, const langType language) { if (File.source.name != NULL) vStringDelete (File.source.name); @@ -84,7 +84,10 @@ static void setSourceFileParameters (vString *const fileName) TagFile.max.file = vStringLength (fileName); File.source.isHeader = isIncludeFile (vStringValue (fileName)); - File.source.language = getFileLanguage (vStringValue (fileName)); + if (language != -1) + File.source.language = language; + else + File.source.language = getFileLanguage (vStringValue (fileName)); } static boolean setSourceFileName (vString *const fileName) @@ -98,7 +101,7 @@ static boolean setSourceFileName (vString *const fileName) else pathName = combinePathAndFile (vStringValue (File.path), vStringValue (fileName)); - setSourceFileParameters (pathName); + setSourceFileParameters (pathName, -1); result = TRUE; } return result; @@ -270,7 +273,7 @@ extern boolean fileOpen (const char *const fileName, const langType language) if (File.line != NULL) vStringClear (File.line); - setSourceFileParameters (vStringNewInit (fileName)); + setSourceFileParameters (vStringNewInit (fileName), language); File.source.lineNumber = 0L; verbose ("OPENING %s as %s language %sfile\n", fileName,