Mercurial > hg > octave-nkf
changeset 19501:735bc47d18af gui-release
command_editor: provide access to rl_set_screen_size
* cmd-edit.h, cmd-edit.cc (command_editor::set_screen_size,
command_editor::do_set_screen_size, gnu_readline::do_set_screen_size):
New functions.
* oct-rl-edit.h, oct-rl-edit.c (octave_rl_set_screen_size):
New function.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 17 Sep 2014 16:28:41 -0400 |
parents | ad93e9be78ee |
children | 912158cf524d 5fb4505b84ff |
files | liboctave/util/cmd-edit.cc liboctave/util/cmd-edit.h liboctave/util/oct-rl-edit.c liboctave/util/oct-rl-edit.h |
diffstat | 4 files changed, 29 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/liboctave/util/cmd-edit.cc +++ b/liboctave/util/cmd-edit.cc @@ -100,6 +100,8 @@ void do_resize_terminal (void); + void do_set_screen_size (int ht, int wd); + std::string newline_chars (void); void do_restore_terminal_state (void); @@ -353,6 +355,12 @@ ::octave_rl_resize_terminal (); } +void +gnu_readline::do_set_screen_size (int ht, int wd) +{ + ::octave_rl_set_screen_size (ht, wd); +} + std::string gnu_readline::newline_chars (void) { @@ -1120,6 +1128,13 @@ instance->do_resize_terminal (); } +void +command_editor::set_screen_size (int ht, int wd) +{ + if (instance_ok ()) + instance->do_set_screen_size (ht, wd); +} + std::string command_editor::decode_prompt_string (const std::string& s) {
--- a/liboctave/util/cmd-edit.h +++ b/liboctave/util/cmd-edit.h @@ -83,6 +83,8 @@ static void resize_terminal (void); + static void set_screen_size (int ht, int wd); + static std::string decode_prompt_string (const std::string& s); static void restore_terminal_state (void); @@ -250,6 +252,8 @@ virtual void do_resize_terminal (void) { } + virtual void do_set_screen_size (int, int) { } + virtual std::string do_decode_prompt_string (const std::string&); virtual std::string newline_chars (void) { return "\n"; }
--- a/liboctave/util/oct-rl-edit.c +++ b/liboctave/util/oct-rl-edit.c @@ -117,6 +117,12 @@ } void +octave_rl_set_screen_size (int ht, int wd) +{ + rl_set_screen_size (ht, wd); +} + +void octave_rl_restore_terminal_state () { if (rl_deprep_term_function)
--- a/liboctave/util/oct-rl-edit.h +++ b/liboctave/util/oct-rl-edit.h @@ -62,6 +62,10 @@ extern void octave_rl_resize_terminal (void); +extern void octave_rl_resize_terminal (void); + +extern void octave_rl_set_screen_size (int ht, int wd); + extern void octave_rl_restore_terminal_state (void); extern char *octave_rl_copy_line (void);