8677 Commits

Author SHA1 Message Date
Colomban Wendling
934b47158c scintilla: Remove obsolete flag building Scintilla
`-DG_THREADS_IMPL_NONE` was a hack, and it has no effect since 3.6.5,
so drop it altogether.
2016-05-26 19:21:49 +02:00
Colomban Wendling
64025cfcfc Update Scintilla to version 3.6.6 2016-05-26 19:21:38 +02:00
Jiří Techet
9356514e45 Perform typename re-colourisation only when typename list changes
To detect the change of typename list since the last time the colourisation
happened, we could store the complete typename string used during the
last colourization and compare it with the current string. For lots of
typenames this might be quite a huge string stored for every opened tab
(well, it's also stored in Scintilla already for every document but better
not to have it twice). Instead, we can store an uint hash of the string.
We could also use a better hash function with longer hash value but
uint size should be enough for this case (and in the case of a collision
nothing terrible happens).
2016-05-17 22:58:47 +02:00
Jiří Techet
9313b17559 Don't accumulate multiple colourises
I don't know if this ever happens but the check shouldn't hurt.
2016-05-17 22:09:48 +02:00
Jiří Techet
4896db17fe Revert "Colourise only the visible area when highlighting typenames"
This reverts commit b361b83276816633ac5a0d6d391b6f6e8ebe6cf1.

The patch doesn't quite work e.g. when using replace to replace a typename.
2016-05-17 22:04:28 +02:00
Colomban Wendling
d7750a4479 Fix canceling keybinding overriding by discarding the dialog
Properly handle discarding the dialog asking whether to override a
keybinding as canceling it rather than as allowing multiple identical
keybindings.

In the way, simplify and fix dialogs_show_prompt() not to perform odd
and useless response mapping that effectively go round back, and that
don't handle what the comment above it suggests.  Simply document it
can return GTK_RESPONSE_DELETE_EVENT and handle it in the caller side,
as it's a possibly valuable information.  Only one current caller is
affected, and it doesn't change anything as it doesn't change behavior
but only documents it.

Closes #714.
2016-05-17 02:45:03 +02:00
Colomban Wendling
9681888806 Merge pull request #1014 from b4n/streamline-builtin-tags
Streamline builtin tags
2016-05-15 15:58:05 +02:00
elextr
b81f41ce32 Merge pull request #1024 from Yanpas/java-review
Reviewed java keywords
2016-05-14 19:36:24 +10:00
Colomban Wendling
cb8151b29b GTK: Avoid possible IdleWork() calls on destructed objects
The idle callback removal clause in the ScintillaGTK destructor got
broken in the last Scintilla update [1], leading to the callback not
being removed thus possibly running after the instance destruction.
Indeed, gdk_threads_add_idle() wraps g_idle_add() with a custom user
data, thus making the g_source_remove_by_user_data() call in the
destructor incorrect, as we give it our own user data, not GDK's
wrapper one.

Fix the callback removal not to use user data matching to avoid this.

Closes #1033.

[1] 4e5c321dda/

X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1827/
X-Scintilla-Commit-ID: d889200cd9de032e278745f48b9c3108ccfa5984
2016-05-12 15:02:15 +02:00
elextr
8ca8b26051 Merge pull request #1029 from AleXoundOS/AleXoundOS-patch-2
Fix Haskell single line comments by adding space
2016-05-12 17:54:30 +10:00
Jiří Techet
6e89ee5ebe Check for fclose() success 2016-05-06 22:00:14 +02:00
Jiří Techet
b959801d8f Rename append_to_temp_file() to combine_include_files() 2016-05-06 21:56:47 +02:00
Jiří Techet
7fe549d480 Make sure not to leak tmp_errfile if only outf creation fails 2016-05-06 21:47:04 +02:00
Jiří Techet
084c23bbb1 Use g_strdup() instead of strdup() 2016-05-06 21:43:50 +02:00
Jiří Techet
bd9d26a0d1 Fix crash in lookup_includes()
Right now

geany -g foo.c.tags \"

