[Ttssh2-commit] [8719] buffer.c で UNICODE_INTERNAL_BUFF を使用しないようにした

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2020年 4月 13日 (月) 01:41:01 JST


Revision: 8719
          https://osdn.net/projects/ttssh2/scm/svn/commits/8719
Author:   zmatsuo
Date:     2020-04-13 01:41:01 +0900 (Mon, 13 Apr 2020)
Log Message:
-----------
buffer.c で UNICODE_INTERNAL_BUFF を使用しないようにした

- 常にUnicodeとする
- 他のソースでも要チェック

Modified Paths:
--------------
    branches/unicode_buf_2/teraterm/common/tttypes.h
    branches/unicode_buf_2/teraterm/teraterm/buffer.c
    branches/unicode_buf_2/teraterm/teraterm/buffer.h

-------------- next part --------------
Modified: branches/unicode_buf_2/teraterm/common/tttypes.h
===================================================================
--- branches/unicode_buf_2/teraterm/common/tttypes.h	2020-04-12 16:40:54 UTC (rev 8718)
+++ branches/unicode_buf_2/teraterm/common/tttypes.h	2020-04-12 16:41:01 UTC (rev 8719)
@@ -57,9 +57,7 @@
 	IdTalkCB = 1,
 	IdTalkFile = 2,
 	IdTalkQuiet = 3,
-#if UNICODE_INTERNAL_BUFF
 	IdTalkSendMem,
-#endif
 } IdTalk;
 
   /* Character sets */

Modified: branches/unicode_buf_2/teraterm/teraterm/buffer.c
===================================================================
--- branches/unicode_buf_2/teraterm/teraterm/buffer.c	2020-04-12 16:40:54 UTC (rev 8718)
+++ branches/unicode_buf_2/teraterm/teraterm/buffer.c	2020-04-12 16:41:01 UTC (rev 8719)
@@ -51,8 +51,6 @@
 #include "unicode_test.h"
 #include "asprintf.h"
 
-#if UNICODE_INTERNAL_BUFF
-
 typedef unsigned long char32_t;		// C++11
 
 // \x83o\x83b\x83t\x83@\x93\xE0\x82̔\xBC\x8Ap1\x95\xB6\x8E\x9A\x95\xAA\x82̏\xEE\x95\xF1
@@ -71,7 +69,6 @@
 	char32_t *pCombinationChars32;
 	wchar_t	wc2[2];
 } buff_char_t;
-#endif
 
 #define BuffXMax TermWidthMax
 //#define BuffYMax 100000
@@ -104,13 +101,9 @@
 static PCHAR AttrLine2;
 static PCHAR AttrLineFG;
 static PCHAR AttrLineBG;
-#if UNICODE_INTERNAL_BUFF
 static buff_char_t *CodeLineW;
 #endif
-#endif
-#if UNICODE_INTERNAL_BUFF
 static buff_char_t *CodeBuffW;
-#endif
 static LONG LinePtr;
 static LONG BufferSize;
 static int NumOfLinesInBuff;
@@ -132,11 +125,8 @@
 static int SaveBuffX;
 static int SaveBuffY;
 
-#if UNICODE_INTERNAL_BUFF
 static void BuffDrawLineI(int DrawX, int DrawY, int SY, int IStart, int IEnd);
-#endif
 
-#if UNICODE_INTERNAL_BUFF
 static void BuffSetChar2(buff_char_t *buff, char32_t u32, char property, BOOL half_width, char emoji)
 {
 	size_t wstr_len;
@@ -266,8 +256,6 @@
 	return FALSE;
 }
 
-#endif
-
 static LONG GetLinePtr(int Line)
 {
 	LONG Ptr;
@@ -306,9 +294,7 @@
 	PCHAR CodeDest, AttrDest, AttrDest2, AttrDestFG, AttrDestBG;
 	LONG SrcPtr, DestPtr;
 	WORD LockOld;
-#if UNICODE_INTERNAL_BUFF
 	buff_char_t *CodeDestW;
-#endif
 
 	if (Nx > BuffXMax) {
 		Nx = BuffXMax;
@@ -331,9 +317,7 @@
 	AttrDest2 = NULL;
 	AttrDestFG = NULL;
 	AttrDestBG = NULL;
-#if UNICODE_INTERNAL_BUFF
 	CodeDestW = NULL;
-#endif
 
 	CodeDest = malloc(NewSize);
 	if (CodeDest == NULL) {
@@ -355,18 +339,14 @@
 	if (AttrDestBG == NULL) {
 		goto allocate_error;
 	}
-#if UNICODE_INTERNAL_BUFF
 	CodeDestW = malloc(NewSize * sizeof(buff_char_t));
 	if (CodeDestW == NULL) {
 		goto allocate_error;
 	}
-#endif
 
 	memset(&CodeDest[0], 0x20, NewSize);
-#if UNICODE_INTERNAL_BUFF
 	memset(&CodeDestW[0], 0, NewSize * sizeof(buff_char_t));
 	memsetW(&CodeDestW[0], 0x20, NewSize);
-#endif
 	memset(&AttrDest[0], AttrDefault, NewSize);
 	memset(&AttrDest2[0], AttrDefault, NewSize);
 	memset(&AttrDestFG[0], AttrDefaultFG, NewSize);
@@ -391,9 +371,7 @@
 		DestPtr = 0;
 		for (i = 1 ; i <= NyCopy ; i++) {
 			memcpy(&CodeDest[DestPtr],&CodeBuff[SrcPtr],NxCopy);
-#if UNICODE_INTERNAL_BUFF
 			memcpyW(&CodeDestW[DestPtr],&CodeBuffW[SrcPtr],NxCopy);
-#endif
 			memcpy(&AttrDest[DestPtr],&AttrBuff[SrcPtr],NxCopy);
 			memcpy(&AttrDest2[DestPtr],&AttrBuff2[SrcPtr],NxCopy);
 			memcpy(&AttrDestFG[DestPtr],&AttrBuffFG[SrcPtr],NxCopy);
@@ -435,9 +413,7 @@
 	AttrBuff2 = AttrDest2;
 	AttrBuffFG = AttrDestFG;
 	AttrBuffBG = AttrDestBG;
-#if UNICODE_INTERNAL_BUFF
 	CodeBuffW = CodeDestW;
-#endif
 	BufferSize = NewSize;
 	NumOfLinesInBuff = Ny;
 	BuffStartAbs = 0;
@@ -456,9 +432,7 @@
 	if (LockOld>0) {
 #if ATR
 		CodeLine = CodeBuff;
-#if UNICODE_INTERNAL_BUFF
 		CodeLineW = CodeBuffW;
-#endif
 		AttrLine = AttrBuff;
 		AttrLine2 = AttrBuff2;
 		AttrLineFG = AttrBuffFG;
@@ -478,9 +452,7 @@
 	if (AttrDest2)  free(AttrDest2);
 	if (AttrDestFG) free(AttrDestFG);
 	if (AttrDestBG) free(AttrDestBG);
-#if UNICODE_INTERNAL_BUFF
 	if (CodeDestW)  free(CodeDestW);
-#endif
 	return FALSE;
 }
 
@@ -533,10 +505,8 @@
 	AttrLine2 = &AttrBuff2[LinePtr];
 	AttrLineFG = &AttrBuffFG[LinePtr];
 	AttrLineBG = &AttrBuffBG[LinePtr];
-#if UNICODE_INTERNAL_BUFF
 	CodeLineW = &CodeBuffW[LinePtr];
 #endif
-#endif
 }
 
 void LockBuffer()
@@ -567,12 +537,10 @@
 		free(CodeBuff);
 		CodeBuff = NULL;
 	}
-#if UNICODE_INTERNAL_BUFF
 	if (CodeBuffW != NULL) {
 		free(CodeBuffW);
 		CodeBuffW = NULL;
 	}
-#endif
 	if (AttrBuff!=NULL) {
 		free(AttrBuff);
 		AttrBuff = NULL;
@@ -682,17 +650,13 @@
 		SrcPtr = GetLinePtr(PageStart+NumOfLines-1);
 		for (i=NumOfLines-1; i>=Bottom+1; i--) {
 			memcpy(&(CodeBuff[DestPtr]),&(CodeBuff[SrcPtr]),NumOfColumns);
-#if UNICODE_INTERNAL_BUFF
 			memcpyW(&(CodeBuffW[DestPtr]),&(CodeBuffW[SrcPtr]),NumOfColumns);
-#endif
 			memcpy(&(AttrBuff[DestPtr]),&(AttrBuff[SrcPtr]),NumOfColumns);
 			memcpy(&(AttrBuff2[DestPtr]),&(AttrBuff2[SrcPtr]),NumOfColumns);
 			memcpy(&(AttrBuffFG[DestPtr]),&(AttrBuffFG[SrcPtr]),NumOfColumns);
 			memcpy(&(AttrBuffBG[DestPtr]),&(AttrBuffBG[SrcPtr]),NumOfColumns);
 			memset(&(CodeBuff[SrcPtr]),0x20,NumOfColumns);
-#if UNICODE_INTERNAL_BUFF
 			memsetW(&(CodeBuffW[SrcPtr]),0x20,NumOfColumns);
-#endif
 			memset(&(AttrBuff[SrcPtr]),AttrDefault,NumOfColumns);
 			memset(&(AttrBuff2[SrcPtr]),CurCharAttr.Attr2 & Attr2ColorMask, NumOfColumns);
 			memset(&(AttrBuffFG[SrcPtr]),CurCharAttr.Fore,NumOfColumns);
@@ -704,9 +668,7 @@
 	}
 	for (i = 1 ; i <= n ; i++) {
 		memset(&CodeBuff[DestPtr],0x20,NumOfColumns);
-#if UNICODE_INTERNAL_BUFF
 		memsetW(&CodeBuffW[DestPtr],0x20,NumOfColumns);
-#endif
 		memset(&AttrBuff[DestPtr],AttrDefault,NumOfColumns);
 		memset(&AttrBuff2[DestPtr],CurCharAttr.Attr2 & Attr2ColorMask, NumOfColumns);
 		memset(&AttrBuffFG[DestPtr],CurCharAttr.Fore,NumOfColumns);
@@ -755,10 +717,8 @@
 	AttrLine2 = &AttrBuff2[LinePtr];
 	AttrLineFG = &AttrBuffFG[LinePtr];
 	AttrLineBG = &AttrBuffBG[LinePtr];
-#if UNICODE_INTERNAL_BUFF
 	CodeLineW = &CodeBuffW[LinePtr];
 #endif
-#endif
 }
 #endif
 
@@ -772,10 +732,8 @@
 	AttrLine2 = &AttrBuff2[LinePtr];
 	AttrLineFG = &AttrBuffFG[LinePtr];
 	AttrLineBG = &AttrBuffBG[LinePtr];
-#if UNICODE_INTERNAL_BUFF
 	CodeLineW = &CodeBuffW[LinePtr];
 #endif
-#endif
 }
 #endif
 
@@ -785,7 +743,6 @@
 //		1	\x83J\x81[\x83\\x83\x8B\x82\xAA\x8A\xBF\x8E\x9A\x82̉E\x91\xA4
 static void EraseKanji(int LR)
 {
-#if UNICODE_INTERNAL_BUFF
 #if !ATR
 	PCHAR CodeLine = &CodeBuff[LinePtr];
 	PCHAR AttrLine = &AttrBuff[LinePtr];
@@ -820,23 +777,6 @@
 			AttrLineBG[bx+1] = CurCharAttr.Back;
 		}
 	}
-#else
-	if ((CursorX-LR>=0) &&
-	    ((AttrLine[CursorX-LR] & AttrKanji) != 0)) {
-		CodeLine[CursorX-LR] = 0x20;
-		AttrLine[CursorX-LR] = CurCharAttr.Attr;
-		AttrLine2[CursorX-LR] = CurCharAttr.Attr2;
-		AttrLineFG[CursorX-LR] = CurCharAttr.Fore;
-		AttrLineBG[CursorX-LR] = CurCharAttr.Back;
-		if (CursorX-LR+1 < NumOfColumns) {
-			CodeLine[CursorX-LR+1] = 0x20;
-			AttrLine[CursorX-LR+1] = CurCharAttr.Attr;
-			AttrLine2[CursorX-LR+1] = CurCharAttr.Attr2;
-			AttrLineFG[CursorX-LR+1] = CurCharAttr.Fore;
-			AttrLineBG[CursorX-LR+1] = CurCharAttr.Back;
-		}
-	}
-#endif
 }
 
 void EraseKanjiOnLRMargin(LONG ptr, int count)
