quote file path in shell command
parent
4364c16625
commit
77d38011b5
|
@ -33,6 +33,7 @@ from sys import exit
|
||||||
import rlcompleter
|
import rlcompleter
|
||||||
import readline
|
import readline
|
||||||
import tempfile
|
import tempfile
|
||||||
|
import shlex
|
||||||
import urwid
|
import urwid
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
|
@ -1603,7 +1604,7 @@ class App(object):
|
||||||
_.write(init_body)
|
_.write(init_body)
|
||||||
env = os.environ.copy()
|
env = os.environ.copy()
|
||||||
env['LANG'] = 'en_US.UTF-8'
|
env['LANG'] = 'en_US.UTF-8'
|
||||||
call("%s %s" % (self.prefs["editor"], path), env=env, shell=True)
|
call("%s %s" % (self.prefs["editor"], shlex.quote(path)), env=env, shell=True)
|
||||||
with open(path) as _:
|
with open(path) as _:
|
||||||
body = _.read()
|
body = _.read()
|
||||||
os.remove(path)
|
os.remove(path)
|
||||||
|
@ -1958,7 +1959,7 @@ class ExternalEditor(urwid.Terminal):
|
||||||
# should use the options menu to switch to Overthrow mode.
|
# should use the options menu to switch to Overthrow mode.
|
||||||
env.update({"LANG": "POSIX"})
|
env.update({"LANG": "POSIX"})
|
||||||
command = ["bash", "-c", "{} {}; echo Press any key to kill this window...".format(
|
command = ["bash", "-c", "{} {}; echo Press any key to kill this window...".format(
|
||||||
app.prefs["editor"], self.path)]
|
app.prefs["editor"], shlex.quote(self.path))]
|
||||||
super(ExternalEditor, self).__init__(command, env, app.loop, app.prefs["edit_escapes"]["abort"])
|
super(ExternalEditor, self).__init__(command, env, app.loop, app.prefs["edit_escapes"]["abort"])
|
||||||
urwid.connect_signal(self, "closed", self.exterminate)
|
urwid.connect_signal(self, "closed", self.exterminate)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue