octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GUD octave support


From: Nick Roberts
Subject: Re: GUD octave support
Date: Thu, 6 Dec 2007 10:49:50 +1300

 > | Normally a user would want the Octave's current behaviour, so this would
 > | only be provided when Octave was invoked with the "--fullname" option.
 > | 
 > | Does that provide a clearer picture?
 > 
 > I think users would be surprised to see Z^ZFILENAME, or are you
 > suggesting that this is an optional output format, not the one used
 > for interactive users of Octave?

That's exactly what I am suggesting.  Normal users would not start Octave
with the "--fullname" option.

 > In any case, with the current version of Octave, I see the following
 > (for example):
 > 
 >   octave:1> dbstop plot 1
 >   ans =  181
 >   octave:2> plot
 >   plot: line 181, column 7
 >   isscalar
 >   keyboard: stopped in /usr/share/octave/2.9.17/m/plot/plot.m at line 181
 > 
 > so isn't that already sufficient information for GUD?

I have Ubuntu Feisty with GNU Octave, version 2.1.73 (i486-pc-linux-gnu),
and I see:

  octave:1> dbstop plot 1
  ans = 178
  octave:2> plot
  plot: line 178, column 3
  __gnuplot_set__

Maybe I'm doing something wrong, or maybe my version of Octave is too old.
The output that you show is probably OK providing

1) Octave doesn't output similar text at other times (ambiguity).
2) It always outputs fullnames?

and most importantly:

3) That the format of this output doesn't change.  As it appears to be
   intended for humans to read it is quite conceivable that someone
   will `improve' it at sometime.

The advantage of using something like:

^Z^ZFILENAME:LINENO

is that it is unambiguous, as Octave would not normally output ^Z^Z and
unlikely to change, so matching the regexp won't break.

 > |  > Also, I suspect that to be really useful inside Emacs' GUD mode,
 > |  > Octave's debugging capabilities will need some improvement.  It would
 > |  > be helpful to have someone who could work on that project.
 > | 
 > | What other capabilities do you have in mind?
 > 
 > We need Matlab compatible implementations of all of the following
 > functions:
 > 
 >   dbclear       Clear breakpoints
 >   dbcont        Resume execution
 >   dbdown        Change local workspace context when in debug mode
 >   dbquit        Quit debug mode
 >   dbstack       Function call stack
 >   dbstatus      List all breakpoints
 >   dbstep        Execute one or more lines from current breakpoint
 >   dbstop        Set breakpoints
 >   dbtype        List M-file with line numbers
 >   dbup          Change local workspace context
 >   debug         List M-file debugging functions

I don't know how these work but perhaps Daniel would be interested.  I could
help write any Emacs Lisp code that's needed once the requirement is defined.

-- 
Nick                                           http://www.inet.net.nz/~nickrob


reply via email to

[Prev in Thread] Current Thread [Next in Thread]