@@ -851,29 +791,21 @@
 		pos = ptr + CursorLeftM-1;
 		if (CursorLeftM>0 && (AttrBuff[pos] & AttrKanji)) {
 			CodeBuff[pos] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[pos], 0x20, 'H');
-#endif
 			AttrBuff[pos] &= ~AttrKanji;
 			pos++;
 			CodeBuff[pos] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[pos], 0x20, 'H');
-#endif
 			AttrBuff[pos] &= ~AttrKanji;
 		}
 		pos = ptr + CursorRightM;
 		if (CursorRightM < NumOfColumns-1 && (AttrBuff[pos] & AttrKanji)) {
 			CodeBuff[pos] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[pos], 0x20, 'H');
-#endif
 			AttrBuff[pos] &= ~AttrKanji;
 			pos++;
 			CodeBuff[pos] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[pos], 0x20, 'H');
-#endif
 			AttrBuff[pos] &= ~AttrKanji;
 		}
 		ptr = NextLinePtr(ptr);
@@ -882,7 +814,6 @@
 
 // Insert space characters at the current position
 //   Count: Number of characters to be inserted
-#if UNICODE_INTERNAL_BUFF
 void BuffInsertSpace(int Count)
 {
 #if !ATR
@@ -949,67 +880,7 @@
 	}
 	BuffUpdateRect(sx, CursorY, CursorRightM + extr, CursorY);
 }
-#else
-void BuffInsertSpace(int Count)
-// Insert space characters at the current position
-//   Count: Number of characters to be inserted
-{
-	int MoveLen;
-	int extr=0;
 
-	if (CursorX < CursorLeftM || CursorX > CursorRightM)
-		return;
-
-	NewLine(PageStart+CursorY);
-
-	if (ts.Language==IdJapanese || ts.Language==IdKorean || ts.Language==IdUtf8)
-		EraseKanji(1); /* if cursor is on right half of a kanji, erase the kanji */
-
-	if (CursorRightM < NumOfColumns-1 && (AttrLine[CursorRightM] & AttrKanji)) {
-		CodeLine[CursorRightM+1] = 0x20;
-#if UNICODE_INTERNAL_BUFF
-		BuffSetChar(&CodeLineW[CursorRightM + 1], 0x20, 'H');
-#endif
-		AttrLine[CursorRightM+1] &= ~AttrKanji;
-		extr = 1;
-	}
-
-	if (Count > CursorRightM + 1 - CursorX)
-		Count = CursorRightM + 1 - CursorX;
-
-	MoveLen = CursorRightM + 1 - CursorX - Count;
-
-	if (MoveLen > 0) {
-		memmove(&(CodeLine[CursorX+Count]), &(CodeLine[CursorX]), MoveLen);
-#if UNICODE_INTERNAL_BUFF
-		memmoveW(&(CodeLineW[CursorX+Count]), &(CodeLineW[CursorX]), MoveLen);
-#endif
-		memmove(&(AttrLine[CursorX+Count]), &(AttrLine[CursorX]), MoveLen);
-		memmove(&(AttrLine2[CursorX+Count]), &(AttrLine2[CursorX]), MoveLen);
-		memmove(&(AttrLineFG[CursorX+Count]), &(AttrLineFG[CursorX]), MoveLen);
-		memmove(&(AttrLineBG[CursorX+Count]), &(AttrLineBG[CursorX]), MoveLen);
-	}
-	memset(&(CodeLine[CursorX]), 0x20, Count);
-#if UNICODE_INTERNAL_BUFF
-	memsetW(&(CodeLineW[CursorX]), 0x20, Count);
-#endif
-	memset(&(AttrLine[CursorX]), AttrDefault, Count);
-	memset(&(AttrLine2[CursorX]), CurCharAttr.Attr2 & Attr2ColorMask, Count);
-	memset(&(AttrLineFG[CursorX]), CurCharAttr.Fore, Count);
-	memset(&(AttrLineBG[CursorX]), CurCharAttr.Back, Count);
-	/* last char in current line is kanji first? */
-	if ((AttrLine[CursorRightM] & AttrKanji) != 0) {
-		/* then delete it */
-		CodeLine[CursorRightM] = 0x20;
-#if UNICODE_INTERNAL_BUFF
-		BuffSetChar(&CodeLineW[CursorRightM], 0x20, 'H');
-#endif
-		AttrLine[CursorRightM] &= ~AttrKanji;
-	}
-	BuffUpdateRect(CursorX, CursorY, CursorRightM+extr, CursorY);
-}
-#endif
-
 void BuffEraseCurToEnd()
 // Erase characters from cursor to the end of screen
 {
@@ -1029,9 +900,7 @@
 	}
 	for (i = CursorY ; i <= YEnd ; i++) {
 		memset(&(CodeBuff[TmpPtr+offset]),0x20,NumOfColumns-offset);
-#if UNICODE_INTERNAL_BUFF
 		memsetW(&(CodeBuffW[TmpPtr+offset]),0x20,NumOfColumns-offset);
-#endif
 		memset(&(AttrBuff[TmpPtr+offset]),AttrDefault,NumOfColumns-offset);
 		memset(&(AttrBuff2[TmpPtr+offset]),CurCharAttr.Attr2 & Attr2ColorMask, NumOfColumns-offset);
 		memset(&(AttrBuffFG[TmpPtr+offset]),CurCharAttr.Fore,NumOfColumns-offset);
@@ -1067,9 +936,7 @@
 			offset = CursorX+1;
 		}
 		memset(&(CodeBuff[TmpPtr]),0x20,offset);
-#if UNICODE_INTERNAL_BUFF
 		memsetW(&(CodeBuffW[TmpPtr]),0x20,offset);
-#endif
 		memset(&(AttrBuff[TmpPtr]),AttrDefault,offset);
 		memset(&(AttrBuff2[TmpPtr]),CurCharAttr.Attr2 & Attr2ColorMask, offset);
 		memset(&(AttrBuffFG[TmpPtr]),CurCharAttr.Fore,offset);
