[ibus-pinyin] improves input style

Peng Wu pwu at fedoraproject.org
Tue Nov 8 05:32:38 UTC 2011


commit ca1389feaf9fde3cff49edad20c55e7d8e1af1fb
Author: Peng Wu <alexepico at gmail.com>
Date:   Tue Nov 8 13:32:24 2011 +0800

    improves input style

 ibus-pinyin-libpinyin-integration.patch | 1027 ++++++++++++++++++++++++++++---
 ibus-pinyin.spec                        |    5 +-
 2 files changed, 957 insertions(+), 75 deletions(-)
---
diff --git a/ibus-pinyin-libpinyin-integration.patch b/ibus-pinyin-libpinyin-integration.patch
index c657145..6f3469f 100644
--- a/ibus-pinyin-libpinyin-integration.patch
+++ b/ibus-pinyin-libpinyin-integration.patch
@@ -1,7 +1,7 @@
 From 94bbc5c2f29f2d1e73c202dee9ca30b8ddc01c21 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Mon, 29 Aug 2011 14:14:46 +0800
-Subject: [PATCH 01/74] begin to integrate
+Subject: [PATCH 01/84] begin to integrate
 
 ---
  src/PYPinyinBaseEditor.h |   91 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -112,7 +112,7 @@ index 0000000..0bed00a
 From 21ee5c23e325fd7b4816b38b9cc308e17e23c1a3 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Tue, 30 Aug 2011 18:24:02 +0800
-Subject: [PATCH 02/74] begin to write libpinyin backend singleton
+Subject: [PATCH 02/84] begin to write libpinyin backend singleton
 
 ---
  src/PYLibPinyin.h |   36 ++++++++++++++++++++++++++++++++++++
@@ -168,7 +168,7 @@ index 0000000..cfd8566
 From 71e25b32ed628a4692c43b48fa6a150884b05378 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 1 Sep 2011 11:24:02 +0800
-Subject: [PATCH 03/74] rename editor class
+Subject: [PATCH 03/84] rename editor class
 
 ---
  src/PYLibPinyin.h        |    5 +++++
@@ -242,7 +242,7 @@ index 0bed00a..ee200a1 100644
 From b89b25c7c5522b25f4f8a023fea7bf73bb15db68 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 1 Sep 2011 13:02:24 +0800
-Subject: [PATCH 04/74] rename editor header
+Subject: [PATCH 04/84] rename editor header
 
 ---
  src/PYLibPinyinBaseEditor.h |   92 +++++++++++++++++++++++++++++++++++++++++++
@@ -454,7 +454,7 @@ index ee200a1..0000000
 From 9103387c14422521f7449806079bf411ab8f6fd3 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 1 Sep 2011 15:13:09 +0800
-Subject: [PATCH 05/74] begin to write libpinyin base editor
+Subject: [PATCH 05/84] begin to write libpinyin base editor
 
 ---
  src/PYLibPinyinBaseEditor.cc |  318 ++++++++++++++++++++++++++++++++++++++++++
@@ -806,7 +806,7 @@ index ee200a1..c7b0d2b 100644
 From 2f3696c5af718b4eeb6113dc0b68bd9525027ec2 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 1 Sep 2011 15:51:53 +0800
-Subject: [PATCH 06/74] fixes compile
+Subject: [PATCH 06/84] fixes compile
 
 ---
  src/Makefile.am              |    3 +++
@@ -866,7 +866,7 @@ index c7b0d2b..d682a7b 100644
 From b6cc94ba4d65f1511aebb5b2da80c958cd882815 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Fri, 2 Sep 2011 10:34:06 +0800
-Subject: [PATCH 07/74] add special phrases handle in libpinyin base editor
+Subject: [PATCH 07/84] add special phrases handle in libpinyin base editor
 
 ---
  src/PYLibPinyinBaseEditor.cc |   27 +++++++++++++++++++++------
@@ -949,7 +949,7 @@ index d682a7b..fa5755c 100644
 From 61aafedfb9cf7718afebb4cb8a3eb82873bafa1d Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Fri, 2 Sep 2011 14:30:11 +0800
-Subject: [PATCH 08/74] begin to write concrete pinyin editors
+Subject: [PATCH 08/84] begin to write concrete pinyin editors
 
 ---
  src/PYLibPinyinDoublePinyinEditor.h |   57 +++++++++++++++++++++++++++++++++
@@ -1093,7 +1093,7 @@ index 0000000..dcc1728
 From 56d08018ceb62e0dfaff14cc3456e7b1e65dc53b Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Fri, 2 Sep 2011 15:26:21 +0800
-Subject: [PATCH 09/74] rename files
+Subject: [PATCH 09/84] rename files
 
 ---
  src/PYLibPinyinBaseEditor.cc        |  332 -----------------------------------
@@ -2245,7 +2245,7 @@ index 0000000..fa5755c
 From b8f7e09a3316035b2b497386885a41e52da7b664 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Fri, 2 Sep 2011 15:39:31 +0800
-Subject: [PATCH 10/74] add libpinyin pinyin editor header
+Subject: [PATCH 10/84] add libpinyin pinyin editor header
 
 ---
  src/PYPPinyinEditor.h |   56 +++++++++++++++++++++++++++++++++++++++++++++++++
@@ -2321,7 +2321,7 @@ index 0000000..4213395
 From 0d7fdc1f9b71df881fa4353fc0f20a0839c0c78c Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Fri, 2 Sep 2011 15:49:13 +0800
-Subject: [PATCH 11/74] rename base editor
+Subject: [PATCH 11/84] rename base editor
 
 ---
  src/Makefile.am             |    6 +++-
@@ -2641,7 +2641,7 @@ index 4213395..fd2b2ce 100644
 From 21c05a2bf76d58a2928fd6e93c2e1f561129ee8f Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Fri, 2 Sep 2011 16:49:00 +0800
-Subject: [PATCH 12/74] begin to write pinyin editor
+Subject: [PATCH 12/84] begin to write pinyin editor
 
 ---
  src/PYPPinyinEditor.cc |  202 ++++++++++++++++++++++++++++++++++++++++++++++++
@@ -2864,7 +2864,7 @@ index a259a99..a78544d 100644
 From b79504595353a90d85b025ab6f3bb426787f26b3 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Mon, 5 Sep 2011 16:59:49 +0800
-Subject: [PATCH 13/74] begin to write bopomofo editor
+Subject: [PATCH 13/84] begin to write bopomofo editor
 
 ---
  src/PYPBopomofoEditor.cc |  374 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -3343,7 +3343,7 @@ index 0000000..bcbf85d
 From 5a59f456bb40ea381a8f39858a0a8d3f8e43b074 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Mon, 5 Sep 2011 17:13:31 +0800
-Subject: [PATCH 14/74] fixes compile
+Subject: [PATCH 14/84] fixes compile
 
 ---
  src/Makefile.am          |    2 ++
@@ -3426,7 +3426,7 @@ index bcbf85d..f78375f 100644
 From 2c724244d80e4d79385be7e0f5744b286c5b30a1 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 8 Sep 2011 15:13:17 +0800
-Subject: [PATCH 15/74] add libpinyin deps
+Subject: [PATCH 15/84] add libpinyin deps
 
 ---
  configure.ac            |    5 +++++
@@ -3499,7 +3499,7 @@ index 3d64bc4..f222557 100644
 From aa80dfa352b8657202c895062283d9e930735b14 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 8 Sep 2011 18:02:51 +0800
-Subject: [PATCH 16/74] begin to write libpinyin backend
+Subject: [PATCH 16/84] begin to write libpinyin backend
 
 ---
  src/Makefile.am    |    1 +
@@ -3595,7 +3595,7 @@ index d3bc90c..c07b435 100644
 From 1f6ff1c6791cf266fcff9ac2808f85d902ee4b5f Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Wed, 14 Sep 2011 17:49:47 +0800
-Subject: [PATCH 17/74] add set options to libpinyin back end
+Subject: [PATCH 17/84] add set options to libpinyin back end
 
 ---
  src/PYLibPinyin.cc |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -3704,7 +3704,7 @@ index c07b435..83aa1fc 100644
 From 7bb6c26be96489e919736eb719abafcf11796e15 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 15 Sep 2011 15:19:49 +0800
-Subject: [PATCH 18/74] remove special phrase
+Subject: [PATCH 18/84] remove special phrase
 
 ---
  src/PYPPhoneticEditor.cc |   41 -----------------------------------------
