Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sugarvte/vteview.py26
1 files changed, 18 insertions, 8 deletions
diff --git a/sugarvte/vteview.py b/sugarvte/vteview.py
index f4843f3..3a789c1 100644
--- a/sugarvte/vteview.py
+++ b/sugarvte/vteview.py
@@ -65,19 +65,29 @@ treat all graphic non-punctuation non-space characters as word characters.
if spec == None or spec[0] == '\0':
self.notify('word-chars')
ubuf = unicode(spec)
- count = 0
- for i in ubuf:
- if i == '-':
- range.start = i
- range.end = i
+ i = -1
+ while i < len(ubuf):
+ i += 1
+ if ubuf[i] == '-':
+ range.start = ubuf[i]
+ range.end = ubuf[i]
self.word_chars.append(range)
logger.debug('Word charset includes hypen')
continue
- if ubuf[1] != '-' and ubuf[count + 1] != '-':
- range.start = i
- range.end = i
+ if ubuf[i] != '-' and ubuf[i + 1] != '-':
+ range.start = ubuf[i]
+ range.end = ubuf[i]
self.word_chars.append(range)
continue
+ if ubuf[i] != '-' and\
+ ubuf[i + 1] == u'-' and\
+ ubuf[i + 2] != u'-' and\
+ ubuf[i + 2] != unichr(0):
+ range.start = ubuf[i]
+ range.end = ubuf[i + 1]
+ self.word_chars.append(range)
+ continue
+ self.notify('word-chars')
if __name__ == "__main__":