Hi Shervin,

It looks like you have two different versions of matlab-emacs on your two machines.  I changed how things are setup to be clearer.  emacsinit now deals with the path, and debugging stuff.  The 'emacs' package in matlab includes a set command (thus : emacs.set) for configuring tools, such as emacsclient.

On linux, you indicate it is setting the preference in emacsinit.  In the new version of matlab-emacs, that is now part of emacs.set.  On the MAC version, it is trying to run emacs.set (sent from emacs to ML) but it doesn't exist. This means one of two things:

1) Your MAC version is using Emacs code for the new version of matlab-emacs, but is using the toolbox directory from the old version of matlab-emacs. 2) On MAC, emacsinit is failing to set the path so that emacs.set is on the path.

If you check your path (ie - 'which emacsinit') and see if there is a +emacs directory in the directory where emacsinit is.  I'm assuming it is there because emacsinit is calling emacs.Breakpoints and emacs.Stack to set up breakpoint and stack managers.

Hope this helps.
Eric

On 12/28/19 8:37 PM, Shervin Safavi wrote:
Hi Uwe,

I follow your advice. emacsinit is running smoothly and it prints:


Updating MATLAB Path to support Emacs toolbox: addpath(...

 But it give an error when running the following:

emacs.set('clientcmd', 'emacsclient -n -s /var/folders/r5/zx0tj5sd3gg3dpynd41gr5s80000gn/T/emacs501/server-9483');

Error is “Unable to resolve the name emacs.set.”

I dig into to codes a bit. This is related to the part which we tell MATLAB to use emacs as the editor. So now if type “edit <functionName>” it will be opened in the editor.

When I check it on the Linux machine with same version of MATLAB, this functionality is implemented in the “emacsinit” through this line:

com.mathworks.services.Prefs.setStringPref('EditorOtherEditor', clientcommand);

Where “clientcommand“ is the input to the emacsinit which “emacsclinet -n”. If I do the same thing in the Mac OS doesn’t work, i.e. “edit <functionName>” will open the file in MATLAB editor (of course I also tried server-start on emacs).

So I think the issue is in Mac OS we don’t know how to instruct MATLAB to use emac as its editor.

Hope that help to solve the issue; otherwise please let me know.

 Best,
Shervin

On Sat, Dec 28, 2019 at 9:36 AM Uwe Brauer <o...@mat.ucm.es <mailto:o...@mat.ucm.es>> wrote:

    >>> "SS" == Shervin Safavi
    <neuroprinciplist-re5jqeeqqe8avxtiumw...@public.gmane.org
    <mailto:neuroprinciplist-re5jqeeqqe8avxtiumw...@public.gmane.org>>
    writes:

    Hello Shervin,

       > Dear everyone,
       > I'm setting up matlab-mode on a laptop with mac OS. When I
    run matlab-shell
       > I get the following error:

       > "Unable to resolve the name emacs.set."

       > when it's running: "emacs.set('clientcmd', 'emacsclient -n -s
       >
    /var/folders/r5/zx0tj5sd3gg3dpynd41gr5s80000gn/T/emacs501/server-28543');"

       > MATLAB version is:

       > R2019b Update 1 (9.7.0.1216025) 64-bit (maci64)

       > I tried to find the issue by googling and checking the codes
    but wasn't
       > successful.

       > I should note that I set up matlab-mode on a Linux machine
    with the same
       > version works smoothly.

       > If someone has a clue to solve this, please let me know.

    Eric, who, for some reason, was not subscribed to the list, got
    finally
    your email and proposed that you should debug the file emacsinit.m

    To quote his email:

    ,----
    |
    |  The emacsinit command should print out "Updating MATLAB path ...".
    |
    |  If it doesn't then the auto-path update will need to be debugged.
    `----

     So you can cd to the matlab-emacs-src/toolbox directary, then edit
     emacsinit.m, and set a breakpoint at the beginning. Step through and
     see why it doesn't add toolbox to the path.

    Could you do this and tell us, what you observe?

    Thanks

    Uwe
    _______________________________________________




_______________________________________________
Matlab-emacs-discuss mailing list
Matlab-emacs-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matlab-emacs-discuss

Reply via email to