Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Emacs freezes for a moment when assigning a multidimensional array #110

Closed
sjkobayashi opened this issue Aug 17, 2022 · 3 comments
Closed
Labels
bug Something isn't working

Comments

@sjkobayashi
Copy link

sjkobayashi commented Aug 17, 2022

With julia-snail-popup-display-eval-results set to :command, using julia-snail-send-line on a line assigning a multidimensional array makes Emacs unresponsive for some period.

For example,

test = zero(100, 100, 100)

freezes Emacs for 3 seconds, and

test = zeros(10, 10, 10, 10)

freezes Emacs for about 1 minute.

This issue doesn't happen when julia-snail-popup-display-eval-results is set to :change.

@gcv gcv added the bug Something isn't working label Aug 28, 2022
@gcv
Copy link
Owner

gcv commented Aug 28, 2022

Thank you for the bug report. The problem probably has something to do with the subtleties of async evaluation and serializing data between Julia and Emacs. I reproduced it and will have to spend some time looking into it.

@gcv
Copy link
Owner

gcv commented Sep 27, 2022

Turns out that the popup.el library Snail uses internally has one slow internal function, popup-replace-displayable. I just pushed a workaround to Snail which makes everything faster (0e6fa51). It should be in MELPA in a couple of hours. I also opened a PR to fix popup.el performance upstream (auto-complete/popup-el#135).

Thanks again for the bug report, and apologies for the delay in dealing with this problem. Please let me know if the change works for you.

@sjkobayashi
Copy link
Author

Very interesting to know that this issue came from popup.el. The fix works like a charm. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants