# HG changeset patch # User John W. Eaton # Date 1386818466 18000 # Node ID 25e87795f437a14408824bf9745d5ac5bd2d3224 # Parent 60dee9205bb577874b0aca64ca2a086da71d233b don't error for non-integer ranges used as indices if --traditional * octave.cc (maximum_braindamage): Set warning state Octave:noninteger-range-as-index to "on". diff -r 60dee9205bb5 -r 25e87795f437 libinterp/corefcn/error.cc --- a/libinterp/corefcn/error.cc Tue Dec 10 18:04:17 2013 -0500 +++ b/libinterp/corefcn/error.cc Wed Dec 11 22:21:06 2013 -0500 @@ -1638,12 +1638,7 @@ disable_warning ("Octave:variable-switch-label"); // This should be an error unless we are in maximum braindamage mode. - // FIXME: Not quite right. This sets the error state even for braindamage - // mode. Also, this error is not triggered in normal mode because another - // error handler catches it first and gives: - // error: subscript indices must be either positive integers or logicals set_warning_state ("Octave:noninteger-range-as-index", "error"); - } DEFUN (lasterror, args, , diff -r 60dee9205bb5 -r 25e87795f437 libinterp/octave.cc --- a/libinterp/octave.cc Tue Dec 10 18:04:17 2013 -0500 +++ b/libinterp/octave.cc Wed Dec 11 22:21:06 2013 -0500 @@ -498,6 +498,9 @@ disable_warning ("Octave:function-name-clash"); disable_warning ("Octave:load-file-in-path"); disable_warning ("Octave:possible-matlab-short-circuit-operator"); + + // Initialized to "error" by default. + set_warning_state ("Octave:noninteger-range-as-index", "on"); } // EMBEDDED is declared int instead of bool because this function is