The state of windows that are stored in the session information when
hot_exit is enabled includes the layout, the list of open files and their current states (including unsaved changes) as well as things like the undo history for files that have had changes made since they were opened.
If you create a
sublime-workspace for a window, that file will store the state of that particular window instead of it being stored in the global session information, and if you create a
sublime-project you automatically get a
sublime-workspace file that associates with it (though you can create more).
Can you describe the steps you’re taking to set things up and in what circumstance they don’t come back?
Since you mention MacOS it is possibly worth pointing out that on that OS, closing a window and exiting the application are not the same thing, so if you are not using a project and you close the window, the state of it is not persisted.
This manifests as closing the window, the app remains running in the background, and then later when you try to relaunch since Sublime is already running it just opens a new window instead and it appears that it didn’t persist anything.
In such a case, actually quitting the app instead of closing the window should solve the problem, all else being equal.