@@ -3816,7 +3816,7 @@ index f222557..f7a3704 100644
 From c9a83029d574da3de06bc8d3b3766919acd68c5c Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Fri, 16 Sep 2011 15:43:35 +0800
-Subject: [PATCH 19/74] refactor libpinyin phonetic editor
+Subject: [PATCH 19/84] refactor libpinyin phonetic editor
 
 ---
  src/PYPPhoneticEditor.cc |   59 +++++++++++++++++++++++++++++++++++++++------
@@ -3953,7 +3953,7 @@ index f7a3704..a3b03ff 100644
 From 0afa90502dac19f65253c3bd6d6dd6b97f403ec7 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Fri, 16 Sep 2011 15:51:12 +0800
-Subject: [PATCH 20/74] clean up libpinyin bopomofo editor
+Subject: [PATCH 20/84] clean up libpinyin bopomofo editor
 
 ---
  src/PYPBopomofoEditor.cc |   39 +++++++++++++--------------------------
@@ -4037,7 +4037,7 @@ index cb64abd..35c9ed2 100644
 From 5d0466f732e7520851edb8145c348b29c8bea252 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Fri, 16 Sep 2011 17:31:56 +0800
-Subject: [PATCH 21/74] add m_pinyin_len back
+Subject: [PATCH 21/84] add m_pinyin_len back
 
 ---
  src/PYPPhoneticEditor.cc |   20 +++++++++++---------
@@ -4132,7 +4132,7 @@ index a3b03ff..32a5245 100644
 From 325056f0f43e86da5621ac04d5261faaabe5041c Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Mon, 19 Sep 2011 16:10:48 +0800
-Subject: [PATCH 22/74] write pinyin editor in progress
+Subject: [PATCH 22/84] write pinyin editor in progress
 
 ---
  src/PYPPhoneticEditor.h |    2 +-
@@ -4259,7 +4259,7 @@ index a78544d..a435b82 100644
 From 6cee400f75eeb9d977cb3bb64df8dc282ab31aa7 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Mon, 19 Sep 2011 16:26:42 +0800
-Subject: [PATCH 23/74] begin to write libpinyin full pinyin editor
+Subject: [PATCH 23/84] begin to write libpinyin full pinyin editor
 
 ---
  src/Makefile.am            |    1 +
@@ -4356,7 +4356,7 @@ index 0000000..9712d97
 From b50a6e074f608f640afb074231ed643240bf26b3 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Tue, 20 Sep 2011 13:52:05 +0800
-Subject: [PATCH 24/74] write update pinyin
+Subject: [PATCH 24/84] write update pinyin
 
 ---
  src/PYPFullPinyinEditor.cc |   31 +++++++++++++++++++++++++++++++
@@ -4422,7 +4422,7 @@ index a6e74c4..afb52d5 100644
 From 3ceb1022d20885ed032a3b0275a48fe8cf96182d Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Tue, 20 Sep 2011 16:12:46 +0800
-Subject: [PATCH 25/74] add char edit
+Subject: [PATCH 25/84] add char edit
 
 ---
  src/PYPFullPinyinEditor.cc |   39 +++++++++++++++++++++++++++++++++++++++
@@ -4485,7 +4485,7 @@ index 5194ef8..2b8babc 100644
 From 5ccaad1bdee85c6762ddfbf52bba6e8e2f82fd0a Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Wed, 21 Sep 2011 10:14:49 +0800
-Subject: [PATCH 26/74] write full pinyin editor in progress
+Subject: [PATCH 26/84] write full pinyin editor in progress
 
 ---
  src/PYPFullPinyinEditor.cc |  131 +++++++++++++++++++++++++++++++++++++++++++-
@@ -4640,7 +4640,7 @@ index 2b8babc..7e764c7 100644
 From b9dce30dd8b368769f7843594ba3210a097bd6cc Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Wed, 21 Sep 2011 10:34:46 +0800
-Subject: [PATCH 27/74] use m_pinyin_poses in full pinyin editor
+Subject: [PATCH 27/84] use m_pinyin_poses in full pinyin editor
 
 ---
  src/PYPFullPinyinEditor.cc |   32 ++++++++++++++++++++++----------
@@ -4721,7 +4721,7 @@ index 7e764c7..0a05c5a 100644
 From 9b3f8d14380de93c3b697a55cfd1df6dd8316eb3 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Wed, 21 Sep 2011 11:25:58 +0800
-Subject: [PATCH 28/74] use pinyin pos
+Subject: [PATCH 28/84] use pinyin pos
 
 ---
  src/PYPPhoneticEditor.cc |   14 ++++++++------
@@ -4782,7 +4782,7 @@ index a435b82..68617a3 100644
 From 31e29393f3d7069c7dbbbda11d0cb354838a0e2c Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Wed, 21 Sep 2011 11:39:17 +0800
-Subject: [PATCH 29/74] re-factor full pinyin editor
+Subject: [PATCH 29/84] re-factor full pinyin editor
 
 ---
  src/PYPFullPinyinEditor.cc |   83 +++++++++++++++++++------------------------
@@ -4946,7 +4946,7 @@ index afb52d5..11e53cb 100644
 From f612432ccf5bd9d3fc9617bf52f1f99e2b7b5c0a Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Wed, 21 Sep 2011 12:22:55 +0800
-Subject: [PATCH 30/74] add update aux text func for full pinyin
+Subject: [PATCH 30/84] add update aux text func for full pinyin
 
 ---
  src/PYPFullPinyinEditor.cc |   37 +++++++++++++++++++++++++++++++++++++
@@ -5056,7 +5056,7 @@ index fd2b2ce..41aafc6 100644
 From 62d47f889316ff95b764333bb10f9f0211e32558 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Wed, 21 Sep 2011 14:02:14 +0800
-Subject: [PATCH 31/74] begin to add double pinyin editor
+Subject: [PATCH 31/84] begin to add double pinyin editor
 
 ---
  src/Makefile.am              |    1 +
@@ -5129,7 +5129,7 @@ index 0000000..5eb2067
 From 1e16137bf37a2bc597740585e2809679bc5b7605 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Wed, 21 Sep 2011 14:18:36 +0800
-Subject: [PATCH 32/74] move cursor edit funcs to pinyin editor
+Subject: [PATCH 32/84] move cursor edit funcs to pinyin editor
 
 ---
  src/PYPDoublePinyinEditor.h |    2 +
@@ -5586,7 +5586,7 @@ index 41aafc6..974d2a5 100644
 From 17a5f2c269d903f892b59ab2a28e8476b5fa0035 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Wed, 21 Sep 2011 14:52:09 +0800
-Subject: [PATCH 33/74] add update pinyin
+Subject: [PATCH 33/84] add update pinyin
 
 ---
  src/PYPDoublePinyinEditor.cc |   16 ++++++++++++++++
@@ -5676,7 +5676,7 @@ index 9c1644e..05de60d 100644
 From 15e5c137425de55f79c0c51d9ede5c9482e5f745 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 22 Sep 2011 14:24:09 +0800
-Subject: [PATCH 34/74] write double pinyin editor
+Subject: [PATCH 34/84] write double pinyin editor
 
 ---
  src/PYPDoublePinyinEditor.cc |   93 ++++++++++++++++++++++++++++++++++++++++++
@@ -5841,7 +5841,7 @@ index 08fc04e..8108002 100644
 From dc1008b9450edadac06e5927f4bfc53914339619 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 22 Sep 2011 14:35:40 +0800
-Subject: [PATCH 35/74] begin to write bopomofo editor
+Subject: [PATCH 35/84] begin to write bopomofo editor
 
 ---
  src/PYPBopomofoEditor.cc |  119 ----------------------------------------------
@@ -6054,7 +6054,7 @@ index 974d2a5..00b49ce 100644
 From 4fa55bf0d8333d1bb21c64572d017e05a22f4d48 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 22 Sep 2011 15:00:11 +0800
-Subject: [PATCH 36/74] write bopomofo editor in progress
+Subject: [PATCH 36/84] write bopomofo editor in progress
 
 ---
  src/PYPBopomofoEditor.cc |   68 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -6164,7 +6164,7 @@ index 00b49ce..974d2a5 100644
 From cd133bc9853f92d5c8ab72fd74a9a4d0670390fe Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 22 Sep 2011 15:18:37 +0800
-Subject: [PATCH 37/74] write bopomofo editor
+Subject: [PATCH 37/84] write bopomofo editor
 
 ---
  src/PYPBopomofoEditor.cc |   35 ++++++++++++++++++++++++++++++++++-