@@ -1104,9 +971,7 @@
 	linelen = CursorRightM - CursorLeftM + 1;
 	for (i= YEnd-Count ; i>=CursorY ; i--) {
 		memcpy(&(CodeBuff[DestPtr]), &(CodeBuff[SrcPtr]), linelen);
-#if UNICODE_INTERNAL_BUFF
 		memcpyW(&(CodeBuffW[DestPtr]), &(CodeBuffW[SrcPtr]), linelen);
-#endif
 		memcpy(&(AttrBuff[DestPtr]), &(AttrBuff[SrcPtr]), linelen);
 		memcpy(&(AttrBuff2[DestPtr]), &(AttrBuff2[SrcPtr]), linelen);
 		memcpy(&(AttrBuffFG[DestPtr]), &(AttrBuffFG[SrcPtr]), linelen);
@@ -1116,9 +981,7 @@
 	}
 	for (i = 1 ; i <= Count ; i++) {
 		memset(&(CodeBuff[DestPtr]), 0x20, linelen);
-#if UNICODE_INTERNAL_BUFF
 		memsetW(&(CodeBuffW[DestPtr]), 0x20, linelen);
-#endif
 		memset(&(AttrBuff[DestPtr]), AttrDefault, linelen);
 		memset(&(AttrBuff2[DestPtr]), CurCharAttr.Attr2 & Attr2ColorMask, linelen);
 		memset(&(AttrBuffFG[DestPtr]), CurCharAttr.Fore, linelen);
@@ -1156,9 +1019,7 @@
 
 	NewLine(PageStart+CursorY);
 	memset(&(CodeLine[XStart]),0x20,Count);
-#if UNICODE_INTERNAL_BUFF
 	memsetW(&(CodeLineW[XStart]),0x20,Count);
-#endif
 	memset(&(AttrLine[XStart]),AttrDefault,Count);
 	memset(&(AttrLine2[XStart]),CurCharAttr.Attr2 & Attr2ColorMask, Count);
 	memset(&(AttrLineFG[XStart]),CurCharAttr.Fore,Count);
@@ -1200,9 +1061,7 @@
 	linelen = CursorRightM - CursorLeftM + 1;
 	for (i=CursorY ; i<= YEnd-Count ; i++) {
 		memcpy(&(CodeBuff[DestPtr]), &(CodeBuff[SrcPtr]), linelen);
-#if UNICODE_INTERNAL_BUFF
 		memcpyW(&(CodeBuffW[DestPtr]), &(CodeBuffW[SrcPtr]), linelen);
-#endif
 		memcpy(&(AttrBuff[DestPtr]), &(AttrBuff[SrcPtr]), linelen);
 		memcpy(&(AttrBuff2[DestPtr]), &(AttrBuff2[SrcPtr]), linelen);
 		memcpy(&(AttrBuffFG[DestPtr]), &(AttrBuffFG[SrcPtr]), linelen);
@@ -1212,9 +1071,7 @@
 	}
 	for (i = YEnd+1-Count ; i<=YEnd ; i++) {
 		memset(&(CodeBuff[DestPtr]), 0x20, linelen);
-#if UNICODE_INTERNAL_BUFF
 		memsetW(&(CodeBuffW[DestPtr]), 0x20, linelen);
-#endif
 		memset(&(AttrBuff[DestPtr]), AttrDefault, linelen);
 		memset(&(AttrBuff2[DestPtr]), CurCharAttr.Attr2 & Attr2ColorMask,  linelen);
 		memset(&(AttrBuffFG[DestPtr]), CurCharAttr.Fore, linelen);
@@ -1229,7 +1086,6 @@
 
 // Delete characters in current line from cursor
 //   Count: number of characters to be deleted
-#if UNICODE_INTERNAL_BUFF
 void BuffDeleteChars(int Count)
 {
 #if !ATR
@@ -1302,55 +1158,9 @@
 
 	BuffUpdateRect(CursorX, CursorY, CursorRightM + extr, CursorY);
 }
-#else
-void BuffDeleteChars(int Count)
-{
-	int MoveLen;
-	int extr=0;
 
-	if (CursorX < CursorLeftM || CursorX > CursorRightM)
-		return;
-
-	NewLine(PageStart+CursorY);
-
-	if (ts.Language==IdJapanese || ts.Language==IdKorean || ts.Language==IdUtf8) {
-		EraseKanji(0); /* if cursor is on left harf of a kanji, erase the kanji */
-		EraseKanji(1); /* if cursor on right half... */
-	}
-
-	if (CursorRightM < NumOfColumns-1 && (AttrLine[CursorRightM] & AttrKanji)) {
-		CodeLine[CursorRightM] = 0x20;
-		AttrLine[CursorRightM] &= ~AttrKanji;
-		CodeLine[CursorRightM+1] = 0x20;
-		AttrLine[CursorRightM+1] &= ~AttrKanji;
-		extr = 1;
-	}
-
-	if (Count > CursorRightM + 1 - CursorX)
-		Count = CursorRightM + 1 - CursorX;
-
-	MoveLen = CursorRightM + 1 - CursorX - Count;
-
-	if (MoveLen > 0) {
-		memmove(&(CodeLine[CursorX]), &(CodeLine[CursorX+Count]), MoveLen);
-		memmove(&(AttrLine[CursorX]), &(AttrLine[CursorX+Count]), MoveLen);
-		memmove(&(AttrLine2[CursorX]), &(AttrLine2[CursorX+Count]), MoveLen);
-		memmove(&(AttrLineFG[CursorX]), &(AttrLineFG[CursorX+Count]), MoveLen);
-		memmove(&(AttrLineBG[CursorX]), &(AttrLineBG[CursorX+Count]), MoveLen);
-	}
-	memset(&(CodeLine[CursorX + MoveLen]), 0x20, Count);
-	memset(&(AttrLine[CursorX + MoveLen]), AttrDefault, Count);
-	memset(&(AttrLine2[CursorX + MoveLen]), CurCharAttr.Attr2 & Attr2ColorMask, Count);
-	memset(&(AttrLineFG[CursorX + MoveLen]), CurCharAttr.Fore, Count);
-	memset(&(AttrLineBG[CursorX + MoveLen]), CurCharAttr.Back, Count);
-
-	BuffUpdateRect(CursorX, CursorY, CursorRightM+extr, CursorY);
-}
-#endif
-
 // Erase characters in current line from cursor
 //   Count: number of characters to be deleted
-#if UNICODE_INTERNAL_BUFF
 void BuffEraseChars(int Count)
 {
 #if !ATR
@@ -1397,9 +1207,7 @@
 	}
 
 	memset(&(CodeLine[CursorX]), 0x20, Count);
-#if UNICODE_INTERNAL_BUFF
 	memsetW(&(CodeLineW[CursorX]), 0x20, Count);
-#endif
 	memset(&(AttrLine[CursorX]), AttrDefault, Count);
 	memset(&(AttrLine2[CursorX]), CurCharAttr.Attr2 & Attr2ColorMask, Count);
 	memset(&(AttrLineFG[CursorX]), CurCharAttr.Fore, Count);
@@ -1408,33 +1216,7 @@
 	/* update window */
 	DispEraseCharsInLine(sx, Count + extr);
 }
-#else
-void BuffEraseChars(int Count)
-{
-	NewLine(PageStart+CursorY);
 
-	if (ts.Language==IdJapanese || ts.Language==IdKorean || ts.Language==IdUtf8) {
-		EraseKanji(0); /* if cursor is on left harf of a kanji, erase the kanji */
-		EraseKanji(1); /* if cursor on right half... */
-	}
-
-	if (Count > NumOfColumns-CursorX) {
-		Count = NumOfColumns-CursorX;
-	}
-	memset(&(CodeLine[CursorX]),0x20,Count);
-#if UNICODE_INTERNAL_BUFF
-	memsetW(&(CodeLineW[CursorX]),0x20,Count);
-#endif
-	memset(&(AttrLine[CursorX]),AttrDefault,Count);
-	memset(&(AttrLine2[CursorX]),CurCharAttr.Attr2 & Attr2ColorMask, Count);
-	memset(&(AttrLineFG[CursorX]),CurCharAttr.Fore,Count);
-	memset(&(AttrLineBG[CursorX]),CurCharAttr.Back,Count);
-
-	/* update window */
-	DispEraseCharsInLine(CursorX,Count);
-}
-#endif
-
 void BuffFillWithE()
 // Fill screen with 'E' characters
 {
@@ -1444,9 +1226,7 @@
 	TmpPtr = GetLinePtr(PageStart);
 	for (i = 0 ; i <= NumOfLines-1-StatusLine ; i++) {
 		memset(&(CodeBuff[TmpPtr]),'E',NumOfColumns);
-#if UNICODE_INTERNAL_BUFF
 		memsetW(&(CodeBuffW[TmpPtr]),'E',NumOfColumns);
-#endif
 		memset(&(AttrBuff[TmpPtr]),AttrDefault,NumOfColumns);
 		memset(&(AttrBuff2[TmpPtr]),AttrDefault,NumOfColumns);
 		memset(&(AttrBuffFG[TmpPtr]),AttrDefaultFG,NumOfColumns);
@@ -1486,9 +1266,7 @@
 			}
 			Ptr = GetLinePtr(PageStart+Y);
 			memset(&(CodeBuff[Ptr+CursorX]),'q',C);
-#if UNICODE_INTERNAL_BUFF
 			memsetW(&(CodeBuffW[Ptr+CursorX]),'q',C);
-#endif
 			memset(&(AttrBuff[Ptr+CursorX]),Attr.Attr,C);
 			memset(&(AttrBuff2[Ptr+CursorX]),Attr.Attr2,C);
 			memset(&(AttrBuffFG[Ptr+CursorX]),Attr.Fore,C);
@@ -1517,9 +1295,7 @@
 			}
 			for (i=1; i<=C; i++) {
 				CodeBuff[Ptr+X] = 'x';
-#if UNICODE_INTERNAL_BUFF
 				BuffSetChar(&CodeBuffW[Ptr+X], 0x20, 'H');
-#endif
 				AttrBuff[Ptr+X] = Attr.Attr;
 				AttrBuff2[Ptr+X] = Attr.Attr2;
 				AttrBuffFG[Ptr+X] = Attr.Fore;
@@ -1555,9 +1331,7 @@
 		if ((XStart>0) &&
 		    ((AttrBuff[Ptr+XStart-1] & AttrKanji) != 0)) {
 			CodeBuff[Ptr+XStart-1] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[Ptr+XStart-1], 0x20, 'H');
-#endif
 			AttrBuff[Ptr+XStart-1] = CurCharAttr.Attr;
 			AttrBuff2[Ptr+XStart-1] = CurCharAttr.Attr2;
 			AttrBuffFG[Ptr+XStart-1] = CurCharAttr.Fore;
@@ -1566,9 +1340,7 @@
 		if ((XStart+C<NumOfColumns) &&
 		    ((AttrBuff[Ptr+XStart+C-1] & AttrKanji) != 0)) {
 			CodeBuff[Ptr+XStart+C] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[Ptr+XStart+C], 0x20, 'H');
-#endif
 			AttrBuff[Ptr+XStart+C] = CurCharAttr.Attr;
 			AttrBuff2[Ptr+XStart+C] = CurCharAttr.Attr2;
 			AttrBuffFG[Ptr+XStart+C] = CurCharAttr.Fore;
@@ -1575,9 +1347,7 @@
 			AttrBuffBG[Ptr+XStart+C] = CurCharAttr.Back;
 		}
 		memset(&(CodeBuff[Ptr+XStart]),0x20,C);
-#if UNICODE_INTERNAL_BUFF
 		memsetW(&(CodeBuffW[Ptr+XStart]),0x20,C);
-#endif
 		memset(&(AttrBuff[Ptr+XStart]),AttrDefault,C);
 		memset(&(AttrBuff2[Ptr+XStart]),CurCharAttr.Attr2 & Attr2ColorMask, C);
 		memset(&(AttrBuffFG[Ptr+XStart]),CurCharAttr.Fore,C);
@@ -1610,22 +1380,16 @@
 		if ((XStart>0) &&
 		    ((AttrBuff[Ptr+XStart-1] & AttrKanji) != 0)) {
 			CodeBuff[Ptr+XStart-1] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[Ptr + XStart - 1], 0x20, 'H');
-#endif
 			AttrBuff[Ptr+XStart-1] ^= AttrKanji;
 		}
 		if ((XStart+Cols<NumOfColumns) &&
 		    ((AttrBuff[Ptr+XStart+Cols-1] & AttrKanji) != 0)) {
 			CodeBuff[Ptr+XStart+Cols] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[Ptr + XStart + Cols], 0x20, 'H');
