summaryrefslogtreecommitdiff
path: root/patches/source/screen/58-show-encoding-hardstatus.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/source/screen/58-show-encoding-hardstatus.patch')
-rw-r--r--patches/source/screen/58-show-encoding-hardstatus.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/patches/source/screen/58-show-encoding-hardstatus.patch b/patches/source/screen/58-show-encoding-hardstatus.patch
new file mode 100644
index 00000000..45fecdbf
--- /dev/null
+++ b/patches/source/screen/58-show-encoding-hardstatus.patch
@@ -0,0 +1,41 @@
+Author: rascov@rascov.tw
+Date: Wed Feb 11 05:51:31 CST 2009
+Subject: show encoding in hardstatus, orginal from FreeBSD by yzlin@cs.nctu.edu.tw
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/screen/+bug/286810
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=533498
+
+Index: screen/screen.c
+===================================================================
+--- screen.orig/screen.c 2014-04-28 03:14:19.195018278 +0200
++++ screen/screen.c 2014-04-28 03:14:19.179018199 +0200
+@@ -2801,6 +2801,18 @@
+ }
+ p += strlen(p) - 1;
+ break;
++ #ifdef ENCODINGS
++ case 'e':
++ *p = 0;
++ D_encoding = nwin_options.encoding > 0 ? nwin_options.encoding : 0;
++ if (win && win->w_encoding)
++ {
++ *p++ = ' ';
++ strcpy(p, EncodingName(win->w_encoding));
++ }
++ p += strlen(p) - 1;
++ break;
++ #endif
+ case '{':
+ {
+ char rbuf[128];
+Index: screen/process.c
+===================================================================
+--- screen.orig/process.c 2014-04-28 03:14:19.195018278 +0200
++++ screen/process.c 2014-04-28 03:14:19.183018228 +0200
+@@ -3693,6 +3693,7 @@
+ {
+ WinSwitchEncoding(fore, n);
+ ResetCharsets(fore);
++ RedisplayDisplays(0);
+ }
+ else if (i && display)
+ D_encoding = n;