Fetching contributors…
Cannot retrieve contributors at this time
12807 lines (9494 sloc) 488 KB
2009-02-15 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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, Rotate ChangeLog.
2009-02-14 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* doc/plugins.dox:
Add a plugin howto to the plugin API docs, written by Frank.
2009-02-13 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <frank(at)frank(dot)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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
2009-02-02 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/plugins.c:
Fix wrong Help button sensitiveness in the plugin manager dialog.
2009-02-01 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* src/plugins.c, src/plugindata.h, src/utils.c, plugins/filebrowser.c,
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
2009-01-29 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
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 <enrico(dot)troeger(at)uvena(dot)de>
* src/document.c:
Set the documents' mtime field properly for checking disk file
* 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
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/interface.c,
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 <frank(at)frank(dot)uvena(dot)de>
* po/cs.po, THANKS: Update of Czech translation. Thanks to Karel Kolman
for providing.
2009-01-24 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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,, 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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/search.c:
Refactor with create_replace_dialog().
* src/search.c:
Reorder replace dialog 'replace all' buttons.
2009-01-21 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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,
Add dialogs_show_input_numeric() to the plugins API.
2009-01-20 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/interface.c, src/ui_utils.h, src/prefs.c, src/plugindata.h,
src/treeviews.c, src/keyfile.c,
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 <frank(at)frank(dot)uvena(dot)de>
* src/utils.c: Added a missing g_free().
2009-01-18 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* data/filetype_extensions.conf, data/filetypes.oms,
scintilla/include/SciLexer.h, scintilla/include/Scintilla.iface,
scintilla/KeyWords.cxx, scintilla/LexOMS.cxx, scintilla/,
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 <enrico(dot)troeger(at)uvena(dot)de>
* 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
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.
*, geany.nsi, data/c99.tags, data/global.tags,
doc/geany.html, doc/geany.txt, scripts/,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/project.c, src/keyfile.c:
Prevent type-punned pointer warnings with gcc 4.1.
2009-01-15 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/main.c, doc/geany.txt, doc/geany.html, doc/
Rename command line option --debug to --verbose.
Change short form of --version from -v to -V.
*, 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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/,
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
* 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.
*, 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 <nick(dot)treleaven(at)btinternet(dot)com>
* data/filetypes.vala:
Add default build commands (other sections are commented out and
2009-01-11 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
*, wscript, src/, src/utils.c:
Fix build with GTK 2.12 by adding GIO compile and linker flags
(closes #2498580).
*, 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/,
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/, src/, src/utils.c,
Fix build without GIO again (sorry).
Remove trailing slashes in's
(patch by Daniel Richard G., thanks).
2009-01-09 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
*, 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* wscript, THANKS, data/filetype_extensions.conf, src/templates.c,
scintilla/KeyWords.cxx, scintilla/LexAda.cxx, scintilla/,
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 <enrico(dot)troeger(at)uvena(dot)de>
* src/support.h:
Prevent compile errors in plugins when GETTEXT_PACKAGE is not
* tagmanager/make.c:
Fix crash in Makefile parser when trying to read defines.
2009-01-03 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/interface.c, src/keybindings.c, src/geanyobject.c,
src/geanyobject.h, src/geany.h, src/callbacks.c, src/callbacks.h,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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
Connect window key-press-event in keybindings.c.
* src/keybindings.c:
Group some View callbacks together.
2008-12-30 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* doc/geany.txt, doc/geany.html:
Fix description of a Project pref (fixes #2476854).
2008-12-29 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/symbols.c:
Avoid unnecessary critical warnings when setting tooltips for the
symbol list with non-UTF-8 files (closes #2473376).
*, 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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/prefs.c, src/geanyobject.c, src/geanyobject.h, src/stash.c,
src/stash.h, src/keyfile.c, src/plugins.c, src/main.c,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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/,
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,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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(),
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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
* 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/,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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/, 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,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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/, 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.
*, 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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
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.
Add GDB 'Stop on warnings' and 'Running with batch commands'
2008-12-15 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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,
Fix a few compiler warnings about unused return values caused
by recent glibc versions.
2008-12-11 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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,
Add an interface pref for whether to hide additional widgets when
double-clicking on document notebook tabs (off by default) - closes
* src/sciwrappers.c, src/sciwrappers.h, src/editor.c, doc/geany.txt,
Make Shift+Mouse wheel scroll the editor view horizontally
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 <enrico(dot)troeger(at)uvena(dot)de>
* 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
2008-12-09 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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,
Don't expand Prefs dialog Editor->Completions tab frames.
2008-12-08 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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
2008-12-07 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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.
*, src/callbacks.c, src/callbacks.h, src/editor.c,
src/interface.c, src/main.c, src/prefs.c, src/ui_utils.c,
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 <enrico(dot)troeger(at)uvena(dot)de>
* 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,,
po/, 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/, 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
* src/, wscript:
Install toolbar.h.
* src/ui_utils.c:
Fix broken recent files menus.
* glade.geany, src/callbacks.c, src/callbacks.h, src/interface.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.
*, 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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/keybindings.c, src/sciwrappers.c, src/sciwrappers.h,
src/callbacks.c, src/plugins.c, src/editor.c,
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
2008-12-04 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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/
Beautify the header comments of the generated API file.
Add command line option to suppress status output.
* THANKS,, 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).
*, src/interface.c:
Don't mark labels of invisible menu items as translatable.
2008-12-04 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/plugindata.h, src/document.h, doc/pluginsymbols.c,
doc/plugins.dox, plugins/geanyfunctions.h, plugins/pluginmacros.h,
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/
Allow generating macros for functions with digits in the name.
Don't generate dummyprefix_scintilla_send_message and lookup_widget
* plugins/saveactions.c, plugins/export.c, plugins/vcdiff.c,
plugins/filebrowser.c, plugins/splitwindow.c, plugins/htmlchars.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 <nick(dot)treleaven(at)btinternet(dot)com>
* plugins/, src/
Move target for geanyfunctions.h to plugins/ 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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/, plugins/geanyfunctions.h, plugins/,
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
Note: For now, building on Windows or with Waf needs to be
run manually when adding plugin API functions.
* plugins/geanyfunctions.h, plugins/demoplugin.c, plugins/
Add header guards for geanyfunctions.h and include pluginmacros.h
Update Demo plugin.
* src/ui_utils.h, src/plugindata.h, src/plugins.c, src/ui_utils.c,
plugins/geanyfunctions.h, plugins/
Add ui_lookup_widget() to plugin API (so has a suitable
Mark SupportFuncs as deprecated.
Add description comment for geanyfunctions.h.
2008-12-01 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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,
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/,
scintilla/makefile.win32, src/filetypes.c, src/templates.c,
src/filetypes.h, src/highlighting.c, src/plugindata.h, src/editor.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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/utils.h, src/makefile.win32, src/stash.c, src/stash.h,
src/keyfile.c, src/, 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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,
Move configuration_read_filetype_extensions() to
* doc/geany.txt, doc/geany.html:
Update tips for Alt/Ctrl + mouse wheel scrolling in the editor.
2008-11-25 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/main.c, src/symbols.c, src/symbols.h:
Make 'Reload Configuration' command also reload ignore.tags.
2008-11-24 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* tagmanager/c.c:
Fix nested namespaces not having parent namespace scope (fixes
2008-11-23 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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
* 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 <frank(at)frank(dot)uvena(dot)de>
* THANKS: Added Andrew Drynov to list of supports of Russian translation
2008-11-21 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 (&apos;) 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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,
Use ui_widget_set_tooltip_text().
2008-11-18 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/treeviews.c:
Refactor with sidebar_add_common_menu_items().
* src/treeviews.c, src/treeviews.h, src/main.c, src/symbols.c,
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 <enrico(dot)troeger(at)uvena(dot)de>
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
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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
* src/editor.c:
Make auto_table() use editor_insert_text_block().
2008-11-13 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* HACKING, doc/, 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,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* tagmanager/c.c:
Fix indentation to consistently use tabs (patch by Colomban Wendling,
2008-11-12 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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;
2008-11-11 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* doc/, wscript, waf:
Improve the checking for '' 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,
Add utils_str_casecmp() to the plugin API.
* doc/, src/plugindata.h:
Remove obsolete tag 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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/highlighting.c, src/plugindata.h, src/about.c, src/filetypes.c,
src/filetypes.h, tagmanager/parsers.h, tagmanager/c.c,
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 <enrico(dot)troeger(at)uvena(dot)de>
* doc/geany.txt, doc/geany.html, src/templates.c, src/templates.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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/about.c, src/treeviews.c, src/treeviews.h, src/symbols.c,
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
Fix not allowing a leading underscore when using scope name prefix.
Fix symbol-tree branch bug: missing C++ constructor declaration
- 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
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
2008-11-08 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* src/editor.c:
Don't auto close <hr> tags in HTML (closes #2226117).
* THANKS, data/filetype_extensions.conf, data/filetypes.matlab,
scintilla/KeyWords.cxx, scintilla/LexMatlab.cxx,
scintilla/, 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/, 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
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
2008-11-06 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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
* src/prefs.c:
Fix Prefs dialog Tools tab Context Action open button showing the
file dialog twice (fixes #2216478).
2008-11-03 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/callbacks.c:
Fix GLib warning when pressing Close File keybinding and no
documents are open.
2008-10-30 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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/, tagmanager/include/tm_source_file.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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <frank(at)frank(dot)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* src/filetypes.c:
Add simple auto-detection for HTML files without proper extension.
*, 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,, 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 <frank(at)frank(dot)uvena(dot)de>
* data/html_entities.tags:
Add a few more entities common in e.g. Spanish language.
2008-10-22 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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,
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 <frank(at)frank(dot)uvena(dot)de>
* src/about.c:
Added Dominic Hopf to list of German translators. Removed Enrico
from List.
2008-10-20 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/main.c, src/main.h:
Support loading a project file in a new instance from the
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 <enrico(dot)troeger(at)uvena(dot)de>
* New release: Geany 0.15 "Quillan".
*, 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 <enrico(dot)troeger(at)uvena(dot)de>
* plugins/splitwindow.c:
Include "support.h" for I18N support instead of <glib/gi18n.h>
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.
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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* wscript, waf:
Update Waf once more.
* tagmanager/
Add variable 'regex_sources' to append to libtagmanager_a_SOURCES
if necessary.
2008-10-16 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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
* doc/geany.txt, doc/geany.html, NEWS:
Update for missing documentation since 0.14.
2008-10-15 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* geany.nsi:
Add option to not create desktop and quicklaunch shortcuts.
Allow skipping creation of the Start Menu folder.
2008-10-15 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/interface.c, src/callbacks.c, src/callbacks.h, src/plugins.c,
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 <frank(at)frank(dot)uvena(dot)de>
* THANKS, src/about.c: Update of name of Korean translator. Thanks
Park Jang-heon.
2008-10-14 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/ui_utils.h, src/plugindata.h, src/plugins.c, src/ui_utils.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().
except the Demo plugin (as an example).
* doc/, 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 <frank(at)frank(dot)uvena(dot)de>
* ko.po, LINGUAS, src/about.c, THANKS:
Added Korean translation. Thanks to netkiss for translation.
2008-10-13 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/ui_utils.h, src/plugindata.h, src/plugins.c, src/ui_utils.c,
doc/, doc/pluginsymbols.c, plugins/demoplugin.c,
- 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <frank(at)frank(dot)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* plugins/splitwindow.c:
Fix only updating filename label after saving the relevant document.
2008-10-07 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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_'.
*, src/interface.c:
Reorder Help menu items (swap 'Keyboard Shortcuts' and 'Website').
2008-10-07 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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
* plugins/splitwindow.c:
Refactor with set_editor().
* plugins/splitwindow.c:
Add filename label.
Fix Gtk warning when resplitting.
2008-10-06 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
*, 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.
*, wscript, tagmanager/ctags.c, src/tools.c:
Use g_strerror() instead of strerror().
Remove build system checks for strerror().
2008-10-03 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
* data/latex.tags: Added some more keywords for moderncv to tag list.
2008-10-02 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* doc/geany.txt, doc/geany.html, po/, plugins/saveactions.c,
plugins/autosave.c, plugins/, plugins/makefile.win32:
Merge InstantSave, AutoSave and BackupCopy plugins into the
plugin 'Save Actions'.
Add a section for documentation of internal plugins in the
* doc/geany.html, doc/geany.txt,, 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/, scripts/
Remove more bashisms and avoid using 'which' which is not
2008-10-01 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* HACKING, doc/
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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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
* 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 <enrico(dot)troeger(at)uvena(dot)de>
*, 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,
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/, wscript:
When generating documentation, first try as it is
the upstream default.
2008-09-27 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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).
Cleanup. Remove unnecessary checks and code.
2008-09-26 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
*, src/interface.c, src/notebook.c:
Remove can_focus flag from notebook widgets to avoid focused tab
* 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,
2008-09-26 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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/, 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).
Update to mention separate is_comment_style() and is_string_style()
* src/documentprivate.h, src/prefs.c, src/treeviews.c, src/notebook.c,
src/document.c, src/document.h, src/editor.c, src/symbols.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 <enrico(dot)troeger(at)uvena(dot)de>
*, 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,
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/, scripts/
Remove bashisms.
2008-09-25 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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
* 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
2008-09-24 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* document.c, document.h, editor.c, editor.h, prefs.c, sciwrappers.c,
Move document_apply_update_prefs() in editor.c.
Refactor get_indent_guides_from_lexer() from sciwrappers.c in
* src/editor.c:
Fix broken indentation of automatic HTML table tag completion
(part of #2118289).
2008-09-19 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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
* src/interface.c, src/prefs.c, src/keyfile.c, src/document.c,
src/editor.c, src/editor.h, doc/geany.txt, doc/geany.html,
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 <enrico(dot)troeger(at)uvena(dot)de>
* 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,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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,
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/keybindings.c, src/sciwrappers.c, src/sciwrappers.h,
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,
Add plugin signal "document-close", sent just before a document is
(Merged from split-window-plugin branch).
* src/plugindata.h, src/plugins.c, src/editor.c, src/editor.h,
po/, plugins/splitwindow.c, plugins/,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/editor.c:
Show ellipsis (...) item when there are too many symbol names for
* 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 <frank(at)frank(dot)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* data/filetypes.xml, src/highlighting.c:
Add missing HTML attribute 'xml:lang'.
2008-09-08 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* scripts/, scripts/
Remove bashisms.
Add support for passing asterisk wildcards to
* 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 <frank(at)frank(dot)uvena(dot)de>
* doc/
Little typographic update to use minus sign instead of a hyphen
in the manpage.
2008-09-07 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
*, 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 <enrico(dot)troeger(at)uvena(dot)de>
*, src/interface.c, src/dialogs.c, src/printing.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.
doc/geany.txt, doc/geany.html, doc/plugins.dox, geany.nsi,, src/geany.h:
New website address:
Merge README.I18N with latest changes from the wiki.
* doc/geany.html, doc/geany.txt,, 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.
*, src/interface:
Fix ambiguous tooltip of new 'Stop scroll at last line' editor pref.
2008-08-29 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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,
Add 'Max. symbol name suggestions' autocompletion pref.
Edit some autocompletion pref strings.
Remove some trailing commas in array initializers (oops).
2008-08-28 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/symbols.c:
Fix global tags loaded debug message, display total tags count.
Add comment to warn about adding tags files vs. downloading
2008-08-27 Nick Treleaven <nick.treleaven<at>>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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
* src/filetypes.c:
Use pointer in init_builtin_filetypes() instead of repeating
filetypes[GEANY_FILETYPES_X]->... on each line.
2008-08-25 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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,
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
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/document.c:
Support detecting 'Tabs and Spaces' indent mode when opening a file.
2008-08-18 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* scintilla/
Remove non-portable compiler optimisation '-Os'.
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 <Enrico Tröger@localhost>
* 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
Fix missing snippets.conf in the Windows installers.
Fix missing python.tags in the Windows installers.
2008-08-14 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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
2008-08-13 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* doc/geany.txt, doc/geany.html:
Add Tips and Tricks appendix.
2008-08-11 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
*, wscript, src/, 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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/editor.c:
Add SCE_[CD]_COMMENTDOCKEYWORD(ERROR) comment detection to
* src/editor.c:
Fix auto-multiline comment completion for CSS.
Fix doc-comment keyword styles confusing auto-multiline comment
* src/editor.c:
Break is_comment() into comment and string detection, each called in
* 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,
Rename GeanyIndentPrefs::tab_width to hard_tab_width, and update
keyfile key name.
* src/interface.c,
Change 'Tab width' label to 'Hard tab width' for clarity.
2008-08-08 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* src/printing.c:
Fix compilation with GTK >= 2.10.
2008-08-07 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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,,
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(),
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
Change editor_close_block() to use sci_get_line_indentation() for
Make editor_close_block() static.
Add editor_init().
2008-08-05 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/vte.c:
Revert the recent VTE realisation changes as they don't make things
* tagmanager/tcl.c:
Fix wrong parsing of keywords if they are not followed by a space
(closes #2037728).
2008-08-03 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* src/notebook.c:
Fix signature of focus_sci().
Double clicking on free space in the tab bar opens a new file
* 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 <enrico(dot)troeger(at)uvena(dot)de>
*, wscript:
Add support for retrieving the SVN revision number also
when using a git-svn.
*, 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).
*, src/interface.c, src/vte.c:
Add a small border to all notebook pages in the preferences dialog.
2008-07-25 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/interface.c, src/ui_utils.c,
Revert editor popup menu Current Word submenu changes. See
* src/sciwrappers.c, src/plugindata.h:
Add dox for ScintillaFuncs.
2008-07-25 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* data/, 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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,
Add dox for FiletypeFuncs and some of GeanyFiletype.
Rename filetypes_detect_from_file() to
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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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,
Add new Files pref 'Allow new documents from the command-line'.
* src/interface.c,
Rename above pref 'Open new documents...'.
Group encodings prefs together in the Files tab.
2008-07-20 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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,
Add Find Document Usage popup menu command & keybinding.
* src/interface.c, src/ui_utils.c,
Move editor popup menu current word items to submenu.
2008-07-15 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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,
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
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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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.
*, 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 <enrico(dot)troeger(at)uvena(dot)de>
* plugins/classbuilder.c:
Fix some formatting issues.
Add 'static' keyword to generated finalize() function in GTK classes.
2008-07-10 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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/, 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,
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 <enrico(dot)troeger(at)uvena(dot)de>
* doc/plugins.dox, src/editor.c, src/geanyobject.c, src/geanyobject.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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/keybindings.c:
Group focus keybinding callbacks together.
2008-07-03 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <br>.
* 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
2008-07-03 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/treeviews.c, src/callbacks.c, src/document.c, src/document.h:
Add function document_close().
2008-06-30 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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,
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,
Add Tools menu item to reload configuration data (at the moment:
templates, filetype extensions/configs and snippets).
2008-06-30 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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,
Add plugin signal "populate-edit-menu" to notify plugins when the
editing menu is shown.
2008-06-27 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/interface.c, src/callbacks.c, src/callbacks.h,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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
2008-06-25 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/interface.c, src/prefs.c, src/keyfile.c, src/search.c,
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,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/keybindings.c:
Make keyboard shortcuts dialog non-modal (#1999384).
* src/interface.c, doc/geany.txt, doc/geany.html,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/win32.c:
Fix Windows build.
2008-06-20 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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()
2008-06-19 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/dialogs.c, src/dialogs.c:
Add dialogs_show_input_numeric().
*, 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,
Add keybindings for Line wrapping, Line breaking, Toggle fold and
Replace Spaces by tabs.
Refactor different document keybindings callback functions into
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
*, 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 <frank(at)frank(dot)uvena(dot)de>
* THANKS: Small update of Polish translation provided by Krzysztof
Troska. Thanks for it.
2008-06-15 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* tagmanager/python.c:
Use proper quoted multi-line string check from CTags SVN.
* src/geanyobject.c:
Fix wrong marshal type (pointer != int).
* scripts/
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 <enrico(dot)troeger(at)uvena(dot)de>
* 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.
*, data/python.tags, scripts/,
Add 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* scintilla/makefile.win32:
Compile Scintilla without threading support to fix freezes with
GLib >= 2.16 on Windows.
* doc/
Remove useless path separator.
Set $(docdir) if it is not set automatically.
* geany.nsi, plugins/makefile.win32, src/makefile.win32, src/main.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 <nick(dot)treleaven(at)btinternet(dot)com>
* tagmanager/python.c:
Fix variable names sometimes having leading junk characters.
* tagmanager/python.c:
Refactor using findVariable().
2008-06-07 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
* THANKS, src/about.c: Added Anna Talianova to list of contributers for
Czech translation.
2008-06-08 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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,
Backport AutoCCancelled event implementation from Scintilla CVS.
* src/editor.c:
Reshow a previously shown calltip if an auto completion list was
2008-06-07 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
* src/prefs.c: Update of a string for adding a missing full stop.
2008-06-06 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/ui_utils.c:
Display current file position in the status bar when compiled
Rename 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 and
Move htmldoc and apidoc targets into shutdown().
2008-06-06 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
*, waf, wscript, scripts/
Add alternative build system: Waf.
Use to create a Makefile and configure files.
*, wscript, tagmanager/entry.c:
Remove check for unistd.h, assume it is available (already often
used without checking).
2008-06-05 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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
* src/dialogs.c:
Fix segfault after Save As (oops).
2008-06-04 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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.
*, src/gb.c:
Remove useless or unused configure checks.
* doc/
Install THANKS file by default.
2008-06-03 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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
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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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/,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* src/project.h, src/plugindata.h, src/geany.h, src/filetypes.h,
Remove underscore prefix from some struct names.
2008-05-29 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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
Remove deprecated pluginmacros.h documents macro, to avoid a
Replace doc_list[] macro with documents[] macro, which returns a
GeanyDocument pointer.
2008-05-28 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* doc/geany.css, doc/geany.html:
Add media types for screen and print to have a clean version
of the manual for printing.
* plugins/
Add again all GTK libraries to linker flags for each plugin.
2008-05-28 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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
2008-05-26 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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,
Add plugin_ prefix for plugin symbols version_check, init and
cleanup. Deprecate init and cleanup; update PLUGIN_VERSION_CHECK
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,
Fix plugins to compile with GEANY_DISABLE_DEPRECATED.
2008-05-23 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/plugindata.h, src/plugins.c, doc/plugin-symbols.c,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* plugins/
Specify the necessary libraries of each plugin to link against.
*, 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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
2008-05-19 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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
Rename GeanyFunctions fields with a p_ prefix to avoid name
Add new plugin symbol geany_functions.
Nearly all plugins will now need to declare the following:
'GeanyFunctions *geany_functions;', which is now used by
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/, plugins/pluginmacros.h:
Add API documentation for pluginmacros.h.
* doc/plugins.dox:
Add Main Page links to plugindata.h and pluginmacros.h.
2008-05-18 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/document.c:
Force using tabs for indentation when opening Makefiles.
* plugins/pluginmacros.h:
Define p_editor in the right way, oops.
* doc/, doc/geany.html, doc/geany.txt, src/main.c:
Allow loading projects from command line (closes #1961083).
2008-05-16 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
*, 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,
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
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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().
Update adding a filetype section, make clearer.
2008-05-13 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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,, TODO, doc/geany.txt,
Add basic Line Breaking option in the Document menu. Line breaking
only works when typing characters past the line breaking column
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,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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,
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.
Remove GEANY_MAX_FILE_TYPES - use filetypes_array->len (or
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
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
Refactor create_set_filetype_menu() from filetypes_init().
Move print_filetypes() out of parse_command_line_options();
2008-05-06 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
*, tagmanager/lregex.c, tagmanager/include/regex.h,
tagmanager/include/gnuregex.h, tagmanager/ :
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).
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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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
2008-04-24 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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
2008-04-24 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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
* src/utils.c, src/interface.c, src/prefs.c, src/prefs.h, src/keyfile.c,
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 <enrico(dot)troeger(at)uvena(dot)de>
* 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.
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 <enrico(dot)troeger(at)uvena(dot)de>
* 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.
*, src/interface.c:
Fix wrong tooltip for "Show Increase and Decrease Indentation
buttons" in the preferences dialog.
2008-04-19 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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".
*, 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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
2008-04-18 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
* THANKS, NEWS, src/about.c:
Added Chikahiro Masami as new translator for Japanese translation.
2008-04-17 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/navqueue.c, src/plugindata.h, src/navqueue.h, src/plugins.c,
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 <frank(at)frank(dot)uvena(dot)de>
* THANKS, NEWS, src/about.c, po/LINGUAS, po/ro.po:
Added Romanian translation (Thanks to Alex Eftimie).
2008-04-16 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/interface.c, src/callbacks.c, src/callbacks.h, NEWS,
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 <enrico(dot)troeger(at)uvena(dot)de>
* doc/images/pref_dialog_gen.png:
Update for 0.14.
* plugins/makefile.win32, scintilla/makefile.win32, src/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 <enrico(dot)troeger(at)uvena(dot)de>
* 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.
Remove "documentation: preferences" item as it has been mostly done
by Robert McGinley.
2008-04-11 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <frank(at)frank(dot)uvena(dot)de>
* src/filetypes.c: Make another string translatable. Thanks to Adrovane
Kade for reporting.
2008-04-10 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <frank(at)frank(dot)uvena(dot)de>
* src/ui_utils.c: Make some more strings translatable. Thanks to
Adrovane Kade for reporting.
2008-04-09 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Add an explicit check for a C++ compiler (#1938040).
* plugins/
Avoid linking plugins against GTK libraries which seems unnecessary.
2008-04-08 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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.
*, scripts/, po/
Move 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 <frank(at)frank(dot)uvena(dot)de>
* THANKS: Added Dominic Hopf to list of translation supporters.
2008-04-04 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
* Fix issue on make dist with
* scripts/ Make help output better readable if there are
not enough arguments given.
2008-04-03 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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
Refactor load_settings() from init().
2008-04-03 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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/, scripts/
Move 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
*, src/interface.c:
Make the notebook tabs in the messages window scrollable.
2008-04-01 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/interface.c, src/plugins.c,
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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/build.c, src/interface.c, src/vte.c, plugins/export.c,
Add missing mnemonics (except for 3 popup menu items, ran out of
Capitalize some menu items.
* src/interface.c,
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 <enrico(dot)troeger(at)uvena(dot)de>
* src/editor.c:
Unfold hidden code when the fold point modified
(e.g. commented out, fixes #1923350).
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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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
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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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.
Add note about not appending to structs like KeyBindingGroup and
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* data/filetypes.common, doc/geany.txt, doc/geany.html,
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.
*, src/interface.c, src/prefs.c, src/prefs.h, src/keyfile.c
src/callbacks.c, src/search.c, src/editor.c, src/editor.h,
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 <frank(at)frank(dot)uvena(dot)de>
* doc/plugins.dox: Fix a little typo that prevents docu from being build.
2008-03-22 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
* THANKS, src/about.c: Adjusted email of Brahmann.
2008-03-21 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* 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/, doc/
Use configure's --docdir option when installing and using the
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* HACKING: Add note and link for GTK 2.6 API docs.
2008-03-20 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* doc/plugin-symbols.c, doc/, 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
* doc/geany.txt, doc/geany.html:
Update configurable keybindings section for new plugin groups
Move scroll by one line shortcuts to configurable keybindings
2008-03-19 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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".
*, 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/keybindings.c:
Set main menu accelerators for keybindings.
* src/keybindings.c, src/keybindings.h, src/plugindata.h,
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.
Replace Plugins chapter with 'Writing plugins' section.
Add generating plugin API documentation section.
Replace 'Modifying data types' with 'Keeping the plugin ABI stable'
Add note about using -ansi.
2008-03-14 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/ 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).
* 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 <nick(dot)treleaven(at)btinternet(dot)com>
* src/plugindata.h, doc/plugins.dox:
Update documentation for plugin_key_group[] to mention declaring it
* 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 <enrico(dot)troeger(at)uvena(dot)de>
* 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/, src/, plugins/,
Install header files and add a pkg-config file for external plugins.
*, 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 <nick(dot)treleaven(at)btinternet(dot)com>
* 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,
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()
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