@@ -6260,7 +6260,7 @@ index 8108002..5599416 100644
 From 57d303dd2b725c56abea46490609e0cd3d1f2938 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 22 Sep 2011 15:31:06 +0800
-Subject: [PATCH 38/74] remove m_pinyins
+Subject: [PATCH 38/84] remove m_pinyins
 
 ---
  src/PYPBopomofoEditor.cc     |    1 -
@@ -6371,7 +6371,7 @@ index 56a8ee4..9d522bf 100644
 From f37f4807b0408d4269ad6a57e8a29049c18cabb1 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 22 Sep 2011 15:49:29 +0800
-Subject: [PATCH 39/74] fixes Makefile.am
+Subject: [PATCH 39/84] fixes Makefile.am
 
 ---
  src/Makefile.am          |    2 ++
@@ -6410,7 +6410,7 @@ index 0c7e46f..db4f9b4 100644
 From 4adb383aeaeb0053f161283888609ea3078e2bdb Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Fri, 23 Sep 2011 14:44:10 +0800
-Subject: [PATCH 40/74] add set chewing options
+Subject: [PATCH 40/84] add set chewing options
 
 ---
  src/PYLibPinyin.cc |   29 ++++++++++++++++++++++++++++-
@@ -6489,7 +6489,7 @@ index 83aa1fc..538930c 100644
 From 67ddca2bedeb5716ba8f2ec049d67f65db562a80 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Mon, 26 Sep 2011 15:33:00 +0800
-Subject: [PATCH 41/74] add libpinyin pinyin/chewing scheme options
+Subject: [PATCH 41/84] add libpinyin pinyin/chewing scheme options
 
 ---
  src/PYLibPinyin.cc |   45 ++++++++++++++++++++++++++++++++++++++-------
@@ -6601,7 +6601,7 @@ index 538930c..3d40b1d 100644
 From 97cd3846b283bb7554604f692f027a5259ab4380 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Wed, 28 Sep 2011 15:08:11 +0800
-Subject: [PATCH 42/74] add PYPPinyinEngine.h
+Subject: [PATCH 42/84] add PYPPinyinEngine.h
 
 ---
  src/Makefile.am       |    1 +
@@ -6714,7 +6714,7 @@ index 0000000..d8040c1
 From 269e8a835a6ac38a1c4b099f9a62bde9375e9a21 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Wed, 28 Sep 2011 17:09:11 +0800
-Subject: [PATCH 43/74] add libpinyin pinyin engine
+Subject: [PATCH 43/84] add libpinyin pinyin engine
 
 ---
  src/Makefile.am        |    1 +
@@ -7072,7 +7072,7 @@ index 0000000..2877702
 From a0b8bc5114056a844e59998766c886f26768cef8 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Wed, 28 Sep 2011 17:30:41 +0800
-Subject: [PATCH 44/74] write bopomofo editor
+Subject: [PATCH 44/84] write bopomofo editor
 
 ---
  src/PYPBopomofoEditor.cc |  131 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -7376,7 +7376,7 @@ index 9d522bf..f2d7309 100644
 From d372fbc3c073d37496be1571fdd6a0fec86307ea Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Wed, 28 Sep 2011 17:35:18 +0800
-Subject: [PATCH 45/74] re-factor pinyin editor
+Subject: [PATCH 45/84] re-factor pinyin editor
 
 ---
  src/PYPPinyinEditor.cc |   73 +-----------------------------------------------
@@ -7507,7 +7507,7 @@ index 974d2a5..87fe210 100644
 From a87fbe8b02845f67eec4443abb5eee373579c999 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Wed, 28 Sep 2011 17:51:56 +0800
-Subject: [PATCH 46/74] polish code
+Subject: [PATCH 46/84] polish code
 
 ---
  src/PYPPinyinEngine.cc |   29 +++++++++--------------------
@@ -7597,7 +7597,7 @@ index d8040c1..7a2d635 100644
 From a7fa96bf9d0081b3b85fe8177a1b51268267d9e4 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 29 Sep 2011 10:28:25 +0800
-Subject: [PATCH 47/74] fixes libpinyin pinyin engine
+Subject: [PATCH 47/84] fixes libpinyin pinyin engine
 
 ---
  src/PYPPinyinEngine.cc |    4 +++-
@@ -7636,7 +7636,7 @@ index f8e20ee..1fc4933 100644
 From f94b146760628458572483726768faa5cf5cf756 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 29 Sep 2011 11:03:50 +0800
-Subject: [PATCH 48/74] re-factor libpinyin backend
+Subject: [PATCH 48/84] re-factor libpinyin backend
 
 ---
  src/PYLibPinyin.cc |   22 ++++++++++++++++------
@@ -7729,7 +7729,7 @@ index 021201f..a19a5bf 100644
 From 5f27536c62860b9436bd38ad509b195c26c1a288 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 29 Sep 2011 13:46:48 +0800
-Subject: [PATCH 49/74] add PYPBopomofoEngine.h
+Subject: [PATCH 49/84] add PYPBopomofoEngine.h
 
 ---
  src/Makefile.am         |    1 +
@@ -7846,7 +7846,7 @@ index 0000000..f767908
 From a4d249bf8ed06be72eb667d12639a1ba77418d44 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 29 Sep 2011 14:59:44 +0800
-Subject: [PATCH 50/74] add PYPBopomofoEngine.cc
+Subject: [PATCH 50/84] add PYPBopomofoEngine.cc
 
 ---
  src/Makefile.am          |    1 +
@@ -8133,7 +8133,7 @@ index 0000000..e48e9af
 From fdb0faafb87135edb9ac6b9d25525dbc2f268f71 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 29 Sep 2011 15:08:52 +0800
-Subject: [PATCH 51/74] add libpinyin engines to PYEngine.cc
+Subject: [PATCH 51/84] add libpinyin engines to PYEngine.cc
 
 ---
  src/PYEngine.cc |   25 ++++++++++++++++++++-----
@@ -8189,7 +8189,7 @@ index 7987146..3a34afc 100644
 From 485d515721c2127a9a1fa8996799cdbd900d1b72 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Fri, 30 Sep 2011 10:30:11 +0800
-Subject: [PATCH 52/74] add show setup
+Subject: [PATCH 52/84] add show setup
 
 ---
  src/PYPBopomofoEngine.cc |    3 ++-
@@ -8241,7 +8241,7 @@ index 1fc4933..c163cfc 100644
 From 0c6b69bce0c9bf0c79bd4d3db464e6c2eb8cb1e7 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Fri, 30 Sep 2011 10:54:25 +0800
-Subject: [PATCH 53/74] add lazy init
+Subject: [PATCH 53/84] add lazy init
 
 ---
  src/PYLibPinyin.cc |   45 ++++++++++++++++++++++++++++++++++++++++-----
@@ -8340,7 +8340,7 @@ index 212bf53..44ed727 100644
 From f1073c63e615ab2b7159937b586007a75a0b492a Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Fri, 7 Oct 2011 12:53:14 +0800
-Subject: [PATCH 54/74] write libpinyin backend
+Subject: [PATCH 54/84] write libpinyin backend
 
 ---
  src/PYLibPinyin.cc |   10 ++++++++++
@@ -8402,7 +8402,7 @@ index a7097fe..d76e612 100644
 From a7efa0d82a7c4cae3a22f1f0e446ca5fff005ffd Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Fri, 7 Oct 2011 13:05:20 +0800
-Subject: [PATCH 55/74] write PYConfig
+Subject: [PATCH 55/84] write PYConfig
 
 ---
  src/PYConfig.cc |    7 +++++++
@@ -8440,7 +8440,7 @@ index 1373607..9e539c8 100644
 From a73a74a6c1ecb79b7fde223e1e71e6cbec04c802 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Sat, 8 Oct 2011 10:03:26 +0800
-Subject: [PATCH 56/74] alloc/free pinyin instance
+Subject: [PATCH 56/84] alloc/free pinyin instance
 
 ---
  src/PYMain.cc                |    2 +-
@@ -8576,7 +8576,7 @@ index 87fe210..3c61918 100644
 From d4baea8eb96460c50d241933713b0e419a9abddf Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Sat, 8 Oct 2011 10:11:35 +0800
-Subject: [PATCH 57/74] add engines
+Subject: [PATCH 57/84] add engines
 
 ---
  src/PYMain.cc |   32 +++++++++++++++++++++++++++++++-
