Misc spelling fixes.
(mlint-program-selection-fcn): Improved doc.
(mlint-lm-entry-deprecated): Fixed name
(mlint-run): Check that mlint-program is executable.
(mlint-minor-mode): Improve how mlint program is discovered.
(matlab-mode): Use :after-hook for initializing mlint minor mode.
Stop running matlab-mode-hook - this is done by define-derived-mode.
(matlab-mode-init-mlint-if-needed): Helper for initializing
mlint-minor-mode. Protect against starting twice, if user
initialized it in the matlab-mode-hook.
(mlint-minor-mode): forward declare.
Add fetch option to just return the server if there already is one, or empty.
Support calling this function with no argument after it is running, and doing a 'fetch'
instead of an init.
help.m:
Use 'fetch' of emacsnetshell to decide if we need to send cookies to Emacs.
Don't send those cookies with netshell - only if inside an Emacs buffer.
(matlab-block-comment-start-re, matlab-block-comment-end-re):
New regular expressions used to find the start/end of a block comment.
(matlab-ltype-block-comment-start, matlab-ltype-block-comment-end):
New predicates to check for block comment features.
(matlab-find-block-comments, matlab-ltype-block-comm-1):
Use new block comment expressions instead of hand-written regexps.
(matlab-ltype-block-comm-at-start, matlab-ltype-block-comm-at-end)
(matlab-electric-block-comment):
Use new block comment predicates.
indents.m:
Add some block comment indentation tests with valid and invalid block
comment starts.
(matlab-keyword-list, matlab-class-font-lock-keywords)
(matlab-mcos-regexp): Add 'events' keyword to be
supported the way 'properties' keyword is.
tests/mclass.m:
Add 'events' block with 2 events in it.
(matlab-netshell-execute-command): Whe enabling gud bindings, do
so in the netshell process buffer. Protects local keybindings in
whatever the default buffer was from gud's calls to set-local-key.
matlab-compat.el:
(matlab-find-emacsclient):
Improve how emacsclient is found across platforms.
Add support for MACOS.
bin/matlab-emacsclient.sh:
New script. For MAC, use this to use the correct parameters with emacsclient
when called from MATLAB. See comments for details.
toolbox/+emacs/set.m:
For unix case, use environment variables to setup how MATLAB will call emacsclient
instead of using Java & Preferences.
toolbox/emacsinit.m:
Spelling and typo fixes.
Add ability to specify which command save-and-go uses instead of current buffer.
Useful when multiple files contribute to a particular program you want to run.
(matlab-shell-save-and-go-command, matlab-shell-save-and-go-command-enabled):
New options
(matlab-shell-set-save-and-go-command): New command.
(matlab-shell-save-and-go): Check above new options.
If it has a value, check if it is safe to use tht command.
If not, do the default.
(matlab-shell-save-and-go): When asked to cd to file directory,
make sure the shell is not in that directory before issuing CD command.
Use `emacscd' command, to make sure Emacs' matlab-shell buffer also
changes.
NEWS.org (News in 4.0): 290 Merge, documentation concerning new
features, provided by John Ciolfi <ciolfi@mathworks.com>, thanks John.
2019-11-25 Uwe Brauer <oub@mat.ucm.es>
NEWS.org (Changes and New Features in matlab-emacs): New file,
add News for 4.0
NEWS.org (News in 4.0): 290 Merge, documentation concerning new
features, provided by John Ciolfi <ciolfi@mathworks.com>, thanks John.
2019-11-25 Uwe Brauer <oub@mat.ucm.es>
NEWS.org (Changes and New Features in matlab-emacs): New file,
add News for 4.0
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.
Add additional debugging tests, including for breakpoints buffer, and stack display.
(mstest-debugger): Add extra debugging testss.
(mstest-debugger-stacklist, mstest-debugger-breakpointlist):
New test helpers.
(mstest-debugger-breakpoint): Allow to test for multiple breakpoints by
looping over extended inputs list.
(matlab-frame-init): Menu biding for ebstack now calls gud-list-breakpoints.
matlab-shell-gud.el:
Replace all bindings around mlg-show-breakpoints, and replace with
gud-list-breakpoints.
(matlab-shell-mode-map): Add C-c C-c binding to matlab-shell-interrupt-subjob.
(matlab-shell-flush-accumulation-buffer): New state variable.
(matlab-shell-wrapper-filter): If above variable is non nil, flush
the accumulation buffer as if there were no emacscap tags.
(matlab-shell-interrupt-subjob): New command.
Sets state to flush accumulation buffer, and also sends interrupt signal.
(matlab-shell-accumulator): Make buffer local.
(matlab-shell-process-capture-text):
MATLAB Help buffers now can appear as prefix, not whole buff name.
Detect those.
Improve display-buffer so we can re-use windows.
Also call Breakpoints to send updated breakpoints.
Wrap stack and breakpoints in (progn ...)
toolbox/+emacs/@Breakpoints/Breakpoints.m:
(updateString): New, extracted from updateEmacs.
If show=false, and no changes, send no refresh command.
(updateEmacs): use above.
(updateForHotLinks): New, disp the commands only.
toolbox/+emacs/@Stack/Stack.m
(updateForHotLinks): Display nothing of there were no changes.
(matlab-shell-run-region-cmd): Delete, replace with...
(matlab-shell-internal-emacsrunregion): New variable specifies
what MATLAB command to use to run a region.
(matlab-shell-run-region-command): Renamed to ...
(matlab-shell-run-region-function): is now a lisp function symbol
to use to run the region, but uses the same text tags.
Cross ref the above variables.
(matlab-shell-region-command): Use new variable name from above.
If not 'auto' then just 'funcall' the region function.
(matlab-shell-run-region-internal): Renamed to ...
(matlab-shell-region->internal): New name.
Use new internal-emacsrunregion variable.
(matlab-shell-extract-region-to-tmp-file): Rename to ...
(matlab-shell-region->script): new name.
(matlab-shell-capture-text): Deleted.
(matlab-shell): Remove ref to above.
(matlab-shell-wrapper-filter): Prevent text between <EMACSCAP> from
being displayed into the comint buffer. Instead, dispatch to below.
(matlab-shell-process-capture-text): New.
Process text string that is expected to have entire content
between <EMACSCAP> tokens. Replaces `emacs-shell-capture-text'.
(gud-matlab-tool-bar-map): Add show stack and breakpoints.
Remove up/down.
Pull buttons from matlab-mode-map, not gud-minor-mode-map.
(matlab-shell-mode-gud-enable-bindings):
Bind stop-subjob to C-q
Finish is now dbstep out.
(matlab-shell-gud-minor-mode-map):
q now bound to stop-subjob.
(matlab-shell-history-ignore): New customizable variable.
(matlab-shell-version-scrape): Update version regex to include prerelease.
Add config for `comint-input-history-ignore' to ignore stuff
sent by Emacs to ML.
(metest-comment-string-syntax-test):
Add block comment testing.
(met-sexptest-files): Remove indents.m, it had
not test points for sexp tests.
tests/stringtest.m:
Add a block comment and tests for detecting contents.