pkgsrc/www/zope210/patches/patch-ac
taca 507f458370 Importing Zope 2.10.5 as zope210 with new framework.
Zope is an exciting new object-based, open source web application
platform. It allows you to build powerful and dynamic web applications
easily. Zope comes with source code and is friendly to developers as
well as users.

Zope 2.10.x is needed to run Plone 3.
2007-12-18 15:35:22 +00:00

73 lines
3.2 KiB
Text

$NetBSD: patch-ac,v 1.1.1.1 2007/12/18 15:35:28 taca Exp $
--- lib/python/zope/structuredtext/document.py.orig 2007-03-25 18:51:59.000000000 +0900
+++ lib/python/zope/structuredtext/document.py
@@ -556,7 +556,7 @@ class Document:
def doc_literal(
self, s,
- expr = re.compile(r"(\W+|^)'([%s%s%s\s]+)'([%s]+|$)" % (letters, digits, literal_punc, phrase_delimiters)).search,):
+ expr = re.compile(r"(\W+|^)'((?:\w|[%s%s\s])+)'([%s]+|$)" % (digits, literal_punc, phrase_delimiters), re.U).search,):
r = expr(s)
if r:
start, end = r.span(2)
@@ -564,7 +564,8 @@ class Document:
def doc_emphasize(
self, s,
- expr = re.compile(r'\*([%s%s%s\s]+?)\*' % (letters, digits, strongem_punc)).search
+ # i18nal variant
+ expr = re.compile(r'\*((?:\w|[%s\s])+?)\*' % (strongem_punc), re.U).search
):
r=expr(s)
@@ -605,7 +606,7 @@ class Document:
def doc_underline(self,
s,
- expr=re.compile(r'_([%s%s%s\s]+)_([\s%s]|$)' % (letters, digits, under_punc,phrase_delimiters)).search):
+ expr=re.compile(r'_((?:\w|[%s\s])+)_([\s%s]|$)' % (under_punc,phrase_delimiters), re.U).search):
result = expr(s)
if result:
@@ -617,7 +618,7 @@ class Document:
def doc_strong(self,
s,
- expr = re.compile(r'\*\*([%s%s%s\s]+?)\*\*' % (letters, digits, strongem_punc)).search
+ expr = re.compile(r'\*\*((?:\w|[%s%s\s])+?)\*\*' % (digits, strongem_punc), re.U).search
#expr = re.compile(r'\s*\*\*([ \n\r%s0-9.:/;,\'\"\?\-\_\/\=\-\>\<\(\)]+)\*\*(?!\*|-)' % letters).search, # old expr, inconsistent punc, failed to cross newlines.
):
@@ -627,19 +628,19 @@ class Document:
return (stng.StructuredTextStrong(s[start:end]), start-2, end+2)
## Some constants to make the doc_href() regex easier to read.
- _DQUOTEDTEXT = r'("[ %s0-9\n\r%s]+")' % (letters,dbl_quoted_punc) ## double quoted text
+ _DQUOTEDTEXT = r'("[^"]+")' ## double quoted text
_ABSOLUTE_URL=r'((http|https|ftp|mailto|file|about)[:/]+?[%s0-9_\@\.\,\?\!\/\:\;\-\#\~\=\&\%%\+]+)' % letters
_ABS_AND_RELATIVE_URL=r'([%s0-9_\@\.\,\?\!\/\:\;\-\#\~\=\&\%%\+]+)' % letters
_SPACES = r'(\s*)'
def doc_href1(self, s,
- expr=re.compile(_DQUOTEDTEXT + "(:)" + _ABS_AND_RELATIVE_URL + _SPACES).search
+ expr=re.compile(_DQUOTEDTEXT + "(:)" + _ABS_AND_RELATIVE_URL + _SPACES, re.U).search
):
return self.doc_href(s, expr)
def doc_href2(self, s,
- expr=re.compile(_DQUOTEDTEXT + r'(\,\s+)' + _ABSOLUTE_URL + _SPACES).search
+ expr=re.compile(_DQUOTEDTEXT + r'(\,\s+)' + _ABSOLUTE_URL + _SPACES, re.U).search
):
return self.doc_href(s, expr)
@@ -693,7 +694,7 @@ class DocumentWithImages(Document):
def doc_img(
self, s,
- expr1=re.compile('\"([ _a-zA-Z0-9*.:/;,\[\]\'\-\n\~]+)\":img:([a-zA-Z0-9%\_\-.:/\?=;,\n\~]+)').search,
+ expr1=re.compile('\"((?:\w|[ *.:/;,\-\n\~])+)\":img:([a-zA-Z0-9\_\-.:/;,\n\~]+)', re.U).search,
):
r=expr1(s)