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.