8552 Commits

Author SHA1 Message Date
Colomban Wendling
ec15b6f529 scripts/cross-build-mingw.sh: Use newer support libraries with GTK2
Combine the libraries from the GTK3 bundle with GTK from the GTK2 one
to get newer GLib & co for GTK2 builds.
2016-06-23 22:33:49 +02:00
Thomas Martitz
314a5c180e geanyobject: properly register signals
If possible, register signals with the proper argument types (boxed or gobject).
This is required for successful introspection of the signals and important
for GI-based plugins.

As for the marshallers, if available use a predefined one from glib. Otherwise
use the generic marshaller available since 2.30 (in theory all signals could
use that one but it has a bit of overhead).

This builds on the gboxed conversions of earlier commits.

This also bumps the minimum glib requirement.
 - g_cclosure_marshal_generic requires 2.30 (if NULL is passed as marshaller
   to g_signal_new())
 - G_TYPE_KEYFILE requires 2.32
2016-06-23 22:33:43 +02:00
Thomas Martitz
c6f1fadf0b plugin api: export scnotification_get_type
Updated scintilla_changes.patch accordingly
2016-06-22 16:18:35 +02:00
Thomas Martitz
2acba3dc31 plugin api: export geanyobject
geanyobject can be used by plugins to connect to plugin signals directly
(required for GI-based plugins). Access through GeanyData::object. The related
doxygen comments are @gironly for now, since plugin_signal_connect() is still
preferred.

Finally, the useless function pointer prototypes are removed from the
GeanyObjectClass structure as they became useless (they have been unused and
generally wrong since ever).
2016-06-22 16:10:32 +02:00
Thomas Martitz
be64b177ca plugin api: convert GeanyEditor to GBoxed internally
GeanyObject signals require GTypes to be gobject-introspection compatible.
2016-06-22 16:10:31 +02:00
Thomas Martitz
7702a4639b plugin api: convert GeanyFiletype to GBoxed internally
GeanyObject signals require GTypes to be gobject-introspection compatible.
2016-06-22 16:10:11 +02:00
Thomas Martitz
60fb01d6db plugin api: convert GeanyDocument to GBoxed internally
GeanyObject signals require GTypes to be gobject-introspection compatible.
2016-06-22 16:09:56 +02:00
Enrico Troeger
b28d14bb2b Windows: Add new indirect dependencies to the bundle 2016-06-17 20:42:49 +02:00
Frank Lanitz
8a67c094ea Merge pull request #1073 from philippwiesemann/change-java-template
Change array type syntax in Java file template
2016-06-16 09:04:02 +02:00
Philipp Wiesemann
be4ed86f35 Change array type syntax in Java file template
Square brackets following the element type are more common.
2016-06-15 23:05:09 +02:00
Frank Lanitz
0ec12ca11d Minor update of German translation 2016-06-12 14:44:59 +02:00
Jiří Techet
d1d0eb6186 Merge pull request #1068 from b4n/tm/run-tests
TM: Fix actually running the mapping self-tests
2016-06-11 10:21:07 +02:00
Colomban Wendling
f489043864 Merge pull request #946 from techee/scintilla_quartz
Enable buffered draw on newer GTK versions on OS X
2016-06-11 01:09:49 +02:00
Colomban Wendling
50123626c7 TM: Fix actually running the mapping self-tests 2016-06-11 01:02:54 +02:00
Colomban Wendling
021bbfb82b Merge pull request #958 from techee/goto_popup
Improve Goto Symbol popup contents
2016-06-10 23:47:57 +02:00
Colomban Wendling
60147a8c8d Merge pull request #857 from techee/cpp_h
Treat the "h" extension as a C++ file
2016-06-10 23:30:02 +02:00
Colomban Wendling
7fbe6ad832 Merge pull request #957 from techee/ctags_hook
TagManager cleanups
2016-06-10 23:09:09 +02:00
Jiří Techet
27e4455502 Drop g_list_reverse()
Since the original include list is already reordered by the hash table,
it makes no sense to reverse the resulting list as it's in a different
order anyway.
2016-06-09 10:30:07 +02:00
Jiří Techet
379eefa831 Use '\0' for non-existent tag kind instead of '-'
Shouldn't collide with real tag kind symbols and a non-visible character
is more probably unused by ctags than a visible one.
2016-06-09 10:24:47 +02:00
Jiří Techet
20e3681558 Try harder when definition/declaration was not found
Even when we know when should be searching for definition (or declaration),
we can keep searching for the opposite type too when we didn't find
anything with the "correct" def/decl type. So at least we find "something"
of that name.
2016-06-09 10:01:59 +02:00
Jiří Techet
ca8ef9643e Add parentheses in an if to make the condition more clear 2016-06-09 09:41:09 +02:00
Colomban Wendling
e328434a1f Merge pull request #980 from cjmayo/ecma_classes
javascript: Add ECMAScript 6 classes keywords
2016-06-08 23:54:39 +02:00
Colomban Wendling
81a5b771b5 scripts/cross-build-mingw.sh: Allow to specify the build directory
This can be useful to maintain 2 separate build directories in parallel,
i.e. for GTK2 and 3 builds.
2016-06-08 12:30:03 +02:00
Colomban Wendling
d95111d4cd Merge pull request #1039 from techee/highlight_fix2
Fix inconsistent typename highlighting updating.

Closes #1020, #1022.
2016-05-31 16:53:29 +02:00
Masatake YAMATO
9bc5857f89 make: fix a typo in parenthesis handling
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Colomban Wendling <ban@herbesfolles.org>
X-Universal-CTags-Commit-ID: 39c1236cc1a40aac6b93c60537d30489912bbbb2
X-Universal-CTags-Issue: universal-ctags/ctags#944
2016-05-31 15:35:49 +02:00
Colomban Wendling
b007cc009e Remove redundant typedef with new Scintilla that breaks Windows builds 2016-05-30 12:22:24 +02:00
Colomban Wendling
916c41e1e6 Merge branch 'scintilla/update-366' 2016-05-26 19:23:08 +02:00
Colomban Wendling
04296390de scintilla: Don't build with C++11 regex support
It seems to cause some compatibility issues with some current compilers
and we don't use it nor need it for extended regex support, so stay on
the safe side at least for the moment.
2016-05-26 19:22:27 +02:00
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