Don't assume a file that is valid as UTF-8 is actually UTF-8 if we
have an information telling us otherwise in the document (a regex
match).
Also fix check for locale encoding.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5667 ea778897-0a13-0410-b9d1-a72fbfd435f5
Make encoding name comparison more permissive, finding names that are
very likely to refer to the same encoding.
For example, "utf8" now matches "UTF-8", and "iso8859_1" matches
"ISO-8859-1".
This makes encodings_get_idx_from_charset() and
encodings_get_from_charset() more permissive, and allow to normalize
an encoding name.
It is used to better handle user-provided encodings (e.g. one found by
a regex search) by normalizing it to the Geany name.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5666 ea778897-0a13-0410-b9d1-a72fbfd435f5
These functions does the same as the corresponding GLib functions but
makes sure that the added GSource will be removed when the plugin is
unloaded, preventing possible crashes.
These are only convenience functions for the plugin author not to have to
care about the case the plugin gets unloaded, he can still manually
manage hes GSources if he wants to.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5650 ea778897-0a13-0410-b9d1-a72fbfd435f5
Updating the parent may lead to performance issues if an object have
too many parents since they are updated recursively.
Parent objects are still updated when saving the file.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5642 ea778897-0a13-0410-b9d1-a72fbfd435f5
Instead of reparenting the documents notebook full of
ScintillaObjects, just ref it, remove it from the old parent, add
it to the new parent, and then unref it. This fixes the display
issue on Windows and seems to have no issues on Linux.
Patch by Matthew Brush, thanks.
Closes#2725342.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5636 ea778897-0a13-0410-b9d1-a72fbfd435f5
Fix the sidebar popup menu to properly use the currently selected item
rather than the previous one.
Also change the hack used for the selection to be updated in the input
handlers (key and mouse button) to call the GtkTreeView's handler
manually rather than doing the actual job in IDLE callbacks for the
TreeView's handler to have run.
This prevents from having several different handlers but removes the
need to work in IDLE time and then possible have a lag, as well as
simplifying the code.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5630 ea778897-0a13-0410-b9d1-a72fbfd435f5
G_(UN)?LIKELY() should be only used on whole conditional expressions,
and only if the branching is very highly predictable, not if it is only
more probable.
These macros should be used with care because a wrong prediction may
be a lot worst than what a good prediction can give.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5625 ea778897-0a13-0410-b9d1-a72fbfd435f5
This makes documents created or set to a filetype with forced indent
setting (Makefile, F77) to have the correct setting right away.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5611 ea778897-0a13-0410-b9d1-a72fbfd435f5
* Don't use strlen(..) > 0 or == 0, simply check the first character
against 0;
* Fix a return without a value (my bad in last commit);
* Fix storing a literal in a non-const string.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5610 ea778897-0a13-0410-b9d1-a72fbfd435f5
Adds the new function encodings_convert_to_utf8_auto(). This makes easy
to convert file data to UTF-8 in a high-level fashion, with BOM support
and everything.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5606 ea778897-0a13-0410-b9d1-a72fbfd435f5