Version 7.1.2 of package Matlab-Mode has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Matlab-Mode describes itself as: ==================================== Major mode for MATLAB(R) dot-m files ==================================== More at https://elpa.gnu.org/packages/matlab-mode.html ## Summary: 1 Emacs MATLAB-mode ═══════════════════ [MathWorks] MATLAB® and [GNU Emacs] integration: 1. MATLAB mode, *matlab-ts-mode* or *matlab-mode*, for editing `*.m' files. • Edit MATLAB code with syntax highlighting and smart indentation. • Lint MATLAB code with fix-it's using the MATLAB Code Analyzer. The *matlab-ts-mode* is a more capable, performant, and accurate than *matlab-mode*. 2. *Code navigation and more* • The [MATLAB Language Server with Emacs], matlabls, provides code navigation, code completion, go to definition, find references, and more. • Imenu support for quickly jumping to function declarations in the current `*.m' or `*.tlc' file. See [doc/matlab-imenu.org]. ## Recent NEWS: 1 Release 7.1.2 Oct 16, 2025 ════════════════════════════ 1. matlab-is-matlab-file: This function identifies when the content of a *.m file is MATLAB code, if it's not MATLAB code, Emacs defaults to Objective-C. This fixes a case where a *.m contains MATLAB code and the first line is a @function_handle. 2 Release 7.1.1 Oct 1, 2025 ═══════════════════════════ 1. matlab-ts-mode: fix semantic movement in strings. Now C-M-f, C-M-b, C-M-SPC work when point is within strings. 3 Release 7.1.0 Sep 29, 2025 ════════════════════════════ 1. Improved matlab-ts-mode imenu. The imenu index now creates indices for code sections defined by "%% heading comments". In addition, the menu was updated to have structure: • Class • Function • Section Previously, imenu was a flat list without code sections index entries. 4 Release 7.0.1 Sep 13, 2025 ════════════════════════════ 1. emacsrunregion fix, <https://github.com/mathworks/Emacs-MATLAB-Mode/pull/55> 5 Release 7.0.0 Sep 12, 2025 ════════════════════════════ 1. New matlab-ts-mode. matlab-ts-mode is a [tree-sitter], based MATLAB mode using <https://github.com/acristoffers/tree-sitter-matlab>. This new MATLAB mode is a replacement for the matlab-mode. ⁃ Improved font-lock (semantic coloring) performance, making editing even more smooth. • More accurate fontification, we now identify language elements accurately and use more faces to color them. • Fixes edge-case fontification issues when compared with matlab-mode Create issue for this: ┌──── │ x = [1 2; 3 4]; │ y = x'' % this is valid double transpose where matlab-mode gets it wrong └──── Function identification, see <https://github.com/mathworks/Emacs-MATLAB-Mode/issues/48> • In comments, we now highlight `FIXME', `TODO', and `XXX' markers. • Fixed fontification of "%% section" to require that the be the start of a comment and on their own line. • Variable creation/assignment will be semantically colored. • Now fontify all MATLAB/Simulink factory builtin provided functions, class methods/properties, enums, etc. Note, if you override a builtin function with a variable, the variable creation/assignment will be colored as a variable, but the use will continue to be a function. To avoid this confusing state, use variable names that collide with builtin items. ⁃ Improved indent • Simplified the semantics for indent. The indent rules are described in matlab-ts-mode.el for completeness. • Improved indent performance, making editing very smooth. • Fixes various edge-case indent issues, some are ⁃ Fixed indent of function definition when ellipsis continuations are used. ⁃ Auto-indentation of end, see <https://github.com/mathworks/Emacs-MATLAB-Mode/issues/33> ⁃ Fixed cell and matrices indent alignment problems ⁃ There's no longer prompting if you want functions to have end's. This is now computed automatically. ⁃ Improved fill-paragraph, `M-q', which will now fill comments and when not in a comment, indent the current function or statement. ⁃ Accurate type of m-file detection, which improves matlab-sections-minor-mode. ⁃ Change Log command now work with MATLAB *.m files. Running `C-x 4 a' (add-change-log-entry-other-window) will now insert the name of the function or classdef for the current point. ⁃ Added support for `M-x outline-minor-mode'. Outline headings are `function''s, `classdef''s, and "%% heading" comments. ⁃ On save fix of function/classdef name now handles buffer names that aren't valid MATLAB identifiers. On save fix of function/classdef name handles buffers not associated with files on disk. Also fixed cases where detection of scripts failed. ⁃ Improved handling of single quotes for `M-x electric-pair-mode'. These will automatically pair … … [tree-sitter] <https://tree-sitter.github.io/tree-sitter>
