SF.net SVN: geany: [2013] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Sun Nov 4 10:06:06 UTC 2007
Revision: 2013
http://geany.svn.sourceforge.net/geany/?rev=2013&view=rev
Author: eht16
Date: 2007-11-04 02:06:06 -0800 (Sun, 04 Nov 2007)
Log Message:
-----------
Add support for env wrapper in shebang detection (inspired by a patch from Yura Siamashka).
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/filetypes.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-11-04 09:57:47 UTC (rev 2012)
+++ trunk/ChangeLog 2007-11-04 10:06:06 UTC (rev 2013)
@@ -5,6 +5,8 @@
contains double quotes.
Fix error in Build command when the executable file name contains
spaces(Linux and Windows).
+ * src/filetypes.c: Add support for env wrapper in shebang detection
+ (inspired by a patch from Yura Siamashka).
2007-11-02 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: trunk/src/filetypes.c
===================================================================
--- trunk/src/filetypes.c 2007-11-04 09:57:47 UTC (rev 2012)
+++ trunk/src/filetypes.c 2007-11-04 10:06:06 UTC (rev 2013)
@@ -576,9 +576,14 @@
if (strlen(line) > 2 && line[0] == '#' && line[1] == '!')
{
- /// TODO does g_path_get_basename() also work under Win32 for Unix filenames?
- gchar *basename_interpreter = g_path_get_basename(line + 2);
+ gchar *tmp = g_path_get_basename(line + 2);
+ gchar *basename_interpreter = tmp;
+ if (strncmp(tmp, "env ", 4) == 0 && strlen(tmp) > 4)
+ { // skip "env" and read the following interpreter
+ basename_interpreter +=4;
+ }
+
if (strncmp(basename_interpreter, "sh", 2) == 0)
ft = filetypes[GEANY_FILETYPES_SH];
else if (strncmp(basename_interpreter, "bash", 4) == 0)
@@ -605,9 +610,8 @@
ft = filetypes[GEANY_FILETYPES_D];
else if (strncmp(basename_interpreter, "wish", 4) == 0)
ft = filetypes[GEANY_FILETYPES_TCL];
- // what else to add?
- g_free(basename_interpreter);
+ g_free(tmp);
}
// detect XML files
if (strncmp(line, "<?xml", 5) == 0)
@@ -862,7 +866,7 @@
static gboolean loaded[GEANY_MAX_FILE_TYPES] = {FALSE};
g_return_if_fail(ft_id >= 0 && ft_id < GEANY_MAX_FILE_TYPES);
-
+
if (loaded[ft_id])
return;
loaded[ft_id] = TRUE;
@@ -887,7 +891,7 @@
load_settings(ft_id, config, config_home);
highlighting_init_styles(ft_id, config, config_home);
-
+
g_key_file_free(config);
g_key_file_free(config_home);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list