-#if !USE_SHARED_LIBRARY
-IMPLEMENT_ABSTRACT_CLASS(wxDocument, wxEvtHandler)
-IMPLEMENT_ABSTRACT_CLASS(wxView, wxEvtHandler)
-IMPLEMENT_ABSTRACT_CLASS(wxDocTemplate, wxObject)
-IMPLEMENT_DYNAMIC_CLASS(wxDocManager, wxEvtHandler)
-IMPLEMENT_CLASS(wxDocChildFrame, wxFrame)
-IMPLEMENT_CLASS(wxDocParentFrame, wxFrame)
-#if wxUSE_PRINTING_ARCHITECTURE
-IMPLEMENT_DYNAMIC_CLASS(wxDocPrintout, wxPrintout)
-#endif
-IMPLEMENT_CLASS(wxCommand, wxObject)
-IMPLEMENT_DYNAMIC_CLASS(wxCommandProcessor, wxObject)
-IMPLEMENT_DYNAMIC_CLASS(wxFileHistory, wxObject)
-// IMPLEMENT_DYNAMIC_CLASS(wxPrintInfo, wxObject)
-#endif
+// ----------------------------------------------------------------------------
+// wxWindows macros
+// ----------------------------------------------------------------------------
+
+ IMPLEMENT_ABSTRACT_CLASS(wxDocument, wxEvtHandler)
+ IMPLEMENT_ABSTRACT_CLASS(wxView, wxEvtHandler)
+ IMPLEMENT_ABSTRACT_CLASS(wxDocTemplate, wxObject)
+ IMPLEMENT_DYNAMIC_CLASS(wxDocManager, wxEvtHandler)
+ IMPLEMENT_CLASS(wxDocChildFrame, wxFrame)
+ IMPLEMENT_CLASS(wxDocParentFrame, wxFrame)
+
+ #if wxUSE_PRINTING_ARCHITECTURE
+ IMPLEMENT_DYNAMIC_CLASS(wxDocPrintout, wxPrintout)
+ #endif
+
+ IMPLEMENT_CLASS(wxCommand, wxObject)
+ IMPLEMENT_DYNAMIC_CLASS(wxCommandProcessor, wxObject)
+ IMPLEMENT_DYNAMIC_CLASS(wxFileHistory, wxObject)
+
+// ----------------------------------------------------------------------------
+// function prototypes
+// ----------------------------------------------------------------------------
+
+static inline wxString FindExtension(const wxChar *path);
+
+// ----------------------------------------------------------------------------
+// local constants
+// ----------------------------------------------------------------------------
+
+static const wxChar *s_MRUEntryFormat = wxT("&%d %s");
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// local functions
+// ----------------------------------------------------------------------------
+
+static wxString FindExtension(const wxChar *path)
+{
+ wxString ext;
+ wxSplitPath(path, NULL, NULL, &ext);
+
+ // VZ: extensions are considered not case sensitive - is this really a good
+ // idea?
+ return ext.MakeLower();
+}