[Ttssh2-commit] [6943] DECRQSSへの応答 (DECRPSS) を修正。

Back to archive index

scmno****@osdn***** scmno****@osdn*****
2017年 9月 27日 (水) 12:16:21 JST


Revision: 6943
          http://sourceforge.jp/projects/ttssh2/scm/svn/commits/6943
Author:   doda
Date:     2017-09-27 12:16:21 +0900 (Wed, 27 Sep 2017)
Log Message:
-----------
DECRQSSへの応答(DECRPSS)を修正。

VT510 Video Terminal Programmer Information での DECRPSS の記述 [*1] では
最初のパラメータはの意味は以下のようになっている。

 0 -> valid
 1 -> invalid

VT520/VT525 Video Terminal Programmer Information [*2] でも同様の記述。
Tera Term ではこの記述に従って DECRQSS/DECRPSS を実装していた。

しかし、以下の物で 0/1 と valid/invalid の対応が逆(1がvalid)となって
いた為、[*1] の記述は誤りと判断し、Tera Term の動作も変更する。

 * xterm での DECRQSS/DECRPSS の動作
 * VT382 Kanji Display Terminal Programmer Reference Manual [*3]
 * VT382, VT525 の実機の動作

1: https://vt100.net/docs/vt510-rm/DECRPSS.html
2: https://vt100.net/docs/vt520-rm/
3: https://vt100.net/manx/details/1,4208

Modified Paths:
--------------
    trunk/doc/en/html/about/history.html
    trunk/doc/ja/html/about/history.html
    trunk/teraterm/teraterm/vtterm.c

-------------- next part --------------
Modified: trunk/doc/en/html/about/history.html
===================================================================
--- trunk/doc/en/html/about/history.html	2017-09-27 03:16:17 UTC (rev 6942)
+++ trunk/doc/en/html/about/history.html	2017-09-27 03:16:21 UTC (rev 6943)
@@ -38,6 +38,12 @@
       <li>The response of DA2 request is changed.</li>
     </ul>
   </li>
+
+  <li>Buf fixes
+    <ul>
+      <li>The response of DECRQSS control sequence was invalid.</li>
+    </ul>
+  </li>
 </ul>
 
 

Modified: trunk/doc/ja/html/about/history.html
===================================================================
--- trunk/doc/ja/html/about/history.html	2017-09-27 03:16:17 UTC (rev 6942)
+++ trunk/doc/ja/html/about/history.html	2017-09-27 03:16:21 UTC (rev 6943)
@@ -38,6 +38,12 @@
       <li>DA2 \x97v\x8B\x81\x82ւ̉\x9E\x93\x9A\x93\xE0\x97e\x82\xF0\x95ύX\x82\xB5\x82\xBD\x81B</li>
     </ul>
   </li>
+
+  <li>\x83o\x83O\x8FC\x90\xB3
+    <ul>
+      <li>DECRQSS \x90\xA7\x8C\xE4\x83V\x81[\x83P\x83\x93\x83X\x82ւ̉\x9E\x93\x9A\x82\xAA\x8AԈ\xE1\x82\xC1\x82Ă\xA2\x82\xE9\x96\xE2\x91\xE8\x82\xF0\x8FC\x90\xB3\x82\xB5\x82\xBD\x81B</li>
+    </ul>
+  </li>
 </ul>
 
 

Modified: trunk/teraterm/teraterm/vtterm.c
===================================================================
--- trunk/teraterm/teraterm/vtterm.c	2017-09-27 03:16:17 UTC (rev 6942)
+++ trunk/teraterm/teraterm/vtterm.c	2017-09-27 03:16:21 UTC (rev 6943)
@@ -3996,7 +3996,7 @@
 			if (ts.NonblinkingCursor) {
 				tmp++;
 			}
-			len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "0$r%d q", CLocale, tmp);
+			len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "1$r%d q", CLocale, tmp);
 		}
 		break;
 	  case '"':
@@ -4003,19 +4003,19 @@
 		switch (StrBuff[1]) {
 		  case 'p': // DECSCL
 			if (VTlevel > 1 && Send8BitMode) {
-				len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "0$r6%d;0\"p", CLocale, VTlevel);
+				len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "1$r6%d;0\"p", CLocale, VTlevel);
 			}
 			else {
-				len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "0$r6%d;1\"p", CLocale, VTlevel);
+				len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "1$r6%d;1\"p", CLocale, VTlevel);
 			}
 			break;
 
 		  case 'q': // DECSCA
 			if (CharAttr.Attr2 & Attr2Protect) {
-				len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "0$r1\"q", CLocale);
+				len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "1$r1\"q", CLocale);
 			}
 			else {
-				len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "0$r0\"q", CLocale);
+				len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "1$r0\"q", CLocale);
 			}
 			break;
 		}
@@ -4022,7 +4022,7 @@
 		break;
 	  case 'm':	// SGR
 		if (StrBuff[1] == 0) {
-			len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "0$r0", CLocale);
+			len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "1$r0", CLocale);
 			if (CharAttr.Attr & AttrBold) {
 				len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, ";1", CLocale);
 			}
@@ -4088,17 +4088,17 @@
 		break;
 	  case 'r':	// DECSTBM
 		if (StrBuff[1] == 0) {
-			len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "0$r%d;%dr", CLocale, CursorTop+1, CursorBottom+1);
+			len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "1$r%d;%dr", CLocale, CursorTop+1, CursorBottom+1);
 		}
 		break;
 	  case 's':	// DECSLRM
 		if (StrBuff[1] == 0) {
-			len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "0$r%d;%ds", CLocale, CursorLeftM+1, CursorRightM+1);
+			len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "1$r%d;%ds", CLocale, CursorLeftM+1, CursorRightM+1);
 		}
 		break;
 	}
 	if (len == 0) {
-		if (strncpy_s(RepStr, sizeof(RepStr), "1$r", _TRUNCATE)) {
+		if (strncpy_s(RepStr, sizeof(RepStr), "0$r", _TRUNCATE)) {
 			return;
 		}
 		len = 3;



Ttssh2-commit メーリングリストの案内
Back to archive index