From 98da6b33164545b0e449fc9ebf9a72b079cf2e90 Mon Sep 17 00:00:00 2001 From: Daniel Gryniewicz Date: Tue, 9 Dec 2008 03:33:48 +0000 Subject: Fix ascii null backspace in screen. bug #249618 Package-Manager: portage-2.2_rc17/cvs/Linux 2.6.27-gentoo-r4 x86_64 --- .../vte/files/vte-0.17.4-no-null-backspace.patch | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 x11-libs/vte/files/vte-0.17.4-no-null-backspace.patch (limited to 'x11-libs/vte/files') diff --git a/x11-libs/vte/files/vte-0.17.4-no-null-backspace.patch b/x11-libs/vte/files/vte-0.17.4-no-null-backspace.patch new file mode 100644 index 000000000000..734e7b530ce4 --- /dev/null +++ b/x11-libs/vte/files/vte-0.17.4-no-null-backspace.patch @@ -0,0 +1,45 @@ +diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN vte-0.17.4.orig/src/vte.c vte-0.17.4/src/vte.c +--- vte-0.17.4.orig/src/vte.c 2008-09-08 15:48:31.000000000 -0400 ++++ vte-0.17.4/src/vte.c 2008-12-08 22:22:38.000000000 -0500 +@@ -4636,6 +4636,7 @@ vte_terminal_key_press(GtkWidget *widget + + /* Now figure out what to send to the child. */ + if ((event->type == GDK_KEY_PRESS) && !modifier) { ++ cc_t erase = VTE_VDISABLE; + handled = FALSE; + /* Map the key to a sequence name if we can. */ + switch (keyval) { +@@ -4661,11 +4662,15 @@ vte_terminal_key_press(GtkWidget *widget + if (terminal->pvt->pty_master != -1) { + if (tcgetattr(terminal->pvt->pty_master, + &tio) != -1) { +- normal = g_strdup_printf("%c", +- tio.c_cc[VERASE]); + normal_length = 1; ++ erase = tio.c_cc[VERASE]; + } + } ++ if (erase == VTE_VDISABLE) ++ normal = g_strdup(""); /* Fallback value. */ ++ else ++ normal = g_strdup_printf("%c", erase); ++ normal_length = 1; + suppress_meta_esc = FALSE; + break; + } +diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN vte-0.17.4.orig/src/vte-private.h vte-0.17.4/src/vte-private.h +--- vte-0.17.4.orig/src/vte-private.h 2008-09-08 15:48:31.000000000 -0400 ++++ vte-0.17.4/src/vte-private.h 2008-12-08 22:22:38.000000000 -0500 +@@ -91,6 +91,12 @@ G_BEGIN_DECLS + #define VTE_MAX_PROCESS_TIME 100 + #define VTE_CELL_BBOX_SLACK 1 + ++#ifdef _POSIX_VDISABLE /* From unistd.h */ ++#define VTE_VDISABLE _POSIX_VDISABLE ++#else ++#define VTE_VDISABLE '\0' ++#endif ++ + /* The structure we use to hold characters we're supposed to display -- this + * includes any supported visible attributes. */ + struct vte_charcell { -- cgit v1.2.3-65-gdbad