Emacs has been the only editor that has never lost a change for me. Whenever you try to make a modification it checks the underlying file is as expected, and tells you if not. I tried SL2 and it quite happily ignored the fact that the file had changed. I'm also evaluating AppCode and it has perhaps the worst behaviour - it silently updates the editor window. But some of the time it doesn't notice the change and hence overwrites it. Consequently you can't trust the editor.
gedit also notices changes proactively (compared to emacs' reactively) but I don't use it regularly.