mathworks / mathworks/Emacs-MATLAB-Mode

company matlab shell mode doom emacs

Open
#59 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Emacs Lisp
Stars
26
Forks
5
PR merge metrics
No merged PRs in 30d

Description

Hi,
I am using the doom emacs version and last matlab mode under matlab 2022b.
I have the company matlab shell mode completion which does not work.
Instead of pop-up me the completion into the company pop up buffer, I was output me:

>> emacsdocomplete('EEG.(cond')

and when I hit RETURN I get (the appropriate):

emacs_completions_output =
 java.lang.String[]:
   'cond'
   'condeig'

I use this snippet of code in my config:

;; https://sourceforge.net/p/matlab-emacs/mailman/matlab-emacs-discuss/thread/86czy27fwh.fsf@gmail.com
(defadvice! inhibit-real-only-a (oldfun &rest r)
  "Temporary remove read-only lines in shell buffer"
  :around#'matlab-shell-collect-command-output
      (let ((inhibit-read-only t)) (apply oldfun r)))

I works but another issue came up...

error in process filter: run-hooks: Text is read-only
error in process filter: Text is read-only

when I enter next matlab commands into into the matlab shell buffer.
I understood that it is the '>' of HTML tag error char which triggers the error :

aaa
<ERRORTXT>
Unrecognized function or variable 'aaa'.
</ERRORTXT> 
>> 

Using this M-: command on the '>' :

(let ((inhibit-read-only t))
  (delete-char 1))

for deleting this char, remove error.
I don't know if there is a cleaner way to fix this general issue : but the char > is currently an issue for matlab-shell....

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the completion and read-only errors in the MATLAB shell under Doom Emacs, then inspect matlab-shell-collect-command-output and the shell process filter. Done means completions appear in the company popup and subsequent commands no longer produce Text is read-only errors around the output.

Written by the indexing model from the issue text.

Assessment

Tech stack
emacs, emacs-lisp
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.