makes Geany crash.
2016-05-06 21:42:13 +02:00
Jiří Techet
9ae93e34a0 Check return value of write_tag()
If we were strict, we should check every single fprintf() int write_tag()
but it's highly improbable that some of the middle fprintf()s fail and
the last one doesn't so the current implementation of write_tag() is
probably sufficient.
2016-05-06 21:08:24 +02:00
Jiří Techet
8c27ea1042 Remove invalid part of a comment 2016-05-06 17:34:26 +02:00
Jiří Techet
c05e3eabf1 Split tm_ctags_callback into two
One to inform about a new tag, the other informing about a start of a new
pass.
2016-05-06 17:29:54 +02:00
Jiří Techet
9b188a20ef Use g_error() instead of g_warning() in parser type verification 2016-05-06 17:06:57 +02:00
Colomban Wendling
f147f36daf Reduce some repetitions in tag type mapping code
* Use a streamlined name for each map, `map_LANGUAGE`, where `LANGUAGE`
  is the CTags parser name from tm_parser.h.  This allows some further
  automation.
* Make sure the maps are referenced at the correct index in
  `parser_map`, even if they were not in the same order as in the
  `TMParserType` enumeration by using explicit sub-object initializers.
* As explicit sub-object initialization might lead to a missing
  initializer for a non-last index going unnoticed, add a check for
  uninitialized entries to properly reject them even for regex parsers.
2016-05-06 17:02:32 +02:00
Colomban Wendling
0833974e1e Convert parser map size check to a static assertion 2016-05-06 16:52:54 +02:00
Colomban Wendling
4036d7d18a Remove not useless tm_source_file_ctags_init() indirection 2016-05-06 16:51:38 +02:00
Colomban Wendling
fdc4510864 Don't use char array subscript as it may be signed 2016-05-06 16:48:04 +02:00
Alexander
6b608974c0 Fix Haskell single line comments by adding space
Haskell single line comments consist of at least two dashes "--",
not followed by special symbol.
So in practice everywhere in code you will see a space following "--".
Reference: Haskell 2010 Language Report -> Chapter 2 -> Lexical Structure
2016-05-06 02:15:51 +04:00
Colomban Wendling
056e53c2c5 Make our convenience libraries more self-contained
Make each convenience library depend on the ones it requires, which is
pretty straightforward for us as they each only depend on a single
other one, avoiding any worry about double linking of static objects.
2016-05-04 19:11:13 +02:00
Colomban Wendling
7411f9b5cf Remove an unused variable 2016-05-04 19:11:13 +02:00
Colomban Wendling
2bdc96776c Use proper C prototypes 2016-05-04 19:11:13 +02:00
Yan Pashkovsky
175d987305 Reviewed java 2016-05-04 16:21:13 +03:00
Colomban Wendling
a291a4239a Merge branch 'gtk-3-20-fixes' 2016-05-03 00:32:51 +02:00
Colomban Wendling
f948916ad0 Don't get properties of a non-current style state to please GTK 3.20
GTK 3.20 doesn't like getting a style property for a non-current state,
unless the call is wrapped in a save()/restore() pair.

So, fix the code to either use the current state or temporarily save
the context.

gb.c now uses different states, but it shouldn't really matter given
how they are used, and even gives a native behavior when the window
loses focus, as it now properly reacts to BACKDROP state.
2016-05-03 00:31:38 +02:00
Colomban Wendling
75063e9159 Merge branch 'scintilla/gtk-3-20' into gtk-3-20-fixes 2016-05-02 15:26:39 +02:00
Colomban Wendling
c4f56bfcd6 Fix some custom CSS selectors to work on GTK 3.20 2016-05-02 15:26:29 +02:00
Colomban Wendling
5851f5616e Merge branch 'gtk-version-specific-css' into gtk-3-20-fixes
Merges pull request #994.
2016-05-02 15:25:47 +02:00
Neil Hodgson
bf3140004d Do not call deprecated functions on newer GTK+.
X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: 5e4f2e6c167ee30e2c2bfadd1b1579c3d8716c60
2016-05-02 15:19:26 +02:00
Neil Hodgson
0a0c9bb7ce Move function braces for consistency.
X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: cdded8beb41e4a494e68b76a6bafeeae14b0d103
2016-05-02 15:19:26 +02:00
Colomban Wendling
ba58a391c7 GTK: Get border for the exact current style's state on GTK 3
GTK 3.20 doesn't seem to like it so much when looking up details of a
non-exact current style context state, so use the current one.

This is GTK being really picky as in this case we are just missing the
`DIR_LTR` flag, which we definitely don't care about, but let's make it
happy.

