[libkkc] Update to 0.2.0-2

Daiki Ueno ueno at fedoraproject.org
Wed May 1 03:02:22 UTC 2013


commit 7667e811894e20ac8a9f0d68a676fa6298781dba
Author: Daiki Ueno <ueno at unixuser.org>
Date:   Wed May 1 12:02:12 2013 +0900

    Update to 0.2.0-2

 libkkc-HEAD.patch |  107 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 libkkc.spec       |    7 +++-
 2 files changed, 113 insertions(+), 1 deletions(-)
---
diff --git a/libkkc-HEAD.patch b/libkkc-HEAD.patch
new file mode 100644
index 0000000..6b2a19a
--- /dev/null
+++ b/libkkc-HEAD.patch
@@ -0,0 +1,107 @@
+diff --git a/libkkc/segment-list.vala b/libkkc/segment-list.vala
+index 6960150..fd97306 100644
+--- a/libkkc/segment-list.vala
++++ b/libkkc/segment-list.vala
+@@ -20,6 +20,7 @@ using Gee;
+ namespace Kkc {
+     public class SegmentList : Object {
+         Gee.List<Segment> segments = new ArrayList<Segment> ();
++        Gee.List<int> offsets = new ArrayList<int> ();
+ 
+         int _cursor_pos = -1;
+         public int cursor_pos {
+@@ -39,6 +40,7 @@ namespace Kkc {
+ 
+         public void clear () {
+             segments.clear ();
++            offsets.clear ();
+             cursor_pos = -1;
+         }
+ 
+@@ -46,10 +48,18 @@ namespace Kkc {
+             return segments.get (index);
+         }
+ 
++        public int get_offset (int index) {
++            return offsets[index];
++        }
++
+         public void set_segments (Segment segment) {
++            int offset = 0;
+             segments.clear ();
++            offsets.clear ();
+             while (segment != null) {
+                 segments.add (segment);
++                offsets.add (offset);
++                offset += segment.input.char_count ();
+                 segment = segment.next;
+             }
+         }
+diff --git a/libkkc/state.vala b/libkkc/state.vala
+index f19d67c..1495b1e 100644
+--- a/libkkc/state.vala
++++ b/libkkc/state.vala
+@@ -47,10 +47,7 @@ namespace Kkc {
+         void get_input_chars_positions_for_segment (out int start,
+                                                     out int end)
+         {
+-            int start_char_pos = 0;
+-            for (var i = 0; i < segments.cursor_pos; i++) {
+-                start_char_pos += segments[i].input.char_count ();
+-            }
++            int start_char_pos = segments.get_offset (segments.cursor_pos);
+             int char_pos = 0;
+             for (start = 0; start < input_chars.size; start++) {
+                 if (char_pos >= start_char_pos)
+@@ -59,7 +56,7 @@ namespace Kkc {
+             }
+             int end_char_pos = char_pos + segments[segments.cursor_pos].input.char_count ();
+             for (end = start; end < input_chars.size; end++) {
+-                char_pos += input_chars[start].output.char_count ();
++                char_pos += input_chars[end].output.char_count ();
+                 if (char_pos >= end_char_pos)
+                     break;
+             }
+diff --git a/tests/context.vala b/tests/context.vala
+index e570efa..f13981b 100644
+--- a/tests/context.vala
++++ b/tests/context.vala
+@@ -22,6 +22,7 @@ class ContextTests : Kkc.TestCase {
+         }
+ 
+         add_test ("initial", this.test_initial);
++        add_test ("conversion-simple", this.test_conversion_simple);
+         add_test ("conversion", this.test_conversion);
+     }
+ 
+@@ -63,6 +64,30 @@ class ContextTests : Kkc.TestCase {
+         string output;
+     }
+ 
++    static const ConversionData[] conversion_simple_data = {
++        { "k y u u k a SPC C-Right F10",
++          "きゅうか",
++          "kyuuka",
++          1,
++          0,
++          ""
++        }
++    };
++
++    public void test_conversion_simple () {
++        foreach (var conversion in conversion_simple_data) {
++            context.process_key_events (conversion.keys);
++            var output = context.poll_output ();
++            assert (output == conversion.output);
++            assert (context.input == conversion.input);
++            assert (context.segments.get_output () == conversion.segments);
++            assert (context.segments.size == conversion.segments_size);
++            assert (context.segments.cursor_pos == conversion.segments_cursor_pos);
++            context.reset ();
++            context.clear_output ();
++        }
++    }
++
+     static const string CONVERSION_PREFIX_KEYS =
+       "w a t a s h i n o n a m a e h a n a k a n o d e s u ";
+ 
diff --git a/libkkc.spec b/libkkc.spec
index 93ce122..bba18e8 100644
--- a/libkkc.spec
+++ b/libkkc.spec
@@ -2,7 +2,7 @@
 
 Name:		libkkc
 Version:	0.2.0
-Release:	1%{?dist}
+Release:	2%{?dist}
 Summary:	Japanese Kana Kanji conversion library
 
 License:	GPLv3+
@@ -10,6 +10,7 @@ Group:		System Environment/Libraries
 URL:		https://bitbucket.org/libkkc
 Source0:	https://bitbucket.org/libkkc/libkkc/downloads/%{name}-%{version}.tar.gz
 Source1:	https://bitbucket.org/libkkc/libkkc-data/downloads/%{name}-data-%{dataversion}.tar.xz
+Patch0:		libkkc-HEAD.patch
 
 BuildRequires:	marisa-devel
 BuildRequires:	vala
@@ -70,6 +71,7 @@ uses at run time.
 
 %prep
 %setup -q
+%patch0 -p1 -b .HEAD
 
 
 %build
@@ -121,6 +123,9 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
 
 
 %changelog
+* Wed May  1 2013 Daiki Ueno <dueno at redhat.com> - 0.2.0-2
+- synch with the latest upstream git master
+
 * Tue Apr 30 2013 Daiki Ueno <dueno at redhat.com> - 0.2.0-1
 - new upstream release
 


More information about the scm-commits mailing list