diff --git a/unicode_far/PluginA.cpp b/unicode_far/PluginA.cpp
index 18bbd0d..009c4ff 100644
--- a/unicode_far/PluginA.cpp
+++ b/unicode_far/PluginA.cpp
@@ -226,7 +226,7 @@ int PluginA::SaveToCache()
 
 		int j = 0;
 
-		while ( true )
+		for (;;)
 		{
 			string strRegKey, strPluginName, strCurPluginID;
 
diff --git a/unicode_far/PluginW.cpp b/unicode_far/PluginW.cpp
index 5f89ee8..2813ef1 100644
--- a/unicode_far/PluginW.cpp
+++ b/unicode_far/PluginW.cpp
@@ -234,7 +234,7 @@ int PluginW::SaveToCache()
 
 		int j = 0;
 
-		while ( true )
+		for (;;)
 		{
 			string strRegKey, strPluginName, strCurPluginID;
 
diff --git a/unicode_far/copy.cpp b/unicode_far/copy.cpp
index d868365..a8a0e73 100644
--- a/unicode_far/copy.cpp
+++ b/unicode_far/copy.cpp
@@ -2147,7 +2147,7 @@ COPY_CODES ShellCopy::ShellCopyOneFile(
         }
 
         // Ïûòàåìñÿ ïåðåèìåíîâàòü, ïîêà íå îòìåíÿò
-        while (1)
+        for (;;)
         {
           BOOL SuccessMove=RenameToShortName?MoveFileThroughTemp(Src,strDestPath):apiMoveFile(Src,strDestPath);
 
@@ -2234,7 +2234,7 @@ COPY_CODES ShellCopy::ShellCopyOneFile(
 
         if(SetAttr&FILE_ATTRIBUTE_COMPRESSED)
         {
-          while(1)
+          for(;;)
           {
             int MsgCode=ESetFileCompression(strDestPath,1,0);
             if(MsgCode)
@@ -2364,7 +2364,7 @@ COPY_CODES ShellCopy::ShellCopyOneFile(
 
   int NWFS_Attr=(Opt.Nowell.MoveRO && !StrCmp(strDestFSName,L"NWFS"))?TRUE:FALSE;
   {
-  while (1)
+  for (;;)
   {
     int CopyCode=0;
     unsigned __int64 SaveTotalSize=TotalCopiedSize;
@@ -3021,7 +3021,7 @@ int ShellCopy::ShellCopyFile(const wchar_t *SrcName,const FAR_FIND_DATA_EX &SrcD
   UINT  OldErrMode=SetErrorMode(SEM_NOOPENFILEERRORBOX|SEM_NOGPFAULTERRORBOX|SEM_FAILCRITICALERRORS);
   unsigned __int64 FileSize = SrcData.nFileSize;
 
-  while (1)
+  for (;;)
   {
     BOOL IsChangeConsole=OrigScrX != ScrX || OrigScrY != ScrY;
     if (CheckForEscSilent())
@@ -3135,7 +3135,7 @@ int ShellCopy::ShellCopyFile(const wchar_t *SrcName,const FAR_FIND_DATA_EX &SrcD
               if (MsgCode==0)
               {
                 Split=TRUE;
-                while (1)
+                for (;;)
                 {
                   if (GetDiskFreeSpaceW(strDriveRoot,&SectorsPerCluster,&BytesPerSector,&FreeClusters,&Clusters))
                     if (SectorsPerCluster*BytesPerSector*FreeClusters==0)
diff --git a/unicode_far/delete.cpp b/unicode_far/delete.cpp
index dc0e616..91d4cde 100644
--- a/unicode_far/delete.cpp
+++ b/unicode_far/delete.cpp
@@ -578,7 +578,7 @@ int ShellRemoveFile(const wchar_t *Name,const wchar_t *ShortName,int Wipe)
 
   int MsgCode=0;
 
-  while (1)
+  for (;;)
   {
     if (Wipe)
     {
@@ -674,7 +674,7 @@ int ERemoveDirectory(const wchar_t *Name,const wchar_t *ShortName,int Wipe)
 
   ConvertNameToFull(Name,strFullName);
 
-  while (1)
+  for (;;)
   {
     if (Wipe)
     {
diff --git a/unicode_far/dialog.cpp b/unicode_far/dialog.cpp
index 472a3bb..f89a4ba 100644
--- a/unicode_far/dialog.cpp
+++ b/unicode_far/dialog.cpp
@@ -3191,7 +3191,7 @@ int Dialog::ProcessMouse(MOUSE_EVENT_RECORD *MouseEvent)
 
         int NeedSendMsg=0;
 
-        while (1)
+        for (;;)
         {
           int mb=IsMouseButtonPressed();
 
@@ -3280,7 +3280,7 @@ int Dialog::ProcessMouse(MOUSE_EVENT_RECORD *MouseEvent)
             break;
           }
 
-        }// while (1)
+        }// for (;;)
       }
     }
   }
@@ -3542,7 +3542,7 @@ int Dialog::ChangeFocus(unsigned CurFocusPos,int Step,int SkipGroup)
 //    FocusPos=FucusPosNeed;
 //  else
   {
-    while (1)
+    for (;;)
     {
       CurFocusPos+=Step;
       if ((int)CurFocusPos<0)
diff --git a/unicode_far/dizlist.cpp b/unicode_far/dizlist.cpp
index ca73785..975415a 100644
--- a/unicode_far/dizlist.cpp
+++ b/unicode_far/dizlist.cpp
@@ -90,7 +90,7 @@ void DizList::Read(const wchar_t *Path, const wchar_t *DizName)
 
   const wchar_t *NamePtr=Opt.Diz.strListNames;
 
-  while (1)
+  for (;;)
   {
     if (DizName!=NULL)
       strDizFileName = DizName;
diff --git a/unicode_far/edit.cpp b/unicode_far/edit.cpp
index d08c326..86f526c 100644
--- a/unicode_far/edit.cpp
+++ b/unicode_far/edit.cpp
@@ -821,7 +821,7 @@ int Edit::ProcessKey(int Key)
       Lock ();
 //      while (CurPos>0 && IsSpace(Str[CurPos-1]))
 //        RecurseProcessKey(KEY_BS);
-      while (1)
+      for (;;)
       {
         int StopDelete=FALSE;
         if (CurPos>1 && IsSpace(Str[CurPos-1])!=IsSpace(Str[CurPos-2]))
@@ -915,7 +915,7 @@ int Edit::ProcessKey(int Key)
       }
       else
       {
-        while (1)
+        for (;;)
         {
           int StopDelete=FALSE;
           if (CurPos<StrSize-1 && IsSpace(Str[CurPos]) && !IsSpace(Str[CurPos+1]))
@@ -1266,7 +1266,7 @@ int Edit::ProcessCtrlQ(void)
   INPUT_RECORD rec;
   DWORD Key;
 
-  while (1)
+  for (;;)
   {
     Key=GetInputRecord(&rec);
     if (Key!=KEY_NONE && Key!=KEY_IDLE && rec.Event.KeyEvent.uChar.AsciiChar)
diff --git a/unicode_far/editor.cpp b/unicode_far/editor.cpp
index 03c3e75..9c41aeb 100644
--- a/unicode_far/editor.cpp
+++ b/unicode_far/editor.cpp
@@ -1363,7 +1363,7 @@ int Editor::ProcessKey(int Key)
         Lock ();
 
         int CurPos;
-        while (1)
+        for (;;)
         {
           const wchar_t *Str;
           int Length;
@@ -1426,7 +1426,7 @@ int Editor::ProcessKey(int Key)
 
 
         int CurPos;
-        while (1)
+        for (;;)
         {
           const wchar_t *Str;
           int Length;
@@ -2308,7 +2308,7 @@ int Editor::ProcessKey(int Key)
         Pasting++;
         Lock ();
 
-        while (1)
+        for (;;)
         {
           const wchar_t *Str;
           int Length;
@@ -2349,7 +2349,7 @@ int Editor::ProcessKey(int Key)
         Pasting++;
         Lock ();
 
-        while (1)
+        for (;;)
         {
           const wchar_t *Str;
           int Length;
diff --git a/unicode_far/execute.cpp b/unicode_far/execute.cpp
index 53db2d6..a473fa9 100644
--- a/unicode_far/execute.cpp
+++ b/unicode_far/execute.cpp
@@ -1236,7 +1236,7 @@ const wchar_t* WINAPI PrepareOSIfExist(const wchar_t *CmdLine)
     while(*PtrCmd && IsSpace(*PtrCmd)) ++PtrCmd;
   }
 
-  while(1)
+  for(;;)
   {
     if (!PtrCmd || !*PtrCmd || StrCmpNI(PtrCmd,L"IF ",3))
       break;
diff --git a/unicode_far/fileattr.cpp b/unicode_far/fileattr.cpp
index 91f4335..8052302 100644
--- a/unicode_far/fileattr.cpp
+++ b/unicode_far/fileattr.cpp
@@ -211,7 +211,7 @@ int ESetFileTime(const wchar_t *Name,FILETIME *LastWriteTime,FILETIME *CreationT
       ((FileAttr & FA_DIREC) && WinVer.dwPlatformId!=VER_PLATFORM_WIN32_NT))
     return 1;
 
-  while (1)
+  for (;;)
   {
     if (FileAttr & FA_RDONLY)
       SetFileAttributesW(Name,FileAttr & ~FA_RDONLY);
diff --git a/unicode_far/fileedit.cpp b/unicode_far/fileedit.cpp
index 36b8e76..37e4668 100644
--- a/unicode_far/fileedit.cpp
+++ b/unicode_far/fileedit.cpp
@@ -1401,7 +1401,7 @@ int FileEditor::ProcessQuitKey(int FirstSave,BOOL NeedQuestion)
 {
   string strOldCurDir;
   FarGetCurDir(strOldCurDir);
-  while (1)
+  for (;;)
   {
     FarChDir(strStartDir); // ÏÎ×ÅÌÓ? À íóæíî ëè???
     int SaveCode=SAVEFILE_SUCCESS;
@@ -2526,7 +2526,7 @@ int FileEditor::EditorControl(int Command, void *Param)
       {
         INPUT_RECORD *rec=(INPUT_RECORD *)Param;
         DWORD Key;
-        while(1)
+        for(;;)
         {
           Key=GetInputRecord(rec);
           if((!rec->EventType || rec->EventType == KEY_EVENT || rec->EventType == FARMACRO_KEY_EVENT) &&
diff --git a/unicode_far/filefilter.cpp b/unicode_far/filefilter.cpp
index f6d42fd..dd3ceef 100644
--- a/unicode_far/filefilter.cpp
+++ b/unicode_far/filefilter.cpp
@@ -707,7 +707,7 @@ void FileFilter::InitFilter()
   string strRegKey;
   string strTitle, strMask;
 
-  while (1)
+  for (;;)
   {
     strRegKey.Format(L"Filters\\Filter%d",FilterData.getCount());
 
@@ -750,7 +750,7 @@ void FileFilter::InitFilter()
       break;
   }
 
-  while (1)
+  for (;;)
   {
     strRegKey.Format(L"Filters\\PanelMask%d",TempFilterData.getCount());
 
diff --git a/unicode_far/filelist.cpp b/unicode_far/filelist.cpp
index 0b6542f..1503d5b 100644
--- a/unicode_far/filelist.cpp
+++ b/unicode_far/filelist.cpp
@@ -2046,7 +2046,7 @@ void FileList::SetCurDir(const wchar_t *NewDir,int ClosePlugin)
 {
   if (ClosePlugin && PanelMode==PLUGIN_PANEL)
   {
-    while (1)
+    for (;;)
     {
       if (ProcessPluginEvent(FE_CLOSE,NULL))
         return;
@@ -4037,7 +4037,7 @@ int FileList::GetPrevNumericSort()
 HANDLE FileList::OpenFilePlugin(const wchar_t *FileName,int PushPrev)
 {
   if (!PushPrev && PanelMode==PLUGIN_PANEL)
-    while (1)
+    for (;;)
     {
       if (ProcessPluginEvent(FE_CLOSE,NULL))
         return((HANDLE)-2);
diff --git a/unicode_far/filestr.cpp b/unicode_far/filestr.cpp
index e31480d..54b0886 100644
--- a/unicode_far/filestr.cpp
+++ b/unicode_far/filestr.cpp
@@ -105,7 +105,7 @@ int GetFileString::GetAnsiString(char **DestStr,int &Length)
   memset(EOL,0,sizeof(EOL));
   Length=0;
 
-  while (1)
+  for (;;)
   {
     if (ReadPos>=ReadSize)
     {
@@ -163,7 +163,7 @@ int GetFileString::GetUnicodeString(wchar_t **DestStr,int &Length)
   memset(EOL,0,sizeof(EOL));
   Length=0;
 
-  while (1)
+  for (;;)
   {
     if (ReadPos>=ReadSize)
     {
@@ -218,7 +218,7 @@ int GetFileString::GetReverseUnicodeString(wchar_t **DestStr,int &Length)
 	memset(EOL,0,sizeof(EOL));
 	Length=0;
 
-	while (1)
+	for (;;)
 	{
 		if (ReadPos>=ReadSize)
 		{
diff --git a/unicode_far/filetype.cpp b/unicode_far/filetype.cpp
index 3d750c9..23916eb 100644
--- a/unicode_far/filetype.cpp
+++ b/unicode_far/filetype.cpp
@@ -503,7 +503,7 @@ static int FillFileTypesMenu(VMenu *TypesMenu,int MenuPos)
   MenuItemEx TypesMenuItem;
 
   TypesMenu->DeleteItems();
-  while (1)
+  for (;;)
   {
     string strRegKey, strMask, strMenuText;
     strRegKey.Format (FTSW.TypeFmt,NumLine);
@@ -557,7 +557,7 @@ void EditFileTypes()
   TypesMenu.SetBottomTitle(UMSG(MAssocBottom));
 
   {
-    while (1)
+    for (;;)
     {
       MenuModified=TRUE;
       while (!TypesMenu.Done())
@@ -709,7 +709,7 @@ int GetDescriptionWidth (const wchar_t *Name, const wchar_t *ShortName)
 {
   int Width=0,NumLine=0;
   RenumKeyRecord(FTSW.Associations,FTSW.TypeFmt,FTSW.Type0);
-  while (1)
+  for (;;)
   {
     CFileMask FMask;
 
diff --git a/unicode_far/findfile.cpp b/unicode_far/findfile.cpp
index 85d83b6..9728846 100644
--- a/unicode_far/findfile.cpp
+++ b/unicode_far/findfile.cpp
@@ -651,7 +651,7 @@ FindFiles::FindFiles()
     // Âêëþ÷èòü äîïîëíèòåëüíûå îïöèè ïîèñêà. KM
     FindAskDlg[29].Selected=EnableSearchInFirst;
 
-    while (1)
+    for (;;)
     {
       int ExitCode;
       {
@@ -1816,7 +1816,7 @@ void FindFiles::DoScanTree(string& strRoot, FAR_FIND_DATA_EX& FindData, string&
         if (SearchMode==SEARCH_SELECTED)
           CtrlObject->Cp()->ActivePanel->GetSelName(NULL,FileAttr);
 
-        while (1)
+        for (;;)
         {
           string strCurRoot;
           if (SearchMode==SEARCH_SELECTED)
@@ -2460,7 +2460,7 @@ int FindFiles::LookForString(const wchar_t *Name)
       }
     }
 
-    while (1)
+    for (;;)
     {
       /* $ 22.09.2003 KM
          Ïîèñê ïî hex-êîäàì
@@ -2836,7 +2836,7 @@ void _cdecl FindFiles::WriteDialogData(void *Param)
 
   WriteDataUsed=TRUE;
 
-  while( true )
+  for(;;)
   {
     Dialog* Dlg=(Dialog*)hDlg;
 
diff --git a/unicode_far/flmodes.cpp b/unicode_far/flmodes.cpp
index 67215c8..d03c60f 100644
--- a/unicode_far/flmodes.cpp
+++ b/unicode_far/flmodes.cpp
@@ -69,7 +69,7 @@ void FileList::SetFilePanelModes()
     CurMode=CtrlObject->Cp()->ActivePanel->GetViewMode();
     CurMode=(CurMode==0) ? 9:CurMode-1;
   }
-  while (1)
+  for (;;)
   {
     struct MenuDataEx ModeListMenu[]=
     {
diff --git a/unicode_far/flshow.cpp b/unicode_far/flshow.cpp
index ff7518a..2f22303 100644
--- a/unicode_far/flshow.cpp
+++ b/unicode_far/flshow.cpp
@@ -665,7 +665,7 @@ int FileList::PrepareColumnWidths(unsigned int *ColumnTypes,int *ColumnWidths,
       ZeroLengthCount--;
     }
 
-  while (1)
+  for (;;)
   {
     int LastColumn=ColumnCount-1;
     TotalWidth=LastColumn-EmptyColumns;
diff --git a/unicode_far/fnparce.cpp b/unicode_far/fnparce.cpp
index 7bf1164..4a92553 100644
--- a/unicode_far/fnparce.cpp
+++ b/unicode_far/fnparce.cpp
@@ -922,7 +922,7 @@ static int IsReplaceVariable(char *str,int *scr,
   else
     return -1;
   //
-  while (true)    // analize from !? to ?
+  for (;;)        //analyze from !? to ?
   {
     if (!*s)
       return -1;
@@ -962,7 +962,7 @@ static int IsReplaceVariable(char *str,int *scr,
   if (count_scob != 0) return -1;
   scrtxt = s - 1; //remember s for return
 
-  while (true)    //analize from ? or !
+  for (;;)        //analyze from ? or !
   {
     if (!*s)
       return -1;
@@ -1078,7 +1078,7 @@ static int IsReplaceVariableW(const wchar_t *str,
   else
     return -1;
   //
-  while (true)    // analize from !? to ?
+  for (;;)        //analyze from !? to ?
   {
     if (!*s)
       return -1;
@@ -1118,7 +1118,7 @@ static int IsReplaceVariableW(const wchar_t *str,
   if (count_scob != 0) return -1;
   scrtxt = s - 1; //remember s for return
 
-  while (true)    //analize from ? or !
+  for (;;)        //analyze from ? or !
   {
     if (!*s)
       return -1;
diff --git a/unicode_far/help.cpp b/unicode_far/help.cpp
index 3b5eda1..83a190b 100644
--- a/unicode_far/help.cpp
+++ b/unicode_far/help.cpp
@@ -421,7 +421,7 @@ int Help::ReadHelp(const wchar_t *Mask)
 
   int RealMaxLength;
 
-  while (TRUE)
+  for (;;)
   {
     if ( StartPos != -1 )
       RealMaxLength = MaxLength-StartPos;
diff --git a/unicode_far/hilight.cpp b/unicode_far/hilight.cpp
index 880182b..43ac558 100644
--- a/unicode_far/hilight.cpp
+++ b/unicode_far/hilight.cpp
@@ -483,7 +483,7 @@ void HighlightFiles::HiEdit(int MenuPos)
   Panel *RightPanel=CtrlObject->Cp()->RightPanel;
 
   HiMenu.Show();
-  while (1)
+  for (;;)
   {
     while (!HiMenu.Done())
     {
diff --git a/unicode_far/keybar.cpp b/unicode_far/keybar.cpp
index 616904d..9271161 100644
--- a/unicode_far/keybar.cpp
+++ b/unicode_far/keybar.cpp
@@ -291,7 +291,7 @@ int KeyBar::ProcessMouse(MOUSE_EVENT_RECORD *MouseEvent)
     Key=9+(X-KeyWidth*9)/(KeyWidth+1);
 
 
-  while (1)
+  for (;;)
   {
     GetInputRecord(&rec);
     if (rec.EventType==MOUSE_EVENT && (rec.Event.MouseEvent.dwButtonState & 3)==0)
diff --git a/unicode_far/keyboard.cpp b/unicode_far/keyboard.cpp
index 438dc8c..3b7a46d 100644
--- a/unicode_far/keyboard.cpp
+++ b/unicode_far/keyboard.cpp
@@ -415,7 +415,7 @@ DWORD GetInputRecord(INPUT_RECORD *rec,bool ExcludeMacro)
   BOOL ZoomedState=IsZoomed(hFarWnd);
   BOOL IconicState=IsIconic(hFarWnd);
 
-  while (1)
+  for (;;)
   {
     // "Ðåàêöèÿ" íà ìàêñèìèçàöèþ/âîññòàíîâëåíèå îêíà êîíñîëè
     if(ZoomedState!=IsZoomed(hFarWnd) && IconicState==IsIconic(hFarWnd))
@@ -652,7 +652,7 @@ DWORD GetInputRecord(INPUT_RECORD *rec,bool ExcludeMacro)
             GetRealCursorPos(X,Y);
             if (X==0 && Y==ScrY && CtrlObject->CmdLine->IsVisible())
             {
-              while (1)
+              for (;;)
               {
                 INPUT_RECORD tmprec;
                 int Key=GetInputRecord(&tmprec);
@@ -698,7 +698,7 @@ DWORD GetInputRecord(INPUT_RECORD *rec,bool ExcludeMacro)
       }
     }
     LoopCount++;
-  } // while (1)
+  } // for (;;)
 
   clock_t CurClock=clock();
 
@@ -1315,7 +1315,7 @@ DWORD WaitKey(DWORD KeyWait,DWORD delayMS)
   clock_t CheckTime=clock()+delayMS;
 
   DWORD Key;
-  while (1)
+  for (;;)
   {
     INPUT_RECORD rec;
     Key=KEY_NONE;
diff --git a/unicode_far/macro.cpp b/unicode_far/macro.cpp
index fb3cc53..9cf8301 100644
--- a/unicode_far/macro.cpp
+++ b/unicode_far/macro.cpp
@@ -3220,7 +3220,7 @@ int KeyMacro::ReadMacros(int ReadMode, string &strBuffer)
     {
       // Ðàçëè÷àåì òàê æå REG_MULTI_SZ
       wchar_t *ptrBuffer = strBuffer.GetBuffer ();
-      while(1)
+      for(;;)
       {
         ptrBuffer+=StrLength(ptrBuffer);
         if(!ptrBuffer[0] && !ptrBuffer[1])
@@ -3805,7 +3805,7 @@ int KeyMacro::PostNewMacro(const wchar_t *PlainText,DWORD Flags)
   if(Flags&MFLAGS_REG_MULTI_SZ) // Ðàçëè÷àåì òàê æå REG_MULTI_SZ
   {
     int lenPlainText=0;
-    while(1)
+    for(;;)
     {
       if(!PlainText[lenPlainText] && !PlainText[lenPlainText+1])
       {
@@ -3823,7 +3823,7 @@ int KeyMacro::PostNewMacro(const wchar_t *PlainText,DWORD Flags)
       memmove(Buffer,PlainText,lenPlainText*(int)sizeof(wchar_t));
       Buffer[lenPlainText]=0; // +1
       wchar_t *ptrBuffer=Buffer;
-      while(1)
+      for(;;)
       {
         ptrBuffer+=StrLength(ptrBuffer);
         if(!ptrBuffer[0] && !ptrBuffer[1])
diff --git a/unicode_far/manager.cpp b/unicode_far/manager.cpp
index dd7bfc2..630f77c 100644
--- a/unicode_far/manager.cpp
+++ b/unicode_far/manager.cpp
@@ -227,7 +227,7 @@ void Manager::ExecuteNonModal ()
   }
 
   //Frame* ModalStartLevel=NonModal;
-  while (1){
+  for (;;){
     Commit();
     if (CurrentFrame!=NonModal){
       break;
@@ -260,7 +260,7 @@ void Manager::ExecuteModal (Frame *Executed)
   int ModalStartLevel=ModalStackCount;
   int OriginalStartManager=StartManager;
   StartManager=TRUE;
-  while (1){
+  for (;;){
     Commit();
     if (ModalStackCount<=ModalStartLevel){
       break;
@@ -549,7 +549,7 @@ void Manager::EnterMainLoop()
 {
   WaitInFastFind=0;
   StartManager=TRUE;
-  while (1)
+  for (;;)
   {
     Commit();
     if (EndLoop || !HaveAnyFrame()) {
diff --git a/unicode_far/mix.cpp b/unicode_far/mix.cpp
index e43b31c..e44c7d1 100644
--- a/unicode_far/mix.cpp
+++ b/unicode_far/mix.cpp
@@ -1228,7 +1228,7 @@ void CreatePath(string &strPath)
 
   BOOL bEnd = FALSE;
 
-  while ( TRUE )
+  for (;;)
   {
     if ( (*ChPtr == 0) || (*ChPtr == L'\\') )
     {
@@ -1358,7 +1358,7 @@ int CheckShortcutFolder(string *pTestPath,int IsHostFile, BOOL Silent)
       {
         string strTestPathTemp = *pTestPath;
 
-        while ( true )
+        for (;;)
         {
 					if (!CutToSlash(strTestPathTemp,true))
 						break;
diff --git a/unicode_far/panel.cpp b/unicode_far/panel.cpp
index e38b453..4817391 100644
--- a/unicode_far/panel.cpp
+++ b/unicode_far/panel.cpp
@@ -1011,7 +1011,7 @@ int  Panel::ChangeDiskMenu(int Pos,int FirstCall)
 
 	if ( !item->bIsPlugin )
 	{
-		while ( true )
+		for (;;)
 		{
 			int NumDisk = item->cDrive-L'A';
 
@@ -1215,7 +1215,7 @@ void Panel::FastFindProcessName(Edit *FindEdit,const wchar_t *Src,string &strLas
 
       EndPtr=Ptr+StrLength(Ptr);
       DWORD Key;
-      while(1)
+      for(;;)
       {
         if(EndPtr == Ptr)
         {
diff --git a/unicode_far/plugins.cpp b/unicode_far/plugins.cpp
index e0ac63c..045232c 100644
--- a/unicode_far/plugins.cpp
+++ b/unicode_far/plugins.cpp
@@ -1637,7 +1637,7 @@ int PluginManager::ProcessCommandLine(const wchar_t *CommandParam,Panel *Target)
   UnquoteExternal(strCommand);
   RemoveLeadingSpaces(strCommand);
 
-  while (1)
+  for (;;)
   {
     wchar_t Ch=strCommand.At(PrefixLength);
     if (Ch==0 || IsSpace(Ch) || Ch==L'/' || PrefixLength>64)
@@ -1696,7 +1696,7 @@ int PluginManager::ProcessCommandLine(const wchar_t *CommandParam,Panel *Target)
     const wchar_t *PrStart = strPluginPrefix;
 
     PrefixLength=strPrefix.GetLength ();
-    while(1)
+    for (;;)
     {
       const wchar_t *PrEnd = wcschr(PrStart, L':');
       size_t Len=PrEnd==NULL ? StrLength(PrStart):(PrEnd-PrStart);
diff --git a/unicode_far/qsortex.c b/unicode_far/qsortex.c
index 99decc3..645f36b 100644
--- a/unicode_far/qsortex.c
+++ b/unicode_far/qsortex.c
@@ -71,7 +71,7 @@ void __cdecl qsortex(char *base, size_t nel, size_t width,
   thresh = _maxspan * width;             /* init threshold                 */
   sp = stack;                            /* init stack pointer             */
   limit = base + nel * width;            /* pointer past end of array      */
-  while (1)                              /* repeat until done then return  */
+  for (;;)                               /* repeat until done then return  */
   {
     while ((size_t)(limit - base) > thresh) /* if more than _maxspan elements */
     {
@@ -89,7 +89,7 @@ void __cdecl qsortex(char *base, size_t nel, size_t width,
       if ( COMPEX(i, base,user) > 0 )         /*              *i <= *base <= *j */
         SWAP(i, base);                 /* *base is the pivot element     */
 
-      while (1)
+      for (;;)
       {
         do                            /* move i right until *i >= pivot */
           i += width;
@@ -191,7 +191,7 @@ void qsort(void *base, size_t nel, size_t width,
   thresh = _maxspan * width;             /* init threshold                 */
   sp = stack;                            /* init stack pointer             */
   limit = (char*)base + nel * width;            /* pointer past end of array      */
-  while (1)                              /* repeat until done then return  */
+  for (;;)                               /* repeat until done then return  */
   {
     while (limit - base > thresh)        /* if more than _maxspan elements */
     {
@@ -209,7 +209,7 @@ void qsort(void *base, size_t nel, size_t width,
       if ( COMP(i, base) > 0 )         /*              *i <= *base <= *j */
         SWAP(i, base);                 /* *base is the pivot element     */
 
-      while (1)
+      for (;;)
       {
         do                            /* move i right until *i >= pivot */
           i += width;
@@ -310,7 +310,7 @@ void qsort(void *base, size_t nmemb, size_t size,
       /* partition into two segments */
       i = lb + size;
       j = ub;
-      while (1)
+      for (;;)
       {
         while (i < j && compar(lb, i) > 0) i += size;
         while (j >= i && compar(j, lb) > 0) j -= size;
diff --git a/unicode_far/registry.cpp b/unicode_far/registry.cpp
index 7e424b3..c963636 100644
--- a/unicode_far/registry.cpp
+++ b/unicode_far/registry.cpp
@@ -361,7 +361,7 @@ void DeleteKeyRecord(const wchar_t *KeyMask,int Position)
 
   MkKeyName(KeyMask, strMaskKeyName);
 
-  while (1)
+  for (;;)
   {
     strFullKeyName.Format ((const wchar_t*)strMaskKeyName,Position++);
     strNextFullKeyName.Format ((const wchar_t*)strMaskKeyName,Position);
@@ -680,7 +680,7 @@ int EnumRegValue(const wchar_t *Key,DWORD Index, string &strDestName,LPBYTE SDat
   {
     wchar_t ValueName[512]; //BUGBUG, dynamic
 
-    while( TRUE )
+    for(;;)
     {
       DWORD ValSize=sizeof(ValueName);
       DWORD Type=(DWORD)-1;
@@ -722,7 +722,7 @@ int EnumRegValueEx(const wchar_t *Key,DWORD Index, string &strDestName, string &
   {
     wchar_t ValueName[512]; //BUGBUG, dynamic
 
-    while( TRUE )
+    for(;;)
     {
       DWORD ValSize=sizeof(ValueName);
       DWORD Type=(DWORD)-1;
diff --git a/unicode_far/scantree.cpp b/unicode_far/scantree.cpp
index 04cbf6f..5774020 100644
--- a/unicode_far/scantree.cpp
+++ b/unicode_far/scantree.cpp
@@ -83,7 +83,7 @@ int ScanTree::GetNextName(FAR_FIND_DATA_EX *fdata,string &strFullName)
 {
   int Done;
   Flags.Clear(FSCANTREE_SECONDDIRNAME);
-  while (1)
+  for (;;)
   {
     if (Data[FindHandleCount].FindHandle==0)
       Done=((Data[FindHandleCount].FindHandle=apiFindFirstFile(strFindPath,fdata))==INVALID_HANDLE_VALUE);
diff --git a/unicode_far/setattr.cpp b/unicode_far/setattr.cpp
index 64d28f6..4651741 100644
--- a/unicode_far/setattr.cpp
+++ b/unicode_far/setattr.cpp
@@ -1217,7 +1217,7 @@ static int IsFileWritable(const wchar_t *Name, DWORD FileAttr, BOOL IsShowErrMsg
   if ((FileAttr & FA_DIREC) && WinVer.dwPlatformId!=VER_PLATFORM_WIN32_NT)
     return 1;
 
-  while (1)
+  for (;;)
   {
     if (FileAttr & FA_RDONLY)
       SetFileAttributesW(Name,FileAttr & ~FA_RDONLY);
diff --git a/unicode_far/setcolor.cpp b/unicode_far/setcolor.cpp
index 8085584..27861eb 100644
--- a/unicode_far/setcolor.cpp
+++ b/unicode_far/setcolor.cpp
@@ -334,7 +334,7 @@ void SetColors()
     int GroupsCode;
     VMenu GroupsMenu(UMSG(MSetColorGroupsTitle),Groups,sizeof(Groups)/sizeof(Groups[0]),0);
     MenuToRedraw1=&GroupsMenu;
-    while (1)
+    for (;;)
     {
       GroupsMenu.SetPosition(2,1,0,0);
       GroupsMenu.SetFlags(VMENU_WRAPMODE|VMENU_NOTCHANGE);
@@ -410,7 +410,7 @@ static void SetItemColors(struct MenuDataEx *Items,int *PaletteItems,int Size,in
   else
     MenuToRedraw2=&ItemsMenu;
 
-  while (1)
+  for (;;)
   {
     ItemsMenu.SetPosition(17-(TypeSub == 2?7:0),5+(TypeSub == 2?2:0),0,0);
     ItemsMenu.SetFlags(VMENU_WRAPMODE|VMENU_NOTCHANGE);
diff --git a/unicode_far/treelist.cpp b/unicode_far/treelist.cpp
index ff49c74..42bce68 100644
--- a/unicode_far/treelist.cpp
+++ b/unicode_far/treelist.cpp
@@ -1860,7 +1860,7 @@ int _cdecl SortCacheList(const void *el1,const void *el2)
 
 int TreeCmp(const wchar_t *Str1,const wchar_t *Str2)
 {
-  while (1)
+  for (;;)
   {
     if (*Str1 != *Str2)
     {
diff --git a/unicode_far/usermenu.cpp b/unicode_far/usermenu.cpp
index 5039a84..3a15e10 100644
--- a/unicode_far/usermenu.cpp
+++ b/unicode_far/usermenu.cpp
@@ -370,7 +370,7 @@ int FillUserMenu(VMenu& UserMenu,const wchar_t *MenuKey,int MenuPos,int *FuncPos
 
   // ëèøíèé ïðîõîä - âûÿñíÿåì åñòü ëè õîòÿ áû îäèí õîòêåé
   NumLine=0;
-  while (1)
+  for (;;)
   {
     string strItemKey, strHotKey;
     strItemKey.Format (L"%s\\Item%d",MenuKey,NumLine);
@@ -385,7 +385,7 @@ int FillUserMenu(VMenu& UserMenu,const wchar_t *MenuKey,int MenuPos,int *FuncPos
   }
 
   NumLine=0;
-  while (1)
+  for (;;)
   {
     int MenuTextLen;
     string strItemKey, strHotKey, strLabel, strMenuText;
@@ -454,7 +454,7 @@ int FillUserMenu(VMenu& UserMenu,const wchar_t *MenuKey,int MenuPos,int *FuncPos
     MaxLen = ScrX-14;
 
   NumLine=0;
-  while (1)
+  for (;;)
   {
     UserMenuItem.Clear ();
 
@@ -546,7 +546,7 @@ int ProcessSingleMenu(const wchar_t *MenuKey,int MenuPos,const wchar_t *Title)
 {
   MenuItemEx UserMenuItem;
 
-  while (1)
+  for (;;)
   {
     UserMenuItem.Clear ();
     int NumLine=0,ExitCode,FuncPos[12];
@@ -774,7 +774,7 @@ int ProcessSingleMenu(const wchar_t *MenuKey,int MenuPos,const wchar_t *Title)
     int OldCmdLineSelStart, OldCmdLineSelEnd;
     CtrlObject->CmdLine->GetSelection(OldCmdLineSelStart,OldCmdLineSelEnd);
     CtrlObject->CmdLine->LockUpdatePanel(TRUE);
-    while (1)
+    for (;;)
     {
       string strLineName, strCommand;
       strLineName.Format (L"Command%d",CurLine);
@@ -988,7 +988,7 @@ int EditMenuRecord(const wchar_t *MenuKey,int EditPos,int TotalRecords,int NewRe
     */
     string strBuffer7;
     int CommandNumber=0;
-    while (1)
+    for (;;)
     {
       string strCommandName, strCommand;
       strCommandName.Format (L"Command%d",CommandNumber);
@@ -1023,7 +1023,7 @@ int EditMenuRecord(const wchar_t *MenuKey,int EditPos,int TotalRecords,int NewRe
          ðåäàêòèðîâàíèÿ êîìàíä, ò.ê. òåðÿåì òå êîìàíäû, ÷òî, âîçìîæíî, ââåëè.
          Äëÿ âûõîäà èç ìåíþ íóæíî âîñïîëüçîâàòüñÿ esc èëè êíîïêîé "îòìåíèòü".
     */
-    while(1)
+    for (;;)
     {
       Dlg.Process();
 #if defined(PROJECT_DI_MEMOEDIT)
@@ -1112,7 +1112,7 @@ int EditSubMenu(const wchar_t *MenuKey,int EditPos,int TotalRecords,int NewRec)
     Dialog Dlg(EditDlg,sizeof(EditDlg)/sizeof(EditDlg[0]));
     Dlg.SetHelp(L"UserMenu");
     Dlg.SetPosition(-1,-1,76,10);
-    while(1)
+    for (;;)
     {
       Dlg.Process();
       if(6==Dlg.GetExitCode())
diff --git a/unicode_far/viewer.cpp b/unicode_far/viewer.cpp
index 8f4f42c..7175d44 100644
--- a/unicode_far/viewer.cpp
+++ b/unicode_far/viewer.cpp
@@ -946,7 +946,7 @@ void Viewer::ReadString (ViewerString *pString, int MaxSize, int StrSize)
       bSelStartFound = true;
     }
 
-    while (1)
+    for (;;)
     {
       if (OutPtr>=StrSize-16)
         break;
diff --git a/unicode_far/vmenu.cpp b/unicode_far/vmenu.cpp
index 3d555b1..bfc52b5 100644
--- a/unicode_far/vmenu.cpp
+++ b/unicode_far/vmenu.cpp
@@ -1593,7 +1593,7 @@ int VMenu::SetSelectPos(int Pos,int Direct)
 
   int Pass=0, I=0;
 
-  do
+  for (;;)
   {
     /* $ 21.02.2002 DJ
        â ìåíþ áåç WRAPMODE óñëîâèå OrigPos == Pos íèêîãäà íå âûïîëíèòñÿ =>
@@ -1633,7 +1633,7 @@ int VMenu::SetSelectPos(int Pos,int Direct)
       Pass++;
 
     ++I;
-  } while (1);
+  }
 
   /* $ 30.01.2003 KM
      - Èíîãäà ôàð ïàäàë. Êàê âûÿñíèëîñü åñëè SelectPos áûë ðàâåí -1.