-#endif
 		}
 		memset(&(CodeBuff[Ptr+XStart]), ch, Cols);
-#if UNICODE_INTERNAL_BUFF
 		memsetW(&(CodeBuffW[Ptr+XStart]), ch, Cols);
-#endif
 		memset(&(AttrBuff[Ptr+XStart]), CurCharAttr.Attr, Cols);
 		memset(&(AttrBuff2[Ptr+XStart]), CurCharAttr.Attr2, Cols);
 		memset(&(AttrBuffFG[Ptr+XStart]), CurCharAttr.Fore, Cols);
@@ -1681,9 +1445,7 @@
 		DPtr = GetLinePtr(PageStart+DstY);
 		for (i=0; i<L; i++) {
 			memcpy(&(CodeBuff[DPtr+DstX]), &(CodeBuff[SPtr+SrcXStart]), C);
-#if UNICODE_INTERNAL_BUFF
 			memcpyW(&(CodeBuffW[DPtr+DstX]), &(CodeBuffW[SPtr+SrcXStart]), C);
-#endif
 			memcpy(&(AttrBuff[DPtr+DstX]), &(AttrBuff[SPtr+SrcXStart]), C);
 			memcpy(&(AttrBuff2[DPtr+DstX]), &(AttrBuff2[SPtr+SrcXStart]), C);
 			memcpy(&(AttrBuffFG[DPtr+DstX]), &(AttrBuffFG[SPtr+SrcXStart]), C);
@@ -1697,9 +1459,7 @@
 		DPtr = GetLinePtr(PageStart+DstY+L-1);
 		for (i=L; i>0; i--) {
 			memcpy(&(CodeBuff[DPtr+DstX]), &(CodeBuff[SPtr+SrcXStart]), C);
-#if UNICODE_INTERNAL_BUFF
 			memcpyW(&(CodeBuffW[DPtr+DstX]), &(CodeBuffW[SPtr+SrcXStart]), C);
-#endif
 			memcpy(&(AttrBuff[DPtr+DstX]), &(AttrBuff[SPtr+SrcXStart]), C);
 			memcpy(&(AttrBuff2[DPtr+DstX]), &(AttrBuff2[SPtr+SrcXStart]), C);
 			memcpy(&(AttrBuffFG[DPtr+DstX]), &(AttrBuffFG[SPtr+SrcXStart]), C);
@@ -1713,9 +1473,7 @@
 		DPtr = GetLinePtr(PageStart+DstY);
 		for (i=0; i<L; i++) {
 			memmove(&(CodeBuff[DPtr+DstX]), &(CodeBuff[SPtr+SrcXStart]), C);
-#if UNICODE_INTERNAL_BUFF
 			memmoveW(&(CodeBuffW[DPtr+DstX]), &(CodeBuffW[SPtr+SrcXStart]), C);
-#endif
 			memmove(&(AttrBuff[DPtr+DstX]), &(AttrBuff[SPtr+SrcXStart]), C);
 			memmove(&(AttrBuff2[DPtr+DstX]), &(AttrBuff2[SPtr+SrcXStart]), C);
 			memmove(&(AttrBuffFG[DPtr+DstX]), &(AttrBuffFG[SPtr+SrcXStart]), C);
@@ -1998,7 +1756,6 @@
  *	@return		\x95\xB6\x8E\x9A\x97\xF1
  *				\x8Eg\x97p\x8C\xE3\x82\xCD free() \x82\xB7\x82邱\x82\xC6
  */
-#if UNICODE_INTERNAL_BUFF
 static wchar_t *BuffGetStringForCB(int sx, int sy, int ex, int ey, BOOL box_select, size_t *_str_len)
 {
 	wchar_t *str_w;
@@ -2104,7 +1861,6 @@
 	}
 	return str_w;
 }
-#endif
 
 /**
  *	1\x83Z\x83\x8B\x95\xAA\x82\xF0wchar_t\x95\xB6\x8E\x9A\x97\xF1\x82ɓW\x8AJ\x82\xB7\x82\xE9
@@ -2175,7 +1931,6 @@
  *	@retval		0=\x83}\x83b\x83`\x82\xB5\x82Ȃ\xA9\x82\xC1\x82\xBD
  *				\x83}\x83b\x83`\x82\xB5\x82\xBD\x95\xB6\x8E\x9A\x97\xF1\x92\xB7
  */
-#if UNICODE_INTERNAL_BUFF
 static size_t MatchOneString(int x, int y, const wchar_t *str, size_t len)
 {
 	int match_pos = 0;
@@ -2215,7 +1970,6 @@
 	}
 	return match_pos;
 }
-#endif
 
 /**
  *	(x,y)\x82\xA9\x82\xE7 str\x82Ɠ\xAF\x88ꂩ\x92\xB2\x82ׂ\xE9
@@ -2226,7 +1980,6 @@
  *	@retval		TRUE	\x83}\x83b\x83`\x82\xB5\x82\xBD
  *	@retval		FALSE	\x83}\x83b\x83`\x82\xB5\x82Ă\xA2\x82Ȃ\xA2
  */
-#if UNICODE_INTERNAL_BUFF
 static BOOL MatchString(int x, int y, const wchar_t *str, BOOL LineContinued)
 {
 	BOOL result;
@@ -2288,7 +2041,6 @@
 
 	return result;
 }
-#endif
 
 /**
  *	(sx,sy)\x82\xA9\x82\xE7(ex,ey)\x82܂ł\xC5 str \x82Ƀ}\x83b\x83`\x82\xB7\x82镶\x8E\x9A\x82\xF0\x92T\x82\xB5\x82\xC4
@@ -2299,7 +2051,6 @@
  *	@param[out]	y		\x83}\x83b\x83`\x82\xB5\x82\xBD\x88ʒu
  *	@retval		TRUE	\x83}\x83b\x83`\x82\xB5\x82\xBD
  */
-#if UNICODE_INTERNAL_BUFF
 static BOOL BuffGetMatchPosFromString(
 	int sx, int sy, int ex, int ey, const wchar_t *str,
 	int *match_x, int *match_y)
@@ -2334,7 +2085,6 @@
 	}
 	return FALSE;
 }
-#endif
 
 
 /**
@@ -2375,7 +2125,6 @@
  *	@return		\x95\xB6\x8E\x9A\x97\xF1
  *				\x8Eg\x97p\x8C\xE3\x82\xCD free() \x82\xB7\x82邱\x82\xC6
  */
-#if UNICODE_INTERNAL_BUFF
 wchar_t *BuffCBCopyUnicode(BOOL Table)
 {
 	wchar_t *str_ptr;
@@ -2395,158 +2144,7 @@
 	}
 	return str_ptr;
 }
-#endif
 
