Steps:
0. Enter a temporary directory.
1. Run echo foo > a\\b.
2. Run cat a\\b.
3. Observe a file named a\b was created, with contents foo.
4. Launch joe a\\b.
5. Observe the buffer is empty.
6. Input bar, save and quit.
7. Observe a file named ab was created, with contents bar.
8. Launch joe a\\\\b.
9. Observe the buffer contains foo.
I ran into this issue while trying to edit a systemd unit file.
Yeah, I've been toying with the idea of modifying JOE's filename syntax. So right now you can say: joe foo,100,100 to open a file starting at offset 100, but only edit 100 characters. This leads to the need to have escape sequences (so you can say \, to get comma).
So instead this would be switched to the saner: joe -start 100 -size 100 foo
You still need an escape introducer because a filename might start with -. But we have "--" for that.
Anyway, it's weird because to be consistent, this syntax would also be available from within JOE at any filename prompt. So you could type ^K E -start 100 -size 100 foo
This is actually an advantage, since any local option could be specified.
But it's also weird (different) because we would give up ! for piping. Instead of ^K E ! ls, you would type ^K E -pipe ls
Also, for append, you would type: ^K W -append filename instead of ^K W >>filename