From c3c831021884691389d0d614a24c3829147e0f39 Mon Sep 17 00:00:00 2001 From: Boris Faure Date: Wed, 7 May 2014 20:40:03 +0200 Subject: [PATCH] Fix bracketed paste mode. Closes T1233. Patch by Egmont --- src/bin/termio.c | 4 ++-- src/bin/termpty.h | 2 +- src/bin/termptyesc.c | 2 +- src/bin/termptyops.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/bin/termio.c b/src/bin/termio.c index 2ba473c9..b24c7a00 100644 --- a/src/bin/termio.c +++ b/src/bin/termio.c @@ -1858,13 +1858,13 @@ _getsel_cb(void *data, Evas_Object *obj EINA_UNUSED, Elm_Selection_Data *ev) if (i) { - if (sd->pty->state.bracketed_paste) + if (sd->pty->bracketed_paste) termpty_write(sd->pty, "\x1b[200~", sizeof("\x1b[200~") - 1); termpty_write(sd->pty, tmp, i); - if (sd->pty->state.bracketed_paste) + if (sd->pty->bracketed_paste) termpty_write(sd->pty, "\x1b[201~", sizeof("\x1b[201~") - 1); } diff --git a/src/bin/termpty.h b/src/bin/termpty.h index 42afd464..98febcef 100644 --- a/src/bin/termpty.h +++ b/src/bin/termpty.h @@ -99,7 +99,6 @@ struct _Termstate unsigned int reverse : 1; unsigned int no_autorepeat : 1; unsigned int cjk_ambiguous_wide : 1; - unsigned int bracketed_paste : 1; }; struct _Termpty @@ -150,6 +149,7 @@ struct _Termpty unsigned int altbuf : 1; unsigned int mouse_mode : 3; unsigned int mouse_ext : 2; + unsigned int bracketed_paste : 1; }; struct _Termcell diff --git a/src/bin/termptyesc.c b/src/bin/termptyesc.c index 9e30809e..f8f34d9f 100644 --- a/src/bin/termptyesc.c +++ b/src/bin/termptyesc.c @@ -857,7 +857,7 @@ _handle_esc_csi(Termpty *ty, const Eina_Unicode *c, Eina_Unicode *ce) break; case 2004: handled = 1; - ty->state.bracketed_paste = mode; + ty->bracketed_paste = mode; break; case 7727: // ignore handled = 1; diff --git a/src/bin/termptyops.c b/src/bin/termptyops.c index ac84866a..881972ed 100644 --- a/src/bin/termptyops.c +++ b/src/bin/termptyops.c @@ -388,9 +388,9 @@ _termpty_reset_state(Termpty *ty) ty->state.hidecursor = 0; ty->state.crlf = 0; ty->state.had_cr = 0; - ty->state.bracketed_paste = 0; ty->mouse_mode = MOUSE_OFF; ty->mouse_ext = MOUSE_EXT_NONE; + ty->bracketed_paste = 0; } void