@@ -8653,7 +8653,7 @@ index c4895ec..3516b90 100644
 From 33a08c7702e7bdf816cd4e9a21fd8190d2cbc35d Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Sat, 8 Oct 2011 10:37:40 +0800
-Subject: [PATCH 58/74] fixes full editor
+Subject: [PATCH 58/84] fixes full editor
 
 ---
  src/PYPFullPinyinEditor.cc |    5 ++++-
@@ -8725,7 +8725,7 @@ index c163cfc..4aae9a9 100644
 From 1d4b7682ac6e05758e2d9dd45b373d48903568b1 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Sat, 8 Oct 2011 11:29:03 +0800
-Subject: [PATCH 59/74] fixes double pinyin
+Subject: [PATCH 59/84] fixes double pinyin
 
 ---
  src/PYPDoublePinyinEditor.cc |    8 +++++++-
@@ -8780,7 +8780,7 @@ index 0b7d603..69ed5ab 100644
 From de6e93108fc2c3b2ce3b8fba522a3edad082b738 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Sat, 8 Oct 2011 11:40:11 +0800
-Subject: [PATCH 60/74] fixes chewing editor
+Subject: [PATCH 60/84] fixes chewing editor
 
 ---
  src/PYEngine.cc          |    2 +-
@@ -8836,7 +8836,7 @@ index f13fcc9..1a330cc 100644
 From fd277418074f4ee9c587f95cf93ce83bb71bb4ce Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Sat, 8 Oct 2011 18:53:12 +0800
-Subject: [PATCH 61/74] add to pinyin.xml.in.in
+Subject: [PATCH 61/84] add to pinyin.xml.in.in
 
 ---
  src/pinyin.xml.in.in |   28 ++++++++++++++++++++++++++++
@@ -8888,7 +8888,7 @@ index 94b803a..f8ada12 100644
 From 2451a4c83885e796d7ddfee9d0321d56bc3703ef Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Sat, 8 Oct 2011 19:01:16 +0800
-Subject: [PATCH 62/74] fixes update preedit text
+Subject: [PATCH 62/84] fixes update preedit text
 
 ---
  src/PYPBopomofoEditor.cc |   14 ++++++++------
@@ -8954,7 +8954,7 @@ index 817f621..3d7deff 100644
 From 83bd966f202824cbb431a581fea626f1252ce96e Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Mon, 10 Oct 2011 13:08:27 +0800
-Subject: [PATCH 63/74] update main.py
+Subject: [PATCH 63/84] update main.py
 
 ---
  setup/main.py |   21 +++++++++++++++------
@@ -9033,7 +9033,7 @@ index 0e3a729..197ea8b 100644
 From 6ecd8e73f2d5d035f36c5083aa8e69dbf198c671 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Mon, 10 Oct 2011 14:08:17 +0800
-Subject: [PATCH 64/74] add update when select candidate
+Subject: [PATCH 64/84] add update when select candidate
 
 ---
  src/PYPBopomofoEditor.cc |    2 ++
@@ -9103,7 +9103,7 @@ index 3d7deff..4b8aa21 100644
 From 8c5d9452dba95acae0adfd06769f262f18614041 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Mon, 10 Oct 2011 15:25:20 +0800
-Subject: [PATCH 65/74] fixes commit/reset
+Subject: [PATCH 65/84] fixes commit/reset
 
 ---
  src/PYPPhoneticEditor.cc |    1 +
@@ -9128,7 +9128,7 @@ index a5d7675..c50b265 100644
 From 4ecd95e7e241ab53934483b36bb7fba2717afc54 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Mon, 10 Oct 2011 17:30:39 +0800
-Subject: [PATCH 66/74] fixes space handle
+Subject: [PATCH 66/84] fixes space handle
 
 ---
  src/PYPPhoneticEditor.cc |    7 ++-----
@@ -9180,7 +9180,7 @@ index 4b8aa21..195d0e3 100644
 From 9a5d9bdde8bb12ac38af7a1eb2b7bb73a1ccf3ff Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Tue, 11 Oct 2011 11:14:18 +0800
-Subject: [PATCH 67/74] fixes choose candidate
+Subject: [PATCH 67/84] fixes choose candidate
 
 ---
  src/PYPPhoneticEditor.cc |    8 +++++++-
@@ -9213,7 +9213,7 @@ index dc494d5..6be7079 100644
 From a4054b39925e3c194d6e8dddad6bbc403dd74ac0 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Tue, 25 Oct 2011 14:11:13 +0800
-Subject: [PATCH 68/74] update pinyin.xml.in.in
+Subject: [PATCH 68/84] update pinyin.xml.in.in
 
 ---
  src/pinyin.xml.in.in |   10 ++++++++--
@@ -9260,7 +9260,7 @@ index f8ada12..d2b267d 100644
 From 4c36af48e4a173a7008d2742fbdf1e0a97481c1b Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Tue, 25 Oct 2011 14:36:36 +0800
-Subject: [PATCH 69/74] add user data directory support
+Subject: [PATCH 69/84] add user data directory support
 
 ---
  src/PYLibPinyin.cc |   16 +++++++++++++++-
@@ -9310,7 +9310,7 @@ index d76e612..077e7e0 100644
 From e4f2fa619027b987645b0c5e5cf4d5d152c67306 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Wed, 26 Oct 2011 10:10:58 +0800
-Subject: [PATCH 70/74] add save support
+Subject: [PATCH 70/84] add save support
 
 ---
  src/PYLibPinyin.cc       |   51 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -9466,7 +9466,7 @@ index 195d0e3..e676f6d 100644
 From 025580e8f4ad1d758729e467e73011046fdba64b Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 27 Oct 2011 11:36:59 +0800
-Subject: [PATCH 71/74] hide bopomofo
+Subject: [PATCH 71/84] hide bopomofo
 
 ---
  src/pinyin.xml.in.in |   23 ++++-------------------
@@ -9526,7 +9526,7 @@ index d2b267d..93b14a1 100644
 From 8f1412f1d5b326cb93202e7fa91a017fe1dfba4d Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Mon, 31 Oct 2011 11:18:09 +0800
-Subject: [PATCH 72/74] improves pinyin.xml
+Subject: [PATCH 72/84] improves pinyin.xml
 
 ---
  src/pinyin.xml.in.in |    6 +++---
@@ -9570,7 +9570,7 @@ index 93b14a1..862801b 100644
 From 4593004fbcf97c5a8499fe9cadf540b8a9c14d7d Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 3 Nov 2011 11:31:05 +0800
-Subject: [PATCH 73/74] fixes select candidate
+Subject: [PATCH 73/84] fixes select candidate
 
 ---
  src/PYPPhoneticEditor.cc |    4 ++++
@@ -9598,7 +9598,7 @@ index 6be7079..dc66689 100644
 From 2144da157696caac27450a11922fb2ef90ddb6c9 Mon Sep 17 00:00:00 2001
 From: Peng Wu <alexepico at gmail.com>
 Date: Thu, 3 Nov 2011 13:19:12 +0800
-Subject: [PATCH 74/74] add compile flags
+Subject: [PATCH 74/84] add compile flags
 
 ---
  configure.ac    |   14 +++++++++++++-
@@ -9813,3 +9813,882 @@ index 3516b90..01f3b49 100644
 -- 
 1.7.7
 
