Partway fixed a really bad glitch in multifiles-apmod.el |
Sunday, January 10th, 2016 22:18:04 GMT |
Emacs Lisp |
Today, I discovered and partway fixed a really bad glitch in multifiles-apmod.el, and updated multifiles-apmod.el to version 2.0.
This glitch is terrible enough for me to post this whole new blog post just to draw attention to it and encourage people to update to the safer - though still only partway fixed - version 2.0.
I don't know if I'll be able to fix it completely in the near future, and there could always be other problems that I don't even know about yet, so, please be careful.
The glitch is avoidable if you don't make any of your embedded buffers or files read-only - but ideally I'd like to somehow make it impossible to run into this glitch at all.
This has been partly fixed by making it so read-only buffers are blocked from being added to a multifile when a multifile is first being built.
However, I don't yet know how to make it impossible to make the embedded buffers read-only after they've been added to a multifile. So, unfortunately, it is still possible to run into this horrible glitch accidentally, such as by going to the original buffer of an embedded buffer, and clicking the asterisk at the left of your modeline which toggles whether the buffer is writable or read-only.
And to make matters worse, because the mirroring of ALL embedded files in ALL multifiles gets messed up by this glitch, Emacs probably won't even ask you at shutdown if you want to save even the writable embedded files you edited!
So, please be careful. If you do run into this horrible problem, then, to save your data, you can copy and paste the entire contents of your multifile into another buffer and save that buffer, which will create one large combined file. Sorry, I don't know of an easy way to merge the changes in that large combined file back into your separate files.
Quoted from the Readme:
This version partway fixes a REALLY bad glitch I discovered today. The glitch is caused by editing read-only buffers in a multifile, which somehow messes up the mirroring in ALL multifiles (even multifiles you weren't editing and which don't contain read-only buffers), and makes it impossible for ALL multifiles to save their embedded files.