SF.net SVN: geany:[3640] branches/reorder-filetypes

ntrel at users.sourceforge.net ntrel at xxxxx
Fri Mar 20 16:18:33 UTC 2009


Revision: 3640
          http://geany.svn.sourceforge.net/geany/?rev=3640&view=rev
Author:   ntrel
Date:     2009-03-20 16:18:32 +0000 (Fri, 20 Mar 2009)

Log Message:
-----------
Make GEANY_FILETYPES_NONE = 0; other things are now broken, e.g.
setting Open dialog filetypes.

Modified Paths:
--------------
    branches/reorder-filetypes/ChangeLog
    branches/reorder-filetypes/src/dialogs.c
    branches/reorder-filetypes/src/filetypes.c
    branches/reorder-filetypes/src/filetypes.h
    branches/reorder-filetypes/src/highlighting.c
    branches/reorder-filetypes/src/plugindata.h
    branches/reorder-filetypes/src/symbols.c

Modified: branches/reorder-filetypes/ChangeLog
===================================================================
--- branches/reorder-filetypes/ChangeLog	2009-03-20 16:13:30 UTC (rev 3639)
+++ branches/reorder-filetypes/ChangeLog	2009-03-20 16:18:32 UTC (rev 3640)
@@ -1,3 +1,11 @@
+2009-03-20  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * src/highlighting.c, src/dialogs.c, src/plugindata.h,
+   src/filetypes.c, src/filetypes.h, src/symbols.c:
+   Make GEANY_FILETYPES_NONE = 0; other things are now broken, e.g.
+   setting Open dialog filetypes.
+
+
 2009-03-19  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>
 
  * src/build.c:

Modified: branches/reorder-filetypes/src/dialogs.c
===================================================================
--- branches/reorder-filetypes/src/dialogs.c	2009-03-20 16:13:30 UTC (rev 3639)
+++ branches/reorder-filetypes/src/dialogs.c	2009-03-20 16:18:32 UTC (rev 3640)
@@ -90,7 +90,7 @@
 		gboolean ro = (response == GEANY_RESPONSE_VIEW);	/* View clicked */
 
 		/* ignore detect from file item */
-		if (filetype_idx >= 0 && filetype_idx < GEANY_FILETYPES_NONE)
+		if (filetype_idx > 0 && filetype_idx < GEANY_MAX_BUILT_IN_FILETYPES)
 			ft = filetypes[filetype_idx];
 		if (encoding_idx >= 0 && encoding_idx < GEANY_ENCODINGS_MAX)
 			charset = encodings[encoding_idx].charset;

Modified: branches/reorder-filetypes/src/filetypes.c
===================================================================
--- branches/reorder-filetypes/src/filetypes.c	2009-03-20 16:13:30 UTC (rev 3639)
+++ branches/reorder-filetypes/src/filetypes.c	2009-03-20 16:18:32 UTC (rev 3640)
@@ -78,7 +78,18 @@
 {
 	GeanyFiletype *ft;
 
-#define C	/* these macros are only to ease navigation */
+#define NONE	/* these macros are only to ease navigation */
+	ft = filetypes[GEANY_FILETYPES_NONE];
+	ft->lang = -2;
+	ft->name = g_strdup("None");
+	ft->title = g_strdup(_("All files"));
+	ft->extension = g_strdup("*");
+	ft->pattern = utils_strv_new("*", NULL);
+	ft->comment_open = NULL;
+	ft->comment_close = NULL;
+	ft->group = GEANY_FILETYPE_GROUP_NONE;
+
+#define C
 	ft = filetypes[GEANY_FILETYPES_C];
 	ft->lang = 0;
 	ft->name = g_strdup("C");
@@ -560,17 +571,6 @@
 	ft->comment_open = g_strdup("--");
 	ft->comment_close = NULL;
 	ft->group = GEANY_FILETYPE_GROUP_COMPILED;
-
-#define ALL
-	ft = filetypes[GEANY_FILETYPES_NONE];
-	ft->lang = -2;
-	ft->name = g_strdup("None");
-	ft->title = g_strdup(_("All files"));
-	ft->extension = g_strdup("*");
-	ft->pattern = utils_strv_new("*", NULL);
-	ft->comment_open = NULL;
-	ft->comment_close = NULL;
-	ft->group = GEANY_FILETYPE_GROUP_NONE;
 }
 
 
@@ -1240,7 +1240,7 @@
 		G_DIR_SEPARATOR_S GEANY_FILEDEFS_SUBDIR G_DIR_SEPARATOR_S "filetypes.", NULL);
 	gint i;
 
