mirror of
https://github.com/neovim/neovim.git
synced 2026-02-28 06:15:10 +00:00
Problem: When vim._watch.watch() is used to watch a single file, libuv returns the basename as the filename argument in the callback. The code joins this with the watched path, producing a nonsensical path like "/path/to/file.lua/file.lua", which causes ENOTDIR errors on subsequent fs_stat calls. Solution: Check whether the watched path is a directory before joining the filename. When watching a file, ignore the filename from libuv and use the watched path directly.