haskell / haskell/haskell-mode

Slow response, loading spinner while editing

Open
#1,770 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Emacs Lisp
Stars
1.4k
Forks
354
Avg merge
5d 10h
Merged PRs (30d)
2

Description

Hi,

while editing in Haskell mode (Tidal Cycles files) Emacs quite frequently pauses, shows a spinner and I have to Ctrl-G to be able to go on. It happens mostly while deleting single characters. I can track it down to `haskell-lexeme-looking-at-token`

[details="Output of Emacs profiler"]
```
- command-execute 449,499,671 76%
- apply 449,499,671 76%
- ad-Advice-command-execute 449,499,671 76%
- # 449,499,671 76%
- call-interactively 449,480,923 76%
- funcall-interactively 449,430,595 76%
- self-insert-command 382,418,053 65%
- symbol-overlay-refresh 381,427,745 65%
- looking-at 381,412,589 65%
- internal--syntax-propertize 381,412,589 65%
- syntax-propertize 381,408,453 65%
- haskell-syntax-propertize 381,408,453 65%
- haskell-lexeme-looking-at-token 381,408,453 65%
- haskell-lexeme-looking-at-quasi-quote-literal 340,638,061 58%
- rx-to-string 325,985,069 55%
- rx--translate 246,061,233 41%
- rx--translate-form 246,061,233 41%
- rx--translate-seq 246,061,233 41%
+ mapcar 125,177,745 21%
+ rx--sequence 84,254,016 14%
+ rx--atomic-regexp 54,976,548 9%
apply 24,946,808 4%
haskell-lexeme-looking-at-qidsym 6,144 0%
haskell-lexeme-looking-at-char-literal 2,048 0%
haskell-lexeme-looking-at-string-literal 2,048 0%
+ match-string-no-properties 1,184 0%
+ electric-pair-post-self-insert-function 987,140 0%
+ counsel-M-x 55,657,316 9%
+ all-the-icons-ivy-rich-kill-buffer 5,692,074 0%
+ previous-line 2,177,076 0%
+ next-line 1,352,840 0%
+ hungry-delete-backward 1,034,512 0%
+ handle-focus-out 386,236 0%
+ handle-focus-in 368,284 0%
+ smart-region 167,336 0%
right-char 70,592 0%
+ profiler-report-toggle-entry 62,890 0%
left-char 25,760 0%
+ mouse-drag-region 8,408 0%
+ kill-line 4,424 0%
+ left-word 2,048 0%
delete-window 1,690 0%
+ byte-code 50,328 0%
+ timer-event-handler 52,973,797 9%
+ redisplay_internal (C function) 42,000,655 7%
+ symbol-overlay-post-command 38,110,756 6%
+ flyspell-post-command-hook 1,356,718 0%
+ winner-save-old-configurations 937,504 0%
+ gcmh-register-idle-gc 421,272 0%
mouse-fixup-help-message 243,188 0%
+ jit-lock--antiblink-post-command 132,249 0%
+ # 60,808 0%
+ # 33,260 0%
+ yas-maybe-expand-abbrev-key-filter 27,108 0%
+ gui-set-selection 19,976 0%
+ eldoc-schedule-timer 19,064 0%
+ tooltip-show-help 15,424 0%
+ company-post-command 10,416 0%
+ xselect-convert-to-targets 9,328 0%
+ blink-cursor-check 8,188 0%
tooltip-hide 7,248 0%
+ undo-auto--add-boundary 5,280 0%
+ prettify-symbols--post-command-hook 5,280 0%
+ # 2,328 0%
+ blink-cursor-end 2,112 0%
+ xselect-convert-to-string 1,252 0%
+ solaire-global-mode-check-buffers 1,056 0%
+ projectile-rails-global-mode-check-buffers 1,056 0%
+ global-hl-todo-mode-check-buffers 1,056 0%
+ global-hungry-delete-mode-check-buffers 1,056 0%
+ global-hl-line-highlight 1,056 0%
mouse--down-1-maybe-follows-link 1,056 0%
+ clear-transient-map 1,056 0%
+ global-eldoc-mode-check-buffers 1,056 0%
+ global-tree-sitter-mode-check-buffers 1,056 0%
+ global-flycheck-mode-check-buffers 1,056 0%
+ global-company-mode-check-buffers 1,056 0%
+ global-aggressive-indent-mode-check-buffers 1,056 0%
+ deactivate-mark 976 0%
+ mouse--click-1-maybe-follows-link 448 0%
... 0 0%
```
[/details]

I am using a Thinkpad Yoga 1. Gen, 16 MB RAM, Intel Core i7-6600U CPU @ 2.60GHz × 2 with Linux Mint 20.3 Cinnamon and Emacs 27.1.; tidal-mode is tidal-20210211.1531 and haskell-mode is haskell-mode-20210908.1543 from elpa - if that is some crucial information.

Please let me know if more information is necessary to maybe look into that.

I tried the solution from #1648 but this did not help.

I'd be grateful for any hints to make the mode work.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.