+
+From 904f00a369b4d8f007fb2e840f4d72eba63aca9c Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 12:53:41 +0800
+Subject: [PATCH 75/84] fixes 'hon' auto correction
+
+---
+ src/PYPFullPinyinEditor.cc |    4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/src/PYPFullPinyinEditor.cc b/src/PYPFullPinyinEditor.cc
+index 69ed5ab..07073b6 100644
+--- a/src/PYPFullPinyinEditor.cc
++++ b/src/PYPFullPinyinEditor.cc
+@@ -93,7 +93,9 @@ LibPinyinFullPinyinEditor::updatePinyin (void)
+     PinyinArray::const_iterator iter = pinyins.begin ();
+     for ( ; iter != pinyins.end (); ++iter ) {
+         PinyinSegment py = *iter;
+-        pinyin_parse_full_pinyin (m_instance, py.pinyin->text, &key);
++        String pinyin = py.pinyin->sheng;
++        pinyin += py.pinyin->yun;
++        pinyin_parse_full_pinyin (m_instance, (const char *)pinyin, &key);
+         pos.set_pos (py.begin); pos.set_length (py.len);
+         g_array_append_val (m_instance->m_pinyin_keys, key);
+         g_array_append_val (m_instance->m_pinyin_poses, pos);
+-- 
+1.7.7
+
+
+From cad2d04e2923d8dfb1ee784dc830fb9a0d137271 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 13:14:06 +0800
+Subject: [PATCH 76/84] update header
+
+---
+ src/PYPBopomofoEditor.h |   10 ----------
+ src/PYPPhoneticEditor.h |   12 +++++++-----
+ src/PYPPinyinEditor.h   |   10 ----------
+ 3 files changed, 7 insertions(+), 25 deletions(-)
+
+diff --git a/src/PYPBopomofoEditor.h b/src/PYPBopomofoEditor.h
+index cfdca2a..1df1731 100644
+--- a/src/PYPBopomofoEditor.h
++++ b/src/PYPBopomofoEditor.h
+@@ -35,13 +35,6 @@ public:
+     LibPinyinBopomofoEditor (PinyinProperties & props, Config & config);
+     ~LibPinyinBopomofoEditor (void);
+ 
+-public:
+-    gboolean removeWordBefore (void);
+-    gboolean removeWordAfter (void);
+-
+-    gboolean moveCursorLeftByWord (void);
+-    gboolean moveCursorRightByWord (void);
+-
+ protected:
+     String bopomofo;
+     gboolean m_select_mode;
+@@ -58,9 +51,6 @@ protected:
+     virtual void updateAuxiliaryText ();
+     virtual void updatePinyin (void);
+ 
+-    guint getCursorLeftByWord (void);
+-    guint getCursorRightByWord (void);
+-
+     void commit ();
+     void reset ();
+ 
+diff --git a/src/PYPPhoneticEditor.h b/src/PYPPhoneticEditor.h
+index f2d7309..b2235f3 100644
+--- a/src/PYPPhoneticEditor.h
++++ b/src/PYPPhoneticEditor.h
+@@ -50,7 +50,6 @@ public:
+     virtual gboolean fillLookupTableByPage ();
+ 
+ protected:
+-
+     gboolean selectCandidate (guint i);
+     gboolean selectCandidateInPage (guint i);
+ 
+@@ -63,12 +62,12 @@ protected:
+     virtual gboolean insert (gint ch) = 0;
+     virtual gboolean removeCharBefore (void);
+     virtual gboolean removeCharAfter (void);
+-    virtual gboolean removeWordBefore (void) = 0;
+-    virtual gboolean removeWordAfter (void) = 0;
++    virtual gboolean removeWordBefore (void);
++    virtual gboolean removeWordAfter (void);
+     virtual gboolean moveCursorLeft (void);
+     virtual gboolean moveCursorRight (void);
+-    virtual gboolean moveCursorLeftByWord (void) = 0;
+-    virtual gboolean moveCursorRightByWord (void) = 0;
++    virtual gboolean moveCursorLeftByWord (void);
++    virtual gboolean moveCursorRightByWord (void);
+     virtual gboolean moveCursorToBegin (void);
+     virtual gboolean moveCursorToEnd (void);
+     virtual void commit (void) = 0;
+@@ -76,6 +75,9 @@ protected:
+     virtual void updatePreeditText (void) = 0;
+     virtual void updatePinyin (void) = 0;
+ 
++    guint getCursorLeftByWord (void);
++    guint getCursorRightByWord (void);
++
+ 
+     /* varibles */
+ #if 0
+diff --git a/src/PYPPinyinEditor.h b/src/PYPPinyinEditor.h
+index 3c61918..815b7a0 100644
+--- a/src/PYPPinyinEditor.h
++++ b/src/PYPPinyinEditor.h
+@@ -33,13 +33,6 @@ class LibPinyinPinyinEditor : public LibPinyinPhoneticEditor {
+ public:
+     LibPinyinPinyinEditor (PinyinProperties & props, Config & config);
+ 
+-public:
+-    gboolean removeWordBefore (void);
+-    gboolean removeWordAfter (void);
+-
+-    gboolean moveCursorLeftByWord (void);
+-    gboolean moveCursorRightByWord (void);
+-
+ 
+ protected:
+     gboolean processPinyin (guint keyval, guint keycode, guint modifiers);
+@@ -56,9 +49,6 @@ protected:
+     virtual gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers);
+ 
+     virtual void updatePinyin (void) = 0;
+-
+-    guint getCursorLeftByWord (void);
+-    guint getCursorRightByWord (void);
+ };
+ 
+ };
+-- 
+1.7.7
+
+
+From b37af69de6c6a95104fbfd9597d82eaa725a4701 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 13:33:28 +0800
+Subject: [PATCH 77/84] copy move cursor by word functions
+
+---
+ src/PYPPhoneticEditor.cc |   99 ++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 99 insertions(+), 0 deletions(-)
+
+diff --git a/src/PYPPhoneticEditor.cc b/src/PYPPhoneticEditor.cc
+index dc66689..ac94ba7 100644
+--- a/src/PYPPhoneticEditor.cc
++++ b/src/PYPPhoneticEditor.cc
+@@ -418,3 +418,102 @@ LibPinyinPhoneticEditor::moveCursorToEnd (void)
+     update ();
+     return TRUE;
+ }
++
++
++/* move cursor by word functions */
++
++guint
++LibPinyinPhoneticEditor::getCursorLeftByWord (void)
++{
++    guint cursor;
++
++    if (G_UNLIKELY (m_cursor > m_pinyin_len)) {
++        cursor = m_pinyin_len;
++    } else {
++        PinyinKeyPosVector & pinyin_poses = m_instance->m_pinyin_poses;
++        guint pinyin_cursor = getPinyinCursor ();
++        PinyinKeyPos *pos = &g_array_index
++            (pinyin_poses, PinyinKeyPos, pinyin_cursor);
++        cursor = pos->m_pos;
++
++        /* cursor at the begin of one pinyin */
++        g_return_val_if_fail (pinyin_cursor > 0, 0);
++        if ( cursor == m_cursor) {
++            pos = &g_array_index
++                (pinyin_poses, PinyinKeyPos, pinyin_cursor - 1);
++            cursor = pos->m_pos;
++        }
++    }
++
++    return cursor;
++}
++
++guint
++LibPinyinPhoneticEditor::getCursorRightByWord (void)
++{
++    guint cursor;
++
++    if (G_UNLIKELY (m_cursor > m_pinyin_len)) {
++        cursor = m_text.length ();
++    } else {
++        guint pinyin_cursor = getPinyinCursor ();
++        PinyinKeyPos *pos = &g_array_index
++            (m_instance->m_pinyin_poses, PinyinKeyPos, pinyin_cursor);
++        cursor = pos->get_end_pos ();
++    }
++
++    return cursor;
++}
++
++gboolean
++LibPinyinPhoneticEditor::removeWordBefore (void)
++{
++    if (G_UNLIKELY (m_cursor == 0))
++        return FALSE;
++
++    guint cursor = getCursorLeftByWord ();
++    m_text.erase (cursor, m_cursor - cursor);
++    m_cursor = cursor;
++    updatePinyin ();
++    update ();
++    return TRUE;
++}
++
++gboolean
++LibPinyinPhoneticEditor::removeWordAfter (void)
++{
++    if (G_UNLIKELY (m_cursor == m_text.length ()))
++        return FALSE;
++
++    guint cursor = getCursorRightByWord ();
++    m_text.erase (m_cursor, cursor - m_cursor);
++    updatePinyin ();
++    update ();
++    return TRUE;
++}
++
++gboolean
++LibPinyinPhoneticEditor::moveCursorLeftByWord (void)
++{
++    if (G_UNLIKELY (m_cursor == 0))
++        return FALSE;
++
++    guint cursor = getCursorLeftByWord ();
++
++    m_cursor = cursor;
++    update ();
++    return TRUE;
++}
++
++gboolean
++LibPinyinPhoneticEditor::moveCursorRightByWord (void)
++{
++    if (G_UNLIKELY (m_cursor == m_text.length ()))
++        return FALSE;
++
++    guint cursor = getCursorRightByWord ();
++
++    m_cursor = cursor;
++    update ();
++    return TRUE;
++}
+-- 
+1.7.7
+
+
+From e16d6d5644811bea4590099d6da32d3d5f0cc33d Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 13:39:58 +0800
+Subject: [PATCH 78/84] remove cursor by word functions
+
+---
+ src/PYPBopomofoEditor.cc |   98 ----------------------------------------------
+ src/PYPPinyinEditor.cc   |   97 ---------------------------------------------
+ 2 files changed, 0 insertions(+), 195 deletions(-)
+
+diff --git a/src/PYPBopomofoEditor.cc b/src/PYPBopomofoEditor.cc
+index 7592e2a..39a7c95 100644
+--- a/src/PYPBopomofoEditor.cc
++++ b/src/PYPBopomofoEditor.cc
+@@ -388,101 +388,3 @@ LibPinyinBopomofoEditor::updateAuxiliaryText (void)
+     Editor::updateAuxiliaryText (aux_text, TRUE);
+ }
+ 
+-/* move cursor functions */
+-
+-guint
+-LibPinyinBopomofoEditor::getCursorLeftByWord (void)
+-{
+-    guint cursor;
+-
+-    if (G_UNLIKELY (m_cursor > m_pinyin_len)) {
+-        cursor = m_pinyin_len;
+-    } else {
+-        PinyinKeyPosVector & pinyin_poses = m_instance->m_pinyin_poses;
+-        guint pinyin_cursor = getPinyinCursor ();
+-        PinyinKeyPos *pos = &g_array_index
+-            (pinyin_poses, PinyinKeyPos, pinyin_cursor);
+-        cursor = pos->m_pos;
+-
+-        /* cursor at the begin of one pinyin */
+-        g_return_val_if_fail (pinyin_cursor > 0, 0);
+-        if ( cursor == m_cursor) {
+-            pos = &g_array_index
+-                (pinyin_poses, PinyinKeyPos, pinyin_cursor - 1);
+-            cursor = pos->m_pos;
+-        }
+-    }
+-
+-    return cursor;
+-}
+-
+-guint
+-LibPinyinBopomofoEditor::getCursorRightByWord (void)
+-{
+-    guint cursor;
+-
+-    if (G_UNLIKELY (m_cursor > m_pinyin_len)) {
+-        cursor = m_text.length ();
+-    } else {
+-        guint pinyin_cursor = getPinyinCursor ();
+-        PinyinKeyPos *pos = &g_array_index
+-            (m_instance->m_pinyin_poses, PinyinKeyPos, pinyin_cursor);
+-        cursor = pos->get_end_pos ();
+-    }
+-
+-    return cursor;
+-}
+-
+-gboolean
+-LibPinyinBopomofoEditor::removeWordBefore (void)
+-{
+-    if (G_UNLIKELY (m_cursor == 0))
+-        return FALSE;
+-
+-    guint cursor = getCursorLeftByWord ();
+-    m_text.erase (cursor, m_cursor - cursor);
+-    m_cursor = cursor;
+-    updatePinyin ();
+-    update ();
+-    return TRUE;
+-}
+-
+-gboolean
+-LibPinyinBopomofoEditor::removeWordAfter (void)
+-{
+-    if (G_UNLIKELY (m_cursor == m_text.length ()))
+-        return FALSE;
+-
+-    guint cursor = getCursorRightByWord ();
+-    m_text.erase (m_cursor, cursor - m_cursor);
+-    updatePinyin ();
+-    update ();
+-    return TRUE;
+-}
+-
+-gboolean
+-LibPinyinBopomofoEditor::moveCursorLeftByWord (void)
+-{
+-    if (G_UNLIKELY (m_cursor == 0))
+-        return FALSE;
+-
+-    guint cursor = getCursorLeftByWord ();
+-
+-    m_cursor = cursor;
+-    update ();
+-    return TRUE;
+-}
+-
+-gboolean
+-LibPinyinBopomofoEditor::moveCursorRightByWord (void)
+-{
+-    if (G_UNLIKELY (m_cursor == m_text.length ()))
+-        return FALSE;
+-
+-    guint cursor = getCursorRightByWord ();
+-
+-    m_cursor = cursor;
+-    update ();
+-    return TRUE;
+-}
+-
+diff --git a/src/PYPPinyinEditor.cc b/src/PYPPinyinEditor.cc
+index e676f6d..7acf3a9 100644
+--- a/src/PYPPinyinEditor.cc
++++ b/src/PYPPinyinEditor.cc
+@@ -305,100 +305,3 @@ LibPinyinPinyinEditor::updateLookupTable ()
+     LibPinyinPhoneticEditor::updateLookupTable ();
+ }
+ 
+-/* move cursor functions */
+-
+-guint
+-LibPinyinPinyinEditor::getCursorLeftByWord (void)
+-{
+-    guint cursor;
+-
+-    if (G_UNLIKELY (m_cursor > m_pinyin_len)) {
+-        cursor = m_pinyin_len;
+-    } else {
+-        PinyinKeyPosVector & pinyin_poses = m_instance->m_pinyin_poses;
+-        guint pinyin_cursor = getPinyinCursor ();
+-        PinyinKeyPos *pos = &g_array_index
+-            (pinyin_poses, PinyinKeyPos, pinyin_cursor);
+-        cursor = pos->m_pos;
+-
+-        /* cursor at the begin of one pinyin */
+-        g_return_val_if_fail (pinyin_cursor > 0, 0);
+-        if ( cursor == m_cursor) {
+-            pos = &g_array_index
+-                (pinyin_poses, PinyinKeyPos, pinyin_cursor - 1);
+-            cursor = pos->m_pos;
+-        }
+-    }
+-
+-    return cursor;
+-}
+-
+-guint
+-LibPinyinPinyinEditor::getCursorRightByWord (void)
+-{
+-    guint cursor;
+-
+-    if (G_UNLIKELY (m_cursor > m_pinyin_len)) {
+-        cursor = m_text.length ();
+-    } else {
+-        guint pinyin_cursor = getPinyinCursor ();
+-        PinyinKeyPos *pos = &g_array_index
+-            (m_instance->m_pinyin_poses, PinyinKeyPos, pinyin_cursor);
+-        cursor = pos->get_end_pos ();
+-    }
+-
+-    return cursor;
+-}
+-
+-gboolean
+-LibPinyinPinyinEditor::removeWordBefore (void)
+-{
+-    if (G_UNLIKELY (m_cursor == 0))
+-        return FALSE;
+-
+-    guint cursor = getCursorLeftByWord ();
+-    m_text.erase (cursor, m_cursor - cursor);
+-    m_cursor = cursor;
+-    updatePinyin ();
+-    update ();
+-    return TRUE;
+-}
+-
+-gboolean
+-LibPinyinPinyinEditor::removeWordAfter (void)
+-{
+-    if (G_UNLIKELY (m_cursor == m_text.length ()))
+-        return FALSE;
+-
+-    guint cursor = getCursorRightByWord ();
+-    m_text.erase (m_cursor, cursor - m_cursor);
+-    updatePinyin ();
+-    update ();
+-    return TRUE;
+-}
+-
+-gboolean
+-LibPinyinPinyinEditor::moveCursorLeftByWord (void)
+-{
+-    if (G_UNLIKELY (m_cursor == 0))
+-        return FALSE;
+-
+-    guint cursor = getCursorLeftByWord ();
+-
+-    m_cursor = cursor;
+-    update ();
+-    return TRUE;
+-}
+-
+-gboolean
+-LibPinyinPinyinEditor::moveCursorRightByWord (void)
+-{
+-    if (G_UNLIKELY (m_cursor == m_text.length ()))
+-        return FALSE;
+-
+-    guint cursor = getCursorRightByWord ();
+-
+-    m_cursor = cursor;
+-    update ();
+-    return TRUE;
+-}
+-- 
+1.7.7
+
+
+From 6c4f3c3e563dc4fee3d67586a05d844b521ba95d Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 14:22:19 +0800
+Subject: [PATCH 79/84] show guessed sentence in lookup table
+
+---
+ src/PYPPhoneticEditor.cc |   35 ++++++++++++++++++++++++++++++-----
+ 1 files changed, 30 insertions(+), 5 deletions(-)
+
+diff --git a/src/PYPPhoneticEditor.cc b/src/PYPPhoneticEditor.cc
+index ac94ba7..a249b54 100644
+--- a/src/PYPPhoneticEditor.cc
++++ b/src/PYPPhoneticEditor.cc
+@@ -184,16 +184,36 @@ LibPinyinPhoneticEditor::fillLookupTableByPage (void)
+     guint filled_nr = m_lookup_table.size ();
+     guint page_size = m_lookup_table.pageSize ();
+ 
+-    /* fill lookup table by libpinyin get candidates. */
++    /* fill lookup table by libpinyin guessed sentence and get candidates. */
+     guint need_nr = MIN (page_size, m_candidates->len - filled_nr);
+     g_assert (need_nr >=0);
+     if (need_nr == 0)
+         return FALSE;
+ 
+     for (guint i = filled_nr; i < filled_nr + need_nr; i++) {
++        phrase_token_t *token = &g_array_index
++            (m_candidates, phrase_token_t, i);
++
++        if (null_token == *token) {
++            /* show guessed sentence. */
++            String buffer;
++            char *tmp = NULL;
++            pinyin_get_sentence(m_instance, &tmp);
++            if (tmp) {
++                if (m_props.modeSimp ()) {
++                    buffer<<tmp;
++                } else {
++                    SimpTradConverter::simpToTrad (tmp, buffer);
++                }
++            }
++            Text text(buffer);
++            m_lookup_table.appendCandidate(text);
++            g_free (tmp);
++            continue;
++        }
++
++        /* show get candidates. */
+         if (G_LIKELY (m_props.modeSimp ())) { /* Simplified Chinese */
+-            phrase_token_t *token = &g_array_index
+-                (m_candidates, phrase_token_t, i);
+             char *word = NULL;
+             pinyin_translate_token(m_instance, *token, &word);
+             Text text (word);
+@@ -201,8 +221,6 @@ LibPinyinPhoneticEditor::fillLookupTableByPage (void)
+             g_free(word);
+         } else { /* Traditional Chinese */
+             m_buffer.truncate (0);
+-            phrase_token_t *token = &g_array_index
+-                (m_candidates, phrase_token_t, i);
+             char *word = NULL;
+             pinyin_translate_token(m_instance, *token, &word);
+             SimpTradConverter::simpToTrad (word, m_buffer);
+@@ -280,8 +298,15 @@ LibPinyinPhoneticEditor::reset (void)
+ void
+ LibPinyinPhoneticEditor::update (void)
+ {
++    PinyinKeyVector & pinyins = m_instance->m_pinyin_keys;
+     guint pinyin_cursor = getPinyinCursor ();
++    /* show candidates when pinyin cursor is at end. */
++    if (pinyin_cursor == pinyins->len && m_pinyin_len == m_text.length())
++        pinyin_cursor = 0;
+     pinyin_get_candidates (m_instance, pinyin_cursor, m_candidates);
++    /* show guessed sentence only when m_candidates are available. */
++    if (m_candidates->len)
++        g_array_insert_val(m_candidates, 0, null_token);
+     updateLookupTable ();
+     updatePreeditText ();
+     updateAuxiliaryText ();
+-- 
+1.7.7
+
+
+From 8e514f3a25e4a1263a4ae5f1a67d15a5be1afeb0 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 14:40:06 +0800
+Subject: [PATCH 80/84] fixes select candidate
+
+---
+ src/PYPPhoneticEditor.cc |   16 +++++++++++++++-
+ 1 files changed, 15 insertions(+), 1 deletions(-)
+
+diff --git a/src/PYPPhoneticEditor.cc b/src/PYPPhoneticEditor.cc
+index a249b54..c5c8041 100644
+--- a/src/PYPPhoneticEditor.cc
++++ b/src/PYPPhoneticEditor.cc
+@@ -343,16 +343,30 @@ LibPinyinPhoneticEditor::selectCandidate (guint i)
+     if (G_UNLIKELY (i >= m_candidates->len))
+         return FALSE;
+ 
++    PinyinKeyVector & pinyins = m_instance->m_pinyin_keys;
+     guint pinyin_cursor = getPinyinCursor ();
++    /* show candidates when pinyin cursor is at end. */
++    if (pinyin_cursor == pinyins->len && m_pinyin_len == m_text.length())
++        pinyin_cursor = 0;
+ 
+     /* NOTE: deal with normal candidates selection here by libpinyin. */
+     phrase_token_t *token = &g_array_index (m_candidates, phrase_token_t, i);
++    if (null_token == *token) {
++        commit ();
++        return TRUE;
++    }
++
+     guint8 len = pinyin_choose_candidate (m_instance, pinyin_cursor, *token);
+     pinyin_guess_sentence (m_instance);
+ 
++    PinyinKeyPosVector & pinyin_poses = m_instance->m_pinyin_poses;
+     pinyin_cursor += len;
++    if (pinyin_cursor == pinyin_poses->len) {
++        commit();
++        return TRUE;
++    }
+     PinyinKeyPos *pos = &g_array_index
+-        (m_instance->m_pinyin_poses, PinyinKeyPos, pinyin_cursor);
++        (pinyin_poses, PinyinKeyPos, pinyin_cursor);
+     m_cursor = pos->get_pos();
+ 
+     return TRUE;
+-- 
+1.7.7
+
+
+From 266ac40226616566faba3d8e3d048876e0587c40 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 14:50:54 +0800
+Subject: [PATCH 81/84] add get lookup cursor function
+
+---
+ src/PYPPhoneticEditor.cc |   35 ++++++++++++++++++++---------------
+ src/PYPPhoneticEditor.h  |    3 ++-
+ 2 files changed, 22 insertions(+), 16 deletions(-)
+
+diff --git a/src/PYPPhoneticEditor.cc b/src/PYPPhoneticEditor.cc
+index c5c8041..b9dbc85 100644
+--- a/src/PYPPhoneticEditor.cc
++++ b/src/PYPPhoneticEditor.cc
+@@ -298,15 +298,13 @@ LibPinyinPhoneticEditor::reset (void)
+ void
+ LibPinyinPhoneticEditor::update (void)
+ {
+-    PinyinKeyVector & pinyins = m_instance->m_pinyin_keys;
+-    guint pinyin_cursor = getPinyinCursor ();
+-    /* show candidates when pinyin cursor is at end. */
+-    if (pinyin_cursor == pinyins->len && m_pinyin_len == m_text.length())
+-        pinyin_cursor = 0;
+-    pinyin_get_candidates (m_instance, pinyin_cursor, m_candidates);
++    guint lookup_cursor = getLookupCursor ();
++    pinyin_get_candidates (m_instance, lookup_cursor, m_candidates);
++
+     /* show guessed sentence only when m_candidates are available. */
+     if (m_candidates->len)
+         g_array_insert_val(m_candidates, 0, null_token);
++
+     updateLookupTable ();
+     updatePreeditText ();
+     updateAuxiliaryText ();
+@@ -336,6 +334,17 @@ LibPinyinPhoneticEditor::getPinyinCursor ()
+     return pinyin_cursor;
+ }
+ 
++guint
++LibPinyinPhoneticEditor::getLookupCursor (void)
++{
++    PinyinKeyVector & pinyins = m_instance->m_pinyin_keys;
++    guint lookup_cursor = getPinyinCursor ();
++    /* show candidates when pinyin cursor is at end. */
++    if (lookup_cursor == pinyins->len && m_pinyin_len == m_text.length())
++        lookup_cursor = 0;
++    return lookup_cursor;
++}
++
+ gboolean
+ LibPinyinPhoneticEditor::selectCandidate (guint i)
+ {
+@@ -343,11 +352,7 @@ LibPinyinPhoneticEditor::selectCandidate (guint i)
+     if (G_UNLIKELY (i >= m_candidates->len))
+         return FALSE;
+ 
+-    PinyinKeyVector & pinyins = m_instance->m_pinyin_keys;
+-    guint pinyin_cursor = getPinyinCursor ();
+-    /* show candidates when pinyin cursor is at end. */
+-    if (pinyin_cursor == pinyins->len && m_pinyin_len == m_text.length())
+-        pinyin_cursor = 0;
++    guint lookup_cursor = getLookupCursor ();
+ 
+     /* NOTE: deal with normal candidates selection here by libpinyin. */
+     phrase_token_t *token = &g_array_index (m_candidates, phrase_token_t, i);
+@@ -356,17 +361,17 @@ LibPinyinPhoneticEditor::selectCandidate (guint i)
+         return TRUE;
+     }
+ 
+-    guint8 len = pinyin_choose_candidate (m_instance, pinyin_cursor, *token);
++    guint8 len = pinyin_choose_candidate (m_instance, lookup_cursor, *token);
+     pinyin_guess_sentence (m_instance);
+ 
+     PinyinKeyPosVector & pinyin_poses = m_instance->m_pinyin_poses;
+-    pinyin_cursor += len;
+-    if (pinyin_cursor == pinyin_poses->len) {
++    lookup_cursor += len;
++    if (lookup_cursor == pinyin_poses->len) {
+         commit();
+         return TRUE;
+     }
+     PinyinKeyPos *pos = &g_array_index
+-        (pinyin_poses, PinyinKeyPos, pinyin_cursor);
++        (pinyin_poses, PinyinKeyPos, lookup_cursor);
+     m_cursor = pos->get_pos();
+ 
+     return TRUE;
+diff --git a/src/PYPPhoneticEditor.h b/src/PYPPhoneticEditor.h
+index b2235f3..1360e58 100644
+--- a/src/PYPPhoneticEditor.h
++++ b/src/PYPPhoneticEditor.h
+@@ -54,7 +54,8 @@ protected:
+     gboolean selectCandidateInPage (guint i);
+ 
+     void commit (const gchar *str);
+-    guint getPinyinCursor ();
++    guint getPinyinCursor (void);
++    guint getLookupCursor (void);
+ 
+     /* inline functions */
+ 
+-- 
+1.7.7
+
+
+From 3f49177498706dd75b6af0ed0c784b89de9fb785 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 7 Nov 2011 15:09:46 +0800
+Subject: [PATCH 82/84] show the rest of guessed sentence
+
+---
+ src/PYPPhoneticEditor.cc |    8 +++++---
+ 1 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/src/PYPPhoneticEditor.cc b/src/PYPPhoneticEditor.cc
+index b9dbc85..4f2c1e1 100644
+--- a/src/PYPPhoneticEditor.cc
++++ b/src/PYPPhoneticEditor.cc
+@@ -195,7 +195,7 @@ LibPinyinPhoneticEditor::fillLookupTableByPage (void)
+             (m_candidates, phrase_token_t, i);
+ 
+         if (null_token == *token) {
+-            /* show guessed sentence. */
++            /* show the rest of guessed sentence after the cursor. */
+             String buffer;
+             char *tmp = NULL;
+             pinyin_get_sentence(m_instance, &tmp);
+@@ -206,8 +206,10 @@ LibPinyinPhoneticEditor::fillLookupTableByPage (void)
+                     SimpTradConverter::simpToTrad (tmp, buffer);
+                 }
+             }
+-            Text text(buffer);
+-            m_lookup_table.appendCandidate(text);
++
++            guint lookup_cursor = getLookupCursor ();
++            gchar * rest = g_utf8_offset_to_pointer (buffer.c_str (), lookup_cursor);
++            m_lookup_table.appendCandidate (Text (rest));
+             g_free (tmp);
+             continue;
+         }
+-- 
+1.7.7
+
+
+From 1a34555e19202d5ba9e813fdc5d915b8d969fac6 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Tue, 8 Nov 2011 13:03:31 +0800
+Subject: [PATCH 83/84] clean code
+
+---
+ src/PYPPhoneticEditor.cc |   40 +++++++++++++++++-----------------------
+ 1 files changed, 17 insertions(+), 23 deletions(-)
+
+diff --git a/src/PYPPhoneticEditor.cc b/src/PYPPhoneticEditor.cc
+index 4f2c1e1..e79e492 100644
+--- a/src/PYPPhoneticEditor.cc
++++ b/src/PYPPhoneticEditor.cc
+@@ -194,42 +194,36 @@ LibPinyinPhoneticEditor::fillLookupTableByPage (void)
+         phrase_token_t *token = &g_array_index
+             (m_candidates, phrase_token_t, i);
+ 
++        String first_candidate, candidate;
+         if (null_token == *token) {
+             /* show the rest of guessed sentence after the cursor. */
+             String buffer;
+             char *tmp = NULL;
+             pinyin_get_sentence(m_instance, &tmp);
+-            if (tmp) {
+-                if (m_props.modeSimp ()) {
+-                    buffer<<tmp;
+-                } else {
+-                    SimpTradConverter::simpToTrad (tmp, buffer);
+-                }
+-            }
++            if (tmp)
++                buffer = tmp;
+ 
+             guint lookup_cursor = getLookupCursor ();
+-            gchar * rest = g_utf8_offset_to_pointer (buffer.c_str (), lookup_cursor);
+-            m_lookup_table.appendCandidate (Text (rest));
++            first_candidate = g_utf8_offset_to_pointer
++                (buffer.c_str (), lookup_cursor);
++            Text text (first_candidate);
++            m_lookup_table.appendCandidate (text);
+             g_free (tmp);
+             continue;
+         }
+ 
++        char *word = NULL;
++        pinyin_translate_token(m_instance, *token, &word);
++        candidate = word;
++
+         /* show get candidates. */
+-        if (G_LIKELY (m_props.modeSimp ())) { /* Simplified Chinese */
+-            char *word = NULL;
+-            pinyin_translate_token(m_instance, *token, &word);
+-            Text text (word);
+-            m_lookup_table.appendCandidate(text);
+-            g_free(word);
+-        } else { /* Traditional Chinese */
+-            m_buffer.truncate (0);
+-            char *word = NULL;
+-            pinyin_translate_token(m_instance, *token, &word);
+-            SimpTradConverter::simpToTrad (word, m_buffer);
+-            Text text (m_buffer);
+-            m_lookup_table.appendCandidate (text);
+-            g_free(word);
++        if (G_UNLIKELY (!m_props.modeSimp ())) { /* Traditional Chinese */
++            candidate.truncate (0);
++            SimpTradConverter::simpToTrad (word, candidate);
+         }
++        Text text (candidate);
++        m_lookup_table.appendCandidate (text);
++        g_free(word);
+     }
+ 
+     return TRUE;
+-- 
+1.7.7
+
+
+From 6754d3911acd4cdfdd0f234d26f2489b50d50d4b Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Tue, 8 Nov 2011 13:14:34 +0800
+Subject: [PATCH 84/84] remove duplicated candidates
+
+---
+ src/PYPPhoneticEditor.cc |    9 ++++++++-
+ 1 files changed, 8 insertions(+), 1 deletions(-)
+
+diff --git a/src/PYPPhoneticEditor.cc b/src/PYPPhoneticEditor.cc
+index e79e492..b5903ae 100644
+--- a/src/PYPPhoneticEditor.cc
++++ b/src/PYPPhoneticEditor.cc
+@@ -190,11 +190,11 @@ LibPinyinPhoneticEditor::fillLookupTableByPage (void)
+     if (need_nr == 0)
+         return FALSE;
+ 
++    String first_candidate, candidate;
+     for (guint i = filled_nr; i < filled_nr + need_nr; i++) {
+         phrase_token_t *token = &g_array_index
+             (m_candidates, phrase_token_t, i);
+ 
+-        String first_candidate, candidate;
+         if (null_token == *token) {
+             /* show the rest of guessed sentence after the cursor. */
+             String buffer;
+@@ -216,6 +216,13 @@ LibPinyinPhoneticEditor::fillLookupTableByPage (void)
+         pinyin_translate_token(m_instance, *token, &word);
+         candidate = word;
+ 
++        /* remove duplicated candidates */
++        if (candidate == first_candidate) {
++            g_array_remove_index (m_candidates, i);
++            --i;
++            continue;
++        }
++
+         /* show get candidates. */
+         if (G_UNLIKELY (!m_props.modeSimp ())) { /* Traditional Chinese */
+             candidate.truncate (0);
+-- 
+1.7.7
+
diff --git a/ibus-pinyin.spec b/ibus-pinyin.spec
index f78a292..ee6d775 100644
--- a/ibus-pinyin.spec
+++ b/ibus-pinyin.spec
@@ -1,6 +1,6 @@
 Name:       ibus-pinyin
 Version:    1.3.99.20110706
-Release:    5%{?dist}
+Release:    6%{?dist}
 Summary:    The Chinese Pinyin and Bopomofo engines for IBus input platform
 License:    GPLv2+
 Group:      System Environment/Libraries
@@ -111,6 +111,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/ibus-pinyin/db/android.db
 
 %changelog
+* Tue Nov 08 2011  Peng Wu <pwu at redhat.com> - 1.3.99.20110706-6
+- Improves pinyin default input style. (rhbz#751923)
+
 * Thu Nov 03 2011  Peng Wu <pwu at redhat.com> - 1.3.99.20110706-5
 - Fixes crashes, update ibus-pinyin-libpinyin-integration.patch
 


More information about the scm-commits mailing list