changeset 12224:bccf3de74724 v8.0.0992

patch 8.0.0992: terminal title is wrong when 'encoding' is DBCS commit https://github.com/vim/vim/commit/33d66bd9fa0e1b3fbba33d6a1a0609915ac79441 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Aug 23 23:51:58 2017 +0200 patch 8.0.0992: terminal title is wrong when 'encoding' is DBCS Problem: Terminal title is wrong when 'encoding' is DBCS. Solution: Convert the title from DBCS to utf-8. (Yasuhiro Matsumoto, closes #2009)
author Christian Brabandt <cb@256bit.org>
date Thu, 24 Aug 2017 00:00:05 +0200
parents 3d4af6d86841
children fc791b69be77
files src/terminal.c src/version.c
diffstat 2 files changed, 20 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -1837,6 +1837,24 @@ handle_settermprop(
 	     * displayed */
 	    if (*skipwhite((char_u *)value->string) == NUL)
 		term->tl_title = NULL;
+#ifdef WIN3264
+	    else if (!enc_utf8 && enc_codepage > 0)
+	    {
+		WCHAR   *ret = NULL;
+		int	length = 0;
+
+		MultiByteToWideChar_alloc(CP_UTF8, 0,
+			(char*)value->string, STRLEN(value->string),
+								&ret, &length);
+		if (ret != NULL)
+		{
+		    WideCharToMultiByte_alloc(enc_codepage, 0,
+					ret, length, (char**)&term->tl_title,
+					&length, 0, 0);
+		    vim_free(ret);
+		}
+	    }
+#endif
 	    else
 		term->tl_title = vim_strsave((char_u *)value->string);
 	    vim_free(term->tl_status_text);
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    992,
+/**/
     991,
 /**/
     990,