home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-02-24 | 132.3 KB | 3,549 lines |
- Thu Feb 23 09:32:01 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * Version 1.1.1 released.
-
- * src/idx-vector.cc (idx_vector (const Range&)): Always initialize
- data to 0.
- (idx_vector (const Matrix&, int, const char *, int)): Likewise.
- (idx_vector (const idx_vector&): Likewise, do it first.
- * src/idx-vector.h (~idx_vector): Simply delete data.
-
- * octMakefile.in: Combine libcruft, liboctave,dld, info, readline,
- kpathsea, src, scripts, and doc targets into just one.
- (all): Depend on $(SUBDIRS).
- * libcruft/Makefile.in (make-objects): Change to $(SUBDIRS)
- target that doesn't use a loop.
- (all): Depend on $(SUBDIRS).
-
- Wed Feb 22 07:27:18 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * Don't leave @LIBDLD@ on a line by itself.
-
- * src/tc-rep-idx.cc (fortran_style_matrix_index): Handle zero-one
- indexing as a separate case.
- (fortran_style_matrix_index): Check for out-of-bounds index.
-
- * src/idx-vector.cc (init_state): Don't forget len, num_zeros, and
- the one_zero flag for vectors of all zero elements.
- (convert_one_zero_to_idx): Set data to zero after deleting it.
-
- * src/data.cc (check_dimensions):
- Handle case of treat_neg_dim_as_zero = "warn".
-
- Tue Feb 21 08:18:19 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/tree-misc.cc (initialize_undefined_elements): Don't declare
- arg const.
-
- * src/sysdepl.cc (octave_getcwd): Declare arg as char *, not
- const char *.
-
- * src/input.cc (match_sans_spaces): Initialize ep from copy of
- arg, not arg itself.
-
- * octMakefile.in (snapshot-version): Look for OCTAVE_VERSION,
- not just VERSION. Don't end #define with a semicolon.
-
- Mon Feb 20 15:57:17 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * scripts/image/Makefile.in (clean): Delete octtopnm.o and octtopnm.
-
- Fri Feb 17 08:12:09 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/variables.cc (maybe_add_default_load_path): New function,
- extracted from default_path(), which no longer needs it.
- * src/user-prefs.cc (sv_loadpath): Call it here.
-
- Wed Feb 15 15:13:22 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/octave.cc (verbose_usage): Format help message more like
- the help messages of other GNU programs.
-
- * src/variables.cc (install_builtin_variables): New builtin
- variable, suppress_verbose_help_message.
- * src/user-prefs.cc (user_prefs): New field,
- suppress_verbose_help_message.
- * src/user-prefs.cc (suppress_verbose_help_message): New function.
- * src/help.cc (additional_help_message): Check
- user_pref.suppress_verbose_help_message before printing message.
-
- Tue Feb 14 15:36:01 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/sysdep.cc (octave_chdir): New function.
- * src/dirfns.cc (change_to_directory): Use it.
-
- * src/sysdep.cc (octave_getcwd): New function.
- * src/dirfns.cc (get_working_directory, Fpwd): Use it.
- * src/input.cc (decode_prompt_string): Likewise.
-
- * src/version.h (VERSION): New #define.
- (version_string): Use it.
- (OCTAVE_COPYRIGHT): New #define.
- (OCTAVE_NAME_AND_VERSION): New #define.
- (OCTAVE_NAME_VERSION_AND_COPYRIGHT): New #define.
- (OCTAVE_STARTUP_MESSAGE): New #define.
- * src/octave.cc (main): Use new macros from version.h
- (print_version_and_exit): Likewise.
- (verbose_usage): Likewise.
- (Fwarranty): Likewise.
-
- * Makeconf.in (version): Make work with new version.h.
- * octMakefile.in (snapshot-version): Likewise.
-
- * src/variables.cc (default_path): Use SEPCHAR instead of literal ':'.
- * src/utils.cc (pathstring_to_vector): Likewise.
- * src/octave.cc (initialize_globals): Likewise, use SEPCHAR_STR to
- construct format string instead of using literal `:'.
-
- * configure.in: Call AC_DEFINE for SEPCHAR and SEPCHAR_STR.
- * acconfig.h: Add #undefs for SEPCHAR and SEPCHAR_STR.
-
- * src/dynamic-ld.cc: Don't include dld.h unless WITH_DLD.
-
- * src/octave.cc (parse_and_execute): Close file.
-
- Mon Feb 13 19:39:12 1995 John Eaton (jwe@bullwinkle.che.utexas.edu)
-
- * scripts/general/linspace.m: Delete.
- * src/data.cc (Flinspace): New function.
- * liboctave/dRowVector.cc (linspace): New function.
- * liboctave/CRowVector.cc (linspace): New function.
-
- Sun Feb 12 21:23:54 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/load-save.cc (read_mat_binary_data): Only convert to string
- if the number of rows is 1.
-
- * scripts/image/saveimage.m: Force ASCII save.
-
- Thu Feb 9 08:46:09 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * scripts/elfun/sec.m: Returned variable is `w', not `y'.
- * scripts/elfun/sech.m: Likewise.
-
- Wed Feb 8 10:51:33 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/f-find.cc (find_nonzero_elem_idx): Increment i, j indices by
- 1 before stashing them.
-
- Fri Feb 3 15:44:03 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/tree-misc.cc
- (tree_parameter_list::initialize_undefined_elements): New function.
- * src/tree-expr.cc (tree_function::eval): Use it to define return
- values.
- (tree_simple_assignment_expression:eval): Complain if RHS is undefined.
- (tree_multi_assignment_expression:eval): Complain if any of the
- RHS values are undefined.
- * src/user-prefs.h (init_user_prefs): New structure element,
- define_all_return_values.
- * src/user-prefs.cc (define_all_return_values): New function.
- * src/variables.cc (install_builtin_variables): Add DEFVARs for
- default_return_value and define_all_return_values.
- (builtin_any_variable): New function.
-
- Wed Feb 1 08:02:28 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/parse.y (parse_error): Call yyerror() here.
- (input): Not here.
-
- * src/lex.l (handle_string): Call have_continuation and
- have_ellipsis_continuation with 0 arg, to disallow comments after
- continuation characters inside strings.
- (have_continuation): New arg, trailing_comments_ok with default
- value of 1. If !trailing_comments_ok, don't allow comments to
- follow continuation token.
- (have_ellipsis_continuation): New arg, trailing_comments_ok, with
- default value of 1. Pass it along to have_continuation.
-
- * src/parse.y (yyerror): Call parse_error with first arg == "%s",
- since msg might contain format specifiers.
-
- * src/tree-expr.cc (tree_index_expression::eval (int)): Detect
- undefined elements in argument list and print error message.
- (tree_index_expression::eval (int, int, const Octave_object&)):
- Likewise.
-
- * configure.in: Only set CFLAGS, CXXFLAGS, LDFLAGS, FFLAGS, and
- F2CFLAGS if they are not already set in the environment.
-
- * doinstall.sh: Add -print to find commands.
-
- Tue Jan 31 13:26:53 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/lex.l (<MATRIX>{S}*\,{S}*): Eat any trailing continuation
- here. Use value returned from eat_continuation to decide whether
- to insert a row separator.
- (<MATRIX>{S}+): Likewise.
- (<MATRIX>{SNLCMT}*\n{SNLCMT}*): Eat any trailing whitespace here.
-
- * lex.l (ATE_SPACE_OR_TAB, ATE_NEWLINE): New macros.
- (eat_whitespace): Use them to set return value.
-
- Mon Jan 30 14:02:24 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/user-prefs.cc (set_output_precision): Don't pass NaN to NINT.
- (set_output_max_field_width): Likewise.
- (set_save_precision): Likewise.
- * src/file-io.cc (return_valid_file): Likewise.
- (fgets_internal): Likewise.
- (fseek_internal): Likewise.
- (process_printf_format): Likewise.
- (fread_internal): Likewise.
- * src/f-colloc.cc (Fcolloc): Likewise.
- * src/f-fft.cc (Ffft): Likewise.
- * src/f-fft2.cc (Ffft2): Likewise.
- * src/f-ifft.cc (Fifft): Likewise.
- * src/f-ifft2.cc (Fifft2): Likewise.
- * src/f-npsol.cc (do_npsol_option): Likewise.
- * src/f-qpsol.cc (do_qpsol_option): Likewise.
- * src/f-rand.cc (Frand): Likewise.
- * src/pr-output.cc (all_elements_are_ints): Likewise.
- * src/tree-plot.cc (subplot_using::eval): Likewise.
- (subplot_style::print): Likewise.
- * src/sysdep.cc (Fpause): Likewise.
- * src/tc-rep.cc (TC_REP::valid_as_scalar_index): Likewise.
- (TC_REP::valid_as_zero_index): Likewise.
- (TC_REP::convert_to_str): Likewise.
- * src/tc-rep-idx.cc (TC_REP::do_scalar_index): Likewise.
- (TC_REP::fortran_style_matrix_index): Likewise.
- * src/tc-rep-ass.cc (TC_REP::fortran_style_matrix_assignment):
- Likewise.
-
- Sat Jan 28 13:09:44 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * scripts/general/tril.m: Allow the k == nc for k > 0 and
- -k == nr for k < 0. Make faster by eliminating nested loops.
- * scripts/general/triu.m: Likewise.
-
- Fri Jan 27 08:32:10 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * libcruft/lapack: Update with files from LAPACK 2.0.
-
- * src/lex.l (\[{S}*): Don't call fixup_column_count() here.
- Don't use TOK_RETURN here, since we call eat_whitespace().
- (eat_whitespace): Decrement current_input_column when calling
- yyunput().
- (<MATRIX>{SNLCMT}*\n{SNLCMT}): Always call fixup_column_count().
-
- * src/parse.y (rows): Don't accept repeated semicolons.
- (matrix_row): Likewise, for commas.
-
- * src/Makefile.in (LIBOBJS): Delete.
-
- * liboctave/f77-uscore.h: Don't use C++ style comments.
-
- * octMakefile.in (DISTDIRS): Don't include bsd-math.
- * src/Makefile.in (VPATH): Don't include bsd-math directory.
- (SOURCES): Include acosh.c, asinh.c, atanh.c, erf.c erfc.c, and
- lgamma.c.
- * configure.in: Create libcruft/slatec-fn/Makefile.
- Use AC_CHECK_FUNCS to look for acosh, asinh, atanh.
- Don't do anything special if they are missing.
- * src/acosh.c, src/asinh.c, src/atanh.c, src/erf.c, src/erfc.c,
- src/lgamma.c: New files.
- * acconfig.h: Delete #undefs for ACOSH_MISSING, ASINH_MISSING,
- and ATANH_MISSING.
- * libcruft/Makefile.in (CRUFT_DIRS): Add slatec-fn.
- * libcruft/slatec-fn: New directory.
-
- * configure.in: Don't try to use IEEE floating point on m68k HP
- systems.
-
- Thu Jan 26 12:57:05 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/lex.l (maybe_unput_comma): New function, extracted from
- handle_identifier(). Correctly handle the dot in things like
- `a.b' inside matrix lists.
- (handle_identifier): Use it. Don't allow things like [a .1] or
- [a.b .1] to fool us.
-
- Wed Jan 25 08:04:16 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * scripts/Makefile.in (realclean): Don't depend on distclean. Do
- delete Makefile here.
-
- * flibs.sh: Also check for /*values-*.o, for Sun Fortran 2.x.
- * configure.in (FLIB_LIST, CXXLIB_LIST, FLIB_PATH, CXXLIB_PATH):
- Delete any .o files found here.
- When checking for -lm, also append -lc on Linux systems.
-
- * mkinstalldirs: Create directories with mode 0755, to avoid
- problems because the installers umask is too restrictive.
-
- * octave-bug.in: Don't use rmail, it crashes on Ultrix systems if
- the message file isn't just right. Use nested if statements
- instead of ||, for Ultrix /bin/sh. Avoid Ultrix awk crash.
-
- * scripts/linear-algebra/trace.m: Handle row and column vectors as
- a special case.
- * scripts/linear-algebra/null.m: Likewise.
- * scripts/linear-algebra/orth.m: Likewise.
-
- Tue Jan 24 08:11:51 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * octave-bug.in: Add F2C, F2CFLAGS, FLIBS, and LDFLAGS to report.
- * Makefile.in (octave-bug): Substitute them.
-
- Mon Jan 23 20:42:55 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/tree-misc.cc (tree_if_clause::is_else_clause): New function.
- (tree_if_command_list::print_code): Use it to decide whether to
- print "else" or "elseif" here.
- (tree_if_clause::print_code): Don't print "else" here.
-
- * scripts/image/colormap.m: Fix logic for initializing default
- colormap and handling subsequent calls with no arguments.
-
- * src/lex.h (TOK_PUSH_AND_RETURN): Correct last change.
-
- Sun Jan 22 18:02:37 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/lex.l (handle_identifier): Handle incrementing
- current_input_column here.
- ({IDENT}{S}*): Not here.
-
- * src/lex.h (TOK_PUSH_AND_RETURN): New macro.
- * src/lex.l: Use it.
-
- * src/parse.y (yyerror): If printing input line, always print `^'
- error marker too.
-
- * src/parse.y (command [BREAK]): Allow break to occur in function
- bodies too.
- * src/tree-expr.cc (tree_function::eval): Also check to see if
- function exited because of a break statement.
-
- Fri Jan 20 10:48:18 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * config.guess: Replace with current version from FSF.
- * config.sub: Likewise.
-
- * src/tempname.c: Include statdefs.h.
-
- * src/tree-expr.cc (eval): Improve error messages.
-
- Thu Jan 19 08:33:50 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/lex.l (handle_string): Properly handle pending escapes.
- Call error() for unterminated string constants.
- * src/parse.y (input): For parse errors, call yyerror().
-
- * test/config/unix-octave.exp (octave_start): Correctly set OSPATH
- from $OCTAVE_SCRIPT_PATH, not to the string OCTAVE_SCRIPT_PATH.
-
- * test/Makefile.in (OCTAVE_SCRIPT_PATH): Delete surrounding quotes
- in definition.
-
- * doc/texinfo.tex: Move to version 2.140.
-
- * src/f-rand.cc (Frand): Use different method for generating
- initial seed so that it varies more each time Octave starts.
-
- * src/file-io.cc (feof_internal): Use args(0), not args(1).
-
- * src/Makefile.in (SOURCES): Use tempnam.c, not tmpnam.c.
- * src/tempnam.c: New file, from the GNU C library.
-
- Wed Jan 18 08:10:31 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/user-prefs.h (user_prefs): New field, read_only_constants.
- * src/user-prefs.cc (read_only_constants): New function.
- * src/variables.cc (install_builtin_variables): Add DEFVAR for
- read_only_constants, but leave it #if 0'd out since we're not
- really ready for it yet..
- * src/symtab.cc (symbol_record::read_only_error): Check
- user_prefs.read_only_constants to see if it is ok to redefine
- constants that are marked as read-only.
-
- * src/user-prefs.h (user_prefs): New field, ps4.
- * src/user-prefs.cc (sv_ps4): New function.
- * src/variables.cc (install_builtin_variables): Add DEFVAR for PS4.
- * src/input.cc (do_input_echo): New function. Use PS4 variable as
- prefix of echoed input. Send echoed input through the pager.
-
- * flibs.sh: Ignore -lang* options.
-
- * src/load-save.cc (Fsave): Send `save - ...' output through the
- pager.
-
- * doc/Makefile.in: Create and distribute refcards of various sizes.
- Delete rules for making refcard.tex from refcard.tex.in.
- Don't make or distribute refcard-local.
- * doc/refcard.tex: Handle setting paper size with \refcardsize.
- * doc/refcard-a4.tex, doc/refcard-legal.tex, doc/refcard-letter.tex:
- New files.
-
- Mon Jan 16 13:19:29 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/tc-rep-ass.cc (TC_REP::do_scalar_assignment): Handle
- assignments like a(0) = [].
- * src/tc-inlines.h (valid_zero_index): New function.
- * src/tc-rep.cc (valid_as_zero_index): New function.
- * src/tree-const.h (valid_as_zero_index): New function.
-
- * src/parse.y (func_def2): Check user_prefs before warning about
- function name and function file name conflict.
- * src/user-prefs.h (user_prefs): New field, warn_function_name_clash.
- * src/user-prefs.cc (warn_function_name_clash): New function.
- * src/variables.cc (install_builtin_variables): Add DEFVAR for
- warn_function_name_clash.
-
- * scripts/image/octtopnm.c: Include stdlib.h instead of malloc.h.
-
- Sun Jan 15 15:08:04 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * readline/rldefs.h: Use new #defines for directory headers now
- that we are using autoconf 2.
-
- * scripts/special-matrix/hankel.m: Use .', instead of '.
-
- * src/input.cc (match_sans_spaces): Use strcmp, not strncmp.
-
- * src/tc-rep-ass.cc (TC_REP::fortran_style_matrix_assignment):
- For scalar index, don't do assignment if RHS and LHS are both empty.
-
- * src/data.cc (Fsize): Handle optional second arg.
-
- * src/tree-expr.cc (tree_function::eval (int)): Correctly set
- nargin and nargout to zero when evaluating function.
-
- * src/lex.l (handle_string): Correct handling of string escapes.
-
- Thu Jan 12 15:25:34 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * Version 1.1.0 released.
-
- * octMakefile.in (bin-dist-tar): Ignore errors on strip commands.
-
- * src/tree-expr.cc (tree_builtin::eval (int)): Set nargout to 0
- when calling function.
-
- * doc/Makefile.in (FORMATTED): Add refcard.dvi and refcard.ps so
- that they are distributed along with the other docs.
- * octMakefile.in (clean-doc-dist-tar): Delete target.
- (doc-dist): Depend on doc-dist-tar, not clean-doc-dist-tar.
-
- Tue Jan 10 14:29:43 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/help.cc (print_usage): Print warning if symbol isn't found.
-
- * src/utils.cc (Fundo_string_escapes): Fix typo in call to
- print_usage().
-
- * src/octave.cc (Fsystem): Correctly compute exit code.
-
- * scripts/miscellaneous/etime.m: Complain if args are not the
- right length, not if they are. Reverse sense of test for years.
- Duh.
-
- * src/f-find.cc (find_to_fortran_idx): For the case of one output
- argument, return a row vector if the original argument to find was
- a row vector.
-
- Mon Jan 9 12:57:27 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/lex.l (grab_help_text): Always overwrite help_buf.
- ({CCHAR}): Don't call grab_help_text() if there is already
- something in help_buf.
-
- Sat Jan 7 12:28:35 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * configure.in (HOST_CXXFLAGS): New variable to substitute.
- * Makeconf.in (ALL_CXXFLAGS, UGLY_ALL_CXXFLAGS, BUG_CXXFLAGS):
- Add $(HOST_CXXFLAGS).
-
- Fri Jan 6 13:07:09 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * scripts/special-matrix/toeplitz.m: Use .' instead of '.
-
- Tue Jan 3 18:14:33 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * test: Rewrite many tests to not run Octave interactively. This
- makes the log files much more readable.
-
- * octMakefile.in (clean-tar): Delete octave-test/npsol directory,
- not just test/octave.test/npsol.exp. Likewise, add a command for
- deleting qpsol tests.
-
- Mon Jan 2 20:02:10 1995 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/octave.cc (main): Return 0 if error_state is not set.
-
- * src/error.cc (error_1): New function.
- (error): Use it.
- (parse_error): New function.
- * src/parse.y: Never call error and yyerror; just use yyerror.
- (yyerror): Improve logic. Use new parse_error() function so that
- error_state is always set for a parse error. Don't use
- ostream::form().
- (ABORT_PARSE): Don't call reset parser here.
- (colon_expr): Don't call yyerror here. An error message is
- printed by tree_colon_expression::chain() if it fails.
-
- Mon Dec 26 20:11:01 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/tree-expr.cc (eval): Only call multi-arg form of eval for
- object_to_eval if necessary.
-
- Fri Dec 23 00:08:08 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/lex.l: Don't increment promptflag anywhere.
- (eat_continuation): New function.
- (eat_whitespace): Handle embedded continuations. Return nonzero
- if whitespace consumed.
- (handle_close_brace): Don't pass yytext. Do pass flag indicating
- whether whitespace follows brace.
- (handle_identifier): Check for next token being `=' here. Pass
- flag indicating whether whitespace follows identifier.
- (<MATRIX>{SNLCMT}*;{SNLCMT}*): Call eat_whitespace() here.
- ({IDENT}{S}*): Call eat_continuation() here.
- (do_comma_insert_check): And here, but put a space back if
- whitespace is gobbled.
- (have_continuation, have_ellipsis_continuation): Decrement
- promptflag here.
-
- Wed Dec 21 09:56:49 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/tree-plot.cc (Fclearplot): Send "set nolabel" too.
-
- Mon Dec 19 17:50:15 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/tree-plot.h, src/tree-plot.cc (subplot): Rename using to
- using_clause to avoid new C++ keyword. Rename title and style to
- match.
-
- Fri Dec 16 00:09:01 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * configure.in: Don't check for fpsetmask.
- * src/sysdep.cc (sysdep_init): Don't check HAVE_FPSETMASK
-
- Thu Dec 15 00:28:52 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/variables.cc (install_builtin_variables) [default_save_format]:
- Fix doc string.
-
- * configure.in: Rework DEFAULT_DOT_O_FROM_DOT_F and
- DEFAULT_DOT_C_FROM_DOT_F to avoid embedded newlines.
- * Makeconf.in: Likewise.
-
- * src/pager.cc (flush_output_to_pager): Close stream before
- resetting signal handler.
-
- * src/help.cc (Fhelp): Call fcn_file_in_path here. Delete it too.
- Print file name before help message.
- * src/variables.cc (get_help_from_file): Don't call
- fcn_file_in_path here.
- (gobble_leading_white_space): Correctly grab only first set of
- comments.
-
- Wed Dec 14 11:42:13 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/parse.y (pager_buf): Don't make it a fixed-size array.
- * src/variables.cc (get_help_from_file): New function.
- (gobble_leading_white_space): Return first block of comments for
- later use as help string.
- (looks_like_octave_copyright): New function.
- (parse_fcn_file): Stash help from gobble_leading_white_space in
- global help_buf.
- * src/lex.l (grab_help_text): Don't overwrite help found by
- gobble_leading_white_space.
- (reset_parser): Delete help_buf.
- * src/help.cc (Fhelp): Only try to get help from symbol records
- that are defined. If all else fails, try get_help_from_file.
-
- * src/pager.cc (flush_output_to_pager): Re-initialize pager_buf
- immediately after extracting message. Delete message immediately
- after sending it to the output stream. Ignore interrupts while
- running pager.
-
- * octMakefile.in (clean-tar): Delete npsol.exp and any .m files
- that are in the test/octave.test directory.
- (install): Use $(INSTALL), not just install.
-
- * src/lex.l (reset_parser): Don't reset input column or line
- number if reading from a script file or a function file.
- (is_keyword): Don't set line number to 1 if reading function file
- or script file.
- * src/variables.cc (gobble_leading_whitespace): Count lines.
- * src/octave.cc (main): If reading file, set reading_script_file
- and curr_fcn_file_name before calling get_input_from_file().
-
- * src/tc-rep.cc (TC_REP::matrix_value): If implicit_str_to_num_ok,
- convert empty string to empty matrix.
-
- Tue Dec 13 20:25:34 1994 Frederick (Rick) A Niles <niles@axp745.gsfc.nasa.gov>
-
- * liboctave/dbleQR.cc, liboctave/dbleQRP.cc, liboctave/CmplxQR.cc,
- liboctave/CmplxQRP.cc: Get economy-sized dimensions correct.
-
- * libcruft/misc/i1mach.f, libcruft/misc/gen-d1mach.c,
- libcruft/ranlib/ignuin.f: Prevent warnings about variable may be
- used before defined.
-
- Tue Dec 13 11:07:34 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/variables.cc: Change commas_in_literal_matrix to
- whitespace_in_literal_matrix.
- * src/user-prefs.h (user_preferences): Likewise.
- * src/user-prefs.cc (init_user_prefs): Likewise.
- (whitespace_in_literal_matrix): Likewise, rename function.
- * src/lex.l: Likewise.
- (nesting_level): Rename from in_brace_or_paren.
- (<MATRIX>{SNLCMT}*\n{SNLCMT}*): Make separate case from
- <MATRIX>{SNLCMT}*;{SNLCMT}. Check nesting level to decide whether
- to convert newline to semicolon.
- ({NL}, {CCHAR}): Check nesting level to decide whether to eat
- or return newline.
- ("("): Decrement promptflag.
- (")"): Increment promptflag.
-
- Mon Dec 12 00:02:51 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * scripts/Makefile.in, scripts/*/Makefile.in (install): Don't
- depend on all.
-
- * octMakefile.in: Put doc dir last.
- * doc/Makefile.in (dir): New file.
- (DISTFILES): Distribute dir.
- (install): Install dir if it does not already exist in $(infodir).
- Otherwise, print message.
-
- * src/lex.l: Handle {IDENT}{S}*/= with yyinput() instead of
- trailing context.
- (handle_close_brace): New function.
- (handle_number): New function.
- (have_continuation, handle_ellipsis_continuation, handle_string):
- New functions for handling strings and continuation lines in
- string constants.
- (eat_whitespace): New function eliminates need for NEW_MATRIX
- start state.
-
- Sun Dec 11 15:53:03 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/lex.l: Eliminate special case for eating whitespace when
- start state is <TEXT_FCN>.
- Merge three cases for handling `]' for <MATRIX> start state.
-
- Fri Dec 9 12:21:35 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/lex.l: Handle `\' as a continuation character too.
- Allow comments and blanks to follow continuation characters.
- Improve handling of comments in matrices. Create a few more
- definitions for patterns. Restructure source.
-
- * configure.in: Check for bcopy too.
-
- * configure.in (gxx_version): Don't use -fno-implicit-templates on
- AIX systems with g++ 2.6.x.
-
- * octave-bug.in: Check for CC: lines too. Use case-insensitive
- match for To: and Cc: lines. Actually send file that has header
- separator stripped. Print list of CC: addresses too.
-
- * src/input.cc (get_user_input): If user enters empty string,
- return empty matrix or empty string.
-
- * src/help.cc (Fhelp, Ftype, Fwhich): Don't allow lookup_by_name
- to execute script files.
-
- Thu Dec 8 23:20:02 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/tc-rep.cc (print): Don't check `print', which is not a
- variable in this context.
-
- Wed Dec 7 10:52:59 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/configure.in: Check for fpsetmask.
- * src/sysdep.cc (sysdep_init): Check HAVE_FPSETMASK. Only call it
- if either __386BSD__ or __FreeBSD__ is defined.
- Don't check __386BSD__ as a condition for including
- floatingpoint.h.
-
- Mon Dec 5 12:29:07 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/utils.cc: Update directory header macro names for autoconf 2.
- * src/dirfns.cc: Likewise.
-
- Sun Dec 4 22:00:40 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * octMakefile.in (DISTFILES): Don't distribute GCC.PATCH, since it
- is not needed with gcc 2.6.3.
-
- * configure.in: Really do disable IEEE floating point functions on
- the Alpha.
-
- Wed Nov 30 11:42:44 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * doc/FAQ.texi: New file.
- * doc/Makefile.in: Create info, dvi, and ps files and distribute
- them.
-
- * Makefile.in (all): Expand initial message.
-
- Sat Nov 26 21:47:05 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/octave.cc (Fcomputer): Always append ios::ends to ostrstream
- before returning.
-
- Mon Nov 21 09:41:34 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/lex.l: When start state is TEXT_FCN, gobble blanks with
- pattern that matches only blanks before other patterns that can
- also match just blanks. Always check whether in_brace_or_paren
- stack is empty before trying to use it.
-
- * src/parse.y (make_multi_val_ret): Call constructor for
- tree_simple_assignment_expression with correct number of args.
-
- * scripts/plot/shg.m: New function.
-
- * src/f-qpsol.cc (Fqpsol): Correct for changes in meaning of
- nargin and the way args is loaded.
- * src/f-npsol.cc (Fnpsol): Likewise.
-
- * scripts/polynomial/roots.m: Return empty matrix for scalar or
- empty matrix args.
-
- * src/tree-plot.cc (gnuplot_terminal_type): New static variable.
- (Fset): If this is a set term command, set gnuplot_terminal_type.
- (open_plot_stream): Use gnuplot_terminal_type if it is set.
-
- * src/idx-vector.cc (idx_vector::init): Don't check max value of
- index vector against dimension here. We may need to resize.
- * src/tc-rep-idx.cc (do_scalar_index): Do check idx-vector max
- value here.
-
- * src/lex.l (is_plot_keyword): Don't set past_plot_range here.
- Don't accept abbreviations for clear.
- (handle_identifier): Don't call is_plot_keyword unless plotting.
- Set past_plot_range here, before checking for plot option keywords.
-
- Fri Nov 18 17:25:59 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/data.cc (Fis_struct): New function.
-
- Thu Nov 17 18:13:56 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * octMakefile.in (DISTFILES): Distribute GCC.PATCH. Don't
- distribute LIBG++.PATCH.
-
- * src/tree-plot.cc (Fclearplot): Turn off grid and reset
- plot_line_count to zero.
-
- * configure.in: Check for sys/resource.h.
- Create scripts/strings/Makefile too.
-
- * src/timefns.cc: Surround inclusion of sys/resource.h in extern "C".
- Only include sys/resource.h if both HAVE_SYS_RESOURCE_H and
- HAVE_GETRUSAGE are defined.
-
- Wed Nov 16 09:26:10 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * scripts/plot/plot_opt.m: New function.
- * scripts/plot/semilogx.m, scripts/plot/semilogx.m,
- scripts/plot/loglog.m, scripts/plot/plot.m: Handle additional
- args and format strings.
- * scripts/plot/polar.m: Handle format arg.
- * scripts/plot/polar_int_1.m, scripts/plot/polar_int_2.m: Extract
- from polar_int.m.
- * scripts/plot/plot_int_1.m, scripts/plot/plot_int_2.m: Extract
- from plot_int.m.
- * scripts/plot/plot_2_s_s.m, scripts/plot/plot_2_v_v.m,
- scripts/plot/plot_2_m_m.m, scripts/plot/plot_2_v_m.m,
- scripts/plot/plot_2_m_v.m: Handle format arg.
-
- * scripts/strings/strcmp.m: Move here.
- * scripts/general/strcmp.m: From here.
-
- * src/xdiv.cc (result_ok): Issue warning instead of error if warn
- is nonzero.
-
- Tue Nov 15 15:54:19 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/tree-plot.cc (Fcloseplot): Clear title and labels too.
-
- * src/help.cc (keywords): Add entries for all_va_args,
- unwind_protect, unwind_protect_cleanup, and end_unwind_protect.
-
- * liboctave/Makefile.in: Use -include for dependency files.
- * src/Makefile.in: Likewise.
-
- Mon Nov 14 10:28:23 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/tree-misc.cc (convert_to_const_vector): Resize vector before
- returning.
-
- * src/lex.l (plot_style_token): Also allow "steps", "boxes", and
- "boxerrorbars".
-
- * src/parse.y (UNWIND): Rename from UNWIND_PROTECT.
- (CLEANUP): Rename from UNWIND_PROTECT_CLEANUP.
- (command): Allow optsep after UNWIND and CLEANUP tokens.
- * src/lex.l (is_keyword): Use new token names
-
- * src/tree-const.h (tree_constant::all_va_args): New enum.
- (tree_constant (tree_constant::all_va_args t)): New constructor.
- (is_all_va_args): New function.
- (is_empty, is_zero_by_zero, make_numeric_or_magic,
- make_numeric_or_range_or_magic): Handle all_va_args type.
- * src/tc-rep.h (constant_type::all_va_args): New enum element.
- (is_all_va_args): New function.
- * src/tc-rep.cc (TC_REP::tree_constant_rep (TC_REP::constant_type),
- TC_REP::print_code): Handle all_va_args.
- * src/tree-misc.cc (tree_argument_list::convert_to_const_vector):
- Handle all_va_args.
- * src/tree-expr.cc (tree_index_expression::eval): After call to
- tree_argument_list::convert_to_const_vector (), check error_state.
- (tree_simple_assignment_expression::eval): Likewise.
- (tree_function::octave_all_va_args): New function.
- * src/parse.y (ALL_VA_ARGS): New token.
- (arg_list): Handle ALL_VA_ARGS.
- * src/lex.l (is_keyword): Handle all_va_args.
-
- * src/tree-expr.cc (tree_identifier::bump_value): Check read-only
- status of sym before altering value.
- (tree_prefix_expression::eval): Check error_state after call to
- tree_identifier::bump_value ().
-
- * src/variables.cc (bind_nargin_and_nargout): Don't make nargin
- and nargout read only.
-
- * scripts/strings: New subdirectory for string functions.
- * scripts/Makefile.in (SUBDIRS): Add strings.
- * scripts/strings/strcat.m: New function.
-
- Fri Nov 11 14:17:31 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/load-save.cc (extract_keyword): Allow trailing blanks on the
- input line.
-
- Thu Nov 10 09:53:35 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * scripts/general/reshape.m, scripts/image/ind2gray.m,
- scripts/image/ind2gray.m, scripts/image/ind2rgb.m,
- scripts/image/rgb2ind.m: unwind_protect do_fortran_indexing.
- * scripts/general/strcmp.m: unwind_protect implicit_str_to_num_ok.
- * scripts/miscellaneous/menu.m: unwind_protect page_screen_output.
-
- * src/parse.y (UNWIND_PROTECT, UNWIND_PROTECT_CLEANUP): New tokens.
- (command): Handle unwind-protect.
- * src/lex.l (is_keyword): Handle unwind_protect,
- unwind_protect_cleanup, and end_unwind_protect.
- * src/tree-cmd.cc (tree_unwind_protect_command): New class, to
- handle unwind-protect.
-
- * src/token.h (end_tok_type): New field, end_unwind_protect.
-
- * src/error.cc (verror): Flush pending output to pager here.
- (error): Not here.
-
- * src/tc-rep.cc (force_numeric): Don't jump to top level on error.
- * src/tc-rep.cc, src/tc-rep-ass.cc, src/tc-rep-idx.cc: Check
- error_state after calls to make_numeric* functions.
-
- * src/f-lpsolve.cc: Define Flp_solve and Flp_solve_options, not
- Flpsolve or Flpsolve_options.
-
- * src/utils.cc (Ffile_in_path): Define Ffile_in_path, not
- Ffile_in_pat.
-
- * src/f-inv.cc: Add DEFUN for inverse.
-
- Wed Nov 9 09:30:15 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/load-save.cc (read_mat_file_header): Check for mopt < 0 too.
- Don't fail if reading mopt fails.
- (save_mat_binary_data): Handle range data as a special case.
- (get_default_save_format): Also accept `mat-binary' and
- `mat_binary'.
- (Fsave): Add ios::trunc to flags for opening output file.
-
- * src/parse.y (func_def2): Stash function name before stashing
- file name.
-
- * src/utils.cc (fcn_file_in_path): Don't append `.m' if the name
- already ends in `.m'.
- (oct_file_in_path): Likewise, for `.oct'.
-
- * src/error.cc (usage): Set error state to -1, so we get traceback
- information after a call to usage.
-
- * src/tree-expr.cc (stash_fcn_file_name): Store full name of the
- file.
-
- * scripts/*/*.m: Change messages to say `invalid' instead of
- `illegal', since no laws are being broken by using these functions
- incorrectly.
-
- * src/timefns.cc (Fcputime): New function.
- * configure.in: Check for getrusage.
-
- * src/scripts/miscellaneous/tic.m: New function.
- * src/scripts/miscellaneous/toc.m: New function.
- * src/scripts/miscellaneous/etime.m: New function.
- * src/scripts/miscellaneous/is_leap_year.m: New function.
-
- * src/error.cc (Fwarning, Fusage): New functions.
- * scripts/*/*.m: Use them instead of printing warning and usage
- messages directly with disp, printf, or fprintf.
-
- * src/file-io.cc (close_files): Check Pix before using.
- (file_count): Delete unnecessary variable. Instead, use
- DLList::length to get the number of files in the list.
-
- * src/sighandlers.cc (install_signal_handlers): Explicitly ignore
- SIGPOLL and SIGIO.
-
- Tue Nov 8 15:26:50 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * scripts/general/logspace.m: Lose fractional part of third arg.
- Don't round, for compatibility with Matlab.
- * scripts/general/linspace.m: Likewise.
-
- * liboctave/CMatrix.cc (row_min, row_max, row_min_loc, row_max_loc):
- Handle case of row containing only real elements.
- (column_min, column_max, column_min_loc, column_max_loc):
- Likewise, for columnwise operations.
- * src/f-minmax.cc (two-complex-arg min, max): Handle case of both
- columns containing only real elements.
-
- * src/variables.cc (Fclear): Pass 0 to symbol_table::list() for
- pats and npats.
-
- Mon Nov 7 20:22:36 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * liboctave/dColVector.cc (operator +=): Don't return reference to
- temporary.
- (operator -=): Likewise.
- * liboctave/CMatrix.cc (operator +=, operator -=): Likewise.
-
- Sun Nov 6 23:15:24 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * octMakefile.in (DISTSUBDIRS): Don't use $(SUBDIRS) here.
-
- * src/load-save.cc (Fsave): Open output file with mode ==
- ios::out, not ios::in.
-
- Sat Nov 5 18:18:11 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * configure.in (HAVE_SYS_SIGLIST): Check for sys_siglist variable,
- even if it isn't declared in a system header.
- * acconfig.h (HAVE_SYS_SIGLIST): Add #undef.
- * src/sighandlers.cc (sys_siglist): Define our own if
- HAVE_SYS_SIGLIST is not defined, not if SYS_SIGLIST_DECLARED is
- not defined.
-
- * src/tree-plot.cc (Fclearplot): New function.
- (clg): Alias for clearplot.
-
- * src/parse.y (CLEAR): New token.
- (statement): Handle PLOT CLEAR as a special case.
- * src/lex.l (is_plot_keyword): Handle CLEAR here too.
-
- Fri Nov 4 08:44:57 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * All: Remove remaining #pragma interface/implementation statements.
-
- * src/tree-plot.cc (subplot): Move actual code here from .h file.
-
- * src/tree-expr.cc (tree_expression): Declare destructor virtual.
- Delete unnecessary destructors.
-
- * src/SLStack.h, src/SLStack.cc (operator =): Return reference to
- SLStack, not void.
-
- * src/f-qzval.cc (Fqzval): Rename from Fqzvalue. Change Help
- and usage messages too.
-
- * scripts/plot/plot_int.m: Really figure out if there are any
- imaginary parts.
-
- * scripts/control/are.m: Fix typo.
-
- Thu Nov 3 18:44:11 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/load-save.cc (save_ascii_data): Handle new arg,
- strip_nan_and_inf. Change callers.
- (strip_infnan): New functions.
- (save_three_d): Strip inf and nan values here too.
-
- * src/tree-plot.h (subplot_using): New data have_values and val.
- * src/tree-plot.cc (subplot_using::eval, subplot_using::values):
- New functions.
- (subplot_style::errorbars): New function.
- (subplot::extract_plot_data, subplot::handle_plot_data): New functions.
- (subplot::print): Improve handling of data.
-
- Wed Nov 2 08:11:08 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/file-io.cc (do_scanf): If reading from stdin, flush stdout
- first.
-
- * configure.in: Leave some comments in the configure file.
- Improve checking for termios.h, termio.h, and sgtty.h.
-
- * src/variables.cc (install_builtin_variables): DEFVAR realmax and
- realmin here.
- * src/sysdep.cc: Instead of DEFUNing them here.
-
- * src/variables.cc (do_who): Accept globbing patterns as args.
- (maybe_list): Handle them here.
-
- * src/symtab.cc (matches_patterns): New function.
- (symbol_table::list, symbol_table::long_list): Accept list of
- patterns, and use matches_patterns to see if the given string is a
- match. Change all callers.
-
- * src/load-save.cc (read_binary_data): Don't fail if reading
- name_len fails.
- (do_load): Quit quietly if nothing is left to read. Clean up doc
- and name in all cases.
-
- Tue Nov 1 16:34:20 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/lex.l (")"): Set cant_be_identifier to 1 here too.
-
- * src/tree-plot.cc: Use abbreviations for gnpulot plot, splot,
- replot, with, using, and title commands.
-
- Mon Oct 31 14:26:12 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/variables.cc (Fclear): Look in global symbol table for
- user-defined function names.
-
- * src/load-save.cc (do_load): New function.
- (Fload): Use it to avoid assigning streams.
- (write_binary_header): New function.
- (save_vars): New function.
- (Fsave): Use it to avoid assigning streams.
-
- * libcruft/linpack/zgesl.f (zgesl): Comment out unused varialbes
- and statement functions.
-
- * src/sysdep.cc (Fisieee): New function.
- (Frealmax, Frealmin): Ditto.
-
- * scripts/miscellaneous/version.m: New file.
-
- Fri Oct 28 14:52:08 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * octMakefile.in (distclean): Also delete config.cache and
- config.log.
-
- * Makeconf.in (CPPFLAGS): Allow substitution.
-
- * configure.in: Use AC_PREFIX_DEFAULT.
-
- * configure.in: Use AC_CANONICAL_HOST instead of doing this
- ourselves.
-
- * install-sh: Rename from install.sh.
- * octMakefile.in (DISTFILES): Distribute install-sh, not install.sh.
-
- Mon Oct 24 10:04:27 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * octave-bug.in: Print message if bug report appears to have been
- mailed successfully. Otherwise, exit with error status.
-
- Fri Oct 21 14:05:10 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/tc-rep-ass.cc (TC_REP::do_vector_assign (rhs, idx-vector)):
- Handle all four cases of row/colum mixing. Report an error if the
- RHS is a matrix.
-
- * src/tc-rep-idx.cc (TC_REP::do_index): Don't barf on indexing an
- empty matrix with colon(s).
- (TC_REP::do_scalar_index): Create index vector with z_len = 1.
- (TC_REP::do_matrix_index (Range, tree_constant)): Correctly handle
- case of colon as second arg.
-
- * octave-bug.in: Put mail commands in subshells so error message
- really do go away.
-
- Thu Oct 20 11:05:36 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * octave-bug.in: If passing $SUBJECT on the command line to a
- mailer, quote it. Don't assume /bin/mail takes any args other
- than a recipient address. Do the right thing if the To: line
- changes.
-
- * src/tc-rep.cc (TC_REP::rows, TC_REP::columns): Return -1 for
- anything that doesn't really have rows or columns.
-
- * src/tc-rep-idx.cc (fortran_style_matrix_index): Check max and
- min index values.
-
- * Makefile.in (FORCE): New phony target. Used instead of .PHONY
- to be portable.
-
- * octave-bug.in: Try harder to mail the message.
-
- * src/dynamic-ld.cc: Undefine true, false, and boolean after
- including kpathse/pathsearch.h.
-
- * src/sysdep.cc: Include <float.h>.
-
- Wed Oct 19 10:28:49 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * configure.in (CXXLIB_LIST, FLIB_LIST, CXXLIB_PATH, FLIB_PATH):
- Be careful not to match -l or -L in the middle of a word.
-
- * src/f-minmax.cc: Correctly handle mixed scalar/matrix args.
-
- * octMakefile.in: Rename from Makefile.in.
- * Makefile.in: New file. For `all' target, print message and
- execute make again using octMakefile. For other targets, just
- execute make again using octMakefile.
-
- * configure.in: Check for sys_siglist.
- * src/sighandlers.h [! HAVE_SYS_SIGLIST]: Provide an external
- declaration.
- * src/sighandlers.cc (generic_sig_handler): New function, replaces
- most individual signal handler functions.
- (sigint_handler, sigpipe_handler): Restore signal handler before
- doing anything else.
- [! HAVE_SYS_SIGLIST] (sys_siglist): Provide our own definition.
-
- * config.guess: Update from FSF sources.
-
- Tue Oct 18 23:36:24 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * flibs.sh: Don't pass -Y P,path. Instead, turn it into a series
- of -L dir args.
-
- * configure.in: Update for autoconf 2.0.
- Delete support for --enable-run-in-place (it is too hard to make
- this work reliably...).
-
- Mon Oct 17 11:40:49 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/user-prefs.cc (init_user_prefs): Declare to return void,
- not int.
-
- * configure.in: Change quote characters around tr command. Some
- systems actually do need the []'s for ranges...
-
- Sun Oct 16 12:22:14 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/tempname.c, src/tmpnam.c: New files.
- * src/Makefile.in (SOURCES): Add them.
- * src/dirfns.cc: Delete functions extracted from glibc.
-
- * configure.in (localfcnfiledir, localoctfiledir, imagedir):
- New variables. Use them to define localfcnfilepath,
- localoctfilepath, and imagepath.
- * Makeconf.in: Substitute them here.
-
- * src/utils.cc (get_fcn_file_names) [WITH_DLD]: Also match .oct
- files.
-
- * dld/find_exec.c (dld_find_executable): Don't be fooled by
- directories or other special files in PATH.
- (ABSOLUTE_FILENAME_P): Also return true if the name includes a
- `/'. This isn't necessarily an absolute path, but we will turn it
- into one later.
- * src/dynamic-ld.cc (octave_dld_init): Call make_absolute() on
- value returned from dld_find_executable().
-
- Sat Oct 15 08:35:13 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * flibs.sh: Undo previous change. Only substitute spaces for
- commas if it looks like we have output from xlf. Handle -Y and
- LD_RUN_PATH using gcc's -Xlinker option.
-
- * Makefile.in (snapshot-version): Use move-if-change for version.h.
-
- Fri Oct 14 09:18:08 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * scripts/image/Makefile.in (SOURCES): Don't forget octtopnm.c.
-
- * Makefile.in (BINDISTFILES): Distribute octave-bug too.
-
- * configure.in (imagepath): Install at same level as fcnfiledir,
- not below it.
-
- * doinstall.sh: Correctly extract version numbers that are not all
- digits. Also install images too. Also install octaverc. Ask
- octave for the target host type. Also create site/m and
- site/oct directories. Also install octave-bug.
-
- * scripts/image/Makefile.in (DISTFILES): Distribute demo image
- files too.
-
- * doinstall.sh: Update for new directory organization.
-
- * src/variables.cc (subst_octave_home): Make it work for multiple
- substitutions.
-
- * flibs.sh: Handle -Y P,path:of:lib:dirs output from f77 on Solaris.
-
- * src/strfns.cc (Ftoascii): New file, new function.
- (Fisstr, Fsetstr): Move here, fromd ata.cc.
-
- * src/Makefile.in (SOURCES): Include it.
-
- Thu Oct 13 11:58:03 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * scripts/signal/filter.m: Postpad `b' before reshaping.
-
- * mkinstalldirs: New file.
- * Makefile.in: Distribute it, don't make mkpath.
- * All Makefile.in files: Use it instead of mkpath.
-
- * src/utils.cc (Foctave_tmp_file): New function.
-
- * src/utils.cc (undo_string_escape): Move here from tc-rep.cc,
- rename from undo_string_escapes, and make extern.
- (undo_string_escapes): New function, for undoing a whole string.
- (Fundo_string_escapes): New function.
-
- * scripts/miscellaneous/dump_prefs.m,
- scripts/miscellaneous/dump_1_pref.m: New functions.
- * scripts/miscellaneous/bug_report.m: Record user preferences in a
- file and pass the name of the file to octave-bug. Use
- octave_tmp_file to generate tmp file name.
- * octave-bug.in: Accept a final file-name arg as a file that
- contains a list of user-preferences.
-
- Wed Oct 12 09:09:37 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * configure.in: Redefine archlibdir and octfiledir so that oct
- and exec directories are at the same level as the m directory.
- Redefine localoctfilepath so that site/oct is a the same level as
- site/m.
-
- * Makeconf.in (F77): Substitute it.
- (BUG_CFLAGS, BUG_CXXFLAGS): New vars.
- * configure.in:
- * scripts/bug_report.m: New file.
- * octave-bug.in: New file.
- * Makefile.in (DISTFILES): Distribute octave-bug.in.
- (dirs_to_make): Add $bindir.
- (all): Add octave-bug.
- (octave-bug): New target.
- (install): Install it.
- * src/defaults.h.in: Add defines for bindir.
- * src/Makefile.in (defaults.h): Substitute it.
- * src/variables.cc (octave_bin_dir): New function.
- * src/octave.cc (initialize_globals): Also add $bindir to path.
-
- * configure.in: Check for gettimeofday. Add AC_TIME_WITH_SYS_TIME.
- * src/systime.h: New file.
- * src/timefns.h: Use gettimeofday if available.
- * src/Makefile.in (INCLUDES): Add systime.h.
-
- Mon Oct 10 14:34:56 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/octave.cc (verbose_flag): New global variable.
- (long_opts): Add "verbose".
- (usage_string): Update.
- (main): Set verbose_flag if given --verbose.
- (execute_startup_files): Don't print messages about reading
- startup files if verbose_flag is not set.
-
- * src/tree-expr.cc (apply_mapper_fcn): Handle scalars as a special
- case, but then just try to convert other arg types to a matrix.
-
- * src/f-det.cc (Fdet): Check if arg is complex type, but not
- necessarily a complex matrix.
- * src/f-schur.cc (Fschur): Likewise, and also for real types.
- * src/f-lu.cc (Flu): Likewise.
- * src/f-minmax.cc (Fmin, Fmax): Likewise.
-
- Sun Oct 9 21:04:17 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/tc-rep-ass.cc (TC_REP::assign): If LHS is undefined, don't
- try to force it to be a numeric type.
-
- Fri Oct 7 09:05:10 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * configure.in: Define LD_STATIC_FLAG for Alpha OSF/1 1.3 systems.
-
- * src/tc-rep-idx.cc (TC_REP::do_index): Only work for numeric
- types, but don't panic if conversion doesn't work.
- * src/tc-rep-ass.cc (TC_REP::assign): Likewise.
-
- * src/tc-rep.cc (TC_REP::gripe_wrong_type_arg): New function.
-
- * src/gripes.cc (gripe_wrong_type_arg): Define here.
- * src/tree-const.cc: Not here.
-
- Wed Oct 5 16:24:38 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/file-io.cc (do_scanf): Don't panic if string is NULL.
-
- * src/gripes.cc (gripe_unrecognized_float_fmt): New function.
- (gripe_2_or_3_dim_plot): Ditto.
- (gripe_unrecognized_data_fmt): Ditto.
- (gripe_data_conversion): Ditto. Use it in load-save.cc data
- conversion routines that aren't implemented yet.
-
- * src/load-save.cc (do_double_format_conversion): Don't panic on
- unrecognized floating point formats.
- (do_float_format_conversion): Likewise.
- (write_doubles): Don't panic if data format is unrecognized.
- (do_save): Likewise
- (install_loaded_variable): Don't panic for unknown symbol types.
- (read_binary_data): Also check error_state after calls to read_doubles.
-
- * src/symtab.cc (symbol_table::rename): Don't panic if symbol
- can't be renamed.
- * src/parse.y (return_list): Abort parse if renaming results in an
- error.
-
- * src/tree-misc.cc (tree_if_command::eval): Don't panic if all
- (all (cond)) is not a scalar.
-
- * src/tree-expr.cc (tree_unary_expression::print_code): Don't
- panic if expression type is unknown.
-
- * src/tree-plot.cc (tree_plot_command::eval): Don't panic if plot
- is not 2 or 3 dimensional.
- (tree_plot_command::print_code, subplot::print, save_in_tmp_file):
- Likewise.
-
- * src/variables.cc (alias_builtin): Panic with better message.
- (subst_octave_home): Don't panic if OCTAVE_HOME doesn't contain
- OCTAVE_PREFIX.
-
- * src/tc-inlines.h (REP_RHS_MATRIX): Use panic_impossible()
- instead of abort().
- (REP_ELEM_ASSIGN, CRMATRIX): Likewise.
-
- * src/data.cc (Fdiag, make_diag): Do work here.
- * src/tc-rep.cc (TC_REP::diag, make_diag): Not here.
- * src/tc-rep.h (TC_REP::diag): Delete.
- * src/tree-const.h (tree_constant::diag): Delete.
-
- Tue Oct 4 08:35:37 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/f-fft.cc (Ffft): Correctly set n_points for row vectors if
- nargin == 1.
- * src/f-ifft.cc (Fifft): Likewise.
-
- * src/load-save.cc (Fsave): Declare file and stream static.
-
- Mon Oct 3 10:40:50 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/tree-expr.cc (octave_va_arg): Correct arg count and index to
- match recent change to arg passing/nargin.
- (define_param_list): Always set num_named_args = param_list->length ().
-
- * readline/Makefile.in (install): Don't install libreadline.a by
- default.
- (uninstall): Now no need to delete it.
-
- * configure.in (localfcnfilepath, localoctfilepath): Change to
- match organization of system fcn and oct files, and enable
- recursive searching in both. Enable recursive searching in
- $(octfiledir).
- (includedir): Change to $(prefix)/include/octave.
-
- Sun Oct 2 10:14:18 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * configure.in: For now, disable IEEE floating point functions on
- the Alpha. This is braindead, but at least prevents divide by
- zero crashes...
-
- * src/file-io.cc (fseek_internal): Use values for origin that
- match what we use to define SEEK_SET, SEEK_CUR, and SEEK_END in
- variables.cc.
-
- * dld: Merge various changes for Linux from dld 3.2.4 that is
- being distributed with jacal.
-
- * src/file-io.cc (fwrite_internal): Correct indexing of args.
-
- * src/tree-expr.cc (apply_mapper_fcn): New function.
- (tree_builtin::eval): Use it instead of tree_constant::mapper().
- * src/tree-const.h (tree_constant::mapper): Delete.
- * src/tc-rep.cc, src/tc-rep.h (TC_REP::mapper): Delete.
-
- * src/data.cc (Fcumprod, Fcumsum, Fprod, Fsum, Fsumsq): Do work here.
- * src/tc-rep.cc (TC_REP::cumprod, TC_REP::cumsum, TC_REP::prod,
- TC_REP::sum, TC_REP::sumsq): Not here. Delete.
- * src/tc-rep.h (TC_REP::cumprod, TC_REP::cumsum, TC_REP::prod,
- TC_REP::sum, TC_REP::sumsq): Delete
- * src/tree-const.h (tree_constant::cumprod, tree_constant::cumsum,
- tree_constant::prod, tree_constant::sum, tree_constant::sumsq):
- Delete.
-
- * tree-const.h: Don't check gcc minor version number.
- * tc-rep.h: Likewise.
-
- * src/file-io.h (class file_info): Declare here.
- * src/file-io.cc: Not here.
-
- * configure.in (LIBOCTDLD, LIBDLD): Remove ../ prefix.
- * Makefile.in (distclean, realclean): Don't remove *.a.
- * src/Makefile.in (OCTAVE_LIBS): Correct directory spec for libs.
- Build, install, and clean liboctdld.a, not ../liboctdld.a.
- * dld/Makefile.in: Build, install, and clean libdld.a, not ../libdld.a.
- * info/Makefile.in: Likewise, for libinfo.a.
- * kpathsea/Makefile.in: Likewise, for libkpathsea.a.
- * libcruft/Makefile.in: Likewise, for libcruft.a.
- * liboctave/Makefile.in: Likewise, for liboctave.a.
- * readline/Makefile.in: Likewise, for libreadline.a.
-
- * configure.in (gxx_version): Require 2.6.x or later. Don't
- define EXTERNAL_TEMPLATES. Do define NO_IMPLICIT_TEMPLATES.
- * liboctave/Array-C.cc, liboctave/Array-d.cc, src/Array-tc.cc,
- src/DLList-fi.cc src/SLStack-tok.cc, src/SLStack-ue.cc,
- src/SLStack-tm.cc, src/SLStack-pc.cc, src/SLStack-i.cc,
- src/SLList-tc.cc, src/SLStack-sym.cc, src/SLStack-ui.cc,
- src/SLList-misc.cc, src/SLList-expr.cc, src/SLList-plot.cc,
- src/Map-tc.cc: New files. Instantiate templates here.
- * libocave/Array.cc, src/Map.cc, src/Stack.cc, src/SLStack.cc:
- Not here. Remove #pragma implementation hack.
- * liboctave/Array.h, src/Stack.h, src/Map.h, src/SLStack.h: Remove
- #pragma interface hack.
- * Makeconf.in: Substitute NO_IMPLICIT_TEMPLATES, not
- EXTERNAL_TEMPLATES.
- (ALL_CXX_FLAGS, UGLY_ALL_CXX_FLAGS): Use $(NO_IMPLICIT_TEMPLATES),
- not $(EXTERNAL_TEMPLATES).
- * acconfig.h: Remove USE_EXTERNAL_TEMPLATES #undef.
- * src/Makefile.in (XALL_CXX_FLAGS): Delete -fno-implicit-templates.
- (TI_SRC, TI_OBJ): New variables.
- (libtinst.a): New target.
- * liboctave/Makefile.in (TI_SRC): New variable.
- (SOURCES): Add it to list.
-
- Fri Sep 30 09:52:15 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/Makefile.in: Automatically generate more lists.
- Use := in more places.
- * src/Array-C.cc src/Array-d.cc src/Array-tc.cc src/Map-tc.cc
- src/Stack-i.cc src/SLStack-pc.cc src/SLStack-sym.cc
- src/SLStack-tok.cc src/SLStack-tm.cc src/SLStack-ue.cc:
- New template instantiation files.
- * configure.in: If using gcc 2.6.x or later, use
- -fno-implicit-templates instead of -fexternal-templates.
-
- * src/tc-inlines.h: Rename from tc-inlines.cc.
-
- * src/parse.y (looking_at_indirect_ref): New global flag, for
- parser feedback.
- (tree_indirect_ref_type): New token type.
- (TEXT_ID): New token.
- (indirect_ref): New non-terminal.
- (make_index_expression): New function.
- (variable): Use it to build variable from indirect_ref, not just
- identifier.
-
- * src/lex.l (handle_identifier): Handle identifiers differently if
- looking at an indirect reference. Add `.' to list of other ops.
-
- * src/tree-expr.cc (tree_identifier::do_lookup): Handle new
- exec_script arg.
- (tree_identifier::assign): New functions for assignment to a
- strucutre element.
- (print_constant): New function.
- (tree_identifier::eval, tree_indirect_ref::eval): Use it.
- (
-
- * src/tree-expr.h (tree_indirect_ref): New class for handling
- structure references.
- (tree_expression::is_indirect_ref): New virtual function.
- (tree_fvc::lookup_map_element): New virtual function.
- (tree_index_expression, tree_simple_assignment_expression):
- Add new constructors for handling indirect references.
-
- * src/oct-map.h: New file, for class managing Octave's
- structure/map type.
-
- * src/tree-misc.cc (tree_global::eval): Don't allow individual
- structure elements to be tagged global.
-
- * src/tc-rep.h (tree_constant_rep): Add new field, a_map, and a
- new type_tag, map_constant.
- * src/tree-const.cc (tree_constant::is_map): New function.
- * src/tree-const.cc (tree_constant::map_value,
- tree_constant::assign_map_element, tree_constant::make_unique,
- tree_constant::lookup_map_element,
- tree_constant::make_unique_map_element): New functions.
-
- * src/Map.h (CHNode::CHNode): Copy key.
- (CHNode::~CHNode): Delete it.
- (CHMap::contents): Don't declare return value const.
-
- * src/tc-inlines.cc: Move some macros here from tc-rep.cc so they
- can appear in one place and be shared by tc-rep-idx.cc,
- tc-rep-ass.cc, and tc-pre.cc.
-
- * src/tc-rep-idx.cc, src/tc-rep-ass.cc: New files, extracted from
- tc-rep.cc to make compilation of tc-rep stuff faster and require
- less memory.
-
- * src/variables.cc (Fwhos): Correctly insert "-long" into arg list
- for Fwho.
-
- Mon Sep 26 12:59:55 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * test/Makefile.in (OCTAVE_SCRIPT_PATH): Append `//' for recursive
- searching.
-
- Fri Sep 23 07:53:13 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * scripts/plot/bar.m: Don't return values if nargout == 0.
- * scripts/plot/hist.m: Likewise.
- * scripts/plot/stairs.m: Likewise.
-
- * src/tree-plot.cc (Fishold): New function.
- (plot_line_count, parametric_plot, clear_before_plotting):
- Declare static.
-
- * src/f-fft.cc (Ffft): Handle row vector as a special case.
- * src/f-ifft.cc (Fifft): Ditto.
-
- Thu Sep 22 13:20:53 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/help.cc (print_symbol_type): New function, extracted from Fwhich.
- (Fwhich): Use it.
- (Fhelp): Use it to print type info before help message.
-
- * src/dynamic-ld.cc: Hide all DLD-specific functions behind
- #ifdef WITH_DLD.
-
- * scripts/startup: New directory.
- * scripts/startup/Makefile.in: New file.
- * scripts/startup/octaverc: New file. Don't overwrite existing
- file when nstalling.
- * configure.in: Generate Makefile in scripts/startup.
- * scripts/Makefile.in (SUBDIRS): Add startup.
- * src/defaults.h.in (OCTAVE_STARTUPFILEDIR): New macro.
- * src/variables.cc (get_site_defaults): Look for octaverc in
- OCTAVE_STARTUPFILEDIR.
-
- * configure.in (fcnfiledir): Make it end in `//'.
-
- * src/error.cc (Ferror): Correct indexing error.
-
- * src/Map.h, src/Map.cc: New files implementing associative arrays.
- * src/Makefile.in: Include them in the list of files to distribute
- and compile.
-
- Wed Sep 21 09:50:19 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * Makefile.in (DISTSUBDIRS): Add dld to the list.
-
- * scripts/plot/hist.m: New function file.
-
- * src/tc-rep.cc (TC_REP::do_matrix_index (tree_constant,
- tree_constant): For case of scalar as first arg, move call to
- index check to the TC_REP::do_matrix_index (int, tree_constant)
- function.
- (TC_REP::do_matrix_index (int, tree_constant): Be compatible with
- Matlab for indexing of the form row_vector (0, :).
- (TC_REP::do_matrix_index (tree_constant, int): Likewise, for
- indexing of the form col_vector (:, 0).
- (TC_REP::do_matrix_assignment): Similar changes for assignment.
-
- Tue Sep 20 17:48:39 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/parse.y (return_list, return_list1): New nonterminals.
- Rename from func_def1a. Handle variable number of return values.
- * src/tree-expr.h (tree_function::vr_list): New field.
- * src/tree-expr.cc (delete_vr_list): New function.
- (tree_function::octave_vr_val, tree_function::takes_var_return):
- New functions, for variable return lists.
- (tree_function::define_ret_list, tree_function::eval): Handle vr_list.
- (Fvr_val): New function.
- * src/tree-misc.h (tree_va_return_list): New list class.
- * src/tree-misc.cc (tree_parameter_list::convert_to_const_vector):
- Take pointer to tree_va_return_list as arg, and append the values
- found there.
-
- * src/arith-ops.cc (mx_stupid_bool_op): Correctly handle empty
- matrices for == and != ops.
-
- * src/variables.cc (Fis_global): Check args(0), not args(1).
- (Fexist): Likewise.
- (install_builtin_mapper): Set nargin_max to 1, not 2.
-
- * src/dynamic-ld.cc (octave_dld_init): Make raw program name
- absolute before calling dld_find_executable.
-
- * src/octave.cc (initialize_error_handlers): New function.
- (main): Call init_user_prefs and initialize_error_handlers.
- Rearrange order of calls to initialization functions.
-
- * src/user-prefs.cc (init_user_prefs): New function.
-
- * src/data.cc (map): Correct condition for assert (). Correct
- handling of empty args.
-
- * src/f-lsode.cc src/f-dassl.cc src/f-quad.cc src/f-npsol.cc
- src/f-fsolve.cc: Pass correct number of args to
- takes_correct_nargs ().
- * src/variables.cc (takes_correct_nargs): Use %s, not %c in format
- string.
-
- * src/f-ifft2.cc src/f-expm.cc src/f-det.cc src/f-svd.cc
- src/f-syl.cc src/f-schur.cc src/f-qzval.cc src/f-qr.cc
- src/f-pinv.cc src/f-lu.cc src/f-log.cc src/f-inv.cc src/f-hess.cc
- src/f-eig.cc src/f-chol.cc src/f-balance.cc src/f-lsode.cc
- src/f-dassl.cc src/f-quad.cc src/f-npsol.cc src/f-fsolve.cc:
- Correctly handle return value from empty_arg ().
- * src/utils.cc (empty_arg): Clarify usage, correct return value if
- arg is empty but no message is printed.
-
- * src/Makefile.in (dist): Delete builtins.cc too.
-
- * configure.in (DYNAMIC_LD_OBJ): Delete.
- * src/Makefile.in (OBJECTS): Don't substitute DYNAMIC_LD_OBJ.
- Always include dynamic-ld.o.
-
- * configure.in: Generate Makefile in scripts/elfun and
- scripts/specfun.
-
- * Makeconf.in (version): Use `:=' and `$(shell )', not just `='
- and backticks, so we only extract the version number once.
-
- Mon Sep 19 09:04:30 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/tc-rep.h (represent_strings_with_doubles): New field in
- tree_constant_rep class.
-
- * tree-misc.cc (tree_argument_list::convert_to_const_vector):
- Don't allocate extra arg for function name.
- * sysdep.cc, pr-output.cc, input.cc, file-io.cc, error.cc,
- tc-rep.cc, tree-expr.cc, f-svd.cc, f-sort.cc, f-schur.cc,
- f-rand.cc, f-qzval.cc, f-quad.cc, f-qr.cc, f-qpsol.cc, f-pinv.cc,
- f-npsol.cc, f-minmax.cc, f-lu.cc, f-lsode.cc, f-log.cc, f-inv.cc,
- f-ifft2.cc, f-ifft.cc, f-hess.cc, f-givens.cc, f-fsolve.cc,
- f-fft2.cc, f-fft.cc, f-expm.cc, f-eig.cc, f-det.cc, f-dassl.cc,
- f-colloc.cc, f-chol.cc, f-balance.cc, f-syl.cc, variables.cc,
- tree-misc.cc, data.cc, octave.cc, utils.cc, defun-int.h:
- Change meaning and usage of nargin and args.length() to cope with
- above change. This makes nargin mean the same thing in built-in
- functions as it does in M-files.
-
- Sat Sep 17 09:29:08 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * scripts/general/nargchk.m: New function.
-
- Fri Sep 16 08:48:13 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * Makeconf.in (FLIB_LIST, FLIB_PATH, CXXLIBS, CXXLIB_LIST,
- CXXLIB_PATH): Set these.
-
- * cxxlibs.sh: New file.
- * configure.in: Use it to determine extra C++ libraries to link
- to. Use sed magic to extract list of libraries and directories
- from FLIBS and CXXLIBS.
- * Makefile.in: (DISTFILES): Include cxxlibs.sh.
-
- * configure.in: Change AC_VERBOSE messages to match
- autoconf-generated messages.
-
- * src/dynamic-ld.cc (dld_octave_resolve_reference): Search library
- path for list of files to link.
-
- * src/utils.cc (pathstring_to_vector): Un-#if 0 it.
-
- * Makefile.in: Install liboctdld.a if not linking to it.
- (defaults.h): Substitute FLIB_LIST, FLIB_PATH, CXXLIB_LIST,
- CXXLIB_PATH.
-
- Thu Sep 15 09:31:29 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * Makeconf.in (LD_STATIC_FLAG): Actually substitute LD_STATIC_FLAG.
- (ALL_LDFLAGS): Include it here.
-
- * configure.in: Check for signgam declaration in math.h
- * acconfig.h: Add #undef for SIGNGAM_DECLARED.
- * src/mappers.h: Provide our own declaration of signgam if
- HAVE_LGAMMA but not SIGNGAM_DECLARED.
-
- Wed Sep 14 11:28:09 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/dynamic-ld.cc (mangled_octave_builtin_name,
- mangle_octave_oct_file_name, load_octave_builtin,
- load_octave_oct_file, init_dynamic_linker): New functions.
- [WITH_DLD] (octave_dld_init, dld_octave_resolve_reference,
- dld_octave_builtin, dld_octave_oct_file): New functions to handle
- details of dynamic linking using dld.
-
- * src/variables.cc (load_fcn_from_file) [WITH_DLD]: Handle looking
- for .oct file to link at run time.
-
- * src/tree-expr.cc (tree_builtin::tree_builtin): Always init my_name.
- (tree_builtin::eval): If no definition, try to load one using
- load_octave_builtin().
-
- * src/octave.cc (main): Initialize dynamic linking here.
-
- * src/defun-int.h (DEFINE_FUN_STRUCT, DEFINE_FUN_STRUCT_FUN):
- New macros.
- * src/defun-dld.h (DEFUN_DLD_BUILTIN): Rename from DEFUN_DLD and
- handle case of WITH_DLD && OCTAVE_LITE && MAKE_BUITLINS.
- (DEFUN_DLD): Use this for external user-supplied functions that
- are intended to be dynamically linked.
-
- * configure.in: Handle --enable-lite-kernel. Call AC_SUBST for
- use_dld and lite_kernel. Define LIBOCTDLD unless doing dynamic
- linking and small kernel requested.
- * acconfig.h: Add #undefs for OCTAVE_LITE and SMART_PUTENV.
- * Makeconf.in: Define WITH_DLD from @use_dld@ and OCTAVE_LITE from
- @lite_kernel@.
-
- * src/octave.cc (Fsystem): Rename from shell_cmd.
- (Fshell_cmd): Define as alias to Fsystem.
-
- Mon Sep 12 20:19:20 1994 John Eaton <jwe@schoch.che.utexas.edu>
-
- * src/mappers.cc: Include error.h and math.h.
-
- Sat Sep 10 11:49:11 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * Makefile.in: Clean up rules for making distributions.
- (DISTDIRS): Distribute kpathsea
-
- Fri Sep 9 08:46:03 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * liboctave/dMatrix.cc (pseudo_inverse): New function.
- * liboctave/CMatrix.cc (pseudo_inverse): New function.
- * src/f-pinv.cc: New file, for pinv().
- * src/Makefile.in (DLD_SRC): Add f-pinv.cc.
- (DLD_OBJ): Add f-pinv.o.
- * scripts/linear-algebra/pinv.m: Delete.
-
- * configure.in: Define and substitute $imagepath.
- * src/Makefile.in: Substitute OCTAVE_IMAGEPATH.
- * src/defaults.h.in: Add OCTAVE_IMAGEPATH.
- * src/variables.cc (install_builtin_variables): Define IMAGEPATH.
- * src/user-prefs.cc (image_path): New function.
- * Makeconf.in (imagepath): substitute it.
-
- * src/octave.cc (initialize_globals): Ensure that $archlibdir is
- in the user's PATH.
-
- * utils.cc (search_path_for_file, Ffile_in_path): New functions.
-
- * configure.in: Append `//' to $fcnfiledir, for recursive
- searching.
- (AC_OUTPUT): Edit makefiles in script subdirectories too.
-
- * scripts: Regroup function files in the following directories,
- each with its own Makefile.in:
-
- image plot signal control
- linear-algebra polynomial special-matrix general
- miscellaneous set statistics
-
- * src/help.cc (simple_help): Use kpathsea functions to find files
- in path.
- * src/utils.cc (get_fcn_file_names): Likewise.
- (pathstring_to_vector): #if 0 out.
-
- Thu Sep 8 16:59:42 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/Makefile.in (OCTAVE_LIBS): Include ../libkpathsea.a.
- * configure.in: Include configure stuff for kpathsea here too.
- * Makefile.in (kpathsea): New target.
- * src/utils.cc (file_in_path): Use kpathsea function instead of
- doing our own searching.
- * kpathsea/Makefile.in (lib): Define as ../libkpathsea.a, not just
- kpathsea.a.
-
- Wed Sep 7 09:39:20 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/user-prefs.cc (check_str_pref): Fix comment.
-
- * src/utils.cc (empty_arg): Check flag == 0, not is_empty > 0.
-
- * src/f-fft2.cc (Ffft2): New file and function.
- * src/f-ifft2.cc (Fifft2): Likewise.
- * src/fft2.m, src/ifft2.m: Delete.
-
- * src/f-fft.cc (Ffft): Handle second arg. Depending on value of
- propagate_empty_matrices, return empty matrix for empty arg.
- * src/f-ifft.cc (Fifft): Likewise.
-
- * liboctave/CMatrix.cc (fourier2d, ifourier2d): New functions.
- * liboctave/dMatrix.cc (fourier2d, ifourier2d): New functions.
-
- * src/tree-misc.cc (eval (int, int)): New function.
- * src/octave.cc (eval_string, Feval): Handle multiple output args.
-
- * src/error.cc (suppress_octave_error_messages): New global.
- (error): Check it to see if messages should be printed.
- * src/octave/cc (Feval): Set it if `catch' arg is supplied.
-
- * src/octave.cc (Feval): Handle second `catch' arg.
-
- * src/load-save.cc (read_mat_file_header): Init swap to zero.
-
- * doc/octave.1: New simple man page.
- * doc/Makefile.in: Distribute and install it.
-
- * src/variables.cc (Fclear): Handle -x option for exclusive clear.
-
- Tue Sep 6 16:00:34 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/load-save.cc (save_mat_binary_data): New function.
- (do_save): Handle LS_MAT_BINARY.
- (Fsave): Handle -mat-binary.
- (Changes from G. Beyerle <gbeyerle@AWI-Potsdam.DE>.)
-
- * src/variables.cc (subs_octave_home, octave_arch_lib_dir):
- New functions.
- (octave_home, octave_info_dir, octave_lib_dir, default_path):
- Fix for new directory organization.
-
- * src/tree-expr.h (tree_multi_val_ret): New class to serve as a
- base for objects that can produce more than one value when
- evaluated.
- (tree_fvc, tree_index_expression, tree_multi_assignment_expression):
- Use it as a base.
-
- * src/parse.y (make_multi_val_re): New function.
- (expression): Use it to construct multiple value assignments.
-
- * configure.in, Makefile.in, Makeconf.in, src/defaults.h.in:
- Revamp directory structure used for installed versions of Octave.
-
- * src/f-schur.cc (Fschur): Correct argument count in error message.
-
- * src/octave.cc (Fcomputer): New function.
- * scripts/computer.in: Delete.
- * scripts/Makefile.in: Don't edit or distribute computer.in.
-
- Thu Sep 1 09:02:06 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/variables.cc (install_builtin_variables): New builtin
- variable, OCTAVE_VERSION.
-
- Tue Aug 30 17:18:14 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * tree-expr.cc: Include string.h
- (tree_matrix::eval): Fix handling of strings to work as in 1.0.
-
- Mon Aug 29 14:55:14 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/lex.l: Handle ".+" and ".-" too.
-
- * src/dirfns.cc (dir_acess, exists, gen_tempname, tempnam): New
- functions from glibc.
- * src/utils.cc (octave_tmp_file_name): Use tempnam.
- (choose_temp_base_try): Delete.
- * configure.in: Check for tempnam.
-
- * src/load-save.cc (Fsave): Only write floating point format if
- doing binary save.
-
- * liboctave/Array.cc (operator =): Check to see if assignment is
- to same object.
-
- Sun Aug 28 23:32:59 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * liboctave/CollocWt.cc (CollocWt::init): Call delete [] on vectors.
- * liboctave/NPSOL.cc (NPSOL::minimize): Eliminate some memory leaks.
- * liboctave/QPSOL.cc (QPSOL::minimize): Likewise.
- * liboctave/NLEqn.cc (NLEqn::solve): Likewise.
-
- Thu Aug 25 09:27:04 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * info/session.c (info_get_input_char): Don't exit immediately if
- we see EOF on the input stream.
-
- * scripts/kurtosis.m, scripts/skewness.m: Update from KH.
-
- Wed Aug 24 00:19:49 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * dld/Makefile.in, scripts/Makefile.in, doc/Makefile.in,
- readline/Makefile.in, info/Makefile.in, libcruft/Makefile.in,
- liboctave/Makefile.in, src/Makefile.in (INSTALL, INSTALL_PROGRAM,
- INSTALL_DATA): Define here.
- * Makeconf.in: Not here.
-
- * src/tree-plot.cc (send_to_plot_stream): Handle
- user_pref.automatic_replot.
- * src/variables.cc (install_builtin_variables):
- Add DEFVAR for automatic_replot.
- * src/user-prefs.cc (automatic_replot): New function.
- * src/user-prefs.h (user_preferences): Add automatic_replot to the
- list.
-
- * src/data.cc (Fatan2): Make work for mixed scalar and Matrix args.
- (map): New functions for two arg mappers (like atan2).
-
- * src/f-fsqp.cc: Don't surround everything in FSQP_MISSING, so
- that trying to use fsqp will result in a message about fsqp not
- being freely redistributable.
- * src/f-npsol.cc: Likewise, for NPSOL_MISSING.
- * src/f-qpsol.cc: Likewise, for QPSOL_MISSING.
-
- Tue Aug 23 12:56:47 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/tree-expr.cc (tree_identifier::eval): Don't call delete for
- ans_id. The destructor for tree_simple_assignment_expression does
- this now.
-
- * src/Makefile.in (%.def : %.cc): Use sed, not awk.
- (realclean, distclean, local-dist, dist): Delete .d and .def files.
-
- * liboctave/Array.h (DiagArray::Proxy): Make compilation
- conditional on gcc version, not just _AIX.
-
- * src/utils.cc (octave_tmp_file_name, choose_temp_base_try): New
- functions, stolen from GCC. If HAVE_MKTEMP is not defined, just
- call tmpnam; otherwise, try harder to please.
- * src/tree-plot.cc (save_in_tmp_file): Use it, instead of calling
- tmpnam() directly.
- * src/file-io.cc (do_scanf): Likewise.
- * src/octave-hist.cc (mk_tmp_hist_file): Likewise.
- * configure.in: Check for mktemp.
-
- * src/tree-const.h (is_matrix_type, is_scalar_type): Make private.
- * src/tc-rep.h (is_matrix_type, is_scalar_type): Likewise.
-
- * src/tc-rep.h (force_numeric, make_numeric,
- make_numeric_or_magic, make_numeric_or_range_or_magic): Make
- private.
- (make_numeric_or_range): #if 0 out.
-
- * src/utils.cc (empty_arg): Correctly set return value.
-
- * src/arith-ops.cc: Don't include setjmp.h.
- * src/utils.cc: Surround setjmp.h with extern "C".
- * src/octave.cc: Likewise.
-
- * src/sighandlers.cc (octave_new_handler): New function.
- (install_signal_handlers): Call it.
-
- * src/f-qzval.cc (Fqzvalue): Don't call make_numeric for args.
- Check error state after attempting to extract values. Simplify
- where possible.
- * src/f-colloc.cc (Fcolloc): Likewise.
- * src/f-rand.cc (Frand): Likewise.
- * src/f-sort.cc (Fsort): Likewise.
- * src/f-find.cc (Ffind): Likewise.
- * src/f-minmax.cc (Fmin, Fmax): Likewise.
- * src/f-fft.cc (Ffft): Likewise.
- * src/f-ifft.cc (Fifft): Likewise.
- * src/f-svd.cc (Fsvd): Likewise.
- * src/f-inv.cc (Finv): Likewise.
- * src/f-det.cc (Fdet): Likewise.
- * src/f-eig.cc (Feig): Likewise.
- * src/f-lu.cc (Flu): Likewise.
- * src/f-hess.cc (Fhess): Likewise.
- * src/f-qr.cc (Fqr): Likewise.
- * src/f-givens.cc (Fgivens): Likewise.
- * src/f-syl.cc (Fsyl): Likewise.
- * src/f-log.cc (Flog): Likewise.
- * src/f-expm.cc (Fexpm): Likewise.
- * src/f-balance.cc (Fbalance): Likewise.
- * src/f-schur.cc (Fschur): Likewise.
- * src/f-chol.cc (Fchol): Likewise.
- * src/f-npsol.cc (Fnpsol, npsol_options): Likewise.
- * src/f-fsolve.cc (Ffsolve, fsolve_options): Likewise.
- * src/f-dassl.cc (Fdassl, dassl_options): Likewise.
- * src/f-lsode.cc (Flsode, lsode_options): Likewise.
- * src/f-quad.cc (Fquad, quad_options): Likewise.
- * src/tree-expr.cc (tree_matrix::eval): Likewise, while building
- matrix.
- (tree_colon_expression::eval): Likewise, for elements of range.
- * src/variables.cc (is_valid_function, Fis_global, Fexist):
- Likewise.
- * src/sysdep.cc (Fgetenv, Fpause): Likewise.
- * src/octave.cc (eval_string, Fshell_cmd): Likewise.
- * src/input.cc (get_user_input): Likewise.
- * src/file-io.cc (return_valid_file, fopen_file_for_user,
- fgets_internal, fseek_internal, process_printf_format, do_printf,
- do_scanf, fread_internal, fwrite_internal, feof_internal):
- Likewise.
-
- * src/tc-rep.cc (TC_REP::string_value): Call error() and return 0
- instead of crashing if not string_constant.
-
- * src/file-io.cc (fopen_file_for_user): Take string as first arg,
- not tree_constant. Change callers.
- (fgets_internal, fseek_internal): Correct check for int arg.
- (process_scanf_format): Use isspace instead of checking directly
- (and incorrectly) for white space characters.
-
- * src/tree-expr.cc (tree_matrix::eval, tree_unary_expression::eval,
- tree_binary_expression::eval, tree_colon_expression::eval,
- tree_simple_assignment_expression::eval ): Eliminate uneccesary
- conversions to and from Octave_object/tree_constant.
-
- Mon Aug 22 18:35:05 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/data.cc (Fatan2): New function.
-
- * src/data.cc (get_dimensions): Don't call make_numeric for args.
- Check error state after attempting to extract values.
-
- Fri Aug 19 08:28:24 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/tree-misc.h (tree_parameter_list::tree_parameter_list)):
- Initialize marked_for_varargs to zero.
-
- * src/load-save.cc: Add float variants of the conversion routines.
- (LS_DO_READ): Add swap parameter and only swap bytes if it is true.
- (read_doubles): Pass swap to LS_DO_READ. Handle float data.
- (LS_DO_WRITE): Copy data to tmp buffer to avoid destroying data.
- (do_double_format_conversion): Rename from do_float_format_conversion.
- (do_float_format_conversion): New function to handle conversion
- for float data.
- (read_mat_binary_data): Use read_doules for all cases. Handle
- float data.
- (too_large_for_float): New function.
- (save_binary_data): Save data format for scalars and ranges too.
- (read_binary_data): Read data format for scalars and ranges too.
- (do_save, save_vars): New arg, save_as_floats.
- (Fsave): New option, -float-binary.
-
- * src/utils.cc (empty_arg): New function.
- * src/f-balance.cc (Fbalance): Use it to simplify handling of
- empty arguments.
- * src/f-chol.cc (Fchol): Likewise.
- * src/f-det.cc (Fdet): Likewise.
- * src/f-eig.cc (Feig): Likewise.
- * src/f-expm.cc (Fexpm): Likewise.
- * src/f-fft.cc (Ffft): Likewise.
- * src/f-hess.cc (Fhess): Likewise.
- * src/f-ifft.cc (Fifft): Likewise.
- * src/f-inv.cc (Finv): Likewise.
- * src/f-log.cc (Flogm, Fsqrtm): Likewise.
- * src/f-lu.cc (Flu): Likewise.
- * src/f-qr.cc (Fqr): Likewise.
- * src/f-schur.cc (Fschur): Likewise.
- * src/f-svd.cc (Fsvd): Likewise.
-
- * src/tc-rep.cc (tupe_as_string): Move here.
- * src/tree-const.cc: From here.
-
- * src/gripes.cc (gripe_invalid_conversion): New function.
-
- Thu Aug 18 21:02:19 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/(print_empty_matrix): New function.
- * src/pr-output.cc (octave_print_internal): Use it to print empty
- matrices.
- * src/tc-rep.cc (TC_REP::print_code, TC_REP::print): Rely on
- octave_print_internal() to handle printing empty matrices.
-
- * src/pr-output.cc (octave_print_internal (all variants)):
- New arg, pr_as_read_syntax. If nonzero, print the value in a form
- that Octave can parse. Declare os as ostream&, not ostrstream&.
- * src/tc-rep.cc (TC_REP::print_code): Handle all types, not just
- real and imaginary constants.
- * src/help.cc (Ftype): Also print values of variables.
-
- Wed Aug 17 08:46:44 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/octave.cc (Fshell_cmd): Return output if nargout > 0 or
- nargin > 2, otherwise, just send output to the pager.
-
- * src/mappers.cc (xerf, xerfc, xgamma, xlgamma): New functions.
- Put preprocessor conditionals here.
- (install_mapper_functions): Not here.
-
- Tue Aug 16 09:55:25 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * configure.in: Check for erf, erfc, and lgamma.
- * src/mappers.cc (erf, erfc, lgamma): New mappers.
- * src/mappers.h (Mapper_fcn): Add new field `name'.
- * src/variables.cc (install_builtin_mapper): Save the name.
- * src/tc-rep.cc (TC_REP::mapper): Don't crash if a mapper function
- is missing.
-
- * src/tc-rep-1.cc (warn_invalid_conversion): New function.
- * src/gripes.cc (gripe_invalid_conversion): New function.
-
- * src/parse.y (list1, parse_error): New non-terminals.
- (list): Use them.
- * src/lex.l: Return LEXICAL_ERROR instead of calling
- jump_to_top_level.
-
- * liboctave/Range.cc (matrix_value): New function.
- * src/tc-rep.cc (TC_REP::matrix_value): Use it.
-
- * src/tree-const.h (to_matrix, to_vector, to_scalar): Delete
- unecessary functions.
- * src/tc-rep.cc (TC_REP::to_matrix, TC_REP::to_vector,
- TC_REP::to_scalar): Likewise. Change all callers to use
- matrix_value, vector_value, and scalar_value instead.
-
- * src/tree-const.cc (TC_REP::matrix_value): If at all possible,
- produce a matrix from the current constant. Otherwise, print an
- error message. Don't abort or jump to the top level.
- (TC_REP::scalar_value, TC_REP::complex_scalar_value,
- TC_REP::vector_value, TC_REP::complex_vector_value,
- TC_REP::complex_matrix_value): Likewise, for appropriate types.
-
- * src/utils.cc (empty_arg): New function.
- * src/f-svd.cc (Fsvd): Use it. Don't call make_numeric; rely on
- value functions to do conversion.
-
- * src/load-save.cc (Fload): Handle -list and -verbose.
-
- Mon Aug 15 09:32:57 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/tc-rep.cc (TC_REP): New define, so we don't have to write
- tree_constant::tree_constant_rep:: everywhere.
- * src/tree-const.h (class tree_constant): Nest tree_constant_rep
- class inside tree_constant class by including tc-rep.h here.
- * src/tc-rep.h: Don't include any other files, delete forward
- class declarations.
-
- * src/tc-rep.h (constant_type): Make private.
-
- * src/parse.y (arg_list): Use tree_constant::magic_colon in
- constructor call, not tree_constant_rep::magic_colon.
- * src/tree-const.h (tree_constant::tree_constant
- (tree_constant::magic_colon)): Convert arg from
- tree_constant_rep::constant_type.
-
- * src/f-svd.cc (Fsvd): Simplify.
-
- * src/tree-expr.cc (any_arg_is_magic_colon): Don't use values from
- tree_constant_rep::constant_type enum.
- (tree_matrix::eval): Likewise.
- * src/tree-misc.cc (tree_parameter_list::define_from_arg_vector,
- tree_if_clause::eval): Likewise.
- * src/tree-cmd.cc (tree_while_command::eval,
- tree_for_command::eval): Likewise.
- * src/symtab.cc (symbol_record_info::symbol_record_info): Likewise.
- * src/f-colloc.cc (Fcolloc): Likewise.
- * src/f-npsol.cc (npsol_objective_function): Likewise.
- * src/f-chol.cc (Fchol): Likewise.
- * src/f-det.cc (Fdet): Likewise.
- * src/f-eig.cc (Feig): Likewise.
- * src/f-expm.cc (Fexpm): Likewise.
- * src/f-fft.cc (Ffft): Likewise.
- * src/f-find.cc (Ffind): Likewise.
- * src/f-hess.cc (Fhess): Likewise.
- * src/f-ifft.cc (Fifft): Likewise.
- * src/f-inv.cc (Finv): Likewise.
- * src/f-log.cc (Flog): Likewise.
- * src/f-lu.cc (Flu): Likewise.
- * src/f-minmax.cc (Fmin, Fmax): Likewise.
- * src/f-qr.cc (Fqr): Likewise.
- * src/f-rand.cc (rand): Likewise.
- * src/f-schur.cc (schur): Likewise.
- * src/f-sort.cc (Fsort): Likewise.
- * src/f-svd.cc (Fsvd): Likewise.
-
- * src/f-lu.cc (Flu): Handle case of nargout == 0 the same as
- nargout == 1.
-
- * src/tree-const.h (force_numeric): Don't return type info.
- * src/tc-rep.cc (tree_matrix::eval): Ditto.
- * src/tree-expr.cc (tree_matrix::eval): Don't use return value
- from tree_constant::force_numeric().
-
- * src/tree-const.h (is_magic_colon): New function.
- * src/tc-rep.h (is_magic_colon): New function.
-
- * src/load-save.cc (ascii_save_type): New function.
- (save_binary_data, save_ascii_data, save_three_d): Don't use
- values from tree_constant_rep::constant_type enum. Fail if write
- is unsuccessful. Fail but don't panic if type is unrecognized.
- (save_vars): Check error state after call to do_save().
-
- * src/tc-rep.cc (isstr): Delete, since we have is_string.
- * src/tree-const.h (isstr): Ditto.
- * src/data.cc (Fisstr): Use is_string(), not isstr().
-
- Sun Aug 14 16:12:10 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/load-save.cc (save_type): Add LS_U_INT, LS_CHAR and LS_FLOAT.
- (get_save_type): Handle them.
- (read_doubles, write_doubles): Likewise.
-
- * src/load-save.cc (get_floating_point_format): New function.
- (read_mat_binary_data, read_binary_file_header): Use it.
-
- * src/lex.l: Combine {D}+\.{D}*{EXPON}?{Im} and {D}+{EXPON}?{Im}
- patterns into the single pattern {D}+\.?{D}*{EXPON}?{Im}
- Likewise, combine {D}+\.{D}*{EXPON}? and {D}+{EXPON}? into the
- single pattern {D}+\.?{D}*{EXPON}?
- ({D}+/\.[\*/\\^']): New pattern to force expressions like `1./m'
- to be parsed the same as `1 ./ m'.
-
- * src/tree-expr.cc (do_lookup): Correctly set script_file_executed.
-
- * src/octave.cc (long_opts): Add --silent as an alias for --quiet,
- and --ignore-init-file as an alias for --norc.
-
- * src/octave.cc (verbose_usage): Exit successfully to conform to
- the GNU coding standards.
-
- Sat Aug 13 11:06:23 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/dirfns.cc (chdir): New alias for cd.
-
- * src/lex.l (")"): Set convert_spaces_to_comma.
-
- * src/*.cc: Use tree_constant::is_string(), not
- tree_constant::is_string_type().
-
- * src/f-balance.cc (Fbalance): Use is_string() rather than
- checking const_type() against tree_constant_rep::string_constant.
-
- * src/tc-rep.h (tree_constant_rep::is_string_type): Delete.
- * src/tree-const.h (tree_constant::is_string_type): Delete.
-
- * src/Makefile.in (%.def : %.cc): Complain if generated file is
- empty.
-
- * configure.in (gcc_version): Set LDFLAGS to -g, not "-g -O".
-
- * src/lex.l (looks_like_bin_op): Also return true for things like
- [ 1+ 2 ].
-
- * src/data.cc (Feye, Fones): With no args, return 1.0.
- (Fzeros): With no args, return 0.0.
-
- * src/Makefile.in (XALL_CXXFLAGS): ALL_CXXFLAGS without
- -fextternal-templates.
- (%.def : %.cc): Use it instead of ALL_CXXFLAGS.
-
- * configure.in: Don't use -O for compiling float-type.c.
-
- * libcruft/misc/Makefile.in (XCC): Use patsubst to delete any -O#
- flags, not just -O.
-
- Fri Aug 12 18:20:35 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- Changes for binary load/save, and reading .mat files:
-
- * src/variables.cc (is_globally_visible): Declare extern, not
- static.
-
- * src/user-prefs.cc (sv_default_save_format): New function.
- * src/user-prefs.h (default_save_format): New field in
- user_preferences struct.
- src/variables.cc (install_builtin_variables): Add DEFVAR for
- default_save_format.
-
- * src/tc-rep.h (tree_constant_rep::is_unknown,
- tree_constant_rep::is_scalar, tree_constant_rep::is_matrix,
- tree_constant_rep::is_complex_scalar,
- tree_constant_rep::is_complex_matrix,
- tree_constant_rep::is_string, tree_constant_rep::is_range):
- New functions.
-
- * src/tree-const.h (tree_constant::is_unknown,
- tree_constant::is_scalar, tree_constant::is_matrix,
- tree_constant::is_complex_scalar, tree_constant::is_complex_matrix,
- tree_constant::is_string, tree_constant::is_range):
- New functions.
-
- * src/tc-rep.cc (tree_constant_rep::save,
- tree_constant_rep::save_three_d): Move to load-save.cc and convert
- to nonmember functions.
-
- * src/tree-const.h (tree_constant::save,
- tree_constant::save_three_d): Delete functions.
-
- * src/tree-plot.cc (save_in_tmp_file): Call nonmember functions
- save_ascii_file and save_three_d instead of tree_constant class
- member functions.
-
- * src/symtab.cc (symbol_table::glob): New function.
- (symbol_table::save, symbol_record::save, symbol_def::save):
- Delete unneeded functions.
-
- * src/load-save.cc: New file, for load/save related functions
- extracted from src/variables.cc and src/tc-rep.cc.
-
- * src/error.cc (verror): Don't print name if it is null.
-
- Tue Aug 9 14:31:43 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/file-io.cc (process_printf_format): Use
- tree_constant::is_scalar_type() and is_string_type() functions
- instead of comparing directly with elements of the
- tree_constant_rep::constant_type enum.
- * src/variables.cc (builtin_real_scalar_variable): Likewise.
- (install_loaded_variable): Likewise.
-
- * src/tree-plot.cc (open_plot_stream): New function.
- (send_to_plot_stream): Use it. Do our own check for replot with
- nothing to plot.
- (tree_plot_command::eval): Open plot stream before doing anything.
-
- * src/data.cc (check_dimensions): When changing negative
- dimensions to zero, handle nr and nc separately.
-
- Mon Aug 8 20:18:17 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * variables.cc (is_valid_fcn): Use lookup_by_name() instead of
- looking in the global symbol table directly.
-
- * variables.cc (load_variable): Move code here.
- * src/tc-rep.cc (tree_constant_rep::load): From here.
- * src/tree-const.h (tree_constant::load): Delete.
-
- * src/tree-plot.cc: Derive classes from tree_print_code and
- implement print_code() member functions.
-
- * src/tree-plot.cc (subplot_list::print): New function.
- (tree_plot_command::print): Use it, and don't crash if plot_list
- is null.
-
- * scripts/axis.m: New function file.
-
- Sun Aug 7 17:06:16 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * configure.in: Check for size of short, int, and long.
-
- * float-type.c: New file.
- * configure.in: Use it to determine the native floating point
- format.
- * Makefile.in: Add it to the list of files to distribute.
- * acconfig.h (IEEE_BIG_ENDIAN, IEEE_LITTLE_ENDIAN, VAX_D_FLOAT,
- VAX_G_FLOAT): Add #undefs.
-
- Sat Aug 6 18:23:47 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * config.guess: Update with new copy from gcc 2.6.0.
-
- * src/*.cc, src/*.h, src/*.l, src/*.y: Eliminate need for tree.h.
- * src/Makefile.in (INCLUDES): Delete it from the list.
-
- * src/token.cc (token::token (double)): Handle saving original
- text of constants for later use by print_code() functions.
- (token::~token): Delete original text.
- (token::text_rep): New function.
- * src/lex.l: Save original text for NUM and IMAG_NUM tokens.
- * src/parse.y: Likewise.
-
- * src/parse.y (yyerror): Use the pager.
-
- * src/tree-base.h (tree_print_code): New base class for trees and
- lists of trees.
- (tree): Derive from tree_print_code.
- * src/tree-base.cc: New file, for tree_print_code functions, and
- for initializing tree_print_code static members.
- * src/tree-const.cc, src/tc-rep.cc, src/tree-plot.cc,
- src/tree-expr.cc, src/tree-cmd.cc (all tree classes):
- Provide print_code() member function.
- * src/tree-misc.cc: Also derive list classes from tree-base.h and
- provide print_code() member functions.
-
- * src/help.cc (Ftype, Fwhich): New functions.
-
- * src/octave-hist (do_history): Send history output through the
- pager.
-
- * src/variables.cc (do_who, Fwhos): New functions.
-
- * src/tree-expr.h (tree_expression::in_parens): Declare here.
- (tree_simple_assignment_expression::in_parens): Not here.
- * src/parse.y (maybe_warn_assign_as_truth_value): Eliminate cast.
-
- * src/variables.cc (load_fcn_from_file, lookup, lookup_by_name):
- New functions, extracted from tree_identifier class.
- (gobble_leading_whitespace, is_function_file, parse_fcn_file):
- Move here from tree-expr.cc.
- * src/help.cc (Fhelp): Use lookup_by_name so that looking up
- symbols is handled in a consistent way.
-
- * tree-expr.cc (tree_unary_expression::oper,
- tree_binary_expression::oper, tree_prefix_expression::oper,
- tree_postfix_expression::oper): New functions.
-
- * tc-rep.cc (valid_scalar_indices): Define here.
- * tc-inlines.cc: Not here.
-
- * src/tree-const.h (tree_constant::stash_original_text): New
- function.
- * src/tc-rep.cc (tree_constant_rep::stash_original_text): Ditto.
- (undo_string_escapes): Ditto.
-
- * src/tc-rep (tree_constant_rep::do_matrix_index): Don't just
- return *this.
- * src/tree-const.h (tree_constant::tree_constant (tree_constant_re&)):
- Delete.
-
- * src/pager.cc (open_diary_file, close_diary_file,
- maybe_write_to_diary_file, Fdiary): New functions.
- (flush_output_to_pager): Call maybe_write_to_diary_file before
- sending output to the screen.
- * src/input.cc (octave_gets): Call maybe_write_to_diary file to
- save the prompt and the user input.
- * src/error.cc (verror): Use C++ streams, not C I/O functions.
- Call maybe_write_to_diary file to save error messges too.
- * src/octave.cc (clean_up_and_exit): Close diary file here.
-
- * src/octave.cc (main): Initialize pager first.
-
- * src/input.cc (get_user_input): Return empty matrix for no input.
-
- * src/tree-plot.cc: Include readline/tilde.h instead of declaring
- tilde_expand() directly.
- * src/utils.cc: Likewise.
-
- * src/tree-plot.cc (tree_plot_command::print_code): New function.
- * src/tree-const.h (tree_constant::print_code): Likewise.
-
- * src/tree-expr.h (tree_simple_assignment_expression::ans_ass):
- New data member to flag assignments to ans.
- * src/tree-expr.cc (tree_identifier::eval): Set it when
- constructing assignments to ans.
- * src/parse.y (maybe_convert_to_ans_assign): Likewise.
-
- * src/tree-expr.h (tree_simple_assignment_expression::preserve):
- New data member to allow preserving left hand side args that
- shouldn't be deleted in some cases (ugh).
- * src/tree-expr.cc (tree_multi_assignment_expression::eval):
- Create assignment with preserve flag set.
-
- Wed Aug 3 14:27:25 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- Yet another massive reorganization of sources, once again
- hopefully for the better. A fair amount of work is not detailed
- here, but these are the major points. The grammar file and the
- derivation of the tree classes are somewhat cleaner now.
-
- * src/parse.y: Cope with changes to derivation scheme.
-
- * src/tree-misc.cc: New file.
- (tree_statement, tree_global): New classes.
- (tree_global_init_list): New class, derived from SLList for the
- list of expressions in a global command.
- * src/tree-cmd.cc (tree_global_command): Use tree_global_init_list.
-
- * src/tree-misc.cc (tree_argument_list): Move here from
- tree-expr.cc, and derive from SLList instead of tree.
- (tree_parameter_list): Likewise.
- (tree_return_list): Likewise.
-
- * src/tree-cmd.cc (tree_command_list): Delete class.
- * src/tree-misc.cc (tree_statement_list): New class for keeping a
- list of commands or expressions to evaluate. Derive from SLList,
- not tree.
-
- * src/tree-plot.cc (subplot_list, plot_limits, plot_range,
- subplot_using, subplot_style): Rename from tree_*, and
- don't derive from tree class.
-
- * src/tree-plot.cc: Eliminate eval member function for classes not
- derived from tree class.
-
- * src/tree-plot.cc, src/tree-cmd.cc: For classes derived from
- tree-command, the eval() member function is now void eval (void).
-
- * src/tree-base.h (tree::tree): New constructor, to initialize the
- line and column info. For all classes that are derived from the
- tree class, use it instead of manipulating the data directly.
- (line_num, column_num): Make private.
-
- * src/tree-expr.cc (tree_simple_assignment_expression::preserve):
- New data member, set in constructors and used by the destructor
- when the left-hand side of the expression should not be deleted
- (as for some temporary assignments not constructed in the parser).
-
- * src/tree-expr.h (tree_expression::type) Rename and move here from
- tree-base.h. Change all uses.
- (tree_matrix::dir): Likewise. Change all uses.
-
- * src/utils.cc (make_argv): Stash function name in argv[0].
-
- * src/octave.cc (global_command): Declare as tree_statement_list,
- not tree.
-
- * src/parse.y (make_binary_op, make_unary_op, make_prefix_op,
- make_postfix_op): New functions.
-
- * src/parse.y (GLOBAL): Make it a tok_val type.
- * src/lex.l (is_keyword): Give GLOBAL a value.
-
- Mon Aug 1 22:37:22 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/lex.l (grab_help_text): Unput the last character read.
-
- Sun Jul 31 21:17:07 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/pr-output.cc (set_format (double, int&)): Avoid calling
- log10 for Inf and NaN.
-
- Fri Jul 29 16:08:32 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/octave.cc (reading_startup_message_printed): New flag.
- (parse_and_execute): New arg, verbose. If true, print name of
- file as it is read.
- (execute_startup_files): Don't print message if
- inhibit_startup_message is true.
- (main): Move startup message before reading init files.
-
- Thu Jul 28 00:25:42 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * liboctave/Makefile.in (MATRIX_INC): Delete CmplxColVec.h from list.
-
- * src/symtab.cc (symbol_table::rename): New function.
- * src/parse.y (func_def2): Use it instead of tree_identifier::rename.
- * src/tree-expr.cc (tree_identifier::rename): Delete unused function.
-
- * src/tree-expr.cc (tree_identifier::load_fcn_from_file): New function.
- (tree_identifier::do_lookup): Use it instead of parse_fcn_file.
- * src/variables.cc (is_valid_function): Ditto.
- * src/help.cc (Fhelp): Ditto.
-
- * src/utils.cc (oct_file_in_path): New function.
-
- Wed Jul 27 08:59:32 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/tree-expr.cc (tree_identifier::parse_fcn_file): Combine
- three functions into one.
-
- * src/utils.cc: Delete uneeded declaration of ioctl().
- * src/sysdep.cc: Likewise.
-
- * install.sh: New file, from autoconf distribution.
- * Makefile.in (DISTFILES): Distribute it.
-
- Tue Jul 26 16:08:58 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * scripts/Makefile.in (DISTDIRS): New variable, for directories
- below scripts to distribute.
- (dist): Handle distributing whole directories named by $(DISTDIRS).
- (local-dist): Ditto.
-
- Mon Jul 25 12:57:09 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * liboctave/CmplxQRP.cc: Provide declaration for zungqr.
- * liboctave/dbleQRP.cc: Provide declaration for dorgqr.
-
- * src/Makefile.in (dist): Also remove y.output and defaults.h.
- (local-dist): Ditto.
- (realclean): Ditto.
-
- * src/oct-obj.h (Octave_object::Octave_object (int)): Make
- private, to avoid problems with different meanings of
- Octave_object (int) and Octave_object (double) constructors.
-
- * scripts/amr-image: New files for image processing from Tony
- Richardson. These are not in the default octave LOADPATH yet.
- See the README file in the amr-image directory for more info on
- how to use them.
-
- * src/octave.cc (Fshell_cmd): Restore accidentally deleted
- function.
-
- * scripts/conv-amr.m, scripts/deconv-amr.m, scripts/roots-amr.m,
- scripts/poly-amr.m, scripts/roots-tuwien.m, scripts/conv-tuwien.m,
- scripts/deconv-tuwien.m, scripts/poly-tuwien.m:
- New files.
- XXX FIXME XXX -- For each of these functions, either one of the
- versions will need to be selected, or they will need to be merged
- before the next release.
-
- * scripts/null.m, scripts/orth.m, scripts/fft2.m, scripts/ifft2.m,
- scripts/filter.m, scripts/compan.m, scripts/polyderiv.m,
- scripts/polyinteg.m, scripts/polyreduce.m, scripts/polyval.m,
- scripts/polyvalm.m, scripts/postpad.m, scripts/prepad.m,
- scripts/residue.m, scripts/sinc.m, scripts/freqz.m,
- scripts/complement.m, scripts/intersection.m,
- scripts/create_set.m, scripts/union.m:
- New files.
-
- * scripts/hilb.m: Eliminate inner loop, for speed. From
- romolo@URSAMAJOR.ENG.UNIPR.IT (Romolo Manfredini).
-
- Sun Jul 24 22:08:48 1994 Castor Fu (castor@drizzle.stanford.edu)
-
- * libcruft/ranlib/genf.f (genf): Use 1.2E-38 instead of 1.0E-38
- when checking to see if generated numbers will cause overflow.
- This helps DEC's f77 compiler on the Alpha, which refuses to
- generate denormalized constants.
- * libcruft/ranlib/gennf.f (gennf): Likewise.
-
- Fri Jul 22 10:27:00 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/Makefile.in (DEF_FILES): Depend on defun header files too.
-
- Thu Jul 21 14:40:30 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * liboctave/NLFunc.h (nonlinear_fcn): Declare as pointer to
- function taking const ColumnVector arg.
- (jacobian_fcn): Ditto.
-
- * src/defun-int.h (DEFINE_ARGV): Declare and define save_argc and
- save_argv for functions that mess with argc and argv directly.
- (DELETE_ARGV): Use save_argc and save_argv instead of argc and argv.
-
- * src/f-lsode.cc (ODE_OPTIONS): Add const qualifier for string elts.
- (print_lsode_option_list): Declare keyword as const char *.
- * src/f-npsol.cc, src/f-qpsol.cc, src/f-dassl.cc, src/f-quad.cc:
- Likewise, for corresponding structs and functions.
-
- * liboctave/dbleSVD.h (SVD::type): New enum, for choosing type of
- factorization.
- * liboctave/CmplxSVD.cc (SVD::SVD): Add new optional arg for type.
- (init): Handle case of type == SVD::economy.
- * liboctave/dbleSVD.cc: Likewise.
-
- QR changes from R. Bruce Tenison (btenison@eng.auburn.edu) adapted
- for new way of defining builtin functions:
-
- * doc/linalg.texi: Changed QR description to include QRP
- factorization
-
- * src/f-qr.cc (Fqr): Handle permuted and economy QR
- factorizations. Handle case of 1 output arg.
-
- * liboctave/Makefile.in (MATRIX_INC, MATRIX_SRC): Add new QRP files.
-
- * liboctave/dbleQRP.h, liboctave/dbleQRP.cc, liboctave/CmplxQRP.h,
- liboctave/CmplxQRP.h: New files, for QR with pivoting.
-
- * liboctave/dbleQR.h (QR::type): New enum, for choosing type of
- factorization.
- * liboctave/CmplxQR.cc (QR): Add new optional arg for type.
- Handle case of type == SVD::economy and SVD::raw.
- * liboctave/dbleQR.cc (QR): Likewise.
-
- * libcruft/lapack/dgeqpf.f: New file.
- * libcruft/lapack/zgeqpf.f: Ditto.
-
- Wed Jul 20 13:12:55 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * liboctave/*.cc, liboctave/*.h: Various cleanups to remove use of
- NULL. Only mention default argument values in function
- declarations, not in their definitions (required for gcc 2.6.x).
-
- * configure.in: If configuring for alpha-dec-osf, check for sgtty
- first. If not found, go ahead and check for Posix terminal driver.
-
- Tue Jul 19 09:25:45 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * liboctave/mx-defs.h (FILE): Don't declare as struct FILE just to
- avoid including stdio.h.
- * liboctave/dMatrix.cc: Do include stdio.h here.
-
- * liboctave matrix classes: Declare operator>> correctly, and
- return istream object. Get friend stuff right.
-
- * liboctave/DAE.cc (DAE::integrate): To see if the user provided a
- Jacobian function, call DAEFunc::jacobian_function ().
-
- * liboctave/DAE.cc (user_fun, user_jac): Qualify with class name.
- * liboctave/ODE.cc (user_fun, user_jac): Ditto.
-
- * liboctave/DAFunc.h (DAEJac): Declare inside class.
- (DAERHSFunc, DAEJacFunc): Define types inside class.
- * liboctave/ODEFunc.h (ODERHSFunc, ODEJacFunc) Likewise.
-
- Massive reorganization of sources, hopefully for the better.
- A fair amount of work is not detailed here, but these are the
- major points...
-
- * src/symtab.h (symbol_def::TYPE) Add new elements for recording
- whether a symbol is a text function or mapper function.
- * src/symtab.cc (symbol_def::is_text_function,
- symbol_record::is_text_function, symbol_def::is_mapper_function,
- symbol_record::is_mapper_function): New functions.
- Modify existing is_* functions to cope with these changes.
- (symbol_def::symbol_def (tree_builtin*, unsigned)): New 2nd arg.
- (symbol_def::symbol_def (tree_function*, unsigned)): Ditto
- (symbol_def::define (tree_builtin*, unsigned)): Ditto.
- (symbol_def::define (tree_function*, unsigned)): Ditto.
- * src/variables.cc (is_text_function_name): Use the new symbol
- table functions, since we can no longer tell by looking in a
- simple list.
-
- * tree-expr.cc (class tree_builtin): Text functions are no longer
- handled as a special case here.
-
- * src/sysdep.cc (octave_ieee_init): Special case Alpha for
- initializing Inf and NaN.
-
- * src/tc-rep.cc: Use const in more places.
-
- * src/data.cc src/timefns.cc, src/dirfns.cc, src/dirfns.h: New
- files.
-
- * src/*.cc, src/*.y, src/*.l, src/*.h: Various cleanups to remove
- use of NULL. Only mention default argument values in function
- declarations, not in their definitions (required for gcc 2.6.x).
-
- * src/g-builtins.cc, src/g-builtins.h, src/t-builtins.cc
- src/t-builtins.h: Removed. Functions moved to various other
- files, where they more logically belong.
- * src/utils.cc: Likewise, various functions moved to other files,
- where they more logically belong.
- * src/mappers.cc (install_mapper_functions): Declare all mapper
- functions here with the new DEFUN_MAPPER() macro.
- * src/variables.cc (install_builtin_variables): Declare all
- builtin variables here, with the new DEFVAR() macro.
-
- * src/f-*.h: Deleted.
- * src/f-*.cc: Delete #ifdef WITH_DLD code and use DEFUN_DLD()
- instead to declare builtin functions that will be dynamically
- loaded. Give all functions a uniform return type and argument
- list.
-
- * src/mkdefs, src/mkbuiltins: New scripts.
- * src/Makefile.in: Use them to generate builtins.cc automatically
- from source files that use DEFUN.
-
- * src/defun.h, src/defun-dld.h, src/defun-int.h: New files, to
- define DEFUN() and DEFVAR() macros to make it possible to define
- functions together with their help strings in one place. The code
- to install functions in the symbol table is now generated by
- mkbuiltins.
-
- * configure.in (LIBOCTDLD): New variable to define.
- Only call AC_VERBOSE() for DYNAMIC_LD_OBJ, DLD_DIR, LIBDLD,
- LIBOCTDLD, and LD_STATIC_FLAG if they are set.
- * move-if-change: Move here, from src/move-if-change.
- * Makeconf.in (%.d: %.cc): Echo simple message instead of the
- commands actually executed.
- (%.d: %.c): Likewise.
-
- * src/unwind-prot.h: Include stddef.h, for size_t.
-
- Tue Jul 12 12:51:25 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/f-eval.cc, src/f-fill.cc, src/f-find.cc, src/f-input.cc,
- src/f-minmax.cc, src/f-log.cc, src/f-sort.cc, src/f-eval.h,
- src/f-fill.h, src/f-find.h, src/f-input.h, src/f-log.h,
- src/f-minmax.h, src/f-sort.h: New files, for functions extracted
- from tree-const.cc.
- * src/Makefile.in: Add them to the list of INCLUDES, SOURCES, and
- OBJECTS.
-
- * src/f-*.cc: Clean up things a bit by letting the compiler
- generate the tree_constant constructor calls.
-
- * src/unwind-prot.h: Include stddef.h, for size_t.
-
- * src/oct-obj.h (Octave_object (int, const tree_constant&)):
- New constructor form.
- * src/tree-const.cc (find_nonzero_elem_idx): Rewrite to handle 2
- and 3 return values.
-
- * src/g-builtins.cc (builtin_find): Check nargout too.
- * src/builtins.cc (general_functions): Fix help message for find.
-
- Mon Jul 11 13:36:15 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/tc-rep.cc (tree_constant_rep::convert_to_row_or_column_vector):
- If already have a row or column vector, return without doing
- anything.
-
- Sat Jul 9 01:02:51 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/oct-obj.h (Octave_object): Make it a class, not just a
- typedef.
-
- * src/tree-expr.h (tree_function::curr_va_arg_number): Rename from
- curr_arg_number.
- (tree_function::varargs_ok): Delete unused member variable.
- * src/tree-expr.cc (tree_function::octave_va_arg): Increment
- cur_va_arg_number before indexing args_passed.
- (tree_function::octave_va_start): Set curr_va_arg_number to
- num_args_passed, not num_args_passed + 1.
- (tree_function::takes_varargs): Call param_list::takes_varargs,
- don't just return varargs_ok.
- (tree_function::define_param_list): If param_list is not NULL, set
- num_named_args and curr_va_arg_number even if function doesn't
- take varargs.
-
- * src/tree-expr.cc (tree_identifier::eval (int)): Only pass empty
- arg list if evaluating a constant.
- (tree_function::eval (int)): Always pass least one arg.
-
- * Makeconf.in (TMP_IF_1): Add `-I../src'.
- (TMP_IF_2): Add `-I$(TOPDIR)/src' and `-I$(top_srcdir)/src'.
-
- * src/t-builtins.h, src/variables.h, src/file-io.h, src/f-syl.h,
- src/f-svd.h, src/f-schur.h, src/f-rand.h, src/f-qzval.h,
- src/f-quad.h, src/f-qpsol.h, src/f-npsol.h, src/f-lsode.h,
- src/f-lpsolve.h, src/f-hess.h, src/f-givens.h, src/f-fsqp.h,
- src/f-fsolve.h, src/f-eig.h, src/f-dassl.h, src/f-colloc.h,
- src/f-balance.h, src/dynamic-ld.h, src/builtins.cc,
- src/tree-const.cc, src/file-io.cc, src/f-syl.cc, src/f-svd.cc,
- src/f-schur.cc, src/f-rand.cc, src/f-qzval.cc, src/f-qr.cc,
- src/f-qpsol.cc, src/f-lu.cc, src/f-lpsolve.cc, src/f-inv.cc,
- src/f-ifft.cc, src/f-hess.cc, src/f-givens.cc, src/f-fsqp.cc,
- src/f-fft.cc, src/f-expm.cc, src/f-eig.cc, src/f-det.cc,
- src/f-colloc.cc, src/f-chol.cc, src/f-balance.cc,
- src/dynamic-ld.cc, src/f-dassl.cc, src/f-fsolve.cc,
- src/f-lsode.cc, src/f-npsol.cc, src/f-quad.cc, src/tree-expr.h,
- src/tc-rep.cc, src/tc-inlines.cc, src/tc-rep.h, src/tree-const.h,
- src/g-builtins.cc, src/g-builtins.h, src/tree-expr.cc,
- src/variables.cc: Delete nargin in favor of using args.length().
-
- * configure.in: Check for struct exception in math.h.
- * src/sysdep.cc (matherr): New function.
-
- Fri Jul 8 15:31:53 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/tc-rep.cc: Include arith-ops.h.
- (tree_constant_rep::do_scalar_index): Use `invalid', not `illegal'
- in messages.
-
- * src/oct-obj.h: Protect contents from multiple inclusion.
-
- * src/tree-const.h, src/tree-expr.h: Don't include Array.h.
-
- * src/parse.y (param_list): Allow ELLIPSIS by itself.
- * src/tree-expr.cc (tree_identifier::mark_varargs_only,
- tree_identifier::vararg_only): New functions.
- (tree_function::eval): Only call define_from_arg_vector if
- param_list is non-null and not marked as varargs_only.
-
- * src/f-balance.h, src/f-chol.h, src/f-colloc.h, src/f-dassl.h,
- src/f-eig.h, src/f-fsolve.h, src/f-fsqp.h, src/f-givens.h,
- src/f-hess.h, src/f-lpsolve.h, src/f-lsode.h, src/f-lu.h,
- src/f-npsol.h, src/f-qpsol.h, src/f-qr.h, src/f-quad.h,
- src/f-qzval.h, src/f-rand.h, src/f-schur.h, src/f-svd.h,
- src/f-syl.h: Include oct-obj.h, not tree-const.h to get
- declaration of Octave_object.
-
- * src/f-givens.cc (givens): Handle case of nargout == 0.
- Use `invalid', not `illegal' in messages.
- * src/f-balance.cc (balance): Likewise.
-
- * src/f-balance.cc (balance): Print warning about two output
- arguments for complex-valued case too.
-
- * src/tc-rep.cc: Include arith-ops.h.
-
- Thu Jul 7 20:54:12 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/parse.y (identifier): Add missing semicolon.
- (param_list): Ditto.
-
- * src/f-svd.cc (svd): Handle nargout == 0 the same as nargout == 1.
- * src/f-schur.cc (schur): Likewise.
- * src/f-hess.cc (hess): Likewise.
- * src/f-eig.cc (eig): Likewise.
- * src/f-syl.cc (syl): Likewise.
- * src/f-qzval.cc (qzvalue): Likewise.
- * src/f-npsol.cc (npsol): Likewise.
- * src/f-qpsol.cc (qpsol): Likewise.
- * src/f-givens.cc (givens): Likewise.
- * src/f-fsolve.cc (fsolve): Likewise.
- * src/f-balance.cc (balance): Likewise.
- * src/file-io.cc (process_scanf_format): Likewise.
- * src/g-builtins.cc (builtin_balance, builtin_chol, builtin_dassl,
- builtin_eig, builtin_fsolve, builtin_fsqp, builtin_lsode,
- builtin_max, builtin_min, builtin_npsol, builtin_qpsol,
- builtin_quad, builtin_rand, builtin_size, builtin_sort,
- builtin_svd, builtin_schur, builtin_syl, builtin_givens,
- builtin_hess): Likewise.
- * src/tree-const.cc (vector_of_empties, column_max, column_min):
- Likewise.
-
- * src/variables.h, src/symtab.h: Include builtins.h for typedefs.
-
- * src/tree-expr.cc(tree_multi_assignment_expression::eval): Rework
- handling of undefined values returned from functions.
-
- * src/tree-expr.cc (tree_identifier::is_defined): New function.
- (tree_parameter_list::is_defined): New function.
- (tree_parameter_list::convert_to_const_vector): Use it to avoid
- evaluating undefined objects.
-
- * src/f-balance.cc, src/f-eig.h, src/f-hess.cc, src/f-lu.h,
- src/f-rand.cc, src/f-balance.h, src/f-expm.cc, src/f-hess.h,
- src/f-npsol.cc, src/f-rand.h, src/f-chol.cc, src/f-expm.h,
- src/f-ifft.cc, src/f-npsol.h, src/f-schur.cc, src/f-chol.h,
- src/f-fft.cc, src/f-ifft.h, src/f-qpsol.cc, src/f-schur.h,
- src/f-colloc.cc, src/f-fft.h, src/f-inv.cc, src/f-qpsol.h,
- src/f-svd.cc, src/f-colloc.h, src/f-fsolve.cc, src/f-inv.h,
- src/f-qr.cc, src/f-svd.h, src/f-dassl.cc, src/f-fsolve.h,
- src/f-lpsolve.cc, src/f-qr.h, src/f-syl.cc, src/f-dassl.h,
- src/f-fsqp.cc, src/f-lpsolve.h, src/f-quad.cc, src/f-syl.h,
- src/f-det.cc, src/f-fsqp.h, src/f-lsode.cc, src/f-quad.h,
- src/f-det.h, src/f-givens.cc, src/f-lsode.h, src/f-qzval.cc,
- src/f-eig.cc, src/f-givens.h, src/f-lu.cc, src/f-qzval.h,
- src/dynamic-ld.cc, src/dynamic-ld.h, src/file-io.cc,
- src/file-io.h, src/t-biultins.cc, src/t-builtins.h,
- src/tree-expr.cc, src/tree-expr.h, src/tree-const.cc,
- src/tree-const.h, src/tc-inlines.cc, src/tc-rep.cc, src/tc-rep.h,
- src/g-builtins.cc, src/g-builtins.h:
- Cope with inital round of Octave_object changes.
-
- * src/oct-obj.h: New file for Octave_object typedef.
- * src/dynamic-ld.h, src/file-io.h, src/tree-const.h,
- src/tree-expr.h: Include it.
- * src/Makefile.in (INCLUDES): Add it to the list.
-
- Wed Jul 6 09:28:28 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * libocsrc/tree-const.h:
-
- * src/parse.y (maybe_convert_to_ans_assign,
- maybe_warn_assign_as_truth_value): Pass tree_expression*, not tree*.
- (ans_expression, expression, simple_expr, simple_expr1, title):
- Declare as tree_expression_type, not tree_type.
- (opt_list): Add missing semicolon.
-
- * src/tc-rep.h, src/tc-rep.cc: New files, extracted from
- tree-const.h and tree-const.cc, for the tree_constant_rep class.
- Leave most friend functions behind, in tree-const.h.
- Don't declare do_binary_op or do_unary_op as friends.
-
- * src/lex.l: Include tree-plot.h and tree-const.h.
-
- * src/variables.cc (takes_correct_nargs): Pass tree_fvc* not tree*.
- * src/variables.cc (is_valid_function): Return tree_fvc* not tree*.
- Change all callers.
-
- * src/symtab.h, symtab.cc: Change declaration of symbol definition to
- be tree_fvc* instead of tree*. Change all callers.
-
- * src/f-dassl.cc (dassl_fcn): Declare as tree_fvc*, not tree*.
- * src/f-quad.cc (quad_fcn): Likewise.
- * src/f-lsode.cc (lsode_fcn): Likewise.
- * src/f-fsolve.cc (fsolve_fcn): Likewise.
- * src/f-npsol.cc (npsol_fcn, npsol_constraints): Likewise.
-
- * src/tree-plot.cc: All operations are now on tree_expression types,
- not tree types.
-
- * src/tree-expr.h (tree_matrix): Derive from tree_expression, not tree.
-
- * src/tree-expr.h (tree_builtin, tree_function, tree_identifier):
- Derive from tree_fvc, not tree.
- * src/tree-const.h (class tree_constant): Likewise.
-
- * src/tree-expr.h (is_identifier, is_index_expression,
- is_assignment_expression, is_prefix_expression,
- mark_for_possible_ans_assign, eval (with args)): Declare in
- tree_expression class, not tree class.
-
- * src/tree-expr.h (tree_fvc): New class, derived from
- tree_expression, to provide a connection between functions,
- variables, and constants.
- (is_constant, assign, name, bump_value, max_expected_args,
- fcn_file_name, time_parsed, is_system_fcn_file, save): Declare
- in tree_fvc class, not in tree class.
-
- * src/tree.h: Simply include tree-expr.h and tree-cmd.h.
- * src/tree-expr.h, tree-expr.cc: New files, extracted from tree.h
- and tree.cc for classes derived from tree_expression, plus some
- helper classes.
- * src/tree-cmd.h, tree-cmd.cc: Likewise, for classes derived from
- tree_command.
-
- * src/tree.cc (eval (int, int)): Merge with eval (int,
- tree_constant*, int, int) by rearranging order of args and using
- default arg values. Change all callers.
-
- Tue Jul 5 14:33:33 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * doc/Makefile.in (refcard.dvi): Run TeX on $(srcdir)/refcard.tex,
- not just refcard.tex.
- (refcard-local.tex): Likewise, for the local version.
-
- * src/tree-const.cc (tree_constant_rep::do_index): Check for empty
- matrix here.
- (tree_constant_rep::do_vector_index) Not here.
-
- Thu Jun 30 09:41:03 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/g-builtins.cc (builtin_shell_command): Only take one
- argument and return [status, output].
- * src/procstream.cc (procstreambase::close): Return process exit
- status.
-
- * src/tree.cc (tree_builtin::eval (int)): Handle new style of
- calling text functions.
- (tree_builtin::eval (int, int): Likewise.
- (tree_builtin::eval (tree_constant*, int, int, int): Likewise.
- (tree_identifier::eval (tree_constant*, int, int, int)): Don't
- count the output arguments that we create automatically (ans) when
- figuring nargout.
- (tree_identifier::eval (int)): Likewise.
-
- * src/tree-const.cc: Delete text-style eval() functions.
- * src/tree.cc: Ditto.
-
- * src/tree-const.h: Change typedef of Text_fcn to return a pointer
- to a tree_constant, and to include the number of output arguments
- in the parameter list.
- * src/t-builtins.h: Change declarations of all builtin text-style
- functions to match.
- * src/t-builtins.cc: Change definitions too.
-
- * src/parse.y (word_list): Build an argument_list, not a word_list.
- (word_list_command): Create an index_expression, not a
- word_list_command.
- * src/tree.cc (tree_word_list): Delete unneeded class.
- (tree_word_list_command): Likewise.
-
- * src/tc-extras.cc (get_dimensions): For one-arg version, expect
- 2-element vector or scalar specifying dimensions. Don't simply
- use the dimensions of a matrix arg.
-
- Wed Jun 29 09:52:15 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/f-det.cc (determinant): Return 0 if matrix is singular to
- machine precision.
-
- * liboctave/dMatrix.cc (Matrix::inverse): Declare rcond as
- volatile to prevent optimization of the expression
- `rcond + 1.0 == 1.0'.
- (Matrix::determinant): Ditto.
- (Matrix::solve): Ditto.
- * liboctave/CMatrix.cc (ComplexMatrix::inverse): Ditto.
- (ComplexMatrix::determinant): Ditto.
- (ComplexMatrix::solve): Ditto.
-
- Tue Jun 28 10:53:31 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/utils.cc (default_info_file): Add directory separator when
- appending "octave.info".
-
- * src/tree-plot.cc (plot_line_count): Make global.
- * src/utils.cc (send_to_plot_stream): If the plot stream is not
- open, set plot_line_count to zero.
- (close_plot_stream): Likewise, set it to zero when closing the
- stream.
-
- * src/parse.y (plot_command): Allow replot without args.
-
- * src/tree-plot.cc (clear_before_plotting): New global variable.
- (tree_plot_command::eval): Use it to handle hold on/off.
- * src/t-builtins.cc (builtin_hold): New function.
- * src/builtins.cc (text_functions): Add it to the list.
-
- Fri Jun 24 11:08:36 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/token.h (plot_tok_type): Add new field, replot.
- * src/lex.l (is_keyword): Handle replot here.
- * src/parse.y (plot_command): And here.
- * src/g-builtins.cc (builtin_replot): Not here.
- * src/builtins.cc (general_functions): Or here.
-
- Tue Jun 21 10:47:08 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/g-builtins.cc (builtin_kbhit): New function.
- * src/builtins.cc (general_functions): Add it to the list.
-
- * src/tree-const.cc (tree_constant_rep::rows (void)): For strings
- and ranges, only return 1 if the string or range is not empty.
-
- Thu Jun 9 20:42:06 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/tree.cc (tree_builtin::eval (int)): Delete ancient code that
- eval()'d the return value.
- (tree_builtin::eval (int, int)): Likewise.
- (tree_builtin::eval (int, char**, int)): Likewise.
- (tree_builtin::eval (tree_constant*, int, int, int)): Likewise.
- (tree_function::eval (tree_constant*, int, int, int)): Likewise.
- (tree_colon_expression::eval (int)): Likewise.
- (tree_unary_expression::eval (int)): Likewise.
- (tree_binary_expression::eval (int)): Likewise.
-
- Mon Jun 6 03:48:32 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/file-io.cc (fread_internal): Make it work.
- (fwrite_internal): Likewise.
- (num_items_remaining): Renamed from get_whats_left(). Don't pass
- nr/nc as last arg, simply return the number of items of size that
- are left to read.
- (get_size_conv): Delete unnecessary function.
- * liboctave/dMatrix.cc (Matrix::read): Make it work.
- (Matrix::write): Likewise.
- * liboctave/dMatrix.h (conversion): Delete unecessary enum.
-
- * src/sysdep.cc: Include <math.h>.
- (octave_ieee_init): Cast return value of infinity() and
- quiet_nan() to double.
-
- Sun Jun 5 14:35:32 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * Makeconf.in (getversion): Get everything between the double
- quotes, not just numbers and periods.
-
- * src/tree-const.cc (tree_constant_rep::do_scalar_assignment): Correct
- typo in last change.
-
- * src/parse.y: Include tree-plot.h and tree-const.h.
-
- * src/Makefile.in (SOURCES): Delete tc-assign.cc and tc-index.cc
- (INCLUDES): Add tree-plot.h.
-
- * src/tree-plot.h: New file. Declare plotting classes here.
- * src/tree.h: Not here.
-
- * src/tc-index.cc, tc-assign.cc: Delete unnecessary files.
-
- * src/tc-extras.cc: Include EIG.h
-
- * src/tree-const.cc (tree_constant_rep::tree_constant_rep (RowVector&,
- int)): Provide default value for int arg.
- (tree_constant_rep::tree_constant_rep (ColumnwVector&, int)): Ditto
- (tree_constant_rep::tree_constant_rep (ComplexRowVector&, int)): Ditto
- (tree_constant_rep::tree_constant_rep (ComplexColumnwVector&, int)):
- Ditto.
- (tree_constant_rep::tree_constant_rep (RowVector&)): Delete, now
- handled by corresponding two arg constructor.
- (tree_constant_rep::tree_constant_rep (ColumnwVector&)): Likewise.
- (tree_constant_rep::tree_constant_rep (ComplexRowVector&)): Likewise.
- (tree_constant_rep::tree_constant_rep (ComplexColumnwVector&)):
- Likewise.
-
- * src/tree-const.cc: Add pragma implementation. Merge in contents of
- tc-index.cc and tc-assign.cc so that the pragma interface/pragma
- implementation hack will do some good.
- * src/tree-const.h: Include mx-base.h, not Matrix.h. Add pragma
- interface. Delete unnecessary constructor declarations.
-
- * src/unwind-prot.h, src/unwind-prot.cc (unwind_elem_tag): Rename
- from _tag.
- (unwind_elem_fptr): Rename from _fptr.
- (unwind_elem_ptr): Rename from _ptr.
-
- * NLConst.cc (NLConst::NLConst): Pass vector args by reference.
-
- * src/procstream.h, src/procstream.cc, src/idx-vector.h,
- src/idx-vector.cc, src/token.h, src/token.cc, src/unwind-prot.h,
- src/unwind-prot.cc, src/symtab.h, src/symtab.cc, src/tree.h,
- src/tree.cc, liboctave/Range.h, liboctave/Range.cc,
- liboctave/QLD.h, liboctave/QLD.cc, liboctave/ODE.h,
- liboctave/ODE.cc, liboctave/Quad.h, liboctave/Quad.cc,
- liboctave/Objective.h, liboctave/Objective.cc, liboctave/NPSOL.h,
- liboctave/NPSOl.cc, liboctave/NLFunc.h, liboctave/NLFunc.cc,
- liboctave/Bounds.h, liboctave/Bounds.cc, liboctave/QP.h,
- liboctave/QP.cc, liboctave/NLConst.cc, liboctave/LinConst.cc,
- liboctave/LPsolve.cc, liboctave/LP.cc, liboctave/FSQP.cc,
- liboctave/FEGrid.cc, liboctave/QPSOL.cc, liboctave/CollocWt.cc,
- liboctave/DAEFunc.cc, liboctave/DAEFunc.h, liboctave/DAE.cc,
- liboctave/NLEqn.cc, liboctave/ODEFunc.cc, liboctave/QPSOL.h,
- liboctave/ODEFunc.h, liboctave/NLP.h, liboctave/NLEqn.h,
- liboctave/NLConst.h, liboctave/LinConst.h, liboctave/LPsolve.h,
- liboctave/LP.h, liboctave/FSQP.h, liboctave/FEGrid.h,
- liboctave/DAE.h, liboctave/CollocWt.h:
- Add pragma interface/implementation.
-
- * src/f-svd.cc, src/f-schur.cc, src/f-qr.cc, src/f-lu.cc,
- src/f-hess.cc, src/f-det.cc, src/f-chol.cc, src/f-qzval.cc,
- src/f-inv.cc, src/f-ifft.cc, src/f-givens.cc, src/f-fft.cc,
- src/f-balance.cc, src/f-expm.cc, src/f-fsqp.cc, src/f-syl.cc,
- src/xdiv.cc, src/xpow.cc, src/idx-vector.cc, src/pr-output.cc,
- src/unwind-prot.cc, src/file-io.cc, liboctave/Bounds.h,
- liboctave/CollocWt.h, liboctave/DAE.h, liboctave/EIG.h,
- liboctave/FEGrid.h, liboctave/LP.h, liboctave/LPsolve.cc,
- liboctave/LinConst.h, liboctave/NLEqn.cc, liboctave/NLEqn.h,
- liboctave/NLP.h, liboctave/NPSOL.cc, liboctave/NPSOL.h,
- liboctave/ODE.h, liboctave/Objective.h, liboctave/QLD.cc,
- liboctave/QP.h, liboctave/QPSOL.h, liboctave/Quad.h:
- Instead of including Matrix.h, only include the individual
- matrix/vector/etc. header files that are needed.
-
- * liboctave/QLD.cc, liboctave/ODE.cc, liboctave/NLFunc.cc,
- liboctave/DAEFunc.cc, liboctave/DAE.cc, liboctave/NLEqn.cc,
- liboctave/ODEFunc.cc:
- Use 0, not NULL.
-
- * liboctave/mx-inlines.cc: Include Complex.h.
-
- * liboctave/mx-kludge.h: Don't enclose contents in extern "C++".
-
- * liboctave/Matrix.h: Simply include mx-base.h and mx-ext.h.
-
- * liboctave/mx-base.h: New file, includes all basic matrix/vector
- header files.
- * liboctave/mx-ext.h: New file, includes all extra matrix/vector
- related header files.
- * liboctave/mx-defs.h: New file, for matrix/vector related
- defines. Also provides forward declarations for all matrix/vector
- classes.
-
- * liboctave/Makefile.in: Cope with new files.
-
- * liboctave/CmplxAEPBAL.cc, liboctave/CmplxDET.h,
- liboctave/CmplxQR.cc, liboctave/CmplxSVD.h, liboctave/dbleDET.cc,
- liboctave/dbleHESS.h, liboctave/dbleSCHUR.cc,
- liboctave/CmplxAEPBAL.h, liboctave/CmplxHESS.cc,
- liboctave/CmplxQR.h, liboctave/dbleAEPBAL.cc, liboctave/dbleDET.h,
- liboctave/dbleLU.cc, liboctave/dbleSCHUR.h,
- liboctave/CmplxCHOL.cc, liboctave/CmplxHESS.h,
- liboctave/CmplxSCHUR.cc, liboctave/dbleAEPBAL.h,
- liboctave/dbleGEPBAL.cc, liboctave/dbleLU.h, liboctave/dbleSVD.cc,
- liboctave/CmplxCHOL.h, liboctave/CmplxLU.cc,
- liboctave/CmplxSCHUR.h, liboctave/dbleCHOL.cc
- liboctave/dbleGEPBAL.h, liboctave/dbleQR.cc, liboctave/dbleSVD.h,
- liboctave/CmplxDET.cc, liboctave/CmplxLU.h, liboctave/CmplxSVD.cc,
- liboctave/dbleCHOL.h, liboctave/dbleHESS.cc, liboctave/dbleQR.h,
- liboctave/EIG.h, liboctave/EIG.cc:
- New files, extracted from Matrix-ext.cc, in an attempt to allow
- effective use of pragma interface/implementation and make
- generated code somewhat smaller.
- * liboctave/dColVector.cc liboctave/CColVector.cc: Likewise, from
- ColVector.{cc,h}.
- * liboctave/dRowVector.cc liboctave/CRowVector.cc: Likewise, from
- RowVector.{cc,h}.
- * liboctave/dMatrix.cc liboctave/CMatrix.cc: Likewise, from
- Matrix.{cc,h}.
- * liboctave/dDiagMatrix.cc liboctave/CDiagMatrix.cc: Likewise,
- from DiagMatrix.{cc,h}.
-
- Fri Jun 3 15:32:53 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * liboctave/Array.h: Include assert.h.
- (DiagArray<T>::operator T ()): [! _AIX] Only call get() if i is
- also equal to j.
-
- * scripts/rem.m: Allow mixing of scalar/matrix args, but complain
- if both args are matrices and the dimensions don't agree.
-
- * src/lex.l (grab_help_text): Correct previous change.
-
- Thu Jun 2 12:08:18 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * Matrix.h (conversion): New enum, for binary read/write
- functions.
- * Matrix.cc (read, write) New functions.
- * file-io.cc (feof_internal, ferror_internal, fread_internal,
- fwrite_internal, get_size_conv, get_whats_left): New functions.
- * g-builtins.cc (builtin_feof, builtin_ferror, builtin_fread,
- builtin_fwrite): New functions.
- * builtins.cc (general_functions): Add them to the list.
-
- * configure.in: Check for infinity() and quiet_nan().
- * sysdep.h (octave_Inf, octave_NaN): New global variables.
- * sysdep.cc (octave_ieee_init): New function. Initialize
- octave_Inf and octave_NaN.
- (sysdep_init): Call it.
- * builtins.cc (initialize_builtins): Don't compute Inf and NaN
- values here.
-
- Tue May 31 20:06:27 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/variables.cc (identifier_exists): Only return 1 for
- variables if they are also defined.
-
- Sun May 29 20:40:55 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/lex.l: Don't declare beginning_of_function as static.
- (COMMENT): Delete unnecessary exclusive start state.
- (\#, \%): Handle comments directly. Try to be smart about not
- returning a newline character when reading a matrix list.
- (grab_help_text): Don't put a newline back on the input stream.
- * src/parse.y (list1): Set beginning_of_function to zero here.
-
- Wed May 25 03:34:17 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/error.cc (error): If error_state is -2, don't do anything.
- If the format string ends in a new line character, strip it, print
- the error message, and set the error state to -2.
- * src/tree.cc (tree_function::traceback_error): Don't set the
- error_state if it is already negative.
-
- * src/tree-const.cc (convert_to_row_or_column_vector): New function.
- * src/idx-vector.cc (idx_vector::shorten): New function.
- * src/tc-assign.cc (fortran_style_matrix_assignment
- (tree_constant&, tree_constant&)): Handle deleting elements by
- assignment of `[]'. Use convert_to_row_or_column_vector to handle
- conversion to a vector in the case of deleting some elements from
- a matrix. Use idx_vector::shorten() to remove unnecessary index
- vector elements.
- (do_scalar_assignment (tree_constant&, tree_constant*, int)):
- Handle assignment of empty matrix.
- If converting complex to real, delete old complex value.
- (delete_rows (idx_vector&)): If deleting all rows of a column
- vector, convert to empty matrix.
- (delete_rows (Range&)): Ditto.
- (delete_columns (idx_vector&)): If deleting all columns of a row
- vector, convert to empty matrix.
- (delete_columns (Range&)): Ditto.
-
- * src/tc-extras.cc (column_max (tree_constant*, int, int)):
- Use MAX, not MIN when trying to find the biggest scalar.
- Likewise, find the complex scalar with the largest, not the
- smallest absolute value.
-
- * src/tc-assign.cc (do_matrix_assignment (tree_constant&,
- tree_constant_rep::constant_type, tree_constant&): For case of
- j_arg == matrix constant, don't negate return value of
- indexed_assign_conforms().
-
- * src/user-prefs.cc (commas_in_literal_matrix): New function.
- Put functions in alphabetical order.
- * src/user-prefs.h (commas_in_literal_matrix): New structure element.
- Alphabetize structure elements and lists of functions.
- * src/builtins.cc (string_variables): Add commas_in_literal_matrix
- to the list.
- * src/lex.l (<MATRIX>{SN}*\]{S}*): Pay attention to the value of
- usre_pref.commas_in_literal_matrix when deciding whether to insert
- a comma after seeing a ']' character.
- (handle_identifier): Likewise.
- (<MATRIX>{S}+): If commas are required, just eat the spaces.
-
- Tue May 24 19:49:51 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/tc-assign.cc (tree_constant_rep::do_matrix_assignment
- (tree_constant&, tree_constant*, int)): Handle empty arguments
- for two index values.
- (tree_constant_rep::do_matrix_assignment
- (tree_constant&, tree_constant&)):
- Likewise, for single index values.
-
- Mon May 23 01:43:23 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * Makefile.in (snapshot, snapshot-version): New targets.
-
- * configure.in: Handle --enable-run-in-place (was easier than
- doing the work to parse --run-in-place like Emacs uses).
-
- * acconfig.h: Add #undef for RUN_IN_PLACE.
-
- * Makeconf.in (OCTAVE_HOME): New macro.
- * src/Makefile.in (defaults.h): Use it instead of ${prefix}.
-
- * Makeconf.in (OCTAVE_INFO_DIR, OCTAVE_LIB_DIR): New macros.
- * src/Makefile.in (defaults.h): Substitute them too.
-
- * src/defaults.h.in (OCTAVE_INFO_DIR): New macro, used if
- RUN_IN_PLACE is defined.
- (OCTAVE_LIB_DIR): Likewise.
-
- * src/utils.cc (octave_home): Handle RUN_IN_PLACE
- (octave_info_dir): Ditto.
- (octave_lib_dir): Ditto.
-
- * src/tree-const.cc (tree_constant_rep::diag (void)): For empty
- matrix, return empty matrix.
- (tree_constant_rep::diag (tree_constant &)): Likewise, regardless
- of value of arg.
-
- * scripts/int2str.m: Format as integer, not float.
- Don't add trailing new line character.
-
- Sun May 22 22:13:01 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * scripts/plot_int.m: When looking for imaginary arguments, check
- if any element has an imaginary component, not if all elements
- have imaginary components.
-
- Thu May 19 19:46:23 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/parse.y (EXPR_AND_AND, EXPR_OR_OR): New tokens, for
- short-circuit logical AND and OR operators.
- (simple_expression): Handle new tokens.
- * src/lex.l (&&) [SHORT_CIRCUIT_LOGICALS]: Return EXPR_AND_AND.
- (||) [SHORT_CIRCUIT_LOGICALS]: Return EXPR_OR_OR.
- * src/tree.cc (tree_binary_expression::eval): Handle short-circuit
- boolean operators.
- (tree_binary_expression::eval_error): Print different messages for
- or_or/or and and_and/and.
- * src/tree-base.h (tree_expression_type): Add new structure
- elements and_and and or_or.
- * src/tree-const.cc (tree_constant_rep::is_true): New function.
-
- Tue May 17 17:04:00 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/idx-vector.cc (idx_vector::sort_uniq ()): New function.
- * src/tc-assign.cc (tree_constant_rep::delete_rows ()): Use it.
- (tree_constant_rep::delete_columns ()): Likewise.
-
- Mon May 16 13:31:33 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * scripts/linspace.m: Replace for loop with range operation.
- * scripts/logspace.m: Replace for loop with element by element
- exponentiation.
-
- Sun May 8 00:49:38 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * scripts/lqe.m: Correct comment.
- Transpose k before returning.
-
- Fri May 6 00:47:24 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/tree.cc (quit_loop_now): New function.
- (tree_while_command::eval): Use it.
- (tree_for_command::eval): Ditto.
-
- * src/tree.cc (tree_for_command::do_for_loop_once): New function.
- (tree_for_command::eval): Use it.
-
- Mon May 2 19:45:39 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/tree.cc (tree_for_command::eval): Handle returning,
- breaking, and continuing for case of scalar expression in loop
- control statement.
-
- Wed Apr 20 00:38:26 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/lex.l (\[{S}*): Don't return ',' for this match when
- convert_spaces_to_comma is true, since that can never be the right
- thing to do.
-
- * All Makefile.in files: Set top_srcdir here.
- * Makeconf.in: Not here.
-
- * Makeconf.in: Use top_srcdir instead of root_srcdir
-
- * configure.in: Update for autoconf-1.8. Use AC_VERBOSE for
- verbose messages. Use AC_WARN and AC_ERROR instead of echo for
- warning and error messages. Organize feature tests a bit better.
- Use new autoconf macros to check for C++ compiler. Add copyright
- notice. Recognize --enable-dld instead of --with-dld since that
- seems to be more in line with the intent of the --enable/--with
- options for configure scripts. Use new autoconf macros
- AC_REVISION and AC_PREREQ. Don't add -Wall to CFLAGS and CXXFLAGS
- until after all feature tests are done. Etc.
-
- Fri Apr 15 01:56:20 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * acconfig.h: Add #undefs for HAVE_FINITE, HAVE_ISINF, and
- HAVE_ISNAN.
- * configure.in: Check for floatingpoint.h.
- * src/sysdep.cc (sysdep_init): Disable trapping on common
- exceptions for 386BSD systems that have floatingpoint.h.
-
- * src/utils.cc: Don't declare ioctl() with prototype.
-
- Sat Apr 9 17:48:07 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/tc-assign.cc (tree_constant_rep::fortran_style_matrix_assignment
- (tree_constant&, tree_constant&)):
- Handle case of M (X) = scalar, where X is a zero-one vector with
- only one nonzero element.
-
- * src/tc-assign.cc (tree_constant_rep::do_vector_assign
- (tree_constant&, Range&):
- Handle case of right hand side being a scalar.
- (tree_constant_rep::do_vector_assign (tree_constant&, idx_vector&):
- Ditto.
-
- * src/tc-assign.cc (tree_constant_rep::do_matrix_assignment
- (int,tree_constant_rep::constant_type)):
- Allow assignment of complex scalar too.
- (tree_constant_rep::do_matrix_assignment
- (tree_constant_rep::constant_type, int)):
- Ditto.
-
- * src/tree-const.h (REP_RHS_MATRIX): Initialize nr and nc.
- Abort if rhs is not a real or complex matrix.
-
- Wed Apr 6 13:59:37 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * liboctave/Range.cc (Range::nelem_internal): Use an integer, not
- a double, for the number of intervals. Avoid possible problems
- with extended precision registers on some systems (e.g. x86/Linux).
-
- Mon Mar 28 17:23:18 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/utils.cc (raw_mode): For OCRNL, ONOCR, and ONLRET, check to
- see if they are defined before using them instead of checking to
- see if NeXT is defined.
-
- * info/terminal.c (terminal_prep_terminal): Check to see if OCRNL
- is defined before using it instead of checking to see if NeXT is
- defined.
-
- Thu Mar 24 03:21:01 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/tree.cc (tree_parameter_list::define_from_arg_vector):
- New function.
- (tree_parameter_list::convert_to_const_vector): Ditto.
- (tree_function::eval): Use them instead of trying to do this
- in-line.
-
- * src/symtab.h (symbol_record::global_link_context): New stack for
- saving linked_to_global flag.
- * src/symtab.cc (symbol_record::push_context): Save
- linked_to_global too.
- (symbol_record::pop_context): And restore it.
-
- Wed Mar 23 16:18:19 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * doc/refcard.tex.in: New file.
- * doc/Makefile.in: Create refcard.* and refcard-local.* from
- refcard.tex.in.
-
- Tue Mar 22 15:23:55 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * octave.sh: exec $OCTAVE_HOME/bin/octave.bin, not just
- octave.bin.
-
- Thu Mar 17 01:06:10 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/arith-ops.cc (do_binary_op (ComplexMatrix&, Matrix& b)):
- Correctly handle element by element left division.
-
- * src/g-builtins.cc (builtin_error): Return without calling error
- (and setting error_state) if the message is empty.
-
- * src/help.cc (operators): Correct help message for `.^'.
-
- * src/tc-index.cc (tree_contant_rep::fortran_style_matrix_index):
- Preserve vector orientation when indexing with a zero-one vector.
-
- * src/tc-index.cc (tree_constant_rep::do_scalar_index): Handle
- indexing a scalar with `0'.
-
- * src/tc-index.cc (tree_constant_rep::do_scalar_index): Handle the
- index `:' the same as the index `1'.
-
- Tue Mar 15 17:22:00 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * liboctave/Array.cc: Fix typo in comments about compiler flags.
-
- Wed Mar 9 15:08:21 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * Version 1.0.1.
-
- * src/*.h: Use the macro octave_FOO_h instead of _FOO_h to protect
- against multiple inclusion.
- * liboctave/*.h: Likewise.
-
- * liboctave/*.h: Surround contents of files in extern "C++" { }.
-
- Tue Mar 8 18:06:54 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/tc-index.cc (tree_constant_rep::do_vector_index (const
- tree_constant&) const): Don't crash if matrix is empty.
-
- * scripts/norm.m: Return empty matrix for empty argument.
-
- Mon Mar 7 23:34:44 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * doinstall.sh: chmod new directories to 755.
-
- Sat Mar 5 13:15:10 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * bsd-math/log1p.c: Declare finite as returning int, not double.
- * bsd-math/finite.c (finite): Add return type.
-
- Thu Mar 3 14:42:00 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * liboctave/DiagMatrix.cc (operator *): Provide definitions for
- DiagMatrix * DiagMatrix, ComplexDiagMatrix * ComplexDiagMatrix,
- ComplexDiagMatrix * DiagMatrix, and DiagMatrix * ComplexDiagMatrix.
-
- * liboctave/ColVector.cc (operator >>): Provide definitions for
- real and complex column vectors.
-
- * liboctave/RowVector.cc (operator >>): Provide definitions for
- real and complex row vectors.
-
- Wed Mar 2 18:00:47 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * liboctave/Array.h (DiagArray::Proxy::operator & ()): Provide
- function body.
-
- Tue Mar 1 13:18:35 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * src/tree-const.cc (tree_constant::load (istream&)): Don't skip
- past first type keyword if not global.
- (tree_constant::load (istream&, tree_constant_rep::constant_type)):
- Allocate storage for reading complex scalar.
-
- Sun Feb 20 14:17:47 1994 John Eaton (jwe@schoch.che.utexas.edu)
-
- * scripts/menu.m: Don't fail on input that is empty or not a
- scalar.
-
- * Makefile.in (DISTFILES): Distribute ChangeLog.[0-9].
-
- * src/lex.l (reset_parser): Don't resynch line number to command
- history number if reading a script file.
-
- See ChangeLog.1 for earlier changes.
-