From: emacs u. <use...@gm...> - 2013-07-09 13:59:56
|
hi Eric, I tried using matlab-shell again. Looks great. A couple of questions: I wasn't able to get cedet to work as it gives the following error message when I edit a Matlab file. I tried both the cedet in emacs 24.3 and downloading it from sourceforce, version 1.1. I don't know if this is a result of cedet not working, but when I get an error message in Matlab-shell the line number pointing to the problem in the Matlab code does not seem to appear as a clickable link. I wasn't able to see how to report issues/ bugs in the Matlab-emacs sourceforce page so am sending this here. best, E Debugger entered--Lisp error: (void-variable matlab-mode) byte-code("..." [matlab-mode semantic-matlab-dependency-system-include-path semantic-matlab-root-directory semantic-matlab-system-paths-include tmp0 mode defcustom-mode-local-semantic-dependency-system-include-path mapcar #[(cur) "\302! P\207" [semantic-matlab-root-directory cur file-name-as-directory] 2] "The system include paths from MATLAB." semantic-idle-summary-format-matlab-mode mode-local-bind semantic-idle-summary-function (mode-variable-flag t variable-documentation "Search project files, then search this omniscience database.\nIt is not necessary to to system or recursive searching because of\nthe omniscience database.") mode-local-map-mode-buffers #[nil "..." [tmp0 semantic-idle-summary-function make-local-variable] 2] put symbol-name nil intern-soft mode-local-symbol-table mode-local-parent derived-mode-parent variable-documentation "Function to use when displaying tag information during idle time." symbol bind name mode-local-active-mode major-mode] 6) semantic-default-matlab-setup() run-hooks(matlab-mode-hook) matlab-mode() set-auto-mode-0(matlab-mode nil) set-auto-mode() normal-mode(t) after-find-file(nil t) find-file-noselect-1(#<buffer analyze_flow_solve.m> "~/Internal-waves-DIA/my_flow_solve/Postprocessing/analyze_flow_solve.m" nil nil "~/Internal-waves-DIA/my_flow_solve/Postprocessing/analyze_flow_solve.m" (22407275 16777218)) find-file-noselect("~/Internal-waves-DIA/my_flow_solve/Postprocessing/analyze_flow_solve.m" nil nil t) find-file("~/Internal-waves-DIA/my_flow_solve/Postprocessing/analyze_flow_solve.m" t) call-interactively(find-file) find-file-at-point() call-interactively(find-file-at-point nil nil) On Mon, Jul 8, 2013 at 12:29 PM, Eric Ludlam <Eri...@ma...>wrote: > Hi,**** > > ** ** > > I think I understand a bit better. Clicking on the “line 3” which is > supposed to call ‘opentoline’ is not calling the shadowed version. **** > > ** ** > > I gave this a try and discovered the same problem with newer MATLABs. I > don’t know what the problem is. Mostly it looks like the command window > isn’t actually running the MATLAB command in the link since the debugger > won’t stop there either. I’ll need to look into it to see what’s going on. > **** > > ** ** > > In the meantime, you may need to use the matlab-shell in Emacs to get > those links to work.**** > > ** ** > > Eric**** > > ** ** > > *From:* emacs user [mailto:use...@gm...] > *Sent:* Tuesday, July 02, 2013 5:17 PM > *To:* Eric Ludlam > *Cc:* mat...@li... > *Subject:* Re: [Matlab-emacs-discuss] emacsinit/ using emacs as an > external Matlab editor**** > > ** ** > > Hi, thanks for the prompt response, I think I didn't explain that very > clearly, let me try again. I have an init.m file:**** > > ** ** > > addpath('~/.emacs.d/matlab-emacs/toolbox','-begin');**** > > rehash;**** > > emacsinit('/Applications/Emacs.app/Contents/MacOS/bin/emacsclient');**** > > ** ** > > and then a opentoline_test.m file:**** > > a=zeros(3,4);**** > > b=zeros(3,3);**** > > c=a+b;**** > > ** ** > > in Matlab I do:**** > > ** ** > > >> which opentoline**** > > /Applications/MATLAB_R2013a.app/toolbox/matlab/codetools/opentoline.m**** > > >> init**** > > >> which opentoline**** > > /Users/eli/.emacs.d/matlab-emacs/toolbox/opentoline.m**** > > ** ** > > so the correct opentoline seems to be shadowing. Next,**** > > ** ** > > >> opentoline_test**** > > Error using + **** > > Matrix dimensions must agree.**** > > ** ** > > Error in opentoline_test (line 3)**** > > c=a+b;**** > > **** > > now if I click on "line 3" I get the matlab editor, if instead, I say **** > > ** ** > > >> opentoline('opentoline_test.m',3,0)**** > > ** ** > > then emacs is correctly invoked.**** > > ** ** > > does this help, or did I simply misunderstand your response? thanks > again, best, Eli**** > > ** ** > > ** ** > > On Tue, Jul 2, 2013 at 4:46 PM, Eric Ludlam <Eri...@ma...> > wrote:**** > > Hi,**** > > **** > > Not all the ‘edit’ like functions obey the preference to use an alternate > editor. If you look in the toolbox directory that came with matlab.el, you > will see “opentoline.m” which shadows the one that comes with matlab. > Chances are that netcdf.open (which I am not familiar with at all) might > need something similar. If you look at that fcn, it calls some lib > function that you might be able to shadow in order to get what you want. > Just stick it in the toolbox directory for Emacs, and you’ll be all set. > If it isn’t related to some MATLAB toolbox, perhaps we can add the shadow > to the matlab-emacs repository.**** > > **** > > Good Luck**** > > Eric**** > > **** > > *From:* emacs user [mailto:use...@gm...] > *Sent:* Monday, July 01, 2013 3:01 PM > *To:* mat...@li... > *Subject:* [Matlab-emacs-discuss] emacsinit/ using emacs as an external > Matlab editor**** > > **** > > hi, **** > > **** > > I am trying the above using Emacs 24.3 on Mac OSX, using a fresh download > of matlab-emacs and Matlab 2013a. when I follow the install directions, > trying to click on the line number in something like this:**** > > **** > > Error using netcdf.open (*line 45*)**** > > **** > > brings up the matlab editor instead of emacsclient. if I try**** > > **** > > >> opentoline('myfile.m',1477,0)**** > > **** > > emacsclient is invoked and goes to the right line etc.**** > > **** > > Any idea what I may be doing wrong? additional information I can povide? > **** > > many thanks...**** > > **** > > ** ** > |