comparison liboctave/util/cmd-edit.cc @ 17644:ca9a9c0740c5

Fix infinite loop when PS1 needs deleted directory (bug #32176) * cmd-edit.cc (command_editor::do_decode_prompt_string): Catch exception when current directory cannot be determined.
author Mike Miller <mtmiller@ieee.org>
date Sat, 12 Oct 2013 11:11:00 -0400
parents d5ae5aa80d42
children d63878346099
comparison
equal deleted inserted replaced
17643:d0a197b9962a 17644:ca9a9c0740c5
1597 } 1597 }
1598 1598
1599 case 'w': 1599 case 'w':
1600 case 'W': 1600 case 'W':
1601 { 1601 {
1602 temp = octave_env::get_current_directory (); 1602 try
1603 {
1604 temp = octave_env::get_current_directory ();
1605 }
1606 catch (octave_execution_exception)
1607 {
1608 temp = "";
1609 }
1603 1610
1604 std::string home_dir = octave_env::get_home_directory (); 1611 std::string home_dir = octave_env::get_home_directory ();
1605 1612
1606 if (c == 'W' && (home_dir.empty () || temp != home_dir)) 1613 if (c == 'W' && (home_dir.empty () || temp != home_dir))
1607 { 1614 {