Colomban Wendling
907a79263d
Better handle badly-written encoding names
...
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
2011-03-31 23:27:58 +00:00
Colomban Wendling
b32bb7943f
Align fill() calls in init_encodings() for better readability
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5665 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-31 23:27:45 +00:00
Colomban Wendling
dfe0512ec9
Update regex for encoding detection to match quoted names
...
This allows encoding="utf8", adding support for XML encoding detection.
Closes #3183506 .
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5664 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-31 23:27:33 +00:00
Colomban Wendling
7698bf60a7
Improve usage of G_(UN)?LIKELY()
...
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
2011-03-24 22:00:18 +00:00
Colomban Wendling
f60ead793d
Move document encoding conversion with BOM support to encodings.[ch]
...
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
2011-03-18 15:57:02 +00:00
Enrico Tröger
6ac2623208
Update copyright information.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5528 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-01-19 19:39:09 +00:00
Nick Treleaven
ca74dd214c
Remove NULL checks when calling g_free() (patch Erik de Castro
...
Lopo, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5221 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-09-09 17:21:05 +00:00
Nick Treleaven
a24d6dca6a
Auto-enable building with included regex if no regcomp function is
...
found.
Remove checks for HAVE_REGCOMP in Geany source (not TagManager) -
regex support is required.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5199 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-08-25 11:44:33 +00:00
Enrico Tröger
235c8231e7
Rewrite the logic to auto detect encodings a bit to make it more readable and fix a slightly wrong detection on Windows ( closes #3019573 ).
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5163 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-08-15 13:33:32 +00:00
Enrico Tröger
36f6292cc3
Make debug message more clear
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5118 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-08-05 21:54:18 +00:00
Enrico Tröger
8c963d2829
Make string arguments const where appropriate (patch by Colomban Wendling, thanks).
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4862 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-04-25 17:43:39 +00:00
Enrico Tröger
ec1d69c630
Fix possible endless loop when trying to detect the encoding of non-text files (patch by Alexey Antipov, thanks).
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4654 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-02-07 18:37:25 +00:00
Enrico Tröger
7ba4a81181
Update copyright information.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4518 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-01-01 22:55:18 +00:00
Enrico Tröger
541d7689ff
Apply set default encoding for existing files only if the files are non-Unicode (patch by Alexey Antipov, thanks).
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4294 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-11 10:51:12 +00:00
Nick Treleaven
1986d915cc
Run ./scripts/fix-alignment.pl -w src/*.[hc] plugins/*.[hc] (skipping generated files).
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4199 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-09-16 14:13:38 +00:00
Enrico Tröger
39a74c5a18
Continue unifying usage of @a and @c markup elements in API docs.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4010 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-21 22:12:13 +00:00
Enrico Tröger
9d9f40cd15
Add Japanese encoding "CP932" (patch by Ryūsei Yamaguchi, thanks).
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3864 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-06-14 10:24:06 +00:00
Enrico Tröger
0a4256565c
Prevent double execution of radio menu item "activate" or "toggled" signal handlers.
...
Move 'Set Encoding' callback function into encodings.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3712 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-17 15:30:01 +00:00
Enrico Tröger
a95a59a42f
Remove all G_LIKELY macros inside g_return_if_fail() statements as this is redundant.
...
Remove many other G_LIKELY/G_UNLIKELY macros which doesn't make much sense to keep the code more readable.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3708 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-15 22:47:33 +00:00
Enrico Tröger
a9dc990049
Start using G_LIKELY/G_UNLIKELY macros to gain a little more performance when building the code with gcc.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3687 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-05 21:07:40 +00:00
Enrico Tröger
2a086b3b95
Fix broken selection of "Document->Set Encoding" menu items.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3597 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-02-24 18:26:33 +00:00
Enrico Tröger
39a6eb455e
Update copyright information.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3446 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-04 18:30:42 +00:00
Enrico Tröger
9e25c43487
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.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3402 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-18 21:21:53 +00:00
Nick Treleaven
48e969cb96
Minor formatting edits.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2987 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-23 15:19:46 +00:00
Enrico Tröger
8d67117d47
Rename "delete_event" to "delete-event".
...
Remove some unnecessary GObject casts in g_signal_connect() calls.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2788 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-18 13:40:48 +00:00
Enrico Tröger
57b3fb52b0
Fix wrong and add missing checks.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2697 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-16 18:31:59 +00:00
Enrico Tröger
1e8d82f46a
Note: this breaks the plugin API for msgwin and navqueue functions.
...
Make NavQueueFuncs and MsgWinFuncs use a GeanyDocument* instead of an integer index.
Adjust plugins to work with these changes.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2688 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-12 20:09:57 +00:00
Enrico Tröger
46feb9df7d
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").
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2659 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-08 12:18:20 +00:00
Nick Treleaven
398efbd373
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.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2609 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-22 14:41:28 +00:00
Enrico Tröger
ade798f9f2
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 tagmanger/include/regex.h in tagmanager/include/gnuregex.h to avoid unintended inclusion in source files (this fixes the OpenSolaris crashes).
Don't use GNU regex specific regex_t::buffer element to build also without this extension (e.g. on OpenSolaris).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2532 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-27 14:33:40 +00:00
Enrico Tröger
b7bfb2743a
Replace all C++-style comments with usual C-like multi-line comments.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2287 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-27 13:17:29 +00:00
Enrico Tröger
85f73129c0
Apply patch from Daniel Richard G. to fix to fix several compiler warnings, C89 violations and minor code problems (thanks).
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2267 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-20 11:24:23 +00:00
Enrico Tröger
0e65cff820
Add support for generating API reference documentation using doxygen.
...
This is the first step, it is far away from being complete.
Add make target "api-doc" to generate the reference documentation.
Add documentation comments to a few functions.
Move basic plugin documentation from plugindata.h to doc/plugins.dox.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2263 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-17 18:00:42 +00:00
Enrico Tröger
57533aa092
Fix some compiler warnings.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2257 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-13 18:54:05 +00:00
Enrico Tröger
7b85b02f93
Add encodings_get_charset_from_index() and make it available through plugin API.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2177 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-16 16:50:10 +00:00
Enrico Tröger
e3201062c6
Update copyright information and change format of email addresses in source files.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2150 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-06 18:11:57 +00:00
Enrico Tröger
80532b616d
Store more document-related settings session-based in the configuration file(including the file encoding).
...
Detect in-file specified file encoding by scanning the file using regular expressions.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2093 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-07 14:13:05 +00:00
Enrico Tröger
90b01daf35
Fixed several compiler warnings (mainly shadowing local variables and unreachable code).
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1376 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-03-09 13:52:26 +00:00
Nick Treleaven
806dd5be1d
Add descriptions for all .c source files below the file header.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1329 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-24 11:41:56 +00:00
Enrico Tröger
7b61ad934d
Updated copyright information.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1188 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-14 17:36:42 +00:00
Nick Treleaven
af369cf776
Fix memory leak when using utils_scan_unicode_bom().
...
Prevent invalid memory read in utils_scan_unicode_bom() when text
length is < 4.
Move utils_scan_unicode_bom(), utils_is_unicode_charset() to
encodings.c.
Read the BOM length in handle_bom().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1167 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-07 16:22:41 +00:00
Enrico Tröger
37c230845a
Revert the last change to utils_str_equal() and use it again because g_str_equal() is not NULL-safe.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1059 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-12-07 16:09:45 +00:00
Enrico Tröger
c461da68f1
Removed utils_str_equal() and use g_str_equal() from GLib because it does exactly the same.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1056 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-12-06 20:44:32 +00:00
Nick Treleaven
bd1137d9e9
Rename utils_strcmp() utils_str_equal() (to avoid return value
...
confusion with strcmp()).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@978 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-11-08 16:21:46 +00:00
Nick Treleaven
1844a2d051
Fix sign comparison warnings.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@947 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-10-30 11:49:35 +00:00
Enrico Tröger
60bb784493
Moved utils_convert_to_utf8() and utils_convert_to_utf8_from_charset() to encodings.c.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@931 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-10-25 14:48:07 +00:00
Enrico Tröger
47a71bc3aa
Added new encoding "None" to open files without any character conversions ( fixes #1580456 ).
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@920 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-10-23 20:32:37 +00:00
Nick Treleaven
7d8637f549
Fixed all sign comparison warnings
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@684 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-08-08 13:01:50 +00:00
Enrico Tröger
afa4c4104e
Made document related submenus(filetype, encoding, line endings) radio buttons for better usability.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@668 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-08-03 22:17:10 +00:00
Enrico Tröger
a7361b6464
Save default encoding for new files as charset string.
...
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@626 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-07-25 09:12:51 +00:00