summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-06-18 16:22:59 +0200
committerhut <hut@lavabit.com>2010-06-18 16:22:59 +0200
commitb289f6796ef213a83595db77c06b7586cdbcb730 (patch)
tree38fe630ec436d1cf50917a75d85f9f90596b10a2
parent26962ded19264ae1885386783c861d002d8fd1dc (diff)
downloadranger-b289f6796ef213a83595db77c06b7586cdbcb730.tar.gz
main: catch SystemExit and return the exit value
-rwxr-xr-xranger.py5
-rw-r--r--ranger/__main__.py4
2 files changed, 7 insertions, 2 deletions
diff --git a/ranger.py b/ranger.py
index ccc9f0d6..f290d796 100755
--- a/ranger.py
+++ b/ranger.py
@@ -30,6 +30,8 @@ fi
 return 1
 """
 
+import sys
+
 # Redefine the docstring, since the previous one was hijacked to
 # embed a shellscript.
 __doc__ = """Ranger - file browser for the unix terminal"""
@@ -40,7 +42,6 @@ __doc__ = """Ranger - file browser for the unix terminal"""
 try:
 	from ranger.__main__ import main
 except ImportError:
-	import sys
 	if '-d' not in sys.argv and '--debug' not in sys.argv:
 		print("Can't import the main module.")
 		print("To run an uninstalled copy of ranger,")
@@ -48,4 +49,4 @@ except ImportError:
 	else:
 		raise
 else:
-	main()
+	sys.exit(main())
diff --git a/ranger/__main__.py b/ranger/__main__.py
index a03509cf..a3e0ef1c 100644
--- a/ranger/__main__.py
+++ b/ranger/__main__.py
@@ -212,6 +212,8 @@ def main():
 	except Exception:
 		import traceback
 		crash_traceback = traceback.format_exc()
+	except SystemExit as error:
+		return error.args[0]
 	finally:
 		try:
 			fm.ui.destroy()
@@ -222,6 +224,8 @@ def main():
 			print("Ranger crashed.  " \
 					"Please report this (including the traceback) at:")
 			print("http://savannah.nongnu.org/bugs/?group=ranger&func=additem")
+			return 1
+		return 0
 
 
 if __name__ == '__main__':
th <boothj5@gmail.com> 2018-01-27 23:51:03 +0000 committer James Booth <boothj5@gmail.com> 2018-01-27 23:51:03 +0000 Fix tests, move glob creation' href='/danisanti/profani-tty/commit/tests/functionaltests/test_rooms.c?id=e571ccd8ea5a60b25a4b8c52d0ae62bec95e027c'>e571ccd8 ^
7f98e013 ^
f17afcf5 ^

f17afcf5 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38