• R/O
  • HTTP
  • SSH
  • HTTPS

提交

标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Tera Termの個人的な作業用リポジトリ


Commit MetaInfo

修订版46e659f640bd915ea5a88e5031dd907509fc5a26 (tree)
时间2020-04-26 23:35:00
作者zmatsuo <zmatsuo@user...>
Commiterzmatsuo

Log Message

無効化した箇所を削除した

git-svn-id: svn+ssh://svn.osdn.net/svnroot/ttssh2/trunk@8746 f5f01b69-1e22-0410-acbf-894ab4bd6246

更改概述

差异

--- a/teraterm/teraterm/buffer.c
+++ b/teraterm/teraterm/buffer.c
@@ -94,20 +94,6 @@ static int NTabStops;
9494
9595 static WORD BuffLock = 0;
9696
97-//static PCHAR CodeBuff; /* Character code buffer */
98-//static PCHAR AttrBuff; /* Attribute buffer */
99-//static PCHAR AttrBuff2; /* Color attr buffer */
100-//static PCHAR AttrBuffFG; /* Foreground color attr buffer */
101-//static PCHAR AttrBuffBG; /* Background color attr buffer */
102-#define ATR 0
103-#if ATR
104-static PCHAR CodeLine;
105-static PCHAR AttrLine;
106-static PCHAR AttrLine2;
107-static PCHAR AttrLineFG;
108-static PCHAR AttrLineBG;
109-static buff_char_t *CodeLineW;
110-#endif
11197 static buff_char_t *CodeBuffW;
11298 static LONG LinePtr;
11399 static LONG BufferSize;
@@ -382,51 +368,14 @@ static BOOL ChangeBuffer(int Nx, int Ny)
382368
383369 NewSize = (LONG)Nx * (LONG)Ny;
384370
385-// CodeDest = NULL;
386-// AttrDest = NULL;
387-// AttrDest2 = NULL;
388-// AttrDestFG = NULL;
389-// AttrDestBG = NULL;
390371 CodeDestW = NULL;
391-
392-#if 0
393- CodeDest = malloc(NewSize);
394- if (CodeDest == NULL) {
395- goto allocate_error;
396- }
397-#endif
398-#if 0
399- AttrDest = malloc(NewSize);
400- if (AttrDest == NULL) {
401- goto allocate_error;
402- }
403- AttrDest2 = malloc(NewSize);
404- if (AttrDest2 == NULL) {
405- goto allocate_error;
406- }
407-#endif
408-#if 0
409- AttrDestFG = malloc(NewSize);
410- if (AttrDestFG == NULL) {
411- goto allocate_error;
412- }
413- AttrDestBG = malloc(NewSize);
414- if (AttrDestBG == NULL) {
415- goto allocate_error;
416- }
417-#endif
418372 CodeDestW = malloc(NewSize * sizeof(buff_char_t));
419373 if (CodeDestW == NULL) {
420374 goto allocate_error;
421375 }
422376
423-// memset(&CodeDest[0], 0x20, NewSize);
424377 memset(&CodeDestW[0], 0, NewSize * sizeof(buff_char_t));
425378 memsetW(&CodeDestW[0], 0x20, AttrDefaultFG, AttrDefaultBG, AttrDefault, AttrDefault, NewSize);
426-// memset(&AttrDest[0], AttrDefault, NewSize);
427-// memset(&AttrDest2[0], AttrDefault, NewSize);
428-// memset(&AttrDestFG[0], AttrDefaultFG, NewSize);
429-// memset(&AttrDestBG[0], AttrDefaultBG, NewSize);
430379 if ( CodeBuffW != NULL ) {
431380 if ( NumOfColumns > Nx ) {
432381 NxCopy = Nx;
@@ -446,20 +395,8 @@ static BOOL ChangeBuffer(int Nx, int Ny)
446395 SrcPtr = GetLinePtr(BuffEnd-NyCopy);
447396 DestPtr = 0;
448397 for (i = 1 ; i <= NyCopy ; i++) {
449-// memcpy(&CodeDest[DestPtr],&CodeBuff[SrcPtr],NxCopy);
450398 memcpyW(&CodeDestW[DestPtr],&CodeBuffW[SrcPtr],NxCopy);
451-// memcpy(&AttrDest[DestPtr],&AttrBuff[SrcPtr],NxCopy);
452-// memcpy(&AttrDest2[DestPtr],&AttrBuff2[SrcPtr],NxCopy);
453-// memcpy(&AttrDestFG[DestPtr],&AttrBuffFG[SrcPtr],NxCopy);
454-// memcpy(&AttrDestBG[DestPtr],&AttrBuffBG[SrcPtr],NxCopy);
455-#if 0
456- if (AttrDest[DestPtr+NxCopy-1] & AttrKanji) {
457- CodeDest[DestPtr+NxCopy-1] = ' ';
458- AttrDest[DestPtr+NxCopy-1] ^= AttrKanji;
459- }
460-#endif
461399 if (CodeDestW[DestPtr+NxCopy-1].attr & AttrKanji) {
462-// CodeDest[DestPtr+NxCopy-1] = ' ';
463400 BuffSetChar(&CodeDestW[DestPtr + NxCopy - 1], ' ', 'H');
464401 CodeDestW[DestPtr+NxCopy-1].attr ^= AttrKanji;
465402 }
@@ -491,11 +428,6 @@ static BOOL ChangeBuffer(int Nx, int Ny)
491428 (SelectEnd.x > SelectStart.x));
492429 }
493430
494-// CodeBuff = CodeDest;
495-// AttrBuff = AttrDest;
496-// AttrBuff2 = AttrDest2;
497-// AttrBuffFG = AttrDestFG;
498-// AttrBuffBG = AttrDestBG;
499431 CodeBuffW = CodeDestW;
500432 BufferSize = NewSize;
501433 NumOfLinesInBuff = Ny;
@@ -513,14 +445,6 @@ static BOOL ChangeBuffer(int Nx, int Ny)
513445
514446 LinePtr = 0;
515447 if (LockOld>0) {
516-#if ATR
517- CodeLine = CodeBuff;
518- CodeLineW = CodeBuffW;
519- AttrLine = AttrBuff;
520- AttrLine2 = AttrBuff2;
521- AttrLineFG = AttrBuffFG;
522- AttrLineBG = AttrBuffBG;
523-#endif
524448 }
525449 else {
526450 ;
@@ -530,11 +454,6 @@ static BOOL ChangeBuffer(int Nx, int Ny)
530454 return TRUE;
531455
532456 allocate_error:
533-// if (CodeDest) free(CodeDest);
534-// if (AttrDest) free(AttrDest);
535-// if (AttrDest2) free(AttrDest2);
536-// if (AttrDestFG) free(AttrDestFG);
537-// if (AttrDestBG) free(AttrDestBG);
538457 if (CodeDestW) free(CodeDestW);
539458 return FALSE;
540459 }
@@ -582,14 +501,6 @@ void InitBuffer()
582501 static void NewLine(int Line)
583502 {
584503 LinePtr = GetLinePtr(Line);
585-#if ATR
586- CodeLine = &CodeBuff[LinePtr];
587- AttrLine = &AttrBuff[LinePtr];
588- AttrLine2 = &AttrBuff2[LinePtr];
589- AttrLineFG = &AttrBuffFG[LinePtr];
590- AttrLineBG = &AttrBuffBG[LinePtr];
591- CodeLineW = &CodeBuffW[LinePtr];
592-#endif
593504 }
594505
595506 void LockBuffer()
@@ -616,36 +527,10 @@ void FreeBuffer()
616527 {
617528 BuffLock = 1;
618529 UnlockBuffer();
619-#if 0
620- if (CodeBuff!=NULL) {
621- free(CodeBuff);
622- CodeBuff = NULL;
623- }
624-#endif
625530 if (CodeBuffW != NULL) {
626531 free(CodeBuffW);
627532 CodeBuffW = NULL;
628533 }
629-#if 0
630- if (AttrBuff!=NULL) {
631- free(AttrBuff);
632- AttrBuff = NULL;
633- }
634- if (AttrBuff2!=NULL) {
635- free(AttrBuff2);
636- AttrBuff2 = NULL;
637- }
638-#endif
639-#if 0
640- if (AttrBuffFG!=NULL) {
641- free(AttrBuffFG);
642- AttrBuffFG = NULL;
643- }
644- if (AttrBuffBG!=NULL) {
645- free(AttrBuffBG);
646- AttrBuffBG = NULL;
647- }
648-#endif
649534 }
650535
651536 void BuffAllSelect()
@@ -738,18 +623,8 @@ void BuffScroll(int Count, int Bottom)
738623 if (Bottom<NumOfLines-1) {
739624 SrcPtr = GetLinePtr(PageStart+NumOfLines-1);
740625 for (i=NumOfLines-1; i>=Bottom+1; i--) {
741-// memcpy(&(CodeBuff[DestPtr]),&(CodeBuff[SrcPtr]),NumOfColumns);
742626 memcpyW(&(CodeBuffW[DestPtr]),&(CodeBuffW[SrcPtr]),NumOfColumns);
743-// memcpy(&(AttrBuff[DestPtr]),&(AttrBuff[SrcPtr]),NumOfColumns);
744-// memcpy(&(AttrBuff2[DestPtr]),&(AttrBuff2[SrcPtr]),NumOfColumns);
745-// memcpy(&(AttrBuffFG[DestPtr]),&(AttrBuffFG[SrcPtr]),NumOfColumns);
746-// memcpy(&(AttrBuffBG[DestPtr]),&(AttrBuffBG[SrcPtr]),NumOfColumns);
747-// memset(&(CodeBuff[SrcPtr]),0x20,NumOfColumns);
748627 memsetW(&(CodeBuffW[SrcPtr]),0x20,CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, NumOfColumns);
749-// memset(&(AttrBuff[SrcPtr]),AttrDefault,NumOfColumns);
750-// memset(&(AttrBuff2[SrcPtr]),CurCharAttr.Attr2 & Attr2ColorMask, NumOfColumns);
751-// memset(&(AttrBuffFG[SrcPtr]),CurCharAttr.Fore,NumOfColumns);
752-// memset(&(AttrBuffBG[SrcPtr]),CurCharAttr.Back,NumOfColumns);
753628 SrcPtr = PrevLinePtr(SrcPtr);
754629 DestPtr = PrevLinePtr(DestPtr);
755630 n--;
@@ -757,12 +632,7 @@ void BuffScroll(int Count, int Bottom)
757632 }
758633 for (i = 1 ; i <= n ; i++) {
759634 buff_char_t *b = &CodeBuffW[DestPtr];
760-// memset(&CodeBuff[DestPtr],0x20,NumOfColumns);
761635 memsetW(b ,0x20, CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, NumOfColumns);
762-// memset(&AttrBuff[DestPtr],AttrDefault,NumOfColumns);
763-// memset(&AttrBuff2[DestPtr],CurCharAttr.Attr2 & Attr2ColorMask, NumOfColumns);
764-// memset(&AttrBuffFG[DestPtr],CurCharAttr.Fore,NumOfColumns);
765-// memset(&AttrBuffBG[DestPtr],CurCharAttr.Back,NumOfColumns);
766636 DestPtr = PrevLinePtr(DestPtr);
767637 }
768638
@@ -803,14 +673,7 @@ void BuffScroll(int Count, int Bottom)
803673 // 1 カーソルが漢字の右側
804674 static void EraseKanji(int LR)
805675 {
806-#if !ATR
807-// PCHAR CodeLine = &CodeBuff[LinePtr];
808-// PCHAR AttrLine = &AttrBuff[LinePtr];
809-// PCHAR AttrLine2 = &AttrBuff2[LinePtr];
810-// PCHAR AttrLineFG = &AttrBuffFG[LinePtr];
811-// PCHAR AttrLineBG = &AttrBuffBG[LinePtr];
812676 buff_char_t * CodeLineW = &CodeBuffW[LinePtr];
813-#endif
814677
815678 buff_char_t *p;
816679 int bx;
@@ -823,24 +686,14 @@ static void EraseKanji(int LR)
823686 if (IsBuffFullWidth(p)) {
824687 // 全角をつぶす
825688 BuffSetChar(p, ' ', 'H');
826-// CodeLine[bx] = 0x20;
827689 p->attr = CurCharAttr.Attr;
828690 p->attr2 = CurCharAttr.Attr2;
829-// AttrLine[bx] = CurCharAttr.Attr;
830-// AttrLine2[bx] = CurCharAttr.Attr2;
831-// AttrLineFG[bx] = CurCharAttr.Fore;
832-// AttrLineBG[bx] = CurCharAttr.Back;
833691 p->fg = CurCharAttr.Fore;
834692 p->bg = CurCharAttr.Back;
835693 if (bx+1 < NumOfColumns) {
836694 BuffSetChar(p + 1, ' ', 'H');
837-// CodeLine[bx+1] = 0x20;
838695 (p+1)->attr = CurCharAttr.Attr;
839696 (p+1)->attr2 = CurCharAttr.Attr2;
840-// AttrLine[bx+1] = CurCharAttr.Attr;
841-// AttrLine2[bx+1] = CurCharAttr.Attr2;
842-// AttrLineFG[bx+1] = CurCharAttr.Fore;
843-// AttrLineBG[bx+1] = CurCharAttr.Back;
844697 (p+1)->fg = CurCharAttr.Fore;
845698 (p+1)->bg = CurCharAttr.Back;
846699 }
@@ -858,27 +711,18 @@ void EraseKanjiOnLRMargin(LONG ptr, int count)
858711 for (i=0; i<count; i++) {
859712 pos = ptr + CursorLeftM-1;
860713 if (CursorLeftM>0 && (CodeBuffW[pos].attr & AttrKanji)) {
861-// CodeBuff[pos] = 0x20;
862714 BuffSetChar(&CodeBuffW[pos], 0x20, 'H');
863-// AttrBuff[pos] &= ~AttrKanji;
864715 CodeBuffW[pos].attr &= ~AttrKanji;
865716 pos++;
866-// CodeBuff[pos] = 0x20;
867717 BuffSetChar(&CodeBuffW[pos], 0x20, 'H');
868-// AttrBuff[pos] &= ~AttrKanji;
869718 CodeBuffW[pos].attr &= ~AttrKanji;
870719 }
871720 pos = ptr + CursorRightM;
872-// if (CursorRightM < NumOfColumns-1 && (AttrBuff[pos] & AttrKanji)) {
873721 if (CursorRightM < NumOfColumns-1 && (CodeBuffW[pos].attr & AttrKanji)) {
874-// CodeBuff[pos] = 0x20;
875722 BuffSetChar(&CodeBuffW[pos], 0x20, 'H');
876-// AttrBuff[pos] &= ~AttrKanji;
877723 CodeBuffW[pos].attr &= ~AttrKanji;
878724 pos++;
879-// CodeBuff[pos] = 0x20;
880725 BuffSetChar(&CodeBuffW[pos], 0x20, 'H');
881-// AttrBuff[pos] &= ~AttrKanji;
882726 CodeBuffW[pos].attr &= ~AttrKanji;
883727 }
884728 ptr = NextLinePtr(ptr);
@@ -889,14 +733,7 @@ void EraseKanjiOnLRMargin(LONG ptr, int count)
889733 // Count: Number of characters to be inserted
890734 void BuffInsertSpace(int Count)
891735 {
892-#if !ATR
893-// PCHAR CodeLine = &CodeBuff[LinePtr];
894-// PCHAR AttrLine = &AttrBuff[LinePtr];
895-// PCHAR AttrLine2 = &AttrBuff2[LinePtr];
896-// PCHAR AttrLineFG = &AttrBuffFG[LinePtr];
897-// PCHAR AttrLineBG = &AttrBuffBG[LinePtr];
898736 buff_char_t * CodeLineW = &CodeBuffW[LinePtr];
899-#endif
900737 int MoveLen;
901738 int extr = 0;
902739 int sx;
@@ -919,9 +756,7 @@ void BuffInsertSpace(int Count)
919756 }
920757
921758 if (CursorRightM < NumOfColumns - 1 && (CodeLineW[CursorRightM].attr & AttrKanji)) {
922-// CodeLine[CursorRightM + 1] = 0x20;
923759 BuffSetChar(&CodeLineW[CursorRightM + 1], 0x20, 'H');
924-// AttrLine[CursorRightM + 1] &= ~AttrKanji;
925760 CodeLineW[CursorRightM + 1].attr &= ~AttrKanji;
926761 extr++;
927762 }
@@ -932,26 +767,13 @@ void BuffInsertSpace(int Count)
932767 MoveLen = CursorRightM + 1 - CursorX - Count;
933768
934769 if (MoveLen > 0) {
935-// memmove(&(CodeLine[CursorX + Count]), &(CodeLine[CursorX]), MoveLen);
936770 memmoveW(&(CodeLineW[CursorX + Count]), &(CodeLineW[CursorX]), MoveLen);
937-// memmove(&(AttrLine[CursorX + Count]), &(AttrLine[CursorX]), MoveLen);
938-// memmove(&(AttrLine2[CursorX + Count]), &(AttrLine2[CursorX]), MoveLen);
939-// memmove(&(AttrLineFG[CursorX + Count]), &(AttrLineFG[CursorX]), MoveLen);
940-// memmove(&(AttrLineBG[CursorX + Count]), &(AttrLineBG[CursorX]), MoveLen);
941771 }
942-// memset(&(CodeLine[CursorX]), 0x20, Count);
943772 memsetW(&(CodeLineW[CursorX]), 0x20, CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2, Count);
944-// memset(&(AttrLine[CursorX]), AttrDefault, Count);
945-// memset(&(AttrLine2[CursorX]), CurCharAttr.Attr2 & Attr2ColorMask, Count);
946-// memset(&(AttrLineFG[CursorX]), CurCharAttr.Fore, Count);
947-// memset(&(AttrLineBG[CursorX]), CurCharAttr.Back, Count);
948773 /* last char in current line is kanji first? */
949-// if ((AttrLine[CursorRightM] & AttrKanji) != 0) {
950774 if ((CodeLineW[CursorRightM].attr & AttrKanji) != 0) {
951775 /* then delete it */
952-// CodeLine[CursorRightM] = 0x20;
953776 BuffSetChar(&CodeLineW[CursorRightM], 0x20, 'H');
954-// AttrLine[CursorRightM] &= ~AttrKanji;
955777 CodeLineW[CursorRightM].attr &= ~AttrKanji;
956778 }
957779 BuffUpdateRect(sx, CursorY, CursorRightM + extr, CursorY);
@@ -975,12 +797,7 @@ void BuffEraseCurToEnd()
975797 YEnd--;
976798 }
977799 for (i = CursorY ; i <= YEnd ; i++) {
978-// memset(&(CodeBuff[TmpPtr+offset]),0x20,NumOfColumns-offset);
979800 memsetW(&(CodeBuffW[TmpPtr+offset]),0x20,CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, NumOfColumns-offset);
980-// memset(&(AttrBuff[TmpPtr+offset]),AttrDefault,NumOfColumns-offset);
981-// memset(&(AttrBuff2[TmpPtr+offset]),CurCharAttr.Attr2 & Attr2ColorMask, NumOfColumns-offset);
982-// memset(&(AttrBuffFG[TmpPtr+offset]),CurCharAttr.Fore,NumOfColumns-offset);
983-// memset(&(AttrBuffBG[TmpPtr+offset]),CurCharAttr.Back,NumOfColumns-offset);
984801 offset = 0;
985802 TmpPtr = NextLinePtr(TmpPtr);
986803 }
@@ -1011,12 +828,7 @@ void BuffEraseHomeToCur()
1011828 if (i==CursorY) {
1012829 offset = CursorX+1;
1013830 }
1014-// memset(&(CodeBuff[TmpPtr]),0x20,offset);
1015831 memsetW(&(CodeBuffW[TmpPtr]),0x20, CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, offset);
1016-// memset(&(AttrBuff[TmpPtr]),AttrDefault,offset);
1017-// memset(&(AttrBuff2[TmpPtr]),CurCharAttr.Attr2 & Attr2ColorMask, offset);
1018-// memset(&(AttrBuffFG[TmpPtr]),CurCharAttr.Fore,offset);
1019-// memset(&(AttrBuffBG[TmpPtr]),CurCharAttr.Back,offset);
1020832 TmpPtr = NextLinePtr(TmpPtr);
1021833 }
1022834
@@ -1046,22 +858,12 @@ void BuffInsertLines(int Count, int YEnd)
1046858 DestPtr = GetLinePtr(PageStart+YEnd) + CursorLeftM;
1047859 linelen = CursorRightM - CursorLeftM + 1;
1048860 for (i= YEnd-Count ; i>=CursorY ; i--) {
1049-// memcpy(&(CodeBuff[DestPtr]), &(CodeBuff[SrcPtr]), linelen);
1050861 memcpyW(&(CodeBuffW[DestPtr]), &(CodeBuffW[SrcPtr]), linelen);
1051-// memcpy(&(AttrBuff[DestPtr]), &(AttrBuff[SrcPtr]), linelen);
1052-// memcpy(&(AttrBuff2[DestPtr]), &(AttrBuff2[SrcPtr]), linelen);
1053-// memcpy(&(AttrBuffFG[DestPtr]), &(AttrBuffFG[SrcPtr]), linelen);
1054-// memcpy(&(AttrBuffBG[DestPtr]), &(AttrBuffBG[SrcPtr]), linelen);
1055862 SrcPtr = PrevLinePtr(SrcPtr);
1056863 DestPtr = PrevLinePtr(DestPtr);
1057864 }
1058865 for (i = 1 ; i <= Count ; i++) {
1059-// memset(&(CodeBuff[DestPtr]), 0x20, linelen);
1060866 memsetW(&(CodeBuffW[DestPtr]), 0x20, CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, linelen);
1061-// memset(&(AttrBuff[DestPtr]), AttrDefault, linelen);
1062-// memset(&(AttrBuff2[DestPtr]), CurCharAttr.Attr2 & Attr2ColorMask, linelen);
1063-// memset(&(AttrBuffFG[DestPtr]), CurCharAttr.Fore, linelen);
1064-// memset(&(AttrBuffBG[DestPtr]), CurCharAttr.Back, linelen);
1065867 DestPtr = PrevLinePtr(DestPtr);
1066868 }
1067869
@@ -1075,17 +877,9 @@ void BuffEraseCharsInLine(int XStart, int Count)
1075877 // XStart: start position of erasing
1076878 // Count: number of characters to be erased
1077879 {
1078-#if !ATR
1079-// PCHAR CodeLine = &CodeBuff[LinePtr];
1080-// PCHAR AttrLine = &AttrBuff[LinePtr];
1081-// PCHAR AttrLine2 = &AttrBuff2[LinePtr];
1082-// PCHAR AttrLineFG = &AttrBuffFG[LinePtr];
1083-// PCHAR AttrLineBG = &AttrBuffBG[LinePtr];
1084880 buff_char_t * CodeLineW = &CodeBuffW[LinePtr];
1085-#endif
1086881 BOOL LineContinued=FALSE;
1087882
1088-// if (ts.EnableContinuedLineCopy && XStart == 0 && (AttrLine[0] & AttrLineContinued)) {
1089883 if (ts.EnableContinuedLineCopy && XStart == 0 && (CodeLineW[0].attr & AttrLineContinued)) {
1090884 LineContinued = TRUE;
1091885 }
@@ -1095,12 +889,7 @@ void BuffEraseCharsInLine(int XStart, int Count)
1095889 }
1096890
1097891 NewLine(PageStart+CursorY);
1098-// memset(&(CodeLine[XStart]),0x20,Count);
1099892 memsetW(&(CodeLineW[XStart]),0x20, CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, Count);
1100-// memset(&(AttrLine[XStart]),AttrDefault,Count);
1101-// memset(&(AttrLine2[XStart]),CurCharAttr.Attr2 & Attr2ColorMask, Count);
1102-// memset(&(AttrLineFG[XStart]),CurCharAttr.Fore,Count);
1103-// memset(&(AttrLineBG[XStart]),CurCharAttr.Back,Count);
1104893
1105894 if (ts.EnableContinuedLineCopy) {
1106895 if (LineContinued) {
@@ -1108,7 +897,6 @@ void BuffEraseCharsInLine(int XStart, int Count)
1108897 }
1109898
1110899 if (XStart + Count >= NumOfColumns) {
1111-// AttrBuff[NextLinePtr(LinePtr)] &= ~AttrLineContinued;
1112900 CodeBuffW[NextLinePtr(LinePtr)].attr &= ~AttrLineContinued;
1113901 }
1114902 }
@@ -1138,22 +926,12 @@ void BuffDeleteLines(int Count, int YEnd)
1138926 DestPtr = GetLinePtr(PageStart+CursorY) + (LONG)CursorLeftM;
1139927 linelen = CursorRightM - CursorLeftM + 1;
1140928 for (i=CursorY ; i<= YEnd-Count ; i++) {
1141-// memcpy(&(CodeBuff[DestPtr]), &(CodeBuff[SrcPtr]), linelen);
1142929 memcpyW(&(CodeBuffW[DestPtr]), &(CodeBuffW[SrcPtr]), linelen);
1143-// memcpy(&(AttrBuff[DestPtr]), &(AttrBuff[SrcPtr]), linelen);
1144-// memcpy(&(AttrBuff2[DestPtr]), &(AttrBuff2[SrcPtr]), linelen);
1145-// memcpy(&(AttrBuffFG[DestPtr]), &(AttrBuffFG[SrcPtr]), linelen);
1146-// memcpy(&(AttrBuffBG[DestPtr]), &(AttrBuffBG[SrcPtr]), linelen);
1147930 SrcPtr = NextLinePtr(SrcPtr);
1148931 DestPtr = NextLinePtr(DestPtr);
1149932 }
1150933 for (i = YEnd+1-Count ; i<=YEnd ; i++) {
1151-// memset(&(CodeBuff[DestPtr]), 0x20, linelen);
1152934 memsetW(&(CodeBuffW[DestPtr]), 0x20, CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, linelen);
1153-// memset(&(AttrBuff[DestPtr]), AttrDefault, linelen);
1154-// memset(&(AttrBuff2[DestPtr]), CurCharAttr.Attr2 & Attr2ColorMask, linelen);
1155-// memset(&(AttrBuffFG[DestPtr]), CurCharAttr.Fore, linelen);
1156-// memset(&(AttrBuffBG[DestPtr]), CurCharAttr.Back, linelen);
1157935 DestPtr = NextLinePtr(DestPtr);
1158936 }
1159937
@@ -1166,14 +944,7 @@ void BuffDeleteLines(int Count, int YEnd)
1166944 // Count: number of characters to be deleted
1167945 void BuffDeleteChars(int Count)
1168946 {
1169-#if !ATR
1170-// PCHAR CodeLine = &CodeBuff[LinePtr];
1171-// PCHAR AttrLine = &AttrBuff[LinePtr];
1172-// PCHAR AttrLine2 = &AttrBuff2[LinePtr];
1173-// PCHAR AttrLineFG = &AttrBuffFG[LinePtr];
1174-// PCHAR AttrLineBG = &AttrBuffBG[LinePtr];
1175947 buff_char_t * CodeLineW = &CodeBuffW[LinePtr];
1176-#endif
1177948 int MoveLen;
1178949 int extr = 0;
1179950 buff_char_t *b;
@@ -1207,15 +978,10 @@ void BuffDeleteChars(int Count)
1207978 }
1208979 }
1209980
1210-// if (CursorRightM < NumOfColumns - 1 && (AttrLine[CursorRightM] & AttrKanji)) {
1211981 if (CursorRightM < NumOfColumns - 1 && (CodeLineW[CursorRightM].attr & AttrKanji)) {
1212-// CodeLine[CursorRightM] = 0x20;
1213982 BuffSetChar(&CodeLineW[CursorRightM], 0x20, 'H');
1214-// AttrLine[CursorRightM] &= ~AttrKanji;
1215983 CodeLineW[CursorRightM].attr &= ~AttrKanji;
1216-// CodeLine[CursorRightM + 1] = 0x20;
1217984 BuffSetChar(&CodeLineW[CursorRightM + 1], 0x20, 'H');
1218-// AttrLine[CursorRightM + 1] &= ~AttrKanji;
1219985 CodeLineW[CursorRightM + 1].attr &= ~AttrKanji;
1220986 extr = 1;
1221987 }
@@ -1223,19 +989,9 @@ void BuffDeleteChars(int Count)
1223989 MoveLen = CursorRightM + 1 - CursorX - Count;
1224990
1225991 if (MoveLen > 0) {
1226-// memmove(&(CodeLine[CursorX]), &(CodeLine[CursorX + Count]), MoveLen);
1227992 memmoveW(&(CodeLineW[CursorX]), &(CodeLineW[CursorX + Count]), MoveLen);
1228-// memmove(&(AttrLine[CursorX]), &(AttrLine[CursorX + Count]), MoveLen);
1229-// memmove(&(AttrLine2[CursorX]), &(AttrLine2[CursorX + Count]), MoveLen);
1230-// memmove(&(AttrLineFG[CursorX]), &(AttrLineFG[CursorX + Count]), MoveLen);
1231-// memmove(&(AttrLineBG[CursorX]), &(AttrLineBG[CursorX + Count]), MoveLen);
1232993 }
1233-// memset(&(CodeLine[CursorX + MoveLen]), 0x20, Count);
1234994 memsetW(&(CodeLineW[CursorX + MoveLen]), ' ', CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, Count);
1235-// memset(&(AttrLine[CursorX + MoveLen]), AttrDefault, Count);
1236-// memset(&(AttrLine2[CursorX + MoveLen]), CurCharAttr.Attr2 & Attr2ColorMask, Count);
1237-// memset(&(AttrLineFG[CursorX + MoveLen]), CurCharAttr.Fore, Count);
1238-// memset(&(AttrLineBG[CursorX + MoveLen]), CurCharAttr.Back, Count);
1239995
1240996 BuffUpdateRect(CursorX, CursorY, CursorRightM + extr, CursorY);
1241997 }
@@ -1244,14 +1000,7 @@ void BuffDeleteChars(int Count)
12441000 // Count: number of characters to be deleted
12451001 void BuffEraseChars(int Count)
12461002 {
1247-#if !ATR
1248-// PCHAR CodeLine = &CodeBuff[LinePtr];
1249-// PCHAR AttrLine = &AttrBuff[LinePtr];
1250-// PCHAR AttrLine2 = &AttrBuff2[LinePtr];
1251-// PCHAR AttrLineFG = &AttrBuffFG[LinePtr];
1252-// PCHAR AttrLineBG = &AttrBuffBG[LinePtr];
12531003 buff_char_t * CodeLineW = &CodeBuffW[LinePtr];
1254-#endif
12551004 int extr = 0;
12561005 int sx = CursorX;
12571006 buff_char_t *b;
@@ -1287,12 +1036,7 @@ void BuffEraseChars(int Count)
12871036 }
12881037 }
12891038
1290-// memset(&(CodeLine[CursorX]), 0x20, Count);
12911039 memsetW(&(CodeLineW[CursorX]), 0x20, CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, Count);
1292-// memset(&(AttrLine[CursorX]), AttrDefault, Count);
1293-// memset(&(AttrLine2[CursorX]), CurCharAttr.Attr2 & Attr2ColorMask, Count);
1294-// memset(&(AttrLineFG[CursorX]), CurCharAttr.Fore, Count);
1295-// memset(&(AttrLineBG[CursorX]), CurCharAttr.Back, Count);
12961040
12971041 /* update window */
12981042 DispEraseCharsInLine(sx, Count + extr);
@@ -1306,12 +1050,7 @@ void BuffFillWithE()
13061050
13071051 TmpPtr = GetLinePtr(PageStart);
13081052 for (i = 0 ; i <= NumOfLines-1-StatusLine ; i++) {
1309-// memset(&(CodeBuff[TmpPtr]),'E',NumOfColumns);
13101053 memsetW(&(CodeBuffW[TmpPtr]),'E', AttrDefaultFG, AttrDefaultBG, AttrDefault, AttrDefault, NumOfColumns);
1311-// memset(&(AttrBuff[TmpPtr]),AttrDefault,NumOfColumns);
1312-// memset(&(AttrBuff2[TmpPtr]),AttrDefault,NumOfColumns);
1313-// memset(&(AttrBuffFG[TmpPtr]),AttrDefaultFG,NumOfColumns);
1314-// memset(&(AttrBuffBG[TmpPtr]),AttrDefaultBG,NumOfColumns);
13151054 TmpPtr = NextLinePtr(TmpPtr);
13161055 }
13171056 BuffUpdateRect(WinOrgX,WinOrgY,WinOrgX+WinWidth-1,WinOrgY+WinHeight-1);
@@ -1346,12 +1085,7 @@ void BuffDrawLine(TCharAttr Attr, int Direction, int C)
13461085 C = NumOfColumns-CursorX;
13471086 }
13481087 Ptr = GetLinePtr(PageStart+Y);
1349-// memset(&(CodeBuff[Ptr+CursorX]),'q',C);
13501088 memsetW(&(CodeBuffW[Ptr+CursorX]),'q', Attr.Fore, Attr.Back, Attr.Attr, Attr.Attr2, C);
1351-// memset(&(AttrBuff[Ptr+CursorX]),Attr.Attr,C);
1352-// memset(&(AttrBuff2[Ptr+CursorX]),Attr.Attr2,C);
1353-// memset(&(AttrBuffFG[Ptr+CursorX]),Attr.Fore,C);
1354-// memset(&(AttrBuffBG[Ptr+CursorX]),Attr.Back,C);
13551089 BuffUpdateRect(CursorX,Y,CursorX+C-1,Y);
13561090 break;
13571091 case 5:
@@ -1375,12 +1109,7 @@ void BuffDrawLine(TCharAttr Attr, int Direction, int C)
13751109 C = NumOfLines-StatusLine-CursorY;
13761110 }
13771111 for (i=1; i<=C; i++) {
1378-// CodeBuff[Ptr+X] = 'x';
13791112 BuffSetChar4(&CodeBuffW[Ptr+X], 'x', Attr.Fore, Attr.Back, Attr.Attr, Attr.Attr2, 'H');
1380-// AttrBuff[Ptr+X] = Attr.Attr;
1381-// AttrBuff2[Ptr+X] = Attr.Attr2;
1382-// AttrBuffFG[Ptr+X] = Attr.Fore;
1383-// AttrBuffBG[Ptr+X] = Attr.Back;
13841113 Ptr = NextLinePtr(Ptr);
13851114 }
13861115 BuffUpdateRect(X,CursorY,X,CursorY+C-1);
@@ -1410,28 +1139,13 @@ void BuffEraseBox(int XStart, int YStart, int XEnd, int YEnd)
14101139 for (i=YStart; i<=YEnd; i++) {
14111140 if ((XStart>0) &&
14121141 ((CodeBuffW[Ptr+XStart-1].attr & AttrKanji) != 0)) {
1413-// CodeBuff[Ptr+XStart-1] = 0x20;
14141142 BuffSetChar4(&CodeBuffW[Ptr+XStart-1], 0x20, CurCharAttr.Fore, CurCharAttr.Back, CurCharAttr.Attr, CurCharAttr.Attr2, 'H');
1415-// AttrBuff[Ptr+XStart-1] = CurCharAttr.Attr;
1416-// AttrBuff2[Ptr+XStart-1] = CurCharAttr.Attr2;
1417-// AttrBuffFG[Ptr+XStart-1] = CurCharAttr.Fore;
1418-// AttrBuffBG[Ptr+XStart-1] = CurCharAttr.Back;
14191143 }
14201144 if ((XStart+C<NumOfColumns) &&
14211145 ((CodeBuffW[Ptr+XStart+C-1].attr & AttrKanji) != 0)) {
1422-// CodeBuff[Ptr+XStart+C] = 0x20;
14231146 BuffSetChar4(&CodeBuffW[Ptr+XStart+C], 0x20, CurCharAttr.Fore, CurCharAttr.Back, CurCharAttr.Attr, CurCharAttr.Attr2, 'H');
1424-// AttrBuff[Ptr+XStart+C] = CurCharAttr.Attr;
1425-// AttrBuff2[Ptr+XStart+C] = CurCharAttr.Attr2;
1426-// AttrBuffFG[Ptr+XStart+C] = CurCharAttr.Fore;
1427-// AttrBuffBG[Ptr+XStart+C] = CurCharAttr.Back;
14281147 }
1429-// memset(&(CodeBuff[Ptr+XStart]),0x20,C);
14301148 memsetW(&(CodeBuffW[Ptr+XStart]),0x20, CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, C);
1431-// memset(&(AttrBuff[Ptr+XStart]),AttrDefault,C);
1432-// memset(&(AttrBuff2[Ptr+XStart]),CurCharAttr.Attr2 & Attr2ColorMask, C);
1433-// memset(&(AttrBuffFG[Ptr+XStart]),CurCharAttr.Fore,C);
1434-// memset(&(AttrBuffBG[Ptr+XStart]),CurCharAttr.Back,C);
14351149 Ptr = NextLinePtr(Ptr);
14361150 }
14371151 BuffUpdateRect(XStart,YStart,XEnd,YEnd);
@@ -1459,21 +1173,14 @@ void BuffFillBox(char ch, int XStart, int YStart, int XEnd, int YEnd)
14591173 for (i=YStart; i<=YEnd; i++) {
14601174 if ((XStart>0) &&
14611175 ((CodeBuffW[Ptr+XStart-1].attr & AttrKanji) != 0)) {
1462-// CodeBuff[Ptr+XStart-1] = 0x20;
14631176 BuffSetChar(&CodeBuffW[Ptr + XStart - 1], 0x20, 'H');
14641177 CodeBuffW[Ptr+XStart-1].attr ^= AttrKanji;
14651178 }
14661179 if ((XStart+Cols<NumOfColumns) &&
14671180 ((CodeBuffW[Ptr+XStart+Cols-1].attr & AttrKanji) != 0)) {
1468-// CodeBuff[Ptr+XStart+Cols] = 0x20;
14691181 BuffSetChar(&CodeBuffW[Ptr + XStart + Cols], 0x20, 'H');
14701182 }
1471-// memset(&(CodeBuff[Ptr+XStart]), ch, Cols);
14721183 memsetW(&(CodeBuffW[Ptr+XStart]), ch, CurCharAttr.Fore, CurCharAttr.Back, CurCharAttr.Attr, CurCharAttr.Attr2, Cols);
1473-// memset(&(AttrBuff[Ptr+XStart]), CurCharAttr.Attr, Cols);
1474-// memset(&(AttrBuff2[Ptr+XStart]), CurCharAttr.Attr2, Cols);
1475-// memset(&(AttrBuffFG[Ptr+XStart]), CurCharAttr.Fore, Cols);
1476-// memset(&(AttrBuffBG[Ptr+XStart]), CurCharAttr.Back, Cols);
14771184 Ptr = NextLinePtr(Ptr);
14781185 }
14791186 BuffUpdateRect(XStart, YStart, XEnd, YEnd);
@@ -1524,12 +1231,7 @@ void BuffCopyBox(
15241231 SPtr = GetLinePtr(PageStart+SrcYStart);
15251232 DPtr = GetLinePtr(PageStart+DstY);
15261233 for (i=0; i<L; i++) {
1527-// memcpy(&(CodeBuff[DPtr+DstX]), &(CodeBuff[SPtr+SrcXStart]), C);
15281234 memcpyW(&(CodeBuffW[DPtr+DstX]), &(CodeBuffW[SPtr+SrcXStart]), C);
1529-// memcpy(&(AttrBuff[DPtr+DstX]), &(AttrBuff[SPtr+SrcXStart]), C);
1530-// memcpy(&(AttrBuff2[DPtr+DstX]), &(AttrBuff2[SPtr+SrcXStart]), C);
1531-// memcpy(&(AttrBuffFG[DPtr+DstX]), &(AttrBuffFG[SPtr+SrcXStart]), C);
1532-// memcpy(&(AttrBuffBG[DPtr+DstX]), &(AttrBuffBG[SPtr+SrcXStart]), C);
15331235 SPtr = NextLinePtr(SPtr);
15341236 DPtr = NextLinePtr(DPtr);
15351237 }
@@ -1538,12 +1240,7 @@ void BuffCopyBox(
15381240 SPtr = GetLinePtr(PageStart+SrcYEnd);
15391241 DPtr = GetLinePtr(PageStart+DstY+L-1);
15401242 for (i=L; i>0; i--) {
1541-// memcpy(&(CodeBuff[DPtr+DstX]), &(CodeBuff[SPtr+SrcXStart]), C);
15421243 memcpyW(&(CodeBuffW[DPtr+DstX]), &(CodeBuffW[SPtr+SrcXStart]), C);
1543-// memcpy(&(AttrBuff[DPtr+DstX]), &(AttrBuff[SPtr+SrcXStart]), C);
1544-// memcpy(&(AttrBuff2[DPtr+DstX]), &(AttrBuff2[SPtr+SrcXStart]), C);
1545-// memcpy(&(AttrBuffFG[DPtr+DstX]), &(AttrBuffFG[SPtr+SrcXStart]), C);
1546-// memcpy(&(AttrBuffBG[DPtr+DstX]), &(AttrBuffBG[SPtr+SrcXStart]), C);
15471244 SPtr = PrevLinePtr(SPtr);
15481245 DPtr = PrevLinePtr(DPtr);
15491246 }
@@ -1552,12 +1249,7 @@ void BuffCopyBox(
15521249 SPtr = GetLinePtr(PageStart+SrcYStart);
15531250 DPtr = GetLinePtr(PageStart+DstY);
15541251 for (i=0; i<L; i++) {
1555-// memmove(&(CodeBuff[DPtr+DstX]), &(CodeBuff[SPtr+SrcXStart]), C);
15561252 memmoveW(&(CodeBuffW[DPtr+DstX]), &(CodeBuffW[SPtr+SrcXStart]), C);
1557-// memmove(&(AttrBuff[DPtr+DstX]), &(AttrBuff[SPtr+SrcXStart]), C);
1558-// memmove(&(AttrBuff2[DPtr+DstX]), &(AttrBuff2[SPtr+SrcXStart]), C);
1559-// memmove(&(AttrBuffFG[DPtr+DstX]), &(AttrBuffFG[SPtr+SrcXStart]), C);
1560-// memmove(&(AttrBuffBG[DPtr+DstX]), &(AttrBuffBG[SPtr+SrcXStart]), C);
15611253 SPtr = NextLinePtr(SPtr);
15621254 DPtr = NextLinePtr(DPtr);
15631255 }
@@ -1588,24 +1280,18 @@ void BuffChangeAttrBox(int XStart, int YStart, int XEnd, int YEnd, PCharAttr att
15881280 if (XStart>0 && (CodeBuffW[j].attr & AttrKanji)) {
15891281 CodeBuffW[j].attr = (CodeBuffW[j].attr & ~mask->Attr) | attr->Attr;
15901282 CodeBuffW[j].attr2 = (CodeBuffW[j].attr2 & ~mask->Attr2) | attr->Attr2;
1591-// if (mask->Attr2 & Attr2Fore) { AttrBuffFG[j] = attr->Fore; }
1592-// if (mask->Attr2 & Attr2Back) { AttrBuffBG[j] = attr->Back; }
15931283 if (mask->Attr2 & Attr2Fore) { CodeBuffW[j].fg = attr->Fore; }
15941284 if (mask->Attr2 & Attr2Back) { CodeBuffW[j].bg = attr->Back; }
15951285 }
15961286 while (++j < Ptr+XStart+C) {
15971287 CodeBuffW[j].attr = (CodeBuffW[j].attr & ~mask->Attr) | attr->Attr;
15981288 CodeBuffW[j].attr2 = (CodeBuffW[j].attr2 & ~mask->Attr2) | attr->Attr2;
1599-// if (mask->Attr2 & Attr2Fore) { AttrBuffFG[j] = attr->Fore; }
1600-// if (mask->Attr2 & Attr2Back) { AttrBuffBG[j] = attr->Back; }
16011289 if (mask->Attr2 & Attr2Fore) { CodeBuffW[j].fg = attr->Fore; }
16021290 if (mask->Attr2 & Attr2Back) { CodeBuffW[j].bg = attr->Back; }
16031291 }
16041292 if (XStart+C<NumOfColumns && (CodeBuffW[j-1].attr & AttrKanji)) {
16051293 CodeBuffW[j].attr = (CodeBuffW[j].attr & ~mask->Attr) | attr->Attr;
16061294 CodeBuffW[j].attr2 = (CodeBuffW[j].attr2 & ~mask->Attr2) | attr->Attr2;
1607-// if (mask->Attr2 & Attr2Fore) { AttrBuffFG[j] = attr->Fore; }
1608-// if (mask->Attr2 & Attr2Back) { AttrBuffBG[j] = attr->Back; }
16091295 if (mask->Attr2 & Attr2Fore) { CodeBuffW[j].fg = attr->Fore; }
16101296 if (mask->Attr2 & Attr2Back) { CodeBuffW[j].bg = attr->Back; }
16111297 }
@@ -1655,24 +1341,18 @@ void BuffChangeAttrStream(int XStart, int YStart, int XEnd, int YEnd, PCharAttr
16551341 if (XStart > 0 && (CodeBuffW[i].attr & AttrKanji)) {
16561342 CodeBuffW[i].attr = CodeBuffW[i].attr & ~mask->Attr | attr->Attr;
16571343 CodeBuffW[i].attr2 = CodeBuffW[i].attr2 & ~mask->Attr2 | attr->Attr2;
1658-// if (mask->Attr2 & Attr2Fore) { AttrBuffFG[i] = attr->Fore; }
1659-// if (mask->Attr2 & Attr2Back) { AttrBuffBG[i] = attr->Back; }
16601344 if (mask->Attr2 & Attr2Fore) { CodeBuffW[i].fg = attr->Fore; }
16611345 if (mask->Attr2 & Attr2Back) { CodeBuffW[i].bg = attr->Back; }
16621346 }
16631347 while (++i < endp) {
16641348 CodeBuffW[i].attr = CodeBuffW[i].attr & ~mask->Attr | attr->Attr;
16651349 CodeBuffW[i].attr2 = CodeBuffW[i].attr2 & ~mask->Attr2 | attr->Attr2;
1666-// if (mask->Attr2 & Attr2Fore) { AttrBuffFG[i] = attr->Fore; }
1667-// if (mask->Attr2 & Attr2Back) { AttrBuffBG[i] = attr->Back; }
16681350 if (mask->Attr2 & Attr2Fore) { CodeBuffW[i].fg = attr->Fore; }
16691351 if (mask->Attr2 & Attr2Back) { CodeBuffW[i].bg = attr->Back; }
16701352 }
16711353 if (XEnd < NumOfColumns-1 && (CodeBuffW[i-1].attr & AttrKanji)) {
16721354 CodeBuffW[i].attr = CodeBuffW[i].attr & ~mask->Attr | attr->Attr;
16731355 CodeBuffW[i].attr2 = CodeBuffW[i].attr2 & ~mask->Attr2 | attr->Attr2;
1674-// if (mask->Attr2 & Attr2Fore) { AttrBuffFG[i] = attr->Fore; }
1675-// if (mask->Attr2 & Attr2Back) { AttrBuffBG[i] = attr->Back; }
16761356 if (mask->Attr2 & Attr2Fore) { CodeBuffW[i].fg = attr->Fore; }
16771357 if (mask->Attr2 & Attr2Back) { CodeBuffW[i].bg = attr->Back; }
16781358 }
@@ -1684,16 +1364,12 @@ void BuffChangeAttrStream(int XStart, int YStart, int XEnd, int YEnd, PCharAttr
16841364 if (XStart > 0 && (CodeBuffW[i].attr & AttrKanji)) {
16851365 CodeBuffW[i].attr = CodeBuffW[i].attr & ~mask->Attr | attr->Attr;
16861366 CodeBuffW[i].attr2 = CodeBuffW[i].attr2 & ~mask->Attr2 | attr->Attr2;
1687-// if (mask->Attr2 & Attr2Fore) { AttrBuffFG[i] = attr->Fore; }
1688-// if (mask->Attr2 & Attr2Back) { AttrBuffBG[i] = attr->Back; }
16891367 if (mask->Attr2 & Attr2Fore) { CodeBuffW[i].fg = attr->Fore; }
16901368 if (mask->Attr2 & Attr2Back) { CodeBuffW[i].bg = attr->Back; }
16911369 }
16921370 while (++i < endp) {
16931371 CodeBuffW[i].attr = CodeBuffW[i].attr & ~mask->Attr | attr->Attr;
16941372 CodeBuffW[i].attr2 = CodeBuffW[i].attr2 & ~mask->Attr2 | attr->Attr2;
1695-// if (mask->Attr2 & Attr2Fore) { AttrBuffFG[i] = attr->Fore; }
1696-// if (mask->Attr2 & Attr2Back) { AttrBuffBG[i] = attr->Back; }
16971373 if (mask->Attr2 & Attr2Fore) { CodeBuffW[i].fg = attr->Fore; }
16981374 if (mask->Attr2 & Attr2Back) { CodeBuffW[i].bg = attr->Back; }
16991375 }
@@ -1706,8 +1382,6 @@ void BuffChangeAttrStream(int XStart, int YStart, int XEnd, int YEnd, PCharAttr
17061382 while (i < endp) {
17071383 CodeBuffW[i].attr = CodeBuffW[i].attr & ~mask->Attr | attr->Attr;
17081384 CodeBuffW[i].attr2 = CodeBuffW[i].attr2 & ~mask->Attr2 | attr->Attr2;
1709-// if (mask->Attr2 & Attr2Fore) { AttrBuffFG[i] = attr->Fore; }
1710-// if (mask->Attr2 & Attr2Back) { AttrBuffBG[i] = attr->Back; }
17111385 if (mask->Attr2 & Attr2Fore) { CodeBuffW[i].fg = attr->Fore; }
17121386 if (mask->Attr2 & Attr2Back) { CodeBuffW[i].bg = attr->Back; }
17131387 i++;
@@ -1721,8 +1395,6 @@ void BuffChangeAttrStream(int XStart, int YStart, int XEnd, int YEnd, PCharAttr
17211395 while (i < endp) {
17221396 CodeBuffW[i].attr = CodeBuffW[i].attr & ~mask->Attr | attr->Attr;
17231397 CodeBuffW[i].attr2 = CodeBuffW[i].attr2 & ~mask->Attr2 | attr->Attr2;
1724-// if (mask->Attr2 & Attr2Fore) { AttrBuffFG[i] = attr->Fore; }
1725-// if (mask->Attr2 & Attr2Back) { AttrBuffBG[i] = attr->Back; }
17261398 if (mask->Attr2 & Attr2Fore) { CodeBuffW[i].fg = attr->Fore; }
17271399 if (mask->Attr2 & Attr2Back) { CodeBuffW[i].bg = attr->Back; }
17281400 i++;
@@ -1730,8 +1402,6 @@ void BuffChangeAttrStream(int XStart, int YStart, int XEnd, int YEnd, PCharAttr
17301402 if (XEnd < NumOfColumns-1 && (CodeBuffW[i-1].attr & AttrKanji)) {
17311403 CodeBuffW[i].attr = CodeBuffW[i].attr & ~mask->Attr | attr->Attr;
17321404 CodeBuffW[i].attr2 = CodeBuffW[i].attr2 & ~mask->Attr2 | attr->Attr2;
1733-// if (mask->Attr2 & Attr2Fore) { AttrBuffFG[i] = attr->Fore; }
1734-// if (mask->Attr2 & Attr2Back) { AttrBuffBG[i] = attr->Back; }
17351405 if (mask->Attr2 & Attr2Fore) { CodeBuffW[i].fg = attr->Fore; }
17361406 if (mask->Attr2 & Attr2Back) { CodeBuffW[i].bg = attr->Back; }
17371407 }
@@ -2410,8 +2080,6 @@ void BuffPrint(BOOL ScrollRegion)
24102080 while (i <= IEnd) {
24112081 CurAttr.Attr = CodeBuffW[TmpPtr+i].attr & ~ AttrKanji;
24122082 CurAttr.Attr2 = CodeBuffW[TmpPtr+i].attr2;
2413-// CurAttr.Fore = AttrBuffFG[TmpPtr+i];
2414-// CurAttr.Back = AttrBuffBG[TmpPtr+i];
24152083 CurAttr.Fore = CodeBuffW[TmpPtr+i].fg;
24162084 CurAttr.Back = CodeBuffW[TmpPtr+i].bg;
24172085
@@ -2419,8 +2087,6 @@ void BuffPrint(BOOL ScrollRegion)
24192087 while ((i+count <= IEnd) &&
24202088 (CurAttr.Attr == (CodeBuffW[TmpPtr+i+count].attr & ~ AttrKanji)) &&
24212089 (CurAttr.Attr2 == CodeBuffW[TmpPtr+i+count].attr2) &&
2422-// (CurAttr.Fore == AttrBuffFG[TmpPtr+i+count]) &&
2423-// (CurAttr.Back == AttrBuffBG[TmpPtr+i+count]) ||
24242090 (CurAttr.Fore == CodeBuffW[TmpPtr+i].fg) &&
24252091 (CurAttr.Back == CodeBuffW[TmpPtr+i].bg) ||
24262092 (i+count<NumOfColumns) &&
@@ -2523,231 +2189,6 @@ static BOOL isURLchar(unsigned int u32)
25232189 return url_char[u32] == 0 ? FALSE : TRUE;
25242190 }
25252191
2526-#if 0
2527-static void markURL(int x)
2528-{
2529-#if !ATR
2530- buff_char_t *CodeLineW = &CodeBuffW[LinePtr];
2531-// PCHAR CodeLine = &CodeBuff[LinePtr];
2532-// PCHAR AttrLine = &AttrBuff[LinePtr];
2533-// PCHAR AttrLine2 = &AttrBuff2[LinePtr];
2534-// PCHAR AttrLineFG = &AttrBuffFG[LinePtr];
2535-// PCHAR AttrLineBG = &AttrBuffBG[LinePtr];
2536-#endif
2537- LONG PrevCharPtr;
2538-// CHAR PrevCharAttr;
2539-// CHAR PrevCharCode;
2540-
2541- // RFC3986(Uniform Resource Identifier (URI): Generic Syntax)に準拠する
2542- // by sakura editor 1.5.2.1: etc_uty.cpp
2543- static const char url_char[] = {
2544- /* +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F */
2545- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* +00: */
2546- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* +10: */
2547- 0, -1, 0, -1, -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, -1, /* +20: " !"#$%&'()*+,-./" */
2548- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, /* +30: "0123456789:;<=>?" */
2549- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* +40: "@ABCDEFGHIJKLMNO" */
2550- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, -1, /* +50: "PQRSTUVWXYZ[\]^_" */
2551- 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* +60: "`abcdefghijklmno" */
2552- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, /* +70: "pqrstuvwxyz{|}~ " */
2553- /* 0 : not url char
2554- * -1 : url char
2555- * other: url head char --> url_table array number + 1
2556- */
2557- };
2558- static wchar_t *prefix[] = {
2559- L"https://",
2560- L"http://",
2561- L"sftp://",
2562- L"tftp://",
2563- L"news://",
2564- L"ftp://",
2565- L"mms://",
2566- NULL
2567- };
2568- unsigned char ch = CodeLineW[x].u32;
2569-
2570- if (ts.EnableClickableUrl == FALSE &&
2571- (ts.ColorFlag & CF_URLCOLOR) == 0)
2572- return;
2573-
2574- // 直前の行から連結しているか。
2575- if (x == 0) {
2576- buff_char_t *PrevCodeBufW;
2577- PrevCharPtr = PrevLinePtr(LinePtr) + NumOfColumns-1;
2578-// PrevCharCode = CodeBuff[PrevCharPtr];
2579- //PrevCharAttr = AttrBuff[PrevCharPtr];
2580- PrevCodeBufW = &CodeBuffW[PrevCharPtr];
2581- if ((PrevCodeBufW[0].attr & AttrURL) && !(PrevCodeBufW[0].attr&(AttrKanji|AttrSpecial)) && !(ch & 0x80) && url_char[ch]) {
2582- if ((CodeLineW[0].attr & AttrLineContinued) || (ts.JoinSplitURL &&
2583- (PrevCodeBufW[0].u32 == ts.JoinSplitURLIgnoreEOLChar || ts.JoinSplitURLIgnoreEOLChar == '\0' ))) {
2584- CodeLineW[0].attr |= AttrURL;
2585- }
2586- }
2587- return;
2588- }
2589-
2590- if ((x-1>=0) && (CodeLineW[x-1].attr & AttrURL) &&
2591- !(CodeLineW[x].attr & (AttrKanji|AttrSpecial)) &&
2592- ((!(ch & 0x80) && url_char[ch]) || (x == NumOfColumns - 1 && ch == ts.JoinSplitURLIgnoreEOLChar))) {
2593- CodeLineW[x].attr |= AttrURL;
2594- return;
2595- }
2596-
2597- if (x >= 2 && CodeLineW[x - 2].u32 == ':' && CodeLineW[x - 1].u32 == '/' && CodeLineW[x - 0].u32 == ':') {
2598- RECT rc;
2599- int CaretX, CaretY;
2600- wchar_t **p = prefix;
2601-
2602- while (*p) {
2603- size_t len = wcslen(*p) - 1;
2604- if ((x-len>=0) && !strncmp(&CodeLine[x-len], *p, len)) {
2605- size_t i;
2606- for (i = 0; i <= len; i++) {
2607- CodeLineW[x-i].attr |= AttrURL;
2608- }
2609- break;
2610- }
2611- p++;
2612- }
2613-
2614- /* ハイパーリンクの色属性変更は、すでに画面へ出力後に、バッファを遡って URL 属性を
2615- * 付け直すというロジックであるため、色が正しく描画されない場合がある。
2616- * 少々強引だが、ハイパーリンクを発見したタイミングで、その行に再描画指示を出すことで、
2617- * リアルタイムな色描画を実現する。
2618- * (2009.8.26 yutaka)
2619- */
2620- CaretX = (0-WinOrgX)*FontWidth;
2621- CaretY = (CursorY-WinOrgY)*FontHeight;
2622- rc.left = CaretX;
2623- rc.top = CaretY;
2624- rc.right = CaretX + NumOfColumns * FontWidth;
2625- rc.bottom = CaretY + FontHeight;
2626- InvalidateRect(HVTWin, &rc, FALSE);
2627- }
2628-}
2629-#endif
2630-
2631-#if !UNICODE_INTERNAL_BUFF
2632-void BuffPutKanji(WORD w, TCharAttr Attr, BOOL Insert)
2633-// Put a kanji character in the buffer at the current position
2634-// b: character
2635-// Attr: attributes
2636-// Insert: Insert flag
2637-{
2638-#if !ATR
2639- PCHAR CodeLine = &CodeBuff[LinePtr];
2640-// PCHAR AttrLine = &AttrBuff[LinePtr];
2641-// PCHAR AttrLine2 = &AttrBuff2[LinePtr];
2642-// PCHAR AttrLineFG = &AttrBuffFG[LinePtr];
2643-// PCHAR AttrLineBG = &AttrBuffBG[LinePtr];
2644- buff_char_t * CodeLineW = &CodeBuffW[LinePtr];
2645-#endif
2646- int XStart, LineEnd, MoveLen;
2647- int extr = 0;
2648-
2649- if (ts.EnableContinuedLineCopy && CursorX == 0 && (CodeLineW[0].attr & AttrLineContinued)) {
2650- Attr.Attr |= AttrLineContinued;
2651- }
2652-
2653- EraseKanji(1); /* if cursor is on right half of a kanji, erase the kanji */
2654-
2655- if (Insert) {
2656- if (CursorX > CursorRightM)
2657- LineEnd = NumOfColumns - 1;
2658- else
2659- LineEnd = CursorRightM;
2660-
2661- if (LineEnd < NumOfColumns - 1 && (CodeLineW[LineEnd].attr & AttrKanji)) {
2662- CodeLine[LineEnd] = 0x20;
2663- CodeLineW[LineEnd].attr &= ~AttrKanji;
2664- CodeLine[LineEnd+1] = 0x20;
2665- CodeLineW[LineEnd+1].attr &= ~AttrKanji;
2666- extr = 1;
2667- }
2668-
2669- MoveLen = LineEnd - CursorX - 1;
2670- if (MoveLen > 0) {
2671- memmove(&CodeLine[CursorX+2], &CodeLine[CursorX], MoveLen);
2672-// memmove(&AttrLine[CursorX+2], &AttrLine[CursorX], MoveLen);
2673-// memmove(&AttrLine2[CursorX+2], &AttrLine2[CursorX], MoveLen);
2674-// memmove(&AttrLineFG[CursorX+2], &AttrLineFG[CursorX], MoveLen);
2675-// memmove(&AttrLineBG[CursorX+2], &AttrLineBG[CursorX], MoveLen);
2676- memmoveW(&CodeLineW[CursorX+2], &CodeLineW[CursorX], MoveLen);
2677- }
2678-
2679- CodeLine[CursorX] = HIBYTE(w);
2680- CodeLineW[CursorX].attr = Attr.Attr | AttrKanji; /* DBCS first byte */
2681- CodeLineW[CursorX].attr2 = Attr.Attr2;
2682-// AttrLineFG[CursorX] = Attr.Fore;
2683-// AttrLineBG[CursorX] = Attr.Back;
2684- CodeLineW[CursorX].fg = Attr.Fore;
2685- CodeLineW[CursorX].bg = Attr.Back;
2686- if (CursorX < LineEnd) {
2687- CodeLine[CursorX+1] = LOBYTE(w);
2688- CodeLineW[CursorX+1].attr = Attr.Attr;
2689- CodeLineW[CursorX+1].attr2 = Attr.Attr2;
2690-// AttrLineFG[CursorX+1] = Attr.Fore;
2691-// AttrLineBG[CursorX+1] = Attr.Back;
2692- CodeLineW[CursorX+1].fg = Attr.Fore;
2693- CodeLineW[CursorX+1].bg = Attr.Back;
2694- }
2695- /* begin - ishizaki */
2696- markURL(CursorX);
2697- markURL(CursorX+1);
2698- /* end - ishizaki */
2699-
2700- /* last char in current line is kanji first? */
2701- if ((CodeLineW[LineEnd].attr & AttrKanji) != 0) {
2702- /* then delete it */
2703- CodeLine[LineEnd] = 0x20;
2704- CodeLineW[LineEnd].attr = CurCharAttr.Attr;
2705- CodeLineW[LineEnd].attr2 = CurCharAttr.Attr2;
2706-// AttrLineFG[LineEnd] = CurCharAttr.Fore;
2707-// AttrLineBG[LineEnd] = CurCharAttr.Back;
2708- CodeLineW[LineEnd].fg = Attr.Fore;
2709- CodeLineW[LineEnd].bg = Attr.Back;
2710- }
2711-
2712- if (StrChangeCount==0) {
2713- XStart = CursorX;
2714- }
2715- else {
2716- XStart = StrChangeStart;
2717- }
2718- StrChangeCount = 0;
2719- BuffUpdateRect(XStart, CursorY, LineEnd+extr, CursorY);
2720- }
2721- else {
2722- CodeLine[CursorX] = HIBYTE(w);
2723- CodeLineW[CursorX].attr = Attr.Attr | AttrKanji; /* DBCS first byte */
2724- CodeLineW[CursorX].attr2 = Attr.Attr2;
2725-// AttrLineFG[CursorX] = Attr.Fore;
2726-// AttrLineBG[CursorX] = Attr.Back;
2727- CodeLineW[CursorX].fg = Attr.Fore;
2728- CodeLineW[CursorX].bg = Attr.Back;
2729- if (CursorX < NumOfColumns-1) {
2730- CodeLine[CursorX+1] = LOBYTE(w);
2731- CodeLineW[CursorX+1].attr = Attr.Attr;
2732- CodeLineW[CursorX+1].attr2 = Attr.Attr2;
2733-// AttrLineFG[CursorX+1] = Attr.Fore;
2734-// AttrLineBG[CursorX+1] = Attr.Back;
2735- CodeLineW[CursorX+1].fg = Attr.Fore;
2736- CodeLineW[CursorX+1].bg = Attr.Back;
2737- }
2738- /* begin - ishizaki */
2739- markURL(CursorX);
2740- markURL(CursorX+1);
2741- /* end - ishizaki */
2742-
2743- if (StrChangeCount==0) {
2744- StrChangeStart = CursorX;
2745- }
2746- StrChangeCount = StrChangeCount + 2;
2747- }
2748-}
2749-#endif
2750-
27512192 static BOOL BuffIsHalfWidthFromPropery(char width_property)
27522193 {
27532194 switch (width_property) {
@@ -3000,13 +2441,7 @@ static void mark_url_line_w(int cur_x, int cur_y)
30002441 */
30012442 static void mark_url_w(int cur_x, int cur_y)
30022443 {
3003-#if !ATR
3004-// PCHAR AttrLine = &AttrBuff[LinePtr];
3005-// PCHAR AttrLine2 = &AttrBuff2[LinePtr];
3006-// PCHAR AttrLineFG = &AttrBuffFG[LinePtr];
3007-// PCHAR AttrLineBG = &AttrBuffBG[LinePtr];
30082444 buff_char_t * CodeLineW = &CodeBuffW[LinePtr];
3009-#endif
30102445 buff_char_t *b = &CodeLineW[cur_x];
30112446 const char32_t u32 = b->u32;
30122447 int x = cur_x;
@@ -3290,14 +2725,7 @@ static unsigned short ConvertACPChar(const buff_char_t *b)
32902725 */
32912726 int BuffPutUnicode(unsigned int u32, TCharAttr Attr, BOOL Insert)
32922727 {
3293-#if !ATR
3294-// PCHAR CodeLine = &CodeBuff[LinePtr];
3295-// PCHAR AttrLine = &AttrBuff[LinePtr];
3296-// PCHAR AttrLine2 = &AttrBuff2[LinePtr];
3297-// PCHAR AttrLineFG = &AttrBuffFG[LinePtr];
3298-// PCHAR AttrLineBG = &AttrBuffBG[LinePtr];
32992728 buff_char_t * CodeLineW = &CodeBuffW[LinePtr];
3300-#endif
33012729 int move_x = 0;
33022730 static BOOL show_str_change = FALSE;
33032731 buff_char_t *p;
@@ -3306,33 +2734,6 @@ int BuffPutUnicode(unsigned int u32, TCharAttr Attr, BOOL Insert)
33062734 assert(Attr.Attr == (Attr.AttrEx & 0xff));
33072735
33082736 #if 0
3309- BYTE b1, b2;
3310- // TODO 入力文字を CP932 に変換しておく、廃止予定
3311- if (u32 < 0x80) {
3312- b1 = (BYTE)u32;
3313- b2 = 0;
3314- }
3315- else {
3316- char mbchar[2];
3317- size_t ret = UTF32ToCP932(u32, mbchar, 2);
3318- if (ret == 0) {
3319- b1 = '?';
3320- b2 = 0;
3321- ret = 1;
3322- }
3323- else if (ret == 1) {
3324- b1 = mbchar[0];
3325- b2 = 0;
3326- }
3327- else { // ret == 2
3328- b1 = mbchar[0];
3329- b2 = mbchar[1];
3330- ret = 2;
3331- }
3332- }
3333-#endif
3334-
3335-#if 0
33362737 OutputDebugPrintfW(L"BuffPutUnicode(U+%06x,(%d,%d)\n", u32, CursorX, CursorY);
33372738 #endif
33382739
@@ -3463,7 +2864,6 @@ int BuffPutUnicode(unsigned int u32, TCharAttr Attr, BOOL Insert)
34632864
34642865 // 一番最後の文字が全角の場合、
34652866 if (LineEnd <= NumOfColumns - 1 && (CodeLineW[LineEnd - 1].attr & AttrKanji)) {
3466-// CodeLine[LineEnd - 1] = 0x20;
34672867 BuffSetChar(&CodeLineW[LineEnd - 1], 0x20, 'H');
34682868 CodeLineW[LineEnd].attr &= ~AttrKanji;
34692869 // CodeLine[LineEnd+1] = 0x20;
@@ -3474,44 +2874,26 @@ int BuffPutUnicode(unsigned int u32, TCharAttr Attr, BOOL Insert)
34742874 if (!half_width) {
34752875 MoveLen = LineEnd - CursorX - 1;
34762876 if (MoveLen > 0) {
3477-// memmove(&CodeLine[CursorX + 2], &CodeLine[CursorX], MoveLen);
34782877 memmoveW(&(CodeLineW[CursorX + 2]), &(CodeLineW[CursorX]), MoveLen);
3479-// memmove(&AttrLine[CursorX + 2], &AttrLine[CursorX], MoveLen);
3480-// memmove(&AttrLine2[CursorX + 2], &AttrLine2[CursorX], MoveLen);
3481-// memmove(&AttrLineFG[CursorX + 2], &AttrLineFG[CursorX], MoveLen);
3482-// memmove(&AttrLineBG[CursorX + 2], &AttrLineBG[CursorX], MoveLen);
34832878 }
34842879 }
34852880 else {
34862881 MoveLen = LineEnd - CursorX;
34872882 if (MoveLen > 0) {
3488-// memmove(&CodeLine[CursorX + 1], &CodeLine[CursorX], MoveLen);
34892883 memmoveW(&(CodeLineW[CursorX + 1]), &(CodeLineW[CursorX]), MoveLen);
3490-// memmove(&AttrLine[CursorX + 1], &AttrLine[CursorX], MoveLen);
3491-// memmove(&AttrLine2[CursorX + 1], &AttrLine2[CursorX], MoveLen);
3492-// memmove(&AttrLineFG[CursorX + 1], &AttrLineFG[CursorX], MoveLen);
3493-// memmove(&AttrLineBG[CursorX + 1], &AttrLineBG[CursorX], MoveLen);
34942884 }
34952885 }
34962886
3497-//TODO CodeLine[CursorX] = b1;
34982887 BuffSetChar2(&CodeLineW[CursorX], u32, width_property, half_width, emoji);
34992888 CodeLineW[CursorX].attr = Attr.Attr;
35002889 CodeLineW[CursorX].attr2 = Attr.Attr2;
3501-// AttrLine[CursorX] = Attr.Attr;
3502-// AttrLine2[CursorX] = Attr.Attr2;
3503-// AttrLineFG[CursorX] = Attr.Fore;
3504-// AttrLineBG[CursorX] = Attr.Back;
35052890 CodeLineW[CursorX].fg = Attr.Fore;
35062891 CodeLineW[CursorX].bg = Attr.Back;
35072892 if (!half_width && CursorX < LineEnd) {
3508-// CodeLine[CursorX + 1] = 0;
35092893 BuffSetChar(&CodeLineW[CursorX + 1], 0, 'H');
35102894 CodeLineW[CursorX + 1].Padding = TRUE;
35112895 CodeLineW[CursorX + 1].attr = Attr.Attr;
35122896 CodeLineW[CursorX + 1].attr2 = Attr.Attr2;
3513-// AttrLineFG[CursorX + 1] = Attr.Fore;
3514-// AttrLineBG[CursorX + 1] = Attr.Back;
35152897 CodeLineW[CursorX + 1].fg = Attr.Fore;
35162898 CodeLineW[CursorX + 1].bg = Attr.Back;
35172899 }
@@ -3525,12 +2907,9 @@ int BuffPutUnicode(unsigned int u32, TCharAttr Attr, BOOL Insert)
35252907 /* last char in current line is kanji first? */
35262908 if ((CodeLineW[LineEnd].attr & AttrKanji) != 0) {
35272909 /* then delete it */
3528-// CodeLine[LineEnd] = 0x20;
35292910 BuffSetChar(&CodeLineW[LineEnd], 0x20, 'H');
35302911 CodeLineW[LineEnd].attr = CurCharAttr.Attr;
35312912 CodeLineW[LineEnd].attr2 = CurCharAttr.Attr2;
3532-// AttrLineFG[LineEnd] = CurCharAttr.Fore;
3533-// AttrLineBG[LineEnd] = CurCharAttr.Back;
35342913 CodeLineW[LineEnd].fg = CurCharAttr.Fore;
35352914 CodeLineW[LineEnd].bg = CurCharAttr.Back;
35362915 }
@@ -3552,8 +2931,6 @@ int BuffPutUnicode(unsigned int u32, TCharAttr Attr, BOOL Insert)
35522931 p->Padding = TRUE;
35532932 CodeLineW[CursorX].attr = Attr.Attr;
35542933 CodeLineW[CursorX].attr2 = Attr.Attr2;
3555-// AttrLineFG[CursorX] = Attr.Fore;
3556-// AttrLineBG[CursorX] = Attr.Back;
35572934 CodeLineW[CursorX].fg = Attr.Fore;
35582935 CodeLineW[CursorX].bg = Attr.Back;
35592936 move_x = 1;
@@ -3574,7 +2951,6 @@ int BuffPutUnicode(unsigned int u32, TCharAttr Attr, BOOL Insert)
35742951 }
35752952 }
35762953
3577-// TODO CodeLine[CursorX] = b1;
35782954 BuffSetChar2(&CodeLineW[CursorX], u32, width_property, half_width, emoji);
35792955 if (half_width) {
35802956 CodeLineW[CursorX].attr = Attr.Attr;
@@ -3584,8 +2960,6 @@ int BuffPutUnicode(unsigned int u32, TCharAttr Attr, BOOL Insert)
35842960 CodeLineW[CursorX].attr = Attr.Attr | AttrKanji;
35852961 }
35862962 CodeLineW[CursorX].attr2 = Attr.Attr2;
3587-// AttrLineFG[CursorX] = Attr.Fore;
3588-// AttrLineBG[CursorX] = Attr.Back;
35892963 CodeLineW[CursorX].fg = Attr.Fore;
35902964 CodeLineW[CursorX].bg = Attr.Back;
35912965
@@ -3595,11 +2969,8 @@ int BuffPutUnicode(unsigned int u32, TCharAttr Attr, BOOL Insert)
35952969 buff_char_t *p = &CodeLineW[CursorX + 1];
35962970 BuffSetChar(p, 0, 'H');
35972971 p->Padding = TRUE;
3598-// TODO CodeLine[CursorX + 1] = b2;
35992972 CodeLineW[CursorX + 1].attr = 0;
36002973 CodeLineW[CursorX + 1].attr2 = 0;
3601-// AttrLineFG[CursorX + 1] = 0;
3602-// AttrLineBG[CursorX + 1] = 0;
36032974 CodeLineW[CursorX + 1].fg = 0;
36042975 CodeLineW[CursorX + 1].bg = 0;
36052976 }
@@ -3625,15 +2996,6 @@ int BuffPutUnicode(unsigned int u32, TCharAttr Attr, BOOL Insert)
36252996
36262997 // URLの検出
36272998 mark_url_w(CursorX, CursorY);
3628-
3629-#if 0
3630- {
3631- char ba[128];
3632- memcpy(ba, &CodeLine[0], _countof(ba)-1);
3633- ba[127] = 0;
3634- OutputDebugPrintf("A '%s'\n", ba);
3635- }
3636-#endif
36372999 }
36383000 }
36393001
@@ -3641,15 +3003,6 @@ int BuffPutUnicode(unsigned int u32, TCharAttr Attr, BOOL Insert)
36413003 OutputDebugPrintf("StrChangeStart,Count %d,%d\n", StrChangeStart, StrChangeCount);
36423004 }
36433005
3644-#if 0
3645- {
3646- wchar_t *wcs;
3647- p = &CodeLineW[CursorX];
3648- wcs = GetWCS(p);
3649- OutputDebugPrintf("BuffPutUnicode '%s' leave\n",wcs);
3650- free(wcs);
3651- }
3652-#endif
36533006 return move_x;
36543007 }
36553008
@@ -3745,8 +3098,6 @@ static void BuffDrawLineI(int DrawX, int DrawY, int SY, int IStart, int IEnd)
37453098 }
37463099 CurAttr.Attr = CodeBuffW[ptr].attr & ~ AttrKanji;
37473100 CurAttr.Attr2 = CodeBuffW[ptr].attr2;
3748-// CurAttr.Fore = AttrBuffFG[ptr];
3749-// CurAttr.Back = AttrBuffBG[ptr];
37503101 CurAttr.Fore = CodeBuffW[ptr].fg;
37513102 CurAttr.Back = CodeBuffW[ptr].bg;
37523103 CurAttrEmoji = b->Emoji;
@@ -3763,8 +3114,6 @@ static void BuffDrawLineI(int DrawX, int DrawY, int SY, int IStart, int IEnd)
37633114 TCharAttr TempAttr;
37643115 TempAttr.Attr = CodeBuffW[TmpPtr+istart+count].attr & ~ AttrKanji;
37653116 TempAttr.Attr2 = CodeBuffW[TmpPtr+istart+count].attr2;
3766-// TempAttr.Fore = AttrBuffFG[TmpPtr+istart+count];
3767-// TempAttr.Back = AttrBuffBG[TmpPtr+istart+count];
37683117 TempAttr.Fore = CodeBuffW[TmpPtr + istart + count].fg;
37693118 TempAttr.Back = CodeBuffW[TmpPtr + istart + count].bg;
37703119 if (b->u32 != 0 &&
@@ -3862,12 +3211,10 @@ void BuffUpdateRect
38623211 // XEnd: x position of the lower-right corner (last character)
38633212 // YEnd: y position
38643213 {
3865-// int i;
38663214 int j;
38673215 int IStart, IEnd;
38683216 int X, Y;
38693217 LONG TmpPtr;
3870-// TCharAttr TempAttr;
38713218 BOOL TempSel, Caret;
38723219
38733220 if (XStart >= WinOrgX+WinWidth) {
@@ -3903,7 +3250,6 @@ void BuffUpdateRect
39033250 XEnd - XStart + 1, YEnd - YStart + 1);
39043251 #endif
39053252
3906-// TempAttr = DefCharAttr;
39073253 TempSel = FALSE;
39083254
39093255 Caret = IsCaretOn();
@@ -3923,7 +3269,6 @@ void BuffUpdateRect
39233269
39243270 X = (IStart-WinOrgX)*FontWidth;
39253271
3926-// i = IStart;
39273272 BuffDrawLineI(X, Y, j, IStart, IEnd);
39283273 Y = Y + FontHeight;
39293274 TmpPtr = NextLinePtr(TmpPtr);
@@ -3983,13 +3328,7 @@ void MoveRight()
39833328
39843329 void BuffSetCaretWidth()
39853330 {
3986-#if !ATR
39873331 buff_char_t *CodeLineW = &CodeBuffW[LinePtr];
3988-// PCHAR AttrLine = &AttrBuff[LinePtr];
3989-// PCHAR AttrLine2 = &AttrBuff2[LinePtr];
3990-// PCHAR AttrLineFG = &AttrBuffFG[LinePtr];
3991-// PCHAR AttrLineBG = &AttrBuffBG[LinePtr];
3992-#endif
39933332 BOOL DW;
39943333
39953334 /* check whether cursor on a DBCS character */
@@ -4017,20 +3356,10 @@ void ScrollUp1Line()
40173356 DestPtr = GetLinePtr(PageStart+CursorBottom) + CursorLeftM;
40183357 for (i = CursorBottom-1 ; i >= CursorTop ; i--) {
40193358 SrcPtr = PrevLinePtr(DestPtr);
4020-// memcpy(&(CodeBuff[DestPtr]), &(CodeBuff[SrcPtr]), linelen);
40213359 memcpyW(&(CodeBuffW[DestPtr]), &(CodeBuffW[SrcPtr]), linelen);
4022-// memcpy(&(AttrBuff[DestPtr]), &(AttrBuff[SrcPtr]), linelen);
4023-// memcpy(&(AttrBuff2[DestPtr]), &(AttrBuff2[SrcPtr]), linelen);
4024-// memcpy(&(AttrBuffFG[DestPtr]), &(AttrBuffFG[SrcPtr]), linelen);
4025-// memcpy(&(AttrBuffBG[DestPtr]), &(AttrBuffBG[SrcPtr]), linelen);
40263360 DestPtr = SrcPtr;
40273361 }
4028-// memset(&(CodeBuff[SrcPtr]), 0x20, linelen);
40293362 memsetW(&(CodeBuffW[SrcPtr]), 0x20, CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, linelen);
4030-// memset(&(AttrBuff[SrcPtr]), AttrDefault, linelen);
4031-// memset(&(AttrBuff2[SrcPtr]), CurCharAttr.Attr2 & Attr2ColorMask, linelen);
4032-// memset(&(AttrBuffFG[SrcPtr]), CurCharAttr.Fore, linelen);
4033-// memset(&(AttrBuffBG[SrcPtr]), CurCharAttr.Back, linelen);
40343363
40353364 if (CursorLeftM > 0 || CursorRightM < NumOfColumns-1)
40363365 BuffUpdateRect(CursorLeftM-extl, CursorTop, CursorRightM+extr, CursorBottom);
@@ -4090,12 +3419,7 @@ void BuffScrollNLines(int n)
40903419 if (n<CursorBottom-CursorTop+1) {
40913420 SrcPtr = GetLinePtr(PageStart+CursorTop+n) + (LONG)CursorLeftM;
40923421 for (i = CursorTop+n ; i<=CursorBottom ; i++) {
4093-// memmove(&(CodeBuff[DestPtr]), &(CodeBuff[SrcPtr]), linelen);
40943422 memmoveW(&(CodeBuffW[DestPtr]), &(CodeBuffW[SrcPtr]), linelen);
4095-// memmove(&(AttrBuff[DestPtr]), &(AttrBuff[SrcPtr]), linelen);
4096-// memmove(&(AttrBuff2[DestPtr]), &(AttrBuff2[SrcPtr]), linelen);
4097-// memmove(&(AttrBuffFG[DestPtr]), &(AttrBuffFG[SrcPtr]), linelen);
4098-// memmove(&(AttrBuffBG[DestPtr]), &(AttrBuffBG[SrcPtr]), linelen);
40993423 SrcPtr = NextLinePtr(SrcPtr);
41003424 DestPtr = NextLinePtr(DestPtr);
41013425 }
@@ -4104,12 +3428,7 @@ void BuffScrollNLines(int n)
41043428 n = CursorBottom-CursorTop+1;
41053429 }
41063430 for (i = CursorBottom+1-n ; i<=CursorBottom; i++) {
4107-// memset(&(CodeBuff[DestPtr]), 0x20, linelen);
41083431 memsetW(&(CodeBuffW[DestPtr]), 0x20, CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, linelen);
4109-// memset(&(AttrBuff[DestPtr]), AttrDefault, linelen);
4110-// memset(&(AttrBuff2[DestPtr]), CurCharAttr.Attr2 & Attr2ColorMask, linelen);
4111-// memset(&(AttrBuffFG[DestPtr]), CurCharAttr.Fore, linelen);
4112-// memset(&(AttrBuffBG[DestPtr]), CurCharAttr.Back, linelen);
41133432 DestPtr = NextLinePtr(DestPtr);
41143433 }
41153434 if (CursorLeftM > 0 || CursorRightM < NumOfColumns-1)
@@ -4153,12 +3472,7 @@ void BuffRegionScrollUpNLines(int n) {
41533472 if (n < CursorBottom - CursorTop + 1) {
41543473 SrcPtr = GetLinePtr(PageStart+CursorTop+n) + CursorLeftM;
41553474 for (i = CursorTop+n ; i<=CursorBottom ; i++) {
4156-// memmove(&(CodeBuff[DestPtr]), &(CodeBuff[SrcPtr]), linelen);
41573475 memmoveW(&(CodeBuffW[DestPtr]), &(CodeBuffW[SrcPtr]), linelen);
4158-// memmove(&(AttrBuff[DestPtr]), &(AttrBuff[SrcPtr]), linelen);
4159-// memmove(&(AttrBuff2[DestPtr]), &(AttrBuff2[SrcPtr]), linelen);
4160-// memmove(&(AttrBuffFG[DestPtr]), &(AttrBuffFG[SrcPtr]), linelen);
4161-// memmove(&(AttrBuffBG[DestPtr]), &(AttrBuffBG[SrcPtr]), linelen);
41623476 SrcPtr = NextLinePtr(SrcPtr);
41633477 DestPtr = NextLinePtr(DestPtr);
41643478 }
@@ -4167,12 +3481,7 @@ void BuffRegionScrollUpNLines(int n) {
41673481 n = CursorBottom - CursorTop + 1;
41683482 }
41693483 for (i = CursorBottom+1-n ; i<=CursorBottom; i++) {
4170-// memset(&(CodeBuff[DestPtr]), 0x20, linelen);
41713484 memsetW(&(CodeBuffW[DestPtr]), 0x20, CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, linelen);
4172-// memset(&(AttrBuff[DestPtr]), AttrDefault, linelen);
4173-// memset(&(AttrBuff2[DestPtr]), CurCharAttr.Attr2 & Attr2ColorMask, linelen);
4174-// memset(&(AttrBuffFG[DestPtr]), CurCharAttr.Fore, linelen);
4175-// memset(&(AttrBuffBG[DestPtr]), CurCharAttr.Back, linelen);
41763485 DestPtr = NextLinePtr(DestPtr);
41773486 }
41783487
@@ -4207,12 +3516,7 @@ void BuffRegionScrollDownNLines(int n) {
42073516 if (n < CursorBottom - CursorTop + 1) {
42083517 SrcPtr = GetLinePtr(PageStart+CursorBottom-n) + CursorLeftM;
42093518 for (i=CursorBottom-n ; i>=CursorTop ; i--) {
4210-// memmove(&(CodeBuff[DestPtr]), &(CodeBuff[SrcPtr]), linelen);
42113519 memmoveW(&(CodeBuffW[DestPtr]), &(CodeBuffW[SrcPtr]), linelen);
4212-// memmove(&(AttrBuff[DestPtr]), &(AttrBuff[SrcPtr]), linelen);
4213-// memmove(&(AttrBuff2[DestPtr]), &(AttrBuff2[SrcPtr]), linelen);
4214-// memmove(&(AttrBuffFG[DestPtr]), &(AttrBuffFG[SrcPtr]), linelen);
4215-// memmove(&(AttrBuffBG[DestPtr]), &(AttrBuffBG[SrcPtr]), linelen);
42163520 SrcPtr = PrevLinePtr(SrcPtr);
42173521 DestPtr = PrevLinePtr(DestPtr);
42183522 }
@@ -4221,12 +3525,7 @@ void BuffRegionScrollDownNLines(int n) {
42213525 n = CursorBottom - CursorTop + 1;
42223526 }
42233527 for (i = CursorTop+n-1; i>=CursorTop; i--) {
4224-// memset(&(CodeBuff[DestPtr]), 0x20, linelen);
42253528 memsetW(&(CodeBuffW[DestPtr]), 0x20, CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, linelen);
4226-// memset(&(AttrBuff[DestPtr]), AttrDefault, linelen);
4227-// memset(&(AttrBuff2[DestPtr]), CurCharAttr.Attr2 & Attr2ColorMask, linelen);
4228-// memset(&(AttrBuffFG[DestPtr]), CurCharAttr.Fore, linelen);
4229-// memset(&(AttrBuffBG[DestPtr]), CurCharAttr.Back, linelen);
42303529 DestPtr = PrevLinePtr(DestPtr);
42313530 }
42323531
@@ -5255,12 +4554,7 @@ void ClearBuffer()
52554554 Selected = FALSE;
52564555
52574556 NewLine(0);
5258-// memset(&CodeBuff[0],0x20,BufferSize);
52594557 memsetW(&CodeBuffW[0],0x20, CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, BufferSize);
5260-// memset(&AttrBuff[0],AttrDefault,BufferSize);
5261-// memset(&AttrBuff2[0],CurCharAttr.Attr2 & Attr2ColorMask, BufferSize);
5262-// memset(&AttrBuffFG[0],CurCharAttr.Fore,BufferSize);
5263-// memset(&AttrBuffBG[0],CurCharAttr.Back,BufferSize);
52644558
52654559 /* Home position */
52664560 CursorX = 0;
@@ -5464,13 +4758,7 @@ void ShowStatusLine(int Show)
54644758
54654759 void BuffLineContinued(BOOL mode)
54664760 {
5467-#if !ATR
54684761 buff_char_t* CodeLineW = &CodeBuffW[LinePtr];
5469-// PCHAR AttrLine = &AttrBuff[LinePtr];
5470-// PCHAR AttrLine2 = &AttrBuff2[LinePtr];
5471-// PCHAR AttrLineFG = &AttrBuffFG[LinePtr];
5472-// PCHAR AttrLineBG = &AttrBuffBG[LinePtr];
5473-#endif
54744762 if (ts.EnableContinuedLineCopy) {
54754763 if (mode) {
54764764 CodeLineW[0].attr |= AttrLineContinued;
@@ -5515,12 +4803,7 @@ void BuffSaveScreen()
55154803 DestPtr = 0;
55164804
55174805 for (i=0; i<NumOfLines; i++) {
5518-// memcpy(&CodeDest[DestPtr], &CodeBuff[SrcPtr], NumOfColumns);
55194806 memcpyW(&CodeDestW[DestPtr], &CodeBuffW[SrcPtr], NumOfColumns);
5520-// memcpy(&AttrDest[DestPtr], &AttrBuff[SrcPtr], NumOfColumns);
5521-// memcpy(&AttrDest2[DestPtr], &AttrBuff2[SrcPtr], NumOfColumns);
5522-// memcpy(&AttrDestFG[DestPtr], &AttrBuffFG[SrcPtr], NumOfColumns);
5523-// memcpy(&AttrDestBG[DestPtr], &AttrBuffBG[SrcPtr], NumOfColumns);
55244807 SrcPtr = NextLinePtr(SrcPtr);
55254808 DestPtr += NumOfColumns;
55264809 }
@@ -5570,14 +4853,8 @@ void BuffRestoreScreen()
55704853 DestPtr = GetLinePtr(PageStart);
55714854
55724855 for (i=0; i<CopyY; i++) {
5573-// memcpy(&CodeBuff[DestPtr], &CodeSrc[SrcPtr], CopyX);
55744856 memcpyW(&CodeBuffW[DestPtr], &CodeSrcW[SrcPtr], CopyX);
5575-// memcpy(&AttrBuff[DestPtr], &AttrSrc[SrcPtr], CopyX);
5576-// memcpy(&AttrBuff2[DestPtr], &AttrSrc2[SrcPtr], CopyX);
5577-// memcpy(&AttrBuffFG[DestPtr], &AttrSrcFG[SrcPtr], CopyX);
5578-// memcpy(&AttrBuffBG[DestPtr], &AttrSrcBG[SrcPtr], CopyX);
55794857 if (CodeBuffW[DestPtr+CopyX-1].attr & AttrKanji) {
5580-// CodeBuff[DestPtr+CopyX-1] = ' ';
55814858 BuffSetChar(&CodeBuffW[DestPtr+CopyX-1], 0x20, 'H');
55824859 CodeBuffW[DestPtr+CopyX-1].attr ^= AttrKanji;
55834860 }
@@ -5604,13 +4881,7 @@ void BuffDiscardSavedScreen()
56044881 void BuffSelectedEraseCurToEnd()
56054882 // Erase characters from cursor to the end of screen
56064883 {
5607-#if !ATR
56084884 buff_char_t* CodeLineW = &CodeBuffW[LinePtr];
5609-// PCHAR AttrLine = &AttrBuff[LinePtr];
5610-// PCHAR AttrLine2 = &AttrBuff2[LinePtr];
5611-// PCHAR AttrLineFG = &AttrBuffFG[LinePtr];
5612-// PCHAR AttrLineBG = &AttrBuffBG[LinePtr];
5613-#endif
56144885 LONG TmpPtr;
56154886 int offset;
56164887 int i, j, YEnd;
@@ -5630,7 +4901,6 @@ void BuffSelectedEraseCurToEnd()
56304901 for (i = CursorY ; i <= YEnd ; i++) {
56314902 for (j = TmpPtr + offset; j < TmpPtr + NumOfColumns - offset; j++) {
56324903 if (!(CodeLineW[j].attr2 & Attr2Protect)) {
5633-// CodeBuff[j] = 0x20;
56344904 BuffSetChar(&CodeBuffW[j], 0x20, 'H');
56354905 CodeLineW[j].attr &= AttrSgrMask;
56364906 }
@@ -5645,13 +4915,7 @@ void BuffSelectedEraseCurToEnd()
56454915 void BuffSelectedEraseHomeToCur()
56464916 // Erase characters from home to cursor
56474917 {
5648-#if !ATR
56494918 buff_char_t* CodeLineW = &CodeBuffW[LinePtr];
5650- // PCHAR AttrLine = &AttrBuff[LinePtr];
5651-// PCHAR AttrLine2 = &AttrBuff2[LinePtr];
5652-// PCHAR AttrLineFG = &AttrBuffFG[LinePtr];
5653-// PCHAR AttrLineBG = &AttrBuffBG[LinePtr];
5654-#endif
56554919 LONG TmpPtr;
56564920 int offset;
56574921 int i, j, YHome;
@@ -5676,7 +4940,6 @@ void BuffSelectedEraseHomeToCur()
56764940 }
56774941 for (j = TmpPtr; j < TmpPtr + offset; j++) {
56784942 if (!(CodeLineW[j].attr2 & Attr2Protect)) {
5679-// CodeBuff[j] = 0x20;
56804943 BuffSetChar(&CodeBuffW[j], 0x20, 'H');
56814944 CodeBuffW[j].attr &= AttrSgrMask;
56824945 }
@@ -5716,20 +4979,17 @@ void BuffSelectiveEraseBox(int XStart, int YStart, int XEnd, int YEnd)
57164979 if ((XStart>0) &&
57174980 ((CodeBuffW[Ptr+XStart-1].attr & AttrKanji) != 0) &&
57184981 ((CodeBuffW[Ptr+XStart-1].attr2 & Attr2Protect) == 0)) {
5719-// CodeBuff[Ptr+XStart-1] = 0x20;
57204982 BuffSetChar(&CodeBuffW[Ptr+XStart-1], 0x20, 'H');
57214983 CodeBuffW[Ptr+XStart-1].attr &= AttrSgrMask;
57224984 }
57234985 if ((XStart+C<NumOfColumns) &&
57244986 ((CodeBuffW[Ptr+XStart+C-1].attr & AttrKanji) != 0) &&
57254987 ((CodeBuffW[Ptr+XStart+C-1].attr2 & Attr2Protect) == 0)) {
5726-// CodeBuff[Ptr+XStart+C] = 0x20;
57274988 BuffSetChar(&CodeBuffW[Ptr+XStart+C], 0x20, 'H');
57284989 CodeBuffW[Ptr+XStart+C].attr &= AttrSgrMask;
57294990 }
57304991 for (j=Ptr+XStart; j<Ptr+XStart+C; j++) {
57314992 if (!(CodeBuffW[j].attr2 & Attr2Protect)) {
5732-// CodeBuff[j] = 0x20;
57334993 BuffSetChar(&CodeBuffW[j], 0x20, 'H');
57344994 CodeBuffW[j].attr &= AttrSgrMask;
57354995 }
@@ -5744,14 +5004,7 @@ void BuffSelectedEraseCharsInLine(int XStart, int Count)
57445004 // XStart: start position of erasing
57455005 // Count: number of characters to be erased
57465006 {
5747-#if !ATR
5748-// PCHAR CodeLine = &CodeBuff[LinePtr];
5749-// PCHAR AttrLine = &AttrBuff[LinePtr];
5750-// PCHAR AttrLine2 = &AttrBuff2[LinePtr];
5751-// PCHAR AttrLineFG = &AttrBuffFG[LinePtr];
5752-// PCHAR AttrLineBG = &AttrBuffBG[LinePtr];
57535007 buff_char_t * CodeLineW = &CodeBuffW[LinePtr];
5754-#endif
57555008 int i;
57565009 BOOL LineContinued=FALSE;
57575010
@@ -5768,7 +5021,6 @@ void BuffSelectedEraseCharsInLine(int XStart, int Count)
57685021 NewLine(PageStart+CursorY);
57695022 for (i=XStart; i < XStart + Count; i++) {
57705023 if (!(CodeLineW[i].attr2 & Attr2Protect)) {
5771-// CodeLine[i] = 0x20;
57725024 BuffSetChar(&CodeLineW[i], 0x20, 'H');
57735025 CodeLineW[i].attr &= AttrSgrMask;
57745026 }
@@ -5800,39 +5052,25 @@ void BuffScrollLeft(int count)
58005052 Ptr = LPtr + CursorLeftM;
58015053
58025054 if (CodeBuffW[LPtr+CursorRightM].attr & AttrKanji) {
5803-// CodeBuff[LPtr+CursorRightM] = 0x20;
58045055 BuffSetChar(&CodeBuffW[LPtr+CursorRightM], 0x20, 'H');
58055056 CodeBuffW[LPtr+CursorRightM].attr &= ~AttrKanji;
58065057 if (CursorRightM < NumOfColumns-1) {
5807-// CodeBuff[LPtr+CursorRightM+1] = 0x20;
58085058 BuffSetChar(&CodeBuffW[LPtr+CursorRightM+1], 0x20, 'H');
58095059 }
58105060 }
58115061
58125062 if (CodeBuffW[Ptr+count-1].attr & AttrKanji) {
5813-// CodeBuff[Ptr+count] = 0x20;
58145063 BuffSetChar(&CodeBuffW[Ptr+count], 0x20, 'H');
58155064 }
58165065
58175066 if (CursorLeftM > 0 && CodeBuffW[Ptr-1].attr & AttrKanji) {
5818-// CodeBuff[Ptr-1] = 0x20;
58195067 BuffSetChar(&CodeBuffW[Ptr-1], 0x20, 'H');
58205068 CodeBuffW[Ptr-1].attr &= ~AttrKanji;
58215069 }
58225070
5823-// memmove(&(CodeBuff[Ptr]), &(CodeBuff[Ptr+count]), MoveLen);
58245071 memmoveW(&(CodeBuffW[Ptr]), &(CodeBuffW[Ptr+count]), MoveLen);
5825-// memmove(&(AttrBuff[Ptr]), &(AttrBuff[Ptr+count]), MoveLen);
5826-// memmove(&(AttrBuff2[Ptr]), &(AttrBuff2[Ptr+count]), MoveLen);
5827-// memmove(&(AttrBuffFG[Ptr]), &(AttrBuffFG[Ptr+count]), MoveLen);
5828-// memmove(&(AttrBuffBG[Ptr]), &(AttrBuffBG[Ptr+count]), MoveLen);
58295072
5830-// memset(&(CodeBuff[Ptr+MoveLen]), 0x20, count);
58315073 memsetW(&(CodeBuffW[Ptr+MoveLen]), 0x20, CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, count);
5832-// memset(&(AttrBuff[Ptr+MoveLen]), AttrDefault, count);
5833-// memset(&(AttrBuff2[Ptr+MoveLen]), CurCharAttr.Attr2 & Attr2ColorMask, count);
5834-// memset(&(AttrBuffFG[Ptr+MoveLen]), CurCharAttr.Fore, count);
5835-// memset(&(AttrBuffBG[Ptr+MoveLen]), CurCharAttr.Back, count);
58365074
58375075 LPtr = NextLinePtr(LPtr);
58385076 }
@@ -5853,34 +5091,20 @@ void BuffScrollRight(int count)
58535091 Ptr = LPtr + CursorLeftM;
58545092
58555093 if (CursorRightM < NumOfColumns-1 && CodeBuffW[LPtr+CursorRightM].attr & AttrKanji) {
5856-// CodeBuff[LPtr+CursorRightM+1] = 0x20;
58575094 BuffSetChar(&CodeBuffW[LPtr+CursorRightM+1], 0x20, 'H');
58585095 }
58595096
58605097 if (CursorLeftM > 0 && CodeBuffW[Ptr-1].attr & AttrKanji) {
5861-// CodeBuff[Ptr-1] = 0x20;
58625098 BuffSetChar(&CodeBuffW[Ptr-1], 0x20, 'H');
58635099 CodeBuffW[Ptr-1].attr &= ~AttrKanji;
5864-// CodeBuff[Ptr] = 0x20;
58655100 BuffSetChar(&CodeBuffW[Ptr], 0x20, 'H');
58665101 }
58675102
5868-// memmove(&(CodeBuff[Ptr+count]), &(CodeBuff[Ptr]), MoveLen);
58695103 memmoveW(&(CodeBuffW[Ptr+count]), &(CodeBuffW[Ptr]), MoveLen);
5870-// memmove(&(AttrBuff[Ptr+count]), &(AttrBuff[Ptr]), MoveLen);
5871-// memmove(&(AttrBuff2[Ptr+count]), &(AttrBuff2[Ptr]), MoveLen);
5872-// memmove(&(AttrBuffFG[Ptr+count]), &(AttrBuffFG[Ptr]), MoveLen);
5873-// memmove(&(AttrBuffBG[Ptr+count]), &(AttrBuffBG[Ptr]), MoveLen);
58745104
5875-// memset(&(CodeBuff[Ptr]), 0x20, count);
58765105 memsetW(&(CodeBuffW[Ptr]), 0x20, CurCharAttr.Fore, CurCharAttr.Back, AttrDefault, CurCharAttr.Attr2 & Attr2ColorMask, count);
5877-// memset(&(AttrBuff[Ptr]), AttrDefault, count);
5878-// memset(&(AttrBuff2[Ptr]), CurCharAttr.Attr2 & Attr2ColorMask, count);
5879-// memset(&(AttrBuffFG[Ptr]), CurCharAttr.Fore, count);
5880-// memset(&(AttrBuffBG[Ptr]), CurCharAttr.Back, count);
58815106
58825107 if (CodeBuffW[LPtr+CursorRightM].attr & AttrKanji) {
5883-// CodeBuff[LPtr+CursorRightM] = 0x20;
58845108 BuffSetChar(&CodeBuffW[LPtr+CursorRightM], 0x20, 'H');
58855109 CodeBuffW[LPtr+CursorRightM].attr &= ~AttrKanji;
58865110 }
@@ -6120,7 +5344,7 @@ wchar_t *BuffGetCharInfo(int Xw, int Yw)
61205344 L"Half %s\n"
61215345 L"Padding %s\n",
61225346 b->fg, b->bg,
6123- width_property, b->WidthProperty,
5347+ width_property, b->WidthProperty,
61245348 (b->HalfWidth ? L"TRUE" : L"FALSE"),
61255349 (b->Padding ? L"TRUE" : L"FALSE"));
61265350
@@ -6182,7 +5406,6 @@ wchar_t *BuffGetCharInfo(int Xw, int Yw)
61825406
61835407 UnlockBuffer();
61845408
6185-
61865409 str_ptr = NULL;
61875410 awcscat(&str_ptr, pos_str);
61885411 awcscat(&str_ptr, attr_str);
@@ -6201,8 +5424,6 @@ void BuffSetCursorCharAttr(int x, int y, TCharAttr Attr)
62015424 const LONG TmpPtr = GetLinePtr(PageStart+y);
62025425 CodeBuffW[TmpPtr + x].attr = Attr.Attr;
62035426 CodeBuffW[TmpPtr + x].attr2 = Attr.Attr2;
6204-// AttrBuffFG[TmpPtr + x] = Attr.Fore;
6205-// AttrBuffBG[TmpPtr + x] = Attr.Back;
62065427 CodeBuffW[TmpPtr + x].fg = Attr.Fore;
62075428 CodeBuffW[TmpPtr + x].bg = Attr.Back;
62085429 }
@@ -6213,8 +5434,6 @@ TCharAttr BuffGetCursorCharAttr(int x, int y)
62135434 TCharAttr Attr;
62145435 Attr.Attr = CodeBuffW[TmpPtr + x].attr;
62155436 Attr.Attr2 = CodeBuffW[TmpPtr + x].attr2;
6216-// Attr.Fore = AttrBuffFG[TmpPtr + x];
6217-// Attr.Back =AttrBuffBG[TmpPtr + x];
62185437 Attr.Fore = CodeBuffW[TmpPtr + x].fg;
62195438 Attr.Back = CodeBuffW[TmpPtr + x].bg;
62205439