=== modified file 'debian/changelog' --- debian/changelog 2013-06-12 23:44:22 +0000 +++ debian/changelog 2013-06-12 23:44:29 +0000 @@ -1,3 +1,16 @@ +vte3 (1:0.34.6-1ubuntu1) UNRELEASED; urgency=low + + * Merge with Debian experimental (LP: #1190412), remaining changes: + - debian/patches/91_keep_fds.patch: + + Keep file descriptors open on vte_fork_pty() + - debian/patches/93_add_alt_screen_scroll_toggle.patch: + + Add API for toggling alternate screen scrolling. + + Update symbols file to add this new symbol + * Dropped change, applied in new release: + - debian/patches/vte.sh-return.patch + + -- Jeremy Bicha Wed, 12 Jun 2013 19:38:05 -0400 + vte3 (1:0.34.6-1) unstable; urgency=low * New upstream release. === modified file 'debian/control' --- debian/control 2013-06-12 23:44:22 +0000 +++ debian/control 2013-06-12 23:44:29 +0000 @@ -2,12 +2,12 @@ # # Modifications should be made to debian/control.in instead. # This file is regenerated automatically in the clean target. - Source: vte3 Section: libs Priority: optional -Maintainer: Debian GNOME Maintainers -Uploaders: Andreas Henriksson , Emilio Pozuelo Monfort , Martin Pitt , Michael Biebl +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian GNOME Maintainers +Uploaders: Andreas Henriksson , Debian GNOME Maintainers , Emilio Pozuelo Monfort , Martin Pitt , Michael Biebl Standards-Version: 3.9.3 Build-Depends: cdbs (>= 0.4.90), debhelper (>= 8), === modified file 'debian/control.in' --- debian/control.in 2013-06-12 23:44:22 +0000 +++ debian/control.in 2013-06-12 23:44:29 +0000 @@ -1,7 +1,8 @@ Source: vte3 Section: libs Priority: optional -Maintainer: Debian GNOME Maintainers +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian GNOME Maintainers Uploaders: @GNOME_TEAM@ Standards-Version: 3.9.3 Build-Depends: cdbs (>= 0.4.90), === modified file 'debian/libvte-2.90-9.symbols' --- debian/libvte-2.90-9.symbols 2013-06-12 23:44:22 +0000 +++ debian/libvte-2.90-9.symbols 2013-06-12 23:44:29 +0000 @@ -41,6 +41,7 @@ vte_terminal_forkpty@Base 1:0.27.2 vte_terminal_get_adjustment@Base 1:0.27.2 vte_terminal_get_allow_bold@Base 1:0.27.2 + vte_terminal_set_alternate_screen_scroll@Base 1:0.30.1-2ubuntu1 vte_terminal_get_audible_bell@Base 1:0.27.2 vte_terminal_get_char_ascent@Base 1:0.27.2 vte_terminal_get_char_descent@Base 1:0.27.2 === added file 'debian/patches/91_keep_fds.patch' --- debian/patches/91_keep_fds.patch 1970-01-01 00:00:00 +0000 +++ debian/patches/91_keep_fds.patch 2013-06-12 23:44:29 +0000 @@ -0,0 +1,71 @@ +Upstream: http://bugzilla.gnome.org/show_bug.cgi?id=320128 +Description: Keep file descriptors open on vte_fork_pty(). + +Index: b/src/pty.c +=================================================================== +--- a/src/pty.c ++++ b/src/pty.c +@@ -207,6 +207,7 @@ + + GSpawnChildSetupFunc extra_child_setup; + gpointer extra_child_setup_data; ++ int keep_fd; + } VtePtyChildSetupData; + + /** +@@ -348,6 +349,20 @@ + close(fd); + } + ++ if (data->keep_fd > 0) { ++ int i; ++ /* Close most descriptors. */ ++ for (i = 0; i < sysconf(_SC_OPEN_MAX); i++) { ++ if (i != data->keep_fd && ++ i != fd && ++ i != STDOUT_FILENO && ++ i != STDIN_FILENO && ++ i != STDERR_FILENO) { ++ close(i); ++ } ++ } ++ } ++ + /* Reset our signals -- our parent may have done any number of + * weird things to them. */ + _vte_pty_reset_signal_handlers(); +@@ -466,6 +481,23 @@ + return (gchar **) g_ptr_array_free (array, FALSE); + } + ++static int ++_vte_pty_keep_fd(char **env_add) ++{ ++ int i; ++ if (env_add == NULL) ++ return -1; ++ ++ const gchar *needle = "VTE_PTY_KEEP_FD="; ++ for (i = 0; env_add[i] != NULL; i++) { ++ gchar *s = strstr(env_add[i], needle); ++ if (s != NULL) ++ return atoi(&s[strlen(needle)]); ++ } ++ ++ return -1; ++} ++ + /* + * __vte_pty_get_pty_flags: + * @lastlog: %TRUE if the session should be logged to the lastlog +@@ -551,6 +583,10 @@ + /* add the given environment to the childs */ + envp2 = __vte_pty_merge_environ (envv, pty->priv->term); + ++ pty->priv->child_setup_data.keep_fd = _vte_pty_keep_fd(envp2); ++ if (pty->priv->child_setup_data.keep_fd > 0) ++ spawn_flags |= G_SPAWN_LEAVE_DESCRIPTORS_OPEN; ++ + _VTE_DEBUG_IF (VTE_DEBUG_MISC) { + g_printerr ("Spawing command:\n"); + for (i = 0; argv[i] != NULL; i++) { === added file 'debian/patches/93_add_alt_screen_scroll_toggle.patch' --- debian/patches/93_add_alt_screen_scroll_toggle.patch 1970-01-01 00:00:00 +0000 +++ debian/patches/93_add_alt_screen_scroll_toggle.patch 2013-06-12 23:44:29 +0000 @@ -0,0 +1,69 @@ +Ubuntu: https://bugs.launchpad.net/bugs/106995 +Upstream: http://bugzilla.gnome.org/show_bug.cgi?id=518405 +Description: Handle scrolling differently when using alternate screen or + scrolling is restricted. + +Index: b/src/vte.c +=================================================================== +--- a/src/vte.c ++++ b/src/vte.c +@@ -11377,8 +11377,9 @@ + return FALSE; + } + +- if (terminal->pvt->screen == &terminal->pvt->alternate_screen || +- terminal->pvt->normal_screen.scrolling_restricted) { ++ if (terminal->pvt->alternate_screen_scroll && ++ (terminal->pvt->screen == &terminal->pvt->alternate_screen || ++ terminal->pvt->normal_screen.scrolling_restricted)) { + char *normal; + gssize normal_length; + const gchar *special; +@@ -13113,6 +13114,22 @@ + g_object_notify (G_OBJECT (terminal), "scroll-on-keystroke"); + } + ++/** ++ * vte_terminal_set_alternate_screen_scroll: ++ * @terminal: a #VteTerminal ++ * @scroll: %TRUE if the terminal should send keystrokes for scrolling when using alternate screen ++ * ++ * Controls whether or not the terminal will send keystrokes for scrolling ++ * when using alternate screen or scrolling is restricted. ++ * ++ */ ++void ++vte_terminal_set_alternate_screen_scroll(VteTerminal *terminal, gboolean scroll) ++{ ++ g_return_if_fail(VTE_IS_TERMINAL(terminal)); ++ terminal->pvt->alternate_screen_scroll = scroll; ++} ++ + static void + vte_terminal_real_copy_clipboard(VteTerminal *terminal) + { +Index: b/src/vte.h +=================================================================== +--- a/src/vte.h ++++ b/src/vte.h +@@ -310,6 +310,8 @@ + void vte_terminal_set_scroll_on_output(VteTerminal *terminal, gboolean scroll); + void vte_terminal_set_scroll_on_keystroke(VteTerminal *terminal, + gboolean scroll); ++void vte_terminal_set_alternate_screen_scroll(VteTerminal *terminal, ++ gboolean scroll); + + /* Set the color scheme. */ + void vte_terminal_set_color_dim(VteTerminal *terminal, +Index: b/src/vte-private.h +=================================================================== +--- a/src/vte-private.h ++++ b/src/vte-private.h +@@ -280,6 +280,7 @@ + gboolean scroll_on_output; + gboolean scroll_on_keystroke; + long scrollback_lines; ++ gboolean alternate_screen_scroll; + + /* Cursor shape */ + VteTerminalCursorShape cursor_shape; === modified file 'debian/patches/series' --- debian/patches/series 2013-06-12 23:44:22 +0000 +++ debian/patches/series 2013-06-12 23:44:29 +0000 @@ -3,3 +3,5 @@ 04_workaround_resources_compiler_path.patch 25_optional-ncurses.patch 60_termcap-home-end.patch +91_keep_fds.patch +93_add_alt_screen_scroll_toggle.patch