aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.be/bugs/508ea95e-7bc6-4b9b-9e36-a3a87014423d/values2
-rw-r--r--becommands/comment.py3
-rw-r--r--libbe/utility.py17
3 files changed, 17 insertions, 5 deletions
diff --git a/.be/bugs/508ea95e-7bc6-4b9b-9e36-a3a87014423d/values b/.be/bugs/508ea95e-7bc6-4b9b-9e36-a3a87014423d/values
index a45d40e..f530d63 100644
--- a/.be/bugs/508ea95e-7bc6-4b9b-9e36-a3a87014423d/values
+++ b/.be/bugs/508ea95e-7bc6-4b9b-9e36-a3a87014423d/values
@@ -15,7 +15,7 @@ severity=minor
-status=open
+status=closed
diff --git a/becommands/comment.py b/becommands/comment.py
index 5f7128d..b211cf6 100644
--- a/becommands/comment.py
+++ b/becommands/comment.py
@@ -33,7 +33,8 @@ def execute(args):
True
>>> comment.in_reply_to is None
True
- >>> del os.environ["EDITOR"]
+ >>> if 'EDITOR' in os.environ:
+ ... del os.environ["EDITOR"]
>>> execute(["b"])
Traceback (most recent call last):
UserError: No comment supplied, and EDITOR not specified.
diff --git a/libbe/utility.py b/libbe/utility.py
index a8c3e24..1fd83da 100644
--- a/libbe/utility.py
+++ b/libbe/utility.py
@@ -104,16 +104,27 @@ def editor_string(comment=None):
>>> if "EDITOR" in os.environ:
... del os.environ["EDITOR"]
+ >>> if "VISUAL" in os.environ:
+ ... del os.environ["VISUAL"]
>>> editor_string()
Traceback (most recent call last):
CantFindEditor: Can't find editor to get string from
>>> os.environ["EDITOR"] = "echo bar > "
>>> editor_string()
'bar\\n'
+ >>> os.environ["VISUAL"] = "echo baz > "
+ >>> editor_string()
+ 'baz\\n'
+ >>> del os.environ["EDITOR"]
+ >>> del os.environ["VISUAL"]
"""
- try:
- editor = os.environ["EDITOR"]
- except KeyError:
+ for name in ('VISUAL', 'EDITOR'):
+ try:
+ editor = os.environ[name]
+ break
+ except KeyError:
+ pass
+ else:
raise CantFindEditor()
fhandle, fname = tempfile.mkstemp()
try: