Skip to content

Treemacs freezes sometimes when switching workspace (with a first project with a lot of files/directories) or when expanding a project/folder #1163

@sebastiaanspeck

Description

@sebastiaanspeck

I sometimes have my treemacs freezing, until I manually press C-g. It sometimes freezes when switching workspace or expanding a project/folder. After pressing C-g, treemacs just shows my switched workspace or expanded project/folder. It is pretty annoying that I sometimes need to manually stop treemacs (with C-g).

I can't find why it would freeze. I was able to fix one project/folder, since it contained a hierarchy of empty folders. A fix for switching my workspaces was to put a smaller project at the top and the project with a lot of files/folders as second.

I use treemacs 3.2 (but the issue also applies to the latest beta version):

(use-package treemacs
  :defer t
  :bind (("<f12>" . 'treemacs))
  :hook (emacs-startup . (lambda () (treemacs)))
  :custom
  (treemacs-no-png-images t)
  (treemacs-move-files-by-mouse-dragging nil)
  (treemacs-silent-refresh t)
  :config
  (use-package treemacs-magit
    :after magit)
  (setq treemacs-filewatch-mode (not (eq system-type 'windows-nt)))
  (add-to-list 'treemacs-pre-file-insert-predicates #'treemacs-is-file-git-ignored?)
  (when (executable-find "git")
    (treemacs-git-mode 'simple)))

A backtrace I could fetch (directories are pseudonymised):

Debugger entered--Lisp error: (quit)
  treemacs-find-file-node("D:/workspace/sebastiaan.speck/project/tests" #s(treemacs-project :name "tests" :path "D:/workspace/sebastiaan.speck/project" :path-status local-readable :is-disabled? nil))
  treemacs--flatten-dirs((("/path/to/dir" "D:/workspace/sebastiaan.speck/project/tests" "D:/workspace/sebastiaan.speck/project/tests/application_tests" "D:/workspace/sebastiaan.speck/project/tests/application_tests/resources" "D:/workspace/sebastiaan.speck/project/tests/application_tests/resources/base")))
  treemacs--expand-root-node(#<marker (moves after insertion) at 15 in  *Treemacs-Scoped-Buffer-#<frame *package update results* - GNU Emacs at rds 000001f25a600b40>*> nil)
  treemacs-toggle-node(nil)
  treemacs-TAB-action(nil)
  funcall-interactively(treemacs-TAB-action nil)
  command-execute(treemacs-TAB-action)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions