diff --git a/src/terminal.c b/src/terminal.c
index 1baad7b..7fadbb6 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -38,6 +38,7 @@
  * in tl_scrollback are no longer used.
  *
  * TODO:
+ * - better check for blinking - reply from Thomas Dickey Aug 22
  * - test for writing lines to terminal job does not work on MS-Windows
  * - implement term_setsize()
  * - add test for giving error for invalid 'termsize' value.
@@ -45,6 +46,10 @@
  * - support minimal size when 'termsize' is empty?
  * - do not set bufhidden to "hide"?  works like a buffer with changes.
  *   document that CTRL-W :hide can be used.
+ * - GUI: when using tabs, focus in terminal, click on tab does not work.
+ * - GUI: when 'confirm' is set and trying to exit Vim, dialog offers to save
+ *   changes to "!shell".
+ *   (justrajdeep, 2017 Aug 22)
  * - command argument with spaces doesn't work #1999
  *       :terminal ls dir\ with\ spaces
  * - implement job options when starting a terminal.  Allow:
@@ -1261,9 +1266,31 @@
 	for (item = l->lv_first; item != NULL; item = item->li_next)
 	{
 	    char_u *s = get_tv_string(&item->li_tv);
+#ifdef WIN3264
+	    char_u *tmp = s;
 
+	    if (!enc_utf8 && enc_codepage > 0)
+	    {
+		WCHAR   *ret = NULL;
+		int	length = 0;
+
+		MultiByteToWideChar_alloc(enc_codepage, 0, (char*)s, STRLEN(s),
+							   &ret, &length);
+		if (ret != NULL)
+		{
+		    WideCharToMultiByte_alloc(CP_UTF8, 0,
+				    ret, length, (char **)&s, &length, 0, 0);
+		    vim_free(ret);
+		}
+	    }
+#endif
 	    channel_send(curbuf->b_term->tl_job->jv_channel, PART_IN,
 							   s, STRLEN(s), NULL);
+#ifdef WIN3264
+	    if (tmp != s)
+		vim_free(s);
+#endif
+
 	    if (item->li_next != NULL || type == MLINE)
 		channel_send(curbuf->b_term->tl_job->jv_channel, PART_IN,
 						      (char_u *)"\r", 1, NULL);
