Hi there, I'm using Windows, so I'll use `libtree-sitter-c.dll` as an example: 1. `emacs -Q` to start a vanilla Emacs. Run `M-x treesit-install-language-grammar`, then install the c parser to `~/.emacs.d/tree-sitter`. If there is already a `libtree-sitter-c.dll` there, the new installed library will overwrite the old library. 2. Execute `(treesit-ready-p 'c)`, which returns t. 3. Run `M-x treesit-install-language-grammar` again, there will be a warning: ``` ⛔ Warning (treesit): Error encountered when installing language grammar: (file-error Copying file Operation not permitted c:/Users/redacted/AppData/Local/Temp/treesit-workdir5HPGoS/repo/src/libtree-sitter-c.dll c:/Users/redacted/.emacs.d/tree-sitter/libtree-sitter-c.dll) ``` I don't know whether this is a bug or not, since I think it's reasonable to make the already used library not be able to be overwritten. But someone reminded me that `treesit-ready-p` will be executed when you load the `xxx-ts-mode`. If the execution of `treesit-ready-p` made the `treesit-install-language-grammar` unusable, it means the design of that function has a little problem. --- dalu In GNU Emacs 30.0.50 (build 7, x86_64-w64-mingw32) of 2023-02-03 built on DALUW Repository revision: ac7ec87a7a0db887e4ae7fe9005aea517958b778 Repository branch: master Windowing system distributor 'Microsoft Corp.', version 10.0.22621 System Description: Microsoft Windows 10 Home China (v10.0.2009.22621.1194) Configured using: 'configure --prefix=/c/emacs/emacs-git --without-dbus --without-pop --with-native-compilation=aot' Configured features: ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XPM ZLIB Important settings: value of $LANG: CHS locale-coding-system: cp65001 Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils vc-git diff-mode easy-mmode vc-dispatcher treesit cl-loaddefs comp comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra help-mode bytecomp byte-compile cl-lib china-util rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads w32notify w32 lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 87683 14604) (symbols 48 7929 0) (strings 32 22771 2959) (string-bytes 1 688676) (vectors 16 16331) (vector-slots 8 340811 17500) (floats 8 48 160) (intervals 56 406 0) (buffers 984 13))