-#if !UNICODE_INTERNAL_BUFF
-void BuffCBCopy(BOOL Table)
-// copy selected text to clipboard
-{
-	LONG MemSize;
-	PCHAR CBPtr;
-	LONG TmpPtr;
-	int i, j, k, IStart, IEnd;
-	BOOL Sp, FirstChar;
-	BYTE b;
-	BOOL LineContinued, PrevLineContinued;
-
-	LineContinued = FALSE;
-
-	if (TalkStatus==IdTalkCB) {
-		return;
-	}
-	if (! Selected) {
-		return;
-	}
-
-// --- open clipboard and get CB memory
-	if (BoxSelect) {
-		MemSize = (SelectEnd.x-SelectStart.x+3)*
-		          (SelectEnd.y-SelectStart.y+1) + 1;
-	}
-	else {
-		MemSize = (SelectEnd.y-SelectStart.y)*
-		          (NumOfColumns+2) +
-		          SelectEnd.x - SelectStart.x + 1;
-	}
-	CBPtr = CBOpen(MemSize);
-	if (CBPtr==NULL) {
-		return;
-	}
-
-// --- copy selected text to CB memory
-	LockBuffer();
-
-	CBPtr[0] = 0;
-	TmpPtr = GetLinePtr(SelectStart.y);
-	k = 0;
-	for (j = SelectStart.y ; j<=SelectEnd.y ; j++) {
-		if (BoxSelect) {
-			IStart = SelectStart.x;
-			IEnd = SelectEnd.x-1;
-		}
-		else {
-			IStart = 0;
-			IEnd = NumOfColumns-1;
-			if (j==SelectStart.y) {
-				IStart = SelectStart.x;
-			}
-			if (j==SelectEnd.y) {
-				IEnd = SelectEnd.x-1;
-			}
-		}
-		i = LeftHalfOfDBCS(TmpPtr,IStart);
-		if (i!=IStart) {
-			if (j==SelectStart.y) {
-				IStart = i;
-			}
-			else {
-				IStart = i + 2;
-			}
-		}
-
-		// exclude right-side space characters
-		IEnd = LeftHalfOfDBCS(TmpPtr,IEnd);
-		PrevLineContinued = LineContinued;
-		LineContinued = FALSE;
-		if (ts.EnableContinuedLineCopy && j!=SelectEnd.y && !BoxSelect) {
-			LONG NextTmpPtr = NextLinePtr(TmpPtr);
-			if ((AttrBuff[NextTmpPtr] & AttrLineContinued) != 0) {
-				LineContinued = TRUE;
-			}
-			if (IEnd == NumOfColumns-1 &&
-				(AttrBuff[TmpPtr + IEnd] & AttrLineContinued) != 0) {
-				MoveCharPtr(TmpPtr,&IEnd,-1);
-			}
-		}
-		if (!LineContinued)
-			while ((IEnd>0) && (CodeBuff[TmpPtr+IEnd]==0x20)) {
-				MoveCharPtr(TmpPtr,&IEnd,-1);
-			}
-		if ((IEnd==0) && (CodeBuff[TmpPtr]==0x20)) {
-			IEnd = -1;
-		}
-		else if ((AttrBuff[TmpPtr+IEnd] & AttrKanji) != 0) { /* DBCS first byte? */
-			IEnd++;
-		}
-
-		Sp = FALSE;
-		FirstChar = TRUE;
-		i = IStart;
-		while (i <= IEnd) {
-			b = CodeBuff[TmpPtr+i];
-			i++;
-			if (! Sp) {
-				if ((Table) && (b<=0x20)) {
-					Sp = TRUE;
-					b = 0x09;
-				}
-				if ((b!=0x09) || (! FirstChar) || PrevLineContinued) {
-					FirstChar = FALSE;
-					CBPtr[k] = b;
-					k++;
-				}
-			}
-			else {
-				if (b>0x20) {
-					Sp = FALSE;
-					FirstChar = FALSE;
-					CBPtr[k] = b;
-					k++;
-				}
-			}
-		}
-
-		if (!LineContinued)
-			if (j < SelectEnd.y) {
-				CBPtr[k] = 0x0d;
-				k++;
-				CBPtr[k] = 0x0a;
-				k++;
-			}
-
-		TmpPtr = NextLinePtr(TmpPtr);
-	}
-	CBPtr[k] = 0;
-	LineContinued = FALSE;
-	if (ts.EnableContinuedLineCopy && j!=SelectEnd.y && !BoxSelect && j<BuffEnd-1) {
-		LONG NextTmpPtr = NextLinePtr(TmpPtr);
-		if ((AttrBuff[NextTmpPtr] & AttrLineContinued) != 0) {
-			LineContinued = TRUE;
-		}
-		if (IEnd == NumOfColumns-1 &&
-			(AttrBuff[TmpPtr + IEnd] & AttrLineContinued) != 0) {
-			MoveCharPtr(TmpPtr,&IEnd,-1);
-		}
-	}
-	if (!LineContinued)
-		UnlockBuffer();
-
-// --- send CB memory to clipboard
-	CBClose();
-	return;
-}
-#endif
-
 void BuffPrint(BOOL ScrollRegion)
 // Print screen or selected text
 {
@@ -2803,95 +2401,6 @@
 	}
 }
 
-#if !UNICODE_INTERNAL_BUFF
-void BuffPutChar(BYTE b, TCharAttr Attr, BOOL Insert)
-// Put a character in the buffer at the current position
-//   b: character
-//   Attr: attributes
-//   Insert: Insert flag
-{
-	int XStart, LineEnd, MoveLen;
-	int extr = 0;
-
-	if (ts.EnableContinuedLineCopy && CursorX == 0 && (AttrLine[0] & AttrLineContinued)) {
-		Attr.Attr |= AttrLineContinued;
-	}
-
-	if (ts.Language==IdJapanese || ts.Language==IdKorean || ts.Language==IdUtf8) {
-		EraseKanji(1); /* if cursor is on right half of a kanji, erase the kanji */
-		if (! Insert) {
-			EraseKanji(0); /* if cursor on left half... */
-		}
-	}
-
-	if (Insert) {
-		if (CursorX > CursorRightM)
-			LineEnd = NumOfColumns - 1;
-		else
-			LineEnd = CursorRightM;
-
-		if (LineEnd < NumOfColumns - 1 && (AttrLine[LineEnd] & AttrKanji)) {
-			CodeLine[LineEnd] = 0x20;
-			AttrLine[LineEnd] &= ~AttrKanji;
-			CodeLine[LineEnd+1] = 0x20;
-			AttrLine[LineEnd+1] &= ~AttrKanji;
-			extr = 1;
-		}
-
-		MoveLen = LineEnd - CursorX;
-		if (MoveLen > 0) {
-			memmove(&CodeLine[CursorX+1], &CodeLine[CursorX], MoveLen);
-			memmove(&AttrLine[CursorX+1], &AttrLine[CursorX], MoveLen);
-			memmove(&AttrLine2[CursorX+1], &AttrLine2[CursorX], MoveLen);
-			memmove(&AttrLineFG[CursorX+1], &AttrLineFG[CursorX], MoveLen);
-			memmove(&AttrLineBG[CursorX+1], &AttrLineBG[CursorX], MoveLen);
-		}
-		CodeLine[CursorX] = b;
-		AttrLine[CursorX] = Attr.Attr;
-		AttrLine2[CursorX] = Attr.Attr2;
-		AttrLineFG[CursorX] = Attr.Fore;
-		AttrLineBG[CursorX] = Attr.Back;
-		/* last char in current line is kanji first? */
-		if ((AttrLine[LineEnd] & AttrKanji) != 0) {
-			/* then delete it */
-			CodeLine[LineEnd] = 0x20;
-			AttrLine[LineEnd] = CurCharAttr.Attr;
-			AttrLine2[LineEnd] = CurCharAttr.Attr2;
-			AttrLineFG[LineEnd] = CurCharAttr.Fore;
-			AttrLineBG[LineEnd] = CurCharAttr.Back;
-		}
-		/* begin - ishizaki */
-		markURL(CursorX+1);
-		markURL(CursorX);
-		/* end - ishizaki */
-
-		if (StrChangeCount==0) {
-			XStart = CursorX;
-		}
-		else {
-			XStart = StrChangeStart;
-		}
-		StrChangeCount = 0;
-		BuffUpdateRect(XStart, CursorY, LineEnd+extr, CursorY);
-	}
-	else {
-		CodeLine[CursorX] = b;
-		AttrLine[CursorX] = Attr.Attr;
-		AttrLine2[CursorX] = Attr.Attr2;
-		AttrLineFG[CursorX] = Attr.Fore;
-		AttrLineBG[CursorX] = Attr.Back;
-		/* begin - ishizaki */
-		markURL(CursorX);
-		/* end - ishizaki */
-
-		if (StrChangeCount==0) {
-			StrChangeStart = CursorX;
-		}
-		StrChangeCount++;
-	}
-}
-#endif
-
 void BuffPutKanji(WORD w, TCharAttr Attr, BOOL Insert)
 // Put a kanji character in the buffer at the current position
 //   b: character
@@ -2998,7 +2507,6 @@
 	}
 }
 
-#if UNICODE_INTERNAL_BUFF
 static BOOL BuffIsHalfWidthFromPropery(char width_property)
 {
 	switch (width_property) {
@@ -3037,13 +2545,10 @@
 	return BuffIsHalfWidthFromPropery(*width_property);
 }
 
-#endif
-
-#if UNICODE_INTERNAL_BUFF
 /**
  *	\x83J\x81[\x83\\x83\x8B\x88ʒu\x82Ƃ\xCCURL\x83A\x83g\x83\x8A\x83r\x83\x85\x81[\x83g\x82̐擪\x82Ƃ̋\x97\x97\xA3\x82\xF0\x8Cv\x8EZ\x82\xB7\x82\xE9
  */
-int get_url_len(int cur_x, int cur_y)
+static int get_url_len(int cur_x, int cur_y)
 {
 	int sp = cur_x + cur_y * NumOfColumns;
 	int cp;
@@ -3422,7 +2927,6 @@
 	*p = L'\0';
 	return strW;
 }
-#endif	// #if UNICODE_INTERNAL_BUFF
 
 /**
  *	(x,y)\x82\xC9u32\x82\xF0\x93\xFC\x82\xEA\x82\xE9\x82Ƃ\xAB\x81A\x8C\x8B\x8D\x87\x82\xB7\x82邩?
@@ -3486,7 +2990,6 @@
  *	@param[in]	Insert	Insert flag
  *	@return		\x83J\x81[\x83\\x83\x8B\x88ړ\xAE\x97\xCA(0 or 1 or 2)
  */
-#if UNICODE_INTERNAL_BUFF
 int BuffPutUnicode(unsigned int u32, TCharAttr Attr, BOOL Insert)
 {
 #if !ATR
@@ -3832,14 +3335,11 @@
 #endif
 	return move_x;
 }
-#endif
 
-#if UNICODE_INTERNAL_BUFF
 void BuffPutChar(BYTE b, TCharAttr Attr, BOOL Insert)
 {
 	BuffPutUnicode(b, Attr, Insert);
 }
-#endif
 
 static BOOL CheckSelect(int x, int y)
 //  subroutine called by BuffUpdateRect
@@ -3863,7 +3363,6 @@
 	}
 }
 
