Skip to content

Commit 2fff242

Browse files
committed
NEWS.org: update entry for release 7.0
1 parent 9d27212 commit 2fff242

File tree

1 file changed

+113
-117
lines changed

1 file changed

+113
-117
lines changed

NEWS.org

Lines changed: 113 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -3,169 +3,165 @@
33

44
# Copyright 2025 Free Software Foundation, Inc.
55

6-
* Release 7.0 MMM DD, YYYY
6+
* Release 7.0 Sep 12, 2025
77

8-
These are items that will appear in the next ELPA release. These items are available from MELPA.
8+
1. New matlab-ts-mode.
99

10-
1. New matlab-ts-mode. Commit XXX.
10+
matlab-ts-mode is a [[https://tree-sitter.github.io/tree-sitter][tree-sitter]], based MATLAB mode using
11+
https://github.com/acristoffers/tree-sitter-matlab. This new MATLAB mode is a replacement
12+
for the matlab-mode.
1113

12-
* News for matlab-ts-mode
14+
+ Improved font-lock (semantic coloring) performance, making editing even more smooth.
1315

14-
matlab-ts-mode is a [[https://tree-sitter.github.io/tree-sitter][tree-sitter]], based MATLAB mode using
15-
https://github.com/acristoffers/tree-sitter-matlab. This new MATLAB mode is a replacement
16-
for the matlab-mode.
16+
- More accurate fontification, we now identify language elements accurately and use
17+
more faces to color them.
1718

18-
+ Improved font-lock (semantic coloring) performance, making editing even more smooth.
19+
- Fixes edge-case fontification issues when compared with matlab-mode
1920

20-
- More accurate fontification, we now identify language elements accurately and use
21-
more faces to color them.
21+
Create issue for this:
22+
#+begin_src matlab-ts
23+
x = [1 2; 3 4];
24+
y = x'' % this is valid double transpose where matlab-mode gets it wrong
25+
#+end_src
2226

23-
- Fixes edge-case fontification issues when compared with matlab-mode
27+
Function identification, see https://github.com/mathworks/Emacs-MATLAB-Mode/issues/48
2428

25-
Create issue for this:
26-
#+begin_src matlab-ts
27-
x = [1 2; 3 4];
28-
y = x'' % this is valid double transpose where matlab-mode gets it wrong
29-
#+end_src
29+
- In comments, we now highlight =FIXME=, =TODO=, and =XXX= markers.
3030

31-
Function identification, see https://github.com/mathworks/Emacs-MATLAB-Mode/issues/48
31+
- Fixed fontification of "%% section" to require that the be the start of a comment and
32+
on their own line.
3233

33-
- In comments, we now highlight =FIXME=, =TODO=, and =XXX= markers.
34+
- Variable creation/assignment will be semantically colored.
3435

35-
- Fixed fontification of "%% section" to require that the be the start of a comment and
36-
on their own line.
36+
- Now fontify all MATLAB/Simulink factory builtin provided functions, class
37+
methods/properties, enums, etc. Note, if you override a builtin function with a variable,
38+
the variable creation/assignment will be colored as a variable, but the use will continue to
39+
be a function. To avoid this confusing state, use variable names that collide with builtin
40+
items.
3741

38-
- Variable creation/assignment will be semantically colored.
42+
+ Improved indent
3943

40-
- Now fontify all MATLAB/Simulink factory builtin provided functions, class
41-
methods/properties, enums, etc. Note, if you override a builtin function with a variable,
42-
the variable creation/assignment will be colored as a variable, but the use will continue to
43-
be a function. To avoid this confusing state, use variable names that collide with builtin
44-
items.
44+
- Simplified the semantics for indent. The indent rules are described in matlab-ts-mode.el
45+
for completeness.
4546

46-
+ Improved indent
47+
- Improved indent performance, making editing very smooth.
4748

48-
- Simplified the semantics for indent. The indent rules are described in matlab-ts-mode.el
49-
for completeness.
49+
- Fixes various edge-case indent issues, some are
5050

51-
- Improved indent performance, making editing very smooth.
51+
+ Fixed indent of function definition when ellipsis continuations are used.
5252

53-
- Fixes various edge-case indent issues, some are
53+
+ Auto-indentation of end, see https://github.com/mathworks/Emacs-MATLAB-Mode/issues/33
5454

55-
+ Fixed indent of function definition when ellipsis continuations are used.
55+
+ Fixed cell and matrices indent alignment problems
5656

57-
+ Auto-indentation of end, see https://github.com/mathworks/Emacs-MATLAB-Mode/issues/33
57+
+ There's no longer prompting if you want functions to have end's. This is now computed
58+
automatically.
5859

59-
+ Fixed cell and matrices indent alignment problems
60+
+ Improved fill-paragraph, =M-q=, which will now fill comments and when not in a comment, indent
61+
the current function or statement.
6062

61-
+ There's no longer prompting if you want functions to have end's. This is now computed
62-
automatically.
63+
+ Accurate type of m-file detection, which improves matlab-sections-minor-mode.
6364

64-
+ Improved fill-paragraph, =M-q=, which will now fill comments and when not in a comment, indent
65-
the current function or statement.
65+
+ Change Log command now work with MATLAB *.m files.
6666

67-
+ Accurate type of m-file detection, which improves matlab-sections-minor-mode.
67+
Running =C-x 4 a= (add-change-log-entry-other-window) will now insert the name of the function
68+
or classdef for the current point.
6869

69-
+ Change Log command now work with MATLAB *.m files.
70+
+ Added support for =M-x outline-minor-mode=. Outline headings are =function='s, =classdef='s,
71+
and "%% heading" comments.
7072

71-
Running =C-x 4 a= (add-change-log-entry-other-window) will now insert the name of the function
72-
or classdef for the current point.
73+
+ On save fix of function/classdef name now handles buffer names that aren't valid MATLAB
74+
identifiers. On save fix of function/classdef name handles buffers not associated with files
75+
on disk. Also fixed cases where detection of scripts failed.
7376

74-
+ Added support for =M-x outline-minor-mode=. Outline headings are =function='s, =classdef='s,
75-
and "%% heading" comments.
77+
+ Improved handling of single quotes for =M-x electric-pair-mode=. These will automatically
78+
pair
79+
- Single quote when used to create a single-quoted string, but not when used elsewhere,
80+
e.g. a matrix transpose.
81+
- Double quotes for a double-quoted string.
82+
- Parenthesis =()=, Vectors, =[]=, and Cells ={}=.
7683

77-
+ On save fix of function/classdef name now handles buffer names that aren't valid MATLAB
78-
identifiers. On save fix of function/classdef name handles buffers not associated with files
79-
on disk. Also fixed cases where detection of scripts failed.
84+
+ We now highlight starting and ending string quote when the point is on the start or end single
85+
or double quote.
8086

81-
+ Improved handling of single quotes for =M-x electric-pair-mode=. These will automatically
82-
pair
83-
- Single quote when used to create a single-quoted string, but not when used elsewhere,
84-
e.g. a matrix transpose.
85-
- Double quotes for a double-quoted string.
86-
- Parenthesis =()=, Vectors, =[]=, and Cells ={}=.
87+
+ Improved (more predictable) s-expression commands
8788

88-
+ We now highlight starting and ending string quote when the point is on the start or end single
89-
or double quote.
89+
#+begin_example
90+
C-M-f Move forward by s-expression, forward-sexp
91+
- If point is on the start of an s-expression, move to the end.
92+
- If point is on the end of an s-expression, move to the start of the next s-expression
93+
at the same level. If there is no next s-expression, no movement occurs.
94+
C-M-b Move backward by s-expression, backward-sexp
95+
- If point is on the end of an s-expression, move to the start.
96+
- If point is on the start of an s-expression, move to the start of the prior s-expression
97+
at the same level. If there is no prior s-expression, no movement occurs.
98+
C-M-SPC Mark s-expression, place point at beginning of sexp and mark at the end, mark-sexp
99+
C-M-@ Same as C-M-SPC.
100+
C-M-k Kill s-expression, kill-sexp
101+
C-M-t Transpose s-expressions, transpose-sexp
102+
#+end_example
90103

91-
+ Improved (more predictable) s-expression commands
104+
+ Improved sentence commands. Also fixes bugs, e.g. M-a in old matlab-mode can result in error
105+
"Wrong number of arguments: (0 . 0), 1" and now works in matlab-ts-mode.
92106

93-
#+begin_example
94-
C-M-f Move forward by s-expression, forward-sexp
95-
- If point is on the start of an s-expression, move to the end.
96-
- If point is on the end of an s-expression, move to the start of the next s-expression
97-
at the same level. If there is no next s-expression, no movement occurs.
98-
C-M-b Move backward by s-expression, backward-sexp
99-
- If point is on the end of an s-expression, move to the start.
100-
- If point is on the start of an s-expression, move to the start of the prior s-expression
101-
at the same level. If there is no prior s-expression, no movement occurs.
102-
C-M-SPC Mark s-expression, place point at beginning of sexp and mark at the end, mark-sexp
103-
C-M-@ Same as C-M-SPC.
104-
C-M-k Kill s-expression, kill-sexp
105-
C-M-t Transpose s-expressions, transpose-sexp
106-
#+end_example
107+
#+begin_example
108+
M-e Move forward to next end of sentence, forward-sentence
109+
M-a Move backward to start of sentence, backward-sentence
110+
M-k Kill from point to end of sentence, kill-sentence
111+
C-x DEL Kill back from point to start of sentence, backward-kill-sentence
112+
#+end_example
107113

108-
+ Improved sentence commands. Also fixes bugs, e.g. M-a in old matlab-mode can result in error
109-
"Wrong number of arguments: (0 . 0), 1" and now works in matlab-ts-mode.
114+
+ Some older matlab-mode menu items and keybindings have been removed because there are
115+
standard replacements. Examples:
110116

111-
#+begin_example
112-
M-e Move forward to next end of sentence, forward-sentence
113-
M-a Move backward to start of sentence, backward-sentence
114-
M-k Kill from point to end of sentence, kill-sentence
115-
C-x DEL Kill back from point to start of sentence, backward-kill-sentence
116-
#+end_example
117+
- To comment or uncomment code use select the code and type =M-;= which is the standard
118+
way to do this in Emacs. The older =C-c ;= and =C-c :" matlab only comment and uncomment
119+
commands no longer exist.
117120

118-
+ Some older matlab-mode menu items and keybindings have been removed because there are
119-
standard replacements. Examples:
121+
- Completion - we used to have =M-TAB= to complete symbol and this has been replaced by
122+
using LSP mode.
120123

121-
- To comment or uncomment code use select the code and type =M-;= which is the standard
122-
way to do this in Emacs. The older =C-c ;= and =C-c :" matlab only comment and uncomment
123-
commands no longer exist.
124+
+ matlab-shell now has one correct ways of running code sections, via menu =MATLAB -> Code
125+
Sections -> Run Section (C-c C-<return>)= or and the older =MATLAB -> Run Code Section=
126+
(matlab-shell-run-code-section) because it was duplication and wasn't correctly handling all
127+
cases.
124128

125-
- Completion - we used to have =M-TAB= to complete symbol and this has been replaced by
126-
using LSP mode.
129+
+ Builtin items such as namespaces, functions, classes, enumerations, etc. provided by the
130+
MATLAB/Simulink products are shown in =font-lock-builtin-face=. Using a different face for
131+
builtins vs items you created improves readability. It also helps to avoid mistakes where you
132+
override a builtin with a variable. The number of builtin items in the MATLAB/Simulink
133+
R2025a.update1 product family is 153,627.
127134

128-
+ matlab-shell now has one correct ways of running code sections, via menu =MATLAB -> Code
129-
Sections -> Run Section (C-c C-<return>)= or and the older =MATLAB -> Run Code Section=
130-
(matlab-shell-run-code-section) because it was duplication and wasn't correctly handling all
131-
cases.
135+
+ When creating a variable that matches a builtin item
136+
matlab-ts-mode-variable-override-builtin-face. This makes it easy to see when you are
137+
accidently shadowing a builtin function, class, etc. For example, in the following
138+
we create a lines variable that shadows the MATLAB built-in lines function:
132139

133-
+ Builtin items such as namespaces, functions, classes, enumerations, etc. provided by the
134-
MATLAB/Simulink products are shown in =font-lock-builtin-face=. Using a different face for
135-
builtins vs items you created improves readability. It also helps to avoid mistakes where you
136-
override a builtin with a variable. The number of builtin items in the MATLAB/Simulink
137-
R2025a.update1 product family is 153,627.
140+
#+begin_src matlab
141+
lines = ['line1', 'line2']
142+
#+end_src
138143

139-
+ When creating a variable that matches a builtin item
140-
matlab-ts-mode-variable-override-builtin-face. This makes it easy to see when you are
141-
accidently shadowing a builtin function, class, etc. For example, in the following
142-
we create a lines variable that shadows the MATLAB built-in lines function:
144+
Using a non-builtin name for a variable results in the standard =font-lock-variable-name-face=
145+
being used:
143146

144-
#+begin_src matlab
145-
lines = ['line1', 'line2']
146-
#+end_src
147+
#+begin_src matlab
148+
myLines = ['line1', 'line2']
149+
#+end_src
147150

148-
Using a non-builtin name for a variable results in the standard =font-lock-variable-name-face=
149-
being used:
151+
+ MLint MATLAB code analyzer integration via flycheck. Flycheck is an improved on-the-fly
152+
error reporting system when compared with the mlint integration in the older matlab-mode.
150153

151-
#+begin_src matlab
152-
myLines = ['line1', 'line2']
153-
#+end_src
154+
+ New "MATLAB -> View mlint code analyzer messages" menu item.
154155

155-
+ MLint MATLAB code analyzer integration via flycheck. Flycheck is an improved on-the-fly
156-
error reporting system when compared with the mlint integration in the older matlab-mode.
156+
+ New "MATLAB -> View tree-sitter parse errors" menu item that lets one inspect
157+
the parse errors found by the MATLAB tree-sitter backing the new matlab-ts-mode.
157158

158-
+ New "MATLAB -> View mlint code analyzer messages" menu item.
159+
+ New "MATLAB -> Jump to function" menu item.
159160

160-
+ New "MATLAB -> View tree-sitter parse errors" menu item that lets one inspect
161-
the parse errors found by the MATLAB tree-sitter backing the new matlab-ts-mode.
161+
+ New "MATLAB -> Check setup" menu item that helps validate flycheck and lsp-mode are
162+
setup correctly.
162163

163-
+ New "MATLAB -> Jump to function" menu item.
164-
165-
+ New "MATLAB -> Check setup" menu item that helps validate flycheck and lsp-mode are
166-
setup correctly.
167-
168-
+ New "MATLAB -> Editing -> ..." submenu that contains helpful editing commands.
164+
+ New "MATLAB -> Editing -> ..." submenu that contains helpful editing commands.
169165

170166
2. Added [[file:doc/matlab-netshell-for-windows.org][doc/matlab-netshell-for-windows.org]]. Commit [[https://github.com/mathworks/Emacs-MATLAB-Mode/commit/b0222ac2c067292b43fba91a60b39a262c6149d3][b0222ac]].
171167

0 commit comments

Comments
 (0)