Document any crashes from the user's text editor
Rather than failing with no information, display the child exit
status and the command line we tried to use to edit a text file.
There may be some useful information to help understand the crash.
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/editor.py b/editor.py
index 7400ba1..cf0a5ee 100644
--- a/editor.py
+++ b/editor.py
@@ -76,8 +76,15 @@
os.close(fd)
fd = None
- if subprocess.Popen(editor + [path]).wait() != 0:
- raise EditorError()
+ try:
+ rc = subprocess.Popen(editor + [path]).wait()
+ except OSError, e:
+ raise EditorError('editor failed, %s: %s %s'
+ % (str(e), cls._GetEditor(), path))
+ if rc != 0:
+ raise EditorError('editor failed with exit status %d: %s %s'
+ % (rc, cls._GetEditor(), path))
+
fd2 = open(path)
try:
return fd2.read()