1
# Copyright (C) 2005, 2006 Canonical Ltd
1
# Copyright (C) 2005, 2006, 2009 Canonical Ltd
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
63
63
## mutter("trying editor: %r", (edargs +[filename]))
64
64
x = call(edargs + [filename])
66
# We're searching for an editor, so catch safe errors and continue
67
# errno 193 is ERROR_BAD_EXE_FORMAT on Windows. Python2.4 uses the
68
# winerror for errno. Python2.5+ use errno ENOEXEC and set winerror
69
# to 193. However, catching 193 here should be fine. Other
70
# platforms aren't likely to have that high of an error. And even
71
# if they do, it is still reasonable to fall back to the next
73
# 123 is "The Filename, Directory Name, or Volume Label Syntax Is
75
# <https://bugs.edge.launchpad.net/bzr/+bug/504842>)
76
if e.errno in (errno.ENOENT, errno.EACCES, errno.ENOEXEC, 193, 123):
77
if candidate_source is not None:
78
# We tried this editor because some user configuration (an
79
# environment variable or config file) said to try it. Let
80
# the user know their configuration is broken.
82
'Could not start editor "%s" (specified by %s): %s\n'
83
% (candidate, candidate_source, str(e)))
66
if candidate_source is not None:
67
# We tried this editor because some user configuration (an
68
# environment variable or config file) said to try it. Let
69
# the user know their configuration is broken.
71
'Could not start editor "%s" (specified by %s): %s\n'
72
% (candidate, candidate_source, str(e)))