-#if UNICODE_INTERNAL_BUFF
 /*
  *	1\x8Ds\x95`\x89\xE6
  *
@@ -4023,7 +3522,6 @@
 		}
 	}
 }
-#endif
 
 void BuffUpdateRect
   (int XStart, int YStart, int XEnd, int YEnd)
@@ -4034,24 +3532,11 @@
 //   YEnd: y position
 {
 	int i, j;
-#if !UNICODE_INTERNAL_BUFF
-	int count;
-#endif
 	int IStart, IEnd;
 	int X, Y;
 	LONG TmpPtr;
 	TCharAttr TempAttr;
-#if !UNICODE_INTERNAL_BUFF
-	TCharAttr CurAttr;
-	BOOL CurSel;
-#endif
 	BOOL TempSel, Caret;
-#if UNICODE_INTERNAL_BUFF
-//	char bufA[256];
-//	wchar_t bufW[256];
-//	int lenW = 0;
-//	int lenA = 0;
-#endif
 
 	if (XStart >= WinOrgX+WinWidth) {
 		return;
@@ -4107,39 +3592,7 @@
 		X = (IStart-WinOrgX)*FontWidth;
 
 		i = IStart;
-#if !UNICODE_INTERNAL_BUFF
-		do {
-			CurAttr.Attr = AttrBuff[TmpPtr+i] & ~ AttrKanji;
-			CurAttr.Attr2 = AttrBuff2[TmpPtr+i];
-			CurAttr.Fore = AttrBuffFG[TmpPtr+i];
-			CurAttr.Back = AttrBuffBG[TmpPtr+i];
-			CurSel = CheckSelect(i,j);
-			count = 1;
-			while ( (i+count <= IEnd) &&
-			        (CurAttr.Attr == (AttrBuff[TmpPtr+i+count] & ~ AttrKanji)) &&
-			        (CurAttr.Attr2==AttrBuff2[TmpPtr+i+count]) &&
-			        (CurAttr.Fore==AttrBuffFG[TmpPtr+i+count]) &&
-			        (CurAttr.Back==AttrBuffBG[TmpPtr+i+count]) &&
-			        (CurSel==CheckSelect(i+count,j)) ||
-			        (i+count<NumOfColumns) &&
-			        ((AttrBuff[TmpPtr+i+count-1] & AttrKanji) != 0) ) {
-				count++;
-			}
-
-			if (TCharAttrCmp(CurAttr, TempAttr) != 0 || (CurSel != TempSel)) {
-				DispSetupDC(CurAttr, CurSel);
-				TempAttr = CurAttr;
-				TempSel = CurSel;
-			}
-			DispStr(&CodeBuff[TmpPtr+i],count,Y, &X);
-			i = i+count;
-		}
-		while (i<=IEnd);
-#else
-		{
-			BuffDrawLineI(X, Y, j, IStart, IEnd);
-		}
-#endif
+		BuffDrawLineI(X, Y, j, IStart, IEnd);
 		Y = Y + FontHeight;
 		TmpPtr = NextLinePtr(TmpPtr);
 	}
@@ -4152,12 +3605,6 @@
 // Display not-yet-displayed string
 {
 	int X, Y;
-#if !UNICODE_INTERNAL_BUFF
-	TCharAttr TempAttr;
-#endif
-#if !UNICODE_INTERNAL_BUFF
-	int pos, len;
-#endif
 
 	if (StrChangeCount==0) {
 		return;
@@ -4169,73 +3616,10 @@
 		return;
 	}
 
-#if !UNICODE_INTERNAL_BUFF
-	TempAttr.Attr = AttrLine[StrChangeStart];
-	TempAttr.Attr2 = AttrLine2[StrChangeStart];
-	TempAttr.Fore = AttrLineFG[StrChangeStart];
-	TempAttr.Back = AttrLineBG[StrChangeStart];
-
-	/* \x82\xB1\x82ꂩ\x82\xE7\x95`\x89悷\x82镶\x8E\x9A\x97\xF1\x82̎n\x82܂肪\x81uURL\x8D\\x90\xAC\x95\xB6\x8E\x9A\x91\xAE\x90\xAB\x81v\x82\xBE\x82\xC1\x82\xBD\x8Fꍇ\x81A
-	 * \x93\x96\x8AY\x90F\x82ōs\x96\x96\x82܂Ńy\x83C\x83\x93\x83g\x82\xB3\x82\xEA\x82Ȃ\xA2\x82悤\x82ɂ\xB7\x82\xE9\x81B
-	 * (2009.10.24 yutaka)
-	 */
-	if (TempAttr.Attr & AttrURL) {
-		/* \x8AJ\x8En\x88ʒu\x82\xA9\x82\xE7\x82ǂ\xB1\x82܂ł\xAA AttrURL \x82\xA9\x82\xF0\x83J\x83E\x83\x93\x83g\x82\xB7\x82\xE9 */
-		len = 0;
-		for (pos = 0 ; pos < StrChangeCount ; pos++) {
-			if (TempAttr.Attr != AttrLine[StrChangeStart + pos])
-				break;
-			len++;
-		}
-		DispSetupDC(TempAttr, FALSE);
-		DispStr(&CodeLine[StrChangeStart], len, Y, &X);
-
-		/* \x8Ec\x82\xE8\x82̕\xB6\x8E\x9A\x97񂪂\xA0\x82\xEA\x82΁A\x82ӂ‚\xA4\x82ɕ`\x89\xE6\x82\xF0\x8Ds\x82\xA4\x81B*/
-		if (len < StrChangeCount) {
-			TempAttr.Attr = AttrLine[StrChangeStart + pos];
-			TempAttr.Attr2 = AttrLine2[StrChangeStart + pos];
-			TempAttr.Fore = AttrLineFG[StrChangeStart + pos];
-			TempAttr.Back = AttrLineBG[StrChangeStart + pos];
-
-			DispSetupDC(TempAttr, FALSE);
-			DispStr(&CodeLine[StrChangeStart + pos], (StrChangeCount - len), Y, &X);
-		}
-	} else {
-		DispSetupDC(TempAttr, FALSE);
-		DispStr(&CodeLine[StrChangeStart],StrChangeCount,Y, &X);
-	}
-#else
 	BuffDrawLineI(X, Y, PageStart + CursorY, StrChangeStart, StrChangeStart + StrChangeCount - 1);
-#endif
 	StrChangeCount = 0;
 }
 
