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-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_uitls.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. *** See ChangeLog.pre-0-17 for earlier changes ***