Mercurial > octave
diff src/toplev.cc @ 7877:59031cfe331b
lasterror fixes
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 09 Jun 2008 14:47:25 -0400 |
parents | 5640a70cbab1 |
children | 73ef513855e7 |
line wrap: on
line diff
--- a/src/toplev.cc Fri Jun 06 15:04:12 2008 -0400 +++ b/src/toplev.cc Mon Jun 09 14:47:25 2008 -0400 @@ -111,6 +111,58 @@ return stmt ? stmt->column () : -1; } +int +octave_call_stack::do_caller_user_code_line (difference_type q) const +{ + int retval = -1; + + for (const_iterator p = cs.begin () + q; p != cs.end (); p++) + { + const call_stack_elt& elt = *p; + + octave_function *f = elt.fcn; + + if (f && f->is_user_code ()) + { + tree_statement *stmt = elt.stmt; + + if (stmt) + { + retval = stmt->line (); + break; + } + } + } + + return retval; +} + +int +octave_call_stack::do_caller_user_code_column (difference_type q) const +{ + int retval = -1; + + for (const_iterator p = cs.begin () + q; p != cs.end (); p++) + { + const call_stack_elt& elt = *p; + + octave_function *f = elt.fcn; + + if (f && f->is_user_code ()) + { + tree_statement *stmt = elt.stmt; + + if (stmt) + { + retval = stmt->column (); + break; + } + } + } + + return retval; +} + octave_user_script * octave_call_stack::do_caller_user_script (difference_type q) const {