*** Welcome to IELM *** Type (describe-mode) or press C-h m for help. ELISP> (set-buffer (get-buffer-create "a")) ELISP> (insert "int main();") ELISP> (require 'treesit) ELISP> (treesit-node-children (treesit-node-child (treesit-buffer-root-node 'c) 0)) (# # #) This is expected ELISP> (set-buffer (make-indirect-buffer "a" "b")) ELISP> (goto-char (point-min)) ELISP> (insert " ") ELISP> (set-buffer "a") ELISP> (buffer-string) " int main();" ELISP> (treesit-node-children (treesit-node-child (treesit-buffer-root-node 'c) 0)) (# # # #) This is unexpected. If we had called '(insert " ")' in the base buffer "a", we would have got (# # #) Thanks for your hard work.