Closed chebert closed 7 months ago
I disabled flycheck-mode and that solved the slowdown.
From the "Details" info it looks like you ran M-x racket-bug-report
from a buffer that's using help-mode
--- not racket-mode
.
As a result, it's difficult for me to know what variables or minor modes might be causing this problem for you.
Would it be possible for you to re-run racket-bug-report
from a racket-mode
buffer, and paste that here?
Would it be possible for you to re-run
racket-bug-report
from aracket-mode
buffer, and paste that here?
(#s(package-desc racket-mode (20240319 2002) "Racket editing, REPL, and more" ((emacs (25 1))) nil nil "c:/Users/Chebert/AppData/Roaming/.emacs.d/elpa/racket-mode-20240319.2002" ((:url . "https://www.racket-mode.com/") (:maintainer "Greg Hendershott") (:maintainers ("Greg Hendershott")) (:authors ("Greg Hendershott" . "racket-mode-author@greghendershott.com")) (:commit . "fd3e3ddf12aef6d7661b5a2c0f70afc7107b7fd9")) nil))
(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "https://melpa.org/packages/"))
"c:/Users/Chebert/AppData/Roaming/.emacs.d/elpa/racket-mode-20240319.2002/"
"c:/Users/Chebert/AppData/Roaming/.emacs.d/elpa/racket-mode-20240319.2002/racket/"
"29.1"
help-mode
windows-nt
t
nil
nil
(tags-completion-at-point-function)
eldoc-documentation-default
nil
(delete-selection-pre-hook tooltip-hide)
(global-font-lock-mode-check-buffers global-eldoc-mode-check-buffers global-diff-hl-mode-check-buffers global-flycheck-mode-check-buffers clean-aindent--check-last-point global-hl-line-highlight mode-local-post-major-mode-change)
(helm-find-files--reset-level-tree blink-paren-post-self-insert-function)
(etags--xref-backend)
nil
nil
((:directory "/" :racket-program nil :remote-source-dir nil :restart-watch-directories nil :windows t))
(racket-ansi-color-context-reset)
browse-url
10
"https://docs.racket-lang.org/search/index.html?q=%s"
medium
standard
((constant . font-lock-constant-face) (error . error) (other . font-lock-doc-face) (keyword . font-lock-keyword-face) (hash-colon-keyword . racket-keyword-argument-face) (at . font-lock-doc-face))
"\\`\\s *\\'"
nil
t
100
"display"
t
0
((cm-accomplice . warning) (GC . info) (module-prefetch . warning) (optimizer . info) (racket/contract . error) (racket-mode-debugger . info) (sequence-specialization . info) (* . fatal))
2048
((lambda nil (define-key racket-mode-map (kbd "C-c C-j") 'racket-send-last-sexp) (define-key racket-mode-map (kbd "C-c C-c") 'racket-send-definition)))
"\\s(\\(?:module[*+]?\\|library\\)"
nil
t
"Racket.exe"
nil
"c:/Users/Chebert/AppData/Roaming/.emacs.d/racket-mode/repl.rkt"
"~/.emacs.d/racket-mode/"
nil
0.5
racket-shell
(racket-show-pseudo-tooltip)
nil
((test) (main))
nil
nil
1
"^[^_]"
(:eval (racket--xp-mode-lighter))
((async-bytecomp-package-mode) (auto-composition-mode) (auto-compression-mode) (auto-encryption-mode) (buffer-read-only) (clean-aindent-mode) (column-number-mode) (delete-selection-mode) (file-name-shadow-mode) (font-lock-mode) (global-diff-hl-mode) (global-eldoc-mode) (global-flycheck-mode) (global-font-lock-mode) (global-hl-line-mode) (indent-tabs-mode) (isearch-fold-quotes-mode) (line-number-mode) (menu-bar-mode) (mouse-wheel-mode) (semantic-minor-modes-format) (shell-dirtrack-mode) (show-paren-mode) (size-indication-mode) (tooltip-mode) (transient-mark-mode) (windmove-mode))
((abbrev-mode) (aggressive-indent-mode) (archive-subfile-mode) (auto-fill-function) (auto-fill-mode) (auto-revert-mode) (auto-revert-tail-mode) (auto-save-mode) (auto-save-visited-mode) (avy-linum-mode) (blink-cursor-mode) (buffer-face-mode) (button-mode) (cl-old-struct-compat-mode) (comint-fontify-input-mode) (compilation-minor-mode) (compilation-shell-minor-mode) (completion-in-region-mode) (context-menu-mode) (cursor-face-highlight-mode) (defining-kbd-macro) (diff-auto-refine-mode) (diff-hl-dir-mode) (diff-hl-mode) (diff-minor-mode) (dired-hide-details-mode) (edebug-backtrace-mode) (edebug-mode) (eldoc-mode) (electric-indent-mode) (electric-layout-mode) (electric-pair-mode) (electric-quote-mode) (elisp-slime-nav-mode) (eshell-arg-mode) (eshell-command-mode) (eshell-proc-mode) (flycheck-mode) (flyspell-mode) (global-aggressive-indent-mode) (global-auto-revert-mode) (global-prettify-symbols-mode) (global-semantic-highlight-edits-mode) (global-semantic-highlight-func-mode) (global-semantic-show-parser-state-mode) (global-semantic-show-unmatched-syntax-mode) (global-semantic-stickyfunc-mode) (global-undo-tree-mode) (global-visual-line-mode) (gud-tooltip-mode) (helm--minor-mode) (helm--remap-mouse-mode) (helm-autoresize-mode) (helm-display-line-numbers-mode) (helm-ff--compress-async-modeline-mode) (helm-ff--delete-async-modeline-mode) (helm-ff-icon-mode) (helm-migemo-mode) (helm-minibuffer-history-mode) (helm-mode) (helm-popup-tip-mode) (hl-line-mode) (horizontal-scroll-bar-mode) (hs-minor-mode) (ido-everywhere) (image-minor-mode) (isearch-mode) (ispell-minor-mode) (ivy-mode) (jit-lock-debug-mode) (lispy-goto-mode) (lispy-mode) (lispy-other-mode) (lock-file-mode) (lost-selection-mode) (macrostep-mode) (mc-hide-unmatched-lines-mode) (multiple-cursors-mode) (next-error-follow-minor-mode) (outline-minor-mode) (overwrite-mode) (paragraph-indent-minor-mode) (paredit-mode) (prettify-symbols-mode) (racket-smart-open-bracket-mode) (racket-xp-mode) (read-extended-command-mode) (rectangle-mark-mode) (rectangular-region-mode) (save-place-mode) (semantic-highlight-edits-mode) (semantic-highlight-func-mode) (semantic-mode) (semantic-show-parser-state-mode) (semantic-show-unmatched-syntax-mode) (semantic-stickyfunc-mode) (sh-electric-here-document-mode) (shell-highlight-undef-mode) (slime-autodoc-mode) (slime-edit-value-mode) (slime-editing-mode) (slime-fuzzy-target-buffer-completions-mode) (slime-macroexpansion-minor-mode) (slime-mode) (slime-popup-buffer-mode) (slime-repl-map-mode) (slime-repl-read-mode) (slime-trace-dialog-autofollow-mode) (slime-trace-dialog-hide-details-mode) (slime-trace-dialog-minor-mode) (tab-bar-history-mode) (tab-bar-mode) (temp-buffer-resize-mode) (text-scale-mode) (tool-bar-mode) (treesit-explore-mode) (treesit-inspect-mode) (undelete-frame-mode) (undo-tree-mode) (undo-tree-visualizer-selection-mode) (url-handler-mode) (use-hard-newlines) (vc-parent-buffer) (view-mode) (visible-mode) (visual-line-mode) (volatile-highlights-mode) (window-divider-mode) (winner-mode) (xref-etags-mode))
Oh, while I was typing that you just posted that you'd narrowed it down to flycheck-mode
. :smile:
You might find the minor mode racket-xp-mode
to work better for that kind of thing: https://www.racket-mode.com/#racket_002dxp_002dmode
Fantastic, thanks so much for your help. For anyone's reference I added the following to my emacs init.el
(add-hook 'racket-mode-hook (lambda () (flycheck-mode -1) (racket-xp-mode)))
(I'll let you close the issue in case you want to do any more with this.)
That initialization looks good.
p.s. Just a tiny tip: The only gotcha to giving add-hook
an anonymous function from lambda
is that it's hard to remove-hook
it later (or add-hook
it again to replace the old version, as opposed to ending up with both old and new). So often I'll defun
a named hook function. Especially when I'm still figuring out what I want the hook to do. But in your case, it probably doesn't matter because you've already got it working and it's simple. :smile:
Package
System values
Buffer values
Racket Mode values
Minor modes
Disabled minor modes
Steps to reproduce: Open a Racket file and start typing. I don't have any racket minor modes open and the repl is not open either. When I type for a bit there's a noticeable delay (hundreds of milliseconds) every couple of seconds. I only experience this when the racket-mode is enabled. The file I'm using is empty (except for the "#lang racket" at the top).
I think this is brilliant work and I just wanted to say thanks. Probably this is an interaction with another minor mode I'm using. I'm going to play around with disabling some of the minor modes and if I find anything else I'll update this issue.