revert revision 442. LP #245291 isn't sanely fixable by us. vte needs to expose which regexp library it is using

This commit is contained in:
Chris Jones 2008-07-13 23:16:19 +01:00
parent 994d11eb80
commit aeebfea852
1 changed files with 11 additions and 12 deletions

View File

@ -318,7 +318,7 @@ text/plain
pos = "bottom"
return pos
def add_matches (self):
def add_matches (self, lboundry="[[:<:]]", rboundry="[[:>:]]"):
userchars = "-A-Za-z0-9"
passchars = "-A-Za-z0-9,?;.:/!%$^*&~\"#'"
hostchars = "-A-Za-z0-9"
@ -326,18 +326,17 @@ text/plain
schemes = "(news:|telnet:|nntp:|file:/|https?:|ftps?:|webcal:)"
user = "[" + userchars + "]+(:[" + passchars + "]+)?"
urlpath = "/[" + pathchars + "]*[^]'.}>) \t\r\n,\\\"]"
if platform.system() != 'FreeBSD':
lboundary = "\\<"
rboundary = "\\>"
else:
lboundary = "[[:<:]]"
rboundary = "[[:>:]]"
self.matches['full_uri'] = self._vte.match_add(lboundary + schemes + "//(" + user + "@)?[" + hostchars +".]+(:[0-9]+)?(" + urlpath + ")?" + rboundary + "/?")
self.matches['addr_only'] = self._vte.match_add (lboundary + "(www|ftp)[" + hostchars + "]*\.[" + hostchars + ".]+(:[0-9]+)?(" + urlpath + ")?" + rboundary + "/?")
self.matches['email'] = self._vte.match_add (lboundary + "(mailto:)?[a-zA-Z0-9][a-zA-Z0-9.+-]*@[a-zA-Z0-9][a-zA-Z0-9-]*\.[a-zA-Z0-9][a-zA-Z0-9-]+[.a-zA-Z0-9-]*" + rboundary)
self.matches['nntp'] = self._vte.match_add (lboundary + '''news:[-A-Z\^_a-z{|}~!"#$%&'()*+,./0-9;:=?`]+@[-A-Za-z0-9.]+(:[0-9]+)?''' + rboundary)
self.matches['full_uri'] = self._vte.match_add(lboundry + schemes + "//(" + user + "@)?[" + hostchars +".]+(:[0-9]+)?(" + urlpath + ")?" + rboundry + "/?")
# FreeBSD works with [[:<:]], Linux works with \<
if self.matches['full_uri'] == -1:
if lboundry != "\\<":
self.add_matches(lboundry = "\\<", rboundry = "\\>")
else:
self.matches['addr_only'] = self._vte.match_add (lboundry + "(www|ftp)[" + hostchars + "]*\.[" + hostchars + ".]+(:[0-9]+)?(" + urlpath + ")?" + rboundry + "/?")
self.matches['email'] = self._vte.match_add (lboundry + "(mailto:)?[a-zA-Z0-9][a-zA-Z0-9.+-]*@[a-zA-Z0-9][a-zA-Z0-9-]*\.[a-zA-Z0-9][a-zA-Z0-9-]+[.a-zA-Z0-9-]*" + rboundry)
self.matches['nntp'] = self._vte.match_add (lboundry + '''news:[-A-Z\^_a-z{|}~!"#$%&'()*+,./0-9;:=?`]+@[-A-Za-z0-9.]+(:[0-9]+)?''' + rboundry)
def spawn_child (self, event=None):
update_records = self.conf.update_records