[geany/geany] 65e2c7: VTE: don't hard-require vte_terminal_set_word_chars()
Colomban Wendling
git-noreply at geany.org
Sat Oct 29 14:09:04 UTC 2016
Branch: refs/heads/master
Author: Colomban Wendling <ban at herbesfolles.org>
Committer: Colomban Wendling <ban at herbesfolles.org>
Date: Sat, 29 Oct 2016 14:09:04 UTC
Commit: 65e2c7cb05916debb919b6f6d1b60e7e711e0b1d
https://github.com/geany/geany/commit/65e2c7cb05916debb919b6f6d1b60e7e711e0b1d
Log Message:
-----------
VTE: don't hard-require vte_terminal_set_word_chars()
VTE 0.38 removed it, so only use it when available. With >= 0.40,
use vte_terminal_set_word_char_exceptions() instead.
Modified Paths:
--------------
src/vte.c
Modified: src/vte.c
12 lines changed, 10 insertions(+), 2 deletions(-)
===================================================================
@@ -69,6 +69,7 @@ static guint terminal_label_update_source = 0;
/* use vte wordchars to select paths */
static const gchar VTE_WORDCHARS[] = "-A-Za-z0-9,./?%&#:_";
+static const gchar VTE_ADDITIONAL_WORDCHARS[] = "-,./?%&#:_";
/* Incomplete VteTerminal struct from vte/vte.h. */
@@ -108,6 +109,7 @@ struct VteFunctions
GCancellable *cancellable, GError **error);
void (*vte_terminal_set_size) (VteTerminal *terminal, glong columns, glong rows);
void (*vte_terminal_set_word_chars) (VteTerminal *terminal, const char *spec);
+ void (*vte_terminal_set_word_char_exceptions) (VteTerminal *terminal, const char *exceptions);
void (*vte_terminal_set_mouse_autohide) (VteTerminal *terminal, gboolean setting);
void (*vte_terminal_reset) (VteTerminal *terminal, gboolean full, gboolean clear_history);
GType (*vte_terminal_get_type) (void);
@@ -323,7 +325,10 @@ static void create_vte(void)
vf->vte_terminal_set_size(VTE_TERMINAL(vte), 30, 1);
vf->vte_terminal_set_mouse_autohide(VTE_TERMINAL(vte), TRUE);
- vf->vte_terminal_set_word_chars(VTE_TERMINAL(vte), VTE_WORDCHARS);
+ if (vf->vte_terminal_set_word_chars)
+ vf->vte_terminal_set_word_chars(VTE_TERMINAL(vte), VTE_WORDCHARS);
+ else if (vf->vte_terminal_set_word_char_exceptions)
+ vf->vte_terminal_set_word_char_exceptions(VTE_TERMINAL(vte), VTE_ADDITIONAL_WORDCHARS);
gtk_drag_dest_set(vte, GTK_DEST_DEFAULT_ALL,
dnd_targets, G_N_ELEMENTS(dnd_targets), GDK_ACTION_COPY);
@@ -529,7 +534,10 @@ static gboolean vte_register_symbols(GModule *mod)
if (! BIND_SYMBOL(vte_terminal_spawn_sync))
/* vte_terminal_spawn_sync() is available only in 0.38 */
BIND_REQUIRED_SYMBOL(vte_terminal_fork_command);
- BIND_REQUIRED_SYMBOL(vte_terminal_set_word_chars);
+ /* 0.38 removed vte_terminal_set_word_chars() */
+ BIND_SYMBOL(vte_terminal_set_word_chars);
+ /* 0.40 introduced it under a different API */
+ BIND_SYMBOL(vte_terminal_set_word_char_exceptions);
BIND_REQUIRED_SYMBOL(vte_terminal_set_mouse_autohide);
BIND_REQUIRED_SYMBOL(vte_terminal_reset);
BIND_REQUIRED_SYMBOL(vte_terminal_get_type);
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Commits
mailing list