comparison src/ChangeLog @ 9967:75503ecdac32

ChangeLog fixes
author John W. Eaton <jwe@octave.org>
date Fri, 11 Dec 2009 13:46:24 -0500
parents a7e288044ef7
children d32a6cc0193b
comparison
equal deleted inserted replaced
9966:d4dab9605c49 9967:75503ecdac32
398 F__ftp_binary__, F__ftp_close__, F__ftp_mode__, F__ftp_delete__, 398 F__ftp_binary__, F__ftp_close__, F__ftp_mode__, F__ftp_delete__,
399 F__ftp_rmdir__, F__ftp_mkdir__, F__ftp_rename__, F__ftp_mput__, 399 F__ftp_rmdir__, F__ftp_mkdir__, F__ftp_rename__, F__ftp_mput__,
400 F__ftp_mget__): New functions. 400 F__ftp_mget__): New functions.
401 401
402 2009-11-27 Jaroslav Hajek <highegg@gmail.com> 402 2009-11-27 Jaroslav Hajek <highegg@gmail.com>
403 403
404 * ov.cc (octave_value::octave_value (const index_vector&)): Take 404 * ov.cc (octave_value::octave_value (const index_vector&)): Take
405 a copy if idx to allow mutation. 405 a copy if idx to allow mutation.
406 406
407 2009-11-26 Jaroslav Hajek <highegg@gmail.com> 407 2009-11-26 Jaroslav Hajek <highegg@gmail.com>
408 408
662 draw_overlay. Don't return early if zooming. Don't call valid 662 draw_overlay. Don't return early if zooming. Don't call valid
663 and conditionally call setup_veiwport. Set overlay color and 663 and conditionally call setup_veiwport. Set overlay color and
664 draw line around zoom box. (Fl_Gl_Window::zoom_box_vertex): New 664 draw line around zoom box. (Fl_Gl_Window::zoom_box_vertex): New
665 function. (Fl_Gl_Window::pixel2status): Call canvas->redraw, 665 function. (Fl_Gl_Window::pixel2status): Call canvas->redraw,
666 not canvas->redraw_overlay. 666 not canvas->redraw_overlay.
667 667
668 2009-11-10 Shai Ayal <shaiay@users.sourceforge.net> 668 2009-11-10 Shai Ayal <shaiay@users.sourceforge.net>
669 669
670 * gl2ps-renderer.cc, gl2ps-renderer.h, gl2ps.c, gl2ps.h: New 670 * gl2ps-renderer.cc, gl2ps-renderer.h, gl2ps.c, gl2ps.h: New
671 files. PostScript backend based on opengl_renderer and gl2ps. 671 files. PostScript backend based on opengl_renderer and gl2ps.
672 * Makefile.am (octinclude_HEADERS): Add gl2ps.h to the list. 672 * Makefile.am (octinclude_HEADERS): Add gl2ps.h to the list.
1141 * graphics.cc (image::properties::get_color_data): New function. 1141 * graphics.cc (image::properties::get_color_data): New function.
1142 * gl-render.cc (opengl_renderer::draw): Handle RGB images. 1142 * gl-render.cc (opengl_renderer::draw): Handle RGB images.
1143 1143
1144 2009-10-01 Jaroslav Hajek <highegg@gmail.com> 1144 2009-10-01 Jaroslav Hajek <highegg@gmail.com>
1145 1145
1146 * DLD-FUNCTIONS/cellfun.cc 1146 * DLD-FUNCTIONS/cellfun.cc
1147 (do_num2cell_helper, do_num2cell): New funcs. 1147 (do_num2cell_helper, do_num2cell): New funcs.
1148 (Fnum2cell): Rewrite. 1148 (Fnum2cell): Rewrite.
1149 (do_cellslices_nda): Do not leave trailing dims. 1149 (do_cellslices_nda): Do not leave trailing dims.
1150 1150
1151 2009-09-30 John W. Eaton <jwe@octave.org> 1151 2009-09-30 John W. Eaton <jwe@octave.org>
1443 2009-08-27 Jaroslav Hajek <highegg@gmail.com> 1443 2009-08-27 Jaroslav Hajek <highegg@gmail.com>
1444 1444
1445 * ov-class.cc (get_current_method_class): Simplify. 1445 * ov-class.cc (get_current_method_class): Simplify.
1446 (octave_class::in_class_method): Don't rely on multiple copies of 1446 (octave_class::in_class_method): Don't rely on multiple copies of
1447 methods. Don't declare as const. 1447 methods. Don't declare as const.
1448 (octave_class::octave_class (const Octave_map&, const std::string&, 1448 (octave_class::octave_class (const Octave_map&, const std::string&,
1449 const octave_value_list&)): 1449 const octave_value_list&)):
1450 Call symbol_table::add_to_parent_map instead. 1450 Call symbol_table::add_to_parent_map instead.
1451 * ov-class.h (octave_class::in_class_method): Don't declare as const. 1451 * ov-class.h (octave_class::in_class_method): Don't declare as const.
1452 * symtab.h (symbol_table::parent_map): New field. 1452 * symtab.h (symbol_table::parent_map): New field.
1453 (symbol_table::add_to_parent_map): New method. 1453 (symbol_table::add_to_parent_map): New method.
1502 * data.cc (Ffmod): Reverse order of args. 1502 * data.cc (Ffmod): Reverse order of args.
1503 1503
1504 2009-08-26 Rob Mahurin <rob@utk.edu> 1504 2009-08-26 Rob Mahurin <rob@utk.edu>
1505 1505
1506 * syscalls.cc: Recommend waitpid() in popen2() documentation. 1506 * syscalls.cc: Recommend waitpid() in popen2() documentation.
1507 1507
1508 2009-08-25 John W. Eaton <jwe@octave.org> 1508 2009-08-25 John W. Eaton <jwe@octave.org>
1509 1509
1510 * graphics.cc (gnuplot_backend::send_quit): Wait for gnuplot process. 1510 * graphics.cc (gnuplot_backend::send_quit): Wait for gnuplot process.
1511 1511
1512 2009-08-24 Jaroslav Hajek <highegg@gmail.com> 1512 2009-08-24 Jaroslav Hajek <highegg@gmail.com>
1889 (token::method_rec, token::class_rec, token::package_rec, 1889 (token::method_rec, token::class_rec, token::package_rec,
1890 token::meta_class_rec, token::meta_package_rec): New methods. 1890 token::meta_class_rec, token::meta_package_rec): New methods.
1891 (token_type): New enum values: scls_rec_token, meta_rec_token. 1891 (token_type): New enum values: scls_rec_token, meta_rec_token.
1892 (end_tok_type): New enum values: classdef_end, events_end, 1892 (end_tok_type): New enum values: classdef_end, events_end,
1893 methods_end, properties_end. 1893 methods_end, properties_end.
1894 1894
1895 2009-07-30 David Grundberg <individ@acc.umu.se> 1895 2009-07-30 David Grundberg <individ@acc.umu.se>
1896 1896
1897 * symtab.h (symbol_table::parent_scope): Remove. 1897 * symtab.h (symbol_table::parent_scope): Remove.
1898 (symbol_table::set_parent_scope): Remove. 1898 (symbol_table::set_parent_scope): Remove.
1899 (symbol_table::reset_parent_scope): Remove. 1899 (symbol_table::reset_parent_scope): Remove.
2056 (octave_fcn_handle::str_ov_map): New typedef. 2056 (octave_fcn_handle::str_ov_map): New typedef.
2057 (octave_fcn_handle::octave_fcn_handle (..., str_ov_map *)): New 2057 (octave_fcn_handle::octave_fcn_handle (..., str_ov_map *)): New
2058 constructor. 2058 constructor.
2059 (octave_fcn_handle::do_multi_index_op): New method decl. 2059 (octave_fcn_handle::do_multi_index_op): New method decl.
2060 (octave_fcn_handle::is_overloaded): New method. 2060 (octave_fcn_handle::is_overloaded): New method.
2061 * ov-fcn-handle.cc 2061 * ov-fcn-handle.cc
2062 (octave_fcn_handle::do_multi_index_op): New method. 2062 (octave_fcn_handle::do_multi_index_op): New method.
2063 (octave_fcn_handle::subsref): Rewrite using do_multi_index_op. 2063 (octave_fcn_handle::subsref): Rewrite using do_multi_index_op.
2064 (octave_fcn_handle::make_fcn_handle): Construct overloaded handles if 2064 (octave_fcn_handle::make_fcn_handle): Construct overloaded handles if
2065 appropriate. 2065 appropriate.
2066 (Ffunctions): Indicate (statically) overloaded handles. 2066 (Ffunctions): Indicate (statically) overloaded handles.
2067 * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Update & modernize. 2067 * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Update & modernize.
2068 * DLD-FUNCTIONS/bsxfun.cc (Fbsxfun): Ditto. 2068 * DLD-FUNCTIONS/bsxfun.cc (Fbsxfun): Ditto.
2069 2069
2070 2009-07-22 Jaroslav Hajek <highegg@gmail.com> 2070 2009-07-22 Jaroslav Hajek <highegg@gmail.com>
2071 2071
2072 * symtab.cc (symbol_table::find, 2072 * symtab.cc (symbol_table::find,
2073 symbol_table::find_function, 2073 symbol_table::find_function,
2074 symbol_table::symbol_record::find, 2074 symbol_table::symbol_record::find,
2075 symbol_table::fcn_info::find, 2075 symbol_table::fcn_info::find,
2076 symbol_table::fcn_info::fcn_info_rep::find, 2076 symbol_table::fcn_info::fcn_info_rep::find,
2077 symbol_table::fcn_info::fcn_info_rep::xfind): Simplify argument lists. 2077 symbol_table::fcn_info::fcn_info_rep::xfind): Simplify argument lists.
2078 * symtab.h: Update declarations. 2078 * symtab.h: Update declarations.
2098 (sysdep_init): Also call BSD_init if __NetBSD__ is defined. 2098 (sysdep_init): Also call BSD_init if __NetBSD__ is defined.
2099 2099
2100 2009-07-20 Jaroslav Hajek <highegg@gmail.com> 2100 2009-07-20 Jaroslav Hajek <highegg@gmail.com>
2101 2101
2102 * bitfcns.cc (DO_UBITSHIFT): Avoid overflow. 2102 * bitfcns.cc (DO_UBITSHIFT): Avoid overflow.
2103 (DO_SBITSHIFT): Fix mask calculation. 2103 (DO_SBITSHIFT): Fix mask calculation.
2104 2104
2105 2009-07-17 Benjamin Lindner <lindnerb@users.sourceforge.net> 2105 2009-07-17 Benjamin Lindner <lindnerb@users.sourceforge.net>
2106 2106
2107 * DLD-FUNCTIONS/__magick_read__.cc (F__magick_read__): 2107 * DLD-FUNCTIONS/__magick_read__.cc (F__magick_read__):
2108 Determine correct number of bits required when reading images. 2108 Determine correct number of bits required when reading images.
2145 (symbol_record_rep::finfo): New field. 2145 (symbol_record_rep::finfo): New field.
2146 * symtab.cc (symbol_record::find): Use cached finfo if possible, 2146 * symtab.cc (symbol_record::find): Use cached finfo if possible,
2147 cache on successful queries. 2147 cache on successful queries.
2148 2148
2149 2008-07-01 David Bateman <dbateman@free.fr> 2149 2008-07-01 David Bateman <dbateman@free.fr>
2150 2150
2151 * pr-output.cc (static inline std::string rational_approx (double, 2151 * pr-output.cc (static inline std::string rational_approx (double,
2152 int)): Test for underflow of fractional part of rational approximation 2152 int)): Test for underflow of fractional part of rational approximation
2153 earlier in the loop. 2153 earlier in the loop.
2154 2154
2155 2009-07-01 Joe Rothweiler <octaveuser@sensicomm.com> 2155 2009-07-01 Joe Rothweiler <octaveuser@sensicomm.com>
2156 2156
2567 2567
2568 2009-06-02 Rob Mahurin <rob@utk.edu> 2568 2009-06-02 Rob Mahurin <rob@utk.edu>
2569 2569
2570 * Makefile.in: Add CARBON_LIBS to OCTINTERP_LINK_DEPS. 2570 * Makefile.in: Add CARBON_LIBS to OCTINTERP_LINK_DEPS.
2571 From Bernard Desgraups <bdesgraupes@orange.fr>. 2571 From Bernard Desgraups <bdesgraupes@orange.fr>.
2572 2572
2573 2009-06-02 Jaroslav Hajek <highegg@gmail.com> 2573 2009-06-02 Jaroslav Hajek <highegg@gmail.com>
2574 2574
2575 * ov-base.cc (octave_base_value::numeric_assign): Gripe when no index 2575 * ov-base.cc (octave_base_value::numeric_assign): Gripe when no index
2576 given. 2576 given.
2577 * ov-cell.cc (octave_cell::subsasgn): Ditto. 2577 * ov-cell.cc (octave_cell::subsasgn): Ditto.
2592 * DLD-FUNCTIONS/__magick_read__.cc (encode_map): Fix RGB color 2592 * DLD-FUNCTIONS/__magick_read__.cc (encode_map): Fix RGB color
2593 construction. 2593 construction.
2594 2594
2595 2009-05-26 John W. Eaton <jwe@octave.org> 2595 2009-05-26 John W. Eaton <jwe@octave.org>
2596 2596
2597 * load-path.h, load-path.cc (load_path::files, load_path::do_files): 2597 * load-path.h, load-path.cc (load_path::files, load_path::do_files):
2598 New arg, OMIT_EXTS. 2598 New arg, OMIT_EXTS.
2599 * help.cc (F__list_functions__): Call load_path::files with 2599 * help.cc (F__list_functions__): Call load_path::files with
2600 omit_exts set to true. 2600 omit_exts set to true.
2601 2601
2602 * symtab.h 2602 * symtab.h
2605 (symbol_table::do_variable_names): Only add variables to the list. 2605 (symbol_table::do_variable_names): Only add variables to the list.
2606 (symbol_table::unmark_forced_variables): New static function 2606 (symbol_table::unmark_forced_variables): New static function
2607 * variables.cc (do_who): Use is_variable instead of is_defined. 2607 * variables.cc (do_who): Use is_variable instead of is_defined.
2608 Also limit output to variables when using regexp pattern. 2608 Also limit output to variables when using regexp pattern.
2609 * octave.cc (unmark_forced_vars): Delete. 2609 * octave.cc (unmark_forced_vars): Delete.
2610 (execute_eval_option_code): Don't add unmark_forced_vars to 2610 (execute_eval_option_code): Don't add unmark_forced_vars to
2611 unwind_protect stack here. 2611 unwind_protect stack here.
2612 * toplev.cc (main_loop): Add symbol_table::unmark_forced_variables 2612 * toplev.cc (main_loop): Add symbol_table::unmark_forced_variables
2613 to the unwind_protect stack here. 2613 to the unwind_protect stack here.
2614 * input.cc (get_debug_input): Likewise. 2614 * input.cc (get_debug_input): Likewise.
2615 * parse.y (parse_fcn_file, eval_string): Likewise. 2615 * parse.y (parse_fcn_file, eval_string): Likewise.
2700 2700
2701 2009-05-20 Jaroslav Hajek <highegg@gmail.com> 2701 2009-05-20 Jaroslav Hajek <highegg@gmail.com>
2702 2702
2703 * toplev.h (octave_exit_func): New typedef. 2703 * toplev.h (octave_exit_func): New typedef.
2704 (octave_exit): Change to octave_exit_func. 2704 (octave_exit): Change to octave_exit_func.
2705 2705
2706 2009-05-20 Jaroslav Hajek <highegg@gmail.com> 2706 2009-05-20 Jaroslav Hajek <highegg@gmail.com>
2707 2707
2708 * ov-typeinfo.cc: Don't include oct-obj.h. 2708 * ov-typeinfo.cc: Don't include oct-obj.h.
2709 2709
2710 2009-05-20 Jaroslav Hajek <highegg@gmail.com> 2710 2009-05-20 Jaroslav Hajek <highegg@gmail.com>
2711 2711
2712 * toplev.h (octave_quit_exception): New class. 2712 * toplev.h (octave_quit_exception): New class.
2784 * ov-class.h, ov-class.cc (octave_class::reconstruct_exemplar): 2784 * ov-class.h, ov-class.cc (octave_class::reconstruct_exemplar):
2785 New function. 2785 New function.
2786 * ov-class.cc (octave_class::load_binary, octave_class::load_hdf5, 2786 * ov-class.cc (octave_class::load_binary, octave_class::load_hdf5,
2787 octave_class::load_ascii): Construct exemplar table and ensure 2787 octave_class::load_ascii): Construct exemplar table and ensure
2788 inheritance is correct. 2788 inheritance is correct.
2789 * ov-struct.cc (struct): Return struct from object. 2789 * ov-struct.cc (struct): Return struct from object.
2790 2790
2791 2009-05-07 John W. Eaton <jwe@octave.org> 2791 2009-05-07 John W. Eaton <jwe@octave.org>
2792 2792
2793 * graphics.h.in (base_graphics_object::set): Undo previous change. 2793 * graphics.h.in (base_graphics_object::set): Undo previous change.
2794 (base_properties::set (const caseless_str&, const octave_value&): 2794 (base_properties::set (const caseless_str&, const octave_value&):
2801 * oct-conf.h.in (OCTAVE_CONF_F2CFLAGS, OCTAVE_CONF_F2C): 2801 * oct-conf.h.in (OCTAVE_CONF_F2CFLAGS, OCTAVE_CONF_F2C):
2802 Delete definitions. 2802 Delete definitions.
2803 2803
2804 2009-05-07 Marco Atzeri <marco_atzeri@yahoo.it> 2804 2009-05-07 Marco Atzeri <marco_atzeri@yahoo.it>
2805 2805
2806 * Makefile.in: (SHLPRE): Rename from SHLLIBPRE. 2806 * Makefile.in: (SHLPRE): Rename from SHLLIBPRE.
2807 2807
2808 2009-05-07 John W. Eaton <jwe@octave.org> 2808 2009-05-07 John W. Eaton <jwe@octave.org>
2809 2809
2810 * genprops.awk (emit_declarations): Emit decls for static 2810 * genprops.awk (emit_declarations): Emit decls for static
2811 has_property functions. 2811 has_property functions.
2965 variables. 2965 variables.
2966 2966
2967 2009-04-16 Jaroslav Hajek <highegg@gmail.com> 2967 2009-04-16 Jaroslav Hajek <highegg@gmail.com>
2968 2968
2969 * xpow.cc (same_sign): New helper function. 2969 * xpow.cc (same_sign): New helper function.
2970 (elem_xpow (double, const Range&), elem_xpow (const Complex&, const Range&)): 2970 (elem_xpow (double, const Range&), elem_xpow (const Complex&, const Range&)):
2971 Only optimize monotonic-magnitude integer ranges, start always from 2971 Only optimize monotonic-magnitude integer ranges, start always from
2972 the smaller end. 2972 the smaller end.
2973 2973
2974 2008-04-11 David Bateman <dbateman@free.fr> 2974 2008-04-11 David Bateman <dbateman@free.fr>
2975 2975
3000 * ov-struct.cc (octave_struct::subsasgn): Fix reference counting 3000 * ov-struct.cc (octave_struct::subsasgn): Fix reference counting
3001 optimization. 3001 optimization.
3002 3002
3003 2008-04-03 David Bateman <dbateman@free.fr> 3003 2008-04-03 David Bateman <dbateman@free.fr>
3004 3004
3005 * DLD-FUNCTIONS/max.cc (MINMAX_SPARSE_BODY): Allow sparse boolean 3005 * DLD-FUNCTIONS/max.cc (MINMAX_SPARSE_BODY): Allow sparse boolean
3006 values. 3006 values.
3007 3007
3008 2009-04-01 Jaroslav Hajek <highegg@gmail.com> 3008 2009-04-01 Jaroslav Hajek <highegg@gmail.com>
3009 3009
3010 * ov-str-mat.cc (default_numeric_conversion_function): 3010 * ov-str-mat.cc (default_numeric_conversion_function):
3029 3029
3030 * DLD-FUNCTIONS/balance.cc (Fbalance): Fix order of output args. 3030 * DLD-FUNCTIONS/balance.cc (Fbalance): Fix order of output args.
3031 3031
3032 2009-03-26 Jaroslav Hajek <highegg@gmail.com> 3032 2009-03-26 Jaroslav Hajek <highegg@gmail.com>
3033 3033
3034 * DLD-FUNCTIONS/find.cc 3034 * DLD-FUNCTIONS/find.cc
3035 (find_nonzero_elem_idx (const Array<T>&, ...)): Move dimensions 3035 (find_nonzero_elem_idx (const Array<T>&, ...)): Move dimensions
3036 fixup to liboctave. 3036 fixup to liboctave.
3037 3037
3038 2009-03-26 Jaroslav Hajek <highegg@gmail.com> 3038 2009-03-26 Jaroslav Hajek <highegg@gmail.com>
3039 3039
3040 * DLD-FUNCTIONS/find.cc 3040 * DLD-FUNCTIONS/find.cc
3041 (find_nonzero_elem_idx (const Array<T>&, ...)): Simplify. 3041 (find_nonzero_elem_idx (const Array<T>&, ...)): Simplify.
3042 Instantiate for bool and octave_int types. 3042 Instantiate for bool and octave_int types.
3043 (find_nonzero_elem_idx (const Sparse<T>&, ...)): 3043 (find_nonzero_elem_idx (const Sparse<T>&, ...)):
3044 Instantiate for bool. 3044 Instantiate for bool.
3045 (Ffind): Handle bool and octave_int cases. 3045 (Ffind): Handle bool and octave_int cases.
3046 3046
3047 2009-03-25 John W. Eaton <jwe@octave.org> 3047 2009-03-25 John W. Eaton <jwe@octave.org>
3048 3048
3086 (Fclass): Handle parent class arguments. 3086 (Fclass): Handle parent class arguments.
3087 3087
3088 * ov-base.h (octave_base_value::get_parent_list, 3088 * ov-base.h (octave_base_value::get_parent_list,
3089 octave_base_value::parent_classes): New virtual functions. 3089 octave_base_value::parent_classes): New virtual functions.
3090 3090
3091 * load-path.h, load-path.cc (load_path::parent_map): New data member. 3091 * load-path.h, load-path.cc (load_path::parent_map): New data member.
3092 (load_path::add_to_parent_map): New static function. 3092 (load_path::add_to_parent_map): New static function.
3093 (load_path::do_add_to_parent_map): New member function. 3093 (load_path::do_add_to_parent_map): New member function.
3094 (load_path::do_find_method): Also look in parent classes for methods. 3094 (load_path::do_find_method): Also look in parent classes for methods.
3095 (load_path::parent_map_type, load_path::const_parent_map_iterator, 3095 (load_path::parent_map_type, load_path::const_parent_map_iterator,
3096 load_path::parent_map_iterator): New typedefs. 3096 load_path::parent_map_iterator): New typedefs.
3202 float)): Use xisint for testing ints. Optimize w.r.t int exponents. 3202 float)): Use xisint for testing ints. Optimize w.r.t int exponents.
3203 3203
3204 2009-03-13 John W. Eaton <jwe@octave.org> 3204 2009-03-13 John W. Eaton <jwe@octave.org>
3205 3205
3206 * parse.y (maybe_warn_assign_as_truth_value, make_binary_op, 3206 * parse.y (maybe_warn_assign_as_truth_value, make_binary_op,
3207 maybe_warn_variable_switch_label, maybe_warn_associativity_change): 3207 maybe_warn_variable_switch_label, maybe_warn_associativity_change):
3208 Print file and line number info if available. 3208 Print file and line number info if available.
3209 * lex.l (gripe_matlab_incompatible): Likewise. 3209 * lex.l (gripe_matlab_incompatible): Likewise.
3210 3210
3211 * error.cc (pr_where): Use octave_call_stack::backtrace to print 3211 * error.cc (pr_where): Use octave_call_stack::backtrace to print
3212 complete stack trace at once. Don't attempt to print code. 3212 complete stack trace at once. Don't attempt to print code.
3264 * OPERATORS/op-pm-fm.cc: Update. 3264 * OPERATORS/op-pm-fm.cc: Update.
3265 * OPERATORS/op-pm-pm.cc: Update. 3265 * OPERATORS/op-pm-pm.cc: Update.
3266 * OPERATORS/op-pm-template.cc: Update. 3266 * OPERATORS/op-pm-template.cc: Update.
3267 3267
3268 2009-03-11 Jaroslav Hajek <highegg@gmail.com> 3268 2009-03-11 Jaroslav Hajek <highegg@gmail.com>
3269 3269
3270 * xpow.cc (xpow (const PermMatrix&, double), xpow (const PermMatrix&, 3270 * xpow.cc (xpow (const PermMatrix&, double), xpow (const PermMatrix&,
3271 float)): New functions. 3271 float)): New functions.
3272 * xpow.h: Declare them. 3272 * xpow.h: Declare them.
3273 * DLD-FUNCTIONS/op-pm-pm.cc: Support permutation matrix ^ scalar. 3273 * DLD-FUNCTIONS/op-pm-pm.cc: Support permutation matrix ^ scalar.
3274 * DLD-FUNCTIONS/op-fpm-fpm.cc: Ditto. 3274 * DLD-FUNCTIONS/op-fpm-fpm.cc: Ditto.
3275 3275
3276 2009-03-11 Jaroslav Hajek <highegg@gmail.com> 3276 2009-03-11 Jaroslav Hajek <highegg@gmail.com>
3277 3277
3278 * ov-ch-mat.cc (octave_char_matrix::double_value, 3278 * ov-ch-mat.cc (octave_char_matrix::double_value,
3279 octave_char_matrix::float_value, octave_char_matrix::complex_value, 3279 octave_char_matrix::float_value, octave_char_matrix::complex_value,
3280 octave_char_matrix::float_complex_value): Cast to unsigned char. 3280 octave_char_matrix::float_complex_value): Cast to unsigned char.
3281 3281
3282 2009-03-10 Jason Riedy <jason@acm.org> 3282 2009-03-10 Jason Riedy <jason@acm.org>
3283 3283
3338 * ov-fcn-inline.cc (load_ascii): Likewise. 3338 * ov-fcn-inline.cc (load_ascii): Likewise.
3339 * ov-str-mat.cc (load_ascii): Likewise. 3339 * ov-str-mat.cc (load_ascii): Likewise.
3340 * ls-mat-ascii.cc (get_mat_data_input_line): Likewise. 3340 * ls-mat-ascii.cc (get_mat_data_input_line): Likewise.
3341 * ls-oct-ascii.cc (extract_keyword, read_ascii_data): Likewise. 3341 * ls-oct-ascii.cc (extract_keyword, read_ascii_data): Likewise.
3342 * ls-oct-ascii.h (extract_keyword): Likewise. 3342 * ls-oct-ascii.h (extract_keyword): Likewise.
3343 3343
3344 2009-03-09 John W. Eaton <jwe@octave.org> 3344 2009-03-09 John W. Eaton <jwe@octave.org>
3345 3345
3346 * graphics.h.in (OCTAVE_DEFAULT_FONTNAME): New macro, defaults to "*". 3346 * graphics.h.in (OCTAVE_DEFAULT_FONTNAME): New macro, defaults to "*".
3347 (axes::properties, text::properties): Use it to set default fontname. 3347 (axes::properties, text::properties): Use it to set default fontname.
3348 * graphics.cc (axes::properties::set_defaults): Likewise. 3348 * graphics.cc (axes::properties::set_defaults): Likewise.
3452 * ov-base.cc (octave_base_value::diag_matrix_value, 3452 * ov-base.cc (octave_base_value::diag_matrix_value,
3453 octave_base_value::complex_diag_matrix_value, 3453 octave_base_value::complex_diag_matrix_value,
3454 octave_base_value::float_diag_matrix_value, 3454 octave_base_value::float_diag_matrix_value,
3455 octave_base_value::float_complex_diag_matrix_value, 3455 octave_base_value::float_complex_diag_matrix_value,
3456 octave_base_value::perm_matrix_value): New virtual methods. 3456 octave_base_value::perm_matrix_value): New virtual methods.
3457 3457
3458 * ov-base.h: Declare them. 3458 * ov-base.h: Declare them.
3459 3459
3460 * ov-base-diag.h (octave_base_diag::diag_matrix_value, 3460 * ov-base-diag.h (octave_base_diag::diag_matrix_value,
3461 octave_base_diag::complex_diag_matrix_value, 3461 octave_base_diag::complex_diag_matrix_value,
3462 octave_base_diag::float_diag_matrix_value, 3462 octave_base_diag::float_diag_matrix_value,
3466 * DLD-FUNCTIONS/inv.cc (Finv): Simplify handling diag & perm matrices. 3466 * DLD-FUNCTIONS/inv.cc (Finv): Simplify handling diag & perm matrices.
3467 * DLD-FUNCTIONS/pinv.cc (Fpinv): Ditto. 3467 * DLD-FUNCTIONS/pinv.cc (Fpinv): Ditto.
3468 * DLD-FUNCTIONS/det.cc (Fdet): Ditto. 3468 * DLD-FUNCTIONS/det.cc (Fdet): Ditto.
3469 3469
3470 2009-03-05 Jaroslav Hajek <highegg@gmail.com> 3470 2009-03-05 Jaroslav Hajek <highegg@gmail.com>
3471 3471
3472 * ls-hdf5.cc (add_hdf5_data): Handle diag & perm matrices. 3472 * ls-hdf5.cc (add_hdf5_data): Handle diag & perm matrices.
3473 3473
3474 2009-03-05 John W. Eaton <jwe@octave.org> 3474 2009-03-05 John W. Eaton <jwe@octave.org>
3475 3475
3476 * pt-cell.cc, pt-cell.h (tree_cell::dup): Now const. 3476 * pt-cell.cc, pt-cell.h (tree_cell::dup): Now const.
3601 force_local_variable. 3601 force_local_variable.
3602 * parse.y (make_script): Call symbol_table:clear_forced_variables 3602 * parse.y (make_script): Call symbol_table:clear_forced_variables
3603 after defining script. 3603 after defining script.
3604 (finish_function): Call symbol_table::clear_forced_variables 3604 (finish_function): Call symbol_table::clear_forced_variables
3605 instead of symbol_table::clear_variables. 3605 instead of symbol_table::clear_variables.
3606 3606
3607 * DLD-FUNCTIONS/chol.cc: Correct spelling of CHOLMOD in tests. 3607 * DLD-FUNCTIONS/chol.cc: Correct spelling of CHOLMOD in tests.
3608 3608
3609 * version.h (OCTAVE_VERSION): Now 3.1.53+. 3609 * version.h (OCTAVE_VERSION): Now 3.1.53+.
3610 (OCTAVE_API_VERSION): Now api-v35+. 3610 (OCTAVE_API_VERSION): Now api-v35+.
3611 3611
3656 (long_opts): Include doc-cache-file in the list. 3656 (long_opts): Include doc-cache-file in the list.
3657 (octave_main): Handle DOC_CACHE_FILE_OPTION. 3657 (octave_main): Handle DOC_CACHE_FILE_OPTION.
3658 3658
3659 2009-02-24 Jaroslav Hajek <highegg@gmail.com> 3659 2009-02-24 Jaroslav Hajek <highegg@gmail.com>
3660 3660
3661 * ov-scalar.h 3661 * ov-scalar.h
3662 (octave_scalar::int8_scalar_value): New method. 3662 (octave_scalar::int8_scalar_value): New method.
3663 (octave_scalar::int16_scalar_value): New method. 3663 (octave_scalar::int16_scalar_value): New method.
3664 (octave_scalar::int32_scalar_value): New method. 3664 (octave_scalar::int32_scalar_value): New method.
3665 (octave_scalar::int64_scalar_value): New method. 3665 (octave_scalar::int64_scalar_value): New method.
3666 (octave_scalar::uint8_scalar_value): New method. 3666 (octave_scalar::uint8_scalar_value): New method.
3667 (octave_scalar::uint16_scalar_value): New method. 3667 (octave_scalar::uint16_scalar_value): New method.
3668 (octave_scalar::uint32_scalar_value): New method. 3668 (octave_scalar::uint32_scalar_value): New method.
3669 (octave_scalar::uint64_scalar_value): New method. 3669 (octave_scalar::uint64_scalar_value): New method.
3670 3670
3671 * ov-float.h 3671 * ov-float.h
3672 (octave_float_scalar::int8_scalar_value): New method. 3672 (octave_float_scalar::int8_scalar_value): New method.
3673 (octave_float_scalar::int16_scalar_value): New method. 3673 (octave_float_scalar::int16_scalar_value): New method.
3674 (octave_float_scalar::int32_scalar_value): New method. 3674 (octave_float_scalar::int32_scalar_value): New method.
3675 (octave_float_scalar::int64_scalar_value): New method. 3675 (octave_float_scalar::int64_scalar_value): New method.
3676 (octave_float_scalar::uint8_scalar_value): New method. 3676 (octave_float_scalar::uint8_scalar_value): New method.
3752 3752
3753 2008-02-21 David Bateman <dbateman@free.fr> 3753 2008-02-21 David Bateman <dbateman@free.fr>
3754 3754
3755 * OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, OPERATORS/op-s-scm.cc, 3755 * OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, OPERATORS/op-s-scm.cc,
3756 OPERATORS/op-s-sm.cc, OPERATORS/op-scm-cs.cc, OPERATORS/op-scm-s.cc, 3756 OPERATORS/op-s-sm.cc, OPERATORS/op-scm-cs.cc, OPERATORS/op-scm-s.cc,
3757 OPERATORS/op-sm-cs.cc, OPERATORS/op-sm-s.cc: Don't perform any 3757 OPERATORS/op-sm-cs.cc, OPERATORS/op-sm-s.cc: Don't perform any
3758 narrowing to full matrices. 3758 narrowing to full matrices.
3759 3759
3760 2009-02-20 Jaroslav Hajek <highegg@gmail.com> 3760 2009-02-20 Jaroslav Hajek <highegg@gmail.com>
3761 3761
3762 * ov-base-diag.h (octave_base_diag::sqrt): Remove. 3762 * ov-base-diag.h (octave_base_diag::sqrt): Remove.
3863 * file-io.cc: (Fmkstemp): Use mkstemps if it is available and 3863 * file-io.cc: (Fmkstemp): Use mkstemps if it is available and
3864 mkstemp is missing. 3864 mkstemp is missing.
3865 3865
3866 2009-02-17 Olaf Till <olaf.till@uni-jena.de> 3866 2009-02-17 Olaf Till <olaf.till@uni-jena.de>
3867 3867
3868 * DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/daspk.cc, 3868 * DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/daspk.cc,
3869 DLD-FUNCTIONS/dassl.cc, DLD-FUNCTIONS/dasrt.cc: Documentation fixes. 3869 DLD-FUNCTIONS/dassl.cc, DLD-FUNCTIONS/dasrt.cc: Documentation fixes.
3870 3870
3871 2009-02-17 Kai Habel <kai.habel@gmx.de> 3871 2009-02-17 Kai Habel <kai.habel@gmx.de>
3872 3872
3873 * DLD-FUNCTIONS/convhulln.cc (Fconvhulln): Compute convex hull 3873 * DLD-FUNCTIONS/convhulln.cc (Fconvhulln): Compute convex hull
3910 result is map, return class object, not simple struct. 3910 result is map, return class object, not simple struct.
3911 3911
3912 * symtab.cc 3912 * symtab.cc
3913 (symbol_table::fcn_info::fcn_info_rep::load_private_function): 3913 (symbol_table::fcn_info::fcn_info_rep::load_private_function):
3914 Pass dir_name to load_fcn_from_file. 3914 Pass dir_name to load_fcn_from_file.
3915 3915
3916 2009-02-17 Jaroslav Hajek <highegg@gmail.com> 3916 2009-02-17 Jaroslav Hajek <highegg@gmail.com>
3917 3917
3918 * DLD-FUNCTIONS/data.cc (NATIVE_REDUCTION): Add BOOL_FCN argument. 3918 * DLD-FUNCTIONS/data.cc (NATIVE_REDUCTION): Add BOOL_FCN argument.
3919 (NATIVE_REDUCTION_1): Check integer overflow flags and possibly gripe. 3919 (NATIVE_REDUCTION_1): Check integer overflow flags and possibly gripe.
3920 (Fsum): Reflect change. 3920 (Fsum): Reflect change.
3994 * lex.h, lex.l (lexer_flags::at_beginning_of_statement): 3994 * lex.h, lex.l (lexer_flags::at_beginning_of_statement):
3995 New data member. Set it as needed in rules. 3995 New data member. Set it as needed in rules.
3996 (is_keyword_token): 3996 (is_keyword_token):
3997 Handle lexer_flags::at_beginning_of_statement. 3997 Handle lexer_flags::at_beginning_of_statement.
3998 (next_token_can_follow_bin_op, looks_like_command_arg): New functions. 3998 (next_token_can_follow_bin_op, looks_like_command_arg): New functions.
3999 (handle_identifier): Use them to determine 3999 (handle_identifier): Use them to determine
4000 Don't check is_command_name or is_rawcommand_name. 4000 Don't check is_command_name or is_rawcommand_name.
4001 * parse.y (statement): Recognize word_list_cmd here. 4001 * parse.y (statement): Recognize word_list_cmd here.
4002 (expression): Not here. 4002 (expression): Not here.
4003 4003
4004 * lex.l (handle_string): Delete arg TEXT_STYLE. 4004 * lex.l (handle_string): Delete arg TEXT_STYLE.
4084 for octave_values. 4084 for octave_values.
4085 4085
4086 2009-02-11 Thomas Treichl <Thomas.Treichl@gmx.net> 4086 2009-02-11 Thomas Treichl <Thomas.Treichl@gmx.net>
4087 4087
4088 * gl-render.h: Use HAVE_FRAMEWORK_OPENGL. 4088 * gl-render.h: Use HAVE_FRAMEWORK_OPENGL.
4089 * gl-render.cc (opengl_tesselator, opengl_renderer::draw, 4089 * gl-render.cc (opengl_tesselator, opengl_renderer::draw,
4090 opengl_renderer::init_marker): Use HAVE_FRAMEWORK_OPENGL. 4090 opengl_renderer::init_marker): Use HAVE_FRAMEWORK_OPENGL.
4091 4091
4092 2009-02-11 Jaroslav Hajek <highegg@gmail.com> 4092 2009-02-11 Jaroslav Hajek <highegg@gmail.com>
4093 4093
4094 * ov.h (octave_value::issorted, octave_value::sortrows_idx, 4094 * ov.h (octave_value::issorted, octave_value::sortrows_idx,
4095 octave_value::issorted_rows): New methods. 4095 octave_value::issorted_rows): New methods.
4096 * ov.cc (octave_base_value::issorted, octave_base_value::sortrows_idx, 4096 * ov.cc (octave_base_value::issorted, octave_base_value::sortrows_idx,
4203 * oct-map.cc (Octave_map::index): Ditto. 4203 * oct-map.cc (Octave_map::index): Ditto.
4204 * ov-base-mat.cc (octave_base_mat::do_index_op): Optimize scalar 4204 * ov-base-mat.cc (octave_base_mat::do_index_op): Optimize scalar
4205 indexing case. 4205 indexing case.
4206 (octave_base_mat::assign (const octave_value_list&, const MT&)): 4206 (octave_base_mat::assign (const octave_value_list&, const MT&)):
4207 Specialize variable argument number. 4207 Specialize variable argument number.
4208 (octave_base_mat::assign (const octave_value_list&, const 4208 (octave_base_mat::assign (const octave_value_list&, const
4209 typename MT::element_type&)): 4209 typename MT::element_type&)):
4210 New method overload with optimized scalar indexing case. 4210 New method overload with optimized scalar indexing case.
4211 4211
4212 * ov-cell.cc (octave_base_matrix<Cell>::do_index_op, 4212 * ov-cell.cc (octave_base_matrix<Cell>::do_index_op,
4213 octave_base_matrix<Cell>::assign, 4213 octave_base_matrix<Cell>::assign,
4242 Avoid unused parameter warning. 4242 Avoid unused parameter warning.
4243 * pt-eval.cc (tree_evaluator::visit_if_clause): Likewise. 4243 * pt-eval.cc (tree_evaluator::visit_if_clause): Likewise.
4244 * ov-typeinfo.cc (octave_value_typeinfo::do_register_type): Likewise. 4244 * ov-typeinfo.cc (octave_value_typeinfo::do_register_type): Likewise.
4245 * ov-base.cc (octave_base_value::subsref (const std::string&, 4245 * ov-base.cc (octave_base_value::subsref (const std::string&,
4246 const std::list<octave_value_list>&, bool): Likewise. 4246 const std::list<octave_value_list>&, bool): Likewise.
4247 * ov-flt-cx-diag.cc (octave_float_complex_diag_matrix::save_binary): 4247 * ov-flt-cx-diag.cc (octave_float_complex_diag_matrix::save_binary):
4248 Likewise. 4248 Likewise.
4249 4249
4250 * oct-hdf5.h: New file. 4250 * oct-hdf5.h: New file.
4251 * ls-hdf5.cc, ov-base.h, ov.h: Include oct-hdf5.h instead of hdf5.h. 4251 * ls-hdf5.cc, ov-base.h, ov.h: Include oct-hdf5.h instead of hdf5.h.
4252 * ls-hdf5.h: Include oct-hdf5.h. 4252 * ls-hdf5.h: Include oct-hdf5.h.
4277 evaluating_function_body and evaluating_looping_command. 4277 evaluating_function_body and evaluating_looping_command.
4278 4278
4279 * pt-eval.h (tree_evaluator::in_function_or_script_body): 4279 * pt-eval.h (tree_evaluator::in_function_or_script_body):
4280 Delete member variable and all uses. 4280 Delete member variable and all uses.
4281 (tree_evaluator::reset): Delete function and all uses. 4281 (tree_evaluator::reset): Delete function and all uses.
4282 4282
4283 * pt-eval.cc, pt-eval.h (tree_evaluator::in_fcn_or_script_body, 4283 * pt-eval.cc, pt-eval.h (tree_evaluator::in_fcn_or_script_body,
4284 tree_evaluator::in_loop_command): New static variables. 4284 tree_evaluator::in_loop_command): New static variables.
4285 (tree_evaluator::visit_simple_for_command, 4285 (tree_evaluator::visit_simple_for_command,
4286 tree_evaluator::visit_complex_for_command, 4286 tree_evaluator::visit_complex_for_command,
4287 tree_evaluator::visit_while_command, 4287 tree_evaluator::visit_while_command,
4289 tree_evaluator::in_loop_command instead of 4289 tree_evaluator::in_loop_command instead of
4290 evaluating_looping_command. 4290 evaluating_looping_command.
4291 (tree_evaluator::visit_statement): Only call echo_code if 4291 (tree_evaluator::visit_statement): Only call echo_code if
4292 evaluating function or script and (Vecho_executing_commands & 4292 evaluating function or script and (Vecho_executing_commands &
4293 ECHO_FUNCTIONS). Use tree_evaluator::in_fcn_or_script_body 4293 ECHO_FUNCTIONS). Use tree_evaluator::in_fcn_or_script_body
4294 instead of evaluating_function_body. 4294 instead of evaluating_function_body.
4295 4295
4296 * ov-usr-fcn.cc (octave_user_script::do_multi_index_op): 4296 * ov-usr-fcn.cc (octave_user_script::do_multi_index_op):
4297 octave_user_function::do_multi_index_op): Unwind-protect and set 4297 octave_user_function::do_multi_index_op): Unwind-protect and set
4298 tree_evaluator::in_fcn_or_script_body. 4298 tree_evaluator::in_fcn_or_script_body.
4299 4299
4353 * pt-stmt.h: Delete decl. 4353 * pt-stmt.h: Delete decl.
4354 4354
4355 * pt-stmt.cc, pt-stmt.h (tree_statement::is_command, 4355 * pt-stmt.cc, pt-stmt.h (tree_statement::is_command,
4356 tree_statement::is_expression, tree_statement::line, 4356 tree_statement::is_expression, tree_statement::line,
4357 tree_statement::column): Now const. 4357 tree_statement::column): Now const.
4358 4358
4359 * pt-stmt.cc (tree_statement::set_print_flag, 4359 * pt-stmt.cc (tree_statement::set_print_flag,
4360 tree_statement::is_end_of_fcn_or_script): New functions. 4360 tree_statement::is_end_of_fcn_or_script): New functions.
4361 * pt-stmt.h: Provide decl. 4361 * pt-stmt.h: Provide decl.
4362 (set_breakpoint, delete_breakpoint, is_breakpoint): New function. 4362 (set_breakpoint, delete_breakpoint, is_breakpoint): New function.
4363 (bp): New member variable. 4363 (bp): New member variable.
4374 * pt-decl.h: Delete decls. 4374 * pt-decl.h: Delete decls.
4375 (tree_decl_elt::eval_fcn): Delete typedef. 4375 (tree_decl_elt::eval_fcn): Delete typedef.
4376 4376
4377 * pt-decl.cc (tree_global_command::accept, 4377 * pt-decl.cc (tree_global_command::accept,
4378 tree_static_command::accept): New functions. 4378 tree_static_command::accept): New functions.
4379 4379
4380 * pt-stmt.cc (tree_statement::print_result): Move here from 4380 * pt-stmt.cc (tree_statement::print_result): Move here from
4381 pt-stmt.h. Return true if expr is printable. 4381 pt-stmt.h. Return true if expr is printable.
4382 4382
4383 * ov-base.cc (Vsilent_functions): Delete. 4383 * ov-base.cc (Vsilent_functions): Delete.
4384 (octave_base_value::print_with_name): Don't check 4384 (octave_base_value::print_with_name): Don't check
4513 tree_print_code::do_decl_command): New functions. 4513 tree_print_code::do_decl_command): New functions.
4514 (tree_print_code::visit_decl_command): Delete. 4514 (tree_print_code::visit_decl_command): Delete.
4515 4515
4516 * pt-check.h, pt-check.cc (tree_checker::visit_global_command, 4516 * pt-check.h, pt-check.cc (tree_checker::visit_global_command,
4517 tree_checker::visit_static_command, tree_checker::do_decl_command): 4517 tree_checker::visit_static_command, tree_checker::do_decl_command):
4518 New functions. 4518 New functions.
4519 (tree_checker::visit_decl_command): Delete. 4519 (tree_checker::visit_decl_command): Delete.
4520 4520
4521 * pt-select.cc (tree_switch_case::label_matches): Call rvalue1 4521 * pt-select.cc (tree_switch_case::label_matches): Call rvalue1
4522 instead of rvalue. 4522 instead of rvalue.
4523 4523
4688 4688
4689 * pt-cell.cc (tree_cell::rvalue): Optimize the single row case. 4689 * pt-cell.cc (tree_cell::rvalue): Optimize the single row case.
4690 4690
4691 2009-01-24 Jaroslav Hajek <highegg@gmail.com> 4691 2009-01-24 Jaroslav Hajek <highegg@gmail.com>
4692 4692
4693 * ov-struct.cc (octave_struct::subsasgn): Reshape cs-list on rhs 4693 * ov-struct.cc (octave_struct::subsasgn): Reshape cs-list on rhs
4694 according to the index expression. 4694 according to the index expression.
4695 * ov-cell.cc (octave_cell::subsasgn): Ditto. 4695 * ov-cell.cc (octave_cell::subsasgn): Ditto.
4696 4696
4697 2008-12-25 Ben Abbott <bpabbott@mac.com> 4697 2008-12-25 Ben Abbott <bpabbott@mac.com>
4698 4698
4706 4706
4707 2009-01-25 Søren Hauberg <hauberg@gmail.com> 4707 2009-01-25 Søren Hauberg <hauberg@gmail.com>
4708 4708
4709 * help.cc (do_get_help_text, raw_help_from_symbol_table): new output to 4709 * help.cc (do_get_help_text, raw_help_from_symbol_table): new output to
4710 flag the a function is found but not documented. 4710 flag the a function is found but not documented.
4711 4711
4712 2009-01-25 Søren Hauberg <hauberg@gmail.com> 4712 2009-01-25 Søren Hauberg <hauberg@gmail.com>
4713 4713
4714 * help.cc (raw_help_from_file): No longer search for files called 4714 * help.cc (raw_help_from_file): No longer search for files called
4715 'Contents.m', as this is moved to 'script/help.m'. 4715 'Contents.m', as this is moved to 'script/help.m'.
4716 4716
4717 4717
4718 2009-01-23 John W. Eaton <jwe@octave.org> 4718 2009-01-23 John W. Eaton <jwe@octave.org>
4719 4719
4720 * toplev.cc (octave_call_stack::do_goto_caller_frame): 4720 * toplev.cc (octave_call_stack::do_goto_caller_frame):
4721 Also allow caller frame to be base frame, not just user code. 4721 Also allow caller frame to be base frame, not just user code.
4727 * gripes.h: Declare them. 4727 * gripes.h: Declare them.
4728 * pt-idx.cc: Remove definitions of the above funcs. 4728 * pt-idx.cc: Remove definitions of the above funcs.
4729 * ov-cell.cc (octave_cell::subsref): Declare constants as const. 4729 * ov-cell.cc (octave_cell::subsref): Declare constants as const.
4730 (octave_cell::subsasgn): Remove dead branch, declare constants as const. 4730 (octave_cell::subsasgn): Remove dead branch, declare constants as const.
4731 (octave_cell::list_value): Optimize. 4731 (octave_cell::list_value): Optimize.
4732 * ov-struct.cc 4732 * ov-struct.cc
4733 (octave_struct::subsref): Declare constants as const. 4733 (octave_struct::subsref): Declare constants as const.
4734 (octave_struct::subsasgn): Remove dead branch, declare constants as const. 4734 (octave_struct::subsasgn): Remove dead branch, declare constants as const.
4735 * ov-cs-list.cc (octave_cs_list::octave_cs_list (const Cell&)): 4735 * ov-cs-list.cc (octave_cs_list::octave_cs_list (const Cell&)):
4736 Optimize. 4736 Optimize.
4737 * oct-obj.cc (octave_value_list::octave_value_list (const 4737 * oct-obj.cc (octave_value_list::octave_value_list (const
4816 * graphics.cc (properties::init): Set default xlabel, ylabel, 4816 * graphics.cc (properties::init): Set default xlabel, ylabel,
4817 zlabel, and title properties that differ from default text 4817 zlabel, and title properties that differ from default text
4818 properties. 4818 properties.
4819 4819
4820 2009-01-21 Jaroslav Hajek <highegg@gmail.com> 4820 2009-01-21 Jaroslav Hajek <highegg@gmail.com>
4821 4821
4822 * OPERATORS/op-range.cc: Define & register range-scalar ops. 4822 * OPERATORS/op-range.cc: Define & register range-scalar ops.
4823 4823
4824 2009-01-21 Jaroslav Hajek <highegg@gmail.com> 4824 2009-01-21 Jaroslav Hajek <highegg@gmail.com>
4825 4825
4826 * ov.h (octave_value::subsref (..., bool auto_add)): New method. 4826 * ov.h (octave_value::subsref (..., bool auto_add)): New method.
4843 virtual method. 4843 virtual method.
4844 * ov-struct.h (octave_struct::dotref (..., bool auto_add)): Declare it. 4844 * ov-struct.h (octave_struct::dotref (..., bool auto_add)): Declare it.
4845 * pt-idx.cc (tree_index_expression::rvalue): Do not reevaluate already 4845 * pt-idx.cc (tree_index_expression::rvalue): Do not reevaluate already
4846 evaluated part of the index chain. 4846 evaluated part of the index chain.
4847 (tree_index_expression::rvalue): Do not reevaluate already evaluated 4847 (tree_index_expression::rvalue): Do not reevaluate already evaluated
4848 part of the index chain. Do not actually perform trailing indexing. 4848 part of the index chain. Do not actually perform trailing indexing.
4849 Do not allow indexing cs-lists. 4849 Do not allow indexing cs-lists.
4850 4850
4851 2009-01-20 John W. Eaton <jwe@octave.org> 4851 2009-01-20 John W. Eaton <jwe@octave.org>
4852 4852
4853 * file-io.cc (Ffstat): New function. 4853 * file-io.cc (Ffstat): New function.
4951 elements of output to false with constructor argument. 4951 elements of output to false with constructor argument.
4952 4952
4953 2009-01-12 Thorsten Meyer <thorsten.meyier@gmx.de> 4953 2009-01-12 Thorsten Meyer <thorsten.meyier@gmx.de>
4954 4954
4955 * strfns.cc (Fstrncmp): New test. 4955 * strfns.cc (Fstrncmp): New test.
4956 4956
4957 2009-01-12 John W. Eaton <jwe@octave.org> 4957 2009-01-12 John W. Eaton <jwe@octave.org>
4958 4958
4959 * pt-stmt.h (tree_statement::is_null_statement): New function. 4959 * pt-stmt.h (tree_statement::is_null_statement): New function.
4960 * parse.y (set_stmt_print_flag): Return list. Remove trailing 4960 * parse.y (set_stmt_print_flag): Return list. Remove trailing
4961 null statements from list. 4961 null statements from list.
4981 to all_strings. 4981 to all_strings.
4982 4982
4983 2009-01-12 Thorsten Meyer <thorsten.meyier@gmx.de> 4983 2009-01-12 Thorsten Meyer <thorsten.meyier@gmx.de>
4984 4984
4985 * strfns.cc (Fstrvcap): New function. 4985 * strfns.cc (Fstrvcap): New function.
4986 4986
4987 2008-11-29 Thorsten Meyer <thorsten.meyier@gmx.de> 4987 2008-11-29 Thorsten Meyer <thorsten.meyier@gmx.de>
4988 4988
4989 * strfns.cc (Fchar, Fischar, Fstrncmp, Flist_in_columns): 4989 * strfns.cc (Fchar, Fischar, Fstrncmp, Flist_in_columns):
4990 Improve documentation strings. Add examples and tests. 4990 Improve documentation strings. Add examples and tests.
4991 4991
4992 2009-01-12 Jaroslav Hajek <highegg@gmail.com> 4992 2009-01-12 Jaroslav Hajek <highegg@gmail.com>
4993 4993
4994 * ov-perm.cc (octave_perm_matrix::do_index_op): Return shallow copy 4994 * ov-perm.cc (octave_perm_matrix::do_index_op): Return shallow copy
4995 when indexed by (:,:). 4995 when indexed by (:,:).
4996 * ov-base-mat.cc (octave_base_diag::do_index_op): Return shallow copy 4996 * ov-base-mat.cc (octave_base_diag::do_index_op): Return shallow copy
5005 methods to octave_value, octave_base_value and its relevant 5005 methods to octave_value, octave_base_value and its relevant
5006 subclasses. 5006 subclasses.
5007 * data.cc (Ffull): New DEFUN. 5007 * data.cc (Ffull): New DEFUN.
5008 * DLD-FUNCTIONS/sparse.cc (Ffull): move to data.cc. 5008 * DLD-FUNCTIONS/sparse.cc (Ffull): move to data.cc.
5009 2009-01-11 Jaroslav Hajek <highegg@gmail.com> 5009 2009-01-11 Jaroslav Hajek <highegg@gmail.com>
5010 5010
5011 * ov.h (octave_value::is_copy_of): New method. 5011 * ov.h (octave_value::is_copy_of): New method.
5012 * ov-struct.cc (numeric_conv): Add output parameter orig. 5012 * ov-struct.cc (numeric_conv): Add output parameter orig.
5013 (octave_struct::subsasgn): Temporarily erase duplicate lhs value prior 5013 (octave_struct::subsasgn): Temporarily erase duplicate lhs value prior
5014 to assignment. 5014 to assignment.
5015 5015
5039 * ov-cell.cc (octave_cell::subsasgn): Put erased copy back after 5039 * ov-cell.cc (octave_cell::subsasgn): Put erased copy back after
5040 make_unique has been called. 5040 make_unique has been called.
5041 5041
5042 2009-01-09 Kai Habel <kai.habel@gmx.de> 5042 2009-01-09 Kai Habel <kai.habel@gmx.de>
5043 5043
5044 * graphics.cc: Calculate normals for surface boundaries, use 5044 * graphics.cc: Calculate normals for surface boundaries, use
5045 more neighboring points to calculate interior normals 5045 more neighboring points to calculate interior normals
5046 5046
5047 2009-01-09 John W. Eaton <jwe@octave.org> 5047 2009-01-09 John W. Eaton <jwe@octave.org>
5048 5048
5049 * input.cc (get_user_input (void)): Don't increment input_line_number. 5049 * input.cc (get_user_input (void)): Don't increment input_line_number.
5050 * lex.l (xunput): New function. Use it in place of yyunput 5050 * lex.l (xunput): New function. Use it in place of yyunput
5070 (make_statement_list, append_statement_list): New functions. 5070 (make_statement_list, append_statement_list): New functions.
5071 (simple_list1, list1): Use them. 5071 (simple_list1, list1): Use them.
5072 5072
5073 2009-01-08 Jaroslav Hajek <highegg@gmail.com> 5073 2009-01-08 Jaroslav Hajek <highegg@gmail.com>
5074 5074
5075 * ov-cell.cc (octave_cell::subsasgn): Erase duplicate lhs value 5075 * ov-cell.cc (octave_cell::subsasgn): Erase duplicate lhs value
5076 prior to assignment to avoid a redundant copy. 5076 prior to assignment to avoid a redundant copy.
5077 5077
5078 2008-12-26 Thorsten Meyer <thorsten.meyier@gmx.de> 5078 2008-12-26 Thorsten Meyer <thorsten.meyier@gmx.de>
5079 5079
5080 * mappers.cc (Ftoascii), mappers.cc (Ftolower), mappers.cc 5080 * mappers.cc (Ftoascii), mappers.cc (Ftolower), mappers.cc
5081 (Ftoupper), DLD-FUNCTIONS/regexp.cc (Fregexp), 5081 (Ftoupper), DLD-FUNCTIONS/regexp.cc (Fregexp),
5082 DLD-FUNCTIONS/regexp.cc (Fregexpi), DLD-FUNCTIONS/regexp.cc 5082 DLD-FUNCTIONS/regexp.cc (Fregexpi), DLD-FUNCTIONS/regexp.cc
5083 (Fregexprep): Add references. 5083 (Fregexprep): Add references.
5084 5084
5085 2008-12-27 Jaroslav Hajek <highegg@gmail.com> 5085 2008-12-27 Jaroslav Hajek <highegg@gmail.com>
5086 5086
5087 * oct-obj.h, oct-obj.cc (octave_value_list::valid_scalar_indices): Remove. 5087 * oct-obj.h, oct-obj.cc (octave_value_list::valid_scalar_indices): Remove.
5088 * ov-base-diag.cc, ov-base-diag.h, ov-base-scalar.cc, ov-base.h, 5088 * ov-base-diag.cc, ov-base-diag.h, ov-base-scalar.cc, ov-base.h,
5089 ov-bool-mat.cc, ov-bool-mat.h, ov-bool-sparse.cc, ov-bool-sparse.h, 5089 ov-bool-mat.cc, ov-bool-mat.h, ov-bool-sparse.cc, ov-bool-sparse.h,
5145 5145
5146 * ls-hdf5.cc (add_hdf5_data): Check for diagonal & permutation 5146 * ls-hdf5.cc (add_hdf5_data): Check for diagonal & permutation
5147 matrices and convert them to full prior to saving. 5147 matrices and convert them to full prior to saving.
5148 5148
5149 2008-12-11 Jaroslav Hajek <highegg@gmail.com> 5149 2008-12-11 Jaroslav Hajek <highegg@gmail.com>
5150 5150
5151 * ov-re-mat.cc (Fdouble): Handle diagonal & perm matrices. 5151 * ov-re-mat.cc (Fdouble): Handle diagonal & perm matrices.
5152 * ov-flt-re-mat.cc (Fsingle): Handle diagonal & perm matrices. 5152 * ov-flt-re-mat.cc (Fsingle): Handle diagonal & perm matrices.
5153 5153
5154 2008-12-11 Jaroslav Hajek <highegg@gmail.com> 5154 2008-12-11 Jaroslav Hajek <highegg@gmail.com>
5155 5155
5156 * ov-base-diag.cc (octave_base_diag<DMT,MT>::subsasgn): New method. 5156 * ov-base-diag.cc (octave_base_diag<DMT,MT>::subsasgn): New method.
5157 * ov-base-diag.h (octave_base_diag<DMT,MT>::subsasgn): Declare it. 5157 * ov-base-diag.h (octave_base_diag<DMT,MT>::subsasgn): Declare it.
5161 override. 5161 override.
5162 * ov-re-diag.h: Declare it. 5162 * ov-re-diag.h: Declare it.
5163 * ov-flt-re-diag.cc (octave_float_diag_matrix::chk_valid_scalar): New 5163 * ov-flt-re-diag.cc (octave_float_diag_matrix::chk_valid_scalar): New
5164 method override. 5164 method override.
5165 * ov-flt-re-diag.h: Declare it. 5165 * ov-flt-re-diag.h: Declare it.
5166 * ov-cx-diag.cc (octave_complex_diag_matrix::chk_valid_scalar): New 5166 * ov-cx-diag.cc (octave_complex_diag_matrix::chk_valid_scalar): New
5167 method override. 5167 method override.
5168 * ov-cx-diag.h: Declare it. 5168 * ov-cx-diag.h: Declare it.
5169 * ov-flt-cx-diag.cc (octave_float_complex_diag_matrix::chk_valid_scalar): 5169 * ov-flt-cx-diag.cc (octave_float_complex_diag_matrix::chk_valid_scalar):
5170 New method override. 5170 New method override.
5171 * ov-flt-cx-diag.h: Declare it. 5171 * ov-flt-cx-diag.h: Declare it.
5172 5172
5173 2008-12-10 Jaroslav Hajek <highegg@gmail.com> 5173 2008-12-10 Jaroslav Hajek <highegg@gmail.com>
5174 5174
5180 * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::empty_clone): Construct an 5180 * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::empty_clone): Construct an
5181 empty matrix instead of zero. 5181 empty matrix instead of zero.
5182 5182
5183 2008-12-07 Thorsten Meyer <thorsten.meyier@gmx.de> 5183 2008-12-07 Thorsten Meyer <thorsten.meyier@gmx.de>
5184 5184
5185 * mappers.cc (Ftolower): Make lower alias of tolower, add tests 5185 * mappers.cc (Ftolower): Make lower alias of tolower, add tests
5186 * mappers.cc (Ftoupper): Make upper alias of toupper, add tests 5186 * mappers.cc (Ftoupper): Make upper alias of toupper, add tests
5187 5187
5188 2008-12-09 Jaroslav Hajek <highegg@gmail.com> 5188 2008-12-09 Jaroslav Hajek <highegg@gmail.com>
5189 5189
5190 * DLD-FUNCTIONS/balance.cc (Fbalance): Exploit the new AEPBAL functionality. 5190 * DLD-FUNCTIONS/balance.cc (Fbalance): Exploit the new AEPBAL functionality.
5191 5191
5192 2008-12-08 Jaroslav Hajek <highegg@gmail.com> 5192 2008-12-08 Jaroslav Hajek <highegg@gmail.com>
5193 5193
5194 * xpow.cc ( xpow (const DiagMatrix& a, double b), 5194 * xpow.cc ( xpow (const DiagMatrix& a, double b),
5195 xpow (const DiagMatrix& a, const Complex& b), 5195 xpow (const DiagMatrix& a, const Complex& b),
5196 xpow (const ComplexDiagMatrix& a, double b), 5196 xpow (const ComplexDiagMatrix& a, double b),
5197 xpow (const ComplexDiagMatrix& a, const Complex& b), 5197 xpow (const ComplexDiagMatrix& a, const Complex& b),
5198 xpow (const FloatDiagMatrix& a, float b), 5198 xpow (const FloatDiagMatrix& a, float b),
5199 xpow (const FloatDiagMatrix& a, const FloatComplex& b), 5199 xpow (const FloatDiagMatrix& a, const FloatComplex& b),
5200 xpow (const FloatComplexDiagMatrix& a, float b), 5200 xpow (const FloatComplexDiagMatrix& a, float b),
5201 xpow (const FloatComplexDiagMatrix& a, const FloatComplex& b)): 5201 xpow (const FloatComplexDiagMatrix& a, const FloatComplex& b)):
5202 New methods. 5202 New methods.
5203 * xpow.h: Declare them. 5203 * xpow.h: Declare them.
5204 * OPERATORS/op-dms-template.cc: Support diagonal matrix ^ scalar. 5204 * OPERATORS/op-dms-template.cc: Support diagonal matrix ^ scalar.
5205 5205
5235 ov-str-mat.cc, ov-struct.cc, toplev.cc, 5235 ov-str-mat.cc, ov-struct.cc, toplev.cc,
5236 DLD-FUNCTIONS/__lin_interpn__.cc, DLD-FUNCTIONS/amd.cc, 5236 DLD-FUNCTIONS/__lin_interpn__.cc, DLD-FUNCTIONS/amd.cc,
5237 DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc, 5237 DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc,
5238 DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/gcd.cc, 5238 DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/gcd.cc,
5239 DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/regexp.cc, 5239 DLD-FUNCTIONS/matrix_type.cc, DLD-FUNCTIONS/regexp.cc,
5240 DLD-FUNCTIONS/symbfact.cc, DLD-FUNCTIONS/symrcm.cc: 5240 DLD-FUNCTIONS/symbfact.cc, DLD-FUNCTIONS/symrcm.cc:
5241 Include oct-locbuf.h. 5241 Include oct-locbuf.h.
5242 5242
5243 2008-12-05 Jaroslav Hajek <highegg@gmail.com> 5243 2008-12-05 Jaroslav Hajek <highegg@gmail.com>
5244 5244
5245 * ov-base-diag.cc (save_ascii, load_ascii): Save natively. 5245 * ov-base-diag.cc (save_ascii, load_ascii): Save natively.
5247 * ov-perm.cc (save_ascii, load_ascii): Save natively. 5247 * ov-perm.cc (save_ascii, load_ascii): Save natively.
5248 * ov-perm.h (load_ascii): Declare. 5248 * ov-perm.h (load_ascii): Declare.
5249 5249
5250 2008-12-04 Thorsten Meyer <thorsten.meyier@gmx.de> 5250 2008-12-04 Thorsten Meyer <thorsten.meyier@gmx.de>
5251 5251
5252 * strfns.cc (Fchar): Add test from str2mat.m 5252 * strfns.cc (Fchar): Add test from str2mat.m
5253 5253
5254 2008-12-04 Jaroslav Hajek <highegg@gmail.com> 5254 2008-12-04 Jaroslav Hajek <highegg@gmail.com>
5255 5255
5256 * ov.h (octave_value::is_perm_matrix): New method. 5256 * ov.h (octave_value::is_perm_matrix): New method.
5257 * ov-base.h (octave_base_value::is_perm_matrix): New method. 5257 * ov-base.h (octave_base_value::is_perm_matrix): New method.
5258 * ov-perm.h (octave_perm_matrix::is_perm_matrix): New method. 5258 * ov-perm.h (octave_perm_matrix::is_perm_matrix): New method.
5292 * debug.cc (bp_table::do_get_breakpoint_list): Style fixes. 5292 * debug.cc (bp_table::do_get_breakpoint_list): Style fixes.
5293 5293
5294 2008-12-01 Jaroslav Hajek <highegg@gmail.com> 5294 2008-12-01 Jaroslav Hajek <highegg@gmail.com>
5295 5295
5296 * ov-base.h (octave_base_value::is_diag_matrix): New virtual method. 5296 * ov-base.h (octave_base_value::is_diag_matrix): New virtual method.
5297 * ops.h (CONCAT2, CONCAT3): New macros. Use CONCAT macros instead of 5297 * ops.h (CONCAT2, CONCAT3): New macros. Use CONCAT macros instead of
5298 direct token pasting to avoid disabling argument prescan. 5298 direct token pasting to avoid disabling argument prescan.
5299 * xdiv.cc, xdiv.h: Implement xdiv and xleftdiv overloads for diagonal 5299 * xdiv.cc, xdiv.h: Implement xdiv and xleftdiv overloads for diagonal
5300 and mixed dense-diagonal operands. 5300 and mixed dense-diagonal operands.
5301 5301
5302 * ov-re-diag.h: New source. 5302 * ov-re-diag.h: New source.
5390 2008-11-24 David Bateman <dbateman@free.fr> 5390 2008-11-24 David Bateman <dbateman@free.fr>
5391 5391
5392 * graphics.cc (F__go_delete__): Check validity of handles before 5392 * graphics.cc (F__go_delete__): Check validity of handles before
5393 deleting them to avoid issues with callback function also deleting 5393 deleting them to avoid issues with callback function also deleting
5394 the handles. 5394 the handles.
5395 5395
5396 2008-11-21 John Swensen <jpswensen@comcast.net> 5396 2008-11-21 John Swensen <jpswensen@comcast.net>
5397 5397
5398 * debug.cc (bp_table::do_get_breakpoint_list): Avoid modifying 5398 * debug.cc (bp_table::do_get_breakpoint_list): Avoid modifying
5399 bp_map while iterating over it. 5399 bp_map while iterating over it.
5400 5400
5401 2008-11-21 Jarkko Kaleva <d3roga@gmail.com> 5401 2008-11-21 Jarkko Kaleva <d3roga@gmail.com>
5402 5402
5403 * DLD-FUNCTIONS/eig.cc (Feig): Handle generalized eigenvalues and 5403 * DLD-FUNCTIONS/eig.cc (Feig): Handle generalized eigenvalues and
5404 eigenvectors. 5404 eigenvectors.
5405 5405
5406 2008-11-19 Jaroslav Hajek <highegg@gmail.com> 5406 2008-11-19 Jaroslav Hajek <highegg@gmail.com>
5407 5407
5408 * DLD_FUNCTIONS/det.cc: Include only DET.h. Retrieve & matrix type & 5408 * DLD_FUNCTIONS/det.cc: Include only DET.h. Retrieve & matrix type &
5439 OCTAVE_VALUE_INT_SCALAR_T::increment, 5439 OCTAVE_VALUE_INT_SCALAR_T::increment,
5440 OCTAVE_VALUE_INT_SCALAR_T::decrement): Convert 1 to OCTAVE_INT_T. 5440 OCTAVE_VALUE_INT_SCALAR_T::decrement): Convert 1 to OCTAVE_INT_T.
5441 5441
5442 2008-11-15 Thorsten Meyer <thorsten.meyier@gmx.de> 5442 2008-11-15 Thorsten Meyer <thorsten.meyier@gmx.de>
5443 5443
5444 * strfns.cc (Fchar): adapt to conserve empty strings, add tests 5444 * strfns.cc (Fchar): adapt to conserve empty strings, add tests
5445 5445
5446 2008-11-12 Michael Goffioul <michael.goffioul@gmail.com> 5446 2008-11-12 Michael Goffioul <michael.goffioul@gmail.com>
5447 5447
5448 * dirfcn.cc (Ffilesep): Make it return all file separators when 'all' 5448 * dirfcn.cc (Ffilesep): Make it return all file separators when 'all'
5449 is given as argument. 5449 is given as argument.
5450 5450
5476 * data.cc (Fnorm): Call xnorm, xcolnorms, xrownorms or xfrobnorm 5476 * data.cc (Fnorm): Call xnorm, xcolnorms, xrownorms or xfrobnorm
5477 to do the actual work. 5477 to do the actual work.
5478 5478
5479 2008-10-31 David Bateman <dbateman@free.fr> 5479 2008-10-31 David Bateman <dbateman@free.fr>
5480 5480
5481 * ov-base-scalar.h (octave_value octave_base_scalar::reshape 5481 * ov-base-scalar.h (octave_value octave_base_scalar::reshape
5482 (const dim_vector&) const): New method. 5482 (const dim_vector&) const): New method.
5483 5483
5484 2008-10-30 John W. Eaton <jwe@octave.org> 5484 2008-10-30 John W. Eaton <jwe@octave.org>
5485 5485
5486 * oct-map.cc (Octave_map::index): Copy key_list. 5486 * oct-map.cc (Octave_map::index): Copy key_list.
5487 5487
5488 2008-10-31 David Bateman <dbateman@free.fr> 5488 2008-10-31 David Bateman <dbateman@free.fr>
5489 5489
5490 * graphics.h.in (void image::init (void)): Add a constraint for 5490 * graphics.h.in (void image::init (void)): Add a constraint for
5491 logical cdata. 5491 logical cdata.
5492 5492
5493 * graphics.h.in (base_property::delete_listener): New method. 5493 * graphics.h.in (base_property::delete_listener): New method.
5494 (property::delete_listener): New method. 5494 (property::delete_listener): New method.
5495 (base_graphics_object::delete_listener): New method. 5495 (base_graphics_object::delete_listener): New method.
5496 (base_graphics_object::delete_property_listener): New method. 5496 (base_graphics_object::delete_property_listener): New method.
5497 (base_graphics_object::remove_all_listeners): New method. 5497 (base_graphics_object::remove_all_listeners): New method.
5499 (axes::set_defaults): Call remove_all_listeners. 5499 (axes::set_defaults): Call remove_all_listeners.
5500 * graphics.cc (void base_properties::delete_listener): New method 5500 * graphics.cc (void base_properties::delete_listener): New method
5501 (void base_graphics_object::remove_all_listeners (void)): New method 5501 (void base_graphics_object::remove_all_listeners (void)): New method
5502 (Fdellistener): New command to remove listener functions associated 5502 (Fdellistener): New command to remove listener functions associated
5503 with a property. 5503 with a property.
5504 5504
5505 2008-10-30 David Bateman <dbateman@free.fr> 5505 2008-10-30 David Bateman <dbateman@free.fr>
5506 5506
5507 * graphics.h.in (axes::properties): Add keyreverse property. 5507 * graphics.h.in (axes::properties): Add keyreverse property.
5508 * graphics.cc (axes::properties::set_defaults): Initialize 5508 * graphics.cc (axes::properties::set_defaults): Initialize
5509 keyreverse property. 5509 keyreverse property.
5545 * syscalls.cc (Fwaitpid): Replace WCONTINUED by WCONTINUE. 5545 * syscalls.cc (Fwaitpid): Replace WCONTINUED by WCONTINUE.
5546 * oct-hist.cc (Fhistory_size, Fsaving_history): Fix @seealso 5546 * oct-hist.cc (Fhistory_size, Fsaving_history): Fix @seealso
5547 references to history_timestamp_format_string. 5547 references to history_timestamp_format_string.
5548 * DLD-FUNCTIONS/luinc.cc (Fluinc): Remove reference to missing 5548 * DLD-FUNCTIONS/luinc.cc (Fluinc): Remove reference to missing
5549 function cholinc. 5549 function cholinc.
5550 5550
5551 2008-10-29 Jaroslav Hajek <highegg@gmail.com> 5551 2008-10-29 Jaroslav Hajek <highegg@gmail.com>
5552 5552
5553 * DLD-FUNCTIONS/qr.cc (Fcholinsert, Fcholdelete, Fcholshift): Fix 5553 * DLD-FUNCTIONS/qr.cc (Fcholinsert, Fcholdelete, Fcholshift): Fix
5554 inline docs. 5554 inline docs.
5555 5555
5581 (figure_manager::do_delete_window): Rename from delete_window. 5581 (figure_manager::do_delete_window): Rename from delete_window.
5582 Now private. 5582 Now private.
5583 (figure_manager::do_mark_modified): Rename from mark_modified. 5583 (figure_manager::do_mark_modified): Rename from mark_modified.
5584 Now private. 5584 Now private.
5585 (figure_manager::do_get_size): Rename from get_size. Now private. 5585 (figure_manager::do_get_size): Rename from get_size. Now private.
5586 (figure_manager::close_all, figure_manager::do_new_window, 5586 (figure_manager::close_all, figure_manager::do_new_window,
5587 figure_manager::do_delete_window, 5587 figure_manager::do_delete_window,
5588 figure_manager::do_mark_modified, figure_manager::do_get_size): 5588 figure_manager::do_mark_modified, figure_manager::do_get_size):
5589 New static functions. 5589 New static functions.
5590 (figure_manager::instance_ok): New function. 5590 (figure_manager::instance_ok): New function.
5591 (figure_manager::Instance): Delete. Eliminate all uses in favor 5591 (figure_manager::Instance): Delete. Eliminate all uses in favor
5659 * utils.cc (Fis_absolute_filename, Fis_rooted_relative_filename, 5659 * utils.cc (Fis_absolute_filename, Fis_rooted_relative_filename,
5660 Fmake_absolute_filename, Ffind_dir_in_path): New functions. 5660 Fmake_absolute_filename, Ffind_dir_in_path): New functions.
5661 5661
5662 2008-10-16 David Bateman <dbateman@free.fr> 5662 2008-10-16 David Bateman <dbateman@free.fr>
5663 5663
5664 * graphics.cc (void axes::properties::set_defaults 5664 * graphics.cc (void axes::properties::set_defaults
5665 (base_graphics_object&, const std::string&)): Preserve font 5665 (base_graphics_object&, const std::string&)): Preserve font
5666 and position properties if the axis is "replaced". 5666 and position properties if the axis is "replaced".
5667 5667
5668 2008-10-16 John W. Eaton <jwe@octave.org> 5668 2008-10-16 John W. Eaton <jwe@octave.org>
5669 5669
5674 * ov-class.c (Fsuperiorto, Finferiorto): Allow more than one class 5674 * ov-class.c (Fsuperiorto, Finferiorto): Allow more than one class
5675 to be defined at a time. 5675 to be defined at a time.
5676 5676
5677 2008-10-12 David Bateman <dbateman@free.fr> 5677 2008-10-12 David Bateman <dbateman@free.fr>
5678 5678
5679 * pt-colon.cc (octave_value tree_colon_expression::make_range 5679 * pt-colon.cc (octave_value tree_colon_expression::make_range
5680 (const octave_value&, const octave_value&, const octave_value&)): 5680 (const octave_value&, const octave_value&, const octave_value&)):
5681 Treating class overloading of colon operator. 5681 Treating class overloading of colon operator.
5682 (octave_value tree_colon_expression::rvalue (void)): Ditto. 5682 (octave_value tree_colon_expression::rvalue (void)): Ditto.
5683 5683
5684 2008-10-10 John W. Eaton <jwe@octave.org> 5684 2008-10-10 John W. Eaton <jwe@octave.org>
5716 const std::string&): Remove __colorbar__. 5716 const std::string&): Remove __colorbar__.
5717 (F__go_delete__): Don't delete if already being deleting to avoid 5717 (F__go_delete__): Don't delete if already being deleting to avoid
5718 recursion in callback functions. 5718 recursion in callback functions.
5719 (F__go_axes_init__): Flag error if handle is deleted during 5719 (F__go_axes_init__): Flag error if handle is deleted during
5720 initialization due. 5720 initialization due.
5721 5721
5722 2008-10-09 David Bateman <dbateman@free.fr> 5722 2008-10-09 David Bateman <dbateman@free.fr>
5723 5723
5724 * ov-class.cc (Octave_map octave_class::map_value (void) const): 5724 * ov-class.cc (Octave_map octave_class::map_value (void) const):
5725 Remove. 5725 Remove.
5726 (bool octave_class::save_ascii (std::ostream&), 5726 (bool octave_class::save_ascii (std::ostream&),
5727 bool octave_class::load_ascii (std::istream&), 5727 bool octave_class::load_ascii (std::istream&),
5728 bool octave_class::save_binary (std::ostream&, bool&), 5728 bool octave_class::save_binary (std::ostream&, bool&),
5729 bool octave_class::save_binary (std::ostream&, bool&), 5729 bool octave_class::save_binary (std::ostream&, bool&),
5730 bool octave_class::save_hdf5 (hid_t, const char *, bool), 5730 bool octave_class::save_hdf5 (hid_t, const char *, bool),
5731 bool octave_class::load_hdf5 (hid_t, const char *, bool)): 5731 bool octave_class::load_hdf5 (hid_t, const char *, bool)):
5732 Allow saving and reloading of classes. 5732 Allow saving and reloading of classes.
5733 * ov-class. (Octave_map octave_class::map_value (void) const): 5733 * ov-class. (Octave_map octave_class::map_value (void) const):
5734 Remove. 5734 Remove.
5735 * ls-mat.cc (std::string read_mat5_binary_element (std::istream&, 5735 * ls-mat.cc (std::string read_mat5_binary_element (std::istream&,
5736 const std::string&, bool, bool&, octave_value&), 5736 const std::string&, bool, bool&, octave_value&),
5737 int save_mat5_element_length (const octave_value&, const std::string&, 5737 int save_mat5_element_length (const octave_value&, const std::string&,
5738 bool, bool)): Allow saving and loading of classes. 5738 bool, bool)): Allow saving and loading of classes.
5739 * ls-oct-ascii.h (template <class T> bool extract_keyword 5739 * ls-oct-ascii.h (template <class T> bool extract_keyword
5740 (std::istream&, const char *, T&, const bool)): Initialize value with 5740 (std::istream&, const char *, T&, const bool)): Initialize value with
5741 null constructor rather than 0. 5741 null constructor rather than 0.
5742 5742
5743 2008-10-07 David Bateman <dbateman@free.fr> 5743 2008-10-07 David Bateman <dbateman@free.fr>
5744 5744
5745 * graphics.cc (F__go_delete__): Allow arrays of graphic handles. 5745 * graphics.cc (F__go_delete__): Allow arrays of graphic handles.
5746 5746
5747 2008-10-01 Jaroslav Hajek <highegg@gmail.com> 5747 2008-10-01 Jaroslav Hajek <highegg@gmail.com>
5792 * symtab.cc (symbol_table::fcn_info::fcn_info_rep::load_class_method): 5792 * symtab.cc (symbol_table::fcn_info::fcn_info_rep::load_class_method):
5793 Call load_class_constructor if name and dispatch_type are the same. 5793 Call load_class_constructor if name and dispatch_type are the same.
5794 5794
5795 2008-09-29 David Bateman <dbateman@free.fr> 5795 2008-09-29 David Bateman <dbateman@free.fr>
5796 5796
5797 * symtab.cc (octave_value symbol_table::find_function 5797 * symtab.cc (octave_value symbol_table::find_function
5798 (const std::string&, tree_argument_list *, const string_vector&, 5798 (const std::string&, tree_argument_list *, const string_vector&,
5799 octave_value_list&, bool&)): If first character of function name 5799 octave_value_list&, bool&)): If first character of function name
5800 is "@" then look for class specific method. 5800 is "@" then look for class specific method.
5801 5801
5802 2008-09-26 John W. Eaton <jwe@octave.org> 5802 2008-09-26 John W. Eaton <jwe@octave.org>
5824 * ov-null-mat.h: New header file. 5824 * ov-null-mat.h: New header file.
5825 * ov-null-mat.cc: New source. 5825 * ov-null-mat.cc: New source.
5826 * ov.h (octave_value::is_null_value, octave_value::non_null_value, 5826 * ov.h (octave_value::is_null_value, octave_value::non_null_value,
5827 octave_value::make_non_null_value): 5827 octave_value::make_non_null_value):
5828 Declare new member functions. 5828 Declare new member functions.
5829 * ov.cc (octave_value:non_null_value, octave_value::make_non_null_value): 5829 * ov.cc (octave_value:non_null_value, octave_value::make_non_null_value):
5830 Define them. 5830 Define them.
5831 (octave_value::assign (assign_op op, const octave_value& rhs)): 5831 (octave_value::assign (assign_op op, const octave_value& rhs)):
5832 (register_types): Register null types. 5832 (register_types): Register null types.
5833 Call non_null_value (). 5833 Call non_null_value ().
5834 * oct-obj.cc (octave_value_list::normalize_null_values): New member 5834 * oct-obj.cc (octave_value_list::normalize_null_values): New member
5835 function. 5835 function.
5836 * oct-obj.h (octave_value_list::normalize_null_values): Declare it. 5836 * oct-obj.h (octave_value_list::normalize_null_values): Declare it.
5837 * ov-base.h (is_null_value): New virtual member function. 5837 * ov-base.h (is_null_value): New virtual member function.
5838 * ops.h (NULLASSIGNOPDECL, DEFNULLASSIGNOP_FN): New macros. 5838 * ops.h (NULLASSIGNOPDECL, DEFNULLASSIGNOP_FN): New macros.
5839 * ov-base-mat.cc (octave_base_mat<MT>::delete_elements): New member func. 5839 * ov-base-mat.cc (octave_base_mat<MT>::delete_elements): New member func.
5840 * ov-base-mat.h: Declare it. 5840 * ov-base-mat.h: Declare it.
5841 * ov-base-sparse.cc (octave_base_sparse<MT>::delete_elements): New member func. 5841 * ov-base-sparse.cc (octave_base_sparse<MT>::delete_elements): New member func.
5842 * ov-base-sparse.h: Declare it. 5842 * ov-base-sparse.h: Declare it.
5843 * ov-cell.cc (octave_cell:subsasgn): Handle null values. 5843 * ov-cell.cc (octave_cell:subsasgn): Handle null values.
5844 * ov-struct.cc (octave_cell:subsasgn): Handle null values. 5844 * ov-struct.cc (octave_cell:subsasgn): Handle null values.
5845 * ov-builtin.cc (octave_builtin::do_multi_index_op): Normalize return 5845 * ov-builtin.cc (octave_builtin::do_multi_index_op): Normalize return
5846 values. 5846 values.
5847 * pt-misc.cc (tree_parameter_list::define_from_arg_vector): Call 5847 * pt-misc.cc (tree_parameter_list::define_from_arg_vector): Call
5848 octave_lvalue::define instead of octave_lvalue::assign. 5848 octave_lvalue::define instead of octave_lvalue::assign.
5925 bool, bool, std::string): Add final message argument and simple 5925 bool, bool, std::string): Add final message argument and simple
5926 treatment of the "-file" option. 5926 treatment of the "-file" option.
5927 5927
5928 2008-09-22 David Bateman <dbateman@free.fr> 5928 2008-09-22 David Bateman <dbateman@free.fr>
5929 5929
5930 * debug.cc (static octave_user_code * get_user_code 5930 * debug.cc (static octave_user_code * get_user_code
5931 (const std::string&)): Only check user code as break points can't 5931 (const std::string&)): Only check user code as break points can't
5932 be set in builtins or oct-files. 5932 be set in builtins or oct-files.
5933 (bp_table::intmap bp_table::do_remove_all_breakpoints_in_file 5933 (bp_table::intmap bp_table::do_remove_all_breakpoints_in_file
5934 (const std::string&, bool)): Add flag to silence the error message 5934 (const std::string&, bool)): Add flag to silence the error message
5935 from this function if a user code with breakpoints is not found. 5935 from this function if a user code with breakpoints is not found.
5936 (bp_table::fname_line_map bp_table::do_get_breakpoint_list (const 5936 (bp_table::fname_line_map bp_table::do_get_breakpoint_list (const
5937 octave_value_list&)): Do an ourt of date check on the function 5937 octave_value_list&)): Do an ourt of date check on the function
5938 before checking the breakpoints. 5938 before checking the breakpoints.
5939 * debug.h (do_remove_all_breakpoints_in_file, 5939 * debug.h (do_remove_all_breakpoints_in_file,
5940 remove_all_breakpoints_in_file): Add flag to silence error 5940 remove_all_breakpoints_in_file): Add flag to silence error
5941 message. 5941 message.
5942 * symtab.cc (out_of_date_check_internal): Clear breakpoints in 5942 * symtab.cc (out_of_date_check_internal): Clear breakpoints in
5943 function if out_of_date. split into two versions taking the 5943 function if out_of_date. split into two versions taking the
5944 octave_function pointer seperately or not. 5944 octave_function pointer seperately or not.
5945 * symtab.h (bool out_of_date_check (octave_function*)): New function. 5945 * symtab.h (bool out_of_date_check (octave_function*)): New function.
5946 5946
5947 2008-09-18 David Bateman <dbateman@free.fr> 5947 2008-09-18 David Bateman <dbateman@free.fr>
5948 5948
5949 * DLD-FUNCTIONS/fftw.cc (Ffftw): Clarify the documentation. 5949 * DLD-FUNCTIONS/fftw.cc (Ffftw): Clarify the documentation.
5950 5950
5951 2008-09-17 Krzesimir Nowak <qdlacz@gmail.com> 5951 2008-09-17 Krzesimir Nowak <qdlacz@gmail.com>
5962 const std::string&), void maybe_warn_string_concat (bool, bool)): 5962 const std::string&), void maybe_warn_string_concat (bool, bool)):
5963 Remove static declaration. 5963 Remove static declaration.
5964 * pt-mat.h (std::string get_concat_class (const std::string&, 5964 * pt-mat.h (std::string get_concat_class (const std::string&,
5965 const std::string&), void maybe_warn_string_concat (bool, bool)): 5965 const std::string&), void maybe_warn_string_concat (bool, bool)):
5966 Define extern here. 5966 Define extern here.
5967 5967
5968 * DLD-FUNCTIONS/sparse.cc (Fsparse): Clarify the help string. 5968 * DLD-FUNCTIONS/sparse.cc (Fsparse): Clarify the help string.
5969 5969
5970 2008-09-10 John W. Eaton <jwe@octave.org> 5970 2008-09-10 John W. Eaton <jwe@octave.org>
5971 5971
5972 * octave.cc (octave_main): Make all command-line arguments 5972 * octave.cc (octave_main): Make all command-line arguments
6006 6006
6007 * variables.cc (mlock): Lock current function on the call stack. 6007 * variables.cc (mlock): Lock current function on the call stack.
6008 (Fmlock): Lock caller. 6008 (Fmlock): Lock caller.
6009 6009
6010 * symtab.cc (out_of_date_check_internal): If dispatch type is set, 6010 * symtab.cc (out_of_date_check_internal): If dispatch type is set,
6011 check for method. If that fails, check for regular function. 6011 check for method. If that fails, check for regular function.
6012 6012
6013 2008-09-02 Michael Goffioul <michael.goffioul@gmail.com> 6013 2008-09-02 Michael Goffioul <michael.goffioul@gmail.com>
6014 6014
6015 * graphics.cc (hggroup::update_axis_limits): Also reacts on 6015 * graphics.cc (hggroup::update_axis_limits): Also reacts on
6016 [xyzac]liminclude changes. 6016 [xyzac]liminclude changes.
6026 * src/graphics.cc: Replace int by octave_idx_type in multiple 6026 * src/graphics.cc: Replace int by octave_idx_type in multiple
6027 places. 6027 places.
6028 (array_property::is_equal): In macro CHECK_ARRAY_EQUAL, special 6028 (array_property::is_equal): In macro CHECK_ARRAY_EQUAL, special
6029 case scalar case and keep copy of array value to avoid early 6029 case scalar case and keep copy of array value to avoid early
6030 destruction of converted array values. 6030 destruction of converted array values.
6031 6031
6032 2008-08-28 David Bateman <dbateman@free.fr> 6032 2008-08-28 David Bateman <dbateman@free.fr>
6033 6033
6034 * graphics.h.in (root_figure::properties::showhiddenhandles): 6034 * graphics.h.in (root_figure::properties::showhiddenhandles):
6035 New property. 6035 New property.
6036 6036
6037 2008-08-27 Jaroslav Hajek <highegg@gmail.com> 6037 2008-08-27 Jaroslav Hajek <highegg@gmail.com>
6038 6038
6039 * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Initialize output vectors 6039 * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Initialize output vectors
6040 by NA value. 6040 by NA value.
6041 6041
6042 2008-08-26 Ben Abbott <bpabott@mac.com> 6042 2008-08-26 Ben Abbott <bpabott@mac.com>
6043 6043
6044 * mappers.cc: Adjust tolerance for single precesion tests. 6044 * mappers.cc: Adjust tolerance for single precesion tests.
6195 New functions. 6195 New functions.
6196 (write_image): Use them to handle various image types. 6196 (write_image): Use them to handle various image types.
6197 6197
6198 2008-08-25 David Bateman <dbateman@free.fr> 6198 2008-08-25 David Bateman <dbateman@free.fr>
6199 6199
6200 * graphics.cc (void gh_manager::do_execute_callback 6200 * graphics.cc (void gh_manager::do_execute_callback
6201 (const graphics_handle&, const octave_value&, const 6201 (const graphics_handle&, const octave_value&, const
6202 octave_value&)): Don't pass the function handle as first arg of 6202 octave_value&)): Don't pass the function handle as first arg of
6203 property listener functions 6203 property listener functions
6204 6204
6205 * graphics.h.in (class base_properties): Add functor for caseless 6205 * graphics.h.in (class base_properties): Add functor for caseless
6212 to do_inherit instead of scope. 6212 to do_inherit instead of scope.
6213 (symbol_table::do_inherit): First arg is now reference to 6213 (symbol_table::do_inherit): First arg is now reference to
6214 symbol_table, not scope id. Insert all variables from donor scope. 6214 symbol_table, not scope id. Insert all variables from donor scope.
6215 6215
6216 2008-08-21 Thomas Treichl <Thomas.Treichl@gmx.net> 6216 2008-08-21 Thomas Treichl <Thomas.Treichl@gmx.net>
6217 6217
6218 * mappers.cc: Increase test script tolerance. 6218 * mappers.cc: Increase test script tolerance.
6219 6219
6220 2008-08-20 John W. Eaton <jwe@octave.org> 6220 2008-08-20 John W. Eaton <jwe@octave.org>
6221 6221
6222 * help.cc (builtin_help): Go to next symbol name on error. 6222 * help.cc (builtin_help): Go to next symbol name on error.
6231 argument. 6231 argument.
6232 * load-path.h (load-path::do_find_dir (const std:string&) const), 6232 * load-path.h (load-path::do_find_dir (const std:string&) const),
6233 load-path::find_dir (const std::string&) const): New methods. 6233 load-path::find_dir (const std::string&) const): New methods.
6234 * utils.cc (std::string contents_file_in_path (const std::string&)): 6234 * utils.cc (std::string contents_file_in_path (const std::string&)):
6235 New function. 6235 New function.
6236 * utils.h (std::string contents_file_in_path (const std::string&)): 6236 * utils.h (std::string contents_file_in_path (const std::string&)):
6237 Declare it. 6237 Declare it.
6238 * help.cc (static bool raw_help_from_file (const std::string&, 6238 * help.cc (static bool raw_help_from_file (const std::string&,
6239 std::string&, std::string&, bool&)): Also check is requested 6239 std::string&, std::string&, bool&)): Also check is requested
6240 argument is a directory and contains the file Contents.m. 6240 argument is a directory and contains the file Contents.m.
6241 6241
6283 (tree_multi_assignment::rvalue): Ditto. 6283 (tree_multi_assignment::rvalue): Ditto.
6284 6284
6285 * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Checks whether LB and UB are 6285 * DLD-FUNCTIONS/__glpk__.cc (F__glpk__): Checks whether LB and UB are
6286 of proper size. 6286 of proper size.
6287 6287
6288 * oct-obj.cc, oct-obj.h (octave_value_list::make_argv): 6288 * oct-obj.cc, oct-obj.h (octave_value_list::make_argv):
6289 Allow calling without fcn_name. 6289 Allow calling without fcn_name.
6290 * load-save.cc (parse_save_options (const string_vector&, ...)): 6290 * load-save.cc (parse_save_options (const string_vector&, ...)):
6291 Return string_vector with parsed arguments removed instead. 6291 Return string_vector with parsed arguments removed instead.
6292 (parse_save_options (const std::string&, ...)): Ditto. 6292 (parse_save_options (const std::string&, ...)): Ditto.
6293 (Fsave): Fix calls to parse_save_options. 6293 (Fsave): Fix calls to parse_save_options.
6294 6294
6295 2008-08-19 John W. Eaton <jwe@octave.org> 6295 2008-08-19 John W. Eaton <jwe@octave.org>
6298 6298
6299 2008-08-12 John W. Eaton <jwe@octave.org> 6299 2008-08-12 John W. Eaton <jwe@octave.org>
6300 6300
6301 * pt-fcn-handle.cc (tree_anon_fcn_handle::rvalue): 6301 * pt-fcn-handle.cc (tree_anon_fcn_handle::rvalue):
6302 Call stash_parent_function_scope for user function. 6302 Call stash_parent_function_scope for user function.
6303 * ov-fcn-inline.cc (octave_fcn_inline::octave_fcn_inline): 6303 * ov-fcn-inline.cc (octave_fcn_inline::octave_fcn_inline):
6304 Likewise. 6304 Likewise.
6305 6305
6306 * ov-struct.cc (octave_struct::subsref): Don't allow resizing for 6306 * ov-struct.cc (octave_struct::subsref): Don't allow resizing for
6307 simple x(idx) case. 6307 simple x(idx) case.
6308 6308
6349 * toplev.h (octave_call_stack::do_pop): Don't call 6349 * toplev.h (octave_call_stack::do_pop): Don't call
6350 backtrace_error_message here. 6350 backtrace_error_message here.
6351 * toplev.cc, toplev.h (octave_call_stack::do_backtrace_error_message): 6351 * toplev.cc, toplev.h (octave_call_stack::do_backtrace_error_message):
6352 Rename from octave_call_stack::backtrace_error_message. 6352 Rename from octave_call_stack::backtrace_error_message.
6353 * toplev.h (octave_call_stack::backtrace_error_message): 6353 * toplev.h (octave_call_stack::backtrace_error_message):
6354 New public static function. 6354 New public static function.
6355 6355
6356 2008-08-05 John W. Eaton <jwe@octave.org> 6356 2008-08-05 John W. Eaton <jwe@octave.org>
6357 6357
6358 * gripes.cc (gripe_truncated_conversion, 6358 * gripes.cc (gripe_truncated_conversion,
6359 gripe_logical_conversion): Don't declare as extern here. 6359 gripe_logical_conversion): Don't declare as extern here.
6365 function. 6365 function.
6366 * toplev.h: Provide decl. 6366 * toplev.h: Provide decl.
6367 (octave_call_stack::do_pop): Call backtrace_error_message if 6367 (octave_call_stack::do_pop): Call backtrace_error_message if
6368 error_state is nonzero. 6368 error_state is nonzero.
6369 6369
6370 * pt-unop.cc (tree_prefix_expression::eval_error, 6370 * pt-unop.cc (tree_prefix_expression::eval_error,
6371 tree_postfix_expression::eval_error): Delete. Eliminate all uses. 6371 tree_postfix_expression::eval_error): Delete. Eliminate all uses.
6372 * pt-unop.h: Delete decls. 6372 * pt-unop.h: Delete decls.
6373 6373
6374 * pt-select.cc (tree_switch_case::eval_error, 6374 * pt-select.cc (tree_switch_case::eval_error,
6375 tree_switch_command::eval_error): Delete. Eliminate all uses. 6375 tree_switch_command::eval_error): Delete. Eliminate all uses.
6525 message and id without exposing the internal values. 6525 message and id without exposing the internal values.
6526 * error.h (last_error_id, last_error_message, last_warning_id, 6526 * error.h (last_error_id, last_error_message, last_warning_id,
6527 last_warning_message): Declare them. 6527 last_warning_message): Declare them.
6528 * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Use them to pass the error 6528 * DLD-FUNCTIONS/cellfun.cc (Fcellfun): Use them to pass the error
6529 to the ErrorHandler function. 6529 to the ErrorHandler function.
6530 6530
6531 2008-07-28 John W. Eaton <jwe@octave.org> 6531 2008-07-28 John W. Eaton <jwe@octave.org>
6532 6532
6533 * error.cc (Flasterror, Flasterr): Unwind-protect error_state. 6533 * error.cc (Flasterror, Flasterr): Unwind-protect error_state.
6534 6534
6535 * DLD-FUNCTIONS/__magick_read__.cc (F__magick_write__, write_image): 6535 * DLD-FUNCTIONS/__magick_read__.cc (F__magick_write__, write_image):
6666 * toplev.h (octave_call_stack::do_caller): New function. 6666 * toplev.h (octave_call_stack::do_caller): New function.
6667 (octave_call_stack::caller): Use it. 6667 (octave_call_stack::caller): Use it.
6668 6668
6669 2008-07-17 Jaroslav Hajek <highegg@gmail.com> 6669 2008-07-17 Jaroslav Hajek <highegg@gmail.com>
6670 6670
6671 * Makefile.in (convhulln.oct, __delaunayn__.oct, __voronoi__.oct, 6671 * Makefile.in (convhulln.oct, __delaunayn__.oct, __voronoi__.oct,
6672 regexp.oct, urlwrite.oct, __glpk__.oct, fltk_backend.oct): 6672 regexp.oct, urlwrite.oct, __glpk__.oct, fltk_backend.oct):
6673 Use OCT_LINK_DEPS instead of DL_LDFLAGS for target-specific 6673 Use OCT_LINK_DEPS instead of DL_LDFLAGS for target-specific
6674 dependencies. 6674 dependencies.
6675 6675
6676 2008-07-17 David Bateman <dbateman@free.fr> 6676 2008-07-17 David Bateman <dbateman@free.fr>
6733 * DLD-FUNCTIONS/__convn__.cc (convn): Cast second arg to 6733 * DLD-FUNCTIONS/__convn__.cc (convn): Cast second arg to
6734 octave_idx_type in call to std::max. 6734 octave_idx_type in call to std::max.
6735 6735
6736 2008-07-14 John W. Eaton <jwe@octave.org> 6736 2008-07-14 John W. Eaton <jwe@octave.org>
6737 6737
6738 * Makefile.in (convhulln.oct, __delaunayn__.oct, __voronoi__.oct, 6738 * Makefile.in (convhulln.oct, __delaunayn__.oct, __voronoi__.oct,
6739 regexp.oct, urlwrite.oct, __glpk__.oct, fltk_backend.oct): 6739 regexp.oct, urlwrite.oct, __glpk__.oct, fltk_backend.oct):
6740 Simplify with target-specific settings for DL_LDFLAGS. 6740 Simplify with target-specific settings for DL_LDFLAGS.
6741 6741
6742 * DLD-FUNCTIONS/__magick_read__.cc: Delete "using namespace std" 6742 * DLD-FUNCTIONS/__magick_read__.cc: Delete "using namespace std"
6743 and "using namespace Magick" directives. Style fixes. 6743 and "using namespace Magick" directives. Style fixes.
6785 6785
6786 * toplev.cc, toplev.h (octave_call_stack::caller_user_function, 6786 * toplev.cc, toplev.h (octave_call_stack::caller_user_function,
6787 octave_call_stack::caller_user_script, 6787 octave_call_stack::caller_user_script,
6788 octave_call_stack::do_caller_user_function, 6788 octave_call_stack::do_caller_user_function,
6789 octave_call_stack::do_caller_user_script): 6789 octave_call_stack::do_caller_user_script):
6790 Delete functions and decls. 6790 Delete functions and decls.
6791 6791
6792 * defun.cc (print_usage): Call octave_call_stack::caller_user_code, 6792 * defun.cc (print_usage): Call octave_call_stack::caller_user_code,
6793 not octave_call_stack::caller_user_function. 6793 not octave_call_stack::caller_user_function.
6794 * debug.cc (get_user_code): Likewise. 6794 * debug.cc (get_user_code): Likewise.
6795 6795
6796 * toplev.h (octave_call_stack::difference_type): Delete typedef. 6796 * toplev.h (octave_call_stack::difference_type): Delete typedef.
6797 * toplev.cc, toplev.h (octave_call_stack::caller_user_code_line, 6797 * toplev.cc, toplev.h (octave_call_stack::caller_user_code_line,
6798 octave_call_stack::do_caller_user_code_line, 6798 octave_call_stack::do_caller_user_code_line,
6799 octave_call_stack::caller_user_code_column, 6799 octave_call_stack::caller_user_code_column,
6800 octave_call_stack::do_caller_user_code_column, 6800 octave_call_stack::do_caller_user_code_column,
6801 octave_call_stack::caller_script, 6801 octave_call_stack::caller_script,
6802 octave_call_stack::do_caller_script, 6802 octave_call_stack::do_caller_script,
6803 octave_call_stack::caller_user_function, 6803 octave_call_stack::caller_user_function,
6816 6816
6817 2008-07-10 David Bateman <dbateman@free.fr> 6817 2008-07-10 David Bateman <dbateman@free.fr>
6818 6818
6819 * DLD-FUNCTIONS/lookup.cc (assign): Delete. 6819 * DLD-FUNCTIONS/lookup.cc (assign): Delete.
6820 (Flookup): Use new NDArray constructors rather than assign. 6820 (Flookup): Use new NDArray constructors rather than assign.
6821 * data.cc (Fsort): Use new NDArray constructors rather than 6821 * data.cc (Fsort): Use new NDArray constructors rather than
6822 directly assigning. 6822 directly assigning.
6823 * besselj.cc (int_array2_to_matrix, int_arrayn_to_array, 6823 * besselj.cc (int_array2_to_matrix, int_arrayn_to_array,
6824 int_array2_to_float_matrix, int_arrayn_to_float_array): Delete. 6824 int_array2_to_float_matrix, int_arrayn_to_float_array): Delete.
6825 (do-bessel): Use new NDArray constructors. 6825 (do-bessel): Use new NDArray constructors.
6826 * max.cc (MINMAX_SPARSE_BODY, MINMAX_INT_BODY, MINMAX_SINGLE_BODY, 6826 * max.cc (MINMAX_SPARSE_BODY, MINMAX_INT_BODY, MINMAX_SINGLE_BODY,
6827 MINMAX_DOUBLE_BODY): Use new NDArray constructors. 6827 MINMAX_DOUBLE_BODY): Use new NDArray constructors.
6828 * ov-bool.h (array_value, float_array_value): Explictly cast 6828 * ov-bool.h (array_value, float_array_value): Explictly cast
6829 boolean scalar to double before the assignment to avoid ambiguity. 6829 boolean scalar to double before the assignment to avoid ambiguity.
6830 6830
6831 2008-07-10 David Bateman <dbateman@free.fr> 6831 2008-07-10 David Bateman <dbateman@free.fr>
6832 6832
6833 * ls-mat4.cc (read_mat_binary_data, save_mat_binary_data): Add 6833 * ls-mat4.cc (read_mat_binary_data, save_mat_binary_data): Add
6834 loading and saving of sparse matrices. 6834 loading and saving of sparse matrices.
6835 6835
6836 2008-07-10 Michael Goffioul <michael.goffioul@gmail.com> 6836 2008-07-10 Michael Goffioul <michael.goffioul@gmail.com>
6837 6837
6838 * Makefile.in: Add OPENGL_LIBS to liboctinterp link command. Add 6838 * Makefile.in: Add OPENGL_LIBS to liboctinterp link command. Add
6839 GRAPHICS_CFLAGS to fltk_backend.cc compilation command. 6839 GRAPHICS_CFLAGS to fltk_backend.cc compilation command.
6840 * data.cc: Define hypotf to _hypotf when not present. 6840 * data.cc: Define hypotf to _hypotf when not present.
6884 * toplev.cc (main_loop): Unwind-protect global_command. 6884 * toplev.cc (main_loop): Unwind-protect global_command.
6885 * input.cc (get_debug_input): Likewise. 6885 * input.cc (get_debug_input): Likewise.
6886 6886
6887 2008-07-09 David Bateman <dbateman@free.fr> 6887 2008-07-09 David Bateman <dbateman@free.fr>
6888 6888
6889 * pt-id.cc (octave_value_list tree_identifier::rvalue (int), 6889 * pt-id.cc (octave_value_list tree_identifier::rvalue (int),
6890 octave_lvalue tree_identifier::lvalue (void)): Remove 6890 octave_lvalue tree_identifier::lvalue (void)): Remove
6891 MAYBE_DO_BREAKPOINT. 6891 MAYBE_DO_BREAKPOINT.
6892 6892
6893 2008-07-08 John W. Eaton <jwe@octave.org> 6893 2008-07-08 John W. Eaton <jwe@octave.org>
6894 6894
6895 * graphics.h.in (axes::properties::keypos): Declare as 6895 * graphics.h.in (axes::properties::keypos): Declare as
6922 (xcurrent_context_this_table): Delete. Delete all uses. 6922 (xcurrent_context_this_table): Delete. Delete all uses.
6923 (symbol_table::current_caller_scope): Delete. 6923 (symbol_table::current_caller_scope): Delete.
6924 6924
6925 * toplev.cc (octave_call_stack::do_num_user_code_frames): 6925 * toplev.cc (octave_call_stack::do_num_user_code_frames):
6926 New function. 6926 New function.
6927 (octave_call_stack::do_backtrace): New arg, curr_user_frame. 6927 (octave_call_stack::do_backtrace): New arg, curr_user_frame.
6928 Rename nframes arg to nskip. Correctly handle curr_frame not at 6928 Rename nframes arg to nskip. Correctly handle curr_frame not at
6929 end of stack. 6929 end of stack.
6930 (octave_call_stack::do_goto_frame_relative): Rename n arg to nskip. 6930 (octave_call_stack::do_goto_frame_relative): Rename n arg to nskip.
6931 Correctly handle curr_frame not at end of stack. 6931 Correctly handle curr_frame not at end of stack.
6932 (octave_call_stack::do_goto_caller_frame): New function. 6932 (octave_call_stack::do_goto_caller_frame): New function.
6979 float_complex_vector_value): Query N-d array values and simplify, 6979 float_complex_vector_value): Query N-d array values and simplify,
6980 avoid copying. 6980 avoid copying.
6981 (column_vector_value, complex_column_vector_value, 6981 (column_vector_value, complex_column_vector_value,
6982 float_column_vector_value, float_complex_column_vector_value, 6982 float_column_vector_value, float_complex_column_vector_value,
6983 row_vector_value, complex_row_vector_value, 6983 row_vector_value, complex_row_vector_value,
6984 float_row_vector_value, float_complex_row_vector_value): 6984 float_row_vector_value, float_complex_row_vector_value):
6985 Simplify to trivial wrappers. 6985 Simplify to trivial wrappers.
6986 (int_vector_value): Avoid conversions if integer type, query N-d array 6986 (int_vector_value): Avoid conversions if integer type, query N-d array
6987 value, simplify. 6987 value, simplify.
6988 6988
6989 2008-06-17 John W. Eaton <jwe@octave.org> 6989 2008-06-17 John W. Eaton <jwe@octave.org>
7036 "error: " prefix when buffering error messages is no longer neeed. 7036 "error: " prefix when buffering error messages is no longer neeed.
7037 7037
7038 2008-06-25 David Bateman <dbateman@free.fr> 7038 2008-06-25 David Bateman <dbateman@free.fr>
7039 7039
7040 * pr-output.cc (Frats): Print usage if nargin == 0. 7040 * pr-output.cc (Frats): Print usage if nargin == 0.
7041 7041
7042 2008-06-10 John W. Eaton <jwe@octave.org> 7042 2008-06-10 John W. Eaton <jwe@octave.org>
7043 7043
7044 * mexproto.h (mxCreateLogicalScalar): Declar arg as mxLogical, not int. 7044 * mexproto.h (mxCreateLogicalScalar): Declar arg as mxLogical, not int.
7045 7045
7046 2008-06-09 John W. Eaton <jwe@octave.org> 7046 2008-06-09 John W. Eaton <jwe@octave.org>
7054 * toplev.cc (octave_call_stack::do_caller_user_code_line, 7054 * toplev.cc (octave_call_stack::do_caller_user_code_line,
7055 octave_call_stack::do_caller_user_code_column): New functions. 7055 octave_call_stack::do_caller_user_code_column): New functions.
7056 * toplev.h: Provide decls. 7056 * toplev.h: Provide decls.
7057 (octave_call_stack::caller_user_code_line, 7057 (octave_call_stack::caller_user_code_line,
7058 octave_call_stack::caller_user_code_column): New functions. 7058 octave_call_stack::caller_user_code_column): New functions.
7059 (octave_call_stack::current_line, octave_call_stack::current_column): 7059 (octave_call_stack::current_line, octave_call_stack::current_column):
7060 Default return value is -1, not 0. 7060 Default return value is -1, not 0.
7061 7061
7062 2008-06-06 John W. Eaton <jwe@octave.org> 7062 2008-06-06 John W. Eaton <jwe@octave.org>
7063 7063
7064 * ov.h (octave_value::erase_subfunctions): 7064 * ov.h (octave_value::erase_subfunctions):
7177 (class figure_manager): ditto 7177 (class figure_manager): ditto
7178 (__fltk_redraw__): moved most of functionality into the 7178 (__fltk_redraw__): moved most of functionality into the
7179 figure_manager class 7179 figure_manager class
7180 (plot_window::pixel2pos): Modified to use axes::pixel2coord 7180 (plot_window::pixel2pos): Modified to use axes::pixel2coord
7181 (plot_window::pixel2staus): Modified to use pixel2pos 7181 (plot_window::pixel2staus): Modified to use pixel2pos
7182 (plot_window::handle): Added zoom with mouse 7182 (plot_window::handle): Added zoom with mouse
7183 7183
7184 2008-02-24 Shai Ayal <shaiay@users.sourceforge.net> 7184 2008-02-24 Shai Ayal <shaiay@users.sourceforge.net>
7185 7185
7186 * fltk_backend/fltk_backend.cc (OpenGL_fltk::Draw): removed double 7186 * fltk_backend/fltk_backend.cc (OpenGL_fltk::Draw): removed double
7187 buffer switch 7187 buffer switch
7191 2008-02-23 Shai Ayal <shaiay@users.sourceforge.net> 7191 2008-02-23 Shai Ayal <shaiay@users.sourceforge.net>
7192 7192
7193 * fltk_backend/fltk_backend.cc (plot_window::mark_modifed): mark 7193 * fltk_backend/fltk_backend.cc (plot_window::mark_modifed): mark
7194 the whole window as damaged (otherwise changing figure.postion 7194 the whole window as damaged (otherwise changing figure.postion
7195 does not have immediate effect) 7195 does not have immediate effect)
7196 (plot_window::draw): New function, checks for window size 7196 (plot_window::draw): New function, checks for window size
7197 (__fltk_maxtime__): New DEFUN to allow tweaking of fltk timeout 7197 (__fltk_maxtime__): New DEFUN to allow tweaking of fltk timeout
7198 (__fltk_redraw__): Use fltk_maxtime as timeout 7198 (__fltk_redraw__): Use fltk_maxtime as timeout
7199 7199
7200 2008-02-21 Michael Goffioul <michael.goffioul@gmail.com> 7200 2008-02-21 Michael Goffioul <michael.goffioul@gmail.com>
7201 7201
7218 2008-02-20 Shai Ayal <shaiay@users.sourceforge.net> 7218 2008-02-20 Shai Ayal <shaiay@users.sourceforge.net>
7219 7219
7220 * fltk_backend/Makefile.in: initial import 7220 * fltk_backend/Makefile.in: initial import
7221 7221
7222 * fltk_backend/fltk_backend.cc: initial import 7222 * fltk_backend/fltk_backend.cc: initial import
7223 7223
7224 7224
7225 2008-02-20 Michael Goffioul <michael.goffioul@gmail.com> 7225 2008-02-20 Michael Goffioul <michael.goffioul@gmail.com>
7226 7226
7227 * opengl/gl-render.h (opengl_renderer::draw(patch)): New method to 7227 * opengl/gl-render.h (opengl_renderer::draw(patch)): New method to
7228 render patch objects. 7228 render patch objects.
7807 NDArray::dmapper. 7807 NDArray::dmapper.
7808 * ov-flt-cx-mat.h (is_double_type): Delete. 7808 * ov-flt-cx-mat.h (is_double_type): Delete.
7809 (is_single_type): New method. 7809 (is_single_type): New method.
7810 * ov-flt-re-mat.cc (lgamma, acosh, log, log2, log10, log1p, 7810 * ov-flt-re-mat.cc (lgamma, acosh, log, log2, log10, log1p,
7811 sqrt): Use single precision infinity value. 7811 sqrt): Use single precision infinity value.
7812 7812
7813 * chol.cc (Fcholinv, Fchol2inv, Fcholupdate, Fcholinsert, 7813 * chol.cc (Fcholinv, Fchol2inv, Fcholupdate, Fcholinsert,
7814 Fcholdelete, Fcholshift): Allow single precision arguments. 7814 Fcholdelete, Fcholshift): Allow single precision arguments.
7815 (Fchol): Move test code here. Add test code for single precision. 7815 (Fchol): Move test code here. Add test code for single precision.
7816 (Fcholupdate, Fcholinsert, Fcholdelete, Fcholshift): Add test code 7816 (Fcholupdate, Fcholinsert, Fcholdelete, Fcholshift): Add test code
7817 for single precision. 7817 for single precision.
7836 * lu.cc (Flu): Ditto. 7836 * lu.cc (Flu): Ditto.
7837 * qr.cc (Fqr): Ditto. 7837 * qr.cc (Fqr): Ditto.
7838 * schur.cc (Fschur): Ditto. 7838 * schur.cc (Fschur): Ditto.
7839 * svd.cc (Fsvd): Ditto. 7839 * svd.cc (Fsvd): Ditto.
7840 * syl.cc (Fsyl): Ditto. 7840 * syl.cc (Fsyl): Ditto.
7841 7841
7842 * op-fcm-fcm.cc, op-fcm-fcs.cc, op-fcm-fm.cc, op-fcm-fs.cc, 7842 * op-fcm-fcm.cc, op-fcm-fcs.cc, op-fcm-fm.cc, op-fcm-fs.cc,
7843 op-fcs-fcm.cc, op-fcs-fcs.cc, op-fcs-fm.cc, op-fcs-fs.cc, 7843 op-fcs-fcm.cc, op-fcs-fcs.cc, op-fcs-fm.cc, op-fcs-fs.cc,
7844 op-fm-fcm.cc, op-fm-fcs.cc, op-fm-fm.cc, op-fm-fs.cc, 7844 op-fm-fcm.cc, op-fm-fcs.cc, op-fm-fm.cc, op-fm-fs.cc,
7845 op-fs-fcm.cc, op-fs-fcs.cc, op-fs-fm.cc, op-fs-fs.cc: Add mixed 7845 op-fs-fcm.cc, op-fs-fcs.cc, op-fs-fm.cc, op-fs-fs.cc: Add mixed
7846 double, single precision concatenation operators. 7846 double, single precision concatenation operators.
7847 7847
7848 * data.cc (Fall, Fany, Fdiag, Fcat, Fismatrix, Fones, Fzeros, 7848 * data.cc (Fall, Fany, Fdiag, Fcat, Fismatrix, Fones, Fzeros,
7849 Finf, FNaN, FNA, Feye, Flinspace, Freshape, Ftranspose, 7849 Finf, FNaN, FNA, Feye, Flinspace, Freshape, Ftranspose,
7866 7866
7867 2008-05-26 Jaroslav Hajek <highegg@gmail.com> 7867 2008-05-26 Jaroslav Hajek <highegg@gmail.com>
7868 7868
7869 * DLD-FUNCTIONS/fsolve.cc (fsolve_user_function, 7869 * DLD-FUNCTIONS/fsolve.cc (fsolve_user_function,
7870 fsolve_user_jacobian): Reshape argument to original dims before 7870 fsolve_user_jacobian): Reshape argument to original dims before
7871 passing. 7871 passing.
7872 (Ffsolve): Save original dimensions of the starting guess and reshape 7872 (Ffsolve): Save original dimensions of the starting guess and reshape
7873 on return. Fix tests. 7873 on return. Fix tests.
7874 7874
7875 2008-05-21 David Bateman <dbateman@free.fr> 7875 2008-05-21 David Bateman <dbateman@free.fr>
7876 7876
7899 (xgemm): Call DSYRK if symmetric case detected. 7899 (xgemm): Call DSYRK if symmetric case detected.
7900 * CMatrix.cc: Declare ZSYRK, ZHERK. 7900 * CMatrix.cc: Declare ZSYRK, ZHERK.
7901 (xgemm): Call ZSYRK/ZHERK if symmetric/hermitian case detected. 7901 (xgemm): Call ZSYRK/ZHERK if symmetric/hermitian case detected.
7902 7902
7903 * ov.h (octave_value::compound_binary_op): New enum. 7903 * ov.h (octave_value::compound_binary_op): New enum.
7904 (do_binary_op (octave_value::compound_binary_op, ...), 7904 (do_binary_op (octave_value::compound_binary_op, ...),
7905 octave_value::binary_op_fcn_name (compound_binary_op), 7905 octave_value::binary_op_fcn_name (compound_binary_op),
7906 octave_value::do_binary_op (compound_binary_op, ...)): 7906 octave_value::do_binary_op (compound_binary_op, ...)):
7907 New declarations. 7907 New declarations.
7908 (OV_COMP_BINOP_FN): New macro (+ several expansions). 7908 (OV_COMP_BINOP_FN): New macro (+ several expansions).
7909 * ov.cc (octave_value::binary_op_fcn_name (compound_binary_op), 7909 * ov.cc (octave_value::binary_op_fcn_name (compound_binary_op),
7910 decompose_binary_op, do_binary_op (compound_binary_op, ...)): 7910 decompose_binary_op, do_binary_op (compound_binary_op, ...)):
7911 New functions. 7911 New functions.
7912 * ov-typeinfo.h (octave_value_typeinfo::register_binary_class_op 7912 * ov-typeinfo.h (octave_value_typeinfo::register_binary_class_op
7913 (octave_value::compound_binary_op, ...), 7913 (octave_value::compound_binary_op, ...),
7914 octave_value_typeinfo::register_binary_op 7914 octave_value_typeinfo::register_binary_op
7915 (octave_value::compound_binary_op, ...), 7915 (octave_value::compound_binary_op, ...),
7916 octave_value_typeinfo::do_register_binary_class_op 7916 octave_value_typeinfo::do_register_binary_class_op
7917 (octave_value::compound_binary_op, ...), 7917 (octave_value::compound_binary_op, ...),
7918 octave_value_typeinfo::do_register_binary_op 7918 octave_value_typeinfo::do_register_binary_op
7919 (octave_value::compound_binary_op, ...), 7919 (octave_value::compound_binary_op, ...),
7920 octave_value_typeinfo::do_lookup_binary_class_op 7920 octave_value_typeinfo::do_lookup_binary_class_op
7921 (octave_value::compound_binary_op), 7921 (octave_value::compound_binary_op),
7922 octave_value_typeinfo::do_lookup_binary_op 7922 octave_value_typeinfo::do_lookup_binary_op
7923 (octave_value::compound_binary_op, ...)): 7923 (octave_value::compound_binary_op, ...)):
7924 New declarations. 7924 New declarations.
7925 (octave_value_typeinfo::lookup_binary_class_op 7925 (octave_value_typeinfo::lookup_binary_class_op
7926 (octave_value::compound_binary_op), 7926 (octave_value::compound_binary_op),
7927 (octave_value_typeinfo::lookup_binary_op 7927 (octave_value_typeinfo::lookup_binary_op
7928 (octave_value::compound_binary_op, ...)): 7928 (octave_value::compound_binary_op, ...)):
7929 New functions. 7929 New functions.
7930 (octave_value_typeinfo::compound_binary_class_ops, 7930 (octave_value_typeinfo::compound_binary_class_ops,
7931 octave_value_typeinfo::compound_binary_ops): 7931 octave_value_typeinfo::compound_binary_ops):
7932 New fields. 7932 New fields.
7933 * ov-typeinfo.cc (octave_value_typeinfo::register_binary_class_op 7933 * ov-typeinfo.cc (octave_value_typeinfo::register_binary_class_op
7934 (octave_value::compound_binary_op, ...), 7934 (octave_value::compound_binary_op, ...),
7935 octave_value_typeinfo::register_binary_op 7935 octave_value_typeinfo::register_binary_op
7936 (octave_value::compound_binary_op, ...), 7936 (octave_value::compound_binary_op, ...),
7937 octave_value_typeinfo::do_register_binary_class_op 7937 octave_value_typeinfo::do_register_binary_class_op
7938 (octave_value::compound_binary_op, ...), 7938 (octave_value::compound_binary_op, ...),
7939 octave_value_typeinfo::do_register_binary_op 7939 octave_value_typeinfo::do_register_binary_op
7940 (octave_value::compound_binary_op, ...), 7940 (octave_value::compound_binary_op, ...),
7941 octave_value_typeinfo::do_lookup_binary_class_op 7941 octave_value_typeinfo::do_lookup_binary_class_op
7942 (octave_value::compound_binary_op), 7942 (octave_value::compound_binary_op),
7943 octave_value_typeinfo::do_lookup_binary_op 7943 octave_value_typeinfo::do_lookup_binary_op
7944 (octave_value::compound_binary_op, ...)): 7944 (octave_value::compound_binary_op, ...)):
7945 New functions. 7945 New functions.
7946 (octave_value::do_register_type): Resize also compound_binary_ops 7946 (octave_value::do_register_type): Resize also compound_binary_ops
7947 field. 7947 field.
7948 * pt-exp.h (tree_expression::is_unary_expression): New virtual 7948 * pt-exp.h (tree_expression::is_unary_expression): New virtual
7954 * pt-all.h: Include pt-cbinop.h. 7954 * pt-all.h: Include pt-cbinop.h.
7955 * Makefile.in (PT_INCLUDES, PT_SRC): Include them in the lists. 7955 * Makefile.in (PT_INCLUDES, PT_SRC): Include them in the lists.
7956 * parse.y (make_binary_op): Call maybe_compound_binary_expression. 7956 * parse.y (make_binary_op): Call maybe_compound_binary_expression.
7957 * OPERATORS/op-m-m.cc (trans_mul, mul_trans): New operator handlers. 7957 * OPERATORS/op-m-m.cc (trans_mul, mul_trans): New operator handlers.
7958 (install_m_m_ops): Register them. 7958 (install_m_m_ops): Register them.
7959 * OPERATORS/op-cm-cm.cc (trans_mul, mul_trans, herm_mul, mul_herm): 7959 * OPERATORS/op-cm-cm.cc (trans_mul, mul_trans, herm_mul, mul_herm):
7960 New operator handlers. 7960 New operator handlers.
7961 (install_cm_cm_ops): Register them. 7961 (install_cm_cm_ops): Register them.
7962 7962
7963 * DLD-FUNCTIONS/matrix_type.cc: Fix tests relying on the 7963 * DLD-FUNCTIONS/matrix_type.cc: Fix tests relying on the
7964 older more optimistic hermitian check. 7964 older more optimistic hermitian check.
7977 (Feps): Modify behavior for a single numerical argument to give 7977 (Feps): Modify behavior for a single numerical argument to give
7978 difference to next largest value in the class of the type passed. 7978 difference to next largest value in the class of the type passed.
7979 7979
7980 2008-05-21 John W. Eaton <jwe@octave.org> 7980 2008-05-21 John W. Eaton <jwe@octave.org>
7981 7981
7982 * pt-idx.h (tree_index_expression::tree_index_expression (int, int)): 7982 * pt-idx.h (tree_index_expression::tree_index_expression (int, int)):
7983 Delete default argument values. 7983 Delete default argument values.
7984 7984
7985 2008-05-20 David Bateman <dbateman@free.fr> 7985 2008-05-20 David Bateman <dbateman@free.fr>
7986 7986
7987 * data.cc (Flog2): Handle single precision. 7987 * data.cc (Flog2): Handle single precision.
7997 DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/syl.cc, data.cc: 7997 DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/syl.cc, data.cc:
7998 Prefer demotion to single precision rather than promotion to double. 7998 Prefer demotion to single precision rather than promotion to double.
7999 7999
8000 * ov-float.cc, ov-float.h, ov-flt-complex.cc, ov-flt-complex.h, 8000 * ov-float.cc, ov-float.h, ov-flt-complex.cc, ov-flt-complex.h,
8001 ov-flt-cx-mat.cc, ov-flt-cx-mat.h, ov-flt-re-mat.cc, 8001 ov-flt-cx-mat.cc, ov-flt-cx-mat.h, ov-flt-re-mat.cc,
8002 ov-flt-re-mat.h (numeric_conversion_function (void) const): 8002 ov-flt-re-mat.h (numeric_conversion_function (void) const):
8003 Remove method. 8003 Remove method.
8004 8004
8005 * ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, 8005 * ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h,
8006 ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, ov-scalar.h 8006 ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, ov-scalar.h
8007 (numeric_conversion_function (void) const): Add method for 8007 (numeric_conversion_function (void) const): Add method for
8008 conversion to single precision. 8008 conversion to single precision.
8009 8009
8010 * DLD-FUNCTIONS/conv2.cc (Fconv2): Don't access third arg if we 8010 * DLD-FUNCTIONS/conv2.cc (Fconv2): Don't access third arg if we
8011 don't have one. 8011 don't have one.
8012 8012
8013 * DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/expm.cc, 8013 * DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/expm.cc,
8014 DLD-FUNCTIONS/find.cc, DLD-FUNCTIONS/hess.cc, 8014 DLD-FUNCTIONS/find.cc, DLD-FUNCTIONS/hess.cc,
8015 DLD-FUNCTIONS/qr.cc: COnvert for use with single precision. 8015 DLD-FUNCTIONS/qr.cc: COnvert for use with single precision.
8016 8016
8017 * OPERATORS/op-int.h, OPERATORS/op-int-conv.cc, 8017 * OPERATORS/op-int.h, OPERATORS/op-int-conv.cc,
8018 OPERATORS/op-int-concat.cc: Adapt for single precision. 8018 OPERATORS/op-int-concat.cc: Adapt for single precision.
8019 8019
8020 * OPERATORS/op-i8-i8.cc, OPERATORS/op-i16-i16.cc, 8020 * OPERATORS/op-i8-i8.cc, OPERATORS/op-i16-i16.cc,
8021 OPERATORS/op-i32-i32.cc, OPERATORS/op-i64-i64.cc, 8021 OPERATORS/op-i32-i32.cc, OPERATORS/op-i64-i64.cc,
8022 OPERATORS/op-ui8-ui8.cc, OPERATORS/op-ui16-ui16.cc, 8022 OPERATORS/op-ui8-ui8.cc, OPERATORS/op-ui16-ui16.cc,
8023 OPERATORS/op-ui32-ui32.cc, OPERATORS/op-ui64-ui64.cc: 8023 OPERATORS/op-ui32-ui32.cc, OPERATORS/op-ui64-ui64.cc:
8024 Add includes for single precision types. 8024 Add includes for single precision types.
8025 8025
8026 * OPERATORS/op-b-b.cc, OPERATORS/op-b-bm.cc, OPERATORS/op-bm-b.cc, 8026 * OPERATORS/op-b-b.cc, OPERATORS/op-b-bm.cc, OPERATORS/op-bm-b.cc,
8027 OPERATORS/op-fcm-fs.cc, OPERATORS/op-fcs-fs.cc, 8027 OPERATORS/op-fcm-fs.cc, OPERATORS/op-fcs-fs.cc,
8028 OPERATORS/op-fm-fs.cc, OPERATORS/op-fs-fcm.cc, 8028 OPERATORS/op-fm-fs.cc, OPERATORS/op-fs-fcm.cc,
8029 OPERATORS/op-fs-fcs.cc, OPERATORS/op-fs-fm.cc, 8029 OPERATORS/op-fs-fcs.cc, OPERATORS/op-fs-fm.cc,
8030 OPERATORS/op-fs-fs.cc, OPERATORS/op-int.h, ov.cc, ov-scalar.cc, 8030 OPERATORS/op-fs-fs.cc, OPERATORS/op-int.h, ov.cc, ov-scalar.cc,
8031 ov-float.h, ov-flt-complex.cc, ov-float.cc, ov-flt-re-mat.cc, 8031 ov-float.h, ov-flt-complex.cc, ov-float.cc, ov-flt-re-mat.cc,
8032 ov-flt-cx-mat.cc: Replace octave_float with octave_scalar_float 8032 ov-flt-cx-mat.cc: Replace octave_float with octave_scalar_float
8033 8033
8034 * OPERATORS/op-fm-fm.cc, OPERATORS/op-fm-fs.cc, 8034 * OPERATORS/op-fm-fm.cc, OPERATORS/op-fm-fs.cc,
8035 OPERATORS/op-fm-fcm.cc, OPERATORS/op-fm-fcs.cc, 8035 OPERATORS/op-fm-fcm.cc, OPERATORS/op-fm-fcs.cc,
8036 OPERATORS/op-fs-fm.cc, OPERATORS/op-fs-fs.cc, 8036 OPERATORS/op-fs-fm.cc, OPERATORS/op-fs-fs.cc,
8037 OPERATORS/op-fs-fcm.cc, OPERATORS/op-fs-fcs.cc, 8037 OPERATORS/op-fs-fcm.cc, OPERATORS/op-fs-fcs.cc,
8038 OPERATORS/op-fcm-fm.cc, OPERATORS/op-fcm-fs.cc, 8038 OPERATORS/op-fcm-fm.cc, OPERATORS/op-fcm-fs.cc,
8039 OPERATORS/op-fcm-fcm.cc, OPERATORS/op-fcm-fcs.cc, 8039 OPERATORS/op-fcm-fcm.cc, OPERATORS/op-fcm-fcs.cc,
8040 OPERATORS/op-fcs-fm.cc, OPERATORS/op-fcs-fs.cc, 8040 OPERATORS/op-fcs-fm.cc, OPERATORS/op-fcs-fs.cc,
8041 OPERATORS/op-fcs-fcm.cc, OPERATORS/op-fcs-fcs.cc, 8041 OPERATORS/op-fcs-fcm.cc, OPERATORS/op-fcs-fcs.cc,
8042 OPERATORS/op-m-m.cc, OPERATORS/op-m-s.cc, 8042 OPERATORS/op-m-m.cc, OPERATORS/op-m-s.cc,
8043 OPERATORS/op-m-cm.cc, OPERATORS/op-m-cs.cc, 8043 OPERATORS/op-m-cm.cc, OPERATORS/op-m-cs.cc,
8044 OPERATORS/op-s-m.cc, OPERATORS/op-s-s.cc, 8044 OPERATORS/op-s-m.cc, OPERATORS/op-s-s.cc,
8045 OPERATORS/op-s-cm.cc, OPERATORS/op-s-cs.cc, 8045 OPERATORS/op-s-cm.cc, OPERATORS/op-s-cs.cc,
8046 OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, 8046 OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc,
8047 OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, 8047 OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc,
8048 OPERATORS/op-cs-m.cc, OPERATORS/op-cs-s.cc, 8048 OPERATORS/op-cs-m.cc, OPERATORS/op-cs-s.cc,
8049 OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-cs.cc: 8049 OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-cs.cc:
8050 Add mixed single/double assign operators. 8050 Add mixed single/double assign operators.
8051 8051
8052 * ov.h (numeric_demotion_function): New method for double to 8052 * ov.h (numeric_demotion_function): New method for double to
8053 single demotion. 8053 single demotion.
8054 * ov-base.h (numeric_demotion_function): Declare virtual version. 8054 * ov-base.h (numeric_demotion_function): Declare virtual version.
8055 8055
8056 * ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h, 8056 * ov-complex.cc, ov-complex.h, ov-cx-mat.cc, ov-cx-mat.h,
8057 ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, ov-scalar.h 8057 ov-re-mat.cc, ov-re-mat.h, ov-scalar.cc, ov-scalar.h
8058 (numeric_cdemote_function (void) const): Add method for 8058 (numeric_cdemote_function (void) const): Add method for
8059 conversion to single precision renamed from the method 8059 conversion to single precision renamed from the method
8060 numeric_conversion_function 8060 numeric_conversion_function
8061 8061
8062 * ov.cc (do_binary_op): Use demotion function seperately than the 8062 * ov.cc (do_binary_op): Use demotion function seperately than the
8106 8106
8107 * DLD-FUNCTIONS/rcond.cc: New function. 8107 * DLD-FUNCTIONS/rcond.cc: New function.
8108 * Makefile.in (DLD_XSRC): Add it here. 8108 * Makefile.in (DLD_XSRC): Add it here.
8109 8109
8110 * debug.cc (Fdbstop): If no line specified assume line 1. 8110 * debug.cc (Fdbstop): If no line specified assume line 1.
8111 (Fdbstep, Fdbcont, Fdbnext): Move debugging functions 8111 (Fdbstep, Fdbcont, Fdbnext): Move debugging functions
8112 to normal commands. 8112 to normal commands.
8113 (Fdbquit): New command to quit debugging mode and return to the 8113 (Fdbquit): New command to quit debugging mode and return to the
8114 prompt. 8114 prompt.
8115 (Fdbstep): Modify the dbstep command for compatibility. 8115 (Fdbstep): Modify the dbstep command for compatibility.
8116 * input.cc (Vdebugging_current_line): Store current line being 8116 * input.cc (Vdebugging_current_line): Store current line being
8117 debugged for use in DEFCMD versions of debug commands. 8117 debugged for use in DEFCMD versions of debug commands.
8118 (match_sans_spaces_semi): Delete. 8118 (match_sans_spaces_semi): Delete.
8122 octave_value_list&, int)): Remove debugging specialization. 8122 octave_value_list&, int)): Remove debugging specialization.
8123 * input.h (Vdebugging_current_line): Store current line being 8123 * input.h (Vdebugging_current_line): Store current line being
8124 debugged for use in DEFCMD versions of debug commands. 8124 debugged for use in DEFCMD versions of debug commands.
8125 * parse.y (make_return_command): Special handling in debug mode. 8125 * parse.y (make_return_command): Special handling in debug mode.
8126 * pt-bp.h (MAYBE_DO_BREAKPOINT): Support break in n lines needed 8126 * pt-bp.h (MAYBE_DO_BREAKPOINT): Support break in n lines needed
8127 to support "dbstep N". 8127 to support "dbstep N".
8128 * pt.cc (tree::break_next): Convert to a down counter to support 8128 * pt.cc (tree::break_next): Convert to a down counter to support
8129 break in N lines. Breakpoint occure when tree::break_next is zero. 8129 break in N lines. Breakpoint occure when tree::break_next is zero.
8130 * toplev.cc (octave_user_script * 8130 * toplev.cc (octave_user_script *
8131 octave_call_stack::do_caller_user_script (difference_type) const): 8131 octave_call_stack::do_caller_user_script (difference_type) const):
8132 Support skipping the first N functions to support "dbstep out". 8132 Support skipping the first N functions to support "dbstep out".
8233 Pass context to symbol_table::all_variables and 8233 Pass context to symbol_table::all_variables and
8234 symbol_table::symbol_record::varval. 8234 symbol_table::symbol_record::varval.
8235 8235
8236 * symtab.h (symbol_table::varref, symbol_table::do_varref, 8236 * symtab.h (symbol_table::varref, symbol_table::do_varref,
8237 symbol_table::varval, symbol_table::do_varval, 8237 symbol_table::varval, symbol_table::do_varval,
8238 symbol_table::all_variables, symbol_table::do_all_variables, 8238 symbol_table::all_variables, symbol_table::do_all_variables,
8239 symbol_table::symbol_record::varref, 8239 symbol_table::symbol_record::varref,
8240 symbol_table::symbol_record::varval, 8240 symbol_table::symbol_record::varval,
8241 symbol_table::symbol_record::is_defined, 8241 symbol_table::symbol_record::is_defined,
8242 symbol_table::symbol_record::is_variable, 8242 symbol_table::symbol_record::is_variable,
8243 symbol_table::symbol_record::symbol_record_rep::varref, 8243 symbol_table::symbol_record::symbol_record_rep::varref,
8272 8272
8273 * symtab.h (symbol_table::lock_subfunctions, 8273 * symtab.h (symbol_table::lock_subfunctions,
8274 symbol_table::lock_subfunctions, 8274 symbol_table::lock_subfunctions,
8275 symbol_table::fcn_info::lock_subfunction, 8275 symbol_table::fcn_info::lock_subfunction,
8276 symbol_table::fcn_info::unlock_subfunction, 8276 symbol_table::fcn_info::unlock_subfunction,
8277 symbol_table::fcn_info::fcn_info_rep::lock_subfunction, 8277 symbol_table::fcn_info::fcn_info_rep::lock_subfunction,
8278 symbol_table::fcn_info::fcn_info_rep::unlock_subfunction): 8278 symbol_table::fcn_info::fcn_info_rep::unlock_subfunction):
8279 New functions. 8279 New functions.
8280 8280
8281 * symtab.h (symbol_table::set_scope, symbol_table::get_instance): 8281 * symtab.h (symbol_table::set_scope, symbol_table::get_instance):
8282 Don't set instance unless allocation succeeds. 8282 Don't set instance unless allocation succeeds.
8283 (symbol_table::print_scope, symbol_table::do_print_scope): Delete. 8283 (symbol_table::print_scope, symbol_table::do_print_scope): Delete.
8296 New functions. 8296 New functions.
8297 (symbol_table::get_instance): Cache top-level name here. 8297 (symbol_table::get_instance): Cache top-level name here.
8298 * parse.y (finish_function): Call symbol_table::cache_name here. 8298 * parse.y (finish_function): Call symbol_table::cache_name here.
8299 8299
8300 * symtab.cc (F__dump_symtab_info__): New function. 8300 * symtab.cc (F__dump_symtab_info__): New function.
8301 8301
8302 * symtab.cc (symbol_table::dump, symbol_table::dump_global, 8302 * symtab.cc (symbol_table::dump, symbol_table::dump_global,
8303 symbol_table::dump_functions, symbol_table::do_dump, 8303 symbol_table::dump_functions, symbol_table::do_dump,
8304 symbol_table::symbol_record::symbol_record_rep::dump, 8304 symbol_table::symbol_record::symbol_record_rep::dump,
8305 symobl_table::fcn_info::fcn_info_rep::dump): New functions. 8305 symobl_table::fcn_info::fcn_info_rep::dump): New functions.
8306 * symtab.h: Provide decls. 8306 * symtab.h: Provide decls.
8318 * ov-builtin.h (octave_builtin::function_value): Likewise. 8318 * ov-builtin.h (octave_builtin::function_value): Likewise.
8319 * ov-fcn-handle.h (octave_fcn_handle::function_value): Likewise. 8319 * ov-fcn-handle.h (octave_fcn_handle::function_value): Likewise.
8320 * ov-mex-fcn.h (octave_mex_function::function_value): Likewise. 8320 * ov-mex-fcn.h (octave_mex_function::function_value): Likewise.
8321 * ov-usr-fcn.h (octave_user_script::function_value, 8321 * ov-usr-fcn.h (octave_user_script::function_value,
8322 octave_user_function): Likewise. 8322 octave_user_function): Likewise.
8323 8323
8324 * symtab.h, symtab.cc: Use consistent naming scheme for iterator 8324 * symtab.h, symtab.cc: Use consistent naming scheme for iterator
8325 typedefs. Change all uses. 8325 typedefs. Change all uses.
8326 8326
8327 * variables.cc (F__print_symtab_info__, F__print_symbol_info__): 8327 * variables.cc (F__print_symtab_info__, F__print_symbol_info__):
8328 Delete. 8328 Delete.
8430 or persistent values specially here. 8430 or persistent values specially here.
8431 (symbol_table::get_instance): Don't return global scope. 8431 (symbol_table::get_instance): Don't return global scope.
8432 (symbol_table::do_push_context, symbol_table::do_pop_context): 8432 (symbol_table::do_push_context, symbol_table::do_pop_context):
8433 Increment/decrement xcurrent_context. 8433 Increment/decrement xcurrent_context.
8434 (symbol_table::do_clear_global, symbol_table::do_clear_global_pattern): 8434 (symbol_table::do_clear_global, symbol_table::do_clear_global_pattern):
8435 Use global_table instead of separate scope. 8435 Use global_table instead of separate scope.
8436 8436
8437 * symtab.h, symtab.cc (symbol_table::fcn_info::fcn_info_rep::find, 8437 * symtab.h, symtab.cc (symbol_table::fcn_info::fcn_info_rep::find,
8438 symbol_table::fcn_info::fcn_info_rep::find_function, 8438 symbol_table::fcn_info::fcn_info_rep::find_function,
8439 symbol_table::fcn_info::find, symbol_table::fcn_info::find_function, 8439 symbol_table::fcn_info::find, symbol_table::fcn_info::find_function,
8440 symbol_table::find, symbol_table::find_function, 8440 symbol_table::find, symbol_table::find_function,
8482 (saved_frame): New static variable. 8482 (saved_frame): New static variable.
8483 (restore_frame): New function. 8483 (restore_frame): New function.
8484 (do_keyboard): Unwind-protect Vdebugging here and set it to TRUE. 8484 (do_keyboard): Unwind-protect Vdebugging here and set it to TRUE.
8485 Save current frame. Use unwind_protect to restore it. 8485 Save current frame. Use unwind_protect to restore it.
8486 (Fkeyboard): Save current frame. Use unwind_protect to restore it. 8486 (Fkeyboard): Save current frame. Use unwind_protect to restore it.
8487 Move up the call stack one frame before calling do_keyboard. 8487 Move up the call stack one frame before calling do_keyboard.
8488 * input.h (Vdebugging): Provide decl. 8488 * input.h (Vdebugging): Provide decl.
8489 8489
8490 * mex.cc (mexGetVariable): Handle global vars with get_global_value. 8490 * mex.cc (mexGetVariable): Handle global vars with get_global_value.
8491 (mexPutVariable): Likewise, with set_global_value. 8491 (mexPutVariable): Likewise, with set_global_value.
8492 8492
8631 8631
8632 * toplev.h, toplev.cc (octave_call_stack::unwind_pop_script): 8632 * toplev.h, toplev.cc (octave_call_stack::unwind_pop_script):
8633 Delete unused function. 8633 Delete unused function.
8634 8634
8635 * ov-usr-fcn.cc: Move constructor definitions here, from ov-usr-fcn.h. 8635 * ov-usr-fcn.cc: Move constructor definitions here, from ov-usr-fcn.h.
8636 * ov-usr-fcn.h (octave_user_script::octave_user_script): 8636 * ov-usr-fcn.h (octave_user_script::octave_user_script):
8637 Also Initialize t_parsed and t_checked. 8637 Also Initialize t_parsed and t_checked.
8638 8638
8639 2008-04-24 Jaroslav Hajek <highegg@gmail.com> 8639 2008-04-24 Jaroslav Hajek <highegg@gmail.com>
8640 8640
8641 * ov-usr-fcn.h (octave_user_script::octave_user_script): 8641 * ov-usr-fcn.h (octave_user_script::octave_user_script):
8642 Initialize call_depth. 8642 Initialize call_depth.
8643 8643
8644 2008-04-24 John W. Eaton <jwe@octave.org> 8644 2008-04-24 John W. Eaton <jwe@octave.org>
8645 8645
8646 * file-io.cc (do_stream_open): Return -1 for directories. 8646 * file-io.cc (do_stream_open): Return -1 for directories.
8689 (<COMMAND_START>[\"\'], "'", \"): Move handle_string outside of 8689 (<COMMAND_START>[\"\'], "'", \"): Move handle_string outside of
8690 COUNT_TOK_AND_RETURN macro parameter list. 8690 COUNT_TOK_AND_RETURN macro parameter list.
8691 (handle_identifier): Don't use macros to return token values here. 8691 (handle_identifier): Don't use macros to return token values here.
8692 (<MATRIX_START>{S}*{COMMENT}{SNLCMT}*|<MATRIX_START>{S}*{NL}{SNLCMT}*): 8692 (<MATRIX_START>{S}*{COMMENT}{SNLCMT}*|<MATRIX_START>{S}*{NL}{SNLCMT}*):
8693 Recognize block comments here. 8693 Recognize block comments here.
8694 8694
8695 * pr-output.cc (Fdisp): If nargout > 0, produce an sq-string 8695 * pr-output.cc (Fdisp): If nargout > 0, produce an sq-string
8696 unless arg is a dq-string. 8696 unless arg is a dq-string.
8697 8697
8698 2008-04-17 John W. Eaton <jwe@octave.org> 8698 2008-04-17 John W. Eaton <jwe@octave.org>
8699 8699
8759 bp_table::do_remove_all_breakpoints_in_file, 8759 bp_table::do_remove_all_breakpoints_in_file,
8760 bp_table::do_get_breakpoint_list): 8760 bp_table::do_get_breakpoint_list):
8761 Avoid dereferencing invalid pointers. 8761 Avoid dereferencing invalid pointers.
8762 (parse_dbfunction_params): Call 8762 (parse_dbfunction_params): Call
8763 octave_call_stack::caller_user_code, not 8763 octave_call_stack::caller_user_code, not
8764 octave_call_stack::caller_user_script_or_function. 8764 octave_call_stack::caller_user_script_or_function.
8765 8765
8766 * load-save.cc (Fsave): Fix continuation character in doc string. 8766 * load-save.cc (Fsave): Fix continuation character in doc string.
8767 8767
8768 * pt-walk.h (tree_walker::visit_function_def): New function. 8768 * pt-walk.h (tree_walker::visit_function_def): New function.
8769 * pt-pr-code.cc (tree_print_code::visit_function_def): New function. 8769 * pt-pr-code.cc (tree_print_code::visit_function_def): New function.
9075 * ov.h (octave_value diag (octave_idx_type) const): New method. 9075 * ov.h (octave_value diag (octave_idx_type) const): New method.
9076 * ov-base.h (virtual octave_value diag (octave_idx_type) const): 9076 * ov-base.h (virtual octave_value diag (octave_idx_type) const):
9077 New virtual method. 9077 New virtual method.
9078 * ov-base.cc (octave_value octave_base_value::diag 9078 * ov-base.cc (octave_value octave_base_value::diag
9079 (octave_idx_type) const): New default method. 9079 (octave_idx_type) const): New default method.
9080 9080
9081 * ov-base-mat.h (octave_value diag (octave_idx_type) const): New 9081 * ov-base-mat.h (octave_value diag (octave_idx_type) const): New
9082 method. 9082 method.
9083 * ov-base-sparse.h (octave_value diag (octave_idx_type) const): New 9083 * ov-base-sparse.h (octave_value diag (octave_idx_type) const): New
9084 method. 9084 method.
9085 * ov-base-scalar.h (octave_value diag (octave_idx_type) const): New 9085 * ov-base-scalar.h (octave_value diag (octave_idx_type) const): New
9086 method. 9086 method.
9087 * ov-range.h (octave_value diag (octave_idx_type) const): New 9087 * ov-range.h (octave_value diag (octave_idx_type) const): New
9088 method. 9088 method.
9089 9089
9090 * data.cc (make_diag, make_spdiag): Delete. 9090 * data.cc (make_diag, make_spdiag): Delete.
9091 (Fdiag): Rewrite in terms of octave_value diag function. 9091 (Fdiag): Rewrite in terms of octave_value diag function.
9092 9092
9093 * data.cc (static octave_value make_diag (const Cell&, 9093 * data.cc (static octave_value make_diag (const Cell&,
9094 octave_idx_type)): New instantiation of template function. 9094 octave_idx_type)): New instantiation of template function.
9095 (static octave_value make_diag (const octave_value&, 9095 (static octave_value make_diag (const octave_value&,
9096 octave_idx_type)): Allow cell arrays. 9096 octave_idx_type)): Allow cell arrays.
9097 9097
9202 * DLD-FUNCTIONS/__lin_interpn__.cc (lookup): 9202 * DLD-FUNCTIONS/__lin_interpn__.cc (lookup):
9203 Handle decreasing coordinate values. 9203 Handle decreasing coordinate values.
9204 9204
9205 2008-03-05 Jaroslav Hajek <highegg@gmail.com> 9205 2008-03-05 Jaroslav Hajek <highegg@gmail.com>
9206 9206
9207 * DLD-FUNCTIONS/chol.cc (Fcholupdate): Adjust code to meet 9207 * DLD-FUNCTIONS/chol.cc (Fcholupdate): Adjust code to meet
9208 Octave's coding guidelines. 9208 Octave's coding guidelines.
9209 9209
9210 * DLD-FUNCTIONS/qr.cc (Fqrupdate, Fqrinsert, Fqrdelete): Adjust 9210 * DLD-FUNCTIONS/qr.cc (Fqrupdate, Fqrinsert, Fqrdelete): Adjust
9211 code to meet Octave's coding guidelines. 9211 code to meet Octave's coding guidelines.
9212 * DLD-FUNCTIONS/qr.cc (Fqrdelete): Fix incorrect test. 9212 * DLD-FUNCTIONS/qr.cc (Fqrdelete): Fix incorrect test.
9213 9213
9214 * DLD-FUNCTIONS/qr.cc (Fqrinsert, Fqrdelete): Modify to use 9214 * DLD-FUNCTIONS/qr.cc (Fqrinsert, Fqrdelete): Modify to use
9215 0-based indexing in liboctave's QR classes. 9215 0-based indexing in liboctave's QR classes.
9216 9216
9217 2008-03-04 Jaroslav Hajek <highegg@gmail.com> 9217 2008-03-04 Jaroslav Hajek <highegg@gmail.com>
9236 9236
9237 * ov-usr-func.cc (octave_user_function::do_multi_index_op): 9237 * ov-usr-func.cc (octave_user_function::do_multi_index_op):
9238 Don't set curr_caller_statement. 9238 Don't set curr_caller_statement.
9239 9239
9240 * error.cc (verror, pr_where): Call tree_statement_stack::current_line 9240 * error.cc (verror, pr_where): Call tree_statement_stack::current_line
9241 and tree_statement_stack::current_column instead of 9241 and tree_statement_stack::current_column instead of
9242 instead of curr_statement->line and curr_statement->column. 9242 instead of curr_statement->line and curr_statement->column.
9243 * input.cc (get_user_input): Likewise. 9243 * input.cc (get_user_input): Likewise.
9244 9244
9245 2008-02-27 John P. Swensen <jpswensen@gmail.com> 9245 2008-02-27 John P. Swensen <jpswensen@gmail.com>
9246 9246
9315 Avoid unused argument warning from GCC. 9315 Avoid unused argument warning from GCC.
9316 9316
9317 * graphics.h.in (array_property::add_constraint): Arg is now const 9317 * graphics.h.in (array_property::add_constraint): Arg is now const
9318 reference, not value. 9318 reference, not value.
9319 9319
9320 * graphics.h.in, graphics.cc (class row_vector_property): New class. 9320 * graphics.h.in, graphics.cc (class row_vector_property): New class.
9321 (axes::properties): xlim, ylim, zlim, clim, alim, xtick, ytick, 9321 (axes::properties): xlim, ylim, zlim, clim, alim, xtick, ytick,
9322 ztick properties are now row_vector_property objects instead of 9322 ztick properties are now row_vector_property objects instead of
9323 array_property objects. 9323 array_property objects.
9324 9324
9325 * genprops.awk: Special case row_vector_property in the same way 9325 * genprops.awk: Special case row_vector_property in the same way
9333 DLD-FUNCTIONS/symbfact.cc, zfstream.h, zfstream.cc: 9333 DLD-FUNCTIONS/symbfact.cc, zfstream.h, zfstream.cc:
9334 Use 0 instead of NULL. 9334 Use 0 instead of NULL.
9335 9335
9336 2008-02-22 David Bateman <dbateman@free.fr> 9336 2008-02-22 David Bateman <dbateman@free.fr>
9337 9337
9338 * DLD-FUNCTIONS/chol.c (Fchol, Fcholinv, Fchol2iinv): Treat 9338 * DLD-FUNCTIONS/chol.c (Fchol, Fcholinv, Fchol2iinv): Treat
9339 sparse matrices. Add the "lower" and "vector" flags. 9339 sparse matrices. Add the "lower" and "vector" flags.
9340 * DLD-FUNCTIONS/inv.c (Finv): Treat sparse matrices. 9340 * DLD-FUNCTIONS/inv.c (Finv): Treat sparse matrices.
9341 * DLD-FUNCTION/sparse.cc (static bool is_sparse (const 9341 * DLD-FUNCTION/sparse.cc (static bool is_sparse (const
9342 octave_value&)): Remove and use arg.is_sparse_type () instead. 9342 octave_value&)): Remove and use arg.is_sparse_type () instead.
9343 (Fspcumprod, Fspcumsum, Fspprod, spsum, spsumsq, spdiag): Remove. 9343 (Fspcumprod, Fspcumsum, Fspprod, spsum, spsumsq, spdiag): Remove.
9348 Fspcholinv, Fspchol2inv. 9348 Fspcholinv, Fspchol2inv.
9349 * DLD-FUNCTIONS/luinc.cc: Modify for new sparse LU 9349 * DLD-FUNCTIONS/luinc.cc: Modify for new sparse LU
9350 constructors. Ass the 'vector' flag. 9350 constructors. Ass the 'vector' flag.
9351 * DLD-FUNCTIONS/spparms.cc: Add the sum_tol flag. 9351 * DLD-FUNCTIONS/spparms.cc: Add the sum_tol flag.
9352 9352
9353 * Makifile.in (DLD_XSRC): Remove spchol.cc, splu.cc and add 9353 * Makifile.in (DLD_XSRC): Remove spchol.cc, splu.cc and add
9354 symbfact.cc 9354 symbfact.cc
9355 * data.cc (NATIVE_REDUCTION): Treat sparse matrices 9355 * data.cc (NATIVE_REDUCTION): Treat sparse matrices
9356 (DATA_REDUCTION): Ditto. 9356 (DATA_REDUCTION): Ditto.
9357 (template <class T> static octave_value make_spdiag (const T&, 9357 (template <class T> static octave_value make_spdiag (const T&,
9358 octave_idx_type)): New template function for sparse diag 9358 octave_idx_type)): New template function for sparse diag
9359 function. Instantiate it. 9359 function. Instantiate it.
9360 (static octave_value make_diag (const octave_value&, 9360 (static octave_value make_diag (const octave_value&,
9361 octave_idx_type): Use make_spdiag for sparse matrice. 9361 octave_idx_type): Use make_spdiag for sparse matrice.
9362 (Fatan2): Compatibility fixes for mixed full/sparse matrices. 9362 (Fatan2): Compatibility fixes for mixed full/sparse matrices.
9363 9363
9364 2008-02-21 John W. Eaton <jwe@octave.org> 9364 2008-02-21 John W. Eaton <jwe@octave.org>
9365 9365
9366 * DLD-FUNCTIONS/fsolve.cc (fsolve_user_jacobian): 9366 * DLD-FUNCTIONS/fsolve.cc (fsolve_user_jacobian):
9367 Check dimensions of user-supplied Jacobian matrix. 9367 Check dimensions of user-supplied Jacobian matrix.
9368 (fsolve_user_function): Check for non-square systems. 9368 (fsolve_user_function): Check for non-square systems.
9377 2008-02-20 David Bateman <dbateman@free.fr> 9377 2008-02-20 David Bateman <dbateman@free.fr>
9378 9378
9379 * DLD-FUNCTIONS/det.cc, DLD-FUNCTIONS/find.cc, 9379 * DLD-FUNCTIONS/det.cc, DLD-FUNCTIONS/find.cc,
9380 * DLD-FUNCTIONS/minmax.cc, DLD-FUNCTIONS/qr.cc: 9380 * DLD-FUNCTIONS/minmax.cc, DLD-FUNCTIONS/qr.cc:
9381 Treat sparse matrices. 9381 Treat sparse matrices.
9382 9382
9383 * DLD-FUNCTIONS/sparse.cc (Fspmin, Fspmax, Fatan2): Remove functions. 9383 * DLD-FUNCTIONS/sparse.cc (Fspmin, Fspmax, Fatan2): Remove functions.
9384 9384
9385 * DLD-FUNCTIONS/dmperm.cc: Rename from spqr.cc. 9385 * DLD-FUNCTIONS/dmperm.cc: Rename from spqr.cc.
9386 (Fspqr): Delete function. 9386 (Fspqr): Delete function.
9387 9387
9395 (OV_INCLUDES): Remove ov-mapper.h. 9395 (OV_INCLUDES): Remove ov-mapper.h.
9396 (DEFUN_PATTERN): No longer accept DEFUN_MAPPER as valid. 9396 (DEFUN_PATTERN): No longer accept DEFUN_MAPPER as valid.
9397 * ov-mapper.cc, ov-mapepr.h: Delete, remove all includes of 9397 * ov-mapper.cc, ov-mapepr.h: Delete, remove all includes of
9398 ov-mapper.h from all files. 9398 ov-mapper.h from all files.
9399 9399
9400 * op-b-sbm.cc, op-bm-sbm.cc, op-smb-b.cc, op-sbm-bm.cc: Include 9400 * op-b-sbm.cc, op-bm-sbm.cc, op-smb-b.cc, op-sbm-bm.cc: Include
9401 ov-bool-sparse.h. 9401 ov-bool-sparse.h.
9402 9402
9403 * defun-int.h (DEFUN_MAPPER_INTERNAL, install_builtin_mapper): 9403 * defun-int.h (DEFUN_MAPPER_INTERNAL, install_builtin_mapper):
9404 Remove. 9404 Remove.
9405 * defun.cc (install_builtin_mapper): Ditto. 9405 * defun.cc (install_builtin_mapper): Ditto.
9410 (dummyp, xabs, xisalnum, xisascii, xiscntrl, xisdigit, 9410 (dummyp, xabs, xisalnum, xisascii, xiscntrl, xisdigit,
9411 xisgraph, xislower, xisprint, xispunct, xisspace, xisupper, 9411 xisgraph, xislower, xisprint, xispunct, xisspace, xisupper,
9412 xtoascii, xtolower, xtoupper, xconj, ximag, xreal): Remove 9412 xtoascii, xtolower, xtoupper, xconj, ximag, xreal): Remove
9413 static wrapper functions. 9413 static wrapper functions.
9414 9414
9415 * mkbuiltins (XDEFUN_MAPPER_INTERNAL, install_builtin_functions): 9415 * mkbuiltins (XDEFUN_MAPPER_INTERNAL, install_builtin_functions):
9416 Remove. 9416 Remove.
9417 * mkgendoc (XDEFUN_MAPPER_INTERNAL): Remove. 9417 * mkgendoc (XDEFUN_MAPPER_INTERNAL): Remove.
9418 9418
9419 * ov.cc (octave_mapper::register_type): Remove. 9419 * ov.cc (octave_mapper::register_type): Remove.
9420 9420
9421 * ov.h (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, 9421 * ov.h (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh,
9422 ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor, gamma, 9422 ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor, gamma,
9423 imag, isinf, isna, isnan, lgamma, log, log10, real, round, signum, 9423 imag, isinf, isna, isnan, lgamma, log, log10, real, round, signum,
9424 sin, sinh, sqrt, tan, tanh, isalnum, isalpha, isascii, iscntrl, 9424 sin, sinh, sqrt, tan, tanh, isalnum, isalpha, isascii, iscntrl,
9425 isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, 9425 isdigit, isgraph, islower, isprint, ispunct, isspace, isupper,
9471 (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, ceil, 9471 (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, ceil,
9472 conj, cos, cosh, exp, finite, fix, floor, imag, isinf, isna, 9472 conj, cos, cosh, exp, finite, fix, floor, imag, isinf, isna,
9473 isnan, log, log10, real, round, signum, sin, sinh, sqrt, tan, 9473 isnan, log, log10, real, round, signum, sin, sinh, sqrt, tan,
9474 tanh): New mapper methods. 9474 tanh): New mapper methods.
9475 * ov-cx-mat.h: Provide decls. 9475 * ov-cx-mat.h: Provide decls.
9476 9476
9477 * ov-cx-sparse.cc (char_array_value): New method to convert to 9477 * ov-cx-sparse.cc (char_array_value): New method to convert to
9478 charNDArray. 9478 charNDArray.
9479 (xabs, ximag, xreal): Static wrapper functions. 9479 (xabs, ximag, xreal): Static wrapper functions.
9480 (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, ceil, 9480 (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, ceil,
9481 conj, cos, cosh, exp, finite, fix, floor, imag, isinf, isna, 9481 conj, cos, cosh, exp, finite, fix, floor, imag, isinf, isna,
9484 * ov-cx-sparse.h: Provide decls. 9484 * ov-cx-sparse.h: Provide decls.
9485 9485
9486 * ov-intx.h (abs, signum, imag, ceil, conj, fix, floor, real, 9486 * ov-intx.h (abs, signum, imag, ceil, conj, fix, floor, real,
9487 round, finite, isinf, isna, isnan): Define for both matrix and 9487 round, finite, isinf, isna, isnan): Define for both matrix and
9488 scalar classes. 9488 scalar classes.
9489 9489
9490 * ov-range.h (abs, acos, acosh, angle, arg, asin, asinh, atan, 9490 * ov-range.h (abs, acos, acosh, angle, arg, asin, asinh, atan,
9491 atanh, ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor, 9491 atanh, ceil, conj, cos, cosh, erf, erfc, exp, finite, fix, floor,
9492 gamma, imag, isinf, isna, isnan, lgamma, log, log10, real, round, 9492 gamma, imag, isinf, isna, isnan, lgamma, log, log10, real, round,
9493 signum, sin, sinh, sqrt, tan, tanh): New mapper functions. 9493 signum, sin, sinh, sqrt, tan, tanh): New mapper functions.
9494 9494
9498 (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, ceil, 9498 (abs, acos, acosh, angle, arg, asin, asinh, atan, atanh, ceil,
9499 conj, cos, cosh, erf, erfc, exp, finite, fix, floor, gamma, imag, 9499 conj, cos, cosh, erf, erfc, exp, finite, fix, floor, gamma, imag,
9500 isinf, isna, isnan, lgamma, log, log10, real, round, signum, sin, 9500 isinf, isna, isnan, lgamma, log, log10, real, round, signum, sin,
9501 sinh, sqrt, tan, tanh): New mapper functions. 9501 sinh, sqrt, tan, tanh): New mapper functions.
9502 * ov-re-mat.h: Provide decls. 9502 * ov-re-mat.h: Provide decls.
9503 9503
9504 * ov-scalar.cc (any_element_less_than): Static function to check if 9504 * ov-scalar.cc (any_element_less_than): Static function to check if
9505 any elemet was less than a value, 9505 any elemet was less than a value,
9506 (any_element_greater_than): ditto with greater than. 9506 (any_element_greater_than): ditto with greater than.
9507 (abs acos acosh angle arg asin asinh atan atanh 9507 (abs acos acosh angle arg asin asinh atan atanh
9508 ceil conj cos cosh erf erfc exp finite fix floor gamma imag 9508 ceil conj cos cosh erf erfc exp finite fix floor gamma imag
9509 isinf isna isnan lgamma log log10 real round signum sin sinh 9509 isinf isna isnan lgamma log log10 real round signum sin sinh
9510 sqrt tan tanh): New mapper functions. 9510 sqrt tan tanh): New mapper functions.
9511 * ov-scalar.h: Provide decls. 9511 * ov-scalar.h: Provide decls.
9512 9512
9513 * ov-str-mat.cc (xisalnum, xisascii, xiscntrl, xisdigit, 9513 * ov-str-mat.cc (xisalnum, xisascii, xiscntrl, xisdigit,
9514 xisgraph, xislower, xisprint, xispunct, xisspace, xisupper, 9514 xisgraph, xislower, xisprint, xispunct, xisspace, xisupper,
9570 (initialize_error_handlers): Set liboctave_error_handler to 9570 (initialize_error_handlers): Set liboctave_error_handler to
9571 lo_error_handler, not error. 9571 lo_error_handler, not error.
9572 9572
9573 * DLD-FUNCTIONS/urlwrite.cc (urlget): Call octave_rethrow_exception 9573 * DLD-FUNCTIONS/urlwrite.cc (urlget): Call octave_rethrow_exception
9574 instead of octave_throw_interrupt_exception. 9574 instead of octave_throw_interrupt_exception.
9575 * utils.cc (BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_FOR_VSNPRINTF): 9575 * utils.cc (BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_FOR_VSNPRINTF):
9576 Likewise. 9576 Likewise.
9577 9577
9578 2008-02-12 David Bateman <dbateman@free.fr> 9578 2008-02-12 David Bateman <dbateman@free.fr>
9579 9579
9580 * graphics.h.in: Implement the cdatamapping property in patch and 9580 * graphics.h.in: Implement the cdatamapping property in patch and
9679 (class figure::properties, class axes::properties): Export classes. 9679 (class figure::properties, class axes::properties): Export classes.
9680 (figure::properties::get_boundingbox): New utility method. 9680 (figure::properties::get_boundingbox): New utility method.
9681 (figure::properties::position): Use valid default position. 9681 (figure::properties::position): Use valid default position.
9682 (axes::properties::gridlinestyle, 9682 (axes::properties::gridlinestyle,
9683 axes::properties::minorgridlinestyle): 9683 axes::properties::minorgridlinestyle):
9684 Use dotted line style as default. 9684 Use dotted line style as default.
9685 * graphics.cc (default_figure_position): New static function. 9685 * graphics.cc (default_figure_position): New static function.
9686 (gnuplot_backend::get_screen_size): New method. 9686 (gnuplot_backend::get_screen_size): New method.
9687 (figure::properties::get_boundingbox): New utility method. 9687 (figure::properties::get_boundingbox): New utility method.
9688 9688
9689 2008-02-02 Shai Ayal <shaiay@users.sourceforge.org> 9689 2008-02-02 Shai Ayal <shaiay@users.sourceforge.org>
9690 9690
9691 * graphics.h.in (base_scaler::~base_scalar): New virtual destructor. 9691 * graphics.h.in (base_scaler::~base_scalar): New virtual destructor.
9692 * graphics.cc (axes::properties::update_camera): Tag abs with std. 9692 * graphics.cc (axes::properties::update_camera): Tag abs with std.
9693 9693
9694 * graphics.h.in (graphics_backend::find_backend): New function. 9694 * graphics.h.in (graphics_backend::find_backend): New function.
9695 (class figure): Add __backend__ property and set method. 9695 (class figure): Add __backend__ property and set method.
9696 9696
9697 2008-02-02 John W. Eaton <jwe@octave.org> 9697 2008-02-02 John W. Eaton <jwe@octave.org>
9698 9698
9699 * help.cc (do_type): Don't print dyamically loaded function files. 9699 * help.cc (do_type): Don't print dyamically loaded function files.
9700 9700
9701 * ov-fcn.h (octave_function::is_dynamically_loaded_function): Delete. 9701 * ov-fcn.h (octave_function::is_dynamically_loaded_function): Delete.
9720 9720
9721 2008-01-31 David Bateman <dbateman@free.fr> 9721 2008-01-31 David Bateman <dbateman@free.fr>
9722 9722
9723 * ov.cc (octave_value::octave_value (const ArrayN<bool>&), 9723 * ov.cc (octave_value::octave_value (const ArrayN<bool>&),
9724 octave_value::octave_value (const Sparse<bool>&, const MatrixType &), 9724 octave_value::octave_value (const Sparse<bool>&, const MatrixType &),
9725 octave_value::octave_value (const ArrayN<std::streamoff>&)): New 9725 octave_value::octave_value (const ArrayN<std::streamoff>&)): New
9726 constructors. 9726 constructors.
9727 * ov.h: (octave_value (const ArrayN<bool>&), 9727 * ov.h: (octave_value (const ArrayN<bool>&),
9728 octave_value (const Sparse<bool>&, const MatrixType &), 9728 octave_value (const Sparse<bool>&, const MatrixType &),
9729 octave_value (const ArrayN<std::streamoff>&)): Declare them. 9729 octave_value (const ArrayN<std::streamoff>&)): Declare them.
9730 (octave_value sort (octave_idx_type, sortmode) const, octave_value 9730 (octave_value sort (octave_idx_type, sortmode) const, octave_value
9731 sort (Array<octave_idx_type> &, octave_idx_type, sortmode) const): 9731 sort (Array<octave_idx_type> &, octave_idx_type, sortmode) const):
9732 octave_value sort method. 9732 octave_value sort method.
9733 9733
9734 9734
9735 * ov-base.cc (sort): Base versions of teh octave_value sort methods. 9735 * ov-base.cc (sort): Base versions of teh octave_value sort methods.
9736 * ov-base.h (sort): Declare the octave_value sort methods 9736 * ov-base.h (sort): Declare the octave_value sort methods
9737 * ov-base-scalar.h (sort): Simple sort methods for scalars. 9737 * ov-base-scalar.h (sort): Simple sort methods for scalars.
9738 * ov-base-mat.h, ov-base-sparse.h (sort): Sort methods calling 9738 * ov-base-mat.h, ov-base-sparse.h (sort): Sort methods calling
9739 underlying array or sparse sort methods. 9739 underlying array or sparse sort methods.
9740 * ov-str-mat.h (sort): String specific sort methods. 9740 * ov-str-mat.h (sort): String specific sort methods.
9741 9741
9742 * TEMPLATE-INST/Array-tc.cc: Instantiate the array sort methods. 9742 * TEMPLATE-INST/Array-tc.cc: Instantiate the array sort methods.
9743 * ov-streamoff.h (sort): Sort versions returning and error. 9743 * ov-streamoff.h (sort): Sort versions returning and error.
9744 * oct-stream.cc, ov-typeinfo.cc, Array-os.cc: Null instantiation 9744 * oct-stream.cc, ov-typeinfo.cc, Array-os.cc: Null instantiation
9745 of array sort methods. 9745 of array sort methods.
9746 9746
9747 * Makefile.in (DLD_XSRC): Remove sort.cc 9747 * Makefile.in (DLD_XSRC): Remove sort.cc
9748 * DLD-FUNCTIONS/sort.cc: Remove 9748 * DLD-FUNCTIONS/sort.cc: Remove
9749 * data.cc (Fsort): New function using octave_value sort methods 9749 * data.cc (Fsort): New function using octave_value sort methods
9750 for the sorting. Add tests. 9750 for the sorting. Add tests.
9751 9751
10278 octave_value_typeinfo::do_register_unary_class_op, 10278 octave_value_typeinfo::do_register_unary_class_op,
10279 octave_value_typeinfo::do_register_binary_class_op, 10279 octave_value_typeinfo::do_register_binary_class_op,
10280 octave_value_typeinfo::do_lookup_unary_class_op, 10280 octave_value_typeinfo::do_lookup_unary_class_op,
10281 octave_value_typeinfo::do_lookup_binary_class_op): New functions. 10281 octave_value_typeinfo::do_lookup_binary_class_op): New functions.
10282 * ov-typeinfo.h: Provide decls. 10282 * ov-typeinfo.h: Provide decls.
10283 10283
10284 * ov-typeinfo.h (octave_value_typeinfo::unary_class_op_fcn, 10284 * ov-typeinfo.h (octave_value_typeinfo::unary_class_op_fcn,
10285 octave_value_typeinfo::binary_class_op_fcn): New typedefs. 10285 octave_value_typeinfo::binary_class_op_fcn): New typedefs.
10286 (octave_value_typeinfo::unary_class_ops, 10286 (octave_value_typeinfo::unary_class_ops,
10287 octave_value_typeinfo::binary_class_ops): New data members. 10287 octave_value_typeinfo::binary_class_ops): New data members.
10288 (octave_value_typeinfo::octave_value_typeinfo): Initialize them. 10288 (octave_value_typeinfo::octave_value_typeinfo): Initialize them.
10475 10475
10476 2007-05-15 John W. Eaton <jwe@octave.org> 10476 2007-05-15 John W. Eaton <jwe@octave.org>
10477 10477
10478 * load-path.cc (load_path::do_find_private_function): New function. 10478 * load-path.cc (load_path::do_find_private_function): New function.
10479 * load-path.h (load_path::do_find_private_function): Provide decl. 10479 * load-path.h (load_path::do_find_private_function): Provide decl.
10480 (load_path::find_private_function): New function. 10480 (load_path::find_private_function): New function.
10481 10481
10482 2007-05-08 John W. Eaton <jwe@octave.org> 10482 2007-05-08 John W. Eaton <jwe@octave.org>
10483 10483
10484 * pt-idx.cc (tree_index_expression::rvalue): Handle dispatch here. 10484 * pt-idx.cc (tree_index_expression::rvalue): Handle dispatch here.
10485 10485
10511 * ov-usr-fcn.cc (octave_user_function::octave_user_function): 10511 * ov-usr-fcn.cc (octave_user_function::octave_user_function):
10512 Initialize them. 10512 Initialize them.
10513 10513
10514 * load-path.h, load-path.cc: Use typedefs to simplify template decls. 10514 * load-path.h, load-path.cc: Use typedefs to simplify template decls.
10515 Use fcn consistently instead of function. 10515 Use fcn consistently instead of function.
10516 10516
10517 2007-05-03 John W. Eaton <jwe@octave.org> 10517 2007-05-03 John W. Eaton <jwe@octave.org>
10518 10518
10519 * ov-class.cc (Fclass): Move here. 10519 * ov-class.cc (Fclass): Move here.
10520 * ov-typeinfo.cc: From here. 10520 * ov-typeinfo.cc: From here.
10521 10521
10590 (get_user_input): If debug and Vgud_mode, print location info in 10590 (get_user_input): If debug and Vgud_mode, print location info in
10591 format for Emacs GUD mode. 10591 format for Emacs GUD mode.
10592 10592
10593 2007-12-11 David Bateman <dbateman@free.fr> 10593 2007-12-11 David Bateman <dbateman@free.fr>
10594 10594
10595 * OPERATORS/op-bm-sbm.cc, OPERATORS/op-b-sbm.cc, 10595 * OPERATORS/op-bm-sbm.cc, OPERATORS/op-b-sbm.cc,
10596 OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, 10596 OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc,
10597 OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, 10597 OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc,
10598 OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, 10598 OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc,
10599 OPERATORS/op-s-scm.cc, OPERATORS/op-s-sm.cc: Privilege 10599 OPERATORS/op-s-scm.cc, OPERATORS/op-s-sm.cc: Privilege
10600 conversion to dense matrices for compatibility. 10600 conversion to dense matrices for compatibility.
10601 10601
10602 * DLD-FUNCTIONS/sparse.cc (FSparse): Remove the mutate flag, as 10602 * DLD-FUNCTIONS/sparse.cc (FSparse): Remove the mutate flag, as
10603 default bahavior is now to keep matrix sparse always. 10603 default bahavior is now to keep matrix sparse always.
10604 10604
10605 * graphics.cc (axes::properties::properties): 10605 * graphics.cc (axes::properties::properties):
10606 Initialize xcolor, ycolor, and zcolor to (0, 0, 0). 10606 Initialize xcolor, ycolor, and zcolor to (0, 0, 0).
10607 10607
10608 * graphics.h.in (gh_manager::next_handle): Now double. 10608 * graphics.h.in (gh_manager::next_handle): Now double.
10609 * graphics.cc (gh_manager::get_handle, gh_manager::gh_manager): 10609 * graphics.cc (gh_manager::get_handle, gh_manager::gh_manager):
10674 * Makefile.in (LIBDLFCN): Delete all uses. 10674 * Makefile.in (LIBDLFCN): Delete all uses.
10675 10675
10676 * toplev.cc (octave_config_info): Remove LIBDLFCN and 10676 * toplev.cc (octave_config_info): Remove LIBDLFCN and
10677 DLFCN_INCFLAGS from the list. 10677 DLFCN_INCFLAGS from the list.
10678 * oct-conf.h.in (OCTAVE_CONF_DLFCN_INCFLAGS, OCTAVE_CONF_LIBDLFCN): 10678 * oct-conf.h.in (OCTAVE_CONF_DLFCN_INCFLAGS, OCTAVE_CONF_LIBDLFCN):
10679 Delete. 10679 Delete.
10680 10680
10681 * error.cc (Ferror): Handle error id. 10681 * error.cc (Ferror): Handle error id.
10682 10682
10683 * load-save.cc (Fsave, Fload): Doc fixes. 10683 * load-save.cc (Fsave, Fload): Doc fixes.
10684 From Marco Caliari <caliari@sci.univr.it>. 10684 From Marco Caliari <caliari@sci.univr.it>.
10685 10685
10686 2007-12-04 Shai Ayal <shaiay@users.sourceforge.net> 10686 2007-12-04 Shai Ayal <shaiay@users.sourceforge.net>
10687 10687
10688 * graphics.h.in (base_properties::get_type 10688 * graphics.h.in (base_properties::get_type
10689 base_properties::get___modified__, 10689 base_properties::get___modified__,
10690 base_properties::get___myhandle__): New functions. 10690 base_properties::get___myhandle__): New functions.
10691 10691
10692 2007-12-04 Christoph Mayer <Christoph.Mayer@dlr.de>. 10692 2007-12-04 Christoph Mayer <Christoph.Mayer@dlr.de>.
10693 10693
10694 * toplev.h (clean_up_and_exit, recover_from_exception, 10694 * toplev.h (clean_up_and_exit, recover_from_exception,
10695 do_octave_atexit, global_command, curr_parent_function): 10695 do_octave_atexit, global_command, curr_parent_function):
10696 Tag with OCTINTERP_API. 10696 Tag with OCTINTERP_API.
10697 10697
10698 2007-12-03 David Bateman <dbateman@free.fr> 10698 2007-12-03 David Bateman <dbateman@free.fr>
10699 10699
10700 * DLD-FUNCTIONS/luinc.cc: Make tests conditional on HAVE_UMFPACK. 10700 * DLD-FUNCTIONS/luinc.cc: Make tests conditional on HAVE_UMFPACK.
10701 * DLD-FUNCTIONS/spqr.cc: Make tests conditional on HAVE_CXSPARSE. 10701 * DLD-FUNCTIONS/spqr.cc: Make tests conditional on HAVE_CXSPARSE.
10755 text::get_properties (void) const, 10755 text::get_properties (void) const,
10756 image::get_properties (void) const, 10756 image::get_properties (void) const,
10757 patch::get_properties (void) const, 10757 patch::get_properties (void) const,
10758 surface::get_properties (void) const)): New functions. 10758 surface::get_properties (void) const)): New functions.
10759 (radio_property::radio_property (const radio_values&)): 10759 (radio_property::radio_property (const radio_values&)):
10760 Provide default value for argument. 10760 Provide default value for argument.
10761 (radio_property::radio_property (const radio_values&, const 10761 (radio_property::radio_property (const radio_values&, const
10762 std::string&)): Delete. 10762 std::string&)): Delete.
10763 (axes::xlimmode, axes::ylimmode, axes::zlimmode, axes::climmode, 10763 (axes::xlimmode, axes::ylimmode, axes::zlimmode, axes::climmode,
10764 axes::xscale, axes::yscale, axes::zscale): Declare as 10764 axes::xscale, axes::yscale, axes::zscale): Declare as
10765 radio_property instead of octave_value values. Adjust all uses. 10765 radio_property instead of octave_value values. Adjust all uses.
10832 * oct-stream.cc (DO_DOUBLE_CONV): Always use long. 10832 * oct-stream.cc (DO_DOUBLE_CONV): Always use long.
10833 10833
10834 * oct-stream.cc (do_write): Call float_value and double_value on 10834 * oct-stream.cc (do_write): Call float_value and double_value on
10835 octave_int<T> objects instead of relying on conversion operators. 10835 octave_int<T> objects instead of relying on conversion operators.
10836 10836
10837 * ls-mat5.cc (read_mat5_binary_element, OCTAVE_MAT5_INTEGER_READ): 10837 * ls-mat5.cc (read_mat5_binary_element, OCTAVE_MAT5_INTEGER_READ):
10838 Call double_value on octave_int<T> objects 10838 Call double_value on octave_int<T> objects
10839 instead of relying on conversion operator. 10839 instead of relying on conversion operator.
10840 (read_mat5_binary_file_header): 10840 (read_mat5_binary_file_header):
10841 Call char_value on octave_int<T> objects 10841 Call char_value on octave_int<T> objects
10842 instead of relying on conversion operator. 10842 instead of relying on conversion operator.
10843 (read_mat5_binary_element): 10843 (read_mat5_binary_element):
10844 Call bool_value on octave_int<T> objects 10844 Call bool_value on octave_int<T> objects
10845 instead of relying on conversion operator. 10845 instead of relying on conversion operator.
10846 10846
10847 * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::double_value, 10847 * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::double_value,
10848 OCTAVE_VALUE_INT_MATRIX_T::scalar_value, 10848 OCTAVE_VALUE_INT_MATRIX_T::scalar_value,
10849 OCTAVE_VALUE_INT_MATRIX_T::matrix_value, 10849 OCTAVE_VALUE_INT_MATRIX_T::matrix_value,
10850 OCTAVE_VALUE_INT_MATRIX_T::complex_matrix_value, 10850 OCTAVE_VALUE_INT_MATRIX_T::complex_matrix_value,
10851 OCTAVE_VALUE_INT_MATRIX_T::array_value, 10851 OCTAVE_VALUE_INT_MATRIX_T::array_value,
10852 OCTAVE_VALUE_INT_MATRIX_T::complex_array_value, 10852 OCTAVE_VALUE_INT_MATRIX_T::complex_array_value,
10853 OCTAVE_VALUE_INT_SCALAR_T::double_value, 10853 OCTAVE_VALUE_INT_SCALAR_T::double_value,
10854 OCTAVE_VALUE_INT_SCALAR_T::scalar_value, 10854 OCTAVE_VALUE_INT_SCALAR_T::scalar_value,
10855 OCTAVE_VALUE_INT_SCALAR_T::matrix_value, 10855 OCTAVE_VALUE_INT_SCALAR_T::matrix_value,
10856 OCTAVE_VALUE_INT_SCALAR_T::complex_matrix_value, 10856 OCTAVE_VALUE_INT_SCALAR_T::complex_matrix_value,
10857 OCTAVE_VALUE_INT_SCALAR_T::array_value, 10857 OCTAVE_VALUE_INT_SCALAR_T::array_value,
10858 OCTAVE_VALUE_INT_SCALAR_T::complex_array_value, 10858 OCTAVE_VALUE_INT_SCALAR_T::complex_array_value,
10878 * ov-base.cc (Vsparse_auto_mutate, Fsparse_auto_mutate): New 10878 * ov-base.cc (Vsparse_auto_mutate, Fsparse_auto_mutate): New
10879 internal variable and built-in function to set it. 10879 internal variable and built-in function to set it.
10880 * ov-base.h (extern bool Vsparse_auto_mutate): Export internal 10880 * ov-base.h (extern bool Vsparse_auto_mutate): Export internal
10881 variable to other functions. 10881 variable to other functions.
10882 * ov-re-sparse.cc (octave_sparse_matrix::try_narrowing_conversion 10882 * ov-re-sparse.cc (octave_sparse_matrix::try_narrowing_conversion
10883 (void)), ov-cx-sparse.cc 10883 (void)), ov-cx-sparse.cc
10884 (octave_sparse_complex_matrix::try_narrowing_conversion (void)), 10884 (octave_sparse_complex_matrix::try_narrowing_conversion (void)),
10885 ov-bool-sparse.cc 10885 ov-bool-sparse.cc
10886 (octave_sparse_bool_matrix::try_narrowing_conversion (void)): 10886 (octave_sparse_bool_matrix::try_narrowing_conversion (void)):
10887 Use Vsparse_auto_mutate flag to determine whether to convert 10887 Use Vsparse_auto_mutate flag to determine whether to convert
10888 sparse matrices to full matrices if that saves space. 10888 sparse matrices to full matrices if that saves space.
10889 10889
10905 text. 10905 text.
10906 * graphics.cc (class figure): ditto. 10906 * graphics.cc (class figure): ditto.
10907 10907
10908 2007-11-26 Shai Ayal <shaiay@users.sourceforge.net> 10908 2007-11-26 Shai Ayal <shaiay@users.sourceforge.net>
10909 10909
10910 * graphics.cc (string_properties): delete class 10910 * graphics.cc (string_properties): delete class
10911 (property_name): rename class to caseless_str. 10911 (property_name): rename class to caseless_str.
10912 (radio_values::possible_vals): change type to caseless_str. 10912 (radio_values::possible_vals): change type to caseless_str.
10913 10913
10914 2007-11-26 Michael Goffioul <michael.goffioul@gmail.com> 10914 2007-11-26 Michael Goffioul <michael.goffioul@gmail.com>
10915 10915
10916 * builtins.h (install_builtins): Tag with OCTINTERP_API. 10916 * builtins.h (install_builtins): Tag with OCTINTERP_API.
10939 * graphics.h.in (base_properties::tag): New property. 10939 * graphics.h.in (base_properties::tag): New property.
10940 (base_properties::get_tag, base_properties::set_tag): New functions. 10940 (base_properties::get_tag, base_properties::set_tag): New functions.
10941 (root_figure::set, root_figure::get, figure::set, figure::get, 10941 (root_figure::set, root_figure::get, figure::set, figure::get,
10942 axes::set, axes::get, line::set, line::get, text::set, text::get, 10942 axes::set, axes::get, line::set, line::get, text::set, text::get,
10943 patch::set, patch::get, surface::set, surface::get): Handle tag. 10943 patch::set, patch::get, surface::set, surface::get): Handle tag.
10944 10944
10945 2007-11-14 Joseph P. Skudlarek <Jskud@Jskud.com> 10945 2007-11-14 Joseph P. Skudlarek <Jskud@Jskud.com>
10946 10946
10947 * DLD-FUNCTIONS/regexp.cc: Undo previous change. 10947 * DLD-FUNCTIONS/regexp.cc: Undo previous change.
10948 10948
10949 2007-11-14 John W. Eaton <jwe@octave.org> 10949 2007-11-14 John W. Eaton <jwe@octave.org>
10973 * version.h (OCTAVE_VERSION): Now 2.9.17+. 10973 * version.h (OCTAVE_VERSION): Now 2.9.17+.
10974 10974
10975 2007-11-12 David Bateman <dbateman@free.fr> 10975 2007-11-12 David Bateman <dbateman@free.fr>
10976 10976
10977 * graphics.h.in, graphics.cc (class text): Add the fontname and 10977 * graphics.h.in, graphics.cc (class text): Add the fontname and
10978 fontsize properties. 10978 fontsize properties.
10979 10979
10980 2007-11-10 John W. Eaton <jwe@octave.org> 10980 2007-11-10 John W. Eaton <jwe@octave.org>
10981 10981
10982 * version.h (OCTAVE_VERSION): Now 2.9.17. 10982 * version.h (OCTAVE_VERSION): Now 2.9.17.
10983 (OCTAVE_API_VERSION): Now api-v29. 10983 (OCTAVE_API_VERSION): Now api-v29.
11030 F__gnuplot_show__, F__gnuplot_plot__, F__gnuplot_splot__, 11030 F__gnuplot_show__, F__gnuplot_plot__, F__gnuplot_splot__,
11031 F__gnuplot_replot__): Note obsolescence in doc string. 11031 F__gnuplot_replot__): Note obsolescence in doc string.
11032 11032
11033 2007-11-06 Kai Habel <kai.habel@gmx.de> 11033 2007-11-06 Kai Habel <kai.habel@gmx.de>
11034 11034
11035 * graphics.h.in (class surface::properties): New properties, 11035 * graphics.h.in (class surface::properties): New properties,
11036 cdata, facecolor, facealpha, edgecolor, linestyle, 11036 cdata, facecolor, facealpha, edgecolor, linestyle,
11037 linewidth, marker, markeredgecolor, markerfacecolor, markersize. 11037 linewidth, marker, markeredgecolor, markerfacecolor, markersize.
11038 * graphics.cc (surface::properties::properties, 11038 * graphics.cc (surface::properties::properties,
11039 surface::properties::set, surface::properties::get, 11039 surface::properties::set, surface::properties::get,
11040 surface::properties::factory_defaults): Handle new properities. 11040 surface::properties::factory_defaults): Handle new properities.
11071 of std::ios::ate. 11071 of std::ios::ate.
11072 11072
11073 2007-11-02 Olli Saarela <Olli.Saarela@kcl.fi> 11073 2007-11-02 Olli Saarela <Olli.Saarela@kcl.fi>
11074 11074
11075 * input.cc, pr-output.cc, bitfcns.cc, DLD-FUNCTIONS/time.cc: 11075 * input.cc, pr-output.cc, bitfcns.cc, DLD-FUNCTIONS/time.cc:
11076 Fix broken @examples in help texts. 11076 Fix broken @examples in help texts.
11077 11077
11078 2007-10-31 John W. Eaton <jwe@octave.org> 11078 2007-10-31 John W. Eaton <jwe@octave.org>
11079 11079
11080 * data.cc (Fnorm): Avoid warning about p_val possibly being used 11080 * data.cc (Fnorm): Avoid warning about p_val possibly being used
11081 uninitialized. 11081 uninitialized.
11126 11126
11127 * data.cc: Include sytime.h, sys/types.h, and sys/resource.h. 11127 * data.cc: Include sytime.h, sys/types.h, and sys/resource.h.
11128 11128
11129 2007-10-25 John W. Eaton <jwe@octave.org> 11129 2007-10-25 John W. Eaton <jwe@octave.org>
11130 11130
11131 * graphics.cc (figure::properties::set_currentaxes): 11131 * graphics.cc (figure::properties::set_currentaxes):
11132 Allow currentfigure to be NaN. 11132 Allow currentfigure to be NaN.
11133 11133
11134 2007-10-25 Michael Goffioul <michael.goffioul@gmail.com> 11134 2007-10-25 Michael Goffioul <michael.goffioul@gmail.com>
11135 11135
11136 * DLD-FUNCTIONS/__contourc__.cc: Use unsigned int instead of uint. 11136 * DLD-FUNCTIONS/__contourc__.cc: Use unsigned int instead of uint.
11215 11215
11216 * unwind-prot.cc: Include <cstring>. 11216 * unwind-prot.cc: Include <cstring>.
11217 11217
11218 2007-10-22 David Bateman <dbateman@free.fr> 11218 2007-10-22 David Bateman <dbateman@free.fr>
11219 11219
11220 * data.cc (Ftic, Ftoc, Fcputime): New builtin versions of the 11220 * data.cc (Ftic, Ftoc, Fcputime): New builtin versions of the
11221 benchmarking functions for speed. 11221 benchmarking functions for speed.
11222 * oct-map.cc (Octave_map::squeeze, Octave_map::permute): New methods. 11222 * oct-map.cc (Octave_map::squeeze, Octave_map::permute): New methods.
11223 (Octave_map::index (const octave_value_list&, bool)): Add resize_ok 11223 (Octave_map::index (const octave_value_list&, bool)): Add resize_ok
11224 argument, define as const and use const_iterator internally. 11224 argument, define as const and use const_iterator internally.
11225 (Octave_map::index (idx_vector&, ...), Octave_map::index (Array 11225 (Octave_map::index (idx_vector&, ...), Octave_map::index (Array
11226 <idx_vector>&, ...)): New forms of the index function. 11226 <idx_vector>&, ...)): New forms of the index function.
11227 * oct-map.h (squeeze, permute, indx (const octave_value_list&, bool), 11227 * oct-map.h (squeeze, permute, indx (const octave_value_list&, bool),
11228 index (idx_vector&, ...), index (Array <idx_vector>&, ...)): Add 11228 index (idx_vector&, ...), index (Array <idx_vector>&, ...)): Add
11229 or update declaration. 11229 or update declaration.
11230 * ov-struct.cc (octave_struct::do_index_op (const octave_value_list&, 11230 * ov-struct.cc (octave_struct::do_index_op (const octave_value_list&,
11265 11265
11266 2007-10-15 Søren Hauberg <hauberg@gmail.com> 11266 2007-10-15 Søren Hauberg <hauberg@gmail.com>
11267 11267
11268 * error.cc (Ferror): Make text fit on pages when using smallbook. 11268 * error.cc (Ferror): Make text fit on pages when using smallbook.
11269 * load-save.cc (Fsave_header_format_string): Ditto. 11269 * load-save.cc (Fsave_header_format_string): Ditto.
11270 * ov-struct.cc (Fcell2struct): Ditto. 11270 * ov-struct.cc (Fcell2struct): Ditto.
11271 * DLD-FUNCTIONS/besselj.cc (Fairy): Ditto. 11271 * DLD-FUNCTIONS/besselj.cc (Fairy): Ditto.
11272 * DLD-FUNCTIONS/urlwrite.cc (Furlwrite, Furlread): Ditto. 11272 * DLD-FUNCTIONS/urlwrite.cc (Furlwrite, Furlread): Ditto.
11273 11273
11274 2007-10-15 David Bateman <dbateman@free.fr> 11274 2007-10-15 David Bateman <dbateman@free.fr>
11275 11275
11276 * graphics.cc (axes::properties::get): Fix typo. 11276 * graphics.cc (axes::properties::get): Fix typo.
11277 11277
11331 2007-10-10 Kim Hansen <kimhanse@gmail.com> 11331 2007-10-10 Kim Hansen <kimhanse@gmail.com>
11332 11332
11333 * DLD-FUNCTIONS/lpsolve.cc: Delete. 11333 * DLD-FUNCTIONS/lpsolve.cc: Delete.
11334 * Makefile.in (DLD_XSRC): Remove it from the list. 11334 * Makefile.in (DLD_XSRC): Remove it from the list.
11335 11335
11336 * data.cc (Fsqueeze): Document 2d behaviour. 11336 * data.cc (Fsqueeze): Document 2d behaviour.
11337 * ov-range.h (octave_range::squeeze): New function. 11337 * ov-range.h (octave_range::squeeze): New function.
11338 11338
11339 2007-10-09 John W. Eaton <jwe@octave.org> 11339 2007-10-09 John W. Eaton <jwe@octave.org>
11340 11340
11341 * DLD-FUNCTIONS/urlwrite.cc (urlget_cleanup): New function. 11341 * DLD-FUNCTIONS/urlwrite.cc (urlget_cleanup): New function.
11342 (urlget): Protect call to curl_easy_perform with 11342 (urlget): Protect call to curl_easy_perform with
11346 2007-10-09 David Bateman <dbateman@free.fr> 11346 2007-10-09 David Bateman <dbateman@free.fr>
11347 11347
11348 * input.cc (accept_line): Drop this function and remove automatic 11348 * input.cc (accept_line): Drop this function and remove automatic
11349 insertion of closing quotes as the transpose operator confuses it. 11349 insertion of closing quotes as the transpose operator confuses it.
11350 (initialize_command_input): Remove accept_line from here as well. 11350 (initialize_command_input): Remove accept_line from here as well.
11351 11351
11352 2007-10-09 John W. Eaton <jwe@octave.org> 11352 2007-10-09 John W. Eaton <jwe@octave.org>
11353 11353
11354 * ov-mapper.cc (octave_mapper::apply): If possible, use 11354 * ov-mapper.cc (octave_mapper::apply): If possible, use
11355 d_d_map_fcn to handle complex values which have imag(z) == 0. 11355 d_d_map_fcn to handle complex values which have imag(z) == 0.
11356 11356
11372 user_accept_line_function. 11372 user_accept_line_function.
11373 11373
11374 * data.cc (template <class T> static make_diag (...)): New 11374 * data.cc (template <class T> static make_diag (...)): New
11375 template class version of make_diag. Make other make_diag 11375 template class version of make_diag. Make other make_diag
11376 functions depend on it. 11376 functions depend on it.
11377 ( static octave_value make_diag (const octave_value&, 11377 ( static octave_value make_diag (const octave_value&,
11378 octave_idx_type)): Treat all possible internal Octave types. 11378 octave_idx_type)): Treat all possible internal Octave types.
11379 11379
11380 2007-10-08 John W. Eaton <jwe@octave.org> 11380 2007-10-08 John W. Eaton <jwe@octave.org>
11381 11381
11382 * load-save.cc (save_vars, dump_octave_core): 11382 * load-save.cc (save_vars, dump_octave_core):
11469 MINGW_signal_cleanup): 11469 MINGW_signal_cleanup):
11470 Only define if defined (__WIN32__) && ! defined (_POSIX_VERSION). 11470 Only define if defined (__WIN32__) && ! defined (_POSIX_VERSION).
11471 11471
11472 2007-10-04 Jason Riedy <jason@acm.org> 11472 2007-10-04 Jason Riedy <jason@acm.org>
11473 11473
11474 * ls-mat5.cc (read_mat5_binary_data): Map miUTF16 to miUINT16, 11474 * ls-mat5.cc (read_mat5_binary_data): Map miUTF16 to miUINT16,
11475 miUTF32 to miUINT32. The matfile format currently states that 11475 miUTF32 to miUINT32. The matfile format currently states that
11476 wide UTF formats are in the same byte order as the integers. 11476 wide UTF formats are in the same byte order as the integers.
11477 (read_mat5_binary_element): Replace all UTF16 and UTF32 11477 (read_mat5_binary_element): Replace all UTF16 and UTF32
11478 characters with the high bit set (value >127) by '?' and warn 11478 characters with the high bit set (value >127) by '?' and warn
11479 that we've done so. 11479 that we've done so.
11480 11480
11481 2007-10-04 Michael Goffioul <michael.goffioul@gmail.com> 11481 2007-10-04 Michael Goffioul <michael.goffioul@gmail.com>
11482 11482
11483 * sysdep.cc (w32_set_octave_home): Base OCTAVE_HOME location on 11483 * sysdep.cc (w32_set_octave_home): Base OCTAVE_HOME location on
11484 octinterp, not the main exe. 11484 octinterp, not the main exe.
11492 11492
11493 * DLD-FUNCTIONS/typecast.cc: Include <algorithm>. 11493 * DLD-FUNCTIONS/typecast.cc: Include <algorithm>.
11494 11494
11495 2007-10-03 John W. Eaton <jwe@octave.org> 11495 2007-10-03 John W. Eaton <jwe@octave.org>
11496 11496
11497 * oct-map.cc (Octave_map::Octave_map (const dim_vector&, 11497 * oct-map.cc (Octave_map::Octave_map (const dim_vector&,
11498 const string_vector&)): Delete. 11498 const string_vector&)): Delete.
11499 (Octave_map::Octave_map (const dim_vector&, const Cell&)): 11499 (Octave_map::Octave_map (const dim_vector&, const Cell&)):
11500 New function. 11500 New function.
11501 * ov-struct.cc (Fstruct): Allow creation of empty struct arrays 11501 * ov-struct.cc (Fstruct): Allow creation of empty struct arrays
11502 with field names. 11502 with field names.
11517 readline line editing. 11517 readline line editing.
11518 11518
11519 2007-09-28 David Bateman <dbateman@free.fr> 11519 2007-09-28 David Bateman <dbateman@free.fr>
11520 11520
11521 * ov-range.h (int8_array_value, int16_array_value, int32_array_value, 11521 * ov-range.h (int8_array_value, int16_array_value, int32_array_value,
11522 int64_array_value, uint8_array_value, uint16_array_value, 11522 int64_array_value, uint8_array_value, uint16_array_value,
11523 int32_array_value, uint64_array_value): New methods 11523 int32_array_value, uint64_array_value): New methods
11524 11524
11525 2007-09-28 Kai Habel <kai.habel@gmx.de> 11525 2007-09-28 Kai Habel <kai.habel@gmx.de>
11526 11526
11527 * graphics.h.in (color_property::colormap_property (const Matrix&)): 11527 * graphics.h.in (color_property::colormap_property (const Matrix&)):
11530 2007-09-26 David Bateman <dbateman@free.fr> 11530 2007-09-26 David Bateman <dbateman@free.fr>
11531 11531
11532 * graphics.cc (color_values::str2rgb): accept upper, lower and 11532 * graphics.cc (color_values::str2rgb): accept upper, lower and
11533 mixed-case versions of the string representing the color. Allow 11533 mixed-case versions of the string representing the color. Allow
11534 black defined as "k" and white as "w". 11534 black defined as "k" and white as "w".
11535 (color_property::color_property (const octave_value& val, 11535 (color_property::color_property (const octave_value& val,
11536 const radio_values &v)): Modify the constructor to also take a 11536 const radio_values &v)): Modify the constructor to also take a
11537 radio_values argument. Use it. 11537 radio_values argument. Use it.
11538 (patch::properties::set): Change set_facecolor calls to initialize 11538 (patch::properties::set): Change set_facecolor calls to initialize
11539 the color_property argument with the available radio_values. 11539 the color_property argument with the available radio_values.
11540 * graphics.h.in (color_property::color_property 11540 * graphics.h.in (color_property::color_property
11541 (const octave_value& val, const radio_values &v)): Also pass a 11541 (const octave_value& val, const radio_values &v)): Also pass a
11542 radio_values argument. 11542 radio_values argument.
11543 11543
11544 * ov-range.h (sparse_matrix_value, sparse_complex_matrix_value): 11544 * ov-range.h (sparse_matrix_value, sparse_complex_matrix_value):
11545 New methods. 11545 New methods.
11546 11546
11658 axes::properties::set_ylabel, axes::properties::set_zlabel): 11658 axes::properties::set_ylabel, axes::properties::set_zlabel):
11659 Define custom versions. 11659 Define custom versions.
11660 11660
11661 2007-09-06 David Bateman <dbateman@free.fr> 11661 2007-09-06 David Bateman <dbateman@free.fr>
11662 11662
11663 * DLD-FUNCTIONS/bsxfun.cc: New function. 11663 * DLD-FUNCTIONS/bsxfun.cc: New function.
11664 * DLD-FUNCTIONS/typecast.cc: New function. 11664 * DLD-FUNCTIONS/typecast.cc: New function.
11665 * Makefile.in (DLD_XSRC): Add bsxfun.cc and typecast.cc. 11665 * Makefile.in (DLD_XSRC): Add bsxfun.cc and typecast.cc.
11666 * ov.cc (do_cat_op): Modify use of Array<int> to 11666 * ov.cc (do_cat_op): Modify use of Array<int> to
11667 Array<octave_idx_type> and adjust where necessary. 11667 Array<octave_idx_type> and adjust where necessary.
11668 * ov.h (do_cat_op): ditto. 11668 * ov.h (do_cat_op): ditto.
11669 * data.cc (do_cat): ditto. 11669 * data.cc (do_cat): ditto.
11670 * pt-mat.cc (tree_matrix::rvalue): ditto. 11670 * pt-mat.cc (tree_matrix::rvalue): ditto.
11671 11671
11672 2007-09-05 Michael Goffioul <michael.goffioul@gmail.com> 11672 2007-09-05 Michael Goffioul <michael.goffioul@gmail.com>
11673 11673
11674 * oct-stream.cc (octave_base_stream::do_printf): Ignore precision 11674 * oct-stream.cc (octave_base_stream::do_printf): Ignore precision
11675 portion of format string if printing Inf, NaN, or NA values. 11675 portion of format string if printing Inf, NaN, or NA values.
11676 11676
11677 2007-09-05 David Bateman <dbateman@free.fr> 11677 2007-09-05 David Bateman <dbateman@free.fr>
11678 11678
11679 * DLD-FUNCTIONS/sort.cc (mx_sort_sparse, mx_sort_sparse_indexed): 11679 * DLD-FUNCTIONS/sort.cc (mx_sort_sparse, mx_sort_sparse_indexed):
11680 New template classes for sparse sort functions. 11680 New template classes for sparse sort functions.
11681 (Fsort): Use them. 11681 (Fsort): Use them.
11682 * ov.h (octave_value (const Sparse<double>&, const MatrixType&), 11682 * ov.h (octave_value (const Sparse<double>&, const MatrixType&),
11683 octave_value (const Sparse<Complex>&, const MatrixType&)): New 11683 octave_value (const Sparse<Complex>&, const MatrixType&)): New
11684 constructors. 11684 constructors.
11685 * ov.cc (octave_value::octave_value (const Sparse<double>&, 11685 * ov.cc (octave_value::octave_value (const Sparse<double>&,
11686 const MatrixType&), octave_value::octave_value (const 11686 const MatrixType&), octave_value::octave_value (const
11687 Sparse<Complex>&, const MatrixType&)): Define them. 11687 Sparse<Complex>&, const MatrixType&)): Define them.
11688 * ov-re-sparse.h (octave_sparse_matrix (const MSparse<double>&, 11688 * ov-re-sparse.h (octave_sparse_matrix (const MSparse<double>&,
11689 const MatrixType&), octave_sparse_matrix (const Sparse<double>&), 11689 const MatrixType&), octave_sparse_matrix (const Sparse<double>&),
11690 octave_sparse_matrix (const Sparse<double>&, const MatrixType&)): 11690 octave_sparse_matrix (const Sparse<double>&, const MatrixType&)):
11691 New constructors. 11691 New constructors.
11692 * ov-cx-sparse.h (octave_sparse_complex_matrix (const MSparse<double>&, 11692 * ov-cx-sparse.h (octave_sparse_complex_matrix (const MSparse<double>&,
11693 const MatrixType&), octave_sparse_complex_matrix (const 11693 const MatrixType&), octave_sparse_complex_matrix (const
11694 Sparse<double>&), octave_sparse_complex_matrix (const 11694 Sparse<double>&), octave_sparse_complex_matrix (const
11695 Sparse<double>&, const MatrixType&)): ditto. 11695 Sparse<double>&, const MatrixType&)): ditto.
11696 11696
11697 2007-09-04 Gabriele Pannocchia <g.pannocchia@ing.unipi.it> 11697 2007-09-04 Gabriele Pannocchia <g.pannocchia@ing.unipi.it>
11698 11698
11699 * DLD-FUNCTIONS/__qp__.cc (qp): Use Wact(j) == i - n_eq when 11699 * DLD-FUNCTIONS/__qp__.cc (qp): Use Wact(j) == i - n_eq when
11700 checking for blocking constraint. Don't resize lambda_tmp. Only 11700 checking for blocking constraint. Don't resize lambda_tmp. Only
11701 compute Y = Aact.pseudo_inverse () if it is needed. 11701 compute Y = Aact.pseudo_inverse () if it is needed.
11702 11702
11703 2007-08-31 Michael Goffioul <michael.goffioul@gmail.com> 11703 2007-08-31 Michael Goffioul <michael.goffioul@gmail.com>
11704 11704
11705 * ls-mat-ascii.cc (get_lines_and_columns): Check beg variable for 11705 * ls-mat-ascii.cc (get_lines_and_columns): Check beg variable for
11706 NPOS to avoid segmentation fault. 11706 NPOS to avoid segmentation fault.
11707 11707
11708 * load-path.cc (load_path::do_find_file): Do not assume paths 11708 * load-path.cc (load_path::do_find_file): Do not assume paths
11709 use forward slashes. 11709 use forward slashes.
11710 11710
11711 2007-08-30 John W. Eaton <jwe@octave.org> 11711 2007-08-30 John W. Eaton <jwe@octave.org>
11796 * load-path.cc (load_path::do_remove): Call remove_hook function 11796 * load-path.cc (load_path::do_remove): Call remove_hook function
11797 before removing directory from list. 11797 before removing directory from list.
11798 11798
11799 2007-08-24 David Bateman <dbateman@free.fr> 11799 2007-08-24 David Bateman <dbateman@free.fr>
11800 11800
11801 * ov-bool-sparse.cc (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Class 11801 * ov-bool-sparse.cc (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Class
11802 is now logical. 11802 is now logical.
11803 * ov-re-sparse.cc, ov-cx-sparse.cc 11803 * ov-re-sparse.cc, ov-cx-sparse.cc
11804 (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Class is now double. 11804 (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): Class is now double.
11805 * ov-mapper.cc (octave_mapper::apply): Use is_sparse_type method 11805 * ov-mapper.cc (octave_mapper::apply): Use is_sparse_type method
11806 rather than comparing class name. 11806 rather than comparing class name.
11807 * ls-mat5.cc (save_mat5_element_length, save_mat5_binary_element): 11807 * ls-mat5.cc (save_mat5_element_length, save_mat5_binary_element):
11808 ditto. 11808 ditto.
11809 * pt-mat.cc (tree_matrix:rvalue): sparse matrices are now of class 11809 * pt-mat.cc (tree_matrix:rvalue): sparse matrices are now of class
11810 "double" or "logical", create new single type concat clause for 11810 "double" or "logical", create new single type concat clause for
11811 them. 11811 them.
11812 * mex.cc (get_class_id): No longer need to special case sparse 11812 * mex.cc (get_class_id): No longer need to special case sparse
11813 matrices. 11813 matrices.
11814 11814
11815 * DLD-FUNCTIONS/__delaunayn__.cc, DLD-FUNCTIONS/convhulln.cc, 11815 * DLD-FUNCTIONS/__delaunayn__.cc, DLD-FUNCTIONS/convhulln.cc,
11816 DLD-FUNCTIONS/tsearch.cc, DLD-FUNCTIONS/__voronoi__.cc: New 11816 DLD-FUNCTIONS/tsearch.cc, DLD-FUNCTIONS/__voronoi__.cc: New
11817 functions ported from octave-forge. 11817 functions ported from octave-forge.
11818 * DLD-FUCTIONS/__dsearchn__.cc: New file. 11818 * DLD-FUCTIONS/__dsearchn__.cc: New file.
11819 * DLD-FUNCTIONS/__voronoi__.cc: Return point at infinity and 11819 * DLD-FUNCTIONS/__voronoi__.cc: Return point at infinity and
11820 include it in the polygrons of the Voronoi diagram for 11820 include it in the polygrons of the Voronoi diagram for
11821 compatibility. 11821 compatibility.
11822 * Makefile.in: Add specific build targets for __delanayn__.cc, 11822 * Makefile.in: Add specific build targets for __delanayn__.cc,
11823 convhulln.cc and __voronoi__.cc to link to Qhull. 11823 convhulln.cc and __voronoi__.cc to link to Qhull.
11824 (DLD_SRC): Add new functions. 11824 (DLD_SRC): Add new functions.
11825 (OCTAVE_LIBS): Add QHULL_LIBS 11825 (OCTAVE_LIBS): Add QHULL_LIBS
11826 11826
11827 2007-08-22 David Bateman <dbateman@free.fr> 11827 2007-08-22 David Bateman <dbateman@free.fr>
11828 11828
11829 * variables.cc (Fmunlock): Call munlock and not mlock. 11829 * variables.cc (Fmunlock): Call munlock and not mlock.
11830 * symtab.cc (symbol_record::mark_as_formal_parameter): Typo. 11830 * symtab.cc (symbol_record::mark_as_formal_parameter): Typo.
11831 11831
11832 2007-08-10 John W. Eaton <jwe@octave.org> 11832 2007-08-10 John W. Eaton <jwe@octave.org>
11833 11833
11834 * pt-idx.cc (tree_index_expression::get_struct_index): Improve 11834 * pt-idx.cc (tree_index_expression::get_struct_index): Improve
11835 error message. 11835 error message.
11882 11882
11883 * pt-bp.h (MAYBE_DO_BREAKPOINT): Rename fcn to curr_fcn. 11883 * pt-bp.h (MAYBE_DO_BREAKPOINT): Rename fcn to curr_fcn.
11884 11884
11885 2007-07-25 David Bateman <dbateman@free.fr> 11885 2007-07-25 David Bateman <dbateman@free.fr>
11886 11886
11887 * Makefile.in: Adjust DISTFILES to allow out of tree "make dist" 11887 * Makefile.in: Adjust DISTFILES to allow out of tree "make dist"
11888 to work. 11888 to work.
11889 11889
11890 2007-07-24 Shai Ayal <shaiay@users.sourceforge.net> 11890 2007-07-24 Shai Ayal <shaiay@users.sourceforge.net>
11891 11891
11892 * graphics.cc (color_property::operator = (const octave_value&)): 11892 * graphics.cc (color_property::operator = (const octave_value&)):
11919 * mex.cc (mxCreateStructArray): Declare second arg as const. 11919 * mex.cc (mxCreateStructArray): Declare second arg as const.
11920 * mexproto.h (mxCreateStructArray): Ditto. 11920 * mexproto.h (mxCreateStructArray): Ditto.
11921 11921
11922 2007-07-20 David Bateman <dbateman@free.fr> 11922 2007-07-20 David Bateman <dbateman@free.fr>
11923 11923
11924 * zfstream.cc (BUFSIZE): Increase default buffer size to 256kB 11924 * zfstream.cc (BUFSIZE): Increase default buffer size to 256kB
11925 (gzfilebuf::underflow): Stash the last 16 characters read, so as 11925 (gzfilebuf::underflow): Stash the last 16 characters read, so as
11926 to avoid calling pbackfail as much as possible. 11926 to avoid calling pbackfail as much as possible.
11927 11927
11928 2007-07-18 David Bateman <dbateman@free.fr> 11928 2007-07-18 David Bateman <dbateman@free.fr>
11929 11929
11930 * zfstream.cc (int_type gzfilebuf::pbackfail (int_type)): New 11930 * zfstream.cc (int_type gzfilebuf::pbackfail (int_type)): New
11931 method to putback a character when the putback position in the 11931 method to putback a character when the putback position in the
11932 internal buffer doesn't exist. 11932 internal buffer doesn't exist.
11933 * zfstream.h (int_type pbackfail (int_type)): Declaration it. 11933 * zfstream.h (int_type pbackfail (int_type)): Declaration it.
11934 11934
11935 2007-07-14 Michael Goffioul <michael.goffioul@swing.be> 11935 2007-07-14 Michael Goffioul <michael.goffioul@swing.be>
11936 11936
11937 * src/ov-bool-sparse.cc (octave_sparse_bool_matrix:load_hdf5): 11937 * src/ov-bool-sparse.cc (octave_sparse_bool_matrix:load_hdf5):
11938 Use OCTAVE_LOCAL_BUFFER for temporary boolean value. 11938 Use OCTAVE_LOCAL_BUFFER for temporary boolean value.
11939 11939
11940 2007-06-27 David Bateman <dbateman@free.fr> 11940 2007-06-27 David Bateman <dbateman@free.fr>
11941 11941
11942 * DLD-FUNCTIONS/sparse.cc (Fspdiag): Ensure spdiag(zeros(1,0)) returns 11942 * DLD-FUNCTIONS/sparse.cc (Fspdiag): Ensure spdiag(zeros(1,0)) returns
11943 0x0 matrix. Doc update. 11943 0x0 matrix. Doc update.
11944 * data.cc (Fdiag): Doc update. 11944 * data.cc (Fdiag): Doc update.
11950 11950
11951 * oct-stream.cc (octave_scan_1): New function 11951 * oct-stream.cc (octave_scan_1): New function
11952 (octave_scan): Use it. Handle fmt.width. 11952 (octave_scan): Use it. Handle fmt.width.
11953 11953
11954 * graphics.h (axes::axes_properties::visible): New data member. 11954 * graphics.h (axes::axes_properties::visible): New data member.
11955 * graphics.cc (axes::axes_properties::axes_properties, 11955 * graphics.cc (axes::axes_properties::axes_properties,
11956 axes::axes_properties::set, axes::axes_properties::get, 11956 axes::axes_properties::set, axes::axes_properties::get,
11957 axes::axes_properties::factory_defaults): Handle visible property. 11957 axes::axes_properties::factory_defaults): Handle visible property.
11958 11958
11959 2007-06-27 Kai Habel <kai.habel@gmx.de> 11959 2007-06-27 Kai Habel <kai.habel@gmx.de>
11960 11960
11961 * graphics.h (color_values::color_values): Arg is now std:string 11961 * graphics.h (color_values::color_values): Arg is now std:string
11962 instead of char. Call str2rgb, not c2rgb. 11962 instead of char. Call str2rgb, not c2rgb.
11963 * graphics.h, graphics.cc: (color_values::str2rgb): Rename from 11963 * graphics.h, graphics.cc: (color_values::str2rgb): Rename from
11964 c2rgb. Handle long color names, not just single char abbreviations. 11964 c2rgb. Handle long color names, not just single char abbreviations.
11965 11965
11966 2007-06-27 David Bateman <dbateman@free.fr> 11966 2007-06-27 David Bateman <dbateman@free.fr>
11967 11967
11968 * src/load-save.cc (Fsave): Ensure header is written for non 11968 * src/load-save.cc (Fsave): Ensure header is written for non
11969 existent file with "-append". 11969 existent file with "-append".
11970 * src/ls-hdf5.h: First steps towards having append work for hdf5. 11970 * src/ls-hdf5.h: First steps towards having append work for hdf5.
11971 11971
11972 2007-06-26 John W. Eaton <jwe@octave.org> 11972 2007-06-26 John W. Eaton <jwe@octave.org>
11973 11973
11974 * src/load-save.cc (Fsave): Open files correctly for -append. 11974 * src/load-save.cc (Fsave): Open files correctly for -append.
11975 Don't write file headers if appending. Error for -append -hdf5. 11975 Don't write file headers if appending. Error for -append -hdf5.
11976 11976
11977 2007-06-25 Olaf Till <i7tiol@t-online.de> 11977 2007-06-25 Olaf Till <i7tiol@t-online.de>
11978 11978
11979 * oct-stream.h (octave_stream_list::list): Use std::map. 11979 * oct-stream.h (octave_stream_list::list): Use std::map.
11980 (octave_stream_list::curr_len): Delete data member. 11980 (octave_stream_list::curr_len): Delete data member.
11981 (octave_stream_list::octave_stream_list): Fix initializations. 11981 (octave_stream_list::octave_stream_list): Fix initializations.
11982 11982
11983 * oct-stream.cc (octave_steam_list::do_insert, 11983 * oct-stream.cc (octave_steam_list::do_insert,
11984 octave_steam_list::do_lookup, octave_steam_list::do_remove, 11984 octave_steam_list::do_lookup, octave_steam_list::do_remove,
11985 octave_steam_list::do_clear, octave_steam_list::do_list_open_files, 11985 octave_steam_list::do_clear, octave_steam_list::do_list_open_files,
11986 octave_steam_list::do_open_file_numbers, 11986 octave_steam_list::do_open_file_numbers,
11987 octave_steam_list::do_get_file_number): 11987 octave_steam_list::do_get_file_number):
11988 Use new octave_stream_list::list type. 11988 Use new octave_stream_list::list type.
11989 (octave_stream_list::do_insert): Insert octave_stream with key 11989 (octave_stream_list::do_insert): Insert octave_stream with key
11990 corresponding to file-descriptor. 11990 corresponding to file-descriptor.
11991 (octave_stream_list::do_insert, octave_steam_list::insert): 11991 (octave_stream_list::do_insert, octave_steam_list::insert):
11992 Remove const qualifier of argument. 11992 Remove const qualifier of argument.
11993 11993
11994 2007-06-18 Søren Hauberg <hauberg@gmail.com> 11994 2007-06-18 Søren Hauberg <hauberg@gmail.com>
11995 11995
11996 * DLD-FUNCTIONS/__lin_interpn__.cc: Replace octave_NaN with octave_NA. 11996 * DLD-FUNCTIONS/__lin_interpn__.cc: Replace octave_NaN with octave_NA.
11997 11997
11998 2007-06-15 Shai Ayal <shaiay@users.sourceforge.net> 11998 2007-06-15 Shai Ayal <shaiay@users.sourceforge.net>
11999 11999
12000 * graphics.h (OCTAVE_GRAPHICS_PROPERTY_INTERNAL, 12000 * graphics.h (OCTAVE_GRAPHICS_PROPERTY_INTERNAL,
12001 OCTAVE_GRAPHICS_PROPERTY, OCTAVE_GRAPHICS_MUTABLE_PROPERTY): 12001 OCTAVE_GRAPHICS_PROPERTY, OCTAVE_GRAPHICS_MUTABLE_PROPERTY):
12011 * sysdep.cc (octave_popen, octave_pclose): New functions. 12011 * sysdep.cc (octave_popen, octave_pclose): New functions.
12012 * sysdep.h: Provide decls. 12012 * sysdep.h: Provide decls.
12013 12013
12014 * oct-procbuf.cc (procbuf::open): Use octave_popen. 12014 * oct-procbuf.cc (procbuf::open): Use octave_popen.
12015 (procbuf::close): Use octave_pclose. 12015 (procbuf::close): Use octave_pclose.
12016 * oct-prcstrm.cc (octave_oprocstream::octave_oprocstream, 12016 * oct-prcstrm.cc (octave_oprocstream::octave_oprocstream,
12017 octave_iprocstream::ictave_oprocstream): Likewise. 12017 octave_iprocstream::ictave_oprocstream): Likewise.
12018 12018
12019 * graphics.h (text::text_properties::rotation): New data member. 12019 * graphics.h (text::text_properties::rotation): New data member.
12020 * graphics.cc (text::text_properties::text_properties, 12020 * graphics.cc (text::text_properties::text_properties,
12021 text::text_properties::set, text::text_properties::get, 12021 text::text_properties::set, text::text_properties::get,
12022 text::text_properties::factory_defaults): Handle rotation property. 12022 text::text_properties::factory_defaults): Handle rotation property.
12023 12023
12024 2007-06-14 Kai Habel <kai.habel@gmx.de> 12024 2007-06-14 Kai Habel <kai.habel@gmx.de>
12025 12025
12026 * graphics.cc (color_values::c2rgb): Also accept 'k' for black. 12026 * graphics.cc (color_values::c2rgb): Also accept 'k' for black.
12107 * mex.cc: Use mwSize for dimensions and mwIndex for indexing 12107 * mex.cc: Use mwSize for dimensions and mwIndex for indexing
12108 throughout, with the exception of struct key indexes. 12108 throughout, with the exception of struct key indexes.
12109 * mexproto.h: ditto. 12109 * mexproto.h: ditto.
12110 * mxarray.h: remove. 12110 * mxarray.h: remove.
12111 * mxarray.h.in: Copy here and define mwSize, mwIndex, and use 12111 * mxarray.h.in: Copy here and define mwSize, mwIndex, and use
12112 throughout. 12112 throughout.
12113 * ov-bool-mat.cc (octave_bool_matrix::as_mxArray): Use mwSize and 12113 * ov-bool-mat.cc (octave_bool_matrix::as_mxArray): Use mwSize and
12114 mwIndex. 12114 mwIndex.
12115 * ov-bool-sparse (octave_sparse_bool_matrix::as_mxArray): ditto. 12115 * ov-bool-sparse (octave_sparse_bool_matrix::as_mxArray): ditto.
12116 * ov-cell.cc (octave_cell:as_mxArray): ditto. 12116 * ov-cell.cc (octave_cell:as_mxArray): ditto.
12117 * ov-ch-mat.cc (octave_char_matrix:as_mxArray): ditto. 12117 * ov-ch-mat.cc (octave_char_matrix:as_mxArray): ditto.
12206 arguments. 12206 arguments.
12207 (Fdbclar): ditto. Eliminate extraneous debugging messages. 12207 (Fdbclar): ditto. Eliminate extraneous debugging messages.
12208 12208
12209 2007-05-21 Søren Hauberg <hauberg@gmail.com> 12209 2007-05-21 Søren Hauberg <hauberg@gmail.com>
12210 12210
12211 * load-path.cc (Fpath, Frehash): Replace "LOADPATH" with "load 12211 * load-path.cc (Fpath, Frehash): Replace "LOADPATH" with "load
12212 path" in doc strings. 12212 path" in doc strings.
12213 12213
12214 * parse.y (Feval): Add example. 12214 * parse.y (Feval): Add example.
12215 12215
12216 2007-05-21 David Bateman <dbateman@free.fr> 12216 2007-05-21 David Bateman <dbateman@free.fr>
12217 12217
12218 * error.cc (rethrow_error): Use NULL name so that "error:" is not 12218 * error.cc (rethrow_error): Use NULL name so that "error:" is not
12219 added to the message 12219 added to the message
12252 * ov-fcn-handle.cc (octave_fcn_handle::set_fcn): Likewise. 12252 * ov-fcn-handle.cc (octave_fcn_handle::set_fcn): Likewise.
12253 12253
12254 2007-05-16 David Bateman <dbateman@free.fr> 12254 2007-05-16 David Bateman <dbateman@free.fr>
12255 12255
12256 * load_pathc.cc (std::string octave_system_path (void)): New 12256 * load_pathc.cc (std::string octave_system_path (void)): New
12257 function. 12257 function.
12258 * load-path.h (std::string octave_system_path (void)): Declare it. 12258 * load-path.h (std::string octave_system_path (void)): Declare it.
12259 12259
12260 * load-save.cc (static load_save_format get_file_format 12260 * load-save.cc (static load_save_format get_file_format
12261 (std::istream&, const std::string&)): Add filename argument, and 12261 (std::istream&, const std::string&)): Add filename argument, and
12262 pass it to read_mat5_binary_header. Use new format throughout file. 12262 pass it to read_mat5_binary_header. Use new format throughout file.
12263 (Fload): Don't allow gzip of matlab v7 files as the files 12263 (Fload): Don't allow gzip of matlab v7 files as the files
12264 themselves include compression. 12264 themselves include compression.
12265 12265
12266 * ls-mat5.cc (arrayclsstype:MAT_FILE_WORKSPACE_CLASS): New class 12266 * ls-mat5.cc (arrayclsstype:MAT_FILE_WORKSPACE_CLASS): New class
12267 type. 12267 type.
12268 (read_mat5_binary_element): Workspaces, don't have dimensions, so 12268 (read_mat5_binary_element): Workspaces, don't have dimensions, so
12269 don't read them. Implement read of matlab objects, but only use 12269 don't read them. Implement read of matlab objects, but only use
12270 them for inline functions. Implement reading of function and 12270 them for inline functions. Implement reading of function and
12271 workspace classes. 12271 workspace classes.
12272 (read_mat5_binary_header): Add filename argument. Read sub-system 12272 (read_mat5_binary_header): Add filename argument. Read sub-system
12273 specific data block given as an offset in bytes 117 to 124. 12273 specific data block given as an offset in bytes 117 to 124.
12274 (save_mat5_binary_element): Include saving of inline functions. 12274 (save_mat5_binary_element): Include saving of inline functions.
12275 12275
12276 * ls-mat5.h (read_mat5_binary_header): Include filename. 12276 * ls-mat5.h (read_mat5_binary_header): Include filename.
12277 12277
12278 * ov-fcn-handle.cc (octave_fcn_handle_save_ascii, 12278 * ov-fcn-handle.cc (octave_fcn_handle_save_ascii,
12279 octave_fcn_handle::load_ascii, octave_fcn_handle::save_binary, 12279 octave_fcn_handle::load_ascii, octave_fcn_handle::save_binary,
12280 octave_fcn_handle::load_binary, octave_fcn_handle::save_hdf5, 12280 octave_fcn_handle::load_binary, octave_fcn_handle::save_hdf5,
12281 octave_fcn_handle::load_hdf5): Save and reload the local symbol 12281 octave_fcn_handle::load_hdf5): Save and reload the local symbol
12282 table of the user function associated with anonymous function 12282 table of the user function associated with anonymous function
12283 handles. Save and load the absolute path and the exec_prefix for 12283 handles. Save and load the absolute path and the exec_prefix for
12284 normal function handles and use then to find equivalent functions 12284 normal function handles and use then to find equivalent functions
12285 between different installations of Octave. Attempt to maintain 12285 between different installations of Octave. Attempt to maintain
12286 backward and forward compatibility. 12286 backward and forward compatibility.
12287 (Ffunctions): Additional outputs, including the workspace of 12287 (Ffunctions): Additional outputs, including the workspace of
12288 anonymous functions, and more compatiable outputs. 12288 anonymous functions, and more compatiable outputs.
12289 12289
12290 * ov-fcn-handle.h (user_function_value): Expose the user function 12290 * ov-fcn-handle.h (user_function_value): Expose the user function
12291 value of a function handle. 12291 value of a function handle.
12292 12292
12293 * ov-fcn-inline.cc (Octave_map octave_fcn_inline::map_value 12293 * ov-fcn-inline.cc (Octave_map octave_fcn_inline::map_value
12294 (void) const): Return a structure compatiable with matlab's class 12294 (void) const): Return a structure compatiable with matlab's class
12295 implementation of inline functions. 12295 implementation of inline functions.
12296 12296
12297 * ov-fcn-inline.h (map_value): Declare it. 12297 * ov-fcn-inline.h (map_value): Declare it.
12298 12298
12299 2007-05-14 Bob Weigel <rweigel@gmu.edu> 12299 2007-05-14 Bob Weigel <rweigel@gmu.edu>
12300 12300
12301 * DLD-FUNCTIONS/svd.cc: Doc fix. 12301 * DLD-FUNCTIONS/svd.cc: Doc fix.
12302 12302
12324 12324
12325 2007-05-08 Michael Weitzel <michael.weitzel@uni-siegen.de> 12325 2007-05-08 Michael Weitzel <michael.weitzel@uni-siegen.de>
12326 12326
12327 * DLD-FUNCTIONS/symrcm.cc: New function for Reverse Cuthill-McKee 12327 * DLD-FUNCTIONS/symrcm.cc: New function for Reverse Cuthill-McKee
12328 permutation. 12328 permutation.
12329 12329
12330 2007-05-07 John W. Eaton <jwe@octave.org> 12330 2007-05-07 John W. Eaton <jwe@octave.org>
12331 12331
12332 * oct-map.cc (Octave_map::resize): Handle case of no keys. 12332 * oct-map.cc (Octave_map::resize): Handle case of no keys.
12333 (keys_ok): Rename from equiv_keys. Return value is now status. 12333 (keys_ok): Rename from equiv_keys. Return value is now status.
12334 Pass key names as string_vector reference arg. 12334 Pass key names as string_vector reference arg.
12339 12339
12340 * Makefile.in (%.df : %.cc): Use mv instead of 12340 * Makefile.in (%.df : %.cc): Use mv instead of
12341 $(simple-move-if-change-rule). 12341 $(simple-move-if-change-rule).
12342 12342
12343 2007-04-30 David Bateman <dbateman@free.fr> 12343 2007-04-30 David Bateman <dbateman@free.fr>
12344 12344
12345 * pt-loop.cc (DO_ND_LOOP): New args, CONV and ARG. 12345 * pt-loop.cc (DO_ND_LOOP): New args, CONV and ARG.
12346 Use octave_idx_type instead of int for loop counters. 12346 Use octave_idx_type instead of int for loop counters.
12347 Remove redundant assignments to variable "quit" as it is 12347 Remove redundant assignments to variable "quit" as it is
12348 always defined in quit_loop_now. 12348 always defined in quit_loop_now.
12349 Special case rows = 0 and 1 cases in loops over arrays. 12349 Special case rows = 0 and 1 cases in loops over arrays.
12412 12412
12413 2007-04-23 Shai Ayal <shaiay@users.sourceforge.net> 12413 2007-04-23 Shai Ayal <shaiay@users.sourceforge.net>
12414 12414
12415 * src/graphics.cc (color_property::color_property): 12415 * src/graphics.cc (color_property::color_property):
12416 New arg A for alpha channel. Set rgba instead of red, green, blue. 12416 New arg A for alpha channel. Set rgba instead of red, green, blue.
12417 (color_property::color_property (char)): New constructor. 12417 (color_property::color_property (char)): New constructor.
12418 (color_propery::rgba): New data member. 12418 (color_propery::rgba): New data member.
12419 (color_property::red, color_property::green, color_property::blue): 12419 (color_property::red, color_property::green, color_property::blue):
12420 Delete. 12420 Delete.
12421 (color_property::validate): Use rgba. 12421 (color_property::validate): Use rgba.
12422 (color_property::c2rgba): New function. 12422 (color_property::c2rgba): New function.
12423 12423
12424 2007-04-23 Søren Hauberg <soren@hauberg.org> 12424 2007-04-23 Søren Hauberg <soren@hauberg.org>
12425 12425
12426 * data.cc (Fsize_equal): Allow more than two arguments. 12426 * data.cc (Fsize_equal): Allow more than two arguments.
12427 12427
12428 2007-04-20 John W. Eaton <jwe@octave.org> 12428 2007-04-20 John W. Eaton <jwe@octave.org>
12429 12429
12430 * DLD-FUNCTIONS/__gnuplot_raw__.l (deftypefn): 12430 * DLD-FUNCTIONS/__gnuplot_raw__.l (deftypefn):
12431 (Vautomatic_replot): Delete static variable. 12431 (Vautomatic_replot): Delete static variable.
12432 (Fautomatic_replot): Delete function. 12432 (Fautomatic_replot): Delete function.
12433 12433
12434 * toplev.cc (Fcasesen): Delete obsolete function. 12434 * toplev.cc (Fcasesen): Delete obsolete function.
12435 12435
12471 12471
12472 2007-04-06 John W. Eaton <jwe@octave.org> 12472 2007-04-06 John W. Eaton <jwe@octave.org>
12473 12473
12474 * data.cc (F__vnorm__): New function. 12474 * data.cc (F__vnorm__): New function.
12475 12475
12476 * pt-fcn-handle.cc (tree_anon_fcn_handle::param_list, 12476 * pt-fcn-handle.cc (tree_anon_fcn_handle::param_list,
12477 tree_anon_fcn_handle::cmd_list, tree_anon_fcn_handle::ret_list, 12477 tree_anon_fcn_handle::cmd_list, tree_anon_fcn_handle::ret_list,
12478 tree_anon_fcn_handle::sym_tab): Delete. Remove all uses. 12478 tree_anon_fcn_handle::sym_tab): Delete. Remove all uses.
12479 (tree_anon_fcn_handle::fcn): New data member. 12479 (tree_anon_fcn_handle::fcn): New data member.
12480 (tree_anon_fcn_handle::tree_anon_fcn_handle): Initialize it. 12480 (tree_anon_fcn_handle::tree_anon_fcn_handle): Initialize it.
12481 (tree_anon_fcn_handle::rvalue, tree_anon_fcn_handle::dup): 12481 (tree_anon_fcn_handle::rvalue, tree_anon_fcn_handle::dup):
12486 12486
12487 * ov-usr-fcn.h (octave_user_function::local_sym_tab): Rename from 12487 * ov-usr-fcn.h (octave_user_function::local_sym_tab): Rename from
12488 sym_tab. Change all uses. 12488 sym_tab. Change all uses.
12489 (octave_user_function::sym_tab): New function. 12489 (octave_user_function::sym_tab): New function.
12490 12490
12491 * octave.cc (execute_command_line_file): 12491 * octave.cc (execute_command_line_file):
12492 12492
12493 2007-04-05 David Bateman <dbateman@free.fr> 12493 2007-04-05 David Bateman <dbateman@free.fr>
12494 12494
12495 * DLD-FUNCTIONS/regexp.cc (Fregexprep): Correct iteration over 12495 * DLD-FUNCTIONS/regexp.cc (Fregexprep): Correct iteration over
12496 cell arrays so that the source and pattern are iterated seperately 12496 cell arrays so that the source and pattern are iterated seperately
12497 in the same manner as matlab. 12497 in the same manner as matlab.
12498 12498
12499 2007-04-05 Laurent Mazet <laurent.mazet@motorola.com> 12499 2007-04-05 Laurent Mazet <laurent.mazet@motorola.com>
12500 12500
12501 * mex.cc (mxArray_octave_value::get_string): Copy nel elements, 12501 * mex.cc (mxArray_octave_value::get_string): Copy nel elements,
12582 12582
12583 * bitfcns.cc (Fbitshift): Error if third argument is not a scalar. 12583 * bitfcns.cc (Fbitshift): Error if third argument is not a scalar.
12584 12584
12585 2007-03-23 David Bateman <dbateman@free.fr> 12585 2007-03-23 David Bateman <dbateman@free.fr>
12586 12586
12587 * DLD-FUNCTIONS/rand.cc: Make statistical tests optional and 12587 * DLD-FUNCTIONS/rand.cc: Make statistical tests optional and
12588 add tests for fixed sequences. 12588 add tests for fixed sequences.
12589 12589
12590 2007-03-22 John W. Eaton <jwe@octave.org> 12590 2007-03-22 John W. Eaton <jwe@octave.org>
12591 12591
12592 * graphics.cc (base_graphics_object::mark_modified): 12592 * graphics.cc (base_graphics_object::mark_modified):
12593 New virtual function. 12593 New virtual function.
12594 (base_properties::__modified__): New data member. 12594 (base_properties::__modified__): New data member.
12595 (base_properties::base_properties): Initialize it. 12595 (base_properties::base_properties): Initialize it.
12596 (graphics_object::mark_modified, base_properties::mark_modified, 12596 (graphics_object::mark_modified, base_properties::mark_modified,
12597 root_figure::mark_modified, figure::mark_modified, 12597 root_figure::mark_modified, figure::mark_modified,
12598 axes::mark_modified, line::mark_modified, text::mark_modified, 12598 axes::mark_modified, line::mark_modified, text::mark_modified,
12599 image::mark_modified, surface::mark_modified, 12599 image::mark_modified, surface::mark_modified,
12600 root_figure::root_figure_properties::mark_modified, 12600 root_figure::root_figure_properties::mark_modified,
12601 figure::figure_properties::mark_modified, 12601 figure::figure_properties::mark_modified,
12661 * data.cc (do_cat): Also treat case of all empty matrices. 12661 * data.cc (do_cat): Also treat case of all empty matrices.
12662 12662
12663 2007-03-08 John W. Eaton <jwe@octave.org> 12663 2007-03-08 John W. Eaton <jwe@octave.org>
12664 12664
12665 * mex.cc (mxArray_octave_value::set_dimensions, 12665 * mex.cc (mxArray_octave_value::set_dimensions,
12666 mxArray_octave_value::set_m, mxArray_octave_value::set_n, 12666 mxArray_octave_value::set_m, mxArray_octave_value::set_n,
12667 mxArray_octave_value::set_class_name, 12667 mxArray_octave_value::set_class_name,
12668 mxArray_octave_value::set_ir, mxArray_octave_value::set_jc, 12668 mxArray_octave_value::set_ir, mxArray_octave_value::set_jc,
12669 mxArray_octave_value::remove_field, 12669 mxArray_octave_value::remove_field,
12670 mxArray_octave_value::set_field_by_number): 12670 mxArray_octave_value::set_field_by_number):
12671 Don't panic; request mutation instead. 12671 Don't panic; request mutation instead.
12672 (class mxArray_octave_value): 12672 (class mxArray_octave_value):
12673 12673
12674 * mxarray.h (mxArray::set_m, mxArray::set_n, 12674 * mxarray.h (mxArray::set_m, mxArray::set_n,
12675 mxArray::set_dimensions): Wrap method call call with 12675 mxArray::set_dimensions): Wrap method call call with
12676 DO_VOID_MUTABLE_METHOD. 12676 DO_VOID_MUTABLE_METHOD.
12677 12677
12695 2007-03-02 John W. Eaton <jwe@octave.org> 12695 2007-03-02 John W. Eaton <jwe@octave.org>
12696 12696
12697 * parse.y (Fautoload): Undo previous change. 12697 * parse.y (Fautoload): Undo previous change.
12698 Warn if FILE is not an absolute file name. 12698 Warn if FILE is not an absolute file name.
12699 12699
12700 * utils.cc (make_absolute): Make copy of arg before 12700 * utils.cc (make_absolute): Make copy of arg before
12701 12701
12702 2007-03-01 John W. Eaton <jwe@octave.org> 12702 2007-03-01 John W. Eaton <jwe@octave.org>
12703 12703
12704 * ov-base-mat.h (octave_base_matrix::octave_base_matrix (const MT&), 12704 * ov-base-mat.h (octave_base_matrix::octave_base_matrix (const MT&),
12705 (octave_base_matrix::octave_base_matrix (const MT&, const MatrixType&)): 12705 (octave_base_matrix::octave_base_matrix (const MT&, const MatrixType&)):
12706 Use common definition with default argument value. 12706 Use common definition with default argument value.
12707 * ov-base-scalar.h (octave_base_scalar<T>::typ): New data member. 12707 * ov-base-scalar.h (octave_base_scalar<T>::typ): New data member.
12708 Initialize in constructors. 12708 Initialize in constructors.
12709 (octave_base_scalar<T>::matrix_type): New funtions. 12709 (octave_base_scalar<T>::matrix_type): New funtions.
12710 12710
12711 2007-03-01 David Bateman <dbateman@free.fr> 12711 2007-03-01 David Bateman <dbateman@free.fr>
12712 12712
12713 * DLD-FUNCTIONS/md5sum.cc: New file. 12713 * DLD-FUNCTIONS/md5sum.cc: New file.
12714 * Makefile.in (DLD_XSRC): Add md5sum.cc 12714 * Makefile.in (DLD_XSRC): Add md5sum.cc
12715 12715
12716 2007-03-01 Olli Saarela <Olli.Saarela@kcl.fi> 12716 2007-03-01 Olli Saarela <Olli.Saarela@kcl.fi>
12717 12717
12718 * input.cc (FPS1): Fix @seealso. 12718 * input.cc (FPS1): Fix @seealso.
12719 12719
12727 * input.cc (interactive_input): Also call flush_octave_stdout 12727 * input.cc (interactive_input): Also call flush_octave_stdout
12728 after calling drawnow. 12728 after calling drawnow.
12729 12729
12730 2007-02-27 John W. Eaton <jwe@octave.org> 12730 2007-02-27 John W. Eaton <jwe@octave.org>
12731 12731
12732 * Makefile.in (uninstall): Also remove octave-$(version)$(EXEEXT), 12732 * Makefile.in (uninstall): Also remove octave-$(version)$(EXEEXT),
12733 oct-gperf.h, and all .oct files. Remove PKG_ADD. 12733 oct-gperf.h, and all .oct files. Remove PKG_ADD.
12734 From Thomas Treichl <Thomas.Treichl@gmx.net>. 12734 From Thomas Treichl <Thomas.Treichl@gmx.net>.
12735 12735
12736 * load-path.h, (load_path::initialize, load_path::do_initialize): 12736 * load-path.h, (load_path::initialize, load_path::do_initialize):
12737 New arg, set_initial_path. 12737 New arg, set_initial_path.
12752 * error.cc (Vlast_error_file, Vlast_erro_name, Vlast_error_row, 12752 * error.cc (Vlast_error_file, Vlast_erro_name, Vlast_error_row,
12753 Vlast_error_column): New static variables. 12753 Vlast_error_column): New static variables.
12754 (verror): Use them to store the location of last error. 12754 (verror): Use them to store the location of last error.
12755 (rethrow_error, Frethrow, Flasterror): New functions. 12755 (rethrow_error, Frethrow, Flasterror): New functions.
12756 12756
12757 * DLD-FUNCTIONS/regexp.cc (octcellregexp): Wrapper to octregexp 12757 * DLD-FUNCTIONS/regexp.cc (octcellregexp): Wrapper to octregexp
12758 function for cases when string or pattern are cell arrays 12758 function for cases when string or pattern are cell arrays
12759 (Fregexp, Fregexpi): Use them. 12759 (Fregexp, Fregexpi): Use them.
12760 (octregexprep): New function with functionality of old Fregexprep. 12760 (octregexprep): New function with functionality of old Fregexprep.
12761 (Fregexprep): Treat cell arguments. 12761 (Fregexprep): Treat cell arguments.
12762 12762
12763 2007-02-26 Michael Goffioul <michael.goffioul@swing.be> 12763 2007-02-26 Michael Goffioul <michael.goffioul@swing.be>
12764 12764
12765 * Makefile.in: Use $(LN_S) instead of ln or ln -s. 12765 * Makefile.in: Use $(LN_S) instead of ln or ln -s.
12766 12766
12928 2007-02-16 Michael Goffioul <michael.goffioul@swing.be> 12928 2007-02-16 Michael Goffioul <michael.goffioul@swing.be>
12929 12929
12930 * syscalls.cc (Fpopen2): New function. 12930 * syscalls.cc (Fpopen2): New function.
12931 (pipe): Modify to return input and output file descriptor 12931 (pipe): Modify to return input and output file descriptor
12932 seperately rather than in a list. 12932 seperately rather than in a list.
12933 12933
12934 2007-02-16 Muthiah Annamalai <muthuspost@gmail.com> 12934 2007-02-16 Muthiah Annamalai <muthuspost@gmail.com>
12935 12935
12936 * debug.cc (Fdbtype): Improve compatibility. 12936 * debug.cc (Fdbtype): Improve compatibility.
12937 12937
12938 2007-02-16 John W. Eaton <jwe@octave.org> 12938 2007-02-16 John W. Eaton <jwe@octave.org>
13175 13175
13176 * toplev.cc (Fsystem): Handle async calls on Windows systems. 13176 * toplev.cc (Fsystem): Handle async calls on Windows systems.
13177 13177
13178 2007-01-03 David Bateman <dbateman@free.fr> 13178 2007-01-03 David Bateman <dbateman@free.fr>
13179 13179
13180 * (OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, 13180 * (OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc,
13181 OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, 13181 OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc,
13182 OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, 13182 OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc,
13183 OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-cs.cc, 13183 OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-cs.cc,
13184 OPERATORS/op-scm-m.cc, OPERATORS/op-scm-s.cc, 13184 OPERATORS/op-scm-m.cc, OPERATORS/op-scm-s.cc,
13185 OPERATORS/op-scm-scm.cc, OPERATORS/op-scm-sm.cc, 13185 OPERATORS/op-scm-scm.cc, OPERATORS/op-scm-sm.cc,
13186 OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-cs.cc, 13186 OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-cs.cc,
13187 OPERATORS/op-sm-m.cc, OPERATORS/op-sm-s.cc, 13187 OPERATORS/op-sm-m.cc, OPERATORS/op-sm-s.cc,
13188 OPERATORS/op-sm-scm.cc, OPERATORS/op-sm-sm.cc, 13188 OPERATORS/op-sm-scm.cc, OPERATORS/op-sm-sm.cc,
13189 OPERATORS/op-s-scm.cc, OPERATORS/op-s-sm.cc): 13189 OPERATORS/op-s-scm.cc, OPERATORS/op-s-sm.cc):
13190 Modify div and ldiv functions so that scalars stored as sparse 13190 Modify div and ldiv functions so that scalars stored as sparse
13191 matrices are special cased. 13191 matrices are special cased.
13192 13192
13193 * ov-re-sparse.cc (double_value, complex_value): Scalar can be 13193 * ov-re-sparse.cc (double_value, complex_value): Scalar can be
13194 stored as a sparse matrix and so don't warn on implicit conversion 13194 stored as a sparse matrix and so don't warn on implicit conversion
13195 to a scalar. 13195 to a scalar.
13217 13217
13218 2006-12-14 John W. Eaton <jwe@octave.org> 13218 2006-12-14 John W. Eaton <jwe@octave.org>
13219 13219
13220 * pt-decl.cc (tree_decl_elt::eval): New function. 13220 * pt-decl.cc (tree_decl_elt::eval): New function.
13221 * pt-decl.h (tree_decl_elt::eval): Provide decl. 13221 * pt-decl.h (tree_decl_elt::eval): Provide decl.
13222 (tree_decl_elt::is_defined, tree_decl_elt::lvalue_ok, 13222 (tree_decl_elt::is_defined, tree_decl_elt::lvalue_ok,
13223 tree_decl_elt::mark_as_formal_parameter, tree_decl_elt::rvalue, 13223 tree_decl_elt::mark_as_formal_parameter, tree_decl_elt::rvalue,
13224 tree_decl_elt::lvalue): New functions. 13224 tree_decl_elt::lvalue): New functions.
13225 13225
13226 * pt-misc.h (class tree_parameter_list): Derive from 13226 * pt-misc.h (class tree_parameter_list): Derive from
13227 octave_base_list<tree_decl_elt *> instead of 13227 octave_base_list<tree_decl_elt *> instead of
13248 * pt-check.cc (tree_checker::visit_parameter_list): Likewise. 13248 * pt-check.cc (tree_checker::visit_parameter_list): Likewise.
13249 * pt-pr-code.cc (tree_print_code::visit_parameter_list): Likewise. 13249 * pt-pr-code.cc (tree_print_code::visit_parameter_list): Likewise.
13250 13250
13251 2006-12-08 John W. Eaton <jwe@octave.org> 13251 2006-12-08 John W. Eaton <jwe@octave.org>
13252 13252
13253 * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::array_value, 13253 * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::array_value,
13254 OCTAVE_VALUE_INT_MATRIX_T::complex_array_value, 13254 OCTAVE_VALUE_INT_MATRIX_T::complex_array_value,
13255 OCTAVE_VALUE_INT_MATRIX_T::bool_array_value, 13255 OCTAVE_VALUE_INT_MATRIX_T::bool_array_value,
13256 OCTAVE_VALUE_INT_MATRIX_T::char_array_value): 13256 OCTAVE_VALUE_INT_MATRIX_T::char_array_value):
13257 Use fortran_vec to avoid expensive indexing operator. 13257 Use fortran_vec to avoid expensive indexing operator.
13258 13258
13259 2006-12-08 David Bateman <dbateman@free.fr> 13259 2006-12-08 David Bateman <dbateman@free.fr>
13260 13260
13261 * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::matrix_value, 13261 * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::matrix_value,
13262 OCTAVE_VALUE_INT_SCALAR_T::complex_matrix_value, 13262 OCTAVE_VALUE_INT_SCALAR_T::complex_matrix_value,
13263 OCTAVE_VALUE_INT_MATRIX_T::matrix_value, 13263 OCTAVE_VALUE_INT_MATRIX_T::matrix_value,
13264 OCTAVE_VALUE_INT_MATRIX_T::comlex_matrix_value): New functions. 13264 OCTAVE_VALUE_INT_MATRIX_T::comlex_matrix_value): New functions.
13265 (OCTAVE_VALUE_INT_MATRIX_T::array_value, 13265 (OCTAVE_VALUE_INT_MATRIX_T::array_value,
13266 OCTAVE_VALUE_INT_MATRIX_T::comlex_array_value): 13266 OCTAVE_VALUE_INT_MATRIX_T::comlex_array_value):
13267 Use octave_idx_type instead of int for indexing. 13267 Use octave_idx_type instead of int for indexing.
13268 13268
13269 2006-12-04 David Bateman <dbateman@free.fr> 13269 2006-12-04 David Bateman <dbateman@free.fr>
13270 13270
13271 * xpow.cc (xpow (const Matrix&, double)): Add matrix type probing 13271 * xpow.cc (xpow (const Matrix&, double)): Add matrix type probing
13272 to matrix inverse. 13272 to matrix inverse.
13273 (xpow (const ComplexMatrix&, double)): ditto. 13273 (xpow (const ComplexMatrix&, double)): ditto.
13274 * DLD-FUNCTIONS/inv.cc (Finv): Add matrix type probing. 13274 * DLD-FUNCTIONS/inv.cc (Finv): Add matrix type probing.
13275 13275
13276 2006-12-06 John W. Eaton <jwe@octave.org> 13276 2006-12-06 John W. Eaton <jwe@octave.org>
13277 13277
13278 * sysdep.cc: Include "Cell.h" here. 13278 * sysdep.cc: Include "Cell.h" here.
13279 * input.h: Include "oct-obj.h", not "ov-list.h". 13279 * input.h: Include "oct-obj.h", not "ov-list.h".
13310 dimensions into retval(end). 13310 dimensions into retval(end).
13311 13311
13312 * load-path.cc (load_path::do_find_fcn): Return empty string if 13312 * load-path.cc (load_path::do_find_fcn): Return empty string if
13313 tests fail. 13313 tests fail.
13314 13314
13315 * ov-base-mat.cc (void octave_base_matrix<MT>::assign (const 13315 * ov-base-mat.cc (void octave_base_matrix<MT>::assign (const
13316 octave_value_list&, const MT&)): Invalidate matrix type on 13316 octave_value_list&, const MT&)): Invalidate matrix type on
13317 assignment. 13317 assignment.
13318 13318
13319 2006-11-30 John W. Eaton <jwe@octave.org> 13319 2006-11-30 John W. Eaton <jwe@octave.org>
13320 13320
13347 * dirfns.cc (Fmkdir): Handle "mkdir (parent, dir)". 13347 * dirfns.cc (Fmkdir): Handle "mkdir (parent, dir)".
13348 13348
13349 2006-11-21 John W. Eaton <jwe@octave.org> 13349 2006-11-21 John W. Eaton <jwe@octave.org>
13350 13350
13351 * load-path.cc (load_path::do_find_file, 13351 * load-path.cc (load_path::do_find_file,
13352 load_path::do_find_first_of, load_path::do_find_all_first_of): 13352 load_path::do_find_first_of, load_path::do_find_all_first_of):
13353 Call rooted_pathname instead of absolute_pathname. 13353 Call rooted_pathname instead of absolute_pathname.
13354 * utils.cc (fcn_file_in_path, oct_file_in_path, mex_file_in_path): 13354 * utils.cc (fcn_file_in_path, oct_file_in_path, mex_file_in_path):
13355 Likewise. 13355 Likewise.
13356 13356
13357 2006-11-16 Michael Goffioul <michael.goffioul@swing.be> 13357 2006-11-16 Michael Goffioul <michael.goffioul@swing.be>
13482 * ov-range.h (octave_range::empty_clone): Return octave_matrix 13482 * ov-range.h (octave_range::empty_clone): Return octave_matrix
13483 object instead of octave_range. 13483 object instead of octave_range.
13484 13484
13485 2006-10-29 Juhani Saastamoinen <juhani@cs.joensuu.fi> 13485 2006-10-29 Juhani Saastamoinen <juhani@cs.joensuu.fi>
13486 13486
13487 * ls-mat5.cc (read_mat5_tag): Declare bytes as int32_t, not just int. 13487 * ls-mat5.cc (read_mat5_tag): Declare bytes as int32_t, not just int.
13488 13488
13489 2006-10-28 John W. Eaton <jwe@octave.org> 13489 2006-10-28 John W. Eaton <jwe@octave.org>
13490 13490
13491 * toplev.cc (Fatexit): Push function names on the stack even if we 13491 * toplev.cc (Fatexit): Push function names on the stack even if we
13492 don't have atexit or on_exit. 13492 don't have atexit or on_exit.
13514 13514
13515 * ov.h (octave_value::is_cellstr): New function. 13515 * ov.h (octave_value::is_cellstr): New function.
13516 * ov-base.h (octave_base_value::is_cellstr): New function. 13516 * ov-base.h (octave_base_value::is_cellstr): New function.
13517 * ov-cell.h (octave_cell::is_cellstr): New function. 13517 * ov-cell.h (octave_cell::is_cellstr): New function.
13518 * ov-cell.cc (Fiscellstr): Implement with is_cellstr. 13518 * ov-cell.cc (Fiscellstr): Implement with is_cellstr.
13519 * Cell.cc (Cell::Cell (const dim_vector&, const string_vector&, bool)): 13519 * Cell.cc (Cell::Cell (const dim_vector&, const string_vector&, bool)):
13520 New constructor. 13520 New constructor.
13521 (Cell::is_cellstr): New function. 13521 (Cell::is_cellstr): New function.
13522 * Cell.h: Provide decls. 13522 * Cell.h: Provide decls.
13523 13523
13524 * defaults.cc (subst_octave_home): If dir_sep_char is not '/', 13524 * defaults.cc (subst_octave_home): If dir_sep_char is not '/',
13706 octave_shlib_list::do_remove, octave_mex_file_list::remove, 13706 octave_shlib_list::do_remove, octave_mex_file_list::remove,
13707 octave_mex_file_list::do_remove): New arg, cl_hook. 13707 octave_mex_file_list::do_remove): New arg, cl_hook.
13708 (octave_shlib_list::do_remove): Pass cl_hook to octave_shlib close 13708 (octave_shlib_list::do_remove): Pass cl_hook to octave_shlib close
13709 function. 13709 function.
13710 (octave_dynamic_loader::do_load_oct): Don't call close on shl 13710 (octave_dynamic_loader::do_load_oct): Don't call close on shl
13711 directly. Pass do_clear_function to octave_shlib_list::remove. 13711 directly. Pass do_clear_function to octave_shlib_list::remove.
13712 13712
13713 * mex.cc (mexUnlock): Don't warn if unlocking a function that is 13713 * mex.cc (mexUnlock): Don't warn if unlocking a function that is
13714 not locked. 13714 not locked.
13715 13715
13716 * pt-fcn-handle.cc (tree_anon_fcn_handle::dup): 13716 * pt-fcn-handle.cc (tree_anon_fcn_handle::dup):
13801 13801
13802 * DLD-FUNCTIONS/sparse.cc (spfind, sparse_find): Delete. 13802 * DLD-FUNCTIONS/sparse.cc (spfind, sparse_find): Delete.
13803 * DLD-FUNCTIONS/spfind.cc: New file implementating compatible 13803 * DLD-FUNCTIONS/spfind.cc: New file implementating compatible
13804 sparse find function. 13804 sparse find function.
13805 * Makefile.in (DLD_XSRC): Add spfind.cc. 13805 * Makefile.in (DLD_XSRC): Add spfind.cc.
13806 13806
13807 2006-09-26 Bill Denney <bill@givebillmoney.com> 13807 2006-09-26 Bill Denney <bill@givebillmoney.com>
13808 13808
13809 * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx, Ffind): 13809 * DLD-FUNCTIONS/find.cc (find_nonzero_elem_idx, Ffind):
13810 Handle direction and limit on number of elements to find. 13810 Handle direction and limit on number of elements to find.
13811 13811
13851 'UniformOutput' and 'ErrorHandler' options. Change output when 13851 'UniformOutput' and 'ErrorHandler' options. Change output when
13852 called with function handler or inline function to by default have 13852 called with function handler or inline function to by default have
13853 'UniformOutput' set to true. Allow functions with multiple inputs 13853 'UniformOutput' set to true. Allow functions with multiple inputs
13854 and outputs. Add test code. Replace some int with octave_idx_type. 13854 and outputs. Add test code. Replace some int with octave_idx_type.
13855 (Fnum2cell): Replace some int with octave_idx_type. Add test code. 13855 (Fnum2cell): Replace some int with octave_idx_type. Add test code.
13856 13856
13857 2006-09-11 Yozo Hida <yozo@cs.berkeley.edu> 13857 2006-09-11 Yozo Hida <yozo@cs.berkeley.edu>
13858 13858
13859 * DLD-FUNCTIONS/gcd.cc (Fgcd): Extend range by using std::floor 13859 * DLD-FUNCTIONS/gcd.cc (Fgcd): Extend range by using std::floor
13860 instead of converting to int. 13860 instead of converting to int.
13861 13861
13996 2006-08-21 John W. Eaton <jwe@octave.org> 13996 2006-08-21 John W. Eaton <jwe@octave.org>
13997 13997
13998 * ls-mat5.cc (read_mat5_binary_data, read_mat5_integer_data, 13998 * ls-mat5.cc (read_mat5_binary_data, read_mat5_integer_data,
13999 write_mat5_array): Unconditionally enable code for 64-bit int types. 13999 write_mat5_array): Unconditionally enable code for 64-bit int types.
14000 14000
14001 * ov-fcn-handle.cc (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): 14001 * ov-fcn-handle.cc (DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA):
14002 For compatibility, set class to function_handle. 14002 For compatibility, set class to function_handle.
14003 14003
14004 2006-08-18 John W. Eaton <jwe@octave.org> 14004 2006-08-18 John W. Eaton <jwe@octave.org>
14005 14005
14006 * pr-output.cc (set_real_matrix_format): Also always include space 14006 * pr-output.cc (set_real_matrix_format): Also always include space
14011 * gripes.cc (gripe_logical_conversion): New function. 14011 * gripes.cc (gripe_logical_conversion): New function.
14012 * gripes.h: Provide decl. 14012 * gripes.h: Provide decl.
14013 * ov.h (octave_value::bool_value, octave_value::bool_matrix_value, 14013 * ov.h (octave_value::bool_value, octave_value::bool_matrix_value,
14014 octave_value::bool_array_value): New arg, warn. 14014 octave_value::bool_array_value): New arg, warn.
14015 * ov-base.cc, ov-base.h (octave_base_value::bool_value, 14015 * ov-base.cc, ov-base.h (octave_base_value::bool_value,
14016 octave_base_value::bool_matrix_value, 14016 octave_base_value::bool_matrix_value,
14017 octave_base_value::bool_array_value): Likewise. 14017 octave_base_value::bool_array_value): Likewise.
14018 * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::bool_array_value, 14018 * ov-intx.h (OCTAVE_VALUE_INT_MATRIX_T::bool_array_value,
14019 OCTAVE_VALUE_INT_SCALAR_T::bool_array_value): Likewise. 14019 OCTAVE_VALUE_INT_SCALAR_T::bool_array_value): Likewise.
14020 * ov-range.h (octave_range::bool_array_value): Likewise. 14020 * ov-range.h (octave_range::bool_array_value): Likewise.
14021 * ov-re-mat.cc, ov-re-mat.h (octave_matrix::bool_array_value): 14021 * ov-re-mat.cc, ov-re-mat.h (octave_matrix::bool_array_value):
14148 mxArray_number. 14148 mxArray_number.
14149 (mxArray_sparse::as_octave_value): Implement function. 14149 (mxArray_sparse::as_octave_value): Implement function.
14150 * ov-bool-sparse.cc (octave_sparse_bool_matrix::as_mxArray): 14150 * ov-bool-sparse.cc (octave_sparse_bool_matrix::as_mxArray):
14151 Implement function. 14151 Implement function.
14152 * ov-cx-sparse.cc (octave_sparse_complex_matrix::as_mxArray): 14152 * ov-cx-sparse.cc (octave_sparse_complex_matrix::as_mxArray):
14153 Implement function. 14153 Implement function.
14154 * ov-re-sparse.cc (octave_sparse_matrix::as_mxArray): 14154 * ov-re-sparse.cc (octave_sparse_matrix::as_mxArray):
14155 Implement function. 14155 Implement function.
14156 14156
14157 2006-07-25 John W. Eaton <jwe@octave.org> 14157 2006-07-25 John W. Eaton <jwe@octave.org>
14158 14158
14238 14238
14239 * ov.h (octave_value::is_int8_type, octave_value::is_int16_type, 14239 * ov.h (octave_value::is_int8_type, octave_value::is_int16_type,
14240 octave_value::is_int32_type, octave_value::is_int64_type, 14240 octave_value::is_int32_type, octave_value::is_int64_type,
14241 octave_value::is_uint8_type, octave_value::is_uint16_type, 14241 octave_value::is_uint8_type, octave_value::is_uint16_type,
14242 octave_value::is_uint32_type, octave_value::is_uint64_type): 14242 octave_value::is_uint32_type, octave_value::is_uint64_type):
14243 New functions. 14243 New functions.
14244 * ov-base.h (octave_base_value::is_int8_type, 14244 * ov-base.h (octave_base_value::is_int8_type,
14245 octave_base_value::is_int16_type, 14245 octave_base_value::is_int16_type,
14246 octave_base_value::is_int32_type, 14246 octave_base_value::is_int32_type,
14247 octave_base_value::is_int64_type, 14247 octave_base_value::is_int64_type,
14248 octave_base_value::is_uint8_type, 14248 octave_base_value::is_uint8_type,
14263 * ov-complex.h (octave_complex::is_double_type): New function. 14263 * ov-complex.h (octave_complex::is_double_type): New function.
14264 * ov-range.h (octave_range::is_double_type): New function. 14264 * ov-range.h (octave_range::is_double_type): New function.
14265 * ov-re-sparse.h (octave_sparse_matrix::is_double_type): New function. 14265 * ov-re-sparse.h (octave_sparse_matrix::is_double_type): New function.
14266 * ov-cx-sparse.h (octave_sparse_complex_matrix::is_double_type): 14266 * ov-cx-sparse.h (octave_sparse_complex_matrix::is_double_type):
14267 New function. 14267 New function.
14268 14268
14269 2006-07-15 John W. Eaton <jwe@octave.org> 14269 2006-07-15 John W. Eaton <jwe@octave.org>
14270 14270
14271 * ov-typeinfo.cc: Also instantiate arrays of assignany_ops. 14271 * ov-typeinfo.cc: Also instantiate arrays of assignany_ops.
14272 14272
14273 * oct-errno.cc.in (octave_errno::octave_errno): VALUE field in 14273 * oct-errno.cc.in (octave_errno::octave_errno): VALUE field in
14407 14407
14408 * variables.cc (do_who): Handle mex. 14408 * variables.cc (do_who): Handle mex.
14409 14409
14410 * symtab.cc (SYMBOL_DEF::type_as_string, SYMBOL_DEF::which, 14410 * symtab.cc (SYMBOL_DEF::type_as_string, SYMBOL_DEF::which,
14411 symbol_table::clear_functions, table::clear_function, 14411 symbol_table::clear_functions, table::clear_function,
14412 symbol_table::clear_function_pattern): 14412 symbol_table::clear_function_pattern):
14413 Handle mex. 14413 Handle mex.
14414 * symtab.h (symbol_record::is_mex_function, 14414 * symtab.h (symbol_record::is_mex_function,
14415 symbol_record::symbol_def::is_mex_function): New functions. 14415 symbol_record::symbol_def::is_mex_function): New functions.
14416 (symbol_record::TYPE): New value, MEX_FUNCTION. 14416 (symbol_record::TYPE): New value, MEX_FUNCTION.
14417 (symbol_record::is_function, symbol_table::user_function_name_list, 14417 (symbol_record::is_function, symbol_table::user_function_name_list,
14495 * pt-select.h: Provide decls. 14495 * pt-select.h: Provide decls.
14496 14496
14497 * pt-decl.cc (tree_decl_elt::dup, tree_decl_init_list::dup, 14497 * pt-decl.cc (tree_decl_elt::dup, tree_decl_init_list::dup,
14498 tree_global_command::dup, tree_static_command::dup): New functions. 14498 tree_global_command::dup, tree_static_command::dup): New functions.
14499 * pt-decl.h: Provide decls. 14499 * pt-decl.h: Provide decls.
14500 14500
14501 * pt-exp.h (tree_expression::copy_base): New function. 14501 * pt-exp.h (tree_expression::copy_base): New function.
14502 (tree_expression::dup): New pure virtual function. 14502 (tree_expression::dup): New pure virtual function.
14503 14503
14504 * pt-fcn-handle.cc, pt-fcn-handle.h (tree_anon_fcn_handle): New class. 14504 * pt-fcn-handle.cc, pt-fcn-handle.h (tree_anon_fcn_handle): New class.
14505 14505
14506 * pt-fcn-handle.cc (tree_function_handle::dup): New function. 14506 * pt-fcn-handle.cc (tree_function_handle::dup): New function.
14507 * pt-fcn-handle.h: Provide decl. 14507 * pt-fcn-handle.h: Provide decl.
14508 14508
14509 * pt-colon.cc (tree_colon_expression::dup): New function. 14509 * pt-colon.cc (tree_colon_expression::dup): New function.
14510 * pt-colon.h: Provide decl. 14510 * pt-colon.h: Provide decl.
14511 (tree_colon_expression::tree_colon_expression (tree_expression *, 14511 (tree_colon_expression::tree_colon_expression (tree_expression *,
14512 tree_expression *, tree_expression *, int, int)): New constructor. 14512 tree_expression *, tree_expression *, int, int)): New constructor.
14513 14513
14514 * pt-const.cc (tree_constant::dup): New function. 14514 * pt-const.cc (tree_constant::dup): New function.
14515 (tree_constant::tree_constant (const octave_value&, const 14515 (tree_constant::tree_constant (const octave_value&, const
14516 std::string&, int, int)): New constructor. 14516 std::string&, int, int)): New constructor.
14517 * pt-const.h: Provide decls. 14517 * pt-const.h: Provide decls.
14518 14518
14538 * pt-assign.h: Provide decls. 14538 * pt-assign.h: Provide decls.
14539 14539
14540 * pt-binop.cc (tree_binary_expression::dup, 14540 * pt-binop.cc (tree_binary_expression::dup,
14541 tree_boolean_expression::dup): New functions. 14541 tree_boolean_expression::dup): New functions.
14542 * pt-binop.h: Provide decls. 14542 * pt-binop.h: Provide decls.
14543 14543
14544 * pt-unop.cc (tree_prefix_expression::dup, 14544 * pt-unop.cc (tree_prefix_expression::dup,
14545 tree_postfix_expression::dup): New functions. 14545 tree_postfix_expression::dup): New functions.
14546 * pt-unop.h: Provide decls. 14546 * pt-unop.h: Provide decls.
14547 14547
14548 * pt-stmt.cc (tree_statement::dup, tree_statement_list::dup): 14548 * pt-stmt.cc (tree_statement::dup, tree_statement_list::dup):
14578 Warn about invalid values of INFO from MINPACK instead of calling 14578 Warn about invalid values of INFO from MINPACK instead of calling
14579 panic_impossible. 14579 panic_impossible.
14580 14580
14581 * ov-usr-fcn.cc (octave_user_function::do_multi_index_op): 14581 * ov-usr-fcn.cc (octave_user_function::do_multi_index_op):
14582 Don't assign values returned by evaluation of cmd_list to 14582 Don't assign values returned by evaluation of cmd_list to
14583 temporary variable. Delete unused variable last_computed_value. 14583 temporary variable. Delete unused variable last_computed_value.
14584 14584
14585 * pt-stmt.cc (tree_statement_list::eval): 14585 * pt-stmt.cc (tree_statement_list::eval):
14586 Clear retval before each statement is evaluated. 14586 Clear retval before each statement is evaluated.
14587 14587
14588 2006-06-12 John W. Eaton <jwe@octave.org> 14588 2006-06-12 John W. Eaton <jwe@octave.org>
14740 interactive and actually printing a prompt. Don't print prompt if 14740 interactive and actually printing a prompt. Don't print prompt if
14741 reading startup files or command line files. Initialize 14741 reading startup files or command line files. Initialize
14742 Vlast_prompt_time to 0. 14742 Vlast_prompt_time to 0.
14743 14743
14744 * pr-output.cc (set_format): Always include space for sign. 14744 * pr-output.cc (set_format): Always include space for sign.
14745 14745
14746 2006-05-23 John W. Eaton <jwe@octave.org> 14746 2006-05-23 John W. Eaton <jwe@octave.org>
14747 14747
14748 * load-save.cc (Fsave): Use tellp instead of pubseekoff to 14748 * load-save.cc (Fsave): Use tellp instead of pubseekoff to
14749 determine whether we are at beginning of file. 14749 determine whether we are at beginning of file.
14750 14750
14751 * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::increment, 14751 * ov-intx.h (OCTAVE_VALUE_INT_SCALAR_T::increment,
14752 OCTAVE_VALUE_INT_SCALAR_T::decrement, 14752 OCTAVE_VALUE_INT_SCALAR_T::decrement,
14753 OCTAVE_VALUE_INT_MATRIX_T::increment, 14753 OCTAVE_VALUE_INT_MATRIX_T::increment,
14754 OCTAVE_VALUE_INT_MATRIX_T::decrement): New functions. 14754 OCTAVE_VALUE_INT_MATRIX_T::decrement): New functions.
14755 * OPERATORS/op-int.h (OCTAVE_INSTALL_M_INT_UNOPS, 14755 * OPERATORS/op-int.h (OCTAVE_INSTALL_M_INT_UNOPS,
14756 OCTAVE_INSTALL_S_INT_UNOPS, OCTAVE_M_INT_UNOPS, 14756 OCTAVE_INSTALL_S_INT_UNOPS, OCTAVE_M_INT_UNOPS,
14873 * help.cc (simple_help): No need to handle built-in variables. 14873 * help.cc (simple_help): No need to handle built-in variables.
14874 14874
14875 * variables.cc (is_builtin_variable, builtin_string_variable, 14875 * variables.cc (is_builtin_variable, builtin_string_variable,
14876 builtin_real_scalar_variable, builtin_any_variable): 14876 builtin_real_scalar_variable, builtin_any_variable):
14877 Delete functions. 14877 Delete functions.
14878 (Fexist, Fdocument, do_who, Fwho, link_to_builtin_or_function): 14878 (Fexist, Fdocument, do_who, Fwho, link_to_builtin_or_function):
14879 No need to handle built-in variables. 14879 No need to handle built-in variables.
14880 * variables.h (is_builtin_variable, builtin_string_variable, 14880 * variables.h (is_builtin_variable, builtin_string_variable,
14881 builtin_real_scalar_variable, builtin_any_variable): Delete decls. 14881 builtin_real_scalar_variable, builtin_any_variable): Delete decls.
14882 14882
14883 * symtab.h (symbol_record::symbol_def::is_builtin_variable, 14883 * symtab.h (symbol_record::symbol_def::is_builtin_variable,
14986 * dirfns.cc (Fconfirm_recursive_rmdir): New function. 14986 * dirfns.cc (Fconfirm_recursive_rmdir): New function.
14987 (confirm_recursive_rmdir): Delete function. 14987 (confirm_recursive_rmdir): Delete function.
14988 (symbols_of_dirfns): Delete DEFVAR and function. 14988 (symbols_of_dirfns): Delete DEFVAR and function.
14989 14989
14990 * error.cc (initialize_warning_options): Now extern. 14990 * error.cc (initialize_warning_options): Now extern.
14991 Rename from init_warning_options. 14991 Rename from init_warning_options.
14992 * error.h: Provide decl. 14992 * error.h: Provide decl.
14993 * octave.cc (octave_main): Call it here. 14993 * octave.cc (octave_main): Call it here.
14994 14994
14995 * error.cc (Fbeep_on_error, Fdebug_on_error, Fdebug_on_warning): 14995 * error.cc (Fbeep_on_error, Fdebug_on_error, Fdebug_on_warning):
14996 New functions. 14996 New functions.
15012 (VPS1, VPS2, VPS4): Rename from Vps1, Vps2, Vps4. Change all uses. 15012 (VPS1, VPS2, VPS4): Rename from Vps1, Vps2, Vps4. Change all uses.
15013 (Fecho): Set Vecho_executing_commands directly. 15013 (Fecho): Set Vecho_executing_commands directly.
15014 15014
15015 * load-save.cc (crash_dumps_octave_core, Fdefault_save_options, 15015 * load-save.cc (crash_dumps_octave_core, Fdefault_save_options,
15016 Foctave_core_file_limit, Foctave_core_file_name, 15016 Foctave_core_file_limit, Foctave_core_file_name,
15017 Foctave_core_file_options, Fsave_header_format_string): 15017 Foctave_core_file_options, Fsave_header_format_string):
15018 New functions. 15018 New functions.
15019 (crash_dumps_octave_core, default_save_options, 15019 (crash_dumps_octave_core, default_save_options,
15020 octave_core_file_limit, octave_core_file_name, 15020 octave_core_file_limit, octave_core_file_name,
15021 octave_core_file_options, save_header_format_string): 15021 octave_core_file_options, save_header_format_string):
15022 Delete functions. 15022 Delete functions.
15023 (symbols_of_load_save): Delete DEFVARs and function. 15023 (symbols_of_load_save): Delete DEFVARs and function.
15024 15024
15025 * ov-base.cc (Fprint_answer_id_name, Fsilent_functions): New functions. 15025 * ov-base.cc (Fprint_answer_id_name, Fsilent_functions): New functions.
15026 (print_answer_id_name, silent_functions): Delete functions. 15026 (print_answer_id_name, silent_functions): Delete functions.
15027 (symbols_of_ov_base): Delete DEFVARs and function. 15027 (symbols_of_ov_base): Delete DEFVARs and function.
15115 * xdiv.cc (xdiv, xleftdiv): Pass the matrix type, simplfy since 15115 * xdiv.cc (xdiv, xleftdiv): Pass the matrix type, simplfy since
15116 the matrix solve function now calls lssolve if singular. 15116 the matrix solve function now calls lssolve if singular.
15117 * xdiv.h (xdvi, xleftdiv): Update the declarations 15117 * xdiv.h (xdvi, xleftdiv): Update the declarations
15118 * OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, 15118 * OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc,
15119 OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc, 15119 OPERATORS/op-cm-m.cc, OPERATORS/op-cm-s.cc,
15120 OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, 15120 OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc,
15121 OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-m.cc, 15121 OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-m.cc,
15122 OPERATORS/op-m-cm.cc, OPERATORS/op-m-cs.cc, 15122 OPERATORS/op-m-cm.cc, OPERATORS/op-m-cs.cc,
15123 OPERATORS/op-m-m.cc, OPERATORS/op-m-s.cc, 15123 OPERATORS/op-m-m.cc, OPERATORS/op-m-s.cc,
15124 OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, 15124 OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc,
15125 OPERATORS/op-s-cm.cc, OPERATORS/op-s-m.cc, 15125 OPERATORS/op-s-cm.cc, OPERATORS/op-s-m.cc,
15126 OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-m.cc, 15126 OPERATORS/op-scm-cm.cc, OPERATORS/op-scm-m.cc,
15127 OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-m.cc: Update use of 15127 OPERATORS/op-sm-cm.cc, OPERATORS/op-sm-m.cc: Update use of
15128 xdiv and xleftdiv functions to allow matrix type caching. 15128 xdiv and xleftdiv functions to allow matrix type caching.
15129 * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Update to allow typing 15129 * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Update to allow typing
15130 of Matrix, and ComplexMatrix types. Add new test code for this. 15130 of Matrix, and ComplexMatrix types. Add new test code for this.
15131 15131
15132 * DLD-FUNCTIONS/cellfun.cc (Fmat2cell): new function. 15132 * DLD-FUNCTIONS/cellfun.cc (Fmat2cell): new function.
15133 15133
15134 * DLD-FUNCTIONS/regexp.cc (class regexp_elem): New class to store 15134 * DLD-FUNCTIONS/regexp.cc (class regexp_elem): New class to store
15135 matched element in a std::list. 15135 matched element in a std::list.
15136 (octregexp_list): Take algorithm from octregexp and construct a 15136 (octregexp_list): Take algorithm from octregexp and construct a
15137 list of matches. 15137 list of matches.
15138 (octregexp): Rewrite to use linked list of matches. 15138 (octregexp): Rewrite to use linked list of matches.
15139 (Fregexprep): New function, working directly in linked list of 15139 (Fregexprep): New function, working directly in linked list of
15140 matches. 15140 matches.
15141 15141
15142 2006-05-02 John W. Eaton <jwe@octave.org> 15142 2006-05-02 John W. Eaton <jwe@octave.org>
15143 15143
15144 * lex.l ({CCHAR}): Exit rawcommand mode if returning '\n' token. 15144 * lex.l ({CCHAR}): Exit rawcommand mode if returning '\n' token.
15145 15145
15146 2006-05-02 David Bateman <dbateman@free.fr> 15146 2006-05-02 David Bateman <dbateman@free.fr>
15180 of warning. 15180 of warning.
15181 15181
15182 * parse.y (warn_assign_as_truth_value, warn_associativity_change, 15182 * parse.y (warn_assign_as_truth_value, warn_associativity_change,
15183 warn_function_name_clash, warn_future_time_stamp, 15183 warn_function_name_clash, warn_future_time_stamp,
15184 warn_missing_semicolon, warn_precedence_change, 15184 warn_missing_semicolon, warn_precedence_change,
15185 warn_variable_switch_label, symbols_of_parse): 15185 warn_variable_switch_label, symbols_of_parse):
15186 Delete DEFVARs and functions. 15186 Delete DEFVARs and functions.
15187 (Vwarn_assign_as_truth_value, Vwarn_associativity_change, 15187 (Vwarn_assign_as_truth_value, Vwarn_associativity_change,
15188 Vwarn_function_name_clash, Vwarn_future_time_stamp, 15188 Vwarn_function_name_clash, Vwarn_future_time_stamp,
15189 Vwarn_missing_semicolon, Vwarn_precedence_change, 15189 Vwarn_missing_semicolon, Vwarn_precedence_change,
15190 Vwarn_variable_switch_label): Delete variables. 15190 Vwarn_variable_switch_label): Delete variables.
15192 * parse.y (fold): Check state of warning ID 15192 * parse.y (fold): Check state of warning ID
15193 Octave:associativity-change and Octave:precedence-change instead 15193 Octave:associativity-change and Octave:precedence-change instead
15194 of using Vwarn_associativity_change and Vwarn_precedence_change. 15194 of using Vwarn_associativity_change and Vwarn_precedence_change.
15195 (maybe_warn_associativity_change, maybe_warn_missing_semi, 15195 (maybe_warn_associativity_change, maybe_warn_missing_semi,
15196 maybe_warn_assign_as_truth_value, make_binary_op, make_boolean_op, 15196 maybe_warn_assign_as_truth_value, make_binary_op, make_boolean_op,
15197 frob_function): Call warning_with_id instead of warning. 15197 frob_function): Call warning_with_id instead of warning.
15198 * dynamic-ld.cc (octave_dynamic_loader::do_load): Likewise. 15198 * dynamic-ld.cc (octave_dynamic_loader::do_load): Likewise.
15199 15199
15200 * ov.cc (warn_fortran_indexing, warn_imag_to_real, symbols_of_ov): 15200 * ov.cc (warn_fortran_indexing, warn_imag_to_real, symbols_of_ov):
15201 Delete DEFVARs and functions. 15201 Delete DEFVARs and functions.
15202 (Vwarn_fortran_indexing, Vwarn_imag_to_real): Delete variables. 15202 (Vwarn_fortran_indexing, Vwarn_imag_to_real): Delete variables.
15233 * ov-complex.cc (octave_complex::double_value, 15233 * ov-complex.cc (octave_complex::double_value,
15234 octave_complex::matrix_value, octave_complex::array_value): Likewise. 15234 octave_complex::matrix_value, octave_complex::array_value): Likewise.
15235 15235
15236 * ov.h (Vwarn_fortran_indexing, Vwarn_imag_to_real): Delete decls. 15236 * ov.h (Vwarn_fortran_indexing, Vwarn_imag_to_real): Delete decls.
15237 15237
15238 * pt-mat.cc (warn_empty_list_elements, warn_string_concat): 15238 * pt-mat.cc (warn_empty_list_elements, warn_string_concat):
15239 Delete functions. 15239 Delete functions.
15240 (symbols_of_pt_mat): Delete DEFVARs. 15240 (symbols_of_pt_mat): Delete DEFVARs.
15241 (Vwarn_empty_list_elements, Vwarn_string_concat): Delete variables. 15241 (Vwarn_empty_list_elements, Vwarn_string_concat): Delete variables.
15242 (tm_row_const::tm_row_const_rep::eval_warning, tm_const::init, 15242 (tm_row_const::tm_row_const_rep::eval_warning, tm_const::init,
15243 maybe_warn_string_concat): Call warning_with_id instead of warning. 15243 maybe_warn_string_concat): Call warning_with_id instead of warning.
15259 Call warning_with_id instead of warning. 15259 Call warning_with_id instead of warning.
15260 15260
15261 * dynamic-ld.cc (warn_reload_forces_clear, symbols_of_dynamic_ld): 15261 * dynamic-ld.cc (warn_reload_forces_clear, symbols_of_dynamic_ld):
15262 Delete DEFVAR and functions. 15262 Delete DEFVAR and functions.
15263 (Vwarn_reload_forces_clear): Delete variable. 15263 (Vwarn_reload_forces_clear): Delete variable.
15264 (do_clear_function, octave_dynamic_loader::do_load): 15264 (do_clear_function, octave_dynamic_loader::do_load):
15265 Call warning_with_id instead of warning. 15265 Call warning_with_id instead of warning.
15266 * error.cc (warning_enabled): Now extern. 15266 * error.cc (warning_enabled): Now extern.
15267 (Fwarning): If specific id is not found, return state of "all". 15267 (Fwarning): If specific id is not found, return state of "all".
15268 15268
15269 * error.h: Provide decl. 15269 * error.h: Provide decl.
15304 15304
15305 * defun-int.h (DEFCONST, DEFCONSTX, DEFCONST_INTERNAL, 15305 * defun-int.h (DEFCONST, DEFCONSTX, DEFCONST_INTERNAL,
15306 DEFCONSTX_INTERNAL): Delete definitions. 15306 DEFCONSTX_INTERNAL): Delete definitions.
15307 15307
15308 * sighandlers.cc (FSIG): New function to replace DEFCONST in 15308 * sighandlers.cc (FSIG): New function to replace DEFCONST in
15309 symbols_of_sighandlers. 15309 symbols_of_sighandlers.
15310 15310
15311 * octave.cc (intern_argv): Set octave_argv instead of calling 15311 * octave.cc (intern_argv): Set octave_argv instead of calling
15312 bind_builtin_variable here. 15312 bind_builtin_variable here.
15313 (Fargv, Fprogram_invocation_name, Fprogram_name): New functions to 15313 (Fargv, Fprogram_invocation_name, Fprogram_name): New functions to
15314 replace DEFCONSTs in symbols_of_toplvev in toplev.cc. 15314 replace DEFCONSTs in symbols_of_toplvev in toplev.cc.
15315 (octave_program_invocation_name, octave_program_name): 15315 (octave_program_invocation_name, octave_program_name):
15316 New static variables. 15316 New static variables.
15317 (execute_command_line_file): Use unwind_protect_str to protect 15317 (execute_command_line_file): Use unwind_protect_str to protect
15318 octave_program_invocation_name, octave_program_name instead of 15318 octave_program_invocation_name, octave_program_name instead of
15319 using a restore function. 15319 using a restore function.
15320 (restore_program_name): Delete. 15320 (restore_program_name): Delete.
15349 15349
15350 2006-04-18 John W. Eaton <jwe@octave.org> 15350 2006-04-18 John W. Eaton <jwe@octave.org>
15351 15351
15352 * DLD-FUNCTIONS/regexp.cc: Include <algorithm>, for transform decl. 15352 * DLD-FUNCTIONS/regexp.cc: Include <algorithm>, for transform decl.
15353 15353
15354 * DLD-FUNCTIONS/ccolamd.cc (Fccolamd, Fcsymamd): 15354 * DLD-FUNCTIONS/ccolamd.cc (Fccolamd, Fcsymamd):
15355 Always return something. 15355 Always return something.
15356 15356
15357 * sighandlers.cc (octave_set_signal_handler, 15357 * sighandlers.cc (octave_set_signal_handler,
15358 octave_set_interrupt_handler): New arg, restart_syscalls, with 15358 octave_set_interrupt_handler): New arg, restart_syscalls, with
15359 default value true. 15359 default value true.
15379 gnuplot::handle_title): Use std::ostringstream directly. 15379 gnuplot::handle_title): Use std::ostringstream directly.
15380 * toplev.cc (run_command_and_return_output): Likewise. 15380 * toplev.cc (run_command_and_return_output): Likewise.
15381 * symtab.h (symbol_table::symbol_table): Likewise. 15381 * symtab.h (symbol_table::symbol_table): Likewise.
15382 * strfns.cc (Flist_in_columns): Likewise. 15382 * strfns.cc (Flist_in_columns): Likewise.
15383 * pt.cc (tree::str_print_code): Likewise. 15383 * pt.cc (tree::str_print_code): Likewise.
15384 * parse.y (yyerror, fold, finish_matrix): Likewise. 15384 * parse.y (yyerror, fold, finish_matrix): Likewise.
15385 * pr-output.cc (PRINT_ND_ARRAY, octave_print_internal, Fdisp): 15385 * pr-output.cc (PRINT_ND_ARRAY, octave_print_internal, Fdisp):
15386 Likewise. 15386 Likewise.
15387 * symtab.cc (symbol_table::print_descriptor): Likewise. 15387 * symtab.cc (symbol_table::print_descriptor): Likewise.
15388 * ov-list.cc (octave_list::print_raw, octave_list::save_ascii, 15388 * ov-list.cc (octave_list::print_raw, octave_list::save_ascii,
15389 octave_list::save_binary, octave_list::save_hdf5): Likewise. 15389 octave_list::save_binary, octave_list::save_hdf5): Likewise.
15390 * ov-fcn-inline.cc (octave_fcn_inline::octave_fcn_inline, 15390 * ov-fcn-inline.cc (octave_fcn_inline::octave_fcn_inline,
15400 Likewise. 15400 Likewise.
15401 * oct-stream.h (scanf_format_list::buf, printf_format_list::buf): 15401 * oct-stream.h (scanf_format_list::buf, printf_format_list::buf):
15402 Likewise. 15402 Likewise.
15403 * oct-stream.cc (scanf_format_list::scanf_format_list, 15403 * oct-stream.cc (scanf_format_list::scanf_format_list,
15404 printf_format_list::printf_format_list, 15404 printf_format_list::printf_format_list,
15405 octave_base_stream::do_gets, BEGIN_CHAR_CLASS_CONVERSION, 15405 octave_base_stream::do_gets, BEGIN_CHAR_CLASS_CONVERSION,
15406 octave_stream_list::do_list_open_files): Likewise. 15406 octave_stream_list::do_list_open_files): Likewise.
15407 * ls-oct-ascii.h (extract_keyword): Likewise. 15407 * ls-oct-ascii.h (extract_keyword): Likewise.
15408 * load-save.cc (do_load): Likewise. 15408 * load-save.cc (do_load): Likewise.
15409 * lex.l (have_continuation, handle_string): Likewise. 15409 * lex.l (have_continuation, handle_string): Likewise.
15410 * input.cc (get_user_input): Likewise. 15410 * input.cc (get_user_input): Likewise.
15454 (octave_base_sparse::sparse_type): Now const. 15454 (octave_base_sparse::sparse_type): Now const.
15455 15455
15456 * OPERATORS/op-cm-scm.cc (DEFBINOP(div)): Explicitly cast args 15456 * OPERATORS/op-cm-scm.cc (DEFBINOP(div)): Explicitly cast args
15457 here instead of using CAST_BINOP_ARGS. 15457 here instead of using CAST_BINOP_ARGS.
15458 15458
15459 * OPERATORS/op-streamoff.cc (STREAMOFF_COMP_OP): Second arg to 15459 * OPERATORS/op-streamoff.cc (STREAMOFF_COMP_OP): Second arg to
15460 CAST_BINOP_ARGS is also const. 15460 CAST_BINOP_ARGS is also const.
15461 15461
15462 * DLD-FUNCTIONS/chol.cc (Fcholinv, Fchol2inv): Eliminate nargout 15462 * DLD-FUNCTIONS/chol.cc (Fcholinv, Fchol2inv): Eliminate nargout
15463 arg to avoid unused variable warnings. 15463 arg to avoid unused variable warnings.
15464 15464
15553 octave_fcn_handle::load_binary): Likewise. 15553 octave_fcn_handle::load_binary): Likewise.
15554 * ov-fcn-inline.cc (octave_fcn_inline::save_binary, 15554 * ov-fcn-inline.cc (octave_fcn_inline::save_binary,
15555 octave_fcn_inline::load_binary): Likewise. 15555 octave_fcn_inline::load_binary): Likewise.
15556 * ov-list.cc (octave_list::save_binary, octave_list::load_binary): 15556 * ov-list.cc (octave_list::save_binary, octave_list::load_binary):
15557 Likewise. 15557 Likewise.
15558 * ov-range.cc (octave_range::save_binary, octave_range::load_binary): 15558 * ov-range.cc (octave_range::save_binary, octave_range::load_binary):
15559 Likewise. 15559 Likewise.
15560 * ov-re-mat.cc (octave_matrix::save_binary, 15560 * ov-re-mat.cc (octave_matrix::save_binary,
15561 octave_matrix::load_binary): Likewise. 15561 octave_matrix::load_binary): Likewise.
15562 * ov-re-sparse.cc (octave_sparse_matrix::save_binary, 15562 * ov-re-sparse.cc (octave_sparse_matrix::save_binary,
15563 octave_sparse_matrix::load_binary): Likewise. 15563 octave_sparse_matrix::load_binary): Likewise.
15587 (Vprint_answer_id_name): Likewise. Now static. 15587 (Vprint_answer_id_name): Likewise. Now static.
15588 (symbols_of_ov_base): New function. Move DEFVARs for 15588 (symbols_of_ov_base): New function. Move DEFVARs for
15589 print_answer_id_name, warn_resize_on_range_error, warn_num_to_str, 15589 print_answer_id_name, warn_resize_on_range_error, warn_num_to_str,
15590 and silent_functions here from symbols_of_ov in ov.cc. 15590 and silent_functions here from symbols_of_ov in ov.cc.
15591 * ov.h (Vprint_answer_id_name): Delete decl. 15591 * ov.h (Vprint_answer_id_name): Delete decl.
15592 * ov-base.h (Vwarn_resize_on_range_error, Vwarn_num_to_str): 15592 * ov-base.h (Vwarn_resize_on_range_error, Vwarn_num_to_str):
15593 Move decls here from ov.h. 15593 Move decls here from ov.h.
15594 15594
15595 * ov-str-mat.cc (warn_str_to_num): Move here, from ov.cc. 15595 * ov-str-mat.cc (warn_str_to_num): Move here, from ov.cc.
15596 (Vwarn_str_to_num): Likewise. Now static. 15596 (Vwarn_str_to_num): Likewise. Now static.
15597 (symbols_of_ov_str_mat): New function. Move DEFVAR for 15597 (symbols_of_ov_str_mat): New function. Move DEFVAR for
15643 15643
15644 * ov.cc (octave_value::nil_rep): Delete. 15644 * ov.cc (octave_value::nil_rep): Delete.
15645 * ov.h (octave_value::nil_rep): Delete decl. 15645 * ov.h (octave_value::nil_rep): Delete decl.
15646 15646
15647 * ov-base.h (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA, 15647 * ov-base.h (DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA,
15648 DECLARE_OV_BASE_TYPEID_FUNCTIONS_AND_DATA, 15648 DECLARE_OV_BASE_TYPEID_FUNCTIONS_AND_DATA,
15649 DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2, 15649 DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2,
15650 DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA): 15650 DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA):
15651 Move macro definitions here from ov.h. 15651 Move macro definitions here from ov.h.
15652 (struct_indent, increment_struct_indent, decrement_struct_indent, 15652 (struct_indent, increment_struct_indent, decrement_struct_indent,
15653 list_indent, increment_list_indent, decrement_list_indent): 15653 list_indent, increment_list_indent, decrement_list_indent):
15669 (octave_value::rep): Now a pointer to octave_base_value instead of 15669 (octave_value::rep): Now a pointer to octave_base_value instead of
15670 octave_value. 15670 octave_value.
15671 15671
15672 (octave_value::internal_rep): Return pointer to octave_base_value, 15672 (octave_value::internal_rep): Return pointer to octave_base_value,
15673 not octave_value. 15673 not octave_value.
15674 15674
15675 2006-04-11 John W. Eaton <jwe@octave.org> 15675 2006-04-11 John W. Eaton <jwe@octave.org>
15676 15676
15677 * pt-assign.cc (tree_simple_assignment::rvalue, 15677 * pt-assign.cc (tree_simple_assignment::rvalue,
15678 tree_multi_assignment::rvalue): 15678 tree_multi_assignment::rvalue):
15679 Error if RHS is a comma-separated list. 15679 Error if RHS is a comma-separated list.
15712 (symbols_of_data): Delete. 15712 (symbols_of_data): Delete.
15713 15713
15714 2006-04-06 John W. Eaton <jwe@octave.org> 15714 2006-04-06 John W. Eaton <jwe@octave.org>
15715 15715
15716 * parse.y (parse_and_execute, parse_fcn_file): 15716 * parse.y (parse_and_execute, parse_fcn_file):
15717 Create octave_script_function object and push it on the call stack. 15717 Create octave_script_function object and push it on the call stack.
15718 15718
15719 * parse.y (Fmfilename): Check for script or user function file on 15719 * parse.y (Fmfilename): Check for script or user function file on
15720 call stack. 15720 call stack.
15721 15721
15722 * ov-builtin.cc (octave_builtin::do_multi_index_op): 15722 * ov-builtin.cc (octave_builtin::do_multi_index_op):
15780 ov-bool.cc, ov-complex.cc, ov-range.cc, ov-scalar.cc, 15780 ov-bool.cc, ov-complex.cc, ov-range.cc, ov-scalar.cc,
15781 ov-str-mat.cc (resize): Add boolean fill argument. 15781 ov-str-mat.cc (resize): Add boolean fill argument.
15782 * oct-map.h, ov-base-mat.h, ov-base-sparse.h, ov-base.h, 15782 * oct-map.h, ov-base-mat.h, ov-base-sparse.h, ov-base.h,
15783 ov-bool.h, ov-complex.h, ov-intx.h, ov-range.h, ov-scalar.h, 15783 ov-bool.h, ov-complex.h, ov-intx.h, ov-range.h, ov-scalar.h,
15784 ov-str-mat.h, ov.h (resize): Ditto. 15784 ov-str-mat.h, ov.h (resize): Ditto.
15785 15785
15786 * DLD-FUNCTIONS/rand.cc (do_rand): Additional argument for 15786 * DLD-FUNCTIONS/rand.cc (do_rand): Additional argument for
15787 gamma and poisson distributions. Change "state" and "seed" 15787 gamma and poisson distributions. Change "state" and "seed"
15788 arguments so that they choose between generators. 15788 arguments so that they choose between generators.
15789 Add, poisson, gamma and exponential generators. 15789 Add, poisson, gamma and exponential generators.
15790 (Frand, Frandn): Update docs for new generators, add tests. 15790 (Frand, Frandn): Update docs for new generators, add tests.
15791 (Frande, Frandp, Frandg): New generators, with test code. 15791 (Frande, Frandp, Frandg): New generators, with test code.
15792 15792
15793 * DLD-FUNCTIONS/daspk.cc (Fdaspk): Allow functions to be passed 15793 * DLD-FUNCTIONS/daspk.cc (Fdaspk): Allow functions to be passed
15833 * ov-str-mat.cc (octave_char_matrix_str::all_strings): Likewise. 15833 * ov-str-mat.cc (octave_char_matrix_str::all_strings): Likewise.
15834 * ov.h, ov-base.h, ov-cell.h, ov-str-mat.h: Fix all_strings decls. 15834 * ov.h, ov-base.h, ov-cell.h, ov-str-mat.h: Fix all_strings decls.
15835 15835
15836 2005-10-25 David Bateman <dbateman@free.fr> 15836 2005-10-25 David Bateman <dbateman@free.fr>
15837 15837
15838 * data.cc (do_cat): With 1 arg, return [](0x0) for compatibility. 15838 * data.cc (do_cat): With 1 arg, return [](0x0) for compatibility.
15839 15839
15840 2006-03-23 John W. Eaton <jwe@octave.org> 15840 2006-03-23 John W. Eaton <jwe@octave.org>
15841 15841
15842 * version.h (OCTAVE_VERSION): Now 2.9.5+. 15842 * version.h (OCTAVE_VERSION): Now 2.9.5+.
15843 15843
15890 (xdiv, xleftdiv): Simplify to use version of SpareMatrix::solve 15890 (xdiv, xleftdiv): Simplify to use version of SpareMatrix::solve
15891 and SparseComplexMatrix::solve which internally treats rectangular 15891 and SparseComplexMatrix::solve which internally treats rectangular
15892 and singular matrices. 15892 and singular matrices.
15893 * DLD-FUNCTIONS/luinc.cc: Remove error test for singular matrix as 15893 * DLD-FUNCTIONS/luinc.cc: Remove error test for singular matrix as
15894 QR solver now implemented. 15894 QR solver now implemented.
15895 * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Paranoid check on 15895 * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): Paranoid check on
15896 error_state. Disable tests for the detection of underdetermined 15896 error_state. Disable tests for the detection of underdetermined
15897 lower and over-determined upper matrix due to problems with 15897 lower and over-determined upper matrix due to problems with
15898 non minimum norm solutions. 15898 non minimum norm solutions.
15899 * DLD-FUNCTIONS/spqr.cc: Warning for issue of use of Fspqr for 15899 * DLD-FUNCTIONS/spqr.cc: Warning for issue of use of Fspqr for
15900 under-determined problems. 15900 under-determined problems.
15901 15901
15902 2006-03-16 John W. Eaton <jwe@octave.org> 15902 2006-03-16 John W. Eaton <jwe@octave.org>
15911 (__gnuplot_raw__.cc): Depend on __gnuplot_raw__.l, not 15911 (__gnuplot_raw__.cc): Depend on __gnuplot_raw__.l, not
15912 DLD-FUNCTIONS/__gnuplot_raw__.l 15912 DLD-FUNCTIONS/__gnuplot_raw__.l
15913 15913
15914 * ls-oct-ascii.h (extract_keyword): Use std::string compare method 15914 * ls-oct-ascii.h (extract_keyword): Use std::string compare method
15915 instead of strncmp. 15915 instead of strncmp.
15916 * ls-oct-ascii.cc (extract_keyword): Likewise. 15916 * ls-oct-ascii.cc (extract_keyword): Likewise.
15917 15917
15918 2006-03-15 William Poetra Yoga Hadisoeseno <williampoetra@gmail.com> 15918 2006-03-15 William Poetra Yoga Hadisoeseno <williampoetra@gmail.com>
15919 15919
15920 * src/data.cc (Frows, Fcolumns): New functions. 15920 * src/data.cc (Frows, Fcolumns): New functions.
15921 15921
15939 * help.cc (Fhelp, Fwhich, Flookfor): Doc string fix. 15939 * help.cc (Fhelp, Fwhich, Flookfor): Doc string fix.
15940 15940
15941 2006-03-14 John W. Eaton <jwe@octave.org> 15941 2006-03-14 John W. Eaton <jwe@octave.org>
15942 15942
15943 * defun.cc (print_usage): New arg, extra_msg. 15943 * defun.cc (print_usage): New arg, extra_msg.
15944 15944
15945 * xpow.cc: Omit tests for now. 15945 * xpow.cc: Omit tests for now.
15946 15946
15947 * parse.y (QUOTE, TRANSPOSE): For compatibility, now have same 15947 * parse.y (QUOTE, TRANSPOSE): For compatibility, now have same
15948 precedence as POW and EPOW. 15948 precedence as POW and EPOW.
15949 15949
15950 2006-03-14 Bill Denney <bill@givebillmoney.com> 15950 2006-03-14 Bill Denney <bill@givebillmoney.com>
15951 15951
15952 * load-save.cc (Fload, Fsave): Update docstring for functional form. 15952 * load-save.cc (Fload, Fsave): Update docstring for functional form.
15953 15953
15954 2006-03-14 John W. Eaton <jwe@octave.org> 15954 2006-03-14 John W. Eaton <jwe@octave.org>
15955 15955
15956 * xpow.cc (elem_xpow): Undo previous change. 15956 * xpow.cc (elem_xpow): Undo previous change.
15957 15957
16020 (octave_stream::error): Always avoid warning message from 16020 (octave_stream::error): Always avoid warning message from
16021 stream_ok. Return "invalid stream object" if stream is not ok. 16021 stream_ok. Return "invalid stream object" if stream is not ok.
16022 16022
16023 2006-03-08 David Bateman <dbateman@free.fr> 16023 2006-03-08 David Bateman <dbateman@free.fr>
16024 16024
16025 * ov-mapper.cc (SPARSE_MAPPER_LOOP_2): Change nnz to nz to remove 16025 * ov-mapper.cc (SPARSE_MAPPER_LOOP_2): Change nnz to nz to remove
16026 shadowed variable warning. 16026 shadowed variable warning.
16027 * DLD-FUNCTIONS/spqr.cc: Update for new upstream CXSPARSE release. 16027 * DLD-FUNCTIONS/spqr.cc: Update for new upstream CXSPARSE release.
16028 16028
16029 2006-03-06 John W. Eaton <jwe@octave.org> 16029 2006-03-06 John W. Eaton <jwe@octave.org>
16030 16030
16031 * help.cc (display_help_text): Force linebreak with @sp. 16031 * help.cc (display_help_text): Force linebreak with @sp.
16032 16032
16033 2006-03-06 Keith Goodman <kwgoodman@gmail.com> 16033 2006-03-06 Keith Goodman <kwgoodman@gmail.com>
16034 16034
16035 * bitfcns.cc, data.cc, debug.cc, file-io.cc, help.cc, 16035 * bitfcns.cc, data.cc, debug.cc, file-io.cc, help.cc,
16036 load-save.cc, mappers.cc, ov-cell.cc, ov-fcn-inline.cc, 16036 load-save.cc, mappers.cc, ov-cell.cc, ov-fcn-inline.cc,
16037 ov-struct.cc, ov-usr-fcn.cc, ov.cc, pr-output.cc, utils.cc, 16037 ov-struct.cc, ov-usr-fcn.cc, ov.cc, pr-output.cc, utils.cc,
16038 variables.cc, DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc, 16038 variables.cc, DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTIONS/cellfun.cc,
16039 DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/daspk.cc, 16039 DLD-FUNCTIONS/colamd.cc, DLD-FUNCTIONS/daspk.cc,
16071 2006-02-20 David Bateman <dbateman@free.fr> 16071 2006-02-20 David Bateman <dbateman@free.fr>
16072 16072
16073 * ov.h (virtual bool is_sparse_type (bool)): New virtual function 16073 * ov.h (virtual bool is_sparse_type (bool)): New virtual function
16074 * ov-base.h (bool is_sparse_type (bool)): New function 16074 * ov-base.h (bool is_sparse_type (bool)): New function
16075 * ov-base-sparse.h (bool is_sparse_type (bool)): New function 16075 * ov-base-sparse.h (bool is_sparse_type (bool)): New function
16076 * DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTION/colamd.cc, 16076 * DLD-FUNCTIONS/ccolamd.cc, DLD-FUNCTION/colamd.cc,
16077 DLD-FUNCTIONS/__glpk__.cc, DLD-FUNCTIONS/splu.cc, 16077 DLD-FUNCTIONS/__glpk__.cc, DLD-FUNCTIONS/splu.cc,
16078 DLD-FUNCTIONS/sparse.cc, DLD-FUNCTIONS/matrix_type.cc, pt-mat.cc: 16078 DLD-FUNCTIONS/sparse.cc, DLD-FUNCTIONS/matrix_type.cc, pt-mat.cc:
16079 Replace us of 'arg.class_name () == "sparse"' with 16079 Replace us of 'arg.class_name () == "sparse"' with
16080 'arg.is_sparse_type ()' 16080 'arg.is_sparse_type ()'
16081 16081
16082 2006-02-20 David Bateman <dbateman@free.fr> 16082 2006-02-20 David Bateman <dbateman@free.fr>
16083 16083
16084 * pt-mat.cc (class tm_row_const): Add any_sparse bool variable. 16084 * pt-mat.cc (class tm_row_const): Add any_sparse bool variable.
16085 (tm_row_const::tm_row_const_rep::do_init_element): Initialize 16085 (tm_row_const::tm_row_const_rep::do_init_element): Initialize
16086 any_sparse variable if any matrice is sparse. 16086 any_sparse variable if any matrice is sparse.
16087 (class tm_const): Add any_sparse bool variable. 16087 (class tm_const): Add any_sparse bool variable.
16088 (tm_const::init): Initialize any_sparse variable. 16088 (tm_const::init): Initialize any_sparse variable.
16118 16118
16119 2006-02-10 John W. Eaton <jwe@octave.org> 16119 2006-02-10 John W. Eaton <jwe@octave.org>
16120 16120
16121 * lex.l (\[{S}*): Maybe set lexer_flags.looking_at_return_list or 16121 * lex.l (\[{S}*): Maybe set lexer_flags.looking_at_return_list or
16122 lexer_flags.looking_at_matrix_or_assign_lhs here. 16122 lexer_flags.looking_at_matrix_or_assign_lhs here.
16123 * parse.y 16123 * parse.y
16124 (return_list_beg): Don't use in_return_list here. 16124 (return_list_beg): Don't use in_return_list here.
16125 (assign_lhs, matrix): Don't use in_matrix_or_assign_lhs here. 16125 (assign_lhs, matrix): Don't use in_matrix_or_assign_lhs here.
16126 (in_matrix_or_assign_lhs, in_return_list): Delete unused macros. 16126 (in_matrix_or_assign_lhs, in_return_list): Delete unused macros.
16127 (matrix): Clear lexer_flags.looking_at_matrix_or_assign_lhs in all 16127 (matrix): Clear lexer_flags.looking_at_matrix_or_assign_lhs in all
16128 cases. 16128 cases.
16132 * utils.cc (oct_file_in_path): Check len > 4, not len > 2. 16132 * utils.cc (oct_file_in_path): Check len > 4, not len > 2.
16133 From Larrie Carr <larrie@telus.net>. 16133 From Larrie Carr <larrie@telus.net>.
16134 16134
16135 2006-02-09 David Bateman <dbateman@free.fr> 16135 2006-02-09 David Bateman <dbateman@free.fr>
16136 16136
16137 * DLD-FUNCTIONS/spqr.cc: New file for sparse QR and dmperm based on 16137 * DLD-FUNCTIONS/spqr.cc: New file for sparse QR and dmperm based on
16138 CSparse. 16138 CSparse.
16139 * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): dintinguish between 16139 * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): dintinguish between
16140 rectangular and singular matrices. Add tests. 16140 rectangular and singular matrices. Add tests.
16141 * DLD-FUNCTIONS/luinc.cc: Add tests. 16141 * DLD-FUNCTIONS/luinc.cc: Add tests.
16142 * DLD-FUNCTIONS/spkron.cc: Ditto. 16142 * DLD-FUNCTIONS/spkron.cc: Ditto.
16143 * Makefile.in (DLD_XSRC): Add spqr.cc. 16143 * Makefile.in (DLD_XSRC): Add spqr.cc.
16144 (OCT_LINK_DEPS): Add CSSPARSE_LIBS. 16144 (OCT_LINK_DEPS): Add CSSPARSE_LIBS.
16145 * sparse-xdiv.h: Remove conditio of lssolve. 16145 * sparse-xdiv.h: Remove conditio of lssolve.
16146 16146
16147 2006-02-08 John W. Eaton <jwe@octave.org> 16147 2006-02-08 John W. Eaton <jwe@octave.org>
16148 16148
16149 * parse.y (frob_function): Clear ID_NAME from top_level symbol 16149 * parse.y (frob_function): Clear ID_NAME from top_level symbol
16150 table if we are defining a function at the top-level and a 16150 table if we are defining a function at the top-level and a
16178 * ov-base.h: Provide decl. 16178 * ov-base.h: Provide decl.
16179 * ov-base-mat.h (octave_base_matrix<MT>::nnz): New function. 16179 * ov-base-mat.h (octave_base_matrix<MT>::nnz): New function.
16180 * ov-base-scalar.h (octave_base_scalar<MT>::nnz): New function. 16180 * ov-base-scalar.h (octave_base_scalar<MT>::nnz): New function.
16181 * Cell.cc (Cell::nnz): New function. 16181 * Cell.cc (Cell::nnz): New function.
16182 * Cell.h: Provide decl. 16182 * Cell.h: Provide decl.
16183 * data.cc (Fnnz): New function. 16183 * data.cc (Fnnz): New function.
16184 * DLD-FUNCTIONS/sparse.cc (Fnnz): Delete. 16184 * DLD-FUNCTIONS/sparse.cc (Fnnz): Delete.
16185 16185
16186 2006-01-13 John W. Eaton <jwe@octave.org> 16186 2006-01-13 John W. Eaton <jwe@octave.org>
16187 16187
16188 * ov-struct.cc (octave_struct::print_raw): Correctly print scalar 16188 * ov-struct.cc (octave_struct::print_raw): Correctly print scalar
16211 2006-01-12 David Bateman <dbateman@free.fr> 16211 2006-01-12 David Bateman <dbateman@free.fr>
16212 16212
16213 * help.cc (make_name_list): Add autoload functions to list of 16213 * help.cc (make_name_list): Add autoload functions to list of
16214 available completions. 16214 available completions.
16215 (simple_help): Add autoloaded functions to functions listed 16215 (simple_help): Add autoloaded functions to functions listed
16216 (first_help_sentence): Avoid issue with single line help string 16216 (first_help_sentence): Avoid issue with single line help string
16217 that is not terminated in \n. 16217 that is not terminated in \n.
16218 (Flookfor): Check for string match in the keyword/function, etc 16218 (Flookfor): Check for string match in the keyword/function, etc
16219 name. Also look for string match in help of autoloaded functions. 16219 name. Also look for string match in help of autoloaded functions.
16220 Load oct-files to be able to access their help string. 16220 Load oct-files to be able to access their help string.
16221 * parse.y (string_vector autoloaded_functions (void)): New 16221 * parse.y (string_vector autoloaded_functions (void)): New
16222 function to list all autloaded functions. 16222 function to list all autloaded functions.
16223 (string_vector reverse_lookup_autoload (const std::string& nm)): 16223 (string_vector reverse_lookup_autoload (const std::string& nm)):
16224 Reverse lookup function to match file to autoloaded functions. 16224 Reverse lookup function to match file to autoloaded functions.
16225 * parse.h (autoloaded_functions, reverse_lookup_autoload): 16225 * parse.h (autoloaded_functions, reverse_lookup_autoload):
16226 Declaration. 16226 Declaration.
16227 16227
16228 * oct-map.cc (maybe_delete_elements): New function. 16228 * oct-map.cc (maybe_delete_elements): New function.
16229 * oct-map.h (maybe_delete_elements): Declare it. 16229 * oct-map.h (maybe_delete_elements): Declare it.
16230 * ov-struct.cc (octave_struct::subsref): Handle indexing empty 16230 * ov-struct.cc (octave_struct::subsref): Handle indexing empty
16231 structure. 16231 structure.
16232 (octave_struct::subsasgn): If rhs is [], delete elements. 16232 (octave_struct::subsasgn): If rhs is [], delete elements.
16233 (octave_struct::print_raw): Handle printing empty structure. 16233 (octave_struct::print_raw): Handle printing empty structure.
16234 16234
16235 * ls-mat5.cc (read_mat5_binary_element): Allow reading of sparse 16235 * ls-mat5.cc (read_mat5_binary_element): Allow reading of sparse
16236 elements when nnz doesn't equal nzmax. 16236 elements when nnz doesn't equal nzmax.
16237 16237
16238 2006-01-10 David Bateman <dbateman@free.fr> 16238 2006-01-10 David Bateman <dbateman@free.fr>
16239 16239
16240 * DLD-FUNCTIONS/sparse.cc (sparse_find): Use Sparse<T>::nonzero() 16240 * DLD-FUNCTIONS/sparse.cc (sparse_find): Use Sparse<T>::nonzero()
16241 rather than Sparse<T>::nnz(), due to possibility of overallocation 16241 rather than Sparse<T>::nnz(), due to possibility of overallocation
16242 of memory. 16242 of memory.
16243 16243
16244 2006-01-06 John W. Eaton <jwe@octave.org> 16244 2006-01-06 John W. Eaton <jwe@octave.org>
16245 16245
16252 16252
16253 2005-12-14 David Bateman <dbateman@free.fr> 16253 2005-12-14 David Bateman <dbateman@free.fr>
16254 16254
16255 * DLD-FUNCTIONS/regexp.cc: New file. 16255 * DLD-FUNCTIONS/regexp.cc: New file.
16256 16256
16257 * DLD-FUNCTIONS/dispatch.cc: Update tests for string/sq_string 16257 * DLD-FUNCTIONS/dispatch.cc: Update tests for string/sq_string
16258 differences. 16258 differences.
16259 16259
16260 * error.cc (Vquiet_warning): New variable. 16260 * error.cc (Vquiet_warning): New variable.
16261 (vwarning): Use Vquiet_warning to prevent warning output. 16261 (vwarning): Use Vquiet_warning to prevent warning output.
16262 (Fwarning): Include "quiet" option to Fwarning function. 16262 (Fwarning): Include "quiet" option to Fwarning function.
16401 OPERATORS/op-str-m.cc: Use DEFNDCHARCATOP_FN. 16401 OPERATORS/op-str-m.cc: Use DEFNDCHARCATOP_FN.
16402 16402
16403 * data.cc (do_cat): No need to handle character arrays specially here. 16403 * data.cc (do_cat): No need to handle character arrays specially here.
16404 16404
16405 * ops.h (DEFNDCHARCATOP_FN): New macro. 16405 * ops.h (DEFNDCHARCATOP_FN): New macro.
16406 * OPERATORS/op-int.h (OCTAVE_INT_CHAR_CONCAT_FN, 16406 * OPERATORS/op-int.h (OCTAVE_INT_CHAR_CONCAT_FN,
16407 OCTAVE_CHAR_INT_CONCAT_FN, OCTAVE_INSTALL_INT_CHAR_CONCAT_FN, 16407 OCTAVE_CHAR_INT_CONCAT_FN, OCTAVE_INSTALL_INT_CHAR_CONCAT_FN,
16408 OCTAVE_INSTALL_CHAR_INT_CONCAT_FN): New macros. 16408 OCTAVE_INSTALL_CHAR_INT_CONCAT_FN): New macros.
16409 * OPERATORS/op-int-concat.cc: Use them do define char/int op functions. 16409 * OPERATORS/op-int-concat.cc: Use them do define char/int op functions.
16410 (install_int_concat_ops): Install char/int concat ops. 16410 (install_int_concat_ops): Install char/int concat ops.
16411 16411
16490 (do_unary_op (octave_value::unary_op, const octave_value&, 16490 (do_unary_op (octave_value::unary_op, const octave_value&,
16491 const octave_value&)): Likewise. 16491 const octave_value&)): Likewise.
16492 16492
16493 2005-10-25 David Bateman <dbateman@free.fr> 16493 2005-10-25 David Bateman <dbateman@free.fr>
16494 16494
16495 * data.cc (do_cat): called with 2 args, should return args(1) 16495 * data.cc (do_cat): called with 2 args, should return args(1)
16496 for compatibility. 16496 for compatibility.
16497 16497
16498 2005-10-23 David Bateman <dbateman@free.fr> 16498 2005-10-23 David Bateman <dbateman@free.fr>
16499 16499
16500 * Makefile.in (DLD_XSRC): Add spchol.cc. 16500 * Makefile.in (DLD_XSRC): Add spchol.cc.
16501 * sparse-xpow.cc (xpow): Change call to sparse inverse to include 16501 * sparse-xpow.cc (xpow): Change call to sparse inverse to include
16502 SparseType. 16502 SparseType.
16503 * DLD-FUNCTIONS/colamd.c (Fsymbfact): Remove. 16503 * DLD-FUNCTIONS/colamd.c (Fsymbfact): Remove.
16504 * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): 64-bit fixes and fix 16504 * DLD-FUNCTIONS/matrix_type.cc (Fmatrix_type): 64-bit fixes and fix
16505 for permutation of upper/lower triangular matrices. 16505 for permutation of upper/lower triangular matrices.
16506 * DLD-FUNCTIONS/splu.cc (Fspinv): Implemtation of sparse inverse 16506 * DLD-FUNCTIONS/splu.cc (Fspinv): Implemtation of sparse inverse
16507 function. 16507 function.
16508 * DLD-FUNCTIONS/spchol.cc (sparse_chol): Static function for core of 16508 * DLD-FUNCTIONS/spchol.cc (sparse_chol): Static function for core of
16509 the sparse cholesky factorization. 16509 the sparse cholesky factorization.
16510 (Fspchol): New function for sparse cholesky factorization R'R. 16510 (Fspchol): New function for sparse cholesky factorization R'R.
16511 (Fsplchol): New function for sparse cholesky factorization LL'. 16511 (Fsplchol): New function for sparse cholesky factorization LL'.
16512 (Fspcholinv): New cholesky inverse function. 16512 (Fspcholinv): New cholesky inverse function.
16513 (Fspchol2inv): New cholesky inverse function. 16513 (Fspchol2inv): New cholesky inverse function.
16549 Omit class name from declaration. 16549 Omit class name from declaration.
16550 16550
16551 2005-10-17 Keith Goodman <kwgoodman@gmail.com> 16551 2005-10-17 Keith Goodman <kwgoodman@gmail.com>
16552 16552
16553 * DLD-FUNCTIONS/sort.cc: Doc string fix. 16553 * DLD-FUNCTIONS/sort.cc: Doc string fix.
16554 16554
16555 2005-10-17 John W. Eaton <jwe@octave.org> 16555 2005-10-17 John W. Eaton <jwe@octave.org>
16556 16556
16557 * oct-conf.h.in (OCTAVE_CONF_F77_FLOAT_STORE_FLAG): Substitute 16557 * oct-conf.h.in (OCTAVE_CONF_F77_FLOAT_STORE_FLAG): Substitute
16558 OCTAVE_CONF_F77_FLOAT_STORE_FLAG here. 16558 OCTAVE_CONF_F77_FLOAT_STORE_FLAG here.
16559 16559
16658 (symbols_of_syscalls): DEFCONST WNOHANG, WUNTRACED, and WCONTINUE. 16658 (symbols_of_syscalls): DEFCONST WNOHANG, WUNTRACED, and WCONTINUE.
16659 16659
16660 * oct-procbuf.cc (octave_procbuf::close): Call octave_syscalls::waitpid 16660 * oct-procbuf.cc (octave_procbuf::close): Call octave_syscalls::waitpid
16661 here instead of calling waitpid directly. 16661 here instead of calling waitpid directly.
16662 * sighandlers.cc (OCL_REP::wait): Likewise. 16662 * sighandlers.cc (OCL_REP::wait): Likewise.
16663 16663
16664 * sysdep.h [__MINGW32__]: Don't define waitpid here. 16664 * sysdep.h [__MINGW32__]: Don't define waitpid here.
16665 16665
16666 2005-09-15 John W. Eaton <jwe@octave.org> 16666 2005-09-15 John W. Eaton <jwe@octave.org>
16667 16667
16668 * sysdep.h [__MINGW32__]: Move to definition of waitpid sysdep.h. 16668 * sysdep.h [__MINGW32__]: Move to definition of waitpid sysdep.h.
16691 16691
16692 2005-09-15 David Bateman <dbateman@free.fr> 16692 2005-09-15 David Bateman <dbateman@free.fr>
16693 16693
16694 * Makefile.in (DLD_XSRC): Add ccolamd.cc 16694 * Makefile.in (DLD_XSRC): Add ccolamd.cc
16695 (OCTAVE_LIBS): Add LIBGLOB. 16695 (OCTAVE_LIBS): Add LIBGLOB.
16696 (OCT_LINK_DEPST, octave): Add AMD, COLAMD, CCOLAMD and CHOLMOD 16696 (OCT_LINK_DEPST, octave): Add AMD, COLAMD, CCOLAMD and CHOLMOD
16697 libraries. 16697 libraries.
16698 * default.cc (set_default_exec_path, set_default_path, 16698 * default.cc (set_default_exec_path, set_default_path,
16699 maybe_add_default_load_path, LOADPATH): Use SEPCHAR_STR and SEPCHAR. 16699 maybe_add_default_load_path, LOADPATH): Use SEPCHAR_STR and SEPCHAR.
16700 * help.cc (display_help_text): Exclude /dev/null on mingw. 16700 * help.cc (display_help_text): Exclude /dev/null on mingw.
16701 * oct-procbuf.cc (W32POPEN, W32PCLOSE): Macros for cygwin/mingw. 16701 * oct-procbuf.cc (W32POPEN, W32PCLOSE): Macros for cygwin/mingw.
16710 * toplev.cc (clean_up_and_exit): Clean w32 signalling shutdown. 16710 * toplev.cc (clean_up_and_exit): Clean w32 signalling shutdown.
16711 * DLD-FUNCTIONS/cellfun.cc (Fnum2cell): New function. 16711 * DLD-FUNCTIONS/cellfun.cc (Fnum2cell): New function.
16712 * DLD-FUNCTIONS/colamd.cc (Fcolamd, Fsymamd): Allow conditional build. 16712 * DLD-FUNCTIONS/colamd.cc (Fcolamd, Fsymamd): Allow conditional build.
16713 Include oct-sparse.h rather than colamd.h. 16713 Include oct-sparse.h rather than colamd.h.
16714 * DLD-FUNCTIONS/ccolamd.cc: New file with Fccolamd a Fcsymamd. 16714 * DLD-FUNCTIONS/ccolamd.cc: New file with Fccolamd a Fcsymamd.
16715 16715
16716 2005-09-14 John W. Eaton <jwe@octave.org> 16716 2005-09-14 John W. Eaton <jwe@octave.org>
16717 16717
16718 * ov-complex.cc (octave_complex::try_narrowing_conversion): 16718 * ov-complex.cc (octave_complex::try_narrowing_conversion):
16719 Don't drop -0i. 16719 Don't drop -0i.
16720 * ov-cx-mat.cc (octave_complex_matrix::try_narrowing_conversion): 16720 * ov-cx-mat.cc (octave_complex_matrix::try_narrowing_conversion):
16754 16754
16755 2005-08-31 John W. Eaton <jwe@octave.org> 16755 2005-08-31 John W. Eaton <jwe@octave.org>
16756 16756
16757 * oct-map.cc (Octave_map::index): Don't crash if index list is empty. 16757 * oct-map.cc (Octave_map::index): Don't crash if index list is empty.
16758 * ov-str-mat.cc (octave_char_matrix_str::do_index_op_internal): 16758 * ov-str-mat.cc (octave_char_matrix_str::do_index_op_internal):
16759 Likewise. 16759 Likewise.
16760 16760
16761 * oct-map.h (Octave_map::ndims): New function. 16761 * oct-map.h (Octave_map::ndims): New function.
16762 16762
16763 2005-08-30 John W. Eaton <jwe@octave.org> 16763 2005-08-30 John W. Eaton <jwe@octave.org>
16764 16764
16768 octave_struct::load_binary, octave_struct::load_hdf5): Try harder 16768 octave_struct::load_binary, octave_struct::load_hdf5): Try harder
16769 to read old-style files correctly. 16769 to read old-style files correctly.
16770 16770
16771 2005-08-25 David Bateman <dbateman@free.fr> 16771 2005-08-25 David Bateman <dbateman@free.fr>
16772 16772
16773 * OPERATORS/op-sm-m.cc, OPERATORS/op-sm-cm.cc, OPERATORS/op-scm-m.cc, 16773 * OPERATORS/op-sm-m.cc, OPERATORS/op-sm-cm.cc, OPERATORS/op-scm-m.cc,
16774 OPERATORS/op-scm-cm.cc, OPERATORS/op-m-sm.cc, OPERATORS/op-m-scm.cc, 16774 OPERATORS/op-scm-cm.cc, OPERATORS/op-m-sm.cc, OPERATORS/op-m-scm.cc,
16775 OPERATORS/op-cm-sm.cc, OPERATORS/op-cm-scm.cc: Use mixed matrix/sparse 16775 OPERATORS/op-cm-sm.cc, OPERATORS/op-cm-scm.cc: Use mixed matrix/sparse
16776 multiply operator rather than casting sparse to matrix. 16776 multiply operator rather than casting sparse to matrix.
16777 16777
16778 2005-07-18 John W. Eaton <jwe@octave.org> 16778 2005-07-18 John W. Eaton <jwe@octave.org>
16807 * DLD-FUNCTIONS/betainc.cc (Fbetainc): Fix doc string to match 16807 * DLD-FUNCTIONS/betainc.cc (Fbetainc): Fix doc string to match
16808 function definition.. 16808 function definition..
16809 16809
16810 2005-07-05 Mats Jansson <mats.e.jansson@home.se> 16810 2005-07-05 Mats Jansson <mats.e.jansson@home.se>
16811 16811
16812 * file-io.cc (Fmkstemp): Check if second argument is true 16812 * file-io.cc (Fmkstemp): Check if second argument is true
16813 before marking file for deletion. 16813 before marking file for deletion.
16814 16814
16815 2005-07-05 John W. Eaton <jwe@octave.org> 16815 2005-07-05 John W. Eaton <jwe@octave.org>
16816 16816
16817 * ov-str-mat.cc (octave_char_matrix_str::do_index_op_internal): 16817 * ov-str-mat.cc (octave_char_matrix_str::do_index_op_internal):
16818 Rename from char_matrix_str::do_index_op. New arg, type. 16818 Rename from char_matrix_str::do_index_op. New arg, type.
16824 16824
16825 * parse.y (end_error): Also handle end_try_catch case. 16825 * parse.y (end_error): Also handle end_try_catch case.
16826 16826
16827 2005-06-17 John W. Eaton <jwe@octave.org> 16827 2005-06-17 John W. Eaton <jwe@octave.org>
16828 16828
16829 * help.cc (help_from_list, help_from_symbol_table, 16829 * help.cc (help_from_list, help_from_symbol_table,
16830 help_from_file): New arg, symbol_found. 16830 help_from_file): New arg, symbol_found.
16831 (builtin_help): Use symbol_found arg to determine whether help 16831 (builtin_help): Use symbol_found arg to determine whether help
16832 text is empty or symbol is not available. 16832 text is empty or symbol is not available.
16833 16833
16834 * symtab.cc (symbol_record::print_info): Print more info. 16834 * symtab.cc (symbol_record::print_info): Print more info.
16859 (symbol_out_of_date): Also check for symbol using full function 16859 (symbol_out_of_date): Also check for symbol using full function
16860 file name. 16860 file name.
16861 16861
16862 * symtab.h (symbol_record::visible): New data member. 16862 * symtab.h (symbol_record::visible): New data member.
16863 (symbol_record::hide, symbol_record::show, symbol_record::is_visible): 16863 (symbol_record::hide, symbol_record::show, symbol_record::is_visible):
16864 New functions. 16864 New functions.
16865 16865
16866 * symtab.h (symbol_record::maybe_delete_def): New private function. 16866 * symtab.h (symbol_record::maybe_delete_def): New private function.
16867 * symtab.cc (symbol_record::clear, symbol_record::alias, 16867 * symtab.cc (symbol_record::clear, symbol_record::alias,
16868 symbol_record::pop_context, 16868 symbol_record::pop_context,
16869 symbol_record::define (octave_function *, unsigned int)): Use it. 16869 symbol_record::define (octave_function *, unsigned int)): Use it.
16996 octave_stream_list::do_insert): Return stream number instead of 16996 octave_stream_list::do_insert): Return stream number instead of
16997 octave_value. 16997 octave_value.
16998 16998
16999 2005-05-16 David Bateman <dbateman@free.fr> 16999 2005-05-16 David Bateman <dbateman@free.fr>
17000 17000
17001 * ls-mat.cc (save_mat5_binary_element): Increase size of 17001 * ls-mat.cc (save_mat5_binary_element): Increase size of
17002 compression buffer. 17002 compression buffer.
17003 (load_mat5_binary_element): Allow ASCII encoded as UTF8, 17003 (load_mat5_binary_element): Allow ASCII encoded as UTF8,
17004 and give error messages for multi-byte UTF8 and UTF16 and UTF32 17004 and give error messages for multi-byte UTF8 and UTF16 and UTF32
17005 encodings. 17005 encodings.
17006 17006
17007 * ls-hdf5.h (H5T_NATIVE_IDX): New macro defining native indexing 17007 * ls-hdf5.h (H5T_NATIVE_IDX): New macro defining native indexing
17008 type for HDF5 files 17008 type for HDF5 files
17009 17009
17010 * ls-hdf5.cc (save_hdf5_empty, load_hdf5_empty): Use 17010 * ls-hdf5.cc (save_hdf5_empty, load_hdf5_empty): Use
17011 H5T_NATIVE_IDX to allow 64-bit indexing. 17011 H5T_NATIVE_IDX to allow 64-bit indexing.
17012 * ov-bool-sparse.cc (save_hdf5, load_hdf5): ditto. 17012 * ov-bool-sparse.cc (save_hdf5, load_hdf5): ditto.
17013 * ov-re-sparse.cc (save_hdf5, load_hdf5): ditto. 17013 * ov-re-sparse.cc (save_hdf5, load_hdf5): ditto.
17014 * ov-cx-sparse.cc (save_hdf5, load_hdf5): ditto. 17014 * ov-cx-sparse.cc (save_hdf5, load_hdf5): ditto.
17015 * ov-cell.cc (save_hdf5, load_hdf5): ditto. 17015 * ov-cell.cc (save_hdf5, load_hdf5): ditto.
17016 17016
17017 * load-save.cc (parse_save_options): Remove -nozip option. 17017 * load-save.cc (parse_save_options): Remove -nozip option.
17018 (Fsave): If user defines file format, ignore completely the default 17018 (Fsave): If user defines file format, ignore completely the default
17019 file format options. 17019 file format options.
17020 17020
17021 2005-05-12 John W. Eaton <jwe@octave.org> 17021 2005-05-12 John W. Eaton <jwe@octave.org>
17022 17022
17023 * Makefile.in (oct-gperf.h): Try harder to cause Make to exit here 17023 * Makefile.in (oct-gperf.h): Try harder to cause Make to exit here
17024 if gperf is missing or fails to create a valid file. 17024 if gperf is missing or fails to create a valid file.
17025 17025
17105 17105
17106 2005-05-02 David Bateman <dbateman@free.fr> 17106 2005-05-02 David Bateman <dbateman@free.fr>
17107 17107
17108 * ov-re-sparse.cc, ov-cx-sparse.cc (load_binary): read save_type into 17108 * ov-re-sparse.cc, ov-cx-sparse.cc (load_binary): read save_type into
17109 one byte variable. 17109 one byte variable.
17110 17110
17111 2005-04-29 John W. Eaton <jwe@octave.org> 17111 2005-04-29 John W. Eaton <jwe@octave.org>
17112 17112
17113 * oct-stream.cc (DO_LITERAL_CONVERSION): Cast fmt[i] to unsigned 17113 * oct-stream.cc (DO_LITERAL_CONVERSION): Cast fmt[i] to unsigned
17114 char for comparison. 17114 char for comparison.
17115 17115
17136 * ls.mat.cc (read_mat5_binary_element): Allow for endian change 17136 * ls.mat.cc (read_mat5_binary_element): Allow for endian change
17137 for compressed data elements. 17137 for compressed data elements.
17138 17138
17139 * ov-base-sparse.cc (assign): Invalidate matrix type. 17139 * ov-base-sparse.cc (assign): Invalidate matrix type.
17140 17140
17141 * ov-base-sparse.cc (SparseType sparse_type (void), 17141 * ov-base-sparse.cc (SparseType sparse_type (void),
17142 SparseType sparse_type (const SparseType&): 17142 SparseType sparse_type (const SparseType&):
17143 Functions to read and set sparse matrix type. 17143 Functions to read and set sparse matrix type.
17144 17144
17145 * ov-bool-sparse.cc (load_binary): Remove third argument. 17145 * ov-bool-sparse.cc (load_binary): Remove third argument.
17146 (load_hdf5): Cast hsize_t comparisions with int to avoid warning. 17146 (load_hdf5): Cast hsize_t comparisions with int to avoid warning.
17205 2005-04-26 John W. Eaton <jwe@octave.org> 17205 2005-04-26 John W. Eaton <jwe@octave.org>
17206 17206
17207 * mkbuiltins (VAR_FILES): Expect $(VAR_FILES) to have .df suffix. 17207 * mkbuiltins (VAR_FILES): Expect $(VAR_FILES) to have .df suffix.
17208 17208
17209 * Makefile.in (clean): Also remove $(DLD_PICOBJ). 17209 * Makefile.in (clean): Also remove $(DLD_PICOBJ).
17210 Use mk-oct-links --delete to remove links to .oct files. 17210 Use mk-oct-links --delete to remove links to .oct files.
17211 Remove $(DOC_FILES) not $(DEF_FILES) and $(VAR_FILES). 17211 Remove $(DOC_FILES) not $(DEF_FILES) and $(VAR_FILES).
17212 17212
17213 * mk-oct-links (mk-oct-links): Handle --delete option. 17213 * mk-oct-links (mk-oct-links): Handle --delete option.
17214 Rename -p option to be --print. Skip nonexistent .df files. 17214 Rename -p option to be --print. Skip nonexistent .df files.
17215 17215
17282 (Fsave): Split parsing of options, and default formats. 17282 (Fsave): Split parsing of options, and default formats.
17283 (default_save_format): Delete function and DEFVAR. 17283 (default_save_format): Delete function and DEFVAR.
17284 (default_save_options): New function. DEFVAR it. 17284 (default_save_options): New function. DEFVAR it.
17285 (octave_core_file_format): Delete function and DEFVAR. 17285 (octave_core_file_format): Delete function and DEFVAR.
17286 (octave_core_file_options): New function. DEFVAR it. 17286 (octave_core_file_options): New function. DEFVAR it.
17287 17287
17288 * octave.cc (default_save_format): Delete binding 17288 * octave.cc (default_save_format): Delete binding
17289 (default_save_options): New bindings 17289 (default_save_options): New bindings
17290 17290
17291 * Makefile.in: Add luinc.cc to DLD_XSRC. 17291 * Makefile.in: Add luinc.cc to DLD_XSRC.
17292 * DLD-FUNCTIONS/luinc.cc: New file for incomplete LU factorization. 17292 * DLD-FUNCTIONS/luinc.cc: New file for incomplete LU factorization.
17303 the mapper functions 17303 the mapper functions
17304 17304
17305 * ov-re-sparse.cc (streamoff_array_value): Use octave_idx_type. 17305 * ov-re-sparse.cc (streamoff_array_value): Use octave_idx_type.
17306 (convert_to_str_internal): New function. 17306 (convert_to_str_internal): New function.
17307 * ov-re-sparse.h (convert_to_str_internal): Definition. 17307 * ov-re-sparse.h (convert_to_str_internal): Definition.
17308 17308
17309 * DLD-FUNCTIONS/sparse.cc (Fsparse): More care for nargin=2 case. 17309 * DLD-FUNCTIONS/sparse.cc (Fsparse): More care for nargin=2 case.
17310 17310
17311 * DLD-FUNCTIONS/splu.cc (Fsplu): Use octave_idx_type. 17311 * DLD-FUNCTIONS/splu.cc (Fsplu): Use octave_idx_type.
17312 17312
17313 2005-04-14 John W. Eaton <jwe@octave.org> 17313 2005-04-14 John W. Eaton <jwe@octave.org>
17314 17314
17315 * strfns.cc (Fchar): If arg is a dq string, return a dq string. 17315 * strfns.cc (Fchar): If arg is a dq string, return a dq string.
17316 17316
17317 * pt-mat.cc (Vwarn_string_concat): New static variable. 17317 * pt-mat.cc (Vwarn_string_concat): New static variable.
17446 DLD-FUNCTIONS/syl.cc: 17446 DLD-FUNCTIONS/syl.cc:
17447 Use octave_idx_type instead of int where needed. 17447 Use octave_idx_type instead of int where needed.
17448 17448
17449 2005-04-06 David Bateman <dbateman@free.fr> 17449 2005-04-06 David Bateman <dbateman@free.fr>
17450 17450
17451 * Makefile.in: Link to UMFPACK_LIBS. Add zfstream.{cc,h} to build and 17451 * Makefile.in: Link to UMFPACK_LIBS. Add zfstream.{cc,h} to build and
17452 dist files. 17452 dist files.
17453 17453
17454 * zfstream.cc: New file for C++ binding for fstream like class for 17454 * zfstream.cc: New file for C++ binding for fstream like class for
17455 zlib. 17455 zlib.
17456 17456
17457 * zfstream.h: Definition for fstream like C++ bindings to zlib. 17457 * zfstream.h: Definition for fstream like C++ bindings to zlib.
17458 17458
17459 * load-save.cc (static bool check_gzip_magic (const std::string&)): 17459 * load-save.cc (static bool check_gzip_magic (const std::string&)):
17460 New function to look for GZIP magic 17460 New function to look for GZIP magic
17461 (static load_save_format get_file_format (const istream &file)): New 17461 (static load_save_format get_file_format (const istream &file)): New
17462 function split from old get_file_format but passed istream to allow 17462 function split from old get_file_format but passed istream to allow
17463 use with zlib istream. 17463 use with zlib istream.
17464 (static load_save_format get_file_format (const std::string&, 17464 (static load_save_format get_file_format (const std::string&,
17465 const std::string&, bool)): Modify the test uncompressed file first, 17465 const std::string&, bool)): Modify the test uncompressed file first,
17466 then compressed version 17466 then compressed version
17467 (Fload) Allow -v6, -6, -v7 and -7 options. Split load code to allow 17467 (Fload) Allow -v6, -6, -v7 and -7 options. Split load code to allow
17468 use of zlib. 17468 use of zlib.
17469 (Fsave) Allow -zip, -z, -v6, -6, -v7 and -7 options. Split save code 17469 (Fsave) Allow -zip, -z, -v6, -6, -v7 and -7 options. Split save code
17470 to allow use of zlib. 17470 to allow use of zlib.
17472 * load-save.h: add LS_MAT7_BINARY to load_save_format enum 17472 * load-save.h: add LS_MAT7_BINARY to load_save_format enum
17473 17473
17474 * ls-mat5.cc (read_mat5_binary_element): Test for miCOMPRESSED flag for 17474 * ls-mat5.cc (read_mat5_binary_element): Test for miCOMPRESSED flag for
17475 matlab v7 files, and decompress data in memory. Allow reading of matlab 17475 matlab v7 files, and decompress data in memory. Allow reading of matlab
17476 logical variables either in mxDOUBLE_CLASS or mxUINT8_CLASS. 17476 logical variables either in mxDOUBLE_CLASS or mxUINT8_CLASS.
17477 (int save_mat5_array_length(const double*, ...): New function to 17477 (int save_mat5_array_length(const double*, ...): New function to
17478 calculate number of bytes used to save NDArray. 17478 calculate number of bytes used to save NDArray.
17479 (int save_mat5_array_length(const Complex*, ...): New function to 17479 (int save_mat5_array_length(const Complex*, ...): New function to
17480 calculate number of bytes used to save ComplexNDArray. 17480 calculate number of bytes used to save ComplexNDArray.
17481 (int save_mat5_element_length): New function to find number of bytes 17481 (int save_mat5_element_length): New function to find number of bytes
17482 needed to save data element. 17482 needed to save data element.
17483 (save_mat5_binary_element): New input arguments, mat7_format and 17483 (save_mat5_binary_element): New input arguments, mat7_format and
17484 compressing, that define if we are in a matlab v7 format and where we 17484 compressing, that define if we are in a matlab v7 format and where we
17485 are currently compressing the data element. If mat7_format use 17485 are currently compressing the data element. If mat7_format use
17486 miCOMPRESSED flag for matlab v7 files, and compress data in memory. 17486 miCOMPRESSED flag for matlab v7 files, and compress data in memory.
17487 Add capability to save logical variables as mxUINT8_CLASS. If v7 17487 Add capability to save logical variables as mxUINT8_CLASS. If v7
17488 format maximum variable length is 63 characters and not 31. Use the 17488 format maximum variable length is 63 characters and not 31. Use the
17489 save_mat5_element_length function to pre-calculate the number of bytes 17489 save_mat5_element_length function to pre-calculate the number of bytes
17490 taken by a variable rather than use a negative seek to correct after 17490 taken by a variable rather than use a negative seek to correct after
17491 writing (zlib can't do negative seeking) 17491 writing (zlib can't do negative seeking)
17492 17492
17493 * ls-mat5.h: Add to miCOMPRESSED, miUTF8, miUTF16 and miUTF32 flags to 17493 * ls-mat5.h: Add to miCOMPRESSED, miUTF8, miUTF16 and miUTF32 flags to
17494 the enum mat5_data_type. 17494 the enum mat5_data_type.
17495 (save_mat5_binary_element): Add args mat7_format and compressing to the 17495 (save_mat5_binary_element): Add args mat7_format and compressing to the
17496 definition. 17496 definition.
17497 17497
17498 2005-04-06 John W. Eaton <jwe@octave.org> 17498 2005-04-06 John W. Eaton <jwe@octave.org>
17756 * ov.h: Likewise 17756 * ov.h: Likewise
17757 17757
17758 * sparse-xdiv.cc: Remove spparms umfpack flag 17758 * sparse-xdiv.cc: Remove spparms umfpack flag
17759 17759
17760 * DLD-FUNCTIONS/spparms.cc: Warning that umfpack flag is ignored. 17760 * DLD-FUNCTIONS/spparms.cc: Warning that umfpack flag is ignored.
17761 17761
17762 2005-01-16 David Bateman <dbateman@free.fr> 17762 2005-01-16 David Bateman <dbateman@free.fr>
17763 17763
17764 * ls-mat5.cc (read_mat5_integer_data): Change "T &m" to "T *m" and 17764 * ls-mat5.cc (read_mat5_integer_data): Change "T &m" to "T *m" and
17765 instantiate with values like octave_int8 rather than int8NDArray. 17765 instantiate with values like octave_int8 rather than int8NDArray.
17766 Modify function to fit 17766 Modify function to fit
17767 (read_mat5_binary_element): Use new form of read_mat_integer_data 17767 (read_mat5_binary_element): Use new form of read_mat_integer_data
17768 to read data directly into sparse matrix 17768 to read data directly into sparse matrix
17769 (write_mat5_integer_data): Change "const T &m" to "T *m", etc. New 17769 (write_mat5_integer_data): Change "const T &m" to "T *m", etc. New
17770 instantiation with int. 17770 instantiation with int.
17771 (save_mat5_binary_element): Modify to save sparse data 17771 (save_mat5_binary_element): Modify to save sparse data
17772 17772
17773 2005-01-15 David Bateman <dbateman@free.fr> 17773 2005-01-15 David Bateman <dbateman@free.fr>
17774 17774
17775 * data.cc (do_cat): Use first non-empty matrix as base for 17775 * data.cc (do_cat): Use first non-empty matrix as base for
17776 concatenation. 17776 concatenation.
17777 * pt-mat.cc (tree_matrix::rvalue): ditto. 17777 * pt-mat.cc (tree_matrix::rvalue): ditto.
17778 17778
17779 2005-01-14 John W. Eaton <jwe@octave.org> 17779 2005-01-14 John W. Eaton <jwe@octave.org>
17780 17780
17781 * ov.cc (do_cat_op): When checking for empty args, use 17781 * ov.cc (do_cat_op): When checking for empty args, use
17782 all_zero_dims, not numel. 17782 all_zero_dims, not numel.
17783 * ov.h (octave_value::all_zero_dims): New function. 17783 * ov.h (octave_value::all_zero_dims): New function.
17788 2005-01-13 David Bateman <dbateman@free.fr> 17788 2005-01-13 David Bateman <dbateman@free.fr>
17789 17789
17790 * data.cc (make_diag): Use numel not capacity to remove ambiguity. 17790 * data.cc (make_diag): Use numel not capacity to remove ambiguity.
17791 * ov.h (octave_value::capacity): New virtual funtion. 17791 * ov.h (octave_value::capacity): New virtual funtion.
17792 * ov-base.h (octave_base_value::capacity): New function calls numel. 17792 * ov-base.h (octave_base_value::capacity): New function calls numel.
17793 * data.cc (Freshape): Use arg.numel() rather than arg.dims().numel() 17793 * data.cc (Freshape): Use arg.numel() rather than arg.dims().numel()
17794 since sparse numel now consistent. 17794 since sparse numel now consistent.
17795 * symtab.h (symbol_record::symbol_def::capacity, 17795 * symtab.h (symbol_record::symbol_def::capacity,
17796 symbol_record::capacity): New methods. 17796 symbol_record::capacity): New methods.
17797 * symtab.cc (symbol_record::print_symbol_info_line, 17797 * symtab.cc (symbol_record::print_symbol_info_line,
17798 symbol_table::parse_whos_line_format, symbol_table::maybe_list): 17798 symbol_table::parse_whos_line_format, symbol_table::maybe_list):
17799 used capacity() and not numel() to properly assess size of 17799 used capacity() and not numel() to properly assess size of
17800 sparse objects. 17800 sparse objects.
17803 * ov-re-sparse.cc (octave_sparse_matrix::streamoff_array_value): 17803 * ov-re-sparse.cc (octave_sparse_matrix::streamoff_array_value):
17804 Only fill from non-zero elements of sparse array. 17804 Only fill from non-zero elements of sparse array.
17805 * DLD-FUNCTIONS/splu.cc (Fsplu): Change use of nelem to numel. 17805 * DLD-FUNCTIONS/splu.cc (Fsplu): Change use of nelem to numel.
17806 * ov.cc (do_cat_op): Early return for concatenation with empty 17806 * ov.cc (do_cat_op): Early return for concatenation with empty
17807 objects. 17807 objects.
17808 17808
17809 2005-01-12 John W. Eaton <jwe@octave.org> 17809 2005-01-12 John W. Eaton <jwe@octave.org>
17810 17810
17811 * DLD-FUNCTIONS/find.cc (Ffind): Make it work for character strings. 17811 * DLD-FUNCTIONS/find.cc (Ffind): Make it work for character strings.
17812 17812
17813 2005-01-11 John W. Eaton <jwe@octave.org> 17813 2005-01-11 John W. Eaton <jwe@octave.org>
17815 * OPERATORS/op-double-conv.cc: New conversions for sparse_matrix 17815 * OPERATORS/op-double-conv.cc: New conversions for sparse_matrix
17816 and sparse_bool_matrix to matrix. 17816 and sparse_bool_matrix to matrix.
17817 17817
17818 2005-01-11 David Bateman <dbateman@free.fr> 17818 2005-01-11 David Bateman <dbateman@free.fr>
17819 17819
17820 * ov-base-sparse.h (octave_base_sparse::any, 17820 * ov-base-sparse.h (octave_base_sparse::any,
17821 octave_base_sparse::all): Use new constructors, etc as pointed out 17821 octave_base_sparse::all): Use new constructors, etc as pointed out
17822 by JWE. 17822 by JWE.
17823 17823
17824 2005-01-10 John W. Eaton <jwe@octave.org> 17824 2005-01-10 John W. Eaton <jwe@octave.org>
17825 17825
17840 OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, 17840 OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc,
17841 OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc, 17841 OPERATORS/op-m-scm.cc, OPERATORS/op-m-sm.cc,
17842 OPERATORS/op-sbm-b.cc, OPERATORS/op-sbm-bm.cc, 17842 OPERATORS/op-sbm-b.cc, OPERATORS/op-sbm-bm.cc,
17843 OPERATORS/op-sbm-sbm.cc, OPERATORS/op-scm-cm.cc, 17843 OPERATORS/op-sbm-sbm.cc, OPERATORS/op-scm-cm.cc,
17844 OPERATORS/op-scm-cs.cc, OPERATORS/op-scm-m.cc, 17844 OPERATORS/op-scm-cs.cc, OPERATORS/op-scm-m.cc,
17845 OPERATORS/op-scm-s.cc, OPERATORS/op-scm-scm.cc, 17845 OPERATORS/op-scm-s.cc, OPERATORS/op-scm-scm.cc,
17846 OPERATORS/op-scm-sm.cc, OPERATORS/op-sm-cm.cc, 17846 OPERATORS/op-scm-sm.cc, OPERATORS/op-sm-cm.cc,
17847 OPERATORS/op-sm-cs.cc, OPERATORS/op-sm-m.cc, 17847 OPERATORS/op-sm-cs.cc, OPERATORS/op-sm-m.cc,
17848 OPERATORS/op-sm-s.cc, OPERATORS/op-sm-scm.cc, 17848 OPERATORS/op-sm-s.cc, OPERATORS/op-sm-scm.cc,
17849 OPERATORS/op-sm-sm.cc, OPERATORS/op-s-scm.cc, 17849 OPERATORS/op-sm-sm.cc, OPERATORS/op-s-scm.cc,
17850 OPERATORS/op-s-sm.cc: New octave_value constructors allow 17850 OPERATORS/op-s-sm.cc: New octave_value constructors allow
17851 macros from ops.h to be used rather than sparse-ops.h. Remove 17851 macros from ops.h to be used rather than sparse-ops.h. Remove
17852 other explicit uses of maybe_mutate. 17852 other explicit uses of maybe_mutate.
17853 17853
17854 * sparse-ops.h: delete file. 17854 * sparse-ops.h: delete file.
17855 17855
17856 * colamd.cc (Fcolamd, Fsymamd, Fetree): Remove no longer needed 17856 * colamd.cc (Fcolamd, Fsymamd, Fetree): Remove no longer needed
17857 use of get_rep() and use the sparse matrix conversion functions 17857 use of get_rep() and use the sparse matrix conversion functions
17858 directly. 17858 directly.
17859 17859
17860 * data.cc (Freshape): Use arg.dims().numel() rather than 17860 * data.cc (Freshape): Use arg.dims().numel() rather than
17861 arg.numel() due to definition of numel for sparse matrices. 17861 arg.numel() due to definition of numel for sparse matrices.
17862 17862
17863 * sparse.cc (Ffull, Fspfind, SPARSE_DIM_ARG_BODY, MINMAX_BODY, 17863 * sparse.cc (Ffull, Fspfind, SPARSE_DIM_ARG_BODY, MINMAX_BODY,
17864 Fspatan2, make_spdiag): Convert to use new octave_value sparse 17864 Fspatan2, make_spdiag): Convert to use new octave_value sparse
17865 constructors, sparse matrix conversion functions and remove 17865 constructors, sparse matrix conversion functions and remove
17866 maybe_mutate calls. 17866 maybe_mutate calls.
17867 (Fspreshape): Delete 17867 (Fspreshape): Delete
17868 17868
17869 * splu.cc (Fsplu): Remove remaining explicit octave_value 17869 * splu.cc (Fsplu): Remove remaining explicit octave_value
17870 construction. 17870 construction.
17871 17871
17872 * ov-base-sparse.h (do_index_op, resize, reshape, permute, squeeze): 17872 * ov-base-sparse.h (do_index_op, resize, reshape, permute, squeeze):
17873 Move these methods from the derived classes. 17873 Move these methods from the derived classes.
17874 * ov-base-spase.cc (do_index_op): Move this method from the derived 17874 * ov-base-spase.cc (do_index_op): Move this method from the derived
17875 classes. 17875 classes.
17876 * ov-bool-sparse.h (do_index_op, resize, reshape, permute, squeeze): 17876 * ov-bool-sparse.h (do_index_op, resize, reshape, permute, squeeze):
17883 * ov-re-sparse.h (do_index_op, resize, reshape, permute, squeeze): 17883 * ov-re-sparse.h (do_index_op, resize, reshape, permute, squeeze):
17884 delete. 17884 delete.
17885 17885
17886 * DLD-FUNCTIONS/spdet.cc (Fspdet): Remove use of SparseDet and 17886 * DLD-FUNCTIONS/spdet.cc (Fspdet): Remove use of SparseDet and
17887 SparseComplexDET classes and use DET and ComplexDET classes. 17887 SparseComplexDET classes and use DET and ComplexDET classes.
17888 17888
17889 * DLD-FUNCTIONS/colamd.cc op-bm-sbm.cc OPERATORS/op-b-sbm.cc 17889 * DLD-FUNCTIONS/colamd.cc op-bm-sbm.cc OPERATORS/op-b-sbm.cc
17890 OPERATORS/op-cm-scm.cc OPERATORS/op-cm-sm.cc OPERATORS/op-cs-scm.cc 17890 OPERATORS/op-cm-scm.cc OPERATORS/op-cm-sm.cc OPERATORS/op-cs-scm.cc
17891 OPERATORS/op-cs-sm.cc OPERATORS/op-fil-sbm.cc OPERATORS/op-fil-scm.cc 17891 OPERATORS/op-cs-sm.cc OPERATORS/op-fil-sbm.cc OPERATORS/op-fil-scm.cc
17892 OPERATORS/op-fil-sm.cc OPERATORS/op-m-scm.cc OPERATORS/op-m-sm.cc 17892 OPERATORS/op-fil-sm.cc OPERATORS/op-m-scm.cc OPERATORS/op-m-sm.cc
17893 OPERATORS/op-sbm-b.cc OPERATORS/op-sbm-bm.cc OPERATORS/op-sbm-sbm.cc 17893 OPERATORS/op-sbm-b.cc OPERATORS/op-sbm-bm.cc OPERATORS/op-sbm-sbm.cc
17894 OPERATORS/op-scm-cm.cc OPERATORS/op-scm-cs.cc OPERATORS/op-scm-m.cc 17894 OPERATORS/op-scm-cm.cc OPERATORS/op-scm-cs.cc OPERATORS/op-scm-m.cc
17895 OPERATORS/op-scm-s.cc OPERATORS/op-scm-scm.cc OPERATORS/op-scm-sm.cc 17895 OPERATORS/op-scm-s.cc OPERATORS/op-scm-scm.cc OPERATORS/op-scm-sm.cc
17896 OPERATORS/op-sm-cm.cc OPERATORS/op-sm-cs.cc OPERATORS/op-sm-m.cc 17896 OPERATORS/op-sm-cm.cc OPERATORS/op-sm-cs.cc OPERATORS/op-sm-m.cc
17897 OPERATORS/op-sm-s.cc OPERATORS/op-sm-scm.cc OPERATORS/op-sm-sm.cc 17897 OPERATORS/op-sm-s.cc OPERATORS/op-sm-scm.cc OPERATORS/op-sm-sm.cc
17898 OPERATORS/op-s-scm.cc OPERATORS/op-s-sm.cc ov-base-sparse.cc 17898 OPERATORS/op-s-scm.cc OPERATORS/op-s-sm.cc ov-base-sparse.cc
17899 ov-base-sparse.h ov-bool-sparse.cc ov-bool-sparse.h ov-cx-sparse.cc 17899 ov-base-sparse.h ov-bool-sparse.cc ov-bool-sparse.h ov-cx-sparse.cc
17900 ov-cx-sparse.h ov-re-sparse.cc ov-re-sparse.h sparse-base-lu.cc 17900 ov-cx-sparse.h ov-re-sparse.cc ov-re-sparse.h sparse-base-lu.cc
17901 sparse-base-lu.h DLD-FUNCTIONS/sparse.cc sparse-xdiv.cc sparse-xdiv.h 17901 sparse-base-lu.h DLD-FUNCTIONS/sparse.cc sparse-xdiv.cc sparse-xdiv.h
17902 sparse-xpow.cc sparse-xpow.h DLD-FUNCTIONS/spdet.cc 17902 sparse-xpow.cc sparse-xpow.h DLD-FUNCTIONS/spdet.cc
17903 DLD-FUNCTIONS/splu.cc DLD-FUNCTIONS/spparms.cc: Remove additional 17903 DLD-FUNCTIONS/splu.cc DLD-FUNCTIONS/spparms.cc: Remove additional
17904 licensing clause with authors permission. 17904 licensing clause with authors permission.
17905 17905
17906 2005-01-05 David Bateman <dbateman@free.fr> 17906 2005-01-05 David Bateman <dbateman@free.fr>
17907 17907
17908 * DLD-FUNCTIONS/colamd.cc: Rename from colamdoct.cc. Base colamd.h 17908 * DLD-FUNCTIONS/colamd.cc: Rename from colamdoct.cc. Base colamd.h
17909 now found in COLAMD/colamd.h. 17909 now found in COLAMD/colamd.h.
17910 (Fcolamd): Return value is now used. 17910 (Fcolamd): Return value is now used.
17911 (Fsymamd): ditto. 17911 (Fsymamd): ditto.
17912 17912
17913 * Makefile.in: include colamd.cc in DLD_XSRC. 17913 * Makefile.in: include colamd.cc in DLD_XSRC.
17914 17914
17915 * ov.h (sparse_matrix_value, sparse_complex_matrix_value, 17915 * ov.h (sparse_matrix_value, sparse_complex_matrix_value,
17916 sparse_bool_matrix_value): New virtual functions 17916 sparse_bool_matrix_value): New virtual functions
17917 17917
17926 * ov-re-mat.cc (octave_matrix::sparse_matrix_value, 17926 * ov-re-mat.cc (octave_matrix::sparse_matrix_value,
17927 octave_matrix::sparse_complex_matrix_value): Conversion functions. 17927 octave_matrix::sparse_complex_matrix_value): Conversion functions.
17928 17928
17929 * ov-re-mat.h (sparse_matrix_value, sparse_complex_matrix_value): 17929 * ov-re-mat.h (sparse_matrix_value, sparse_complex_matrix_value):
17930 Declare them. 17930 Declare them.
17931 17931
17932 * ov-cx-mat.cc (octave_complex_matrix::sparse_matrix_value, 17932 * ov-cx-mat.cc (octave_complex_matrix::sparse_matrix_value,
17933 octave_complex_matrix::sparse_complex_matrix_value): Conversion 17933 octave_complex_matrix::sparse_complex_matrix_value): Conversion
17934 functions. 17934 functions.
17935 17935
17936 * ov-cx-mat.h (sparse_matrix_value, sparse_complex_matrix_value): 17936 * ov-cx-mat.h (sparse_matrix_value, sparse_complex_matrix_value):
17937 Declare them. 17937 Declare them.
17938 17938
17940 sparse_bool_matrix_value): Conversion functions. 17940 sparse_bool_matrix_value): Conversion functions.
17941 17941
17942 * DLD_FUNCTIONS/spdet.cc (Fspdet): Use the above constructors 17942 * DLD_FUNCTIONS/spdet.cc (Fspdet): Use the above constructors
17943 and conversion functions. 17943 and conversion functions.
17944 * DLD_FUNCTIONS/splu.cc (Fsplu): ditto. 17944 * DLD_FUNCTIONS/splu.cc (Fsplu): ditto.
17945 17945
17946 2004-12-30 John W. Eaton <jwe@octave.org> 17946 2004-12-30 John W. Eaton <jwe@octave.org>
17947 17947
17948 * DLD-FUNCTIONS/splu.cc (Fsplu): Avoid shadow warnings. 17948 * DLD-FUNCTIONS/splu.cc (Fsplu): Avoid shadow warnings.
17949 17949
17950 * sparse-xpow.cc (elem_xpow): Delete unsed variables. 17950 * sparse-xpow.cc (elem_xpow): Delete unsed variables.
17972 * DLD-FUNCTIONS/sparse.cc (load_sparse_type, sparse_type_loaded): 17972 * DLD-FUNCTIONS/sparse.cc (load_sparse_type, sparse_type_loaded):
17973 Delete function, variable, and all uses. 17973 Delete function, variable, and all uses.
17974 * ov.cc: Include ov-bool-sparse.h, ov-re-sparse.h, ov-cx-sparse.h. 17974 * ov.cc: Include ov-bool-sparse.h, ov-re-sparse.h, ov-cx-sparse.h.
17975 (install_types): Register sparse types. 17975 (install_types): Register sparse types.
17976 17976
17977 Merge of sparse code from David Bateman <dbateman@free.fr> and 17977 Merge of sparse code from David Bateman <dbateman@free.fr> and
17978 Andy Adler <adler@site.uottawa.ca>. 17978 Andy Adler <adler@site.uottawa.ca>.
17979 17979
17980 * sparse-xdiv.cc, sparse-xpow.cc: New files. 17980 * sparse-xdiv.cc, sparse-xpow.cc: New files.
17981 * Makefile.in (DIST_SRC): Add them to the list. 17981 * Makefile.in (DIST_SRC): Add them to the list.
17982 17982
17992 ov-bool-sparse.h, ov-cx-sparse.cc, ov-cx-sparse.h, 17992 ov-bool-sparse.h, ov-cx-sparse.cc, ov-cx-sparse.h,
17993 ov-re-sparse.cc, ov-re-sparse.h: New files. 17993 ov-re-sparse.cc, ov-re-sparse.h: New files.
17994 * Makefile.in (OV_SPARSE_SRC, OV_SPARSE_INCLUDES): New lists. 17994 * Makefile.in (OV_SPARSE_SRC, OV_SPARSE_INCLUDES): New lists.
17995 (OV_SRC): Add $(OV_SPARSE_SRC) to the list. 17995 (OV_SRC): Add $(OV_SPARSE_SRC) to the list.
17996 (INCLUDES): Add $(OV_SPARSE_INCLUDES) to the list. 17996 (INCLUDES): Add $(OV_SPARSE_INCLUDES) to the list.
17997 17997
17998 * OPERATORS/op-bm-sbm.cc, OPERATORS/op-b-sbm.cc, 17998 * OPERATORS/op-bm-sbm.cc, OPERATORS/op-b-sbm.cc,
17999 OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc, 17999 OPERATORS/op-cm-scm.cc, OPERATORS/op-cm-sm.cc,
18000 OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc, 18000 OPERATORS/op-cs-scm.cc, OPERATORS/op-cs-sm.cc,
18001 OPERATORS/op-fil-sbm.cc, OPERATORS/op-fil-scm.cc, 18001 OPERATORS/op-fil-sbm.cc, OPERATORS/op-fil-scm.cc,
18002 OPERATORS/op-fil-sm.cc, OPERATORS/op-m-scm.cc, 18002 OPERATORS/op-fil-sm.cc, OPERATORS/op-m-scm.cc,
18100 (sigchld_handler): Call octave_child_list::wait here. 18100 (sigchld_handler): Call octave_child_list::wait here.
18101 Set octave_signal_caught and octave_signals_caught here. 18101 Set octave_signal_caught and octave_signals_caught here.
18102 (octave_signals_caught): New static file-scope variable. 18102 (octave_signals_caught): New static file-scope variable.
18103 (sigint_handler): Also set octave_signal_caught. 18103 (sigint_handler): Also set octave_signal_caught.
18104 18104
18105 * sighandlers.cc (sigpipe_handler): 18105 * sighandlers.cc (sigpipe_handler):
18106 18106
18107 * DLD-FUNCTIONS/gplot.l (plot_stream_event_handler): Rename from 18107 * DLD-FUNCTIONS/gplot.l (plot_stream_event_handler): Rename from
18108 plot_stream_death_handler. Return true if plotter has exited. 18108 plot_stream_death_handler. Return true if plotter has exited.
18109 Call close_plot_stream with false arg. 18109 Call close_plot_stream with false arg.
18110 (plot_stream_pid): Delete static file-scope variable and all uses. 18110 (plot_stream_pid): Delete static file-scope variable and all uses.
18360 18360
18361 * pt-idx.cc (tree_index_expression::has_magic_end): Return true if 18361 * pt-idx.cc (tree_index_expression::has_magic_end): Return true if
18362 any argument list element has a magic end token. 18362 any argument list element has a magic end token.
18363 18363
18364 2004-12-03 John W. Eaton <jwe@octave.org> 18364 2004-12-03 John W. Eaton <jwe@octave.org>
18365 18365
18366 * version.h (OCTAVE_VERSION): Now 2.1.64. 18366 * version.h (OCTAVE_VERSION): Now 2.1.64.
18367 18367
18368 2004-12-03 Teemu Ikonen <tpikonen@pcu.helsinki.fi> 18368 2004-12-03 Teemu Ikonen <tpikonen@pcu.helsinki.fi>
18369 18369
18370 * file-io.cc: Doc string fixes. 18370 * file-io.cc: Doc string fixes.
18449 2004-11-09 David Bateman <dbateman@free.fr> 18449 2004-11-09 David Bateman <dbateman@free.fr>
18450 18450
18451 * Cell.cc (concat): Delete. 18451 * Cell.cc (concat): Delete.
18452 (Cell::concat): New method. 18452 (Cell::concat): New method.
18453 * Cell.h: Provide decls. 18453 * Cell.h: Provide decls.
18454 18454
18455 * oct-map.cc (concat): Delete 18455 * oct-map.cc (concat): Delete
18456 (Octave_map::concat): New method. 18456 (Octave_map::concat): New method.
18457 * oct-map.h: Provide decls. 18457 * oct-map.h: Provide decls.
18458 18458
18459 * ov.h (typedef octave_value (*cat_op_fcn) (octave_value&, 18459 * ov.h (typedef octave_value (*cat_op_fcn) (octave_value&,
18460 const octave_value&, const Array<int>&): Change definition of 18460 const octave_value&, const Array<int>&): Change definition of
18461 cat_op_fcn so first argument is not constant. 18461 cat_op_fcn so first argument is not constant.
18462 18462
18463 * ops.h (CATOPDECL): First arg is no longer constant. 18463 * ops.h (CATOPDECL): First arg is no longer constant.
18464 (DEFCATOP_FN, DEFNDCATOP_FN): Change to use new concat methods. 18464 (DEFCATOP_FN, DEFNDCATOP_FN): Change to use new concat methods.
18465 18465
18466 * OPERATORS/op-chm.cc, OPERATORS/op-str-m.cc, OPERATORS/op-str-s.cc, 18466 * OPERATORS/op-chm.cc, OPERATORS/op-str-m.cc, OPERATORS/op-str-s.cc,
18467 OPERATORS/op-str-str.cc (DEFCATOP): Change explicit concat functions 18467 OPERATORS/op-str-str.cc (DEFCATOP): Change explicit concat functions
18468 to use new concatenation methods. 18468 to use new concatenation methods.
18469 18469
18470 2004-11-05 John W. Eaton <jwe@octave.org> 18470 2004-11-05 John W. Eaton <jwe@octave.org>
18471 18471
18600 2004-09-23 John W. Eaton <jwe@octave.org> 18600 2004-09-23 John W. Eaton <jwe@octave.org>
18601 18601
18602 * ops.h (DEFSTRDBLCONVFN): New macro. 18602 * ops.h (DEFSTRDBLCONVFN): New macro.
18603 * OPERATORS/op-double-conv.cc: Use it to define new conversion op. 18603 * OPERATORS/op-double-conv.cc: Use it to define new conversion op.
18604 Define new range to double matrix conversion. 18604 Define new range to double matrix conversion.
18605 (install_int_conv_ops): Install new ops. 18605 (install_int_conv_ops): Install new ops.
18606 18606
18607 * ops.h (DEFSTRINTCONVFN): New macro. 18607 * ops.h (DEFSTRINTCONVFN): New macro.
18608 * OPERATORS/op-int-conv.cc: Use it to define new conversion ops. 18608 * OPERATORS/op-int-conv.cc: Use it to define new conversion ops.
18609 (install_int_conv_ops): Install them. 18609 (install_int_conv_ops): Install them.
18610 18610
18703 2004-09-17 David Bateman <dbateman@free.fr> 18703 2004-09-17 David Bateman <dbateman@free.fr>
18704 18704
18705 * DLD-FUNCTIONS/sort.cc (ascending_compare, descending_compare): 18705 * DLD-FUNCTIONS/sort.cc (ascending_compare, descending_compare):
18706 Now templates (avoids g++ 3.4.x compile problems). 18706 Now templates (avoids g++ 3.4.x compile problems).
18707 Fix other uses of these functions to also treat them as templates. 18707 Fix other uses of these functions to also treat them as templates.
18708 (mx_sort): For unsigned EIGHT_BYTE_INT versions correct the test 18708 (mx_sort): For unsigned EIGHT_BYTE_INT versions correct the test
18709 for the position of NaN. Problems when mode was DESCENDING or 18709 for the position of NaN. Problems when mode was DESCENDING or
18710 UNDEFINED. Use static_cast<unsigned int> (dim) rather than 18710 UNDEFINED. Use static_cast<unsigned int> (dim) rather than
18711 (unsigned int) dim. 18711 (unsigned int) dim.
18712 (IFloatFlip): Now static. 18712 (IFloatFlip): Now static.
18713 18713
18714 2004-09-17 David Bateman <dbateman@free.fr> 18714 2004-09-17 David Bateman <dbateman@free.fr>
18715 18715
18758 New Constructor . 18758 New Constructor .
18759 * ov.h: Provide decl. 18759 * ov.h: Provide decl.
18760 18760
18761 * DLD-FUNCTIONS/sort.cc (sortmode): New enum to define sort direction. 18761 * DLD-FUNCTIONS/sort.cc (sortmode): New enum to define sort direction.
18762 (template <class T> class vec_index): New class to contain values and 18762 (template <class T> class vec_index): New class to contain values and
18763 index for indexed sorts, replacing all previous struct versions. 18763 index for indexed sorts, replacing all previous struct versions.
18764 Instantiate for double, Complex, char and octave_value. 18764 Instantiate for double, Complex, char and octave_value.
18765 (template <class T> static octave_value_list mx_sort (ArrayN<T> &, int, 18765 (template <class T> static octave_value_list mx_sort (ArrayN<T> &, int,
18766 sortmode)): New templated version of mx_sort replacing all previous 18766 sortmode)): New templated version of mx_sort replacing all previous
18767 versions, but specific to non indexed sorts. Instantiate for char 18767 versions, but specific to non indexed sorts. Instantiate for char
18768 and double if not IEEE754. 18768 and double if not IEEE754.
18769 (template <> static octave_value_list mx_sort (ArrayN<double> &, 18769 (template <> static octave_value_list mx_sort (ArrayN<double> &,
18770 int, sortmode)): Specialized function of mx_sort of IEEE754. 18770 int, sortmode)): Specialized function of mx_sort of IEEE754.
18771 (template <class T> static octave_value_list mx_sort_indexed 18771 (template <class T> static octave_value_list mx_sort_indexed
18772 (ArrayN<T> &, int, sortmode)): New templated version of mx_sort 18772 (ArrayN<T> &, int, sortmode)): New templated version of mx_sort
18773 for indexed sorts. Instantiate for double, Complex, char and 18773 for indexed sorts. Instantiate for double, Complex, char and
18774 octave_value. 18774 octave_value.
18775 (ascending_compare, descending_compare): Comparison functions 18775 (ascending_compare, descending_compare): Comparison functions
18776 for double, char, vec_index<double> *, vec_index<Complex> *, 18776 for double, char, vec_index<double> *, vec_index<Complex> *,
18777 vec_index<char> *, vec_index<octave_value>. Fix Complex comparison 18777 vec_index<char> *, vec_index<octave_value>. Fix Complex comparison
18778 operator to sort by arg of values if absolute values are equal. 18778 operator to sort by arg of values if absolute values are equal.
18779 (Fsort): Update docs for new mode argument and for sorting of 18779 (Fsort): Update docs for new mode argument and for sorting of
18780 strings and cell arrays of strings. Implement mode argument to 18780 strings and cell arrays of strings. Implement mode argument to
18781 define ascending and descending sorts. Include sorting of cell 18781 define ascending and descending sorts. Include sorting of cell
18782 arrays of strings. Adapt for new templated versions of the mx_sort 18782 arrays of strings. Adapt for new templated versions of the mx_sort
18783 function. 18783 function.
18784 18784
18800 * ov-list.cc, ov-list.h: Likewise. 18800 * ov-list.cc, ov-list.h: Likewise.
18801 * ov-cell.cc, ov-cell.h: Likewise. 18801 * ov-cell.cc, ov-cell.h: Likewise.
18802 18802
18803 * ov.cc (octave_value::subsref (int, const std::string&, const 18803 * ov.cc (octave_value::subsref (int, const std::string&, const
18804 std::list<octave_value_list>&, size_t)): New function. 18804 std::list<octave_value_list>&, size_t)): New function.
18805 * ov.h: Provide decl. 18805 * ov.h: Provide decl.
18806 18806
18807 * ov-cell.h (octave_cell::is_constant): Return false. 18807 * ov-cell.h (octave_cell::is_constant): Return false.
18808 * ov-struct.h (octave_struct::is_constant): Delete. 18808 * ov-struct.h (octave_struct::is_constant): Delete.
18809 * ov-list.h (octave_list::is_constant): Delete. 18809 * ov-list.h (octave_list::is_constant): Delete.
18810 18810
18825 2004-09-11 David Bateman <dbateman@free.fr> 18825 2004-09-11 David Bateman <dbateman@free.fr>
18826 18826
18827 * ov-fcn-handle.cc (octave_fcn_handle::save_ascii, 18827 * ov-fcn-handle.cc (octave_fcn_handle::save_ascii,
18828 octave_fcn_handle::load_ascii, octave_fcn_handle::save_binary, 18828 octave_fcn_handle::load_ascii, octave_fcn_handle::save_binary,
18829 octave_fcn_handle::load_binary, octave_fcn_handle::save_hdf5, 18829 octave_fcn_handle::load_binary, octave_fcn_handle::save_hdf5,
18830 octave_fcn_handle::load_hdf5): New functions. 18830 octave_fcn_handle::load_hdf5): New functions.
18831 * ov-fcn-handle.h: Provide decls. 18831 * ov-fcn-handle.h: Provide decls.
18832 18832
18833 * ov-fcn-inline.cc (octave_fcn_inline::load_ascii): 18833 * ov-fcn-inline.cc (octave_fcn_inline::load_ascii):
18834 Allow spaces in saved function. 18834 Allow spaces in saved function.
18835 (octave_fcn_inline::save_hdf5): Properly close all HDF5 objects. 18835 (octave_fcn_inline::save_hdf5): Properly close all HDF5 objects.
18836 18836
18837 * ls-oct-ascii.cc (read_ascii_data): Check return type of 18837 * ls-oct-ascii.cc (read_ascii_data): Check return type of
18838 <octave_value>.load_ascii for errors reading the variables 18838 <octave_value>.load_ascii for errors reading the variables
18839 18839
18840 * variables.cc (lookup_function_handle, clear_variable, 18840 * variables.cc (lookup_function_handle, clear_variable,
18841 clear_symbol): New functions. 18841 clear_symbol): New functions.
18842 * variables.h: Provide decls. 18842 * variables.h: Provide decls.
18892 Save and set curr_caller_function and curr_caller_statement here. 18892 Save and set curr_caller_function and curr_caller_statement here.
18893 * ov-mapper.cc (octave_mapper::do_multi_index_op): Likewise. 18893 * ov-mapper.cc (octave_mapper::do_multi_index_op): Likewise.
18894 * ov-builtin.cc (octave_builtin::do_multi_index_op): Likewise. 18894 * ov-builtin.cc (octave_builtin::do_multi_index_op): Likewise.
18895 18895
18896 * pt-stmt.cc (curr_caller_statement): New variable. 18896 * pt-stmt.cc (curr_caller_statement): New variable.
18897 * pt-stmt.h: Provide decl. 18897 * pt-stmt.h: Provide decl.
18898 18898
18899 * toplev.cc (curr_caller_function): New variable. 18899 * toplev.cc (curr_caller_function): New variable.
18900 * toplev.h: Provide decl. 18900 * toplev.h: Provide decl.
18901 18901
18902 * pt-arg-list.cc (convert_to_const_vector): 18902 * pt-arg-list.cc (convert_to_const_vector):
18906 2004-09-08 David Bateman <dbateman@free.fr> 18906 2004-09-08 David Bateman <dbateman@free.fr>
18907 18907
18908 * ov-fcn-inline.cc (octave_fcn_inline::save_ascii, 18908 * ov-fcn-inline.cc (octave_fcn_inline::save_ascii,
18909 octave_fcn_inline::load_ascii, octave_fcn_inline::save_binary, 18909 octave_fcn_inline::load_ascii, octave_fcn_inline::save_binary,
18910 octave_fcn_inline::load_binary, octave_fcn_inline::save_hdf5, 18910 octave_fcn_inline::load_binary, octave_fcn_inline::save_hdf5,
18911 octave_fcn_inline::load_hdf5): New functions. 18911 octave_fcn_inline::load_hdf5): New functions.
18912 * ov-fcn-inline.h: Provide decls. 18912 * ov-fcn-inline.h: Provide decls.
18913 18913
18914 2004-09-08 John W. Eaton <jwe@octave.org> 18914 2004-09-08 John W. Eaton <jwe@octave.org>
18915 18915
18916 * ov.h: Add octave_array_type_traits specialization for 18916 * ov.h: Add octave_array_type_traits specialization for
19089 * ov-complex.h (octave_complex_scalar): New typedef to simplify 19089 * ov-complex.h (octave_complex_scalar): New typedef to simplify
19090 various macros where naming consistency matters. 19090 various macros where naming consistency matters.
19091 19091
19092 2004-08-31 David Bateman <dbateman@free.fr> 19092 2004-08-31 David Bateman <dbateman@free.fr>
19093 19093
19094 * OPERATORS/op-int.h (ss_pow, ms_el_pow, mm_el_pow): New power 19094 * OPERATORS/op-int.h (ss_pow, ms_el_pow, mm_el_pow): New power
19095 functions. 19095 functions.
19096 (sm_el_pow): Return correct type. 19096 (sm_el_pow): Return correct type.
19097 (OCTAVE_SS_POW_OPS, OCTAVE_SM_POW_OPS, OCTAVE_MS_POW_OPS, 19097 (OCTAVE_SS_POW_OPS, OCTAVE_SM_POW_OPS, OCTAVE_MS_POW_OPS,
19098 OCTAVE_MM_POW_OPS): New macros to define the power operator over 19098 OCTAVE_MM_POW_OPS): New macros to define the power operator over
19099 integer types. 19099 integer types.
19106 types for unsigned integer scalars and signed integer matrices. 19106 types for unsigned integer scalars and signed integer matrices.
19107 19107
19108 * ov-type-conv.h (OCTAVE_TYPE_CONV_BODY3): Conversion betwen same 19108 * ov-type-conv.h (OCTAVE_TYPE_CONV_BODY3): Conversion betwen same
19109 types returns the original value. 19109 types returns the original value.
19110 19110
19111 * bitfcns.cc (BITOP): Fix for mixed scalar/matrix ops. Allow 19111 * bitfcns.cc (BITOP): Fix for mixed scalar/matrix ops. Allow
19112 octave_range as an argument, by using class_name rather than 19112 octave_range as an argument, by using class_name rather than
19113 type_id to test. 19113 type_id to test.
19114 19114
19115 2004-08-31 John W. Eaton <jwe@octave.org> 19115 2004-08-31 John W. Eaton <jwe@octave.org>
19116 19116
19227 19227
19228 * ov.cc (octave_value::fcn_inline_value): New virtual function. 19228 * ov.cc (octave_value::fcn_inline_value): New virtual function.
19229 * ov.h (octave_value::fcn_inline_value): Provide decl. 19229 * ov.h (octave_value::fcn_inline_value): Provide decl.
19230 * ov-base.cc (octave_base_value::fcn_inline_value): New function 19230 * ov-base.cc (octave_base_value::fcn_inline_value): New function
19231 * ov-base.h (octave_base_value::fcn_inline_value): Provide decl. 19231 * ov-base.h (octave_base_value::fcn_inline_value): Provide decl.
19232 * ov-fcn-handle.cc (octave_fcn_handle::octave_fcn_handle 19232 * ov-fcn-handle.cc (octave_fcn_handle::octave_fcn_handle
19233 (const std::string&, const string_vector&, const std::string&), 19233 (const std::string&, const string_vector&, const std::string&),
19234 octave_fcn_handle::convert_to_str_internal, Finline, Fargnames, 19234 octave_fcn_handle::convert_to_str_internal, Finline, Fargnames,
19235 Fformula, Fvectorize): Delete. 19235 Fformula, Fvectorize): Delete.
19236 (octave_fcn_handle::print_raw): Remove inline case. 19236 (octave_fcn_handle::print_raw): Remove inline case.
19237 * ov-fcn-handle.h (octave_fcn_handle::fcn_type, 19237 * ov-fcn-handle.h (octave_fcn_handle::fcn_type,
19274 19274
19275 * variables.h (symbol_exist): Default for type is now "any". 19275 * variables.h (symbol_exist): Default for type is now "any".
19276 19276
19277 2004-08-05 David Bateman <dbateman@free.fr> 19277 2004-08-05 David Bateman <dbateman@free.fr>
19278 19278
19279 * ov-fcn-handle.cc (octave_fcn_handle (const std::string&, 19279 * ov-fcn-handle.cc (octave_fcn_handle (const std::string&,
19280 const string_vector&, const std::string&)): New constructor for inline 19280 const string_vector&, const std::string&)): New constructor for inline
19281 function handles. 19281 function handles.
19282 (octave_fcn_handle::print_raw): Allow inline functions to be printed. 19282 (octave_fcn_handle::print_raw): Allow inline functions to be printed.
19283 (octave_fcn_handle::convert_to_str_internal): New function to allow 19283 (octave_fcn_handle::convert_to_str_internal): New function to allow
19284 Fchar to work on inlined function handles. 19284 Fchar to work on inlined function handles.
19285 (Finline, Fformula, Fargnames, Fvectorize): New functions. 19285 (Finline, Fformula, Fargnames, Fvectorize): New functions.
19286 * ov-fcn-handle.h (octave_fcn_handle (const std::string&, 19286 * ov-fcn-handle.h (octave_fcn_handle (const std::string&,
19287 const string_vector&, const std::string&)): Provide decl. 19287 const string_vector&, const std::string&)): Provide decl.
19288 (octave_fcn_handle::convert_to_str_internal): Provide decl. 19288 (octave_fcn_handle::convert_to_str_internal): Provide decl.
19289 (fcn_type): New enum for the type of function handle. 19289 (fcn_type): New enum for the type of function handle.
19290 (octave_fcn_handle::inline_fcn_text, octave_fcn_handle::is_inline, 19290 (octave_fcn_handle::inline_fcn_text, octave_fcn_handle::is_inline,
19291 octave_fcn_handle::inline_fcn_arg_names): New functions. 19291 octave_fcn_handle::inline_fcn_arg_names): New functions.
19368 2004-07-27 David Bateman <dbateman@free.fr> 19368 2004-07-27 David Bateman <dbateman@free.fr>
19369 19369
19370 * Cell.cc (Cell::index): Quit early if an error occurs when 19370 * Cell.cc (Cell::index): Quit early if an error occurs when
19371 creating index vector object. 19371 creating index vector object.
19372 19372
19373 * ov-int8.cc, ov-int16.cc, ov-int32.cc, ov-int64.cc, ov-uint8.cc, 19373 * ov-int8.cc, ov-int16.cc, ov-int32.cc, ov-int64.cc, ov-uint8.cc,
19374 ov-uint16.cc, ov-uint32.cc, ov-uint64.cc (HDF5_SAVE_TYPE): Define 19374 ov-uint16.cc, ov-uint32.cc, ov-uint64.cc (HDF5_SAVE_TYPE): Define
19375 for HDF5 native format for the type. 19375 for HDF5 native format for the type.
19376 19376
19377 * ov-base-int.h (save_ascii, save_binary, load_binary, save_hdf5): 19377 * ov-base-int.h (save_ascii, save_binary, load_binary, save_hdf5):
19378 Delete unused arguments. 19378 Delete unused arguments.
19413 (Fintmax, Fintmin): New functions. 19413 (Fintmax, Fintmin): New functions.
19414 (Fbitget, Fbitset, Fbitcmp): Delete. 19414 (Fbitget, Fbitset, Fbitcmp): Delete.
19415 19415
19416 * OPERATORS/op-int.h: Add sm_el_pow function 19416 * OPERATORS/op-int.h: Add sm_el_pow function
19417 19417
19418 * ops.h (CATOPDECL, DEFCATOPX, DEFCATOP, DEFCATOP_FB, DEFNDCATOP_FN, 19418 * ops.h (CATOPDECL, DEFCATOPX, DEFCATOP, DEFCATOP_FB, DEFNDCATOP_FN,
19419 CATOP_NONCONFORMANT, INSTALL_CATOP): New macros. 19419 CATOP_NONCONFORMANT, INSTALL_CATOP): New macros.
19420 19420
19421 * OPERATORS/op-b-b.cc, OPERATORS/op-b-bm.cc, OPERATORS/op-bm-b.cc, 19421 * OPERATORS/op-b-b.cc, OPERATORS/op-b-bm.cc, OPERATORS/op-bm-b.cc,
19422 OPERATORS/op-bm-bm.cc, OPERATORS/op-cell.cc, OPERATORS/op-chm.cc, 19422 OPERATORS/op-bm-bm.cc, OPERATORS/op-cell.cc, OPERATORS/op-chm.cc,
19423 OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, OPERATORS/op-cm-m.cc, 19423 OPERATORS/op-cm-cm.cc, OPERATORS/op-cm-cs.cc, OPERATORS/op-cm-m.cc,
19424 OPERATORS/op-cm-s.cc, OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-cs.cc, 19424 OPERATORS/op-cm-s.cc, OPERATORS/op-cs-cm.cc, OPERATORS/op-cs-cs.cc,
19425 OPERATORS/op-cs-m.cc, OPERATORS/op-cs-s.cc, OPERATORS/op-m-cm.cc, 19425 OPERATORS/op-cs-m.cc, OPERATORS/op-cs-s.cc, OPERATORS/op-m-cm.cc,
19426 OPERATORS/op-m-cs.cc, OPERATORS/op-m-m.cc, OPERATORS/op-m-s.cc, 19426 OPERATORS/op-m-cs.cc, OPERATORS/op-m-m.cc, OPERATORS/op-m-s.cc,
19427 OPERATORS/op-range.cc, OPERATORS/op-s-cm.cc, OPERATORS/op-s-cs.cc, 19427 OPERATORS/op-range.cc, OPERATORS/op-s-cm.cc, OPERATORS/op-s-cs.cc,
19428 OPERATORS/op-s-m.cc, OPERATORS/op-s-s.cc, OPERATORS/op-str-str.cc, 19428 OPERATORS/op-s-m.cc, OPERATORS/op-s-s.cc, OPERATORS/op-str-str.cc,
19429 OPERATORS/op-str-m.cc, OPERATORS/op-str-s.cc (CATOPDECL, DEFCATOPX, 19429 OPERATORS/op-str-m.cc, OPERATORS/op-str-s.cc (CATOPDECL, DEFCATOPX,
19430 DEFCATOP, DEFCATOP_FB, DEFNDCATOP_FN, CATOP_NONCONFORMANT, 19430 DEFCATOP, DEFCATOP_FB, DEFNDCATOP_FN, CATOP_NONCONFORMANT,
19431 INSTALL_CATOP): Use them to define concatenation functions. 19431 INSTALL_CATOP): Use them to define concatenation functions.
19432 19432
19433 * OPERATORS/op-int.h (OCTAVE_CONCAT_FN, OCTAVE_INSTALL_CONCAT_FN): 19433 * OPERATORS/op-int.h (OCTAVE_CONCAT_FN, OCTAVE_INSTALL_CONCAT_FN):
19434 New macros to define and install concatentaion functions for int/uint 19434 New macros to define and install concatentaion functions for int/uint
19435 types. 19435 types.
19436 19436
19437 * TEMPLATE-INST/Array-tc.cc (INSTANTIATE_ARRAY_CAT): Delete. 19437 * TEMPLATE-INST/Array-tc.cc (INSTANTIATE_ARRAY_CAT): Delete.
19438 19438
19439 * pt-mat.cc (tm_row_const::tm_row_const_rep::do_init_element): 19439 * pt-mat.cc (tm_row_const::tm_row_const_rep::do_init_element):
19440 Also append empty elements to the list of elements to be parsed. 19440 Also append empty elements to the list of elements to be parsed.
19441 (tree_matrix::rvalue): Use new concatenation binary operators. 19441 (tree_matrix::rvalue): Use new concatenation binary operators.
19461 * Cell.cc, Cell.h, oct-map.cc, oct-map.h (cat): Delete. 19461 * Cell.cc, Cell.h, oct-map.cc, oct-map.h (cat): Delete.
19462 (concat): New function. 19462 (concat): New function.
19463 19463
19464 * Cell.cc, Cell.h (insert): New function 19464 * Cell.cc, Cell.h (insert): New function
19465 19465
19466 * ov-base.cc, ov-base.h, ov-scalar.h, ov-complex.h, ov-bool.h, 19466 * ov-base.cc, ov-base.h, ov-scalar.h, ov-complex.h, ov-bool.h,
19467 ov-range.h, ov-base-mat.h, (resize): New function. 19467 ov-range.h, ov-base-mat.h, (resize): New function.
19468 19468
19469 2004-07-23 John W. Eaton <jwe@octave.org> 19469 2004-07-23 John W. Eaton <jwe@octave.org>
19470 19470
19471 * symtab.cc (whos_parameter): Move decl here, from symtab.h. 19471 * symtab.cc (whos_parameter): Move decl here, from symtab.h.
19479 * symtab.cc (symbol_record::make_dimensions_string): New method. 19479 * symtab.cc (symbol_record::make_dimensions_string): New method.
19480 (symbol_record::print_symbol_info_line): Print N-d info. Output 19480 (symbol_record::print_symbol_info_line): Print N-d info. Output
19481 for long format now under control of format string. 19481 for long format now under control of format string.
19482 (symbol_table::maybe_list): Headers to whos listing updated. 19482 (symbol_table::maybe_list): Headers to whos listing updated.
19483 Also print footer info. 19483 Also print footer info.
19484 (symbol_table::print_descriptor): Method printing the 19484 (symbol_table::print_descriptor): Method printing the
19485 header of whos listings. 19485 header of whos listings.
19486 (symbol_table::parse_whos_line_format): New method. 19486 (symbol_table::parse_whos_line_format): New method.
19487 (whos_line_format, Vwhos_line_format): New built-in variables. 19487 (whos_line_format, Vwhos_line_format): New built-in variables.
19488 (symbols_of_symtab): DEFVAR them. 19488 (symbols_of_symtab): DEFVAR them.
19489 (symbol_record::nelem, symbol_record::symbol_def::nelem, 19489 (symbol_record::nelem, symbol_record::symbol_def::nelem,
19583 * ov-base-scalar.h (octave_base_scalar<ST>::all, 19583 * ov-base-scalar.h (octave_base_scalar<ST>::all,
19584 octave_base_scalar<ST>::any, octave_base_scalar<ST>::is_true): Use 19584 octave_base_scalar<ST>::any, octave_base_scalar<ST>::is_true): Use
19585 ST() instead of 0.0. 19585 ST() instead of 0.0.
19586 19586
19587 * ov-base-mat.h (octave_base_matrix<MT>::byte_size): New function. 19587 * ov-base-mat.h (octave_base_matrix<MT>::byte_size): New function.
19588 19588
19589 * ops.h (INSTALL_COLNVOP, DEFCONVFNX, DEFDBLCONVFN, DEFCONVFN, 19589 * ops.h (INSTALL_COLNVOP, DEFCONVFNX, DEFDBLCONVFN, DEFCONVFN,
19590 DEFCONVFN2): New macros. 19590 DEFCONVFN2): New macros.
19591 19591
19592 * DLD-FUNCTIONS/filter.cc (Ffilter): Kluge type conversions. 19592 * DLD-FUNCTIONS/filter.cc (Ffilter): Kluge type conversions.
19593 19593
19785 19785
19786 * ov-re-mat.cc (octave_matrix::convert_to_str_internal): 19786 * ov-re-mat.cc (octave_matrix::convert_to_str_internal):
19787 Return charNDArray. 19787 Return charNDArray.
19788 * ov-bool-mat.cc (octave_bool_matrix::convert_to_str_internal): 19788 * ov-bool-mat.cc (octave_bool_matrix::convert_to_str_internal):
19789 Call array_value. 19789 Call array_value.
19790 19790
19791 * DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/betainc.cc, 19791 * DLD-FUNCTIONS/besselj.cc, DLD-FUNCTIONS/betainc.cc,
19792 DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/minmax.cc, 19792 DLD-FUNCTIONS/gammainc.cc, DLD-FUNCTIONS/minmax.cc,
19793 DLD-FUNCTIONS/filter.cc: 19793 DLD-FUNCTIONS/filter.cc:
19794 Convert for N-d array, better Matlab compatibility. 19794 Convert for N-d array, better Matlab compatibility.
19795 19795
19796 * load-save.cc (Fload): Better handling of non existent files. 19796 * load-save.cc (Fload): Better handling of non existent files.
19797 19797
19798 2004-03-19 John W. Eaton <jwe@bevo.che.wisc.edu> 19798 2004-03-19 John W. Eaton <jwe@bevo.che.wisc.edu>
19799 19799
19800 * ov-list.cc (octave_list::subsref): Correctly create return value. 19800 * ov-list.cc (octave_list::subsref): Correctly create return value.
19801 Return comma-separate list if {-style indexing extracts more than 19801 Return comma-separate list if {-style indexing extracts more than
19802 one value. 19802 one value.
19885 19885
19886 * parse.y: Delete spaces surrounding = in %name-prefix directive. 19886 * parse.y: Delete spaces surrounding = in %name-prefix directive.
19887 19887
19888 2004-03-01 Petter Risholm <risholm@idi.ntnu.no> 19888 2004-03-01 Petter Risholm <risholm@idi.ntnu.no>
19889 19889
19890 * Cell.cc (Cell::cat): New function. 19890 * Cell.cc (Cell::cat): New function.
19891 * Cell.h: Provide decl. 19891 * Cell.h: Provide decl.
19892 19892
19893 * oct-map.cc (Octave_map::cat): New function. 19893 * oct-map.cc (Octave_map::cat): New function.
19894 * oct-map.h: Provide decl. 19894 * oct-map.h: Provide decl.
19895 19895
19896 * data.cc (Fcat): Speedup implementation. 19896 * data.cc (Fcat): Speedup implementation.
19897 19897
19898 * data.cc (Fhorzcat, Fvertcat): New functions. 19898 * data.cc (Fhorzcat, Fvertcat): New functions.
19899 19899
19900 * Array-tc.cc: Instantiate cat function. 19900 * Array-tc.cc: Instantiate cat function.
19901 19901
19902 2004-03-01 David Bateman <dbateman@free.fr> 19902 2004-03-01 David Bateman <dbateman@free.fr>
19903 19903
19904 * ls-hdf5.cc (save_hdf5_empty, load_hdf5_empty): New functions 19904 * ls-hdf5.cc (save_hdf5_empty, load_hdf5_empty): New functions
19905 to save/load empty matrices keeping their dimensions. 19905 to save/load empty matrices keeping their dimensions.
19910 * ov-bool-mat.cc (save_hdf5, load_hdf5): Ditto. 19910 * ov-bool-mat.cc (save_hdf5, load_hdf5): Ditto.
19911 19911
19912 * ov-str-mat.cc (save_ascoo, load_ascii, save_binary, 19912 * ov-str-mat.cc (save_ascoo, load_ascii, save_binary,
19913 load_binary, save_hdf5, load_hdf5): Cleanup, check empty matrix, 19913 load_binary, save_hdf5, load_hdf5): Cleanup, check empty matrix,
19914 and save/load N-d arrays. 19914 and save/load N-d arrays.
19915 19915
19916 2004-02-27 John W. Eaton <jwe@bevo.che.wisc.edu> 19916 2004-02-27 John W. Eaton <jwe@bevo.che.wisc.edu>
19917 19917
19918 * octave.cc (execute_startup_files): Don't find current directory 19918 * octave.cc (execute_startup_files): Don't find current directory
19919 for absolute name of local_rc until after executing home_rc. 19919 for absolute name of local_rc until after executing home_rc.
19920 19920
19945 19945
19946 * oct-stdstrm.cc (octave_stdiostream::seek, octave_stdiostream::tell): 19946 * oct-stdstrm.cc (octave_stdiostream::seek, octave_stdiostream::tell):
19947 Call io_c_file_ptr_stream::seek and tell. Signatures now match 19947 Call io_c_file_ptr_stream::seek and tell. Signatures now match
19948 C-library functions. 19948 C-library functions.
19949 19949
19950 * c-file-ptr-stream.h (c_file_ptr_buf::seek, c_file_ptr_buf::tell): 19950 * c-file-ptr-stream.h (c_file_ptr_buf::seek, c_file_ptr_buf::tell):
19951 New functions. 19951 New functions.
19952 (i_c_file_ptr_stream::seek, i_c_file_ptr_stream::tell): Likewise. 19952 (i_c_file_ptr_stream::seek, i_c_file_ptr_stream::tell): Likewise.
19953 (o_c_file_ptr_stream::seek, o_c_file_ptr_stream::tell): Likewise. 19953 (o_c_file_ptr_stream::seek, o_c_file_ptr_stream::tell): Likewise.
19954 (io_c_file_ptr_stream::seek, io_c_file_ptr_stream::tell): Likewise. 19954 (io_c_file_ptr_stream::seek, io_c_file_ptr_stream::tell): Likewise.
19955 19955
20071 * DLD-FUNCTIONS/fft.cc: Adapt for Nd arrays, combine with ifft.cc. 20071 * DLD-FUNCTIONS/fft.cc: Adapt for Nd arrays, combine with ifft.cc.
20072 * DLD-FUNCTIONS/ifft.cc: Delete. 20072 * DLD-FUNCTIONS/ifft.cc: Delete.
20073 * DLD-FUNCTIONS/fft2.cc: Adapt for Nd arrays, combine with ifft.cc. 20073 * DLD-FUNCTIONS/fft2.cc: Adapt for Nd arrays, combine with ifft.cc.
20074 * DLD-FUNCTIONS/ifft2.cc: Delete. 20074 * DLD-FUNCTIONS/ifft2.cc: Delete.
20075 * DLD-FUNCTIONS/fftn.cc: New function for Nd FFT and inverse FFT. 20075 * DLD-FUNCTIONS/fftn.cc: New function for Nd FFT and inverse FFT.
20076 * DLD-FUNCTIONS/fft_wisdom.cc: New function to manipulate FFTW 20076 * DLD-FUNCTIONS/fft_wisdom.cc: New function to manipulate FFTW
20077 wisdom. 20077 wisdom.
20078 20078
20079 * Makefile.in: Remove ifft.cc and ifft2.cc. Add fftn.cc and 20079 * Makefile.in: Remove ifft.cc and ifft2.cc. Add fftn.cc and
20080 ifftn.cc. Make building of fft-wisdom.cc conditional on the 20080 ifftn.cc. Make building of fft-wisdom.cc conditional on the
20081 value of FFTW_LIBS. 20081 value of FFTW_LIBS.
20082 * defaults.cc (Vwisdom_prog): New variable 20082 * defaults.cc (Vwisdom_prog): New variable
20083 (set_default_wisdom_prog, wisdom_prog): New functions. 20083 (set_default_wisdom_prog, wisdom_prog): New functions.
20084 (symbols_of_defaults): Add DEFVAR for wisdom_prog. 20084 (symbols_of_defaults): Add DEFVAR for wisdom_prog.
20085 20085
20086 2004-02-16 John W. Eaton <jwe@bevo.che.wisc.edu> 20086 2004-02-16 John W. Eaton <jwe@bevo.che.wisc.edu>
20087 20087
20088 * ov-list.cc (octave_list::subsasgn): Call assign for Cell objects 20088 * ov-list.cc (octave_list::subsasgn): Call assign for Cell objects
20089 here, not the base octave_value::assign. 20089 here, not the base octave_value::assign.
20090 20090
20187 20187
20188 * ov-usr-fcn.h (octave_user_function::is_user_function): New function. 20188 * ov-usr-fcn.h (octave_user_function::is_user_function): New function.
20189 * ov-fcn.h (octave_function::takes_varargs, 20189 * ov-fcn.h (octave_function::takes_varargs,
20190 octave_function::octave_va_start, octave_function::octave_va_arg, 20190 octave_function::octave_va_start, octave_function::octave_va_arg,
20191 octave_function::octave_all_va_args, 20191 octave_function::octave_all_va_args,
20192 octave_function::takes_var_return, octave_function::octave_vr_val, 20192 octave_function::takes_var_return, octave_function::octave_vr_val,
20193 octave_function::is_user_function): New virtual functions. 20193 octave_function::is_user_function): New virtual functions.
20194 20194
20195 2004-02-05 John W. Eaton <jwe@bevo.che.wisc.edu> 20195 2004-02-05 John W. Eaton <jwe@bevo.che.wisc.edu>
20196 20196
20197 * ov-struct.cc (Fstruct): Use new Octave_map constructor to create 20197 * ov-struct.cc (Fstruct): Use new Octave_map constructor to create
20342 * variables.h: Delete decls. 20342 * variables.h: Delete decls.
20343 20343
20344 * parse.y (Feval, Fevalin): Don't call bind_global_error_variable. 20344 * parse.y (Feval, Fevalin): Don't call bind_global_error_variable.
20345 Don't add clear_global_error_variable to the unwind_protect stack. 20345 Don't add clear_global_error_variable to the unwind_protect stack.
20346 Increment buffer_error_messages before evaluating "eval" code, 20346 Increment buffer_error_messages before evaluating "eval" code,
20347 decrement it before evaluating "catch" code. 20347 decrement it before evaluating "catch" code.
20348 20348
20349 * pt-except.cc (do_catch_code): Don't call bind_global_error_variable. 20349 * pt-except.cc (do_catch_code): Don't call bind_global_error_variable.
20350 Don't add clear_global_error_variable to the unwind_protect stack. 20350 Don't add clear_global_error_variable to the unwind_protect stack.
20351 Decrement buffer_error_messages here. 20351 Decrement buffer_error_messages here.
20352 (tree_try_catch_command::eval): Increment buffer_error_messages here. 20352 (tree_try_catch_command::eval): Increment buffer_error_messages here.
20357 20357
20358 * toplev.cc (octave_config_info): Add float_format, 20358 * toplev.cc (octave_config_info): Add float_format,
20359 words_big_endian, and words_little_endian to the struct. 20359 words_big_endian, and words_little_endian to the struct.
20360 20360
20361 2004-01-14 David Bateman <dbateman@free.fr> 20361 2004-01-14 David Bateman <dbateman@free.fr>
20362 20362
20363 * ov-cell.cc (octave_cell::load_hdf5): Fix for HDF5 version 1.6 20363 * ov-cell.cc (octave_cell::load_hdf5): Fix for HDF5 version 1.6
20364 handling of number of objects in a group. 20364 handling of number of objects in a group.
20365 * ov-struct.cc (octave_struct::load_hdf5): Likewise. 20365 * ov-struct.cc (octave_struct::load_hdf5): Likewise.
20366 * ov-list.cc (octave_list::load_hdf5): Likewise. 20366 * ov-list.cc (octave_list::load_hdf5): Likewise.
20367 * ls-hdf5.cc (read_hdf5_data): Likewise. 20367 * ls-hdf5.cc (read_hdf5_data): Likewise.
20396 20396
20397 * ls-hdf5.cc: Fix handle of old versus new format files. 20397 * ls-hdf5.cc: Fix handle of old versus new format files.
20398 20398
20399 * ls-oct-binary.cc: Split the load/save functionality into the types 20399 * ls-oct-binary.cc: Split the load/save functionality into the types
20400 themselves. Backward compatibility maintained. 20400 themselves. Backward compatibility maintained.
20401 20401
20402 * ov-struct.cc (save_binary, load_binary): 20402 * ov-struct.cc (save_binary, load_binary):
20403 * ov-str-mat.cc (save_binary, load_binary): 20403 * ov-str-mat.cc (save_binary, load_binary):
20404 * ov-scalar.cc (save_binary, load_binary): 20404 * ov-scalar.cc (save_binary, load_binary):
20405 * ov-re-mat.cc (save_binary, load_binary): 20405 * ov-re-mat.cc (save_binary, load_binary):
20406 * ov-range.cc (save_binary, load_binary): 20406 * ov-range.cc (save_binary, load_binary):
20438 * ls-oct-ascii.cc: Split the load/save functionality into the types 20438 * ls-oct-ascii.cc: Split the load/save functionality into the types
20439 themselves. Save "string" variables with the name "string" rather than 20439 themselves. Save "string" variables with the name "string" rather than
20440 string array. Backward compatiability maintained in ov-cs-mat.cc. 20440 string array. Backward compatiability maintained in ov-cs-mat.cc.
20441 Include new version of extract_keyword that halts if the next value is 20441 Include new version of extract_keyword that halts if the next value is
20442 invalid rather that searching for the next valid value. 20442 invalid rather that searching for the next valid value.
20443 20443
20444 * ls-oct-ascii.h: Extract_keyword header updated. 20444 * ls-oct-ascii.h: Extract_keyword header updated.
20445 Include definition of OCT_RBV and CELL_ELT_TAG, since they are now 20445 Include definition of OCT_RBV and CELL_ELT_TAG, since they are now
20446 used elsewhere. 20446 used elsewhere.
20447 20447
20448 * ls-hdf5.cc: Split load/save functionality into the types themselves. 20448 * ls-hdf5.cc: Split load/save functionality into the types themselves.
20449 The hdf5 format is changed so that each object is a group with a 20449 The hdf5 format is changed so that each object is a group with a
20450 dataset "type" being a string with the octave_value type and the 20450 dataset "type" being a string with the octave_value type and the
20451 dataset or group "value" containing the value of the data, struct, etc. 20451 dataset or group "value" containing the value of the data, struct, etc.
20452 This allows extensibility. Backward compatibility is maintained. The 20452 This allows extensibility. Backward compatibility is maintained. The
20453 "import" flag is now assumed to always be true and has been removed. 20453 "import" flag is now assumed to always be true and has been removed.
20454 20454
20455 * ov-struct.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): 20455 * ov-struct.cc (save_ascii, load_ascii, save_hdf5, load_hdf5):
20456 * ov-str-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): 20456 * ov-str-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5):
20457 * ov-scalar.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): 20457 * ov-scalar.cc (save_ascii, load_ascii, save_hdf5, load_hdf5):
20458 * ov-re-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): 20458 * ov-re-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5):
20459 * ov-range.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): 20459 * ov-range.cc (save_ascii, load_ascii, save_hdf5, load_hdf5):
20460 * ov-list.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): 20460 * ov-list.cc (save_ascii, load_ascii, save_hdf5, load_hdf5):
20461 * ov-cx-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): 20461 * ov-cx-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5):
20464 * ov-bool.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): 20464 * ov-bool.cc (save_ascii, load_ascii, save_hdf5, load_hdf5):
20465 * ov-bool-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): 20465 * ov-bool-mat.cc (save_ascii, load_ascii, save_hdf5, load_hdf5):
20466 New functions for loading and saving structures in octave ascii 20466 New functions for loading and saving structures in octave ascii
20467 and hdf5 formatted files. 20467 and hdf5 formatted files.
20468 20468
20469 * ov-struct.h (save_ascii, load_ascii, save_hdf5, load_hdf5): 20469 * ov-struct.h (save_ascii, load_ascii, save_hdf5, load_hdf5):
20470 * ov-str-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5): 20470 * ov-str-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5):
20471 * ov-scalar.h (save_ascii, load_ascii, save_hdf5, load_hdf5): 20471 * ov-scalar.h (save_ascii, load_ascii, save_hdf5, load_hdf5):
20472 * ov-re-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5): 20472 * ov-re-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5):
20473 * ov-range.h (save_ascii, load_ascii, save_hdf5, load_hdf5): 20473 * ov-range.h (save_ascii, load_ascii, save_hdf5, load_hdf5):
20474 * ov-list.h (save_ascii, load_ascii, save_hdf5, load_hdf5): 20474 * ov-list.h (save_ascii, load_ascii, save_hdf5, load_hdf5):
20475 * ov-cx-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5): 20475 * ov-cx-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5):
20476 * ov-complex.h (save_ascii, load_ascii, save_hdf5, load_hdf5): 20476 * ov-complex.h (save_ascii, load_ascii, save_hdf5, load_hdf5):
20477 * ov-cell.h (save_ascii, load_ascii, save_hdf5, load_hdf5): 20477 * ov-cell.h (save_ascii, load_ascii, save_hdf5, load_hdf5):
20478 * ov-bool.h (save_ascii, load_ascii, save_hdf5, load_hdf5): 20478 * ov-bool.h (save_ascii, load_ascii, save_hdf5, load_hdf5):
20479 * ov-bool-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5): 20479 * ov-bool-mat.h (save_ascii, load_ascii, save_hdf5, load_hdf5):
20480 Provide decls. 20480 Provide decls.
20481 20481
20482 * ov-typeinfo.cc (octave_value_typeinfo::do_lookup_type): Include 20482 * ov-typeinfo.cc (octave_value_typeinfo::do_lookup_type): Include
20483 make_unique so that the stored type value is not used for all loaded 20483 make_unique so that the stored type value is not used for all loaded
20484 variables. 20484 variables.
20485 20485
20486 * ov.h: (save_ascii, load_ascii, save_hdf5 and load_hdf5): 20486 * ov.h: (save_ascii, load_ascii, save_hdf5 and load_hdf5):
20487 New virtual functions. 20487 New virtual functions.
20488 20488
20489 * ov-base.cc (save_ascii, load_ascii, save_hdf5, load_hdf5): 20489 * ov-base.cc (save_ascii, load_ascii, save_hdf5, load_hdf5):
20490 New functions, for fallbacks with error message. 20490 New functions, for fallbacks with error message.
20491 * ov-base.h: Provide decls. 20491 * ov-base.h: Provide decls.
20492 20492
20493 2003-12-22 John W. Eaton <jwe@bevo.che.wisc.edu> 20493 2003-12-22 John W. Eaton <jwe@bevo.che.wisc.edu>
20521 (find_to_fortran_idx): Delete. Move guts of function to 20521 (find_to_fortran_idx): Delete. Move guts of function to
20522 find_nonzero_elem_idx. 20522 find_nonzero_elem_idx.
20523 (find_nonzero_elem_idx): Now a template function. Handle overall 20523 (find_nonzero_elem_idx): Now a template function. Handle overall
20524 array index here too. Make it N-d aware. 20524 array index here too. Make it N-d aware.
20525 20525
20526 * pt-pr-code.cc (tree_print_code::visit_complex_for_command, 20526 * pt-pr-code.cc (tree_print_code::visit_complex_for_command,
20527 tree_print_code::visit_octave_user_function_header, 20527 tree_print_code::visit_octave_user_function_header,
20528 tree_print_code::visit_matrix, tree_print_code::visit_cell, 20528 tree_print_code::visit_matrix, tree_print_code::visit_cell,
20529 tree_print_code::visit_multi_assignment): Keep track of nearest 20529 tree_print_code::visit_multi_assignment): Keep track of nearest
20530 [, {, or ( nesting level. 20530 [, {, or ( nesting level.
20531 (tree_print_code::visit_index_expression): Likewise. Check nesting 20531 (tree_print_code::visit_index_expression): Likewise. Check nesting
20881 * Cell.cc (Cell::Cell): Pass dim_vector to resize instead of two ints. 20881 * Cell.cc (Cell::Cell): Pass dim_vector to resize instead of two ints.
20882 20882
20883 2003-11-14 John W. Eaton <jwe@bevo.che.wisc.edu> 20883 2003-11-14 John W. Eaton <jwe@bevo.che.wisc.edu>
20884 20884
20885 * Makefile.in (stamp-liboctave-prereq): New target. 20885 * Makefile.in (stamp-liboctave-prereq): New target.
20886 ($(DEF_FILES), $(MAKEDEPS)): Depend on it. 20886 ($(DEF_FILES), $(MAKEDEPS)): Depend on it.
20887 (distclean): Remove it. 20887 (distclean): Remove it.
20888 20888
20889 * parse.y (cancel_obj_idx): New rule. 20889 * parse.y (cancel_obj_idx): New rule.
20890 (postfix_expr, prefix_expr): Use begin_obj_idx after every 20890 (postfix_expr, prefix_expr): Use begin_obj_idx after every
20891 postfix_expr on RHS. Use cancel_obj_idx as soon as possible for 20891 postfix_expr on RHS. Use cancel_obj_idx as soon as possible for
20964 20964
20965 * ov-base-mat.cc (octave_base_matrix::print_name_tag): Delete. 20965 * ov-base-mat.cc (octave_base_matrix::print_name_tag): Delete.
20966 * ov-base-mat.h: Delete decl. 20966 * ov-base-mat.h: Delete decl.
20967 20967
20968 * ov-base.cc (octave_base_value::print_name_tag): 20968 * ov-base.cc (octave_base_value::print_name_tag):
20969 Use print_as_scalar here. 20969 Use print_as_scalar here.
20970 * ov.h (octave_base_value::print_as_scalar): New virtual function. 20970 * ov.h (octave_base_value::print_as_scalar): New virtual function.
20971 * ov-base.h (octave_base_value::print_as_scalar): 20971 * ov-base.h (octave_base_value::print_as_scalar):
20972 New default implementation. 20972 New default implementation.
20973 * ov-base-mat.h (octave_base_matrix::pirnt_as_scalar): 20973 * ov-base-mat.h (octave_base_matrix::pirnt_as_scalar):
20974 Don't declare as virtual here. 20974 Don't declare as virtual here.
21343 * mappers.cc (xabs): New function. 21343 * mappers.cc (xabs): New function.
21344 (install_mapper_functions): Use it instead of abs for complex args 21344 (install_mapper_functions): Use it instead of abs for complex args
21345 in Octave's abs mapper function. 21345 in Octave's abs mapper function.
21346 21346
21347 2003-09-27 Joseph P. Skudlarek <Jskud@Jskud.com> 21347 2003-09-27 Joseph P. Skudlarek <Jskud@Jskud.com>
21348 21348
21349 * DLD-FUNCTIONS/minmax.cc (min, max): Use @deftypefn machinery, 21349 * DLD-FUNCTIONS/minmax.cc (min, max): Use @deftypefn machinery,
21350 doc missing semantics, and add more examples to texinfo strings. 21350 doc missing semantics, and add more examples to texinfo strings.
21351 21351
21352 2003-09-26 John W. Eaton <jwe@bevo.che.wisc.edu> 21352 2003-09-26 John W. Eaton <jwe@bevo.che.wisc.edu>
21353 21353
21409 (current_output_max_field_width, current_output_precision): 21409 (current_output_max_field_width, current_output_precision):
21410 New functions. 21410 New functions.
21411 (float_format::float_format (int, int, int)): Use them to provide 21411 (float_format::float_format (int, int, int)): Use them to provide
21412 default values for field width and precision. 21412 default values for field width and precision.
21413 (print_g): New static variable. 21413 (print_g): New static variable.
21414 (set_real_format, set_real_matrix_format, set_complex_format) 21414 (set_real_format, set_real_matrix_format, set_complex_format)
21415 (set_complex_matrix_format, set_range_format): Handle print_g. 21415 (set_complex_matrix_format, set_range_format): Handle print_g.
21416 (pr_float, pr_complex): Don't scale if using print_g. 21416 (pr_float, pr_complex): Don't scale if using print_g.
21417 (set_format_style): Accept new "g" and "G" modifiers for short and 21417 (set_format_style): Accept new "g" and "G" modifiers for short and
21418 long formats and set print_g. 21418 long formats and set print_g.
21419 Set default precision and width for short to 5, 10. 21419 Set default precision and width for short to 5, 10.
21538 21538
21539 2003-08-06 Heine Kolltveit <kolltvei@idi.ntnu.no> 21539 2003-08-06 Heine Kolltveit <kolltvei@idi.ntnu.no>
21540 21540
21541 * utils.cc (check_dimensions(Array<int>&, char), 21541 * utils.cc (check_dimensions(Array<int>&, char),
21542 get_dimensions(octave_value&, char, Array<int>&): New functions. 21542 get_dimensions(octave_value&, char, Array<int>&): New functions.
21543 * utils.h (check_dimensions (Array<int>&, char), 21543 * utils.h (check_dimensions (Array<int>&, char),
21544 get_dimensions (octave_value&, char, Array<int>&)): Provide decl. 21544 get_dimensions (octave_value&, char, Array<int>&)): Provide decl.
21545 21545
21546 * data.cc (fill_matrix): Also create N-d arrays. 21546 * data.cc (fill_matrix): Also create N-d arrays.
21547 (Fones, Fzeros): Handle more than 2 args to create N-d arrays. 21547 (Fones, Fzeros): Handle more than 2 args to create N-d arrays.
21548 21548
21673 21673
21674 2003-07-11 John W. Eaton <jwe@bevo.che.wisc.edu> 21674 2003-07-11 John W. Eaton <jwe@bevo.che.wisc.edu>
21675 21675
21676 * octave.cc (maximum_braindamage): Don't set default_eval_print_flag. 21676 * octave.cc (maximum_braindamage): Don't set default_eval_print_flag.
21677 21677
21678 * parse.y (Vdefault_eval_print_flag): Delete: 21678 * parse.y (Vdefault_eval_print_flag): Delete:
21679 (default_eval_print_flag): Delete. 21679 (default_eval_print_flag): Delete.
21680 (symbols_of_parse): Delete DEFVAR for default_eval_print_flag. 21680 (symbols_of_parse): Delete DEFVAR for default_eval_print_flag.
21681 (Feval, Fevalin): Return empty octave_value_list and turn printing 21681 (Feval, Fevalin): Return empty octave_value_list and turn printing
21682 on in eval_string if nargout is zero. 21682 on in eval_string if nargout is zero.
21683 21683
21693 (symbols_of_ov): Delete DEFVAR for resize_on_range_error. 21693 (symbols_of_ov): Delete DEFVAR for resize_on_range_error.
21694 21694
21695 * pt-mat.cc (Vwarn_empty_list_elements): New variable. 21695 * pt-mat.cc (Vwarn_empty_list_elements): New variable.
21696 (warn_empty_list_elements): New function. 21696 (warn_empty_list_elements): New function.
21697 (symbols_of_pt_mat): Add DEFVAR for warn_empty_list_elements. 21697 (symbols_of_pt_mat): Add DEFVAR for warn_empty_list_elements.
21698 (tm_row_const::tm_row_const_rep::init, tm_const::init): 21698 (tm_row_const::tm_row_const_rep::init, tm_const::init):
21699 Check Vwarn_empty_list_elements, not Vempty_list_elements_ok. 21699 Check Vwarn_empty_list_elements, not Vempty_list_elements_ok.
21700 21700
21701 * pt-mat.cc (Vempty_list_elements_ok): Delete. 21701 * pt-mat.cc (Vempty_list_elements_ok): Delete.
21702 (empty_list_elements_ok): Delete. 21702 (empty_list_elements_ok): Delete.
21703 (symbols_of_pt_mat): Delete DEFVAR for empty_list_elements_ok. 21703 (symbols_of_pt_mat): Delete DEFVAR for empty_list_elements_ok.
21768 (symbols_of_ov): Delete DEFVAR for do_fortran_indexing. 21768 (symbols_of_ov): Delete DEFVAR for do_fortran_indexing.
21769 * ov.h (Vdo_fortran_indexing): Delete decl. 21769 * ov.h (Vdo_fortran_indexing): Delete decl.
21770 21770
21771 * ov.cc (octave_value::convert_to_str): Call convert_to_str_internal. 21771 * ov.cc (octave_value::convert_to_str): Call convert_to_str_internal.
21772 (octave_value::convert_to_str_internal): New virtual function. 21772 (octave_value::convert_to_str_internal): New virtual function.
21773 Rename all derived class convert_to_str functions to match. 21773 Rename all derived class convert_to_str functions to match.
21774 21774
21775 * variables.cc (generate_struct_completions): Set 21775 * variables.cc (generate_struct_completions): Set
21776 discard_warning_messages, not Vwarning_option. Also protect 21776 discard_warning_messages, not Vwarning_option. Also protect
21777 warning_state. 21777 warning_state.
21778 21778
21846 New static functions. 21846 New static functions.
21847 (symbols_of_sighandlers): Add DEFVARs for sighup_dumps_octave_core 21847 (symbols_of_sighandlers): Add DEFVARs for sighup_dumps_octave_core
21848 and sigterm_dumps_octave_core. 21848 and sigterm_dumps_octave_core.
21849 21849
21850 * defaults.h.in (OCTAVE_LOCALAPIFCNFILEDIR, OCTAVE_LOCALAPIOCTFILEDIR): 21850 * defaults.h.in (OCTAVE_LOCALAPIFCNFILEDIR, OCTAVE_LOCALAPIOCTFILEDIR):
21851 Subsitute new variables. 21851 Subsitute new variables.
21852 21852
21853 * defun.cc (check_version): Compare version to OCTAVE_API_VERSION, 21853 * defun.cc (check_version): Compare version to OCTAVE_API_VERSION,
21854 not OCTAVE_VERSION. Mismatch is now fatal. 21854 not OCTAVE_VERSION. Mismatch is now fatal.
21855 * defun-int.h (DEFINE_FUN_INSTALLER_FUN3): Pass 21855 * defun-int.h (DEFINE_FUN_INSTALLER_FUN3): Pass
21856 OCTAVE_API_VERSION instead of OCTAVE_VERSION to check_version. 21856 OCTAVE_API_VERSION instead of OCTAVE_VERSION to check_version.
22196 2003-02-15 John W. Eaton <jwe@bevo.che.wisc.edu> 22196 2003-02-15 John W. Eaton <jwe@bevo.che.wisc.edu>
22197 22197
22198 * oct-stdstrm.h, oct-stdstrm.cc (octave_base_stdiostream, 22198 * oct-stdstrm.h, oct-stdstrm.cc (octave_base_stdiostream,
22199 octave_iostdiostream, octave_istdiostram, octave_ostdiostream): 22199 octave_iostdiostream, octave_istdiostram, octave_ostdiostream):
22200 Combine all functionality into one class, octave_stdiostream. 22200 Combine all functionality into one class, octave_stdiostream.
22201 Change all uses. 22201 Change all uses.
22202 22202
22203 * file-io.cc (Ftmpfile, Fmkstemp): New functions. 22203 * file-io.cc (Ftmpfile, Fmkstemp): New functions.
22204 * oct-stdstrm.h (octave_iostdiostream): New class. 22204 * oct-stdstrm.h (octave_iostdiostream): New class.
22205 (octave_istdiostream::octave_istdiostream, 22205 (octave_istdiostream::octave_istdiostream,
22206 octave_istdiostream::create, 22206 octave_istdiostream::create,
22207 octave_ostdiostream::octave_ostdiostream, octave_ostdiostream::create, 22207 octave_ostdiostream::octave_ostdiostream, octave_ostdiostream::create,
22208 octave_iostdiostream::octave_iostdiostream, 22208 octave_iostdiostream::octave_iostdiostream,
22209 octave_iostdiostream::create): Make close function the last arg. 22209 octave_iostdiostream::create): Make close function the last arg.
22210 Change all uses. 22210 Change all uses.
22211 22211
22212 * c-file-ptr-stream.h (io_c_file_ptr_stream): New class. 22212 * c-file-ptr-stream.h (io_c_file_ptr_stream): New class.
22218 (octave_main): Likewise. 22218 (octave_main): Likewise.
22219 * error.cc (Fwarning): Likewise. 22219 * error.cc (Fwarning): Likewise.
22220 22220
22221 * pager.cc (Fmore): Make the no-arg case work too. 22221 * pager.cc (Fmore): Make the no-arg case work too.
22222 22222
22223 * ov-str-mat.h (octave_char_matrix_str::is_real_type, 22223 * ov-str-mat.h (octave_char_matrix_str::is_real_type,
22224 octave_char_matrix_str::is_matrix_type, 22224 octave_char_matrix_str::is_matrix_type,
22225 octave_char_matrix_str::is_numeric_type): Always return false. 22225 octave_char_matrix_str::is_numeric_type): Always return false.
22226 22226
22227 2003-02-13 John W. Eaton <jwe@bevo.che.wisc.edu> 22227 2003-02-13 John W. Eaton <jwe@bevo.che.wisc.edu>
22228 22228
22452 * ov-file.h (octave_file::double_value, octave_file::scalar_value): 22452 * ov-file.h (octave_file::double_value, octave_file::scalar_value):
22453 Delete unnecessry cast. 22453 Delete unnecessry cast.
22454 22454
22455 * ov.cc (octave_value::octave_value): Add constructors for 22455 * ov.cc (octave_value::octave_value): Add constructors for
22456 octave_time, short int, unsigned short int, unsigned int, long 22456 octave_time, short int, unsigned short int, unsigned int, long
22457 int, unsigned long int, 22457 int, unsigned long int,
22458 22458
22459 * ov.h (octave_value::do_subsref (const std::string&, const 22459 * ov.h (octave_value::do_subsref (const std::string&, const
22460 octave_value_list&)): Rename from subsref. Change all derived classes. 22460 octave_value_list&)): Rename from subsref. Change all derived classes.
22461 22461
22462 * input.cc (generate_completion): Delete unused variable prefix_len. 22462 * input.cc (generate_completion): Delete unused variable prefix_len.
22768 * Map-oct-obj.cc, SLList-expr.cc, SLList-misc.cc, SLList-plot.cc, 22768 * Map-oct-obj.cc, SLList-expr.cc, SLList-misc.cc, SLList-plot.cc,
22769 SLList-tc.cc, SLList-tm.cc: Delete. 22769 SLList-tc.cc, SLList-tm.cc: Delete.
22770 * Makefile.in (TI_XSRC): Delete them from the list. 22770 * Makefile.in (TI_XSRC): Delete them from the list.
22771 22771
22772 * ov-base-mat.cc (octave_base_matrix::assign): Pass 22772 * ov-base-mat.cc (octave_base_matrix::assign): Pass
22773 MT::resize_fill_value () as third arg for ::assign. 22773 MT::resize_fill_value () as third arg for ::assign.
22774 22774
22775 * Cell.h (Cell::resize_fill_value): Use empty Matrix object, not 22775 * Cell.h (Cell::resize_fill_value): Use empty Matrix object, not
22776 undefined octave_value object. 22776 undefined octave_value object.
22777 (Cell::Cell (int, int, const octave_value&)): Use 22777 (Cell::Cell (int, int, const octave_value&)): Use
22778 resize_fill_value () as default value, not undefined octave_value 22778 resize_fill_value () as default value, not undefined octave_value
22792 * octave.cc (octave_main): Call execute_default_pkg_add_files just 22792 * octave.cc (octave_main): Call execute_default_pkg_add_files just
22793 before executing startup files. Set octave_interpreter_ready to 22793 before executing startup files. Set octave_interpreter_ready to
22794 true before calling execute_default_pkg_add_files. 22794 true before calling execute_default_pkg_add_files.
22795 22795
22796 * defaults.cc (maybe_add_or_del_packages, default_load_path, 22796 * defaults.cc (maybe_add_or_del_packages, default_load_path,
22797 update_load_path_dir_path): New static functions. 22797 update_load_path_dir_path): New static functions.
22798 (set_default_path, loadpath): Call update_load_path_dir_path. 22798 (set_default_path, loadpath): Call update_load_path_dir_path.
22799 (symbols_of_defaults): Use DEFVAR, not DEFCONST for DEFAULT_LOADPATH. 22799 (symbols_of_defaults): Use DEFVAR, not DEFCONST for DEFAULT_LOADPATH.
22800 (execute_default_pkg_add_files): New function. 22800 (execute_default_pkg_add_files): New function.
22801 * defaults.h.in: Provide decl. 22801 * defaults.h.in: Provide decl.
22802 22802
22825 TEMPLATE-INST/SLStack-ue.cc, TEMPLATE-INST/SLStack-ui.cc: 22825 TEMPLATE-INST/SLStack-ue.cc, TEMPLATE-INST/SLStack-ui.cc:
22826 Delete unnecessary files. 22826 Delete unnecessary files.
22827 * Makefile.in (TI_XSRC): Delete them from the list. 22827 * Makefile.in (TI_XSRC): Delete them from the list.
22828 22828
22829 * toplev.cc (octave_atexit_functions): Now std::stack, not SLStack. 22829 * toplev.cc (octave_atexit_functions): Now std::stack, not SLStack.
22830 * pt-plot.cc (tmp_files): Likewise. 22830 * pt-plot.cc (tmp_files): Likewise.
22831 * lex.l (token_stack): Likewise. 22831 * lex.l (token_stack): Likewise.
22832 (class bracket_brace_paren_nesting_level): Make context a data 22832 (class bracket_brace_paren_nesting_level): Make context a data
22833 member instead of deriving from SLStack object. 22833 member instead of deriving from SLStack object.
22834 Use std::stack instead of SLStack. 22834 Use std::stack instead of SLStack.
22835 * ov-usr-fcn.h (octave_user_function::saved_args): Likewise. 22835 * ov-usr-fcn.h (octave_user_function::saved_args): Likewise.
22956 comment-list.h, comment-list.cc, DLList.cc, DLList.h, 22956 comment-list.h, comment-list.cc, DLList.cc, DLList.h,
22957 ov-dld-fcn.h, ov-dld-fcn.cc, Cell.cc, Cell.h, pt-cell.h, 22957 ov-dld-fcn.h, ov-dld-fcn.cc, Cell.cc, Cell.h, pt-cell.h,
22958 pt-cell.cc, ov-cell.h, ov-cell.cc, pt-plot.cc, pt-plot.h, 22958 pt-cell.cc, ov-cell.h, ov-cell.cc, pt-plot.cc, pt-plot.h,
22959 pt-assign.cc, pt-assign.h, pt-bp.cc, pt-bp.h, symtab.cc, 22959 pt-assign.cc, pt-assign.h, pt-bp.cc, pt-bp.h, symtab.cc,
22960 ov-cs-list.h, ov-cs-list.cc: 22960 ov-cs-list.h, ov-cs-list.cc:
22961 Use "defined (USE_PRAGMA_INTERFACE_IMPLEMENTATION)" instead of 22961 Use "defined (USE_PRAGMA_INTERFACE_IMPLEMENTATION)" instead of
22962 "! defined (NO_PRAGMA_INTERFACE_IMPLEMENTATION)". 22962 "! defined (NO_PRAGMA_INTERFACE_IMPLEMENTATION)".
22963 22963
22964 2002-11-19 John W. Eaton <jwe@bevo.che.wisc.edu> 22964 2002-11-19 John W. Eaton <jwe@bevo.che.wisc.edu>
22965 22965
22966 * oct-obj.h (octave_value_list::~octave_value_list): New function. 22966 * oct-obj.h (octave_value_list::~octave_value_list): New function.
23018 Change all uses. 23018 Change all uses.
23019 * parse.y (make_break_expression, make_continue_expression, 23019 * parse.y (make_break_expression, make_continue_expression,
23020 make_return_expression): Rename from make_break_command, 23020 make_return_expression): Rename from make_break_command,
23021 make_continue_command, make_return_command. Change all uses. 23021 make_continue_command, make_return_command. Change all uses.
23022 (jump_expr): Rename from jump_command, type is now expression. 23022 (jump_expr): Rename from jump_command, type is now expression.
23023 Use in simple_expr, not command. 23023 Use in simple_expr, not command.
23024 23024
23025 * toplev.cc (octave_initialized): New global variable. 23025 * toplev.cc (octave_initialized): New global variable.
23026 (main_loop): Set it to true here. 23026 (main_loop): Set it to true here.
23027 * sighandlers.cc (sigint_handler): Exit immediately if we have not 23027 * sighandlers.cc (sigint_handler): Exit immediately if we have not
23028 finished init process. 23028 finished init process.
23061 23061
23062 * cutils.c: Be sure to always return buf. 23062 * cutils.c: Be sure to always return buf.
23063 23063
23064 Undo previous vnprintf changes. The portable snprintf I found 23064 Undo previous vnprintf changes. The portable snprintf I found
23065 does not handle floating point conversions... 23065 does not handle floating point conversions...
23066 23066
23067 2002-11-07 John W. Eaton <jwe@bevo.che.wisc.edu> 23067 2002-11-07 John W. Eaton <jwe@bevo.che.wisc.edu>
23068 23068
23069 * Makefile.in (liboctinterp.$(LIBEXT)): Include $(XERBLA) here. 23069 * Makefile.in (liboctinterp.$(LIBEXT)): Include $(XERBLA) here.
23070 (octave.$(EXEEXT)): Not here. 23070 (octave.$(EXEEXT)): Not here.
23071 (liboctinterp.$(SHLEXT)): Include $(PIC_XERBLA) here. 23071 (liboctinterp.$(SHLEXT)): Include $(PIC_XERBLA) here.
23105 * sighandlers.cc (octave_new_handler, sigfpe_handler, endif, 23105 * sighandlers.cc (octave_new_handler, sigfpe_handler, endif,
23106 sigpipe_handler): Likewise. 23106 sigpipe_handler): Likewise.
23107 23107
23108 * input.cc (gnu_readline): Surround call to 23108 * input.cc (gnu_readline): Surround call to
23109 command_editor::readline with 23109 command_editor::readline with
23110 BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE and 23110 BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE and
23111 END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE. 23111 END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE.
23112 23112
23113 * data.cc, oct-stream.cc, ov-cell.cc, ov-mapper.cc, ov-re-mat.cc, 23113 * data.cc, oct-stream.cc, ov-cell.cc, ov-mapper.cc, ov-re-mat.cc,
23114 ov.cc, pr-output.cc, pt-loop.cc, pt-stmt.cc, xdiv.cc, xpow.cc, 23114 ov.cc, pr-output.cc, pt-loop.cc, pt-stmt.cc, xdiv.cc, xpow.cc,
23115 DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/besselj.cc, 23115 DLD-FUNCTIONS/balance.cc, DLD-FUNCTIONS/besselj.cc,
23166 * DLD-FUNCTIONS/lsode.cc (lsode_user_function, lsode_user_jacobian): 23166 * DLD-FUNCTIONS/lsode.cc (lsode_user_function, lsode_user_jacobian):
23167 Likewise. 23167 Likewise.
23168 * DLD-FUNCTIONS/dassl.cc (dassl_user_function, dassl_user_jacobian): 23168 * DLD-FUNCTIONS/dassl.cc (dassl_user_function, dassl_user_jacobian):
23169 Likewise. 23169 Likewise.
23170 * DLD-FUNCTIONS/dasrt.cc (dasrt_user_f, dasrt_user_cf, dasrt_user_j): 23170 * DLD-FUNCTIONS/dasrt.cc (dasrt_user_f, dasrt_user_cf, dasrt_user_j):
23171 Likewise. 23171 Likewise.
23172 * DLD-FUNCTIONS/daspk.cc (daspk_user_function, daspk_user_jacobian): 23172 * DLD-FUNCTIONS/daspk.cc (daspk_user_function, daspk_user_jacobian):
23173 Likewise. 23173 Likewise.
23174 23174
23175 * DLD-FUNCTIONS/daspk.cc (daspk_user_jacobian): New function. 23175 * DLD-FUNCTIONS/daspk.cc (daspk_user_jacobian): New function.
23176 (Fdaspk): Handle extracting Jacobian from function argument. 23176 (Fdaspk): Handle extracting Jacobian from function argument.
23258 * Makefile.in: Add $(LIBKPATHSEA) to $(OCTAVE_LIBS) if 23258 * Makefile.in: Add $(LIBKPATHSEA) to $(OCTAVE_LIBS) if
23259 $(INCLUDE_LINK_DEPS) is false, not if $(SHARED_LIBS) is false. 23259 $(INCLUDE_LINK_DEPS) is false, not if $(SHARED_LIBS) is false.
23260 23260
23261 2002-10-23 John W. Eaton <jwe@bevo.che.wisc.edu> 23261 2002-10-23 John W. Eaton <jwe@bevo.che.wisc.edu>
23262 23262
23263 * DLD-FUNCTIONS/daspk.cc (daspk): Use set_options, not copy. 23263 * DLD-FUNCTIONS/daspk.cc (daspk): Use set_options, not copy.
23264 * DLD-FUNCTIONS/dasrt.cc (dasrt): Likewise. 23264 * DLD-FUNCTIONS/dasrt.cc (dasrt): Likewise.
23265 * DLD-FUNCTIONS/dassl.cc (dassl): Likewise. 23265 * DLD-FUNCTIONS/dassl.cc (dassl): Likewise.
23266 * DLD-FUNCTIONS/fsolve.cc (fsolve): Likewise. 23266 * DLD-FUNCTIONS/fsolve.cc (fsolve): Likewise.
23267 * DLD-FUNCTIONS/lsode.cc (lsode): Likewise. 23267 * DLD-FUNCTIONS/lsode.cc (lsode): Likewise.
23268 * DLD-FUNCTIONS/odessa.cc (Fodessa): Likewise. 23268 * DLD-FUNCTIONS/odessa.cc (Fodessa): Likewise.
23413 23413
23414 * Makefile.in: Use $(EXEEXT) and $(BUILD_EXEEXT) as appropriate. 23414 * Makefile.in: Use $(EXEEXT) and $(BUILD_EXEEXT) as appropriate.
23415 23415
23416 * pt-plot.cc (Vgnuplot_binary): Use GNUPLOT_BINARY as default. 23416 * pt-plot.cc (Vgnuplot_binary): Use GNUPLOT_BINARY as default.
23417 23417
23418 * octave.cc (execute_startup_files): 23418 * octave.cc (execute_startup_files):
23419 Use octave_env::getcwd instead of "./". 23419 Use octave_env::getcwd instead of "./".
23420 Use OCTAVE_DIR_SEP_STR instead of "/". 23420 Use OCTAVE_DIR_SEP_STR instead of "/".
23421 (initialize_pathsearch): Use OCTAVE_DIR_SEP_STR instead of /. 23421 (initialize_pathsearch): Use OCTAVE_DIR_SEP_STR instead of /.
23422 (main): Look for OCTAVE_DIR_SEP_CHARS, not '/'. 23422 (main): Look for OCTAVE_DIR_SEP_CHARS, not '/'.
23423 23423
23703 (gripe_matlab_incompatible_continuation): Likewise. 23703 (gripe_matlab_incompatible_continuation): Likewise.
23704 (gripe_matlab_incompatible_operator): Likewise. 23704 (gripe_matlab_incompatible_operator): Likewise.
23705 (warn_matlab_incompatible): New function. 23705 (warn_matlab_incompatible): New function.
23706 (Vwarn_matlab_incompatible): New static variable. 23706 (Vwarn_matlab_incompatible): New static variable.
23707 (symbols_of_lex): Add a DEFVAR for it. 23707 (symbols_of_lex): Add a DEFVAR for it.
23708 23708
23709 23709
23710 * file-io.cc (fopen_mode_to_ios_mode): Default value is std::ios::in. 23710 * file-io.cc (fopen_mode_to_ios_mode): Default value is std::ios::in.
23711 Return std::ios::openmode instead of int. 23711 Return std::ios::openmode instead of int.
23712 23712
23713 2002-08-10 John W. Eaton <jwe@bevo.che.wisc.edu> 23713 2002-08-10 John W. Eaton <jwe@bevo.che.wisc.edu>
24263 (tree_index_expression::idx): Now a list of tree_argument_list* 24263 (tree_index_expression::idx): Now a list of tree_argument_list*
24264 objects. 24264 objects.
24265 (tree_index_expression::is_index_expression): Always return true. 24265 (tree_index_expression::is_index_expression): Always return true.
24266 (tree_index_expression::apend, make_value_list, make_subs_cell): 24266 (tree_index_expression::apend, make_value_list, make_subs_cell):
24267 New functions. 24267 New functions.
24268 24268
24269 * pt-pr-code.cc (visit_index_expression): Handle new definition of 24269 * pt-pr-code.cc (visit_index_expression): Handle new definition of
24270 tree_index_expression object. 24270 tree_index_expression object.
24271 * pt-check.cc (visit_index_expression): Likewise. 24271 * pt-check.cc (visit_index_expression): Likewise.
24272 * pt-bp.cc (visit_index_expression): Likewise. 24272 * pt-bp.cc (visit_index_expression): Likewise.
24273 24273
24330 * ov-bool-mat.cc (octave_bool::do_index_op): Ditto. 24330 * ov-bool-mat.cc (octave_bool::do_index_op): Ditto.
24331 * ov-str-mat.cc (octave_char_matrix_str::do_index_op): Ditto. 24331 * ov-str-mat.cc (octave_char_matrix_str::do_index_op): Ditto.
24332 * ov-range.cc (octave_range::do_index_op): Ditto. 24332 * ov-range.cc (octave_range::do_index_op): Ditto.
24333 * ov-list.cc (octave_list::do_index_op): Ditto. 24333 * ov-list.cc (octave_list::do_index_op): Ditto.
24334 * ov.cc (octave_value::do_index_op): Ditto. 24334 * ov.cc (octave_value::do_index_op): Ditto.
24335 24335
24336 * ov-base-mat.cc (octave_base_matrix<MT>::print_info): New function. 24336 * ov-base-mat.cc (octave_base_matrix<MT>::print_info): New function.
24337 24337
24338 * ov-base-mat.h (octave_base_matrix<MT>::empty_clone): New function. 24338 * ov-base-mat.h (octave_base_matrix<MT>::empty_clone): New function.
24339 * ov-base-nd-array.h (octave_base_nd_array<AT>::empty_clone): Ditto. 24339 * ov-base-nd-array.h (octave_base_nd_array<AT>::empty_clone): Ditto.
24340 * ov-base.h (octave_base_value::empty_clone): Ditto. 24340 * ov-base.h (octave_base_value::empty_clone): Ditto.
24446 (Octave_map::operator[], Octave_map::contsnts): Return 24446 (Octave_map::operator[], Octave_map::contsnts): Return
24447 octave_value_list, not Octave_value. Change callers as necessary. 24447 octave_value_list, not Octave_value. Change callers as necessary.
24448 (Octave_map::assign): New function. 24448 (Octave_map::assign): New function.
24449 (Octave_map::array_length): New fucntion. 24449 (Octave_map::array_length): New fucntion.
24450 * oct-obj.cc (octave_value_list::assign): New function. 24450 * oct-obj.cc (octave_value_list::assign): New function.
24451 24451
24452 2002-05-06 John W. Eaton <jwe@bevo.che.wisc.edu> 24452 2002-05-06 John W. Eaton <jwe@bevo.che.wisc.edu>
24453 24453
24454 * TEMPLATE-INST/Map-oct-obj.cc: New file. 24454 * TEMPLATE-INST/Map-oct-obj.cc: New file.
24455 * Makefile.in (TI_XSRC): Add it to the list. 24455 * Makefile.in (TI_XSRC): Add it to the list.
24456 24456
24554 * ov-cx-mat.h (octave_complex_matrix:assign (const 24554 * ov-cx-mat.h (octave_complex_matrix:assign (const
24555 octave_value_list& idx, const ComplexMatrix&)): Replace decl with 24555 octave_value_list& idx, const ComplexMatrix&)): Replace decl with
24556 function. 24556 function.
24557 * ov-re-mat.cc (octave_bool_matrix::assign): Delete. 24557 * ov-re-mat.cc (octave_bool_matrix::assign): Delete.
24558 * ov-re-mat.h (octave_bool_matrix:assign): Delete decl. 24558 * ov-re-mat.h (octave_bool_matrix:assign): Delete decl.
24559 24559
24560 2002-05-02 Cai Jianming <caijianming@yahoo.co.uk> 24560 2002-05-02 Cai Jianming <caijianming@yahoo.co.uk>
24561 24561
24562 * OPERATORS/op-bm-b.cc: New file.x 24562 * OPERATORS/op-bm-b.cc: New file.x
24563 * Makefile.in (OP_XSRC): Add it to the list. 24563 * Makefile.in (OP_XSRC): Add it to the list.
24564 24564
24566 24566
24567 * octave.cc (print_version_and_exit): Use 24567 * octave.cc (print_version_and_exit): Use
24568 OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY, not 24568 OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY, not
24569 OCTAVE_NAME_AND_VERSION. 24569 OCTAVE_NAME_AND_VERSION.
24570 24570
24571 * octave.cc (verbose_usage): 24571 * octave.cc (verbose_usage):
24572 Use OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY, not 24572 Use OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY, not
24573 OCTAVE_NAME_VERSION_AND_COPYRIGHT. 24573 OCTAVE_NAME_VERSION_AND_COPYRIGHT.
24574 24574
24575 * version.h (OCTAVE_COPYING_STATEMENT, OCTAVE_WARRANTY_STATEMENT, 24575 * version.h (OCTAVE_COPYING_STATEMENT, OCTAVE_WARRANTY_STATEMENT,
24576 OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY, 24576 OCTAVE_NAME_VERSION_COPYRIGHT_COPYING_AND_WARRANTY,
24669 * parse.y (input): Set it to TRUE on EOF. 24669 * parse.y (input): Set it to TRUE on EOF.
24670 (parse_and_executed): Save and restore it, check it to correctly 24670 (parse_and_executed): Save and restore it, check it to correctly
24671 break out of parse-execute loop. 24671 break out of parse-execute loop.
24672 (parse_fcn_file): Likewise. 24672 (parse_fcn_file): Likewise.
24673 (eval_string): Likewise. 24673 (eval_string): Likewise.
24674 * toplev.cc (main_loop): Likewise. 24674 * toplev.cc (main_loop): Likewise.
24675 24675
24676 * parse.y (input): Call YYACCEPT for END_OF_INPUT. 24676 * parse.y (input): Call YYACCEPT for END_OF_INPUT.
24677 Return no-op command for bare newline. 24677 Return no-op command for bare newline.
24678 (parse_and_execute): Handle change in yyparse return value semantics. 24678 (parse_and_execute): Handle change in yyparse return value semantics.
24679 24679
24918 24918
24919 * debug.cc (get_user_function): Simplify by using curr_function. 24919 * debug.cc (get_user_function): Simplify by using curr_function.
24920 (Fdbg_where): New function. 24920 (Fdbg_where): New function.
24921 (Fdbg_list): Now DLD_TEXT instead of DLD_FCN. 24921 (Fdbg_list): Now DLD_TEXT instead of DLD_FCN.
24922 (Fdbg_set): Likewise. 24922 (Fdbg_set): Likewise.
24923 (Fdbg_delete): Likewise. 24923 (Fdbg_delete): Likewise.
24924 24924
24925 * pt-bp.h (break_statement): New global variable. 24925 * pt-bp.h (break_statement): New global variable.
24926 (MAYBE_DO_BREAKPOINT): Check for dbg_next and dbg_step. 24926 (MAYBE_DO_BREAKPOINT): Check for dbg_next and dbg_step.
24927 Print line, column, and current statement. 24927 Print line, column, and current statement.
24928 * pt-bp.cc (break_statement): New global variable 24928 * pt-bp.cc (break_statement): New global variable
25028 (c_file_ptr_buf::file_number): New member function. 25028 (c_file_ptr_buf::file_number): New member function.
25029 (c_file_ptr_buf::fd): New private data. 25029 (c_file_ptr_buf::fd): New private data.
25030 (i_c_file_ptr_stream::i_c_file_ptr_stream): Initialize stream 25030 (i_c_file_ptr_stream::i_c_file_ptr_stream): Initialize stream
25031 correctly. 25031 correctly.
25032 (o_c_file_ptr_stream::o_c_file_ptr_stream): Likewise. 25032 (o_c_file_ptr_stream::o_c_file_ptr_stream): Likewise.
25033 * c-file-ptr-stream.cc 25033 * c-file-ptr-stream.cc
25034 (c_file_ptr_buf::{overflow, underflow, uflow, pbackfail): Add 25034 (c_file_ptr_buf::{overflow, underflow, uflow, pbackfail): Add
25035 ISO-compliant EOF handling. 25035 ISO-compliant EOF handling.
25036 * oct-stream.cc (octave_base_stream::file_number): Use 25036 * oct-stream.cc (octave_base_stream::file_number): Use
25037 c_file_ptr_buf::file_number to get underlying file descriptor. 25037 c_file_ptr_buf::file_number to get underlying file descriptor.
25038 25038
25039 * comment-list.cc: Add missing class qualifier. 25039 * comment-list.cc: Add missing class qualifier.
25040 25040
25041 * file-io.cc, load-save.cc, mappers.cc, oct-fstrm.cc, oct-fstrm.h, 25041 * file-io.cc, load-save.cc, mappers.cc, oct-fstrm.cc, oct-fstrm.h,
25053 libstdc++-v2. 25053 libstdc++-v2.
25054 25054
25055 * oct-stdstrm.cc (octave_ostdiostream::create): Remove default 25055 * oct-stdstrm.cc (octave_ostdiostream::create): Remove default
25056 parameter value in definition. 25056 parameter value in definition.
25057 25057
25058 * oct-stream.cc (octave_stream::mode_as_string): Don't assume 25058 * oct-stream.cc (octave_stream::mode_as_string): Don't assume
25059 std::iso::openmode is an integral quantity. 25059 std::iso::openmode is an integral quantity.
25060 25060
25061 * pager.cc, procstream.h: Initialize streams correctly. 25061 * pager.cc, procstream.h: Initialize streams correctly.
25062 25062
25063 * utils.cc: Use CXX_ISO_COMPLIANT_LIBRARY guard. 25063 * utils.cc: Use CXX_ISO_COMPLIANT_LIBRARY guard.
25064 25064
25065 * ov-base-nd-array.cc (idx_list_to_idx_array): Inline. 25065 * ov-base-nd-array.cc (idx_list_to_idx_array): Inline.
25066 25066
25067 * ov-base-scalar.h (octave_base_scalar::octave_base_scalar): Use 25067 * ov-base-scalar.h (octave_base_scalar::octave_base_scalar): Use
25068 ``const ST& s'' instead of ST to workaround gcc3 complex bug. 25068 ``const ST& s'' instead of ST to workaround gcc3 complex bug.
25069 25069
25070 2001-02-05 John W. Eaton <jwe@bevo.che.wisc.edu> 25070 2001-02-05 John W. Eaton <jwe@bevo.che.wisc.edu>
25085 (feval (const std::string&, const octave_value_list&, int)): 25085 (feval (const std::string&, const octave_value_list&, int)):
25086 Set default values for args and nargout. 25086 Set default values for args and nargout.
25087 25087
25088 2001-02-01 Ben Sapp <bsapp@lanl.gov> 25088 2001-02-01 Ben Sapp <bsapp@lanl.gov>
25089 25089
25090 * DLD-FUNCTIONS/debug.cc: New file. 25090 * DLD-FUNCTIONS/debug.cc: New file.
25091 * pt-bp.h, pt-bp.cc: New files, for breakpoints. 25091 * pt-bp.h, pt-bp.cc: New files, for breakpoints.
25092 * Makefile.in: Add them to the appropriate lists. 25092 * Makefile.in: Add them to the appropriate lists.
25093 25093
25094 * pt-stmt.cc (tree_statement_list::set_breakpoint, 25094 * pt-stmt.cc (tree_statement_list::set_breakpoint,
25095 tree_statement_list::delete_breakpoint, 25095 tree_statement_list::delete_breakpoint,
25096 tree_statement_list::list_breakpoints): New functions. 25096 tree_statement_list::list_breakpoints): New functions.
25097 25097
25098 * pt.h (tree::break_point): New data member. 25098 * pt.h (tree::break_point): New data member.
25099 (tree::set_breakpoint, tree::delete_breakpoint, tree::is_breakpoint): 25099 (tree::set_breakpoint, tree::delete_breakpoint, tree::is_breakpoint):
25148 * error.cc (vwarning): Write to output_buf, then send formatted 25148 * error.cc (vwarning): Write to output_buf, then send formatted
25149 message to diary and error streams. 25149 message to diary and error streams.
25150 25150
25151 2001-01-02 John W. Eaton <jwe@bevo.che.wisc.edu> 25151 2001-01-02 John W. Eaton <jwe@bevo.che.wisc.edu>
25152 25152
25153 * ov-cx-mat.cc (octave_complex_matrix::try_narrowing_conversion): 25153 * ov-cx-mat.cc (octave_complex_matrix::try_narrowing_conversion):
25154 Handle empty matrix dimensions correctly. 25154 Handle empty matrix dimensions correctly.
25155 25155
25156 2000-12-14 John W. Eaton <jwe@bevo.che.wisc.edu> 25156 2000-12-14 John W. Eaton <jwe@bevo.che.wisc.edu>
25157 25157
25158 * pager.h (octave_pager_buf::diary_skip): New data member. 25158 * pager.h (octave_pager_buf::diary_skip): New data member.
25366 25366
25367 2000-07-17 John W. Eaton <jwe@bevo.che.wisc.edu> 25367 2000-07-17 John W. Eaton <jwe@bevo.che.wisc.edu>
25368 25368
25369 * lex.l (next_token_is_bin_op): Don't recognize `..' as a binary op. 25369 * lex.l (next_token_is_bin_op): Don't recognize `..' as a binary op.
25370 25370
25371 * load-save.cc (get_file_format): Call read_mat5_binary_file_header 25371 * load-save.cc (get_file_format): Call read_mat5_binary_file_header
25372 with third arg true instead of false, so we don't barf if the file 25372 with third arg true instead of false, so we don't barf if the file
25373 is not a matlab v5 binary file. 25373 is not a matlab v5 binary file.
25374 25374
25375 2000-07-14 John W. Eaton <jwe@bevo.che.wisc.edu> 25375 2000-07-14 John W. Eaton <jwe@bevo.che.wisc.edu>
25376 25376
25755 diagonal matrix types in constructors. 25755 diagonal matrix types in constructors.
25756 25756
25757 * mappers.cc (ximag, xreal): Return double, not Complex. 25757 * mappers.cc (ximag, xreal): Return double, not Complex.
25758 25758
25759 * error.cc (panic): Turn off buffering of error messages. 25759 * error.cc (panic): Turn off buffering of error messages.
25760 Don't call flush_octave_stdout here, verror will do it for us. 25760 Don't call flush_octave_stdout here, verror will do it for us.
25761 (verror): Don't call flush_octave_stdout if buffering error messages. 25761 (verror): Don't call flush_octave_stdout if buffering error messages.
25762 25762
25763 * pt-except.cc (tree_try_catch_command::eval): Only restore 25763 * pt-except.cc (tree_try_catch_command::eval): Only restore
25764 buffer_error_message value (by running the unwind_protect element 25764 buffer_error_message value (by running the unwind_protect element
25765 for it) if it has been saved. 25765 for it) if it has been saved.
25786 * ov-base-mat.cc: Include pr-output.h here. 25786 * ov-base-mat.cc: Include pr-output.h here.
25787 25787
25788 * DLD-FUNCTIONS/rand.cc (curr_rand_dist): Return const char * 25788 * DLD-FUNCTIONS/rand.cc (curr_rand_dist): Return const char *
25789 instead of char *. 25789 instead of char *.
25790 25790
25791 * oct-fstrm.cc (octave_fstream::seek, octave_fstream::tell): 25791 * oct-fstrm.cc (octave_fstream::seek, octave_fstream::tell):
25792 Call pubseekoff instead of seekoff. 25792 Call pubseekoff instead of seekoff.
25793 25793
25794 * DLD-FUNCTIONS/dassl.cc (print_dassl_option_list): Use stream 25794 * DLD-FUNCTIONS/dassl.cc (print_dassl_option_list): Use stream
25795 manipulators instead of GNU iostream-specific form function. 25795 manipulators instead of GNU iostream-specific form function.
25796 * DLD-FUNCTIONS/fsolve.cc (print_fsolve_option_list): Ditto. 25796 * DLD-FUNCTIONS/fsolve.cc (print_fsolve_option_list): Ditto.
26022 2000-01-25 John W. Eaton <jwe@bevo.che.wisc.edu> 26022 2000-01-25 John W. Eaton <jwe@bevo.che.wisc.edu>
26023 26023
26024 * xdiv.cc (result_ok): Just check value of info. 26024 * xdiv.cc (result_ok): Just check value of info.
26025 (solve_singularity_warning): New function. 26025 (solve_singularity_warning): New function.
26026 (xleftdiv, xdiv): Pass pointer to solve_singularity_warning to 26026 (xleftdiv, xdiv): Pass pointer to solve_singularity_warning to
26027 solve function. 26027 solve function.
26028 26028
26029 * lex.l (handle_identifier): Set next_tok_is_eq if we are looking 26029 * lex.l (handle_identifier): Set next_tok_is_eq if we are looking
26030 at `=', but not if we are looking at `=='. 26030 at `=', but not if we are looking at `=='.
26031 26031
26032 * pt-pr-code.cc (tree_print_code::visit_unwind_protect_command): 26032 * pt-pr-code.cc (tree_print_code::visit_unwind_protect_command):
26033 Print `unwind_protect_cleanup', not `cleanup_code'. 26033 Print `unwind_protect_cleanup', not `cleanup_code'.
26034 26034
26035 * pager.cc (octave_pager_buf::flush_current_contents_to_diary): 26035 * pager.cc (octave_pager_buf::flush_current_contents_to_diary):
26036 New function. 26036 New function.
26037 (octave_pager_stream::flush_current_contents_to_diary): 26037 (octave_pager_stream::flush_current_contents_to_diary):
26072 * ov-cell.cc (Fiscell, Fcell): Ditto. 26072 * ov-cell.cc (Fiscell, Fcell): Ditto.
26073 * pt-assign.cc (Vprint_rhs_assign_val): Ditto. 26073 * pt-assign.cc (Vprint_rhs_assign_val): Ditto.
26074 * pt-decl.cc (Vinitialize_global_variables): Ditto. 26074 * pt-decl.cc (Vinitialize_global_variables): Ditto.
26075 * symtab.cc (Vvariables_can_hide_functions): Ditto. 26075 * symtab.cc (Vvariables_can_hide_functions): Ditto.
26076 26076
26077 * pt-plot.cc (Fgraw, Fgset, Fgshow, Vgnuplot_command_plot, 26077 * pt-plot.cc (Fgraw, Fgset, Fgshow, Vgnuplot_command_plot,
26078 Vgnuplot_command_replot, Vgnuplot_command_splot, 26078 Vgnuplot_command_replot, Vgnuplot_command_splot,
26079 Vgnuplot_command_using, Vgnuplot_command_with, 26079 Vgnuplot_command_using, Vgnuplot_command_with,
26080 Vgnuplot_command_axes, Vgnuplot_command_title, 26080 Vgnuplot_command_axes, Vgnuplot_command_title,
26081 Vgnuplot_command_end): Texinfoize doc strings. 26081 Vgnuplot_command_end): Texinfoize doc strings.
26082 26082
26241 * DLD-FUNCTIONS/colloc.cc (Fcolloc): Ditto. 26241 * DLD-FUNCTIONS/colloc.cc (Fcolloc): Ditto.
26242 * DLD-FUNCTIONS/fsolve.cc (Ffsolve, Ffsolve_options): Ditto. 26242 * DLD-FUNCTIONS/fsolve.cc (Ffsolve, Ffsolve_options): Ditto.
26243 * defaults.cc (Veditor): Ditto. 26243 * defaults.cc (Veditor): Ditto.
26244 * pt-plot.cc (Vautomatic_replot, Vgnuplot_binary, 26244 * pt-plot.cc (Vautomatic_replot, Vgnuplot_binary,
26245 Vgnuplot_has_frames, Vgnuplot_has_multiplot, Fclearplot, 26245 Vgnuplot_has_frames, Vgnuplot_has_multiplot, Fclearplot,
26246 Fcloseplot, Fpurge_tmp_files, Fishold, Fhold): 26246 Fcloseplot, Fpurge_tmp_files, Fishold, Fhold):
26247 26247
26248 * Makefile.in (parse.cc): Expect 11 shift/reduce conflicts now. 26248 * Makefile.in (parse.cc): Expect 11 shift/reduce conflicts now.
26249 26249
26250 1999-11-19 John W. Eaton <jwe@bevo.che.wisc.edu> 26250 1999-11-19 John W. Eaton <jwe@bevo.che.wisc.edu>
26251 26251
26345 * lex.h, lex.l: Handle `{' and `}' tokens (for cell arrays). 26345 * lex.h, lex.l: Handle `{' and `}' tokens (for cell arrays).
26346 (bracketflag): Rename from braceflag. 26346 (bracketflag): Rename from braceflag.
26347 (handle_close_bracket): Rename from handle_close_brace. 26347 (handle_close_bracket): Rename from handle_close_brace.
26348 (class bracket_brace_paren_nesting_level): Rename from 26348 (class bracket_brace_paren_nesting_level): Rename from
26349 brace_paren_nesting_level. 26349 brace_paren_nesting_level.
26350 (bracket_brace_paren_nesting_level::bracket, 26350 (bracket_brace_paren_nesting_level::bracket,
26351 bracket_brace_paren_nesting_level::is_bracket): New functions to 26351 bracket_brace_paren_nesting_level::is_bracket): New functions to
26352 keep count of nesting level for `[' and `]'. 26352 keep count of nesting level for `[' and `]'.
26353 (bracket_brace_paren_nesting_level::brace, 26353 (bracket_brace_paren_nesting_level::brace,
26354 bracket_brace_paren_nesting_level::is_brace): Now keeps count of 26354 bracket_brace_paren_nesting_level::is_brace): Now keeps count of
26355 nesting level for `{' and `}'. 26355 nesting level for `{' and `}'.
26356 * parse.y (tree_cell_type): New type. 26356 * parse.y (tree_cell_type): New type.
26357 Give '{' the same precedence and associativity as '(' and '.' 26357 Give '{' the same precedence and associativity as '(' and '.'
26358 (matrix_rows, matrix_rows1): Rename from rows, rows1. 26358 (matrix_rows, matrix_rows1): Rename from rows, rows1.
26440 * input.cc (Fecho, Fcompletion_matches): Ditto. 26440 * input.cc (Fecho, Fcompletion_matches): Ditto.
26441 * oct-hist.cc (Fedit_history, Fhistory, Frun_history): Ditto. 26441 * oct-hist.cc (Fedit_history, Fhistory, Frun_history): Ditto.
26442 * pager.cc (Fdiary): Ditto. 26442 * pager.cc (Fdiary): Ditto.
26443 * sysdep.cc (Fclc): Ditto. 26443 * sysdep.cc (Fclc): Ditto.
26444 * toplev.cc (Fquit, Fatexit): Ditto. 26444 * toplev.cc (Fquit, Fatexit): Ditto.
26445 26445
26446 1999-11-02 John W. Eaton <jwe@bevo.che.wisc.edu> 26446 1999-11-02 John W. Eaton <jwe@bevo.che.wisc.edu>
26447 26447
26448 * lex.l (yywrap): No longer static. 26448 * lex.l (yywrap): No longer static.
26449 (have_continuation): Declare input character as int, not char, so 26449 (have_continuation): Declare input character as int, not char, so
26450 comparison to EOF will work. 26450 comparison to EOF will work.
26696 * oct-stream.cc (scanf_format_list::all_character_conversions): 26696 * oct-stream.cc (scanf_format_list::all_character_conversions):
26697 Don't count %p as a character conversion. 26697 Don't count %p as a character conversion.
26698 26698
26699 Tue Sep 7 08:31:04 1999 John W. Eaton <jwe@bevo.che.wisc.edu> 26699 Tue Sep 7 08:31:04 1999 John W. Eaton <jwe@bevo.che.wisc.edu>
26700 26700
26701 * pr-output.cc (set_real_matrix_format, set_complex_matrix_format): 26701 * pr-output.cc (set_real_matrix_format, set_complex_matrix_format):
26702 Move check for fixed_point_format ahead of check for 26702 Move check for fixed_point_format ahead of check for
26703 int_or_inf_or_nan. 26703 int_or_inf_or_nan.
26704 26704
26705 Thu Sep 2 11:54:51 1999 John W. Eaton <jwe@bevo.che.wisc.edu> 26705 Thu Sep 2 11:54:51 1999 John W. Eaton <jwe@bevo.che.wisc.edu>
26706 26706
26735 them. 26735 them.
26736 26736
26737 * variables.cc (do_who): Display built-in constants in a separate 26737 * variables.cc (do_who): Display built-in constants in a separate
26738 section. 26738 section.
26739 26739
26740 * error.cc (bind_global_error_variable, clear_global_error_variable): 26740 * error.cc (bind_global_error_variable, clear_global_error_variable):
26741 Call bind_builtin_constant, not bind_builtin_variable to set 26741 Call bind_builtin_constant, not bind_builtin_variable to set
26742 __error_text__. 26742 __error_text__.
26743 * octave.cc (intern_argv): Likewise, for argv and __argv__. 26743 * octave.cc (intern_argv): Likewise, for argv and __argv__.
26744 26744
26745 * defun.cc (install_builtin_constant): Move function guts to 26745 * defun.cc (install_builtin_constant): Move function guts to
26805 (octave_user_function::time_parsed, 26805 (octave_user_function::time_parsed,
26806 (octave_user_function::time_checked): 26806 (octave_user_function::time_checked):
26807 Return value is now octave_time object. 26807 Return value is now octave_time object.
26808 (octave_user_function::mark_fcn_file_up_to_date)): 26808 (octave_user_function::mark_fcn_file_up_to_date)):
26809 Arg is now octave_time object. 26809 Arg is now octave_time object.
26810 26810
26811 * ov-fcn.h (octave_function::mark_fcn_file_up_to_date)): 26811 * ov-fcn.h (octave_function::mark_fcn_file_up_to_date)):
26812 Arg is now octave_time object. 26812 Arg is now octave_time object.
26813 (octave_function::time_parsed, octave_function::time_checked): 26813 (octave_function::time_parsed, octave_function::time_checked):
26814 Return value is now octave_time object. 26814 Return value is now octave_time object.
26815 26815
26857 26857
26858 * pr-output.cc (do_plus_format (ostream&, const Complex&)): 26858 * pr-output.cc (do_plus_format (ostream&, const Complex&)):
26859 New function. 26859 New function.
26860 (octave_print_internal (ostream&, const Complex&, bool)): Use it. 26860 (octave_print_internal (ostream&, const Complex&, bool)): Use it.
26861 (octave_print_internal (ostream&, const ComplexMatrix&, bool, int)): 26861 (octave_print_internal (ostream&, const ComplexMatrix&, bool, int)):
26862 Ditto. 26862 Ditto.
26863 26863
26864 Sun Jun 20 23:04:00 1999 John W. Eaton <jwe@bevo.che.wisc.edu> 26864 Sun Jun 20 23:04:00 1999 John W. Eaton <jwe@bevo.che.wisc.edu>
26865 26865
26866 * sysdep.cc: Include sys/ioctl.h if available. 26866 * sysdep.cc: Include sys/ioctl.h if available.
26867 26867
26891 Thu May 27 18:28:35 1999 John W. Eaton <jwe@bevo.che.wisc.edu> 26891 Thu May 27 18:28:35 1999 John W. Eaton <jwe@bevo.che.wisc.edu>
26892 26892
26893 * DLD-FUNCTIONS/chol.cc (Fchol): Also return info as second output. 26893 * DLD-FUNCTIONS/chol.cc (Fchol): Also return info as second output.
26894 26894
26895 * DLD-FUNCTIONS/minmax.cc (max (const ComplexMatrix&, const 26895 * DLD-FUNCTIONS/minmax.cc (max (const ComplexMatrix&, const
26896 ComplexMatrix&)): Correct test for real columns only. 26896 ComplexMatrix&)): Correct test for real columns only.
26897 (min (const ComplexMatrix&, const ComplexMatrix&)): Likewise. 26897 (min (const ComplexMatrix&, const ComplexMatrix&)): Likewise.
26898 26898
26899 Wed Apr 14 12:54:25 1999 John W. Eaton <jwe@bevo.che.wisc.edu> 26899 Wed Apr 14 12:54:25 1999 John W. Eaton <jwe@bevo.che.wisc.edu>
26900 26900
26901 * DLD-FUNCTIONS/dassl.cc (Fdassl): Prevent recursive calls. 26901 * DLD-FUNCTIONS/dassl.cc (Fdassl): Prevent recursive calls.
27032 New files for new class definition. Put common scalar data type 27032 New files for new class definition. Put common scalar data type
27033 stuff here. 27033 stuff here.
27034 * Makefile.in (OV_INCLUDES, OV_SRC): Add them to the lists. 27034 * Makefile.in (OV_INCLUDES, OV_SRC): Add them to the lists.
27035 27035
27036 Thu Nov 19 14:30:25 1998 John W. Eaton <jwe@bevo.che.wisc.edu> 27036 Thu Nov 19 14:30:25 1998 John W. Eaton <jwe@bevo.che.wisc.edu>
27037 27037
27038 * dynamic-ld.cc (octave_dynamic_loader::mangle_name): 27038 * dynamic-ld.cc (octave_dynamic_loader::mangle_name):
27039 Prepend underscore here. 27039 Prepend underscore here.
27040 (octave_dynamic_loader::load_fcn_from_dot_oct_file): Not here. 27040 (octave_dynamic_loader::load_fcn_from_dot_oct_file): Not here.
27041 27041
27042 * ov-re-mat.h (octave_matrix_value): Delete experimental code for 27042 * ov-re-mat.h (octave_matrix_value): Delete experimental code for
27073 27073
27074 * input.cc (gnu_readline): Check for EOF from command_editor::readline. 27074 * input.cc (gnu_readline): Check for EOF from command_editor::readline.
27075 27075
27076 * ov-str-mat.h, ov-str-mat.cc (class octave_char_matrix_str): 27076 * ov-str-mat.h, ov-str-mat.cc (class octave_char_matrix_str):
27077 Get common functions via new derivation scheme. 27077 Get common functions via new derivation scheme.
27078 27078
27079 * ov-bool-mat.h, ov-bool-mat.cc (class octave_bool_matrix): 27079 * ov-bool-mat.h, ov-bool-mat.cc (class octave_bool_matrix):
27080 Derive from octave_base_matrix and get common functions via derivation. 27080 Derive from octave_base_matrix and get common functions via derivation.
27081 * ov-ch-mat.h, ov-ch-mat.cc (class octave_char_matrix): Ditto. 27081 * ov-ch-mat.h, ov-ch-mat.cc (class octave_char_matrix): Ditto.
27082 * ov-cx-mat.h, ov-cx-mat.cc (class octave_complex_matrix): Ditto. 27082 * ov-cx-mat.h, ov-cx-mat.cc (class octave_complex_matrix): Ditto.
27083 * ov-re-mat.h, ov-re-mat.cc (class octave_real_matrix): Ditto. 27083 * ov-re-mat.h, ov-re-mat.cc (class octave_real_matrix): Ditto.
27205 * pt-assign.h (tree_multi_assignment::etype): New data member. 27205 * pt-assign.h (tree_multi_assignment::etype): New data member.
27206 * pt-assign.cc (tree_multi_assignment::rvalue): Use it instead of 27206 * pt-assign.cc (tree_multi_assignment::rvalue): Use it instead of
27207 assuming `='. 27207 assuming `='.
27208 (tree_multi_assignment::oper): New function. 27208 (tree_multi_assignment::oper): New function.
27209 * pt-pr-code.cc (tree_print_code::visit_multi_assignment): Use 27209 * pt-pr-code.cc (tree_print_code::visit_multi_assignment): Use
27210 it instead of always printing `='. 27210 it instead of always printing `='.
27211 * parse.y (make_assign_op): Pass expression type to 27211 * parse.y (make_assign_op): Pass expression type to
27212 tree_multi_assignment constructor. 27212 tree_multi_assignment constructor.
27213 27213
27214 * Makefile.in (stmp-pic): New target. 27214 * Makefile.in (stmp-pic): New target.
27215 ($(PICOBJ)): Depend on stmp-pic, not pic. 27215 ($(PICOBJ)): Depend on stmp-pic, not pic.
27216 (clean): Delete stmp-pic. 27216 (clean): Delete stmp-pic.
27217 27217
27277 * ov-str-mat.cc (default_numeric_conversion_function): 27277 * ov-str-mat.cc (default_numeric_conversion_function):
27278 Return 0 if conversion fails. 27278 Return 0 if conversion fails.
27279 27279
27280 * parse.y (make_prefix_op, make_postfix_op): Use 27280 * parse.y (make_prefix_op, make_postfix_op): Use
27281 octave_value::unary_op enum. 27281 octave_value::unary_op enum.
27282 27282
27283 * pt-unop.cc (tree_prefix_expression::rvalue): Use new unary_op 27283 * pt-unop.cc (tree_prefix_expression::rvalue): Use new unary_op
27284 functions from octave_value and octave_lvalue classes. 27284 functions from octave_value and octave_lvalue classes.
27285 (tree_prefix_expression::rvalue): Likewise. 27285 (tree_prefix_expression::rvalue): Likewise.
27286 27286
27287 * pt-unop.cc (tree_unary_expression::oper): Move here. 27287 * pt-unop.cc (tree_unary_expression::oper): Move here.
27289 27289
27290 * pt-unop.h (tree_prefix_expression, tree_postfix_expression): 27290 * pt-unop.h (tree_prefix_expression, tree_postfix_expression):
27291 Delete enums. 27291 Delete enums.
27292 (tree_unary_expression): Use octave_value::unary_op enum. 27292 (tree_unary_expression): Use octave_value::unary_op enum.
27293 * parse.y (make_prefix_op, make_postfix_op): Likewise. 27293 * parse.y (make_prefix_op, make_postfix_op): Likewise.
27294 27294
27295 * oct-lvalue.h (octave_lvalue::do_unary_op): New function. 27295 * oct-lvalue.h (octave_lvalue::do_unary_op): New function.
27296 (octave_lvalue::increment, octave_lvalue::decrement): Delete. 27296 (octave_lvalue::increment, octave_lvalue::decrement): Delete.
27297 27297
27298 * ov-typeinfo.h (octave_value_typeinfo::non_const_unary_ops): 27298 * ov-typeinfo.h (octave_value_typeinfo::non_const_unary_ops):
27299 New data member. 27299 New data member.
27366 octave_value::increment, octave_value::decrement): Delete. 27366 octave_value::increment, octave_value::decrement): Delete.
27367 27367
27368 * ov-base.cc (octave_base_value::not, octave_base_value::uminus, 27368 * ov-base.cc (octave_base_value::not, octave_base_value::uminus,
27369 octave_base_value::transpose, octave_base_value::hermitian, 27369 octave_base_value::transpose, octave_base_value::hermitian,
27370 octave_base_value::increment, octave_base_value::decrement): Delete. 27370 octave_base_value::increment, octave_base_value::decrement): Delete.
27371 27371
27372 * ov.cc (gripe_unary_op): New function. 27372 * ov.cc (gripe_unary_op): New function.
27373 (do_unary_op): New function. 27373 (do_unary_op): New function.
27374 * ov-typeinfo.h (octave_value_typeinfo::unary_ops): 27374 * ov-typeinfo.h (octave_value_typeinfo::unary_ops):
27375 New data member. 27375 New data member.
27376 * ov-typeinfo.cc (octave_value_info::register_unary_op, 27376 * ov-typeinfo.cc (octave_value_info::register_unary_op,
27388 * file-io.cc (do_fread): Likewise. 27388 * file-io.cc (do_fread): Likewise.
27389 (do_fwrite): Likewise. 27389 (do_fwrite): Likewise.
27390 * data.cc (make_diag): Likewise. 27390 * data.cc (make_diag): Likewise.
27391 (Fsize): Likewise. 27391 (Fsize): Likewise.
27392 (get_dimensions): Likewise. 27392 (get_dimensions): Likewise.
27393 (Flinspace): 27393 (Flinspace):
27394 27394
27395 * ov-base.cc (octave_base_value::int_value): New function. 27395 * ov-base.cc (octave_base_value::int_value): New function.
27396 (octave_base_value::nint_value): Ditto. 27396 (octave_base_value::nint_value): Ditto.
27397 * ov.h (octave_value::int_value): Ditto. 27397 * ov.h (octave_value::int_value): Ditto.
27398 (octave_value::nint_value): Ditto. 27398 (octave_value::nint_value): Ditto.
27451 * ov-scalar.h (octave_scalar::length): Ditto. 27451 * ov-scalar.h (octave_scalar::length): Ditto.
27452 27452
27453 Tue Oct 27 22:19:24 1998 John W. Eaton <jwe@bevo.che.wisc.edu> 27453 Tue Oct 27 22:19:24 1998 John W. Eaton <jwe@bevo.che.wisc.edu>
27454 27454
27455 * ov-list.cc (octave_list::print_raw): Handle case of empty list. 27455 * ov-list.cc (octave_list::print_raw): Handle case of empty list.
27456 (octave_list::print_name_tag): Likewise. 27456 (octave_list::print_name_tag): Likewise.
27457 27457
27458 * octave.cc (intern_argv): Built-in variable argv is now a list of 27458 * octave.cc (intern_argv): Built-in variable argv is now a list of
27459 strings instead of a string vector. 27459 strings instead of a string vector.
27460 Always bind argv, making it an empty list if there are no args. 27460 Always bind argv, making it an empty list if there are no args.
27461 27461
27467 (mx_div_conform): Likewise. 27467 (mx_div_conform): Likewise.
27468 27468
27469 * pt-unop.h (tree_prefix_expression): Reorder constructor args to 27469 * pt-unop.h (tree_prefix_expression): Reorder constructor args to
27470 put those with default values last. 27470 put those with default values last.
27471 (tree_postfix_expression): Likewise. 27471 (tree_postfix_expression): Likewise.
27472 * parse.y: Change all callers. 27472 * parse.y: Change all callers.
27473 27473
27474 Fri Oct 23 12:07:32 1998 John W. Eaton <jwe@bevo.che.wisc.edu> 27474 Fri Oct 23 12:07:32 1998 John W. Eaton <jwe@bevo.che.wisc.edu>
27475 27475
27476 * utils.cc (Ffile_in_loadpath): New function. 27476 * utils.cc (Ffile_in_loadpath): New function.
27477 27477
27512 data member. 27512 data member.
27513 * lex.l (handle_identifier): Use it to handle keywords like `cd' 27513 * lex.l (handle_identifier): Use it to handle keywords like `cd'
27514 as variables in contexts like [ab, cd] = foo (). 27514 as variables in contexts like [ab, cd] = foo ().
27515 27515
27516 * ov-str-mat.h 27516 * ov-str-mat.h
27517 (octave_char_matrix_str::octave_char_matrix_str (char c)): 27517 (octave_char_matrix_str::octave_char_matrix_str (char c)):
27518 New constructor. 27518 New constructor.
27519 * ov-ch-mat.h (octave_char_matrix::octave_char_matrix (char c)): 27519 * ov-ch-mat.h (octave_char_matrix::octave_char_matrix (char c)):
27520 New constructor. 27520 New constructor.
27521 * ov.cc (octave_value::octave_value (char c): New constructor. 27521 * ov.cc (octave_value::octave_value (char c): New constructor.
27522 27522
27655 27655
27656 * xpow.cc (xpow): Improve efficiency for matrix^(scalar int) case. 27656 * xpow.cc (xpow): Improve efficiency for matrix^(scalar int) case.
27657 27657
27658 Thu Jun 4 12:42:46 1998 John W. Eaton <jwe@bevo.che.wisc.edu> 27658 Thu Jun 4 12:42:46 1998 John W. Eaton <jwe@bevo.che.wisc.edu>
27659 27659
27660 * ov-usr-fcn.cc (octave_user_function::octave_all_va_args): 27660 * ov-usr-fcn.cc (octave_user_function::octave_all_va_args):
27661 If num_args_passed < num_named_args, create zero length list. 27661 If num_args_passed < num_named_args, create zero length list.
27662 27662
27663 Thu May 14 16:23:15 1998 John W. Eaton <jwe@bevo.che.wisc.edu> 27663 Thu May 14 16:23:15 1998 John W. Eaton <jwe@bevo.che.wisc.edu>
27664 27664
27665 * DLD-FUNCTIONS/getrusage.cc: Include sys/types.h too. 27665 * DLD-FUNCTIONS/getrusage.cc: Include sys/types.h too.
27800 (gnuplot_command_plot, gnuplot_command_replot, 27800 (gnuplot_command_plot, gnuplot_command_replot,
27801 gnuplot_command_splot, gnuplot_command_using, 27801 gnuplot_command_splot, gnuplot_command_using,
27802 gnuplot_command_with, gnuplot_command_title, 27802 gnuplot_command_with, gnuplot_command_title,
27803 gnuplot_command_end): New functions. 27803 gnuplot_command_end): New functions.
27804 (open_plot_stream, send_to_plot_stream, tree_plot_command::eval, 27804 (open_plot_stream, send_to_plot_stream, tree_plot_command::eval,
27805 subplot_using::print, subplot_style::print, subplot::print, 27805 subplot_using::print, subplot_style::print, subplot::print,
27806 do_external_plotter_cd, Fgset, Fgshow): Use them instead of the 27806 do_external_plotter_cd, Fgset, Fgshow): Use them instead of the
27807 GPLOT_CMD_PLOT, GPLOT_CMD_REPLOT, GPLOT_CMD_SPLOT, 27807 GPLOT_CMD_PLOT, GPLOT_CMD_REPLOT, GPLOT_CMD_SPLOT,
27808 GPLOT_CMD_USING, GPLOT_CMD_WITH, GPLOT_CMD_TITLE, and 27808 GPLOT_CMD_USING, GPLOT_CMD_WITH, GPLOT_CMD_TITLE, and
27809 GPLOT_CMD_END macros. 27809 GPLOT_CMD_END macros.
27810 27810
27903 * unwind-prot.h (unwind_protect::save_ptr): Likewise. 27903 * unwind-prot.h (unwind_protect::save_ptr): Likewise.
27904 * Map.cc (goodCHptr, index_to_CHptr, CHptr_to_index): Likewise. 27904 * Map.cc (goodCHptr, index_to_CHptr, CHptr_to_index): Likewise.
27905 * dynamic-ld.cc (octave_dlopen_dynamic_loder::resolve_reference): 27905 * dynamic-ld.cc (octave_dlopen_dynamic_loder::resolve_reference):
27906 Likewise. 27906 Likewise.
27907 27907
27908 * pt-mat.cc (tm_const::operator bool ()): 27908 * pt-mat.cc (tm_const::operator bool ()):
27909 (tm_row_const::operator bool ()): Likewise. 27909 (tm_row_const::operator bool ()): Likewise.
27910 * oct-stream.cc (printf_value_cache::operator bool ()): Likewise. 27910 * oct-stream.cc (printf_value_cache::operator bool ()): Likewise.
27911 (scanf_format_list::operator bool ()): Likewise. 27911 (scanf_format_list::operator bool ()): Likewise.
27912 (printf_format_list::operator bool ()): Likewise. 27912 (printf_format_list::operator bool ()): Likewise.
27913 (octave_stream::operator bool ()): Likewise. 27913 (octave_stream::operator bool ()): Likewise.
27916 27916
27917 * DLD-FUNCTIONS/minmax.cc: Include cmath, not oct-math.h. 27917 * DLD-FUNCTIONS/minmax.cc: Include cmath, not oct-math.h.
27918 27918
27919 * syscalls.cc (Fdup2): Convert stream to actual system file id. 27919 * syscalls.cc (Fdup2): Convert stream to actual system file id.
27920 27920
27921 * oct-stream.cc (octave_base_stream::fileno, octave_stream::fileno): 27921 * oct-stream.cc (octave_base_stream::fileno, octave_stream::fileno):
27922 New functions. 27922 New functions.
27923 27923
27924 Tue Feb 3 00:24:44 1998 John W. Eaton <jwe@bevo.che.wisc.edu> 27924 Tue Feb 3 00:24:44 1998 John W. Eaton <jwe@bevo.che.wisc.edu>
27925 27925
27926 * defaults.cc (exec_path): Append Vbin_dir to std_path. 27926 * defaults.cc (exec_path): Append Vbin_dir to std_path.
28192 * Makefile.in (install-inc): If defaults.h, oct-conf.h, or 28192 * Makefile.in (install-inc): If defaults.h, oct-conf.h, or
28193 oct-gperf.h don't exist in the current directory, look in $(srcdir). 28193 oct-gperf.h don't exist in the current directory, look in $(srcdir).
28194 28194
28195 Mon Jul 7 21:14:07 1997 John W. Eaton <jwe@bevo.che.wisc.edu> 28195 Mon Jul 7 21:14:07 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
28196 28196
28197 * DLD-FUNCTIONS/qr.cc (Fqr): Correctly handle nargout == 0. 28197 * DLD-FUNCTIONS/qr.cc (Fqr): Correctly handle nargout == 0.
28198 28198
28199 Wed Jul 2 16:47:09 1997 John W. Eaton <jwe@bevo.che.wisc.edu> 28199 Wed Jul 2 16:47:09 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
28200 28200
28201 * matherr.c: New file. Move matherr function here. 28201 * matherr.c: New file. Move matherr function here.
28202 * sysdep.cc: From here. 28202 * sysdep.cc: From here.
28246 Thu Jun 5 01:42:39 1997 John W. Eaton <jwe@bevo.che.wisc.edu> 28246 Thu Jun 5 01:42:39 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
28247 28247
28248 * Makefile.in: Make building of static library optional. 28248 * Makefile.in: Make building of static library optional.
28249 (liboctave.$(SHLEXT_VER)): Add $(SONAME_FLAGS) to command. 28249 (liboctave.$(SHLEXT_VER)): Add $(SONAME_FLAGS) to command.
28250 28250
28251 * dynamic-ld.cc (octave_shl_load_dynamic_loader::resolve_reference): 28251 * dynamic-ld.cc (octave_shl_load_dynamic_loader::resolve_reference):
28252 Call shl_findsym with type set to TYPE_UNDEFINED. 28252 Call shl_findsym with type set to TYPE_UNDEFINED.
28253 28253
28254 * Makefile.in (stamp-picdir): Delete. 28254 * Makefile.in (stamp-picdir): Delete.
28255 (pic): New target. Don't worry so much about creating pic 28255 (pic): New target. Don't worry so much about creating pic
28256 directory only when it is really needed. 28256 directory only when it is really needed.
28321 (reading_script_file): Likeiwse. 28321 (reading_script_file): Likeiwse.
28322 (reading_fcn_file): Likeiwse. 28322 (reading_fcn_file): Likeiwse.
28323 (interactive): Likewise. 28323 (interactive): Likewise.
28324 28324
28325 * unwind-prot.cc (saved_variable::saved_variable (bool *, bool)): 28325 * unwind-prot.cc (saved_variable::saved_variable (bool *, bool)):
28326 Set type_tag to boolean, not int. 28326 Set type_tag to boolean, not int.
28327 28327
28328 Mon Jun 2 00:40:10 1997 John W. Eaton <jwe@bevo.che.wisc.edu> 28328 Mon Jun 2 00:40:10 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
28329 28329
28330 * variables.h (Octave_builtin_fcn): Delete typedef. 28330 * variables.h (Octave_builtin_fcn): Delete typedef.
28331 28331
28341 28341
28342 * defun.cc (check_version): New function. 28342 * defun.cc (check_version): New function.
28343 * defun-int.h (DEFINE_FUN_INSTALLER_FUN): Use it. 28343 * defun-int.h (DEFINE_FUN_INSTALLER_FUN): Use it.
28344 28344
28345 * help.h, help.cc (additional_help_message): Now extern. 28345 * help.h, help.cc (additional_help_message): Now extern.
28346 (operator_help): Now static. 28346 (operator_help): Now static.
28347 28347
28348 * defun.cc (print_usage): Move here from help.cc 28348 * defun.cc (print_usage): Move here from help.cc
28349 * DLD-FUNCTIONS/*.cc, data.cc, dirfns.cc, file-io.cc, input.cc, 28349 * DLD-FUNCTIONS/*.cc, data.cc, dirfns.cc, file-io.cc, input.cc,
28350 load-save.cc, octave.cc, ov-list.cc, ov-typeinfo.cc, 28350 load-save.cc, octave.cc, ov-list.cc, ov-typeinfo.cc,
28351 ov-usr-fcn.cc, pager.cc, pr-output.cc, pt-plot.cc, strfns.cc, 28351 ov-usr-fcn.cc, pager.cc, pr-output.cc, pt-plot.cc, strfns.cc,
28431 * variables.cc (initialize_symbol_tables): Set top-level and 28431 * variables.cc (initialize_symbol_tables): Set top-level and
28432 global symbol table sizes here. 28432 global symbol table sizes here.
28433 28433
28434 Thu May 22 13:32:55 1997 John W. Eaton <jwe@bevo.che.wisc.edu> 28434 Thu May 22 13:32:55 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
28435 28435
28436 * dynamic-ld.cc (octave_shl_load_dynamic_loader::resolve_reference): 28436 * dynamic-ld.cc (octave_shl_load_dynamic_loader::resolve_reference):
28437 Call shl_findsym with type set to TYPE_PROCEDURE. Pass the 28437 Call shl_findsym with type set to TYPE_PROCEDURE. Pass the
28438 address of the pointer we want to define. 28438 address of the pointer we want to define.
28439 28439
28440 Wed May 21 16:30:25 1997 John W. Eaton <jwe@bevo.che.wisc.edu> 28440 Wed May 21 16:30:25 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
28441 28441
28683 octave_variabl_reference::index function to handle indexing. 28683 octave_variabl_reference::index function to handle indexing.
28684 28684
28685 * oct-var-ref.h, oct-var-ref.cc (idx): New data member. 28685 * oct-var-ref.h, oct-var-ref.cc (idx): New data member.
28686 (octave_variable_reference::index): Set it. 28686 (octave_variable_reference::index): Set it.
28687 (octave_variable_reference::assign): Handle indexing here. 28687 (octave_variable_reference::assign): Handle indexing here.
28688 Delete version of this function htat takes index arg. 28688 Delete version of this function htat takes index arg.
28689 28689
28690 * variables.h (struct builtin_varaible): Delete. 28690 * variables.h (struct builtin_varaible): Delete.
28691 * variables.cc (install_builtin_variable): Take all elts of 28691 * variables.cc (install_builtin_variable): Take all elts of
28692 builtin_variable struct directly. 28692 builtin_variable struct directly.
28693 * defun.h (DEFVAR_INT): Call install_builtin_variable directly. 28693 * defun.h (DEFVAR_INT): Call install_builtin_variable directly.
28720 Don't save and restore value here. 28720 Don't save and restore value here.
28721 (symbol_record::define_builtin_var): Do call sv_fcn here. 28721 (symbol_record::define_builtin_var): Do call sv_fcn here.
28722 (symbol_record::variable_reference): Don't make value unique here. 28722 (symbol_record::variable_reference): Don't make value unique here.
28723 Return pointer to sv_fcn in octave_variable_reference. 28723 Return pointer to sv_fcn in octave_variable_reference.
28724 28724
28725 * pt-misc.cc (tree_parameter_list::initialize_undefined_elements): 28725 * pt-misc.cc (tree_parameter_list::initialize_undefined_elements):
28726 Simplify. 28726 Simplify.
28727 28727
28728 * pt-id.h, pt-id.cc (tree_identifier::reference): Return 28728 * pt-id.h, pt-id.cc (tree_identifier::reference): Return
28729 octave_variable_reference, not octave_value&. 28729 octave_variable_reference, not octave_value&.
28730 * symtab.h, symtab.cc (symbol_record::variable_reference): Ditto. 28730 * symtab.h, symtab.cc (symbol_record::variable_reference): Ditto.
28810 string, not char *. 28810 string, not char *.
28811 28811
28812 * Many of other files: Miscellaneous changes to go along with the 28812 * Many of other files: Miscellaneous changes to go along with the
28813 changes described in the liboctave/ChangeLog for May 4. More code 28813 changes described in the liboctave/ChangeLog for May 4. More code
28814 moved from here to liboctave. 28814 moved from here to liboctave.
28815 28815
28816 Fri May 2 19:50:33 1997 John W. Eaton <jwe@bevo.che.wisc.edu> 28816 Fri May 2 19:50:33 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
28817 28817
28818 * pathlen.h: Move to ../liboctave. 28818 * pathlen.h: Move to ../liboctave.
28819 28819
28820 Thu May 1 21:50:44 1997 John W. Eaton <jwe@bevo.che.wisc.edu> 28820 Thu May 1 21:50:44 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
28900 * ov-base.h, ov-base.cc, ov.h, ov.cc, ov-file.h ov-base.h 28900 * ov-base.h, ov-base.cc, ov.h, ov.cc, ov-file.h ov-base.h
28901 (is_file, stream_value, stream_number): New functions. 28901 (is_file, stream_value, stream_number): New functions.
28902 * ov-file.h, ov-file.cc: New files for value class to manage files. 28902 * ov-file.h, ov-file.cc: New files for value class to manage files.
28903 * file-io.cc (symbols_of_file_io): Define stdin, stdout, and 28903 * file-io.cc (symbols_of_file_io): Define stdin, stdout, and
28904 stderr as octve_file objects, not just integers. 28904 stderr as octve_file objects, not just integers.
28905 (Ffopen, Fpopen): Return octave_file objects, not integer file ids. 28905 (Ffopen, Fpopen): Return octave_file objects, not integer file ids.
28906 * syscalls.cc (Fpipe): Likewise. 28906 * syscalls.cc (Fpipe): Likewise.
28907 * oct-stream.h, oct-stream.cc (octave_stream_list::insert): 28907 * oct-stream.h, oct-stream.cc (octave_stream_list::insert):
28908 Return octave_file object, not integer file id. 28908 Return octave_file object, not integer file id.
28909 28909
28910 * ov-base.cc, ov-bool-mat.cc, ov-bool.cc, ov-ch-mat.cc, 28910 * ov-base.cc, ov-bool-mat.cc, ov-bool.cc, ov-ch-mat.cc,
29221 * ov.cc: Don't define Vprefer_zero_one_indexing. 29221 * ov.cc: Don't define Vprefer_zero_one_indexing.
29222 (prefer_zero_one_indexing): Delete. 29222 (prefer_zero_one_indexing): Delete.
29223 (symbols_of_value): Delete DEFVAR for prefer_zero_one_indexing. 29223 (symbols_of_value): Delete DEFVAR for prefer_zero_one_indexing.
29224 29224
29225 * ov.h, ov.cc, ov-base.h, ov-base.cc: Add constructors and 29225 * ov.h, ov.cc, ov-base.h, ov-base.cc: Add constructors and
29226 extractors for bool and boolMatrix types. 29226 extractors for bool and boolMatrix types.
29227 29227
29228 * ov.cc (install_types): Register octave_bool and 29228 * ov.cc (install_types): Register octave_bool and
29229 octave_bool_matrix types. 29229 octave_bool_matrix types.
29230 29230
29231 * op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, op-cm-s.cc, op-cs-cm.cc, 29231 * op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, op-cm-s.cc, op-cs-cm.cc,
29232 op-cs-m.cc, op-m-cm.cc, op-m-cs.cc, op-m-m.cc, op-m-s.cc, 29232 op-cs-m.cc, op-m-cm.cc, op-m-cs.cc, op-m-m.cc, op-m-s.cc,
29493 Wed Feb 19 10:30:14 1997 John W. Eaton <jwe@bevo.che.wisc.edu> 29493 Wed Feb 19 10:30:14 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
29494 29494
29495 * sighandlers.cc (octave_ignore_interrupts, 29495 * sighandlers.cc (octave_ignore_interrupts,
29496 octave_catch_interrupts, octave_set_interrupt_handler): 29496 octave_catch_interrupts, octave_set_interrupt_handler):
29497 Return old value, not pointer to static data. Fix all uses. 29497 Return old value, not pointer to static data. Fix all uses.
29498 29498
29499 * sighandlers.h (octave_interrupt_handler): Move declaration here. 29499 * sighandlers.h (octave_interrupt_handler): Move declaration here.
29500 * sighandlers.cc: From here. 29500 * sighandlers.cc: From here.
29501 29501
29502 * toplev.cc: Undo previous change. 29502 * toplev.cc: Undo previous change.
29503 29503
29577 29577
29578 Wed Feb 5 14:30:44 1997 John W. Eaton <jwe@bevo.che.wisc.edu> 29578 Wed Feb 5 14:30:44 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
29579 29579
29580 * oct-stream.cc (scanf_format_list::process_conversion): Accept 29580 * oct-stream.cc (scanf_format_list::process_conversion): Accept
29581 but don't actually use h, l, and L modifiers. Always insert l 29581 but don't actually use h, l, and L modifiers. Always insert l
29582 modifier for floating point conversions. 29582 modifier for floating point conversions.
29583 29583
29584 Fri Jan 31 13:55:10 1997 John W. Eaton <jwe@bevo.che.wisc.edu> 29584 Fri Jan 31 13:55:10 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
29585 29585
29586 * pager.cc (do_sync): Always flush the cout stream after writing. 29586 * pager.cc (do_sync): Always flush the cout stream after writing.
29587 29587
29636 before scanning. 29636 before scanning.
29637 29637
29638 Thu Jan 23 10:00:00 1997 John W. Eaton <jwe@bevo.che.wisc.edu> 29638 Thu Jan 23 10:00:00 1997 John W. Eaton <jwe@bevo.che.wisc.edu>
29639 29639
29640 * pt-pr-code.h, pt-pr-code.cc (tree_print_code::visit_no_op_command): 29640 * pt-pr-code.h, pt-pr-code.cc (tree_print_code::visit_no_op_command):
29641 New function. 29641 New function.
29642 * pt-cmd.h, pt-cmd.cc (tree_no_op_command): New class. 29642 * pt-cmd.h, pt-cmd.cc (tree_no_op_command): New class.
29643 * parse.y (make_break_command, make_continue_command, 29643 * parse.y (make_break_command, make_continue_command,
29644 make_return_command): Where they don't really make sense, turn 29644 make_return_command): Where they don't really make sense, turn
29645 these commands into no-ops. Accept return and break if reading a 29645 these commands into no-ops. Accept return and break if reading a
29646 script file. 29646 script file.
30037 * pt-mat.cc (tree_matrix::eval): Likewise. 30037 * pt-mat.cc (tree_matrix::eval): Likewise.
30038 30038
30039 * ov.h (octave_value::all_strings): Return string_vector, not 30039 * ov.h (octave_value::all_strings): Return string_vector, not
30040 charMatrix. 30040 charMatrix.
30041 * ov-base.cc (octave_base_value::all_strings): Likewise. 30041 * ov-base.cc (octave_base_value::all_strings): Likewise.
30042 * ov-str-mat.h, ov-str-mat.cc (octave_char_matrix_str::all_strings): 30042 * ov-str-mat.h, ov-str-mat.cc (octave_char_matrix_str::all_strings):
30043 Likewise. 30043 Likewise.
30044 30044
30045 Fri Nov 8 09:54:59 1996 John W. Eaton <jwe@bevo.che.wisc.edu> 30045 Fri Nov 8 09:54:59 1996 John W. Eaton <jwe@bevo.che.wisc.edu>
30046 30046
30047 * defaults.cc, dynamic-ld.cc, fn-cache.cc, help.cc, oct-hist.cc, 30047 * defaults.cc, dynamic-ld.cc, fn-cache.cc, help.cc, oct-hist.cc,
30191 * Makefile.in (DISTFILES): Add ChangeLog. 30191 * Makefile.in (DISTFILES): Add ChangeLog.
30192 30192
30193 * ov-range.cc (octave_range::convert_to_str): New function. 30193 * ov-range.cc (octave_range::convert_to_str): New function.
30194 30194
30195 * ov-str-mat.h (octave_char_matrix_str::char_matrix_value): 30195 * ov-str-mat.h (octave_char_matrix_str::char_matrix_value):
30196 Delete function. Already handled by octave_char_matrix class. 30196 Delete function. Already handled by octave_char_matrix class.
30197 30197
30198 * ov-ch-mat.h (octave_char_matrix::convert_to_str): New function. 30198 * ov-ch-mat.h (octave_char_matrix::convert_to_str): New function.
30199 30199
30200 * pager.cc (Fmore): Set page_screen_output to 1.0 or 0.0, not 30200 * pager.cc (Fmore): Set page_screen_output to 1.0 or 0.0, not
30201 "true" or "false". 30201 "true" or "false".
30329 30329
30330 * op-s-m.cc, op-s-s.cc (matrix_conv): New functions. 30330 * op-s-m.cc, op-s-s.cc (matrix_conv): New functions.
30331 Install preferred assignment conversion and widening ops. 30331 Install preferred assignment conversion and widening ops.
30332 30332
30333 * ov.cc (octave_value::try_assignment_with_conversion, 30333 * ov.cc (octave_value::try_assignment_with_conversion,
30334 octave_value::convert_and_assign, octave_value::try_assignment): 30334 octave_value::convert_and_assign, octave_value::try_assignment):
30335 New functions. 30335 New functions.
30336 (octave_value::assign): Use them to implement twisted logic for 30336 (octave_value::assign): Use them to implement twisted logic for
30337 type conversions in assigments. 30337 type conversions in assigments.
30338 30338
30339 * pt-const.h (tree_constant::maybe_mutate): New function. 30339 * pt-const.h (tree_constant::maybe_mutate): New function.
30434 (make_binary_op): Codes come from tree_binary_expression now, 30434 (make_binary_op): Codes come from tree_binary_expression now,
30435 instead of tree_expression. 30435 instead of tree_expression.
30436 (make_unary_op): Codes come from tree_unary_expression now, 30436 (make_unary_op): Codes come from tree_unary_expression now,
30437 instead of tree_expression. 30437 instead of tree_expression.
30438 (make_boolean_op): Codes come from tree_boolean_expression. 30438 (make_boolean_op): Codes come from tree_boolean_expression.
30439 30439
30440 *parse.y (tree_constant_type): Change type to tree_constant* from 30440 *parse.y (tree_constant_type): Change type to tree_constant* from
30441 octave_value*, and rename from octave_value_type. Change uses. 30441 octave_value*, and rename from octave_value_type. Change uses.
30442 30442
30443 * defun.h (DEFVAR_INT): Pass octave_value not pointer to 30443 * defun.h (DEFVAR_INT): Pass octave_value not pointer to
30444 octave_value for defn when creating builtin_variable. 30444 octave_value for defn when creating builtin_variable.
30970 30970
30971 * oct-stream.cc (octave_base_stream::do_read): Correctly set max_size. 30971 * oct-stream.cc (octave_base_stream::do_read): Correctly set max_size.
30972 Pad mval with zeros on final resize. 30972 Pad mval with zeros on final resize.
30973 (octave_base_stream::do_scanf): Likewise. 30973 (octave_base_stream::do_scanf): Likewise.
30974 (do_scanf_conv): Correctly resize mval. 30974 (do_scanf_conv): Correctly resize mval.
30975 30975
30976 Sat May 11 05:14:09 1996 John W. Eaton <jwe@bevo.che.wisc.edu> 30976 Sat May 11 05:14:09 1996 John W. Eaton <jwe@bevo.che.wisc.edu>
30977 30977
30978 * pager.cc (octave_pager_buf::sync): Correctly set bypass_pager. 30978 * pager.cc (octave_pager_buf::sync): Correctly set bypass_pager.
30979 30979
30980 * lex.l (<MATRIX>{SNLCMT}*\]{S}*): Match SNLCMT, not just SNL. 30980 * lex.l (<MATRIX>{SNLCMT}*\]{S}*): Match SNLCMT, not just SNL.
31010 31010
31011 * pager.cc (default_pager): Move here from variables.cc. If pager 31011 * pager.cc (default_pager): Move here from variables.cc. If pager
31012 is less and LESS is not in the environment, append useful flags. 31012 is less and LESS is not in the environment, append useful flags.
31013 (symbols_of_pager): New function. 31013 (symbols_of_pager): New function.
31014 * variables.cc (install_builtin_variables): Call it. 31014 * variables.cc (install_builtin_variables): Call it.
31015 Delete pager-related DEFVARs. 31015 Delete pager-related DEFVARs.
31016 31016
31017 * syswait.h (WIFSIGNALLED): Define if sys/wait.h doesn't. 31017 * syswait.h (WIFSIGNALLED): Define if sys/wait.h doesn't.
31018 31018
31019 * sighandlers.cc: Handle SIGCHLD. 31019 * sighandlers.cc: Handle SIGCHLD.
31020 31020
31118 Mon Apr 8 19:59:01 1996 John W. Eaton <jwe@bevo.che.wisc.edu> 31118 Mon Apr 8 19:59:01 1996 John W. Eaton <jwe@bevo.che.wisc.edu>
31119 31119
31120 * variables.cc (install_builtin_variables): Split into several 31120 * variables.cc (install_builtin_variables): Split into several
31121 functions to make compiling with g++ go faster and consume less 31121 functions to make compiling with g++ go faster and consume less
31122 memory. 31122 memory.
31123 31123
31124 Sun Apr 7 16:25:35 1996 John W. Eaton <jwe@bevo.che.wisc.edu> 31124 Sun Apr 7 16:25:35 1996 John W. Eaton <jwe@bevo.che.wisc.edu>
31125 31125
31126 * load-save.cc (Fsave): Print usage if i == argc. 31126 * load-save.cc (Fsave): Print usage if i == argc.
31127 (Fload): Likewise. 31127 (Fload): Likewise.
31128 31128
31129 Sat Apr 6 21:26:49 1996 John W. Eaton <jwe@bevo.che.wisc.edu> 31129 Sat Apr 6 21:26:49 1996 John W. Eaton <jwe@bevo.che.wisc.edu>
31130 31130
31131 * Makefile.in (clean): Also delete pic/*.o 31131 * Makefile.in (clean): Also delete pic/*.o
31132 (maintainer-clean, distclean): Also remove stamp-picdir, 31132 (maintainer-clean, distclean): Also remove stamp-picdir,
31153 Fri Mar 22 03:47:52 1996 John W. Eaton <jwe@bevo.che.wisc.edu> 31153 Fri Mar 22 03:47:52 1996 John W. Eaton <jwe@bevo.che.wisc.edu>
31154 31154
31155 * resource.cc (getrusage): If getrusage is missing, try using 31155 * resource.cc (getrusage): If getrusage is missing, try using
31156 times to at least fill in the cpu time values. If neither one is 31156 times to at least fill in the cpu time values. If neither one is
31157 available, return 0 for cpu times instead of NaN. 31157 available, return 0 for cpu times instead of NaN.
31158 31158
31159 * sighandlers.cc (octave_signal_mask): New file-scope variable. 31159 * sighandlers.cc (octave_signal_mask): New file-scope variable.
31160 (octave_save_signal_mask, octave_restore_signal_mask): New functions. 31160 (octave_save_signal_mask, octave_restore_signal_mask): New functions.
31161 * toplev.cc (main_loop): Use them. 31161 * toplev.cc (main_loop): Use them.
31162 31162
31163 Wed Mar 20 01:21:28 1996 John W. Eaton <jwe@bevo.che.wisc.edu> 31163 Wed Mar 20 01:21:28 1996 John W. Eaton <jwe@bevo.che.wisc.edu>
31197 Sat Feb 24 01:12:59 1996 John W. Eaton <jwe@bevo.che.wisc.edu> 31197 Sat Feb 24 01:12:59 1996 John W. Eaton <jwe@bevo.che.wisc.edu>
31198 31198
31199 * Makefile.in (install-oct): Make mk-oct-links executable. 31199 * Makefile.in (install-oct): Make mk-oct-links executable.
31200 * mk-oct-links.in (links_dir): Update to match new format of 31200 * mk-oct-links.in (links_dir): Update to match new format of
31201 DEFUN_DLD_BUILTIN macro. Use LN_S, not just LN. 31201 DEFUN_DLD_BUILTIN macro. Use LN_S, not just LN.
31202 (links_dir): 31202 (links_dir):
31203 31203
31204 * pr-output.cc (octave_print_internal): New arg, extra_indent, for 31204 * pr-output.cc (octave_print_internal): New arg, extra_indent, for
31205 versions of this function that take matrices and ranges. 31205 versions of this function that take matrices and ranges.
31206 * pt-const.cc (TC_REP::print (ostream&)): Fix printing of structures. 31206 * pt-const.cc (TC_REP::print (ostream&)): Fix printing of structures.
31207 Pass struct_indent to octave_print_internal as appropriate. 31207 Pass struct_indent to octave_print_internal as appropriate.
31312 31312
31313 * pt-fvc.cc (tree_builtin::eval): Don't try to dynamically load 31313 * pt-fvc.cc (tree_builtin::eval): Don't try to dynamically load
31314 functions here. 31314 functions here.
31315 31315
31316 * pr-output.cc (set_format_style): Decrement argc for first arg too. 31316 * pr-output.cc (set_format_style): Decrement argc for first arg too.
31317 31317
31318 * input.cc (gnu_readline): If readline returns an empty string, 31318 * input.cc (gnu_readline): If readline returns an empty string,
31319 convert it to a string containing a single newline character. 31319 convert it to a string containing a single newline character.
31320 31320
31321 * octave.cc (octave_argv): Now a static string_vector. 31321 * octave.cc (octave_argv): Now a static string_vector.
31322 (intern_argv): Use string_vector ops, not charMatrix ops. 31322 (intern_argv): Use string_vector ops, not charMatrix ops.
31457 31457
31458 * dirfns.cc (absolute_program): Now static. 31458 * dirfns.cc (absolute_program): Now static.
31459 (absolute_pathname): Delete. 31459 (absolute_pathname): Delete.
31460 31460
31461 * pt-plot.cc (save_in_tmp_file): Call oct_tempnam, not 31461 * pt-plot.cc (save_in_tmp_file): Call oct_tempnam, not
31462 octave_tmp_file_name. Include file-ops.h. 31462 octave_tmp_file_name. Include file-ops.h.
31463 * file-io.cc (do_scanf, Foctave_tmp_file_name): Likewise. 31463 * file-io.cc (do_scanf, Foctave_tmp_file_name): Likewise.
31464 * oct-hist.cc (mk_tmp_hist_file): Likewise. 31464 * oct-hist.cc (mk_tmp_hist_file): Likewise.
31465 31465
31466 * file-io.cc (Foctave_tmp_file_name): Move here. 31466 * file-io.cc (Foctave_tmp_file_name): Move here.
31467 * utils.cc: From here. 31467 * utils.cc: From here.
31500 (initialize_globals): Maybe initialize them. 31500 (initialize_globals): Maybe initialize them.
31501 31501
31502 * octave.cc (initialize_pathsearch): Define here, not in pathsearch.cc. 31502 * octave.cc (initialize_pathsearch): Define here, not in pathsearch.cc.
31503 * pathsearch.h, pathsearch.cc: Remove files. 31503 * pathsearch.h, pathsearch.cc: Remove files.
31504 * Makefile.in: Remove them from the lists. 31504 * Makefile.in: Remove them from the lists.
31505 31505
31506 * help.cc (simple_help): Ignore directories that don't have any .m 31506 * help.cc (simple_help): Ignore directories that don't have any .m
31507 or .oct files. 31507 or .oct files.
31508 31508
31509 * utils.cc (search_path_for_file): Use new dir_path class instead 31509 * utils.cc (search_path_for_file): Use new dir_path class instead
31510 of calling kpathsea routines directly. 31510 of calling kpathsea routines directly.
31586 31586
31587 Fri Jan 12 01:54:49 1996 John W. Eaton <jwe@bevo.che.wisc.edu> 31587 Fri Jan 12 01:54:49 1996 John W. Eaton <jwe@bevo.che.wisc.edu>
31588 31588
31589 * octave.cc (initialize_globals): Don't do kpathsearch stuff here. 31589 * octave.cc (initialize_globals): Don't do kpathsearch stuff here.
31590 (main): Call initialize_pathsearch() here. 31590 (main): Call initialize_pathsearch() here.
31591 31591
31592 * pathsearch.cc: New file. 31592 * pathsearch.cc: New file.
31593 * Makefile.in (SOURCES): Add it to the list 31593 * Makefile.in (SOURCES): Add it to the list
31594 31594
31595 * oct-hist.h: Rename from octave-hist.h. 31595 * oct-hist.h: Rename from octave-hist.h.
31596 * oct-hist.cc: Rename from octave-hist.cc. 31596 * oct-hist.cc: Rename from octave-hist.cc.
31825 type conversion if object is an empty matrix.f 31825 type conversion if object is an empty matrix.f
31826 (TC_REP::assign): If rhs is a string, don't convert to numeric 31826 (TC_REP::assign): If rhs is a string, don't convert to numeric
31827 type if rhs is empty or "". 31827 type if rhs is empty or "".
31828 Only widen if rhs is not empty. 31828 Only widen if rhs is not empty.
31829 Don't return 0x0 char_matrix if it is supposed to be a string. 31829 Don't return 0x0 char_matrix if it is supposed to be a string.
31830 31830
31831 * arith-ops.h, mappers.h, pr-output.h, xdiv.h, xpow.h: Include 31831 * arith-ops.h, mappers.h, pr-output.h, xdiv.h, xpow.h: Include
31832 oct-cmplx.h in place of forward declaration for class Complex. 31832 oct-cmplx.h in place of forward declaration for class Complex.
31833 31833
31834 * pr-output.cc, mappers.cc, arith-ops.cc, xdiv.cc, xpow.cc, 31834 * pr-output.cc, mappers.cc, arith-ops.cc, xdiv.cc, xpow.cc,
31835 utils.cc: Include "oct-cmplx.h" instead of <Complex.h>. 31835 utils.cc: Include "oct-cmplx.h" instead of <Complex.h>.
31978 (do_rand): New function for doing the real work. 31978 (do_rand): New function for doing the real work.
31979 (Frand): Use it. 31979 (Frand): Use it.
31980 31980
31981 * octave.cc (parse_and_execute): New arg, warn_for. If given, 31981 * octave.cc (parse_and_execute): New arg, warn_for. If given,
31982 print message if file cannot be opened. 31982 print message if file cannot be opened.
31983 Set curr_fcn_file_full_name here. 31983 Set curr_fcn_file_full_name here.
31984 (Fsource): Pass extra arg to parse_and_execute to get warning message. 31984 (Fsource): Pass extra arg to parse_and_execute to get warning message.
31985 31985
31986 * tree-const.h: Handle line and column info for double, Complex, 31986 * tree-const.h: Handle line and column info for double, Complex,
31987 and char* constants. 31987 and char* constants.
31988 31988
31989 * parse.y (maybe_convert_to_ans_assign): Pass along line and 31989 * parse.y (maybe_convert_to_ans_assign): Pass along line and
31990 column info from expression. 31990 column info from expression.
31991 31991
31992 * parse.y (make_constant): New function. 31992 * parse.y (make_constant): New function.
31993 (simple_expr1, word_list): Use it. 31993 (simple_expr1, word_list): Use it.
31994 31994
31995 * input.cc, input.h (curr_fcn_file_full_name): New global. 31995 * input.cc, input.h (curr_fcn_file_full_name): New global.
31996 * variables.cc (load_fcn_from_file): Set it here. 31996 * variables.cc (load_fcn_from_file): Set it here.
31997 * parse.y (func_def2, yyerror, maybe_warn_missing_semi): Use it. 31997 * parse.y (func_def2, yyerror, maybe_warn_missing_semi): Use it.
31998 (func_def2): If !reading_fcn_file, don't call strcmp if 31998 (func_def2): If !reading_fcn_file, don't call strcmp if
31999 curr_fcn_file_name is 0. 31999 curr_fcn_file_name is 0.
32032 * variables.cc (parse_fcn_file): Likewise. 32032 * variables.cc (parse_fcn_file): Likewise.
32033 * octave.cc (parse_and_execute): Likewise. 32033 * octave.cc (parse_and_execute): Likewise.
32034 (main): Likewise. 32034 (main): Likewise.
32035 * input.cc (do_input_echo): 32035 * input.cc (do_input_echo):
32036 (Fecho): New function. 32036 (Fecho): New function.
32037 32037
32038 * tree-expr.cc (tree_function::print_code_function_header, 32038 * tree-expr.cc (tree_function::print_code_function_header,
32039 tree_function::print_code_function_trailer): New functions. 32039 tree_function::print_code_function_trailer): New functions.
32040 (tree_function::print_code): Use them. 32040 (tree_function::print_code): Use them.
32041 (tree_function::eval): Likewise, if echoing commands. 32041 (tree_function::eval): Likewise, if echoing commands.
32042 * tree-misc.cc (tree_statement::maybe_echo_code): New function. 32042 * tree-misc.cc (tree_statement::maybe_echo_code): New function.
32184 * variables.cc (parse_fcn_file): Likewise. 32184 * variables.cc (parse_fcn_file): Likewise.
32185 32185
32186 * user-prefs.cc (warn_missing_semicolon): New function. 32186 * user-prefs.cc (warn_missing_semicolon): New function.
32187 * user-prefs.h (user_preferences): New field, warn_missing_semicolon. 32187 * user-prefs.h (user_preferences): New field, warn_missing_semicolon.
32188 * variables.cc (install_builtin_variables): DEFVAR it. 32188 * variables.cc (install_builtin_variables): DEFVAR it.
32189 32189
32190 * tree-expr.cc (tree_expression::is_logically_true): Actually use 32190 * tree-expr.cc (tree_expression::is_logically_true): Actually use
32191 argument. 32191 argument.
32192 32192
32193 Mon Oct 2 19:55:48 1995 John Eaton <jwe@bevo.che.wisc.edu> 32193 Mon Oct 2 19:55:48 1995 John Eaton <jwe@bevo.che.wisc.edu>
32194 32194
32367 (open_plot_stream): Deal with it. 32367 (open_plot_stream): Deal with it.
32368 (send_to_plot_stream, cleanup_tmp_files, do_external_plotter_cd): 32368 (send_to_plot_stream, cleanup_tmp_files, do_external_plotter_cd):
32369 Likewise. 32369 Likewise.
32370 32370
32371 * procstream.cc (cleanup_iprocstream, cleanup_oprocstream): 32371 * procstream.cc (cleanup_iprocstream, cleanup_oprocstream):
32372 New functions. 32372 New functions.
32373 32373
32374 * procstream.h, procstream.cc (class iprocstream, class oprocstream): 32374 * procstream.h, procstream.cc (class iprocstream, class oprocstream):
32375 Keep track of pbuf. Initialize it to 0 in default constructors, 32375 Keep track of pbuf. Initialize it to 0 in default constructors,
32376 delete it in destructor. Don't call close in destructor. 32376 delete it in destructor. Don't call close in destructor.
32377 32377
32402 (operate_and_get_next): Don't declare history_stifled, call 32402 (operate_and_get_next): Don't declare history_stifled, call
32403 history_is_stifled () instead. 32403 history_is_stifled () instead.
32404 Don't declare history_length, or max_input_history either. 32404 Don't declare history_length, or max_input_history either.
32405 Check (where >= history_length - 1) too, as in recent versions of 32405 Check (where >= history_length - 1) too, as in recent versions of
32406 bash. 32406 bash.
32407 32407
32408 * user-prefs.h (user_prefs): New field, `completion_append_char'. 32408 * user-prefs.h (user_prefs): New field, `completion_append_char'.
32409 * user-prefs.cc (init_user_prefs): Initialize it. 32409 * user-prefs.cc (init_user_prefs): Initialize it.
32410 (sv_completion_append_char): New function. 32410 (sv_completion_append_char): New function.
32411 * variables.cc (install_builtin_variables): Install 32411 * variables.cc (install_builtin_variables): Install
32412 completion_append_char. 32412 completion_append_char.
32456 Fri Sep 15 00:24:19 1995 John Eaton <jwe@bevo.che.wisc.edu> 32456 Fri Sep 15 00:24:19 1995 John Eaton <jwe@bevo.che.wisc.edu>
32457 32457
32458 * user-prefs.cc (struct_levels_to_print, 32458 * user-prefs.cc (struct_levels_to_print,
32459 set_output_max_field_width, set_output_precision, 32459 set_output_max_field_width, set_output_precision,
32460 set_save_precision): Eliminate unecessary kludge variable. 32460 set_save_precision): Eliminate unecessary kludge variable.
32461 32461
32462 * variables.cc (gobble_leading_white_space): New arg, 32462 * variables.cc (gobble_leading_white_space): New arg,
32463 in_parts. Change all callers. 32463 in_parts. Change all callers.
32464 32464
32465 * lex.l (HELP_FCN): Delete start state. The `help' command is now 32465 * lex.l (HELP_FCN): Delete start state. The `help' command is now
32466 handled the same as any other text-style function. 32466 handled the same as any other text-style function.
32749 32749
32750 * pager.cc (Fdiary): Initialize diary_file here, not in the 32750 * pager.cc (Fdiary): Initialize diary_file here, not in the
32751 file-scope declaration. 32751 file-scope declaration.
32752 32752
32753 * tree-expr.cc (tree_index_expression::eval): 32753 * tree-expr.cc (tree_index_expression::eval):
32754 Handle nargin == 0 the same as other cases. 32754 Handle nargin == 0 the same as other cases.
32755 32755
32756 Tue May 2 10:02:23 1995 John Eaton <jwe@schoch.che.utexas.edu> 32756 Tue May 2 10:02:23 1995 John Eaton <jwe@schoch.che.utexas.edu>
32757 32757
32758 * load-save.cc (do_double_format_conversion): Add missing breaks. 32758 * load-save.cc (do_double_format_conversion): Add missing breaks.
32759 (do_float_format_conversion): Likewise. 32759 (do_float_format_conversion): Likewise.
32769 32769
32770 * tree-const.h: Add #pragma interface. 32770 * tree-const.h: Add #pragma interface.
32771 * tree-const.cc: Add contents of tc-rep.cc, tc-rep-ass.cc, and 32771 * tree-const.cc: Add contents of tc-rep.cc, tc-rep-ass.cc, and
32772 tc-idx.cc to this file. Add #pragma implementation. This makes 32772 tc-idx.cc to this file. Add #pragma implementation. This makes
32773 tree-const.cc large, but makes the final binary smaller. 32773 tree-const.cc large, but makes the final binary smaller.
32774 32774
32775 * unwind-prot.h unwind-prot.cc token.cc token.h procstream.cc 32775 * unwind-prot.h unwind-prot.cc token.cc token.h procstream.cc
32776 procstream.h idx-vector.cc idx-vector.h symtab.cc symtab.h 32776 procstream.h idx-vector.cc idx-vector.h symtab.cc symtab.h
32777 oct-map.cc oct-map.h oct-obj.cc oct-obj.h tree-plot.h tree-plot.cc 32777 oct-map.cc oct-map.h oct-obj.cc oct-obj.h tree-plot.h tree-plot.cc
32778 tree-misc.cc tree-misc.h tree-expr.cc tree-expr.h tree-cmd.cc 32778 tree-misc.cc tree-misc.h tree-expr.cc tree-expr.h tree-cmd.cc
32779 tree-cmd.h tree-base.cc tree-base.h: 32779 tree-cmd.h tree-base.cc tree-base.h:
32857 only matters for those tokens that can also be unary ops. 32857 only matters for those tokens that can also be unary ops.
32858 32858
32859 Fri Apr 21 14:34:45 1995 John Eaton <jwe@schoch.che.utexas.edu> 32859 Fri Apr 21 14:34:45 1995 John Eaton <jwe@schoch.che.utexas.edu>
32860 32860
32861 * load-save.cc (read_ascii_data): Allow reading of empty 32861 * load-save.cc (read_ascii_data): Allow reading of empty
32862 matrices. 32862 matrices.
32863 32863
32864 * tc-rep-ass.cc (vector_assignment): Only assert that we are not 32864 * tc-rep-ass.cc (vector_assignment): Only assert that we are not
32865 doing fortran-style indexing and that nr <= 1 || nc <= 1. 32865 doing fortran-style indexing and that nr <= 1 || nc <= 1.
32866 (do_vector_assign): Handle assignment of [] when one dimension is 32866 (do_vector_assign): Handle assignment of [] when one dimension is
32867 zero and the other is anything. 32867 zero and the other is anything.
32916 * f-expm.cc, f-givens.cc, f-qzval.cc, f-syl.cc, f-rand.cc: 32916 * f-expm.cc, f-givens.cc, f-qzval.cc, f-syl.cc, f-rand.cc:
32917 Where appropriate, declare Fortran functions to take reference 32917 Where appropriate, declare Fortran functions to take reference
32918 instead of pointer args. Change callers. 32918 instead of pointer args. Change callers.
32919 32919
32920 * mappers.cc: Declare Fortran functions to take reference instead 32920 * mappers.cc: Declare Fortran functions to take reference instead
32921 of pointer args. Change callers. 32921 of pointer args. Change callers.
32922 32922
32923 * gamma.c, lgamma.c, erfc.c, erf.c, atanh.c, asinh.c, acosh.c: 32923 * gamma.c, lgamma.c, erfc.c, erf.c, atanh.c, asinh.c, acosh.c:
32924 Declare Fortran functions to take reference instead of pointer 32924 Declare Fortran functions to take reference instead of pointer
32925 args. 32925 args.
32926 32926
32997 32997
32998 * tc-rep.cc (print_code): Add extra parens around while condition 32998 * tc-rep.cc (print_code): Add extra parens around while condition
32999 to avoid warning. 32999 to avoid warning.
33000 * utils.cc (undo_string_escapes): Likewise. 33000 * utils.cc (undo_string_escapes): Likewise.
33001 * input.cc (decode_prompt_string): Likewise. Also rewrite if 33001 * input.cc (decode_prompt_string): Likewise. Also rewrite if
33002 statement to avoid warning. 33002 statement to avoid warning.
33003 33003
33004 Tue Apr 4 22:54:17 1995 John Eaton <jwe@schoch.che.utexas.edu> 33004 Tue Apr 4 22:54:17 1995 John Eaton <jwe@schoch.che.utexas.edu>
33005 33005
33006 * tree-expr.cc (tree_multi_assignment_expression::eval, 33006 * tree-expr.cc (tree_multi_assignment_expression::eval,
33007 tree_simple_assignment_expression::eval): Call print_constant 33007 tree_simple_assignment_expression::eval): Call print_constant
33008 even if user_pref.print_answer_id_name is false. 33008 even if user_pref.print_answer_id_name is false.
33009 33009
33010 Mon Apr 3 17:57:14 1995 John Eaton <jwe@schoch.che.utexas.edu> 33010 Mon Apr 3 17:57:14 1995 John Eaton <jwe@schoch.che.utexas.edu>
33011 33011
33012 * tc-inlines.h (TC_REP): Avoid redefinition. 33012 * tc-inlines.h (TC_REP): Avoid redefinition.
33013 33013
33014 * tree-const.h (do_binary_op, do_unary_op): Declare as friends of 33014 * tree-const.h (do_binary_op, do_unary_op): Declare as friends of