# HG changeset patch # User jwe # Date 1047909716 0 # Node ID c45874c087c7b5f128734dc625bd8ed586425d3f # Parent aa04c532d69bb5a62ccb2d165f564ad6845950fc [project @ 2003-03-17 14:01:56 by jwe] diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-03-17 John W. Eaton + + * configure.in: Only complain for g++ earlier than 2.95. + Try harder to get version number only. + 2003-03-05 Paul Kienzle * aclocal.m4 (OCTAVE_DYNAMIC_AUTO_ARRAYS): New macro. diff --git a/configure.in b/configure.in --- a/configure.in +++ b/configure.in @@ -22,7 +22,7 @@ ### 02111-1307, USA. AC_INIT -AC_REVISION($Revision: 1.421 $) +AC_REVISION($Revision: 1.422 $) AC_PREREQ(2.52) AC_CONFIG_SRCDIR([src/octave.cc]) AC_CONFIG_HEADER(config.h) @@ -171,10 +171,10 @@ ### Do special things for g++. gxx_version=`$CXX -v 2>&1 | grep "^.*g.. version" | \ - sed -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//'` + sed -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//' -e 's/ .*//'` case "$gxx_version" in - 1.* | 2.[[0123456789]].* | 3.0.*) + 1.* | 2.[[012345678]].*) AC_MSG_ERROR([g++ version $gxx_version will probably fail to compile Octave]) ;; esac diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2003-03-09 Duncan Temple Lang + + * octave.cc (octave_main): New arg, embedded. + * octave.h: Fix decl. + * main.c: Pass 0 for embedded here. + 2003-03-03 John W. Eaton * version.h (OCTAVE_VERSION): Now 2.1.46. diff --git a/src/main.c b/src/main.c --- a/src/main.c +++ b/src/main.c @@ -32,7 +32,7 @@ int main (int argc, char **argv) { - return octave_main (argc, argv); + return octave_main (argc, argv, 0); } /* diff --git a/src/octave.cc b/src/octave.cc --- a/src/octave.cc +++ b/src/octave.cc @@ -371,7 +371,7 @@ // You guessed it. int -octave_main (int argc, char **argv) +octave_main (int argc, char **argv, int embedded) { octave_env::set_program_name (argv[0]); @@ -400,7 +400,8 @@ initialize_pathsearch (); - install_signal_handlers (); + if (! embedded) + install_signal_handlers (); initialize_file_io (); @@ -587,11 +588,13 @@ // Is input coming from a terminal? If so, we are probably // interactive. - interactive = (isatty (fileno (stdin)) && isatty (fileno (stdout))); + interactive = (! embedded + && isatty (fileno (stdin)) && isatty (fileno (stdout))); intern_argv (argc, argv); - switch_to_buffer (create_buffer (get_input_from_stdin ())); + if (! embedded) + switch_to_buffer (create_buffer (get_input_from_stdin ())); } // Force input to be echoed if not really interactive, but the user @@ -609,6 +612,9 @@ if (! interactive) line_editing = false; + if (embedded) + return 1; + int retval = main_loop (fun_to_call); if (retval == 1 && ! error_state) diff --git a/src/octave.h b/src/octave.h --- a/src/octave.h +++ b/src/octave.h @@ -27,7 +27,7 @@ extern "C" { #endif -extern int octave_main (int argc, char **argv); +extern int octave_main (int argc, char **argv, int embedded); #ifdef __cplusplus }