Create a file using joe A. Type in some contents. Save it, and exit joe with the cursor staying in let's say row 5.
Optionally re-execute joe A to confirm that the cursor is automatically placed in row 5. Quit joe again.
In another terminal, type joe B, or even just simply joe, to start editing a new file.
Back in the first terminal, type joe A to again edit that file. Type something, move the cursor to let's say row 10, and quit joe.
Optionally execute joe A again to confirm that the cursor is in row 10. Quit it.
In the second terminal, exit from that joe B. You don't even have to save that file.
In the first terminal, again execute joe A. The cursor is in row 5, except of the expected row 10.
Apparently at startup joe remembers the full contents of .joe_states's file_pos, and upon exiting it updates its own record and writes out everything, including the state of other files from a long ago.
It should, upon exiting, re-read that file and only update its own record, leave everything else at their possibly updated states.
Sorry, double post due to network error.