-#if 0
-void UpdateStrUnicode(void)
-// Display not-yet-displayed string
-{
-  int X, Y;
-  TCharAttr TempAttr;
-
-  if (StrChangeCount==0) return;
-  X = StrChangeStart;
-  Y = CursorY;
-  if (! IsLineVisible(&X, &Y))
-  {
-    StrChangeCount = 0;
-    return;
-  }
-
-  TempAttr.Attr = AttrLine[StrChangeStart];
-  TempAttr.Attr2 = AttrLine2[StrChangeStart];
-  TempAttr.Fore = AttrLineFG[StrChangeStart];
-  TempAttr.Back = AttrLineBG[StrChangeStart];
-  DispSetupDC(TempAttr, FALSE);
-  DispStr(&CodeLine[StrChangeStart],StrChangeCount,Y, &X);
-  StrChangeCount = 0;
-}
-#endif
-
 void MoveCursor(int Xnew, int Ynew)
 {
 	UpdateStr();
@@ -4301,9 +3685,7 @@
 		for (i = CursorBottom-1 ; i >= CursorTop ; i--) {
 			SrcPtr = PrevLinePtr(DestPtr);
 			memcpy(&(CodeBuff[DestPtr]), &(CodeBuff[SrcPtr]), linelen);
-#if UNICODE_INTERNAL_BUFF
 			memcpyW(&(CodeBuffW[DestPtr]), &(CodeBuffW[SrcPtr]), linelen);
-#endif
 			memcpy(&(AttrBuff[DestPtr]), &(AttrBuff[SrcPtr]), linelen);
 			memcpy(&(AttrBuff2[DestPtr]), &(AttrBuff2[SrcPtr]), linelen);
 			memcpy(&(AttrBuffFG[DestPtr]), &(AttrBuffFG[SrcPtr]), linelen);
@@ -4311,9 +3693,7 @@
 			DestPtr = SrcPtr;
 		}
 		memset(&(CodeBuff[SrcPtr]), 0x20, linelen);
-#if UNICODE_INTERNAL_BUFF
 		memsetW(&(CodeBuffW[SrcPtr]), 0x20, linelen);
-#endif
 		memset(&(AttrBuff[SrcPtr]), AttrDefault, linelen);
 		memset(&(AttrBuff2[SrcPtr]), CurCharAttr.Attr2 & Attr2ColorMask, linelen);
 		memset(&(AttrBuffFG[SrcPtr]), CurCharAttr.Fore, linelen);
@@ -4378,9 +3758,7 @@
 			SrcPtr = GetLinePtr(PageStart+CursorTop+n) + (LONG)CursorLeftM;
 			for (i = CursorTop+n ; i<=CursorBottom ; i++) {
 				memmove(&(CodeBuff[DestPtr]), &(CodeBuff[SrcPtr]), linelen);
-#if UNICODE_INTERNAL_BUFF
 				memmoveW(&(CodeBuffW[DestPtr]), &(CodeBuffW[SrcPtr]), linelen);
-#endif
 				memmove(&(AttrBuff[DestPtr]), &(AttrBuff[SrcPtr]), linelen);
 				memmove(&(AttrBuff2[DestPtr]), &(AttrBuff2[SrcPtr]), linelen);
 				memmove(&(AttrBuffFG[DestPtr]), &(AttrBuffFG[SrcPtr]), linelen);
@@ -4394,9 +3772,7 @@
 		}
 		for (i = CursorBottom+1-n ; i<=CursorBottom; i++) {
 			memset(&(CodeBuff[DestPtr]), 0x20, linelen);
-#if UNICODE_INTERNAL_BUFF
 			memsetW(&(CodeBuffW[DestPtr]), 0x20, linelen);
-#endif
 			memset(&(AttrBuff[DestPtr]), AttrDefault, linelen);
 			memset(&(AttrBuff2[DestPtr]), CurCharAttr.Attr2 & Attr2ColorMask, linelen);
 			memset(&(AttrBuffFG[DestPtr]), CurCharAttr.Fore, linelen);
@@ -4445,9 +3821,7 @@
 			SrcPtr = GetLinePtr(PageStart+CursorTop+n) + CursorLeftM;
 			for (i = CursorTop+n ; i<=CursorBottom ; i++) {
 				memmove(&(CodeBuff[DestPtr]), &(CodeBuff[SrcPtr]), linelen);
-#if UNICODE_INTERNAL_BUFF
 				memmoveW(&(CodeBuffW[DestPtr]), &(CodeBuffW[SrcPtr]), linelen);
-#endif
 				memmove(&(AttrBuff[DestPtr]), &(AttrBuff[SrcPtr]), linelen);
 				memmove(&(AttrBuff2[DestPtr]), &(AttrBuff2[SrcPtr]), linelen);
 				memmove(&(AttrBuffFG[DestPtr]), &(AttrBuffFG[SrcPtr]), linelen);
@@ -4461,9 +3835,7 @@
 		}
 		for (i = CursorBottom+1-n ; i<=CursorBottom; i++) {
 			memset(&(CodeBuff[DestPtr]), 0x20, linelen);
-#if UNICODE_INTERNAL_BUFF
 			memsetW(&(CodeBuffW[DestPtr]), 0x20, linelen);
-#endif
 			memset(&(AttrBuff[DestPtr]), AttrDefault, linelen);
 			memset(&(AttrBuff2[DestPtr]), CurCharAttr.Attr2 & Attr2ColorMask, linelen);
 			memset(&(AttrBuffFG[DestPtr]), CurCharAttr.Fore, linelen);
@@ -4503,9 +3875,7 @@
 		SrcPtr = GetLinePtr(PageStart+CursorBottom-n) + CursorLeftM;
 		for (i=CursorBottom-n ; i>=CursorTop ; i--) {
 			memmove(&(CodeBuff[DestPtr]), &(CodeBuff[SrcPtr]), linelen);
-#if UNICODE_INTERNAL_BUFF
 			memmoveW(&(CodeBuffW[DestPtr]), &(CodeBuffW[SrcPtr]), linelen);
-#endif
 			memmove(&(AttrBuff[DestPtr]), &(AttrBuff[SrcPtr]), linelen);
 			memmove(&(AttrBuff2[DestPtr]), &(AttrBuff2[SrcPtr]), linelen);
 			memmove(&(AttrBuffFG[DestPtr]), &(AttrBuffFG[SrcPtr]), linelen);
@@ -4519,9 +3889,7 @@
 	}
 	for (i = CursorTop+n-1; i>=CursorTop; i--) {
 		memset(&(CodeBuff[DestPtr]), 0x20, linelen);
-#if UNICODE_INTERNAL_BUFF
 		memsetW(&(CodeBuffW[DestPtr]), 0x20, linelen);
-#endif
 		memset(&(AttrBuff[DestPtr]), AttrDefault, linelen);
 		memset(&(AttrBuff2[DestPtr]), CurCharAttr.Attr2 & Attr2ColorMask, linelen);
 		memset(&(AttrBuffFG[DestPtr]), CurCharAttr.Fore, linelen);
@@ -4618,45 +3986,6 @@
 	ShellExecuteA(NULL, NULL, url, NULL, NULL, SW_SHOWNORMAL);
 }
 
-#if !UNICODE_INTERNAL_BUFF
-static void invokeBrowser(LONG ptr)
-{
-	LONG i, start, end;
-	char url[1024];
-	char *uptr, ch;
-
-	start = ptr;
-	while (AttrBuff[start] & AttrURL) {
-		start--;
-	}
-	start++;
-
-	end = ptr;
-	while (AttrBuff[end] & AttrURL) {
-		end++;
-	}
-	end--;
-
-	if (start + (LONG)sizeof(url) -1 <= end) {
-		end = start + sizeof(url) - 2;
-	}
-	uptr = url;
-	for (i = 0; i < end - start + 1; i++) {
-		ch = CodeBuff[start + i];
-		if ((start + i) % NumOfColumns == NumOfColumns - 1
-			&& ch == ts.JoinSplitURLIgnoreEOLChar) {
-			// \x8Ds\x96\x96\x82\xAA\x8Ds\x8Cp\x91\xB1\x83}\x81[\x83N\x97p\x82̕\xB6\x8E\x9A\x82̏ꍇ\x82̓X\x83L\x83b\x83v\x82\xB7\x82\xE9
-		} else {
-			*uptr++ = ch;
-		}
-	}
-	*uptr = '\0';
-
-	invokeBrowserWithUrl(url);
-}
-#endif
-
-#if UNICODE_INTERNAL_BUFF
 static void invokeBrowserW(int x, int y)
 {
 	const LONG TmpPtr = GetLinePtr(y);
@@ -4682,7 +4011,6 @@
 		free(url_w);
 	}
 }
-#endif
 
 void ChangeSelectRegion()
 {
@@ -4793,11 +4121,7 @@
 			ChangeSelectRegion();
 
 			url_invoked = TRUE;
-#if UNICODE_INTERNAL_BUFF
 			invokeBrowserW(X, Y);
-#else
-			invokeBrowser(TmpPtr+X);
-#endif
 
 			SelectStart.x = 0;
 			SelectStart.y = 0;
@@ -5350,11 +4674,7 @@
 		/* copy to the clipboard */
 		if (ts.AutoTextCopy>0) {
 			LockBuffer();
-#if UNICODE_INTERNAL_BUFF
 			retval = BuffCBCopyUnicode(FALSE);
-#else
-			BuffCBCopy(FALSE);
-#endif
 			UnlockBuffer();
 		}
 	}
@@ -5423,7 +4743,7 @@
 		}
 
 		if (! ChangeBuffer(Nx,Nb)) {
-			return;
+			return NULL;
 		}
 		if (ts.EnableScrollBuff>0) {
 			ts.ScrollBuffSize = NumOfLinesInBuff;
@@ -5596,9 +4916,7 @@
 
 	NewLine(0);
 	memset(&CodeBuff[0],0x20,BufferSize);
-#if UNICODE_INTERNAL_BUFF
 	memsetW(&CodeBuffW[0],0x20,BufferSize);
-#endif
 	memset(&AttrBuff[0],AttrDefault,BufferSize);
 	memset(&AttrBuff2[0],CurCharAttr.Attr2 & Attr2ColorMask, BufferSize);
 	memset(&AttrBuffFG[0],CurCharAttr.Fore,BufferSize);
@@ -5829,9 +5147,7 @@
 void BuffSaveScreen()
 {
 	PCHAR CodeDest, AttrDest, AttrDest2, AttrDestFG, AttrDestBG;
-#if UNICODE_INTERNAL_BUFF
 	buff_char_t *CodeDestW;
-#endif
 	LONG ScrSize;
 	size_t AllocSize;
 	LONG SrcPtr, DestPtr;
@@ -5839,12 +5155,8 @@
 
 	if (SaveBuff == NULL) {
 		ScrSize = NumOfColumns * NumOfLines;	// 1\x89\xE6\x96ʕ\xAA\x82̃o\x83b\x83t\x83@\x82̕ۑ\xB6\x90\x94
-#if UNICODE_INTERNAL_BUFF
 		// \x91S\x89\xE6\x96ʕ\xAA\x82̃o\x83C\x83g\x90\x94
 		AllocSize = ScrSize * (5+sizeof(buff_char_t));
-#else
-		AllocSize = ScrSize * 5;
-#endif
 		SaveBuff = malloc(AllocSize);
 		if (SaveBuff != NULL) {
 			CodeDest = SaveBuff;
@@ -5852,9 +5164,7 @@
 			AttrDest2 = AttrDest + ScrSize;
 			AttrDestFG = AttrDest2 + ScrSize;
 			AttrDestBG = AttrDestFG + ScrSize;
-#if UNICODE_INTERNAL_BUFF
 			CodeDestW = (buff_char_t *)(AttrDestBG + ScrSize);
-#endif
 
 			SaveBuffX = NumOfColumns;
 			SaveBuffY = NumOfLines;
@@ -5864,9 +5174,7 @@
 
 			for (i=0; i<NumOfLines; i++) {
 				memcpy(&CodeDest[DestPtr], &CodeBuff[SrcPtr], NumOfColumns);
-#if UNICODE_INTERNAL_BUFF
 				memcpyW(&CodeDestW[DestPtr], &CodeBuffW[SrcPtr], NumOfColumns);
-#endif
 				memcpy(&AttrDest[DestPtr], &AttrBuff[SrcPtr], NumOfColumns);
 				memcpy(&AttrDest2[DestPtr], &AttrBuff2[SrcPtr], NumOfColumns);
 				memcpy(&AttrDestFG[DestPtr], &AttrBuffFG[SrcPtr], NumOfColumns);
@@ -5882,9 +5190,7 @@
 void BuffRestoreScreen()
 {
 	PCHAR CodeSrc, AttrSrc, AttrSrc2, AttrSrcFG, AttrSrcBG;
-#if UNICODE_INTERNAL_BUFF
 	buff_char_t *CodeSrcW;
-#endif
 	LONG ScrSize;
 	LONG SrcPtr, DestPtr;
 	int i, CopyX, CopyY;
@@ -5898,14 +5204,11 @@
 		AttrSrc2 = AttrSrc + ScrSize;
 		AttrSrcFG = AttrSrc2 + ScrSize;
 		AttrSrcBG = AttrSrcFG + ScrSize;
-#if UNICODE_INTERNAL_BUFF
 		CodeSrcW = (buff_char_t*)(AttrSrcBG + ScrSize);
-#endif
 
 		CopyX = (SaveBuffX > NumOfColumns) ? NumOfColumns : SaveBuffX;
 		CopyY = (SaveBuffY > NumOfLines) ? NumOfLines : SaveBuffY;
 
-#if UNICODE_INTERNAL_BUFF
 		DestPtr = GetLinePtr(PageStart);
 		for (i=0; i<CopyY; i++) {
 			buff_char_t *p = &CodeBuffW[DestPtr];
@@ -5920,7 +5223,6 @@
 			}
 			DestPtr = NextLinePtr(DestPtr);
 		}
-#endif
 
 		SrcPtr = 0;
 		DestPtr = GetLinePtr(PageStart);
@@ -5927,9 +5229,7 @@
 
 		for (i=0; i<CopyY; i++) {
 			memcpy(&CodeBuff[DestPtr], &CodeSrc[SrcPtr], CopyX);
-#if UNICODE_INTERNAL_BUFF
 			memcpyW(&CodeBuffW[DestPtr], &CodeSrcW[SrcPtr], CopyX);
-#endif
 			memcpy(&AttrBuff[DestPtr], &AttrSrc[SrcPtr], CopyX);
 			memcpy(&AttrBuff2[DestPtr], &AttrSrc2[SrcPtr], CopyX);
 			memcpy(&AttrBuffFG[DestPtr], &AttrSrcFG[SrcPtr], CopyX);
@@ -5936,9 +5236,7 @@
 			memcpy(&AttrBuffBG[DestPtr], &AttrSrcBG[SrcPtr], CopyX);
 			if (AttrBuff[DestPtr+CopyX-1] & AttrKanji) {
 				CodeBuff[DestPtr+CopyX-1] = ' ';
-#if UNICODE_INTERNAL_BUFF
 				BuffSetChar(&CodeBuffW[DestPtr+CopyX-1], 0x20, 'H');
-#endif
 				AttrBuff[DestPtr+CopyX-1] ^= AttrKanji;
 			}
 			SrcPtr += SaveBuffX;
@@ -5990,9 +5288,7 @@
 		for (j = TmpPtr + offset; j < TmpPtr + NumOfColumns - offset; j++) {
 			if (!(AttrBuff2[j] & Attr2Protect)) {
 				CodeBuff[j] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 				BuffSetChar(&CodeBuffW[j], 0x20, 'H');
-#endif
 				AttrBuff[j] &= AttrSgrMask;
 			}
 		}
@@ -6037,9 +5333,7 @@
 		for (j = TmpPtr; j < TmpPtr + offset; j++) {
 			if (!(AttrBuff2[j] & Attr2Protect)) {
 				CodeBuff[j] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 				BuffSetChar(&CodeBuffW[j], 0x20, 'H');
-#endif
 				AttrBuff[j] &= AttrSgrMask;
 			}
 		}
@@ -6080,9 +5374,7 @@
 		    ((AttrBuff[Ptr+XStart-1] & AttrKanji) != 0) &&
 		    ((AttrBuff2[Ptr+XStart-1] & Attr2Protect) == 0)) {
 			CodeBuff[Ptr+XStart-1] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[Ptr+XStart-1], 0x20, 'H');
-#endif
 			AttrBuff[Ptr+XStart-1] &= AttrSgrMask;
 		}
 		if ((XStart+C<NumOfColumns) &&
@@ -6089,17 +5381,13 @@
 		    ((AttrBuff[Ptr+XStart+C-1] & AttrKanji) != 0) &&
 		    ((AttrBuff2[Ptr+XStart+C-1] & Attr2Protect) == 0)) {
 			CodeBuff[Ptr+XStart+C] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[Ptr+XStart+C], 0x20, 'H');
-#endif
 			AttrBuff[Ptr+XStart+C] &= AttrSgrMask;
 		}
 		for (j=Ptr+XStart; j<Ptr+XStart+C; j++) {
 			if (!(AttrBuff2[j] & Attr2Protect)) {
 				CodeBuff[j] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 				BuffSetChar(&CodeBuffW[j], 0x20, 'H');
-#endif
 				AttrBuff[j] &= AttrSgrMask;
 			}
 		}
@@ -6138,9 +5426,7 @@
 	for (i=XStart; i < XStart + Count; i++) {
 		if (!(AttrLine2[i] & Attr2Protect)) {
 			CodeLine[i] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeLineW[i], 0x20, 'H');
-#endif
 			AttrLine[i] &= AttrSgrMask;
 		}
 	}
@@ -6172,37 +5458,27 @@
 
 		if (AttrBuff[LPtr+CursorRightM] & AttrKanji) {
 			CodeBuff[LPtr+CursorRightM] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[LPtr+CursorRightM], 0x20, 'H');
-#endif
 			AttrBuff[LPtr+CursorRightM] &= ~AttrKanji;
 			if (CursorRightM < NumOfColumns-1) {
 				CodeBuff[LPtr+CursorRightM+1] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 				BuffSetChar(&CodeBuffW[LPtr+CursorRightM+1], 0x20, 'H');
-#endif
 			}
 		}
 
 		if (AttrBuff[Ptr+count-1] & AttrKanji) {
 			CodeBuff[Ptr+count] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[Ptr+count], 0x20, 'H');
-#endif
 		}
 
 		if (CursorLeftM > 0 && AttrBuff[Ptr-1] & AttrKanji) {
 			CodeBuff[Ptr-1] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[Ptr-1], 0x20, 'H');
-#endif
 			AttrBuff[Ptr-1] &= ~AttrKanji;
 		}
 
 		memmove(&(CodeBuff[Ptr]),   &(CodeBuff[Ptr+count]),   MoveLen);