X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: 9fc624da4a3d935633c45fb56d0e9a77ef9b5af1
2016-05-02 15:19:26 +02:00
Colomban Wendling
abf0365e43 GTK: Fix auto-completion popup sizing code for GTK 3.20
GTK 3.20's GtkScrolledWinodw doesn't like having a too small allocation
and spews scary assertion failures.  Fix that by requesting the real
size we'd like instead of hard-coding 1 as small-enough value in our
overriding height requisition method.

The actual value doesn't really matter so long as it's small enough
anyway, as we resize the popup to fit later on.

Note: this moves the actual implementation of ListBoxX::GetRowHeight()
to the new convenience function treeViewGetRowHeight(), with no changes
in implementation.

X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: 5a0afdd87d56d837dd8068e234aed8e2b6bdbe93
2016-05-02 15:19:26 +02:00
Colomban Wendling
2723727ecd GTK: Plug a memory leak
X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: 4f96ed32ebb94809ca419c0f77d37de41984cf76
2016-05-02 15:19:26 +02:00
Colomban Wendling
ead0e9ee5f GTK: Fix fetching the frame border width on GTK 3.20
GTK 3.20 introduced a sub-node named "border" to the frame, requiring
to lookup the border on that sub-node rather than on the frame itself.

Unfortunately supporting this requires to be built against GTK 3.20, as
it requires API this version introduced.  This means that a build
against an older version won't be able to get the popup sizing right if
running on 3.20.  To mitigate this, add reasonable fallback defaults
when running 3.20 but built on an earlier version, to try and avoid

X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: 83d56b1fc63a206e4c1b776f5991b3b17ccb3473
2px-scrolling on GTK 3.20's default theme.
2016-05-02 15:19:26 +02:00
Colomban Wendling
28a99f8188 GTK: Properly ask wText what size it wants to please GTK 3.20
It's not really of any use as we do know any size would do as wText is
ours anyway, but GTK 3.20 doesn't like allocating without querying the
preferred size beforehand, so do it.

As wText has a size_request() of 100x100, this might change how we
allocate in case we used to underallocate it, but AFAIK we don't, and
it is the real minimum size expected.

X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: d06e3db3e26842cd136328df17eb6f864b3adc02
2016-05-02 15:19:26 +02:00
Colomban Wendling
915e8b781c GTK: Fix popup font on GTK >= 3.20
X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1825/
X-Scintilla-Commit-ID: a28863773874af35d3cc8912ae3c028fb0462ea9
2016-05-02 15:19:26 +02:00
Colomban Wendling
62be0b9b96 Fix our tab close buttons appearance on GTK 3.20 2016-05-02 15:07:50 +02:00
Colomban Wendling
05870d9ebc Merge pull request #973 from techee/osx_keybindings
osx: force resync menus when changing keybindings
2016-04-30 00:22:58 +02:00
Yan Pashkovsky
a5a47da9f2 classbuilder: Use .hpp instead of .h for C++ header file extension
.hpp is a C++-specific extension avoiding any confusion, and better
supported as C++ out of the box by Geany.

Closes #999.
2016-04-30 00:06:51 +02:00
Colomban Wendling
854a5d5af8 Don't special-case tags files distributed with Geany
Load those tags files just as any user tags files, removing
unnecessary code redundancy.
2016-04-29 01:39:11 +02:00
Colomban Wendling
6b262bb4ec Make html_entities.tags a real tags file
This removes a fair amount of specific code that is just as well
handled by the generic symbols completion code.
2016-04-29 01:35:21 +02:00
Colomban Wendling
1403d352b2 Update Scintilla to version 3.6.5 2016-04-29 01:12:20 +02:00
Quentin Glidic
4374769b7c ui-utils: Fix ui_path_box_new with GTK+ >= 3.20
They introduced[1] a GtkBox between the GtkEntry and the GtkComboBox to
add some magic in the layout computation.

[1] <https://git.gnome.org/browse/gtk+/commit/?id=222c43fc60362eeb97ce2d5e3a5583a69a2e30ef>

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-04-17 11:57:38 +02:00
Quentin Glidic
1f392b75bf ui-utils: Load per-version GTK+ CSS file
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-04-14 13:17:12 +02:00
elextr
f74fdd8d1c Merge pull request #991 from philippwiesemann/fix-plugin-doc-typos
Fix typos in plugin documentation
2016-04-11 09:21:17 +10:00