462c6d2a1e
Setup to simplify which Emacs to compile with. (matlab-maint-menu): Add "clean" and "pick emacs" items. (matlab-maint-compile-opts, matlab-maint-compile-emacs): New options. (matlab-maint-pick-emacs, matlab-maint-compile-clean): New commands. (matlab-maint-compile-matlab-emacs): Use `matlab-maint-compile-emacs' as the value to EMACS variable in compile call. linemark.el: Use find-file-hook (find-file-hooks is obsololete) matlab-shell.el: Setup declared fcn for `matlab-shell-help-mode'. matlab.el: (matlab-mode): Use write-contents-functions instead of write-contents-hooks. (gud-matlab-debug-active): Give forwrad declare a value of nil. mlint.el: Require 'font-lock' during compilation. (mlint-clear-cross-function-variable-highlighting): Extra checks for `font-lock-flush' before calling. |
||
---|---|---|
templates | ||
tests | ||
toolbox | ||
.gitignore | ||
cedet-matlab.el | ||
ChangeLog | ||
ChangeLog.old1 | ||
ChangeLog.old2 | ||
company-matlab-shell.el | ||
dl_emacs_support.m | ||
INSTALL | ||
linemark.el | ||
Makefile | ||
matlab-cgen.el | ||
matlab-compat.el | ||
matlab-complete.el | ||
matlab-maint.el | ||
matlab-mode-pkg.el | ||
matlab-netshell.el | ||
matlab-publish.el | ||
matlab-shell-gud.el | ||
matlab-shell.el | ||
matlab-topic.el | ||
matlab.el | ||
mlint.el | ||
Project.ede | ||
README.org | ||
semantic-matlab.el | ||
semanticdb-matlab.el | ||
srecode-matlab.el | ||
tlc.el |
Matlab-emacs Project:
MATLAB and Emacs integration:
- matlab-mode for editing *.m files.
-
matlab-shell for running MATLAB -nodesktop within Emacs (Unix-only).
- matlab-shell will use company-mode for completions.
- tlc-mode for editing *.tlc files (part of Simulink Coder).
- Integration with CEDET.
INSTALL
To install directly from the repository,
cd /path/to/matlab-emacs make
Next, add the following to your ~/.emacs file:
;; Replace path below to be where your matlab.el file is.
(add-to-list 'load-path "/path/to/matlab-emacs")
(load-library "matlab-load")
;; Enable CEDET feature support for MATLAB code. (Optional)
;; (matlab-cedet-setup)
MELPA
GNU emacs (sorry Xemacs folks) users (version >=24) can use the package as provided by MELPA. Set
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
And then run M-x package-list-packages
Releases
The most recent version of matlab.el is in SourceForge GIT.
Homepage: http://matlab-emacs.sf.net
Project Page: http://sourceforge.net/projects/matlab-emacs
GIT Repository: https://sourceforge.net/p/matlab-emacs/src/ci/master/tree/
You can get a zip file using the "Download snapshot" button or use git to create a local repository:
git clone git://git.code.sf.net/p/matlab-emacs/src matlab-emacs-src
If you do not have a GIT client on your machine, you can use the MATLAB script dl_emacs_support.m to download a fresh copy of the matlab.el sources. https://sourceforge.net/p/matlab-emacs/src/ci/master/tree/dl_emacs_support.m
Older versions in the SourceForge CVS repository are no longer updated.
Dependencies
MATLAB-Emacs can use the CEDET suite for the following items:
- Modifying the build system (Makefiles, etc)
- mlint (uses EIEIO object system)
-
parsing/completion (uses semantic parsing system)
- some template insertion features
As of Emacs 23.2, CEDET is included in Emacs, and nothing extra is needed to satisfy that dependency.
For older versions of Emacs:
See http://cedet.sf.net for downloading CEDET.
If you only want to use matlab.el for editing code or running the MATLAB shell, you DO NOT need to install CEDET.
If you do want to use CEDET, add the following to your .emacs file:
(matlab-cedet-setup)
Mailing List
Subscribe to matlab-emacs-discuss mailing list get updates on new releases and discuss topics relevant to the matlab-emacs project.
http://lists.sourceforge.net/mailman/listinfo/matlab-emacs-discuss
Old mailing list: The original mailing list where beta versions of matlab.el were posted, and where comments, questions, bug reports, and answers to questions could be sent. If you were subscribed to this list, please unsubscribe, and subscribe to the new list above. To unsubscribe, send email with the body of: "unsubscribe matlab-emacs"
FAQ
How Do I Customize matlab-emacs?
You can configure matlab-emacs using the "matlab" or "matlab-shell" customization groups:
Emacs -> Options -> Customize Emacs -> Specific Group
How do I customize "edit file.m" behavior?
By default when you run
M-x matlab-shell >> edit file.m
file.m will open in emacs using 'emacsclient -n'. matlab-shell achieve this behavior by instructing MATLAB to use 'emacsclient -n' as the external text editor.
You can customize this by setting `matlab-shell-emacsclient-command' (Matlab Shell Emacsclient Command) of the matlab-shell customization group. You can change this command to what's appropriate. If you set it to the empty string, 'edit file.m' will use the default MATLAB editor setting.
The default MATLAB editor setting is controlled in the MATLAB preferences, (e.g. R2018a Home tab, Environment section, Preferences) where you can select which editor you want to edit a text file. MATLAB Editor or an external text editor. If you always want to use Emacs as your matlab editor even when running MATLAB outside of emacs, select Text editor and set it to the appropriate 'emacsclient -n' command.
Can I debug *.m files using Emacs as a debugger?
Starting with MATLAB 8.5 (R2015b), Emacs can no longer be used as a debugger for debugging MATLAB code. With R2015b, MATLAB no longer provides necessary file and line number information for external debuggers. Therefore, in matlab-shell:
>> dbstop in foo
will open foo in the MATLAB editor for debugging.