I am using ST4 on Linux and have
Changes are saved when I switch tabs or app windows.
My expectation of the editor’s state is with this setting: there can be changes only in the currently active tab/buffer.
However, when I am using the search-replace over multiple files, the files are opened and the replacements are done in the editor, but they are not saved, until I switch to each and every newly opened tab and switch away/close them or explicitly save all/close all buffers, which I sometimes do not want to do, as I have some scratch, file-less buffers I do not want as files at all.
It is tolerable for a few files, but when I suspect that 5+ files are affected, I rather do the replacement from the shell unhappily with a recursive
I consider the behavior I am experiencing a bug and I hope this is the place to report it.
BTW, a related feature could be not to keep files with replaced content open, that were not open before - to prevent tab-clutter.
Maybe there is a way to work around these and keep my assumption of “no unsaved change except in current file”, but I have not found it, yet.