The contents of DEADJOE do not represent the file that was in the editor when the editor was killed. This used to be the case, in some previous version. However now DEADJOE looks like this:
See below for an example.
Nowhere is the currently edited contents of the file that was in the editor when it was terminated. DEADJOE contents are puzzling, as is the labelling of them as files that were in the editor when it aborted. It looks like instead of dumping the current file contents, it is dumping a set of caches of .joe_state.
$ cat DEADJOE
*** These modified files were found in JOE when it aborted on Sun Sep 22 17:57:34 2024
*** JOE was aborted by UNIX signal 1
*** File '(Unnamed)'
MOV
MOV
mov
*** File '(Unnamed)'
FREE_ON_FINAL
utilities.pas
utilities.pas
Shared
Shared
Shared
Shared
Graviton
Meltdown
(
*** File '(Unnamed)'
avi2mp4_nohwin3
avi2mp4_nohwin3
avi2mp4_nohwin3
avi2mp4_nohwin3
avi2mp4_nohwin3
avi2mp4_nohwin3
avi2mp4_nohwin3
avi2mp4_nohwin3
avi2mp4_nohwin4
avi2mp4_nohwin4
commandlines
*** File '* Startup Log *'
Processing '/etc/joe/joerc'...
Processing '/etc/joe/ftyperc'...
Finished processing /etc/joe/ftyperc
Finished processing /etc/joe/joerc
What is dumped into DEADJOE is the contents of all buffers that are not marked as saved. This includes the "yank buffer" as well as histories for file prompts, which are implemented as buffers under-the-hood. It should contain the file contents if the file was modified. If joe crashes or is killed but an open file is not in a dirty state, it won't write out the contents. Is that confirmed to be the case here?
And, no none of this is necessarily obvious. Those buffers should probably have better names to indicate what they are. They are normally persisted to
.joe_statethough so in theory it is saving information from being lost.