2011-10-07 Nick Treleaven * src/keybindings.c, src/sidebar.c, src/dialogs.c, src/callbacks.c, src/notebook.c, src/document.c, src/document.h, src/editor.c: Add document_show_tab(). 2011-10-06 Nick Treleaven * doc/Makefile.am, doc/makefile.win32: Add doc/makefile.win32 for docs generation. * scintilla/Makefile.am, src/Makefile.am, tagmanager/mio/Makefile.am, tagmanager/Makefile.am, Makefile.am: Fix missing tagmanager/mio/makefile.win32 in EXTRA_DIST. Include makefile.win32 in EXTRA_DIST recursively, not at top-level. 2011-10-06 Colomban Wendling * autogen.sh, configure.ac: Modernize configure.ac a bit. * configure.ac, m4/geany-revision.m4, m4/geany-binreloc.m4, m4/geany-gnu-regex.m4, m4/geany-plugins.m4, m4/geany-i18n.m4, m4/geany-mingw.m4, m4/geany-socket.m4, m4/geany-vte.m4, m4/geany-utils.m4, m4/geany-status.m4, m4/geany-the-force.m4: Extract some configure logic to separate files for better readability. 2011-10-05 Nick Treleaven * tagmanager/lregex.c, tagmanager/php.c: Fix CTags bug 2970274 - when using addCallbackRegex the callback receives less than the number of matches. The number is still not correct (due to POSIX regex compatibility) but at least includes all non-empty matches now. http://sourceforge.net/tracker/index.php?func=detail&aid=2970274 &group_id=6556&atid=106556 2011-10-04 Nick Treleaven * tagmanager/js.c: Update from CTags SVN jscript.c. 2011-10-03 Colomban Wendling * TODO, configure.ac, doc/geany.txt, geany.nsi, geany_private.rc, src/geany.h, win32-config.h, wscript: Post-release version bump. * src/callbacks.c: Fix "toggle case" when there is no selection. 2011-10-03 Nick Treleaven * Merge branches/unstable: - tagmanager/php.c: Fix parsing keyword-qualified functions strictly, e.g. don't parse 'staticfunction' or 'fatfunction'. - src/utils.c, src/utils.h, src/editor.c: Use GRegex for snippet indentation replacement - fixes wrong behaviour with Mac line endings. - tagmanager/lregex.c, TODO: Use GRegex for CTags instead of POSIX regex - GRegex is more powerful. This also fixes a (HTML) performance issue on Windows. Geany will now print a debug warning when using the "b" CTags regex flag option for non-extended syntax. This is not currently used by Geany's parsers. Note: GNU regex can't be removed yet as it's still used elsewhere by Geany. - src/build.c, doc/pluginsignals.c: When saving on build, prompt for a filename if necessary. Emit the "build-start" signal only if saving succeeds. - src/build.c: Use #ifdef SYNC_SPAWN instead of G_OS_WIN32 for easier testing with glib's asynchronous spawning (which doesn't work on Windows). - src/win32.c, src/win32.h, src/dialogs.c: Use GTK unsaved file dialog on Windows too because the button names should be specific. * src/build.c, src/keybindings.c, src/keybindings.h, src/prefs.c: Support visual reordering of keybinding groups without breaking the plugin ABI. Reorder Project group to follow main menu order. Move Focus, Notebook tab groups last as they don't have corresponding menu items. Use keybindings_get_core_group() for fixed group IDs instead of indexing keybinding_groups. Make keybindings_lookup_item() only work with a GEANY_KEY_GROUP_ ID, not an index into keybinding_groups. 2011-10-02 Colomban Wendling * doc/geany.txt, doc/geany.html: Add myself as an author. * New release: Geany 0.21 "Gromia". 2011-10-01 Enrico Tröger * doc/images/*.png: Update documentation images. * doc/geany.txt, doc/geany.html: Update documentation for new images. 2011-09-28 Colomban Wendling * src/utils.c: Fix utils_string_replace_all() to accept a NULL replacement again. 2011-09-26 Nick Treleaven * src/editor.c: Fix not converting \n to document line endings in snippets. * src/editor.c: Fix not indenting snippet contents for documents with non-\n line endings. 2011-09-22 Nick Treleaven * src/stash.c, src/keyfile.c, src/keyfile.h, src/ui_utils.c: Add configuration_add_various_pref_group(). * src/win32.c: Fix \0 char in format string - save as dialog filter bug. 2011-09-20 Nick Treleaven * src/keyfile.c: Rename use_safe_file_saving various pref to use_atomic_file_saving as it's not 'safe'. Use old pref if new one is missing for compatibility with Geany <= 0.20. * src/prefs.c, src/stash.h, src/stash.c: Fix making various prefs tree sync with data values when showing the prefs dialog (patch by Dimitar Zhekov, thanks). 2011-09-17 Frank Lanitz * po/fa.po, THANKS, src/about.c: Adding Persian translation. Thanks to Moein Owhadi Kareshk * THANKS: Adding Giuliano Manzitti to THANKS-file. 2011-09-16 Colomban Wendling * src/ui_utils.c: Fix document sensitivity of a few menu items. 2011-09-16 Nick Treleaven * src/interface.c, geany.glade: Change various prefs label to /warn/ the user to read the manual. 2011-09-15 Colomban Wendling * src/utils.c: Ask the user to configure a valid browser command if spawning it fails rather than falling back to some arbitrary hardcoded defaults. 2011-09-14 Nick Treleaven * src/win32.c: Fix uninitialized font size & other fields. Remove unhooked font dialog apply button. 2011-09-13 Colomban Wendling * data/filetype_extensions.conf: Add Markdown extensions from Shared MIME-Info database (closes #3405321). * src/filetypes.c: Add missing MIME type to a few filetypes. * doc/geany.txt, doc/geany.html: Fix a few typos. 2011-09-12 Colomban Wendling * src/symbols.c: Fix updating symbol list for overloaded C++ symbols (closes #3406644). 2011-09-02 Colomban Wendling * src/ui_utils.c: Fix check for enabling MIME type based icons. * src/encodings.c, src/filetypes.c: Plug a few memory leaks. 2011-08-25 Colomban Wendling * src/utils.h: Fix foreach_ptr_array() not to crash on arrays with 0 elements. 2011-08-25 Colomban Wendling * src/document.c, src/filetypes.c, src/filetypes.h, doc/geany.txt, doc/geany.html, data/filetypes.*: Add support for filetype-specific indentation settings (closes #3339420 and #3390435). * src/callbacks.c, src/editor.c, src/editor.h: Add editor_set_indent_width() to only set indentation width. * src/callbacks.c, src/callbacks.h, src/document.c, src/document.h, src/interface.c, geany.glade: Add menu items to detect indentation settings from document's content. 2011-08-24 Colomban Wendling * src/editor.c: Make completion and word completion support non-ASCII characters (closes #3313351). 2011-08-21 Colomban Wendling * src/callbacks.c, src/editor.c, src/editor.h, src/keybindings.c: Fix search for the current word if it isn't composed of only GEANY_WORDCHARS (closes #3386129). 2011-08-20 Colomban Wendling * tagmanager/haskell.c: Fix tags for one-letter Haskell symbols (closes #3289160). 2011-08-19 Frank Lanitz * doc/plugins.dox: Update of wording to fix some grammatical issues etc. on plugin howto. Patch provided by Matthew Brush. Thanks. * data/filetypes.Cython.conf: Extend list of primary keywords. Patch by Alexander Eberspächer. Thanks. 2011-08-19 Colomban Wendling * data/filetype_extensions.conf, data/filetypes.Cython.conf, data/filetypes.python: Add Cython filetype (patch by Matthew Brush, thanks). * src/symbols.c, tagmanager/include/tm_workspace.h, tagmanager/tm_workspace.c: Create temporary files used for generating global tags files in the system directory for temp files. * tagmanager/diff.c: Don't make tags for /dev/null in diff files but for the new file instead (Based on a patch by Yang Hong, thanks). 2011-08-15 Frank Lanitz * doc/plugins.dox: Update API version used inside plugin howto to a more recent version (API v211). 2011-08-13 Colomban Wendling * src/msgwindow.c, src/msgwindow.h, src/ui_utils.c, src/ui_utils.h: Focus the editor upon double click on the message and compiler windows (patch by Dimitar Zhekov, thanks). 2011-08-03 Colomban Wendling * src/geany.h, plugins/classbuilder.c, plugins/export.c, plugins/filebrowser.c, plugins/htmlchars.c, plugins/saveactions.c, plugins/splitwindow.c: Only include config.h when building Geany (closes #3384026). 2011-07-31 Frank Lanitz * doc/plugins.dox: Adding some content about PLUGIN_SET_TRANSLATABLE_INFO() into plugin HowTo as well as a hint to make usage of main_locale_init(). 2011-07-28 Colomban Wendling * src/build.c, src/build.h, src/editor.c, src/interface.c, src/keyfile.c, src/prefs.c, src/stash.c, src/stash.h, src/ui_utils.c, geany.glade, doc/geany.txt, doc/geany.html: Allow to edit formerly hidden preferences in the prefs dialog (closes #3313315, patch by Dimitar Zhekov and myself, thanks!). * src/document.c: Improve indentation width detection to better deal with Java and Vala files. 2011-06-26 Colomban Wendling * src/highlighting.c: Recognize C# and Vala raw and verbatim strings as string styles. * src/editor.c: Fix indentation brace matching (closes #3309606). 2011-06-26 Enrico Tröger * src/callbacks.c, doc/geany.txt, doc/geany.html, README, HACKING, geany.pc.in: More GTK 2.8 => GTK 2.12 transition. 2011-06-20 Colomban Wendling * src/document.c, src/document.h, src/keyfile.c, doc/geany.txt, doc/geany.html: Add an hidden pref to choose between GIO and plain C unsafe file saving. * configure.ac, src/document.c, win32-config.h: Completely drop HAVE_GIO checks. 2011-06-18 Colomban Wendling * src/document.c, src/document.h, src/editor.c: Remove support of size being -1 in document_open_file_list(). * src/utils.c src/utils.h: Remove support of size being -1 in utils_get_line_endings(). * src/stash.c, src/stash.h: Make StashWidgetID map to gconstpointer, allowing use of const strings as the widget key. 2011-06-16 Colomban Wendling * src/document.c, src/main.c, src/ui_utils.c, src/utils.c: Remove most of the checks for GIO. * src/win32.c: Remove last GLib >= 2.16 check. 2011-06-15 Enrico Tröger * tagmanager/python.c: Fix two bugs with triple quoted strings within comments and missing indentation within triple quoted strings (#3316966, synced from CTags SVN, patch by Elias Pschernig, thanks). 2011-06-14 Enrico Tröger * data/filetypes.python: Add Cython keywords. 2011-06-13 Colomban Wendling * configure.ac, src/Makefile.am, src/makefile.win32, wscript: Bump dependencies to GTK >= 2.12, GLib >= 2.16 and GIO. * plugins/export.c, plugins/filebrowser.c, plugins/splitwindow.c, src/build.c, src/dialogs.c, src/document.c, src/highlighting.c, src/printing.c, src/project.c, src/search.c, src/ui_utils.c, src/vte.c: Deprecate ui_widget_set_tooltip_text() in favor of gtk_widget_set_tooltip_text(). * configure.ac, doc/geany.html, doc/geany.txt, src/callbacks.c, src/keyfile.c, src/main.c, src/prefs.c, src/printing.c, src/printing.h: Enable GTK printing support unconditionally. * doc/geany.html, doc/geany.txt: Stop talking about pre-GTK 2.12 tricks. * geany.glade, src/interface.c: Fix Printing preferences page alignment. * src/notebook.c: Remove pre-GTK 2.10 tab DnD support. * src/pluginutils.c, tagmanager/tm_file_entry.c, tagmanager/tm_symbol.c, tagmanager/tm_tag.c: Unconditionally use GSlice allocator. 2011-06-11 Colomban Wendling * src/dialogs.c, src/main.c, src/ui_utils.h: Always destroy open and save dialog after use. This also helps working around a long-living GTK+ bug, hopefully closing #3311258, #3304273, #3201050, #3163742, #3153120 and #2985896. 2011-06-03 Colomban Wendling * src/callbacks.c, src/document.c, src/document.h, src/editor.c, src/search.c, src/search.h: Show the actual text the user searched for in messages rather than the internal one (patch by Eugene Arshinov, thanks). * src/search.c: Also use the actual user search in the combo box history. 2011-06-02 Enrico Tröger * src/document.c, src/document.h, src/ui_utils.c, src/ui_utils.h: Add ui_focus_current_document() and document_grab_focus(). * src/project.c: Focus the editor widget after loading project session files. * scripts/create_py_tags.py: Ignore tags ending with an underscore. Dynamically determine the path of Python's standard library instead of hardcoding it. Parse all modules of the Python standard library instead of a hardcoded list of filenames. 2011-05-30 Enrico Tröger * data/filetypes.java: Move keyword 'enum' to primary keywords (closes #3305737). 2011-05-29 Enrico Tröger * tagmanager/python.c: When checking for literal strings to ignore, consider also unicode, binary and raw strings. * src/plugins.c: Define and use get_plugin_path() always and move platform dependent code into the function definition. Do not add active plugins to the list of plugins when they are already in the list (closes #3308191). Check whether the custom plugin path is one of the user or system plugin paths and if so, ignore it. 2011-05-27 Colomban Wendling * src/prefs.c: Fix preferences help button when activated with the keyboard. 2011-05-22 Enrico Tröger * src/about.c, src/build.c, tagmanager/tm_workspace.c: Remove unused variables (patch by Eugene Arshinov, thanks). * src/stash.c: Remove unused variables (suggested by Eugene Arshinov). * src/ui_utils.c, doc/geany.txt, doc/geany.html: Do not allow 'Save All' even if 'allow_always_save' is set (patch by Dimitar Zhekov, thanks). * data/filetypes.java: Add 'enum' to secondary keywords (closes #3305737, patch by Matthew Brush, thanks). 2011-05-12 Colomban Wendling * src/encodings.c: Update the HTML content-type encoding detection regexp to accept some more valid inputs (closes #3300703). 2011-05-11 Colomban Wendling * src/plugins.c: Improve the plugin manager dialog a little. * src/geanywraplabel.c, src/geanywraplabel.h, src/keybindings.c, src/plugins.c: Cleanup GeanyWrapLabel a bit. 2011-05-09 Colomban Wendling * plugins/splitwindow.c: Remove widget reparenting in Split Window plugin. This fixes plugin issues on Windows (patch by Matthew Brush, thanks - closes #2725342). * plugins/Makefile.am, plugins/makefile.win32, wscript: Enable SplitWindow build on Windows again (re-apply Enrico's patch). 2011-05-08 Enrico Tröger * HACKING: Add note about patching Glade 2.12 to compile it with newer GTK versions. 2011-05-06 Nick Treleaven * src/callbacks.c: Fix 'Toolbar Preferences' popup menu item (oops). 2011-05-03 Colomban Wendling * doc/geany.txt, doc/geany.html: Update the documentation for project patterns and recent FIF dialog changes. 2011-05-03 Nick Treleaven * src/highlighting.c, doc/geany.txt, doc/geany.html: Allow translations for color scheme [theme_info] keys. * src/build.c, src/filetypes.c, src/filetypes.h, src/main.c: Save filetype build commands straight after editing them instead of at shutdown (patch by Dimitar Zhekov, thanks). 2011-05-02 Colomban Wendling * src/plugindata.h: Bump plugin API version so a plugin can know the project file patterns are visible by the user. 2011-05-01 Colomban Wendling * src/search.c: Fix pattern filtering when not searching in subdirectories. 2011-04-30 Colomban Wendling * src/project.c: Fix project patterns and make them visible (based on a patch by Jiří Techet, thanks). * src/search.c: Use project patterns in the FIF dialog (based on a patch by Jiří Techet, thanks). * src/msgwindow.c: Open the file in the msgwindow even if no line number is specified. 2011-04-30 Nick Treleaven * src/filetypes.c, data/filetype_extensions.conf: Revert 'Compiled' filetype group back to 'Programming' (couldn't agree on whether e.g. Java is a compiled language). * doc/geany.txt, doc/geany.html: Add section 'Filetype group membership'. * src/highlighting.c, doc/geany.txt, doc/geany.html, data/colorschemes/alt.conf: Read color scheme name and description for menu item label and tooltip (based on patch by Matthew Brush, thanks). 2011-04-29 Nick Treleaven * src/filetypes.c, src/filetypes.h: Remove now unnecessary Custom filetype group. * src/filetypes.c: Move text markup languages into Markup filetype group. Move some programming language filetypes out of the Miscellaneous group. Fix filetype title for some languages. Don't use 'Languages' for Miscellaneous group label. These changes mostly proposed by Matthew Brush (thanks). * src/filetypes.c: Make custom filetype titles use 'source file' only if their group is Compiled or Script. Use 'source file' for reStructuredText title. 2011-04-26 Nick Treleaven * src/filetypes.c, src/filetypes.h, src/main.c, data/filetype_extensions.conf: Make filetype group membership configurable using [Groups] in filetype_extensions.conf. Read filetype_extensions.conf when calling filetypes_init_types(), don't require doclist initialization. * src/filetypes.c: Change Programming Languages filetype group label -> Compiled Languages. Use 'source file' title for custom filetypes. * src/prefs.c, doc/geany.txt, doc/geany.html: Remove Preferences label warning about restarting after editing template data - this is no longer necessary. 2011-04-26 Colomban Wendling * src/callbacks.c, src/document.c, src/document.h, src/documentprivate.h, src/editor.c, src/sidebar.c: Make sure to update the tag list only for the current document, avoiding idle updates to show the tag list for the wrong document. * src/callbacks.c, src/document.c, src/documentprivate.h, src/sidebar.c: Avoid changing the tag tree if it's not the one of the current document, fixing showing the wrong tag list when reloading configuration files. 2011-04-25 Nick Treleaven * src/utils.c: Fix warning in utils_find_open_xml_tag() with malformed tags like <~foo> (oops). 2011-04-24 Colomban Wendling * src/editor.c: Don't update the tag list when the user is typing (patch by Yura Siamashka, thanks). * src/filetypes.c: When copying filetype groups, add keys from both system and user ones, making sure user's ones have precedence over system ones. 2011-04-23 Nick Treleaven * src/utils.c, src/utils.h, src/plugindata.h, src/plugins.c, plugins/geanyfunctions.h: Add utils_find_open_xml_tag_pos() API function (patch by Eugene Arshinov, thanks). * src/templates.c: Replace dates on template insertion, not when loading templates. 2011-04-19 Nick Treleaven * src/editor.c: Fix multiple snippet cursor positions for Tabs + Spaces mode. Simplify editor_insert_snippet() code now we use cursor marker strings. * src/utils.c, src/utils.h, src/editor.c: Add utils_string_find() to search in a fixed range. Change utils_string_replace() to just replace a fixed number of characters. 2011-04-17 Enrico Tröger * src/plugindata.h, src/document.c, src/plugins.c, src/document.h, plugins/geanyfunctions.h: Add document_compare_by_tab_order() and document_compare_by_tab_order_reverse() to the plugin API. * src/ui_utils.c: Use document_compare_by_tab_order() as default compare function to sort the document list in the document notebook tab menu, this fixes the currently broken default ordering. 2011-04-15 Nick Treleaven * src/utils.c, src/utils.h, src/editor.c: Add function utils_string_replace() to replace in a fixed range. Remove utils_string_replace_helper() and update cursor marker code. 2011-04-14 Nick Treleaven * src/editor.c: Fix snippets bug: {ob}pc{cb} replaced by '%' instead of {pc}. Refactor snippets_make_replacements() using geany_cursor_marker. 2011-04-13 Colomban Wendling * src/editor.c: Avoid triggering autocompletion on PHP open tags (closes #3199442). 2011-04-13 Nick Treleaven * src/document.c: Update dox for document_compare_by_display_name() with warning about parameter addresses. * src/document.h: Use brackets for DOC_FILENAME() macro 'doc' argument. * src/templates.c, src/utils.c, src/toolbar.c, src/utils.h, src/keyfile.c, src/filetypes.c, src/editor.c, src/symbols.c: Make utils_build_path() return a copy for safety. * src/keybindings.c: Fix Ctrl-Shift-[CV] keybindings to work outside the VTE. 2011-04-12 Enrico Tröger * src/document.c: Fix wrong casting of array pointers, thanks Nick. * src/plugindata.h, src/callbacks.c, src/document.c, src/plugins.c, src/document.h: Rename document_sort_by_display_name() into document_compare_by_display_name(), thanks again Nick. 2011-04-11 Colomban Wendling * src/document.c, src/document.h, src/editor.c, src/keybindings.c: Revert r5642 "Don't update parent WorkObjects when updating one in real-time" because it broke calltips. 2011-04-11 Nick Treleaven * plugins/filebrowser.c: Update path when saving a new document for the first time if the follow path option is enabled. * src/about.c, src/keyfile.c, THANKS: Store VTE path with the session (based on patch by Nicolas Sierro, thanks). There's still a bug with loading a project at startup; closing the project doesn't restore old VTE path. * src/filetypes.c, src/filetypes.h: Refactor with filetypes_get_filename(). Make filetypes_get_conf_extension() static. * src/utils.c, src/utils.h, src/filetypes.c: Make utils_make_filename() return a copy for safety. 2011-04-10 Enrico Tröger * src/editor.c: Ignore scrolling events in on_update_ui(). * src/geanyobject.c, src/plugindata.h, src/geanyobject.h, src/document.c, doc/pluginsignals.c: Add and use signal "document-reload" to the plugin API. * src/symbols.c, tagmanager/sql.c: Fix mapping of SQL tags for Geany's symbol list (closes #3216474). * src/ui_utils.h, src/plugindata.h, src/document.c, src/plugins.c, src/document.h, src/ui_utils.c, plugins/geanyfunctions.h: Add ui_menu_add_document_items_sorted() and document_sort_by_display_name() to the plugin API. 2011-04-08 Colomban Wendling * scintilla/lexers/LexCPP.cxx: Make highlighting of triple-quoted verbatim an option (Backport from Scintilla HG 3602:5536ed81a85b). * src/highlighting.c: Add highlight for triple-quoted verbatims. * data/filetypes.c, data/filetypes.vala, data/filetypes.Genie.conf, data/filetypes.Scala.conf: Highlight triple-quoted verbatims in Vala, Genie and Scala filtypes. * data/filetypes.Genie.conf: Copy C styling rather than redefining the styles. * src/editor.c: Don't set font twice for line numbers and braces. 2011-04-05 Nick Treleaven * src/templates.c: Remove TEMPLATES_GET_FILENAME() macro. * src/search.c: Don't auto-enable case-sensitive option when enabling regex in Find/Replace dialogs. 2011-04-04 Enrico Tröger * scintilla/gtk/ScintillaGTK.cxx: Fix X PRIMARY selection issue when Scintilla widget is unrealized/re-realized (Backport from Scintilla HG, original patch by Matthew Brush). Reset cursors when Scintilla widget is realized (Backport from Scintilla HG, original patch by Matthew Brush). 2011-04-04 Colomban Wendling * scintilla/gtk/PlatGTK.cxx: Fix font rendering in Scintilla when using Cairo. 2011-04-04 Nick Treleaven * src/interface.c, geany.glade: Make Project->Properties the last menu item so it's faster to use. 2011-04-03 Enrico Tröger * scintilla/*: Update Scintilla to version 2.25. * version.txt, Makefile.am: Add Scintilla's version.txt file. * scintilla/makefile.win32, tagmanager/makefile.win32, makefile.win32: Replace escape character '\' by slash '/' in paths in the Windows Makefiles (patch by Matthew Brush, thanks). * src/tools.c: Reflect the existence of the entered command in `Set Custom Commands` dialog as well using the yes/no icon. 2011-04-03 Colomban Wendling * src/main.c, src/prefs.c, src/tools.c: Fix loading and updating menu accelerators for custom commands. * src/prefs.c: Don't allow editing keybinding column of group rows. * src/tools.c: Fix ID of newly added commands in the `Set Custom Commands` dialog. 2011-04-02 Colomban Wendling * src/tools.c, doc/geany.txt, doc/geany.html: Improve the `Set Custom Commands` dialog. 2011-04-01 Nick Treleaven * src/interface.c, src/interface.h, geany.glade: Rename Preferences dialog Interface subtab More -> Notebook tabs. * src/toolbar.c, src/dialogs.c: Use mimetype icon in File Properties dialog. * doc/geany.txt, doc/geany.html: Fix title capitalization. * src/interface.c, doc/geany.txt, doc/geany.html, geany.glade: Move Preferences dialog Toolbar tab under Interface tab. * src/build.c: Tweak some build dialog labels: Clear -> Reset. Fix capitalization. Use filetype name instead of title. * src/templates.c, src/templates.h, doc/geany.txt, doc/geany.html: Remove old filetype templates support - users can use custom file templates instead. 2011-04-01 Colomban Wendling * src/encodings.c: Update regex used to find encodings for it to allow the encoding to be quoted, adding support for XML (closes #3183506). * src/encodings.c: Implement charset name normalization in order to better deal with badly-written encoding names (i.e. names found by regex search). This also makes encodings_get_idx_from_charset() and encodings_get_from_charset() more permissive regarding the passed-in encoding name. * src/encodings.c: Always try to honor the charset found in the document, even if the document can be loaded as UTF-8. This make files encoded with e.g. ISO-8859-1 that have the proper information in them but only use the UTF-8 compatible part of ISO-8859-1 to be properly loaded as ISO-8859-1, rather than UTF-8. Also fix check for locale encoding. * src/tools.c, doc/geany.txt, doc/geany.html: Make `Send selection to` send the current line if there is no selection. 2011-03-31 Nick Treleaven * plugins/filebrowser.c: Make 'Hide object files' preference configurable with file extensions. * plugins/filebrowser.c: Fix applying default setting for hide_object_files (oops). Fix warning when enabling plugin from the Plugin Manager. * plugins/filebrowser.c: Fix optimization for filter check when pattern is '*'. Use foreach_strv() instead of foreach_c_array(). * plugins/filebrowser.c: Don't hide directories matching hidden file extensions e.g. foo.o. Refactor with check_object(). 2011-03-30 Nick Treleaven * src/editor.c: Use STYLE_MAX instead of 127 for editor_set_font(). This fixes a crash in the Split Window plugin when changing filetype (patch by Matthew Brush, thanks; fixes #3255968). * plugins/splitwindow.c: Update styles when the filetype changes (based on patch by Matthew Brush, thanks). * plugins/saveactions.c: Fix Instant Save preferences combo box filetype order. * plugins/filebrowser.c: Remove macro CHECK_READ_SETTING(). 2011-03-30 Colomban Wendling * src/plugindata.h, src/pluginprivate.h, src/plugins.c, src/pluginutils.c, src/pluginutils.h plugins/geanyfunctions.h: Add plugin_idle_add(), plugin_timeout_add() and plugin_timeout_add_seconds() to the plugin API. These are convenience wrappers to ensure the added timeouts are properly removed when unloading the plugin, preventing possible crashes. * plugins/splitwindow.c: Use new plugin_idle_add(), preventing an unlikely crash. * doc/pluginsymbols.c, src/sciwrappers.c: Fix a few Doxygen warnings. * plugins/saveactions.c: Properly use 0 as the invalid timeout source ID. 2011-03-29 Nick Treleaven * doc/geany.txt, doc/geany.html: Add #reading-styles-from-another-filetype subsection, based on patch by Matthew Brush (thanks). * doc/geany.txt, doc/geany.html: Add #filenames subsection for filetype definition files explaining the filename extensions and special cases. * src/plugindata.h, src/filetypes.c, src/filetypes.h, src/plugins.c, src/main.c, plugins/geanyfunctions.h: Add filetypes_get_sorted_by_name() to API. Fix --ft-names sorting to print in name order, not title order. 2011-03-28 Colomban Wendling * src/document.c, src/document.h, src/editor.c, src/keybindings.c: Don't update parent WorkObjects when updating one in real-time. This should fix some performance issues if a WorkObject has many parents. 2011-03-27 Enrico Tröger * src/makefile.win32, src/main.c, src/Makefile.am, configure.ac, wscript: Initialize GLib's Gthread system early at startup in case any plugins need it. * src/keybindings.c, src/keybindings.h, src/plugindata.h, doc/geany.txt, doc/geany.html: Add new keybinding 'Remove Markers and Error Indicators'. 2011-03-26 Colomban Wendling * src/sidebar.c: Fix the sidebar popup menu to properly use the currently selected item rather than the previous one. Also change the hack used for the selection to be updated in the input handlers to call the GtkTreeView's handler manually rather than doing the actual job in IDLE callbacks for the TreeView's handler to have run. * doc/geany.html, doc/geany.txt, geany.glade, src/document.c, src/editor.h, src/interface.c, src/interface.h, src/keyfile.c, src/project.c: Add possibility to detect the indentation width from the file content (not supported if indentation type is tabs only). * plugins/splitwindow.c: Enable code folding in splitview window (based on a patch by Matthew Brush, thanks! - closes #3097780). Fix confusing terminology in Split Window plugin menu labels (patch by Matthew Brush - closes #2796316). Don't unsplit when closing the displayed document but rather pick the new current one if any. 2011-03-25 Colomban Wendling * data/filetypes.vala: Update Vala keywords (based on a patch from Matthew Brush, thanks). * data/document.c: Small code cleanups. 2011-03-24 Nick Treleaven * plugins/filebrowser.c: Add history to filter entry. * src/keybindings.c, src/vte.c: Add fixed shortcuts for VTE copy (Ctrl-Shift-C) and paste (Ctrl-Shift-V). * src/keybindings.c: Make VTE copy/paste shortcuts work if 'Override Geany keybindings' is not set. 2011-03-24 Colomban Wendling * doc/geany.txt, doc/geany.html: Update the documentation to talk about real-time tag parsing. * doc/geany.txt, doc/geany.html, src/callbacks.c, src/callbacks.h, src/document.c, src/document.h, src/geanyentryaction.c, src/search.c, src/toolbar.c, src/ui_utils.c, src/ui_utils.h: Make Shift-Enter in search dialog and toolbar search entries search backwards. * plugins/filebrowser.c, plugins/saveactions.c, src/callbacks.c, src/dialogs.c, src/document.c, src/document.h, src/editor.c, src/encodings.c, src/filetypes.c, src/highlighting.c, src/log.c, src/main.c, src/plugins.c, src/printing.c, src/project.c, src/search.c, src/socket.c, src/toolbar.c, src/utils.c, src/utils.h: Improve usage of G_LIKELY() and G_UNLIKELY() macros. 2011-03-22 Nick Treleaven * src/main.c: Make --ft-names list filetypes alphabetically. * plugins/filebrowser.c: Allow multiple file filters to be separated by a space for consistency with Find in Files file patterns. ';' is still allowed also. 2011-03-20 Colomban Wendling * data/filetypes.*, doc/geany.txt, doc/geany.html, src/callbacks.c, src/filetypes.c, src/filetypes.h, src/templates.c: Add new filetype setting "comment_single" to provide separated single-line and multiline comment support. Single-line are used in priority to comment code, and multiline to make template comments. * src/editor.c, src/search.c, tagmanager/diff.c: Don't use strlen(..) > 0 or == 0, simply check the first character against 0. * src/document.c: Update forced indent settings when setting the filetype. This makes documents created or set to a filetype with forced indent setting (Makefile, F77) to have the correct setting right away. 2011-03-19 Colomban Wendling * src/callbacks.c: Create a new undo action when inserting templates, making sure the user can undo the template insertion without also undoing a previous action. 2011-03-18 Colomban Wendling * src/document.c, src/encodings.c, src/encodings.h: Move document encoding conversion with BOM support to encodings.[ch] as encodings_convert_to_utf8_auto(). * src/templates.c: Properly convert template files to UTF-8 on loading, fixing encoding issues if templates files are not encoded in UTF-8. 2011-03-18 Enrico Tröger * data/templates/files/main.vala: Add file template for Vala (patch by Mark Trompell, thanks). 2011-03-17 Nick Treleaven * src/utils.c, src/utils.h, src/filetypes.c: Support copying filetype definition file group keys from a system keyfile with e.g. [styling=C]. Add function utils_make_filename() for building filenames easily. * THANKS, plugins/classbuilder.c: Improve Class Builder plugin dialog UI using a table (patch by Matthew Brush, thanks). * plugins/classbuilder.c: Fix GLib warning when creating classes and no documents are open (patch by Matthew Brush, thanks). * plugins/classbuilder.c: Undo patch change to cc_option_label_new() to append a ':' colon to label text because this unnecessarily causes string translations to be updated. * src/interface.c, geany.glade: Fix wrong label capitalization for Toolbar Preferences dialog tab and 2 other labels. * data/filetypes.Scala.conf, data/filetype_extensions.conf: Add Scala custom filetype, based on file by werg (thanks). (This uses the newly added [styling=C] syntax). * src/filetypes.c: Make special case for filetypes.matlab instead of truncating all filetype config filenames at slash. * src/filetypes.c: Fix generating tag files and --ft-names option by ensuring GTK is initialized before calling ui_get_mime_icon(). 2011-03-15 Frank Lanitz * THANKS, src/about.c: Adding Wei-Lun Chao as current maintainer for traditional Chinese translation. 2011-03-15 Colomban Wendling * src/templates.c, src/templates.h: Use the same indentation for all templates (part of FR#3193527; from a patch by Matthew Brush, thanks). * src/plugins.c: Always keep the list of loaded plugin sorted by name. 2011-03-12 Enrico Tröger * data/filetype_extensions.conf: Add Markdown extension. 2011-03-10 Colomban Wendling * src/toolbar.c: Correctly expand the menubar if the toolbar is appended to it but not visible (closes #3204955). * plugins/filebrowser.c, src/editor.c, src/plugins.c, src/symbols.c, src/tools.c, src/utils.c: Prefer prepend elements to lists rather than append them, for better performances. 2011-03-08 Enrico Tröger * src/geany.h: Fix wrong code example in the API docs (spotted by Matthew Brush, thanks). 2011-03-07 Colomban Wendling * tagmanager/mio/mio-memory.c: Import upstream MIO changes not to require a C99 compiler. 2011-03-06 Colomban Wendling * src/symbols.c: When sorting tags by line, also sort by scope if line is the same, avoiding wrong sorting if a parent tag is on the same line than its children, and one of it's children would be sorted before alphabetically (closes #3193982). 2011-03-06 Enrico Tröger * src/interface.c, geany.glade: Fix typo. * src/search.c: Remember Find and Replace options across restarts (patch by Dimitar Zhekov, thanks). Cleanup. Respect saved state of 'Case sensitive' option when using the 'Regular expressions' option as well. * plugins/export.c: Add option to insert line numbers (closes #3197150). Cleanup. Use the full filename and add the extension of the export format. Fix off-by-one bug which hidden the last empty line of a document. 2011-03-05 Colomban Wendling * configure.ac, wscript, makefile.win32, src/Makefile.am, src/makefile.win32, tagmanager/Makefile.am, tagmanager/c.c, tagmanager/entry.c, tagmanager/entry.h, tagmanager/fortran.c, tagmanager/get.c, tagmanager/get.h, tagmanager/js.c, tagmanager/lregex.c, tagmanager/makefile.win32, tagmanager/parse.c, tagmanager/read.c, tagmanager/read.h, tagmanager/sort.c, tagmanager/sql.c, tagmanager/strlist.c, tagmanager/mio/*: Move most of TagManager's I/O to MIO. * src/document.c: Enable in-memory tag parsing. * geany.glade, src/editor.c, src/editor.h, src/interface.c, src/keyfile.c: Add possibility to update symbol list in IDLE time, enabled by default using a minimal delay of 250ms. * src/symbols.c: Improve implementation of hide_empty_rows() to do all in one shot. * tagmanager/include/tm_tag.h, tagmanager/tm_project.c, tagmanager/tm_source_file.c, tagmanager/tm_tag.c, tagmanager/tm_workspace.c: Make TMTag reference-counted. * src/sidebar.c, src/symbols.c, tagmanager/include/tm_tag.h, tagmanager/tm_tag.c: Provide a GType for TMTag and use it in the tag store to make sure the tags it holds are always valid. * src/sidebar.c: Don't remove and add the symbols tree view if we re-add the same one. * src/sidebar.c, src/sidebar.h, src/symbols.c: Update the symbol list rather than clearing and re-building it. There is room for improvement in the implementation side, but it is harder to do, probably a future improvement. * tagmanager/c.c: Fix suffix of anonymous symbols (structs, enums, ...). * tagmanager/c.c: Plug a memory leak. 2011-03-02 Enrico Tröger * plugins/saveactions.c: Fix wrong warning on empty backup directory setting if 'Backup Copy' is not enabled at all. * AUTHORS, src/about.c, README.Packagers, README: Welcome Colomban Wendling, a new Geany developer. 2011-02-22 Nick Treleaven * src/templates.c: Fix segfault when inserting e.g. fileheader template when the template file is empty (#3070913, thanks to lphilpot). 2011-02-21 Enrico Tröger * plugins/filebrowser.c: Add support for multiple file filters, separated by semicolon (based on a patch by Grigory Javadyan, thanks). 2011-02-07 Nick Treleaven * data/filetype_extensions.conf: Fix detecting Matlab and Txt2Tags extensions by default (#3167315, #3154637). 2011-02-06 Frank Lanitz * tagmanager/latex.c: Add a workaround for #3066566 to prevent Geany from crashing during loading of a LaTeX-file containing linebreaks inside headings. 2011-02-06 Enrico Tröger * tagmanager/php.c: Fix memory leaks (reported by an anonymous IRC user). * doc/geany.txt, doc/geany.html: Replace '+' by '-' in the Scintilla Keybindings section to be consistent with the other mentioned keybindings. * src/project.c: Improve error checking when trying to write project files (patch by Colomban Wendling, thanks). Add a warning if writing the project file fails on close. * src/utils.c, src/utils.h, src/project.c, src/main.c, src/socket.c: Rename utils_is_file_writeable() into utils_is_file_writable(). 2011-01-30 Enrico Tröger * src/editor.c: Ensure the editor widget has the focus when the editor menu is called. * scintilla/lexers/LexCOBOL.cxx, scintilla/src/Catalogue.cxx, scintilla/Makefile.am, scintilla/makefile.win32, src/highlighting.c, src/plugindata.h, src/filetypes.c, src/filetypes.h, src/editor.c, src/symbols.c, tagmanager/parsers.h, tagmanager/makefile.win32, tagmanager/cobol.c, tagmanager/Makefile.am, data/filetypes.cobol, data/filetype_extensions.conf, wscript: Add filetype Cobol (based on a patch by Seth Keiper). 2011-01-20 Enrico Tröger * plugins/filebrowser.c: Add '.pyc' to the list of hidden object files (patch by Filip Gruszczyński, thanks). 2011-01-19 Enrico Tröger * *.*: Update copyright information. * configure.ac, doc/geany.html, doc/geany.txt, geany.nsi, geany_private.rc, win32-config.h, wscript, src/geany.h: Post-release version bump. 2011-01-18 Enrico Tröger * src/highlighting.c, data/filetypes.javascript: Add and use secondary keywords for filetype JavaScript, update and sanitize JavaScript keyword lists (patch by Jason Oster, thank you). 2011-01-11 Frank Lanitz * THANKS, src/about.c: Added Rafael Peregrino da Silva to list of contributors for Brazilian Portuguese (pt_BR) translation. 2011-01-10 Nick Treleaven * src/toolbar.c, src/ui_utils.c, src/about.c, THANKS: Add Save As toolbar button option (patch by Matthew Brush, thanks; #3153490). * scintilla/*, src/utils.c, src/notebook.c, data/filetypes.cpp, data/filetypes.vala, data/filetypes.glsl, data/filetypes.cs, data/filetypes.c, wscript: Merge unstable branch: - src/utils.c: Fix detecting non-lowercase self-closing tags e.g.
(#2226117). - src/notebook.c: Add 'Open in New Window' command in the notebook tab menu (based on patch by Matthew Brush, thanks - #3118059). - data/filetypes.cpp, data/filetypes.vala, data/filetypes.glsl, data/filetypes.cs, data/filetypes.c: Disable preprocessor #define tracking for the CPP lexer (enabled by default in Scintilla). - scintilla/*, wscript: Update Scintilla to version 2.22. Use Scintilla's directory structure mostly and only remove unused lexers. 2011-01-05 Nick Treleaven * New release: Geany 0.20 "Disra". 2011-01-04 Nick Treleaven * src/plugins.c: Add debug message with the number of compatible plugins in each plugin search path when showing the Plugin Manager dialog. 2010-12-30 Nick Treleaven * doc/geany.txt, doc/geany.html: Move and update 'Custom filetypes' section. Add 'Creating a custom filetype from an existing filetype' section. 2010-12-24 Nick Treleaven * src/interface.c, src/keybindings.c, geany.glade: Add Edit->Insert Alternative White Space menu item (was previously removed from Edit->Commands submenu). 2010-12-22 Nick Treleaven * src/interface.c, geany.glade: Split Preferences dialog Interface tab into subnotebook to reduce height of dialog (fixes #3141277). Reuses existing strings. * src/editor.c: Scroll to the current line when moving the cursor to the next cursor position in a snippet (#3139490). * doc/geany.txt, doc/geany.html: Add short 'View menu' section and 'Color schemes menu' section. * src/plugindata.h, src/plugins.c, plugins/geanyfunctions.h: Add filetypes_get_display_name() to API. 2010-12-09 Nick Treleaven * src/build.c: Reduce Set Build Commands dialog column 1 width by using '#' label. Fix memory leak. * src/build.c: Use italic for note labels in the Build Commands dialog. 2010-12-08 Nick Treleaven * src/build.c, src/build.h: Replace doc-comments with '/* *' comments to show there's no build API for plugins. 2010-12-07 Nick Treleaven * src/keybindings.c, src/callbacks.c, src/vte.h, src/main.c: Fix segfaults when using 'Send Selection to Terminal' and the VTE is not loaded, and when using Ctrl-A after enabling the 'Load VTE' pref (patch by Dimitar Zhekov, thanks). * src/build.c, src/keyfile.c: Fix some more wrong uses of vte_info.load_vte instead of vte_info.have_vte. * src/main.c: Disable 'Send Selection to Terminal' item when not available instead of removing it to avoid trailing separator. * doc/geany.txt, doc/geany.html: Add 'Configuration file paths' section and link to it instead of repeating typical system data and user config directory paths. List 2 Tools->Configuration Files menu items. Add 'Plugin Manager' section break. Edit some related sections. * doc/geany.txt, doc/geany.html: Update Ignore Tags section with example and menu item. * doc/geany.txt, doc/geany.html: List 'Tools->Configuration Files->filetypes.common' menu item. 2010-12-06 Nick Treleaven * src/document.c: Improve error message for document_save_file() if doc->file_name is NULL (reusing existing strings). Add warning about this in the API docs. 2010-12-03 Nick Treleaven * scintilla/ScintillaGTK.cxx: Backport Scintilla HG fix: Remove styling idle in destructor to avoid crashing when idle called after ScintillaGTK instance destroyed (fixes #3111058). This prevents a crash when closing a modified document (usually without a trailing newline) and choosing Save. 2010-12-01 Nick Treleaven * src/document.c: Warn about file truncation if unsafe file saving fails. 2010-11-30 Nick Treleaven * src/utils.c: Check result of fclose() for utils_write_file(). 2010-11-28 Enrico Tröger * win32-config.h: Enable GIO and built-in regex support on Windows when compiling without Waf. 2010-11-25 Enrico Tröger * geany_private.rc: Reformat and improve the Windows resource file. 2010-11-24 Nick Treleaven * data/filetype_extensions.conf: Add *.latex pattern. * src/interface.c, geany.glade: Add note to indentation prefs page about using Project->Apply Default Indentation for currently open documents. 2010-11-23 Nick Treleaven * src/interface.c, src/keybindings.c, src/callbacks.c, src/callbacks.h, geany.glade: Add 'Mark All' Search menu command. * src/symbols.c, doc/geany.txt, doc/geany.html: If the current word's tag is on the current line, make Go to Tag Definition look for a tag declaration instead, as this is more useful. Likewise make Go to Tag Declaration search for a tag definition in this case also. * src/interface.c, doc/geany.txt, doc/geany.html, geany.glade: Don't use 'Enable' in pref labels when unnecessary. Rename XML/HTML tag autocompletion -> auto-closing. * src/keyfile.c, src/document.c, src/document.h, doc/geany.txt, doc/geany.html: Add gio_unsafe_save_backup hidden pref (patch by Lex Trotman, thanks). * src/keybindings.c, src/editor.c, src/editor.h: Add editor_get_prefs() instead of editor_get_long_line_*() functions. This general function can be extended to support various project and document overrides. * src/keybindings.c, src/project.c, src/prefs.c, src/keyfile.c, src/editor.c, src/editor.h: Remove unnecessary 'global' from long line editor pref field names. 2010-11-22 Nick Treleaven * doc/geany.txt, doc/geany.html: Explain how to grep the source for Scintilla lexer properties. * src/sidebar.c, src/callbacks.c, src/main.c: Fix auto-displaying of sidebar tab bar when sidebar is reshown. Only auto-display symbols and documents tabs when showing the sidebar if there are no plugin tabs. Don't hide the sidebar on startup if only plugin tabs are visible (fixes #3101867). * src/plugindata.h: Make GEANY_API_VERSION, GEANY_ABI_VERSION macros instead of enums so you can protect code with '#if GEANY_API_VERSION >= 200'. * src/plugindata.h: Warn about preprocessor testing GEANY_API_VERSION below 200 because those tests will always fail. 2010-11-21 Enrico Tröger * data/filetypes.xml: Add 'instanceof' keyword for PHP (closes #3109330). 2010-11-18 Nick Treleaven * src/build.c, src/dialogs.c, src/dialogs.h, src/callbacks.c: Re-focus Set Build Commands/Project dialogs after editing a build command label. Add 'parent' argument to some dialogs_show_input*() functions because the dialog parent may not always be the main window. * src/build.c, src/dialogs.c, src/callbacks.c: Don't change default build command entry color when cancelling label editing. Make dialogs_show_input() return NULL when cancelled. * tagmanager/php.c: Parse PHP final functions (fixes #3111171). * src/dialogs.c, src/plugindata.h, src/plugins.c, plugins/geanyfunctions.h: Add dialogs_show_input() to API. 2010-11-17 Nick Treleaven * src/build.c, doc/geany.txt, doc/geany.html: Change 'Non-Filetype Commands' to 'Independent Commands' in the Set Build Commands dialog. * doc/geany.txt, doc/geany.html: Use 'Filetype build commands' and 'Independent build commands'. Fix saying project *independent* execute can only be set by hand. 2010-11-16 Nick Treleaven * src/keybindings.c, src/editor.c, src/editor.h: Make Reflow Lines/Block command use the current indented block, not the whole paragraph, which could have mixed indentation. Fix memory leak and off-by-one bug on first line when using Select Paragraph command. * src/utils.c, src/highlighting.c, src/highlighting.h, src/plugindata.h, src/plugins.c, src/editor.c, src/editor.h, plugins/geanyfunctions.h: Add API functions (patch by Eugene Arshinov, thanks): Move editor.c: is_{string,comment,code}_style() functions to highlighting.c, add to API. Add editor_find_snippet(), editor_insert_snippet(), utils_find_open_xml_tag() to API. 2010-11-15 Nick Treleaven * src/editor.c, doc/geany.txt, doc/geany.html: Don't use XML tag auto-indentation when '' is to the right of the cursor; allow auto-indentation when XML tag auto-closing is also enabled. * doc/geany.txt, doc/geany.html: Rename 'Format' section 'Filetype configuration'. 2010-11-14 Enrico Tröger * waf: Update Waf to current SVN version. 2010-11-11 Enrico Tröger * waf, wscript: Update Waf to version 1.6.1. Update wscript for new Waf version, make it Python 3 compatible. 2010-11-11 Nick Treleaven * src/document.c: Display better error messages when saving a document fails (patch by Dimitar Zhekov, thanks). * src/editor.c: Fix wrong snippet indentation when original cursor line has non-indentation whitespace (patch by david, thanks). * doc/geany.txt, doc/geany.html, data/filetypes.php, data/filetypes.docbook, data/filetypes.xml, data/filetypes.html: Enable XML tag autoindentation for PHP, Docbook and add docs for this setting (patch by Eugene Arshinov, thanks). 2010-11-10 Nick Treleaven * src/templates.c, src/document.c: Use LF line endings for templates internally instead of default pref because the default can change. This fixes missing line endings sometimes when changing default setting. * src/document.c: Fix not reporting an error message when saving a document fails. Check result of fclose(). * src/filetypesprivate.h, src/filetypes.c, src/editor.c, data/filetypes.xml, data/filetypes.html: Add xml_indent_tags filetype setting for documents using the HTML/XML lexers (patch by Eugene Arshinov, thanks). * src/document.c: Set errno to 0 before doing disk I/O to prevent confusing error messages on save failure. 2010-11-09 Nick Treleaven * src/templates.c, src/filetypes.c: Save build commands for filetype None (patch by Lex, thanks). Make filetypes_get_conf_extension() return "common" for filetype None. * src/templates.c: Convert line endings for file templates. Fix line endings when using file header template in a file template (oops). * src/utils.c, src/utils.h: Make utils_ensure_same_eol_characters() convert all wrong line endings to the desired one, not just the most common one. 2010-11-08 Nick Treleaven * src/editor.c: Respect 'Smart' home key for Shift+Alt+Home (patch by Dimitar Zhekov, thanks). * src/interface.c, src/keybindings.c, src/ui_utils.c, geany.glade: Restore top-level editor popup item 'Find Document Usage'. * src/interface.c, src/ui_utils.c, geany.glade: Remove duplicates in 'Insert Comments' editor popup menu; rename submenu 'More'. Separate main menu insertion comments depending on number of times used in a document. * data/filetypes.*, data/colorschemes/alt.conf: Rename word/word2 named styles to keyword/keyword2. * doc/geany.txt, doc/geany.html: Mention that indentation settings can be overridden per-project. * src/interface.c, src/callbacks.c, src/callbacks.h, src/document.c, doc/geany.txt, doc/geany.html, geany.glade: Add 'Project->Apply Default Indentation' menu command to override every document's indentation settings. Improve 'Indentation' section docs. 2010-11-06 Enrico Tröger * src/document.c: Fix build with GTK 2.12: explicitly include gio.h if GIO is available and to be used regardless of the USE_GIO_FILEMON flag. * wscript: Fix installation of template files. Show which regex implementation is used. * src/ui_utils.c: Use non-GIO mime-type icon lookup if GIO lookup fails. * autogen.sh: Allow skipping configure during autogen by setting NOCONFIGURE=1 (thanks to Chow Loong Jin). 2010-11-07 Nick Treleaven * src/document.c: Make use_safe_file_saving hidden pref apply even when GIO is available, because g_file_replace_contents() doesn't handle disk space exhaustion. * src/main.c: Show GIO/built-in regex support in startup debug message as well as for --version. * doc/geany.txt, doc/geany.html: Add docs for the HTMLChars plugin (patch by Frank). 2010-11-04 Nick Treleaven * src/filetypes.c: Do not translate 'name' field for filetype None because it is used for hash table lookup. This fixes missing files in the Open dialog for the 'All files' filter with non-English locales (thanks to Sardem FF7, fixes #3094771). * src/filetypes.c, src/filetypes.h, src/document.c, src/symbols.c, src/ui_utils.c: Add filetypes_get_display_name() to get translations for filetype None. * src/document.c: Fix resource leak when saving files with GIO (patch by Colomban Wendling, thanks). 2010-11-02 Nick Treleaven * src/plugindata.h, src/plugins.c, plugins/geanyfunctions.h: Add sci_get_lexer() to plugin API. * plugins/htmlchars.c: Only automatically replace characters when the current document is a Markup document. * plugins/htmlchars.c: Rename submenu item labels to be more descriptive. * src/keybindings.c: Fix Alt+[0-9] switching tabs when other modifiers are also held. * src/ui_utils.c: Don't allow pasting of numbers followed by other characters in the Go to Line dialog/field (patch by Dimitar Zhekov, thanks). * src/main.c: Print "GIO" and "built-in regex" if enabled with --version. * src/document.c: Use g_file_replace_contents() if available to save documents - this should help workaround bugs in GVFS (based on patch by Alexey Antipov, thanks). Needs testing. * src/templates.c: Fix wrongly adding newlines for templates on disk that don't have LF line endings when default line endings are not LF, e.g. Windows. 2010-11-01 Nick Treleaven * src/utils.c, src/main.c: Remove trailing directory separator for app->datadir and app->docdir for consistency with the other directory fields. * src/filetypes.c: Detect user and system filetype configuration files as Conf filetype. * src/editor.c: Respect 'Smart' home key for Shift+Home (fixes #3100290). 2010-11-01 Frank Lanitz * data/filetypes.ada: Fix comments for Ada. Thanks to Jonas Baggett for reporting. 2010-10-29 Nick Treleaven * Makefile.am: Add install-data-only target to only install data/* to speed up testing. * src/editor.c: Fix not autocompleting when breaking lines. * data/filetypes.java, data/filetypes.cpp, data/filetypes.vala, data/colorschemes/alt.conf, data/filetypes.haxe, data/filetypes.common, data/filetypes.glsl, data/filetypes.actionscript, data/filetypes.cs, data/filetypes.ferite, data/filetypes.c, data/filetypes.javascript, data/filetypes.Genie.conf: Add named style 'extra', use for C-like filetypes. 2010-10-28 Nick Treleaven * data/filetypes.xml: Match data-* and aria-* as HTML attributes. * data/colorschemes/alt.conf, data/filetypes.common, data/filetypes.python: Make Python use named styles for color scheme support - use alt.conf color scheme if you want the old colors. Add named style 'function'. * src/plugindata.h: Move plugin_set_info prototype and parenthesize arguments for PLUGIN_SET_TRANSLATABLE_INFO (based on patch by Colomban Wendling, thanks). Fix putting pointer symbol before name, not after type. 2010-10-27 Nick Treleaven * src/filetypes.c, src/ui_utils.c: Fix notebook tab menu icons using theme for "text/plain" filetypes. Make filetype mime_type "text/plain" instead of NULL. 2010-10-26 Nick Treleaven * src/interface.c, doc/geany.txt, doc/geany.html, geany.glade: Edit XML tag autocompletion pref and tooltip to include HTML. * doc/geany.txt, doc/geany.html: Add docs for 'Ensure consistent line endings' pref. * src/keyfile.c: Change default for 'Override Geany keybindings' to on. * src/filetypes.c: Sort filetypes_by_title last instead of on insertion to prevent exponential time. * src/ui_utils.h, src/filetypes.c, src/filetypes.h, src/ui_utils.c: Add filetype mimetype field (patch by Colomban Wendling, thanks). * src/sidebar.c, src/document.c: Show mimetype icon in sidebar Documents list (patch by Colomban Wendling, thanks). * src/ui_utils.c: Add notebook tab document icons (based on patch by Colomban Wendling, thanks). * src/filetypes.c: Leave text/plain mime_type fields as NULL (like custom filetypes). 2010-10-25 Nick Treleaven * src/editor.c, data/snippets.conf: Move HTML automatic tag completion into a 'table' snippet so the user can decide when to use it (patch by Eugene Arshinov, thanks). * src/interface.c, src/prefs.c, src/about.c, src/keyfile.c, src/document.c, src/document.h, THANKS, geany.glade: Add 'Ensure consistent line endings' file saving pref (patch by Manuel Bua, thanks). * src/utils.c, src/utils.h, src/editor.c: Auto-indent after an HTML/XML line with a missing closing tag (patch by Eugene Arshinov, thanks). Behaviour only applies if XML tag autoclosing is off. * src/templates.c, src/build.c, src/document.c, src/editor.c, src/symbols.c, plugins/saveactions.c: Remove unnecessary uses of FILETYPE_ID() macro with GeanyDocument::file_type. * data/filetypes.xml: Add HTML5 attributes (thanks to Ross McKay). 2010-10-22 Nick Treleaven * src/prefs.c: Fix not changing edited keybindings when cancelling the Preferences dialog. * data/filetypes.xml: Add HTML5 element names (thanks to Ross McKay). 2010-10-21 Nick Treleaven * src/utils.c, src/filetypes.c: Remove filetype default extensions from code. * src/filetypes.c: Allow 'Foo=' in filetype_extensions.conf to remove all patterns. * src/prefs.c: Refactor shared code with kb_cell_edited_cb(). 2010-10-20 Nick Treleaven * src/highlighting.c: Use radio buttons for View->Editor->Color Schemes menu. Don't hide the menu when only the default item is available. * data/colorschemes, data/colorschemes/alt.conf, wscript, Makefile.am: Add alternative color scheme based on Python colors. * scintilla/LexErlang.cxx, scintilla/makefile.win32, scintilla/KeyWords.cxx, scintilla/Makefile.am, src/highlighting.c, src/about.c, src/filetypes.c, src/filetypes.h, THANKS, data/filetype_extensions.conf, data/filetypes.erlang, wscript: Add Erlang filetype (patch by Taylor Venable, thanks). * src/filetypes.c, data/filetypes.*: Move filetype 'extension' default into data files. * src/filetypes.c, data/filetypes.vala: Move filetype comment_{open,close} defaults into data files. 2010-10-18 Nick Treleaven * data/filetypes.c, data/filetypes.d: Add missing C99 keyword 'restrict' (#3046716). Add missing D1 keywords 'ref' and 'macro'. Add D2 keywords. * tagmanager/c.c: Parse Vala functions with contracts (#3080232). * src/project.c: Fix saving project indent prefs straight after using project properties. * src/highlighting.c, src/filetypes.c: Prevent debug message about a missing 'default' named style when using just a user color scheme file. 2010-10-16 Enrico Tröger * src/search.c: Fix off-by-one bug in 'search_mark_all'. 2010-10-15 Nick Treleaven * tagmanager/get.c: Ignore D /+ +/ comments. * tagmanager/c.c: Ignore D unittest blocks. Parse D template functions with constraints. * src/keybindings.c, src/keybindings.h, doc/geany.txt, doc/geany.html: Add 'Insert New Line Before/After Current' keybindings (based on patch by Eugene Arshinov, thanks). * src/document.c: Use secondary text for 'file not found on disk' dialog. 2010-10-08 Nick Treleaven * src/stash.c: Fix build with GLib 2.8. 2010-10-07 Nick Treleaven * src/ui_utils.h, src/socket.c, src/Makefile.am, src/ui_utils.c, configure.ac, doc/geany.txt, doc/geany.html, wscript, TODO: Revert X11 workspace socket support as it needs more work; moved to workspace-sockets branch. 2010-10-06 Nick Treleaven * src/geanywraplabel.c: Fix build with GLib 2.8. * src/dialogs.c, src/about.c, THANKS: Group Open dialog encoding options by submenus (patch by Adam Ples, thanks; #3047717). * scintilla/LexLisp.cxx, scintilla/makefile.win32, scintilla/KeyWords.cxx, scintilla/Makefile.am, src/highlighting.c, src/about.c, src/filetypes.c, src/filetypes.h, THANKS, data/filetype_extensions.conf, data/filetypes.lisp, wscript: Add Lisp filetype (patch by Mário Silva, thanks). Note: Lisp lexer was taken from Scintilla instead. 2010-10-06 Frank Lanitz * po/kk.po, THANKS, src/about.c: Added Kazakh translation. Thanks to Baurzhan Muftakhidinov for providing. 2010-10-05 Nick Treleaven * src/utils.c, src/utils.h, src/highlighting.c, src/editor.c: Don't cache overridden lexer properties. Add foreach_strv() to plugin API. Add utils_strv_join(). * tagmanager/basic.c: Parse property, constructor, destructor as functions (patch by pottersson, thanks; #2992167). 2010-10-01 Nick Treleaven * src/tools.c, doc/geany.txt, doc/geany.html: Fix passing quoted arguments when using 'Send Selection to'. This means sed 's/\./(dot)/g' now works. * src/editor.c: Add snippet keybinding support for keys in user snippets.conf (based on patch by Eugene Arshinov, thanks). No docs yet. * doc/geany.txt, doc/geany.html: Add some subheadings for Snippets section. * doc/geany.txt, doc/geany.html: Add snippet keybindings docs. * src/highlighting.c, src/utils.h: Move foreach_strv to utils.h. * src/editor.c, data/snippets.conf: Read snippet keybindings from system keyfile also. Add keybinding example to default snippet.conf. 2010-09-30 Nick Treleaven * src/utils.h, src/filetypesprivate.h, src/filetypes.c, src/filetypes.h, src/document.c, doc/geany.txt, doc/geany.html, data/filetypes.txt2tags, data/filetypes.markdown, data/filetypes.restructuredtext: Add symbol_list_sort_mode per-filetype setting, set to sort by line number by default for Markdown, reStructuredText and Txt2Tags. Add utils_get_setting() macro for reading a key from a home or system keyfile. Move GeanyFiletypePrivate to filetypesprivate.h. * src/Makefile.am, src/ui_utils.c, configure.ac, wscript: Link with X11 if found to fix linking with a recent GNU ld. * src/document.c: Avoid delay and redrawing when automatically opening a new document after closing one. * scintilla/LexForth.cxx, scintilla/makefile.win32, scintilla/KeyWords.cxx, scintilla/Makefile.am, src/highlighting.c, src/about.c, src/filetypes.c, src/filetypes.h, THANKS, data/filetypes.forth, data/filetype_extensions.conf, wscript: Add Forth filetype (patch by Thomas Huth, thanks). * src/tools.c: Remove unnecessary 'fix' from r5224 as it breaks configuring custom commands for 'Send Selection to' (oops). 2010-09-25 Enrico Tröger * src/editor.c: When commenting/uncommenting with single-line comment characters, ignore any end of line characters before evaluating the current line. * data/filetypes.python: Simplify Python Compile/Syntax Check command. 2010-09-23 Nick Treleaven * src/keyfile.c, src/search.c, src/search.h, doc/geany.txt, doc/geany.html: Add hidden pref 'find_selection_type' with option to repeat last search when there's no selection. Change default Find Selection behaviour to not let the X selection override the current word (can be confusing). Add docs for Find Selection commands. * src/document.c: Fix segfault on idle callback when quitting. * src/interface.c, src/keybindings.c, geany.glade: Move 'Edit->Commands->Insert Alternative White Space' to editor popup Insert menu. * src/interface.c, geany.glade: Move editor popup menu Insert Comments submenu to top of Insert menu. * src/ui_utils.h, src/document.c, src/ui_utils.c, doc/geany.txt, doc/geany.html: Add hidden pref new_document_after_close for whether to open a new document automatically, off by default. * HACKING: Add 'Bugs to watch out for' section. 2010-09-22 Nick Treleaven * src/stash.c, doc/Makefile.am, doc/stash-example.c, doc/stash-gui-example.c: Improve Stash GUI example. 2010-09-21 Nick Treleaven * src/interface.c, geany.glade: Move Go to Marker menu items to Search menu. Rename popup editor menu item Commands -> Edit. * src/callbacks.c, src/search.c, src/search.h: Move find_again() to search.c. * src/search.c: Make Find Selected commands repeat the last search if the selection was lost. * doc/geany.txt, doc/geany.html: Add docs for Find Selection keybindings. * src/interface.c, src/keybindings.c, geany.glade: Unify Find Selection strings. * src/interface.c, src/ui_utils.c, geany.glade: Group editor popup Insert commands in a submenu, with extra items for the most commonly used Insert Comments commands. Show Edit->Commands before Format in menubar Edit menu (to match keybindings order). Show Open Selected F_ile popup item below submenus. 2010-09-20 Nick Treleaven * src/ui_utils.c: Refactor shared submenu code with GeanySharedMenu array. * src/interface.c, src/ui_utils.c, geany.glade: Add Search submenu for Find Selected, Find Usage, Go to Tag items, shared with the editor popup menu. * src/document.c: Open a new document automatically after closing all documents. 2010-09-16 Nick Treleaven * src/callbacks.c: Prompt for reloading if the document has an undo stack to avoid losing undo ability on accidental reloading (patch by Colomban Wendling, thanks). * src/project.c, src/geanyobject.c, src/geanyobject.h, doc/pluginsignals.c: Add plugin signals project-dialog-create and project-dialog-confirmed so plugins can append a Project Properties notebook tab (patch by Jiří Techet, thanks). * src/ui_utils.h, src/plugindata.h, src/main.c: Add main_widgets.project_menu to API (patch by Jiří Techet, thanks). * src/plugindata.h, src/msgwindow.c, src/msgwindow.h, src/search.c, src/plugins.c, plugins/geanyfunctions.h: Add msgwin_set_messages_dir() to API (patch by Jiří Techet, thanks). 2010-09-15 Nick Treleaven * src/keyfile.c: Save document indent width with the session. * src/ui_utils.h, src/socket.c, src/ui_utils.c, doc/geany.txt, doc/geany.html, TODO: Use a separate socket per workspace on X (patch by Erik de Castro Lopo, thanks). 2010-09-14 Nick Treleaven * src/main.c: Ignore directories passed on the command-line (based on patch by Erik de Castro Lopo, thanks). * tagmanager/c.c: Parse D function template names. * src/interface.c, src/callbacks.c, src/callbacks.h, src/keyfile.c, src/document.c, src/editor.c, src/editor.h, src/ui_utils.c, geany.glade: Allow per-document indent width setting (patch by Jiří Techet, updated by Erik de Castro Lopo - thanks). * src/interface.c, src/callbacks.c, src/callbacks.h, geany.glade: Combine indent width menu item callbacks. * src/interface.c, geany.glade: Don't translate indent width menu items as they are now used for atoi(). 2010-09-13 Nick Treleaven * src/interface.c, src/keybindings.c, src/ui_utils.c, geany.glade: Remove 3 popup menu items to save space: Find Document Usage because Find Usage can be used instead. Go to Tag Declaration because Go to Tag Definition is more common. Go to Line because the toolbar item can be used instead. * src/tools.c, src/search.c, tagmanager/python.c: Fix some 'possible' NULL pointer dereferences (based on patch by Erik de Castro Lopo). * src/keybindings.c, src/keybindings.h, src/prefs.c: Simplify keybindings_check_event(). 2010-09-09 Nick Treleaven * src/build.c: Use up/down icons for Previous/Next Error. * src/interface.c, src/keybindings.c, src/callbacks.c, src/callbacks.h, src/ui_utils.c, doc/geany.txt, doc/geany.html, geany.glade: Add Find Usage and Go to Tag items to Search menu for easier discovery. * tagmanager/tm_symbol.c: Fix possible NULL dereference. * HACKING: Add link to glade-2.12.2.tar.gz on geany.org. * doc/geany.txt, doc/geany.html: Mention the filetype wordchars setting can be overridden by the whitespace_chars filetypes.common setting. * src/highlighting.c, src/encodings.c, tagmanager/tm_file_entry.c: Remove NULL checks when calling g_free() (patch by Erik de Castro Lopo, thanks). * src/document.c: Show Save As when saving if the document filename doesn't have an absolute path, so command-line new files can be saved without a prompt, but file templates still prompt the user. 2010-09-09 Frank Lanitz * src/build.c: Fix a memory leak. Based on input by Daniel Marjamäki. Thanks for the catch. 2010-09-08 Nick Treleaven * src/ui_utils.h, src/msgwindow.c, src/msgwindow.h, src/main.c: Add GeanyMainWidgets::message_window_notebook for plugins to append a new notebook page (#3061342). * src/document.c: Add Close button to the detected file changed dialog. * src/interface.c, geany.glade: Add separator between Find Previous and Find in Files. Add up/down icons for Previous/Next Message. 2010-08-29 Enrico Tröger * data/snippets.conf: Add dummy entry for "do" snippet for Haskell to explicitly avoid the default completion. 2010-08-25 Nick Treleaven * src/build.c: Fix broken editing of build menu labels. * src/encodings.c, src/filetypes.c, configure.ac: Auto-enable building with included regex if no regcomp function is found. Remove checks for HAVE_REGCOMP in Geany source (not TagManager) - regex support is required. * tagmanager/make.c: Backport fix for possible infinite loop from CTags. * scintilla/PlatGTK.cxx: Backport list box memory leak fixes from Scintilla 2.20. 2010-08-24 Nick Treleaven * src/project.c: Make the Properties dialog filename a label and put it first (patch by Jiří Techet, thanks). * src/build.c, src/build.h, src/project.c, doc/geany.txt, doc/geany.html: Remove the "Set build working directories" button from the project properties dialog (patch by Jiří Techet, thanks). * src/search.c: Include all files if the Find in Files pattern field is enabled and empty. * src/filetypes.c: Rename Matlab -> Matlab/Octave. Datafile name remains the same. 2010-08-23 Nick Treleaven * scintilla/LexTxt2tags.cxx, scintilla/makefile.win32, scintilla/include/SciLexer.h, scintilla/include/Scintilla.iface, scintilla/KeyWords.cxx, scintilla/Makefile.am, src/highlighting.c, data/filetypes.txt2tags, wscript: Add lexer for Txt2Tags (patch by Forgeot Eric, thanks - #3020632). * m4, configure.ac, Makefile.am: Use AC_CONFIG_MACRO_DIR (patch by Erik de Castro Lopo, thanks). * src/callbacks.c: Only prompt for reloading if the document has unsaved changes (patch by Jiří Techet, thanks). 2010-08-21 Frank Lanitz * src/plugindata.h: Apply a patch by Jiří Techet which is preventing warnings when using -Wmissing-prototypes on compiling. Thanks. 2010-08-20 Nick Treleaven * scintilla/KeyWords.cxx: Link Octave instead of Matlab. Add comment about not being autogenerated. Minor changes to fit Scintilla order. * src/build.c, src/build.h: Replace GeanyBuildCommand::entries array with separate fields. Similar to r5077 in the bs2 branch, but with less loop unrolling. * src/build.c: Remove buildcmd_* accessor functions. 2010-08-17 Nick Treleaven * src/highlighting.c, src/editor.c: Use Octave lexer instead of Matlab to support Octave # comment char. 2010-08-16 Nick Treleaven * src/filetypes.c: Fix segfault on Tools->Reload Configuration when no documents are open (#3037079). * scintilla/LexMarkdown.cxx: Fix infinite loop in Markdown lexer (patch by Colomban Wendling, thanks). * src/build.c: Fix saving non-project filetype error regex. * src/build.c: Fix memory leak in read_regex(). 2010-08-15 Enrico Tröger * wscript: Check for libsocket on OpenSolaris to fix build. * src/encodings.c: Rewrite the logic to auto detect encodings a bit to make it more readable and fix a slightly wrong detection on Windows (closes #3019573). * plugins/geanyfunctions.h, src/editor.c, src/plugindata.h, src/plugins.c: Add editor_goto_pos() to the plugin API. 2010-08-13 Nick Treleaven * configure.ac: Check for git-svn repo, not just git because find-rev doesn't always fail with a git-only repo. 2010-08-12 Frank Lanitz * src/search.c: Fix a memory leak based on input by Daniel Marjamäki. Thanks. 2010-08-11 Nick Treleaven * doc/geany.txt, doc/geany.html: Reorder Focus keybindings. 2010-08-10 Frank Lanitz * autogen.sh: Applying a patch by Erik de Castro Lopo for checking against pkg-config when running autogen.sh. Thanks for the patch. * src/log.c: Applying a patch by Colomban Wendling to print out log domains. Thanks. 2010-08-10 Nick Treleaven * src/keybindings.c, src/keybindings.h, src/prefs.c, src/plugindata.h: Use single binding_ids keybinding array instead of individual arrays for core keybindings. This allows the keybinding IDs to be merged into one enum; the order of keybindings is now just the order they are added to each group. Keybindings can be reordered without breaking the plugin ABI but groups must stay the same. * src/stash.c: Fix writing the default value when a key is missing for hidden prefs, even if it was overridden when it was originally read. * src/keyfile.c, src/ui_utils.c, doc/geany.txt, doc/geany.html: Move some interface hidden prefs to ui_utils.c. * src/editor.c: Revert r4840 scope completion mode as it sometimes breaks autocompletion. * src/keybindings.h, src/plugindata.h: Randomly sort keybinding IDs to show there should be no order. * src/keybindings.c: Reorder Focus keybindings. 2010-08-05 Enrico Tröger * src/ui_utils.c, src/ui_utils.h: Make ui_label_new_bold() a function. Escape the name of the current document for markup when using document name for menu items (closes #3038844). * src/vte.c: Inherit 'beep on errors' preference for the audible bell preference for the VTE (closes #3038215). 2010-08-01 Enrico Tröger * src/utils.c, src/utils.h: Add utils_get_eol_char(). * plugins/geanyfunctions.h, src/document.c, src/editor.c, src/editor.h, src/plugindata.h, src/plugins.c, src/templates.c, src/utils.c, src/utils.h: Ensure inserted templates always have proper line ending characters according to the current document's preference. This is also fixes problems with templates on Windows which had always Unix line ending characters but now since they are read from files, these have Windows line ending characters and had been converted twice. 2010-07-31 Enrico Tröger * src/vte.c: Fix build with GTK 2.8, use the stock icon name directly instead of the macro. Though, the icon is still missing for GTK 2.8. * src/templates.c: Make make_comment_block() work with a GString. This is not yet perfect but a bit better than before. 2010-07-29 Enrico Tröger * src/keybindings.c, src/vte.c, src/vte.h: Implement 'Select All' for the VTE widget. 2010-07-25 Enrico Tröger * geany.nsi: Fix missing template files in the Windows installer. 2010-07-18 Enrico Tröger * data/filetypes.python: Update list of Python builtins, based on Python 2.6. 2010-07-13 Enrico Tröger * src/filetypes.c: On Windows, convert filetype extensions read from config files to lower case (closes #3028856). 2010-07-12 Nick Treleaven * src/keybindings.c: Focus toolbar item when pressing Go to Line keybinding only when it's not in the toolbar's drop down overflow menu (fixes #3027454). 2010-07-11 Lex Trotman * src/build.c: Fix build menu translation problems. 2010-07-10 Enrico Tröger * wscript: Fix './waf install'. 2010-07-09 Nick Treleaven * src/editor.c: Fix scrolling the editor line in view after loading a session and switching document tabs. Note this causes repainting so needs improvement. * doc/geany.txt, doc/geany.html: Add note to restart Geany after installing/updating before editing hidden prefs. * src/ui_utils.h, src/main.c, src/ui_utils.c: Use Stash to save statusbar_template setting, instead of the load/save-settings signal. Add ui_init_prefs(). 2010-07-08 Nick Treleaven * src/ui_utils.c, doc/geany.txt, doc/geany.html: Fix writing empty hidden pref "statusbar_template" key so users can find it (patch by Dimitar Zhekov, thanks). * src/ui_utils.c, src/ui_utils.h, src/main.c: Add ui_finalize(), free string (patch by Dimitar Zhekov, thanks). 2010-07-07 Nick Treleaven * src/build.c, src/project.c, src/project.h: Show the Project Properties build tab when choosing 'Set Build Commands' for now to prevent confusion with non-project commands. 2010-07-06 Nick Treleaven * src/search.c, doc/geany.txt, doc/geany.html: Fix Grep --exclude-dir example. 2010-07-05 Nick Treleaven * src/sidebar.c: Add sidebar Documents popup menu item 'Find in Files'. * src/keyfile.c, src/main.c, src/editor.c: Don't unnecessarily test G_FILE_TEST_IS_SYMLINK when testing G_FILE_TEST_IS_REGULAR (patch by Dimitar Zhekov, thanks). 2010-07-02 Nick Treleaven * doc/geany.txt, doc/geany.html: Fix wording - restarting is required for hidden prefs. File templates don't need manual reloading anymore. * src/ui_utils.c: Fix only adding project base path to Find in Files history if it isn't already there (oops). * src/msgwindow.c: Parse lines in the Messages window even if Find in Files hasn't been used yet (patch by Jiří Techet, thanks). 2010-07-01 Nick Treleaven * scintilla/LexCPP.cxx, src/highlighting.c: Add C++ lexer property fold.cpp.comment.explicit (patch sent); set it disabled. * src/utils.h, src/highlighting.c, doc/geany.txt, doc/geany.html, data/filetypes.common: Add filetypes.common fold_symbol_highlight color setting. Add API macro foreach_range(). * src/printing.c, doc/geany.txt, doc/geany.html: Always use white background color when printing (except for text with a white foreground) to save ink (should fix #2968998). * src/build.c, src/build.h, doc/geany.txt, doc/geany.html: Limit build error editor indicators to 50, but parse all errors in the Compiler tab (fixes #3019823). 2010-06-30 Nick Treleaven * src/highlighting.c: Re-enable fold.comment for lexers - it was disabled to prevent C //{ explicit folding, but that also disables stream comment folding /* */. * tagmanager/tm_workspace.c, tagmanager/get.c: Use g_free instead of free (patch by Daniel Marjamäki, thanks). * src/editor.c: Use SCI_SETFIRSTVISIBLELINE for editor_scroll_to_line(). Note this doesn't affect the bug with document switching not scrolling cursor in view after loading a session. 2010-06-29 Nick Treleaven * src/ui_utils.c, THANKS, doc/geany.txt, doc/geany.html: Add statusbar_template hidden pref (based on patch by Dimitar Zhekov, thanks). * src/ui_utils.c, doc/geany.txt, doc/geany.html: Add spaces after RO when using %r in statusbar_template setting. Add space between encoding and BOM. Note \t means tab for default text. 2010-06-28 Nick Treleaven * src/search.c: Restore tabbing past Find in Files combo box drop down menus. 2010-06-25 Nick Treleaven * src/sciwrappers.c, src/plugindata.h, src/pluginutils.c, src/main.c, doc/pluginsignals.c, doc/pluginsymbols.c, doc/Makefile.am, doc/plugins.dox: Move plugin signals docs to pluginsignals.c, using function pointer syntax instead of @signaldef as this puts a summary of the signal names at the top of the page and sorts alphabetically. (Note: the syntax is similar to Vala signal syntax). 2010-06-24 Lex Trotman * src/build.c Make default dialog entries use GTK_STATE_INSENSITIVE color not a fixed color (Suggestion by Ditmar Zhekov) 2010-06-23 Nick Treleaven * src/search.c, doc/geany.txt, doc/geany.html: Implement Find in Files file pattern search. * src/search.c: Add file pattern to combo box history. * src/dialogs.c, src/vte.c, src/search.c, src/ui_utils.c, plugins/export.c: Use ui_hookup_widget() instead of g_object_set_data_full() for widgets. 2010-06-22 Nick Treleaven * src/search.c: Add Files checkbox and combo to Find in Files dialog, currently does nothing & is disabled. Don't try to focus the next entry on pressing tab anymore as this is more complicated now. 2010-06-21 Nick Treleaven * src/search.c: Put Find in Files Search field above Directory field. * src/search.c, doc/geany.txt: Simplify FIF 'Fixed strings, Grep regular expressions, Extended regular expressions' radio buttons with a 'Use regular expressions' checkbox. This uses the extended syntax (which is the same as the Find/Replace regex syntax). * src/search.c: Move 2 Find in Files checkboxes for even spacing. 2010-06-20 Frank Lanitz * tagmanager/tm_work_object.c: Change of description of tm_get_real_path(). Patch by Dimitar Zhekov. Thanks. 2010-06-18 Nick Treleaven * src/ui_utils.h, src/dialogs.c, src/plugindata.h, src/search.c, src/plugins.c, src/ui_utils.c, plugins/geanyfunctions.h: Add ui_combo_box_add_to_history() to API. * plugins/filebrowser.c: Add history to path entry. * src/plugindata.h, src/plugins.c, doc/plugins.dox: Fix not loading plugins built against a newer API when Geany doesn't provide the required version given in PLUGIN_VERSION_CHECK(). Improve documentation for PLUGIN_VERSION_CHECK(). * plugins/filebrowser.c: Allow Find in Files when no items are selected. * src/build.c, src/geanyobject.c, src/geanyobject.h, doc/plugins.dox: Add API signal "build-start" (patch by Jiří Techet, thanks). 2010-06-17 Nick Treleaven * src/sidebar.c: Replace /home/user with ~ in the documents list (patch by Jon Strait, thanks). * src/build.c: Make default Build dialog entries grey, not light grey (too hard to read on a white background). * src/ui_utils.c: Display 'new instance' on title bar (patch by Eugene Arshinov, thanks). * src/ui_utils.c: Remove any duplicate on adding to combo box histories. 2010-06-16 Nick Treleaven * src/notebook.c: Align notebook tab close buttons centred vertically - thanks to Robux.Biz (galyuk). * Merge unstable branch: - src/build.c: Make build config entries light grey until set. - src/keybindings.c, src/about.c, THANKS: Fix the wrong file being put on top of the stack when switching tabs too quickly (patch from Jiří Techet, thanks). - src/templates.c, data/templates/gpl, data/templates/function, data/templates/changelog, data/templates/bsd, data/templates/fileheader, wscript, Makefile.am: Move general templates from source code into files. Load general templates from system path instead of creating them in the user's config dir. 2010-06-12 Enrico Tröger * po/POTFILES.skip: Add doc/stash-example.c to fix 'make distcheck'. * geany.nsi: Change the RequestExecutionLevel for the Windows installer to 'highest'. * New release: Geany 0.19 "Vellam". * configure.ac, doc/geany.html, doc/geany.txt, geany.nsi, geany_private.rc, win32-config.h, wscript, src/geany.h: Post-release version bump. 2010-06-10 Nick Treleaven * src/editor.c: Group undo action for Insert Multiline Comment. 2010-06-08 Nick Treleaven * Makefile.am: Don't individually install data/*.tags as all data/* files will be installed anyway. 2010-06-07 Frank Lanitz * tagmanager/tm_project.c: Fix a double free. (patch by Daniel Marjamaki, thanks). 2010-06-06 Enrico Tröger * tagmanager/tm_workspace.c: Fix two memory leaks (patch by Daniel Marjamaki, thanks). * src/sidebar.c: Fix reducing paths to project name in the Documents list (patch by Eugene Arshinov, thanks). * src/symbols.c: Fix crash when trying to sort NULL pointers as tags in the Symbols list (closes #3011986). * NEWS, scintilla/*, scintilla/include/*, src/plugindata.h: Update Scintilla to version 2.12. * wscript, scintilla/Makefile.am, scintilla/makefile.win32, scintilla/LexCrontab.cxx: Remove unused Crontab lexer. * data/filetypes.css, src/highlighting.c: Add new style "media" for filetype CSS. 2010-06-04 Nick Treleaven * doc/geany.txt, doc/geany.html: Build section: minor rewording, formatting fixes; move some sentences. 2010-06-03 Enrico Tröger * src/build.c: Explicitly try to localise build menu item labels with gettext to enforce getting default labels translated. * tagmanager/tm_workspace.c: Fix not closed FILE pointer on early exit (patch by Daniel Marjamaki, thanks). * doc/images/*.png: Update images for Geany 0.19. * src/sidebar.c: Destroy the default symbol list treeview only once (fixes gtk_widget_destroy warning on exit). 2010-05-30 Enrico Tröger * tagmanager/sort.c: Replace free() by g_free() (patch by Daniel Marjamaki, thanks). * tagmanager/c.c: Fix parsing of C++ classes contain attributes with bitfields (patch by Lex Trotman, thanks). * src/plugindata.h, src/plugins.c: Add PLUGIN_SET_TRANSLATABLE_INFO macro to the plugin API so plugins' meta information can be translated already in the plugin manager dialog (patch by Colomban Wendling, thanks). 2010-05-29 Enrico Tröger * src/main.c: Print locale information in debug output. * src/build.c: Fix some labels which were marked as translatable but were not handled properly by gettext(). Add a missing const. * src/msgwindow.c: Try to convert text into UTF-8 before adding it to the Compiler and Messages Window (closes #3007919). 2010-05-25 Enrico Tröger * plugins/Makefile.am, src/Makefile.am, tagmanager/Makefile.am, wscript: Pass G_LOG_DOMAIN to source files for better logging. 2010-05-24 Frank Lanitz * THANKS, src/about.c: Update of translation credits to reflect a change on Spanish translation team better. 2010-05-23 Lex Trotman * src/build.c: Fix infinite loop reading build command output 2010-05-23 Enrico Tröger * src/msgwindow.c: Fix duplicate accelerators for Clear and Copy in the Messages Window popup menu. * src/pluginutils.c: Expand child widgets in the Plugin Preferences dialog (patch by Colomban Wendling, thanks). 2010-05-22 Enrico Tröger * src/ui_utils.c: Fix Undo/Redo button state after the last document has been closed. Add Print and Replace toolbar items to the list of document sensitive widgets. * src/toolbar.c: Fix crash when the toolbar is reloaded without any open documents. * src/build.c: Fix Run toolbar item sensitivity after the last document has been closed. * plugins/classbuilder.c: Remove two unnecessary g_strdups(). * doc/geany.html, doc/geany.txt, src/keyfile.c, src/msgwindow.c, src/plugindata.h, src/ui_utils.h: Add hidden preference to disable automatic scrolling in the Compiler tab (closes #3004714). 2010-05-19 Frank Lanitz * plugins/classbuilder.c: Fix a memory leak. (patch by Daniel Marjamaki, thanks) 2010-05-16 Enrico Tröger * src/prefs.c, src/project.c: win32.h can be included unconditionally. * src/sidebar.c: Fix project base_path detection if the path has a trailing slash. * src/document.c, src/editor.c, src/project.c: Small improvements to speed up quit process with many open documents. Avoid calling gtk_notebook_remove_page() on exit as it takes a lot of time. * src/geanymenubuttonaction.c: Explicitly check for the type when iterating the action's proxies. For some reason on Windows, a GtkImageMenuItem proxy is created. * geany.pc.in, wscript, plugins/Makefile.am, src/Makefile.am, src/plugindata.h, scintilla/*, scintilla/include/*: Update Scintilla to version 2.11. * plugins/Makefile.am, plugins/makefile.win32, src/Makefile.am, src/makefile.win32: Add new GTK define also for Mingw cross compilation and makefile.win32 based Windows builds. * plugins/filebrowser.c: Implement reading and evaluating hidden file attribute on Windows. Fix broken "Go Up" if the current path ends with a slash. * THANKS, src/about.c, src/prefix.c: Replace free() by g_free() (patch by Daniel Marjamaki, thanks). * geany.glade, src/document.h, src/interface.c, src/keyfile.c, src/main.c, src/notebook.c, src/prefs.c: Add preference to add new document tabs beside the current one (patch by Colomban Wendling, thanks). * geany.glade, src/dialogs.c, src/geany.h, src/interface.c, src/keyfile.c, src/prefs.c, src/ui_utils.h: Add a preference for choosing between GTK and native File Open/Save dialogs (only available on Windows). * doc/geany.html, doc/geany.txt: Update documentation. 2010-05-15 Enrico Tröger * src/win32.c: Sort file filters for the native Windows file open dialog by name. Don't use file filters for the native Windows Save As dialog. * src/dialogs.c, src/win32.c, src/win32.h: Remove old code. Pass and use also parent and title arguments to win32_show_document_open_dialog(). * src/dialogs.c: Call handle_save_as() only when the Save As dialog was not cancelled. * src/toolbar.c: Improve adding/removing of the special separator between menubar and toolbar when the toolbar is appended to the menubar. * src/toolbar.c, src/templates.c: Explicitly disconnect menus from GeanyMenuButtonAction on quit to not trigger updating the menus on each item removal. 2010-05-15 Frank Lanitz * src/support.h: Replace one non breaking space by normal space. Patch by Daniel Marjamaki. 2010-05-14 Enrico Tröger * plugins/classbuilder.c: Don't make the 'Create Class' menu item document-sensitive (patch by Colomban Wendling, thanks). Add namespace support for GTK+ classes. Add GET_CLASS() macro for GTK+ classes. Add typedef of the private structure in the header file instead of declaring it (all the above from a patch by Colomban Wendling, thanks). * src/highlighting.c: Set common default "fold.comment" to 0 to disable it. This can be overridden if desired. * src/sidebar.c: Improve sorting of document list items (patch by Colomban Wendling, thanks). * src/main.c: Remove unnecessary textdomain() call. 2010-05-11 Nick Treleaven * src/search.c: Fix search_find_text not returning -1 when match is out of range. This fixes invalid memory reads and wrong template filename wildcard replacement. * src/search.c, src/document.c: Only replace template filename matching start of word on saving. * plugins/filebrowser.c: Add 'Refresh' popup menu item (part of geany-plugins #2999858). * src/build.c, src/build.h, src/project.c: Make some ugly build.h global variables static. * src/build.c, src/build.h, src/project.c: Add Build prefix for TableFields, TableData. 2010-05-10 Enrico Tröger * src/dialogs.c: Fix Cancel on Goto Line dialog (patch by Dimitar Zhekov, thanks). * src/dialogs.c, src/win32.c, src/win32.h: (Re-)Implement a (still basic) native Windows Save As dialog when compiled with GEANY_USE_WIN32_DIALOG. 2010-05-09 Enrico Tröger * THANKS, src/about.c, plugins/classbuilder.c: Add support for creating PHP classes (patch by Ondrej Donek, thanks). * src/ui_utils.h, src/ui_utils.c: Add public, generic callback ui_editable_insert_text_callback() to restrict GtkEntry text inputs to +/- and numeric values only. * src/dialogs.h, src/dialogs.c: Add special variant dialogs_show_input_goto_line() to use a normal GtkEntry together with dialogs_show_input_goto_line() for text input. * src/geanyentryaction.c, src/callbacks.c, src/editor.c, src/editor.h: Allow '+' as values for Goto Line inputs to jump relative to the current line (closes #2997238). 2010-05-08 Enrico Tröger * src/highlighting.c: Apply foreground and background colours of the folding margin style properly (closes #2998347). * src/utils.c: Don't auto-close short XML tags (closes #2994852). * THANKS, src/about.c, src/keybindings.c: Improve jumping to matching braces by consistently position the cursor before or after the matching brace dependent where it was before (patch by Dimitar Zhekov, thanks). * src/main.c: Fix crash when generating global tags files (patch by Colomban Wendling, thanks). 2010-05-07 Nick Treleaven