If you're using Ido, you can hit C-f whenever you want to fall back to regular find-file, thus preventing Ido from doing fancy things. If you want to disable the feature that lets Ido retrieve files from subdirectories for good, add
(setq ido-auto-merge-work-directories-length -1)
to your init file. Then you can always use M-s to invoke it manually.
use-package includes keywords to deal with this. The documentation https://github.com/jwiegley/use-package tells you what to do in this case under the heading Byte-compiling your .emacs
Another feature of use-package is that it always loads every file that it can when .emacs is being byte-compiled. This helps to silence spurious warnings about unknown ...
I assume you're referring to those functions in your init file?
You can add the following to suppress the individual warnings:
(declare-function treemacs--find-python3 "treemacs")
(declare-function treemacs-filewatch-mode "treemacs")
(declare-function treemacs-follow-mode "treemacs")
(declare-function treemacs-fringe-indicator-mode "treemacs")
This fixed the problem for me:
Doing doom build recompiles and symlinks all installed packages.
I figured this out after seeing a comment on a Github issue about this exact error:
This is caused by lsp-treemacs byte-compiled against old treemacs.
Section of the docstring of bind-key:
KEY-NAME may be a vector, in which case it is passed straight to
‘define-key’. Or it may be a string to be interpreted as
spelled-out keystrokes, e.g., "C-c C-z". See documentation of
‘edmacro-mode’ for details.
So simply use (unbind-key "<next>" treemacs-mode-map) instead of (unbind-key (kbd "<next>...
Either set treemacs-width explicitly by adding something like (setq treemacs-width 30) to ~/.doom.d/config.el
Otherwise press tw to toggle fixed-width mode in treemacs, then you can resize it.
Adding (setq treemacs--width-is-locked nil) to ~/.doom.d/config.el may work too