-#if UNICODE_INTERNAL_BUFF
 		memmoveW(&(CodeBuffW[Ptr]),   &(CodeBuffW[Ptr+count]),   MoveLen);
-#endif
 		memmove(&(AttrBuff[Ptr]),   &(AttrBuff[Ptr+count]),   MoveLen);
 		memmove(&(AttrBuff2[Ptr]),  &(AttrBuff2[Ptr+count]),  MoveLen);
 		memmove(&(AttrBuffFG[Ptr]), &(AttrBuffFG[Ptr+count]), MoveLen);
@@ -6209,9 +5485,7 @@
 		memmove(&(AttrBuffBG[Ptr]), &(AttrBuffBG[Ptr+count]), MoveLen);
 
 		memset(&(CodeBuff[Ptr+MoveLen]),   0x20,             count);
-#if UNICODE_INTERNAL_BUFF
 		memsetW(&(CodeBuffW[Ptr+MoveLen]),   0x20,             count);
-#endif
 		memset(&(AttrBuff[Ptr+MoveLen]),   AttrDefault,      count);
 		memset(&(AttrBuff2[Ptr+MoveLen]),  CurCharAttr.Attr2 & Attr2ColorMask, count);
 		memset(&(AttrBuffFG[Ptr+MoveLen]), CurCharAttr.Fore, count);
@@ -6237,27 +5511,19 @@
 
 		if (CursorRightM < NumOfColumns-1 && AttrBuff[LPtr+CursorRightM] & AttrKanji) {
 			CodeBuff[LPtr+CursorRightM+1] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[LPtr+CursorRightM+1], 0x20, 'H');
-#endif
 		}
 
 		if (CursorLeftM > 0 && AttrBuff[Ptr-1] & AttrKanji) {
 			CodeBuff[Ptr-1] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[Ptr-1], 0x20, 'H');
-#endif
 			AttrBuff[Ptr-1] &= ~AttrKanji;
 			CodeBuff[Ptr] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[Ptr], 0x20, 'H');
-#endif
 		}
 
 		memmove(&(CodeBuff[Ptr+count]),   &(CodeBuff[Ptr]),   MoveLen);
-#if UNICODE_INTERNAL_BUFF
 		memmoveW(&(CodeBuffW[Ptr+count]),   &(CodeBuffW[Ptr]),   MoveLen);
-#endif
 		memmove(&(AttrBuff[Ptr+count]),   &(AttrBuff[Ptr]),   MoveLen);
 		memmove(&(AttrBuff2[Ptr+count]),  &(AttrBuff2[Ptr]),  MoveLen);
 		memmove(&(AttrBuffFG[Ptr+count]), &(AttrBuffFG[Ptr]), MoveLen);
@@ -6264,9 +5530,7 @@
 		memmove(&(AttrBuffBG[Ptr+count]), &(AttrBuffBG[Ptr]), MoveLen);
 
 		memset(&(CodeBuff[Ptr]),   0x20,             count);
-#if UNICODE_INTERNAL_BUFF
 		memsetW(&(CodeBuffW[Ptr]),   0x20,             count);
-#endif
 		memset(&(AttrBuff[Ptr]),   AttrDefault,      count);
 		memset(&(AttrBuff2[Ptr]),  CurCharAttr.Attr2 & Attr2ColorMask, count);
 		memset(&(AttrBuffFG[Ptr]), CurCharAttr.Fore, count);
@@ -6274,9 +5538,7 @@
 
 		if (AttrBuff[LPtr+CursorRightM] & AttrKanji) {
 			CodeBuff[LPtr+CursorRightM] = 0x20;
-#if UNICODE_INTERNAL_BUFF
 			BuffSetChar(&CodeBuffW[LPtr+CursorRightM], 0x20, 'H');
-#endif
 			AttrBuff[LPtr+CursorRightM] &= ~AttrKanji;
 		}
 
@@ -6517,7 +5779,6 @@
 	}
 	free(mb_str);
 
-#if UNICODE_INTERNAL_BUFF
 	{
 		const buff_char_t *b = &CodeBuffW[TmpPtr+X];
 		wchar_t *wcs = GetWCS(b);
@@ -6570,7 +5831,6 @@
 		wcscat_s(str_ptr, str_len, str2_ptr);
 		free(str2_ptr);
 	}
-#endif
 
 #if 0
 	{

Modified: branches/unicode_buf_2/teraterm/teraterm/buffer.h
===================================================================
--- branches/unicode_buf_2/teraterm/teraterm/buffer.h	2020-04-12 16:40:54 UTC (rev 8718)
+++ branches/unicode_buf_2/teraterm/teraterm/buffer.h	2020-04-12 16:41:01 UTC (rev 8719)
@@ -98,7 +98,6 @@
 void BuffCopyBox(int SrcXStart, int SrcYStart, int SrcXEnd, int SrcYEnd, int SrcPage, int DstX, int DstY, int DstPage);
 void BuffChangeAttrBox(int XStart, int YStart, int XEnd, int YEnd, PCharAttr attr, PCharAttr mask);
 void BuffChangeAttrStream(int XStart, int YStart, int XEnd, int YEnd, PCharAttr attr, PCharAttr mask);
-void BuffCBCopy(BOOL Table);
 wchar_t *BuffCBCopyUnicode(BOOL Table);
 void BuffPrint(BOOL ScrollRegion);
 void BuffDumpCurrentLine(BYTE TERM);


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