-	for (i = 0; i < GEANY_FILETYPES_NONE; i++)
+	for (i = 1; i < GEANY_MAX_BUILT_IN_FILETYPES; i++)
 	{
 		struct build_programs *bp = filetypes[i]->programs;
 		GKeyFile *config_home;

Modified: branches/reorder-filetypes/src/filetypes.h
===================================================================
--- branches/reorder-filetypes/src/filetypes.h	2009-03-20 16:13:30 UTC (rev 3639)
+++ branches/reorder-filetypes/src/filetypes.h	2009-03-20 16:18:32 UTC (rev 3640)
@@ -29,14 +29,11 @@
 #include "ScintillaWidget.h"
 
 
-/* Each group should be alpha-sorted, based on filetype::name (not enum name).
- * Warning: remember to break the plugin ABI when adding items. */
-/* TODO: for a stable ABI put GEANY_FILETYPES_NONE first, and use a sorted duplicate
- * filetypes array for GUI elements. */
 typedef enum
 {
-	/* normally compiled languages */
-	GEANY_FILETYPES_ADA = 0,
+	GEANY_FILETYPES_NONE = 0,	/* first filetype */
+
+	GEANY_FILETYPES_ADA,
 	GEANY_FILETYPES_AS,
 	GEANY_FILETYPES_ASM,
 	GEANY_FILETYPES_C,
@@ -54,8 +51,6 @@
 	GEANY_FILETYPES_PASCAL,
 	GEANY_FILETYPES_VALA,
 	GEANY_FILETYPES_VHDL,
-
-	/* script languages */
 	GEANY_FILETYPES_FERITE,
 	GEANY_FILETYPES_JS,
 	GEANY_FILETYPES_LUA,
@@ -68,14 +63,10 @@
 	GEANY_FILETYPES_RUBY,
 	GEANY_FILETYPES_SH,
 	GEANY_FILETYPES_TCL,
-
-	/* markup languages */
 	GEANY_FILETYPES_CSS,
 	GEANY_FILETYPES_DOCBOOK,
 	GEANY_FILETYPES_HTML,
 	GEANY_FILETYPES_XML,
-
-	/* miscellaneous languages */
 	GEANY_FILETYPES_CMAKE,
 	GEANY_FILETYPES_CONF,
 	GEANY_FILETYPES_DIFF,
@@ -86,9 +77,10 @@
 	GEANY_FILETYPES_SQL,
 	GEANY_FILETYPES_YAML,
 
-	GEANY_FILETYPES_NONE,	/* must be last filetype */
-	GEANY_MAX_BUILT_IN_FILETYPES	/* Use filetypes_array->len instead */
-} filetype_id;
+	/* ^ append items here */
+	GEANY_MAX_BUILT_IN_FILETYPES	/* Don't use this, use filetypes_array->len instead */
+}
+filetype_id;
 
 typedef enum
 {

Modified: branches/reorder-filetypes/src/highlighting.c
===================================================================
--- branches/reorder-filetypes/src/highlighting.c	2009-03-20 16:13:30 UTC (rev 3639)
+++ branches/reorder-filetypes/src/highlighting.c	2009-03-20 16:18:32 UTC (rev 3640)
@@ -3433,7 +3433,7 @@
 	filetypes_load_config(filetype_idx, FALSE);	/* load filetypes.ext */
 
 	/* load tags files (some lexers highlight global typenames) */
-	if (filetype_idx < GEANY_FILETYPES_NONE)
+	if (filetype_idx != GEANY_FILETYPES_NONE)
 		symbols_global_tags_loaded(filetype_idx);
 
 	switch (filetype_idx)

Modified: branches/reorder-filetypes/src/plugindata.h
===================================================================
--- branches/reorder-filetypes/src/plugindata.h	2009-03-20 16:13:30 UTC (rev 3639)
+++ branches/reorder-filetypes/src/plugindata.h	2009-03-20 16:18:32 UTC (rev 3640)
@@ -51,7 +51,7 @@
 	 * existing fields in the plugin data types have to be changed or reordered. */
 	/* This should usually stay the same if fields are only appended, assuming only pointers to
 	 * structs and not structs themselves are declared by plugins. */
-	GEANY_ABI_VERSION = 59
+	GEANY_ABI_VERSION = 60
 };
 
 /** Check the plugin can be loaded by Geany.

Modified: branches/reorder-filetypes/src/symbols.c
===================================================================
--- branches/reorder-filetypes/src/symbols.c	2009-03-20 16:13:30 UTC (rev 3639)
+++ branches/reorder-filetypes/src/symbols.c	2009-03-20 16:18:32 UTC (rev 3640)
@@ -1381,7 +1381,7 @@
 
 		g_free(utf8_fname);
 
-		if (FILETYPE_ID(ft) < GEANY_FILETYPES_NONE)
+		if (FILETYPE_ID(ft) != GEANY_FILETYPES_NONE)
 		{
 			fnames = g_hash_table_lookup(hash, ft);	/* may be NULL */
 			fnames = g_list_append(fnames, fname);
@@ -1417,13 +1417,14 @@
 
 static void load_user_tags(filetype_id ft_id)
 {
-	static guchar tags_loaded[GEANY_FILETYPES_NONE] = {0};
+	static guchar tags_loaded[GEANY_MAX_BUILT_IN_FILETYPES - 1] = {0};
 	static GHashTable *lang_hash = NULL;
 	GList *fnames;
 	const GList *node;
 	const GeanyFiletype *ft = filetypes[ft_id];
 
-	g_return_if_fail(ft_id < GEANY_FILETYPES_NONE);
+	g_return_if_fail(ft_id > 0);
+	g_return_if_fail(ft_id < GEANY_MAX_BUILT_IN_FILETYPES);
 
 	if (tags_loaded[ft_id])
 		return;


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