##// END OF EJS Templates
Improved ui.edit():...
Thomas Arendsen Hein -
r1984:df7436f4 default
parent child Browse files
Show More
@@ -8,7 +8,7 b''
8 import ConfigParser
8 import ConfigParser
9 from i18n import gettext as _
9 from i18n import gettext as _
10 from demandload import *
10 from demandload import *
11 demandload(globals(), "os re socket sys util")
11 demandload(globals(), "os re socket sys util tempfile")
12
12
13 class ui(object):
13 class ui(object):
14 def __init__(self, verbose=False, debug=False, quiet=False,
14 def __init__(self, verbose=False, debug=False, quiet=False,
@@ -195,23 +195,25 b' class ui(object):'
195 def debug(self, *msg):
195 def debug(self, *msg):
196 if self.debugflag: self.write(*msg)
196 if self.debugflag: self.write(*msg)
197 def edit(self, text, user):
197 def edit(self, text, user):
198 import tempfile
198 (fd, name) = tempfile.mkstemp(prefix="hg-editor-", suffix=".txt")
199 (fd, name) = tempfile.mkstemp("hg")
199 try:
200 f = os.fdopen(fd, "w")
200 f = os.fdopen(fd, "w")
201 f.write(text)
201 f.write(text)
202 f.close()
202 f.close()
203
204 editor = (os.environ.get("HGEDITOR") or
205 self.config("ui", "editor") or
206 os.environ.get("EDITOR", "vi"))
203
207
204 editor = (os.environ.get("HGEDITOR") or
208 util.system("%s \"%s\"" % (editor, name),
205 self.config("ui", "editor") or
209 environ={'HGUSER': user},
206 os.environ.get("EDITOR", "vi"))
210 onerr=util.Abort, errprefix=_("edit failed"))
207
211
208 util.system("%s \"%s\"" % (editor, name),
212 f = open(name)
209 environ={'HGUSER': user},
213 t = f.read()
210 onerr=util.Abort, errprefix=_("edit failed"))
214 f.close()
211
215 t = re.sub("(?m)^HG:.*\n", "", t)
212 t = open(name).read()
216 finally:
213 t = re.sub("(?m)^HG:.*\n", "", t)
217 os.unlink(name)
214
215 os.unlink(name)
216
218
217 return t
219 return t
General Comments 0
You need to be logged in to leave comments. Login now