# HG changeset patch # User Jaroslav Hajek # Date 1244542466 -7200 # Node ID 9b87aeb24ea94d768caefe6d835311480ebf740b # Parent 080dc45ea68232e5e2701a63e77ff8f62021e756 avoid using readline at all when line editing suppressed or interpreter embedded diff --git a/liboctave/ChangeLog b/liboctave/ChangeLog --- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,3 +1,9 @@ +2009-06-09 Jaroslav Hajek + + * cmd-edit.cc (command_editor::force_default_editor): New static + method. + * cmd-edit.h: Declare it. + 2009-06-09 Jaroslav Hajek * lo-mappers.cc (xlog2 (const Complex&, int&), xlog2 (const diff --git a/liboctave/cmd-edit.cc b/liboctave/cmd-edit.cc --- a/liboctave/cmd-edit.cc +++ b/liboctave/cmd-edit.cc @@ -837,6 +837,13 @@ #endif } +void +command_editor::force_default_editor (void) +{ + delete instance; + instance = new default_command_editor (); +} + int command_editor::startup_handler (void) { diff --git a/liboctave/cmd-edit.h b/liboctave/cmd-edit.h --- a/liboctave/cmd-edit.h +++ b/liboctave/cmd-edit.h @@ -150,6 +150,8 @@ static void increment_current_command_number (void); + static void force_default_editor (void); + private: // No copying! diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -2,6 +2,7 @@ * octave.cc (octave_main): Call initialize_command_input conditionally. Move line_editing update in front of it. + Call command_editor::force_default_editor if not line_editing. 2009-06-09 Jaroslav Hajek diff --git a/src/octave.cc b/src/octave.cc --- a/src/octave.cc +++ b/src/octave.cc @@ -786,6 +786,10 @@ if (! interactive && ! forced_line_editing) line_editing = false; + // Force default line editor if we don't want readline editing. + if (! line_editing) + command_editor::force_default_editor (); + // These can come after command line args since none of them set any // defaults that might be changed by command line options.