Index: fileedit.hpp
===================================================================
--- fileedit.hpp	(revision 6263)
+++ fileedit.hpp	(working copy)
@@ -59,6 +59,8 @@
 
 enum FFILEEDIT_FLAGS
 {
+	FILEEDIT_DISABLESAVEPOS         = 0x00008000,  // не сохранять позицию для файла 
+
 	FFILEEDIT_NEW                   = 0x00010000,  // Этот файл СОВЕРШЕННО! новый или его успели стереть! Нету такого и все тут.
 	FFILEEDIT_REDRAWTITLE           = 0x00020000,  // Нужно редравить заголовок?
 	FFILEEDIT_FULLSCREEN            = 0x00040000,  // Полноэкранный режим?
Index: fileedit.cpp
===================================================================
--- fileedit.cpp	(revision 6263)
+++ fileedit.cpp	(working copy)
@@ -379,7 +379,7 @@
 	//AY: флаг оповещающий закрытие редактора.
 	m_bClosing = true;
 
-	if (m_editor->EdOpt.SavePos && CtrlObject)
+	if (!Flags.Check(FILEEDIT_DISABLESAVEPOS) && m_editor->EdOpt.SavePos && CtrlObject)
 		SaveToCache();
 
 	BitFlags FEditFlags=m_editor->Flags;
@@ -536,9 +536,14 @@
 						SwitchTo=FALSE;
 						break;
 					case 2:         // Reload
+					{
 						FrameManager->DeleteFrame(FramePos);
+						Frame *deleted_frame = (*FrameManager)[FramePos];
+						if ( deleted_frame )
+							deleted_frame->SetFlags(FILEEDIT_DISABLESAVEPOS);
 						SetExitCode(-2);
 						break;
+					}
 					case -100:
 						//FrameManager->DeleteFrame(this);  //???
 						SetExitCode(XC_EXISTS);
Index: frame.hpp
===================================================================
--- frame.hpp	(revision 6263)
+++ frame.hpp	(working copy)
@@ -115,13 +115,15 @@
 //    int ModalCount() {return ModalStackCount;}
 		void DestroyAllModal();
 		void SetDynamicallyBorn(int Born) {DynamicallyBorn=Born;}
-		int GetDynamicallyBorn() {return DynamicallyBorn;};
+		int GetDynamicallyBorn() {return DynamicallyBorn;}
 		virtual int FastHide();
 //    int IndexOf(Frame *aFrame);
 		bool RemoveModal(Frame *aFrame);
 		virtual void ResizeConsole();
 		bool HasSaveScreen();
 //    bool ifFullConsole();
-		virtual string &GetTitle(string &Title,int SubLen=-1,int TruncSize=0) { return Title; };
-		virtual bool ProcessEvents() {return true;};
+		virtual string &GetTitle(string &Title,int SubLen=-1,int TruncSize=0) { return Title; }
+		virtual bool ProcessEvents() {return true;}
+
+		void SetFlags( DWORD flags ) { Flags.Set(flags); }
 };
