,configurable_settings::instance().custom_output_filename().c_str()
,f.c_str()
bool RunSpecialInputFileIfPresent(wxDocManager* dm){// TODO ?? It's silly to write try...catch here, but the customer that// needs this is a thousand miles away, and wx still seems not to// handle exceptions well--an exception thrown here was demonstrably// unobservable without this extra work.    try        {        if(DoesSpecialInputFileExist())            {            IllusInputParms input;            bool close_when_done = SetSpecialInput(input);            AccountValue av(input);            av.RunAV();            PrintFormSpecial(*av.ledger_from_av());            if(close_when_done)                {                return true;                }            else                {                LMI_ASSERT(0 != dm);                IllustrationView* illview = MakeNewIllustrationDocAndView                    (dm                    ,configurable_settings::instance().custom_output_filename().c_str()                    );                // It seems silly to perform this conversion here,                // because Run() performs an inverse conversion.                // But time is better spent removing the root of                // this silliness--the pair of duplicative input                // classes--than fretting over its symptoms.                Input x;                convert_from_ihs(input, x);                illview->Run(&x);                LMI_ASSERT(dynamic_cast<wxFrame*>(illview->GetFrame()));                dynamic_cast<wxFrame*>(illview->GetFrame())->Maximize();                }            }        }    catch(std::exception& e)        {        wxSafeShowMessage("Fatal error", e.what());        throw;        }    catch(...)        {        wxSafeShowMessage("Fatal error", "Unknown error");        throw;        }    return false;}