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 ' * 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 * src/templates.c: Avoid connecting signals more than once. 2010-05-06 Enrico Tröger * wscript: Don't ignore the 'intltool' check on non-Windows systems, instead raise a configure error. 2010-05-06 Nick Treleaven * src/build.c: Fix marking some strings as translatable (cannot be done in the ASSIGNIF macro). * src/templates.c, doc/geany.txt, doc/geany.html: Reload templates if saving a document in the templates config dir. 2010-05-05 Nick Treleaven * src/search.c, src/search.h, src/document.c, doc/geany.txt, doc/geany.html: Fix replacing {filename} template wildcard for custom file templates with non-default file extension. Add search_find_text() for POSIX regex searches. * src/templates.c, doc/geany.txt, doc/geany.html: Add {project}, {description} template wildcards (#2954737). * doc/geany.txt, doc/geany.html: Divide template wildcards into groups. * src/plugindata.h, src/plugins.c, src/symbols.c, plugins/geanyfunctions.h: Add symbols_get_context_separator() to plugin API (patch by Colomban Wendling, thanks). 2010-05-03 Nick Treleaven * src/keybindings.c: Fix setting wrong accelerator for 2 Edit->Commands items (patch by Anonymous, thanks; #2995593). * src/sciwrappers.c, src/plugindata.h, src/plugins.c, plugins/geanyfunctions.h: Add sci_set_line_indentation(), sci_get_line_indentation() to API (patch by Colomban Wendling, thanks). 2010-04-30 Nick Treleaven * src/editor.c: Warn user if hidden hard tab width setting is not 8. 2010-04-28 Nick Treleaven * src/interface.c, src/project.c, src/keyfile.c, geany.glade, doc/geany.txt, doc/geany.html: Hide 'Tabs and Spaces: Hard tab width' preference - it should always be 8. (Hidden setting kept in case users have modified it). 2010-04-28 Nick Treleaven * doc/geany.txt, doc/geany.html: Add Folding section link to filetypes.common custom settings. 2010-04-27 Enrico Tröger * src/callbacks.c: When switching documents, don't call document_set_text_changed() as this does much more than necessary. Instead call the necessary UI update functions explicitly. 2010-04-27 Nick Treleaven * tagmanager/vstring.c: Fix invalid memory read (patch by Colomban Wendling, thanks). 2010-04-25 Enrico Tröger * src/build.c, src/dialogs.c, src/msgwindow.c, src/ui_utils.c: Replace g_vsnprintf() by g_strdup_vprintf() to avoid truncated strings in case of reaching the buffer size limit (part of #2979697). * src/win32.c: Change the limit for the command line length when executing commands to a maximum of 32768 characters (closes #2979697). Fix broken opening URLs e.g. when using the 'builtin' Run command. * tagmanager/ctags.c: Change eFree() to simply ignore NULL pointers instead of asserting. * src/main.c: Remove malloc() fallback since we completely rely on g_malloc() nowadays. * plugins/export.c, plugins/filebrowser.c, plugins/htmlchars.c, plugins/saveactions.c: Make string arguments const where appropriate (patch by Colomban Wendling, thanks). * src/build.c, src/build.h, src/callbacks.c, src/editor.c, src/encodings.c, src/encodings.h, src/gb.c, src/geanyentryaction.c, src/geanymenubuttonaction.c, src/geanyobject.c, src/geanywraplabel.c, src/keyfile.c, src/project.c, src/sidebar.c, src/socket.c, src/symbols.c, src/templates.c, src/ui_utils.c: Make string arguments const where appropriate (patch by Colomban Wendling, thanks). 2010-04-22 Nick Treleaven * src/plugindata.h, src/pluginutils.c, src/pluginutils.h, THANKS: Make plugin_signal_connect() string argument const (patch by Colomban Wendling, thanks). * src/keybindings.c, src/keybindings.h, src/plugindata.h: Constify some more string pointers in the API (patch by Colomban Wendling, thanks). * src/templates.c, src/templates.h, src/editor.c, doc/geany.txt, doc/geany.html: Support {pc} wildcard in snippets to escape percent char. * src/editor.c: Recalculate line margin width when zooming (fixes #2990553). * src/highlighting.c, doc/geany.txt, doc/geany.html, data/filetypes.common: Support more folding icon styles: arrows, +/- and no lines (#2935059). 2010-04-21 Enrico Tröger * src/socket.c: Fix Windows build by properly guarding Unix-only code. 2010-04-21 Nick Treleaven * src/templates.c, doc/geany.txt, doc/geany.html: Support {ob} and {cb} in fileheader and file templates; they are replaced last with { and }. This allows 'escaping' of wildcard strings. * src/editor.c, plugins/classbuilder.c: Fix Class Builder plugin to use correct indentation instead of always tabs. Make editor_insert_text_block() only replace leading tabs for the 'Tabs' indent type; also group edits for undo. * src/templates.c, src/templates.h, src/editor.c, doc/geany.txt, doc/geany.html: Support {ob} and {cb} wildcards for snippets too (fixes #2937008). 2010-04-19 Enrico Tröger * tagmanager/pascal.c: More fixes to prevent possible crashes by trying to free NULL pointers. * src/sidebar.c: Automatically show and hide the sidebar notebook tabs according to the amount of visible pages (patch by Adrian Dimitrov, thanks). * src/editor.c: Add a static global variable to monitor autocompletion mode in order to prevent cancellation of the struct/class (C/C++) auto completion list (patch by Thomas Martitz, thanks). * src/socket.c: When starting and trying to access the Unix Domain socket of a potentially running instance, first compare file ownership with the user id of the running process to prevent accessing a wrong socket file (part of #2985463, this might not yet be the final solution). 2010-04-19 Nick Treleaven * plugins/filebrowser.c: Synchronize popup menu and plugin preferences dialog 'Show Hidden Files' option (fixes #2989288). 2010-04-18 Enrico Tröger * tagmanager/entry.c, tagmanager/entry.h, tagmanager/include/tm_source_file.h, tagmanager/parse.c, tagmanager/parse.h, tagmanager/tm_source_file.c: Add tm_source_file_set_tag_arglist() to manually set the argument list of a tag. * tagmanager/python.c: Use tm_source_file_set_tag_arglist() to set the argument list field of Python class tags to the argument list of their __init__() methods. Backport a fix from CTags SVN to prevent possible crashes by trying to free NULL pointers. 2010-04-17 Enrico Tröger * tagmanager/txt2tags.c: Remove duplicate code from Txt2Tags parser. Remove the title control characters ('=') when parsing titles. Also parse numbered titles (closes #2984703). * doc/geany.html, doc/geany.txt, src/keybindings.c, src/keybindings.h, src/plugindata.h: Add 'Remove Markers' and 'Remove Error Indicators' keybindings. Add missing documentation for 'Reset Zoom' keybinding. * tagmanager/php.c: Another attempt to fix the PHP parser regexp for parsing functions. Fix wrong parsing of function arguments when those contain nested brackets (as reported by Harold Aling). * src/notebook.c: Fix Ctrl-Click on notebook tab if Numpad is active. 2010-04-11 Enrico Tröger * geany.glade, doc/geany.txt, plugins/geanyfunctions.h, src/callbacks.c, src/interface.c, src/keyfile.c, src/plugindata.h, src/plugins.c, src/prefs.c, src/toolbar.c, src/toolbar.h, src/ui_utils.c, src/ui_utils.h: Add option 'System Default' for toolbar icon style and size to use the GTK default value. * geany.glade, src/callbacks.c, src/callbacks.h, src/interface.c, src/toolbar.c, src/toolbar.h: Shorten the toolbar popup menu, only provide items for Toolbar Preferences and to Hide the toolbar. * src/toolbar.c: Instantly update the toolbar icon size and style when the corresponding global GTK settings are changed. * doc/geany.1.in, doc/geany.txt, src/main.c, src/main.h, src/plugindata.h, src/socket.c: Add new command line option --list-documents to return a list of currently opened documents (closes #2979933). 2010-04-09 Frank Lanitz * plugins/htmlchars.c: Make plugin remember whether replacement of special characters was activated even after restart of Geany or reloading of plugin. 2010-04-09 Nick Treleaven * src/editor.c: Fix inserting snippets with an indent when using Mac CR line endings. * src/callbacks.c: Update status bar after using Document->Set Line Endings. * src/editor.c: Improve API docs for editor_insert_text_block(). 2010-04-08 Nick Treleaven * src/editor.c: Refactor snippets_complete_constructs(). Remove an unnecessary TODO. * src/editor.c: Fix indenting a snippet when there is whitespace after the snippet key name. 2010-04-07 Enrico Tröger * doc/geany.txt, doc/geany.html: Improve wording. * src/build.c, src/msgwindow.c: Fix disabled compiler message tracking if using indicators to show build errors is disabled (closes #2982834). 2010-04-07 Nick Treleaven * scintilla/Editor.cxx: Backport fix from Scintilla CVS to fix using SCI_GETSELECTIONSTART and SCI_GETSELECTIONEND with rectangular selections. This fixes replacing in a rectangular selection. 2010-04-06 Nick Treleaven * src/filetypes.c: Re-detect any document filetypes set to None after reloading filetype extensions (closes #2979661). * src/editor.c: Fix showing '...' item last instead of first for document word completion. 2010-04-05 Enrico Tröger * data/filetypes.perl: Adjust Perl Compile command to use the -c command line option to perform a syntax check instead of using the deprecated ByteCompile module. Add error_regex to parse error messages and warnings when performing syntax checks on Perl files. 2010-04-05 Nick Treleaven * src/keybindings.c, src/keybindings.h, doc/plugins.dox: Add API docs for keybinding enums. * src/notebook.c, doc/geany.txt, doc/geany.html: Make Ctrl-click on any notebook tab switch to the last used document. 2010-04-01 Nick Treleaven * src/geanymenubuttonaction.c, src/geanymenubuttonaction.h, src/geanyentryaction.c, src/geanyentryaction.h, src/geanywraplabel.c: Cache G_TYPE_INSTANCE_GET_PRIVATE() result when initializing an object for efficiency. 2010-03-31 Nick Treleaven * plugins/classbuilder.c: Beep if the user hasn't entered a class name on pressing OK. * src/search.c: Fix replacing '^' regex. * src/plugindata.h, src/stash.c, src/stash.h, src/plugins.c, plugins/geanyfunctions.h: Add Stash widget functions to API. * configure.ac: Revert commit to use AC_PATH_PROG instead of 'which' (fixes #2973764). 2010-03-30 Nick Treleaven * THANKS, src/vte.c: Apply patch from Yoann Le Montagner to set VTE bold color (thanks, fixes #2976905). * wscript, src/plugindata.h, src/stash.c, src/stash.h, src/plugins.c, src/Makefile.am, doc/plugins.dox, doc/stash-example.c, plugins/geanyfunctions.h, plugins/geanyplugin.h: Add Stash setting functions to API. Remove unnecessary argument to stash_group_load_from_file(). * src/geanyobject.c, plugins/classbuilder.c: Don't generate FOO_GET_PRIVATE() macro because caching the result in Foo::priv can be much more efficient. 2010-03-25 Enrico Tröger * src/editor.c: Fix cursor positioning when toggling comments (patch by Thomas Martitz, thanks). 2010-03-25 Peter Scholtens * src/keybindings.[hc]: Added Control+0 for zoom reset, see suggestion from #2969886. 2010-03-25 Nick Treleaven * src/search.c, src/document.c: Fix wrong selection range after Replace in Selection. 2010-03-20 Enrico Tröger * src/win32.c: Make CreateChildProcess() working with Unicode strings, e.g. directory names (closes #2972606). * geany.nsi: Remove reference to already removed latex.tags file. Future releases probably still depend on GTK 2.16. * scintilla/ScintillaGTK.cxx: Backport fix from Scintilla CVS to not paste text beyond the end of lines (closes #2969096). * plugins/htmlchars.c, src/geany.h, src/keybindings.c, src/main.c, src/plugindata.h: Deprecate GEANY_WINDOW_MINIMAL_WIDTH/GEANY_WINDOW_MINIMAL_HEIGHT to not set Geany's minimum window size anymore (closes #2972992). As replacement, add GEANY_DEFAULT_DIALOG_HEIGHT. 2010-03-19 Nick Treleaven * src/stash.c: Make adding string and string vector settings initialise the setting to NULL for safety. * src/utils.c, src/stash.c, src/stash.h, doc/stash-example.c: Add stash_group_load_from_file() and stash_group_save_to_file(). 2010-03-18 Nick Treleaven * data/filetypes.common: Set default for wrapped lines to show marker at end of line only (more expected and doesn't change line alignment - closes #2972386). * src/toolbar.c, src/toolbar.h, src/prefs.c, src/prefs.h, src/pluginutils.c, doc/plugins.dox: Improve API docs contents page by listing all commonly-used files. Fix 'Date' appearing twice on the date line. Don't generate API docs for prefs.h, toolbar.h (unused). Move some '@file' doc-comments to the .c file. * src/interface.c, geany.glade: Add frame for 'Printing' prefs dialog page. * src/sidebar.c, src/project.c, src/prefs.c, src/stash.c, src/stash.h, src/keyfile.c, src/keyfile.h, src/search.c, src/plugins.c, doc/stash-example.c: Rename Stash data types to be independently named from Geany (so Stash can be reused for other projects). Rename GeanyPrefGroup to StashGroup. 2010-03-17 Nick Treleaven * tagmanager/python.c: Apply patch from Colomban Wendling to parse Python lambda functions (thanks) - modified to only parse toplevel or class member lambdas. * src/stash.c, src/stash.h, doc/Doxyfile.in, doc/Makefile.am, doc/stash-example.c: Add doc-comments for Stash setting functions. Add an example file showing usage of Stash. (Not enabled yet until added to the plugin API). 2010-03-17 Lex Trotman * src/build.c: Fix using return value without checking return status, caused incorrect sensitivity settings on build dialog. 2010-03-16 Nick Treleaven * HACKING: Add tip about gcc optimization & warnings/debugging. Add Testing section. Update Libraries section about synchronizing with other projects. 2010-03-15 Enrico Tröger * src/ui_utils.c: For now revert the recent patch which set real_path of newly open non-existent configuration files as this seems hackish and causes 'file not found' warnings. * wscript: Fix/Improve GIT repository detection (patch by Thomas Martitz, thanks). * plugins/geanyfunctions.h, src/plugindata.h, src/plugins.c, src/utils.c: Add utils_copy_environment() to the plugin API. 2010-03-15 Nick Treleaven * src/utils.c, src/utils.h, src/sciwrappers.c, src/dialogs.c, src/navqueue.c, src/msgwindow.c, src/filetypes.c, src/document.c, src/main.c: Use 3rd person for more API dox. Change 'This is a wrapper function for...' to 'Wraps...' in brief descriptions. Change 'After all...' to 'Afterwards...'. * src/interface.c, geany.glade: Apply patch from Eugene Arshinov to make frame packing/alignment more consistent (thanks). 2010-03-12 Nick Treleaven * src/ui_utils.c: Fix ui_button_new_with_image() to call gtk_button_set_image() so that gtk_button_[sg]et_label() work as expected. * src/build.c, src/dialogs.c, src/dialogs.h, src/callbacks.c: Make Build Commands dialog show menu item labels as a button (to help show that menu labels don't normally need to be edited & display the mnemonic correctly). Clicking shows an input dialog to set a new menu item label. Split dialogs_show_input() into 2 functions: one simple, one for a persistent dialog. Fix possible double-destroy of input dialog when closed by user. * src/dialogs.c: Fix not destroying 'Make Custom Target' input dialog after first use (oops). * src/project.c: Make Long Line Marker settings for existing projects default to general settings instead of 0 (thanks to Eugene Arshinov). * src/utils.c, src/ui_utils.h, src/utils.h, src/highlighting.c, src/keybindings.c, src/sciwrappers.c, src/plugindata.h, src/filetypes.c, src/filetypes.h, src/document.c, src/pluginutils.c, src/document.h, src/editor.c, src/editor.h, src/ui_utils.c: Use 3rd person (gets not get) for API function brief descriptions. Avoid using 'convenience function' in API brief descriptions. 2010-03-10 Nick Treleaven * doc/geany.txt, doc/geany.html: Warn about some GNU extensions for regular expressions & clarify some points. * src/interface.c, src/keybindings.c, src/project.c, src/project.h, src/prefs.c, src/plugindata.h, src/keyfile.c, src/editor.c, src/editor.h, geany.glade: Apply patch from Eugene Arshinov to add project long line marker customisation (thanks). * src/interface.c, geany.glade: Edit/tidy 'Long line marker' labels. 2010-03-10 Lex Trotman * src/build.c, src/project.c: Fix crash due to NULL in project build preferences (thanks to Wolfgang Ocker). 2010-03-09 Nick Treleaven * src/utils.c, src/utils.h, src/search.c, src/search.h, src/document.c, doc/geany.txt, doc/geany.html: Merge gnu-regex branch: Use POSIX system/GNU regex engine for find & replace 'Use regular expressions' option. This alters regex syntax a bit - see the docs for details; we now support '?' operator and replacement backslash escaping is more standard. Make regex search imply replacing escaped chars. Allow \0 backreference replacement for the whole match. Note: Replace All may be slower; if this is a problem please let me know. - code: Add argument to utils_str_replace_escape() for keeping uninterpreted backslash escapes e.g. '\\', '\e'. * scintilla/LexMarkdown.cxx: Backport minor formatting/style changes from Scintilla project. * doc/geany.txt, doc/geany.html: Remove warning about no visual indication for zero-column-mode editing. 2010-03-09 Enrico Tröger * wscript: Skip unavailable languages in LINGUAS (thanks to Christian Dywan). 2010-03-07 Enrico Tröger * wscript, scintilla/*, scintilla/include/*: Update Scintilla to version 2.03. * geany.glade, doc/geany.txt, doc/geany.html, src/editor.c, src/editor.h, src/interface.c, src/keyfile.c, src/plugindata.h: Add preference for virtual spaces. * src/log.c: Fix wrong default response for the Debug Messages dialog. * src/dialogs.c: Fix crashes when using Save As with no open files (closes #2964406). * src/document.c: Fix duplicate mnemonics on 'Resave missing file' dialog, also move the question from the secondary to the main text to be more compatible with the Gnome HIG. Fix broken 'Save' action in 'Resave missing file' dialog. * tagmanager/php.c: Improve PHP parser to parse also the argument lists of PHP functions. * src/prefs.c: Correctly set the parent widget for the keybinding overwrite confirmation dialog. * src/dialog.c: Fix setting the icon for some dialogs if the parent itself is also a dialog. * src/ui_utils.c: When editing non-existent config files using the Tools->Configuration Files menu, explicitly set the real_path to avoid presenting the Save As dialog when saving the file (patch by Tony Rick, thanks). * src/callbacks.c: Focus the editor widget after hiding the sidebar when it had the input focus (patch by Can Koy, thanks). Properly show/hide the mesages window when using the View menu item (closes #2961282). * plugins/filebrowser.c: After opening files, focus the editor widget (based on a patch by Can Koy, thanks). * plugins/filebrowser.c, plugins/geanyfunctions.h, src/msgwindow.c, src/plugindata.h, src/plugins.c, src/sidebar.c, src/ui_utils.c, src/ui_utils.h, src/vte.c: Add and use convenience function ui_is_keyval_enter_or_return() and add it to the plugin API. 2010-03-05 Frank Lanitz * src/about.c, THANKS, po/ast.po: Added Asturian translation. Thanks to Marcos Costales for providing. 2010-02-28 Dominic Hopf * src/log.c: Fix keyboard accelerators in debug messages window (Thanks Can Koy). 2010-02-28 Enrico Tröger * scintilla/LexR.cxx: Backport R lexer from Scintilla CVS to fix case sensitive keywords (Scintilla bug #2956543). * src/sidebar.c, src/about.c, THANKS: Make Space on the symbol and document list not focus the editor widget while Enter does (closes #2919444, patch by Can Koy, thanks). * src/document.c, src/document.h: Fix document_try_focus() to make it work with the sidebar document list as well. * src/msgwindow.c, src/msgwindow.h, src/ui_utils.c, src/ui_utils.h: Make Space on the compiler and messages widgets not focus the editor widget while Enter does (patch by Can Koy, thanks). * src/editor.c: Fix wrongly auto-detected multiline comments (patch by Eugene Arshinov, thanks). 2010-02-28 Frank Lanitz * src/ui_utils.c: Show number of lines of current document inside statusbar. Thanks to Can Koy for providing the patch. 2010-02-24 Nick Treleaven * src/keybindings.c, doc/geany.txt, doc/geany.html: Make Switch to Editor keybinding reshow the document statistics line, so user doesn't have to move the cursor. 2010-02-22 Enrico Tröger * data/filetypes.r: Update keywords for the R language (patch by Jon Senior, thanks). 2010-02-21 Dominic Hopf * doc/geany.txt: Fix the instruction how to insert unicode characters (thanks Tony Rick). 2010-02-21 Enrico Tröger * scripts/create_py_tags.py: Minor fixes. Replace tabs by spaces. * plugins/genapi.py: Minor fixes. Replace tabs by spaces. * tagmanager/r.c, plugins/geanyfunctions.h, src/about.c, src/filetypes.c, src/symbols.c, tagmanager/Makefile.am, tagmanager/makefile.win32, tagmanager/parsers.h, wscript, THANKS: Add R tagmanager symbol parser (patch by Jon Senior, thanks). * doc/geany.html, doc/geany.txt, src/keybindings.c, src/keybindings.h, src/plugindata.h, src/sidebar.c, src/sidebar.h: Add keybindings to switch to the sidebar's Document and Symbol list as well as to the Message Window's current tab (patch by Eugene Arshinov, thanks). * data/filetypes.r: Update primary keywords for the R language (patch by Jon Senior, thanks). 2010-02-20 Dominic Hopf * doc/geany.txt: Add more detailed hints about reloading configuration (thanks to Tony Rick). * data/filetypes.javascript: Correct the keyword list for JavaScript (thanks to Jonas). 2010-02-14 Enrico Tröger * New release: Geany 0.18.1 "Balfour". 2010-02-13 Enrico Tröger * src/keybindings.c: Add special cases for handling the Select All keybinding (Ctrl-A) in the toolbar search and goto line text entries (closes #2948040). Strip trailing spaces after reflowing a paragraph, patch by Dominik Wagenfuehr, thanks (closes #2945497). 2010-02-07 Enrico Tröger * src/geanymenubuttonaction.c, src/templates.c: Partly revert last commit: Unref the new files toolbar menu when freeing templates as it was done before but unref it *after* the menu has been removed from the GeanyMenuButtonAction. * src/encodings.c: Fix possible endless loop when trying to detect the encoding of non-text files (patch by Alexey Antipov, thanks). 2010-02-06 Enrico Tröger * src/document.c: Allow saving remote files using g_file_set_contents() as well (patch by Алексей Антипов, thanks). * data/filetypes.python: Adjust style for secondary keywords to be less aggressive. Add Python 2.5 builtins keywords. * src/geanymenubuttonaction.c, src/templates.c: Unref the new files toolbar menu when setting a new menu to fix possible crashes when reloading configuration. * src/filetypes.c: When reloading configuration, process the current document at last so the symbol list will be updated correctly. 2010-02-01 Enrico Tröger * src/symbols.c: Explicitly read filetype configuration files before generating global tags to get settings for custom filetypes. 2010-02-01 Nick Treleaven * src/plugins.c: Fix GLib warning when toggling 'no plugins available' item. 2010-01-31 Enrico Tröger * icons/Makefile.am: Include geany.ico in the distribution tarball. * Makefile.am: Fix 'make distcheck' by removing data/latex.tags from EXTRA_DIST. * scripts/create_py_tags.py: Make the script a bit more robust with newer Python versions. * src/templates.c: Use utils_spawn_sync() instead of g_spawn_sync(). 2010-01-31 Frank Lanitz * plugins/export.c: Close meta tag for export date properly. 2010-01-28 Enrico Tröger * geany.spec.in: Update RPM Spec file (patch by Dominic Hopf, thanks). 2010-01-28 Nick Treleaven * src/plugindata.h: Fix renaming sci_send_message(), sci_send_command() function pointers. 2010-01-25 Nick Treleaven * src/highlighting.c, src/highlighting.h, src/sciwrappers.c, src/plugindata.h, doc/Doxyfile.in, doc/pluginsymbols.c, plugins/geanyfunctions.h, plugins/Makefile.am, plugins/pluginmacros.h, plugins/genapi.py, wscript: Use full function name for GeanyFunctions function pointers. This avoids naming conflicts e.g. with C++'s 'new' keyword. Remove deprecated header pluginmacros.h - use geanyfunctions.h instead. 2010-01-24 Enrico Tröger * src/utils.c, src/utils.h, src/vte.c: Add utils_copy_environment() and make use of it. * data/snippets.conf, doc/geany.html, doc/geany.txt, src/callbacks.c, src/editor.c, src/templates.c, src/templates.h: Add new special template wildcard "{command:...}" to use the output of a command in templates. Adjust template functions to mostly work with GeanyDocuments. Minor cleanups in the template code. * src/gb.c: Replace the old icons with smiley icons from the Rodent icon theme. Fix showing the same icon for two or more slots. Minor cleanups. * src/editor.c, src/editor.h, src/keybindings.c: Rename fold_symbol_click() to editor_toggle_fold(). Use editor_toggle_fold() when the 'Toggle current fold' keybinding was used to respect the 'Fold/unfold all children' preference (closes #2935053). 2010-01-22 Nick Treleaven * src/build.c: Prevent possible segfault in get_build_group(). * src/callbacks.c: Fix GLib warning & beep if trying to insert multiline comment for a filetype that doesn't support it. 2010-01-18 Nick Treleaven * doc/plugins.dox: Add gcc commands to build a plugin to the HowTo. * src/search.c, src/document.c, src/document.h: Show 'Replaced X matches in Y documents' message when using Replace in Session. 2010-01-17 Enrico Tröger * scripts/plugin_test.c: Add a little test program which can load and test Geany plugins to verify it is loadable at runtime and all necessary symbols are defined. * doc/plugins.dox, src/geanyobject.c, src/geanyobject.h, src/main.c, src/plugindata.h: Add new signal: "geany-startup-complete" which is sent once all initialization and startup tasks has been done. * README.I18N, configure.ac, wscript, po/LINGUAS: Remove po/LINGUAS from the repository. Generate it automatically if needed by reading available message catalogs from the po directory. Also respect the LINGUAS environment variable properly. 2010-01-16 Frank Lanitz * src/editor.c: Remove editor_auto_latex() from Geany core and move it to geanyLaTeX plugin. 2010-01-12 Enrico Tröger * src/editor.c, src/templates.c, src/templates.h: Refactor templates_replace_all() into templates_replace_valist() to save some code duplication. 2010-01-11 Frank Lanitz * plugins/geanyfunctions.h, src/editor.c, src/editor.h, src/plugindata.h, src/plugins.c: Add editor_insert_text_block() to plugin API. 2010-01-01 Enrico Tröger * *.*: Update copyright information. * src/keybindings.c, src/keybindings.h, src/plugindata.h, doc/geany.txt, doc/geany.html: Add keybinding to open the last closed tab (closes #2912692). 2009-12-31 Enrico Tröger * autogen.sh, configure.in, configure.ac: Rename configure.in to configure.ac. * plugins/geanyfunctions.h, src/plugins.c, src/plugindata.h, src/sciwrappers.c: Add sci_find_text() to the plugin API. * doc/geany.html, doc/geany.txt, geany.glade, src/callbacks.c, src/interface.c, src/prefs.c: Add a checkbox in the preferences dialog to explicitly toggle the visibility of the sidebar (closes #2923340). 2009-12-29 Enrico Tröger * src/editor.c, src/plugins.c, src/plugindata.h, plugins/geanyfunctions.h: Add editor_get_eol_char_name(), editor_get_eol_char_len() and editor_get_eol_char() to the plugin API. * src/callbacks.c, src/plugins.c, src/plugins.h: Fix sensitivity of the Edit->Plugin Preferences menu item if plugins are loaded which do not provide a configuration dialog. * scripts/create_py_tags.py: Rewrite and extend the Python tags parsing script to use Python's inspect module to read symbols from Python modules including scope information. * data/filetypes.restructuredtext: Add the default comment character sequence for reStructuredText. * src/callbacks.c: Show the Find/Goto dialogs if the corresponding toolbar buttons are clicked but their text fields are not part of the toolbar (#2920807). * data/filetypes.common, doc/geany.html, doc/geany.txt, src/highlighting.c: Add new style to change foreground and background colours for calltips (patch by Dimitar Zhekov, thanks, closes #2919229). * src/search.c: Remember the window position of the Find, Replace and Find in Files dialogs (closes #2877988). 2009-12-26 Frank Lanitz * doc/plugins.dox: Fix a minor typo inside plugin API reference. 2009-12-20 Enrico Tröger * src/dialog.c, src/dialogs.h, src/document.c, src/prefs.c: Make dialogs_show_prompt() more flexible to take up to three button/response code pairs to be shown. Add a close button to the dialog when asking to Re-Save a deleted file (closes #2916954, based on a patch by Dominik Stadler, thanks). * src/editor.c: Fix LaTeX environment auto completion with CR/LF line endings. Add some sanity checks. * src/document.c: When closing a document after it was deleted from the filesystem, don't ask whether it should be saved first. Mark the document only as changed if it is not closed afterwards. Prevent possible segfaults if the document was closed when it is missing from the filesystem. * src/keybindings.c, src/keyfile.c, src/main.c, src/msgwindow.c, src/msgwindow.h, src/prefs.c: Add MessageWindow::scribble and use it instead of searching the widget pointer everytime. * src/keyfile.c, src/msgwindow.c, src/msgwindow.h, src/ui_utils.h: Add preferences for hiding single tabs from the messages window (no GUI preferences yet, still to be implemented). * src/callbacks.c, src/prefs.c, src/toolbar.c, src/toolbar.h: Set the correct parent window for the toolbar editor dialog (closes #2913334). * src/win32.c, src/win32.h, src/ui_utils.c: Rename win32_show_project_folder_dialog() to win32_show_folder_dialog() as it is not related and not used by any project management related code. * src/ui_utils.c, src/win32.c, src/win32.h, src/dialogs.c: Rename win32_show_file_dialog() to win32_show_document_open_dialog() as it is specialised for opening documents. Implement win32_show_file_dialog() as a generic file open dialog and use it with ui_path_box_new(). 2009-12-20 Frank Lanitz * src/editor.c: Extend auto_latex() function to check whether an environment has been closed within the next lines to avoid auto adding double \end{}. * data/latex.tags: Remove LaTeX tags from SVN. Can be found at http://download.geany.org/contrib/tags/ if needed. 2009-12-19 Enrico Tröger * src/callbacks.c, src/dialogs.c, src/document.c, src/document.h: Add document_need_save_as(). Show the Save As also for documents created from filetype templates instead of saving them directly with the untitled filename. 2009-12-09 Nick Treleaven * geany.glade, src/interface.c: Move 'Send Selection to Terminal' menu item from Format to Commands submenu. * src/msgwindow.c: When going to a build error, try the current document's path if the parsed filename doesn't exist. (This can happen when we receive build messages in the wrong order - after the 'Leaving directory' messages). * src/msgwindow.c: Refactor msgwin_goto_compiler_file_line(). * src/interface.c, src/keybindings.c, geany.glade: Capitalize, add mnemonics, sync with kb.c the Edit->Commands menu item labels. * src/search.c: Refactor/reformat on_replace_dialog_response(). 2009-12-08 Enrico Tröger * geany.spec.in: Improve geany.spec (split the package into a binary and devel package, update BuildRequires and other minor improvements). Patch by Dominic Hopf, thanks. 2009-12-08 Nick Treleaven * src/filetypes.c, src/filetypes.h: Make group for custom filetypes. * data/filetypes.Genie.conf, data/filetype_extensions.conf: Add custom filetype Genie. 2009-12-07 Nick Treleaven * src/highlighting.c: Highlight D & Java types from a global tags file. * src/highlighting.c, doc/geany.txt, doc/geany.html: Add debug message warning if recursive lexer_filetype is set. * src/highlighting.c, src/sciwrappers.c, src/sciwrappers.h: Remove duplicate sci_set_keywords(), make argument const. * src/highlighting.c: Only show debug message once if recursive lexer_filetype is set. Tidy highlighting_init_styles code for filetype None handling. * scintilla/makefile.win32, scintilla/KeyWords.cxx, scintilla/LexVerilog.cxx, scintilla/Makefile.am, src/highlighting.c, src/filetypes.c, src/filetypes.h, src/symbols.c, THANKS, tagmanager/parsers.h, tagmanager/makefile.win32, tagmanager/verilog.c, tagmanager/Makefile.am, data/filetypes.verilog, data/filetype_extensions.conf, wscript: Apply patch from Kelvin Gardiner to add Verilog filetype (thanks). * src/highlighting.c: Fix segfault on startup (oops). * data/filetypes.verilog: Fix using common style colours for Verilog. 2009-12-03 Nick Treleaven * src/highlighting.c, data/filetypes.cpp, data/filetypes.vala, data/filetypes.glsl, data/filetypes.cs, data/filetypes.c: Move C-like filetype properties into configuration files. * src/highlighting.c, data/filetypes.cpp, data/filetypes.cs, data/filetypes.c: Remove now unnecessary "styling_within_preprocessor" C style key. * src/highlighting.c, data/filetypes.cpp, data/filetypes.vala, data/filetypes.glsl, data/filetypes.cs: Use lexer_filetype=C configuration file key instead of duplicate styleset functions for C++, C#, GLSL, Vala. 2009-12-02 Nick Treleaven * doc/geany.txt, doc/geany.html: Warn about not using BOM for configuration files (confuses GKeyFile parser, at least on my system). * src/filetypes.c: Add/improve debug messages for custom filetypes. 2009-11-30 Frank Lanitz * data/latex.tags: Add a couple of further latex-beamer commands to list of LaTeX tags. 2009-11-30 Enrico Tröger * plugins/filebrowser.c: Add an in-entry clear icon to the filebrowser plugin's filter entry (patch by Dominic Hopf, thanks). * src/prefs.c, src/ui_utils.c: Fix two compiler warnings about possibly uninitialised variables. 2009-11-29 Enrico Tröger * src/main.c, src/main.h, src/plugins.c, src/plugindata.h, plugins/geanyfunctions.h: Add main_is_realized() to the plugin API. * tagmanager/include/tm_tagmanager.h: Update partly outdated and wrong doc comment. * src/main.c, src/main.h, src/socket.c: Allow opening Geany projects remotely. * doc/geany.txt, doc/geany.html, src/vte.c, src/vte.h, src/keyfile.c: Add a hidden pref to allow executing text which was sent to the terminal directly, i.e. do not strip trailing newline characters. Also fix the stripping of trailing newline characters if there was more than one. 2009-11-26 Frank Lanitz * src/about.c, THANKS: Add Peter Scholtens and Ayke van Laethem to list of translators. Move Kurt de Bree into section of previous translators. 2009-11-26 Nick Treleaven * src/about.c, src/symbols.c, THANKS, tagmanager/vhdl.c: Fix VHDL symbol list to display all tags (patch from Kelvin Gardiner, thanks). 2009-11-24 Nick Treleaven * src/highlighting.c: Make stylesets take a ft_id argument so they can be reused fully with custom filetypes, so custom styles and keywords can be set. * src/highlighting.c: Fix setting filetype properties when both the system and the user file have properties set. * src/symbols.c, tagmanager/vhdl.c: Parse VHDL signals. * src/highlighting.c: Fix lexer settings for custom filetypes. 2009-11-23 Enrico Tröger * tagmanager/php.c: Remove duplicate regular expression for parsing classes. Fix and improve parsing of constants (patch by Harold Aling, thanks). * doc/geany.1.in, doc/geany.html, doc/geany.txt, src/main.c, src/main.h, THANKS, src/about.c: Add new command line option "--socket-file" to be able to specify separate socket filenames for instances (closes #2896027, patch by Jörn Reder, thanks). * src/keybindings.c, src/keybindings.h: Add keybindings_check_event() to manually check GdkKeyEvents against Geany's keybindings. * src/callbacks.c, src/utils.c, src/utils.h: Add and use utils_get_help_url(). * geany.glade, src/interface.c, src/prefs.c: Add a Help button to the preferences dialog. Handle Help keybinding events for the preferences dialog especially and open the manual with the corresponding anchor link to the current preferences page (same goes for the new Help button). 2009-11-22 Enrico Tröger * src/toolbar.c, src/geanymenubuttonaction.c, src/geanymenubuttonaction.h: Use separate tooltips for toolbar menu buttons and their attached drop-down arrows. * tagmanager/latex.c: Improve parsing of sections and chapters by ignoring shortnames like \section[shortname]{label} (closes #2890477). 2009-11-19 Nick Treleaven * src/geanymenubuttonaction.c: Try to fix Gtk warning when using Tools->Reload Configuration. 2009-11-18 Nick Treleaven * src/highlighting.c, doc/geany.txt, doc/geany.html, data/filetypes.nsis, data/filetypes.php, data/filetypes.perl, data/filetypes.pascal, data/filetypes.docbook, data/filetypes.python, data/filetypes.conf: Use filetypes.foo [lexer_properties] group instead of hardcoding lexer properties (more flexible e.g. for custom filetypes). * src/highlighting.c, data/filetypes.xml, data/filetypes.html: Replace filetypes.xml html_asp_default_language key with filetypes.html asp.default.language property in [lexer_properties] group. 2009-11-17 Enrico Tröger * doc/geany.txt, doc/geany.html: Fix slightly wrong description of how to insert Unicode characters. * src/ui_utils.c: Implement GTK_FILE_CHOOSER_ACTION_OPEN mode in ui_setup_open_button_callback(). * src/prefs.c, src/prefs.c, src/vte.c: Refactor color and font button callback functions in the preferences dialog. Move the VTE related callback functions into vte.c. Make use of ui_setup_open_button_callback(). * src/printing.c: Improve printing status texts (patch by Dominic Hopf, thanks). * src/prefs.c, src/vte.c: Use the default dialog title set by ui_setup_open_button_callback() to be more consistent and to save one string. 2009-11-16 Nick Treleaven * tagmanager/c.c: Separate DKinds from CKinds. Don't generate macro tags for D, Java. 2009-11-12 Nick Treleaven * tagmanager/ctags.c, tagmanager/general.h: Make TagManager Assert statements cause g_warning on failure. * src/keybindings.c: Fix reflow paragraph command when cursor < anchor using sci_fix_selection(). 2009-11-10 Nick Treleaven * tagmanager/perl.c: Fix Geany segfault with constant tags (#2895168). * src/symbols.c: Fix invalid tree iter access when using tv_iters.tag_other but not using tv_iters.tag_variable. * HACKING, tagmanager/perl.c: Fix parsing Perl format statements ("other" type doesn't seem to work). * tagmanager/tm_tag.c, tagmanager/perl.c, HACKING: Fix using "other" tag type. 2009-11-09 Enrico Tröger * src/vte.c: Remove useless comment about applying settings only when libvte.so could be loaded which is only displayed *if* libvte.so is loaded. * src/editor.c: Allow autocompletion for HTML entities even within a word. * src/geanymenubuttonaction.c: Only set the menu of the button if a non-empty GtkMenu is passed to geany_menu_button_action_set_menu() so the menu arrow keeps insensitive. 2009-11-07 Nick Treleaven * tagmanager/c.c: Fix parsing some Java code (e.g. filetypes.java) after r4407. 2009-11-06 Nick Treleaven * tagmanager/c.c: Parse D functions with contracts (fixes #1885480). Parse D alias statement like typedef. (Ignore some more D keywords). * tagmanager/c.c: Fix creating D interface tags properly. * tagmanager/c.c: Parse contents of D extern{} and version{} blocks. 2009-11-05 Enrico Tröger * src/main.c: Remove old code. 2009-11-05 Nick Treleaven * src/plugindata.h, HACKING: Deprecate PLUGIN_KEY_GROUP() macro - use plugin_set_key_group() instead. * src/callbacks.c: Show number of files saved on status bar when using Save All. * src/highlighting.c: Use default color scheme if pref color scheme file doesn't exist. * src/keybindings.c: Fix moving correct lines after selecting whole line(s). 2009-11-04 Enrico Tröger * tagmanager/makefile.win32: Fix broken build on Windows because of a typo (patch by Timothy Boronczyk, thanks). 2009-11-04 Nick Treleaven * src/highlighting.c, src/highlighting.h, src/keyfile.c, src/main.c, src/editor.h: Add 'View->Editor->Color Schemes' menu, for now only shown if color scheme files exist in a colorschemes config directory. Color scheme files must end in ".conf" and currently only the [named_styles] section is read. * src/templates.c, src/utils.c, src/highlighting.c, src/utils.h: Add utils_get_config_files(). * src/highlighting.c: Fix issue with default color not being reset if overridden with a system default color. * src/highlighting.c: Only reload filetype files when changing color scheme, not all configuration files. * src/filetypes.c, src/document.c, src/document.h, doc/Doxyfile.in: Deprecate documents_foreach() as it looks more like a function; use foreach_document() instead. Generate dox even for GEANY_DISABLE_DEPRECATED declarations. 2009-10-30 Nick Treleaven * src/stash.c, src/stash.h: Use typedef instead of pointer for widget_id function arguments. 2009-10-29 Nick Treleaven * src/pluginutils.c: Don't expand Plugin Preferences page spacing vertically to fill the height of the dialog. * src/interface.c, src/keybindings.c, src/keybindings.h, src/prefs.c, geany.glade, plugins/splitwindow.c: Allow GeanyKeyBinding label field to contain underscores, which won't be displayed by Geany. This saves adding near-duplicate translation strings. Add mnemonics for 3 Edit->Format menu items. Add keybindings_get_label(). * src/interface.c, geany.glade: Use GtkVBoxes for Encoding prefs combo boxes to reduce width of prefs dialog. 2009-10-28 Nick Treleaven * src/ui_utils.c: Desensitize Edit->Commands menu item when no docs are open. * src/interface.c, src/keybindings.c, src/callbacks.c, src/callbacks.h, geany.glade: Add 'Reflow, Transpose, Smart line indent' Edit->Format menu items. * src/sciwrappers.c, src/sciwrappers.h, src/editor.c: Add general function sci_get_string() that works with any string buffer messages that follow the Windows message convention. * src/pluginprivate.h, src/interface.c, src/keybindings.c, src/keybindings.h, src/callbacks.c, src/callbacks.h, src/pluginutils.c, src/pluginutils.h, geany.glade: Add 'Edit->Plugin Preferences' menu item and keybinding. Don't include plugindata.h in pluginutils.h because it redefines the GEANY() macro for plugin use. * doc/geany.txt, doc/geany.html: Update for Plugin Preferences keybinding. 2009-10-27 Nick Treleaven * src/editor.c: Sort document word completion list. * src/interface.c, src/keybindings.c, src/callbacks.c, src/callbacks.h, geany.glade: Add some useful commands to editor popup menu under "Commands" submenu (thanks to Lex). Move 'Duplicate line or selection' from Format -> Commands submenu. * src/prefs.c, src/ui_utils.c, doc/geany.txt, doc/geany.html: Enable switching the sidebar to the right on Windows again, as it apparently works after all. * src/editor.c: Fix using tab to autocomplete in some other situations that word part completion doesn't apply in. * src/templates.c, src/interface.c, src/ui_utils.c, geany.glade: Add Edit->Commands submenu which is shared with the editor popup menu. * src/interface.c, src/keybindings.c, src/ui_utils.c, geany.glade: Change editor popup Commands submenu to start as child of menubar Edit menu, as this is more usual e.g. for keybindings initialization. * src/interface.c, src/keybindings.c, src/tools.c, src/ui_utils.c, geany.glade: Share a single Format submenu for menubar Edit and popup menu. 2009-10-26 Enrico Tröger * src/build.c: Fix a compiler warning about an uninitialised variable. * wscript: Don't install unnecessary headers: dialogs.h, main.h, plugins.h, sciwrappers.h, build.h (for the Waf build system, accordingly to r4366). 2009-10-26 Nick Treleaven * src/prefs.h, src/search.h, src/support.h, src/templates.h, src/toolbar.c, src/toolbar.h: Add missing dox for types/files in the API. * src/filetypes.h, src/Makefile.am, plugins/geanyplugin.h: Don't install unnecessary headers: dialogs.h, main.h, plugins.h, sciwrappers.h, build.h. (This helps to get compiler warnings for uses of functions not in the API). Warning: any plugins that include these headers should remove them. * src/build.c, src/build.h: Move function doc-comments to build.c so they stay in sync. Note: these functions are still not in the API. * HACKING: Add 'Doc-comments' plugin API subsection. * plugins/filebrowser.c: Fix packing configure widgets equally. Use spacing multiples of 6 as recommended by Gnome HIG. * src/prefs.c, src/ui_utils.c, doc/geany.txt, doc/geany.html: Disable switching the sidebar to the right on Windows as it will probably fail like the Split Window plugin. * src/document.c: Improve 'Detect from file' indentation pref by ignoring lines with indentation wider than 24 characters as this is more likely to be alignment than indentation. 2009-10-25 Enrico Tröger * plugins/saveactions.c: Fix adding the filetype's default extension when using the Instant Save plugin (closes #2885142). * src/main.c: Before looking for line and column numbers specified as part of a filename, ensure the file doesn't exist on disk. This allows opening of files like "test:0". * src/sidebar.c: Rename "select" variables into "selection" to avoid shadowed names. * plugins/geanyfunctions.h, src/plugins.c, src/plugindata.h: Add ui_widget_modify_font_from_string() and sci_goto_line() to the plugin API. * plugins/filebrowser.c: Rename "select" variables into "selection" to avoid shadowed names. Make use of ui_widget_modify_font_from_string(). 2009-10-23 Nick Treleaven * src/interface.c, src/ui_utils.h, src/prefs.c, src/keyfile.c, src/main.c, src/ui_utils.c, doc/geany.txt, doc/geany.html, geany.glade: Add sidebar position interface pref. 2009-10-23 Lex Trotman * doc/geany.txt, doc/geany.html: Add missing underscores to links. 2009-10-22 Nick Treleaven * src/keybindings.c, src/keybindings.h, doc/geany.txt, doc/geany.html: Add 'Move line(s) up/down' keybindings. 2009-10-22 Lex Trotman * src/build.c, src/build.h, src/filetypes.h: Include code for project filetype execute commands and fix bug in saving project filetypes list. * src/project.c, src/build.c, doc/geany.txt: Make non-project execute configuration save to filetypes not geany.conf. Fix closing of project failing to remove build commands dialog entry. 2009-10-21 Nick Treleaven * src/project.c, src/ui_utils.c: Set border width for project properties build table. * geany.glade, src/interface.c: Don't expand hard tab width alignment. 2009-10-20 Nick Treleaven * src/highlighting.c, src/filetypes.c, src/document.c, src/symbols.c, doc/geany.txt, doc/geany.html: Support loading global tags files for custom filetypes. * src/keybindings.c, src/keybindings.h, src/editor.c, src/editor.h, doc/geany.txt, doc/geany.html: Add 'Word part completion' keybinding so keys other than Tab can be used, or to clear/change the combination so Tab does full completion like before. * src/keybindings.c, src/keybindings.h, doc/geany.txt, doc/geany.html: Add 'Select to previous/next word part' keybindings. * src/keybindings.c, src/keybindings.h, doc/geany.txt, doc/geany.html: Add 'Switch to Messages' focus keybinding. 2009-10-19 Nick Treleaven * doc/geany.txt, doc/geany.html: Add 'Custom filetypes' section. * src/filetypes.c, src/filetypes.h, src/document.c, doc/geany.txt, doc/geany.html, tagmanager/tm_source_file.c, tagmanager/include/tm_source_file.h: Add filetype "tag_parser" key so custom filetypes can use an existing tag parser. Add tm_source_file_get_named_lang(). * src/highlighting.c, src/filetypes.c, src/filetypes.h, doc/geany.txt, doc/geany.html: Add filetype "lexer_filetype" key so custom filetypes can use an existing lexer. 2009-10-19 Frank Lanitz * THANKS, src/about.c: Add Xhacker Liu for his work at zh_CN translation to long list of translators. 2009-10-16 Nick Treleaven * src/sciwrappers.c: Remove unnecessary line number margin padding. * scintilla/include/Scintilla.h, scintilla/include/Scintilla.iface, scintilla/ScintillaBase.h, scintilla/ScintillaBase.cxx, src/editor.c: Improve word part autocompletion so AC list is not cancelled and reshown (this also stops the selection changing). Add SCI_AUTOCGETCURRENTTEXT message (will be sent upstream). * src/editor.c: Improve CamelCase word part autocompletion for runs of capital letters. * src/editor.c: Don't complete snippets if there's a selection. 2009-10-16 Lex Trotman * src/build.c: Fix crash opening project when Geany started with no geany.conf. 2009-10-15 Nick Treleaven * scintilla/ScintillaBase.h, scintilla/ScintillaBase.cxx, src/utils.c, src/utils.h, src/sciwrappers.c, src/editor.c, doc/geany.txt, doc/geany.html: Add word part autocompletion for the current selected item when pressing Tab - Enter still completes normally. Add foreach_str() API macro. Temporarily modify scintilla to say if tab was used for autocompletion. * src/templates.c, src/build.c, src/utils.c, src/utils.h, src/project.c, src/search.c, src/editor.c, src/ui_utils.c, plugins/classbuilder.c: Revert r4301 - utils_free_pointers() taking 4 arguments. * src/highlighting.c, src/highlighting.h, src/plugindata.h, src/document.c, src/plugins.c, plugins/geanyfunctions.h, plugins/splitwindow.c: Add highlighting_set_styles() to API, use for Split Window plugin so filetypes.common settings get set too. Make highlighting_set_styles() take GeanyFiletype pointer instead of filetype id. * src/document.c, src/editor.c, plugins/splitwindow.c: Call editor_apply_update_prefs() from editor_create_widget() so correct tab width and other settings are applied for Split Window plugin. 2009-10-14 Nick Treleaven * src/keybindings.c: Don't include trailing newlines when using reflow command. * src/notebook.c: Add stock close buttons to notebook tab popup menu. * src/plugindata.h, src/document.c, src/plugins.c, src/ui_utils.c, plugins/geanyfunctions.h: Add document_get_notebook_page() to API. Minor edits of dox. * data/templates/files/file.html, data/templates/files/file.php: Fix wrong escaping (patch by dmaphy, thanks - closes #2878138). * src/interface.c, src/ui_utils.c, geany.glade: Move Tools configuration items to top of menu. * src/keybindings.c, src/search.c: Fix warning when using Find in Files with no documents open; make keybinding work in this case. 2009-10-13 Nick Treleaven * src/notebook.c, src/plugindata.h, src/plugins.c, src/ui_utils.c, src/ui_utils.h, plugins/geanyfunctions.h, plugins/splitwindow.c: Make Split Window 'Show current document' button have a drop-down menu to select the other documents. Add new API function ui_menu_add_document_items(). 2009-10-13 Lex Trotman * src/build.c: Fix sensitivity settings for compile and build toolbar items. 2009-10-12 Nick Treleaven * src/templates.c: Don't use filetype submenus for templates (slower to navigate, often only 1 per-filetype anyway). * src/templates.c: Put old filetype template menu items in 'Old' submenu as they should be removed after the 0.19 release. * src/keybindings.c, src/keybindings.h, src/pluginutils.c: Add GeanyKeyGroup callback support, which allow keybinding callbacks to be ignored if inappropriate so a later keybinding with the same key combination can intercept it. (Also group callbacks are usually tidier than separate callbacks). Remove special handling for GEANY_KEYS_EDIT_COMPLETESNIPPET. * src/templates.c, src/build.c, src/utils.c, src/utils.h, src/project.c, src/search.c, src/editor.c, src/ui_utils.c, plugins/classbuilder.c: Make utils_free_pointers() take 4 arguments, add to API. * src/templates.c, src/tools.c, src/ui_utils.c: Fix memory leaks with gtk_container_get_children(). 2009-10-12 Lex Trotman * src/build.c: Ensure that old style build config is not loaded if it does not exist. 2009-10-12 Frank Lanitz * THANKS, src/about.c, po/LINGUAS, po/gl.po: Added Galician translation. Thanks to José Manuel Castroagudín Silva. 2009-10-11 Enrico Tröger * geany.glade, THANKS, src/about.c, src/document.c, src/encodings.c, src/interface.c: Apply set default encoding for existing files only if the files are non-Unicode (patch by Alexey Antipov, thanks). 2009-10-04 Nick Treleaven * src/highlighting.c: Move new_styleset() and preprocessor setup code into styleset_c_like(). * src/highlighting.c: Call apply_filetype_properties() from styleset_c_like(). 2009-10-03 Enrico Tröger * doc/geany.txt, doc/geany.html: Improve information about predefined keybindings which are commonly used across applications (patch by Lex Trotman, thanks). * src/printing.c: Enable embedded page setup properties in the (Unix) Print dialog on newer GTK versions (closes #2870596). * src/highlighting.c: Map global types (read from tags files) to keyword style for filetype Java. 2009-10-01 Nick Treleaven * src/templates.c: Fix wrong creation of filetype template menu items for custom filetypes. * src/highlighting.c: Use jscript_keyword for SCE_HB[A]_WORD markup styles. * src/templates.c: Group 'New with template' items by filetype submenu (currently only for toolbar menu). Show custom file template items before filetype template items. * src/templates.c, src/interface.c, src/geanymenubuttonaction.c, geany.glade: Only use one 'New with template' submenu - reparent as needed. * src/templates.c: Don't create templates/filetype.none either. * src/templates.c: Warn if custom template file no longer exists. 2009-09-30 Enrico Tröger * src/symbols.c: Add missing icon for Java packages in the Symbol List. 2009-09-30 Nick Treleaven * src/highlighting.c, data/filetypes.vala: Add Vala keywords to conf file. * src/templates.c, doc/geany.txt, doc/geany.html: Read custom file templates from $prefix/share/geany/templates/files as well as user dir. * src/templates.c, data/templates, data/templates/files, data/templates/files/file.rb, data/templates/files/file.html, data/templates/files/main.java, data/templates/files/main.c, data/templates/files/main.cxx, data/templates/files/file.php, data/templates/files/main.d, data/templates/files/program.pas, data/templates/files/main.py, data/templates/files/file.tex, wscript, Makefile.am: Move filetype template defaults into custom file template files. 2009-09-29 Nick Treleaven * src/symbols.c, tagmanager/perl.c: Change Perl tag parser to ctags SVN r601. This removes support for buggy local/my/our but it parses constant/format/labels and should be less buggy overall (closes #2861232). * src/templates.c, src/utils.c, src/utils.h, src/symbols.c: Add utils_get_file_list_full() which can optionally sort or include a full path for each list item. * src/utils.c, src/plugindata.h, src/plugins.c: Add utils_get_file_list_full() to API. 2009-09-28 Nick Treleaven * src/keybindings.c, src/sidebar.c, src/sidebar.h, src/makefile.win32, src/project.c, src/prefs.c, src/treeviews.c, src/callbacks.c, src/notebook.c, src/treeviews.h, src/document.c, src/main.c, src/symbols.c, src/Makefile.am, src/ui_utils.c, po/POTFILES.in, wscript: Rename treeviews.[hc] -> sidebar.[hc]. * data/filetypes.common: Remove unused [styling] arguments. * src/highlighting.c, data/filetypes.markdown, data/filetypes.restructuredtext: Remove style defaults from the code - just read them from configuration files. * src/highlighting.c, HACKING: Add apply_style_entries() to simplify implementing styleset_foo(). * src/highlighting.c: Remove filetype keyword defaults from the code - just read them from configuration files. * src/highlighting.c: Add sci_set_keywords() wrapper. 2009-09-27 Enrico Tröger * scripts/create_py_tags.py: Make the code a bit more pythonic. * doc/images/build_menu_commands_dialog.png, doc/images/main_window.png: Add new images referenced in the documentation. * doc/geany.html, doc/geany.txt: Several documentation improvements (patch by Lex Trotman, thanks). * src/pluginutils.c: Fix setting the appropriate page of the combined plugins preferences dialog. 2009-09-27 Nick Treleaven * src/keybindings.c: Only focus toolbar goto line entry when pressing keybinding if it's visible (patch by Eugene Arshinov, thanks). * src/callbacks.c: Focus editor after entering a number in the goto line toolbar entry. * configure.in: Use AC_PATH_PROG instead of which for portability (patch by Erik Southworth, thanks). * src/plugins.c: Show plugins that only implement plugin_configure_single() in the multiple-configure dialog as a page with a configure button on it. Add padding for multiple-configure dialog. Make the multiple-configure dialog notebook tabs scrollable. * src/pluginutils.c, src/pluginutils.h: Don't build pluginutils.o if HAVE_PLUGINS is not defined. * src/pluginprivate.h, src/plugindata.h, src/pluginutils.c, src/plugins.c, src/pluginutils.h, src/plugins.h, po/POTFILES.in, plugins/geanyfunctions.h, plugins/filebrowser.c: Add plugin_show_configure() API utility function. Add File Browser popup menu 'Preferences' item. * src/highlighting.c: Add get_keyfile_ints() instead of using tmp_style hack. * src/highlighting.c, data/filetypes.xml: Change new html_asp_default_language markup pref to use integer, not hex in config file. Fix minor issue with changing pref back to 0. * src/highlighting.c: Fix possible segfault in get_keyfile_int() if key value is malformed. 2009-09-24 Enrico Tröger * THANKS, src/about.c, src/highlighting.c, data/filetypes.xml: Add "html_asp_default_language" pseudo style to filetypes.xml to allow setting the used language in embedded ASP code (patch by Ross McKay, thanks). * src/filetypes.xml: Update VBScript keywords (patch by Ross McKay, thanks). 2009-09-24 Nick Treleaven * src/keybindings.c, THANKS: Apply patch from Lex Trotman to make 'Reflow block/lines(s)' keybinding use line breaking column when enabled. * src/document.c: Fix showing the document before reload dialog when opening an already-open file. * src/pluginprivate.h, src/plugins.c, doc/pluginsymbols.c: Add plugin_configure_single() plugin symbol which is easier to implement than plugin_configure() but won't support a multiple-plugin configure dialog. * src/plugins.c: Show multiple plugins in the 'Configure Plugins' dialog. 2009-09-22 Nick Treleaven * doc/geany.txt, doc/geany.html: Change 'Foo tab in preferences dialog' titles to 'Foo preferences'. Minor edits. * doc/geany.txt, doc/geany.html: Add 'Toolbar entries' section. * doc/geany.txt, doc/geany.html: Update 'Go to line' keybinding description. * doc/geany.txt, doc/geany.html: Split keybinding table into group tables; update KB links. 2009-09-21 Enrico Tröger * src/build.c: Fix compiler warnings about uninitialised variables. * src/callbacks.c, src/document.c: When reloading files, use the previously set encoding instead of detecting it again (closes #2862041). * configure.in: Turn on automake silent rules if supported. 2009-09-21 Nick Treleaven * src/utils.c: Speed up sorting in utils_get_file_list(). This reduces the file browser delay on displaying a big directory, e.g. /usr/bin. * src/build.c: Expand command entry width when expanding Build Commands dialog. * src/build.c: Split Build Commands dialog notes label and edit text. * src/build.c: Add padding for Build Commands dialog separators. Add colons for regex field labels; fix 1 capitalisation. * src/build.c: Fix none filetype Build Commands dialog label. Make group labels bold. * src/build.c, src/ui_utils.h, src/dialogs.c, src/notebook.c, src/ui_utils.c: Add & use ui_label_set_markup(), ui_label_new_bold(). * src/ui_utils.h, src/printing.c, src/tools.c, src/project.c, src/prefs.c, src/dialogs.c, src/geanyentryaction.c, src/plugindata.h, src/vte.c, src/search.c, src/ui_utils.c: Make ui_entry_add_clear_icon() take a GtkEntry, not GtkWidget. * src/keybindings.c: Make 'Go to Line' keybinding focus the toolbar entry if visible. 2009-09-20 Enrico Tröger * src/filetypes.c, src/filetypes.h, src/symbols.c, tagmanager/parsers.h, tagmanager/makefile.win32, tagmanager/abc.c, tagmanager/Makefile.am, data/filetypes.abc, data/filetype_extensions.conf, wscript: Add new filetype: Abc (patch by Eric Forgeot, thanks). * tagmanager/php.c: Merge recent changes from the CTags project to further improve PHP symbol parsing. 2009-09-17 Enrico Tröger * src/printing.c: Fix wrong alignment of printed pages when page headers are disabled (closes #2856822). Plug a small memory leak and improve function signature of add_page_header(). * src/keyfile.c: Save an if expression. * src/ui_utils.c: After clearing a text field using the embedded clear icon, put the input focus into this text field. 2009-09-17 Nick Treleaven * plugins/filebrowser.c: Free file list memory whilst iterating the list. Minor formatting fixes. * src/utils.c, src/utils.h: Add foreach_dir() API macro. Update API docs for utils_get_file_list(). * wscript, src/queue.c, src/editor.c, src/Makefile.am, src/queue.h, po/POTFILES.in: Remove queue.[hc] - use GQueue instead of GeanyQueue. Beep if there are no more snippet positions. Limit length of snippet positions queue to 20. 2009-09-16 Nick Treleaven * src/keybindings.c, src/callbacks.c, src/search.c: Make Goto Tag commands use the current selection if present (useful for selecting part of a tag or for ReST section names with spaces in). * src/document.c: Don't move the cursor when reloading. * src/plugindata.h, src/editor.c, src/editor.h: Make editor_prefs.snippets hash table private (not a pref). 2009-09-15 Frank Lanitz * src/main.c: Remove deprecated --debug flag. Please use --verbose/-v instead. 2009-09-15 Nick Treleaven * src/search.c: Show Find in Files stderr output in messages window instead of debug window so that invalid regex messages can be seen easily. Combine FIF stdout and stderr callback code. 2009-09-14 Nick Treleaven * src/utils.c: Fix opening filenames beginning with two dots (closes #2858487). * src/interface.c, src/highlighting.c, src/prefs.c, src/filetypes.c, src/filetypes.h, src/main.c, doc/geany.txt, doc/geany.html, data/filetypes.common, geany.glade: Update syntax highlighting after changing the 'Invert syntax highlighting colors' pref, instead of requiring a restart. Remove filetypes.common invert_all option - use 'Invert syntax highlighting colors' pref instead (closes #2854525). * src/prefs.c, src/dialogs.c, src/dialogs.h: Add 'Allow' button when showing the conflicting keybinding dialog. Make dialogs_show_question_full() use GTK dialog on Windows if button text is not the stock yes/no items. Add dialogs_show_prompt() which also has an 'Apply' button. * src/queue.c, src/queue.h: Add warning that GeanyQueue may be removed. * src/keybindings.c, src/editor.c, src/editor.h: Change snippet_goto_next_cursor() to editor_goto_next_snippet_cursor() as it's in editor.h. Avoid using GPOINTER_TO_INT macro. 2009-09-13 Nick Treleaven * src/keybindings.c: Fix 'Reflow block' command when at the last paragraph and there's no last newline (patch by Eugene Arshinov, thanks). * HACKING: Add 'Compiler options & warnings' section. Update Style section to be clearer about code alignment and show some example code. Other minor edits. 2009-09-12 Nick Treleaven * src/keybindings.c, src/sciwrappers.c, src/sciwrappers.h, src/plugindata.h, src/plugins.c, src/editor.c, plugins/geanyfunctions.h: Add sci_set_marker_at_line(), sci_delete_marker_at_line(), sci_is_marker_set_at_line() to the plugin API (thanks to Yura Siamashka). Add sci_toggle_marker_at_line(). Fix SciFuncs alignment. 2009-09-11 Lex Trotman * src/build.c: Fix erroneous free of returned string in prepare_run_script. 2009-09-10 Frank Lanitz * data/filetypes.latex: Changing default value for showing pdf and dvi to ensure to take *.pdf and *.dvi file. 2009-09-07 Frank Lanitz * src/about.c, THANKS: Change language string for Slovenian translation. 2009-09-07 Nick Treleaven * tagmanager/txt2tags.c: Fix multi-byte character constant comparison. * src/treeviews.c: Fix Gtk warning when trying to update documents popup menu item sensitivity before they exist. 2009-09-06 Enrico Tröger * src/plugins.c: Improve the opening string in the plugin manager dialog. * doc/geany.css: Use "max-width" to set the document width of the generated HTML documentation to let the text be auto-wrapped. * src/prefs.c, src/tagmanager/include/guregex.h, src/tagmanager/include/tm_tagmanager.h: Remove trailing spaces (patch by André Hentschel, thanks). * src/treeviews.c: Fix a compiler warning. * src/document.c: Fix crash when opening documents. * src/build.c, src/build.h, src/project.c: Adjust coding style (no code changes). * src/build.c, src/project.c: Use NZV() macro instead of strlen() to check for empty strings. Remove the FOREACH_GEANYBUILDCMD_ENTRY() macro. * doc/plugins.dox, plugins/geanyfunctions.h, src/document.c, src/geanyobject.c, src/geanyobject.h, src/plugindata.h, src/plugins.c, THANKS: Add new plugin signal: "document-before-save". Add get_line_end_position(), set_target_start(), set_target_end(), replace_target() to the plugin API (patch by Eugene Arshinov, thanks). Add new plugin signal: "document-filetype-set" (closes #2852286). * data/filetype_extensions.conf, data/filetypes.txt2tags, src/about.c, src/filetypes.c, src/filetypes.h, src/plugindata.h, src/symbols.c, tagmanager/Makefile.am, tagmanager/makefile.win32, tagmanager/parsers.h, tagmanager/txt2tags.c, tagmanager/txt2tags.c, wscript, THANKS: Add new filetype: Txt2Tags (patch by Eric Forgeot, thanks). 2009-09-04 Nick Treleaven * src/treeviews.c, src/document.c: Apply patch from Thomas Martitz to improve sidebar type-ahead code: Use gtk_notebook_set_current_page() instead of document_open_file_full() when choosing an item from the documents list. Avoid using goto in document_open_file_full(). 2009-09-03 Nick Treleaven * src/treeviews.c, src/document.c, src/document.h, THANKS: Enable type-ahead find for sidebar symbols and documents tabs (patch by Thomas Martitz, thanks). * src/build.c: Fix 2 free's of possibly uninitialized pointers. 2009-09-03 Lex Trotman * src/build.c, src/filetypes.h, src/filetypes.c: Only write filetype config files when build command or regex is actually changed. Removed commented code in src/filetypes.c. * src/build.c: Ensure uses of filename are protected against nulls when running a build command and give status message if not. 2009-09-01 Nick Treleaven * src/plugins.c: Remove plugin from plugin manager dialog on unloading if it no longer exists or is incompatible. 2009-08-31 Nick Treleaven * src/plugins.c: Add warning if only one of the plugin_key_group[_info] symbols is defined for a plugin. * src/templates.c, src/highlighting.c, src/dialogs.c, src/filetypes.c, src/filetypes.h, src/document.c, src/main.c, src/symbols.c, TODO: Merge custom-filetypes branch: Support adding custom filetype files e.g. filetypes.Foo.conf. - Code: Allow GeanyFiletype::extension to be NULL. Add note about using GeanyFiletype pointer instead of filetype_id for filetypes.c function arguments. Replace styleset_none() with styleset_default(). 2009-08-30 Enrico Tröger * src/prefs.c: Show the sidebar if either the documents or the symbols list are enabled (related to #1876107). 2009-08-29 Enrico Tröger * src/build.c, src/filetypes.c: Fix compiler warnings. * src/utils.c: Fix removing leading double slashes in filenames which are used for network resources on Windows (closes #2844085). 2009-08-27 Nick Treleaven * src/keybindings.c: Fix Make keybindings (patch by Lex Trotman, thanks). * src/geany.h: Define G_GNUC_WARN_UNUSED_RESULT if GLib < 2.10. * doc/plugins.dox: Mention Files link at top for header files; demoplugin.c. Minor edits; remove 'far from being complete'. * src/keyfile.c, src/keyfile.h, src/main.c, data/filetype_extensions.conf, HACKING: Remove --generate-data-files argument & code - just edit filetype_extensions.conf by hand (filetype order was broken anyway). Add *.H extension for C++ (useful for non-Windows systems). 2009-08-27 Lex Trotman * src/build.c: Fix implementation of loading old project files with base directories. Use project_make_base_path instead of re- implementing. Now depends on project.c reading base dir prior to calling load_build_menu. * src/build.c: Change usage of project base directory to conform with previous documented behavior when loading old project files. * src/build.c: Change make custom and make object to ignore make in base path when reading old project file settings. Changed some indent spaces to tabs. Fix missing compile menu accelerator. 2009-08-26 Nick Treleaven * doc/plugins.dox: Add warning about not using undocumented features. Add reference to HACKING for plugin API development. * HACKING: Add section 'Plugin API/ABI design'. * src/keybindings.h, src/makefile.win32, src/project.h, src/filetypes.h, src/Makefile.am, wscript: Use GEANY_PRIVATE to hide some fields from plugins. * src/build.c: Fix invalid memory read (#2844632, patch by Lex Trotman, thanks). * src/build.c, src/build.h, src/project.c: Use build_ prefix for 3 functions in build.h; add a static modifier. 2009-08-25 Enrico Tröger * tagmanager/php.c: Improve parsing of PHP functions by requiring a valid modifier or whitespace before the 'function' keyword to ignore some false positives like function tags inside comments (patch by Harold Aling, thanks). * tagmanager/python.c: Don't parse comments after import statements and other tags (closes #2838938, patch by Huandari Lopez, thanks). 2009-08-25 Nick Treleaven * data/filetypes.markdown: Add filetypes.markdown for configuration (thanks to Jon Strait). * src/build.c, src/keybindings.c, src/keybindings.h, src/plugindata.h, src/pluginutils.c, src/plugins.c, src/pluginutils.h, plugins/geanyfunctions.h: Remove GeanyKeyGroup struct from the API - plugins should not set these fields. Make keybindings_set_item() duplicate the name and label fields (needed by GeanyLua) and return a keybinding pointer. Add keybindings_get_item() to the API (in case it's useful). Move some keybinding code out of plugin source files. 2009-08-24 Nick Treleaven * src/build.h, src/project.h, src/plugindata.h, src/filetypes.h: Don't generate build.h API docs until everything is approved and functions are actually in geany_functions. Move new GeanyFiletype and GeanyProject field(s) to end of struct as they may be changed or made private later. Break ABI for fields removed. 2009-07-30 Lex Trotman * src/build.h, src/build.c, src/keybindings.c, src/filetypes.c src/keyfile.c, src/project.c: Changed names of symbols visible in build API to GEANY_xxx. 2009-07-29 Lex Trotman * src/project.h, src/project.c, src/build.c: Remove make_in_base_dir and run_cmd fields from project structure. Replaced by build functionality. Remove incorrect use in src/build.c build_run_cmd function. 2009-07-28 Lex Trotman * src/project.h, src/project.c: Removed unused project_get_make_dir function, this is now per command. 2009-07-28 Lex Trotman * src/build.c, src/build.h, src/project.c, src/keyfile.c, src/filetypes.c: Fix some more warnings. Fix commented out execute/stop toolbar code in build.c. Add extra plugins documentation for GBO_TO_CMD and GBO_TO_GBG macros. Changed build.h api so all functions prefixed with build_. 2009-07-27 Nick Treleaven * src/build.c, src/build.h, src/project.c: Fix some gcc warnings with '-Wall -W -ansi' enabled. 2009-07-25 Lex Trotman * src/build.c: Fixed leaks and crashes due to inconsistent use of static vs dynamic strings when reading old format configuration & project files. * src/build.c, src/project.c: Fixed GLib array assertion warnings when no project filetypes are available to be saved. 2009-07-24 Lex Trotman * src/build.c: Fix build warnings. 2009-07-22 Lex Trotman * src/build.h, src/build.c, src/project.c: Created and documented plugins interface to build menu. Factored out new get_cmd_group function. Changed name of remove_command function to be consistent with the rest of the interface & changed calls in project.c. * src/Makefile.am, wscript: Added build.h to installed files lists. 2009-07-20 Lex Trotman * doc/geany.txt: Updated manual to match build-menu capability. 2009-07-19 Lex Trotman * src/build.c, src/build.h: Added set_build_non_ft_wd_to_proj() for use by project dialog. Improved interpretation of run_in_base_dir from old [build-settings] Added spacing to build commands dialog * src/project.c: Removed run in base path option from project dialog and added button to set working directories to d the same. 2009-07-18 Lex Trotman * src/build.c: Re-incorporated toolbar changes in trunk accidently excluded in merge 2009-07-17 Lex Trotman * src/build.c: Fixed substitute %f etc in commands Fixed potential leak in build_replace_placeholder Fixed leak in prepare_run_script (Thanks for patch Thomas) Fixed build_replace_placeholder to not require document. 2009-07-17 Lex Trotman * src/build.c, src/build.h, src/filetypes.h, src/filetypes.c: Fixed crash and lots of warnings, deleted some commented out code. * geany.glade, src/keyfile.c, src/prefs.c, src/prefs.h, src/project.c: Removed make command from preferences and associated code 2009-07-16 Lex Trotman * src/build.c, src/build.h: Incorporated patch for working directory field (thanks Thomas) Removed run_in_base_dir option and associated code that it replaces Improved handling of old config files and mapping to new ones. 2009-07-15 Lex Trotman * src/build.h, src/build.c: Changed to itterate over entries in build commands dialog to allow additional fields to be added Implement support for multiple run commands * data/filetypes.latex: Implement configured commands and labels for latex. 2009-07-14 Lex Trotman * src/build.h, src/build.c: added dialog support for error regular expressions from multiple sources and storing and loading them fixed some typos and memory leaks * src/filetypes.c, src/filetypes.h, project.c: added support for using error regexes from multiple sources 2009-07-11 Lex Trotman * src/filetypes.h, src/filetypes.c, src/build.c, src/build.h, src/project.c: Removal of build menu item source made redundant by the following fix * src/build.c: Corrected priority oreder and loading of filetype dependent build menu items saved in the project file. Added print routine for debugging command sources and priorities set compile symbol PRINTBUILDCMDS true to enable 2009-07-10 Lex Trotman * src/build.c: fixed problem loading old format filetype files, some formatting fixes fixed saving new format files added operation for clear button on build commands dialog * src/filetypes.c: fixed loading and saving filetype files 2009-07-09 Lex Trotman Configurable Build Menu Changes * doc/geany.html, doc/geany.txt: Updated build menu section to new functionality * src/build.h, src/build.c: Largly re-written, configurability added, Latex code removed * src/filetypes.h, src/filetypes.c: Filetype structure updated to add new command pointers, configuration load and store changed * src/keybindings.h, src/keybindings.c: Changed to address new command storage structure. * src/keyfile.c: Changed to load/store new configuration. * src/main.c: Minor change to initialisation order. * src/msgwindow.c: Changed to address new menu item storage structure. * src/project.h, src/project.c: Changed to load/store the new configuration info. 2009-08-24 Nick Treleaven * src/keybindings.c, src/keybindings.h, src/plugindata.h, src/pluginutils.c, src/plugins.c, src/pluginutils.h, doc/pluginsymbols.c, plugins/geanyfunctions.h, plugins/splitwindow.c: Update PLUGIN_KEY_GROUP() macro so it doesn't allocate any GeanyKeyBinding or GeanyKeyGroup structs, so we don't need to break the ABI when adding fields to them. Add plugin_set_key_group() for plugins to dynamically set a keybinding group (e.g. for the Lua script plugin). Used in Split Window plugin as an example. Improve keybinding docs a little. 2009-08-20 Nick Treleaven * doc/Doxyfile.in, plugins/geanyfunctions.h, plugins/genapi.py: Add geanyfunctions.h to API docs. * plugins/splitwindow.c: Set the cursor color for the split window. 2009-08-18 Nick Treleaven * src/callbacks.c: Fix 'Open Selected File' for unsaved new documents. * src/keybindings.c, src/keybindings.h, src/prefs.c: Fix updating main menu accelerators after changing keybindings (thanks to Lex Trotman). * src/callbacks.c: Fix using 'Insert date' keybinding when a custom date string has not been set. * src/pluginprivate.h, src/pluginutils.c, src/plugins.c: Merge Plugin and GeanyPluginPrivate structs. 2009-08-18 Enrico Tröger * src/keybindings.c: Fix non-working Home and End keys on numpads. 2009-08-17 Nick Treleaven * doc/geany.txt, doc/geany.html, NEWS: Add 'Scope autocompletion' section. Add 'Tools menu items' section to explain configuration files submenu, reload configuration item. Minor updates/fixes. 2009-08-16 Enrico Tröger * src/document.c: Add a translation hint to an ambiguous format string. * src/Makefile.am: Add missing include path to fix 'make distcheck'. * src/win32.c: Fix opening of local files in the browser on Windows. * New release: Geany 0.18 "Kaine". * configure.in, geany.nsi, geany_private.rc, win32-config.h, wscript, src/geany.h, doc/geany.html, doc/geany.txt: Post-release version bump. 2009-08-15 Enrico Tröger * src/editor.c: Temporarily disable reshowing calltips when the autocompletion list was closed implicitly by not choosing an item to fix problems with wrongly displayed calltips. * src/template.c: Add missing 'coding' cookie to the Python filetype template. * doc/images/pref_dialog_edit_completions.png, doc/images/pref_dialog_toolbar.png: Update images for Geany 0.18. 2009-08-13 Enrico Tröger * wscript: Add command '--hackingdoc' to create the HTML form of the HACKING file. 2009-08-12 Frank Lanitz * po/pt_PT.po, po/LINGUAS: Added a first Portugese (Portugal) translation based on work done at launchpad by e.g. André Glória and Alexandre Jesus. * src/main.c: Fix a minor typo on --help call. 2009-08-11 Nick Treleaven * src/highlighting.c: Call get_keyfile_wordchars() in highlighting_init_styles(). 2009-08-09 Enrico Tröger * data/filetypes.ada: Add missing file. * src/keybindings.c: Switching notebook tabs now works for the currently used notebook widget instead of always using the documents notebook. * src/document.c, src/document.h, src/documentprivate.h, doc/plugins.dox: Small corrections to some API docs. 2009-08-02 Enrico Tröger * src/build.c, src/win32.h, src/win32.c: Expand system environment variables (%variableName%) on Windows when running Build commands. 2009-07-30 Nick Treleaven * src/keybindings.c: Rename 'Reflow lines/paragraph' to 'Reflow lines/block' because in future using an indent block is more useful e.g. for ChangeLog files. * scintilla/LexMarkdown.cxx, scintilla/makefile.win32, scintilla/include/SciLexer.h, scintilla/include/Scintilla.iface, scintilla/KeyWords.cxx, scintilla/Makefile.am, src/highlighting.c, src/about.c, src/filetypes.c, src/filetypes.h, THANKS, tagmanager/parsers.h, tagmanager/makefile.win32, tagmanager/markdown.c, tagmanager/Makefile.am, wscript: Add Markdown filetype (patch by Jon Strait, thanks). * src/pluginprivate.h, src/pluginutils.c, src/plugins.c: Fix disconnecting plugin signal id when not using geany_object. * src/filetypes.c: Add filetype_make_title() instead of using: ft->title = g_strdup_printf(_("%s source file"), ft->name); It also supports "%s file" strings. 2009-07-29 Nick Treleaven * src/pluginprivate.h, src/utils.h, src/plugindata.h, src/stash.c, src/pluginutils.c, src/plugins.c, src/pluginutils.h, doc/pluginsymbols.c, doc/plugins.dox, plugins/geanyfunctions.h, plugins/filebrowser.c: Add plugin_signal_connect() for connecting plugin signals at runtime and also for connecting to any GObject signal. Add 'Plugin Utility Functions' on main page. Add foreach_array() macro. * src/keybindings.c, src/sciwrappers.c, src/sciwrappers.h, src/document.c, src/editor.c: Rename 3 sci functions to sci_set_target_start(), sci_set_target_end(), sci_replace_target() to match the SCI_ message name. 2009-07-28 Frank Lanitz * wscript: Fix compiling error with waf. 2009-07-28 Nick Treleaven * src/pluginprivate.h, src/makefile.win32, src/plugindata.h, src/pluginutils.c, src/plugins.c, src/pluginutils.h, src/Makefile.am, wscript: Move plugin_* utility functions to pluginutils.c. Add pluginprivate.h. * src/editor.c: Fix reshowing calltip in the wrong document. 2009-07-25 Enrico Tröger * doc/geany.txt, doc/geany.html: Add some general information about auto-completion capabilities (patch by Lex Trotman, thanks). 2009-07-25 Frank Lanitz * po/LINGUAS, po/sl_SI.po, THANKS, src/about.c: Added a first Slovenian translation. Thanks to Joze Klepec. 2009-07-24 Nick Treleaven * src/highlighting.c: Use full styleset_foo[_init] function name as argument to init_styleset_case() and styleset_case() macros so it's easier to understand the code. * src/keybindings.c, src/keybindings.h, src/sciwrappers.c, src/sciwrappers.h, src/editor.c, src/editor.h, THANKS, doc/geany.txt, doc/geany.html: Add 'Reflow lines/paragraph' keybinding, defaults to Ctrl-J. Heavily based on a patch by Eugene Arshinov (thanks). Add sci_lines_split(), sci_lines_join(), sci_text_width(), editor_strip_line_trailing_spaces(). 2009-07-24 Enrico Tröger * src/editor.c: Attempt to fix reshowing calltips after the autocompletion list has been shown. Reshow calltips also when the autocompletion list was closed implicitly by not choosing an item. 2009-07-23 Nick Treleaven * src/utils.c, src/utils.h, src/toolbar.c, src/plugindata.h, plugins/splitwindow.c: Change utils_str_remove_chars() to work in place; fix allocating on the stack (the string length could exhaust the stack size). * src/templates.c, src/build.c, src/utils.c, src/utils.h, src/printing.c, src/callbacks.c: Rename utils_str_replace() utils_str_replace_all(), setting a 'gchar **haystack' argument instead of returning a new string. * src/editor.c: For the Tabs indent type, remove spaces when unindenting (only) if there are no tabs on the line. Group undo actions for (un)indenting of multiple lines. * src/document.c, src/editor.c: Fix scrolling horizontally after finding a search match with the search bar or Find Next/Previous which is off-screen. * src/keybindings.c: Fix GLib warning when pressing a key with no documents open. 2009-07-21 Enrico Tröger * src/utils.c: Start unifying usage of @a and @c markup elements in API docs, to be continued. * src/main.c, src/prefs.c, src/toolbar.c, src/toolbar.h: Show/hide the toolbar without a restart when the setting in the preferences dialog is changed (closes #2824785). * src/dialogs.c, src/document.c, src/editor.c, src/encodings.c, src/filetypes.c, src/keybindings.h, src/main.c, src/msgwindow.c, src/navqueue.c, src/plugindata.h, src/prefs.c, src/toolbar.c, src/toolbar.h: Continue unifying usage of @a and @c markup elements in API docs. 2009-07-21 Nick Treleaven * src/document.c: Remove relative/untidy path elements when creating new documents with a filename (e.g. from the command-line) (#2823998). 2009-07-20 Enrico Tröger * src/callbacks.c: Disable 'Recent Projects' menu item if the list of recent projects is empty. * src/win32.c: Fix some harmless compiler warnings. * plugins/geanyfunctions.h, plugins/splitwindow.c, src/plugindata.h, src/plugins.c, src/utils.c, src/utils.h: Move utils_str_remove_chars() from the plugins/splitwindow.c to src/utils.c and add it to the plugin API. Make utils_str_remove_chars() work on a new copy of the input string instead of modifying it in place. * src/toolbar.c: Remove underscores from the toolbar items labels. * src/utils.c: Fix typos. * plugins/splitwindow.c: Fix broken 'Show the current document' tool button icon. 2009-07-20 Nick Treleaven * src/treeviews.c, src/callbacks.c, src/stash.c, src/stash.h, src/keyfile.c: Add stash_group_add_widget_property() so we can save any widget's read/write properties. Use Stash for ui_prefs.sidebar_page setting. * src/utils.h, src/prefs.c, src/keyfile.c, src/symbols.c: Make foreach_ptr_array() use an integer argument for its implementation, as this is more useful potentially than a gpointer* argument, and more straightforward. Add foreach_c_array(), foreach_ptr_array() to API. * src/utils.c, src/utils.h, src/document.c: Remove relative/untidy path elements when opening documents (closes #2823998). * src/treeviews.c: Fix showing project name for documents list files with no subdirectory (oops). * src/dialogs.c: Fix checking whether to overwrite when using the Rename button in the 'Save As' dialog. 2009-07-19 Enrico Tröger * src/dialogs.c: Don't use the main window as parent for dialog boxes if it is not yet realised. Set titles for message dialogs. 2009-07-18 Enrico Tröger * src/toolbar.c: Display item labels instead of raw names in the toolbar editor. Apply changes in the toolbar editor instantly. Show icons in the toolbar editor. Speed up toolbar editor dialog creation. * src/templates.c: Improve inserting of comment templates like File header or licence notices. The comment information are now read from the filetype configuration files. 2009-07-16 Enrico Tröger * src/document.c: Enable file monitoring for files which are written to disk by Geany for the first time. * src/filetypes.c: Fix broken special case handling when detecting filetypes from a shebang or other special file headers. 2009-07-16 Nick Treleaven * src/search.c: Make Mark All keybinding clear search highlighting when there's no current word. * src/search.c: Fix wrong match length when using Mark with regex. * src/geanyobject.c, src/geanyobject.h, src/treeviews.c, src/keyfile.c, src/main.c: Add 'Show Paths' documents list popup item. Add "load_settings" core-only signal emitted just after loading main keyfile settings; useful to delay building UI elements until settings have been read. * src/treeviews.c: Fix GTK warning when right-clicking on default tag tree. * src/treeviews.c, src/treeviews.h, src/keyfile.c, src/main.c: Add treeviews_finalize(). Remove tv.popup_openfiles field. 2009-07-15 Nick Treleaven * src/highlighting.c: Fix building on GTK 2.8 (patch by Eugene Arshinov, thanks). 2009-07-14 Enrico Tröger * src/utils.c: Quote the uri before passing it to the browser when opening a website (closes #2818635). * src/win32: Fix broken 'builtin' Run command for HTML files on Windows. 2009-07-14 Nick Treleaven * src/editor.c: Properly fix wrong brace highlighting of non-brace character. * src/editor.c: Allow autocompletion in Perl double-quoted strings. Don't autocomplete in Perl single-quoted strings (closes #2821061). Don't autocomplete in Perl q() strings. * data/filetypes.common: Make Mark highlighting brighter. * src/interface.c, doc/geany.txt, doc/geany.html, geany.glade: Use hyphen for auto-feature terms. * src/plugindata.h, src/geany.h, src/filetypes.c, src/filetypes.h, src/document.h, src/main.c: Add documents_foreach() API macro that skips invalid docs. Make filetypes[], documents[] part of the API again. Add GEANY() macro for sharing geany symbols between API and core. * src/plugindata.h, src/plugins.c, doc/plugins.dox, plugins/saveactions.c, plugins/export.c, plugins/geanyfunctions.h, plugins/demoplugin.c, plugins/filebrowser.c, plugins/splitwindow.c, plugins/htmlchars.c, plugins/geanyplugin.h, plugins/Makefile.am, plugins/classbuilder.c, wscript: Add geanyplugin.h single include for plugin API; update all core plugins to use it. Add sci_set_font() to API. Update plugin howto. * src/filetypes.c, src/filetypes.h: Remove filetypes_foreach_named(). 2009-07-13 Nick Treleaven * src/highlighting.c, src/about.c, src/filetypes.c, src/document.c, src/document.h, src/main.c, THANKS: Apply patch from Eugene Arshinov to reload color schemes via menu (thanks). * src/filetypes.c: Reload filetypes.common after saving it. * src/editor.c: Improve wrong brace highlighting of non-brace character. 2009-07-10 Nick Treleaven * src/editor.c: Delay highlighting matching braces by 100ms, which speeds up scrolling with the arrow keys. * src/keybindings.c, src/keybindings.h, src/search.c, src/search.h: Add 'Mark All' keybinding. * tagmanager/diff.c: Show relative paths in diff filename tags. 2009-07-09 Enrico Tröger * src/highlighting.c: Fix setting keyword list 'classes' for Haxe (pointed out by Andreas Mokros, thanks). 2009-07-09 Nick Treleaven * src/interface.c, src/keyfile.c, src/editor.c, src/editor.h, doc/geany.txt, doc/geany.html, geany.glade: Add 'Drop rest of word on completion' pref. * src/editor.c, doc/geany.txt, doc/geany.html: If autocompletion is already visible when forcing completion, show document word completion instead of tag completion. Docs: Minor edits of related prefs items. * src/printing.c, src/dialogs.c, src/dialogs.h, src/plugindata.h: Add warning when printing and editor font is not monospaced. Fix using GtkMessageType instead of gint param for dialogs_show_msgbox*(). Add missing G_GNUC_PRINTF macro check to API dialog funcs. * src/editor.c: Support 'tab indents, space aligns' style for auto-indentation (closes #2789109). 2009-07-08 Enrico Tröger * src/document.c, src/documentprivate.h: Rework the GIO based file monitoring code. Now it is used only to indicate a possible change of the file, the real check if the file has been changed is performed by stat(). * data/filetypes.common, doc/geany.txt, src/highlighting.c: Add style 'line_height' to increase the line height. Add style 'marker_mark' and change style 'marker_search' to define the style used for marked search results. * doc/geany.txt, doc/geany.html: Add the new 'Autocomplete all words in document' pref to the docs. 2009-07-08 Nick Treleaven * src/interface.c, src/keyfile.c, src/editor.c, src/editor.h, doc/geany.txt, doc/geany.html, geany.glade, TODO: Add 'Autocomplete all words in document' pref. Use 'autocompletion' in dialog and docs, not 'auto completion'. * src/editor.c: Fix limiting number of word completion entries too much. * src/editor.c, TODO, icons/16x16/classviewer-var.xpm, icons/16x16/classviewer-method.xpm, icons/16x16/Makefile.am: Show autocompletion icons for tag symbols - for now only tags with an arglist have the 'function/method' icon, all others have the 'variable' icon. Note: XPMs were created from the PNGs with the ImageMagick 'convert' program. * src/highlighting.c: Highlight D WYSIWYG backtick `strings` and r"strings" (closes #1895745). 2009-07-06 Nick Treleaven * src/highlighting.c, src/utils.h, plugins/splitwindow.c: Fix removing underscores in translated string using no_underscore() macro. Set a tooltip for the Split Window plugin's Show Current tool button. Add utils_strdupa() macro. * src/interface.c, geany.glade: Use stock Select All icon now we have >= GTK 2.8. * src/treeviews.c: Fix using project name for document items that start with the project base path but don't match it e.g. ".../geany-plugins" instead of ".../geany" when project name is 'geany'. 2009-07-04 Enrico Tröger * src/build.c: Fix warnings when the toolbar does not contain the Run button. * tagmanager/lua.c: Fix wrong parsing of complex expressions in the Lua parser. * src/editor.c, src/geany.h, src/keybindings.c, src/plugindata.h, src/utils.c: Remove unnecessary enums. * scintilla/*, scintilla/include/*, src/plugindata.h: Update Scintilla to version 1.79. * src/document.c, src/editor.c, src/sciwrappers.c, src/sciwrappers.h, src/search.c: Use the new Scintilla struct names prefixed with 'Sci_'. * TODO, data/filetypes.common, doc/geany.html, doc/geany.txt, src/highlighting.c: Add second argument to the 'line_wrap_indent' styling setting to control the new Scintilla indentation mode for wrapped lines. * src/toolbar.c: Properly close the toolbar editor on delete-events. Fix warnings and possible crashes in the toolbar editor when the list of displayed toolbar items is empty. * data/filetypes.tcl: Update Tcl keywords for Tcl 8.6 (patch by Witek Mozga, thanks). * src/plugins.c: Make the plugin manager dialog a bit bigger. 2009-06-30 Enrico Tröger * doc/geany.html, doc/geany.txt: Fix wrong default values for the 'Show Calltip' keybinding. 2009-06-29 Enrico Tröger * data/filetypes.tcl, src/symbols.c: Fix duplicate "context_action_cmd" key. Use different icons for "Methods" and "Procedures" in the symbol list for Tcl files. * src/filetypes.c: Fix a small memory leak. * doc/geany.html, doc/geany.txt, src/editor.c, src/keybindings.c, src/keybindings.h, src/plugindata.h: Make the Scintilla keybindings 'Delete to end of line' and 'Go to end of display line' configurable. * geany.nsi: Fix a typo (closes #2813624). 2009-06-28 Enrico Tröger * tagmanager/tcl.c, src/symbol.c: Improve parsing of Tcl files (parsing new Tcl8.6 style classes, methods and namespaces). Patch by Witek Mozga, thanks. 2009-06-25 Enrico Tröger * data/ui_toolbar.xml, doc/geany.txt, doc/geany.html, src/ui_utils.c, src/toolbar.c, src/toolbar.h: Remove ui_toolbar.xml Configuration Files menu item. Add a real toolbar editor dialog. * geany.glade, src/callbacks.c, src/callbacks.h, src/interface.c, src/prefs.c: Add a button in the preferences dialog and an item for the toolbar popup menu to run the toolbar editor dialog. 2009-06-25 Nick Treleaven * src/dialogs.c: Fix Gtk NULL warning with gtk_file_chooser_set_current_folder(). Fix using locale encoding for default Save As dialog path. * src/editor.c: Beep when trying to activate the '...' autocompletion item. Limit (forced) document word completion to autocompletion_max_entries. Beep if no completions are shown when forcing autocompletion. 2009-06-24 Enrico Tröger * data/ui_toolbar.xml, src/toolbar.c: Add 'Build' toolbar button to the default layout. 2009-06-24 Nick Treleaven * src/editor.c: If forcing autocompletion and there's nothing else to show, complete from words in the current document (using code from Enrico's 'AutoComplete Test' plugin). 2009-06-23 Nick Treleaven * src/plugins.c: Add debug message if plugin has not set a name for its keybinding group. * data/filetype_extensions.conf: Add *.m4 for shell scripts. 2009-06-22 Nick Treleaven * src/highlighting.c, doc/geany.txt, doc/geany.html, data/filetypes.common, TODO: Make filetypes.common named styles use the "default" named style for all missing style fields. Set named styles to usually leave the background style empty. This currently allows C-like filetypes to have a common default background color. Allow hard-coded colors to use -1 for the default color. Add some highlighting style examples to the manual. 2009-06-21 Enrico Tröger * src/templates.c: Create initial template files with proper platform-specific line ending characters. 2009-06-20 Enrico Tröger * data/ui_toolbar.xml, doc/geany.txt, src/build.c, src/geanymenubuttonaction.c, src/geanymenubuttonaction.h, src/main.c, src/plugins.c, src/templates.c, src/toolbar.c, src/toolbar.h, src/ui_utils.c, src/ui_utils.h: Instantly reload (i.e. rebuild) the toolbar when ui_toolbar.xml is saved within Geany. Refactor some related code. * tagmanager/conf.c: Strip trailing spaces from "Key" tags. * geany.nsi: Quote the full filename to the Geany executable when creating the "Open with Geany" context menu item. * plugins/splitwindow.c: Avoid using deprecated GTK API. * src/log.c, src/main.c: Properly clean up the logging mechanism. * src/build.c: Fix LaTeX view commands on Windows (part of #2807688). * src/prefs.c: Add a popup menu for the keybinding list in the preferences dialog to easily expand and collapse all groups. Refactor the keybindings code for the preferences dialog, prefix all related functions. * src/main.c, src/ui_utils.c, src/ui_utils.h: Init stock items before creating the toolbar (closes #2809324). * wscript: Generate the geany.pc file also on Windows. * src/ui_utils.c: Invert the logic to determine which Save All we want to use: Use the Tango like icon only for the Tango theme and the Gnome / GTK like icon for any other themes. 2009-06-18 Nick Treleaven * src/highlighting.c, README.Packagers, HACKING: Remove gsd_* default styles, use named styles instead. Note: this relies on filetypes.common being installed. Add load_style_entries(), which makes style initialization simpler, used in styleset_c_like_init(). 2009-06-17 Enrico Tröger * src/win32.c: Prevent possible crash on Windows when not setting an initial directory for native File Open/Save dialogs. * data/filetypes.xml, src/highlighting.c: Add style 'jscript_regex' for filetype HTML (patch by Chris Macksey, thanks). 2009-06-17 Nick Treleaven * src/filetypes.h, src/document.c, src/document.h, src/ui_utils.c: Make GeanyDocument::file_type always be non-NULL, even for a new document with no filetype set. * src/editor.c: Only autocomplete scope for scopes matching the current filetype's language. * data/filetypes.java, data/filetypes.cpp, data/filetypes.vala, data/filetypes.haxe, data/filetypes.common, data/filetypes.glsl, data/filetypes.actionscript, data/filetypes.cs, data/filetypes.ferite, data/filetypes.c, data/filetypes.d, data/filetypes.javascript, HACKING: Make C++, D lexer filetypes use named styles (apart from uuid, verbatim, regex styles). 2009-06-16 Enrico Tröger * src/dialogs.c: Don't explicitly change the current directory of the Save As dialog so that it uses the last used directory. 2009-06-14 Enrico Tröger * src/encodings.c, src/encodings.h, src/plugindata.h: Add Japanese encoding "CP932" (patch by Ryūsei Yamaguchi, thanks). * src/editor.c: Remove dead code. When completing from the macro list, put the cursor after the inserted text. 2009-06-12 Nick Treleaven * tagmanager/pascal.c: Fix type definitions being parsed as functions. * src/editor.c: Don't autocomplete in unterminated strings as well. * src/templates.c, src/utils.h, src/dialogs.c, src/plugindata.h, src/filetypes.c, src/ui_utils.c, plugins/saveactions.c: Remove data_ptr argument to foreach_[s]list() macros, as using node->data is enough sometimes; this makes the macro a bit more efficient too. Add foreach_[s]list() macros to the plugin API docs. 2009-06-11 Nick Treleaven * scintilla/LexPascal.cxx: Backport fix from Scintilla CVS: Pascal lexer hanging on file that starts with 'interface' after whitespace. 2009-06-11 Enrico Tröger * waf: Update Waf to 1.5.7. * wscript: Overwrite installation prefix on Windows only if it wasn't specified explicitly. 2009-06-10 Enrico Tröger * src/editor.c: Display calltips for Pascal symbols in the Pascal way (#2803945). * tagmanager/pascal.c: Fix wrongly set return values for procedures (closes #2803945). * doc/Doxyfile.in, tagmanager/include/tm_work_object.h, tagmanager/include/tm_source_file.h, tagmanager/include/tm_workspace.h: Fix doxygen warnings. 2009-06-10 Nick Treleaven * src/editor.c, tagmanager/include/tm_workspace.h, tagmanager/tm_workspace.c, TODO: Autocomplete scoped fields like struct members when typing '.' (and also '->' or '::' in C/C++). Save all tag types for C/C++ when generating a global tags file, so we can use autocompletion for structs also. Merge tm_workspace_find_scope_members(), tm_workspace_find_namespace_members() (currently not built) from Anjuta 2.24.1 tagmanager. 2009-06-09 Enrico Tröger * tagmanager/pascal.c: Parse Pascal calltips (closes #2802640). 2009-06-09 Nick Treleaven * src/filetypes.c, src/ui_utils.c: Add filetypes.common Configuration Files menu item. 2009-06-08 Enrico Tröger * src/callbacks.c: Add backslash to the wordchars on Windows when using 'Open Selected File'. * src/wscript: Add support (configure, build and install) for building on Windows and cross-compiling for Windows using the Waf build system. 2009-06-05 Nick Treleaven * src/toolbar.c: Set status bar text instead of showing a dialog when saving ui_toolbar.xml because the user might save several times. * src/editor.c: Fix redrawing due to colourising just after the document is first drawn. Now colourising should happen before the first draw. * src/utils.c, src/highlighting.c, data/filetypes.common: Fix segfault on parsing a filetypes.* style definition that has < 4 fields. Allow style definitions to have missing fields to use the default style fields. 2009-06-05 Enrico Tröger * src/images.c, src/about.c, src/ui_utils.c, THANKS: Add a more Tango like icon for 'Save All' (by Jesse Mayes, thanks). * plugins/classbuilder.c: Fix wrongly created header guards when the class filenames contains dashes (patch by PCMan, thanks). * data/filetypes.matlab: Add build_settings section to allow executing Matlab scripts. * src/document.c: When closing a document, mark it as invalid before removing it from the documents notebook (this fixes wrong Save All button state when closing an unsaved document because the "switch-page" signal handler was using old data). 2009-06-03 Nick Treleaven * src/highlighting.c, doc/geany.txt, doc/geany.html: Support toggling bold/italic when using a named style, e.g.: commentdockeyword=commentdoc,bold,italic Improve named style docs. 2009-06-01 Enrico Tröger * src/build.c, src/editor.c: Fix crashes when parsing the output of a compiler which reports errors on line 0. 2009-06-01 Nick Treleaven * src/highlighting.c: Support named styles also for filetypes.common [styling] entries. * doc/geany.txt, doc/geany.html, HACKING: Update docs for named styles in filetypes.* files. * src/symbols.c: Fix grouping symbol list children when parent name has "." character in for reStructuredText and Conf filetypes. * tagmanager/python.c: Fix grouping functions/classes under a nested function. 2009-05-30 Enrico Tröger * geany.spec.in: Adjust icon paths (patch by Dominic Hopf, thanks). * doc/geany.txt, doc/geany.html, src/toolbar.c: Add 'Replace' toolbar button (closes #2798225). 2009-05-30 Nick Treleaven * src/utils.c, src/highlighting.c, TODO: Implement named styles support for filetypes.* using a filetypes.common [named_styles] section e.g.: foo=0xc00000;0xffffff;false;true bar=foo These can be used in e.g. filetypes.c as: comment=foo 2009-05-28 Enrico Tröger * src/ui_utils.c: Fix wrong sensitiveness of the Redo buttons (closes #2797862). 2009-05-28 Frank Lanitz * THANKS, src/about.c, po/lb.po, po/LINGUAS: Added Luxembourgian translation. Huge thanks to Laurent Hoeltgen. 2009-05-27 Enrico Tröger * src/build.c: Remove quote_executable() as it is not used anymore. When creating the geany_run_script.bat use the "%0" variable expansion and quote it for the "del" command (closes #2797172). * src/win32.c: On Windows, fallback to the literal build command line if searching for the command in the system path failed (related to #2795923). Properly terminate the resulting strings when reading the stdout and stderr of any spawned commands on Windows. 2009-05-26 Enrico Tröger * src/win32.c: Use the wide character versions of native Windows File dialogs. * src/project.c: Fix wrong initialisation of the default project path button callback in the preferences dialog. * Makefile.am, configure.in, geany.nsi, geany.spec.in, wscript, geany_private.rc, icons/16x16/Makefile.am, icons/16x16/geany.png, icons/48x48, icons/48x48/Makefile.am, icons/48x48/geany.png, icons/Makefile.am, icons/geany.ico, icons/scalable, icons/scalable/Makefile.am, icons/scalable/geany.svg, src/makefile.win32: Move the icons geany.png and geany.ico into the icons directory. Add a 16x16 pixel Geany icon and the scalable SVG icon. Drop the pixmaps directory. 2009-05-22 Nick Treleaven * src/keybindings.c: Improve MRU document switching so there are no duplicates in the list and documents switched to whilst the dialog is open are ignored. Also beep when cycling through to the first document in the list. 2009-05-21 Enrico Tröger * src/dialogs.c: Fix broken 'Cancel' button in the Save As dialog. 2009-05-20 Nick Treleaven * src/editor.c: Fix multiline indent when selection covers text on the last line. * src/notebook.c: Show current document in bold in tab popup menu. * src/editor.c, tagmanager/python.c, TODO: Parse Python calltips. 2009-05-19 Enrico Tröger * src/symbols.c, tagmanager/python.c: Parse Python import statements to get symbol completion for the imported module names. * src/editor.c, src/editor.h: Make some only locally used functions static. Fix wrong sanity check. * src/build.c: Fix quoting the build command string on Windows (closes #2791769). This broke when we made build commands run synchronously on Windows, now we don't need to special quote the commands anymore. 2009-05-19 Nick Treleaven * src/editor.c: Drop rest of word to the right of cursor when autocompleting (do we need a pref for this?). 2009-05-18 Nick Treleaven * src/sciwrappers.c, src/sciwrappers.h, src/editor.c: Add sci_set_selection(). * doc/geany.txt, doc/geany.html: Update manual for MRU switching. * src/callbacks.c, src/editor.c, src/editor.h: Make indenting with the Tabs indent type preserve spaces on the line, so it works for the 'tab indents, space aligns' formatting style. 2009-05-17 Enrico Tröger * tagmanager/python.c: Fix missing symbols for variables when an equal sign is used in a comment on the same line as the variable declaration. Backport change from CTags SVN to keep the parser more in sync: Add support for Cython constructs to the Python parser. * src/search.c: Remember the additional Find in Files search flags at startup. * src/dialogs.c: Don't close the Save As dialog when saving the file didn't succeed. 2009-05-13 Nick Treleaven * src/keyfile.c: Remember scribble cursor position. * src/keybindings.c, TODO: Implement Most-Recently-Used document switching when pressing Ctrl-Tab keybinding. (It's probably not perfect, but works OK). 2009-05-13 Frank Lanitz * data/latex.tags: Added some more commands from unit.sty and moderncv.sty. 2009-05-12 Nick Treleaven * src/symbols.c, doc/geany.txt, doc/geany.html, tagmanager/makefile.win32, tagmanager/nestlevel.c, tagmanager/nestlevel.h, tagmanager/python.c, tagmanager/rest.c, tagmanager/Makefile.am, wscript: Merge unstable branch: Add reStructuredText scope information for tags (for symbol list grouping). Read custom system global tags files from $prefix/share/geany/tags; Closes #2778923. Show the number of tags in a user global tags file (instead of the running total) in the debug message. Also print debug messages when loading a tag file manually or for default global tags files e.g. python.tags. - code: Move NestingLevel tags code into a separate file, add functions. - docs: Add 'Installation prefix' section instead of quoting '/usr/local' each time. Update for custom system global tags files. 2009-05-11 Enrico Tröger * src/highlighting.c: Unset maybe previously keywords when setting up Scintilla for XML files. This fixed wrong highlighting after switching back to filetype XML from another one. * src/utils.c: Use plain old fwrite() in utils_write_file(). g_file_set_contents() is only used when explicitly requested. * src/dialogs.c: Remove unnecessary call to g_intern_string() to fix build with GLib 2.8 (closes #2790051). 2009-05-10 Enrico Tröger * src/ui_utils.c: Make the clear icon of entry fields act on the release event, not on the press event like for other buttons. * src/editor.c: Refactor some multiple used code into get_multiline_comment_style(). * src/main.c: Create parent directories if necessary when checking for the configuration directory on startup (closes #2784577). 2009-05-08 Enrico Tröger * plugins/filebrowser.c: When a filter is set, apply it only to files, not directories and apply the filter to the UTF-8 name of the file as the filter string itself is also UTF-8. * src/utils.c, src/utils.h, src/highlighting.c, src/printing.c: Add utils_color_invert() and use it in highlighting.c and printing.c. * scintilla/include/Scintilla.h, scintilla/scintilla_changes.patch: Backport change from Scintilla CVS: Change capitalisation of header file to suit cross-compilation on Unix for Windows. 2009-05-03 Enrico Tröger * wscript, scintilla/*, scintilla/include/*, src/plugindata.h: Update Scintilla to version 1.78. * src/editor.c, src/highlighting.c: Update Pascal styles as they changed in Scintilla. 2009-05-02 Enrico Tröger * src/printing.c: Ignore the invert syntax highlighting colours setting when printing to not print characters on a dark background (closes #2785244). * New release: Geany 0.17 "Wessex". * configure.in, geany.nsi, geany_private.rc, win32-config.h, wscript, src/geany.h, doc/geany.html, doc/geany.txt: Post-release version bump. 2009-04-30 Enrico Tröger * src/callbacks.c, src/callbacks.h, src/main.c: Update the View->Fullscreen menu item when fullscreen state is changed externally (e.g. by the window manager). * src/project.c: Fix passing wrong pointer to the File Open dialog for the Run command in the Project Properties dialog. 2009-04-27 Enrico Tröger * src/callbacks.c, src/keyfile.c, src/main.c, src/ui_utils.c, src/ui_utils.h: Remember the active sidebar page between sessions. * src/project.c: Add a recent project item after creating a new project. * tagmanager/ruby.c: Fix wrong parsing of string literals (closes #2781264). * src/treeviews.c: Fix setting focus to the editor widget after changing the selection in the symbol list. 2009-04-25 Enrico Tröger * src/symbols.c: Prevent crashes when two or more top level items in the symbol list have the same name (closes #2778246). 2009-04-24 Enrico Tröger * src/keybindings.c: Manually show the main notebook tab bar menu when Shift-F10 is pressed. This broke when we disabled the default GTK tab bar menu. * src/document.c: Fix a crash when USE_GIO_FILEMON is enabled at closing a document which was reloaded shortly before. * src/editor.c: When the editor menu is opened by the Menu key, use the text cursor position for retrieving the current word. This fixes disabled Go to Tag items in the menu (#2780044). * src/treeviews.c: Set the "ellipsize" property of GtkCellRendererText to automatically shorten the path and file names in the Documents list. * doc/geany.html, doc/geany.txt, src/build.h: Increase the amount of highlighted build error messages to 100. At least for LaTeX we need higher values as there is a lot of informative output before any errors are reported. * src/filebrowser.c: Use the startup path as the initial directory for the filebrowser plugin when no project and no files are opened (patch by Matias Gea, thanks; closes #2780521). 2009-04-21 Enrico Tröger * src/dialogs.c, src/document.c, src/document.h, src/treeviews.c, src/utils.c, src/utils.h: Ellipsize tab labels and some status messages for very long filenames (closes #2777348). * src/plugins.c, src/plugindata.h, plugins/geanyfunctions.h: Add utils_str_middle_truncate() and document_get_basename_for_display() to the plugin API. * doc/geany.html, doc/geany.txt, src/toolbar.c: Add new toolbar element: Print (patch by Roland Baudin, thanks). * doc/geany.html, doc/geany.txt, src/document.c, src/document.h, src/keyfile.c: Add a hidden preference 'use_safe_file_saving' to save files to disk by creating a temporary file first. This has serious side effects, please read the documentation before enabling this. * src/build.c: Make build commands on Windows run synchronously to avoid problems with reading build commands' output. * doc/geany.html, doc/geany.txt, src/build.c, src/build.h: Limit the amount of highlighted build error messages in the Compiler window to 50 for performance reasons. 2009-04-20 Enrico Tröger * src/callbacks.c, src/editor.c, src/keybindings.c, src/keybindings.h, src/prefs.c: Replace our own GEANY_KEYS_MODIFIER_MASK by gtk_accelerator_get_default_mod_mask() which gives the same result. * src/filetypes.c, src/symbols.c, tagmanager/Makefile.am, tagmanager/makefile.win32, tagmanager/parsers.h, wscript: Add a trivial symbol parser for NSIS files. 2009-04-19 Enrico Tröger * src/dialogs.c: Hide the extra file open dialog options in an expander to make the dialog more compact by default and to provide more space for the file view. Remove the filename field as it is also provided by GTK itself with more features like auto-completion. Watch the 'show-hidden' property of the file chooser widget using GObject's "notify" signal which gives accurate results and remove the hack using the "selection-changed" signal. 2009-04-17 Enrico Tröger * src/callbacks.c, src/callbacks.h, src/encodings.c, src/filetypes.c: Prevent double execution of radio menu item "activate" or "toggled" signal handlers. Move 'Set Encoding' callback function into encodings.c. 2009-04-16 Enrico Tröger * src/project.c: Add some missing 'void's in function definitions. If the project base path is './', just use the path of the project config file instead of appending './'. * src/treeviews.c, src/project.c: When a project is loaded, replace the project base path with the project name in the Documents sidebar for parent items (closes #2723679). 2009-04-15 Enrico Tröger * src/keyfile.c, src/keyfile.h, src/project.c: Fix duplicating the recent files and projects lists when closing a project. * src/build.c, src/callbacks.c, src/dialogs.c, src/document.c, src/editor.c, src/encodings.c, src/filetypes.c, src/geanymenubuttonaction.c, src/geanyobject.c, src/geanywraplabel.c, src/highlighting.c, src/keybindings.c, src/keyfile.c, src/main.c, src/msgwindow.c, src/navqueue.c, src/notebook.c, src/plugins.c, src/prefs.c, src/queue.c, src/sciwrappers.c, src/socket.c, src/symbols.c, src/templates.c, src/toolbar.c, src/tools.c, src/treeviews.c, src/ui_utils.c, src/utils.c, src/vte.c: Remove all G_LIKELY macros inside g_return_if_fail() statements as this is redundant. Remove many other G_LIKELY/G_UNLIKELY macros which doesn't make much sense to keep the code more readable. 2009-04-09 Enrico Tröger * src/symbols.c: When updating global type definitions for opened documents, take also C++ namespace symbols into account and don't ignore symbols which are defined inside a scope. 2009-04-09 Nick Treleaven * src/plugins.c: Don't show 'plugin is not binary compatible' messages on the status bar, only the status window. 2009-04-08 Enrico Tröger * src/socket.c: When opening files from a remote instance on X11, set the window server time to encourage window managers to pop up the main window (related to #2735467 and #2276179). * src/main.c: When finished sending filenames to a remote instance, notify the environment that we finished starting up. 2009-04-08 Nick Treleaven * src/ui_utils.h, src/utils.h, src/ui_utils.c: Sort Configuration Files menu. Add ui_menu_sort_by_label(). Add foreach_list() macro. * src/editor.c: Fix autocompletion. 2009-04-07 Enrico Tröger * src/main.c: Fix setting a wrong default window size when starting without an existing configuration. * src/editor.c, src/sciwrappers.c, src/sciwrapper.h: Make editor_highlight_braces() static. Remove unused wrapper functions. * src/editor.c, src/symbols.c, src/symbols.h: Prevent showing an empty macro list. Show only macros of the same filetype instead of all macros of all loaded filetypes. * src/ui_utils.c: Don't add opened project files to the GtkRecentManager. 2009-04-07 Nick Treleaven * src/editor.c: Add Configuration Files item for snippets.conf. * src/highlighting.c, src/symbols.c: Fix 2 old uses of filetype IDs. 2009-04-06 Enrico Tröger * src/interface.c, src/printing.c, geany.glade: Minor string improvements (spotted by Jean-Philippe Moal, thanks). 2009-04-05 Enrico Tröger * src/ui_utils.c: Add sanity checks in ui_lookup_widget() just to be safe. * THANKS, TODO, geany.glade, src/about.c, src/interface.c, src/keyfile.c, src/main.c, src/plugindata.h, src/project.c, src/project.h, src/ui_utils.c, src/ui_utils.h: Add "Recent Projects" menu to the Project menu (#2728630, patch by Elias Pschernig, thanks). * doc/geany.txt, doc/geany.html: Describe how to build Geany using the Waf build system. * src/build.c, src/callbacks.c, src/dialogs.c, src/document.c, src/document.h, src/editor.c, src/encodings.c, src/filetypes.c, src/geanymenubuttonaction.c, src/geanyobject.c, src/geanywraplabel.c, src/highlighting.c, src/keybindings.c, src/keyfile.c, src/log.c, src/main.c, src/msgwindow.c, src/navqueue.c, src/notebook.c, src/plugins.c, src/prefs.c, src/queue.c, src/sciwrappers.c, src/socket.c, src/symbols.c, src/templates.c, src/toolbar.c, src/tools.c, src/tools.h, src/treeviews.c, src/ui_utils.c, src/utils.c, src/utils.h, src/vte.c: Start using G_LIKELY/G_UNLIKELY macros to gain a little more performance when building the code with gcc. * src/highlighting.c: Fix typo in the G_LIKELY checks, introduced in last commit. Fix the size of the styles array. * src/document.c: Show a message dialog when renaming a file fails. 2009-04-03 Enrico Tröger * src/build.c: Remove checks for the .pdf or .dvi files when viewing a LaTeX file (as we did for all other files in SVN r3382). 2009-04-03 Nick Treleaven * src/filetypes.c, doc/geany.txt: Move ActionScript to the Script group. Fix wording & typo. * src/templates.c, src/utils.h, src/highlighting.c, src/dialogs.c, src/plugindata.h, src/filetypes.c, src/filetypes.h, src/plugins.c, src/symbols.c, src/ui_utils.c, plugins/saveactions.c, plugins/htmlchars.c: Merge reorder-filetypes branch: Make GEANY_FILETYPES_NONE = 0, sort filetype IDs randomly (so we can append randomly without breaking the ABI). Make None filetype name = title = _("None"). Add foreach_slist() macro. Add filetypes_by_title list to GeanyData for plugin API access - a list of filetype pointers, which includes the None filetype first. This list stays constant by the time plugins are initialized, so you can use e.g. g_slist_nth_data(filetypes_by_title, n) to index the sorted list. 2009-03-31 Enrico Tröger * doc/geany.txt, doc/geany.html, src/main.c: Add widget names for the menubar and toolbar. * src/msgwindow.c: When hiding the messages window, set the input focus back to the editor widget (part of #1910393). 2009-03-30 Enrico Tröger * scintilla/LexOthers.cxx, src/highlighting.c, tagmanager/conf.c: Backport recent changes from Scintilla CVS to add partial support for RFC2822 styled text using the Properties lexer. Ignore leading whitespace for config files and RFC2822 text. * data/filetypes.actionscript: Update/fix ActionScript keywords (patch by Chris Macksey, thanks). * THANKS, src/treeviews.c: Display file/directory icons in the Documents sidebar (patch by Simon Treny, thanks). 2009-03-29 Enrico Tröger * doc/geany.html, doc/geany.txt, geany.glade, src/callbacks.c, src/callbacks.h, src/interface.c, src/keyfile.c, src/main.c, src/plugindata.h, src/prefs.c, src/toolbar.c, src/toolbar.h: Add an option to allow appending the toolbar to the main menu bar to save some vertical space. Allow setting toolbar icon size to very small (menu icon size). 2009-03-27 Enrico Tröger * src/keyfile.c, src/utils.c, src/utils.h: Add utils_path_skip_root(), a relative path safe variant of g_path_skip_root (forgotten patch by Colomban Wendling, #2518658). * src/keyfile.c, src/main.c: Allow negative window coordinates when saving and restoring the position of the main window. Restore the main window position and size *after* the window has been realised to get it positioned accordingly (this affects at least Windows). 2009-03-26 Enrico Tröger * src/main.c, src/plugins.c, src/win32.c, src/win32.h: Use g_win32_get_package_installation_directory_of_module() on Windows with newer GLib versions instead of deprecated API. * src/keybindings.c: Don't manage the last used documents list when quitting to prevent errors by accessing invalid memory (may close #2533990). 2009-03-25 Enrico Tröger * src/build.c: Delete the geany_run_script.sh immediately after execution to prevent leaking old copies when the script was quit unexpectedly (closes #2710482, patch by Martin Olsson, thanks). * src/keyfile.c: Check whether skipping the root element of a document's filename succeeded and use the filename itself if not (e.g. on relative filenames, #2702844). Use the locale encoded filename when saving session files. * src/callbacks.c: Re-set the quitting status after all documents have been closed on quitting. 2009-03-24 Frank Lanitz * plugins/htmlchars.c: Remove usage of deprecated sci_get_selected_text() from plugin. 2009-03-24 Enrico Tröger * src/callbacks.c: Delay disk file checks when switching between documents a little bit to avoid fast, unintentional page switching in some cases. * plugins/geanyfunctions.h, src/plugindata.h, src/plugins.c, src/sciwrappers.c, src/sciwrappers.h: Deprecate sci_get_text(), sci_get_selected_text() and sci_get_text_range(). Add sci_get_contents(), sci_get_contents_range() and sci_get_selection_contents() as replacement functions to provide an easier and cleaner API (initial patch by Frank). 2009-03-22 Enrico Tröger * tagmanager/css.c: Fix wrong parsing of CSS tags when the definition block starts on a new line (reported by Dominic Hopf, thanks). 2009-03-20 Frank Lanitz * plugins/htmlchars.c: Extend plugin by feature to bulk replace and replace on input for special characters to their HTML entities. 2009-03-19 Enrico Tröger * src/build.c: Update build menu items after changing anything in the 'Set Includes and Arguments' dialog. Disable Compile/Run buttons/menu items when Compile/Run commands are set but empty. Reset current build directory to the base directory after reading a "Leaving directory" message when parsing Make output (closes #2694479, patch by Andrea Mazzoleni, thanks). * src/notebook.c: Fix wrong display of the filename in the tab bar menu for new files. * src/dialog.c: Set the initial directory for the Save As dialog only once on initialisation. Add a shortcut of the project's base directory to the File Open/Save As dialogs when a project is open for faster access. * src/splitwindow.c: Add keybindings for the split actions. 2009-03-16 Enrico Tröger * src/search.c: When using Find All in the Find dialog (in Session and Document), display the right amount of matches. Fix the display of the matches once per line (I broke the original patch). * src/ui_utils.c: Fix wrong directory selection behaviour in all Open Folder dialogs (closes #2688020, patch by Marcel Stimberg, thanks). * src/socket.c: Don't present the main window of a running instance when starting a second instance separately. 2009-03-15 Enrico Tröger * src/socket.c: Reduce default file permissions on the Unix Domain socket file (reported by Jörg Sommer, thanks). 2009-03-13 Enrico Tröger * doc/geany.txt, doc/geany.html, geany.glade, src/interface.c, src/main.c, src/plugindata.h, src/plugins.c, src/prefs.c, src/prefs.h: Add an option to set an additional plugin lookup path. * src/search.c: When using Find All in the Find dialog, display matches only once per line in the messages window (patch by Bert Vermeulen, thanks). 2009-03-10 Enrico Tröger * data/filetype_extensions.conf, data/filetypes.actionscript, src/about.c, src/document.c, src/filetypes.c, src/filetypes.h, src/highlighting.c, src/plugindata.h, src/symbols.c, tagmanager/Makefile.am, tagmanager/actionscript.c, tagmanager/makefile.win32, tagmanager/parsers.h, THANKS, wscript: Add filetype ActionScript (patch by Chris Macksey, thanks). Update type keywords only for real C-like languages. Fix wrong sorting of Assembler and Ada filetypes. * plugins/classbuilder.c: Use G_DEFINE_TYPE in the GTK+ class template instead of manual code. Other minor cleanups. 2009-03-05 Enrico Tröger * src/notebook.c: Don't use menu item images for the tab bar menu to save some vertical space. * data/filetypes.fortran, tagmanager/fortran.c: Add keyword 'extends' and fix Fortran parser to support the 'extends' keyword (closes #2654492). * geany.glade, plugins/export.c, src/interface.c, src/printing.c, src/search.c, src/toolbar.c: Fix punctuation. 2009-03-03 Frank Lanitz * src/about.c, THANKS: Added Jari Rahkonen to list of Finnish translators. 2009-03-02 Enrico Tröger * geany.pc.in: Adjust minimum required GTK version. * src/Makefile.am, wscript: Add main.h to the list of installed header files. * geany.glade, src/document.c, src/documentprivate.h, src/interface.c, src/notebook.c, src/ui_utils.c: Remove GeanyDocumentPrivate::tabmenu_label. Disable the default tab bar menu for the main notebook widget and use a custom menu instead which lists all open files as usual plus 'Close Other Documents' and 'Close All' menu items. 2009-02-27 Enrico Tröger * src/callbacks.c, src/search.c, src/ui_utils.c, src/ui_utils.c: Move ui_set_search_entry_background() into ui_utils.c. Change the background colour of the search entries in the Find and Replace dialogs according to the search results like in the toolbar search field. Add images to the 'Replace' and 'Replace and Find' buttons in the Replace dialog. Minor cleanups in search.c. * tagmanager/tm_source_file.c: Update source files upon creation. * data/c99.tags: Update C tags for glibc 2.9. * src/callbacks.c, src/toolbar.c: Fix broken non-incremental search with the toolbar search entry when pressing Enter (closes #2638180). * plugins/splitwindow.c: Fix possible crash on non-32-bit systems (patch by Wolfgang Ocker, thanks). * geany.spec.in: Update the Packager tag due to Dominic's various contributions. Update description and feature list. Change Source tag to the gzip'ed tarball to be in sync with the Makefile target (thanks to Wolfgang Ocker for reporting). 2009-02-26 Frank Lanitz * plugins/vcdiff.c, plugins/Makefile.am, po/POTFILES.in: Removed deprecated plugin VC Diff 2009-02-25 Enrico Tröger * src/templates.c: Fix wrong Fortran 90 comment characters when inserting templates. * doc/geany.html, doc/geany.txt, geany.glade, src/callbacks.c, src/callbacks.h, src/editor.c, src/interface.c, src/keybindings.c, src/keybindings.h, src/main.c, src/plugindata.h, src/vte.c, src/vte.h, THANKS: Add 'Send Selection to Terminal' command to the Edit->Format menu (initial patch by David Gleich, thanks). * geany.glade, src/interface.c: Fix mnemonic for the Edit->Preferences menu item. 2009-02-24 Enrico Tröger * configure.in, plugins/Makefile.am: Enable socket support when cross-compiling. Enable plugin compilation when cross-compiling. * src/msgwindow.c: Fix missing NULL checks when reading the colour value of compiler output messages. * src/main.c, src/win32.c, src/win32.h: On Windows, change the working directory to the Geany installation path at startup to avoid unwanted directory locking(closes #2626124). * src/encoding.c: Fix broken selection of "Document->Set Encoding" menu items. * src/document.c, tagmanager/include/tm_source_file.h, tagmanager/include/tm_work_object.h, tagmanager/tm_project.c, tagmanager/tm_source_file.c, tagmanager/tm_tag.c, tagmanager/tm_work_object.c, tagmanager/tm_workspace.c: Don't let the tagmanager automatically reparse files if they seem to be changed on disk (affects all files in the current session, not the current one). This should speed up file saving a little bit, especially with remote files. Remove now unnecessary calls to tm_workspace_update(). * src/printing.c: Allow an empty value for the date format in the print settings to omit the date/time string in the print header. 2009-02-20 Frank Lanitz * src/editor.c: Set cursor for LaTeX at auto closing of environment direct into area. 2009-02-19 Enrico Tröger * src/utils.h: Add missing header include (closes #2615808). 2009-02-18 Enrico Tröger * src/symbols.c: Fix a possible crash when comparing symbol names (could be related to Ubuntu bug #147151). Fix broken symbol list tooltips when tag names contain ampersands. 2009-02-15 Nick Treleaven * plugins/makefile.win32: Don't build Split Window plugin on Windows (doesn't work). 2009-02-15 Enrico Tröger * ChangeLog, Makefile.am: Rotate ChangeLog. * configure.in, geany.nsi, geany_private.rc, win32-config.h, wscript, doc/geany.txt, doc/geany.html, src/geany.h: Post-release version bump. 2009-02-15 Enrico Tröger * scitilla/LexHTML.cxx: Backport a change from Scintilla CVS to fix wrong folding of comments in HTML/XML lexer (Scintilla #2532774, thanks to Jason Oster). * New release: Geany 0.16 "Argon". * ChangeLog, Makefile.am: Rotate ChangeLog. 2009-02-14 Enrico Tröger * doc/plugins.dox: Add a plugin howto to the plugin API docs, written by Frank. 2009-02-13 Enrico Tröger * src/msgwindow.c: Don't use a hard coded black foreground colour for the compiler and messages windows, instead use the default GTK foreground colour. * src/prefs.c: Don't use the clear icon inside any spin buttons in the prefs dialog. * doc/geany.txt, doc/geany.html, doc/images/*: Update docs and images for Geany 0.16. 2009-02-10 Enrico Tröger * src/build.c, src/dialogs.c, src/prefs.c, src/printing.c, src/project.c, src/search.c, src/tools.c, src/vte.c: Add a clear icon to the used text entries all over the place (will be available with GTK >= 2.16). * plugins/export.c, plugins/filebrowser.c, plugins/htmlchars.c, plugins/vcdiff.c, src/document.c, src/search.c, src/templates.c, src/tools.c, src/treeviews.c, src/utils.c: Small optimisations by moving out function calls of loop break conditions (patch by Frank, thanks). 2009-02-08 Enrico Tröger * plugins/filebrowser.c: Make Menu key and Shift-F10 working on the filebrowser treeview. Return TRUE if appropriate in the event handlers. * plugins/vcdiff.c: Fix path quoting problems on Windows. * plugins/geanyfunctions.h, src/document.c, src/document.h, src/editor.c, src/editor.h, src/plugindata.h, src/plugins.c, src/treeviews.c, src/ui_utils.c: Add editor_get_word_at_pos() as a convenient function to retrieve the word at a given position. Make document_get_status_color() returning a const GdkColor. Add editor_get_word_at_pos() and document_get_status_color() to the plugin API. * src/vte.c, plugins/filebrowser.c: Don't follow the path of the document if the document has not an absolute file path. * src/msgwindow.c: Really focus the status/compiler/messages window when the corresponding keybinding is used. 2009-02-08 Frank Lanitz * src/editor.c: Don't put closing td tag into a new line during auto completion of a HTML table. 2009-02-06 Enrico Tröger * src/main.c: Don't check for old configuration directory location on Windows. * plugins/geanyfunctions.h, src/plugindata.h, src/plugins.c: Add plugin_module_make_resident() to the plugin API which allows plugins to make the module resident. This seems necessary when using GTypes, e.g. by using the GObject API. * src/vte.c: Fix ordering of the input methods submenu item in the VTE popup menu. 2009-02-05 Enrico Tröger * src/geanymenubuttonaction.c, src/geanyentryaction.c, src/geanyobject.c, src/geanywraplabel.c: Use the G_DEFINE_TYPE() macro to generate the *_get_type() code. Remove useless geany_object_finalize() function. * src/keybindings.c: Special case Menu key presses and Shift-F10 to show the popup menu of the widgets where they were pressed instead of always the document notebook tab list. * src/msgwindow.c: Allow pressing Space/Enter in the compiler and messages treeviews to activate the selected item (closes #2555704). * src/editor.c: Fix typo which caused wrong snippet completion (closes #2568588). 2009-02-04 Enrico Tröger * src/vte.c, src/vte.h: Some code cleanup and improve comments, no changes in functionality. * src/editor.c: Fix a crash on Windows for PHP files when 'comment_close' in not set (neither in the user's config nor in the global filetypes.php) and (un)commenting is used outside of the PHP tags (reported by Frank, thanks). * src/dialogs.c: It's enough to check for GTK 2.14 at runtime, not at build time when to determine whether to show non-local folders in the file chooser dialogs. 2009-02-02 Enrico Tröger * src/plugins.c: Fix wrong Help button sensitiveness in the plugin manager dialog. 2009-02-01 Enrico Tröger * src/callbacks.c, src/document.c: Use the document's real path when the VTE setting 'Follow the path of the current file' is used to prevent unnecessary directory changes when symlinks are used (reported by Dominic Hopf). * plugins/filebrowser.c: Add an option to 'follow the path of the current file' in the filebrowser plugin. Add an option to automatically set the project's base directory when a project is opened/changed (closes #2554027). * waf, wscript: Update to waf 1.5.3 and use modern task syntax in the wscript. 2009-01-30 Enrico Tröger * src/plugins.c, src/plugindata.h, src/utils.c, plugins/filebrowser.c, plugins/geanyfunctions.h: Add utils_string_replace_first() to the plugin API. Allow entering paths prefixed with '~' in the filebrowser path entry. Show the full path for files and folders in the filebrowser plugin as tooltips. * HACKING, doc/plugins.dox: Add a few notes about basic plugin writing guidelines. * doc/plugins.dox, src/dialogs.c, src/document.c, src/editor.c, src/editor.h, src/filetypes.c, src/msgwindow.c, src/sciwrappers.c, src/ui_utils.c, src/ui_utils.h, src/utils.c: Add some missing @since tags to the API documentation of various functions. 2009-01-29 Enrico Tröger * autogen.sh: Add a check for 'libtoolize' (suggested by Greg Smith, thanks). * tagmanager/fortran.c: Update Fortran parser from CTags SVN (closes #2545000). 2009-01-28 Enrico Tröger * src/document.c: Set the documents' mtime field properly for checking disk file changes. * src/document.c, src/keyfile.c, src/ui_utils.c, src/ui_utils.h: Add a hidden preference "allow_always_save" to make the Save buttons/ menu items always sensitive and allow saving files even without changes. * plugins/filebrowser.c: Use the selection 'changed' signal of the treeview to update the popup menu items and show the popup menu on mouse button press events so right clicking on items will select them first. * doc/plugins.dox, plugins/demoplugin.h: Mention necessary header includes in the plugin signal descriptions. Add missing header includes for the demoplugin. * doc/pluginsymbols.c, plugins/geanyfunctions.h, src/about.c, src/build.c, src/callbacks.c, src/plugindata.h, src/plugins.c, src/utils.c, src/utils.h: Rename utils_start_browser() in utils_open_browser() and add it to the plugin API. Add plugin symbol plugin_help() which is called by Geany when the plugin should show its documentation (if any). This symbol is optional, plugins can omit it if not needed. Add a Help button next to the Configure button in the plugin manager dialog to easily open a plugin's documentation if available. * doc/geany.txt, doc/geany.html: Remove the square brackets around Hidden preferences table titles to avoid confusion with section titles in the config file. Add the new hidden pref 'allow_always_save'. 2009-01-27 Enrico Tröger * src/document.c: Fix legacy file monitoring since I broke once more. * src/geanyentryaction.c, src/ui_utils.c, src/ui_utils.h: Add a clear icon to the toolbar search and goto text fields (will be available with GTK >= 2.16). * plugins/geanyfunctions.h, src/build.c, src/plugindata.h, src/plugins.c, src/printing.c, src/search.c, src/ui_utils.c, src/ui_utils.h: Add a progressbar widget to the statusbar and use it to show progress when building with the Make commands, when printing and when using Find in Files. Add progressbar convenience functions and ui_entry_add_clear_icon() to the plugin API. 2009-01-27 Nick Treleaven * src/interface.c, geany.glade: Split Prefs dialog General tab into sub-notebook with Startup and Miscellaneous tabs. Merge Search tab into Miscellaneous tab. * src/search.c: Remember whether find/replace all expanders were expanded. * src/search.c: Rename static structs, group by dialog. * src/search.c: Refactor with create_find_dialog(). 2009-01-26 Frank Lanitz * po/cs.po, THANKS: Update of Czech translation. Thanks to Karel Kolman for providing. 2009-01-24 Enrico Tröger * src/document.c: Use g_timeout_add_seconds() instead of g_timeout_add(). Add missing NULL check in monitor_file_changed_cb(). Reset the file status when saving a file failed. Disable GIO based file monitoring for now since it doesn't work yet as stable as it should. Define USE_GIO_FILEMON to use. * src/utils.c: Use g_file_set_contents() to write files to disk in utils_write_file() for better error checking and to avoid corruption of config files when there is no more free disk space. This is not used for saving documents (part of Debian bug #503391). * src/dialogs.c: Use the stock overwrite confirmation dialog provided by GTK 2.8 in the Save As dialog. 2009-01-22 Enrico Tröger * src/socket.c: Minor cleanup in the socket code. When files are opened remotely, always use gtk_window_present() to bring the main window to front or whatever the window manager decides to do (part of #2276179). On Windows, we send a pointer to the main window to the remote instance which then brings the window to the front (grab focus). This should work better than the previous implementation and should avoid the blinking tasklist item. * HACKING, README, wscript, configure.in, doc/geany.html, doc/geany.txt, geany.nsi, src/geany.h, src/notebook.c, src/utils.c: Increase minimum required GTK version to 2.8. 2009-01-22 Nick Treleaven * src/search.c: Refactor with create_replace_dialog(). * src/search.c: Reorder replace dialog 'replace all' buttons. 2009-01-21 Enrico Tröger * src/document.c: Reuse the locale-encoded filename in document_save_file(). Use an unique "monitor" prefix for file monitoring functions. Don't check disk status for files which are marked to be ignored. Reset file disk status when manually reloading a file. Various improvements to the GIO-based file disk checking code. * src/document.c, src/keyfile.c, src/search.c, src/tools.c, src/utils.c, src/vte.c, tagmanager/tm_source_file.c: Replace remaining occurrences of '__func__' with 'G_STRFUNC'. * plugins/geanyfunctions.h, src/dialogs.c, src/plugindata.h, src/plugins.c: Add dialogs_show_input_numeric() to the plugins API. 2009-01-20 Nick Treleaven * src/treeviews.c: Disable documents popup menu items when invalid. Make close, save menu items work for all children when a parent row is selected. * src/notebook.c: Fix focusing the editor after clicking on a notebook tab. 2009-01-19 Enrico Tröger * src/document.c, src/utils.c: Skip disk changes detection for all remote files. Don't try to detect a remote file when running on old GLib versions without GIO (< 2.16). 2009-01-19 Nick Treleaven * src/interface.c, src/ui_utils.h, src/prefs.c, src/plugindata.h, src/treeviews.c, src/keyfile.c, geany.glade: Use tree for Documents sidebar, grouped by path. Remove Documents show full path pref. Use enum for documents tree store column ids. 2009-01-18 Frank Lanitz * src/utils.c: Added a missing g_free(). 2009-01-18 Enrico Tröger * data/filetype_extensions.conf, data/filetypes.oms, scintilla/include/SciLexer.h, scintilla/include/Scintilla.iface, scintilla/KeyWords.cxx, scintilla/LexOMS.cxx, scintilla/Makefile.am, scintilla/makefile.win32, src/editor.c, src/filetypes.c, src/filetypes.h, src/highlighting.c, src/templates.c, wscript: Remove filetype O-Matrix (probably unused for years). * src/keybindings.c, src/keybindings.h: Reorder some keybindings. * src/dialogs.c, src/document.c, src/document.h, src/documentprivate.h, src/plugindata.h, src/plugins.c, plugins/geanyfunctions.h: Add document_save_file_as and document_rename_file to the plugin API. If GIO is available, use GFileMonitor to watch for file disk changes and indicate them immediately using an orange tab label colour. Break plugin ABI for this and the last commits. * src/build.c: Disable the Build menu item in the Build toolbar button explicitly for LaTeX files. Update the tooltip for the Build toolbar button according to the last used action. 2009-01-17 Enrico Tröger * geany.nsi: Major improvements for the Windows installer: Register ".geany" as Geany Project File extension. Show a checkbox to open the Release Notes at the end of the installation. When the installer is executed without admin privileges, install Geany only for the user. Otherwise, install Geany for All Users. Fix problems with automatic uninstallation at startup of the installation when the installation directory were different. Install GTK translation files only if installation of translation files were requested (saves about 22 MB otherwise). * src/msgwindow.c: Properly fix parsing of compiler error messages. * data/filetypes.nsis: Update keywords lists. * doc/geany.txt, src/build.c, src/build.h, src/images.c, src/toolbar.c, src/ui_utils.c, src/ui_utils.h: Add 'Build' toolbar button with a submenu for Make actions. Make use of ui_image_menu_item_new() for some menu items. Remove tooltips from menu items. * Makefile.am, geany.nsi, data/c99.tags, data/global.tags, doc/geany.html, doc/geany.txt, scripts/create_c_tags.sh, src/symbols.c, tagmanager/tm_workspace.c: Remove GTK tags (data/global.tags). Add C (C99) tags (data/c99.tags) and a script to generate them). 2009-01-16 Nick Treleaven * src/project.c, src/keyfile.c: Prevent type-punned pointer warnings with gcc 4.1. 2009-01-15 Enrico Tröger * src/main.c, doc/geany.txt, doc/geany.html, doc/geany.1.in: Rename command line option --debug to --verbose. Change short form of --version from -v to -V. * geany.glade, src/dialogs.c, src/interface.c, src/printing.c, src/search.c, src/vte.c: Remove tooltips from menu items. Don't use full stops in tooltips for short sentences. * doc/geany.txt, doc/geany.html: Add documentation for some missing options. 2009-01-14 Enrico Tröger * data/global.tags, data/latex.tags, data/pascal.tags, data/php.tags, data/python.tags, doc/geany.html, doc/geany.txt, scripts/create_php_tags.php, scripts/create_py_tags.py, tagmanager/include/tm_tag.h, tagmanager/tm_project.c, tagmanager/tm_tag.c, tagmanager/tm_workspace.c: Add a format specification in global tags files and implement an additional fallback if the specification is missing. Adjust code and scripts which generate global tags files to add the new format specification. Update global tags files. Add documentation for the two supported global tags files formats. * src/msgwindow.c: Strip the compiler error messages to fix possibly broken message parsing. * win32-config.h, src/makefile.win32: Fix Windows build: don't use GIO. Link against GIO anyways just to be safe with GTK 2.14. * geany.glade, src/highlighting.c, src/interface.c, src/keyfile.c, src/plugindata.h, src/ui_utils.h: Add GUI pref to invert all colours for syntax highlighting. 2009-01-12 Nick Treleaven * data/filetypes.vala: Add default build commands (other sections are commented out and untested). 2009-01-11 Enrico Tröger * configure.in, wscript, src/Makefile.am, src/utils.c: Fix build with GTK 2.12 by adding GIO compile and linker flags (closes #2498580). * configure.in, plugins/splitwindow.c, src/callbacks.c, src/document.c, src/document.h, src/filetypes.c, src/highlighting.c, src/keybindings.c, src/plugins.c, src/search.c, src/socket.c, src/symbols.c, tagmanager/read.h: Fix several compiler warnings and build errors (patch by Daniel Richard G., thanks). * data/snippets.conf, doc/geany.html, doc/geany.txt, src/editor.c, src/editor.h, src/keybindings.c, src/keybindings.h, src/Makefile.am, src/makefile.win32, src/plugindata.h, src/utils.c, src/utils.h, src/about.c, src/queue.c, src/queue.h, THANKS, wscript: Support multiple %cursor% wildcards in Snippets. To switch between %cursor% wildcards, use the new keybinding 'Move cursor in snippet' (patch by Thomas Martitz, thanks). * src/highlighting.c: Don't fold toplevel PHP script tags (part of #2003912). Replace remaining occurences of sptr_t by uptr_t in the third argument of SSM() calls. * plugins/Makefile.am, src/Makefile.am, src/utils.c, tagmanager/include/Makefile.am: Fix build without GIO again (sorry). Remove trailing slashes in Makefile.am's (patch by Daniel Richard G., thanks). 2009-01-09 Enrico Tröger * configure.in, win32-config.h, wscript, src/main.c, src/main.h, src/utils.c, src/utils.h: Add checks for GIO (GLib >= 2.16) support. Allow to specify files on the command line and from remote instances to be URIs (local and with GIO also remote URIs). * src/document.c, src/documentprivate.h, src/utils.c, src/utils.h: Add utils_is_remote_path(). Add private field 'is_remote' to GeanyDocument to indicate whether an opened file is locally accessed or via gvfs-fuse. 2009-01-08 Nick Treleaven * src/prefs.c, src/stash.c, src/keyfile.c: Fix using prefs dialog editor & files tab spin button values when they've just been edited and Alt-O is used to close the dialog without moving the focus. * src/prefs.c: Fix remaining spin buttons in the prefs dialog (closes #2492317). 2009-01-06 Enrico Tröger * tagmanager/basic.c: Fix some bugs in parsing FreeBasic code (#2489605). * src/build.c: Don't remove leading whitespace from compiler output for compilers like gfortran which use space for indentation in error messages. * data/filetypes.tcl: Update keyword list for Tcl/Tk 8.5. 2009-01-04 Enrico Tröger * wscript, THANKS, data/filetype_extensions.conf, src/templates.c, scintilla/KeyWords.cxx, scintilla/LexAda.cxx, scintilla/Makefile.am, scintilla/makefile.win32, src/about.c, src/editor.c, src/filetypes.c, src/filetypes.h, src/highlighting.c, src/plugindata.h: Add filetype Ada (closes #1811306 and #1765830, patch by Philipp Gildein, thanks). * src/filetypes.c, data/filetype_extensions.conf: Add *.desktop as extension for the Conf filetype. * *.*: Update copyright information * plugins/saveactions.c: Don't write the default filetype to the config if it isn't set. 2009-01-03 Enrico Tröger * src/support.h: Prevent compile errors in plugins when GETTEXT_PACKAGE is not defined. * tagmanager/make.c: Fix crash in Makefile parser when trying to read defines. 2009-01-03 Nick Treleaven * src/interface.c, src/keybindings.c, src/geanyobject.c, src/geanyobject.h, src/geany.h, src/callbacks.c, src/callbacks.h, geany.glade: Fix not switching to 2nd last used document when the last used document has been closed (#1945162). - Code changes: Move geany_object extern to geany.h. Remove CallbacksData struct. * src/toolbar.c, src/project.c, src/callbacks.c, src/keyfile.c, src/filetypes.c, src/document.c, src/plugins.c, src/main.c, src/editor.c, src/symbols.c: Remove geanyobject.h includes. Use GObject instead of unused GeanyObject argument. * doc/geany.txt, doc/geany.html: Update Scintilla regular expression info for v1.77 (character classes, ASCII escaping, character sets containing square brackets peculiarities). Adapted from SciTE doc. 2009-01-02 Nick Treleaven * src/keybindings.c, src/keybindings.h, src/main.c: Add dialog for switching to last used tab, which disappears when releasing the modifier key. (Useful once MRU switching is implemented). Connect window key-press-event in keybindings.c. * src/keybindings.c: Group some View callbacks together. 2008-12-30 Nick Treleaven * doc/geany.txt, doc/geany.html: Fix description of a Project pref (fixes #2476854). 2008-12-29 Enrico Tröger * src/symbols.c: Avoid unnecessary critical warnings when setting tooltips for the symbol list with non-UTF-8 files (closes #2473376). * geany.glade, src/interface.c, src/prefs.c: Use a GeanyWrapLabel for the project indentation settings warning text in the prefs dialog. 2008-12-28 Nick Treleaven * src/prefs.c, src/geanyobject.c, src/geanyobject.h, src/stash.c, src/stash.h, src/keyfile.c, src/plugins.c, src/main.c, src/plugins.h: Don't forget active plugins after disabling plugin support. Use Stash for plugin-related prefs. Add geany_object "save-settings" signal (for core only). Add stash_group_add_string_vector(). * src/main.c: Fix creating a new configuration directory (oops). * src/ui_utils.h, src/plugindata.h, src/stash.c, src/keyfile.c, src/search.c, src/search.h, src/ui_utils.c: Add ui_hookup_widget() macro to the API. Make saving Stash string settings NULL-safe. Move fif_extra_options search setting code to search.c. 2008-12-27 Nick Treleaven * src/interface.c, src/interface.h, src/project.c, src/project.h, src/projectprivate.h, src/stash.c, src/stash.h, src/main.c, src/editor.c, src/Makefile.am, geany.glade: Add Project Indentation prefs, which override the Editor Preferences dialog options. For new projects, these default to the editor indent prefs. - Plugins: For compatibility with this change, use editor_get_indent_prefs(). - Code changes: The Project Properties dialog is now created by Glade, but (for now) the existing options are added manually. Add GeanyProjectPrivate project field. Add stash_group_set_use_defaults(). * src/interface.c, src/prefs.c, src/prefs.h, geany.glade: Show warning label on Preferences dialog Editor tab when a project is open. Move Indentation frame to a separate tab. 2008-12-22 Nick Treleaven * src/stash.c, src/stash.h, src/keyfile.c: Rename stash_group_load() -> stash_group_load_from_key_file(). Rename stash_group_save() -> stash_group_save_to_key_file(). * src/prefs.c, src/stash.c, src/stash.h, src/keyfile.c: Remove remaining PrefEntry code, use Stash instead. Add stash_group_add_spin_button_integer(), stash_group_add_combo_box(). * src/prefs.c, src/stash.c, src/stash.h, src/keyfile.c: Add stash_group_add_combo_box_entry(), stash_group_add_entry(). 2008-12-21 Enrico Tröger * data/global.tags: Update for GTK+ 2.14.5. Command used (on Debian Sid/Experimental): 'CFLAGS=`pkg-config --cflags gtk+-2.0` geany -g gtk-2.14.c.tags /usr/include/gtk-2.0/gtk/gtk.h' * src/document.c: Only stat() files after saving for the timestamp when file_prefs.disk_check_timeout is set (to greater 0). Call realpath() on files only when opening or changing the filename but not on every save. * data/filetype_extensions.conf, data/filetypes.cmake, data/filetypes.nsis, scintilla/KeyWords.cxx, scintilla/LexCmake.cxx, scintilla/LexNsis.cxx, scintilla/Makefile.am, scintilla/makefile.win32, src/editor.c, src/filetypes.c, src/filetypes.h, src/highlighting.c, src/plugindata.h, src/templates.c, wscript: Add new filetypes CMake and NSIS. 2008-12-21 Nick Treleaven * tagmanager/rest.c: Parse sections in the order of first-used underline character, which can now be any punctuation character (as per the spec). 2008-12-19 Nick Treleaven * src/symbols.c, tagmanager/fortran.c: Use plurals for HTML symbol list parent items. Fix Fortran Types showing as Interfaces in the symbol list. * src/symbols.c: Show Structs separately from Typedefs / Enums for the C symbol list. * src/keybindings.c, src/search.c, src/editor.c: Allow Find Usage for selections even when the cursor is not at a word character. 2008-12-18 Enrico Tröger * src/editor.c: Fix too ambitious auto tag closing in HTML files inside embedded scripting languages. Complete HTML styles in is_comment_style() and is_string_style(). * src/callbacks.c, src/callbacks.h: Remove dead code. * src/editor.c, src/document.c: Remove remaining uses of doc->editor and use GeanyEditor directly. * wcript, src/build.c, src/callbacks.c, src/dialogs.c, src/document.c, src/encodings.c, src/filetypes.c, src/keybindings.c, src/keyfile.c, src/main.c, src/Makefile.am, src/makefile.win32, src/msgwindow.c, src/plugindata.c, src/plugins.c, src/prefs.c, src/project.c, src/search.c, src/support.c, src/support.h, src/templates.c, src/toolbar.c, src/tools.c, src/treeviews.c, src/ui_utils.c, src/vte.c: Move implementation of lookup_widget() into ui_lookup_widget(). Change uses of lookup_widget() to ui_lookup_widget(). Remove now unneeded support.c. Use GLib gettext macros in support.h instead of own ones. 2008-12-18 Nick Treleaven * tagmanager/html.c: Also parse headings with tags inside header tag. * src/plugins.c: On quitting, sort list of active plugins by plugin name. 2008-12-17 Enrico Tröger * src/keyfile.c: Fix broken session file support on Windows. * doc/geany.txt, doc/geany.html: Retitle the Terminal/VTE preferences tab section. Change (again) the key combinations for creating rectangular selections. * doc/Doxyfile.in, doc/plugins.dox, plugins/demoplugin.c, src/editor.c, src/editor.h, src/document.c, src/geanyobject.c, src/geanyobject.h, src/geany.h, src/plugindata.h: Add "editor-notify" to the plugin API. This signal is emitted whenever something in an editor widget changes, e.g. a character was typed. * src/editor.c: Make Ctrl-click working again to create rectangular selections when no braces and valid definitions are below the cursor (to whose would be jumped then). * src/filetypes.c, data/filetypes.fortran: Change comment character to '!' for Fortran 90 (closes #2438423). * waf, wscript: Update Waf and various small fixes for the wscript. * geany.glade, src/interface.c: Re-add can_focus flag to the notebook widgets in the preferences dialog to make keyboard navigation easier (closes #2417200). * src/dialogs.c: When allowing non-local locations in the File Open dialog, we should do this in the File Save dialog as well. 2008-12-16 Nick Treleaven * src/keyfile.c, src/keyfile.h, src/search.c, src/main.c: Remember Find in Files mode at startup. Add configuration_add_pref_group(), with separate array for GUI prefs. Move search pref group to search.c. * src/editor.c: Fix replacing %ws% and %newline% in snippets (oops). * doc/geany.txt, doc/geany.html, data/snippets.conf: Snippet indentation will be replaced according to indent mode. Minor edit of snippet docs. * src/search.c: Set Find in Files directory entry to project base path or current working directory if the current file has no path. * src/editor.c: Move %ws and %newline% replacement into snippets-only code. * HACKING: Add GDB 'Stop on warnings' and 'Running with batch commands' sections. 2008-12-15 Enrico Tröger * src/build.c: Remove checks for the executable when executing a file. The executed interpreter or the shell should handle file not found error and print appropriate messages. This makes it a bit more flexible, e.g. allowing to use gcj for Java files. 2008-12-15 Nick Treleaven * src/prefs.c, src/stash.c, src/stash.h, src/keyfile.c: Use Stash radio button prefs instead of RadioPrefEntry. Add stash_group_add_radio_buttons(). 2008-12-14 Enrico Tröger * src/editor.c: Improve auto-closing of braces, brackets and quotes (patch by Guillaume de Rorthais, thanks). * tagmanager/get.c, tagmanager/tm_work_object.c, tagmanager/tm_workspace.c: Fix a few compiler warnings about unused return values caused by recent glibc versions. 2008-12-11 Enrico Tröger * src/plugins.c, src/toolbar.c: Fix plugin toolbar icon placement. Now they are always inserted before the Quit button if it is the last toolbar element or at the end otherwise. * src/toolbar.c, src/ui_utils.c: Move ui_auto_separator_add_ref() and related code back to ui_utils.c since it's no toolbar specific code (oops). * src/symbols.c: Rename symbol list label for embedded script functions from 'Javascript functions' to 'Functions' to avoid confusion when it finds symbols from other embedded languages (part of #2317001). * src/socket.c: Update comment about using different configuration directories with multiple instance support on Windows. * doc/geany.txt, doc/geany.html: On Windows rectangular selections can only be created by pressing Ctrl and Alt where on other systems Ctrl and Shift works too. 2008-12-11 Nick Treleaven * src/utils.h, src/prefs.c, src/stash.c, src/stash.h, src/keyfile.c, src/keyfile.h, src/symbols.c: Add foreach_ptr_array() macro to utils.h. Merge toggle button prefs code into keyfile.c Stash code. Add toggle button support to Stash code. * src/interface.c, src/ui_utils.h, src/notebook.c, src/keyfile.c, doc/geany.txt, doc/geany.html, geany.glade: Add an interface pref for whether to hide additional widgets when double-clicking on document notebook tabs (off by default) - closes #2300430. * src/sciwrappers.c, src/sciwrappers.h, src/editor.c, doc/geany.txt, doc/geany.html: Make Shift+Mouse wheel scroll the editor view horizontally (#2410732). Add function sci_scroll_columns(). * src/editor.c: Make snippets only complete for the word stem to the left of the cursor (#2390597). Make snippets complete even when text is to the right of the cursor and the hidden pref is not set, unless the snippet completion key is space. Fix possible memory leak when reading current word. Add editor_read_word_stem(). 2008-12-09 Enrico Tröger * tagmanager/c.c, tagmanager/get.h: Various improvements for parsing Vala files (mainly fix handling of function attributes, fix nested types handling, add some missing keywords, patch by Colomban Wendling, thanks). * data/ui_toolbar.xml: Remove the list of available actions and instead refer to the documentation for an up to date list. * THANKS, src/about.c, src/callbacks.c, src/callbacks.h, src/images.c, src/main.c, src/toolbar.c, src/ui_utils.c, src/ui_utils.h, doc/geany.txt, doc/geany.html: Add new toolbar elements: Close All and Preferences. The icon for Close All was kindly provided by Tyler Mulligan, thanks. Remove GeanyStockItem and add ui_new_pixbuf_from_stock() as a replacement. 2008-12-09 Nick Treleaven * src/stash.c, src/stash.h, src/keyfile.c, src/keyfile.h, src/main.c: Move Stash data types to stash.c, so Stash functions could be used by plugins without breaking the ABI when appending fields. Also the user code is neater and has type checking. * src/interface.c, geany.glade: Don't expand Prefs dialog Editor->Completions tab frames. 2008-12-08 Enrico Tröger * wscript: Little reformatting. Beautify the Waf output when generating geanyfunctions.h. * src/geany.c, src/ui_utils.c, src/ui_utils.h, src/images.c: Move stock image name macro and image enum to ui_utils.h. Remove old, unused images. 2008-12-08 Nick Treleaven * src/document.c: Fix showing tooltips for notebook tab labels (oops). * src/editor.c: Fix GLib warning when user enters out of range line number in toolbar. 2008-12-07 Enrico Tröger * src/callbacks.c: Fix pressing escape in the sidebar and toolbar focus the editor. * src/keyfile.c, src/prefs.c, src/vte.c, src/vte.h: Add a setting for the VTE to enable/disable a blinking cursor. This is useful for future VTE versions where the cursor blinks by default which might be not be desirable. * geany.glade, src/callbacks.c, src/callbacks.h, src/editor.c, src/interface.c, src/main.c, src/prefs.c, src/ui_utils.c, src/ui_utils.h: Add Line number and Markers margin settings to the prefs dialog. Add View->Editor submenu and group there the Line numbers, Markers margin, Show white space, Show line endings and Show indentation guides settings. * plugins/filebrowser.c: When using the focus path entry and file list keyboard shortcuts, make sure the filebrowser tab is the current notebook tab in the sidebar (closes #2402290). * wscript: Update 'geanyfunctions.h' when using Waf. 2008-12-06 Enrico Tröger * scintilla/scintilla_changes.patch: A patch to Scintilla 1.77 containing our changes to Scintilla (these are mainly commentation character changes and the column mode editing patch). * data/ui_toolbar.xml, doc/geany.html, doc/geany.txt, geany.glade, po/POTFILES.in, src/build.c, src/callbacks.c, src/callbacks.h, src/geanyentryaction.c, src/geanyentryaction.h, src/geanymenubuttonaction.c, src/geanymenubuttonaction.h, src/interface.c, src/keybindings.c, src/keyfile.c, src/main.c, src/Makefile.am, src/makefile.win32, src/navqueue.c, wscript, src/plugindata.h, src/plugins.c, src/prefs.c, src/templates.c, src/toolbar.c, src/toolbar.h, src/ui_utils.c, src/ui_utils.h: Rewrite of the whole toolbar code. Now it is based on GtkActions and all elements can be added/removed/reordered using a simple XML file. Add GeanyMenubuttonAction and GeanyEntryAction as GtkAction subclasses to have menu buttons and text entries in the toolbar. Change the Goto line toolbar item back to a plain text entry again. * src/callbacks.c, src/geany.h, src/main.c, src/prefs.c, src/toolbar.c, src/toolbar.h, src/ui_utils.c: Add new stock icon GEANY_STOCK_SAVE_ALL. Remove code to manually update the size of the 'Save All' toolbar icon and use the GEANY_STOCK_SAVE_ALL stock icon instead. * src/ui_utils.c, src/toolbar.c: If the requested file in ui_add_config_file_menu_item() doesn't exist in the user's config directory, try reading it from the global data directory and use the contents for the new file. Add a menu item to 'Tools->Configuration files' for the toolbar UI definition. * src/Makefile.am, wscript: Install toolbar.h. * src/ui_utils.c: Fix broken recent files menus. * glade.geany, src/callbacks.c, src/callbacks.h, src/interface.c, src/keybindings.c: Remove on_go_to_line1_activate() and directly use on_go_to_line_activate() instead. * src/prefs.c, src/treeviews.c, src/msgwindow.c: Make use of ui_widget_modify_font_from_string() at various places. Set the message window font also for the scribble. * Makefile.am, wscript, geany.nsi: Add 'ui_toolbar.xml' to EXTRA_DIST, include it in the Windows installer and install it also when using Waf. 2008-12-05 Nick Treleaven * src/keybindings.c, src/sciwrappers.c, src/sciwrappers.h, src/callbacks.c, src/plugins.c, src/editor.c, plugins/geanyfunctions.h: Rename sci_cmd() to sci_send_command() to match the plugin API and fix the generated macro name. * src/plugindata.h, src/plugins.c: Add GeanyFunctions::p_msgwin to fix the prefix for generated macros. Deprecate GeanyFunctions::p_msgwindow. * plugins/saveactions.c: Fix use of filetypes_array. * src/build.c, src/plugindata.h, src/msgwindow.c, src/msgwindow.h, src/search.c, src/plugins.c, plugins/geanyfunctions.h: Rename msgwin_compiler_add -> msgwin_compiler_add_string. Rename msgwin_msg_add -> msgwin_msg_add_string. Rename msgwin_compiler_add_fmt -> msgwin_compiler_add. Rename msgwin_msg_add_fmt -> msgwin_msg_add. This fixes 2 geanyfunctions.h macros, and is more consistent with msgwin_status_add(). 2008-12-04 Enrico Tröger * src/support.c, src/support.h: Removed unused code. * src/main.c, src/document.c, src/symbols.c: Don't mark console messages as translatable. Add two comments for translators. * plugins/genapi.py: Beautify the header comments of the generated API file. Add command line option to suppress status output. * THANKS, geany.glade, src/about.c, src/editor.c, src/editor.h, src/interface.c, src/keyfile.c, src/plugindata.h, src/prefs.c: Add auto-closing of braces, brackets and quotes (patch by Guillaume de Rorthais, thanks). * geany.glade, src/interface.c: Don't mark labels of invisible menu items as translatable. 2008-12-04 Nick Treleaven * src/plugindata.h, src/document.h, doc/pluginsymbols.c, doc/plugins.dox, plugins/geanyfunctions.h, plugins/pluginmacros.h, plugins/genapi.py: Deprecate pluginmacros.h in favour of geanyfunctions.h. Move geany macro to plugindata.h. Remove geanyfunctions.h dependency on pluginmacros.h. * src/plugins.c, plugins/geanyfunctions.h, plugins/genapi.py: Allow generating macros for functions with digits in the name. Don't generate dummyprefix_scintilla_send_message and lookup_widget macros. * plugins/saveactions.c, plugins/export.c, plugins/vcdiff.c, plugins/filebrowser.c, plugins/splitwindow.c, plugins/htmlchars.c, plugins/classbuilder.c: Update to use geanyfunctions.h. * data/filetypes.common: Make whitespace setting not override background colour by default, otherwise e.g. unterminated strings in C can have inconsistent background colour when Show Whitespace is enabled. 2008-12-03 Nick Treleaven * plugins/Makefile.am, src/Makefile.am: Move target for geanyfunctions.h to plugins/Makefile.am and depend on src/plugins.c instead of all plugin API headers. * src/plugindata.h, src/plugins.c, plugins/geanyfunctions.h: Add scintilla_send_message() to the API with its own prefix, so the geanyfunctions.h macro works. Deprecate p_sci->send_message(). Add scintilla_new() to the plugin API. * src/plugindata.h, src/filetypes.c, src/filetypes.h, src/document.c, src/plugins.c, src/document.h, plugins/geanyfunctions.h: Add document_index(), filetypes_index() array accessor functions to the plugin API. 2008-12-02 Nick Treleaven * src/Makefile.am, plugins/geanyfunctions.h, plugins/Makefile.am, plugins/genapi.py: Generate plugin API header geanyfunctions.h containing macros to avoid having to type the function pointer names manually. E.g. plugin_add_toolbar_item(...) is expanded to p_plugin->add_toolbar_item(...). Note: For now, building on Windows or with Waf needs genapi.py to be run manually when adding plugin API functions. * plugins/geanyfunctions.h, plugins/demoplugin.c, plugins/genapi.py: Add header guards for geanyfunctions.h and include pluginmacros.h temporarily. Update Demo plugin. * src/ui_utils.h, src/plugindata.h, src/plugins.c, src/ui_utils.c, plugins/geanyfunctions.h, plugins/genapi.py: Add ui_lookup_widget() to plugin API (so genapi.py has a suitable prefix). Mark SupportFuncs as deprecated. Add description comment for geanyfunctions.h. 2008-12-01 Nick Treleaven * src/keyfile.c, src/vte.c, doc/geany.txt, doc/geany.html: Make VTE emulation pref hidden, because libvte only comes with an xterm termcaps file and the GUI pref can be confusing (closes #2340966). * src/stash.c, src/keyfile.c: Add G_TYPE_STRING setting support to Stash code, use in keyfile.c. * src/keyfile.c: Read show_symbol_list_expanders hidden pref even when compiled against GTK < 2.12. 2008-11-29 Enrico Tröger * src/treeviews.c: Simplify the tooltips code for the Open Files treeview. Change the dependency handling for GTK 2.12 for some features from compile time to run time. * src/editor.c, src/editor.h, src/symbols.c, src/treeviews.c, src/treeviews.h: Add editor_get_calltip_text(). Add tooltips for the symbol list items. * wscript, THANKS, data/filetypes.yaml, data/filetype_extensions.conf, scintilla/LexYAML.cxx, scintilla/KeyWords.cxx, scintilla/Makefile.am, scintilla/makefile.win32, src/filetypes.c, src/templates.c, src/filetypes.h, src/highlighting.c, src/plugindata.h, src/editor.c, src/about.c: Add new filetype 'YAML' (patch by Walery Studennikov, thanks). * src/notebook.c: Another attempt to handle tab close button size properly (based on code from Colomban Wendling, thanks). Handle "style-set" events to reset the tab close button icon size when necessary (another patch by Colomban Wendling, thanks). * data/filetypes.c: Sort the keyword list and remove C++ keywords. * data/snippets.conf: Add some default snippets for Python (patch by Colomban Wendling, thanks). * doc/geany.txt, doc/geany.html: Add Python to the list of filetypes with default global tags files. * src/filetypes.c: Fix wrongly detected PHP files as HTML if they start with HTML code. 2008-11-28 Nick Treleaven * src/utils.h, src/makefile.win32, src/stash.c, src/stash.h, src/keyfile.c, src/Makefile.am, wscript: Add foreach_c_array() macro in utils.h. Add stash.[hc] for reading/writing GKeyFile settings and (later) synchronizing widgets with C variables. Currently this only supports boolean and integer settings. Replace keyfile.c SettingEntry code with new stash code. * src/keyfile.c: Make hidden prefs use stash code. 2008-11-26 Nick Treleaven * src/utils.c, src/ui_utils.h, src/utils.h, src/geany.h, src/filetypes.c, src/main.c, src/symbols.c, src/ui_utils.c: Add 'Tools->Configuration Files' menu with items to open filetype_extensions.conf and ignore.tags. These files are also reloaded automatically when saved. - Code changes: Make app->configdir a realpath(). Add ui_add_config_file_menu_item(). Add utils_build_path(), similar to g_build_path() but (re)using a fixed buffer, so the result is never freed. * src/notebook.c: Make middle-clicking to close tabs and double-clicking to toggle widgets work also for the gap between the tab label and close button (shown when there are more tabs than fit on screen), and when middle-clicking on the close button. * src/keyfile.c, src/keyfile.h, src/filetypes.c, src/filetypes.h, src/main.c: Move configuration_read_filetype_extensions() to filetypes_read_extensions(). * doc/geany.txt, doc/geany.html: Update tips for Alt/Ctrl + mouse wheel scrolling in the editor. 2008-11-25 Nick Treleaven * src/main.c, src/symbols.c, src/symbols.h: Make 'Reload Configuration' command also reload ignore.tags. 2008-11-24 Nick Treleaven * tagmanager/c.c: Fix nested namespaces not having parent namespace scope (fixes #2141317). 2008-11-23 Enrico Tröger * src/symbols.c: Fix wrong menu item labels in the symbol list popup menu. * src/notebook.c: Add previously removed tab close icon sizing code for non-Windows systems. * src/keybindings.c: Update the Document menu when Line Breaking/Wrapping were toggled by a keybinding. * src/keyfile.c: Remember the 'Line breaking' state of documents between sessions. 2008-11-22 Frank Lanitz * THANKS: Added Andrew Drynov to list of supports of Russian translation 2008-11-21 Enrico Tröger * src/main.c: Try to fix some problems when opening files with non-Ascii characters on Windows from the command line. * plugins/export.c, plugins/saveactions.c, src/callbacks.c, src/plugindata.h, src/plugins.c, src/utils.c: Attempt to make utils_get_date_time() UTF-8 safe and add it to the plugin API. Fix misnamed str_casecmp() function in the plugin API, sorry. * src/editor.c, src/templates.c, src/templates.h: Make templates_replace_all() working on GStrings to fix various string replacement problems when using custom file templates. 2008-11-21 Nick Treleaven * src/symbols.c: Add Expand/Collapse All symbol list popup menu items. Disable symbol list sort items when there are no tags. * src/ui_utils.h, src/plugindata.h, src/plugins.c, src/symbols.c, src/ui_utils.c, plugins/filebrowser.c, plugins/classbuilder.c: Add function ui_image_menu_item_new() to the plugin API, to easily create a menu item with a stock image and a custom label. * data/html_entities.tags, THANKS: Update from file made by Tyler D'Agosta (thanks). This version includes all character entities defined by HTML 2.0, HTML 3.2, and HTML 4.0, and one (') defined in XHTML 1.0. * src/plugins.c, src/main.c: Create geany_object in main.c so core functions can use it even when plugins are disabled. * src/project.c, src/callbacks.c, src/document.c, src/editor.c: Remove now-unnecessary checks for geany_object != NULL. 2008-11-20 Nick Treleaven * src/documentprivate.h, src/symbols.c: Use radio buttons for symbol list popup menu sort items. * src/symbols.c: Fix reloading sometimes changing the symbol list sort order. 2008-11-19 Enrico Tröger * src/search.c: Rework search_close_pid() and let it handle the case when the grep command was killed externally. Fix wrong encoding handling when the chosen encoding was UTF-8 and properly skip any conversions in this case. * geany.nsi: Properly support silent installations with the Windows installer (closes #2204671). * src/build.c: Fix broken LaTeX view commands (closes #2315014). 2008-11-18 Enrico Tröger * src/notebook.c: Remove forced size requests for the tab close icon as it seems not necessary and broke the icon on Windows. * doc/geany.txt, doc/geany.html: Fix some typos. Add note about the encoding box in the Find in Files dialog. * src/document.c, src/document.h, src/notebook.c: Show the full filename of a document as tooltip on the tab labels. * src/dialogs.c, src/document.c, src/plugindata.h, src/plugins.c, src/printing.c, src/project.c, src/search.c, src/ui_utils.c, src/ui_utils.h, src/vte.c: Add ui_widget_set_tooltip_text() as a convenience function to easily set tooltips for widgets. It uses gtk_widget_set_tooltip_text() on GTK >= 2.12 otherwise the old tooltips API. * plugins/export.c, plugins/filebrowser.c, plugins/splitwindow.c, plugins/vcdiff.c: Use ui_widget_set_tooltip_text(). 2008-11-18 Nick Treleaven * src/treeviews.c: Refactor with sidebar_add_common_menu_items(). * src/treeviews.c, src/treeviews.h, src/main.c, src/symbols.c, src/symbols.h: Move symbol list popup menu code to symbols.c. Add symbols_init(). * src/templates.c, src/build.c, src/utils.c, src/utils.h, src/project.c, src/search.c, src/editor.c: Make utils_free_pointers() take an arg_count argument to prevent memory leaks. * plugins/classbuilder.c: Update utils_free_pointers(). 2008-11-16 Enrico Tröger * Makefile.am: Add 'waf' to EXTRA_DIST. * src/search.c: Capture command's stderr and log it into the Debug messages window when a Find in Files search fails. Add the project's base_path to the directory list in the Find in Files dialog if a project is open. Improve layout of the combo box labels in the Find in Files dialog. * src/search.c, src/ui_utils.c, src/ui_utils.h: Add and use ui_combo_box_prepend_text_once() to add project's base_path to the Find in Files dialog even if another project was opened. * src/build.c, src/callbacks.c, src/editor.c, src/editor.h, src/msgwindow.c, src/plugindata.h, src/plugins.c, src/sciwrappers.c, src/sciwrappers.h, src/search.c: Note: this breaks the plugin API for Editor and Scintilla functions. Rename all functions in editor.c and sciwrappers.c which are related to indicators for more consistency. * src/templates.c: Plug little memory leak. * src/utils.c: When passing NULL to utils_str_replace(), also return NULL (fixes broken new file template list). 2008-11-15 Enrico Tröger * src/search.c: Fix wrong highlighting of search results when using 'Mark' in the Find dialog. Fix possible crash when using the Find in Files dialog. Clear previously set search indicators before when using 'Mark' in the Find dialog. * data/filetypes.common: Change the default values for selection fore- and background colour to some sane values. 2008-11-14 Nick Treleaven * src/main.c: Prompt the user for whether to move the configuration directory or just quit instead. This is useful if the user is already running an older binary of Geany and the second instance is newer. * src/utils.c, src/editor.c: Fix bug with utils_string_replace_all(). Make utils_str_replace() call utils_string_replace_all() internally (for better memory management and allowing replacements to match search string). * src/editor.c: Add editor_insert_text_block() newline_indent_size argument to add fixed indentation on each newline, or -1 to read from insert_pos's line. * src/editor.c: Make auto_table() use editor_insert_text_block(). 2008-11-13 Enrico Tröger * HACKING, doc/geany.1.in, doc/geany.html, doc/geany.txt, plugins/demoplugin.c, src/geany.h, src/main.c, src/plugins.c, src/socket.c, src/utils.c, src/utils.h, src/win32.c, src/win32.h, tagmanager/options.c: Follow XDG Base Directory specification and use $XDG_CONFIG_HOME/geany (most often this is ~/.config/geany) as default configuration directory (closes #2166229). The previous configuration will be moved to the new location if the new directory doesn't exist yet. Move utils_make_settings_dir() into main.c. Remove win32_get_appdata_folder() because g_get_user_config_dir() does the same. * src/search.c: Add an encoding combo box to the Find in Files dialog to choose an encoding to use for searching (i.e. the encoding in which the search text is passed to 'grep'). * data/filetypes.latex: Remove a few duplicate keywords. 2008-11-13 Nick Treleaven * src/editor.c: Fix indenting for Tabs & Spaces mode when inserting snippets. * src/editor.c: Make function editor_insert_text_block() interpret any \t tab chars as indent widths when inserting text. * src/utils.c: Make API function utils_string_replace_all() able to make replacements that match the search string. * src/editor.c: Make editor_insert_text_block() transform any \n newline chars with the correct line ending string. 2008-11-12 Enrico Tröger * tagmanager/c.c: Fix indentation to consistently use tabs (patch by Colomban Wendling, thanks). 2008-11-12 Nick Treleaven * src/utils.c: Fix empty statements and possible memory leaks with utils_free_pointers() in utils_str_casecmp(). * plugins/splitwindow.c, src/about.c, THANKS: Add Split Vertically command (patch by Moritz Barsnick, thanks; #2219553). 2008-11-11 Enrico Tröger * doc/Makefile.am, wscript, waf: Improve the checking for 'rst2html.py' when creating HTML docs. Update Waf to 1.5.0 (final). * plugins/export.c: Use 'utf8' as encoding package in the LaTeX template as it seems it is the most used version for UTF-8 support. * src/utils.c: Evaluate only the strings 'TRUE' and 'true' to true in utils_atob(), any other string is treated as false. * src/document.c, src/plugindata.h, src/plugins.c, src/templates.c, src/utils.c, src/utils.h: Replace uses of g_strcasecmp() with our own implementation, utils_str_casecmp(). Add utils_str_casecmp() to the plugin API. * doc/Doxyfile.in, src/plugindata.h: Remove obsolete tag in Doxyfile.in. Fix doxygen warnings for undocumented enum in plugindata.h. * THANKS, src/about.c, src/templates.c: Add a file template for LaTeX (patch by Herbert Voss, thanks). 2008-11-11 Nick Treleaven * src/highlighting.c, src/plugindata.h, src/about.c, src/filetypes.c, src/filetypes.h, tagmanager/parsers.h, tagmanager/c.c, data/filetype_extensions.conf: Apply patch from Colomban Wendling to add Vala filetype (thanks). Fix c.c tagLetter() bug. * tagmanager/c.c: Use separate keyword table for D (still missing keywords though). 2008-11-10 Enrico Tröger * doc/geany.txt, doc/geany.html, src/templates.c, src/templates.c, src/editor.c: When using custom file templates, add the extension of the template file to the filename of the new document. Make {datetime} wildcard generally available for most template types. Allow use of most available wildcards for custom file templates, too. * scintilla/KeyWords.cxx: Remove unused lexers. 2008-11-10 Nick Treleaven * src/about.c, src/treeviews.c, src/treeviews.h, src/symbols.c, THANKS: Merge symbol-tree branch: Apply patch (with some reworking) from Conrad Steenberg (gnocci-man) to show methods as children of classes in the symbol list, and for other tag types to group children by their parents (thanks; #2083110). This works for any filetype that TagManager can parse tag scopes for. Fix not allowing a leading underscore when using scope name prefix. Fix symbol-tree branch bug: missing C++ constructor declaration tags. - Code changes: Use TMTag instead of GeanySymbol so the symbol tree can read the scope without parsing it. Free tag list straight after use, instead of next time the list is generated. Use TMTag pointer tree model column instead of line number. * tagmanager/conf.c: Group Conf symbol list tags by section. * src/symbols.c: Add icons for Conf symbol tree items. * src/symbols.c: Make Python symbol tree method icon look more like a function than variable. 2008-11-08 Nick Treleaven * src/editor.c, doc/geany.txt, doc/geany.html: Make Ctrl-click go to matching brace if there's no current word. * plugins/vcdiff.c, src/editor.c, src/plugindata.h, src/plugins.c: Make Version Diff plugin set the indent type for diffs based on the current file's indent type. Add editor_set_indent_type() to the API. Note: uses editor.h plugindata.h include. 2008-11-07 Enrico Tröger * src/editor.c: Don't auto close
tags in HTML (closes #2226117). * THANKS, data/filetype_extensions.conf, data/filetypes.matlab, scintilla/KeyWords.cxx, scintilla/LexMatlab.cxx, scintilla/Makefile.am, scintilla/makefile.win32, src/editor.c, src/filetypes.c, src/filetypes.h, src/highlighting.c, src/plugindata.h, src/symbols.c, src/templates.c, tagmanager/Makefile.am, tagmanager/makefile.win32, tagmanager/matlab.c, tagmanager/parsers.h, wscript: Add new filetype 'Matlab' (closes #1938631, patch by Roland Baudin, thanks). * src/dialogs.c: Allow showing remote locations in the file open dialog with GTK >= 2.14 since it works with Gvfs/FUSE mounts, too. * src/prefs.c: Plug a little memory leak. * src/document.c, tagmanager/c.c, tagmanager/entry.c, tagmanager/entry.h, tagmanager/fortran.c, tagmanager/get.c, tagmanager/get.h, tagmanager/include/tm_source_file.h, tagmanager/include/tm_project.h, tagmanager/js.c, tagmanager/read.c, tagmanager/read, tagmanager/sql.c, tagmanager/tm_source_file.c, tagmanager/tm_tag.c: Add support for updating tags from a memory buffer (code merged from Anjuta). This still doesn't work and is currently disabled. It would only work for a few filetypes like C, Fortran and JavaScript. The current implementation is still buggy, e.g. function signature parsing is broken. 2008-11-06 Nick Treleaven * src/search.c: Refactor search_show_find_in_files_dialog(). * src/search.c: Fix segfault when showing Find in Files dialog when no documents are open (r2998, #2228544). Fix segfault for FIF from last commit (oops). 2008-11-04 Nick Treleaven * src/editor.c: Fix snippets and smart indent using too much indentation when the line contains whitespace after non-whitespace characters. This might also have affected other features (auto table, etc). (Fixes #2215044). * src/prefs.c: Fix Prefs dialog Tools tab Context Action open button showing the file dialog twice (fixes #2216478). 2008-11-03 Nick Treleaven * src/callbacks.c: Fix GLib warning when pressing Close File keybinding and no documents are open. 2008-10-30 Enrico Tröger * plugins/splitwindow.c: Revert last change as it breaks (again) the primary X selection as well as the mouse cursor on the scrollbar. 2008-10-29 Enrico Tröger * plugins/splitwindow.c: Try to fix a weird bug in reparenting the notebook widget when splitting on Windows. It still occurs on unsplitting. 2008-10-27 Enrico Tröger * doc/geany.txt, doc/geany.html: Update docs for changed rectangular selection usage since Geany 0.15. * src/geanyobject.c: Replace deprecated gtk_marshal_* functions with g_cclosure_marshal_* functions and add geany_cclosure_marshal_VOID__STRING_INT_POINTER. Fix a wrong marshal type (pointer != int). * doc/Doxyfile.in, tagmanager/include/tm_source_file.h, tagmanager/include/tm_work_object.h, tagmanager/include/tm_workspace.h, tagmanager/tm_source_file.c, tagmanager/tm_work_object.c, tagmanager/tm_workspace.c: Enable generation of API documentation of tagmanager functions which are exposed in the plugin API, hide all others from the API docs. 2008-10-26 Enrico Tröger * src/document.c: Handle UTF16/32 encoded files without a BOM better and allow them to opened (#2155573, patch by Jason Oster, thanks). 2008-10-25 Enrico Tröger * src/main.c, src/plugins.c: Fix deprecated usage of g_win32_get_package_installation_directory(), pass NULL as package name. * src/main.c, src/plugins.c, src/plugindata.h: Add main_locale_init() to the plugin API. * src/callbacks.c: Fix updating of the value of the toolbar Goto line spinbutton. * doc/geany.html, doc/geany.txt, src/callbacks.c, src/editor.c, src/editor.h, src/highlighting.c, src/plugindata.h, src/plugins.c, src/sciwrappers.c, src/search.c: Add *_full variants of editor indicator functions to the plugin API for more control over indicators. Add/Update some API docs. Make the 'Mark' button for Find highlight the results with rounded boxes instead of marking the whole line. 2008-10-24 Frank Lanitz * THANKS: Added Roland Baudin to list of contributors of translations. * data/html_entities.tags: Added some more HTML entities. 2008-10-23 Enrico Tröger * src/filetypes.c: Add simple auto-detection for HTML files without proper extension. * geany.glade, src/callbacks.c, src/dialogs.c, src/dialogs.h, src/editor.c, src/editor.h, src/interface.c: Replace Goto line text entry field in the toolbar with a spin button. Remove dialogs_show_goto_line(), use the more generic dialogs_show_input_numeric() instead. Increase limit of the maximum line number from 99999 to 100000000. * doc/geany.html, doc/geany.txt, geany.glade, src/callbacks.c, src/interface.c, src/keyfile.c, src/plugindata.h, src/prefs.c, src/ui_utils.c, src/ui_utils.h: Add toolbar buttons for Cut, Copy, Paste and Delete (#2161750). 2008-10-22 Frank Lanitz * data/html_entities.tags: Add a few more entities common in e.g. Spanish language. 2008-10-22 Enrico Tröger * src/highlighting.c, data/filetypes.css: Change style for 'identifier3' to bold to be in sync with the other identifier styles. * tagmanager/general.h, tagmanager/tm_file_entry.c, tagmanager/tm_project.c, tagmanager/tm_symbol.c, tagmanager/tm_tag.c, tagmanager/tm_work_object.c: Add get_path_max() to get a sane value if PATH_MAX is not defined. Change code where PATH_MAX was used unnecessarily. Use GSlice API when building against GLib >= 2.10 (patch by Colomban Wendling, thanks). * plugins/export.c, src/build.c, src/dialogs.c, src/search.c, src/ui_utils.c, src/vte.c: Replace gtk_widget_(un)ref() with g_object(un)ref(), patch by Colomban Wendling, thanks. 2008-10-20 Frank Lanitz * src/about.c: Added Dominic Hopf to list of German translators. Removed Enrico from List. 2008-10-20 Enrico Tröger * data/html_entities.tags: Add a few more entities for punctuation (patch by Walery Studennikov, thanks). * src/highlighting.c, data/filetypes.css: Fix typo in 'pseudo_elements' keyword type name. Change style for pseudo elements to bold and italic. Change colours and bold flag for the extended_* and id styles (thanks to Jason Oster for his suggestions). * src/about.c: Use a GeanyWrapLabel for the label holding the "Some contributors" text to fix dialog oversize problems with some localisations. * src/symbols.c: Use CSS-specific symbol type names. 2008-10-20 Nick Treleaven * src/main.c, src/main.h: Support loading a project file in a new instance from the command-line. Warn user when ignoring other command-line files when a project file is the first argument. * src/main.c: Add description for -P option. * src/main.c: Fix warning about ignoring command-line files. 2008-10-19 Enrico Tröger * New release: Geany 0.15 "Quillan". * configure.in, geany.nsi, geany_private.rc, win32-config.h, wscript, doc/geany.txt, doc/geany.html, src/geany.h: Post-release version bump. 2008-10-18 Enrico Tröger * plugins/splitwindow.c: Include "support.h" for I18N support instead of to get strings translated with GLib 2.18+. * data/filetypers.tcl: Use 'tclsh' as default Compile/Run command (part of #2037728). * scintilla/*, scintilla/include/, src/plugindata.h: Update Scintilla to version 1.77. * src/highlighting.c, data/filetypes.diff: Add new style 'Changed' to filetype Diff. * autogen.sh, Makefile.am: Require automake 1.7 or later. * src/highlighting.c, data/filetypes.css: Add new styles and keyword types for filetype CSS. Remove default keywords from highlighting.c. Update CSS keyword lists and a few styles (patch by Jason Oster, thanks). * doc/images/*, doc/geany.txt, doc/geany.html: Update images for documentation. 2008-10-17 Enrico Tröger * src/keybindings.c: Make keyboard shortcuts dialog using a treeview to display the shortcuts to make it scrollable with the keyboard. 2008-10-16 Enrico Tröger * wscript, waf: Update Waf once more. * tagmanager/Makefile.am: Add variable 'regex_sources' to append to libtagmanager_a_SOURCES if necessary. 2008-10-16 Nick Treleaven * src/editor.c: Don't connect editor callbacks when creating the editor widget for the split window plugin (they didn't work anyway, except for Undo/Redo). * doc/geany.txt, doc/geany.html, NEWS: Update for missing documentation since 0.14. 2008-10-15 Enrico Tröger * geany.nsi: Add option to not create desktop and quicklaunch shortcuts. Allow skipping creation of the Start Menu folder. 2008-10-15 Nick Treleaven * src/interface.c, src/callbacks.c, src/callbacks.h, src/plugins.c, src/plugins.h, geany.glade: Show the tools menu separator if there are any items below it. * src/plugins.c, src/plugins.h, src/ui_utils.c: Fix showing desensitive widgets if no documents are open when a plugin is first loaded. Remove plugins_update_document_sensitive(). * plugins/vcdiff.c: Fix mixed indentation (prevents vcdiff.c being detected as T/S). 2008-10-14 Frank Lanitz * THANKS, src/about.c: Update of name of Korean translator. Thanks Park Jang-heon. 2008-10-14 Nick Treleaven * src/ui_utils.h, src/plugindata.h, src/plugins.c, src/ui_utils.c, doc/pluginsymbols.c: Add ui_add_document_sensitive() to the plugin API. Deprecate plugin_fields, PluginFlags - use ui_add_document_sensitive() instead. * plugins/saveactions.c, plugins/export.c, plugins/vcdiff.c, plugins/demoplugin.c, plugins/filebrowser.c, plugins/splitwindow.c, plugins/htmlchars.c, plugins/classbuilder.c: Use ui_add_document_sensitive(). Use PLUGIN_VERSION_CHECK(GEANY_API_VERSION) for internal plugins, except the Demo plugin (as an example). * doc/Doxyfile.in, doc/pluginsymbols.c: Generate API documentation for deprecated symbols. * src/ui_utils.c: Fix having a small gap before plugin toolbar items. 2008-10-13 Frank Lanitz * ko.po, LINGUAS, src/about.c, THANKS: Added Korean translation. Thanks to netkiss for translation. 2008-10-13 Nick Treleaven * src/ui_utils.h, src/plugindata.h, src/plugins.c, src/ui_utils.c, doc/Doxyfile.in, doc/pluginsymbols.c, plugins/demoplugin.c, plugins/pluginmacros.h: - API changes: Replace p_ui->get_toolbar_insert_position() with p_plugin->add_toolbar_item(), which also adds a separator when the first item is added. Add 'GeanyPlugin *geany_plugin' plugin symbol, partly to replace plugin_info (now deprecated), mainly to identify a plugin and hold private implementation fields for plugin utility functions. (plugin_info will be removed after the 0.15 release.) - Code changes: Add ui_auto_separator_add_ref() to hide separator-like widgets when their visible group elements are hidden or destroyed. * tagmanager/css.c: Fix gcc warning, wrap line. * src/plugins.c: Tidy up plugin cleanup code. * src/plugins.c: Use geany_debug() instead of g_warning() when a plugin has unresolved symbols. * src/dialogs.c: Refactor dialogs_show_unsaved_file() with run_unsaved_dialog(). 2008-10-12 Enrico Tröger * src/highlighting.c: Fix regression: clear all styles for filetype None to not break the 'invert_all' option. * src/saveactions.c: InstantSave: when opening new files from template, use the template's filetype, otherwise fall back to configured default filetype. * THANKS, src/about.c, src/symbols.c, tagmanager/css.c: Upate of the CSS parser to detect also ID and Type selectors (patch by Bronisław Białek, thanks). 2008-10-12 Frank Lanitz * src/search.c: Change of a typo in singular form of some status messages. Thanks to Jeff Bailes for reporting. 2008-10-10 Enrico Tröger * src/editor.c: Fix Ctrl-click on a word when Numpad is enabled. * src/dialog.c: Make a some labels in the File Properties dialog selectable. 2008-10-08 Nick Treleaven * plugins/splitwindow.c: Fix only updating filename label after saving the relevant document. 2008-10-07 Enrico Tröger * plugins/filebrowser.c, plugins/htmlchars.c, src/editor.c, src/msgwindow.c, src/plugins.c, src/prefs.c, src/treeviews.c: Plug some memory leaks due to some missing g_object_unref's. * src/editor.c: Fix wrong cursor positioning while line breaking when the last character on the line was a space. * src/wscript: Add missing 'mandatory' attribute for the GTK check. Change build directory to '_build_'. * geany.glade, src/interface.c: Reorder Help menu items (swap 'Keyboard Shortcuts' and 'Website'). 2008-10-07 Nick Treleaven * plugins/splitwindow.c: Add toolbar with Refresh button to sync to the current document, and an Unsplit button (reuses existing string). * src/editor.c: Fix segfault when holding Alt and scrolling editor window. * plugins/splitwindow.c: Use EditWindow structure instead of separate global variables. * plugins/splitwindow.c: Fix segfault when clicking on split window after the original document has been closed and the view has been refreshed to another document. * plugins/splitwindow.c: Refactor with set_editor(). * plugins/splitwindow.c: Add filename label. Fix Gtk warning when resplitting. 2008-10-06 Nick Treleaven * plugins/splitwindow.c: Fix wrong editor scrollbar mouse cursor and broken middle-click paste after splitting or unsplitting (fixes #2142186). Note: this is a workaround for an issue with Scintilla where the widget (or its parents) can't be removed or reparented to a non-visible widget. 2008-10-06 Enrico Tröger * geany.glade, src/interface.c: Enable interactive search for the keybindings tree view in the prefs dialog. * wscript, waf: Update waf to its latest SVN version (nearly 1.5.0). Adjust wscript to latest Waf API changes. * configure.in, wscript, tagmanager/ctags.c, src/tools.c: Use g_strerror() instead of strerror(). Remove build system checks for strerror(). 2008-10-03 Frank Lanitz * data/latex.tags: Added some more keywords for moderncv to tag list. 2008-10-02 Enrico Tröger * doc/geany.txt, doc/geany.html, po/POTFILES.in, plugins/saveactions.c, plugins/autosave.c, plugins/Makefile.am, plugins/makefile.win32: Merge InstantSave, AutoSave and BackupCopy plugins into the plugin 'Save Actions'. Add a section for documentation of internal plugins in the documentation. * doc/geany.html, doc/geany.txt, geany.glade, src/interface.c, src/keyfile.c, src/prefs.c, src/project.c, src/project.h: Add an option to store the project file of new projects inside the project base directory. Doc: Add descriptions for the Search tab in the preferences dialog. * scripts/svn-changes.sh, scripts/wafinit.sh: Remove more bashisms and avoid using 'which' which is not LSB-compliant. 2008-10-01 Nick Treleaven * HACKING, doc/Makefile.am: Reformat HACKING as true reStructuredText. Add 'make hacking-doc' target to generate hacking.html. * src/highlighting.c: Fix using common styleset for filetype None. * src/highlighting.c: Remove unused argument ft_id from styleset_common(). 2008-09-30 Enrico Tröger * src/project.c: Fix a few memleaks. Handle errors when creation of the project base directory fails. Update the window title also when creating new projects. * src/build.c: Remove inexact and unnecessary warning if a Run command has failed. 2008-09-29 Enrico Tröger * data/filetypes.r, src/highlighting.c: Fix syntax highlighting for filetype R, synchronise the colours with those other filetypes. Add two more keyword types and add many many more keywords. 2008-09-29 Nick Treleaven * doc/geany.txt, doc/geany.html: Remove use of non-greedy matching in error_regex - this doesn't seem to be supported by common versions of glibc (thanks to AC for reporting). * src/documentprivate.h, src/document.c, src/editor.c: Apply patch from Jason Oster to auto-update the line margin width as lines are added (thanks; #2129157). 2008-09-28 Enrico Tröger * geany.glade, src/interface.c, src/notebook.c: Revert previous notebook focus changes as this disables the tab scroll arrows. * scintilla/include/SciLexer.h, scintilla/include/Scintilla.iface, scintilla/KeyWords.cxx, scintilla/LexOthers.cxx, src/templates.c, src/highlighting.c, src/plugindata.h, src/filetypes.c, src/filetypes.h, src/editor.c, data/filetype_extensions.conf, data/filetypes.po: Add new filetype 'Gettext translation file' (closes #2131985). * src/highlighting.c, data/filetypes.perl: Don't use hard-coded stylebits values for different lexers, query the correct value from Scintilla and use it (this fixes a display problem with Perl code like 'sub test()'). Add missing styles for filetype Perl. * doc/Makefile.am, wscript: When generating documentation, first try rst2html.py as it is the upstream default. 2008-09-27 Enrico Tröger * src/log.c: Make the debug messages window a little bigger. Enable wrapping of messages to avoid horizontal scrolling. Automatically scroll to the end of the messages when showing the dialog or updating its contents. * src/editor.c: Make 'Line Breaking' UTF-8 safe (to work with non-ASCII characters). * autogen.sh: Cleanup. Remove unnecessary checks and code. 2008-09-26 Enrico Tröger * geany.glade, src/interface.c, src/notebook.c: Remove can_focus flag from notebook widgets to avoid focused tab labels. * doc/geany.txt, doc/geany.html, src/editor.c, src/keybindings.c, src/keybindngs.h, src/plugindata.h: Make 'Previous/Next word part' keybindings configurable. * src/editor.c: Fix unintentional switch fall-through (patch from Jason Oster, thanks). 2008-09-26 Nick Treleaven * src/editor.c: Return GEANY_AUTOINDENT_BASIC from editor_get_indent_prefs() if the per-document pref is set, even if the global mode is none. * scintilla/makefile.win32, scintilla/LexR.cxx, scintilla/KeyWords.cxx, scintilla/Makefile.am, src/templates.c, src/highlighting.c, src/plugindata.h, src/about.c, src/filetypes.c, src/filetypes.h, src/editor.c, THANKS, data/filetype_extensions.conf, data/filetypes.r: Apply patch from Andrew Rowland to add support for the R language (thanks, #2121502). * HACKING: Update to mention separate is_comment_style() and is_string_style() functions. * src/documentprivate.h, src/prefs.c, src/treeviews.c, src/notebook.c, src/document.c, src/document.h, src/editor.c, src/symbols.c, src/ui_utils.c: Use GeanyDocumentPrivate instead of using inheritance for non-public fields (this was unnecessary and meant using ugly casts). 2008-09-25 Enrico Tröger * geany.glade, src/interface.c, src/vte.c: Set the page_size parameter of GtkAdjustments to 0 instead of 10 which is set by default by Glade. This prevents breakage of spin buttons with early versions of GTK 2.14. * src/callbacks.c, src/document.c, src/editor.c, src/editor.h, src/ui_utils.c, src/keybindings.c, src/prefs.c, src/search.c, src/tools.c: Unify the API in editor.c, all public functions now take a GeanyEditor* object. * src/editor.c: When using editor_get_eol_char_* functions with an invalid editor object, return the appropriate value according to the eol character preference (just in case). * src/callbacks.c, src/document.c, src/editor.c, src/editor.h, src/highlighting.c, src/sciwrappers.c, src/sciwrappers.h: Fix using direct Scintilla access in document.c and callbacks. Add wrapper functions instead. * scripts/svn-add.sh, scripts/svn-changes.sh: Remove bashisms. 2008-09-25 Nick Treleaven * src/filetypes.c: Hopefully fix building when HAVE_REGCOMP is not defined. Add debug message when trying to parse an error regex when HAVE_REGCOMP is undefined. * src/filetypes.c, doc/geany.txt, doc/geany.html: Detect which error regex match contains the line number, and use the other match for the filename. Update 'Build system' docs for custom error regexes. * doc/geany.txt, doc/geany.html: Minor formatting changes - make the using a Makefile paragraph a note. * src/editor.c: Don't disable the per-document auto-indent pref when the global auto-indent mode is set to none (undoes part of r2981). In this case, the per-document pref just behaves like GEANY_AUTOINDENT_BASIC. 2008-09-24 Nick Treleaven * src/main.h, src/about.c, src/main.c, src/socket.c: Show SVN revision also for geany -v and first status message. Add main_get_version_string(). Rename get_argv_filename() main_get_argv_filename(). 2008-09-23 Nick Treleaven * HACKING: Move adding a lexer notes to 'Syntax highlighting' section; mention adding the LINK_LEXER command manually. Some minor edits (reST section grouping). * src/msgwindow.c: Remove ParseData::dir argument as it's not necessary for parsing; instead, use function make_absolute(). Refactor msgwin_parse_compiler_error_line(). * src/msgwindow.c, src/filetypes.c, src/filetypes.h, doc/geany.txt, doc/geany.html, HACKING, TODO: Add filetypes.* [build_settings] key 'error_regex' to support custom error message parsing using an extended regular expression. 2008-09-22 Nick Treleaven * src/editor.c, src/ui_utils.c: When the global auto-indent style pref is disabled, disable auto-indentation for all editors. Don't disable the auto-indent document pref when switching back to a document with auto-indent turned off. * src/editor.c: Fix HTML table autocompletion when the indent type is 'Tabs & Spaces' (#2118289). Add functions count_indent_size(), string_append_indent_width(). * src/editor.c: Rename get_indent() read_indent(). Fix possible overflow in auto_table(). 2008-09-21 Enrico Tröger * document.c, document.h, editor.c, editor.h, prefs.c, sciwrappers.c, sciwrappers.h: Move document_apply_update_prefs() in editor.c. Refactor get_indent_guides_from_lexer() from sciwrappers.c in editor_set_indentation_guides(). * src/editor.c: Fix broken indentation of automatic HTML table tag completion (part of #2118289). 2008-09-19 Nick Treleaven * src/sciwrappers.c: Disable indent guides for the Diff filetype, as they can be distracting as added/removed lines don't get them. * src/plugindata.h: Remove 2 unnecessary deprecated macros. * src/filetypes.c, src/filetypes.h: Add GeanyFiletypePrivate instead of using inheritance for non-public fields (this was unnecessary and meant using ugly casts). 2008-09-18 Enrico Tröger * src/ui_utils.c: Display also the style of the current position in the status bar when debug mode is enabled. No need to make the debugging strings translatable in the status bar. * src/editor.c, src/plugins.c, src/sciwrappers.c, src/sciwrappers.h: Rename the new indicator functions and add documentation comment. * src/msgwindow.c: Handle error messages and warnings from the mcs (Mono) compiler like those from Pascal or Basic compilers. 2008-09-18 Nick Treleaven * src/plugins.c: Use wrap label for the first label in the plugin manager dialog. Use scrolled window for plugin details text area to avoid resizing dialog components if a plugin has a long description. * src/plugindata.h: Fix ScintillaFuncs::indic_clear() return type, and rename to indicator_clear(). * src/interface.c, src/prefs.c, src/keyfile.c, src/document.c, src/editor.c, src/editor.h, doc/geany.txt, doc/geany.html, geany.glade: Add 'Tab key indents' pref, which replaces hidden pref 'use_tab_to_indent'; it's now on by default. 2008-09-17 Enrico Tröger * data/filetypes.css, src/highlighting.c: Add missing 'directive' style to filetype CSS (patch from Jason Oster, #2114697, thanks). * src/callbacks.c, src/editor.c, src/keybindings.c, src/plugindata.h, src/plugins.c, src/sciwrappers.c, src/sciwrappers.h, src/tools.c, src/ui_utils.c: API changes: Rename sci_can_copy() into sci_has_selection(). Rename sci_find_bracematch() into sci_find_matching_brace(). * src/main.c: Display SVN revision number in version information if available. * src/editor.c, src/highlighting.c, src/plugindata.h, src/plugins.c, src/sciwrappers.c, src/sciwrappers.h: Replace the usage of the old Scintilla indicator API by the new modern API and remove old hacks (patch by Jason Oster, thanks). Add new sci_indic_clear() function to the plugin API. 2008-09-17 Nick Treleaven * src/callbacks.c, THANKS: Cancel autocompletion on Undo/Redo (based on a patch by Jason Oster, thanks; #2102715). * src/sciwrappers.c, src/document.c: Apply patch (with minor changes) from Jason Oster to improve showing brace indent guides on empty lines when appropriate (thanks, #2105982). * doc/geany.txt, doc/geany.html: Update feature list in About Geany section. * doc/geany.txt, doc/geany.html: Edit 'About Geany' text to be more concise. A few minor fixes. 2008-09-16 Nick Treleaven * src/keybindings.c, src/sciwrappers.c, src/sciwrappers.h, src/filetypes.c: Fix Doxygen 1.5.4 undocumented parameter warnings. Improve dox for sciwrappers.c. Correct sci_grap_focus() misspelling. (Merged from split-window-plugin branch). * doc/plugins.dox: Fix wrong parameter for "project-close" signal. (Merged from split-window-plugin branch). * src/geanyobject.c, src/geanyobject.h, src/document.c, doc/plugins.dox: Add plugin signal "document-close", sent just before a document is closed. (Merged from split-window-plugin branch). * src/plugindata.h, src/plugins.c, src/editor.c, src/editor.h, po/POTFILES.in, plugins/splitwindow.c, plugins/Makefile.am, plugins/makefile.win32: Merge split-window-plugin branch. Add Split Window plugin (should work OK for viewing and basic text editing; most other features are not implemented yet). Add editor_create_widget() to the API. 2008-09-15 Nick Treleaven * src/editor.c: Show ellipsis (...) item when there are too many symbol names for autocompletion. * src/editor.c: Apply patch from Jason Oster to highlight matching brace indent guides (thanks, #2104099). * doc/geany.txt, doc/geany.html: s/auto detect/auto-detect. Minor formatting fixes. 2008-09-14 Frank Lanitz * COPYING: Fixing a little encoding issue in GPL text. * po/tr.po, po/LINGUAS, src/about.c, THANKS: Adding Turkish translation provided by Gürkan Gür. Thanks for it. 2008-09-10 Enrico Tröger * src/editor.c: When checking for starting auto completion always use the style of the previous character and remove possible error indicator styles which caused wrong checking (should fix #2058005). 2008-09-09 Enrico Tröger * data/filetypes.xml, src/highlighting.c: Add missing HTML attribute 'xml:lang'. 2008-09-08 Enrico Tröger * scripts/missing-mnemonics.sh, scripts/svn-add.sh: Remove bashisms. Add support for passing asterisk wildcards to missing-mnemonics.sh. * src/plugindata.h, src/plugins.c, src/ui_utils.c, src/ui_utils.h: Add ui_get_toolbar_insert_position() for plugins to get a position to insert new toolbar items. * src/log.c: Update the debug messages automatically in the debug messages window if it is open. 2008-09-07 Frank Lanitz * doc/geany.1.in: Little typographic update to use minus sign instead of a hyphen in the manpage. 2008-09-07 Enrico Tröger * doc/geany.html, doc/geany.txt: Update feature list. Small updates of outdated information. Remove 'Supported Systems' sub section. 2008-09-04 Enrico Tröger * geany.glade, src/build.c, src/callbacks.c, src/callbacks.h, src/interface.c, src/keybindings.c, src/main.c, src/prefs.c, src/treeviews.c, src/ui_utils.c, src/plugindata.h: Rename all toolbar widgets for consistent names. * doc/geany.html, doc/geany.txt: Fix typo. * src/callbacks.c: Add '-' (dash) to the wordchars when using 'open selected filename'. Please open a bug report if this will break any filenames. 2008-09-01 Enrico Tröger * geany.glade, src/interface.c, src/dialogs.c, src/printing.c, src/vte.c: Set 'can_focus' property on some checkboxes in the prefs dialog which were missing it. Enable 'focus_on_click' property on most checkboxes in the prefs dialog to ease keyboard navigation. * waf, wscript: Update waf to its latest SVN version (1.5.0 preview). Adjust wscript to latest Waf API changes. * HACKING, README, README.I18N, configure.in, doc/geany.1.in, doc/geany.txt, doc/geany.html, doc/plugins.dox, geany.nsi, geany.spec.in, src/geany.h: New website address: www.geany.org. Merge README.I18N with latest changes from the wiki. * doc/geany.html, doc/geany.txt, geany.glade, src/document.c, src/editor.c, src/interface.c, src/keyfile.c, src/prefs.c, src/sciwrappers.c, src/sciwrappers.h: Add 'Stop scroll at last line' editor pref (patch by Timothy Boronczyk, thanks). * src/vte.c: Mark the VTE as clean when restarting it to make Geany able to execute commands in it. * geany.glade, src/interface: Fix ambiguous tooltip of new 'Stop scroll at last line' editor pref. 2008-08-29 Nick Treleaven * doc/geany.txt, doc/geany.html: Separate runtime requirements and build requirements subsections. Mention that usually building GTK manually is not necessary. Run 'make install' as root. Add some subsection titles. * src/interface.c, src/prefs.c, src/keyfile.c, src/editor.c, src/symbols.c, src/editor.h, doc/geany.txt, doc/geany.html, geany.glade: Add 'Max. symbol name suggestions' autocompletion pref. Edit some autocompletion pref strings. Remove some trailing commas in array initializers (oops). Move GEANY_TOGGLE_MARK, GEANY_MAX_AUTOCOMPLETE_WORDS to keyfile.c. 2008-08-28 Nick Treleaven * src/symbols.c: Fix global tags loaded debug message, display total tags count. Add comment to warn about adding tags files vs. downloading separately. 2008-08-27 Nick Treleaven btinternet.com> * src/highlighting.c, src/plugindata.h, src/filetypes.c, src/filetypes.h, src/symbols.c, THANKS, tagmanager/parsers.h, tagmanager/c.c, data/filetypes.glsl, data/filetype_extensions.conf: Add OpenGL Shader Language (GLSL) filetype (patch from Colomban Wendling, thanks; closes #2060961). * src/filetypes.c, src/filetypes.h: Add GeanyFiletypeGroupID enum and GeanyFiletype::group field. * src/keyfile.c, doc/geany.txt, doc/geany.html: Change hidden pref scroll_stop_at_last_line to TRUE (#2030914). 2008-08-26 Nick Treleaven * src/highlighting.c: Add assert statements to check that the StyleSet styling arrays are not exceeded. Make highlighting_get_style() work with all filetypes. * src/highlighting.c, src/highlighting.h, src/plugindata.h: Rename HighlightingStyle to GeanyLexerStyle. Add dox for highlighting_get_style(), GeanyLexerStyle, mentioning SCI_STYLEGETFORE. * src/filetypes.c: Use pointer in init_builtin_filetypes() instead of repeating filetypes[GEANY_FILETYPES_X]->... on each line. 2008-08-25 Nick Treleaven * src/document.c, src/editor.c, src/editor.h: Add editor_destroy() to dispose of a GeanyEditor struct (in future we may want to do more than just free it). Fix editor.h dox description to be more informative for the API (and move dox from editor.h to editor.c). 2008-08-19 Nick Treleaven * src/editor.c: Fix not using auto-completion in strings and comments (patch by Jason Oster, thanks; fixes #2057979). * src/interface.c, src/callbacks.c, src/callbacks.h, geany.glade: Don't disable 'Detect from file' indent type pref when 'Tabs and Spaces' is selected. * src/document.c: Don't warn about a missing file on disk more than once (otherwise sometimes it's too difficult to close the file before getting the prompt). * src/document.c: Detect 'Tabs and Spaces' indent mode on finding one or more hard tabs before a soft tab at the start of several lines, and also when the first indent symbol count is not mainly tabs or mainly spaces. 2008-08-18 Nick Treleaven * src/document.c: Support detecting 'Tabs and Spaces' indent mode when opening a file. 2008-08-18 Enrico Tröger * scintilla/Makefile.am: Remove non-portable compiler optimisation '-Os'. * configure.in: Don't use AC_CHECK_PROG() to check for a C++ compiler as it breaks compatibility with suncc (reported by Andras Barna, thanks). 2008-08-17 Enrico Tröger * geany.nsi: Put geany.exe into a 'bin' subdirectory as well as the included GTK runtime environment to fix current hardcoded 'bin' values in GTK (see http://bugzilla.gnome.org/show_bug.cgi?id=542803). Fix missing snippets.conf in the Windows installers. Fix missing python.tags in the Windows installers. 2008-08-14 Nick Treleaven * src/notebook.c: Don't look up "scroll_arrow_hlength" and "scroll_arrow_vlength" GtkWidget properties on GTK < 2.10. * src/prefs.h, src/plugindata.h, src/plugins.c: Rename api_version GEANY_API_VERSION. Rename abi_version GEANY_ABI_VERSION. Use enums for each of these so they can be used to initialize a global variable, and add dox. * src/editor.c, doc/geany.txt, doc/geany.html: Make Ctrl-click on a word perform Go to Tag Definition (this shouldn't conflict with column editing as this uses Ctrl-Shift-click). 2008-08-13 Enrico Tröger * doc/geany.txt, doc/geany.html: Add middle-click document closing to the Tips and Tricks appendix. * src/makefile.win32: Expect GTK 2.10 libs to link against by default and remove GTK210 flag. If anyone wants to build on Windows against GTK 2.6 or 2.8 use 'make GTK280=1'. * src/support.c: Replace fprintf() with g_critical(). * src/log.c, src/win32.c: Fix logging of messages in the debug window on Windows. When '--debug' option is given on Windows, set the G_SPAWN_WIN32_DEBUG flag for more debug info for spawned processes. * src/log.c, src/main.c: Don't force debug mode when compiling with GEANY_DEBUG (this affects only the messages on stdout and stderr). Messages are logged always in the debug window. 2008-08-13 Nick Treleaven * doc/geany.txt, doc/geany.html: Add Tips and Tricks appendix. 2008-08-11 Enrico Tröger * geany.glade, wscript, src/Makefile.am, src/makefile.win32, src/callbacks.c, src/callbacks.h, src/interface.c, src/log.c, src/log.h, src/main.c: Move geany_debug() into log.c. Use GLib log/print handlers to log messages/warnings into a string for later usage. Add a debug messages window, accessable through the help menu to easily view debug messages/warnings. This might replace the extra console window on Windows. * src/prefs.c: Fix bad wording (closes #2038807). * src/log.c, src/main.c, src/makefile.win32: Remove trailing spaces. 2008-08-11 Nick Treleaven * src/editor.c: Add SCE_[CD]_COMMENTDOCKEYWORD(ERROR) comment detection to is_comment(). * src/editor.c: Fix auto-multiline comment completion for CSS. Fix doc-comment keyword styles confusing auto-multiline comment completion. * src/editor.c: Break is_comment() into comment and string detection, each called in is_code_style(). * plugins/export.c: Fix using correct hard tab width for HTML export, not just LaTeX. * src/prefs.c, src/plugindata.h, src/keyfile.c, src/editor.c, src/editor.h: Rename GeanyIndentPrefs::tab_width to hard_tab_width, and update keyfile key name. * src/interface.c, geany.glade: Change 'Tab width' label to 'Hard tab width' for clarity. 2008-08-08 Nick Treleaven * src/printing.c: Fix using correct display tab width when the Tabs & Spaces indent type is set. * src/sciwrappers.c, src/plugindata.h, src/plugins.c, src/editor.c, src/editor.h, plugins/export.c: Add sci_get_tab_width() to the API, and use it to get the correct display tab width in the Export plugin. * src/keybindings.c: Don't set plugin keybinding accels for menu items in keybindings_set_item(), so user keycombos can override them. * src/build.c, src/keybindings.c, src/keybindings.h, src/tools.c, src/prefs.c, src/plugindata.h, src/plugins.c: Rename KeyCallback GeanyKeyCallback. Rename KeyBinding GeanyKeyBinding. Rename KeyBindingGroup GeanyKeyGroup. 2008-08-08 Enrico Tröger * src/printing.c: Fix compilation with GTK >= 2.10. 2008-08-07 Nick Treleaven * src/interface.c, src/prefs.c, src/plugindata.h, src/callbacks.c, src/callbacks.h, src/keyfile.c, src/document.c, src/plugins.c, src/main.c, src/editor.c, src/editor.h, src/ui_utils.c, geany.glade, plugins/export.c, TODO: Merge changes from the custom-tab-width branch (closes #1662173). Thanks to Joerg Desch for explaining how it needs to work. Note: this breaks the plugin API for indentation editor_prefs. Add separate Width indent pref (as well as the Tab Width pref). Add 'Tabs & Spaces' Indent Type radio option pref. Add 'Tabs and Spaces' Document menu indent option. Note: Tabs & Spaces cannot be detected (yet) when opening files; default file templates still only use tabs. Set 'Detect from file' indent type setting insensitive when Tabs & Spaces is set. Don't change per-document auto-indent setting after changing default auto-indentation type. - API changes: Add GeanyIndentPrefs struct from some GeanyEditorPrefs fields. Replace GeanyIndentPrefs::use_tabs with GeanyIndentType field 'type'. Add editor_get_indent_prefs() to the API, which should be used to get the right settings for a document/editor instead of reading any struct fields. This could also support project/filetype indentation prefs quite easily. - Core code changes: Move toggle_prefs to a function toggle_items_foreach(), which takes a PREF_DISPLAY or PREF_UPDATE argument. This means the PrefEntry array can contain runtime fields, so can read pointer contents. Add pref_item_callbacks array of functions to call; toggle_items_foreach(), spin_items_foreach(), radio_items_foreach(), combo_items_foreach(). Update keyfile.c to use foreach-style functions for SettingEntry arrays, like the new PrefEntry code in prefs.c. Add get_indent_size_after_line() to replace get_indent() for clarity, and to fix Tabs & Spaces auto-indentation > basic. Remove opening-brace indent code from get_indent() as it's now in get_brace_indent(). Change editor_close_block() to use sci_get_line_indentation() for clarity. Make editor_close_block() static. Add editor_init(). 2008-08-05 Enrico Tröger * src/vte.c: Revert the recent VTE realisation changes as they don't make things better. * tagmanager/tcl.c: Fix wrong parsing of keywords if they are not followed by a space (closes #2037728). 2008-08-03 Enrico Tröger * src/vte.c: Realize the VTE widget manually (still for #1844985). * src/notebook.c: Ignore the scroll arrows when checking for a double click in the notebook tab bar (closes #2033059). 2008-08-01 Enrico Tröger * src/callbacks.c, src/vte.c, src/vte.h: Revert r2843 because it messed it Ctrl-C/SIGINT in the VTE. * src/vte.c: Initialise the VTE pid var with 0 just for safety. * src/highlighting.c, data/filetypes.sql: Add some keywords for filetype SQL (patch by Felipe Pena, thanks). 2008-07-30 Enrico Tröger * src/notebook.c: Fix signature of focus_sci(). Double clicking on free space in the tab bar opens a new file (#2003291). * src/vte.c: Start the shell in the VTE first when the VTE is actually realized to avoid strange display bugs on some systems (closes #1844985). * src/callbacks.c, src/vte.c, src/vte.h: Make Copy & Paste clipboard keybindings also work for the VTE (closes #2029675). * src/about.c, THANKS: Add a list of contributors to the About dialog. Update the THANKS file. * src/highlighting.c, data/filetypes.php: Add four new PHP 5.3 keywords (patch by Felipe Pena, thanks). 2008-07-27 Enrico Tröger * configure.in, wscript: Add support for retrieving the SVN revision number also when using a git-svn. * geany.glade, doc/geany.html, doc/geany.txt, src/editor.c, src/interface.c, src/keyfile.c, src/plugindata.h, src/prefs.c: Add a preference for the comment toggle mark string("~ " by default). * geany.glade, src/interface.c, src/vte.c: Add a small border to all notebook pages in the preferences dialog. 2008-07-25 Nick Treleaven * src/interface.c, src/ui_utils.c, geany.glade: Revert editor popup menu Current Word submenu changes. See http://lists.uvena.de/geany-devel/2008-July/000101.html. * src/sciwrappers.c, src/plugindata.h: Add dox for ScintillaFuncs. 2008-07-25 Enrico Tröger * data/filetypes.sh, src/highlighting.c: Add missing "error" and heredoc styles to filetype Shellscript (related to #2026853). * waf, wscript: Update waf to its latest SVN rev and exclude some unused modules which makes it another 20 KB smaller. Update waf script to reflect waf API changes(module Install removed). * src/editor.c: Fix wrong checks when determining whether a style is a PHP style (style SCE_HPHP_COMPLEX_VARIABLE was ignored, closes #2027235). 2008-07-24 Nick Treleaven * src/filetypes.c: Only compile filetypes_detect_from_file() if HAVE_PLUGINS is defined. * src/plugindata.h: Rename p_filetypes->detect_from_filename() to detect_from_file() in the plugin API. * src/ui_utils.c: Add dox for all UIUtilsFuncs. * src/plugindata.h, src/document.c: Rename document_new_file() argument to utf8_filename. * src/project.c, src/project.h, src/geany.h: Add dox for GeanyApp, GeanyProject. Move GeanyProject typedef to project.h, as it is rarely used without including project.h. * src/plugindata.h, src/document.c, src/document.h: Add more dox explaining how to use documents_array (moved from document.h, to minimise rebuilding after adding dox). Remove some mentions of document indexes in document.c comments. * src/vte.c: Change VTE restart command to not call vte_terminal_fork_command() - this should prevent the hang reported in #1990323 with VTE 0.16.14. Note that with VTE 0.16.14 the reset sometimes leaves a blank terminal, but pressing enter makes it then behave as normal. 2008-07-23 Nick Treleaven * src/utils.c, src/utils.h, src/plugindata.h, src/callbacks.c, src/plugins.c, src/main.c, src/main.h, plugins/pluginmacros.h: Move utils_reload_configuration() to main.c. * src/main.c: Add doxygen file header for generating MainFuncs API documentation. * src/plugindata.h, src/filetypes.c, src/filetypes.h, src/document.c, src/plugins.c: Add dox for FiletypeFuncs and some of GeanyFiletype. Rename filetypes_detect_from_file() to filetypes_detect_from_document(). Rename filetypes_detect_from_filename() to filetypes_detect_from_file() because it also detects shebang lines. Remove function prototype comments for filetypes.h (see filetypes.c or API dox instead). * src/ui_utils.c: Add dox for GeanyMainWidgets. 2008-07-22 Enrico Tröger * scintilla/LexHTML.cxx: Backport latest HTML/PHP lexer fixes from Scintilla CVS (#2024387). * src/editor.c: Fix space-only indentation when auto-generating HTML tables (patch by Colomban Wendling, thanks, closes #2023160). 2008-07-21 Nick Treleaven * src/main.c, src/socket.c, src/main.h: Fix filename encoding for new files at startup from the command-line. Make socket open command support filename:line:column syntax. * src/interface.c, src/prefs.c, src/keyfile.c, src/document.h, src/main.c, geany.glade: Add new Files pref 'Allow new documents from the command-line'. * src/interface.c, geany.glade: Rename above pref 'Open new documents...'. Group encodings prefs together in the Files tab. 2008-07-20 Enrico Tröger * src/keybindings.c: Add menu item accelerators first after default and user keybindings have been read to avoid that menu item accelerators of user keybindings can't be overridden anymore (closes #2021703). * src/callbacks.c, src/plugindata.h, src/plugins.c, src/utils.c, src/utils.h: Move code to reload configuration files into utils_reload_configuration() and add it to the plugin API. 2008-07-18 Enrico Tröger * plugins/classbuilder.c, plugins/demoplugin.c, plugins/export.c, plugins/filebrowser.c, plugins/htmlchars.c, plugins/vcdiff.c, src/about.c, src/build.c, src/dialogs.c, src/document.c, src/editor.c, src/encodings.c, src/filetypes.c, src/gb.c, src/main.c, src/msgwindow.c, src/notebook.c, src/plugins.c, src/prefs.c, src/printing.c, src/project.c, src/search.c, src/templates.c, src/tools.c, src/treeviews.c, src/ui_utils.c, src/vte.c: Rename "delete_event" to "delete-event". Remove some unnecessary GObject casts in g_signal_connect() calls. * src/geanywraplabel.c: Remove unnecessary finalize() function. * plugins/classbuilder.c: Encourage single header includes as it is necessary with GTK 2.14+. * src/treeviews.c: Handle tooltip requests for items in the open files tree view properly by using gtk_tree_view_get_tooltip_context(). 2008-07-17 Nick Treleaven * src/ui_utils.c, src/ui_utils.h, src/main.c: Move widget array lookups from main.c to ui_utils.c. * src/interface.c, src/keybindings.c, src/keybindings.h, src/callbacks.c, src/callbacks.h, geany.glade: Add Find Document Usage popup menu command & keybinding. * src/interface.c, src/ui_utils.c, geany.glade: Move editor popup menu current word items to submenu. 2008-07-15 Enrico Tröger * data/filetypes.fortran: Add missing keywords: 'elemental', 'pure' and 'procedure' which also fix broken folding (patch by Henrik Holst, thanks). * src/document.c: Enforce focus grabbing when creating new documents (closes #2018427). 2008-07-15 Nick Treleaven * src/build.c, src/utils.c, src/utils.h, src/keybindings.c, src/printing.c, src/tools.c, src/prefs.c, src/navqueue.c, src/plugindata.h, src/treeviews.c, src/msgwindow.c, src/callbacks.c, src/notebook.c, src/keyfile.c, src/filetypes.c, src/search.c, src/document.c, src/document.h, src/main.c, src/editor.c, src/symbols.c, src/editor.h, src/symbols.h, src/ui_utils.c, plugins/export.c, plugins/vcdiff.c, plugins/htmlchars.c, plugins/classbuilder.c: Merge the editor-struct branch: Note: this breaks the plugin API for editor-related document fields and functions. Split new GeanyEditor struct type from GeanyDocument fields sci, line_wrapping, auto_indent, scroll_percent, use_tabs, line_breaking. GeanyEditor::document allows access back to document fields. Add GeanyDocument::editor field; this is only valid when the document is valid, and NULL otherwise. This means any checks for doc->editor->scintilla != NULL will segfault for invalid documents - check against doc->is_valid or doc->editor != NULL instead. Change plugin API EditorFuncs to use GeanyEditor pointers. Make editor_set_font() take a pango-style font string, and use a GeanyEditor pointer. Use GeanyEditor* instead of GeanyDocument* in editor.c (most global editor functions still need conversion though, but this may be done gradually or as required). Move utils_get_current_function() to symbols.c. Move utils_replace_filename() to document.c. * plugins/filebrowser.c: Show '..' item when the current folder is empty (fixes #2015121). Replace is_top_level_directory() code by checking g_path_skip_root(). * src/plugins.c: Prevent warning when trying to load an active plugin at startup that doesn't exist on disk any more. 2008-07-14 Enrico Tröger * data/filetype_extensions.conf, data/filetypes.f77, data/filetypes.fortran, scintilla/KeyWords.cxx, src/document.c, src/editor.c, src/filetypes.c, src/filetypes.h, src/highlighting.c, src/msgwindow.c, src/plugindata.h, src/symbols.c, src/templates.c, tagmanager/fortran.c, tagmanager/parsers.h: Split filetype Fortran into Fortran 77 and Fortran 90. 2008-07-13 Enrico Tröger * data/snippets.conf, doc/geany.html, doc/geany.txt, src/editor.c: Add support to use template wildcards in snippets. * src/editor.c, src/templates.c, src/templates.h: Use templates_replace_all() also for snippet completion. * geany.glade, doc/geany.html, doc/geany.txt, src/editor.c, src/interface.c, src/keyfile.c, src/plugindata.h, src/prefs.c, src/templates.c, src/templates.h: Add preferences for year, date and datetime format of the corresponding template wildcards to make them more flexible. 2008-07-12 Enrico Tröger * plugins/classbuilder.c: Fix some formatting issues. Add 'static' keyword to generated finalize() function in GTK classes. 2008-07-10 Nick Treleaven * plugins/pluginmacros.h: Remove deprecated struct field macros (this fixes building Geany when GEANY_DISABLE_DEPRECATED is not set, fixes #2014586). 2008-07-07 Nick Treleaven * tagmanager/haskell.c: Fix infinite loop when parsing datatypes (fixes #2011356). * src/editor.c: Make line breaking work with multi-line comment completion and 'Newline strips trailing spaces' pref. * doc/plugin-symbols.c, doc/Makefile.am, doc/plugins.dox: Rename plugin-symbols.c pluginsymbols.c. * src/plugindata.h, doc/plugins.dox, plugins/export.c, plugins/vcdiff.c, plugins/demoplugin.c, plugins/filebrowser.c, plugins/htmlchars.c, plugins/autosave.c, plugins/pluginmacros.h, plugins/classbuilder.c: Remove deprecated macros and typedefs (except DOC_IDX_*), as some of them are likely to cause naming conflicts and all plugins will need updating since 0.14 anyway. Add geany macro that simply expands to geany_data. Deprecate app, main_widgets, prefs, project macros, as the geany macro can be used instead. 2008-07-05 Enrico Tröger * doc/plugins.dox, src/editor.c, src/geanyobject.c, src/geanyobject.h, src/plugindata.h: Rename signal "populate-edit-menu" into "update-editor-menu". * scintilla/LexHTML.cxx: Revert the change of rev2072: Fix syntax colouring bug when using '?>' in a PHP comment (closes #1838854 and #1848518). 2008-07-04 Nick Treleaven * src/keybindings.c: Group focus keybinding callbacks together. 2008-07-03 Nick Treleaven * src/utils.c, src/editor.c: Fix memory leak in utils_find_open_xml_tag() when size < 3, and only allocate string when '<' found. Factor insert_closing_tag() from handle_xml(), fixing a memory leak when ignoring tags like
. * src/keybindings.c: Avoid flickering the menu bar when 'Override Geany keybindings' Terminal pref is set. * src/editor.c: Fix possible segfault for XML tag completion when no '<' brace could be found. * src/document.c: Ensure all opened documents are colourised before being drawn (should happen anyway in document_set_filetype(), but just in case). * src/keybindings.c, src/keybindings.h: Add 'Switch to Compiler' keybinding (useful when checking build progress). 2008-07-03 Enrico Tröger * src/utils.c: Fix unnecessary 40 character limit for auto-closing XML tags (closes #2007278). * src/keyfile.c: Fix broken session file support with more than 99 files (closes #2007288). * src/symbols.c: Load "ignore_tags" file before generating global tags file. * src/editor.c: Move the checks for HTML entity completion into an own function to increase readability. Remove workaround for a wrong styling on last character and replace it with proper style reading (patch by Jason Oster, thanks). 2008-07-02 Nick Treleaven * src/keybindings.c: Fix behaviour of Home and End keys in non-editor widgets when they are set as keybindings for Go to Line Start/End. This uses a new ignore_keybinding variable because changing KeyCallback to return gboolean would break plugin keybindings. * src/plugindata.h, src/plugins.c: Add document_close() to the plugin API. 2008-07-01 Nick Treleaven * src/treeviews.c, src/callbacks.c, src/document.c, src/document.h: Add function document_close(). 2008-06-30 Enrico Tröger * waf, wscript: Update waf to its latest SVN rev which makes it 20 KB smaller. Update waf script to reflect waf API changes. * src/filetypes.c, src/filetypes.h, src/highlighting.c, src/templates.c: In templates_free_templates() destroy also file template menu items. Add reload argument to filetypes_load_config() to allow re-reading of the settings. * src/editor.c, src/editor.h, src/keyfile.c, src/keyfile.h, src/main.c: Move code to read snippets configuration to editor.c. Split editor_snippets_free() from editor_finalize(). * src/interface.c, src/callbacks.c, src/callbacks.h, geany.glade: Add Tools menu item to reload configuration data (at the moment: templates, filetype extensions/configs and snippets). 2008-06-30 Nick Treleaven * src/ui_utils.c: Use a dynamic pointer array for document sensitive widgets, so it's easy to group widget names together in the source. Make 'Close other documents' menu item document-sensitive. * src/ui_utils.c: Fix stack corruption (cannot use stack GPtrArray as this is just a base-class for private GRealPtrArray). 2008-06-28 Enrico Tröger * src/socket.c: When opening files remotely using the socket, handle filename encoding better and try to auto-detect the used encoding as it might be different each time (hopefully closes #2003980). * src/editor.c: Attempt to make editor_find_current_word() Unicode-safe. Note: this can be done better. * doc/plugins.dox, src/editor.c, src/geanyobject.c, src/geanyobject.h, src/plugindata.h: Add plugin signal "populate-edit-menu" to notify plugins when the editing menu is shown. 2008-06-27 Nick Treleaven * src/interface.c, src/callbacks.c, src/callbacks.h, geany.glade: Add 'Close Other Documents' File menu command (#1976724). * src/keybindings.c, src/keybindings.h, src/editor.c: Add Go to Start/End of Line keybindings (#1996175). 2008-06-26 Nick Treleaven * src/vte.c, src/vte.h: Move struct _VteTerminal, VteFunctions from vte.h to vte.c. Call vte_restart() in vte_keypress() as the code is the same. * src/build.c, src/build.h, src/msgwindow.c: Add Previous Error menu item. * src/build.c, src/keybindings.c, src/keybindings.h: Add keybindings for Previous Message, Previous Error commands (#1931125). 2008-06-25 Nick Treleaven * src/interface.c, src/prefs.c, src/keyfile.c, src/search.c, src/search.h, geany.glade: Move 2 search prefs to new Search tab of Preferences dialog. Add new search pref: 'Use the current file's directory for Find in Files' (#1930435). Add PrefEntry struct which is used for an array containing widget names to lookup; currently only used for 3 search-related GtkToggleButton prefs. Add SettingEntry struct which is used for an array containing keyfile key and group information; currently only used for 3 search-related gboolean settings. * src/interface.c, src/ui_utils.h, src/msgwindow.c, src/callbacks.c, src/callbacks.h, src/ui_utils.c, geany.glade: Add Previous Message menu item. Don't abbreviate Find Prev Selected. Add ui_tree_view_find_previous(). Set Next Message menu item sensitivity when clicking on Search menu. Thanks to Beau Barker (skip76) for an initial version of ui_tree_view_find_previous() (see #1931125). 2008-06-24 Nick Treleaven * src/keybindings.c: Make keyboard shortcuts dialog non-modal (#1999384). * src/interface.c, doc/geany.txt, doc/geany.html, geany.glade: Split Preferences dialog Editor tab into a sub-notebook, with Features, Completions and Display pages. This also reduces the minimum height of the Preferences dialog. 2008-06-21 Nick Treleaven * src/win32.c: Fix Windows build. 2008-06-20 Nick Treleaven * src/document.c, src/documentprivate.h: Don't colourise any documents until they need to be drawn. This should make Save All faster for filetypes that support typename highlighting, and makes the document_delay_colourise(), document_colourise_all() functions redundant (they'll be removed in the next commit). Note: I'll move on_editor_expose_event() to editor.c. * src/dialogs.c: Use stack buffers for g_vsnprintf() instead of heap allocation. * src/callbacks.c, src/keyfile.c, src/document.c, src/document.h, src/main.c, src/socket.c: Remove document_delay_colourise(), document_colourise_all(). * src/document.c, src/editor.c, src/editor.h: Move on_editor_expose_event(), create_new_sci() to editor.c. Make on_editor_button_press_event() and on_editor_scroll_event() static. 2008-06-19 Enrico Tröger * src/dialogs.c, src/dialogs.c: Add dialogs_show_input_numeric(). * geany.glade, src/callbacks.c, src/callbacks.h, src/editor.c, src/editor.h, src/interface.c: Add "Replace spaces by tabs". * doc/geany.txt, doc/geany.html, src/keybindings.c, src/keybindings.h, src/plugindata.h: Add keybindings for Line wrapping, Line breaking, Toggle fold and Replace Spaces by tabs. Refactor different document keybindings callback functions into cb_func_document_action(). * src/editor.c: Improve scrolling on wrapped lines to avoid having search results on wrapped lines but outside of visible lines. * src/editor.c: Allow symbol auto completion in embedded JavaScript in HTML files (closes #1997409). * src/document.c, src/editor.c, src/editor.h: Allow scrolling page by page by holding down the Shift or Alt key (closes #1995405). * src/msgwindow.c: Add "Copy All" to the popup menu of the Status, Compiler and Messages treeviews to copy all items to the clipboard. * src/editor.c: Scroll by page only when Alt key is held to avoid possible conflicts. 2008-06-18 Nick Treleaven * src/build.c, src/utils.c, src/win32.c, src/ui_utils.h, src/build.h, src/utils.h, src/keybindings.c, src/printing.c, src/printing.h, src/tools.c, src/tools.h, src/project.c, src/encodings.c, src/prefs.c, src/dialogs.c, src/dialogs.h, src/navqueue.c, src/geanyobject.c, src/plugindata.h, src/navqueue.h, src/geanyobject.h, src/geany.h, src/treeviews.c, src/msgwindow.c, src/callbacks.c, src/notebook.c, src/treeviews.h, src/msgwindow.h, src/callbacks.h, src/notebook.h, src/keyfile.c, src/vte.c, src/filetypes.c, src/search.c, src/filetypes.h, src/search.h, src/document.c, src/plugins.c, src/document.h, src/main.c, src/editor.c, src/symbols.c, src/socket.c, src/editor.h, src/symbols.h, src/ui_utils.c, doc/plugins.dox, plugins/export.c, plugins/vcdiff.c, plugins/filebrowser.c, plugins/htmlchars.c, plugins/autosave.c, plugins/classbuilder.c: Merge the document-pointer branch. Note: this breaks the plugin API for document functions, document signal callbacks, msgwin_msg_add() and navqueue_goto_line(). Make all DocumentFuncs use a GeanyDocument* instead of an integer index, so there's no need to access the documents array or use DOC_IDX_VALID() - usually just check for non-NULL. Pass a document pointer to the callbacks of all "document-*" signals. Add GeanyDocument::index field for use with the documents array. Remove DocumentFuncs::get_cur_idx() - use get_current() instead. Replace DocumentFuncs::get_n_idx() with get_from_page(). Rename DocumentFuncs::find_by_realpath() to find_by_real_path(). Replace DocumentFuncs::remove() with remove_page(). Add 'changed' argument for DocumentFuncs::set_text_changed(). Make NavQueueFuncs and MsgWinFuncs use a GeanyDocument* instead of an integer index. Add DOC_VALID() macro. Add deprecated DOC_IDX() macro to get the document index from a possibly NULL pointer; deprecate macro DOC_IDX_VALID. These macros can make porting outside plugins easier; of course, it is better to rewrite the code to use document pointers. Use document pointer instead of an index to the documents array everywhere in the core code. Rename utils_check_disk_status() in document_check_disk_status() and move it into document.c. Adjust plugins to work with these changes. Add dox for document_set_filetype(). Rename debugging function doc() doc_at() to avoid conflicts. Update plugin signals dox. 2008-06-17 Enrico Tröger * geany.glade, src/interface.c, src/keybindings.c: Fix spelling of a few strings (mostly BE -> AE). * src/build.c: Fix executing commands in the VTE. 2008-06-17 Frank Lanitz * THANKS: Small update of Polish translation provided by Krzysztof Troska. Thanks for it. 2008-06-15 Enrico Tröger * tagmanager/python.c: Fix a regression introduced in latest bug fixes and fix some indentation and comments. * wscript: Add compiler flags to supress Scintilla warnings. Fix old usage of build.env. Make configure-only options only available when actually configure is used. * scintilla/ScintillaGTK.cxx: Backport string casts from Scintilla CVS to avoid compiler warnings. 2008-06-11 Enrico Tröger * tagmanager/python.c: Use proper quoted multi-line string check from CTags SVN. * src/geanyobject.c: Fix wrong marshal type (pointer != int). * scripts/wafinit.sh: Create Makefiles for src, tagmanager and scintilla sub directories to be able to run make from within Geany. * scintilla/scintilla-marshal.c: Updated generated marshal code for Scintilla. 2008-06-10 Enrico Tröger * src/utils.c: Allow and use arguments to the browser command (closes #1989575). Add 'xdg-open' as first browser fallback. * tagmanager/python.c: Fix endless loop when there are two triple strings on one line inside a multiline string. * Makefile.am, data/python.tags, scripts/create_py_tags.py, src/symbols.c: Add create_py_tags.py to create a global tags file for Python (thanks to Dominic Hopf). Add generated Python tags file (Python 2.5). * data/php.tags, scripts/create_php_tags.php, tagmanager/tm_tag.c: Change format of PHP tags file to internal tagmanager format since it is auto-generated and is read maybe a little bit faster. Add auto-generated notice and timestamp at the beginning of the file. 2008-06-10 Nick Treleaven * tagmanager/python.c: Remove unnecessary vStringClear(name) calls after using the name buffer, as the convention is now to clear the buffer before use, and this is easier to remember to do. 2008-06-09 Enrico Tröger * scintilla/makefile.win32: Compile Scintilla without threading support to fix freezes with GLib >= 2.16 on Windows. * doc/Makefile.am: Remove useless path separator. * configure.in: Set $(docdir) if it is not set automatically. * geany.nsi, plugins/makefile.win32, src/makefile.win32, src/main.c, src/plugins.c: Windows changes: Install plugins into lib/ not into plugins/. Don't link against libiconv when compiling against GLib 2.14 and above (it's statically linked into GLib). Install Geany's message catalogs into share/locale rather than lib/locale as GTK does since 2.12.2. 2008-06-09 Nick Treleaven * tagmanager/python.c: Fix variable names sometimes having leading junk characters. * tagmanager/python.c: Refactor using findVariable(). 2008-06-07 Frank Lanitz * THANKS, src/about.c: Added Anna Talianova to list of contributers for Czech translation. 2008-06-08 Enrico Tröger * doc/geany.html, doc/geany.html, src/encodings.c: Fix two ambiguous encoding names for better compatibility with libiconv (closes #1986134). Improve the regular expression for detecting encoding cookies to allow more variants (e.g. "encoding: utf-8"). * tagmanager/python.c: Use Python from CTags SVN. Adapt variable parsing code from the old parser code. Fix three bugs (see CTags bugs #1988026, 1988027 and 1988130). * waf: Update Waf to its latest SVN version. * wscript: Don't update po files on normal build, add target --update-po for this task. Fix wrong handling of CCFlags and CXXFlags which caused the build to hang if CFLAGS were not already set. Don't make checks for header files and functions mandatory. Update some method names to latest API changes in Waf. Various other small fixes. Fix indentation of two lines. List source files explicitly to avoid compiling foreign source files. * scintilla/include/Scintilla.h, scintilla/include/Scintilla.iface, scintilla/ScintillaBase.cxx: Backport AutoCCancelled event implementation from Scintilla CVS. * src/editor.c: Reshow a previously shown calltip if an auto completion list was cancelled. 2008-06-07 Frank Lanitz * src/prefs.c: Update of a string for adding a missing full stop. 2008-06-06 Enrico Tröger * src/ui_utils.c: Display current file position in the status bar when compiled with GEANY_DEBUG. * configure.in, Makefile.am, geany.desktop.in.in, geany.desktop.in: Rename geany.desktop.in.in in geany.desktop.in as we need to process it only once. * plugins/vcdiff.c: Fix diff output when files were manually added with 'git add' in GIT repositories (patch by Yura Siamashka, thanks). * wscript: Remove unused imports. Remove hacks for Doxyfile.in and geany.desktop.in. Move htmldoc and apidoc targets into shutdown(). 2008-06-06 Nick Treleaven * src/utils.c: Check that the current file is still on disk as well as checking the modification time. Also fix the document last_check assignment so that the disk is only polled every file_prefs.disk_check_timeout seconds (not sure how this got missing - maybe it was my fault?). * src/editor.c: Revert use of SCN_PAINTED - this is called much more often than SCN_UPDATEUI and slows down Geany. 2008-06-05 Enrico Tröger * Makefile.am, waf, wscript, scripts/wafinit.sh: Add alternative build system: Waf. Use wafinit.sh to create a Makefile and configure files. * configure.in, wscript, tagmanager/entry.c: Remove check for unistd.h, assume it is available (already often used without checking). 2008-06-05 Nick Treleaven * src/document.c: Only set GeanyDocument::real_path when the file exists on disk - after a successful save or open. * src/keyfile.c: Only save session documents that have existed on disk (don't save documents with a filename set but have never been saved). * src/document.c: Only reorder recent files on closing documents that have existed on disk. * src/dialogs.c: Fix segfault after Save As (oops). 2008-06-04 Enrico Tröger * src/dialogs.c: Restore the previous state of main_status.quitting status when asking for reload a changed file instead of setting it to true. * src/dialogs.c, src/document.c: Change preprocessor checks for sys/time.h and remove unnecessary sys/stat.h check. * configure.in, src/gb.c: Remove useless or unused configure checks. * doc/Makefile.am: Install THANKS file by default. 2008-06-03 Nick Treleaven * src/build.c, src/dialogs.c, src/document.c, src/document.h, src/msgwindow.c, src/navqueue.c, src/plugindata.h, src/plugins.c, src/symbols.c, src/win32.c: Note: this breaks the plugin API for plugins using document_find_by_filename(). Make document_find_by_filename() take only a utf8_filename argument, and now match any documents that have a filename set but aren't saved on disk. Add document_find_by_realpath() to the plugin API. Add filename argument for document_save_file_as(). Add GeanyDocument::real_path field, which if non-NULL indicates the file once existed on disk (not just as an unsaved document filename). * plugins/vcdiff.c: Fix using wrong encoding for document filename when doing a directory diff. Replace find_by_filename() with p_document->find_by_filename() (now it does the same job). 2008-06-03 Enrico Tröger * src/main.c: Fix slightly wrong preprocessor checks. * src/dialogs.c: When quitting, prevent inconsistent GUI elements when cancelling on an unsaved file. 2008-06-02 Nick Treleaven * src/documentprivate.h, src/prefs.c, src/plugindata.h, src/treeviews.c, src/callbacks.c, src/notebook.c, src/document.c, src/document.h, src/editor.c, src/symbols.c, src/Makefile.am, src/ui_utils.c: Move GeanyDocument GUI elements and saved_encoding to private Document struct which inherits from GeanyDocument. This is to hide implementation fields from the plugin API, so that we can change them if necessary. Add DOCUMENT() macro to convert a GeanyDocument* to a Document*. Also move UNDO_*, FileEncoding to documentprivate.h. Move undo_action struct to document.c. * src/utils.c: Reload a changed document immediately on user clicking reload (waiting was not related to the now fixed reload-colourise problem). * src/document.c: Fix possible document double-colourise after reloading a file. * src/editor.c: Cancel any autocompletion list when completing a snippet. 2008-05-30 Nick Treleaven * src/plugindata.h: Add deprecated macro for doc_array. * src/editor.c: Allow line breaking after typing any character, not just wordchars. * src/editor.c: Handle non-Scintilla GUI updates after SCN_PAINTED instead of SCN_UPDATEUI to hopefully appear more responsive to typing. 2008-05-29 Enrico Tröger * src/project.h, src/plugindata.h, src/geany.h, src/filetypes.h, src/document.h: Remove underscore prefix from some struct names. 2008-05-29 Nick Treleaven * src/build.c, src/utils.c, src/win32.c, src/keybindings.c, src/printing.c, src/tools.c, src/prefs.c, src/dialogs.c, src/navqueue.c, src/plugindata.h, src/treeviews.c, src/msgwindow.c, src/callbacks.c, src/notebook.c, src/keyfile.c, src/vte.c, src/filetypes.c, src/search.c, src/document.c, src/plugins.c, src/document.h, src/main.c, src/editor.c, src/symbols.c, src/socket.c, src/ui_utils.c, plugins/export.c, plugins/vcdiff.c, plugins/filebrowser.c, plugins/htmlchars.c, plugins/autosave.c, plugins/pluginmacros.h, plugins/classbuilder.c: Note: this breaks the plugin API. Replace doc_array with documents_array, a pointer array. This is necessary to avoid breaking the ABI every time a field is added to GeanyDocument. Remove deprecated pluginmacros.h documents macro, to avoid a conflict. Replace doc_list[] macro with documents[] macro, which returns a GeanyDocument pointer. 2008-05-28 Enrico Tröger * doc/geany.css, doc/geany.html: Add media types for screen and print to have a clean version of the manual for printing. * plugins/Makefile.am: Add again all GTK libraries to linker flags for each plugin. 2008-05-28 Nick Treleaven * src/plugindata.h, src/plugins.c, doc/plugin-symbols.c, plugins/demoplugin.c, plugins/filebrowser.c, plugins/autosave.c: Note: this breaks the plugin API. Remove plugin symbol configure(). Add plugin symbol plugin_configure() which is used to tell Geany a widget to pack into the plugin preferences dialog, and connect a response callback for when the dialog receives a user decision. This allows Geany to in future implement a common preferences dialog for all plugins, without breaking the plugin API/ABI. Add Apply button for plugin preference dialogs (to indicate plugins should handle the apply response as well as OK, as a multiple plugin configuration dialog would want an apply button). 2008-05-27 Nick Treleaven * src/plugins.c: Fail to load a plugin if it has no plugin_init() function. * src/plugins.c: Make plugin_free() act like a destructor only, let pm_dialog_response() call a separate function to only free non-active plugins. 2008-05-26 Nick Treleaven * src/plugins.c: Move all symbol lookups except plugin_set_info() into plugin_init(). Add debug message for missing init() function in a plugin. * src/plugindata.h, src/plugins.c, doc/plugin-symbols.c, doc/plugins.dox: Add plugin_ prefix for plugin symbols version_check, init and cleanup. Deprecate init and cleanup; update PLUGIN_VERSION_CHECK macro. Add a debug message and fail to load a plugin if it has no plugin_version_check() function. Check that plugin keybinding names have been set in plugin_init(), otherwise print a debug message and ignore all of them. * plugins/export.c, plugins/vcdiff.c, plugins/demoplugin.c, plugins/filebrowser.c, plugins/htmlchars.c, plugins/autosave.c, plugins/classbuilder.c: Fix plugins to compile with GEANY_DISABLE_DEPRECATED. 2008-05-23 Nick Treleaven * src/plugindata.h, src/plugins.c, doc/plugin-symbols.c, doc/plugins.dox: Make GeanyCallback, geany_callbacks deprecated, and replace with PluginCallback, plugin_callbacks. This is because the array is owned by the plugin, not Geany. * src/plugindata.h: Increment plugin ABI, API versions for plugin_callbacks change. * src/plugindata.h, src/plugins.c, doc/plugin-symbols.c, doc/plugins.dox, plugins/export.c, plugins/vcdiff.c, plugins/demoplugin.c, plugins/filebrowser.c, plugins/htmlchars.c, plugins/autosave.c, plugins/classbuilder.c: Deprecate PLUGIN_INFO() in favour of PLUGIN_SET_INFO(). Remove plugin symbol info(), which is replaced by plugin_set_info() and a new symbol plugin_info. This is so the PluginInfo struct is zero'd first by Geany, so plugins are still ABI compatible if we want to add any more fields in the future. Fail to load a plugin if plugin_info->name is not set. Remove now unused string.h include from plugindata.h. 2008-05-22 Nick Treleaven * src/templates.c, src/build.c, src/utils.c, src/ui_utils.h, src/win32.c, src/utils.h, src/keybindings.c, src/printing.c, src/tools.c, src/sciwrappers.c, src/project.c, src/sciwrappers.h, src/encodings.c, src/prefs.c, src/dialogs.c, src/navqueue.c, src/plugindata.h, src/geany.h, src/about.c, src/treeviews.c, src/msgwindow.c, src/callbacks.c, src/notebook.c, src/keyfile.c, src/filetypes.c, src/search.c, src/document.c, src/plugins.c, src/main.c, src/editor.c, src/symbols.c, src/socket.c, src/editor.h, src/ui_utils.c, plugins/export.c, plugins/vcdiff.c, plugins/demoplugin.c, plugins/filebrowser.c, plugins/htmlchars.c, plugins/autosave.c, plugins/pluginmacros.h, plugins/classbuilder.c: Note: this commit breaks the plugin API. Split widget fields out of GeanyApp into GeanyMainWidgets, so other data items can be added without breaking the plugin ABI. Add GeanyData::main_widgets, and macro. Rename treeview_notebook sidebar_notebook in GeanyMainWidgets. Move tools_menu from GeanyData to GeanyMainWidgets. Move statusbar out of GeanyApp (shouldn't be used directly). Move ignore_callback out of GeanyApp. Rename sci_goto_line() argument unfold, like sci_goto_pos(). Make utils_goto_file_pos(), utils_goto_line(), utils_switch_document() into static functions (they are UI-related, so shouldn't be in utils.c). Move utils_goto_pos() to editor.c, add mark argument. 2008-05-21 Enrico Tröger * plugins/Makefile.am: Specify the necessary libraries of each plugin to link against. * configure.in, win32-config.h, src/gb.c: Fix some quotations to not screw up the bash lexer. Don't use /dev/random or /dev/urandom in gb.c, instead of GLib's random functions. 2008-05-21 Nick Treleaven * src/editor.c: Refactor editor_auto_line_indentation(). Make Smart Line Indentation set the cursor to the beginning of indentation for single line selections, so the user can fine-tune indentation if necessary. For multiple line selections, select all the lines after indenting. * src/keybindings.c, src/editor.c, src/editor.h: Rename editor_auto_line_indentation() to editor_smart_line_indentation(). 2008-05-19 Nick Treleaven * src/plugindata.h, src/plugins.c, doc/plugin-symbols.c, plugins/export.c, plugins/vcdiff.c, plugins/demoplugin.c, plugins/filebrowser.c, plugins/htmlchars.c, plugins/autosave.c, plugins/pluginmacros.h, plugins/classbuilder.c: Note: this breaks the plugin API. Split GeanyFunctions out of GeanyData so data pointers can be appended before the function pointer structs without breaking the ABI. Rename GeanyFunctions fields with a p_ prefix to avoid name conflicts. Add new plugin symbol geany_functions. Nearly all plugins will now need to declare the following: 'GeanyFunctions *geany_functions;', which is now used by pluginmacros.h. Add doxygen examples for geany_data and geany_functions. Move deprecated document and filetype typedefs to src/plugindata.h, as plugins aren't required to use pluginmacros.h. Initialize geany_data by copying a stack struct so the compiler can check for any missing field initializers. Rename plugin macro p_encoding to p_encodings to follow the core function encodings_ prefix. * src/msgwindow.c, src/editor.c: Fix doxygen-1.4.6 warnings about undocumented function parameters when using documentation comments e.g. for TODO. * plugins/pluginmacros.h: Add deprecated p_encoding alias for p_encodings. * src/keybindings.c: Fix Switch to Sidebar shortcut so that it works for whichever widget is in the current sidebar notebook page (fixes #1967104). * doc/Doxyfile.in, plugins/pluginmacros.h: Add API documentation for pluginmacros.h. Make Doxygen define GEANY_DISABLE_DEPRECATED. * doc/plugins.dox: Add Main Page links to plugindata.h and pluginmacros.h. 2008-05-18 Enrico Tröger * src/document.c: Force using tabs for indentation when opening Makefiles. * plugins/pluginmacros.h: Define p_editor in the right way, oops. * doc/geany.1.in, doc/geany.html, doc/geany.txt, src/main.c: Allow loading projects from command line (closes #1961083). 2008-05-16 Enrico Tröger * plugins/pluginmacros.h, plugins/vcdiff.c, src/build.c, src/callbacks.c, src/dialogs.c, src/document.c, src/document.h, src/editor.c, src/filetypes.c, src/filetypes.h, src/geany.h, src/keybindings.c, src/keyfile.c, src/main.c, src/msgwindow.c, src/notebook.c, src/plugindata.h, src/printing.c, src/symbols.c, src/templates.c, src/templates.h: Rename document struct to GeanyDocument. Rename filetype struct to GeanyFiletype. * src/build.c, src/build.h, src/plugindata.h: Rename BuildInfo struct to GeanyBuildInfo. 2008-05-16 Nick Treleaven * src/templates.c, src/build.c, src/utils.c, src/ui_utils.h, src/templates.h, src/keybindings.c, src/printing.c, src/prefs.c, src/dialogs.c, src/prefs.h, src/plugindata.h, src/treeviews.c, src/msgwindow.c, src/callbacks.c, src/notebook.c, src/keyfile.c, src/search.c, src/search.h, src/document.c, src/plugins.c, src/document.h, src/main.c, src/editor.c, src/editor.h, src/ui_utils.c, plugins/export.c, plugins/filebrowser.c: Note: this commit breaks the plugin API (but is necessary so that in future the ABI can stay stable when adding preferences). Split up prefs into interface_prefs, toolbar_prefs, file_prefs, search_prefs, tool_prefs, template_prefs, and add these to the plugin API. Move suppress_search_dialogs and search_use_current_word to search_prefs, and rename accordingly. Rename switch_msgwin_pages pref to switch_to_status. Remove toolbar_ prefix for toolbar_prefs items. Remove tool_ prefix for tool_prefs items. Remove template_ prefix for template_prefs items. Add Geany prefix for EditorPrefs. Add Geany prefix for SearchPrefs. Initialize search_prefs to zero in main.c. * plugins/filebrowser.c: Make right clicking on items not lose the current selection, like the standard GtkFileChooser. Add separator before the Clear filter toolbar button. 2008-05-15 Enrico Tröger * src/*.c src/*.h: Move several editing related functions from document.c to editor.c. Fix two compiler warnings about non-literal format strings. * plugins/pluginmacros.h: Make p_editor macro also available if GEANY_DISABLE_DEPRECATED is not defined. 2008-05-14 Enrico Tröger * geany.glade, src/document.c, src/document.h, src/editor.c, src/editor.h, src/interface.c, src/keyfile.c, src/plugindata.h, src/prefs.c, src/prefs.h, src/utils.c, src/utils.h, doc/geany.txt, doc/geany.html: Add preferences for default end of line characters for new files (closes #1895362) and to disable the automatic continuation of multi-line comments in C-like languages. Enable multi-line continuation also for CSS files. * src/document.c, src/document.h, src/msgwindow.c, src/msgwindow.h, src/plugins.c, src/plugindata.h: Add new function document_set_indicator_on_line() for future use. Add some functions to the plugin API for the upcoming spell check plugin. * plugins/vcdiff.c: Change an error message to be more clear about the error. * src/templates.c: Remove unnecessary case statement for PHP files, can be handled by the default case. * src/filetypes.c: Add shebang detection for Makefiles. * src/build.c, src/plugindata.h, src/msgwindow.c, src/callbacks.c, src/filetypes.c, src/document.c, src/plugins.c, src/document.h, src/main.c, src/editor.c, src/editor.h, plugins/pluginmacros.h: Move indicator functions from document.c into editor.c. 2008-05-14 Nick Treleaven * src/templates.c: Sort custom template file menu items by filetype, with None filetypes first. * src/document.c: Recolourise the document in document_reload_file() because the text may have changed (should fix #1948857). * src/document.c: Fix line breaking not getting reset for new documents sometimes. Merge all document default settings into init_doc_struct(). * HACKING: Update adding a filetype section, make clearer. 2008-05-13 Nick Treleaven * src/templates.c, src/utils.c, src/ui_utils.h, src/ui_utils.c, doc/geany.txt, doc/geany.html, TODO: Add support for custom file templates found at startup in the ~/.geany/templates/files directory. These are currently shown underneath filetype templates in the New with Template menu. Add ui_menu_item_get_text(). Make utils_string_replace_all() ignore empty haystacks. * src/templates.c: Create ~/.geany/templates/files directory if it doesn't exist. 2008-05-12 Enrico Tröger * src/highlighting.c, data/filetypes.xml: Use Javascript styles for any VBScript and ASP code embedded in a HTML file. Use Python styles for embedded Python code. * src/highlighting.c: Remove hotspot code as it was never really used. * src/socket.c: Iconify the main window on Windows before de-iconifying it when opening files remotely to ensure the main window pops up. * src/symbols.c: Clear a document's symbol list first after it was detached from its container to prevent crashes when saving files with collapsed symbol list items. 2008-05-10 Enrico Tröger * src/dialogs.c, src/prefs.c: Use gtk_window_present() instead of gtk_widget_show() for Open File and Preferences dialog. 2008-05-09 Nick Treleaven * src/interface.c, src/prefs.c, src/callbacks.c, src/callbacks.h, src/keyfile.c, src/document.c, src/document.h, src/editor.c, src/editor.h, src/ui_utils.c, geany.glade, TODO, doc/geany.txt, doc/geany.html: Add basic Line Breaking option in the Document menu. Line breaking only works when typing characters past the line breaking column number. Add 'Line breaking column' editor pref. * src/callbacks.c, src/callbacks.h, src/interface.c, src/keyfile.c, src/main.c, src/ui_utils.c, geany.glade: Rename old uses of line breaking -> line wrapping. This includes the keyfile pref, so any users with this enabled will have to reset it. * doc/geany.txt, doc/geany.html: Update Code Navigation section for build errors and message items. Correct Load Tags menu item being in the Tools menu now. Document 'Disk check timeout' pref. * src/plugindata.h: Update api_version for new line breaking struct fields. * src/filetypes.c: Set filetype::id automatically in filetype_add(). * src/filetypes.c: Add source_only argument for filetypes_find_source() and rename. 2008-05-08 Nick Treleaven * src/filetypes.c: Fix C headers getting detected as C++ files (iterate through filetypes_array, not filetypes_hash as the order is not consistent with the filetype_id enum). Add static function filetypes_find_source(). 2008-05-07 Nick Treleaven * src/templates.c, src/build.c, src/utils.c, src/win32.c, src/highlighting.c, src/dialogs.c, src/plugindata.h, src/msgwindow.c, src/keyfile.c, src/keyfile.h, src/filetypes.c, src/filetypes.h, src/document.c, src/plugins.c, src/main.c, src/symbols.c, src/ui_utils.c, plugins/vcdiff.c, plugins/pluginmacros.h: Merge revisions 2537:2558 from the custom-filetypes branch: Note: this breaks the API. This commit is to restructure most of the filetypes code that affects the plugin API, custom filetype support is not implemented. Add filetypes_array to GeanyData for plugins to access a dynamic array of filetype pointers. Remove old filetypes array from API. Use a hash table for filetypes, using filetype::name keys. Replace filetypes_get_from_uid() with filetypes_lookup_by_name(). Store filetype::name instead of unique ID when saving sessions. Remove all filetype UID code. Add GEANY_MAX_BUILT_IN_FILETYPES. Remove GEANY_MAX_FILE_TYPES - use filetypes_array->len (or GEANY_MAX_BUILT_IN_FILETYPES) instead. Rename GEANY_FILETYPES_ALL GEANY_FILETYPES_NONE. Make Open dialog file filter work for filetypes added after GEANY_FILETYPES_NONE (really the None filetype should be made the first element in filetypes_array, but this would need rewriting quite a lot of code). Add deprecated aliases for GEANY_MAX_FILE_TYPES and GEANY_FILETYPES_ALL. Remove unused filetype::item field. Create FullFileType private type that 'inherits' from filetype (FullFileType* can be cast to filetype*). This is used in filetype_new() to hide filetype struct fields from the API. Remove radio_items[] and use FullFileType::menu_item instead. Make filetypes_detect_from_extension() work for all filetypes in filetypes_hash. Add filetype_new() to create and initialize a new filetype. Refactor open_session_file() from configuration_open_files(). Refactor get_session_file_string() from configuration_save_session_files(). Refactor create_set_filetype_menu() from filetypes_init(). Move print_filetypes() out of parse_command_line_options(); 2008-05-06 Enrico Tröger * doc/geany.txt, doc/geany.html: Add a note about the limitation of matching only line by line when using regular expressions. 2008-05-04 Enrico Tröger * src/document.c: Show an error dialog with an appropriate message when a file could not be saved. * THANKS, src/about.c: Update email address of Dormouse Young. * tagmanager/html.c: Fix parsing when heading tags contain attributes (part of #1896068). 2008-04-27 Enrico Tröger * configure.in, tagmanager/lregex.c, tagmanager/include/regex.h, tagmanager/regex.c,tagmanager/include/Makefile.am, tagmanager/include/gnuregex.h, tagmanager/Makefile.am : Add configure option --enable-gnu-regex to implicitly build the included GNU regex library (in case the host system doesn't provide a usable regex library). Rename tagmanager/include/regex.h in tagmanager/include/gnuregex.h to avoid unintended inclusion in source files (this fixes the OpenSolaris crashes). * src/encodings.c: Don't use GNU regex specific regex_t::buffer element to build also without this extension (e.g. on OpenSolaris). * autogen.sh: Don't check for CVS directory as we don't use CVS anymore and remove non-portable -path option of find. * src/document.c: Fix crash when trying to change the encoding of a file (introduced in r2529). * src/keybindings.c: Allow Ctrl-A (or whatever "Select All" has been set to) to select all text in the scribble text widget (closes #1952335). 2008-04-25 Enrico Tröger * src/document.c: Refactor write_data_to_disk() and save_convert_to_encoding() from document_save_file(). Include missing error string in error message when writing the file failed. * tagmanager/ctags.c: Set ExecutableName to "geany" to prevent possible crashes on Windows and maybe other systems. 2008-04-25 Nick Treleaven * src/document.c: Add/reorder a recent file item when closing a document. * src/utils.c: Make utils_is_absolute_path() a NULL-safe version of g_path_is_absolute(). 2008-04-24 Enrico Tröger * data/filetypes.xml, data/filetypes.javascript, src/highlighting.c: Unify the embedded JavaScript styles with the styles of the JavaScript filetype for a more consistent styling of JavaScript in general. 2008-04-24 Nick Treleaven * src/utils.c: Make utils_get_file_list() use a case-insensitive search so that the file browser lists files and directories in a more intuitive order. * src/project.c: Fix build because of wrong document_close_all() usage - oops. * src/callbacks.c, src/document.c, src/document.h: Move Close All functions to document.c. Add document_account_for_unsaved(). 2008-04-23 Nick Treleaven * src/win32.c, src/project.h, src/geany.h, src/keyfile.c, src/symbols.c, src/editor.h, doc/geany.txt, doc/geany.html: Move non-general compile-time constants into their relevant source files. * src/utils.c, src/interface.c, src/prefs.c, src/prefs.h, src/keyfile.c, geany.glade: Make disk check timeout configurable in the prefs dialog Files tab. Make a value of zero disable disk checks. * src/project.c, src/document.c, src/document.h: Add document_close_all() and use it in project.c. 2008-04-22 Enrico Tröger * src/plugins.c: Fix GLib warning when starting with a new config. * src/prefs.c: Fix wrong usage of gtk_file_chooser_get_filename() in callback of Open File dialogs in the preferences dialog. * plugins/autosave.c, src/search.c, src/document.c: Make use of ngettext() for strings with plural forms. * Makefile.am: Add target "sign" to sign generated tarballs with gpg. * plugins/filebrowser.c: Add file filter text entry (patch by Robert McGinley, thanks). 2008-04-20 Enrico Tröger * src/build.c: Don't chmod created run script when using the Run command and execute the script with /bin/sh on Unix-like systems to be able to run files on FAT filesystems. * geany.glade, src/interface.c: Fix wrong tooltip for "Show Increase and Decrease Indentation buttons" in the preferences dialog. 2008-04-19 Enrico Tröger * tagmanager/js.c: Make property tags be recognised in the symbol list. * src/document.c, src/navqueue.c, src/navqueue.h: Clean related navigation queue items when closing a document. * New release: Geany 0.14 "Selit". * configure.in, geany.nsi, geany_private.rc, win32-config.h, doc/geany.txt, doc/geany.html, src/geany.h: Post-release version bump. 2008-04-18 Nick Treleaven * doc/geany.txt, doc/geany.html: Move 'Switching between documents' from prefs Interface section into new Documents section. Remove repeated title text of preference dialog tab sections. Edit preferences descriptions for clarity. Comment out some unexplained General preferences. Fix some prefs typos, add some links and expand some descriptions. Correct some wrong preferences descriptions (e.g. Back/Forward buttons). 2008-04-18 Frank Lanitz * THANKS, NEWS, src/about.c: Added Chikahiro Masami as new translator for Japanese translation. 2008-04-17 Enrico Tröger * src/navqueue.c, src/plugindata.h, src/navqueue.h, src/plugins.c, plugins/pluginmacros.h: Add navqueue_goto_line() to plugin API. Make navqueue_goto_line() store document filename instead of tagmanager filename (patch by Yura Siamashka, thanks). This makes it also possible to add navigation history items for files without a tagmanager filename. * tagmanager/make.c: Improve Makefile parser for better parsing of targets (from CTags' patches tracker, for reference this is patch v3). 2008-04-16 Frank Lanitz * THANKS, NEWS, src/about.c, po/LINGUAS, po/ro.po: Added Romanian translation (Thanks to Alex Eftimie). 2008-04-16 Nick Treleaven * src/interface.c, src/callbacks.c, src/callbacks.h, NEWS, geany.glade: Make pressing escape in the sidebar focus the editor. Group toolbar GtkEntry escape key checks into a common callback. * src/main.c: Refactor handle_cl_filename() from open_cl_files(). * src/callbacks.c: Fix geany_debug() warnings with Close All. * src/keyfile.c, src/plugins.c, src/plugins.h: Move plugin keyfile pref saving and loading to plugins.c. * src/plugindata.h, src/geany.h, src/plugins.c, src/main.c: Remove active_plugins from GeanyApp. * src/plugins.c, NEWS: When quitting, remember plugin filenames that couldn't be loaded at startup as well as active plugins. 2008-04-15 Enrico Tröger * doc/images/pref_dialog_gen.png: Update for 0.14. * plugins/makefile.win32, scintilla/makefile.win32, src/makefile.win32, tagmanager/makefile.win32: Add DEBUG flag to all Windows makefiles to make it possible to build with debug symbols and without optimizations also on Windows (using make DEBUG=1). 2008-04-13 Enrico Tröger * src/callbacks.c, src/callbacks.h: Fix wrong return value for on_close_all1_activate() callback. Fix broken Close All command by not double checking for validity of a document. * TODO: Remove "documentation: preferences" item as it has been mostly done by Robert McGinley. 2008-04-11 Enrico Tröger * THANKS, doc/geany.txt, doc/geany.html: Add documentation for several options in the preferences dialog (patch from Robert McGinley, thanks). * src/filetypes.c, src/ui_utils.c: Revert the translatable filetype name of filetype All, add a workaround in ui_update_statusbar() instead. * data/filetypes.xml, src/highlighting.c: Update PHP keywords (closes #1939931). 2008-04-10 Frank Lanitz * src/filetypes.c: Make another string translatable. Thanks to Adrovane Kade for reporting. 2008-04-10 Enrico Tröger * src/editor.c: Fix a couple of wrong or missing checks to prevent auto completion in comments in several filetypes. * THANKS, scripts/create_php_tags.php, data/php.tags: Add script to generate PHP tags file (by Matti Mårds, thanks). Update PHP tags file to latest PHP API docs (closes #1888691). * src/navqueue.c, src/utils.c, src/utils.c: Make navigation queue position based to restore the line and column when returning to a previous position (closes #1936927). 2008-04-09 Frank Lanitz * src/ui_utils.c: Make some more strings translatable. Thanks to Adrovane Kade for reporting. 2008-04-09 Enrico Tröger * configure.in: Add an explicit check for a C++ compiler (#1938040). * plugins/Makefile.am: Avoid linking plugins against GTK libraries which seems unnecessary. 2008-04-08 Enrico Tröger * src/document.c, src/document.h, src/main.c, src/project.c: Add document_new_file_if_non_open() to open new documents if no other documents are open. * src/editor.c: Backport a bugfix from Scite to fix folding problems. * Makefile.am, scripts/intl_stats.sh, po/intl_stats.sh: Move intl_stats.sh script back to po directory to not have to include the scripts directory in the distribution. * src/win32.c: Fix compiler warnings by correct type casting. * src/symbols.c: Fix possible crash by an uninitialized variable. 2008-04-06 Frank Lanitz * THANKS: Added Dominic Hopf to list of translation supporters. 2008-04-04 Frank Lanitz * Makefile.am: Fix issue on make dist with intl_stats.sh-script. * scripts/changelist.pl: Make help output better readable if there are not enough arguments given. 2008-04-03 Nick Treleaven * src/callbacks.c: Make Close All check for unsaved documents first before closing any, so that clicking cancel keeps all documents open. This also prevents the UI from not being updated after cancelling Close All. * NEWS, plugins/filebrowser.c: Add configurable keybindings for focusing the Path Entry and File List. Refactor load_settings() from init(). 2008-04-03 Enrico Tröger * src/keybindings.c: Fix missing menu accelerators for default keybindings on startup. Fix too small dialog window when showing the keyboard shortcuts dialog from the help menu. * src/plugins.c: Show warning about ABI mismatch when loading plugins in the status message window to avoid confusion about missing plugins. 2008-04-02 Enrico Tröger * src/dialogs.c: Fix GTK warnings in open file dialog by using a positive response ID for the View button. * src/callbacks.c, src/main.h, src/project.c: Ignore notebook_switch_page signal handler when closing projects to speed it up a little bit with many session files. * po/intl_stats.sh, scripts/intl_stats.sh: Move intl_stats.sh script to scripts directory and make it working from top source directory. * src/document.c: Avoid setting line number margin twice when creating new tabs, also don't call gtk_notebook_set_current_page() explicitly as it isn't necessary. * geany.glade, src/interface.c: Make the notebook tabs in the messages window scrollable. 2008-04-01 Nick Treleaven * src/interface.c, src/plugins.c, geany.glade: Move Load Tags item from File to Tools menu. Capitalize Page Setup item. Add separator before Plugin Manager item. * src/navqueue.c, src/msgwindow.c: Make navqueue_goto_line() ignore an invalid old document index, and ignore any documents that don't have a tagmanager work object. Make Next Error and Next Message commands add positions to the navqueue, so the user can return to where they were and also so they can move backwards through error and message items. 2008-03-31 Nick Treleaven * src/build.c, src/interface.c, src/vte.c, plugins/export.c, plugins/classbuilder.c, geany.glade: Add missing mnemonics (except for 3 popup menu items, ran out of letters). Capitalize some menu items. * src/interface.c, geany.glade: Add 3 remaining mnemonics for popup menu, copy Insert include mnemonic - even though these have conflicts, just let GTK toggle between them. 2008-03-28 Enrico Tröger * src/editor.c: Unfold hidden code when the fold point modified (e.g. commented out, fixes #1923350). * geany.pc.in: Add datadir and localedir to Geany's pkgconfig file. * src/callbacks.c: Fix usage of wrong pointer when showing the toolbar popup menu. 2008-03-27 Nick Treleaven * plugins/vcdiff.c: Rename VCDiff plugin Version Diff. * src/plugindata.h: Document most of GeanyData, add links to files. Make PluginData alias deprecated. * src/utils.c: Fix getting asked whether to reload a file twice, when a disk check is forced immediately after a disk check has been done. * src/document.c: Split document_create_new_sci() into document_create() and create_new_sci(). Rename filename parameter utf8_filename. * src/keybindings.c: Check file on disk for changes (with timeout) when pressing a key. * src/keyfile.c: Ignore documents with no absolute path when saving session files. * src/build.c: Fix segfault with Run command when a project is open and the current file's filetype has no run command. 2008-03-26 Enrico Tröger * scintilla/*, scintilla/include/*: Update Scintilla to version 1.76. * scintilla/include/Scintilla.iface: Add this file for plugin authors. * plugins/vcdiff.c: Fix two memory leaks and prevent showing two dialog boxes with the same error message. * src/document.c, src/win32.c, src/win32.h: Add support for resolving Windows shortcuts when opening files and open the shortcut's target. 2008-03-26 Nick Treleaven * plugins/pluginmacros.h: Rename p_filetype p_filetypes to keep the symmetry with filetypes_*, and define it also when GEANY_DISABLE_DEPRECATED is not set. * HACKING: Add note about not appending to structs like KeyBindingGroup and GeanyCallback. * src/plugindata.h, doc/plugin-symbols.c, doc/plugins.dox, plugins/*.c: Rename VERSION_CHECK PLUGIN_VERSION_CHECK, but keep a deprecated alias so outside plugins still compile. Update our plugins to use this. 2008-03-24 Enrico Tröger * src/plugins.c, src/plugindata.h: Add document_set_filetype() and filetypes_get_from_uid() to the plugin API. * plugins/pluginmacros.h: Add p_filetype. 2008-03-24 Nick Treleaven * src/editor.c: Fix Python auto-indentation when line endings are set to CR/LF. * src/keybindings.h, src/plugindata.h: Add note about allowing appending of keybindings to groups without breaking the API. Undo unnecessary ABI change. * src/plugindata.h: Redo ABI change (it was for r2389 editor.h change, oops). * src/symbols.c: Make Go to Tag commands look for the tag in the current document before searching the workspace. Fix memory leaks when using tm_tags_extract(). 2008-03-23 Enrico Tröger * data/filetypes.common, doc/geany.txt, doc/geany.html, src/highlighting.c: Add styles to customize line and search marker and add translucency setting. * tagmanager/make.c, src/symbols.c: Update Makefile parser from CTags SVN and improve it to detect targets in Makefiles. * geany.glade, src/interface.c, src/prefs.c, src/prefs.h, src/keyfile.c src/callbacks.c, src/search.c, src/editor.c, src/editor.h, geany.glade: Add preference for not using the current word under the cursor when opening Find dialogs. * src/keybindings.c, src/keybindings.h, src/plugindata.h: Add shortcut to switch to the sidebar. * src/ui_utils.c: Small improvement in counting changed documents for Save All update. 2008-03-23 Frank Lanitz * doc/plugins.dox: Fix a little typo that prevents docu from being build. 2008-03-22 Frank Lanitz * THANKS, src/about.c: Adjusted email of Brahmann. 2008-03-21 Enrico Tröger * src/callbacks.c: When opening the manual on the website, include version string to ensure the appropriate manual version is shown. * src/prefix.h, src/main.c, src/Makefile.am, doc/Makefile.am: Use configure's --docdir option when installing and using the documentation. * data/snippets.conf: Add better "for" completion for Python. * tagmanager/tcl.c, src/symbols.c: Update TCL parser from CTags SVN which adds new symbol types for classes and methods (closes #1918748). * data/snippets.conf: Add missing colon to "for" snippet for Python and set cursor position (thanks mamaar on IRC). * src/win32.c: Fix crash on Windows due to missing error message when a process spawning fails. * src/treeviews.c: Allow selecting items in the symbol list by pressing Enter or Space. 2008-03-21 Nick Treleaven * src/notebook.c: When closing tabs that were opened left-to-right, don't temporarily focus the previous tab when closing tabs, to prevent unnecessary checking for disk changes. * src/win32.c, src/dialogs.c, src/document.c, src/document.h: Only use filetype detection after Save As, not on every save when the filetype is None (fixes #1891778). * src/dialogs.c, src/document.c: Replace untitled file header filename after Save As and add to recent files on Windows too. * src/utils.c: Fix asking detect reload question again if the user doesn't respond within 10 seconds (oops). 2008-03-20 Enrico Tröger * HACKING: Add note and link for GTK 2.6 API docs. 2008-03-20 Nick Treleaven * doc/plugin-symbols.c, doc/Makefile.am, doc/plugins.dox: Move plugin symbols page into separate source file so that symbols are listed as variables and functions and are autolinked. Edit plugin symbols description, document some function parameters. * doc/plugins.dox: Add page links on the main page (easier than going to Related Pages, and we can also list special files like plugin-symbols.c). * src/utils.c: When detecting a change on disk, reload the file after all pending Scintilla messages have been processed, to prevent problems with partial colourisation. * src/symbols.c: Fix bug with showing macro list items all on one line. * src/plugins.c: Load and save plugin keybindings when toggling plugins in the Plugin Manager. * doc/geany.txt, doc/geany.html: Update configurable keybindings section for new plugin groups ordering. s/tabulator/tab/. Move scroll by one line shortcuts to configurable keybindings section. 2008-03-19 Nick Treleaven * src/plugins.c: Set mnemonic for Plugin Manager. Use GTK_RESPONSE_CANCEL for Plugin Manager dialog so pressing escape closes the dialog. 2008-03-18 Enrico Tröger * src/treeviews.c, src/symbols.c, src/symbols.h: Save sorting order of the symbol list when saving a file (#1917262). * data/filetype_extensions.conf, src/filetypes.c: Add ".xhtml" extension for filetype XML (#1914587). 2008-03-17 Enrico Tröger * doc/geany.txt, doc/geany.html: Add a note about column mode editing. * src/editor.c: Fix broken auto multiline comment with files in CR/LF mode. * src/win32.c: Fix encoding problems with project file dialogs. * src/plugins.c: Rework internal handling of plugin/module loading. At startup, only load enabled plugins, all others are only loaded when the plugin manager is opened and get completely unloaded when it is closed. * data/filetypes.caml, data/filetypes.cpp, data/filetypes.c, data/filetypes.d, data/filetypes.fortran, src/build.c: Remove old and useless code from build_link_file(). Don't add "-o" compiler option automatically instead make it configurable through linker command. * data/filetypes.python, src/highlighting.c: Add additional keyword group for python and slightly change the foreground colour for style "word2". * geany.glade, src/dialogs.c, src/interface.c: Fix modal dialog problems on Windows by not setting taskbar hint (closes #1916994). 2008-03-15 Enrico Tröger * src/projects.c: Fix wrong directory when choosing project filename in the New Project dialog. * scintilla/Editor.cxx: Add (basic) column mode editing, pasting text does not work. Patch by chuck, thanks. 2008-03-14 Nick Treleaven * src/keybindings.c: Set main menu accelerators for keybindings. * src/keybindings.c, src/keybindings.h, src/plugindata.h, plugins/htmlchars.c: Make KeyBinding name and label fields non-const strings so they can be freed by any plugins that need to use malloc'd strings. Document KeyCallback typedef. * HACKING: Replace Plugins chapter with 'Writing plugins' section. Add generating plugin API documentation section. Replace 'Modifying data types' with 'Keeping the plugin ABI stable' section. Add note about using -ansi. 2008-03-14 Enrico Tröger * src/Makefile.am: Add prefs.h to the list of installed header files. * src/win32.c: Fix crashes on Windows when error argument of utils_spawn_* is NULL. * src/build.c, src/win32.c, src/win32.h: Add win32_get_exit_status() to retrieve the exit code from a command on Windows (code moved from build.c). * geany.spec.in: Add pkg-config file and new include directory to the files section (thanks to Dominic Hopf). * src/tools.c: Fix freeze when reading from stderr when using "Send Selection To". Don't modify current selection if the executed command returned error messages and/or an unsuccessful exit code. Improve error reporting when using "Send Selection To" (#1909452). 2008-03-13 Nick Treleaven * src/plugindata.h, doc/plugins.dox: Update documentation for plugin_key_group[] to mention declaring it manually. * src/keybindings.c, src/keybindings.h, src/plugins.c, doc/plugins.dox: Check plugin keybinding group name is valid. Ignore plugin keybinding groups with no elements defined. * src/utils.c, src/document.c: Fix Doxygen undocumented parameter warnings. 2008-03-13 Enrico Tröger * doc/geany.html, doc/geany.txt, src/search.c: Use monospace font for text entry fields in search dialogs and add a notice how to change the used font (#1907117). * src/plugins.c: Don't load all available plugins on startup, it's only necessary opening the plugin manager. * src/keyfile.c, src/search.c: Use the default values for various tools if they don't exist in the config file instead of using g_find_program_in_path(), patch by Yura Siamashka (thanks). Fix executable check for grep command. * scintilla/include/Makefile.am, src/Makefile.am, plugins/Makefile.am, tagmanager/include/Makefile.am, Makefile.am, geany.pc.in, configure.in: Install header files and add a pkg-config file for external plugins. * geany.glade, src/interface.c: Add missing accelerator for string "Toggle All Additional Widgets". * plugins/htmlchars.c: Use a separate string for keybinding label to avoid display of an underscore. * src/callbacks.c, src/tools.c: Fix compiler warnings about uninitialized variables. 2008-03-12 Nick Treleaven * src/build.c, src/keybindings.c, src/keybindings.h, src/tools.c, src/prefs.c, src/plugindata.h, src/callbacks.c, src/plugins.c, src/main.c, doc/plugins.dox, plugins/filebrowser.c, plugins/htmlchars.c: Merge plugin-keybindings branch: Change keybindings code to use keybinding groups, each with a separate enum set, which will make the plugin ABI more stable, and lay the groundwork for plugin keybindings support. Note: this breaks the plugin API. Rename keybindings_cmd() to keybindings_send_command(), which now takes a group_id argument. Add keybindings_lookup_item(). Add documentation for keybindings structs. Add support for plugin keybindings using the PLUGIN_KEY_GROUP() macro. Add a plugin keybinding for 'Insert Special HTML Characters'. Rename KBCallback, cmd_id, cb_func with clearer names. Add KeyBinding::menu_item field for setting accelerators (currently does nothing). Load keybindings keyfile after plugins have loaded at startup, so their shortcuts are also loaded. Still to do: loading individual plugin keybindings after startup. Group most keybinding callbacks together according to keybinding group. Add keybindings_set_item() and add it to the plugin API. Set main menu widget accels with keybindings_set_item() - they are ignored for now. Popup menu accels are set separately. * doc/geany.txt, doc/geany.html: Update 'Filtering out version control files' section for new versions of GNU Grep. * src/keybindings.c: Fix bug with keybindings using check_current_word(). 2008-03-09 Enrico Tröger * src/document.c: Use SCI_SETSCROLLWIDTHTRACKING to improve horizontal scrollbar behaviour by always adjusting to the longest line (part of #1905141). * src/filetypes.c, src/symbols.c, tagmanager/parsers.h, tagmanager/makefile.win32, tagmanager/html.c, tagmanager/Makefile.am: Add HTML parser to get h1, h2, h3 symbols as well as link anchors and JavaScript functions (closes #1896068). 2008-03-07 Enrico Tröger * doc/Doxyfile.in, doc/Makefile.am: Use doxygen option QUIET to disable non-warning messages instead of redirecting output to /dev/null. * src/keyfile.c: When opening session files, don't try to set document properties if the document can't be opened. * data/filetypes.common, doc/geany.html, doc/geany.txt, src/highlighting.c, src/sciwrappers.c: Add opton to style "caret" to change the caret into a block caret. Add new styles "translucency", "line_wrap_visuals" and "line_wrap_indent" to filetypes.common (#1905141). 2008-03-06 Enrico Tröger * src/callbacks.c: Apply patch from Jeff Pohlmeyer (thanks) to fix toggle case with rectangular selections (works only for Ascii characters). 2008-03-05 Enrico Tröger * src/filetypes.c, src/filetypes.h, src/symbols.c: Apply patch from Yura Siamashka to use she-bang filetype detection also in filetypes_detect_from_filename() which let plugins benefit from this feature. * src/document.c: Don't open zero byte sized files read-only (e.g. files in /proc). * src/symbols.c, tagmanager/fortran.c, tagmanager/keyword.c, tagmanager/js.c, tagmanager/asm.c, tagmanager/c.c: Backport js.c and asm.c from CTags SVN. Fix Assembler tagmanager support and add appropriate symbol types. Fix JavaScript parse bug (#1895242). Change default return value of lookupKeyword() in keyword.c as it was done in CTags SVN(r339) and adjust affected parsers. 2008-03-03 Enrico Tröger * tagmanager/fortran.c, src/symbols.c: Adjust available symbol types between Fortran parser and symbols.c to make some more of the possbile symbol types available. 2008-02-28 Enrico Tröger * src/utils.c, src/utils.h, tagmanager/parse.h: Replace unsigned long in guint64 and use int instead of off_t (patch by Daniel Richard G., thanks). * src/sciwrappers.c: Make Scintilla remember the current column when changing the cursor position (#1902732). 2008-02-27 Enrico Tröger * plugins/*, scintilla/*, src/*, tagmanager/*: Replace all C++-style comments with usual C-like multi-line comments. * src/keybindings.c: Fix ignoring of some keybindings when caps lock is active (introduced in r2253). * src/document.c, src/utils.c, src/utils.h: Fix a few more compiler warnings (type conversion warnings). * src/utils.c, src/win32.c, src/win32.h: Apply patch from Pierre Joye to improve new Win32 process spawning code (thanks). * geany.desktop.in.in, TODO: Enable startup notification in desktop entry file and remove it from TODO list. 2008-02-26 Nick Treleaven * src/highlighting.c: Move symbols_global_tags_loaded() out of styleset_common(). * src/symbols.c: Load ignore.tags even when global tags loading is disabled on the command-line, so that local tags in each open file can be ignored. 2008-02-25 Nick Treleaven * src/notebook.c: When closing a tab when using left-to-right tabs, focus the next document, not the previous. * src/search.c, src/document.c: Don't beep when using Replace All in Session unless all open files have no replacements (fixes #1893796). 2008-02-24 Enrico Tröger * tagmanager/options.c, src/symbols.c, src/symbols.h: Define c_tags_ignore in options.c (tagmanager) instead of symbols.c. * configure.in: Apply patch from Yura Siamashka to add a check for the presence of fnmatch(), thanks. * THANKS, plugins/vcdiff.c, src/plugindata.h, src/plugins.c, src/utils.c, src/utils.h, src/win32.c, src/win32.h: Apply patch by Pierre Joye to add new process spawning implementation for Windows. Make utils_spawn_* available to plugin API. This makes the VCdiff plugin to work on Windows (thanks). * makefile.win32: Make the make command overwritable, patch by Pierre Joye. Thanks. 2008-02-22 Nick Treleaven * tagmanager/options.c: Use extern for c_tags_ignore declaration to avoid allocating a second copy of it (patch by Daniel Richard G., thanks). * src/callbacks.c, src/search.c, src/document.c, src/editor.c, src/editor.h: Don't scroll the editor view if it is unnecessary when using Find Next/Previous, Find Selected and when searching from the search bar. * src/keybindings.c, src/sciwrappers.c: Don't scroll the editor view if it is unnecessary when using Go to Marker or Go to Matching Brace commands. Make sci_set_current_line() not scroll the view, unlike sci_goto_line(). 2008-02-22 Enrico Tröger * scintilla/Makefile.am, src/Makefile.am: Fix more cross-compiling issues including little cleanup. 2008-02-21 Enrico Tröger * doc/geany.html, doc/geany.txt, src/editor.c, src/editor.h, src/keyfile.csrc/plugindata.h: Rename hidden pref auto_complete_whilst_editing to complete_snippets_whilst_editing. 2008-02-20 Enrico Tröger * plugins/*, src/*, tagmanager/*: Apply patch from Daniel Richard G. to fix to fix several compiler warnings, C89 violations and minor code problems (thanks). * configure.in, scintilla/ScintillaGTK.cxx, src/Makefile.am: Apply patch from Yura Siamashka to fix cross-compiling (thanks). 2008-02-18 Enrico Tröger * src/vte.c: Apply patch from Jeff Pohlmeyer to mark the VTE also as clean when Ctrl-C is pressed (thanks). * src/socket.c: Fix compiler warnings on Windows. * doc/geany.html, doc/geany.txt, src/symbols.c, src/symbols.h, tagmanager/options.c: Add support for reading tags(only for C/C++) from a file which should be ignored while parsing the file (ctags command line option -I). 2008-02-17 Enrico Tröger * configure.in, doc/Doxyfile.in, doc/Makefile.am, doc/plugins.dox, src/dialogs.c, src/dialogs.h, src/document.c, src/document.h, src/encodings.c, src/encodings.h, src/plugindata.h, src/utils.c, src/utils.h: Add support for generating API reference documentation using doxygen. This is the first step, it is far away from being complete. Add make target "api-doc" to generate the reference documentation. Add documentation comments to a few functions. Move basic plugin documentation from plugindata.h to doc/plugins.dox. 2008-02-16 Enrico Tröger * doc/geany.html, doc/geany.txt: Fix slightly wrong documentation for show_editor_scrollbars. * THANKS, doc/geany.1.in, doc/geany.html, doc/geany.txt, src/main.c: Apply patch from Daniel Richard G. to add support for +NNN command line arguments and for recognising filename:line:column: format on the command line (thanks). 2008-02-15 Enrico Tröger * tagmanager/python.c: Fix parsing bug when there is text after the end of a multi line comment (closes #1894084). * src/socket.c: Apply patch from Daniel Richard G. to update some source code comments (thanks). * doc/geany.html, doc/geany.txt, src/document.c, src/editor.h, src/keyfile.c: Add hidden preference to disable scrolling past end of document. 2008-02-13 Enrico Tröger * src/keybindings.h: Fix broken compilation with GTK < 2.10. * src/document.c, src/encodings.c, src/treeviews.c, src/vte.c: Fix some compiler warnings. 2008-02-12 Enrico Tröger * src/editor.c, src/search.c, src/ui_utils.c: Allow using Find In Files dialog even if no files are open (closes #1891818). * src/main.c, src/socket.c: Allow start of Geany with given files on the command line but without a writable temporary directory and without a writable configuration directory. Improve filename of created symlink to the socket file. * src/document.c: Don't force unique line ending characters when saving files to avoid unexpected saving behaviour. * src/keybindings.c, src/keybindings.h, src/prefs.c: Use a modifiers mask to ignore unwanted modifiers(caps lock, num lock) when handling key presses (maybe fixes #1891276). * src/dialogs.c: Fix compiler warnings. Improve Save As dialog usability problems. 2008-02-11 Frank Lanitz * src/about.c, THANKS: Added Nikita E. Shalaev to list of Russian translaters. 2008-02-10 Enrico Tröger * src/navqueue.c, src/navqueue.h, src/symbols.c, src/treeviews.c: Apply patch from Yura Siamashka to fix wrong navigation queue items (thanks). * src/editor.c: Add workaround for a Scintilla bug in HTML/PHP lexer which styles the last line of document wrong when in PHP mode. * README.Packagers: Add some notes for package maintainers. * src/socket.c: Use a random integer as part of socket file name instead of current time stamp. Before creating a new socket, delete a maybe existing socket and its symlink. Apply patch from Daniel Richard G. to include the hostname in the socket filename (thanks). * src/utils.c, src/win32.c, src/win32.h: Add support for getting hostname on Windows. 2008-02-08 Enrico Tröger * src/project.c: Fix crash on Windows when a project could not be opened. * src/win32.c: Remove prefix from win32_get_file_filters() and win32_get_filters(). Fix some encoding problems with filenames retrieved from the native Windows file dialogs. * src/sciwrappers.c: Fix wrong placement of long line marker (closes #1889392). 2008-02-07 Enrico Tröger * plugins/Makefile.am: Fix typo (thanks Slava Semushin for reporting). * scintilla/include/Platform.h: Use a better check for PLAT_GTK_WIN32 (backport from Scintilla CVS). * src/socket.c: Create the Unix Domain Socket for detecting a running instance in system's tmp directory and create a symlink to it in Geany's configuration directory (closes #1888561). * src/socket.c: Include display number for the filename of the symbolic link to the real Unix Domain Socket file (closes #1888565). 2008-02-06 Enrico Tröger * plugins/autosave.c, plugins/filebrowser.c: Make forgotten strings translatable. 2008-02-05 Enrico Tröger * scintilla/include/Platform.h: Fix definition of PLAT_GTK_WIN32 on Windows to fix Copy&Paste problems. * New release: Geany 0.13 "Vensell". * configure.in, geany.nsi, geany_private.rc, win32-config.h, src/geany.h: Post-release version bump. 2008-02-04 Nick Treleaven * doc/geany.txt, doc/geany.html: List Cut, Copy, Paste keybinding descriptions. * src/plugindata.h, src/plugins.c: Add sci_get_current_line() to plugin API. Add ui_table_add_row(), ui_path_box_new() to plugin API (thanks to Yura Siamashka). * doc/geany.txt, doc/geany.html, NEWS: Show default shortcuts in Keybindings section. * src/plugindata.h, src/plugins.c: Add ui_button_new_with_image() to plugin API. 2008-02-04 Enrico Tröger * doc/geany.html, doc/geany.txt, images/*: Update images for 0.13. * src/geany.h: Reduce minimum window size to 550x350 (closes #1883367). 2008-02-01 Nick Treleaven * doc/geany.txt, doc/geany.html, NEWS: Add Indentation subsection under Editor section. * doc/geany.txt, doc/geany.html, NEWS: Update Project section for project-based session support. 2008-01-31 Frank Lanitz * plugins/autosave.c: Fixed a little typo (Thanks to Jeff Bailes for reporting) 2008-01-31 Nick Treleaven * src/keyfile.c: Fix saving project session from a 2nd instance of Geany. * data/global.tags: Update for GTK+ 2.12.5. This also adds return type modifiers like const and *. Command used (on Fedora 8): 'CFLAGS=`pkg-config --cflags gtk+-2.0` geany -g gtk-2.12.c.tags /usr/include/gtk-2.0/gtk/gtk.h' 2008-01-31 Enrico Tröger * src/project.c: Open a new, empty file when closing a project and no session files are available or when opening a project without stored session files. Close all open files when opening projects. * src/printing.c: Fix losing line breaks when printing a file with LF line endings and a non-Ascii character at the end of a line. 2008-01-29 Nick Treleaven * src/search.c: Allow case sensitive replace when the replace string varies only in case. * src/keybindings.c, src/keybindings.h: Rename binding type KeyBinding. * src/search.c: Factor out get_search_flags() from Find, Replace dialog response code. 2008-01-28 Nick Treleaven * plugins/pluginmacros.h, src/plugindata.h, plugins/*.c: Add new macros for plugin API functions that use a 'p_' prefix to prevent conflicts with other tags whilst keeping the same first word as core function names, and update plugins to use them. The old plugin macros are still available, but will be removed after the next release. Compiling with -DGEANY_DISABLE_DEPRECATED in CFLAGS will disable the old macros. 2008-01-27 Enrico Tröger * src/printing.c: Fix crash on Windows when printing an untitled file. Fix black line number margin when printing by using also pre-defined styles. 2008-01-25 Nick Treleaven * src/project.c: Remove unnecessary save of project keyfile. * src/callbacks.c, src/main.c: Close any project before closing all documents so the project session files are saved. 2008-01-23 Enrico Tröger * src/geanywraplabel.c, src/geanywraplabel.h: Move class and label structs to geanywraplabel.c. Override widget functions instead of using event handlers (trying to fix #1869399). * src/prefs.c: Fix wrong placement of descriptive texts in Templates and Tools tabs in the preferences dialog. * src/callbacks.c, src/main.c, src/prefs.c, src/treeviews.c, src/ui_utils.c, src/ui_utils.h: Rename ui_treeviews_show_hide() in ui_sidebar_show_hide(). Don't hide sidebar when symbol and document lists are hidden but other notebook tabs are still there. 2008-01-22 Enrico Tröger * THANKS, src/about.c, po/el.po, po/LINGUAS: Add Greek translation (thanks to Stavros Temertzidis). 2008-01-18 Nick Treleaven * src/interface.c, geany.glade: Split up Prefs dialog General tab options into Startup, Shutdown and Projects frames. Rename 'Load and save session files...' option 'Use project-based session files'. 2008-01-17 Enrico Tröger * data/filetypes.ruby, src/editor.c, src/highlighting.c: Add two missing highlight styles to filetype Ruby. Enable comment/uncomment for POD-like comments for filetypes Ruby and Perl. 2008-01-16 Enrico Tröger * geany.glade, src/interface.c, src/keyfile.c, src/prefs.c, src/project.c, src/project.h: Add option for project session files support. * src/encodings.c, src/encodings.h, src/plugindata.h, src/plugins.c: Add encodings_get_charset_from_index() and make it available through plugin API. 2008-01-16 Nick Treleaven * src/editor.c: Fix hidden lines after deleting a line that is a collapsed fold point. * tagmanager/c.c: Fix parsing D constructor tags. 2008-01-15 Nick Treleaven * src/dialogs.c: Don't unlink the old file if renaming failed. 2008-01-14 Nick Treleaven * src/callbacks.c, src/search.c, src/editor.c, src/editor.h: Make 'Open Selected File' first try the current file's directory, falling back to the project base path if no file was found. Add editor_get_default_selection() from get_default_text() in search.c, to get the current selection or current word. 2008-01-13 Enrico Tröger * src/keyfile.c, src/project.c: Save project session file list when project is closed. Don't load default session files in a second instance after a project was closed. Fix not updating symbol list (and other things) when changing tabs after a project was opened or closed in a second instance. 2008-01-12 Enrico Tröger * src/keyfile.c: Try to fix changing message window height when using full screen (closes #1869415). * src/printing.c: Avoid double status message if print dialog was cancelled. Print status messages in status-changed handler. * Makefile.am, po/POTFILES.skip: Add POTFILES.skip to ignore files with translatable strings. Make "distcheck" working. * src/editor.c: Don't add '>' when auto completing HTML tags when it's already there. Fix wrong indentation when '{' and '}' are on the same line. 2008-01-11 Nick Treleaven * src/build.c, src/project.c, src/project.h, doc/geany.txt, doc/geany.html: Add 'Make in base path' project file preference, on by default. Add project_get_base_path(), separated from project_get_make_dir(). * src/dialogs.c, src/plugindata.h, src/document.c, tagmanager/tm_project.c, tagmanager/tm_workspace.c, tagmanager/include/tm_workspace.h: Apply patch from Yura Siamashka to speed up removing several workspace object's tags without updating the workspace until necessary (thanks). 2008-01-11 Enrico Tröger * src/dialogs.c: Fix broken Rename functionality (closes #1868621). * src/printing.c: Fix crash while reading Scintilla styles. Add GTK's progress dialog when printing large documents which also provides the ability to cancel a print operation. * plugins/export.c: Fix crash while reading Scintilla styles. Append "_export" to the exported file name when the exported file has the same extension as the source file. 2008-01-10 Nick Treleaven * src/keybindings.c: Hopefully fix bug with Cut/Copy/Paste KB not working (#1867861). * src/prefs.c, src/keyfile.c, src/vte.c, doc/geany.txt, doc/geany.html: Add 'Override Geany keybindings' VTE prefs dialog option (replaces hidden pref), and make it off by default. 2008-01-09 Nick Treleaven * src/project.c: Edit base path entry tooltip for clarity. Use stock close button in close project prompt. Allow the base path to be empty, so that users can use the current file's directory for the Make command (but still use project session support). In future, perhaps it would be good to have a separate Make path setting for projects. 2008-01-09 Enrico Tröger * geany.glade, src/geanywraplabel.c, src/geanywraplabel.h, src/interface.c, src/plugins.c, src/prefs.c, src/vte.c, src/Makefile.am, src/makefile.win32: Add GeanyWrapLabel (subclass of GtkLabel) to wrap text at any width. Use GeanyWrapLabel in preferences dialog and plugin manager dialog to save a lot of space and improve layout of descriptive texts. * src/msgwindow.c: Add workaround for display problem in Message window: Truncate displayed string at 1024 bytes if it is longer. * src/utils.c, src/win32.v: Fix compile error on Windows. Don't use _waccess_s since it seems to be unavailable in MingW32. 2008-01-06 Enrico Tröger * geany.nsi, geany_private.rc, README, doc/geany.html, doc/geany.txt, po/intl_stats.sh, plugins/*, src/*, tagmanager/rest.c: Update copyright information and change format of email addresses in source files. * src/project.c, src/utils.c, src/utils.h, src/win32: Add utils_is_file_writeable(). Improve checks for write permission of files and directories. Don't overwrite maybe existing project files when trying to create new project and checking for project file's write permission (thanks to Yura Siamashka for reporting and his patch). 2008-01-04 Enrico Tröger * plugins/pluginmacros.h: Remove filetype macro to avoid naming conflicts. 2008-01-04 Frank Lanitz * src/about.c, THANKS: Changed Ukrainian language code to just uk to make it better fit with po-file-directory. 2008-01-03 Frank Lanitz * THANKS, src/about.c, po/ja.po, po/LINGUAS: Adding of Japanese translation (Thanks to Tarot Osuji). 2008-01-02 Enrico Tröger * README, src/makefile.win32: Add -lshfolder to linker flags on Windows. Add notice for Win9x users to install SHFolder.dll. * plugins/pluginmacros.h, src/plugindata.h, src/plugins.c, src/project.h, src/symbols.c: Patch by Yura Siamashka: Add project type field. Go to tag definition/declaration will open the file with the tag if it isn't already open. Add some utils and tagmanager functions to the plugin API. 2008-01-02 Nick Treleaven * tagmanager/c.c: Ignore D import statements. * plugins/filebrowser.c: Use documents->open_files() as it's more efficient when opening multiple files and existing files are open for filetypes with typename colouring. * src/search.c: Add mnemonics for Find All, Replace All expanders in dialogs. Fix Find dialog mnemonic conflict _f. 2007-12-30 Enrico Tröger * tagmanager/basic.c: Don't parse in comments and fix wrong creation of tags including non-tag characters(e.g. '=' sign). * src/document.c: Avoid crash on Windows with enabled debug messages. * src/main.c, src/win32.c, src/win32.h: Add debug console window when debug mode is enabled to get any text messages on Windows. Fix wrong argument in win32_check_write_permission() (reported by Jeff Pohlmeyer, thanks). * src/main.c, src/win32.c, src/win32.h: Create Geany's configuration directory in user's appdata path instead of the default home directory (closes #1856305). * src/geany.h, src/project.c: Remove unnecessary macro GEANY_HOME_DIR. 2007-12-28 Nick Treleaven * plugins/filebrowser.c: Refactor with functions: check_single_selection(), is_folder_selected(), get_tree_path_filename() and separate menu item callbacks. Rename "Open with..." popup item "Open externally" ("..." is usually used when the user can input more information). * plugins/filebrowser.c: Disable popup menu items when there is no selection. 2007-12-25 Enrico Tröger * data/filetype_extensions.conf, src/filetypes.c: Add *.vala extension to CSharp filetype to support the Vala language. 2007-12-25 Nick Treleaven * src/keybindings.c, src/keybindings.h, src/plugindata.h: Add configurable keybindings for Cut, Copy and Paste. 2007-12-23 Enrico Tröger * src/keybindings.c: Fix inverted move tab first/last commands. * src/templates.c: Add Python filetype template (patch by Elena of Valhalla, thanks). * src/main.c: Enable parsing command line options without a valid X display. 2007-12-21 Nick Treleaven * src/build.c, src/dialogs.c, src/dialogs.h, src/callbacks.c: Add combo box input history for Make Custom Target dialog. Make dialogs_show_input() automatically activate on pressing enter in the GtkEntry, use a callback for input text, and have a 'persistent' option to hide the dialog instead of deleting it, using a combo box for input text history. * src/utils.c: Make utils_get_utf8_from_locale(), utils_get_locale_from_utf8() NULL-safe. * src/utils.c, src/win32.c, src/utils.h, src/win32.h, src/dialogs.c, src/search.c: Make Open, Save As dialogs start in project base path (or default path pref) when the current file has no filename. Split up widget setup code for dialogs_show_open_file(), dialogs_show_save_as(). Add initial_dir argument for win32_show_file_dialog(). Add utils_get_default_dir_utf8(). Rename utils_get_current_file_dir() to utils_get_current_file_dir_utf8(). 2007-12-19 Enrico Tröger * TODO, src/main.c: Apply patch Jeff Pohlmeyer to handle unknown command line options better (thanks). * HACKING, src/Makefile.am, src/main.c, src/makefile.win32, src/plugins.c, src/prefix.h, src/symbols.c: Prefix autotools macros with GEANY to avoid problems with already defined symbols on Windows. 2007-12-18 Frank Lanitz * src/about.c, THANKS, po/uk_UA.po, po/LINGUAS: Added Ukrainian translation (Thanks to Boris Dibrov). 2007-12-18 Enrico Tröger * Makefile.am: Don't install pixmaps/geany.ico by default. * geany.spec.in: Fix mandir path and don't delete icons (patch by Yura Siamashka, thanks). * src/Makefile.am: Add PREFIX macro. Don't construct LOCALEDIR manually but use autotools $(localedir) variable instead. * HACKING: Add note about using autotools macros like DATADIR. * doc/geany.1.in, doc/geany.html, doc/geany.txt, src/main.c: Add --print-prefix command line option to output installation paths. 2007-12-18 Nick Treleaven * tagmanager/c.c: Fix parsing C arrays (broken in r1952, oops). * src/keybindings.c: Don't flicker menubar when typing Shift-[a-z] in the VTE. * tagmanager/entry.h, tagmanager/c.c: Remove unused pointerOrder code from C parser, as it's not necessary since r1952, and not in the standard ctags code. Leaving it in the TagManager code however for backwards compatibility with global tag files. * tagmanager/c.c: Fix parsing correct D class name when inheriting. 2007-12-17 Enrico Tröger * src/build.c, src/keyfile.c, src/prefs.c, src/vte.c, src/vte.h: Use project's base dir and run command when running commands in the VTE. Add VTE preference to skip the generated run script. when running commands in the VTE. Make vte_cwd() accept also paths not only filenames. * geany.desktop.in.in: Avoid full path for icon entry. * geany.spec.in: Add file HACKING and classviewer icons. * Makefile.am: Prevent installing geany.desktop twice. 2007-12-16 Enrico Tröger * geany.desktop.in.in: Apply patch from Ubuntu package to match FD.o standards (thanks to Siegfried-Angel Gevatter Pujals). * plugins/classbuilder.c, plugins/htmlchars.c: Use pluginmacros.h. * src/highlighting.c, src/highlighting.h: Add highlighting_get_style(). * plugins/pluginmacros.h, src/plugindata.h, src/plugins.c: Add highlighting_get_style() to the plugin API. Rename DocumentFuncs field in GeanyData struct to avoid name clashes. * doc/geany.html, doc/geany.txt, src/kebindings.c, src/keybindings.h: Add Move document first/last keybindings (patch by Catalin Marinas, thank you). * geany.glade, src/interface.c, src/keyfile.c, src/plugindata.h, src/prefs.c, src/prefs.h, src/ui_utils.c: Add toolbar items to increase/decrease indentation (closes #1850697). 2007-12-14 Enrico Tröger * src/build.c: Fix Run command for HTML files when set to something else than "builtin". 2007-12-12 Enrico Tröger * geany.glade, src/interface.c, src/msgwindow.c, src/plugins.c: Set treeview rules hint for several treeviews and remove manual setting the background colour of odd rows of the status and message treeviews (closes #1848901). * src/vte.c: Enable dragging of text into the VTE. * src/msgwindow.c: Fix crashes when clicking on message window items introduced with changing rules hints for treeviews. * configure.in, src/Makefile.am, src/main.c, src/plugins.c, src/prefix.c, src/prefix.h, src/symbols.c: Add binary relocation support. 2007-12-09 Enrico Tröger * geany.spec.in: Apply patch from Yura Siamashka and Dominic Hopf to fix build of rpm package (thanks). * src/win32.c: Fix wrong file filters in file dialogs opened in the preferences dialog. * src/keyfile.c: Fix wrong debug display of filenames which could not be loaded from last session. 2007-12-07 Enrico Tröger * src/project.c, src/ui_utils.c, src/win32.c, src/win32.h: Fix wrong file filters in project-related file dialogs on Windows. 2007-12-07 Enrico Tröger * doc/geany.html, doc/geany.txt, src/callbacks.c, src/document.c, src/document.h, src/encodings.c, src/encodings.h, src/keyfile.c, src/main.c: Store more document-related settings session-based in the configuration file(including the file encoding). Detect in-file specified file encoding by scanning the file using regular expressions. 2007-12-06 Enrico Tröger * src/build.c, src/vte.c, src/vte.h: Prevent execution of commands by Geany if the VTE may contain any text on the prompt (thanks to "Jeff Pohlmeyer for reporting). 2007-12-05 Enrico Tröger * src/document.c: Add "b" flag to fopen when saving files to avoid broken line ending characters on Windows (flag was removed by accident, closes #1844405). * plugins/filebrowser.c: Improve error message when external command could not be executed. Allow use of external command also for the special ".." item. 2007-12-04 Enrico Tröger * plugins/filebrowser.c: Add ".." path entry to every directory. Fix display of double backslash in path entry on Windows. Add basic path entry auto completion. Print error message when external command fails to execute. Let right-clicks select an item. * src/vte.c, src/vte.h: Don't load unused symbols from library. Grab focus after right-clicked in the VTE widget. 2007-12-02 Enrico Tröger * plugins/filebrowser.c, plugins/pluginmacros.h, src/callbacks.c, src/plugins.c, src/plugindata.h, src/search.c, src/search.h, src/utils.c: Add search_show_find_in_files_dialog() to the plugin API. Make path entry of filebrowser plugin editable. Add "Open with" and "Find in Files" popup menu items to filebrowser plugin and add configuration dialog. * scintilla/*, scintilla/include/*: Update Scintilla to version 1.75. 2007-12-01 Enrico Tröger * src/templates.c: Avoid inclusion of PHP tags in PHP function descriptions. * plugins/Makefile.am, plugins/svndiff.c: Remove obsolete SVNdiff plugin, use the VC Diff plugin. * geany.glade, src /editor.c, src/editor.h, src/geany.h, src/interface.c, src/keyfile.c, src/plugindata.h, src/plugins.c, src/prefs.c: Add option for amount of characters to trigger symbol completion. Add document_find_by_filename to the plugin API. 2007-11-30 Frank Lanitz * src/filetypes.c, data/filetypes.conf: Added .ltx as extension for LaTeX-documents. 2007-11-30 Nick Treleaven * src/main.c, tagmanager/tm_project.c, tagmanager/tm_workspace.c, tagmanager/include/tm_workspace.h: Remove unused config_dir argument for tm_get_workspace(). * src/symbols.c: Fix broken generate tags command. 2007-11-29 Enrico Tröger * geany.glade, doc/geany.html, geany.txt, src/editor.c, src/interface.c: Improve usage of "Unfold all children" option and add some basic documentation for folding support. * plugins/filebrowser.c: Fix display of double slash in path entry. * src/document.c, src/ui_utils.c: Deny "(Un)Fold All" actions when folding is disabled. Hide "(Un)Fold All" menu items instead of just disabling them. * src/dialogs.c, src/dialogs.h, src/document.c: Add dialogs_show_msgbox_with_secondary(). Add line and column number in charset conversion error dialog when saving a file and improve display of the failed character. * src/build.c: Fix broken Run command on Java files on Windows. * src/symbols.c, tagmanager/ruby.c: Use Ruby parser from CTags SVN and add/fix symbol list sections. 2007-11-27 Enrico Tröger * scintilla/LexHTML.cxx: Fix syntax colouring bug when using '?>' in a PHP comment (closes #1838854). 2007-11-25 Enrico Tröger * src/document.c: Display character which caused a failed encoding conversion when saving a file. 2007-11-23 Enrico Tröger * src/symbols.c, tagmanager/basic.c: Use FreeBasic specific sections in symbol list. Use Basic parser from CTags SVN and improve the parser for better handling of dim and const keywords. * src/plugins.c: Fix plugin separator placement in the Tools menu. 2007-11-22 Enrico Tröger * po/POTFILES.in, plugins/autosave.c, plugins/Makefile.am, plugins/makefile.win32: New plugin: Auto Save. * geany.glade, src/editor.c, src/interface.c: Enable Shift+click on a fold point to unfold all possibly folded children (same as the pref "Unfold all children of a fold point"). 2007-11-21 Enrico Tröger * src/editor.c: Fix crash when trying to add a multiline comment in filetypes which don't support it. * src/symbols.c, src/treeviews.c, src/treeviews.h: Revert the change to make symbol sections bold and use some small indentation when expanders are hidden. * src/geanyobject.c, src/geanyobject.h, src/main.c, src/plugindata.h, src/plugins.c, src/project.c, src/project.h: Remove unused function project_save(). Fix typo in plugin API at utils_mkdir(). Add document_get_n_idx() to the plugin API. Fix display of plugin separator in the Tools menu when only plugins without menu item are loaded. Add three new signals: project_open, project_save, project_close. On Shutdown close the project before plugins are unloaded to let plugins work on the last project closed event. 2007-11-20 Enrico Tröger * geany.glade, plugins/*.c src/callbacks.c, src/callbacks.h, src/geany.h, src/interface.c, src/keyfile.c, src/main.c, src/plugindata.h, src/plugins.c, src/plugins.h: Add plugin manager dialog to select plugins to load at startup and to call a plugin configure dialog. Add configure symbol for plugins which is called by Geany when a configure dialog for the plugin is requested, optionally. Add author field to plugin info struct. Add sample configure dialog to the demo plugin. Fix cleanup code in filebrowser plugin to remove it completely when unloaded. * src/plugindata.h, src/plugins.c: Add utils_mkdir() to the plugin API. 2007-11-19 Enrico Tröger * tagmanager/read.c: Fix file type detection for parsers using regexp code with non-standard file type extensions. * src/symbols.c, src/treeviews.c, src/treeviews.h: Make sections in the symbol list bold for better distinction if expanders are hidden. 2007-11-18 Enrico Tröger * doc/geany.html, doc/geany.txt, src/keyfile.c, src/plugindata.h, src/prefs.h, src/treeviews.c: Add hidden pref to hide symbol list treeview expander (GTK >= 2.12). Double click on symbol list sections now expands/collapses them. * src/symbols.c, tagmanager/lregex.c, tagmanager/php.c: Add missing symbol types: Interface and Constants for PHP. Disable use of non-ASCII characters for PHP parser, it caused problems when using with locales other than "C". Add missing line break characters in error messages in lregex.c. * src/callbacks.c, src/keyfile.c, src/keyfile.h, src/main.c, src/project.c, src/project.h: Apply patch from Bo Lorentsen to improve support for project session files (thank you). 2007-11-17 Enrico Tröger * src/templates.c, src/utils.c, src/utils.h: Fix possible memory leak and add time_t argument in utils_get_date_time() to pass a time pointer to use. * configure.in, geany.glade, TODO, doc/geany.html, doc/geany.txt, src/callbacks.c, src/callbacks.h, src/document.c, src/document.h, src/interface.c, src/keyfile.c, src/main.c, src/Makefile.am, src/makefile.win32, src/prefs.c, src/prefs.h, src/printing.c, src/printing.h, src/ui_utils.c, src/ui_utils.h: Add native GTK printing support. * src/printing.c: Set line width for page header, handle empty filename in page header correctly. * tagmanager/Makefile.am, tagmanager/lregex.c, tagmanager/makefile.win32, tagmanager/parse.c, tagmanager/parse.h, tagmanager/php.c, tagmanager/regex.c, tagmanager/tm_tag.c, tagmanager/include/Makefile.am, tagmanager/include/regex.h: Fix two more compiler warnings. Use php.c and lregex.c from CTags SVN (closes #1795810). Add regex.c and regex.h (GNU regex) for regex support on Windows. 2007-11-14 Nick Treleaven * plugins/vcdiff.c, plugins/Makefile.am: Added plugin 'VC Diff', slightly modified from a patch by Yura Siamashka (thanks). It was adapted from the SVN Diff plugin. Currently it supports SVN, CVS and GIT. Fixed GTK warnings when the current file has no filename and when the current directory has no version control system. Made some refactoring changes to make the VC_RECORD struct contain all necessary attributes about each version control system. 2007-11-13 Nick Treleaven * plugins/filebrowser.c: Make 'Set path from document' use the current working directory or the project base path when no document is open. 2007-11-13 Enrico Tröger * src/highlighting.c: Don't change control char symbol in Scintilla. 2007-11-12 Enrico Tröger * Makefile.am, geany.glade, data/autocomplete.conf, data/snippets.conf, doc/geany.txt, doc/geany.html, doc/geany.1.in, src/document.c, src/editor.c, src/editor.h,src/geany.h, src/highlighting.c, src/interface.c, src/keybindings.c, src/keybindings.h, src/keyfile.c, src/keyfile.h, src/main.c, src/plugindata.h, src/prefs.c: Rename "Contruct autocompletion" to "Snippets". Allow changing height of the symbol completion list even if automatic symbol is disabled, it still can be forced by keybinding. 2007-11-11 Enrico Tröger * src/templates.c, src/utils.c, src/utils.h: Remove utils_get_date() and add format argument to utils_get_date_time(). * src/main.c: Don't compile plugin command line option when plugin support is disabled. * src/notebook.c: Enable close tab on middle-clicking a notebook tab label. Enable toggle additional widgets on double-clicking notebook tab label. * THANKS, src/project.c, src/project.h, src/keyfile.c, src/keyfile.h, src/main.c: Apply patch from Bo Lorentsen to add support for project session files (thank you). 2007-11-08 Nick Treleaven * src/prefs.c: Separate keybindings tree setup code from prefs_init_dialog(); use enum for tree model columns. Ask the user whether to override an existing keybinding when setting a combination that is already in use. * plugins/filebrowser.c, src/treeviews.c, src/vte.c: Fix popup menu item capitalization according to Gnome HIG. Add separator menu item to VTE popup menu. Move VTE Prefs item below Input Methods. * src/keybindings.c: Set Ctrl-Alt-P as default Prefs KB. Change Decrease Indent default KB to Ctrl-U (very common action, and Ctrl-U was unused). * src/keybindings.c: Allow VTE to interpret F-keys (except if they're focus commands). 2007-11-08 Enrico Tröger * src/editor.c, src/utils.c, src/utils.h: Remove unused unnecessary function utils_btoa(). 2007-11-07 Enrico Tröger * src/vte.c: Apply patch from Simone Denei to add a "Restart" item to the VTE popup menu in case running application hangs. * src/utils.c: Fix bug when creating configuration directory on Unix. * tagmanager/tm_work_object.c, tagmanager/tm_workspace.c: Don't create tagmanager status file, seems to be unnecessary (needs testing). 2007-11-06 Enrico Tröger * src/build.c: Enable stopping of Run command on Windows. * src/build.c: Quote first element of command line when using Compile, Build and Make commands on Windows to avoid problems if the tools are specified with full path. 2007-11-06 Nick Treleaven * plugins/svndiff.c: Fix sign comparison warning. * plugins/svndiff.c: Fix gtk_widget_destroy() warning when unloading plugin and no svn binary is in $PATH. * plugins/svndiff.c: Add menu separator so users don't accidentally click revert and lose all their work. Capitalize revert menu item. * src/interface.c, src/callbacks.c, src/callbacks.h, geany.glade: Add 'Strip Trailing Spaces' document menu item. * src/keybindings.c, src/keybindings.h, src/plugindata.h, TODO: Make VTE interpret all keyboard shortcuts except for focus group keybindings. Add enum values for keybinding groups. Make Notebook tabs keybindings group. Move Go to tags items into Tags keybindings group. Move navigation items into a new Other keybindings group. * HACKING, data/filetypes.restructuredtext: Add a default configuration file for reStructuredText. * src/document.c: Allow scrolling past end of document, so the user can append text with the last lines drawn at the top of the view. 2007-11-05 Nick Treleaven * HACKING: Update 'Adding a filetype' section for new highlighting.c code. 2007-11-05 Enrico Tröger * src/dialogs.c, src/document.c, src/utils.c: Don't use unnecessary #ifdefs for utils_get_locale_from_utf8(). 2007-11-05 Frank Lanitz * plugins/svndiff.c: Added function for svn revert and check before complete loading of then plugin if svn is inside $PATH. Added patch from Yura Siamashka to re-use an already created tab for a new diff on the same file. Thanks. 2007-11-04 Enrico Tröger * src/build.c: Fix error in Compile and Build commands on Windows if the command contains double quotes. Fix error in Build command when the executable file name contains spaces(Linux and Windows). * src/filetypes.c: Add support for env wrapper in shebang detection (inspired by a patch from Yura Siamashka). * src/plugindata.h, src/plugins.c: Add document_set_text_changed() to the plugin API. * src/main.c, src/utils.c, src/utils.h, src/win32.c, src/win32.h: Fix crashes on Windows when configuration directory could not be created. Fix problems when configuration directory path contains special characters. * tagmanager/tm_workspace.c: Use g_unlink() instead of unlink(). * src/build.c: Use g_unlink() instead of unlink(). Minor code cleanups and add some sanity checks. Fix broken Run command on Windows by not changing Geany's working directory (this might break other things, unfinished). 2007-11-02 Nick Treleaven * src/sciwrappers.c: Show line wrap symbol at start of line for wrapped lines. * src/templates.c, src/highlighting.c, src/highlighting.h, src/filetypes.c, src/filetypes.h, src/document.c, src/main.c: Fix bug with using the default extension, not the user set one, if 'New with template' is used before any documents of the same filetype are open. Load filetype keyfiles from filetypes_load_config(), not from styleset_foo_init(). Add highlighting_init_styles(), highlighting_set_styles(), simplifying a lot of styleset function code. Remove filetype::style_func_ptr field. 2007-11-02 Enrico Tröger * src/build.c, src/makefile.win32: Add exit code detection for Windows. * src/keyfile.c: Fix broken window maximization. * src/document.c: Remove Scintilla keybinding Alt-Backspace for Undo. 2007-11-01 Nick Treleaven * src/win32.c: Prevent prefs dialog being hidden after using the prefs file dialog. * src/build.c, src/prefs.c: Enable build support on Windows. * src/document.c: Ensure document_update_tag_list() always shows the empty symbol list when tags cannot be parsed. * src/filetypes.c, doc/geany.txt, doc/geany.html, data/filetypes.*: Add configurable default file extension setting for filetype definition files. Note: There is a bug with using the default extension, not the user set one, if 'New with template' is used before any documents of the same filetype are open. 2007-11-01 Enrico Tröger * src/document.c, /src/main.c, src/symbols.c, tagmanager/tm_project.c, tagmanager/include/tm_workspace.h, tagmanager/tm_workspace.c: Create tagmanager status file in configuration directory, not in a guessed temporary directory to ensure having write access. Fix crashes if status file can't be written. 2007-10-31 Nick Treleaven * src/filetypes.c, data/filetype_extensions.conf: Set reStructuredText default file extension .rst. * src/document.c, src/editor.c: Use newline as autocompletion list separator, so that reST entries show correctly. * src/document.c: Ensure empty symbol list is shown when tags cannot be parsed (fixes wrong symbol list shown when creating a new document with an unsaved filename set). * src/filetypes.c: Only translate '%s source file' instead of whole title for filetypes (easier for new translations). 2007-10-31 Frank Lanitz * plugins/svndiff.c: Make svn error messages better readable. 2007-10-29 Nick Treleaven * plugins/svndiff.c: Factor out common make_diff() and show_output() functions for both file and directory diffs. Show any SVN error message on the status bar. Use directory name as prefix for output filename when doing a directory diff. Don't remove filename extension for file diffs. Fix some memory leaks. * plugins/svndiff.c: Add a separate menu item for diff from the current directory. Disable file and directory diff menu items if the current document has no filename. Disable project menu item when no project is open. * src/document.c: Make Fold All/Unfold All attempt to scroll the current line in view. * plugins/filebrowser.c: Don't dereference symlinks. Make sure current_dir always has a full path. 2007-10-28 Enrico Tröger * doc/geany.txt, src/build.c, src/project.c, src/project.h: Add support for relative project base path. Improve and synchronize base path tooltips in project new and properties dialogs. Fix minor GUI annoyances in project dialogs. * plugins/export.c, plugins/filebrowser.c, plugins/pluginmacros.h, plugins/svndiff.c: Add macro project for app->project. Rename macro tm to tagm to avoid conflicts with tm struct of time.h. Fix a warning about shadowing a global symbol. Use plugin macros in Export and SVNDiff plugins. * src/treeviews.c, src/treeviews.h: Replace "Hide" popup menu items of the symbol and document list with "Show Document List" and "Show Symbol List" check menu items. 2007-10-26 Nick Treleaven * plugins/svndiff.c, plugins/export.c, plugins/demoplugin.c, plugins/filebrowser.c, plugins/htmlchars.c, plugins/classbuilder.c: Make all plugins distributed with Geany have the same version number as Geany. * plugins/pluginmacros.h: Prevent conflict with document::encoding. * plugins/svndiff.c: Capitalize menu item text. Minor editing of some strings. * plugins/classbuilder.c: Capitalize menu item text. * plugins/filebrowser.c: Show icons only in the file browser toolbar. 2007-10-25 Frank Lanitz * plugins/svndiff.c: Added feature to make a diff from an open project or a current directory. 2007-10-24 Nick Treleaven * src/build.c, src/ui_utils.h, src/tools.c, src/project.c, src/geany.h, src/msgwindow.c, src/callbacks.c, src/keyfile.c, src/search.c, src/document.c, src/plugins.c, src/main.c, src/symbols.c, src/ui_utils.c: Make msgwin_status_add() only log a message, not display it on the status bar. Make ui_set_statusbar() take a log argument for whether to record the message in the Status window. (Plugin API functions already do this). * plugins/filebrowser.c: Use the current directory when there are no documents open. Add popup menu with Open command. Separate toolbar code from init(). * plugins/filebrowser.c: Add 'Show hidden files' checkbox in the popup menu. * plugins/demoplugin.c, plugins/filebrowser.c, plugins/Makefile.am, plugins/pluginmacros.h: Add pluginmacros.h to define common macros for app, utils, etc. Add more documentation/comments to demoplugin.c. * src/treeviews.c: Fix bug with choosing 'show full path name' from documents list popup menu when there is no selected item (can happen after using the command twice). Fix hiding the sidebar/documents list from the popup menu when there's no selected item. 2007-10-23 Nick Treleaven * plugins/svndiff.c: Set the status bar instead of logging status messages. 2007-10-23 Frank Lanitz * plugins/svndiff.c: Small improvments in handling of non UTF-8 diffs. 2007-10-22 Enrico Tröger * src/notebook.c: Don't make notebook tabs higher than necessary. 2007-10-22 Nick Treleaven * plugins/filebrowser.c, plugins/Makefile.am, plugins/makefile.win32, src/interface.c, src/utils.c, src/plugindata.h, src/treeviews.c, src/vte.c, src/plugins.c, doc/geany.txt, doc/geany.html, po/POTFILES.in, geany.glade: Added File Browser sidebar plugin. Rename 'Open Files' sidebar tab 'Documents'. Add keybindings->send_command() and tm->get_real_path() to the plugin API. 2007-10-20 Enrico Tröger * src/keyfile.c: Fix possible wrong window title when loading session files. 2007-10-19 Frank Lanitz * src/about.c, THANKS, po/sv.po, po/LINGUAS: Added Swedish translation (Thanks to Tony Mattsson). 2007-10-19 Enrico Tröger * configure.in, doc/geany.html, doc/geany.txt, plugins/Makefile.am, scintilla/Makefile.am, scintilla/PlatGTK.cxx, src/Makefile.am, src/gb.c, src/project.c, src/vte.c, tagmanager/Makefile.am: Apply most of the patch from #1794250 (thanks): Remove compiler specific flags. Add configure option to specify the path to libvte.so. Remove many unnecessary configure checks. Stop configure if msgfmt was not found(gettext not installed). 2007-10-18 Enrico Tröger * src/plugindata.h, src/plugins.c: Add encoding related functions to the plugin API. * data/autocomplete.conf, doc/geany.txt, doc/geany.html, src/editor.c: Add special key wordchars to autocomplete.conf to let the user redefine used wordchars. 2007-10-18 Nick Treleaven * src/vte.c: Only connect vte_keypress() if enable_bash_keys pref is not set. * src/document.c, src/document.h, src/editor.c, src/editor.h, src/interface.c, src/keyfile.c, src/plugindata.h, src/prefs.c, geany.glade, THANKS: Apply patch from Catalin Marinas to add a 'newline strips trailing spaces' pref (thanks). 2007-10-17 Nick Treleaven * tagmanager/tm_tag.c, tagmanager/c.c, TODO: Parse arrays, const and pointers in C-like function return types (and store in varType). Fix some indentation. * src/interface.c, src/keybindings.c, src/prefs.c, src/callbacks.c, src/callbacks.h, src/keyfile.c, src/document.c, src/document.h, src/editor.c, src/editor.h, src/ui_utils.c, geany.glade: Add Indent Type option in the Document menu. Add 'Detect from file' Editor indentation pref. Show TAB or SP for current document's indent type. Minor editing of Document menu and editor Indentation prefs group. Use GString for statusbar statistics. 2007-10-16 Enrico Tröger * geany.glade, src/callbacks.c, src/callbacks.h, src/interface.c: Suppress selection changed signal when switching between open files and symbol list. * src/plugins.c, src/plugindata.h, plugins/export.c: Add dialogs_show_save_as() to the plugin API. Fix wrong callback signatures in Export plugin and make menu item document sensitive. 2007-10-15 Frank Lanitz * plugins/svndiff.c, plugins/Makefile.am, plugins/makefile.win32, po/POTFILES.in: New Plugin: Plugin to create a diff of a file against svn. 2007-10-13 Enrico Tröger * geany.glade, src/interface.c, src/keyfile.c, src/plugindata.h, src/prefs.c, src/prefs.h, src/treeviews.c, src/treeviews.h: Add menu accelerators to the symbol and open files list popup menus. Add option to display full path name in the open files list. * src/callbacks.c, src/ui_utils.c: Add menu accelerators to the custom date menu items. * src/ui_utils.c: Add recent files also to GTK's recent files buffer. 2007-10-10 Enrico Tröger * NEWS, doc/geany.1.in: Update for 0.12. * New release: Geany 0.12 "Delurin". * configure.in, geany.nsi, geany_private.rc, win32-config.h, src/geany.h: Post-release version bump. 2007-10-09 Enrico Tröger * src/document.c, src/highlighting.c, src/symbols.c, src/symbols.h: Fix wrong colouring of type keywords of tags from different filetypes. * src/treeviews.c: Add full file name as tooltip in the open files list (only for GTK 2.12 and above). 2007-10-09 Nick Treleaven * src/keybindings.c: Fix inserting spaces instead of tab when using 'Suppress construct completion' and spaces are used for indentation. 2007-10-08 Enrico Tröger * src/callbacks.c, src/keybindings.c: Fix wrong insert position of Insert Date function when using keyboard shortcut and place the cursor behind the inserted date. * src/treeviews.c: Enable horizontal scrollbar for the Open Files list. 2007-10-03 Nick Treleaven * src/prefs.c: Fix segfault when manually editing a keybinding and selecting another item. * src/vte.c: Don't reset the VTE when pressing Ctrl-[CD] if bash keys are enabled, because they are now sent to the VTE. 2007-10-02 Nick Treleaven * src/notebook.c: Attempt to fix problem with tab close button size. * src/keyfile.c, doc/geany.txt, doc/geany.html: Don't overwrite hidden prefs when quitting unless they are missing. * src/keybindings.c, src/keyfile.c, src/vte.h, doc/geany.txt, doc/geany.html, NEWS: Move and rename the bash shortcuts hidden preference - it's now in geany.conf, [VTE] section, called 'enable_bash_keys'. 2007-10-01 Enrico Tröger * src/document.c: Fix scrolling bugs when searching text and the cursor is outside of the current visible area. Unfold search result. * src/main.c: Also print version of Geany together with GTK/GLib version information. 2007-10-01 Nick Treleaven * tagmanager/python.c: Show parent class for inner classes. * src/notebook.c: Use stock close image for notebook tab close buttons. 2007-09-28 Nick Treleaven * src/keybindings.c: Also ignore Ctrl-L for VTE bash command. Allow 'Switch to editor' command to override any bash commands. Also disable the popup menu to avoid VTE bash conflicts. * src/main.c, src/symbols.c, src/symbols.h: Add --no-preprocessing, -P option when generating tags files to disable preprocessing of C/C++ source files. * doc/geany.txt, doc/geany.html, doc/geany.1.in, NEWS: Add documentation for --no-preprocessing option. * src/keybindings.c: Add Project Properties menu accelerator. * tagmanager/vstring.h, tagmanager/vstring.c: Fix a possible segfault with vStringPut() - backported from CTags 5.7. This appears to fix a segfault on Windows 2000 when loading tagmanager/c.c. It also adds vStringChop() - chop last character from string. 2007-09-27 Enrico Tröger * src/keyfile.c: Don't load invalid window geometry data from the config file. 2007-09-27 Nick Treleaven * src/keybindings.c: Add enable_vte_bash_keys keybindings.conf hidden pref in [Settings]. Refactor keybindings_init(). * src/msgwindow.c, src/document.c, src/plugins.c, NEWS: Don't show file opened/saved/closed messages on the status bar. Add temporary function msgwin_status_add_new() for v0.12 (to avoid many code changes updating msgwin_status_add() before the release). * src/utils.h, src/keyfile.c: Fix possible conflict of 'tmp' variable name in setptr macro. * src/build.c, NEWS: Fix displaying error indicators with Make after entering a subdirectory. 2007-09-26 Nick Treleaven * src/keybindings.c: Fix selecting text with Shift-{PageUp,PageDown} (closes #1801315). * src/keybindings.c, src/vte.c: Make common bash Ctrl-[a-z] keyboard shortcuts work in the VTE. (Not sure why Ctrl-Shift-[cv] copy/paste shortcuts still don't work). 2007-09-25 Nick Treleaven * src/keybindings.c, src/navqueue.c, src/navqueue.h, src/treeviews.c, src/callbacks.c, src/symbols.c, src/symbols.h: Fix bug when using Navigate backwards after using the keyboard to set the cursor position on the current word. Add symbols_goto_tag(). Replace navqueue_append() with navqueue_goto_line(). * TODO: Updated for project and plugins improvements, and others. Added wishlist items (which are unlikely to be worked on). * plugins/export.c, src/plugindata.h, src/plugins.c: Add ui->set_statusbar() to the plugin API. Make plugin function msgwin->status_add() not set the statusbar - but ui->set_statusbar() can now be used to do both with the log argument. After Geany 0.12 this is how the core versions of those functions will work, so the status window can be set independently. * src/utils.c, src/keybindings.c, src/sciwrappers.c, src/sciwrappers.h, src/navqueue.c, src/callbacks.c, src/editor.c: Remove pos argument from sci_get_current_line(), because sci_get_line_from_position() can be used instead and it's clearer. Remove unused sci_get_line_end_styled() - it's also the same as sci_get_line_from_position(). 2007-09-24 Nick Treleaven * src/keybindings.c, src/editor.c, src/editor.h: Fix bug with 'Delete lines' when cursor is at the start of a multi-line selection. * src/keybindings.c, src/msgwindow.c, src/msgwindow.h: Add msgwin_switch_tab(), msgwin_clear_tab() functions. 2007-09-22 Nick Treleaven * src/keybindings.c, src/editor.c: Undo r1891 so that 'Delete lines' again includes the cursor line even when at the start of a line - like Cut/Copy lines do. 2007-09-21 Nick Treleaven * src/editor.c: Make 'Select lines' not include an extra line when whole lines are selected. Make 'Delete lines' not include an extra line when whole lines are selected. * src/keybindings.c, src/callbacks.c: Make 'Duplicate lines' work for whole lines when more than one line has a selection. 2007-09-18 Nick Treleaven * src/keyfile.c: Save and restore the current notebook page when quitting. 2007-09-17 Nick Treleaven * src/build.h, src/plugindata.h, src/plugins.c: Apply patch from blackdog to add build_info and msgwindow->compiler_add() to the plugin API (thanks). * src/symbols.c, tagmanager/haxe.c: Apply code from blackdog to parse Haxe typedef tags (thanks). Show Haxe typedefs in the symbol list. Add tag_type treeview iter. * tagmanager/haxe.c: Show Haxe enum types in the symbol list. * src/msgwindow.c, src/msgwindow.h, src/search.c: Add foreground colouring to messages items. 2007-09-13 Nick Treleaven * src/callbacks.c: Speed up Save All for C-like files by avoiding unnecessary recolourising after user typenames have changed. * src/keybindings.c, src/document.c, doc/geany.txt, doc/geany.html: Change scroll by line default keybindings to Alt-{Up, Down}. Change Previous/Next Paragraph Scintilla commands to Ctrl-{Up, Down}. Adding Shift extends selection by paragraph. * src/keybindings.c, src/keybindings.h, doc/geany.txt, doc/geany.html: Add Find keybinding (re-uses existing string). Group search-related callbacks together. Docs: Add table headings to group related keybindings together. * src/keybindings.c: Make some keybinding titles use existing string capitalization. * src/images.c: Apply patch from Christoph Berg to update main window icon and About dialog icon (thanks). 2007-09-12 Nick Treleaven * src/plugindata.h: Fix return type for document->open_file(). (Tidy up field name indentation). * doc/geany.txt, doc/geany.html: Apply patch from John Gabriele for an overview in the Tags section (thanks). (Format paragraph with fmt -w72). * src/keyfile.c, src/editor.c, src/editor.h, doc/geany.txt, doc/geany.html: Allow autocompletion on a line with trailing whitespace. Add auto_complete_whilst_editing hidden preference. * src/ui_utils.h, src/callbacks.c, src/main.c, src/ui_utils.c: Make Toggle Case use the current word if there's no selection. Make Toggle Case keep an existing selection. Rename ui_widgets.popup_items to popup_copy_items. * doc/geany.txt, doc/geany.html: Edit how to manually edit geany.conf hidden prefs. * src/win32.c, src/about.c, src/ui_utils.c: Use G_N_ELEMENTS(arr) instead of sizeof(arr) / sizeof(arr[0]). Correct prev_translators email address. 2007-09-11 Enrico Tröger * src/callbacks.c: HTML manual is called Manual.html on Windows, so open this file. 2007-09-11 Nick Treleaven * plugins/export.c, plugins/classbuilder.c, src/utils.c, src/win32.c, src/utils.h, src/plugindata.h, src/msgwindow.c, src/callbacks.c, src/keyfile.c, src/document.c, src/plugins.c, src/document.h, src/main.c, src/socket.c, src/ui_utils.c: Neaten up the plugin API: Make document_open_file() now wrap document_open_file_full(), without the idx for reloading or pos arguments. Replace str_replace() with string_replace_all() in the plugin API. Add utils_string_replace_all(), taking a GString argument. * src/plugindata.h, src/document.c, src/plugins.c, src/document.h: Add reload_file() document function to the plugin API. 2007-09-10 Enrico Tröger * THANKS, pixmaps/geany.ico, pixmaps/geany.png: Replace Geany's icon by a new one by Sebastian Kraft (thanks). * plugins/Makefile.am: Add makefile.win32 to EXTRA_DIST files. * plugins/export.c, src/plugins.c, src/plugindata.h: Remove get_zoom from plugin API. 2007-09-09 Enrico Tröger * src/build.c, src/callbacks.c: Change quotes in some error messages to be more consistent (thanks Frank). * doc/geany.txt: Add notice about code navigation history. * src/geany.nsi: Install symbol list icons with the installer. Use Geany's icon for the installer. 2007-09-07 Enrico Tröger * geany.glade, doc/geany.txt, src/callbacks.c, src/callbacks.h, src/interface.c, src/keybindings.c, src/keybindings.h, src/main.c, src/utils.c, src/utils.h, src/ui_utils.h: Remove convert to lower-/upper-case keybindings. Add toggle case keybinding and change shortcut to Ctrl-Alt-U. * src/about.c: Improved error message if license text could not be found (thanks Frank). 2007-09-07 Nick Treleaven * src/keybindings.c, src/keybindings.h, doc/geany.txt, doc/geany.html: Add 'Move document left' and 'Move document right' keybindings. Make fixed keybindings overridable. Add fixed keybindings for switching to leftmost/rightmost document, Ctrl-Shift-{PageUp,PageDown}. Docs: Add 'Switching documents' keybindings section. * src/interface.c, src/prefs.c, geany.glade: Replace 'Use tabs...' preference checkbox with Tabs, Spaces radio buttons (should be a bit clearer). * doc/geany.txt, doc/geany.html: Minor update of Preferences dialog section. 2007-09-05 Enrico Tröger * src/document.c: Fix missing syntax colouring when saving new files. * src/document.c, src/keybindings.c, src/keybindings.h: Make keybinding for scrolling by one line changeable. * src/prefs.c: Store the index of a keybinding in the treeview store to fix problems getting the correct index when editing a cell of the treeview. 2007-09-05 Nick Treleaven * src/utils.c, src/document.c: Rewrite document_find_by_filename() to work when the filename argument contains relative path elements or symlinks. 2007-09-03 Enrico Tröger * src/makefile.win32, src/ui_utils.c, src/win32.c, plugins/makefile.win32: Sort list of files to build on Windows. Add geanyobject.c to the list of files to build on Windows. Fix some warnings and build errors on Windows. 2007-09-03 Nick Treleaven * src/keybindings.c: Set copy lines default KB to Ctrl-Shift-C. Set cut lines default KB to Ctrl-Shift-X. * plugins/classbuilder.c, src/templates.c, src/keybindings.c, src/plugindata.h, src/callbacks.c, src/document.c, src/document.h, src/main.c, src/socket.c: Add text argument for document_new_file(), so that it's independent from filetype templates. Make File->New create a blank document, rather than using the None filetype template. Add None option for the 'New with Template' menu commands. * src/interface.c, geany.glade: Move 'Insert #include' menu item below other insert menu items. 2007-08-31 Nick Treleaven * src/highlighting.c, doc/geany.txt, doc/geany.html, data/filetypes.common: Include \n\r newline chars in Scintilla whitespace chars. * data/filetypes.common: Undo last commit, because it makes selecting text with the mouse include all trailing lines with no wordchars on them. 2007-08-30 Nick Treleaven * src/interface.c, src/keybindings.c, geany.glade: Change 'Goto' to 'Go to' everywhere. * doc/geany.txt, doc/geany.html: Add Plugins section, describe using a second instance to edit geany.conf in 'Hidden preferences' appendix. * src/keybindings.c: Rename non-menu keybinding titles, e.g. Tags menu -> Tags commands. * src/keybindings.c: Fix Ctrl-Shift bindings not working when caps lock is on. * src/treeviews.c: Only focus the current document after switching pages if the open files treeview currently has focus (otherwise focus commands can be overridden, e.g. when pressing F4 during opening several files). * src/editor.c: Prevent calltip after typing '(' when in a comment or string. Allow forced autocompletion in a comment or string. 2007-08-29 Nick Treleaven * src/keyfile.c, src/editor.c, src/editor.h, doc/geany.txt, doc/geany.html: Add 'Current chars' indentation mode, rename 'Advanced' indentation to 'Match braces' (closes #1726880). For 'Match braces' indentation, if a brace could not be matched, fall back to 'Current chars' indentation. * doc/geany.txt, doc/geany.html: Added 'Inserting unicode characters' Editing section, adapted from a patch by John Gabriele (thanks). * plugins/Makefile.am: Don't install Demo plugin. 2007-08-28 Nick Treleaven * src/keyfile.c: Group settings in load_dialog_prefs() by dialog tab. * src/keyfile.c, src/document.c, src/editor.h, doc/geany.txt, doc/geany.html: Add hidden editor preference 'use_gtk_word_boundaries'. Add docs appendix 'Hidden preferences'. * HACKING: Add more complete information for adding a filetype. 2007-08-28 Enrico Tröger * src/callbacks.c, src/callbacks.h, src/keybindings.c, src/main.c: Remove useless callback wrapper function. 2007-08-27 Nick Treleaven * src/interface.c, geany.glade: Add Prefs dialog 'Editor tabs' frame in Interface tab and group related preferences. Change some table spacing to multiples of 3. Rename Misc., Behaviour -> Miscellaneous. * src/plugindata.h: Clear PluginInfo fields in PLUGIN_INFO macro for future extensions. * src/keyfile.c: Group prefs in order for save_dialog_prefs(). * src/keyfile.c: Refactor configuration_load(). 2007-08-25 Enrico Tröger * geany.glade, plugins/classbuilder.c, plugins/demoplugin.c, plugins/export.c, plugins/htmlchars.c, src/interface.c, src/keyfile.c, src/notebook.c, src/plugindata.c, src/prefs.c, src/prefs.h: Add version to plugin info fields and two other fields for future use. Add option to show/hide the small crosses on each file tab (closes #1757680). 2007-08-24 Nick Treleaven * src/dialogs.c, src/callbacks.c: Fix saving the wrong document when using Save All with unnamed documents. * src/utils.c, src/highlighting.c, src/sciwrappers.c, src/document.c, src/symbols.c: Fix wrong brace formatting. * src/about.c, src/callbacks.c, src/keyfile.c, src/editor.c: Fix wrong // comment spacing. * src/keyfile.c: Refactor configuration_save() to group new struct settings together. Move 'Enable plugin support' keyfile pref to the 'geany' group. * src/prefs.c, src/prefs.h, src/plugindata.h, src/callbacks.c, src/keyfile.c, src/document.c, src/document.h, src/main.c, src/editor.h, src/ui_utils.c: Move file-related fields from EditorPrefs -> GeanyPrefs. Rename line_breaking -> line_wrapping for EditorPrefs and document. 2007-08-23 Enrico Tröger * src/document.c: Fix invalid filetype setting when using Save All and files with filetype None (thanks to Omair Eshkenazi for reporting). 2007-08-23 Nick Treleaven * plugins/export.c, src/templates.c, src/build.c, src/utils.c, src/ui_utils.h, src/build.h, src/utils.h, src/highlighting.c, src/keybindings.c, src/tools.c, src/prefs.c, src/dialogs.c, src/prefs.h, src/navqueue.c, src/plugindata.h, src/geany.h, src/treeviews.c, src/msgwindow.c, src/callbacks.c, src/notebook.c, src/treeviews.h, src/keyfile.c, src/vte.c, src/search.c, src/document.c, src/plugins.c, src/main.c, src/editor.c, src/symbols.c, src/main.h, src/editor.h, src/ui_utils.c: Rename MyApp -> GeanyApp. Move most GeanyApp fields into: GeanyPrefs for (most) Preferences dialog fields; UIPrefs for non-Prefs dialog visual settings; UIWidgets for less commonly used widgets such as menuitems and dialogs; GeanyStatus for various states the application can be in. Move some GeanyApp fields into EditorPrefs (and one into each of CommandLineOptions and SidebarTreeviews). Add plugin API prefs field. Move disabling build widgets on Windows to build_init(). Make build callbacks static. Add treeviews_init() to prepare popup menus and open files treeview. Replace treeviews_find_node() with treeviews_select_openfiles_item(). Make utils_isbrace() and utils_is_opening_brace() take an 'include_angles' argument (to separate from editor_prefs). Make 'Goto matching brace' keybinding include <> angle brackets. * src/geanyobject.c, src/plugindata.h, src/geanyobject.h, src/callbacks.c: Apply patch from blackdog to add "document-activate" plugin signal, which is sent when switching notebook pages (thanks). 2007-08-22 Enrico Tröger * plugins/export.c: Fix some minor LaTeX code errors. Add generation date to HTML header and as comment in the generated LaTeX code. 2007-08-21 Enrico Tröger * src/editor.h: Remove unused struct. 2007-08-19 Enrico Tröger * plugins/export.c, plugins/Makefile.am, plugins/makefile.win32, po/POTFILES.in, src/plugins.c, src/plugindata.h: New plugin: Export as HTML and LaTeX. Add some functions to the plugin API needed by the Export plugin. * src/utils.c: Include error code string in the debug message if a file could not be written. 2007-08-17 Nick Treleaven * src/plugins.c: Apply patch from Jeff Pohlmeyer to fix warning when unloading plugins that use signals when quitting (thanks). * tagmanager/get.c: Fix parsing C macro argument list. 2007-08-16 Nick Treleaven * src/msgwindow.c: Apply patch from Jon Senior to fix parsing Apache Ant compiler error messages (thanks). * src/interface.c, src/prefs.c, src/keyfile.c, src/main.c, src/main.h, geany.glade: Add 'Enable plugin support' Prefs checkbox. Minor edit of load VTE option text. * scintilla/include/Scintilla.h, scintilla/Editor.cxx, scintilla/ScintillaGTK.cxx, src/document.c, doc/geany.txt: Use sci_assign_cmdkey() to set GtkEntry-like word boundary handling. Clear unnecessary default Scintilla Ctrl-D duplicate keybinding. Add SCI_DELWORDRIGHTEND command (patch sent to Scintilla ML). Remove previous ScintillaGTK::KeyCommand override. * src/symbols.c: Fix symbol list sort by appearance order for e.g. geany.txt. 2007-08-16 Enrico Tröger * scintilla/PositionCache.cxx: Apply patch from Scintilla ML to fix problems with selections including the first and second character of a line. 2007-08-15 Enrico Tröger * src/symbols.c, src/symbols.h, src/treeviews.c: Add menu items for different sorting of the symbol list to the symbol list popup menu. 2007-08-15 Nick Treleaven * src/plugindata.h, src/plugins.c: Apply patch from Jeff Pohlmeyer to add document_remove() to the plugin API (thanks). Add document_open_files() to plugin API. * src/plugins.c: Disconnect plugin callback signals when unloading plugins, to prevent a segfault when emitting signals. * src/templates.c, src/build.c, src/utils.c, src/keybindings.c, src/highlighting.h, src/sciwrappers.h, src/dialogs.c, src/geany.h, src/treeviews.c, src/msgwindow.c, src/callbacks.c, src/keyfile.c, src/filetypes.h, src/document.c, src/plugins.c, src/document.h, src/main.c, src/editor.c, src/symbols.c, src/editor.h, src/symbols.h, src/ui_utils.c Move #define PLAT_GTK to geany.h. Move filetype typedef to geany.h. Don't #include any src/*.h files from headers. * src/msgwindow.c: Add support for Java Apache Ant compiler error messages. 2007-08-14 Nick Treleaven * src/filetypes.c, src/filetypes.h, src/symbols.c, tagmanager/parsers.h, tagmanager/makefile.win32, tagmanager/rest.c, tagmanager/Makefile.am: Add reStructuredText filetype and parser. * src/filetypes.c, src/filetypes.h: Sort filetype groups alphabetically. * src/keyfile.c, src/filetypes.c, data/filetype_extensions.conf: Add comment about generating filetype_extensions.conf. Update filetype_extensions.conf. * src/filetypes.c: Rewrite filetypes_get_from_uid() for easier maintenance. * HACKING: Add more information for adding a filetype. 2 minor edits. * src/plugindata.h, src/plugins.c: Apply patch from blackdog to add document_save_file() to the plugin API (thanks). Add document_open_file() to plugin API. 2007-08-13 Enrico Tröger * src/about.c: Increase border space in credits tab and align developer names left. * src/keyfile.c: Fix wrong debug message if a session file couldn't be loaded. 2007-08-12 Enrico Tröger * data/filetypes.freebasic: Add many keywordsGeanyObjectPrivate (patch by Arthur Skowronek, thanks). * geanyobject.c: Fix a runtime warning. * doc/Makefile.am, doc/geany.txt, doc/geany.html: Don't use output redirection since the reST tools accept output filenames. Apply patch from John Gabriele to add some tweaks/fixes (thanks). 2007-08-10 Nick Treleaven * src/keybindings.c, src/editor.c, src/editor.h: Make 'Delete current line' and 'Select current line' work for all lines that have a selection. Implement 'Copy current line'. * doc/geany.txt, doc/geany.html: Update selected line(s) keybindings. * src/plugindata.h: Tidy up struct typedefs. * src/geanyobject.c, src/plugindata.h, src/geanyobject.h, src/document.c, src/plugins.c, src/main.c, src/Makefile.am: Add plugin symbol geany_callbacks (see plugindata.h for details). Add GeanyObject type with "document-new", "document-open", "document-save" signals. 2007-08-10 Enrico Tröger * tagmanager/php.c: Fix parsing classes with modifiers like 'final'. 2007-08-09 Nick Treleaven * plugins/classbuilder.c: Fix missing GTypeInfo field initializer when generating 'objectname'_get_type() for GObject classes. * doc/geany.txt, doc/geany.html: Move 'About this document' section to end of Introduction. Update 'Contributing to this document' section. * doc/geany.1.in: Update for -g and -p options. * data/autocomplete.conf: Add %cursor% for default 'else' completion. Add space before while for 'do' completion. * src/keybindings.c: Prevent warning when trying to focus non-existent VTE. 2007-08-09 Enrico Tröger * doc/*, doc/html/*: Remove all docbook related files and use reST to generate the documentation. Thanks to John Gabriele for his great work on converting from docbook to the reST format. 2007-08-07 Nick Treleaven * src/symbols.c, tagmanager/python.c: Parse Python global variables and class variables from assignment statements; assignment to a tuple literal ('x, y =') not supported. 2007-08-05 Enrico Tröger * geany.glade, src/geany.h, src/interface.c, src/keyfile.c, src/msgwindow.c, src/prefs.c, src/ui_utils.c: Add option to suppress messages in the status bar. * src/dialogs.c: Use UTF-8 filename in Save As dialog when setting non-existing filename. 2007-08-04 Enrico Tröger * configure.in: Fix error in "make install" caused by old automake versions and intltool. * src/plugins.c: Prevent loading the same plugin in different paths. 2007-08-03 Nick Treleaven * src/plugindata.h, src/plugins.c, src/editor.h, HACKING: Add filetypes, editor_prefs fields to plugin API. Wrap scintilla_send_message(), sci_cmd(), lookup_widget(). Apply patch from Jeff Pohlmeyer to add more common scintilla wrappers to the plugin API (thanks). Increment plugin ABI version. 2007-07-31 Enrico Tröger * po/Makefile.in.in: Removed. * src/symbols.c: Fix crash when saving a file after setting encoding "None". 2007-07-30 Nick Treleaven * src/tools.c, src/sciwrappers.c, src/callbacks.c, src/search.c: Add allocation for NULL-terminated selection ends. 2007-07-29 Enrico Tröger * scintilla/LexHTML.cxx, scintilla/Makefile.am: Backport of LexHTML from Scintilla CVS to fix #1759166. Disable debug build of Scintilla and use -Os. * src/about.c: Rework credits page to fix some display issues. 2007-07-28 Enrico Tröger * src/editor.c, src/editor.h, src/keybindings.c: Rename editor_auto_forif() in editor_auto_complete(). Allow using auto completion in PHP files outside of the PHP tags, generally in comments, for news files without filetype and on non-empty lines. * src/Makefile.am, src/plugins.c: Only show the separator between built-in Tools menu items and plugins if there are any plugins. Use PACKAGE_LIB_DIR. Load plugins in ~/.geany/plugins/ prior to the default location. * src/symbols.c: Hide empty symbol types in the symbol list. * makefile.win32, win32-config.h, plugins/makefile.win32, src/plugins.c: Make plugins working and compiling on Windows. 2007-07-27 Nick Treleaven * plugins/demoplugin.c, plugins/htmlchars.c, plugins/classbuilder.c, src/plugindata.h, src/plugins.c: Add GeanyData* geany_data symbol for plugins so they don't have to keep a copy of the init() argument. Rename PluginData GeanyData (but use a typedef for backward compatibility). Update plugins to use newer API symbols. * src/utils.c, src/utils.h, src/tools.c, src/tools.h, src/dialogs.c, src/callbacks.c, src/callbacks.h: Move Color Chooser and Word Count tools to tools.c. * src/plugins.c: Add separator between built-in Tools menu items and plugins. * src/interface.c, src/keybindings.c, geany.glade: Use AE spelling of 'color'. 2007-07-26 Nick Treleaven * src/highlighting.c: Ignore whitespace_chars for Haxe. * src/plugins.c: Use a single PluginData struct for all plugins. 2007-07-26 Enrico Tröger * THANKS, data/filetype_extensions.conf, data/filetypes.haxe, tagmanager/haxe.c, tagmanager/parsers.h, tagmanager/makefile.win32, tagmanager/Makefile.am, src/templates.c, src/highlighting.c, src/highlighting.h, src/callbacks.c, src/filetypes.c, src/filetypes.h, src/symbols.c: Add filetype Haxe (patch by blackdog, thank you). * ChangeLog, po/ChangeLog, README: Change format of email addresses. 2007-07-25 Nick Treleaven * po/POTFILES.in: Translate the HTML Characters plugin. * src/main.c: Set app->debug_mode when GEANY_DEBUG is defined. * plugins/htmlchars.c, src/plugindata.h, src/plugins.c: Don't destroy plugin_fields->menu_item automatically - plugin_fields should be owned by the plugin, so the plugin is responsible for destroying it, and any other memory it allocated. Print a warning message in debug mode if a plugin has no cleanup() function. 2007-07-25 Enrico Tröger * src/document.c: Fix wrong selection handling when using Color Chooser. 2007-07-24 Nick Treleaven * src/plugindata.h, src/plugins.c: Apply patch from Jeff Pohlmeyer to add plugin functions for getting a file list and modifying scintilla text selections (thanks). * src/document.c: Fix hang when replacing all '[ ]*' regex matches (closes #1757748). 2007-07-24 Enrico Tröger * Makefile.am, doc/Makefile.am, icons/Makefile.am, plugins/Makefile.am, scintilla/include/Makefile.am, src/Makefile.am: Fix make distcheck. 2007-07-23 Nick Treleaven * plugins/htmlchars.c, plugins/Makefile.am, src/interface.c, src/keybindings.c, src/tools.c, src/tools.h, src/plugindata.h, src/callbacks.c, src/callbacks.h, src/plugins.c, src/plugins.h, src/ui_utils.c, HACKING, geany.glade: Convert 'Insert Special HTML Characters' tool into a plugin; keybinding support will be added later. Add plugin functions for inserting text into the current document. Add plugin support for disabling a menu item when no documents are open. Destroy plugin_fields->menu_item on unloading if set by a plugin. Use G_MODULE_BIND_LOCAL for plugins to prevent symbol shadowing by other modules, and to help detect unresolved symbols at loading time. * plugins/htmlchars.c: Fix warning. 2007-07-23 Enrico Tröger * src/symbols.c: Adjust symbol list icon path on Windows. 2007-07-22 Enrico Tröger * src/symbols.c, src/treeviews.c, src/treeviews.h, src/utils.c, src/utils.h: Extend icon search path to get symbol list icons working when using a non-standard installation prefix. Query default icon theme only once to improve startup speed. Store the line number separately in the tree store. Remove utils_get_local_tag(). * data/filetypes.common: Clarified description of white_space setting. 2007-07-20 Frank Lanitz * THANKS,po/LINGUAS,po/en_GB.po: Added British English translation (Thanks to Jeff Bailes). 2007-07-20 Nick Treleaven * src/ui_utils.h, src/geany.h, src/callbacks.c, src/document.c, src/main.c, src/ui_utils.c: Rename ui_close_buttons_toggle() ui_document_buttons_update(). Move app->sensitive_buttons to ui_utils.c for easier maintenance, rename to document_buttons. * configure.in, src/treeviews.c, src/treeviews.h, src/symbols.c, THANKS, Makefile.am, icons, icons/16x16, icons/16x16/classviewer-member.png, icons/16x16/classviewer-var.png, icons/16x16/classviewer-namespace.png, icons/16x16/classviewer-method.png, icons/16x16/Makefile.am, icons/16x16/classviewer-macro.png, icons/16x16/classviewer-other.png, icons/16x16/classviewer-struct.png, icons/16x16/classviewer-class.png, icons/Makefile.am: Apply patch to add symbol list icons from Jean-François Wauthy (thanks). Also thanks to KDevelop for the icons. Add list of projects to THANKS. 2007-07-19 Nick Treleaven * src/treeviews.c: Prevent warning when clicking on symbol list parent items. * src/geany.h, src/filetypes.c, src/filetypes.h, src/main.c: Use extern 'app' and 'filetypes' global variables in headers, so that G_MODULE_BIND_LOCAL can later be used when loading plugins to detect any unresolved symbols. 2007-07-18 Nick Treleaven * src/editor.c: Fix gcc warning, add comment for editor_scroll_to_line(). * src/navqueue.c: Fix possible segfault when a file is closed and using go forward. Fix 2 possible memory leaks when files have been closed. * src/interface.c, src/keybindings.c, src/keybindings.h, src/callbacks.c, src/callbacks.h, geany.glade: Make pressing escape focus the editor when using incremental search or the Goto Line entries. Add keybindings_cmd() to mimic a keybinding action. 2007-07-17 Nick Treleaven * src/dialogs.c, src/callbacks.c, src/callbacks.h, src/document.c, src/document.h: Move font & file open/save dialog callbacks to dialogs.c. Add document_clone() in document.c (for Save As open in new tab). * src/utils.c, src/navqueue.c, src/navqueue.h, src/treeviews.c: Add a navigation queue position when clicking on symbol list items. Prevent duplicates in the navigation queue. Add navqueue_append() which adds the current document position to the queue before adding the new position. 2007-07-17 Enrico Tröger * src/editor.c: Improve selection handling when decreasing indent by one space. Avoid using SCI_DELETEBACK for simple text removal. Fix a typo in is_doc_comment_char(). * src/callbacks.c, src/ui_utils.c, src/utils.c: Fix warnings about shadowing local variables. * geany.glade, src/interface.c: Fix typo. * configure.in, geany.desktop.in.in, Makefile.am, po/Makefile.in.in, po/POTFILES.in: Add --disable-deprecated option to configure to build without deprecated GLib and GTK code. Use intltool to make geany.desktop translatable Rename geany.desktop.in to geany.desktop.in.in. Add Makefile.in.in in po/ to get translation status from msgfmt when running make. * src/win32.c: Fix creation of wrong hex colours when inserting colours from the colour chooser dialog. * tagmanager/ctags.c, tagmanager/entry.c, tagmanager/tm_source_file.c, tagmanager/strlist.c, tagmanager/tm_project.c, tagmanager/sort.c, tagmanager/tm_work_object.c, tagmanager/read.c, tagmanager/regex.c, tagmanager/tm_workspace.c, tagmanager/parse.c, tagmanager/tm_file_entry.c, src/build.c, src/document.c, src/utils.c: Always use g_fopen() and g_stat() instead of fopen() and stat() to fix several problems with filenames containing special characters on Windows. Use GetFullPathName() instead of lrealpath() to get Tagmanager working on files containing special characters on Windows. * configure.in: Fix broken configure when using autoconf < 2.60. * doc/geany.docbook, src/editor.c, src/editor.h, src/keybindings.c, src/keybindings.h: Add keybinding for scroll to current line. 2007-07-16 Enrico Tröger * src/document.c, src/editor.c: Fix possible selection errors on commenting multiple lines when using CR/LF line endings. * doc/geany.docbook, src/editor.c, src/editor.h, src/keybindings.c, src/keybindings.h: Add keybindings for smart indent and indent/deindent by one space. * configure.in: Fix failing linking on some systems (needs to be solved cleanly). 2007-07-16 Nick Treleaven * src/dialogs.c, src/callbacks.c: Use Rename button instead of checkbox for Save As dialog. Add tooltips for Save As dialog's other options. * src/callbacks.c: Fix segfault (oops). 2007-07-13 Nick Treleaven * src/treeviews.c: Prevent warning when closing files when Geany is busy (e.g. pressing Ctrl-W when opening files). * src/main.c: If -i, --new-instance options are passed, disable loading & saving of session files. * src/plugins.c: Remove init_function_pointers(), use static initializers. * plugins/classbuilder.c, src/plugindata.h, src/plugins.c: Make Class Builder 'Create Class' dialog use Glade-style frames and remove some unnecessary border width. Add ui->dialog_vbox_new() and ui->frame_new_with_alignment() functions to the plugin API. * src/ui_utils.h, src/utils.h, src/project.c, src/geany.h, src/ui_utils.c: Add ui_table_add_row() for easily adding widgets to a GtkTable, and use it in project_new(). Group 'generic' functions related to GTK+ together at the top of ui_utils.h. Make sure G_GNUC_NULL_TERMINATED is defined in geany.h. 2007-07-12 Enrico Tröger * src/document.c, src/editor.c: Use again the usual, previous way of line scrolling and use SCI_SETXCARETPOLICY for horizontal scrolling. * src/filetypes.c: Add shebang-like detection for PHP files starting with " * src/prefs.c: Make Escape close the 'Grab Key' dialog. * src/keybindings.c, src/tools.c, src/dialogs.c, src/search.c Capitalize some dialog titles. * src/interface.c, src/prefs.c, src/keyfile.c, src/document.c, src/editor.h, geany.glade: Apply patch from Jeff Pohlmeyer to add a preference for whether to use 'smart' home key behaviour (thanks). 2007-07-11 Enrico Tröger * THANKS, configure.in, plugins/Makefile.am, scintilla/Makefile.am, src/Makefile.am, tagmanager/Makefile.am: Apply patch from Shiv to make build system more compatible with other compilers than gcc. * src/document.c, src/editor.c, src/sciwrappers.c, src/sciwrappers.h: Experimental change of scrolling to get horizontal scrolling working. * src/callbacks.c, src/search.c, src/search.h: Also change background colour of search bar when using find next/previous after using the search bar. 2007-07-11 Nick Treleaven * src/highlighting.c: Add custom wordchars and whitespace_chars support for Python & Ruby. Group setting lexer, wordchars, autocompletion height together in apply_filetype_properties(). * src/interface.c, src/prefs.c, geany.glade: Rearrange some of the Prefs dialog: Add Indentation frame on Editor tab, with tab width setting. Add Display tab for visual editor settings. Move Files tab below Editor tab (not needed so often). Add frame for toolbar page. Change some spacing to multiples of 3 (Gnome HIG recommends multiples of 6). Minor reordering of some checkbox groups. Add mnemonic for Keybindings 'Change' button. 2007-07-09 Enrico Tröger * src/filetypes.c, src/filetypes.h: Change name of XML filetype to "XML document". Add sub menus to "Set Filetype" menu. * src/editor.c: Always show calltip for PHP files. * src/keybindings.c, src/keybindings.h, src/prefs.c: Use a TreeView for keybinding list in the preferences dialog and add descriptive sections for better usability. * src/keybindings.c: Use Ctrl-B for Goto matching brace. * src/symbols.c, tagmanager/php.c: Use CTags SVN version of PHP parser. Use only supported symbol types in the symbol view for PHP. * src/treeviews.c: Focus the editor widget after switching between files with the open files list. * src/callbacks.c, src/document.c, src/document.h: Change the background colour of the search bar in the toolbar according to the search result. 2007-07-08 Enrico Tröger * src/dialogs.c: Fix missing descriptive text in message box when closing an unsaved file on Windows. 2007-07-07 Enrico Tröger * src/editor.c: Include new line character(s) when selecting a paragraph. * doc/geany.docbook, src/document.c, src/editor.c, src/editor.h, src/keybindings.c, src/keybindings.h: Add keybinding for Select, Transpose, Cut, Copy and Delete line. * src/keybindings.c: Change default shortcut for Find Next/Previous to Ctrl-G and Ctrl-Shift-G. * src/editor.c, src/geany.h: Use an extra space after comment toggle mark. Also comment blank lines when using toggle comment. Also comment already commented lines when using toggle comment. Fix some selection issues when using toggle comment. 2007-07-07 Nick Treleaven * scintilla/ScintillaGTK.cxx, src/highlighting.c, doc/geany.docbook, data/filetypes.common: Make Scintilla's move to word commands use the word end boundaries when moving to the right (like e.g. GtkEntry). Treat punctuation chars as whitespace. Add filetypes.common setting: whitespace_chars. * src/highlighting.c, data/filetypes.python: Add decorator (and word2) styling for Python. * src/interface.c, src/prefs.c, geany.glade: Move Context Action command to Tools tab, group with Print command. 2007-07-06 Enrico Tröger * doc/geany.docbook, src/editor.c, src/editor.h, src/keybindings.c, src/keybindings.h: Add keybinding for select current paragraph. * doc/geany.docbook, src/callbacks.c, src/dialogs.c, src/document.c: Use the default GTK file save dialog on Windows. Prevent some (probably) unnecessary filename encoding conversions. 2007-07-05 Enrico Tröger * src/search.c: Fix usage of wrong dialog pointer. * src/callbacks.c, src/editor.c, src/editor.h, src/geany.h, src/keybindings.c: Change comment toggle shortcut to Ctrl-E, undefine shortcuts for comment/uncomment. Improve some selection issues when using comment/uncomment. Improve comment toggling by adding an additional character to mark. 2007-07-05 Nick Treleaven * src/main.c, doc/geany.docbook: Add -p, --no-plugins options to disable plugin support. * src/main.c: Capitalize first letter of command-line argument descriptions. 2007-07-04 Enrico Tröger * geany.glade, doc/geany.docbook, src/interface.c, src/keybindings.c, src/keybindings.h: Change Help shortcut to F1, use Ctrl-H for Replace. * src/callbacks.c, src/dialogs.c, src/dialogs.h, src/document.c, src/document.h, src/editor.c, src/project.c, src/search.c, src/utils.c, src/win32.c, src/win32.h: Fix focus problem when using the Find dialog. * src/socket.c: Use a unique mutex name on Windows to be able to load multiple instances like on non-Windows systems. 2007-07-04 Nick Treleaven * src/utils.c, src/utils.h: Add comment for utils_free_pointers() warning not to use it if any pointers may be NULL. * plugins/Makefile.am, plugins/classbuilder.c, src/templates.c, src/interface.c, src/templates.h, src/tools.c, src/tools.h, src/plugindata.h, src/callbacks.c, src/callbacks.h, src/plugins.c, po/POTFILES.in, geany.glade: Make Class Builder into a plugin. Add some function pointers to the plugin API (for the class builder). Don't use G_MODULE_BIND_LAZY when loading plugins otherwise we can potentially get unresolved symbols at runtime, causing a segfault. Capitalize 2 menu item labels. * plugins/classbuilder.c: Make Class Builder dialog close when pressing escape. * src/symbols.c: Create $configdir/tags directory if it doesn't exist when loading global tags. 2007-07-02 Enrico Tröger * src/symbols.c, tagmanager/conf.c: Parse also sections in configuration files. Allow whitespace in keys and section names. * scintilla/makefile.win32, scintilla/KeyWords.cxx, scintilla/LexConf.cxx, scintilla/Makefile.am: Remove unused LexConf.cxx. * scintilla/LexOthers.cxx: Highlight also space separated key value pairs. * src/win32.c: Fix crash when trying to open the Save As dialog on Windows. 2007-06-29 Enrico Tröger * src/dialogs.c: Set also previous colour when setting the colour for the dialog. * tagmanager/c.c, tagmanager/get.c, tagmanager/get.h: Re-add previously removed code to fix broken calltips. Merge some minor bugfixes to C/C++ parser from CTags SVN and remove compiler warning. * src/search.c: Improve many mnemonics in the Search, Find in Files and Replace dialogs. 2007-06-28 Nick Treleaven * src/search.c, src/document.c: Fix hang with Find All/Usage with regex '^' or '$'. Fix replacing '^' or '$' regexes. Use double quotes for search strings. 2007-06-27 Enrico Tröger * src/callbacks.c, src/dialogs.c: Add palette to Colour Chooser Dialog. Fix picking colours starting with '#'. Replace existing selection with chosen colour. * src/callbacks.c, src/document.c, src/document.h, src/sciwrappers.c, src/sciwrappers.h, src/win32.c: Change signature of sci_replace_sel() to take a const gchar*. Move code to insert a colour to document.c Let the code also work on Windows (untested). 2007-06-27 Nick Treleaven * plugins/demoplugin.c, src/plugindata.h, src/plugins.c: Move plugin name and description into a separate struct, which is set by calling the PLUGIN_INFO() macro - this can be read before the plugin is initialized. Added more comments for plugin authors. 2007-06-26 Nick Treleaven * plugins/demoplugin.c, plugins/Makefile.am, configure.in, src/makefile.win32, src/plugindata.h, src/plugins.c, src/main.c, src/plugins.h, src/Makefile.am, win32-config.h, HACKING, Makefile.am, po/POTFILES.in: Added very basic plugin support - any plugins found in $prefix/lib/geany are loaded at startup. Windows support will be added later. Added Demo plugin (currently installed by default), which adds an item in the Tools menu. 2007-06-26 Enrico Tröger * geany.glade, src/document.c, src/editor.h, src/interface.c, src/keyfile.c, src/prefs.c: Add option to set a default encoding when opening files and disable auto detection of the file encoding. * geany.nsi: Change file encoding from ISO-8859-1 to UTF-8. * configure.in, plugins/Makefile.am, scintilla/Makefile.am, src/Makefile.am, tagmanager/Makefile.am: Change label of GTK check in configure.in from PACKAGE to GTK (only cosmetic). 2007-06-25 Enrico Tröger * src/main.c: Use setlocale to enable translation of strings before GLib command line parser gets active. 2007-06-24 Enrico Tröger * geany.nsi: Fix wrong working directory in generated shortcuts. 2007-06-23 Enrico Tröger * tagmanager/basic.c: Merge recent changes from CTags SVN. * geany.glade, src/interface.c: Apply patch from Gabor Kmetyko to improve wording (thanks). 2007-06-22 Enrico Tröger * tagmanager/c.c, tagmanager/get.c, tagmanager/get.h: Use get.c and get.h from CTags SVN. Merged CSharp parser support into from CTags SVN. * data/filetype_extensions.conf, data/filetypes.cs, data/filetypes.freebasic, scintilla/KeyWords.cxx, scintilla/LexBasic.cxx, scintilla/Makefile.am, src/editor.c, scintilla/makefile.win32, src/filetypes.c, src/filetypes.h, src/highlighting.c, src/highlighting.h, src/msgwindow.c, src/templates.c, tagmanager/basic.c, tagmanager/Makefile.am, tagmanager/makefile.win32, tagmanager/parsers.h: Add new filetypes CSharp and FreeBasic. 2007-06-20 Nick Treleaven * src/callbacks.c: Prevent segfault when using Goto Tag from an untitled file. 2007-06-19 Nick Treleaven * HACKING: Added 'About this file' and links for some Windows developer tools. Added notes on adding a source file to src/ and brief notes on adding a filetype. * src/build.c: Hopefully fix gtk_widget_set_sensitive assertion failed warning on Windows. 2007-06-18 Enrico Tröger * scintilla/*, scintilla/include/*: Updated Scintilla to version 1.74. * src/editor.c: Fix mem leak in auto completion and prevent completion of words with trailing spaces. 2007-06-17 Enrico Tröger * src/templates.c, src/tools.c: Apply patch from Alexander Rodin to improve the class builder code(thanks). * Makefile.am, TODO, data/autocomplete.conf, doc/geany.1.in, doc/geany.docbook, src/editor.c, src/editor.h, src/keyfile.c, src/keyfile.h, src/main.c: Add new command line option --ft-names to get a list of supported filetype names. Complete rewrite of auto completion to make it user-definable and much more flexible. 2007-06-15 Frank Lanitz * src/about.c: Update of about dialog. * THANKS: Added Spanish translator Nacho Cabanes. 2007-06-15 Enrico Tröger * geany.glade, src/interface.c, src/tools.c: Fix spelling of GTK. * src/tools.c: Fix bug when reopening the Insert special characters dialog after it was closed by a delete event. Fix creation of class files with an empty name and some code reformatting. * src/utils.c: Fix sanity checks in utils_str_replace(). * src/tools.c: Fix several memleaks. Avoid using broken functions g_strdown() and g_strup(). Only create header and source files if filename is not empty. 2007-06-14 Frank Lanitz * src/tools.c: Fixed a small typo. 2007-06-14 Enrico Tröger * src/callbacks.c: Avoid creation of unwanted undo action when opening a saved-as file in a new tab. 2007-06-14 Nick Treleaven * src/templates.c, src/interface.c, src/templates.h, src/tools.c, src/tools.h, src/callbacks.c, src/callbacks.h, geany.glade, THANKS: Apply class builder patch from Alexander Rodin (thanks). 2007-06-13 Nick Treleaven * src/build.c, src/utils.c: Use g_io_channel_win32_new_fd() as recommended in GLib docs for utils_set_up_io_channel() on Windows. (Unlikely to change behaviour though). * src/callbacks.c: Fix segfault when attempting to rename a new file from the Save As dialog. 2007-06-12 Enrico Tröger * src/callbacks.c, src/dialogs.c: Add "Open file in a new tab" and "Rename file" to the "Save as" dialog for more control over saved file. 2007-06-12 Nick Treleaven * src/interface.c, src/sciwrappers.c, src/sciwrappers.h, src/prefs.c, src/callbacks.c, src/callbacks.h, src/keyfile.c, src/document.c, src/document.h, src/main.c, src/editor.c, src/editor.h, src/ui_utils.c, geany.glade: Rename some menubar widget names. Use indentation spelling in variable names. 2007-06-11 Enrico Tröger * geany.glade, src/callbacks.c, src/callbacks.h, src/document.c, src/geany.h, src/interface.c, src/keyfile.c, src/main.c, src/prefs.c, src/vte.c: Add auto focus (to auto focus widgets below mouse cursor). 2007-06-10 Enrico Tröger * src/treeviews.c: Prevent double jump to line when clicking on a symbol list item. * src/build.c: Hide Next Error menu item and unnecessary separator from build menu on Windows. * src/callbacks.c: Fix broken help menu item on Windows. * src/utils.c: Add additional directory separator to generated READMEs. 2007-06-09 Enrico Tröger * THANKS, src/document.c: Apply patch from François Cami and Guillaume Duviol to improve replacement of tabs by spaces (thank you). * src/templates.c: Change PHP short open tag to the full open tag. * src/document.c: Prevent hang if searching for a regular expression fails (closes #1733676). 2007-06-08 Frank Lanitz * THANKS, src/about.c: Added new translator Adrovane Marques Kade. 2007-06-04 Enrico Tröger * src/main.c: Add rpl_malloc() for better compatibility with non-GNU systems (thanks to Harri Koskinen for reporting). * po/POTFILES.in: Add navqueue.c. * po/intl_stats.sh: Add revision time to the output. * src/callbacks.c, src/callbacks.h: Remove unneeded functions destroyapp and on_window_configure_event. * src/keyfile.c, src/main.c: Re-maximize the main window on startup when closed in maximized state (closes #1730369). * src/geany.h, src/keyfile.c, src/main.c: Improve code to avoid hiding the messages window (caused by last commit). * tagmanager/sort.c, tagmanager/tm_workspace.c: Replace malloc() by g_malloc(). 2007-06-03 Enrico Tröger * doc/geany.docbook, src/keybindings.c, src/keybindings.h: Add keybindings for forward/back code navigation. * src/navqueue.c, src/navqueue.h: Add Id SVN keyword and short file description. 2007-06-02 Enrico Tröger * geany.glade, src/callbacks.c, src/callbacks.h, src/geany.h, src/interface.c, src/keyfile.c, src/main.c, src/Makefile.am, src/navqueue.h, src/navqueue.c, src/prefs.c, src/ui_utils.c: Apply patch from Dave Moore to add simple code navigation (thank you). 2007-05-31 Enrico Tröger * src/templates.c: Add Haskell to make_comment_block(). 2007-05-29 Nick Treleaven * src/build.c, src/utils.c, src/utils.h, src/keybindings.c, src/prefs.c, src/geany.h, src/callbacks.c, src/keyfile.c, src/document.c, src/main.c, src/editor.c, src/editor.h, src/ui_utils.c: Move MyApp::pref_editor_* to editor.h, using editor_prefs struct. Move INDENT_* enums to editor.h. Move utils_get_whitespace() to editor.c. 2007-05-29 Enrico Tröger * doc/geany.docbook: Remove app_small entity. Add description for global configuration file. 2007-05-28 Nick Treleaven * src/project.c, src/document.c, src/ui_utils.c: Show current project name in window title. * configure.in, src/Makefile.am: Force debug mode for a SVN working copy. * src/highlighting.c, src/keybindings.c, src/makefile.win32, src/callbacks.c, src/sci_cb.c, src/sci_cb.h, src/search.c, src/document.c, src/main.c, src/editor.c, src/Makefile.am, src/editor.h, po/POTFILES.in: Rename sci_cb.[hc] editor.[hc]. 2007-05-26 Nick Treleaven * src/treeviews.c, src/filetypes.c, src/filetypes.h, src/document.c: Replace filetype::has_tags member with filetype_has_tags(). * HACKING: Add note about Adding a TagManager parser. 2007-05-26 Enrico Tröger * src/filetypes.c: Ignore case of filename extensions on Windows. * src/ui_utils.c: Add missing header file. * src/keyfile.c: Use current locale as default encoding for new files. Don't keep comments in configuration file to work around a bug in newer GLib versions. If config file doesn't exist, try to load a global one from $prefix/share/geany/. * src/utils.c: Don't create an empty geany.conf as write test, use access() instead. 2007-05-25 Enrico Tröger * data/filetype_extensions.conf, src/filetypes.c, tagmanager/sh.c: Add *.ash and *.bash as filetype entensions for filetype SH. Add ash and wish to the shebang patterns. * geany.glade, src/callbacks.c, src/callbacks.h, src/geany.h, src/interface.c, src/main.c, src/ui_utils.c: Improve sensitivity of recent files sub menus. * src/filetypes.c: Add shebang-like detection for XML files. 2007-05-25 Nick Treleaven * doc/geany.docbook: Comment out stopping make process. Remove note about editing build commands manually. * src/build.c, doc/geany.docbook: Add support for %e, %f in project run command. * src/about.c: Show SVN revision as '>=' because 'svn up' may not have caused a re-run of configure. Show build date as 'on or after' compilation of about.o. 2007-05-24 Nick Treleaven * src/utils.h: Add setptr() macro to free data and reassign to the same pointer. * src/build.c: Use get_build_executable() in prepare_run_script(). 2007-05-24 Enrico Tröger * src/document.c: Fix loading of UTF-16/32 encoded files with a BOM. 2007-05-23 Enrico Tröger * src/vte.c: Add popup menu item: Change current working directory. * geany.glade, src/dialogs.c, src/geany.h, src/interface.c, src/keyfile.c, src/main.c, src/prefs.c: Add default startup directory option (closes #1704988). * tagmanager/ruby.c, tagmanager/strlist.c, tagmanager/strlist.h: Backport changes from CTags SVN to fix parse problems in the Ruby parser. * data/filetype_extensions.conf, src/filetypes.c: Add filetype extension "*.ruby". * scintilla/ScintillaGTK.cxx: Fix wrong target list for PRIMARY clipboard. 2007-05-23 Nick Treleaven * src/filetypes.c, src/symbols.c, tagmanager/parsers.h, tagmanager/makefile.win32, tagmanager/haskell.c, tagmanager/Makefile.am: Add Haskell tags support from CTags patch on sf.net written by Peter Strand (thanks). * src/symbols.c: Use tag_list_add_groups() in init_tag_list(). 2007-05-22 Nick Treleaven * tagmanager/read.c, tagmanager/read.h, tagmanager/get.h: Move C-only isident(), isident1() functions to get.h. 2007-05-21 Enrico Tröger * NEWS, geany_private.rc, win32-config.h, doc/geany.1.in, doc/geany.docbook, doc/geany.txt, doc/images/*, doc/html/*: Updated for Geany 0.11. * New release: Geany 0.11 "Bandor". * configure.in, geany.nsi, geany_private.rc, win32-config.h, src/geany.h: Post-release version bump. 2007-05-16 Enrico Tröger * THANKS, src/about.c, po/LINGUAS, po/bg.po: Added Bulgarian translation (Thanks to Dilyan Rusev). 2007-05-16 Nick Treleaven * src/highlighting.c: Fix bug when loading custom filetypes.common styles. * src/sci_cb.c: Add workaround for PHP/TCL closing brace de-indenting. 2007-05-15 Nick Treleaven * src/highlighting.c, data/filetypes.common: Show fold line by default (so it's clearer there are hidden lines). 2007-05-15 Enrico Tröger * scintilla/ScintillaGTK.cxx: Fixed wrong clipboard target (closes #1711483). * doc/geany.docbook, src/callbacks.c: Hide notebooks tabs instead of sidebar when toggling additional widgets. * doc/geany.docbook, src/about.c, src/build.c, src/dialogs.c, src/keybindings.c, src/project.c, src/symbols.c, src/tools.c, src/ui_utils.c: Added many widget names to different dialogs for use with custom styles. Menu items still don't work. * data/filetypes.common, doc/geany.docbook, src/highlighting.c: Applied patch from Michal Kurgan to disable separately use of global white space foreground and background colours (thanks). 2007-05-14 Nick Treleaven * src/filetypes.c, src/filetypes.h: Add some menu separators to group filetype menu items. Reorder Haskell, O-Matrix, VHDL filetypes. * src/document.c: Fix removing indent spaces after switching back to tab indenting. * scintilla/LexHTML.cxx: Hopefully fix #1718532 - 'Crashes when open a special file'; backported from Scintilla 1.73. 2007-05-12 Nick Treleaven * tagmanager/sql.c: Fix #1717418, Hang on SQL file load. 2007-05-11 Nick Treleaven * src/utils.c, src/utils.h, src/search.c: Move search_get_file_list() to utils.c. * src/highlighting.c, src/highlighting.h, src/symbols.c: Load global tag files stored in ~/.geany/tags when needed. * doc/geany.docbook: Update docs for loading user tags at startup. * doc/geany.docbook: Rename 'confdialog' to 'prefs'. Move compile time options section into an appendix (most users shouldn't change these options). * src/highlighting.c: Prevent double loading of common styles when filetype none is used before other filetypes. Replace init_styles() with direct initialization of style_sets. * src/ui_utils.h, src/project.c, src/search.c, src/ui_utils.c: Use open folder dialog for project base path instead of create folder dialog (better for choosing existing directories, and can still create new folders). Add optional title parameter for open dialog with ui_path_box_new() and ui_setup_open_button_callback(). Use Windows folder dialog in ui_path_box_open_clicked(). * src/utils.c: Wrap notebook pages when switching tabs. * src/utils.c: Fix bug when directory doesn't exist in utils_get_file_list(). 2007-05-10 Nick Treleaven * data/global.tags: Update C global tags for GTK+ 2.10 and it's dependencies. 2007-05-09 Nick Treleaven * src/document.c: Make backspace unindent when using spaces for indentation. 2007-05-08 Nick Treleaven * src/sci_cb.c: Fix auto-indentation when the filetype is not set. 2007-05-08 Enrico Tröger * src/sciwrappers.c, src/sciwrappers.h: Added sci_get_line_indentation() and sci_set_line_indentation(). * src/callbacks.c: Fixed broken increase/decrease indentation when using only spaces for indentation. 2007-05-07 Enrico Tröger * data/filetypes.haskell: Added build instructions. * geany.nsi: Prevent installation in a directory without proper write permissions under Windows. Display an error message instead. 2007-05-06 Enrico Tröger * data/filetypes.haskell, scintilla/KeyWords.cxx, scintilla/LexHaskell.cxx, scintilla/Makefile.am, scintilla/makefile.win32, src/filetypes.c, src/filetypes.h, src/highlighting.c, src/highlighting.h, src/sci_cb.c, THANKS: Added new filetype Haskell (patch by Guillaume Hoffmann, thanks). * geany.glade, doc/geany.docbook, src/callbacks.c, src/callbacks.h, src/interface.c, src/keybindings.c, src/keybindings.h: Added menu item to hide or show all additional widgets and renamed keybinding to menu_toggleall. 2007-05-05 Nick Treleaven * src/keybindings.c: Make marker and matching brace keybindings global. (Also indent some case statement bodies). * src/sci_cb.c: Add brace indenting support for Perl and TCL. 2007-05-05 Enrico Tröger * doc/geany.docbook: Applied patch from John Gabriele which adds some text to the preferences section, thanks. 2007-05-04 Enrico Tröger * doc/geany.docbook, src/main.c, src/prefs.c: Set widget names for the main widgets to allow users to define custom styles in .gtkrc-2.0. * doc/geany.docbook, src/keybindings.c, src/keybindings.h, src/prefs.c, src/ui_utils.c, src/ui_utils.h: Added keybinding to show and hide all additional widgets(statusbar, toolbar, sidebar and messages window). 2007-05-03 Nick Treleaven * src/keybindings.c, src/keybindings.h: Add keybinding to show project properties dialog. * src/keybindings.c: Merge file menu keybinding callbacks into cb_func_file_action(). 2007-05-02 Frank Lanitz * THANKS, src/about.c: Update of e-mail of Jean-Philippe Moal. 2007-05-01 Nick Treleaven * geany.gladep: Don't regenerate the support.[hc] files, to prevent unnecessary rebuilding of files dependent on support.h. * src/project.c: Hide the unused File Patterns field in the project properties dialog. * src/build.c, src/project.c: Allow run for any file (with a path) when a valid project run command is set. * src/project.c: Allow a blank project base path to use the default Make All command. Update the 'project already open' & 'base path not found' dialogs. 2007-04-30 Nick Treleaven * src/symbols.c: Use g_printerr (if necessary) when generating global tags to convert UTF-8 automatically; mark error messages for translation. * src/search.c: Allow replacing identical text if case sensitive is not checked. * src/document.c: Fix reloading of read-only documents. * src/document.c: Make replace all commands report no matches for read-only documents. * src/search.c: Switch to status window when using Replace In Session to show which documents had replacements made. * src/search.c: Show number of matches when using Mark command. * src/utils.h: Add NZV() macro for checking a char* points to a non-empty string. * src/build.c: Disable the Build Includes run command field when there is a project open with a valid run command set. 2007-04-29 Nick Treleaven * src/interface.c, geany.glade: Rename 'tabulators' 'tabs'. * src/ui_utils.h, src/search.c, src/ui_utils.c: Add ui_path_box_new() for creating a path text entry with an open button, which runs a file chooser to set the text entry. Add ui_setup_open_button_callback() for setting up a button callback that behaves like the open button in ui_path_box_new(). Use ui_path_box_new() in FIF dialog setup. * src/interface.c, src/project.c, src/project.h, src/prefs.c, geany.glade: Add project file path preferences option in General tab. 2007-04-29 Enrico Tröger * src/geany.h: Changed default browser to firefox. 2007-04-26 Nick Treleaven * tagmanager/tm_source_file.c, tagmanager/include/tm_source_file.h: Add tm_source_file_get_lang_name() as a wrapper for getLanguageName() in parse.c. * src/main.c, src/symbols.c, tagmanager/tm_workspace.c, tagmanager/include/tm_workspace.h: Add support for generating global tags files for non-C-like filetypes. * doc/geany.docbook: Update Global Tags section now all filetypes can be generated. Comment out 'should be written' from Preferences section. * doc/geany.docbook: Add Project Management section. 2007-04-25 Nick Treleaven * src/filetypes.c, src/filetypes.h, src/main.c: Separate filetype menu item creation from filetypes_init_types() so it can be called without initializing GTK (for non-GUI commands). 2007-04-24 Nick Treleaven * src/search.c: Disable FIF extra options entry when checkbox is not checked. * src/sci_cb.c: Remove duplicate calltips (e.g. from function def and prototype). 2007-04-23 Nick Treleaven * src/build.c: When linking (or using Make Custom), remove error indicators in all documents (should fix #1705374). * src/symbols.c: Sort symbol list tags also by line number (fixes #1703575). * src/utils.c, src/utils.h: Add G_GNUC_NULL_TERMINATED to ensure variable arglists are NULL terminated (for GLib >= 2.8). 2007-04-21 Nick Treleaven * src/project.c, src/project.h, src/keyfile.c, src/main.c: Restore the current project when restarting Geany. * src/project.c: Fix no response with Project dialogs when the user enters invalid information (oops). 2007-04-20 Nick Treleaven * doc/geany.docbook: Update generating global tags section. * src/keyfile.c: Move save_recent_files(), save_session_files() code out of configuration_save(). Move load_file_lists() code out of configuration_load(). 2007-04-19 Enrico Tröger * doc/geany.docbook, src/vte.c: Fixed handling of command line arguments within the shell command for the VTE to enable use of shells as login shells. 2007-04-18 Nick Treleaven * doc/geany.docbook: Update Search section: escape sequences, Find All, Mark, Replace All. * src/filetypes.c, src/filetypes.h, src/document.c: Split filetypes_get_from_filename() into filetypes_detect_from_file() and filetypes_detect_from_filename(). * tagmanager/tm_tag.c: Use the usual TM parser for all langTypes except pascal, php, latex when loading global tags files. * tagmanager/tm_workspace.c: Keep tag names with different argument lists when loading global tags. Prevent segfault if using tm_workspace_find_scoped() with global tags. * src/interface.c, src/callbacks.c, src/callbacks.h, src/symbols.c, src/symbols.h, geany.glade: Add Load Tags command in the File menu. 2007-04-16 Enrico Tröger * src/build.c, src/dialogs.c, src/document.c, src/utils.c: Use g_stat() instead of stat() to prevent file read errors on Win32. Prevent unnecessary filename encoding conversions on Win32. 2007-04-16 Nick Treleaven * src/filetypes.c: Remove wrong UTF-8 conversion in filetypes_get_from_filename(). 2007-04-15 Enrico Tröger * geany.glade, data/filetypes.*, doc/geany.docbook, src/callbacks.c, src/callbacks.h, src/filetypes.c, src/filetypes.h, src/geany.h, src/interface.c, src/keybindings.c, src/keybindings.h, src/keyfile.c, src/main.c, src/prefs.c: Added context actions to run custom commands on current selection or the current word below cursor. * src/document.c, src/keyfile.c: Run print command asynchronously to prevent blocking of the main process (closes #1695786). 2007-04-15 Nick Treleaven * src/sci_cb.c: Prevent D module tag lookup for D constructor calltips. * tagmanager/tm_workspace.c: Allow overloaded argument lists in global tag files. * tagmanager/tm_workspace.c: Add tm_tag_function_t tags in global tags files, so that inline C++ methods (and D functions) get parsed. * src/keyfile.c, src/search.c, src/search.h: Save FIF extra options string in the keyfile. * src/search.c: Move 'Recurse in subfolders' FIF option below the others. Add tooltip for extra options entry. 2007-04-13 Enrico Tröger * src/sci_cb.c: Fixed missing calltip display when using a space after a symbol name (thanks to Anh Phạm for reporting). 2007-04-13 Nick Treleaven * src/sci_cb.c, tagmanager/tm_tag.c, tagmanager/tm_workspace.c: Show up and down arrows when there are multiple calltip matches. 2007-04-10 Enrico Tröger * geany.glade, src/document.c, src/geany.h, src/interface.c, src/keyfile.c, src/main.c, src/prefs.c, src/ui_utils.c: Added options to show or hide the statusbar as well as the editor scrollbars. * src/sciwrappers.c, src/sciwrappers.h: Added sci_set_scrollbar_mode() to easily show or hide the scrollbars. 2007-04-08 Enrico Tröger * configure.in, Makefile.am, doc/Makefile.am, scintilla/Makefile.am, src/Makefile.am, tagmanager/Makefile.am: Made "distcheck" working. 2007-04-06 Nick Treleaven * src/sci_cb.c: Only insert a space if construct completion occurs, to prevent unusual undo history. * doc/geany.docbook: Add Construct completion in the Editing section. Add Tags section, including how to generate a replacement global.tags file. 2007-04-05 Nick Treleaven * tagmanager/tm_workspace.c: Write tm_tag_enumerator_t and tm_tag_macro_t (e.g. for GTK_STOCK_*) tags when creating a global tags file, and store the pointerOrder. * doc/geany.docbook: Add filtering out version control files with Extra options info to Find in Files section. * src/keybindings.c: Only construct-complete when the editor widget has focus. * src/symbols.c, tagmanager/tm_workspace.c: Make \" filename quoting optional when creating a global tags file (quoting is useful if glob matching is needed). Run geany -g for example usage. 2007-04-03 Nick Treleaven * src/search.c: Add recursive option to Find in Files dialog. * src/search.c: Add 'Extra options' field and checkbox to FIF dialog. Don't allow arguments appended to Grep command. Prevent warning when using relative paths with open directory button. Refactor FIF options code into get_grep_options(), remove fif_options, fif_match_type. 2007-03-31 Nick Treleaven * src/templates.c, doc/geany.docbook: Make file header optional for filetype templates - use the string '{fileheader}' to mark where the file header should be placed, which can be anywhere in the filetype template. 2007-03-30 Nick Treleaven * geany.desktop.in: Added MimeTypes: C++ header, Pascal, Perl, Python, httpd-PHP, XML; thanks to Iñaki Rodriguez. * src/search.c: Prevent Find in Files directory combo being vertically stretched. 2007-03-30 Enrico Tröger * src/sci_cb.c: Fixed warning about shadowing a local variable. * doc_geany.docbook, src/keybindings.c, src/keybindings.h: Add keybinding for switching to the search bar (as suggested by Nikolas Arend). 2007-03-29 Nick Treleaven * src/sci_cb.c: Check size of construct completion buffer, remove unneeded static in sci_cb_auto_forif(). Reorder some of sci_cb_close_block(). * src/keybindings.c, src/keybindings.h: Add headings for the Keyboard Shortcuts dialog to group related commands. Shorten the 'Send to custom command' labels slightly. 2007-03-28 Nick Treleaven * src/sci_cb.c: Don't auto-indent {} braces for filetypes that don't use them. Add lexer_has_braces(), do_indent() for in place buffer indentation. Rewrite some of get_indent(). 2007-03-27 Nick Treleaven * src/keybindings.c, src/keybindings.h, src/sci_cb.c, src/sci_cb.h, doc/geany.docbook: Add keybinding for construct completion, and set the default to tab. Separate complete_constructs() code from sci_cb_auto_forif(). 2007-03-26 Nick Treleaven * src/keybindings.c, TODO: Change comment/uncomment keybinding to Ctrl-G/Ctrl-Shift-G. Change duplicate KB to Ctrl-D (Scintilla default). Change goto line KB to Ctrl-J (so Ctrl-L line cut Sci KB works). Remove default goto matching brace KB (doesn't work on all keyboards). * src/sci_cb.c, src/symbols.c, src/symbols.h: Load HTML-entities when the PHP lexer is first needed, instead of when typing outside of PHP styles. * src/sci_cb.c: Separate on_margin_click(), on_update_ui(), on_char_added() Scintilla notifications. 2007-03-25 Enrico Tröger * doc/geany.docbook, src/keybindings.c, src/keybindings.h, src/sci_cb.c, src/sci_cb.h, src/utils.c, src/utils.h: Use Ctrl+Shift+Space always for showing calltips because Alt+Space is used often by window managers (not only under Windows). Added keybinding for inserting alternative whitespace characters. 2007-03-24 Nick Treleaven * src/sci_cb.c, src/symbols.c: Fix segfault when pressing ctrl-enter when there are no workspace tags (thanks to R8Rooy for reporting). * src/build.c, src/build.h, src/dialogs.c, src/dialogs.h, src/callbacks.c, src/callbacks.h: Move dialogs_show_includes_arguments_*() to build.c. Move on_includes_arguments_*dialog_response() to build.c. Make several build functions static. * src/keybindings.c: Ignore Caps Lock in keybindings_got_event() (could cause problems with e.g. Shift-F9). * src/search.c: Don't beep when pressing escape to close the Find or Replace dialogs. 2007-03-23 Nick Treleaven * src/dialogs.c: Add Edit button to Keyboard Shortcuts dialog. * src/keybindings.c, src/keybindings.h, src/dialogs.c, src/dialogs.h, src/callbacks.c: Move dialogs_show_keyboard_shortcuts() to keybindings.c. * src/keybindings.c, src/prefs.c, src/prefs.h, src/callbacks.c, src/vte.c: Rename dialogs_show_prefs_dialog() to prefs_show_dialog(). 2007-03-22 Enrico Tröger * THANKS, doc/geany.docbook, src/keybindings.c, src/keybindings.h, src/sci_cb.c, src/sci_cb.h: Applied patch from Anh Phạm to add a keybinding for selecting the current word under the cursor (thanks). 2007-03-21 Nick Treleaven * src/project.c: Made all project dialogs modal. * src/main.c, src/symbols.c, src/symbols.h, tagmanager/tm_workspace.c: Add option --generate-tags (-g) to generate a global tags file from a list of source files. Currently this is only likely to work correctly for C source files. Run 'geany -g' for syntax info. Remove short option for hidden option --generate-data-files. Update tm_workspace_create_global_tags() from Anjuta 1.2.4a. * tagmanager/tm_tag.c, tagmanager/include/tm_tag.h Separate alternative PHP/LaTeX global tags parser into tm_tag_init_from_file_alt() (for easier diff with Anjuta). 2007-03-20 Enrico Tröger * data/filetypes.common, doc/geany.docbook, src/highlighting.c: Added option to change the caret width. 2007-03-15 Nick Treleaven * src/keybindings.c, src/keybindings.h, src/sciwrappers.c, src/sciwrappers.h: Add Goto Previous/Next Marker keybindings (Ctrl-, and Ctrl-.). Make sci_marker_next() and sci_marker_previous() return marker line number. * src/keybindings.c, src/keybindings.h, src/sciwrappers.c, src/sci_cb.c: Add Toggle Marker keybinding (Ctrl-M). * THANKS, doc/geany.docbook: Add bookmarks section written by John Gabriele (thanks). Group some subsections into an 'Editing' section. 2007-03-14 Nick Treleaven * src/callbacks.c: Delay updating interface items when switching notebook tabs until after the page has changed, so it appears to switch pages faster. * src/treeviews.c, src/notebook.c: Don't recreate the open files items when DnD reordering tabs, now that the open files treeview is sorted alphabetically. * src/project.c: Make suggested New Project filename use the projects/ directory as parent directory, instead of projects/name/. 2007-03-13 Enrico Tröger * src/highlighting.c: Fixed wrong margin colours for filetype All/None. * src/highlighting.c: Init the default styles before first usage. 2007-03-13 Nick Treleaven * src/ui_utils.c: Use tab stops for status bar line, column and selection data to stop the other fields being moved so often when browsing code or typing. Rearrange status bar statistics to be clearer/more concise. * src/document.c: Count total replacements made when replacing in a rectangular selection. * src/keybindings.c, src/keybindings.h, src/callbacks.c, src/callbacks.h, doc/geany.docbook: Add 'Switch to last used document' keybinding. 2007-03-12 Enrico Tröger * doc/geany.docbook: Added description for disable-server command line option for Xfce Terminal. * src/project.c: Added missing whitespace (found by Frank). 2007-03-12 Nick Treleaven * src/build.c: Switch to Compiler window when using Next Error command. * src/utils.c, src/document.c: Update the status bar after setting the document file type, if it has changed. Update the status bar after colourising open files, so the current tag is accurate. 2007-03-10 Nick Treleaven * src/project.c: Separate New Project dialog from Project Properties dialog. Make Properties Filename field read-only, below Name field. Capitalize dialog titles. * src/utils.c, src/utils.h, src/project.c: Make New Project dialog create parent directories of the chosen base path if necessary. Prevent warnings when setting open dialog directory to a path whose parent directory doesn't exist. Add create_parent_dirs argument for utils_mkdir(). 2007-03-09 Enrico Tröger * src/callbacks.c, src/encodings.c, src/encodings.h, highlighting.c, src/msgwindow.c, src/notebook.c, src/project.c, src/sci_cb.c, src/search.c, src/tools.c, src/ui_utils.c, src/utils.c: Fixed several compiler warnings (mainly shadowing local variables and unreachable code). * src/sci_cb.c: Auto completion of multi line comments is now (again) configurable with the auto complete constructs option. * src/highlighting.c: Set default highlighting style for filetype None to get it also inverted if invert_all is set. Reset all previously defined styles when switching filetype to None. * data/filetypes.common, doc/geany.docbook, src/highlighting.c: Added style "default" to filetypes.common to be able to change the default style for files without a filetype set. 2007-03-09 Nick Treleaven * src/interface.c, doc/geany.docbook, data/filetypes.*, geany.glade: Fix indentation spelling. 2007-03-08 Nick Treleaven * src/document.c: Fix not setting existing project typenames for C-like files if they don't contain typenames themselves (bug introduced in r1323). * doc/geany.docbook: Updated Templates section for filetype templates and added some subsection titles. 2007-03-08 Enrico Tröger * geany.glade, src/interface.c: Fixed wrong tooltip. * geany.glade, doc/geany.docbook, src/document.c, src/document.h, src/geany.h, src/interface.c, src/keyfile.c, src/main.c, src/prefs.c, src/sci_cb.c, src/ui_utils.c: Added different auto indention modes to select how should Geany indent new lines (closes #1615605). 2007-03-06 Nick Treleaven * src/win32.c, src/callbacks.c, src/keyfile.c, src/document.c, src/document.h, src/main.c, src/socket.c: Speed up loading multiple C-like files when existing documents are open (by ensuring documents are only colourised once). Add document_open_files(), document_colourise_new(). Add some missing function parameter names to document.h. 2007-03-05 Enrico Tröger * doc/geany.docbook: Added single line comment examples for clarification. 2007-03-05 Nick Treleaven * src/build.c, src/project.c, src/project.h: Add project run command support. Run command is a custom command-line and can include arguments. Make 'Choose project filename' dialog use a Save button. 2007-03-03 Nick Treleaven * src/build.c: Moved all code for checking and creating the geany run script temporary file from build_run_cmd() to prepare_run_script(). * src/build.c, src/utils.c: Fix memory leak with utils_remove_ext_from_filename(). * src/build.c: Fix memory leak, remove unused build_create_shellscript() argument. * src/build.c: Use UTF-8 for missing executable error message. 2007-03-02 Enrico Tröger * src/win32.c: Added new file filter for Open File dialog to only show supported source files (for native Win32 dialog). * src/main.c: Changed location of translation files to lib\locale on Win32. * geany.nsi: Added NSIS installer script for the Win32 installer. * data/filetypes.c, data/filetypes.cpp, src/highlighting.c: Added support for secondary keywords for filetypes C and C++. * doc/geany.docbook: Fixed typo (thanks to John Gabriele). 2007-03-01 Nick Treleaven * src/build.c, src/project.c, src/project.h: Run Make All and Make Custom from the project base directory, if set. Add project_get_make_dir(). 2007-03-01 Enrico Tröger * src/tools.c, src/utils.c: Applied patch from Jeff Pohlmeyer to improve the custom command execution code(thanks). * src/sciwrappers.c, src/sciwrappers.h: Added sci_get_selection_mode(), sci_set_selection_mode(), sci_get_pos_at_line_sel_start(), sci_get_pos_at_line_sel_end(). * src/document.c: Improved replacing in rectangle selections (closes #1665571). * src/build.c, src/tools.c, src/utils.c, src/utils.h: Set IO channels for custom commands to blocking mode (thanks to Jeff Pohlmeyer). * data/filetypes.python, src/highlighting.c: Added missing keywords: as, with, False, None and True. * src/dialogs.c, src/filetypes.c, src/filetypes.h: Added new file filter for Open File dialog to only show supported source files (list of all defined filename extensions). 2007-02-28 Nick Treleaven * src/msgwindow.c, src/msgwindow.h, src/search.c: Show number of matches when using Find All or Find in Files. Add msgwin_msg_add_fmt(). * src/build.c: Make build_spawn_cmd() take a command string instead of joining an array of strings. 2007-02-27 Nick Treleaven * src/filetypes.c: Use utils_strv_new() for all filetype patterns. 2007-02-26 Enrico Tröger * src/tools.c: Fixed wrong sensitiveness of custom commands menu items. * configure.in, THANKS: Applied patch from Slava Semushin to improve SVN checks (thank you). 2007-02-25 Enrico Tröger * geany.glade, doc/geany.docbook, src/geany.h, src/interface.c, src/keybindings.c, src/keybindings.h, src/keyfile.c, src/main.c, src/tools.c, src/tools.h: Added custom commands to send selected text through some definable commands and replace the selection with the output. * data/filetype_extensions.conf, src/filetypes.c: Added *.pod to Perl file patterns. * src/sci_cb.c: Auto complete multi line comments only when auto completion of constructs is enabled. 2007-02-25 Nick Treleaven * src/build.c: Prevent undefined behaviour when using the Stop command that can kill X when Geany is run from the KDE or Xfce menu (not from a terminal). Should close #1668017. 2007-02-24 Enrico Tröger * configure.in, Makefile.am, README.I18N, po/intl_stats.sh, po/LINGUAS: Moved list of available translations to new file po/LINGUAS. Added readme file for translation information. Added little shell script intl_stats.sh to display some basic translation statistics. 2007-02-24 Nick Treleaven * src/*.c: Add descriptions for all .c source files below the file header. 2007-02-23 Nick Treleaven * src/keyfile.c, src/document.c, src/document.h, src/main.c: Speed up loading multiple C-like files when restoring session or loading command-line files at startup by ensuring documents are only colourised once. Also prevent re-colourising C-like documents after saving a file unless the list of typenames has changed. Add document_delay_colourise(), document_colourise_all(). * src/dialogs.c, src/document.c, src/document.h: Fixed switching to the wrong tab when showing the unsaved dialog. * src/templates.c: Don't include filetype.none in the new file template menus. 2007-02-20 Enrico Tröger * src/sci_cb.c, src/sci_cb.h: Made auto_close_bracket() static and auto close brackets only when auto completion of constructs is enabled (closes #1665015). * doc/geany.1.in: Fixed typo. * geany.glade, src/interface.c: Improved tooltip for auto completion. 2007-02-20 Nick Treleaven * src/document.c: Remove the yellow error line marker also when using 'Remove Error Indicators'. 2007-02-19 Enrico Tröger * src/search.c: Fixed compiler warning. * src/project.c, src/win32.c, src/win32.h: Added Windows dialogs for Project new and Project open actions. Fixed some mem leaks in the Windows code. 2007-02-19 Nick Treleaven * src/templates.c, src/templates.h, src/highlighting.c, src/callbacks.c, src/callbacks.h, src/filetypes.c, src/main.c: Support filetype templates for all filetypes (scan ~/.geany/templates/filetype.* at startup). Default filetype templates are now created in init_ft_templates(). Move on_new_with_template() to templates.c. Move on_filetype_change() to filetypes.c. 2007-02-18 Enrico Tröger * data/filetypes.ruby, src/highlighting.c: Added several missing style types for filetype Ruby. * doc/geany.docbook: Added notice about contributing to the docs (patch from John Gabriele, thanks). 2007-02-17 Nick Treleaven * src/ui_utils.c: Scroll Compiler and Messages window in view when using Next Error or Next Message. * src/search.c: Add Mark button as a Find All option in the Find dialog. * src/interface.c, src/callbacks.c, src/callbacks.h, src/document.c, geany.glade: Add Remove Markers item to the Document menu. Remove Error Indicators no longer removes current tag marker. 2007-02-16 Nick Treleaven * src/sciwrappers.c, src/sciwrappers.h, src/sci_cb.c, src/document.c: Rename sci_get_line_end_from_position() with line argument, not position. Don't autocomplete for/if constructs when editing an existing line. * src/document.c: Set single undo action when using document_strip_trailing_spaces(). * src/search.c: Show grep command and directory when using Find in Files. 2007-02-15 Enrico Tröger * data/filetypes.perl, src/highlighting.c: Added several missing style types for filetype Perl (thanks to John Gabriele for reporting). * src/treeviews.c: Aligned "No symbols found" label to top. * src/callbacks.c, src/document.c, src/document.h, src/keybindings.c, src/main.c, src/socket.c: Added possibility to create and open non-existent files from command line (closes #1635094 and #1652917). 2007-02-14 Frank Lanitz * geany.glade, src/interface.c: Fixed a typo. 2007-02-14 Nick Treleaven * geany.desktop.in: Add MimeType text/x-diff. * scintilla/ScintillaGTK.cxx: Redraw instead of scrolling in ScintillaGTK::ScrollText if there is an existing update region. Revert earlier ScintillaGTK::ExposeTextThis change. * tagmanager/c.c: Fix wrong D function return type after a class definition. 2007-02-13 Nick Treleaven * src/treeviews.c: Allow popup Symbols menu when the current document has no tags, so the sidebar can be hidden. Use a GtkLabel to display 'No tags found'. 2007-02-12 Enrico Tröger * src/main.c: Convert config, application and documentation dir paths to locale encoding before using it. 2007-02-08 Nick Treleaven * src/utils.c, src/utils.h, src/filetypes.c, data/filetype_extensions.conf: Add *.rej as a Diff filename pattern. Add utils_strv_new() to duplicate a va_list of strings. 2007-02-07 Frank Lanitz * data/pascal.tags, THANKS: Fixed a wrong autocompletion. Thanks to Dirk Weber for reporting. 2007-02-06 Nick Treleaven * src/symbols.c: Fix missing global tags for C files when a C++ source file was loaded first. 2007-02-05 Nick Treleaven * src/treeviews.c: Prevent right click in Symbol list from selecting a tag. * src/ui_utils.h, src/treeviews.c, src/callbacks.c, src/treeviews.h, src/document.c, src/main.c, src/ui_utils.c: Move ui_update_tag_list() to treeviews.c. Make treeviews_prepare_taglist() static. 2007-02-03 Nick Treleaven * src/document.c: Prevent scroll bar from moving when using document_find_text() and no match is found. * tagmanager/c.c: Make anonymous typenames use anon_typename_n instead of typename_anon_n (it seems we can't use <> brackets because of missing scope problem). * src/build.c: Allow Make for files with no extension - prevent Build when the output filename would be the same as the source file. 2007-02-01 Nick Treleaven * src/ui_utils.c: Show file path on window title after file name. 2007-02-01 Enrico Tröger * src/build.c: Prevent compiling or executing of files without a filename extension(closes #1642029). * src/document.c: Made --line and --column also working for already open files (thanks to Mark Knoop for his help). * THANKS, src/treeviews.c: Applied patch from Tomás Vírseda to sort the list of open files in the sidebar alphabetically (thanks). 2007-01-31 Enrico Tröger * scintilla/ScintillaGTK.cxx, src/document.c, src/document.h, src/keybindings.c, src/sci_cb.c, src/sciwrappers.c, src/sciwrappers.h, src/utils.c: Improved the auto scrolling of documents (actually done by Nick). 2007-01-30 Frank Lanitz * configure.in, THANKS, src/about.c, po/fi.po: Added Finnish translation (Thanks to Harri Koskinen). 2007-01-27 Enrico Tröger * src/callbacks.c, src/document.c, src/document.h, src/keyfile.c, src/sci_cb.c, src/sciwrappers.c, src/sciwrappers.h: Fixed some scrolling issues with session files and files remotely open via the socket. Added need_scrolling flag to document struct. 2007-01-26 Enrico Tröger * src/document.c: Applied patch from Jeff Pohlmeyer to clear the line marker when clearing the compile error markers. * geany.glade, src/geany.h, src/interface.c, src/keyfile.c, src/prefs.c, src/sci_cb.c: Added an option to disable auto completion of known symbols while typing (still can be forced by pressing the keybinding). 2007-01-25 Enrico Tröger * src/vte.c: Applied patch from Jeff Pohlmeyer to improve loading of the VTE library. * src/ui_utils.c: Applied patch from Jeff Pohlmeyer to make the window title Gnome HIG compatible. 2007-01-24 Enrico Tröger * data/filetype_extensions.conf, src/filetypes.c: Added *.xsd to XML file patterns. * geany.glade, src/callbacks.c, src/callbacks.h, src/geany.h, src/interface.c, src/keybindings.c, src/keybindings.h, src/main.c, src/sci_cb.c, src/sci_cb.h, src/search.c: Added keybinding and menu entry to open a file which is selected in current tab. Made Insert Special HTML characters insensitive if there are no open tabs. Removed Zoom items from popup menu. * tagmanager/latex.c: Allow \section*{} and other commands with *. * doc/geany.1.in, doc/geany.docbook, src/document.c, src/main.c, src/main.h, src/socket.c: Added command line option --column to allow setting the initial column for the first opened file on command line. Don't apply the --line and --column options to the first opened session file. Make --line and --column options work for opening files in an already running instance. * src/document.c: Oops. Revert the change to ignore --line setting when opening session files. 2007-01-24 Nick Treleaven * src/callbacks.c, src/search.c: Setup Find Next/Previous to use the same search text after using Find Selected/Prev Selected. 2007-01-23 Nick Treleaven * src/interface.c, src/keybindings.c, src/keybindings.h, src/callbacks.c, src/callbacks.h, src/search.c, src/search.h, geany.glade: Applied patch from Jeff Pohlmeyer to add 'Find Selected' and 'Find Prev Selected' Search commands and keybindings (thanks). 2007-01-21 Enrico Tröger * src/project.c: Implemented loading and saving of the project file and minor improvements. * src/build.c, src/msgwindow.c, src/msgwindow.h: Applied patch from Jeff Pohlmeyer to avoid parsing of compiler errors by the va_list system. * src/project.c: Replaced the New button by a Create button. 2007-01-20 Enrico Tröger * scintilla/makefile.win32: Fixed typo. * scintilla/*, src/sci_cb.c: Updated Scintilla to version 1.72. * doc/geany.docbook: Added a notice of changed DnD behaviour in Scintilla 1.72. 2007-01-19 Enrico Tröger * src/build.c: Use "rm" to delete the run script because unlink is not available on all systems. * geany.desktop.in: Added more mimetypes supplied by Nick Schermer. * doc/geany.docbook: Documented GEANY_PROJECT_EXT. * src/dialogs.c, src/prefs.c, src/prefs.h, src/search.c: Fixed crashes when using some dialogs after they were closed before. 2007-01-18 Enrico Tröger * src/project.c: Do not auto complete project filename and base path when they were changed manually. * src/geany.h, src/project.c: Implemented project open dialog, but open doesn't do anything yet. Added GEANY_PROJECT_EXT macro. * geany.glade, src/interface.c: Removed unintended keybindings for the project menu items. * geany.desktop.in: Added MimeType entry as suggested by Nick Schermer. 2007-01-18 Nick Treleaven * src/keybindings.c: Change default keybinding for Close All to Ctrl-Shift-W to avoid conflict with Document menu (thanks to Jeff Pohlmeyer). Remove Alt-P default KB for Preferences to avoid conflict with Project menu. 2007-01-17 Enrico Tröger * src/project.c, src/project.h: Added properties dialog (still far away from state ready). Added file_patterns field. * src/utils.c, src/utils.h: Added utils_mkdir(). 2007-01-17 Nick Treleaven * src/callbacks.c, doc/geany.docbook: Make Go to Tag Definition work for all tags except forward declarations and externs. 2007-01-16 Enrico Tröger * src/vte.c: Use g_shell_quote to avoid problems with special characters in the path of a filename. 2007-01-16 Nick Treleaven * tagmanager/c.c: Backport improvements from Anjuta 2.02. Parse anonymous struct and enums (using contextual_fake_count). Add better C99 support, e.g. wchar_t variables. * tagmanager/include/tm_symbol.h, tagmanager/tm_symbol.c: Add tm_arglist_compare(). Fix comparison in tm_symbol_tag_compare(). 2007-01-15 Enrico Tröger * src/vte.c: Fixed changing directories when the path contains whitespace. * src/callbacks.c: When using Save As the returned filename needs to be converted into UTF-8. * geany.glade, po/POTFILES.in, src/callbacks.c, src/callbacks.h, src/geany.h, src/interface.c, src/main.c, src/makefile.win32, src/Makefile.am, src/project.c, src/project.h: Started to implement project management (still unusable). Added project.[c|h]. 2007-01-15 Nick Treleaven * src/symbols.c: Reorder symbol list by Namespaces, Classes, Functions, Members, Structs, Macros, Variables. Add D Variables, rename D Methods -> Functions. 2007-01-14 Enrico Tröger * geany.glade, src/build.c, src/document.c, src/geany.h, src/highlighting.c, src/interface.c, src/keyfile.c, src/prefs.c, src/sci_cb.c, src/sci_wrappers.c, src/sciwrappers.h, src/utils.c, src/utils.h: Added sci_set_use_tabs(). Fixed mem leak in sci_cb_auto_forif(). Moved free_pointers() to utils.c. Applied patch from Jeff Pohlmeyer to add an option for using spaces or tabulators when inserting some whitespace. * src/about.c: Updated copyright information. * geany_private.rc, README, src/*.c, src/*.h: Updated copyright information. * data/filetype_extensions.conf, src/filetypes.c: jsp is a Java extension. * src/sci_cb.c: Enabled auto completion of constructs for filetype JavaScript. 2007-01-14 Nick Treleaven * src/treeviews.c, src/treeviews.h, src/symbols.c, po/POTFILES.in: Move treeviews_init_tag_list() and symbol list GtkTreeIters to symbols.c. * src/highlighting.c: Fix segfault when setting Lua filetype. 2007-01-13 Enrico Tröger * data/filetype_extensions.conf, data/filetypes.javascript, data/filetypes.lua, scintilla/KeyWords.cxx, scintilla/LexLua.cxx, scintilla/Makefile.am, scintilla/makefile.win32, src/filetypes.c, src/filetypes.h, src/highlighting.c, src/highlighting.h, src/sci_cb.c, src/templates.c, tagmanager/js.c, tagmanager/lua.c, tagmanager/Makefile.am, tagmanager/makefile.win32, tagmanager/parsers.h: Added new filetypes Javascript and Lua. * geany.glade, THANKS, src/geany.h, src/interface.c, src/keyfile.c, src/prefs.c, src/sci_cb.c: Applied patch from Jeff Pohlmeyer to add an option for disabling DnD in the editor widget. 2007-01-13 Nick Treleaven * src/main.c, src/socket.c, po/POTFILES.in: Print an error message (instead of debug message) when a command-line file cannot be loaded. * src/utils.c, src/utils.h, src/geany.h, src/symbols.c, src/ui_utils.c, src/symbols.h: Move utils_compare_symbol(), GeanySymbol, recreate_tag_list() to symbols.c. * src/document.c: Update the symbol list when starting a new document. 2007-01-12 Nick Treleaven * src/sci_cb.c, src/symbols.c, src/symbols.h: Use '::' context separator for C also (so C/C++ share the same syntax, and C++ .h headers use correct syntax). Add symbols_get_context_separator() and use for calltips and the symbol list. * src/treeviews.c, src/document.c: Don't select the current document when reordering tabs (fixes #1632708). * src/utils.c: Fix g_strconcat leaks in utils_make_settings_dir(). 2007-01-11 Nick Treleaven * src/sci_cb.c: Fix commenting multiple lines (oops). Set single undo action when toggling multiple lines. 2007-01-09 Enrico Tröger * src/callbacks.c: Try to fix paste problems on Windows (should close #1628951). 2007-01-09 Nick Treleaven * src/utils.c, src/sci_cb.c, src/sciwrappers.c: Prevent some possible buffer overflows. 2007-01-08 Enrico Tröger * doc/geany.docbook, src/keybindings.c, src/keybindings.h: Added keyboard shortcut for Save As. Added missing documentation for some keyboard shortcuts. * src/vte.c: Improved tool tip for terminal emulation. 2007-01-07 Nick Treleaven * src/utils.c, src/utils.h, src/encodings.c, src/document.c, src/encodings.h, src/dialogs.c, src/ui_utils.c: Fix memory leak when using utils_scan_unicode_bom(). Prevent invalid memory read in utils_scan_unicode_bom() when text length is < 4. Move utils_scan_unicode_bom(), utils_is_unicode_charset() to encodings.c. Read the BOM length in handle_bom(). 2007-01-07 Enrico Tröger * geany.glade, src/interface.c: Fixed typo. 2007-01-06 Enrico Tröger * src/callbacks.c, src/sci_cb.c, src/sci_cb.h, src/templates.c, src/templates.h: Removed multiline template because it makes not much sense, instead just comment three lines using the general comment functionality. Removed special templates for Pascal and some other filetypes using "#" as comment char. The comment characters for fileheader and GPL templates are now added dynamically according to the current filetype. * geany.glade, doc/geany.docbook, src/callbacks.c, src/callbacks.h, src/interface.c, src/templates.c, src/templates.h: Added template for BSD licence. * src/document.c: Fixed missing colouring of tab menu label. * doc/geany.docbook, src/geany.h, src/utils.c, src/templates.c: Save template files in a subdirectory "templates" inside Geany's configuration directory. 2007-01-06 Nick Treleaven * src/keybindings.c: Ensure the VTE visual settings are applied when switching to VTE when the Message Window is hidden. Show the Message Window when switching to Scribble. * src/document.c: Use load_text_file() in document_open_file() to read, verify and handle encoding using FileData struct. Refactored handle_[forced_]encoding with FileData* argument. Update data length after removing BOM chars in handle_bom(). 2007-01-04 Nick Treleaven * src/build.c, src/build.h: Make build_parse_make_dir() more efficient. 2007-01-03 Nick Treleaven * src/sci_cb.c, tagmanager/entry.h, tagmanager/tm_tag.c, tagmanager/include/tm_tag.h, tagmanager/c.c: Parse pointers in function return type for C-like files. Show scope in calltips. Made tm_tag_destroy() static. * src/treeviews.c: Fix for C89 compatibility. * src/templates.c, src/build.c, src/templates.h, src/build.h, src/highlighting.c, src/filetypes.h: Added filetype_id typedef so that GEANY_FILETYPES_* can be shown when debugging (also renamed some filetype_id variable names). 2006-12-31 Enrico Tröger * src/treeviews.c: When opening a file, set the current selected entry in the open files list to the file's filename. 2006-12-30 Nick Treleaven * src/ui_utils.c: Don't use gtk_rc_get_style() in ui_update_tab_status() because it can cause an invalid memory read on some systems. * src/build.c, src/build.h, src/msgwindow.c, src/msgwindow.h: Applied patch from Josef Whiter to parse 'Entering directory' build messages so that subsequent error messages are handled correctly (thanks). Assume gcc-style error messages when filetype is not set. 2006-12-26 Nick Treleaven * tagmanager/tm_tag.c, tagmanager/include/tm_tag.h: Fix missed matches in tm_tags_find(). * src/sci_cb.c, tagmanager/tm_workspace.c, tagmanager/include/tm_workspace.h: Add calltip support for D constructors. Add tm_workspace_find_scoped() (adapted from Anjuta 2.02 tm_workspace_find()). 2006-12-24 Nick Treleaven * src/utils.c, src/sci_cb.c: Only call SCI_BRACEMATCH once in sci_cb_highlight_braces(). Separate find_calltip() from sci_cb_show_calltip(). * src/sciwrappers.c: Improve accuracy of sci_scroll_to_line() when line wrapping and/or folding is used. 2006-12-22 Nick Treleaven * src/utils.c: Don't reparse the current function when fold level is higher than the function fold level (when the line has only changed by 1). 2006-12-21 Enrico Tröger * doc/geany.1.in, doc/Makefile.am, doc/geany.docbook, doc/images/*, doc/html/*: Fixed encoding of generated PDF file. Deleted all jpg images and replaced them by png images. Updated date in documentation and manpage. * src/callbacks.c: Fixed wrong paste behaviour under Windows with some applications. * src/ui_utils.c: Start column count from 0 in the statusbar display. * New release: Geany 0.10 "Sander". * configure.in, src/geany.h, geany_private.rc: Version bump and updated codename for the next release. 2006-12-20 Enrico Tröger * src/keyfile.c: Changed default values: Confirm exit -> disabled by default Use tab to indent -> disabled by default. 2006-12-20 Nick Treleaven * src/keyfile.c: Fix strv leak in configuration_open_files(). * src/treeviews.c, src/ui_utils.c: Fix tag treeview not being freed (because of g_object_ref). Separate recreate_tag_list() from ui_update_tag_list(). * src/vte.c: Stop Valgrind complaining about a vc->emulation leak. * src/callbacks.c, src/search.c: Remove unneeded static from current word strings. 2006-12-18 Enrico Tröger * src/tools.c: Completed list of special characters, implemented expanding and collapsing of categories at double click. * src/geany.h: Updated codename (not really important). 2006-12-18 Nick Treleaven * src/callbacks.c, src/search.c, src/document.c: Don't log simple error messages like 'No text to find'. * src/keyfile.c: Open tabs left to right by default. * src/keyfile.c: Scroll cursor to 50% of the view for session files at startup. * src/callbacks.c, src/dialogs.c: Always switch to the tab when showing the unsaved file dialog. * src/document.c: Don't set the cursor to the start of the document when attempting to open an already open file. * src/utils.c, src/utils.h, src/callbacks.c, src/sci_cb.c, src/document.c: Force a file changed check when attempting to open an already open file. * src/sciwrappers.c, src/sciwrappers.h, src/document.c: Scroll cursor to 50% of the view when reloading a file. Rename sci_goto_pos() argument 'unfold'. 2006-12-17 Enrico Tröger * geany.glade, src/interface.c: Made the sidebar notebook tabs scrollable. * geany.glade, src/callbacks.c, src/callbacks.h, src/interface.c, src/ui_utils.c: Fixed wrong insert position when the cursor was moved by keyboard and comments, includes or a date was inserted. Also fixed some segfault when inserting comments, dates and includes at a position prior to some deleted text. * src/document.c: Fixed disabled build menu items after opening the first file of a filetype. 2006-12-17 Nick Treleaven * src/search.c: Fix using the current word on first use of the Find in Files dialog. * src/document.c: Don't log 'replaced 0 occurrences' status messages. * src/search.c: Remove unneeded 'missing response' debug messages. 2006-12-16 Nick Treleaven * src/utils.c: Fix memory leak in utils_check_disk_status(). * src/highlighting.c, src/sci_cb.c, src/sci_cb.h, src/document.c, src/symbols.c, src/symbols.h: Colourise C enum, union and D/Java interface typenames. Add sci_cb_lexer_get_type_keyword_idx() for use when finding if a lexer supports typename colouring. 2006-12-15 Enrico Tröger * src/main.c, src/sci_cb.c, src/sci_cb.h, src/symbols.c, src/symbols.h: Moved html_entities array to symbols.c. Fixed some checks for the new D lexer and improved detection of comments when auto completing or showing calltips. * src/search.c: Bring the Find, Replace and FIF dialog back to top if they are already shown but lost focus. 2006-12-15 Nick Treleaven * src/sci_cb.c: Only remove extra space indent after a multiline comment if the indent contains one too many spaces. * src/highlighting.c, data/filetypes.d: Show D typedefs in bold. * src/sci_cb.c, src/sci_cb.h, src/document.c: Fix setting project typenames for the new D lexer. Add sci_cb_lexer_is_c_like() which returns TRUE for C++/D lexers. Only recolourise C-like files when updating project typename keywords. 2006-12-14 Frank Lanitz * src/about.c: Fixed a typo. 2006-12-14 Nick Treleaven * src/document.c: Fix updating the symbol list when a file is saved. Update C-like typedef keywords when reloading a file. * src/sci_cb.c: Fix adding a multiline comment character after pressing enter on the last line of a multiline comment. Remove multiline comment indent after pressing enter on last line. Prevent invalid memory reads in auto_multiline(). 2006-12-13 Frank Lanitz * THANKS: Small update of contact data and small fix of translated language. 2006-12-13 Nick Treleaven * src/ui_utils.h, src/about.c, src/treeviews.c, src/msgwindow.c, src/callbacks.c, src/keyfile.c, src/document.c, src/prefs.c, src/main.c, src/ui_utils.c: Fix memory leaks when using GdkPixbuf, PangoFontDescription and some strings. Capitalize main window title. Add ui_widget_modify_font_from_string(). * src/build.c, src/keybindings.c, src/msgwindow.c, src/msgwindow.h, src/vte.c, src/main.c: Add 'Hide Message Window' popup menu item for each window in the message window area. Add msgwin_menu_add_common_items(). Move remaining message window setup code to msgwin_init(). * src/interface.c, geany.glade: Add 'Invert syntax highlighting colours' Preferences dialog option (hidden for now). 2006-12-12 Enrico Tröger * src/document.c, src/geany.h, src/keyfile.c, src/sciwrappers.c, src/sciwrappers.h: Added option to toggle usage of Tab button for indentation. * geany.glade, po/POTFILES.in, src/callbacks.c, src/callbacks.h, src/interface.c, src/keybindings.c, src/keybindings.h, src/Makefile.am, src/makefile.win32, src/tools.c, src/tools.h: New files tools.c and tools.h. Added a dialog to insert HTML special characters. 2006-12-12 Nick Treleaven * src/build.c, src/interface.c, src/callbacks.c, src/ui_utils.c, geany.glade: Use GNOME HIG Header style capitalization for all menu items. * src/main.c: Make files loaded from the command-line at startup get added to the recent files menus. 2006-12-11 Enrico Tröger * data/filetypes.vhdl: Fixed typo in "number" and "string" styles. 2006-12-11 Nick Treleaven * src/main.c: Show GTK+, GLib runtime version debug message after socket_init(). * src/callbacks.c: Make indenting and unindenting keep the same cursor position when the cursor is within the indentation characters. * configure.in: Link with libsocket if necessary to fix building on Solaris. 2006-12-10 Enrico Tröger * src/build.c, src/callbacks.c, src/document.c, src/keyfile.c, src/prefs.c, src/vte.c, src/vte.h: Added option to execute programs in the VTE instead of executing them in a terminal emulation window (closes #1594456). * src/dialogs.c: Use a table to layout the word count dialog. 2006-12-09 Nick Treleaven * src/build.c: Fix building on win32; also fix some warnings. * src/document.c: Read the file's modification timestamp after saving because on Windows it can be later than expected (closes #1611530). * src/keybindings.c: Show the Message window when switching to the vte. * src/build.c, src/keybindings.c, src/keybindings.h: Add keybindings for Next Message and Next Error commands. 2006-12-08 Nick Treleaven * src/build.c, src/interface.c, src/ui_utils.h, src/build.h, src/keybindings.c, src/msgwindow.c, src/callbacks.c, src/msgwindow.h, src/callbacks.h, src/main.c, src/ui_utils.c, geany.glade: Add Next Message and Next Error menu items. Don't select the last build message on completing a build. Change build_get_menu_items(-1) to return current build menu. Add Copy popup menu item for Status and Messages windows. Move on_message_treeview_clear_activate(), on_compiler_treeview_copy_activate() to msgwindow.c. Create the Recent files submenu item manually because Glade 2.10 removes empty menus. * src/dialogs.c, src/ui_utils.c: Use ui_button_new_with_image() in dialogs_show_unsaved_file(). 2006-12-08 Enrico Tröger * src/build.c: Made the created run script for command execution a bit more portable to other shells than bash (thanks to Nacho Cabanes for reporting). * src/document.c, src/document.h, src/sciwrappers.c, src/ui_utils.h, src/sciwrappers.h: Fixed broken overtype update in the statusbar. Removed unused field do_overwrite in document struct. * src/msgwindow.c: Removed compiler warning. * src/sci_cb.c, src/sci_cb.h: Made sci_cb_get_indent and sci_Cb_auto_multiline static. Improved auto completion of multi line comments and support /+ +/ for D files. * src/msgwindow.c: Fixed wrong check button state in view menu if message window was shown automatically. 2006-12-07 Frank Lanitz * src/about.c, THANKS, configure.in, po/fr.po: Added French translation (Thanks to Jean-Philippe Moal). 2006-12-07 Enrico Tröger * src/document.c: Create new tm file object when changing the filetype of a document to avoid a confused tagmanager. * data/filetypes.d, scintilla/KeyWords.cxx, scintilla/LexD.cxx, scintilla/Makefile.am, scintilla/makefile.win32, scintilla/include/SciLexer.h, src/highlighting.c: Added new scintilla lexer for D. It needs testing and there is more work to do to get it working properly. * src/about.c, src/build.c, src/callbacks.c, src/document.c, src/encodings.c, src/gb.c, src/keyfile.c, src/prefs.c, src/sci_cb.c, src/search.c, src/symbols.c, src/ui_utils.c, src/utils.c, src/utils.h, src/dialogs.c, src/vte.c: Revert the last change to utils_str_equal() and use it again because g_str_equal() is not NULL-safe. 2006-12-06 Enrico Tröger * src/sci_cb.c: Don't insert extra indentation in Python files after a colon if the line is a comment (closes #1609761). * src/about.c, src/build.c, src/callbacks.c, src/document.c, src/encodings.c, src/gb.c, src/keyfile.c, src/prefs.c, src/sci_cb.c, src/search.c, src/symbols.c, src/ui_utils.c, src/utils.c, src/utils.h: Removed utils_str_equal() and use g_str_equal() from GLib because it does exactly the same. 2006-12-05 Enrico Tröger * src/treeviews.c, tagmanager/latex.c: Let the LaTeX parser recognise the keyword \chapter. 2006-12-05 Nick Treleaven * src/socket.c: Prevent Valgrind warning with unlink(NULL). * src/ui_utils.h, src/treeviews.c, src/callbacks.c, src/notebook.c, src/treeviews.h, src/notebook.h, src/document.c, src/document.h, src/ui_utils.c: Show read-only notebook tabs in green. Add document_get_status() to get the tab colour for the document. Use ui_update_tab_status() to update notebook tabs and open files treeview items. Avoid using GtkTreeIter struct as treeviews function arguments. Remove unneeded arguments for treeviews_openfiles_add(), notebook_new_tab(). 2006-12-04 Nick Treleaven * src/highlighting.c, data/filetypes.d: Move C/C++ styling_within_preprocessor code out of C-like styles. Use styleset_c_like() when applying C-like Scintilla styles. Synchronize gsd_reserved_word, gsd_system_word and data/filetypes.d with styles in data/filetypes.c. 2006-12-04 Enrico Tröger * src/document.c: Use default GTK foreground colour for filenames on notebook tabs instead of hardcoded colour black. * src/sci_cb.c: Fixed broken auto completion for LaTeX files. 2006-12-03 Enrico Tröger * data/filetypes.c, data/filetypes.cpp, data/filetypes.d, data/filetypes.ferite, data/filetypes.java, src/highlighting.c: Added new style for doc keyword error and added some doc key words for Doxygen and Javadoc. * geany.glade, src/geany.h, src/interface.c, src/keyfile.c, src/prefs.c, src/sci_cb.c: Added new preference to unfold all children of a fold point if the fold point is unfolded. * src/msgwindow.c: Applied patch from Bob Doan to ignore libtool messages when parsing the output of make (thanks). * src/sci_cb.c, src/sci_cb.h: Made handle_xml() static. Fixed wrong XML auto completion in PHP files when inserting '>', thanks to Bob Doan for reporting. 2006-12-02 Enrico Tröger * src/highlighting.c: Use the same style for unknown doc keywords (/** @something */) as for known keywords. 2006-12-01 Enrico Tröger * geany.glade, src/interface.c, src/geany.h, src/main.c, src/ui_utils.c: Removed invisible place holder menu item in recent files menu. Create separate sub menu for the recent files menu in the toolbar to prevent GTK warnings when using GTK >= 2.10. 2006-12-01 Nick Treleaven * src/vte.c: Make the switch to vte menu shortcut override work before the VTE has been realized. 2006-11-30 Nick Treleaven * src/main.c: Disable open toolbutton recent files menu for now because on GTK+2.10 packing the recent files menu twice causes warnings. * src/build.c, src/build.h, src/keybindings.c, src/callbacks.c, src/filetypes.c, src/filetypes.h, src/dialogs.c: Make all filetypes except LaTeX use the same build menu, disabling any items that don't apply for the current document. Move BuildMenuItems struct type to build.h. 2006-11-29 Nick Treleaven * src/build.c, src/build.h, src/keybindings.c, src/filetypes.c, src/filetypes.h: Make stop button only apply for killing running programs. Disable build commands when building is in progress. Make build_menu_update() detect how to call set_stop_button(). Make build_menu_update() also update the LaTeX build menu. Make build keybindings only active when the equivalent menu item is also active. 2006-11-27 Nick Treleaven * src/build.c: Show build result on status bar if Compiler window is not selected. 2006-11-25 Nick Treleaven * src/msgwindow.c, src/notebook.c, src/msgwindow.h, src/notebook.h: Add some const char* argument modifiers, remove unneeded static from some local vars. * src/vte.c: Remove vte_char_size_changed() workaround, not needed since r988; this also fixes an issue where the VTE is limited to 30x5 chars. * src/search.c, src/document.c, src/document.h: When replacing in session, use notebook page order and show a count of the files changed. Show the filename when replacing text over a range. Add DOC_FILENAME() null-safe macro to get the filename at doc_idx. * src/build.c, src/ui_utils.h, src/msgwindow.c, src/search.c, src/document.c, src/ui_utils.c: Make ui_set_statusbar() use printf-style arguments & assume the message should not be overridden. * data/filetypes.python: Change python default compile command to create a compiled python .pyc file (thanks to Bajusz Tamás). 2006-11-24 Nick Treleaven * src/ui_utils.h, src/prefs.c, src/dialogs.c, src/ui_utils.c: Add frame for VTE Preferences tab, update packing. Replace ui_frame_new() with ui_frame_new_with_alignment(). * src/callbacks.c, src/callbacks.h, src/vte.c, src/vte.h, src/prefs.c, src/prefs.h: Move VTE preferences GUI code to vte.c. Move on_pref_tools_button_clicked() to prefs.c. 2006-11-23 Enrico Tröger * src/vte.c: Fixed segfault when opening the preferences dialog for the first time from the VTE widget. 2006-11-23 Nick Treleaven * src/highlighting.c, src/geany.h, doc/geany.docbook, data/filetypes.*: Only use [a-zA-Z0-9] chars for default wordchars, to avoid problems with word matching when using Find & Replace functions. * src/keybindings.c: Add switching to a notebook tab number using Alt-1 to Alt-9; Alt-0 switches to the last tab. * src/geany.h, data/filetypes.*: Add underscore to default wordchars again (oops). 2006-11-22 Frank Lanitz * po/hu.po, src/about.c, THANKS, configure.in: Added Hungarian translation (Thanks to Gabor Kmetyko aka kilo ). 2006-11-22 Nick Treleaven * src/notebook.c, src/notebook.h, src/document.c: Ensure tab DnD is enabled when tabs are added; use notebook_remove_page() instead of gtk_notebook_remove_page(). Unified notebook_[en|dis]able_dnd_for_dropping_files() in tab_count_changed(). 2006-11-21 Enrico Tröger * src/callbacks.c, src/callbacks.h, src/document.c, src/main.c, src/notebook.c, src/notebook.h: Removed DnD handler for the main window (not very useful). Fixed broken tab reordering by only enabling DnD for dropping files when there are no open file tabs, otherwise disable it and enable DnD for moving file tabs. Dropping files into Geany when file tabs are open still works because then it is handled by the Scintilla widget. * src/msgwin.c: Applied patch from Bob Doan to parse PHP compile errors better (thanks). 2006-11-18 Nick Treleaven * src/sciwrappers.c, src/sciwrappers.h: Added sci_get_first_visible_line(). * src/interface.c, src/geany.h, src/sci_cb.h, src/keyfile.c, src/vte.c, src/search.c, src/document.c, src/prefs.c, geany.glade: Applied patch from Bob Doan to prevent scrolling when wrap searching around a document, and to add a preference for suppressing search dialogs when wrapping or after Find Next. Rearranged some Preferences dialog options, added Files tab. Disable tab position when file tabs are hidden (not new file tab placement option, it still affects order of pages). * src/interface.c, geany.glade: Add Preferences frame alignment for Tools, Templates, Keybindings. Revert tab placement label text. 2006-11-17 Enrico Tröger * src/build.c, src/main.c: Fixed compile error under Win32. Ignore pressed Stop button under Win32 (at least for the moment, not yet implemented). 2006-11-17 Nick Treleaven * src/search.c: Change Find Next/Previous buttons to use better stock icons. * src/callbacks.c, src/sci_cb.c, src/document.c, src/document.h: Fix sign comparison warnings. 2006-11-16 Enrico Tröger * src/main.c: Enabled DnD also for the main notebook widget to drop files in the main area of Geany. 2006-11-15 Enrico Tröger * src/vte.c: Don't unload the VTE module on exit to avoid crashes on some systems. * src/main.c: Fixed small memory leak. * src/callbacks.c, src/callbacks.h, src/document.c, src/document.h, src/main.c, src/sci_cb.c: Enabled drag and drop for the whole main window to be able to drop files even if no tabs are open. Moved code for getting the file list to document_open_file_list(). 2006-11-15 Frank Lanitz * src/about.c, configure.in, THANKS, po/zh_TW.po: Added tranditional Chinese translation (Thanks to KoViCH ). 2006-11-15 Nick Treleaven * src/ui_utils.h, src/search.c, src/ui_utils.c: Add search history for Find in Files. Add ui_combo_box_add_to_history() and use to prevent blocks of duplicates (but not all duplicates) from search history combo boxes, and limit history to 30 entries. * src/build.c: Remove the stop button in build_exit_cb() when using Make commands. Fix set_stop_button() when using Make when the current file has no filetype. 2006-11-14 Enrico Tröger * scintilla/LexPascal.c: Tried to fix wrong styling at "end.". 2006-11-14 Frank Lanitz * po/zh_CN.po, src/about.c, configure.in, THANKS: Added simple Chinese (zh_CN) translation (Thanks to Dormouse Young ). 2006-11-14 Nick Treleaven * src/templates.c, src/templates.h, src/callbacks.c, src/filetypes.c, src/filetypes.h, src/document.c, src/document.h: Add NULL-safe FILETYPE_ID macro to get filetype::id from pointer. Allow insertion of GPL notice and file header when the filetype is not set. Add commenting for PHP & HTML GPL notice and file header templates. Add make_comment_block() to templates.c. Move document_prepare_template(), filetypes_get_template() to templates.c. 2006-11-13 Enrico Tröger * src/filetypes.c, src/filetypes.h, src/highlighting.c, src/highlighting.h, src/treeviews.c, scintilla/Makefile.am, scintilla/makefile.win32, scintilla/KeyWords.cxx, scintilla/LexVHDL.cxx, tagmanager/vhdl.c, tagmanager/parsers.h, tagmanager/Makefile.am, tagmanager/makefile.win32, data/filetype_extensions.conf, data/filetypes.vhdl: Added new filetype VHDL. * geany.glade, src/interface.c, src/keybindings.c: Use plural for line commentation description labels. * src/build.c: Added missing inclusion of signal.h. 2006-11-13 Nick Treleaven * src/sci_cb.c: Fix invalid memory read in sci_cb_get_indent(). * src/callbacks.c: Fix invalid memory write in on_exit_clicked(). 2006-11-12 Nick Treleaven * src/vte.c: Fix message window horizontal scrollbar being too tall on some systems (thanks to Rob van der Linde). 2006-11-11 Enrico Tröger * src/vte.c: Probe different versions of libvte.so, not only libvte.so and libvte.so.4. * src/keyfile.c: Fixed a segfault when closing preferences dialog and loading VTE was enabled after it was disabled. * src/build.c, src/build.h, src/main.c: Extended the build_info struct with useful information of the current running command. Added stop button(using the Run button) to cancel the execution of a command like Run, Compile or Build. Fixed a typo in an error message. * doc/geany.docbook: Described new folding_horiz_line setting in filetypes.common. Added documentation for stopping of running processes. 2006-11-09 Enrico Tröger * src/highlighting.c, data/filetypes.java, data/filetypes.cpp, data/filetypes.ferite, data/filetypes.c, data/filetypes.d, data/filetypes.pascal, data/filetypes.sql, data/filetypes.xml: Changed commentdoc(used for javadoc and Doxygen, /** */) colour to a light blue. 2006-11-09 Nick Treleaven * src/keyfile.c, src/main.c: Fix a possible bug with g_file_test when opening files at startup. Show warning message on status bar if some session files couldn't be loaded, showing debug messages for each session file that fails. 2006-11-08 Nick Treleaven * src/utils.c, src/highlighting.c, src/utils.h, src/callbacks.c, src/sci_cb.c, src/document.c, src/symbols.c, src/ui_utils.c, src/symbols.h: Move utils_get_tag_list() to symbols.c, make utils_find_tm_tag() static. Move symbols_get_global_keywords() to get_global_typenames() in highlighting.c. Add symbols_find_tags_as_string(), symbols_get_tag_list(), symbols_get_macro_list(), symbols_find_in_workspace() from various tag-related existing code. * src/ui_utils.c: Never show the Sidebar if app->show_sidebar is false (prevents showing Sidebar after setting Preferences, when user has chosen to hide the Sidebar). * src/utils.c, src/utils.h, src/about.c, src/callbacks.c, src/sci_cb.c, src/keyfile.c, src/search.c, src/encodings.c, src/document.c, src/prefs.c, src/gb.c, src/symbols.c: Rename utils_strcmp() utils_str_equal() (to avoid return value confusion with strcmp()). 2006-11-07 Enrico Tröger * src/treeviews.c: Fixed unintentional appearance of sidebar after it was hidden and the preferences dialog was closed. * data/filetypes.common, src/highlighting.c: Added an option to draw an horizontal line above or below folded text. * src/dialogs.c: Don't set width of file open dialog. 2006-11-07 Nick Treleaven * src/win32.c, src/win32.h, src/callbacks.c, src/keyfile.c, src/dialogs.c, src/dialogs.h: Don't close any tabs when quitting until all unsaved changes have been accounted for; switch to each unsaved file before showing the unsaved dialog. Remove limit of ~256 chars for session filenames. Make dialogs_show_unsaved_file() fail if the Save As dialog was cancelled. 2006-11-06 Enrico Tröger * data/filetypes.java, src/highlighting.c: Added Java keywords true and false. Converted "NULL" to lower case. * src/sci_cb.c: Little code cleanup in brace_match(). 2006-11-05 Enrico Tröger * src/sci_cb.c: Fixed (hopefully) wrong indentation in some cases when inserting '}'. 2006-11-04 Enrico Tröger * src/highlighting.c, src/highlighting.h: Applied patch from Bob Doan to do not set keywords for XML documents(thanks). Made styleset_markup() static. 2006-11-04 Nick Treleaven * src/search.c: Fix pressing enter to search from the Find dialog. * src/keyfile.c, src/keyfile.h, src/main.c: Make filetype_extensions.conf generation only available with a debug build of Geany. * src/filetypes.c, data/filetype_extensions.conf: Recognise *.xsl, *.xslt filenames for XML filetype. Recognise 'GNUmakefile' filename for Make filetype. 2006-11-03 Nick Treleaven * src/msgwindow.c: Don't set error indicators when clicking on an error message if the document has been modified. * src/notebook.c: Focus the current document after clicking on a tab. * src/utils.c, src/keybindings.c, src/callbacks.c, src/sci_cb.c, src/sciwrappers.c, src/search.c, src/sciwrappers.h, src/document.c, src/document.h: Scroll matching selection to 1/3 of the view when searching. Add sci_scroll_to_line(); remove sci_goto_line_scroll(). Show 'not found' message on status bar also when enter is pressed in the search bar. 2006-11-02 Enrico Tröger * src/callbacks.c, src/dialogs: Run set includes build dialogs for LaTeX files modally, too. 2006-11-02 Nick Treleaven * src/highlighting.c, data/filetypes.perl, data/filetypes.pascal, data/filetypes.sh, data/filetypes.makefile, data/filetypes.ruby, data/filetypes.tcl: Make all remaining 0xff0000 comment styles darker using a common default comment style. Add some other generic styles (used only by C-like filetypes for now). 2006-11-01 Enrico Tröger * src/search.c: Changed tooltip of checkbox "Close dialog" to be more descriptive. * src/keybindings.c: Changed keybinding for Print to Ctrl+P. * scintilla/LexBash.cxx: Fixed wrong detection of some words. 2006-11-01 Nick Treleaven * src/document.c: Prevent possible invalid memory read. * src/ui_utils.h, src/search.c, src/search.h, src/ui_utils.c, src/callbacks.c: Add Find Previous, Find All in File/Session buttons to the Find dialog. Move Find Usage code from on_find_usage1_activate to search.c. Add ui_button_new_with_image(), ui_hbutton_box_copy_layout(). * src/utils.c: Prevent end of line char showing for current function. * src/search.c: Update Save All state after Replace in Session. * src/callbacks.c: Update Undo items when switching notebook pages. 2006-10-30 Enrico Tröger * src/sci_cb.c: Add extra indentation for Python after a colon. * tagmanager/latex.c, src/treeviews.c: Removed "begin" section in symbol list and sort it at environment. 2006-10-29 Enrico Tröger * geany.glade, src/interface.c, src/prefs.c, src/geany.h, src/keyfile.c, src/ui_utils.c, src/main.c: Added an Apply button to preferences dialog. New setting to show/hide the Quit toolbar item. New setting to show/hide notebook tabs. * src/document.c, src/treeviews.c, src/treeviews.h: Colour also the open files list items according to their changed state. * src/callbacks.c, src/callbacks.h, src/msgwindow.c, src/msgwindow.h, src/treeviews.c, src/treeviews.h, src/geany.h: Moved all treeview related callback functions from callbacks.c to msgwindow.c and treeviews.c. * src/document.c: Fixed bug when setting colour of open files list entry on new, unnamed files. 2006-10-28 Nick Treleaven * src/ui_utils.c: Add temporary fix for sci infinite loop in Document::GetColumn(int) when current pos is beyond document end (can occur when removing blocks of selected lines especially brace sections near end of file). 2006-10-28 Enrico Tröger * doc/geany.docbook: Some small updates. Got rid of &app; entitity. Extended description of encoding support. 2006-10-27 Nick Treleaven * src/highlighting.c, src/filetypes.c, src/filetypes.h, data/filetypes.java, data/filetypes.cpp, data/filetypes.ferite, data/filetypes.c, data/filetypes.d: Add filetypes_get_conf_extension() and use in highlighting.c. Fix a memory leak in load_keyfiles(). Group C-like default syntax in init_c_like_styleset(). Make C-like comment colour darker; make globalclass brighter to distinguish it from word colour. Make Java use same default syntax highlighting colours as C. * src/utils.c: Limit parse depth to 500 chars when parsing C-like function name. * src/sci_cb.c: Find last unmatched open bracket for Show Calltip so nested matched brackets are ignored (except LaTeX). 2006-10-26 Nick Treleaven * src/keybindings.c, src/keybindings.h: Only accept editing keybindings when the current Scintilla widget has focus. Group editing keybindings together in cb_func_edit. Change keybinding callbacks to pass keybinding index as an argument. 2006-10-25 Nick Treleaven * src/document.c: When replacing tabs by space, prevent the scroll position changing, and fix a possible change of cursor position. 2006-10-25 Enrico Tröger * src/dialogs.c, src/dialogs.h, src/build.c, src/prefs.c, src/win32.c src/document.c: Added warning message dialog, united dialogs_show_info() and dialogs_show_error() to dialogs_show_msgbox(). * src/document.c: Added warning message when opening files that cannot be handled correctly and set them to read-only mode. * src/document.c, src/encodings.c, src/encodings.h, src/utils.c, src/utils.h: Moved utils_convert_to_utf8() and utils_convert_to_utf8_from_charset() to encodings.c. 2006-10-24 Enrico Tröger * src/build.c, src/socket.c: Fixed compiler warnings under Windows. * win32-config.h, src/dialogs.c: Use GTK's file open dialog also under Windows to have the extended options(kept old dialog code for optional use). * win32-config.h, src/dialogs.c, src/geany.h: Removed unneeded macro GEANY_MAX_TAGS_COUNT. Moved macro GEANY_USE_WIN32_DIALOG to geany.h. 2006-10-24 Nick Treleaven * src/sciwrappers.h, src/sciwrappers.c, src/document.h, src/document.c: Fix setting document unchanged state when using Undo/Redo for encoding or BOM changes. Add sci_is_modified(). Added useful doc() function used only when debugging. * src/search.c: Reorder Replace All buttons. * src/msgwindow.c src/callbacks.c: Change Messages and Compiler window to go to line with a single click instead of double click. 2006-10-23 Enrico Tröger * src/encodings.c, src/encodings.h, src/document.c, src/callbacks.c, src/dialogs.c: Added new encoding "None" to open files without any character conversions (fixes #1580456). * src/callbacks.c: Don't allow changing the encoding or setting a BOM if the file is read only. 2006-10-22 Enrico Tröger * src/geany.h, src/keyfile.c, src/main.c: Added configuration option for the alignment of toolbar quit button. * geany.glade, src/interface.c, src/geany.h, src/keyfile.c, src/main.c: Removed previously added configuration option and removed the right alignment of the toolbar quit button. * src/sci_cb.c, src/sci_cb.h, src/search.c: Let the Find, Replace and FIF dialogs use the word at current cursor position if there is no selection. * src/filetypes.c: Added shebang detection for D files (dmd). * src/callbacks.c, src/dialogs.c, src/document.c: Added drop down box to the file open dialog to select an encoding. Added possibility to open a file without any character set conversions (could already fix #1580456, have to be continued). 2006-10-22 Nick Treleaven * src/ui_utils.h, src/search.c, src/document.c, src/dialogs.c, src/document.h, src/ui_utils.c: Add separate Replace button, rename old button Replace & Find. Add expander to group Replace All options for Replace dialog. Use Replace All In Session button instead of checkbox. Add border, update packing for all dialogs in search.c. Add ui_dialog_vbox_new() for consistent dialog borders. 2006-10-21 Nick Treleaven * src/document.c: Make search bar automatically wraparound if necessary. Detect when Find has searched all text and display a 'not found' message on the status bar. * src/build.c: Remove unused argument. * src/callbacks.c, src/document.c, src/document.h: Rename document_find_next() document_search_bar_find(). * src/msgwindow.h, src/dialogs.h, src/main.h: Add G_GNUC_PRINTF checks for variable argument function prototypes. * src/build.c, src/utils.c, src/highlighting.c, src/geany.h, src/callbacks.c, src/sci_cb.c, src/vte.c, src/search.c, src/main.h: Move geany_debug prototype to geany.h so that all files can use it without a dependency on main.h. * src/callbacks.c, src/main.c, src/main.h: Moved finalization code from destroyapp() to main_quit(). 2006-10-20 Nick Treleaven * src/interface.c, src/main.c, geany.glade: Add drop-down recent files menu to Open toolbar button. Align quit toolbar button on the right. Move Colour Chooser, Word Count to Tools menu. Reorder Format, add Indent icons, edit Remove Indicators items. 2006-10-19 Nick Treleaven * src/build.c, src/about.c, src/dialogs.c: Added 6pt border, changed padding for all dialogs in dialogs.c; also allow ESC to close cancellable dialogs. Updated unsaved, LaTeX Set Arguments dialogs. 2006-10-18 Enrico Tröger * src/utils.c, src/treeviews.c, tagmanager/c.c: Use "::" as context separator only for C++, otherwise use ".". Detect module declarations in D and put them in the symbol list. * src/callbacks.c, src/geany.h, src/msgwindow.c, src/treeviews.c: Use enum values to reference different treeview widgets (code cleanup). 2006-10-18 Nick Treleaven * src/build.c, src/build.h, src/ui_utils.h, src/ui_utils.c, src/keybindings.c, src/callbacks.c, src/callbacks.h, src/document.c, src/main.c: Move build menu related functions and callbacks to build.c. Renamed ui_update_build_menu -> build_menu_update. 2006-10-17 Nick Treleaven * src/callbacks.c, src/filetypes.h, src/ui_utils.c: Disable Make All, Make Custom menu items for unnamed files. Allow Run and Make Object for C header files. * src/document.c: Fixed Undo/Redo setting the wrong document changed state when making edits after saving a file. 2006-10-17 Enrico Tröger * THANKS, configure.in, src/about.c: Added Italian translation (thanks to M. Baldinelli and Dario Santomarco). 2006-10-16 Nick Treleaven * src/keybindings.c: Change goto matching brace default keybinding to CTRL-SHIFT-< (requires shift on some keyboards). * src/build.c, src/build.h, src/geany.h, src/callbacks.c: Don't overwrite Make Custom string when using Make Object. Move app->build_make_custopt to build_options struct in build.c. * src/build.c, src/build.h, src/msgwindow.c, src/callbacks.c, src/msgwindow.h: Move build_info struct to build.c and merge with build_options. 2006-10-13 Enrico Tröger * src/ui_utils.c, src/treeviews.c: Improved symbol list view for filetype Java. 2006-10-13 Nick Treleaven * src/utils.c: Fix infinite loop from parsing current function name. 2006-10-12 Enrico Tröger * src/utils.c: Improved function name parsing to fix some invalid parsed function names. 2006-10-12 Nick Treleaven * src/utils.c: Fix parsing the current function name for Java. When the document is unedited, get the current function name from the previous function tag parsed by tagmanager. Don't update the current function if the cursor is 1 line from the previous call and the fold level is unchanged. * tagmanager/tm_workspace.c, tagmanager/include/tm_workspace.h: Backported tm_get_current_function() from Anjuta. * src/sciwrappers.c, src/sciwrappers.h: Added sci_get_last_child(), sci_get_fold_parent(). * src/keyfile.c: Small fix for sign warning. 2006-10-11 Enrico Tröger * src/keyfile.c, src/geany.h: Removed hard limit of session files. * doc/geany.docbook: Updated section about session files limit. * tagmanager/makefile.win32, tagmanager/Makefile.am, tagmanager/parsers.h, tagmanager/diff.c, src/filetypes.c, src/treeviews.c: Added simple parser for filetype Diff to create tags for each patched file in a diff file. * src/sci_wrappers.c: Added sci_find_bracematch(). * src/keybindings.c: Added keyboard shortcut Ctrl+< to jump between matching braces(closes #1571283). * doc/geany.docbook: Updated missing keybindings. 2006-10-10 Enrico Tröger * src/document.c: Connect only once to the "sci-notify" signal. * scintilla/CellBuffer.cxx, scintilla/Document.cxx, scintilla/include/Scintilla.h: Applied patch from Armel Asselin (thanks). It adds SC_START_ACTION notification which is required for Geany's new Undo system. * src/document.c, src/sci_cb.c, src/callbacks.c: Finished new Undo system. Now some more actions can be undone and also redone. * src/sci_cb.c: Got rid of goto usage and added auto completion for monitor construct for filetype Ferite. * src/highlighting.c, data/filetypes.css: Fixed several highlighting errors, added new styles: identifier2, important and id. 2006-10-09 Nick Treleaven * src/win32.c, src/geany.h, src/callbacks.c, src/search.c, src/document.c, src/document.h, src/prefs.c, src/dialogs.c, src/main.c, src/ui_utils.c: Removed the GEANY_MAX_OPEN_FILES limit, using a dynamic array. 2006-10-09 Enrico Tröger * src/dialogs.c: Made string "Permissions" in the file property dialog translatable. 2006-10-08 Enrico Tröger * src/highlighting.c, data/filetypes.ferite: Added some new keywords. * src/sci_cb.c: Added auto completion for iferr construct for filetype Ferite. * src/socket.c: Added additional header files for compatibility with FreeBSD. 2006-10-08 Nick Treleaven * tagmanager/tm_source_file.c: Only parse tags once for simple parsers. 2006-10-06 Enrico Tröger * tagmanager/python.c: Improved Python parser to support nested classes. * src/filetypes.c, src/document.c: Implemented simple "shebang" detection. It is used prior to the filename extension detection. * src/highlighting.c, data/filetypes.latex: Changed foreground colour for LaTeX style "math" to differentiate it from the "comment" style. 2006-10-04 Enrico Tröger * src/ui_utils.c, src/main.c, src/document.c, src/callbacks.c: Renamed ui_build_show_hide() in ui_update_build_menu(). * src/filetypes.c, src/ui_utils.c: Fixed crash when using "Make object" on new files(closes #1570818). 2006-10-03 Enrico Tröger * src/callbacks.c: Save configuration(i.e. list of open files) as late as possible and save the filetype build commands first shortly before quitting. * doc/geany.docbook, doc/geany.1.in, src/main.c, src/document.c: Reordered command line options alphabetically. Added new command line option --line to set the initial line for the first opened file. * data/filetypes.sh, src/highlighting.c: Added keyword "until". 2006-10-02 Nick Treleaven * src/templates.c: Added a blank line indent for templates D, HTML, PHP. * src/symbols.c, src/symbols.h, src/highlighting.c, src/makefile.win32, src/Makefile.am, po/POTFILES.in: Move global tags code to symbols.c. Added symbols_global_tags_loaded(), symbols_get_global_keywords(). * src/callbacks.c, src/sci_cb.c, src/sciwrappers.c, src/sciwrappers.h, src/document.c: Change sci_get_line to return a NULL terminated string. Fix memory leak and possible invalid read in sci_cb_auto_latex(). 2006-10-01 Enrico Tröger * configure.in: Use datarootdir for defining paths to fix autoconf 2.60 problems(thanks to Christoph Berg for reporting). 2006-10-01 Nick Treleaven * src/callbacks.c, src/filetypes.c, src/filetypes.h, TODO: Save the build includes and arguments on quitting. 2006-09-30 Nick Treleaven * src/highlighting.c, src/highlighting.h: Changed StyleSet struct to use Style array, which can use less memory. Added separate struct for the common style set. Also use a struct for tracking the loaded global tags files. Renamed some static functions. * src/document.c, src/ui_utils.c: Clear the symbol list when opening a file with no tags. 2006-09-29 Enrico Tröger * src/filetypes.c, data/filetype_extensions.conf: Added pattern *.agi for filetype Perl (closes #1567355). * doc/geany.docbook: Updated information for Debian and Gentoo packages. * New release: Geany 0.9 "Kintaro". * THANKS, src/about.c: Changed credits of topi. 2006-09-27 Nick Treleaven * src/vte.c: Change VTE word selection chars to include paths. * src/highlighting.c, data/filetypes.common: Only override the default Scintilla selection style if foreground and/or background flags are set in filetypes.common. Also increase the current line background brightness. 2006-09-27 Enrico Tröger * src/sci_cb.c: Fixed broken autocompletion for filetype PHP. 2006-09-26 Enrico Tröger * win32-config.h: Enabled socket code on Windows. * src/socket.c: Re-enabled the gtk_window_present() call for Windows to pop up the main window. * src/utils.c, src/sci_cb.c: Enabled notification if file on disk has changed under Windows, it seems to work (closes #1557689). 2006-09-26 Frank Lanitz * po/nl.po, THANKS, configure.in, src/about.c: Added Dutch translation (Thanks to Kurt De Bree). 2006-09-22 Nick Treleaven * src/main.c: Apply toolbar style on startup (Fixes #1563125). * src/build.c, src/geany.h: Prevent a segfault if the Terminal tool is not set. Use cmd.exe as default Terminal tool on Windows. * scintilla/makefile.win32, src/makefile.win32, tagmanager/makefile.win32, makefile.win32: Let make clean continue when a file can't be deleted. 2006-09-21 Nick Treleaven * src/ui_utils.c: Fix a bug when clicking on a recent file. * src/callbacks.c, src/sciwrappers.c: Prevent a partial selection on a line being deleted when using CTRL-I to indent; also improve CTRL-Shift-I unindenting. Closes #1557963. 2006-09-20 Enrico Tröger * src/sci_cb.c: Don't start autocompletion in strings and comments. 2006-09-20 Nick Treleaven * src/search.c, src/search.h: Add whole word only matching option for Find in Files. Add fixed string matching option for Find in Files. Make fixed string, case sensitive matching default for efficiency. Sort filenames passed to Grep alphabetically. * src/socket.c: Don't move Geany to the current desktop when opening files remotely. 2006-09-18 Enrico Tröger * src/dialogs.c, src/callbacks.c: Fixed compiler warnings and removed unnecessary signal handler. 2006-09-17 Nick Treleaven * src/templates.h, src/templates.c: Move all static strings from templates.h to templates.c. * src/sci_cb.c: Fix sign comparison warning. * src/utils.c, src/msgwindow.c: Improve utils_get_current_time_string(). * src/ui_utils.c: Only reorder recent files menu when recent file loaded correctly. Reorder the recent file menu instead of recreating it. 2006-09-15 Nick Treleaven * src/ui_utils.h, src/ui_utils.c, src/callbacks.c, src/dialogs.c: Add ui_frame_new(). Run set includes build dialogs modally, keeping the same filetype. Updated set includes & arguments dialog layout & text. * src/build.c: Don't print the g_spawn argv strings in build_run_cmd() on the status bar. 2006-09-12 Enrico Tröger * geany.glade, src/interface.c, src/callbacks.c, src/keybindings.c: Added menu items for toggle line commentation. Changed some mnemonics in the "format" submenu. * src/callbacks.c, src/keybindings.c: Added keyboard shortcuts for "Convert Selection to lower-case". 2006-09-12 Frank Lanitz * data/pascal.tags: Adding data for unit x86. 2006-09-11 Enrico Tröger * src/socket.c: Made socket code for detecting running instances working under Windows. * src/win32.c, src/ui_utils.c, src/dialogs.c: Fixed compile warnings under Windows. * src/highlighting.c: Fixed a typo. * src/callbacks.c, src/build.c, src/main.c, src/prefs.c, src/ui_utils.c: Implemented Run command (from the build menu) under Windows, the other commands will follow somewhen. 2006-09-10 Enrico Tröger * src/sci_cb.c, src/keybindings.c, src/callbacks.c: Added comment toggle functionality to easily comment and uncomment a line with one shortcut (default Ctrl+B) (closes #1552184). 2006-09-09 Nick Treleaven * src/document.c, src/ui_utils.c: Reorder the recent files list if necessary when a file is (re)opened - closes #1552178. * src/msgwindow.c: Check msgwin visible before scrolling. * src/ui_utils.h, src/ui_utils.c, src/callbacks.c, src/callbacks.h, src/dialogs.c, src/dialogs.h, src/main.c: Move on_recent_file_activate, dialogs_create_recent_menu, dialogs_create_build_menu_gen, dialogs_create_build_menu_tex to ui_utils.c. Also make some functions static. 2006-09-08 Nick Treleaven * src/build.c, src/msgwindow.c, src/msgwindow.h: Show parsable errors in red; stderr and compile failure in dark red. * src/callbacks.c: Fix compilation problem with sci_cb_do_comment. * src/document.c: Quick fix for C89 compatibility. * src/msgwindow.c: Make C, C++, Ruby and Java error message parsing more tolerant so that linker errors are also parsed if debug line info is available. Group all gcc-like error message parsing information together. * src/msgwindow.c, src/msgwindow.h: Allow compiler and find messages to be added when the messages window is hidden. Add msgwin_show(). * src/build.c: Show messages window on build failure. Show build success message on status bar if messages window hidden. * src/document.c: Use handle_forced_encoding(), handle_encoding() and handle_bom() when opening files. 2006-09-07 Enrico Tröger * src/socket.c, src/main.c, src/callbacks.c: Moved the socket code from main.c to socket.c. * src/document.c: Remove an unchanged empty document when loading a new file (closes #1545129). 2006-09-06 Enrico Tröger * src/callbacks.c, src/document.c, src/ui_utils.c, src/sci_cb.c: Added own implementation of an Undo stack (not yet working). * src/utils.c, src/document.c: Convert tag names to UTF-8 before showing them in the sidebar. * src/document.c: Fixed a crash when a compiler output reports an error in a blank line(can happen in LaTeX). Thanks to Frank for reporting. 2006-09-05 Enrico Tröger * src/templates.c, src/document.c, src/filetypes.c: Added new file template for filetype HTML. * src/document.c, src/dialogs.c: Don't quit when an error occurs while saving changed files. 2006-09-05 Nick Treleaven * src/utils.c, src/utils.h, src/ui_utils.c, src/ui_utils.h, src/keybindings.c, src/about.c, src/treeviews.c, src/msgwindow.c, src/callbacks.c, src/notebook.c, src/sci_cb.c, src/keyfile.c, src/vte.c, src/document.c, src/prefs.c, src/main.c, po/POTFILES.in, src/Makefile.am, src/makefile.win32: Moved UI related utils from utils.c to ui_utils.c. 2006-09-04 Nick Treleaven * src/keyfile.c, src/main.c, src/main.h: Rename --no-socket, -s command-line option to --new-instance, -i. Add --no-session, -s command-line option to not load session files. Only save session when session files were loaded at startup. * doc/geany.docbook: Update command-line options and running instance behaviour. * src/callbacks.c, src/callbacks.h, src/sci_cb.c, src/sci_cb.h, src/keybindings.c, src/document.c: Move current_word and clickpos to editor_info struct in sci_cb.c. Move on_editor_button_press_event to sci_cb.c. 2006-09-03 Nick Treleaven * src/main.c: Open a new instance without loading session files if socket already exists and no filenames are specified on the command-line. 2006-09-03 Enrico Tröger * src/utils.c: Save All button is also active when only one file is changed(improves usability). 2006-09-02 Enrico Tröger * src/document.c, src/search.c: Escape special characters when shown in the status window after "Replace All" or replacing a selection. Set the focus to the replace entry widget when pressing the tabulator key in the find entry widget in the replace dialog. Set the focus to the find entry widget when pressing the tabulator key in the directory entry widget in the FIF dialog. 2006-09-02 Nick Treleaven * src/utils.c, src/sci_cb.c, src/main.c: Fixed C89 variable declaration and two sign comparison warnings. * src/document.c, src/document.h: Add document_get_current(). * src/msgwindow.c: Use parse_file_line() for grep and compiler error messages. Add error message support for D, also for the GDC frontend. 2006-09-01 Enrico Tröger * src/document.c, src/dialogs.c, src/prefs.c, src/callbacks.c, src/interface.c, geany.glade: Fixed some typos. * src/filetypes.c, src/highlighting.c, src/keybindings.c, src/sci_cb.c, data/filetypes.html, data/filetype_extensions.conf, src/callbacks.c, src/msgwindow.c: Split filetype PHP/HTML into PHP and HTML. 2006-09-01 Frank Lanitz * configure.in, po/vi.po: Added Vietnamese translation (Thanks Clytie Siddall). * THANKS, src/about.c: Added translator credits. 2006-08-31 Enrico Tröger * src/msgwindow.c, data/filetypes.ferite: Improved parsing compiler messages when using the ferite compiler. Added some primitives and improved compiler settings for Ferite. 2006-08-30 Enrico Tröger * configure.in, src/callbacks.c, src/geany.h, src/main.c: Removed the whole FIFO code and replaced it with support for (Unix Domain) Sockets(including Windows support, but not yet done). * src/vte.c, src/callbacks.c, src/document.c: Change the current working directory within the VTE also when a new file is saved. 2006-08-29 Enrico Tröger * src/sci_cb.c: Added auto completion for LaTeX command "begin". 2006-08-28 Enrico Tröger * geany.glade, src/interface.c: Fixed typo in a tooltip text. * THANKS, src/about.c: Added translator credits. * src/treeviews.c, src/utils.c: Fixed a crash when switching between several filetypes. 2006-08-27 Frank Lanitz * configure.in, po/cs.po: Added Czech translation (Thanks Petr Messner). 2006-08-27 Enrico Tröger * tagmanager/parsers.h, tagmanager/c.c, data/filetype_extensions.conf, data/filetypes.diff, data/filetypes.ferite, src/highlighting.c, src/filetypes.c, src/msgwindow.c: Added new filetypes Diff and Ferite. * src/search.c: Applied patch from Stefan Oltmanns to add the possibility to keep the Replace dialog open. 2006-08-26 Enrico Tröger * src/geany.h, src/main.c, src/utils.c: Fixed weird behaviour of Save all tool button and menu item. * src/document.c: Fixed missing styling settings on new files (needs to be tested). Now the filetype sub menu in the document file menu will be updated when the filetype is set by the filename on new files. 2006-08-23 Enrico Tröger * src/prefs.c, src/vte.c: Added new VTE settings to the preferences dialog. Improved ignore menu bar accelerator setting. Keep current working directory when restarting the VTE (happens when hitting Ctrl+C). * src/document.c: Added counter when using "Replace All" and display the count of replacements in the status window. 2006-08-23 Frank Lanitz * src/highlighting.c, data/pascal.tags: Added auto completion for PASCAL. * data/latex.tags: Update of catalog. 2006-08-22 Nick Treleaven * src/callbacks.c: Fix quit confirmation message with no files open. 2006-08-22 Enrico Tröger * src/vte.c, src/prefs.c, src/keyfile.c, src/utils.c: Save all VTE settings in an own VTE section in the configuration file instead of using an unhandy string list. Added new settings: ignore menu bar accelerator and define the shell which is started within the VTE. (Code not yet complete, might be buggy, GUI stuff is missing) * tagmanager/pascal.c: Added recognition for keyword "type". 2006-08-21 Enrico Tröger * src/images.c, src/notebook.c: Applied patch from Củ Văn Chuối to enlarge the tab close icon. This should fix some display issues. * scintilla/*: Updated Scintilla to version 1.71. 2006-08-20 Enrico Tröger * src/build.c, src/document.c, src/document.h, src/geany.h, src/highlighting.c, src/main.h, src/sci_cb.c, src/search.c, src/templates.c, src/utils.c, src/vte.c: Moved prototype for geany_debug() to main.h. Moved declaration of document struct to document.h. * src/sci_cb.c: Keep selection when commenting and uncommenting code. 2006-08-20 Nick Treleaven * src/callbacks.c, src/main.c: Fix opening more than one file from the command-line (with fifo). * src/geany.h, src/callbacks.c, src/Makefile.am, src/main.c, src/main.h: Moved HAVE_FIFO MyApp fields to fifo_info struct in src/main.c. Prevent unnecessary 'does not look like a filename' debug messages. Added fifo_finalize(). * src/geany.h, src/filetypes.h, document.h, src/highlighting.h, src/sci_cb.h, src/highlighting.c, src/sciwrappers.c: Remove filetypes.h and Scintilla includes from geany.h. * src/document.h: Add VALID_DOC_IDX macro. * src/utils.h, src/utils.c, src/callbacks.c, src/keybindings.c, src/sci_cb.h, src/sci_cb.c, src/dialogs.c, src/filetypes.h, src/filetypes.c: Move utils_brace_match to sci_cb.c. Move utils_find_current_word to sci_cb.c. Move utils_create_file_filter to filetypes.c. 2006-08-19 Enrico Tröger * geany.glade, src/interface.c, src/keybindings.c, src/utils.c, src/geany.h, src/callbacks.c, src/main.c, src/keyfile.c: Added menu items to insert configurable date/time strings. * src/dialogs.c, src/callbacks.c: Replaced dialogs_show_make_target() by dialogs_show_input() to have a general input dialog. * src/sci_cb.c: Comment already commented lines, too (re-closes #1521714). 2006-08-19 Nick Treleaven * src/callbacks.c: Fix a segfault at startup if terminal follow path setting is enabled. * src/geany.h, src/callbacks.c, src/keyfile.c, src/vte.c, src/vte.h, src/prefs.c, src/main.c: Move HAVE_VTE MyApp settings to vte_info struct in src/vte.c. * src/vte.c, src/vte.h: Add vte_get_working_directory adapted from Terminal by os-cillation. * src/vte.c, src/keyfile.c: Remember the VTE current directory. * src/callbacks.c: Only send VTE cd command if directory is different. 2006-08-18 Enrico Tröger * src/document.c: Use codepage SC_CP_UTF8 because we use always GTK even under Windows. 2006-08-18 Nick Treleaven * src/keyfile.c: Fix a small memory leak in configuration_load. * src/dialogs.c: Change Don't save button icon and add mnemonic. * src/main.c: Fix building on win32 - thanks to Củ Văn Chuối. * src/dialogs.c, src/dialogs.h: Add dialogs_show_question_full for custom buttons and extra text. Don't show message dialogs in the window manager taskbar. * src/utils.c: Use Reload button for utils_check_disk_status dialog. * src/callbacks.c: Improve Reload and Quit dialog. Share on_reload_as_activate code for reloading. * tagmanager/d.c, tagmanager/c.c, tagmanager/Makefile.am: Merged tagmanager/d.c with tagmanager/c.c, which also adds user function calltips support for D. 2006-08-17 Nick Treleaven * src/callbacks.c, src/callbacks.h, src/main.c: Move signal_cb to main.c. * src/main.c: Move main_init command line settings to parse_command_line_options. Use setup_paths, locale_init, parse_command_line_options, setup_config_dir in main(). * src/msgwindow.c: Reorder widget lookup; ensure FIF dir is set. * src/main.c: Fix Show messages window checkbox state when -m used. 2006-08-15 Nick Treleaven * tagmanager/c.c: Backported calltips workspace support for C-like user files from Anjuta. * src/keybindings.c, src/sci_cb.c, src/sci_cb.h: Return to showing calltips after successful autocompletion. Use separate functions for html and tag autocompletion. 2006-08-15 Enrico Tröger * src/callbacks.c: Made increase/decrease indentation working with selections. Keep the old cursor position when working on a single line (do not jump to line start). * src/sci_cb.c: Fixed "while" and "switch" autocompletion. * src/highlighting.c, data/filetypes.common, doc/geany.docbook: Use the filetype's default style(SCE_*_DEFAULT) as the main default style(STYLE_DEFAULT). * src/sci_cb.c: Improved HTML "
" auto completion to use the indentation better. * src/filetypes.c, src/highlighting.c, src/msgwindow.c, data/filetypes.fortran, data/filetype_extensions.conf, scintilla/Makefile.am, scintilla/LexFortran.cxx, scintilla/KeyWords.cxx, tagmanager/fortran.c, tagmanager/Makefile.am, tagmanager/parsers.c: Added new filetype Fortran 77. 2006-08-14 Nick Treleaven * src/sci_cb.c: Applied patch from Jens Granseuer to fix build with gcc 2.95 (closes #1539502). * src/build.c, src/geany.h, src/msgwindow.c, src/msgwindow.h, src/callbacks.c, src/search.c, src/search.h, src/main.c: Store build information instead of using app->cur_idx. Assume C-like warning messages when running make when the current file is a Makefile. Moved some msgwin setup and cleanup code to msgwindow.c. * src/utils.c, src/utils.h: Moved utils_parse_compiler_error_line to msgwindow.c. 2006-08-13 Enrico Tröger * src/document.c: Use wrappers for converting between utf8 and locale encoding. Fixed small memory leak. * src/vte.c: Added the GTK IM menu items to the VTE popup menu. * src/utils.c, src/dialogs.c, src/build.c, src/callbacks.c, src/search.c, src/keyfile.c: Use utf8/locale encoding wrappers. * data/filetypes.common, src/highlighting.c, src/geany.h, src/keyfile.c, src/prefs.c, src/document.c, src/interface.c, geany.glade, doc/geany.docbook: Added colour values for indentation guides and white space. Made hard coded SCI_AUTOCSETMAXHEIGHT changeable and added an option in the preferences dialog. * src/sciwrappers.c: Added sci_set_autoc_max_height(). 2006-08-12 Enrico Tröger * src/document.c: Removed unnecessary code in document_replace_tabs(). Really take tab width when replacing instead of using width = 4. * src/Makefile.am: Applied patch from Fryderyk Dziarmagowski to fix build problem with linker flag "-Wl,--as-needed" (closes #1539239). 2006-08-12 Nick Treleaven * src/search.c: Enable case sensitive when regex search enabled. Some label text changes for the dialogs. Use hbox packing in Find and Find in files dialogs. Add select directory button for Find in files. * src/utils.c, src/utils.h: Add wrappers for converting between utf8 and locale encoding. 2006-08-11 Nick Treleaven * src/keybindings.c, src/geany.h, src/callbacks.c, src/callbacks.h, src/search.c, src/search.h, src/dialogs.c, src/main.c, src/dialogs.h: Group search related code. 2006-08-11 Enrico Tröger * src/document.c: Changed SEARCH_NOT_FOUND_TXT. Fixed possible segfault when replacing tabs by spaces. * tagmanager/python.c: Fixed wrong classification of local functions as methods(thanks to Sebastian Koch). * src/sci_cb.c: Fixed segfault when try to (un)comment some code and no filetype is set(reported by John Gabriele). 2006-08-09 Enrico Tröger * doc/geany.docbook: Removed section about global ctags, the information were obsolete. Added section about file encodings and the Unicode Byte-Order-Mark. * doc/images/*: Updated screenshots. * New release: Geany 0.8 "Kadir". 2006-08-09 Nick Treleaven * src/main.c: Add startup debug message showing GTK+ runtime version. * src/notebook.c: Use native tab DnD reordering on GTK+ 2.10; closes #1519650. 2006-08-08 Nick Treleaven * src/notebook.c: Fixed GTK 2.6 workaround for DnD tab reordering so it works on the first attempt. * src/utils.c, src/highlighting.c, src/geany.h, src/treeviews.c, src/callbacks.c, src/keyfile.c, src/encodings.c, src/dialogs.c: Fixed all sign comparison warnings. 2006-08-07 Enrico Tröger * src/callbacks.c: Applied patch from Củ Văn Chuối to re-enable XIM support. Thanks! 2006-08-07 Nick Treleaven * src/callbacks.c: Allow Find even when the replace text is the same. Place the cursor in "" for insert blank include. * src/utils.c, src/utils.h, src/callbacks.c, src/document.c: Move recent file item to the top when it is clicked on. 2006-08-06 Nick Treleaven * doc/geany.docbook: Improved search section; added all find and go to commands. Added Filetype extensions section. Grouped configuration file sections into a chapter. 2006-08-05 Nick Treleaven * src/callbacks.c: Allow partial word selection for Find Usage. * src/keyfile.c, src/filetypes.c, src/filetypes.h: Use unique filetype id in geany.conf to avoid new filetype problems. Make unique id numbers compatible with Geany 0.7 filetype order. * src/highlighting.c: Fix loading Perl, TCL system config files first. 2006-08-04 Nick Treleaven * src/callbacks.c, src/callbacks.h, src/dialogs.c: Disable word and word start matching when regexes are enabled. Don't hide the Find dialog after searching; use Close button. * src/filetypes.c: Set radio item None for new files. 2006-08-03 Enrico Tröger * geany.glade, src/callbacks.c, src/filetypes.c, src/filetypes.h, src/encodings.c, src/encodings.h, src/interface.c, src/utils.c: Made document related submenus(filetype, encoding, line endings) radio buttons for better usability. 2006-08-03 Nick Treleaven * src/utils.c, src/utils.h, src/sci_cb.c: Wrap calltip and prevent it obscuring the current line. 2006-08-02 Enrico Tröger * src/callbacks.c: Don't set file as changed when changing encoding to the same one. * src/document.c, src/callbacks.c, dialogs.c: Fixed wrong behaviour of Save As on unchanged files. 2006-08-01 Enrico Tröger * geany.glade, src/interface.c, src/callbacks.c, src/keybindings.c, src/main.c, src/sciwrappers.c: Added some menu items to the edit menu for editing tasks. Added keyboard shortcuts for increase/decrease of line indentation (closes #1521717). 2006-08-01 Nick Treleaven * src/interface.c, src/utils.c, src/utils.h, src/callbacks.c, src/keyfile.c, src/document.c, src/prefs.c, geany.glade: Added Auto indentation and Line wrapping options to Preferences dialog. Split up Miscellaneous items into Display and Features. Renamed Change Selection and Run toolbutton. * src/keyfile.c: Change default for removing trailing spaces to off. * src/callbacks.c: Clear search flags when using find toolbar entry. Removed some unnecessary static variables. * document.c, document.h, prefs.c: Apply the tab width setting for new documents. * src/keyfile.c, data/filetype_extensions.conf, Makefile.am: Install a system filetype_extensions.conf which can be overridden. * src/filetypes.c data/filetype_extensions.conf: Add Make pattern to recognise makefile*. * src/keyfile.c, src/keyfile.h, src/main.c: Add hidden option -g to generate filetype_extensions.conf. 2006-07-31 Enrico Tröger * src/keybindings.c, src/sci_cb.c: Added functionality to uncomment code and added keyboard shortcut Ctrl+Shift+D for this (closes #1521714). 2006-07-30 Enrico Tröger * doc/geany.docbook, data/filetypes.common, src/.c: Added style to change the colour of the caret(closes #1530486). 2006-07-29 Nick Treleaven * src/msgwindow.c, src/msgwindow.h, src/callbacks.c, src/search.c: Remember Find in files directory for opening grep results. * Makefile.am: Add win32 build files to EXTRA_DIST. 2006-07-28 Enrico Tröger * src/search.c, src/callbacks.c, src/dialogs.c: Added some options to the Find in files dialog, made search directory editable. 2006-07-28 Nick Treleaven * src/sciwrappers.h: Set PLAT_GTK before including ScintillaWidget.h. * src/Makefile.am, geany_windres.rc.in: Correct a typo. * scintilla/makefile.win32, src/makefile.win32, makefile.win32, tagmanager/makefile.win32, win32-config.h, geany_private.rc: Add makefiles for building on win32. 2006-07-27 Enrico Tröger * src/sciwrappers.c, src/callbacks.c, src/utils.c, src/dialogs.c, src/keybindings.c: Removed unused colour parsing functions. Let the colour chooser pick the colour under the cursor. * data/filetypes.*, src/highlighting.c, src/utils.c: Fixed bug in parsing strings containing hex values, modified the styles to keep the syntax highlighting consistent. * src/main.c: Removed startup warning. * src/geany.h, src/main.c: Added Select All item to sensitive buttons. * src/win32.c, src/dialogs.c, src/callbacks.c: Let the colour chooser pick the colour under the cursor(Win32 code). Added some sanity checks. 2006-07-26 Enrico Tröger * src/Makefile.am: Added target to remove geany_res.res when cleaning. * src/geany.h, src/main.c, src/callbacks.c, src/highlighting.c, src/document.c, src/dialogs.c, src/prefs.c, src/utils.c, src/win32.c, src/keybindings.c, src/gb.c, src/about.c: Removed macro GEANY_WIN32, use G_OS_WIN32 instead. Introduced global variables for PACKAGE_DATA_DIR and PACKAGE_LOCALE_DIR, removed macro DOCDIR (these changes are important for the Windows port). 2006-07-26 Nick Treleaven * src/win32.c: Don't add .c extension for All files filter. Only set open tool dialog path if it exists. * src/keybindings.c: Use CTRL-SHIFT-space for Windows show calltips. * src/prefs.c: Never show compile & run toolbuttons on Windows and hide the prefs option to show them. * src/main.c: Disable the Compiler tab instead of hiding it so that messages window tabs have the right index on switching. * src/utils.c: Only replace untitled.x within the first 2 lines. 2006-07-25 Enrico Tröger * src/encodings.c, src/document.c, src/keyfile.c, src/main.c: Save default encoding for new files as charset string. * src/filetypes.c: Reordered the filetypes (just a cosmetic change). * src/win32.c, src/utils.c: Removed title argument from win32_message_dialog because it is defined by the dialog type. Added simple wrapper function win32_open_browser(). * src/dialogs.c, src/main.c, src/document.c, src/callbacks.c: Removed some unneeded functions to avoid duplicate code. * src/callbacks.c: Fixed broken Find usage. Put "No matches" message also in the message window. * Makefile.am, geany_windres.rc, configure.in, src/Makefile.am, scintilla/Makefile.am, src/callbacks.c, tagmanager/tm_work_object.c, tagmanager/ctags.c, tagmanager/get.c: Small changes to get cross compiling using mingw32 suite working. * tagmanager/get.c: Applied patch to fix building with gcc 2.95 (closes #1528516, thanks). 2006-07-24 Enrico Tröger * src/geany.h, tagmanager/strlist.c, tagmanager/tm_project.c, tagmanager/parse.c, tagmanager/general.h, tagmanager/ctags.c, tagmanager/tm_workspace.c: Fixed some cross compiling/Win32 issues. * geany.glade, src/callbacks.c, src/document.c, src/interface.c, src/main.c: Added menu item to the document menu to add/remove BOM. Replaced switch_notebook_page by ignore_callback flag. * src/win32.c, src/dialogs.c: Convert Unicode strings to wide characters to avoid weird display. * src/document.c: Set CR/LF as EOL mode on new files on Windows. 2006-07-24 Nick Treleaven * src/geany.h: Use generic font names & increase the default size. * src/notebook.c: Use tab reorder workaround only if GTK runtime <2.8. * src/utils.c, src/about.c: Change 2 paths to use G_DIR_SEPARATOR_S. * src/dialogs.c: Wait for Save as dialog to run before closing tab. 2006-07-23 Enrico Tröger * src/build.c: Search terminal program in PATH (closes #1527203). * src/documents.c: Fixed some mistakes from last commit. * src/dialogs.c, src/utils.c, src/document.c, src/geany.h: Renamed document element unicode_bom in has_bom. * src/callbacks.c: Let Find usage search for the current selection if there is one. 2006-07-22 Nick Treleaven * src/dialogs.c: Make Find and Replace dialogs more compact. * src/treeviews.c: Fix a warning when updating open files treeview. 2006-07-22 Enrico Tröger * src/callbacks.c, src/utils.c, src/document.c, src/encodings.c, src/geany.h, src/main.c, src/dialogs.c, geany.glade, src/interface.c, src/sci_cb.c, src/keyfile.c: Added Unicode BOM detection. Added "Reload as" menu item to force opening a file with a specified encoding(both were patches from Stefan Oltmanns). * src/callbacks.c: Fixed two issues when showing / hiding the sidebar. * src/filetypes.c: Added *.cfg as extension for config files. * src/treeviews.c, src/notebook.c: Keep the list of open files in sync when reordering notebook tabs. 2006-07-21 Nick Treleaven * src/dialogs.c: Prevent using Find in files for unnamed files. 2006-07-21 Enrico Tröger * src/geany.h, src/main.c, src/callbacks.c: Introduced app->ignore_callback to ignore callback actions when changing the state of GUI elements. * geany.glade, src/interface.c, src/main.c, src/callbacks.c, src/utils.c, src/prefs.c, src/keybindings.c: Added menu item View->Show Sidebar and improved code around it. 2006-07-20 Enrico Tröger * src/highlighting.c: Unset fold.compact setting. 2006-07-20 Nick Treleaven * TODO: Added 3 more items discussed on the ML. * doc/scikeybinding.docbook: Commented out some keys not working. * src/dialogs.c: Share find/replace common checkbox setup code. * src/build.c, src/build.h, src/sciwrappers.h, src/dialogs.c, src/dialogs.h: Don't include geany.h. * src/geany.h, src/callbacks.h: Moved GEANY_RESPONSE_* to callbacks.h. * src/callbacks.c, src/document.c, src/document.h, src/dialogs.c: Added Find button to Replace dialog to skip a match. Change Replace button to find first & use current selection. Ask whether to wraparound when replacing and no next match is found. 2006-07-19 Enrico Tröger * src/highlighting.c, data/filetypes.common: Highlighting of current line can be disabled. * geany.glade, src/interface.c: Fixed typo. * src/utils.c, src/callbacks.c, src/dialogs.c: Improved replacing escape sequences in Find and Replace dialog (thanks to Stefan Oltmanns). 2006-07-18 Nick Treleaven * src/sciwrappers.c, src/sciwrappers.h, src/document.c: Fix replacing the right length of text matched from a regex. Add support for back references when replacing with regex. Improve the speed of replace all/replace in selection. Don't lose the selection range after replacing in selection. * src/callbacks.c, src/callbacks.h, src/document.c, src/dialogs.c, doc/geany.docbook: Use more POSIX-like syntax for regular expression bracket matching. Prevent searching backwards with a regex (unsupported). Scroll in view after the last replacement for replace all/selection. 2006-07-18 Enrico Tröger * src/dialogs.c, src/callbacks.c: Added option to replace escape sequences in Find and Replace dialog. * doc/Makefile.am: Reverted last change, we want to use xmlto. * src/encodings.c: Restored original order of the encodings, kept the sorted order in the document menu. * src/notebook.c: Compile notebook_motion_notify_event_cb() only with GTK 2.6 (again). * src/about.c: Made "built on" string translatable. 2006-07-17 Nick Treleaven * doc/scikeybinding.docbook, doc/geany.docbook, doc/geany_gpl.docbook: Moved external appendix elements to geany.docbook to validate ok. 2006-07-17 Enrico Tröger * src/utils.c, src/document.c, src/callbacks.c: Moved document related functions from utils.c to document.c. Keep cursor position when replacing tabs by spaces. * doc/geany.xsl: Added UTF-8 as default encoding. * doc/Makefile.am: Replaced xmlto command by xsltproc. * doc/geany.docbook: Added reference for the GPL appendix. 2006-07-16 Enrico Tröger * src/encodings.c: Reordered encodings in the file menu, divided into subregions. * geany.glade, src/interface.c: Added missing mnemonics to file menu. * src/document.c: Added filename to an error message. * src/encodings.c: Removed function encodings_get_encodings(). * src/utils.c: Simplified locale detection and little speed up. * src/main.c, src/document.c, src/geany.h: Removed code for alternative scrolling(it was not better). * src/sci_cb.c, src/callbacks.c, src/utils.c, src/highlighting.c, src/main.c, data/html_entities.tags, Makefile.am: Moved HTML entities from sci_cb.h to data/html_entities.tags. 2006-07-16 Nick Treleaven * doc/scikeybinding.docbook, doc/geany.docbook: Added Scintilla keyboard commands appendix taken from the SciTE documentation section 'Keyboard Commands'. 2006-07-15 Enrico Tröger * src/keybindings.c, src/sci_cb.c: Show auto completion list immediately when called by a keybinding. * geany.glade, src/interface.c, src/prefs.c, src/geany.h, src/keyfile.c, src/utils.c: Toolbar items for file operations can also be hidden. 2006-07-15 Nick Treleaven * keybindings.c, keybindings.h: Add keybinding for Find in files. * doc/geany.docbook: Updated Make command names and keybindings. * src/vte.c: Fix applying vte settings on startup and prevent the message window vertical scrollbar being hidden. 2006-07-14 Nick Treleaven * src/search.c: Give accurate message on finishing finding in files. * src/callbacks.c: Use locale encoding for Find in files and remember previous searches. 2006-07-14 Enrico Tröger * src/filetypes.c, src/highlighting.c, tagmanager/tm_tag.c, tagmanager/tm_workspace.c: Fixed autocompletion for filetype C++. * src/utils.c: Removed unneeded functions: utils_glist_strings_free() and utils_glist_from_string(). * src/encodings.c: Fixed wrong charset detection on UTF-8 (and maybe other) systems. 2006-07-13 Nick Treleaven * src/build.c, src/interface.c, src/utils.c, src/utils.h, src/geany.h, src/msgwindow.c, src/msgwindow.h, src/callbacks.c, src/callbacks.h, src/keyfile.c, src/search.c, src/search.h, src/prefs.c, src/dialogs.c, src/main.c, src/dialogs.h, src/Makefile.am, geany.glade: Added basic Find in files search functionality. 2006-07-11 Enrico Tröger * src/dialogs.c: Moved dialogs_show_prefs_dialog() to src/prefs.c. * geany.glade, src/interface.c, src/vte.c, src/prefs.c, src/dialogs.c, src/geany.h, src/main.c, src/callbacks.c, src/keybindings.c, src/keyfile.c, src/utils.c: Improved toolbar popup menu. Added new preferences tab for toolbar settings, several toolbar buttons can be hidden. Added Undo and Redo toolbar buttons (closes request #1519261). * src/sci_cb.c, src/keybindings.c: Added return value and tag name to the calltip. 2006-07-11 Nick Treleaven * src/main.c: Prefix command-line opened files with the current directory so relative paths will work better. 2006-07-10 Enrico Tröger * src/sci_cb.c: Autocompletion only works on blank lines. * src/callbacks.c, src/dialogs.c: Added "Replace in all open files" option in the replace dialog. 2006-07-09 Enrico Tröger * tagmanager/d.c, tagmanager/Makefile.am, tagmanager/parsers.h, src/filetypes.c, src/highlighting.c, src/utils.c, src/build.c, src/templates.c, data/filetypes.d: Added new filetype D(patch by Christoph Berg, thanks). 2006-07-08 Nick Treleaven * src/keyfile.c: Fix saving the terminal tool on quitting. * src/keyfile.c, src/main.c: Improve switching out of fullscreen after startup. 2006-07-08 Enrico Tröger * src/encodings.c: Made encoding descriptions translatable. * src/notebook.c: Compile notebook_motion_notify_event_cb() only with GTK 2.6. 2006-07-07 Enrico Tröger * src/prefs.c: Fixed bug when saving VTE settings. * src/keybindings.c, src/utils.c, src/callbacks.c, src/geany.h, src/prefs.c, src/keyfile.c: Improved behaviour of toggle sidebar after a restart. Introduced new flag sidebar_visible, renamed configuration keys. 2006-07-06 Nick Treleaven * src/keybindings.c, src/keybindings.h, src/dialogs.c: Add keybinding for Make object, update Make descriptions. 2006-07-05 Nick Treleaven * src/sciwrappers.c: Make sci_goto_line_scroll work better with line wrapping and folding. * src/callbacks.c, src/dialogs.c: Add Make object command to compile the current file. Added some separators and renamed Build with make items. 2006-07-03 Nick Treleaven * src/utils.c, src/dialogs.c: Fix a problem with the recent files menu. * src/utils.c, src/sciwrappers.c, src/sciwrappers.h: Scroll to 1/4 of visible lines when going to a line number. 2006-07-03 Enrico Tröger * doc/Makefile.am: Fixed wrong dependency in target 'install'. 2006-07-02 Enrico Tröger * src/callbacks.c, src/msgwindow.c, src/utils.c: Improved "Find usage", so it displays not "null" for unsaved files in the results, and unsaved file are also clickable. * geany.glade, src/interface.c, src/geany.h, src/keyfile.c, src/prefs.c, src/dialogs.c, src/main.c: Little redesign of the preferences dialog. New options for setting the placement of notebook tabs. * doc/Makefile.am: Minor improvements. * src/keyfile.c, src/geany.h, src/prefs.c, src/vte.c, src/callbacks.c, src/dialogs.c: Added option to disable the VTE follows path feature. * THANKS, configure.in, src/about.c: Added new Portuguese translation. 2006-07-02 Nick Treleaven * src/callbacks.c: For Find Usage, ignore unnamed files. 2006-07-01 Enrico Tröger * src/document.c, src/keybindings.c: Added shortcut for Select All. * src/main.c: Deiconify the main window when a new file is opened from the named pipe. * src/geany.h, src/keyfile.c: Moved some default values to geany.h. * doc/geany.docbook.c, doc/html/*: Added documentation for indicators and printing support. Updated keybindings actions and compile time options. 2006-07-01 Nick Treleaven * src/notebook.c: Don't prevent notebook tab focus because this disables the notebook arrows. * src/callbacks.c: Prevent a segfault if the VTE has not been loaded. * src/utils.c, src/utils.h, src/msgwindow.c: Add utils_get_current_time_string and fix getting the time string. * src/utils.c, src/utils.h, src/callbacks.c: Fix a segfault on Go to tag defn/decl if no files have tags. Add utils_find_tm_tag. * src/keyfile.c: Save the toolbar icon size when quitting. Set large toolbar icons by default. * src/keyfile.c: Use the user settings for toolbar icon size & style. 2006-06-30 Enrico Tröger * src/vte.c, src/callbacks.c: Change the path in the VTE widget when switching between files according to the path of the current file. Process the switch_page callback only once. * src/callbacks.c: Finally fixed the second call of the switch_page callback. * geany.glade, src/interface.c, src/callbacks.c, src/sci_wrappers.c: Added "Select All" menu item. * geany.glade, src/interface.c, src/document.c, src/sci_wrappers.c, src/prefs.c, src/geany.h: Improved settings for the long line marker, it can now be easily disabled or set to highlight the background of too long lines. 2006-06-29 Nick Treleaven * src/utils.c, src/utils.h, src/win32.c, src/callbacks.c, src/document.c, src/prefs.c: Apply fonts in Preferences when they are set and only if they have changed. Rename utils_set_font to utils_set_editor_font. 2006-06-29 Enrico Tröger * src/geany.h, src/build.c, src/callbacks.c, src/keyfile.c, src/utils.c, src/prefs.c: Renamed tools settings from build_* in tools_*. * src/main.c: Ignore SIGPIPE to prevent crashes when running external programs. * src/geany.h, src/dialogs.c, src/callbacks.c, src/keyfile.c, src/utils.c, src/prefs.c, geany.glade, src/interface.c, src/keybindings.c, src/document.c: Implemented simple printing support. * src/utils.c: Added function is_opening_brace(). * src/sci_cb.c: Use is_opening_brace() for better handling of calltips. * src/callbacks.c: Create a new tm_source_file object if a file is renamed, otherwise tagmanager won't work correctly. 2006-06-28 Enrico Tröger * src/utils.c, src/keyfile.c: Fixed weird behaviour of the recent files list. * src/document.c: Fixed a small typo. Skip converting from UTF-8 in UTF-8 when saving. Show an error messages dialog if the conversion into an encoding failed. 2006-06-27 Enrico Troeger * data/filetypes.php, data/filetypes.pascal, src/callbacks.c, src/build.c: Parse stdout of compiler output too. * src/utils.c, data/filetypes.latex: Add support for parsing compiler output for LaTeX with latex's --file-line-error-style command line argument. Removed unneeded function utils_free_ptr_array(). * src/sci_cb.c: Fixed a crash when auto completion or call tips are used if no filetype was set. Added some sanity checks. 2006-06-27 Nick Treleaven * src/geany.h, src/keyfile.c: Add recent files items in the same order as they were saved. Remove app->recent_files and use g_strfreev in keyfile.c. * src/utils.c, src/utils.h, src/msgwindow.c: Make Status messages override the document statistics using utils_set_statusbar; don't use a fixed buffer for statistics. 2006-06-26 Enrico Troeger * src/sci_cb.c: Fixed broken auto completion for switch(). * src/document.c: Reload also the symbol list when reloading a file. * src/treeviews.c: Changed some titles to plural. Added own definitions for filetype Python. * src/filetypes.c, tagmanager/make.c: Add mk pattern for Makefile. * tagmanager/tm_source_file.c: Fixed bug which prevented tag creation for the first opened file. * src/document.c, src/callbacks.c: Removed unused code. * tagmanager/sh.c: Fixed missing tags beginning with underscore. * tagmanager/get.c: Fixed problem in preprocessor directive handling. * tagmanager/c.c: Fixed identification of prototypes of functions returning wchar_t * without the extern keyword. 2006-06-26 Nick Treleaven * src/document.c: Fix a possible segfault on quitting caused by processing GTK messages before status messages. 2006-06-25 Enrico Troeger * README, doc/geany.docbook: Added license notice Scintilla. * src/callbacks.c, src/keybindings.c: Remember the active page when toggling the sidebar. Simplified code for toggling messages window. * tagmanager/tm_tag.c, tagmanager/tm_workspace.c: Fixed wrong line numbers for found tags. 2006-06-25 Nick Treleaven * src/notebook.c, src/notebook.h, src/document.c, src/callbacks.c, src/callbacks.h: Enable drag reordering of tabs for GTK+2.8, and a temporary workaround for GTK+2.6. Add notebook_new_tab and update document_create_new_sci to use it; also remove on_tab_close_clicked. * src/notebook.c: Fix close tab button bug introduced in last commit. * src/callbacks.c, src/utils.c: Add clipboard functionality for find and go to line widgets, and Scribble widget. 2006-06-24 Enrico Troeger * src/utils.c: Replaced 'blank' by 'include "..."'. Fixed a bug in utils_brace_match() which prevents correctly matching. * src/document.c, src/sci_cb.c, src/filetypes.c: Made auto completion work only for the current filetype (i.e. it hides symbols from other filetypes). * tagmanager/options.c, tagmanager/parse.c: Removed unneeded code. * tagmanager/tm_workspace.c, tagmanager/tm_source_file tagmanager/tm_tag.c, tagmanager/tm_project, tagmanager/parsers.h, tagmanager/tm_file_entry.c, tagmanager/entry.c, src/highlighting.c, data/latex.tags, data/php.tags, Makefile.am: Added global auto completion tags for PHP and LaTeX. * src/keybindings.c, src/callbacks.c, src/sci_cb.c, src/main.c, src/geany.h, src/dialogs.c: Added some sanity checks to prevent crashes. * src/sci_cb.c, src/highlighting.c: Removed URL highlighting code(useless feature, never was enabled). * src/treeviews.c: Set policy settings for the scolledwindow. * scintilla/License.txt, scintilla/Makefile.am, doc/Makefile.am: Added Scintilla license file. 2006-06-23 Nick Treleaven * src/msgwindow.c: Add a timestamp to messages in the Status window (closes request #1509908). 2006-06-22 Enrico Troeger * src/utils.c: Reorganised C include file items, added C++ headers. * src/callbacks.c: Insert include statements and comment templates at mouse pointer position instead of cursor position. 2006-06-21 Enrico Troeger * src/keybindings.c: Added missing shortcut for "Close". * geany.glade, src/interface.c, src/prefs.c, src/keyfile.c, src/document.c, src/dialogs.c, src/encodings.h: Added option in the preferences dialog to replace tabs by spaces when saving a file. Added option for default encoding for new files. * scintilla/*: Updated Scintilla to version 1.70. 2006-06-20 Nick Treleaven * src/utils.c, src/utils.h, src/callbacks.c, src/document.c, src/document.h: Go back to the same line when reloading. Fix start selection bug when clicking in the current file if it has changed. * src/msgwindow.c, src/document.c: Also show status messages on the status bar. 2006-06-19 Enrico Troeger * THANKS, src/about.c: Added translator credits. * src/callbacks.c, src/encodings.c, src/utils.c, src/document.c, geany.glade, src/interface.c: Implemented encoding support to switch between different encodings. 2006-06-19 Frank Lanitz * configure.in: Added Spanish translation. More info at po/ChangeLog. 2006-06-19 Nick Treleaven * src/build.c, src/utils.c, src/utils.h, src/callbacks.c: Don't open files or go to errors automatically whilst compiling. Rename utils_goto_workspace_tag to utils_goto_file_line. 2006-06-18 Enrico Troeger * src/keybindings.c: Fixed a segfault when pressing shortcut for "Find Usage" and there is no open file. * src/dialogs.c: Removed unneeded label padding. 2006-06-18 Nick Treleaven * src/dialogs.c: Make Keyboard shortcuts dialog scrollable. * src/interface.c, geany.glade: Set toolbar button Compile text, Execute icon and insert separators before Quit and before Revert, Close. Move popup item Goto definition above declaration (used more often). Move recent files menu up to Open item. In prefs use 'Recent files' instead of 'MRU'. Correct indentation spelling. * src/keybindings.c: Show shortcut keys for Undo/Redo and popup items. * src/keybindings.c, src/geany.h, src/callbacks.c, src/sci_cb.c, src/callbacks.h: Use correct current_word buffer for popup menu item keybindings; also use GEANY_MAX_WORD_LENGTH. 2006-06-17 Nick Treleaven * src/keybindings.c, src/sciwrappers.c, src/sciwrappers.h, doc/geany.docbook: Made Duplicate Line command duplicate selection if present. * src/highlighting.c: Fixed styling for unmatched braces. * src/keybindings.h, doc/geany.docbook: Group toggle sidebar keybinding with toggle messages. * src/keybindings.c: Set keyboard shortcuts for switching tab pages. * src/keybindings.c, src/keybindings.h: Add keybindings for Find Usage, Go to definition/declaration, based on the current cursor position. * src/utils.c: Ensure null termination in utils_find_current_word. 2006-06-16 Enrico Troeger * src/build.c: Delete all indicators when starting a new compilation. * src/highlighting.c, data/filetypes.common: Added keys for linenumber and folding margin, added key for inverting all colours(if you like dark background). 2006-06-16 Nick Treleaven * src/notebook.c, src/notebook.h, src/main.c, src/Makefile.am: Added currently disabled drag reordering of notebook tabs. * src/callbacks.c: Execute: only save file if the run command uses it. * src/templates.c, src/templates.h, src/utils.c, src/utils.h, src/callbacks.c: Cache the current function name for efficiency in utils_get_current_function, other related fixes. * src/geany.h, src/callbacks.c, src/prefs.c, src/dialogs.c: src/main.c: Don't include keybindings.h in geany.h. 2006-06-15 Enrico Troeger * src/utils.c: Fixed a bug at opening files when clicking on compiler error messages(thanks Yura Semashko). * doc/Makefile.am: Fixed a bug which breaks "make install" when xmlto is not installed. 2006-06-13 Enrico Troeger * doc/Makefile.am: Renamed target html/index.html in htmldoc, added geany.xsl to EXTRA_DIST. * doc/geany.docbook: Removed appendix for keybindings, updated section keybindings to new action identifiers. * src/utils.c: Improved and finished switching between files when clicking on compiler error messages. * src/sciwrappers.c, src/document.c, src/highlighting.c, src/build.c, src/keyfile.c, src/prefs.c, src/interface.c, geany.glade, src/geany.h: Implemented code for setting indicators while compiling. 2006-06-12 Enrico Troeger * THANKS, src/about.c: Added translator credits. * src/main.c: Defined N_() again, so command line args are really translatable. * geany.glade, src/interface.c: Added missing mnemonic to build menu item. 2006-06-12 Frank Lanitz * configure.in: Added Belarusian and Russian language support. More Information at po/ChangeLog 2006-06-11 Enrico Troeger * geany.glade, src/interface.c: Added some mnemonics in the file menu. * src/highlighting.c: Replaced "/" by G_DIR_SEPARATOR_S. * src/utils.c: Fixed an issue, which let the build menu item insensitive once a new file w/o template was opened. * src/document.c: Fixed a segfault in document_find_by_filename(). * src/geany.h, src/callbacks.c, src/main.c: Improved the handling of GIOChannels(for named pipes), ensure they are closed in a proper way. * src/document.c: document_open_file() returns the index of the opened file. * src/utils.c: Open or switch to files when clicking on compiler error messages and the error message mentions another file than the opened one. 2006-06-10 Enrico Troeger * src/main.c: Made command line options translatable, hide compiler message treeview under Win32. * src/filetypes.c: Added additional patterns to detect configure scripts as Shell scripts. * src/dialogs.c: Made preferences dialog transient for the main window 2006-06-08 Enrico Troeger * src/keybindings.c, src/prefs.c, src/dialogs.c: Added labels for each defined shortcut to have a nicer representation in the dialogs. * geany.desktop.in: Removed duplicate entry for Encoding, now desktop-file-validate processes with no errors. * configure.in, doc/geany.1.in: Renamed geany.1 to geany.1.in to let it be processed by configure. Added GEANY_DATA_DIR to configure.in. * doc/Makefile.am, doc/geany.xsl: Removed unneeded code for generating geany.1. Added man_MANS to get installed the manpage. Changed build command for HTML documentation. Added new file doc/geany.xsl. * geany.spec.in: Some improvements, corrected download URL. * src/prefs.c: Hide make and terminal settings under Windows. 2006-06-07 Nick Treleaven * src/callbacks.c: Fixed segfault when inserting comments and no filetype is set. * src/callbacks.c, src/sciwrappers.c, src/sciwrappers.h: Use the character position under the mouse click for Go to definition/declaration and for overridden middle click text paste. * src/utils.c, src/utils.h, src/callbacks.c, src/document.c, src/document.h: Fix bug with Go to tag defn/decl when the filename is a link (TagManager dereferences linked filenames) 2006-06-06 Enrico Troeger * src/highlighting.c: Enabled folding for markup filetypes (HTML, XML, PHP, DocBook). * src/treeviews.c: Replaced "Members" by "Methods" to make it clearer. 2006-06-05 Nick Treleaven * doc/geany.docbook: Added save current file behaviour when building. * src/sci_cb.c: Fix empty white box glitch with tag autocompletion, also improves typing response efficiency. 2006-06-05 Enrico Troeger * src/dialog.c, src/callbacks.c: Added dialog to show defined keyboard shortcuts, this replaces the previous link to the documentation. * src/main.c, src/document.c: Fixed wrong setting of filetype when using "All files" as filetype. * src/dialogs.c: Fixed compiler warning "not enough variable arguments to fit a sentinel". 2006-06-04 Enrico Troeger * README, NEWS: updated for Geany 0.7 * src/keybindings.c: Changed default keybinding for menu_replace to Ctrl+E. * new release: Geany 0.7 "Ravik" * configure.in: Fixed svn detection code, changed version to 0.8. 2006-06-03 Enrico Troeger * src/sci_cb.c: Fixed bug in auto completion of constructs. * doc/geany.docbook: Added documentation for filetype definition files and definable keyboard shortcuts. 2006-06-03 Nick Treleaven * doc/geany.docbook: More minor corrections/rewording. Added Build System section. Some corrections to the Filetypes section. 2006-06-02 Enrico Troeger * src/highlighting.c, data/filetypes.css: improved colouring * src/utils.c: Added some sanity checks if filetype is NULL. * src/utils.c: Corrected readme text for filedefs/filetypes.README. 2006-06-02 Nick Treleaven * src/dialogs.c: Fix dialog path warnings for command-line files. * src/callbacks.c: Fix Go to tag declaration/definition. * tagmanager/docbook.c: Fix a segfault with missing id in element. * doc/geany.docbook: Minor changes to chapter 1. 2006-05-31 Nick Treleaven * scintilla/PlatGTK.cxx: Backport a Scintilla fix for crashes with recent GTK+ font issue. * src/keyfile.c: Discard old session files also for unsaved documents. 2006-05-30 Nick Treleaven * src/keyfile.c, src/sciwrappers.c, src/sciwrappers.h, src/document.c: Scroll session files in view after all resizing of the Scintilla widget and rename sci_scroll_to_line. * data/filetypes.pascal: Updated identifier styling as highlighting.c. 2006-05-30 Enrico Troeger * src/dialogs.c, src/main.c: Removed unneeded function dialogs_show_fifo_error(), fixed small memory leak in dialogs_show_question() * src/utils.c: Fixed a wrong(non ISO-C) array size allocation, improved utils_replace_tabs(). * src/keybindings.c: Added shortcut for Replace Tabs by Space, extend usage of GEANY_ADD_ACCEL macro. * src/prefs.c: Detect duplicate shortcuts and prevent saving them. * tagmanager/css.c: Fixed a crash when opening malformed CSS files. 2006-05-29 Enrico Troeger * src/about.c: Added Jacek Wolszczak and Frank Lanitz to the credits. 2006-05-28 Enrico Troeger * configure.in, po/pl.po: Added Polish translation contributed by Jacek Wolszczak. * src/dialogs.c, src/utils.c: Made recent files menu item insensitive when the list is empty. 2006-05-26 Nick Treleaven * src/interface.c, src/callbacks.c, src/callbacks.h, geany.glade: Fixed nasty hang when closing a tab and both the next tab and the first tab files have been externally modified. * src/dialogs.c: Add mnemonics to Replace dialog buttons, reorder. * src/document.c: Fix incremental find and replace of back to back matches. 2006-05-25 Nick Treleaven * src/document.c: On loading use SCI_SETTEXT instead of SCI_ADDTEXT to avoid Scintilla text changed signal. * src/callbacks.c, src/document.c, src/document.h: Make Replace in selection non-incremental and use single Undo blocks for this and for Replace All. 2006-05-24 Nick Treleaven * src/keybindings.c, src/keybindings.h: Add shortcuts for Find Previous, Go to line * src/keybindings.c: Set shortcut for Replace and split keybindings_init code 2006-05-23 Nick Treleaven * src/utils.c: check if file has been closed in utils_goto_workspace_tag * src/interface.c, src/callbacks.c, src/callbacks.h, geany.glade: created Search menubar item with Find items from Edit menu, added Find Previous and Go to line commands * src/vte.c: remove vte middle click override to allow X paste and update popup preferences item for Terminal tab number 2006-05-22 Nick Treleaven * src/callbacks.c, src/templates.c: insert the file type extension and fix a warning when inserting a fileheader in a new document 2006-05-22 Enrico Troeger * src/keybindings.c, src/utils.c: improved toggle visibility of sidebar when toggled by keyboard 2006-05-21 Enrico Troeger * src/keybindings.c: added menu_messagewindow and toggle_sidebar shortcuts * src/highlighting.c, data/filetypes.c, data/filetypes.cpp: added option to disable styling within preprocessor directives * src/dialogs.c, src/about.c, src/callbacks.c, configure.in: rewrote about dialog to reduce code size, added subversion revision * src/vte.c: declared some functions static * src/dialogs.c: do not create VTE settings in the preferences dialog if VTE is disabled at runtime * geany.glade, src/interface.c, src/callbacks.c, src/keyfile.c, src/main.c, src/prefs.c: added option to disable load of VTE at startup * src/highlighting.c, src/utils.c: applied sanity check patch from Pierre(posted on mailing list) 2006-05-20 Nick Treleaven * src/dialogs.c: fix pressing enter to open more than one file in the open file dialog * src/sci_cb.c: fix a segfault when commenting out lines with ctrl-d when no filetype is set * src/utils.c: fix a segfault clicking on a compile error if the compiled file has been closed 2006-05-19 Enrico Troeger * src/sci_cb.c: fix a small bug in sci_cb_show_calltip() to prevent an endless loop * src/keybindings.c, src/dialogs.c, src/callbacks.c, src/main.c, src/Makefile.am, src/geany.h, src/prefs.c, geany.glade: make keyboard shortcuts user-definable * src/document.c, src/utils.c: fixed a crash when clicking on the run button and no file is opened 2006-05-17 Enrico Troeger * src/utils.c: added code for creation of filedefs subdirectory * src/document.c: fixed compiler warning * src/keyfile.c: removed obsolete and commented code 2006-05-16 Enrico Troeger * tagmanager/Makefile.am, tagmanager/tcl.c, tagmanager/parsers.h, scintilla/Makefile.am, scintilla/LexTCL.cxx, scintilla/KeyWords.cxx, src/filetypes.c, src/highlighting.c, data/filetypes.tcl: new filetype Tcl/Tk * src/sci_cb.c: enabled autocompletion for all filetypes (fine tuning still needed) * src/document.c: removed mmap()-code, use at the moment only g_file_get_contents, fixed memory leak * scintilla/ScintillaGTK.cxx: updated to CVS version * data/filetypes.*: quoted filename wildcards for filenames with whitespace 2006-05-15 Enrico Troeger * src/utils.c, src/callbacks.c: added previously code to prevent opening of non-text files, fixed detection of C++-destructors and other improvements in utils_get_current_tag() 2006-05-14 Enrico Troeger * configure.in, po/ca.po, THANKS, src/dialogs.c: added catalan translation contributed by Topi * data/filetypes.php, data/filetypes.perl, data/filetypes.ruby, data/filetypes.pascal, src/utils.c: added compiler commands to run a syntax check and parse the output, so it is clickable in compiler message window 2006-05-12 Enrico Troeger * src/utils.c. src/callbacks.c: added code for parsing python error messages when clicked in compiler message window * tagmanager/ruby.c, src/treeviews.c: improved parser to detect variables and members * src/highlighting.c, data/filetypes.ruby: added missing keywords 2006-05-11 Enrico Troeger * src/utils.c: show appropriate error code when use(i.e. write access) of configuration directory fails * src/highlighting.c, src/filetypes.c: read the filetype definitions first from the configuration directory and then from the datadir (%prefix/share/geany) 2006-05-10 Enrico Troeger * src/document.c, src/filetypes.c, src/templates.c, src/callbacks.c: added template support for filetypes with comment character #, updated GPL to the current address of the FSF * tagmanager/python.c: fixed wrong identification of keyword class in ''' comments * tagmanager/parse.c, tagmanager/python.c: added code from anjuta to parse methods and functions separately * tagmanager/ruby.c: applied patch from ctags Sourceforge site to recognise things like Foo::Bar (ctags #1213512) * tagmanager/perl.c, src/treeviews.c: improved symbol list for filetype Perl, improved parser * src/document.c, src/callbacks.c: improved tag list updating, should be a bit faster on opening files 2006-05-09 Enrico Troeger * scintilla/ScintillaGTK.cxx: fixed encoding problem which causes many problems with non-Ascii characters * src/document.c: fixed a strange segfault at creating new file tabs 2006-05-08 Enrico Troeger * src/callbacks.c: save current file if it is executed (e.g. shell scripts) * src/highlighting.c: fixed a typo which prevented highlighting of variables in Perl * src/filetypes.c, tagmanager/Makefile.am, tagmanager/parsers.h, tagmanager/css.c: added parser for CSS filetype * tagmanager/ruby.c, tagmanager/Makefile.am, tagmanager/parsers.h, scintilla/LexRuby.cxx, scintilla/Makefile.am, scintilla/KeyWords.cxx src/filetypes.c, src/highlighting.c: added new filetype Ruby 2006-05-05 Enrico Troeger * src/callbacks.c: fix a crash when clicking in the compiler output * src/dialogs.c: improved file permission display if they cannot be read (e.g. on Windows) 2006-05-03 Enrico Troeger * src/win.c, src/utils.c, src/highlighting.c: moved my_strtod() from win32.c to utils.c, use it always, not only on Win32 systems 2006-05-01 Enrico Troeger * data/filetypes.perl: added two compiler commands * data/filetypes.cpp, src/highlighting.c: added some C++ keywords * src/sci_cb.c: added try-catch-auto completion 2006-04-30 Enrico Troeger * src/main.c: fixed a crash when starting Geany without debug messages * sci_cb.c: fixed a small issue when dragging files to Geany * new release: Geany 0.6 "Nivers" 2006-04-29 Enrico Troeger * src/keyfile.c, src/callbacks.c: applied two patches from Nick Treleaven to fix invalid memory read and improve the ordering of file tabs while loading session files * src/vte.c: applied patch from Nick Treleaven to improve removing the vte widget, fixed also a bug with disappearing scrollbars 2006-04-28 Enrico Troeger * src/treeviews.c, src/msgwindow.c: disabled interactive search function since it never worked and is unnecessary and confusing * src/utils.c: added small check for NULL pointer * src/document.c: fixed some inconsistency with the read only check box in the file menu 2006-04-27 Enrico Troeger * src/callbacks.c: improved key press handling to avoid that cursor rans out of editor widget when pressing F8 * src/sciwrappers.c: applied two little patches from Nick Treleaven * tagmanager/tex.c: fixed naming of the parser to get recognised again for parsing LaTeX files 2006-04-26 Enrico Troeger * src/document.c: applied patch from Nick Treleaven to right-align the close buttons on each tab, reload the symbol list at reloading a file * src/dialogs.c, src/callbacks.c: applied patch from Nick Treleaven which improves the file open dialog, make it more compact, replaced read-only checkbox by a button, fixed memory leak * src/sci_cb.c: applied patch from Nick Treleaven to fix a small bug in auto commenting lines with CTRL+D * src/document.c: applied patch from Nick Treleaven to switch to the new opened tab if placement of new file tabs is set to Right * src/utils.c: applied patch from Nick Treleaven to fix a bug in utils_get_current_tag() with C++ methods 2006-04-25 Enrico Troeger * src/sci_cb.c: added support for complete do while loops * src/highlighting.c, data/filetypes.cpp: added keywords this, public, private and protected * scintilla/ScintillaGTK.cxx, scintilla/PlatGTK.cxx: applied patches from John Ehresmann (posted on the Scintilla ML) * src/dialogs.c: improved the file properties dialog * src/gb.c: translated comments into English and fixed some bugs 2006-04-24 Enrico Troeger * src/main.c, src/geany.h: removed unneeded time variables 2006-04-23 Enrico Troeger * scintilla/LexBash.cxx: fixed crash when typing "\" as last character in a bash file (patch from Scintilla ML) 2006-04-20 Enrico Troeger * geany.glade, src/keyfile.c, src/document.c, src/interface.c src/prefs.c, src/geany.h: added option to place new file tabs to the right or left of the tab list * src/utils.c, src/keyfile.c, src/prefs.c, src/build.c, src/vte.c, src/filetypes.c: replaced lots of g_new() by g_new0() * src/dialogs.c: at saving a new file, the extension of the file is guessed based on the default extension in filetypes.c * src/build.c, src/msgwindow.c: improved scrolling of compiler messages at building * src/build.c, src/dialogs.c, src/callbacks.c: rewrote most of the building code, get compiler settings from filetype definition files, handle non-UTF8 filenames better and much more things 2006-04-18 Enrico Troeger * src/geany.h, src/keyfile.c, src/utils.c: added option to match < and > to, but disabled by default 2006-04-09 Enrico Troeger * src/sci_cb.c: added handler for dragged file URIs in the editor widget, so they will get opened 2006-04-07 Enrico Troeger * src/dialogs.c: now the file save dialog returns when pressing Enter, too, also fixed a bug if path of current file contains non-UTF8 characters, added question dialog, to ask for various things, so removed dialogs_show_confirm_exit() * src/callbacks.c: added a check for overwriting files when using file save dialog * src/document.c: default charset encoding for new files is set to UTF-8 * src/highlighting.c, data/filestypes.common: added setting folding_style to define the style of the folding icons 2006-04-06 Enrico Troeger * src/build.c: fixed some errors with non-UTF8 filenames and paths * bugfix: src/dialogs.c: fixed an error when changing the current directory in the file open dialog and the path contains non-UTF8 characters * src/document.c: removed useless for loop in document_set_filetype 2006-04-05 Enrico Troeger * bugfix: src/document.c: fixed a segfault when opening a file and filename is NULL 2006-04-04 Enrico Troeger * bugfix: src/callbacks.c: fixed potentially segfault when opening a file from the recent file menu 2006-04-03 Enrico Troeger * src/vte.c: applied three patches from Nick Treleaven to improve usage of the VTE component 2006-04-01 Enrico Troeger * tagmanager/general.h: added inclusion of unistd.h to avoid compile errors on MacOSX * src/document.c: fixed memory allocation while opening files, so that empty files (size = 0 byte) can also be opened 2006-03-29 Enrico Troeger * geany.glade, src/interface.c: let the editor widget also be resized, so resizing the main window is nicer * src/keyfile.c, src/main.c: moved some code from configuration_open_files to configuration_apply_settings, because configuration_open_files is not called every time 2006-03-28 Enrico Troeger * src/utils.c, src/sci_cb.c, src/callbacks.c: applied patch from Nick Treleaven to avoid segmentation faults on long words(>120 characters) * src/main.c, src/sci_cb.c: applied patch from Nick Treleaven to fix a possible segmentation fault 2006-03-22 Enrico Troeger * src/utils.c: added error messages to utils_write_file() * src/keyfile.c: rewrote the code for reading the session files 2006-03-19 Enrico Troeger * src/highlighting.c, src/sci_cb.c, data/filetypes.*: added definable comment characters to all filetypes 2006-03-18 Enrico Troeger * src/highlighting.c, data/filetypes.*: added wordchars key to all filetypes * src/main.c: improved reading and writing of the named pipe, so Geany does not go into in an endless loop after opening a file 2006-03-17 Enrico Troeger * bugfix: src/sci_cb.c: typing } on lines longer than 256 chars caused a crash (segfault) * src/dialogs.c, src/callbacks.c, src/interface.c, geany.glade: moved VTE settings tab code in the preferences dialog to dialogs.c, so this code will not be compiled if HAVE_VTE is unset 2006-03-15 Enrico Troeger * src/geany.h, src/main.c, src/keyfile.c: added GEANY_WINDOW_MINIMAL_WIDTH, GEANY_WINDOW_MINIMAL_HEIGHT, GEANY_WINDOW_DEFAULT_WIDTH, GEANY_WINDOW_DEFAULT_HEIGHT to make it easier to changed these defaults 2006-03-14 Enrico Troeger * src/callbacks.c: added check for existing documentation, otherwise try online documentation 2006-03-11 Enrico Troeger * geany.glade, src/interface.c, src/main.c: set minimal size to 620x440, default size to 900x600, added command line option -m or --no-msgwin to disable message window at startup * doc/geany.docbook: added description for -m option 2006-03-10 Enrico Troeger * src/callbacks.c: applied patch from Nick Treleaven to allow reclicking of taglist treeview item * src/keyfile.c: fixed small error which adds every time a new comment in the filetype extensions configuration file * data/filetypes.*, src/highlighting.c: added italic flag to all styles, added background colour for current line * src/dialogs.c, src/sciwrappers.c: applied patch from Nick Treleaven which improved inserting of current selection in the find and replace dialogs * src/filetypes.c: added new extensions for filetype Pascal * src/data/filetypes.conf, src/highlighting.c: added "key" and edited colours for changed lexer * scintilla/*: updated Scintilla to version 1.68 2006-03-09 Enrico Troeger * data/filetypes.pascal: added new keywords supplied by Marko Peric * src/highlighting.c: added support for // and (* ... *) comments in Pascal * src/utils.c, src/document.c: improved utils_check_disk_status() behaviour to work with files on filesystems with another time than the time from the local host 2006-03-02 Enrico Troeger * src/callbacks.c, src/build.c, src/geany.h: clicking on a compiler error message jumps to the correct file, if it is not the current one * src/dialogs.c: fixed crash when closing find or replace dialog twice by pressing escape (triggering the delete_event), closes #1441359 2006-02-27 Enrico Troeger * src/sci_cb.c: added auto completion in LaTeX mode for \begin 2006-02-26 Enrico Troeger * src/callbacks.c: removed unneeded destroyapp_early() * src/main.c, src/utils.c: improved configuration directory creation * src/sci_cb.c, src/highlighting.c, src/document.c, geany.glade, src/geany.h, src/interface.c, src/prefs.c, src/callbacks.c: implemented first version of rudimentary folding support, added goto line entry in the toolbar and made it hideable 2006-02-25 Enrico Troeger * src/keyfile.c: fixed memory leak, load filetype extensions from a file in the configuration directory, the filetype of a document is now also stored at loading and saving session files * src/filetypes.c: removed unneeded constant GEANY_MAX_PATTERNS 2006-02-24 Enrico Troeger * src/utils.c, src/callbacks.c, src/dialogs.c, src/main.c: made "make" build menu items sensitive for C header files * bugfix: src/vte.c: hopefully fixed a crash when closing the preferences dialog and message window was hidden and shown before 2006-02-21 Enrico Troeger * src/utils.c: added utils_make_human_readable_str() * src/dialogs.c: added file properties dialog * geany.glade, src/interface.c, src/callbacks.c, src/dialogs.c: moved font selection dialog from glade code to dialogs.c, removed unnecessary callback functions for delete_event's 2006-02-20 Enrico Troeger * src/callbacks.c: fixed bug when using color selector and no file is open, only fixed on some other actions * src/geany.h, src/main.c: disable menu functions of the edit menu when no files are open * src/main.c: added the possibility to delete an existing fifo in the case, that Geany crashed previously 2006-02-17 Enrico Troeger * src/gb.c: fixed bug which caused always same figures under Win32, some other code cleanups and changes * geany.glade, src/interface.c, src/callbacks.c, src/main.c: replaced the New toolbar button by a menu button, so it works also under Win32 * src/prefs.c: all settings are now saved by pressing OK in the settings dialog, up to now it was only done at exiting 2006-02-16 Enrico Troeger * src/main.c, callbacks.c, document.c: fixed some line breaking issues 2006-02-14 Enrico Troeger * Makefile.am, doc/Makefile.am: improved "make uninstall" of Geany * configure.in: added check for mkfifo(), made it also an option * src/main.c: added a message box if lost pipe was found, FIFO code now depends on HAVE_FIFO * src/Makefile.am: do not compile win32.c anymore, added to EXTRA_DIST * src/geany.h, src/main.c, src/callbacks.c: added command line option -p or --no-pipe to ignore a running instance of Geany and force opening a new instance 2006-02-13 Enrico Troeger * src/utils.c: added utils_show_linenumber_margin() * geany.glade, src/interface.c, src/callbacks.c, src/dialogs.c, src/main.c, src/geany.h, src/keyfile.c, src/sci_cb.c: removed some items from the document menu to the preferences dialog, removed file save dialog from interface.c to dialogs.c, added toggle for line numbers 2006-02-10 Enrico Troeger * scintilla/LexOMS.cxx, scintilla/keywords.cxx, scintilla/include/SciLexer.h, scintilla/Makefile.am: added new lexer LexOMS(based on LexBash) for OMS support * src/highlighting.c: added new filetype OMS (O-Matrix) * src/dialogs.c: improved the find and replace dialog, an existing selection is inserted, fixed focus settings * src/callbacks.c: prevent Geany entering an endless loop, at replacing something like "YELLOW" with "yellow", if search flag "Case sensitive" is not checked 2006-02-08 Enrico Troeger * src/main.c, src/callbacks.c, src/geany.h: Geany now creates a FIFO, to communicate between different instances 2006-02-07 Enrico Troeger * src/utils.c, src/callbacks.c, src/document.c: fixed a memory leaks * src/document.c: improved filename handling on saving files * src/callbacks.c: improved the filename entry widget in the file open dialog, it handles now directories, too 2006-02-06 Enrico Troeger * src/document.c: improved behaviour of HOME/END keys on wrapped lines * src/sciwrappers.c: added sci_assign_cmdkey() * geany.glade, src/interface.c, src/callbacks.c, src/dialogs.c: rewrite of the file open dialog, now it enters a directory instead of trying to open it in Geany (closes #1421776) * src/sci_cb.c: improved sci_cb_do_comment() to handle SQL and Caml comments * src/sciwrappers.c, src/sci_cb.c: applied patch from Nick Treleaven to improve multiline selection by selecting the lines in the line number margin, removed also the right click behaviour to set a marker * src/highlighting.c: added filetypes SQL and (O)Caml, heavily reduced code size * src/main.c: fixed wrong handling of the visibility of the message window * src/vte.c: fixed a crash when preferences are set and message window is hidden (thanks to Joo Martin for reporting) 2006-02-03 Enrico Troeger * src/document.c: improved filename handling in document_open_file(), fixed a crash at reloading files * src/main.c: fixed a crash when opening more than 25 files from the command line (closes #1422135) * src/sci_cb.c: improved sci_cb_do_comment() to handle CSS comments 2006-02-01 Enrico Troeger * src/build.c: applied patch from Nick Treleaven to fix memory leaks * src/document.c: changed * src/win32.c: set the Open File dialog directory to the same directory as the current file * src/utils.c: disabled the build menu under Win32, at least temporary * src/templates.c, doc/geany.docbook: added new wildcard {geanyversion} to have actual Geany version in filetype templates (e.g. HTML template) 2006-01-27 Enrico Troeger * new release: Geany 0.5 "Rebus" 2006-01-26 Enrico Troeger * src/utils.c, src/dialogs.c: set the Open File dialog directory to the same directory as the current file (thanks to Nick Treleaven for this patch) * src/sci_cb.c: fixed a bug with auto indention and CR/LF line endings (thanks to Tamim for reporting) 2006-01-21 Enrico Troeger * tagmanager/tex.c, src/treeviews.c: added tag support for "\begin", fixed gcc4 warnings * tagmanager/docbook.c: fixed gcc4 warnings * src/filetypes.c, src/document.c, src/keyfile.c: fixed some bugs when opening files with non UTF-8 filenames 2006-01-18 Enrico Troeger * src/callbacks.c: it is now possible to insert a function description (use right mouse button popup menu) without having the cursor inside the { and } of a function 2006-01-17 Enrico Troeger * src/sci_cb.c: fixed two auto indention bugs * geany.glade, src/interface.c: fixed incorrect size of Save as dialog 2006-01-16 Enrico Troeger * scintilla/*: updated Scintilla to version 1.67 * src/treeviews.c: added category class to the symbol list, changed category names for filetype DocBook and LaTeX * src/sci_cb.c: improved auto indention, now "for (...) {" works, too * configure.in: set prefix if it was not specified * geany.desktop.in: added GenericName[de] 2006-01-15 Enrico Troeger * configure.in, Makefile.am, desktop.in: replaced geany.desktop by geany.desktop.in, some changes to the desktop file like absolute icon path * tagmanager/tex.c: added tags section, subsection and subsubsection * tagmanager/docbook.c: complete rewrite, works great 2006-01-14 Enrico Troeger * bugfix: src/document.c, src/treeviews.c: update open file list entry when "Saving as" * bugfix: src/document.c: fixed wrong g_object_unref() which causes crashes * bugfix: src/geany.h, src/document.c, src/utils.c: fixed wrong symbol list in files with tag support but without exisiting symbols, added new boolean has_tags in document struct * src/geany.h, src/document.c, src/utils.c: removed unneeded utils_get_new_sci_number() and scid from document struct * src/treeviews.c, src/callbacks.c: added popup menu to symbol list, added "Hide" and "Hide sidebar" to symbol list popup and open files list popup, to quickly hide the list or the whole sidebar 2006-01-10 Enrico Troeger * bugfix: geany.glade, src/interface.c: added missing tooltip to compile button * src/filetypes.c: applied patch from Nick Treleaven, to add .cc, .hh and .hxx extension for filetype C++ and improve the pattern handling 2006-01-08 Enrico Troeger * tagmanager/docbook.c, tagmanager/parsers.h, tagmanager/Makefile.am: added conf.c(built from pascal.c), to create tags for docbook files * src/build.c, src/utils.c, src/main.c, src/callbacks.c: made the build menu filetype specific to have different menu items * bugfix: src/keyfile.c: save window geometry with gtk_window_get_position() so restoring the window works correctly under Win32, too 2006-01-06 Enrico Troeger * src/main.c, src/callbacks.c, src/vte.c, src/geany.h: added commandline option to specify the path to the VTE library 2006-01-03 Enrico Troeger * data/filetypes.markup, src/highlighting.c: added new keywords for PHP5 and replaced phpKeyWords by php (thanks to Simon Stoye for reporting) * geany.glade, src/interface.c, src/prefs.c, src/keyfile.c src/callbacks.c, src/document.c, src/build.c, src/sci_cb.c: added new option "Beep on errors" to disable beeping 2005-12-31 Enrico Troeger * src/gb.c: fixed segfault when exiting the easteregg program when it is still running * src/highlighting.c, src/win32.c: added my_strtod(), as replacement for Win32 strtod() 2005-12-29 Enrico Troeger * tagmanager/tm_tag.c: eliminated compiler (gcc4) warnings * bugfix: tagmanager/tm_workspace.c: replaced macro __unix__ by HAVE_GLOB_H(closes #1387828) and improved handling of P_tmpdir (closes #1387839) 2005-12-28 Enrico Troeger * bugfix: src/dialogs.c: fixed a segfault in dialogs_show_not_found() * bugfix: src/utils.c: fixed bug in utils_strpos() which returned -1 if length needle is 1 * src/utils.c: added utils_treeviews_showhide(), to get the right settings at startup for the left side treeviews * src/gb.c: eliminated compiler(gcc4) warnings, replaced macro __unix__ by HAVE_FCNTL_H, use /dev/urandom or /dev/random (in this order) if available and rand() if not * src/configure.in: added checks for /dev/urandom and /dev/random 2005-12-25 Enrico Troeger * src/dialogs.c: text entry field in the find and replace dialog grabs focus by default, so the cursor is always inside 2005-12-19 Enrico Troeger * new release: Geany 0.4 "Tarkin" * src/gb.c: several improvements and bugfixes * src/prefs.c, src/callbacks.c: improved HAVE_VTE handling * src/sci_cb.c: set cursor position between brackets in sci_cb_auto_close_bracket() 2005-12-18 Enrico Troeger * src/callbacks.c: changed keyboard shortcut for rebuilding the symbol list, now it is Ctrl+Shift+R, Ctrl+R is now used reload the current file * src/callback.c, src/utils.c, src/document.c, src/treeviews.c, src/main.c, src/geany.h: made the symbol list document-oriented, so it has not to be generated on every notebook switch page event * src/geany.h, src/main.c, src/keyfile.c, src/callbacks.c: introduced opening_session_files, to suppress notebook switch page events at loading the files from the last session * geany.glade, src/interface.c, src/geany.h, src/callbacks.c: added new menu items: Help->Keyboard shortcuts and File->Revert 2005-12-16 Enrico Troeger * src/dialogs.c: changed "build with make" keyboard shortcut to Shift+F9 to avoid problems with window managers key bindings (thanks to Nick Treleaven for reporting) * src/about.c, src/gb.c: added a nice easteregg(type "geany" in the about dialog *g*) * src/vte.c: added popup menu for the VTE widget * bugfix: src/prefs.c: fixed crash when opening option dialog and VTE is disabled * geany.glade, src/interface.c, src/main.c, src/callbacks.c: removed unnecessary functions 2005-12-13 Enrico Troeger * src/sci_cb.c: added sci_cb_auto_close_bracket() to close { and [ brackets in LaTex-Mode (more could be added) 2005-12-12 Enrico Troeger * src/callbacks.c: changed key binding to switch between open documents from CTRL to ALT+Left/Right, so CTRL+Left/Right moves the cursor to word boundaries 2005-12-11 Enrico Troeger * src/callbacks.c: added shortcut F6 to switch to the VTE widget * doc/geany.docbook: described some of the compile time options in geany.h and marked filename with -tag. * src/interface.c, src/prefs.c, src/utils.c, src/callbacks.c, src/geany.h, src/documents.c: made length of MRU list changeable * bugfix: src/highlighting.c: fixed a wrong color value 2005-12-10 Enrico Troeger * src/prefs.c, src/vte.c, src/keyfile.c, src/utils.c, src/callbacks.c: many changes, adding color settings for VTE 2005-12-09 Enrico Troeger * geany.glade, src/utils.c, src/interface.c, src/callbacks.c, src/main.c, src/keyfile.c: removed symbol list combo box in the toolbar * src/treeviews.c, src/utils.c: heavily improved the tag list to categorise the tags in a tree 2005-12-08 Enrico Troeger * src/interface.c: added tooltip text for exit button * src/main.c: open a new file at startup if none is open * bugfix: src/keyfile.c: fixed a segfault when starting without a configuration dir 2005-12-06 Enrico Troeger * src/document.c, src/callbacks.c: diabled extended HOME and END key default behaviour due to many problems 2005-12-03 Enrico Troeger * src/filetypes.c, src/highlighting.c: added new filetype "Assembler" 2005-12-01 Enrico Troeger * src/document.c, src/callbacks.c: extending HOME and END key default behaviour, to jump back to previous cursor position if pressed again 2005-11-30 Enrico Troeger * src/keyfile.c, src/prefs.c, src/interface.c, src/vte.c: added some options for the VTE to the preferences dialog * bugfix: src/sci_cb.c: fixed a small bug by auto closing }-brackets * src/callbacks.c, src/main.c: added signal and handler for F12 key, pressed in the main widget 2005-11-28 Enrico Troeger * src/vte.c: added rudimentary clipboard support by pressing middle(paste) and right(copy) mouse button 2005-11-27 Enrico Troeger * src/vte.c/h: newly created: contains functions for the terminal emulator widget, which is loaded if libvte.so.4 is available * configure.in: added option --[en|dis]able-vte to disable vte support 2005-11-25 Enrico Troeger * scintilla/LexOthers.cxx: edited the properties lexer to colourize key=value pairs a bit nicer * tagmanager/parsers.h, tagmanager/conf.c, tagmanger/Makefile.am: added conf.c(built from make.c), to create tags for config files * src/utils.c, src/callbacks.c: rewrite untitled.extension after "Save As" in the file header 2005-11-24 Enrico Troeger * src/keyfile.c, src/interface.c, src/prefs.c, src/msgwindow.c: added new option "Switch to status message list" * src/keyfile.c: store the position of vpaned1 too(sizer between editor window and the status message list) * src/highlighting.c, src/filetypes.c: added new filetype "Conf" 2005-11-22 Enrico Troeger * bugfix: src/sci_cb.c: added missing / to the closing tr-tag in HTML table auto completion * src/sci_cb.c: disabled auto completion in HTML at writing pure CDATA 2005-11-21 Enrico Troeger * src/keyfile.c: store the position of hpaned1(sizer between editor window and the taglist) and load it if window positions are saved and restored * src/treeviews.c, src/callbacks.c: added special popup menu to the list of open files 2005-11-20 Enrico Troeger * new release: Geany 0.3 "Muzzer" * src/treeviews.c/h: newly created: contains functions for the taglist and open files treeviews on the left side * src/treeviews.c, src/callbacks.c: added an open files treeview, which represents all open files * src/interface.c: added a toolbar button to open the color chooser * bugfix: src/sci_cb.c: there was an error at the next line after closing a multiline comment in C/C++/Java 2005-11-18 Enrico Troeger * src/document.c: make a beep if a file could not be saved 2005-11-16 Enrico Troeger * bugfix: src/sci_cb.c: fixed a small bug that kills the current line if a } was added and there is no newline and there are no non-space characters on the line (thanks to Frank Lanitz for reporting) 2005-11-15 Enrico Troeger * src/callbacks.c: Save As add a recent opened file to the list, too 2005-11-14 Enrico Troeger * src/utils.c, src/callbacks.c: added shortcut for "walking" between open documents by pressing STRG+LEFT resp. STRG+RIGHT * src/templates.h, src/templates.c, src/document.c, src/filetypes.c: removed hardcoded filetype templates from filetypes.c and added them to templates.h/c 2005-11-12 Enrico Troeger * src/templates.c, src/interface.c, src/callbacks.c, src/prefs.c, src/keyfile.c, src/document.c, src/filetypes.c: removed GPL options(in the settings dialog, in the context menu for inserting comments like fileheader with GPL), now this is completly done within the fileheader template and the wildcard {gpl}, added also the first template for new file (filetype None) 2005-11-11 Enrico Troeger * bugfix: src/utils.c: fixed segfault if configuration directory could not created * src/dialogs.c, src/main.c, src/callbacks.c: added a error box which is shown if configuration directory could not created * bugfix: src/callbacks.c: fixed a bug which freezed Geany sometimes at exiting(thanks to Frank Lanitz for re- porting) 2005-11-09 Enrico Troeger * bugfix: src/filetypes.c: set correct filetype id for type C++, so template for new C++ file will work again (thanks to Frank Lanitz for reporting) 2005-11-06 Enrico Troeger * src/highlighting.c: added highlighting support for Python * src/highlighting.c: extracted all hardcoded styling definitions for all filetypes, so they can be easily edited by user in %PREFIX/%DATADIR/geany, a GUI interface is planned * src/main.c, src/highlighting.c: load global.tags file only if a file was opened * src/callbacks.c: added key combo: Shift+Space to explicitly suppress use of sci_cb_auto_forif() * Makefile.am: added data/ to be included in tarballs and get installed 2005-11-03 Enrico Troeger * src/interface.c, src/prefs.c: added long line marker settings to preferences dialog 2005-10-31 Enrico Troeger * src/callbacks.c, src/sciwrappers.c: reset the line number margin width at zooming in and out (thanks to Frank Lanitz for reporting) * src/dialogs.c, src/callbacks.c, src/document.c, src/keyfile.c: re-implemented recent files menu, this time in a useful way * bugfix: auto completion is working again 2005-10-30 Enrico Troeger * bugfix: src/filetypes.c: fixed the function pointer of filetype Tex to get the correct styling (thanks to Frank Lanitz for reporting) * src/document.c: reset the width of line number margin at saving * src/document.c, sciwrapper.c, geany.h, keyfile.c: added vertical line (by default at column 72) to mark long lines 2005-10-25 Enrico Troeger * new release: Geany 0.2 "Panaka" * configure.in, src/utils.c: added check for gethostname() and modified utils_get_hostname() appropriately * src/dialogs.c, src/interface.c: redesigned file open dialog to make it looks nicer 2005-10-24 Enrico Troeger * Makefile.am: added autogen.sh to EXTRA_DIST * scintilla/*: updated Scintilla to version 1.66 * bugfix: configure.in: added check for fgetpos(), so compilation with gcc 4 is possible * src/sci_cb.c: removed sci_cb_show_entity_list(), because it was unnecessary 2005-10-23 Enrico Troeger * doc/geany.docbook: added search information in section Usage * src/utils.c: bugfix: check_disk_status should now work better * src/callbacks.c, src/dialogs.c, src/document.c, src/sci_wrappers.c, interface.c: created "Replace" dialog with Replace, Replace All and Replace Selection, also improved the Find dialog a little bit * src/callbacks.c, src/interface.c: added "show hidden files" checkbox in file open dialog 2005-10-22 Enrico Troeger * src/callbacks.c, src/dialogs.c, src/document.c: heavily improved find dialog * src/sci_cb.c: added simple
-completion in HTML-mode * src/callbacks.c, src/interface.c, src/main.c, src/keyfile.c: added toolbar popup entries for toolbar icon size * src/dialogs.c, src/images.c: removed compile icon and replaced it by the GTK stock icon "convert" 2005-10-21 Enrico Troeger * src/callbacks.c, src/interface.c, src/document.c, src/sciwrappers.c: added read-only mode (and checkbox in file open dialog) added also text entry in file open dialog to enter directly filenames * doc/geany.docbook: added startup information in section General * src/callbacks.c, src/interface.c, src/keyfile.c: added "Recent files" list to the file menu * src/build.c: at linking a file(C and C++): if source is newer than a existing object file, it is rebuilt * bugfix: src/build.c: compiling a file without any special arguments didn't work 2005-10-20 Enrico Troeger * src/Makefile.am: EXTRA_DIST entry added, to include images.c (thanks to Frank Boehme for reporting of missing file) 2005-10-19 Enrico Troeger * first release - Geany 0.1 "Freyborn"