(semantic-matlab-dependency-system-include-path):
Fix logic computing the include path to use root dir, but not
put things on the path that don't exist.
semanticdb-matlab.el:
require matlab-shell.
(semanticdb-matlab-cache-files):
Stop using old style classes fcn.
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 error and warning scraping and jumping.
Delete some obsolete text formatters.
(matlab-shell-mode): Re-enable comint filter function
`matlab-shell-render-errors-as-anchor'.
(matlab-txt-format-beg, matlab-txt-format-end): Delete.
(matlab-shell-render-html-txt-format): Delete
(gud-matlab-error-regexp): Deleted. Expressions are now in the below:
(matlab-shell-error-anchor-expression): New
(matlab-shell-error-location-expression): New
(matlab-shell-scan-for-error): New, uses above to find
errors, and return file and line number info.
(matlab-shell-render-errors-as-anchor): Use above.
Make input optional to simplify testing.
(matlab-shell-which-fcn): Fix preceeding comments.
This is now used by below.
(matlab-shell-mref-converters): New
(matlab-shell-mref-to-filename): New, use above.
Converts a file name (as scraped from MATLAB output)
into a file name emacs can use.
Will now ask MATLAB to get a file name if it can't figure it
out on it's own.
(matlab-find-other-window-file-line-column): Use above
instead of ad-hoc soln.
(matlab-shell-last-error): Use new `matlab-shell-scan-for-error'.
Revamp basic completion in the shell.
(company-mode,company-idle-delay): Quiet compiler.
(matlab-shell-mode-map): Remove random checks about `company-mode'.
Always provide the same bindings and control how to complete elsewhere.
Add comments and group keybindings.
Remove extras - only provide one complete.
(matlab-shell-tab): Convert to a switchyard.
Use `cond' to break up function into clear sections for each type of
completion we can do.
(matlab-shell-do-completion-light): New.
Uses `completion-in-region' to do all the work.
(matlab-shell-do-completion) New, all code that used to be in
`matlab-shell-tab'. To be used by older versions of Emacs.
Trim out old XEmacs logo thing.
Cleanup some completion stuff.
(matlab-shell-logo): Delete.
(matlab-shell-mode): Don't setup xemacs logo hack.
(matlab-shell-hack-logo): Delete
(matlab-shell-ask-MATLAB-for-completions): Move.
(matlab-shell-tab-company-available): Compute
default value inline.
(matlab-shell): Set companyidle delay to nil
to prevent random popups from appearing as you type.
(matlab-shell-window-exists-for-display-completion-flag): Delete.
(matlab-shell-get-completion-info): Update the doc
to conform to standards.
(matlab-display-completion-list): Moved to matlab-compat.el
(matlab-shell-tab): Cleanup old window display code to
use `display-buffer' instead.
(matlab-tab-hide-completions): Replace complexity with
`quit-buffer'.
(matlab-set-keymap-parent): New shim fcn.
(matlab-find-executible-directory): New fcn.
matlab-shell.el:
Use matlab-compat.el.
Always require comint, as this file won't load unless someone
is trying to create a shell.
(matlab-shell-font-lock-keywords): Refresh
to highlight startup text again.
(matlab-mode-determine-matlabroot): New.
(matlab-mode-install-path): Use above.
(matlab-mode-determine-mfile-path): Delete.
(matlab-shell-mode-map): Create during declaration,
including the menus.
(matlab-shell-mode): Don't make menu (see above)
(matlab-shell): Don't make keymap (see above)
semantic-matlab.el:
(semantic-matlab-root-directory): delete
(semantic-matlab-root-directory): Use
matlab-mode-determine-matlabroot instead of above.
New file, has all the compatibility shims from matlab.el.
matlab.el:
Remove compatibility shims, add to matlab-compat.el.
(matlab-functions-have-end-minor-mode): Get rid of wierd
fontified string and misc infrastructure. It's not being shown anyway.
(matlab-mode-vf-block-matches-forward):
If in ADDEND mode, then only ask to add an end if needed.
If user says no, then set this buffer to not needing
function ends, and exit.
(matlab-font-lock-extend-region):
If we extend, extend for whole lines.
(matlab-find-block-comments):
On fail or success, explicitly move to end
of what we have found so far.
(matlab-ltype-block-comm): Reject block
comment starts in strings or other comments.
Track if we found a comment successfully
during search loops, and don't continue if that
failed, but we had a success on an earlier loop that
was in a string or comment.
Support new input to extend to line bounds.
(matlab-shell-region-command):
If the region we are going to run is only 1 line long, use the old
mechanism of just pasting the line onto the commandline.
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.
New fcns needed by matlab-shell.el
(matlab-semantic-get-local-functions-for-script):
New. Returns fcns from a buffer. Works if semantic isn't enabled.
(matlab-semantic-tag-text): get text part of input TAG.
(semantic-default-matlab-setup): Add 'type tag class to list
of misc things, since we support them now.
matlab-shell.el:
(matlab-shell-extract-region-to-tmp-file): Use new fcns above.
Fix compiler warnings.
(matlab-shell-extract-region-to-tmp-file):
Fetch tags before doing the search for functions tags.
Give emacs a chance to flush MATLAB's output queue
before setting up prompt hook.
(semantic-matlab-parse-oldstyle-class)
(semantic-matlab-find-oldstyle-classes): Comment out.
Need to delete later.
(semantic-matlab-parse-region): Stop using above.
matlab-shell.el:
(gud-matlab-marker-regexp-plain-prompt): New regexp.
(matlab-shell-prompt-appears-hook): New hook (used below)
(gud-matlab-marker-filter): When returning output, if a prompt is
included, call the matlab-shell-prompt-appears-hook.
(matlab-shell-run-cell, matlab-shell-run-region-or-line): Move
(matlab-shell-run-region): Extract inline code to find 'command' to new fcn.
(matlab-shell-region-command): Function to extract code to run as cmd.
(matlab-shell-region->commandline): Copy from run-region as new fcn.
Fix up to better clean up blank lines, and excessive whitespace.
(matlab-shell-extract-region-to-tmp-file): NEW.
This is like region->commandline but puts content into a speicially named
m file. If any functions are needed from the script, pull those along.
(matlab-shell-cleanup-extracted-region): Delete files created by above.
Called from the new hook.
Move tempo tags var into matlab-cgen, along with all related keymaps.
In matlab-cgen, define the keymap as autoload so things load and
run seamlessly.
On cgen load, run hook on all matlab buffers.
(matlab-shell-mode): Remove calls to dbhotlink from all gud-* commands.
(gud-matlab-dbhotlink): New state variable for when we are waiting
for output from hotlink command.
(gud-matlab-marker-filter): Stop checking for frames so much.
If no frame was found, and if we haven't asked for a frame, then
ask ML to run dbhotlink (from our local toolbox.)
If we are waiting for a hotlink, then search output for the
hotlink command, and strip it out of the process output.
Where we try to hold back output, restrict it to new state variable.
Where we always dump our output, restrict to prompts only.
(matlab-shell-tab): Don't use company mode if not active.
Fix misc compiler warnings.
dbhotlink.m:
If no input, determine current stack position and show that.
Also don't print stack # if in auto mode.
(matlab-font-lock-extend-region): is now added to font-lok-extend-region-functions
and handles block comment bounds.
(matlab-ltype-block-comm): now returns the bounds of the block comment
the cursor is in. (It had to find them anyway, so now it returns them.)
(matlab-show-paren-or-block): Now does nothing if in a block comment.
(matlab-mode-vf-block-matches-forward): Also ignores hits in block comments.
tests/mpclass.m: Minor tweaks from testing.
Add `matlab-mode-vf-add-ends' to `matlab-mode-verify-fux-functions'.
New fix function calls `matlab-mode-vf-block-matches-forward' with ADDEND input.
When an unterminated block appears, if functions have ends, offer to
add an END at a reasonable spot.
Remove "Highlight matching blocks" menu customizations as it isn't used anymore
due to parens mode support.
the region is active.
Fix `matlab-indent-line' to better preserve cursor location in text. This
has the side-effect of making matlab-comment place the cursor in a better spot
when inserting a new trailing comment.
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.