(mlint-error-id-fix-alist):
Add MCSCC for bad constructor name to be auto fixable.
(mlint-lm-function-name::initialize-instance):
Add matcher for MCSCC warnings.
(matlab-hg-primitives-list): Fix typo of a command name.
(matlab-comment-on-line): Fix this fcn to do what the doc says.
mlint.el:
(mlint-mark-ok): Separate the 2 cases of existing comment or not and
do each with special code. Make sure the OK is put in the right
place.
(mlint-lm-replace-focus::initialize-instance)
(mlint-lm-function-name::initialize-instance)
(mlint-lm-entry-deprecated::initialize-instance):
Quote in the class name when passed to oref-default to silence warning.
semanticdb-matlab.el:
(semanticdb-project-system-databases)
(semanticdb-project-database-matlab::semanticdb-get-database-tables)
Use 'make-instance' to create instances of classes.
(matlab-line-declaration-p): Fix doc.
(matlab-line-first-word-text): New.
matlab.el:
(matlab-defun-regex): DELETED.
(matlab-guess-script-type): Replace use of matlab-defun-regex
with new api style navigation.
(matlab-guess-function-indentation): New way to guess
if a file should have indentation in function body.
(matlab-really-gaudy-font-lock-keywords): for tranpose,
use builtin-face like other operators.
(matlab-mode): When matlab-indent-function-body is 'guess
use new function above.
(matlab-find-prev-code-line, matlab-find-prev-line)
(matlab-prev-line, matlab-valid-end-construct-p): DELETED.
(matlab-mode-vf-block-matches-backward): DELETED
mlint.el:
(mlint-fix-entry): Use new api instead of
matlab-find-prev-code-line.
tests/metest.el:
In end detect test, turn `matlab-indent-function-body' to 'guess.
In test, also validate what the indent value is.
Put value for indent-function-body back to mw standard when done.
tests/empty.m, tests/mclass.m, tests/mfuncends.m
tests/mfuncnoends.m, tests/mfuncnoendblock.m:
Add indent exptect value to file
tests/mfuncnoendindent.m:
New file for testing endless function that should be indented.
(matlab-valid-end-construct-p): an 'end' after a . is a field,
and not a valid block end.
(matlab-cursor-on-valid-block-start): any block after a . is a field,
and not a valid block start.
mlint.el:
(mlint-lm-missing-end::mlint-fix-entry): Fix too many close )
tests/blocks.m:
Add struct_stuff method to verify not indenting anything after a .
tests/stringtest.m:
Add an invalid block comment (all on one line) with test markers in it.
Add autofix routines for missing ends, and missmatched file/class names.
(mlint-error-id-fix-alist): Add ENDCT2, FNDEF, and MCFIL support.
(mlint-lm-entry::mlint-fix-entry, mlint-lm-*::initialize-instance):
Fix all occurances of :AFTER with :after.
(mlint-lm-function-name): New class.
(mlint-lm-function-name::initialize-instance): New.
(mlint-lm-missing-end): New class.
(mlint-lm-missing-end::mlint-fix-entry): New.
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.
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.
New compat macros for cl-defmethod, pulse, and font-lock stuff.
linemark.el, mlint.el, matlab-shell-gud.el, semanticdb-matlab.el:
Replace defmethod with cl-defmethod.
Replace call-next-method with cl-call-next-method.
linemark.el:
Also require matlab-compat.el
tests/Makefile:
Allow EMACS to be overridable
Autoload cookie for `matlab-mode-determine-matlabroot'.
mlint.el:
More robust finding of mlint program.
(mlint-reset-program): If other tricks fail,
use matlabroot and find mlint that way.
Fix to work w/ newer eieio.
(initialize-instance, initialize-instance):
Use oref-default to get class values.
(mlint-clear-cross-function-variable-highlighting):
Use font-lock-flush to fix compiler warnings.
Move large chunks of matlab.el to matlab-complete.el,
matlab-shell.el, and matlab-topic.el.
Update existing .el files to require new files as needed.
Update Makefiles to no longer have Makefile check.
matlab.el: Settings updates:
(matlab-mode-version): Update to 4.0 (based on expectations of this change.)
(matlab-functions-have-end): set to t. Fix doc.
(matlab-functions-have-end-p): If guess, then guess, otherwise
base it on matlab-functions-have-end.
(matlab-fill-code): set to nil.
(matlab-keyword-list, matlab-block-end-pre-if): remove endfunction
(matlab-calculate-indentation): remove matlab-ltype-endfunction-comm.
matlab.el: code moving
(matlab-frame-init): moved earlier near keymaps.
(mlint-symtab-line-regexp): Support changed mlint table output syntax
(mlint-warning-code-alist): Obsolete
(mlint-error-fix-alist): Obsolete
(mlint-error-id-fix-alist): New version of the old error-fix-alist.
(mlint-run): Add the "-edit" flag when highlighting crossfunction variables.
Updated parsing of the mlint table for highlighting cross-function variables.
Updated mechanism for highlighting the cross-function variables.
(mlint-lm-entry): Update warningid doc.
(mlint-warning->class, mlint-warningid->class): Name change. Use new table of warning ids
instead of parsing warning strings.
(linemark-new-entry): Use warning id, not warning string for class determination.
(mlint-lm-replace-focus): new-text is no longer class allocated.
(mlint-lm-entry-depricated): New class rule.
(mlint-lm-entry-isstr, mlint-lm-entry-setstr): Deleted.
(mlint-lm-eval->trycatch): Commented out. Not provided by mlint, but it
is cool and could be resurrected.
(mlint-highlight): Can't provide warningcode anymore.
(mlint-clear-cross-function-variable-overlays): Renamed to
(mlint-clear-nested-function-info-overlays): updated w/ more info.
(mlint-clear-cross-function-variable-highlighting)
(mlint-minor-mode): Use new clear function for nested function info.