Skip to content

Switching back and forth quickly between matlab-shell and source buffer + Ctrl+Z on matlab repl completely freezes it #68

@Nidish96

Description

@Nidish96

I've started using julia quite a lot recently using the package julia-snail on emacs. If the function (julia-snail) is called from a source code buffer, focus switches to the julia REPL buffer, and if it was called from the REPL buffer, focus switches to the source. It remembers the last source buffer from which the julia-snail function is called, making this super neat to work with.
By default I have this function mapped to Ctrl+Z so I'm hitting ctrl+z all the time, especially when I have 4 windows with different buffers open at the same time with only one being the repl.

In matlab mode, we have the function matlab-shell so I can go from source to matlab repl. But no function like this seems to exist for going back.
I have added personal frustration since I have matlab-shell bound to Ctrl+Z. And hitting Ctrl+Z in the matlab-repl freezes up the repl completely.
This is my second query in this sub issue The behavior of Ctrl+Z on the matlab-shell is confusing. Once I hit Ctrl+Z on the matlab-shell, I'm unsure just what I need to do to resume the session. So far I've been killing matlab-shell completely and continuing.

Here's the julia-snail code just in case:

(defun julia-snail ()
  "Start a Julia REPL and connect to it, or switch if one already exists.
The following buffer-local variables control it:
- `julia-snail-repl-buffer' (default: *julia*)
- `julia-snail-port' (default: 10011)
To create multiple REPLs, give these variables distinct values (e.g.:
*julia my-project-1* and 10012)."
  (interactive)
  (let ((source-buf (current-buffer))
        (repl-buf (get-buffer julia-snail-repl-buffer)))
    (if repl-buf
        ;; Julia session exists
        (progn
          (with-current-buffer repl-buf
            (setq julia-snail--repl-go-back-target source-buf))
          (pop-to-buffer repl-buf))
      ;; run a new Julia REPL in a terminal and load the Snail server file
      (julia-snail--start source-buf))))

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions