https://savannah.gnu.org/bugs/index.php?23955 --- process.c.orig 2008-05-08 02:37:33.000000000 +0800 +++ process.c 2008-05-08 02:37:49.000000000 +0800 @@ -3422,6 +3422,7 @@ { WinSwitchEncoding(fore, n); ResetCharsets(fore); + RedisplayDisplays(0); } else if (i && display) D_encoding = n; --- screen.c.orig 2008-05-08 02:37:22.000000000 +0800 +++ screen.c 2008-05-20 20:34:37.000000000 +0800 @@ -2584,6 +2584,17 @@ } 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) + { + strcpy(p, EncodingName(win->w_encoding)); + } + p += strlen(p) - 1; + break; +#endif case '{': { char rbuf[128];