|
From: Eric L. <eri...@gm...> - 2021-01-17 19:20:44
|
Hi Jonathan,
I tried using:
M-x matlab-shell RET
M-x company-mode RET
then @ matlab prompt:
>> fo
M-x company-matlab-shell RET
to simulate what you have in your stack trace below. I get a yellow
popup with completions I expect in it. I can pick one and it then
inserts the completion correctly.
I tried this in Emacs 26.3 as installed by Ubuntu, and also 28.0.50 as
downloaded from git yesterday morning.
I tend to run my Emacs as stock as possible so I don't accidentally
create dependencies on random tools, so I'm not familiar with a more
complex company mode setup.
Due to the nature of using MATLAB Shell, I recommend looking at the
value of `comint-prompt-read-only' to see if that might be involved. It
is nil by default in my Emacsen, and matlab-shell doesn't set it because
I do a lot of fiddling with the buffer in the background. If it were t,
I would imagine a range of other things not working either though.
That's pretty much all I can think of. Sorry I can't be more helpful. :(
Eric
On 1/6/21 5:50 AM, Jonathan Sahar wrote:
> Hi,
> I'm still getting the same error message with the updated version of
> the repository...
> the stack trace I get is:
> ```
> Debugger entered--Lisp error: (error "Company: backend
> company-matlab-shell error \"Text is read-only\" with args (prefix)")
> signal(error ("Company: backend company-matlab-shell error \"Text is
> read-only\" with args (prefix)"))
> error("Company: backend %s error \"%s\" with args %s"
> company-matlab-shell "Text is read-only" (prefix))
> company-call-backend-raw(prefix)
> apply(company-call-backend-raw prefix)
> company--force-sync(company-call-backend-raw (prefix)
> company-matlab-shell)
> company-call-backend(prefix)
> company--begin-new()
> company--perform()
> company-auto-begin()
> company-manual-begin()
> #f(compiled-function (backend &optional callback) "Start a
> completion at point using BACKEND." (interactive #f(compiled-function
> () #<bytecode 0x27b2831>)) #<bytecode 0x36c7e49>)(company-matlab-shell)
> apply(#f(compiled-function (backend &optional callback) "Start a
> completion at point using BACKEND." (interactive #f(compiled-function
> () #<bytecode 0x29caa1d>)) #<bytecode 0x36c7e49>) company-matlab-shell)
> company-begin-backend(company-matlab-shell)
> company-matlab-shell(interactive)
> funcall-interactively(company-matlab-shell interactive)
> ```
>
> and the output in the console is:
>
> ```
> >> emacsdocomplete('all')
>
> emacs_completions_output =
>
> java.lang.String[]:
>
> 'all'
> 'allchild'
> 'allElectrodes'
> 'allfeasible'
> 'allMuPADNotebooks'
>
> ```
>
> which is the same output that I get by running M-x
> matlab-complete-symbol, if that helps to make sense of things.
>
> Thanks,
> Jonathan
|