From: Eric L. <Eri...@ma...> - 2010-03-09 16:01:52
|
Do you perhaps have the variable `comint-prompt-read-only' set to some non-nil value? Older Emacs versions used to have this be non-nil, but I was pretty sure I had fixed matlab.el for this, but things may have regressed while I was using newer versions of Emacs. If this is not the case, you can try starting Emacs with "-q", to not load your init file, and then hand-load in matlab.el, and try your test case. If that works, then there is some configuration issue in your .emacs file. Eric -----Original Message----- From: leo...@gm... [mailto:leo...@gm...] On Behalf Of Leo Alekseyev Sent: Monday, March 08, 2010 7:17 PM To: Eric Ludlam Cc: mat...@li... Subject: Re: [Matlab-emacs-discuss] Debugging, tab completion in matlab-shell? Eric, Thanks for your response. Regarding matlab-shell-collect-command-output -- it prints the following to the messages buffer: save-excursion: Text is read-only. So it looks like for some reason it fails to delete the output and bails. I have no idea what's going on with errors not being converted to links -- but perhaps something similar is preventing the code from modifying the buffer?.. But the matlab shell buffer itself is not read-only (buffer-read-only is nil; using (barf-if-buffer-read-only) has no effect...) Any ideas on what might be happening? --Leo On Mon, Mar 8, 2010 at 8:43 AM, Eric Ludlam <Eri...@ma...> wrote: > Hi, > > I gave this a quick run and found that it was working as I expected still, and I have the CVS version of matlab.el, with no pending changes. > > When "tab" is pressed, it should split the window, and display the completions in a separate buffer, independent of the matlab-shell buffer. It will also do the completion if there is only one option. The misc text you quoted below is what matlab-shell does under-the-covers to get the completion list. > > It works internally by flipping into a "capture some text" mode, then back out again when the capture is done, or when another prompt ">>" is shown again. K prompts "K>>" and student prompts "EDU>>" should also work. > > It will also key off of carriage returns, and a few other things to try and distinguish between text to be captured, text to turn into links, and regular text. > > I'll take a guess that some bit of text has put it into a bad state. Here are some possibilities: > > If you have some non-standard prompt, see line 4392 where comint-prompt-regexp is set. There are a few other hard-coded prompts around too. > > If the error text is somehow "new", or contains bad text, look at matlab-shell-render-errors-as-anchor, or matlab-shell-render-html-as-anchor, and the regular expressions that go into those. > > Lastly, there is matlab-shell-collect-command-output, which captures output, which sends a command, then spins waiting for a prompt to come up. This is exiting early w/ your tab completion. Perhaps there is an issue with carriage returns? > > Good Luck > Eric > > -----Original Message----- > From: Leo Alekseyev [mailto:dn...@gm...] > Sent: Friday, March 05, 2010 11:22 PM > To: mat...@li... > Subject: [Matlab-emacs-discuss] Debugging, tab completion in matlab-shell? > > Hi all, > I recently started using matlab-emacs (with matlab-shell) on a more > regular basis, and I am reasonably happy with the workflow -- but I am > also seeing some anomalies, in particular with debugging and > tab-completion. > > First, if I encounter an error during execution, the offending file > name does not turn into a link (like it does using Matlab GUI), which > I believe should also be happening here. This also appears to break > the "go to last error" functionality: if there are links anywhere else > in the command window (e.g. as a result of "help" command) the "go to > last error" will follow the link e.g. to the documentation page, > ignoring the error. (If there aren't links, then it will jump to the > error line in the offending file, but if I've run "help" on any > command, the go-to-last-error is now broken for this session). I > would really appreciate pointers on how I might troubleshoot this -- > the behavior is clearly broken. > > Second (minor) issue is that tab completion (e.g. typing test<tab>) > dumps the following to the buffer: >>> matlabMCRprocess = com.mathworks.jmi.MatlabMCR > matlabMCRprocess = > com.mathworks.jmi.MatlabMCR@7deb41d6 > >> matlabMCRprocess.mtFindAllTabCompletions('test'), clear('matlabMCRprocess'); > ans = > java.lang.String[]: > 'test' > 'test_step_by_step' > 'test_trainlm_gradient' > 'testm' > 'testobjectiveinfo' > 'testscript > > It this the intended behavior?.. Would it be possible to just display > stuff after java.lang.String[]?.. > > Relevant versions: GNU Emacs 23.1.50.1 (x86_64-pc-linux-gnu), Matlab > 7.8.0.347 (R2009a) 64-bit (glnxa64), latest version of matlab-emacs > from CVS. > I'd appreciate any pointers regarding the above! > Thanks, > --Leo > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Matlab-emacs-discuss mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matlab-emacs-discuss > |