Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: EmacsLink debugging problems

0 views
Skip to first unread message

Steven

unread,
Apr 5, 2006, 9:26:55 PM4/5/06
to
I've run into the same problem while looking into Matlab's EmacsLink, trying to get it to work with VIM ;).

What happens when you try to set a breakpoint over EmacsLink is that Emacs sends a command to Matlab:

request_set_breakpoint <filename> <linenr>

This command is handled by some Java code and, when everything works alright, a reply is send back to Emacs:

(matlab-eei-set-breakpoint "<filename>" <linenr>)

Unfortunately, the Java code is not too bright. It uses java.util.StringTokenizer to parse the command, which separates the command into whitespace-separated tokens. The Java code only expects two tokens, a filename and a line number. So when the filename contains whitespace(s), part of the filename is interpreted as the linenumber, which is clearly wrong.

In your case, you were probably attempting to set a breakpoint in a file somewhere in "C:\Document and Settings\...", which let to the NumberFormatException: and.

I don't know a way around this yet :( Maybe Mathworks can update their EmacsLink code to use Split instead of StringTokenizer, and handle spaces in filenames more carefully?

Steve

> Has anyone run into problems setting breakpoints
> after having
> installed EmacsLink? I don't want to give up my
> Emacs, but I've got
> to have a functional debugger.
>
>
> I'm using emacs version 21.2.1 and Matlab version
> 6.5.0.180913a (R13)
> on Windows XP
> My problem is I'm unable to set breakpoints. Whether
> from the
> pull-down menu or by using the C-c C-d C-b command
> sequence, attemps
> to set a breakpoint cause an error reported on the
> Matlab command
> line as:
>
>
> java.lang.NumberFormatException: and
> at java.lang.Integer.parseInt(Unknown Source)
> at java.lang.Integer.<init>(Unknown Source)
> at
> com.mathworks.ide.editorexternal.emacs.MCommand.setBre
> akpoint(MCommand
> .java:198)
> at
> com.mathworks.ide.editorexternal.emacs.MCommand.execut
> e(MCommand.java:
> 120)
> at
> com.mathworks.ide.editorexternal.emacs.MCommandProcess
> or.run(MCommandP
> rocessor.java:65)
>
>
> Any help would be greatly appreciated.
> Thanks,
> Todd
>
>

0 new messages