Hello community,
here is the log from the commit of package sunpinyin for openSUSE:Factory checked in at 2012-06-05 15:35:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sunpinyin (Old)
and /work/SRC/openSUSE:Factory/.sunpinyin.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sunpinyin", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/sunpinyin/sunpinyin.changes 2012-03-20 02:05:28.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.sunpinyin.new/sunpinyin.changes 2012-06-05 15:35:40.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Jun 4 09:55:38 UTC 2012 - i@marguerite.su
+
+- update version to 2.0.4git, to be compatible with latest fcitx.
+- drop gcc47 patch. upstream fixed.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sunpinyin.spec ++++++
--- /var/tmp/diff_new_pack.nPmRVL/_old 2012-06-05 15:35:42.000000000 +0200
+++ /var/tmp/diff_new_pack.nPmRVL/_new 2012-06-05 15:35:42.000000000 +0200
@@ -27,8 +27,6 @@
Source: %{name}-%{version}.tar.bz2
Source1: lm_sc.t3g.arpa.tar.bz2
Source2: dict.utf8.tar.bz2
-# PATCH-FIX-UPSTREAM sunpinyin-gcc47.patch zaitor@opensuse.org -- Fix build with gcc 4.7
-Patch0: sunpinyin-gcc47.patch
BuildRequires: fdupes
BuildRequires: update-desktop-files
BuildRequires: scons
@@ -62,7 +60,6 @@
%prep
%setup -q
-%patch0
%build
%{__cp} -r %{S:1} ./raw/
++++++ sunpinyin-2.0.4.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/HEAD new/sunpinyin-2.0.4/.git/HEAD
--- old/sunpinyin-2.0.4/.git/HEAD 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/HEAD 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-ref: refs/heads/master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/config new/sunpinyin-2.0.4/.git/config
--- old/sunpinyin-2.0.4/.git/config 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/config 1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-[core]
- repositoryformatversion = 0
- filemode = true
- bare = false
- logallrefupdates = true
-[remote "origin"]
- fetch = +refs/heads/*:refs/remotes/origin/*
- url = http://github.com/sunpinyin/sunpinyin.git
-[branch "master"]
- remote = origin
- merge = refs/heads/master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/description new/sunpinyin-2.0.4/.git/description
--- old/sunpinyin-2.0.4/.git/description 2012-02-05 17:26:20.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/description 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-Unnamed repository; edit this file 'description' to name the repository.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/hooks/applypatch-msg.sample new/sunpinyin-2.0.4/.git/hooks/applypatch-msg.sample
--- old/sunpinyin-2.0.4/.git/hooks/applypatch-msg.sample 2012-02-05 17:26:20.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/hooks/applypatch-msg.sample 1970-01-01 01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to check the commit log message taken by
-# applypatch from an e-mail message.
-#
-# The hook should exit with non-zero status after issuing an
-# appropriate message if it wants to stop the commit. The hook is
-# allowed to edit the commit message file.
-#
-# To enable this hook, rename this file to "applypatch-msg".
-
-. git-sh-setup
-test -x "$GIT_DIR/hooks/commit-msg" &&
- exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"}
-:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/hooks/commit-msg.sample new/sunpinyin-2.0.4/.git/hooks/commit-msg.sample
--- old/sunpinyin-2.0.4/.git/hooks/commit-msg.sample 2012-02-05 17:26:20.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/hooks/commit-msg.sample 1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to check the commit log message.
-# Called by "git commit" with one argument, the name of the file
-# that has the commit message. The hook should exit with non-zero
-# status after issuing an appropriate message if it wants to stop the
-# commit. The hook is allowed to edit the commit message file.
-#
-# To enable this hook, rename this file to "commit-msg".
-
-# Uncomment the below to add a Signed-off-by line to the message.
-# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
-# hook is more suited to it.
-#
-# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
-# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
-
-# This example catches duplicate Signed-off-by lines.
-
-test "" = "$(grep '^Signed-off-by: ' "$1" |
- sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
- echo >&2 Duplicate Signed-off-by lines.
- exit 1
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/hooks/post-update.sample new/sunpinyin-2.0.4/.git/hooks/post-update.sample
--- old/sunpinyin-2.0.4/.git/hooks/post-update.sample 2012-02-05 17:26:20.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/hooks/post-update.sample 1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to prepare a packed repository for use over
-# dumb transports.
-#
-# To enable this hook, rename this file to "post-update".
-
-exec git update-server-info
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/hooks/pre-applypatch.sample new/sunpinyin-2.0.4/.git/hooks/pre-applypatch.sample
--- old/sunpinyin-2.0.4/.git/hooks/pre-applypatch.sample 2012-02-05 17:26:20.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/hooks/pre-applypatch.sample 1970-01-01 01:00:00.000000000 +0100
@@ -1,14 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to verify what is about to be committed
-# by applypatch from an e-mail message.
-#
-# The hook should exit with non-zero status after issuing an
-# appropriate message if it wants to stop the commit.
-#
-# To enable this hook, rename this file to "pre-applypatch".
-
-. git-sh-setup
-test -x "$GIT_DIR/hooks/pre-commit" &&
- exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"}
-:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/hooks/pre-commit.sample new/sunpinyin-2.0.4/.git/hooks/pre-commit.sample
--- old/sunpinyin-2.0.4/.git/hooks/pre-commit.sample 2012-02-05 17:26:20.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/hooks/pre-commit.sample 1970-01-01 01:00:00.000000000 +0100
@@ -1,46 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to verify what is about to be committed.
-# Called by "git commit" with no arguments. The hook should
-# exit with non-zero status after issuing an appropriate message if
-# it wants to stop the commit.
-#
-# To enable this hook, rename this file to "pre-commit".
-
-if git rev-parse --verify HEAD >/dev/null 2>&1
-then
- against=HEAD
-else
- # Initial commit: diff against an empty tree object
- against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
-fi
-
-# If you want to allow non-ascii filenames set this variable to true.
-allownonascii=$(git config hooks.allownonascii)
-
-# Cross platform projects tend to avoid non-ascii filenames; prevent
-# them from being added to the repository. We exploit the fact that the
-# printable range starts at the space character and ends with tilde.
-if [ "$allownonascii" != "true" ] &&
- # Note that the use of brackets around a tr range is ok here, (it's
- # even required, for portability to Solaris 10's /usr/bin/tr), since
- # the square bracket bytes happen to fall in the designated range.
- test "$(git diff --cached --name-only --diff-filter=A -z $against |
- LC_ALL=C tr -d '[ -~]\0')"
-then
- echo "Error: Attempt to add a non-ascii file name."
- echo
- echo "This can cause problems if you want to work"
- echo "with people on other platforms."
- echo
- echo "To be portable it is advisable to rename the file ..."
- echo
- echo "If you know what you are doing you can disable this"
- echo "check using:"
- echo
- echo " git config hooks.allownonascii true"
- echo
- exit 1
-fi
-
-exec git diff-index --check --cached $against --
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/hooks/pre-rebase.sample new/sunpinyin-2.0.4/.git/hooks/pre-rebase.sample
--- old/sunpinyin-2.0.4/.git/hooks/pre-rebase.sample 2012-02-05 17:26:20.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/hooks/pre-rebase.sample 1970-01-01 01:00:00.000000000 +0100
@@ -1,169 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2006, 2008 Junio C Hamano
-#
-# The "pre-rebase" hook is run just before "git rebase" starts doing
-# its job, and can prevent the command from running by exiting with
-# non-zero status.
-#
-# The hook is called with the following parameters:
-#
-# $1 -- the upstream the series was forked from.
-# $2 -- the branch being rebased (or empty when rebasing the current branch).
-#
-# This sample shows how to prevent topic branches that are already
-# merged to 'next' branch from getting rebased, because allowing it
-# would result in rebasing already published history.
-
-publish=next
-basebranch="$1"
-if test "$#" = 2
-then
- topic="refs/heads/$2"
-else
- topic=`git symbolic-ref HEAD` ||
- exit 0 ;# we do not interrupt rebasing detached HEAD
-fi
-
-case "$topic" in
-refs/heads/??/*)
- ;;
-*)
- exit 0 ;# we do not interrupt others.
- ;;
-esac
-
-# Now we are dealing with a topic branch being rebased
-# on top of master. Is it OK to rebase it?
-
-# Does the topic really exist?
-git show-ref -q "$topic" || {
- echo >&2 "No such branch $topic"
- exit 1
-}
-
-# Is topic fully merged to master?
-not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
-if test -z "$not_in_master"
-then
- echo >&2 "$topic is fully merged to master; better remove it."
- exit 1 ;# we could allow it, but there is no point.
-fi
-
-# Is topic ever merged to next? If so you should not be rebasing it.
-only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
-only_next_2=`git rev-list ^master ${publish} | sort`
-if test "$only_next_1" = "$only_next_2"
-then
- not_in_topic=`git rev-list "^$topic" master`
- if test -z "$not_in_topic"
- then
- echo >&2 "$topic is already up-to-date with master"
- exit 1 ;# we could allow it, but there is no point.
- else
- exit 0
- fi
-else
- not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
- /usr/bin/perl -e '
- my $topic = $ARGV[0];
- my $msg = "* $topic has commits already merged to public branch:\n";
- my (%not_in_next) = map {
- /^([0-9a-f]+) /;
- ($1 => 1);
- } split(/\n/, $ARGV[1]);
- for my $elem (map {
- /^([0-9a-f]+) (.*)$/;
- [$1 => $2];
- } split(/\n/, $ARGV[2])) {
- if (!exists $not_in_next{$elem->[0]}) {
- if ($msg) {
- print STDERR $msg;
- undef $msg;
- }
- print STDERR " $elem->[1]\n";
- }
- }
- ' "$topic" "$not_in_next" "$not_in_master"
- exit 1
-fi
-
-exit 0
-
-################################################################
-
-This sample hook safeguards topic branches that have been
-published from being rewound.
-
-The workflow assumed here is:
-
- * Once a topic branch forks from "master", "master" is never
- merged into it again (either directly or indirectly).
-
- * Once a topic branch is fully cooked and merged into "master",
- it is deleted. If you need to build on top of it to correct
- earlier mistakes, a new topic branch is created by forking at
- the tip of the "master". This is not strictly necessary, but
- it makes it easier to keep your history simple.
-
- * Whenever you need to test or publish your changes to topic
- branches, merge them into "next" branch.
-
-The script, being an example, hardcodes the publish branch name
-to be "next", but it is trivial to make it configurable via
-$GIT_DIR/config mechanism.
-
-With this workflow, you would want to know:
-
-(1) ... if a topic branch has ever been merged to "next". Young
- topic branches can have stupid mistakes you would rather
- clean up before publishing, and things that have not been
- merged into other branches can be easily rebased without
- affecting other people. But once it is published, you would
- not want to rewind it.
-
-(2) ... if a topic branch has been fully merged to "master".
- Then you can delete it. More importantly, you should not
- build on top of it -- other people may already want to
- change things related to the topic as patches against your
- "master", so if you need further changes, it is better to
- fork the topic (perhaps with the same name) afresh from the
- tip of "master".
-
-Let's look at this example:
-
- o---o---o---o---o---o---o---o---o---o "next"
- / / / /
- / a---a---b A / /
- / / / /
- / / c---c---c---c B /
- / / / \ /
- / / / b---b C \ /
- / / / / \ /
- ---o---o---o---o---o---o---o---o---o---o---o "master"
-
-
-A, B and C are topic branches.
-
- * A has one fix since it was merged up to "next".
-
- * B has finished. It has been fully merged up to "master" and "next",
- and is ready to be deleted.
-
- * C has not merged to "next" at all.
-
-We would want to allow C to be rebased, refuse A, and encourage
-B to be deleted.
-
-To compute (1):
-
- git rev-list ^master ^topic next
- git rev-list ^master next
-
- if these match, topic has not merged in next at all.
-
-To compute (2):
-
- git rev-list master..topic
-
- if this is empty, it is fully merged to "master".
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/hooks/prepare-commit-msg.sample new/sunpinyin-2.0.4/.git/hooks/prepare-commit-msg.sample
--- old/sunpinyin-2.0.4/.git/hooks/prepare-commit-msg.sample 2012-02-05 17:26:20.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/hooks/prepare-commit-msg.sample 1970-01-01 01:00:00.000000000 +0100
@@ -1,36 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to prepare the commit log message.
-# Called by "git commit" with the name of the file that has the
-# commit message, followed by the description of the commit
-# message's source. The hook's purpose is to edit the commit
-# message file. If the hook fails with a non-zero status,
-# the commit is aborted.
-#
-# To enable this hook, rename this file to "prepare-commit-msg".
-
-# This hook includes three examples. The first comments out the
-# "Conflicts:" part of a merge commit.
-#
-# The second includes the output of "git diff --name-status -r"
-# into the message, just before the "git status" output. It is
-# commented because it doesn't cope with --amend or with squashed
-# commits.
-#
-# The third example adds a Signed-off-by line to the message, that can
-# still be edited. This is rarely a good idea.
-
-case "$2,$3" in
- merge,)
- /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;
-
-# ,|template,)
-# /usr/bin/perl -i.bak -pe '
-# print "\n" . `git diff --cached --name-status -r`
-# if /^#/ && $first++ == 0' "$1" ;;
-
- *) ;;
-esac
-
-# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
-# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/hooks/update.sample new/sunpinyin-2.0.4/.git/hooks/update.sample
--- old/sunpinyin-2.0.4/.git/hooks/update.sample 2012-02-05 17:26:20.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/hooks/update.sample 1970-01-01 01:00:00.000000000 +0100
@@ -1,128 +0,0 @@
-#!/bin/sh
-#
-# An example hook script to blocks unannotated tags from entering.
-# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
-#
-# To enable this hook, rename this file to "update".
-#
-# Config
-# ------
-# hooks.allowunannotated
-# This boolean sets whether unannotated tags will be allowed into the
-# repository. By default they won't be.
-# hooks.allowdeletetag
-# This boolean sets whether deleting tags will be allowed in the
-# repository. By default they won't be.
-# hooks.allowmodifytag
-# This boolean sets whether a tag may be modified after creation. By default
-# it won't be.
-# hooks.allowdeletebranch
-# This boolean sets whether deleting branches will be allowed in the
-# repository. By default they won't be.
-# hooks.denycreatebranch
-# This boolean sets whether remotely creating branches will be denied
-# in the repository. By default this is allowed.
-#
-
-# --- Command line
-refname="$1"
-oldrev="$2"
-newrev="$3"
-
-# --- Safety check
-if [ -z "$GIT_DIR" ]; then
- echo "Don't run this script from the command line." >&2
- echo " (if you want, you could supply GIT_DIR then run" >&2
- echo " $0 <ref> <oldrev> <newrev>)" >&2
- exit 1
-fi
-
-if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
- echo "Usage: $0 <ref> <oldrev> <newrev>" >&2
- exit 1
-fi
-
-# --- Config
-allowunannotated=$(git config --bool hooks.allowunannotated)
-allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
-denycreatebranch=$(git config --bool hooks.denycreatebranch)
-allowdeletetag=$(git config --bool hooks.allowdeletetag)
-allowmodifytag=$(git config --bool hooks.allowmodifytag)
-
-# check for no description
-projectdesc=$(sed -e '1q' "$GIT_DIR/description")
-case "$projectdesc" in
-"Unnamed repository"* | "")
- echo "*** Project description file hasn't been set" >&2
- exit 1
- ;;
-esac
-
-# --- Check types
-# if $newrev is 0000...0000, it's a commit to delete a ref.
-zero="0000000000000000000000000000000000000000"
-if [ "$newrev" = "$zero" ]; then
- newrev_type=delete
-else
- newrev_type=$(git cat-file -t $newrev)
-fi
-
-case "$refname","$newrev_type" in
- refs/tags/*,commit)
- # un-annotated tag
- short_refname=${refname##refs/tags/}
- if [ "$allowunannotated" != "true" ]; then
- echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
- echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
- exit 1
- fi
- ;;
- refs/tags/*,delete)
- # delete tag
- if [ "$allowdeletetag" != "true" ]; then
- echo "*** Deleting a tag is not allowed in this repository" >&2
- exit 1
- fi
- ;;
- refs/tags/*,tag)
- # annotated tag
- if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
- then
- echo "*** Tag '$refname' already exists." >&2
- echo "*** Modifying a tag is not allowed in this repository." >&2
- exit 1
- fi
- ;;
- refs/heads/*,commit)
- # branch
- if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
- echo "*** Creating a branch is not allowed in this repository" >&2
- exit 1
- fi
- ;;
- refs/heads/*,delete)
- # delete branch
- if [ "$allowdeletebranch" != "true" ]; then
- echo "*** Deleting a branch is not allowed in this repository" >&2
- exit 1
- fi
- ;;
- refs/remotes/*,commit)
- # tracking branch
- ;;
- refs/remotes/*,delete)
- # delete tracking branch
- if [ "$allowdeletebranch" != "true" ]; then
- echo "*** Deleting a tracking branch is not allowed in this repository" >&2
- exit 1
- fi
- ;;
- *)
- # Anything else (is there anything else?)
- echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
- exit 1
- ;;
-esac
-
-# --- Finished
-exit 0
Files old/sunpinyin-2.0.4/.git/index and new/sunpinyin-2.0.4/.git/index differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/info/exclude new/sunpinyin-2.0.4/.git/info/exclude
--- old/sunpinyin-2.0.4/.git/info/exclude 2012-02-05 17:26:20.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/info/exclude 1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-# git ls-files --others --exclude-from=.git/info/exclude
-# Lines that start with '#' are comments.
-# For a project mostly in C, the following would be a good set of
-# exclude patterns (uncomment them if you want to use them):
-# *.[oa]
-# *~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/logs/HEAD new/sunpinyin-2.0.4/.git/logs/HEAD
--- old/sunpinyin-2.0.4/.git/logs/HEAD 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/logs/HEAD 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-0000000000000000000000000000000000000000 a0cb6a616bf2c97ffc28560c2b9502289c72fff5 dc 1328459281 +0800 clone: from http://github.com/sunpinyin/sunpinyin.git
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/logs/refs/heads/master new/sunpinyin-2.0.4/.git/logs/refs/heads/master
--- old/sunpinyin-2.0.4/.git/logs/refs/heads/master 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/logs/refs/heads/master 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-0000000000000000000000000000000000000000 a0cb6a616bf2c97ffc28560c2b9502289c72fff5 dc 1328459281 +0800 clone: from http://github.com/sunpinyin/sunpinyin.git
Files old/sunpinyin-2.0.4/.git/objects/pack/pack-bb6af525d782fb4e21f42aefc67d8c75430c2835.idx and new/sunpinyin-2.0.4/.git/objects/pack/pack-bb6af525d782fb4e21f42aefc67d8c75430c2835.idx differ
Files old/sunpinyin-2.0.4/.git/objects/pack/pack-bb6af525d782fb4e21f42aefc67d8c75430c2835.pack and new/sunpinyin-2.0.4/.git/objects/pack/pack-bb6af525d782fb4e21f42aefc67d8c75430c2835.pack differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/packed-refs new/sunpinyin-2.0.4/.git/packed-refs
--- old/sunpinyin-2.0.4/.git/packed-refs 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/packed-refs 1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-# pack-refs with: peeled
-4afca30116c47b1c1c894cb66ad3b69febeaff80 refs/tags/2.0.3-rel-1
-^7bdc458b87ff3fa76bd0268afca3577f13f68fc7
-3fa17f6430602ae29ab56b51c495cf43507d1cb8 refs/tags/2.0.3-rc2
-^6d3997f80aac34208989cf9e2d7925c71e1b7dfe
-212e09a26957befa22133e3f0524178014587e12 refs/tags/2.0.2-rel-1
-1eed962b2fc28a1d8be776522b30a0fb4eefd023 refs/tags/2.0.1-rel-1
-^8b8a3244b0c89f7c90f2859d48ec8431ca3753a6
-d9c64a8779c45f1363512954da53ba9fe3cb9977 refs/tags/2.0-rel-1
-a0cb6a616bf2c97ffc28560c2b9502289c72fff5 refs/remotes/origin/master
-b8ad22cd0de4859c6a0da5b84346a8707350597a refs/remotes/origin/cloudpinyin
-ab8820c418b19f0b7bcadadae452f2110b538daa refs/remotes/origin/2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/refs/heads/master new/sunpinyin-2.0.4/.git/refs/heads/master
--- old/sunpinyin-2.0.4/.git/refs/heads/master 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/refs/heads/master 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-a0cb6a616bf2c97ffc28560c2b9502289c72fff5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/refs/remotes/origin/HEAD new/sunpinyin-2.0.4/.git/refs/remotes/origin/HEAD
--- old/sunpinyin-2.0.4/.git/refs/remotes/origin/HEAD 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/refs/remotes/origin/HEAD 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-ref: refs/remotes/origin/master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.git/shallow new/sunpinyin-2.0.4/.git/shallow
--- old/sunpinyin-2.0.4/.git/shallow 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/.git/shallow 1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-3fb6b11f58d52cc118a9e0e8e47b5b92001698e1
-41cba5c8e29131eff08983f777f945d035c6e2c0
-92229cfd0445aa783e508d86d4b4de574523c0e7
-9bb1b327ed4a83b6fce9893da30f782f87fa7c61
-bf20ea4d7e0f06ec2261b3bb81f38ed90b84d71d
-d05a06ecedeb2bc7df4cb4d68dccfd6227355b0b
-eba65872873dc8ed88836369afa96c1f7eaba5f8
-f0865c921057b30f0395a99b0e4730eb94d97808
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.gitattributes new/sunpinyin-2.0.4/.gitattributes
--- old/sunpinyin-2.0.4/.gitattributes 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/.gitattributes 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-.gitignore export-ignore
-.gitattributes export-ignore
-/debian export-ignore
-/wrapper/macos export-ignore
-/wrapper/xim/debian export-ignore
-/wrapper/ibus/debian export-ignore
-/wrapper/gtk_standalone export-ignore
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/.gitignore new/sunpinyin-2.0.4/.gitignore
--- old/sunpinyin-2.0.4/.gitignore 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/.gitignore 1970-01-01 01:00:00.000000000 +0100
@@ -1,66 +0,0 @@
-depcomp
-install-sh
-ltmain.sh
-missing
-INSTALL
-stamp-h1
-libtool
-aclocal.m4
-autom4te.cache
-py-compile
-
-config.*
-configure
-
-Makefile
-Makefile.in
-Makefile.in.in
-
-.deps
-src/host_os.h
-
-data/lm_sc.t3g*
-data/pydict_sc.bin*
-
-raw/dict.utf8
-raw/lm_sc.t3g.arpa
-
-po/POTFILES
-po/stamp-it
-po/Makefile.in.in
-
-wrapper/ibus/setup/ibus-setup-sunpinyin
-
-wrapper/macos/SunPinyin.xcodeproj/*.mode1v3
-wrapper/macos/SunPinyin.xcodeproj/*.pbxuser
-wrapper/macos/SunPinyin.xcodeproj/*.perspectivev3
-wrapper/macos/build/
-wrapper/macos/zh_CN.lproj/MainMenu.xib
-wrapper/macos/zh_CN.lproj/MainMenu.nib
-wrapper/macos/packaging/SunPinyin-MacOS-2.0.zip
-wrapper/macos/packaging/SunPinyin/DownloadDataFiles/build/
-wrapper/macos/packaging/SunPinyin/build/
-wrapper/macos/packaging/sunpinyin_appcast.xml
-
-cmakebuild/
-build/*
-!build/SConscript
-!build/Makefile.new
-swap/*
-data/*
-
-debian/control
-
-*.o
-*.os
-*.lo
-*.loT
-*.so
-*.a
-*.bz2
-.libs
-cscope.out
-
-.sconf_temp/*
-.sconsign.dblite
-configure.conf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/python/pinyin_data.py new/sunpinyin-2.0.4/python/pinyin_data.py
--- old/sunpinyin-2.0.4/python/pinyin_data.py 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/python/pinyin_data.py 2012-06-04 11:52:58.000000000 +0200
@@ -450,7 +450,6 @@
"xun": 0x0e1c0,
"y": 0x16000,
"ya": 0x16010,
- "yai": 0x16040,
"yan": 0x16080,
"yang": 0x160a0,
"yao": 0x16060,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/src/ime-core/ic_history.cpp new/sunpinyin-2.0.4/src/ime-core/ic_history.cpp
--- old/sunpinyin-2.0.4/src/ime-core/ic_history.cpp 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/src/ime-core/ic_history.cpp 2012-06-04 11:52:58.000000000 +0200
@@ -42,6 +42,7 @@
#include
#include
#include
+#include
#include <cassert>
#include
#include
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/src/ime-core/imi_context.cpp new/sunpinyin-2.0.4/src/ime-core/imi_context.cpp
--- old/sunpinyin-2.0.4/src/ime-core/imi_context.cpp 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/src/ime-core/imi_context.cpp 2012-06-04 11:52:58.000000000 +0200
@@ -372,10 +372,13 @@
fr.m_lexiconStates.push_back(TLexiconState(i, ENDING_WORD_ID));
}
-double exp2_tbl[32] = {exp2(0), exp2(1), exp2(2), exp2(3), exp2(4), exp2(5), exp2(6), exp2(7),
- exp2(8), exp2(9), exp2(10), exp2(11), exp2(12), exp2(13), exp2(14), exp2(15),
- exp2(16), exp2(17), exp2(18), exp2(19), exp2(20), exp2(21), exp2(22), exp2(23),
- exp2(24), exp2(25), exp2(26), exp2(27), exp2(28), exp2(29), exp2(30), exp2(31),};
+static double exp2_tbl[32] = {
+ exp2(-0), exp2(-1), exp2(-2), exp2(-3), exp2(-4), exp2(-5), exp2(-6), exp2(-7),
+ exp2(-8), exp2(-9), exp2(-10), exp2(-11), exp2(-12), exp2(-13), exp2(-14),
+ exp2(-15), exp2(-16), exp2(-17), exp2(-18), exp2(-19), exp2(-20), exp2(-21),
+ exp2(-22), exp2(-23), exp2(-24), exp2(-25), exp2(-26), exp2(-27), exp2(-28),
+ exp2(-29), exp2(-30), exp2(-31)
+};
bool
CIMIContext::searchFrom(unsigned idx)
@@ -423,8 +426,9 @@
while (count < sz && i < sz && (words[i].m_bSeen || count < 2)) {
if (m_csLevel >= words[i].m_csLevel) {
+ // printf("cost %d\n", words[i].m_cost);
_transferBetween(lxst.m_start, idx, &lxst, words[i].m_id,
- ic * exp2_tbl[-(words[i].m_cost)]);
+ ic * exp2_tbl[words[i].m_cost]);
++count;
}
i++;
@@ -434,10 +438,12 @@
if (m_pHistory) {
while (i < (int) word_num) {
if (m_csLevel >= words[i].m_csLevel
- && m_pHistory->seenBefore(words[i].m_id))
+ && m_pHistory->seenBefore(words[i].m_id)) {
+ // printf("history cost %d\n", words[i].m_cost);
_transferBetween(lxst.m_start, idx, &lxst,
words[i].m_id,
- ic * exp2_tbl[-(words[i].m_cost)]);
+ ic * exp2_tbl[words[i].m_cost]);
+ }
i++;
}
}
@@ -527,6 +533,11 @@
}
node.m_score = it->m_score * efic * TSentenceScore(ts);
+ // std::string buf;
+ // node.m_score.toString(buf);
+ // printf("node score %s ts=%lf ", buf.c_str(), ts);
+ // it->m_score.toString(buf);
+ // printf("%s ic=%lf\n", buf.c_str(), ic);
end_fr.m_latticeStates.add(node);
}
}
@@ -822,8 +833,9 @@
candidates_it = candidates_map.find(cp.m_candi.m_cwstr);
if (candidates_it == candidates_map.end()
|| cp.m_Rank < candidates_it->second.m_Rank
- || cp.m_candi.m_wordId > INI_USRDEF_WID)
+ || cp.m_candi.m_wordId > INI_USRDEF_WID) {
candidates_map[cp.m_candi.m_cwstr] = cp;
+ }
}
}
@@ -832,6 +844,7 @@
if (m_bDynaCandiOrder) {
CLatticeStates::iterator it = fr.m_latticeStates.begin();
CLatticeStates::iterator ite = fr.m_latticeStates.end();
+ // printf("adjusting ");
for (; it != ite; ++it) {
TLatticeState & ltst = *it;
@@ -855,9 +868,17 @@
candidates_it = candidates_map.find(cp.m_candi.m_cwstr);
if (candidates_it == candidates_map.end()
|| cp.m_Rank < candidates_it->second.m_Rank
- || cp.m_candi.m_wordId > INI_USRDEF_WID)
+ || cp.m_candi.m_wordId > INI_USRDEF_WID) {
+ // print_wide(cp.m_candi.m_cwstr);
+ // std::string buf;
+ // ltst.m_score.toString(buf);
+ // printf(" %s", buf.c_str());
+ // ltst.m_pBackTraceNode->m_score.toString(buf);
+ // printf("%s ", buf.c_str());
candidates_map[cp.m_candi.m_cwstr] = cp;
+ }
}
+ // puts("");
}
m_candiEnds = frIdx;
@@ -1008,11 +1029,16 @@
CIMIContext::deleteCandidate(CCandidate &candi)
{
unsigned wid = candi.m_wordId;
+ deleteCandidateByWID(wid);
+}
+void
+CIMIContext::deleteCandidateByWID(unsigned wid)
+{
if (wid > INI_USRDEF_WID) {
m_pHistory->forget(wid);
m_pUserDict->removeWord(wid);
- _buildLattice(m_pPySegmentor->getSegments(), candi.m_start + 1);
+ _buildLattice(m_pPySegmentor->getSegments());
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/src/ime-core/imi_context.h new/sunpinyin-2.0.4/src/ime-core/imi_context.h
--- old/sunpinyin-2.0.4/src/ime-core/imi_context.h 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/src/ime-core/imi_context.h 2012-06-04 11:52:58.000000000 +0200
@@ -314,12 +314,15 @@
unsigned cancelSelection(unsigned frIdx, bool doSearch = true);
void makeSelection(CCandidate &candi, bool doSearch = true);
void deleteCandidate(CCandidate &candi);
+ void deleteCandidateByWID(unsigned wid);
void selectSentence(int idx);
void memorize();
void removeFromHistoryCache(std::vector<unsigned>& wids);
void printLattice();
+ CUserDict* getUserDict() { return m_pUserDict; }
+
protected:
void _clearFrom(unsigned from);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/src/ime-core/imi_view_classic.cpp new/sunpinyin-2.0.4/src/ime-core/imi_view_classic.cpp
--- old/sunpinyin-2.0.4/src/ime-core/imi_view_classic.cpp 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/src/ime-core/imi_view_classic.cpp 2012-06-04 11:52:58.000000000 +0200
@@ -731,6 +731,12 @@
std::vector<unsigned> wids;
m_pIC->getSelectedSentence(wids, m_candiFrIdx);
m_pIC->removeFromHistoryCache(wids);
+
+ /* if the sentence wid length is 1, also delete this word */
+ if (wids.size() == 1) {
+ unsigned wid = wids[0];
+ m_pIC->deleteCandidateByWID(wid);
+ }
} else if (type == ICandidateList::BEST_WORD
|| type == ICandidateList::NORMAL_WORD) {
// remove an ordinary candidate
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/src/lexicon/genPYT.cpp new/sunpinyin-2.0.4/src/lexicon/genPYT.cpp
--- old/sunpinyin-2.0.4/src/lexicon/genPYT.cpp 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/src/lexicon/genPYT.cpp 2012-06-04 11:52:58.000000000 +0200
@@ -37,6 +37,7 @@
#include
#include
+#include
#include "pytrie.h"
#include "pytrie_gen.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/src/pinyin/pinyin_data.cpp new/sunpinyin-2.0.4/src/pinyin/pinyin_data.cpp
--- old/sunpinyin-2.0.4/src/pinyin/pinyin_data.cpp 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/src/pinyin/pinyin_data.cpp 2012-06-04 11:52:58.000000000 +0200
@@ -652,7 +652,6 @@
{ "xun", 0x0e1c0 },
{ "y", 0x16000 },
{ "ya", 0x16010 },
- { "yai", 0x16040 },
{ "yan", 0x16080 },
{ "yang", 0x160a0 },
{ "yao", 0x16060 },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/src/pinyin/quanpin_trie.h new/sunpinyin-2.0.4/src/pinyin/quanpin_trie.h
--- old/sunpinyin-2.0.4/src/pinyin/quanpin_trie.h 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/src/pinyin/quanpin_trie.h 2012-06-04 11:52:58.000000000 +0200
@@ -1,140 +1,6 @@
-static short base[] =
-{ 0, -26, -2, -3, -4, -51, -6, -29, -83, 80, -10, -11, -12, -13, -123, -106,
- -16,
- -17, -22, -19, -20, 146, 77, -23, -24, -25, -26, -27, -28, -29, -30, 0, -32,
- -33, -173, 173, 0, -37, -38, -39, -40, 0, -42, 136, 0, -45, -46, 109, 0, -49,
- 0, -51, -52, 0, -54, -55, 0, 0, -58, -199, 199, 0, -62, -63, -64, -65, 0, 0,
- 0, -69, -70, -71, 210, 0, 0, 0, -76, -77, 0, 0, 0, -235, -82, -83, -84, -265,
- -86, -87, 84, -89, -90, -91, -92, -93, -94, 0, -96, -97, -98, -99, -100, 293,
- -102, -103, -104, -105, -106, -323, -108, -109, -110, 0, -112, 0, 0, 0, -116,
- -195, -118, -119, -120, 0, -122, 0, -368, 0, 0, 347, -418, -129, 0, -131,
- 443, 0, 0, 0, 0, -513, 0, 0, 0, -563, 0, 0, 393, 538, 0, 0, -148, -149, -150,
- 584, -152, -153, -461, 461, -156, -157, -158, -159, -160, -486, -162, -163,
- -164, -165, -166, 0, 0, -169, -170, -171, -172, 0, 0, 0, -176, -177, 0, 0, 0,
- 0, 0, -183, 0, -185, 0, 0, 0, 0, -190, 0, -192, 0, 0, 0, 0, -197, -198, -199,
- 0, -201, -202, -203, 0, 0, 0, 0, 0, -209, 0, -211, -212, -213, -214, -215,
- -216, 0, -218, -219, -220, -221, -222, -223, -224, -225, 0, -227, 0, 0, 0, 0,
- 0, 0, -234, -235, 0, -237, -238, -239, 0, 0, -242, -256, 0, 0, -246, -247,
- -248, -249, 0, -251, 0, 0, -254, -255, 255, 0, -258, -259, -260, -261, -262,
- -267, 0, 0, -266, -267, -268, -269, -270, -271, -272, -276, 0, -275, -276,
- -277, -278, -279, 0, -281, -282, 0, 0, -285, -286, 0, -288, 0, 0, -291, 0,
- -293, 0, -295, -296, -297, 0, 0, -300, -303, -302, 0, -304, 0, -306, 0, 0, 0,
- 0, -311, -312, -313, 0, 0, 0, 0, 0, -319, 0, 0, -322, 0, 0, -325, -326, -327,
- 0, -329, -330, -609, 609, 0, -334, -335, -336, -337, 0, -339, 0, -341, -342,
- -343, 0, 0, 0, 0, -348, -349, -350, -351, 0, 0, -354, -359, 0, 0, -358, -359,
- 0, -361, -362, 0, 0, -365, -366, -367, 0, 0, -370, -371, -372, -373, -374,
- -375, -635, 635, -378, -379, -380, -381, -382, 0, -384, -385, -386, -387,
- -388, 659, 0, -391, 0, -393, -394, 0, -396, -397, 0, 0, -400, -469, 0, -403,
- -404, -405, 0, -407, 0, 0, -410, -411, -412, -413, 0, 0, 0, -417, -418, -419,
- -420, -421, -422, 0, -424, -425, -424, -427, 0, -429, 0, -431, -432, 0, -434,
- 0, -436, -437, 0, 0, 0, -441, 0, -443, -444, -445, 0, 0, 0, 0, -450, 0, 0,
- -453, 0, -455, -456, -457, 0, -459, -460, 0, 0, 0, -464, -465, 0, -467, -468,
- 0, 0, -471, -472, -473, -474, -475, 0, 0, -478, 0, -480, 0, 0, 0, 0, -485, 0,
- -487, -488, -489, -490, 0, -492, -493, -581, -495, 0, -497, -498, -499, -500,
- 0, -502, 0, -504, -505, -506, 0, 0, 0, 0, -511, -512, 0, 0, -515, -516, -517,
- 0, -519, -520, -678, 678, 0, -524, -525, -526, -527, 0, -529, 0, -531, -532,
- -533, 536, 0, -536, 0, -538, -539, -540, 0, -542, -543, -697, 0, 0, -547,
- -548, 0, -550, -551, -552, 0, -554, -555, 0, 0, -558, 0, 0, 0, -562, -563, 0,
- -565, -566, -567, 0, -569, -570, -598, 0, 0, -574, -575, -576, -577, 0, -579,
- 0, -581, -582, -583, -584, 0, -586, -587, -588, -589, 0, -591, -639, 636, 0,
- -595, -596, 0, -598, 0, -600, -601, -602, -603, -604, 0, 0, -607, 0, -609,
- -610, -611, -612, -613, 0, -615, 0, -617, 0, -619, 0, -621, -622, -623, -624,
- -625, -626, 0, -628, -629, 0, 0, 0, -633, 0, -635, 0, -637, -638, -639, 0, 0,
- -642, 0, 0, -645, -646, -647, -648, -649, 0, -651, -652, -653, -654, -655, 0,
- 0, 0, -659, -660, -661, -662, -663, 0, -665, -666, -677, 0, -669, -670, -671,
- 0, -673, 0, 0, -676, -677, -678, -679, -680, -681, 0, -683, -684, -685, 0, 0,
- -688, 0, -690, 0, -692, 0, 0, -695, -696, -697, 0, 0, -700, 0, -702, -703,
- -704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -716, 0, 0, 0, 0, 0, 0, -723 };
+static short base[] = {0, -26, -2, -3, -4, -51, -6, -29, -83, 80, -10, -11, -12, -13, -123, -106, -16, -17, -22, -19, -20, 146, 77, -23, -24, -25, -26, -27, -28, -29, -30, 0, -32, -33, -173, 173, 0, -37, -38, -39, -40, 0, -42, 136, 0, -45, -46, 109, 0, -49, 0, -51, -52, 0, -54, -55, 0, 0, -58, -199, 199, 0, -62, -63, -64, -65, 0, 0, 0, -69, -70, -71, 210, 0, 0, 0, -76, -77, 0, 0, 0, -235, -82, -83, -84, -265, -86, -87, 84, -89, -90, -91, -92, -93, -94, 0, -96, -97, -98, -99, -100, 293, -102, -103, -104, -105, -106, -323, -108, -109, -110, 0, -112, 0, 0, 0, -116, -195, -118, -119, -120, 0, -122, 0, -368, 0, 0, 347, -418, -129, 0, -131, 443, 0, 0, 0, 0, -513, 0, 0, 0, -563, 0, 0, 393, 538, 0, 0, -148, -149, -150, 584, -152, -153, -461, 461, -156, -157, -158, -159, -160, -486, -162, -163, -164, -165, -166, 0, 0, -169, -170, -171, -172, 0, 0, 0, -176, -177, 0, 0, 0, 0, 0, -183, 0, -185, 0, 0, 0, 0, -190, 0, -192, 0, 0, 0, 0, -197, -198, -199, 0, -201, -202, -203, 0, 0, 0, 0, 0, -209, 0, -211, -212, -213, -214, -215, -216, 0, -218, -219, -220, -221, -222, -223, -224, -225, 0, -227, 0, 0, 0, 0, 0, 0, -234, -235, 0, -237, -238, -239, 0, 0, -242, -256, 0, 0, -246, -247, -248, -249, 0, -251, 0, 0, -254, -255, 255, 0, -258, -259, 0, -261, -262, -267, 0, 0, -266, -267, -268, -269, -270, -271, -272, -276, 0, -275, -276, -277, -278, -279, 0, -281, -282, 0, 0, -285, -286, 0, -288, 0, 0, -291, 0, -293, 0, -295, -296, -297, 0, 0, -300, -303, -302, 0, -304, 0, -306, 0, 0, 0, 0, -311, -312, -313, 0, 0, 0, 0, 0, -319, 0, 0, -322, 0, 0, -325, -326, -327, 0, -329, -330, -609, 609, 0, -334, -335, -336, -337, 0, -339, 0, -341, -342, -343, 0, 0, 0, 0, -348, -349, -350, -351, 0, 0, -354, -359, 0, 0, -358, -359, 0, -361, -362, 0, 0, -365, -366, -367, 0, 0, -370, -371, -372, -373, -374, -375, -635, 635, -378, -379, -380, -381, -382, 0, -384, -385, -386, -387, -388, 659, 0, -391, 0, -393, -394, 0, -396, -397, 0, 0, -400, -469, 0, -403, -404, -405, 0, -407, 0, 0, -410, -411, -412, -413, 0, 0, 0, -417, -418, -419, -420, -421, -422, 0, -424, -425, -424, -427, 0, -429, 0, -431, -432, 0, -434, 0, -436, -437, 0, 0, 0, -441, 0, -443, -444, -445, 0, 0, 0, 0, -450, 0, 0, -453, 0, -455, -456, -457, 0, -459, -460, 0, 0, 0, -464, -465, 0, -467, -468, 0, 0, -471, -472, -473, -474, -475, 0, 0, -478, 0, -480, 0, 0, 0, 0, -485, 0, -487, -488, -489, -490, 0, -492, -493, -581, -495, 0, -497, -498, -499, -500, 0, -502, 0, -504, -505, -506, 0, 0, 0, 0, -511, -512, 0, 0, -515, -516, -517, 0, -519, -520, -678, 678, 0, -524, -525, -526, -527, 0, -529, 0, -531, -532, -533, 536, 0, -536, 0, -538, -539, -540, 0, -542, -543, -697, 0, 0, -547, -548, 0, -550, -551, -552, 0, -554, -555, 0, 0, -558, 0, 0, 0, -562, -563, 0, -565, -566, -567, 0, -569, -570, -598, 0, 0, -574, -575, -576, -577, 0, -579, 0, -581, -582, -583, -584, 0, -586, -587, -588, -589, 0, -591, -639, 636, 0, -595, -596, 0, -598, 0, -600, -601, -602, -603, -604, 0, 0, -607, 0, -609, -610, -611, -612, -613, 0, -615, 0, -617, 0, -619, 0, -621, -622, -623, -624, -625, -626, 0, -628, -629, 0, 0, 0, -633, 0, -635, 0, -637, -638, -639, 0, 0, -642, 0, 0, -645, -646, -647, -648, -649, 0, -651, -652, -653, -654, -655, 0, 0, 0, -659, -660, -661, -662, -663, 0, -665, -666, -677, 0, -669, -670, -671, 0, -673, 0, 0, -676, -677, -678, -679, -680, -681, 0, -683, -684, -685, 0, 0, -688, 0, -690, 0, -692, 0, 0, -695, -696, -697, 0, 0, -700, 0, -702, -703, -704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -716, 0, 0, 0, 0, 0, 0, -723};
-static short check[] =
-{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 18, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 7, 0, 1, 1, 1, 0, 1, 0,
- 1, 1, 0, 5, 5, 0, 0, 5, 5, 5, 0, 5, 5, 5, 5, 0, 0, 0, 5, 5, 5, 5, 0, 0, 0, 5,
- 5, 0, 0, 0, 9, 9, 9, 9, 9, 8, 88, 9, 22, 9, 22, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9,
- 8, 88, 9, 9, 9, 15, 15, 8, 88, 0, 15, 0, 0, 0, 47, 47, 15, 15, 47, 0, 15, 0,
- 14, 0, 0, 15, 14, 15, 0, 15, 14, 0, 0, 0, 0, 43, 0, 0, 0, 43, 0, 0, 14, 43,
- 0, 0, 21, 21, 21, 43, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 0, 0, 21, 21, 21, 21, 0, 0, 0, 34, 35, 0, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,
- 0, 35, 0, 34, 0, 0, 0, 0, 35, 117, 34, 0, 60, 59, 60, 0, 0, 0, 0, 0, 60, 0,
- 60, 60, 60, 117, 60, 60, 0, 59, 60, 72, 117, 72, 60, 72, 59, 0, 72, 0, 0, 0,
- 0, 0, 0, 72, 72, 0, 81, 81, 81, 0, 0, 81, 81, 0, 0, 81, 81, 81, 81, 0, 81, 0,
- 0, 81, 81, 81, 0, 81, 243, 81, 81, 256, 256, 0, 0, 256, 85, 85, 85, 263, 85,
- 85, 85, 0, 243, 85, 85, 85, 85, 0, 85, 243, 0, 0, 85, 263, 0, 85, 0, 0, 85,
- 0, 263, 0, 273, 101, 101, 0, 0, 101, 101, 273, 0, 101, 0, 301, 0, 0, 0, 0,
- 101, 101, 101, 0, 0, 0, 0, 0, 101, 0, 0, 301, 0, 0, 107, 107, 107, 0, 301,
- 107, 107, 107, 0, 107, 107, 107, 107, 0, 107, 0, 107, 107, 107, 0, 0, 0, 0,
- 107, 107, 127, 127, 0, 0, 127, 127, 0, 0, 127, 127, 0, 127, 355, 0, 0, 127,
- 127, 127, 0, 0, 124, 124, 124, 127, 124, 124, 124, 124, 355, 124, 124, 124,
- 124, 0, 124, 355, 124, 124, 124, 124, 0, 124, 0, 124, 124, 0, 144, 144, 0, 0,
- 144, 144, 0, 144, 144, 144, 0, 144, 0, 0, 144, 144, 144, 144, 0, 0, 0, 144,
- 144, 144, 128, 128, 128, 0, 128, 128, 128, 426, 0, 128, 0, 128, 128, 0, 128,
- 0, 128, 128, 0, 0, 0, 128, 0, 426, 128, 132, 0, 0, 0, 0, 426, 0, 0, 132, 0,
- 132, 132, 132, 0, 132, 132, 0, 0, 0, 154, 155, 0, 132, 132, 0, 0, 155, 401,
- 155, 155, 155, 0, 0, 155, 0, 154, 0, 0, 0, 0, 155, 0, 154, 401, 161, 161, 0,
- 161, 161, 161, 401, 0, 161, 161, 161, 161, 0, 161, 0, 161, 161, 161, 0, 0, 0,
- 0, 161, 161, 0, 0, 137, 137, 137, 0, 137, 137, 137, 137, 0, 137, 137, 137,
- 137, 0, 137, 0, 137, 137, 137, 137, 0, 137, 0, 137, 137, 145, 0, 145, 534,
- 534, 0, 0, 534, 145, 0, 145, 145, 145, 0, 145, 145, 0, 0, 145, 0, 0, 0, 145,
- 145, 0, 141, 141, 141, 0, 141, 141, 141, 0, 0, 141, 141, 141, 141, 0, 141, 0,
- 141, 141, 141, 494, 0, 141, 151, 151, 141, 0, 151, 151, 151, 0, 151, 151, 0,
- 151, 0, 494, 571, 151, 151, 151, 0, 0, 494, 0, 151, 151, 332, 331, 332, 0,
- 332, 0, 571, 0, 332, 0, 332, 332, 332, 571, 332, 332, 0, 331, 332, 0, 0, 0,
- 332, 0, 331, 0, 377, 376, 377, 0, 0, 592, 0, 0, 377, 593, 377, 377, 377, 0,
- 377, 377, 593, 376, 377, 0, 0, 0, 377, 593, 376, 389, 389, 0, 592, 389, 389,
- 0, 389, 389, 389, 0, 389, 0, 0, 389, 389, 389, 389, 667, 521, 0, 389, 389,
- 389, 0, 0, 522, 0, 522, 0, 522, 0, 0, 522, 667, 521, 0, 0, 544, 0, 522, 667,
- 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 544, 0, 0, 0, 0, 0, 0, 544 };
+static short check[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 7, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 5, 5, 0, 0, 5, 5, 5, 0, 5, 5, 5, 5, 0, 0, 0, 5, 5, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0, 9, 9, 9, 9, 9, 8, 88, 9, 22, 9, 22, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 8, 88, 9, 9, 9, 15, 15, 8, 88, 0, 15, 0, 0, 0, 47, 47, 15, 15, 47, 0, 15, 0, 14, 0, 0, 15, 14, 15, 0, 15, 14, 0, 0, 0, 0, 43, 0, 0, 0, 43, 0, 0, 14, 43, 0, 0, 21, 21, 21, 43, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 21, 21, 21, 21, 0, 0, 0, 34, 35, 0, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0, 0, 35, 117, 34, 0, 60, 59, 60, 0, 0, 0, 0, 0, 60, 0, 60, 60, 60, 117, 60, 60, 0, 59, 60, 72, 117, 72, 60, 72, 59, 0, 72, 0, 0, 0, 0, 0, 0, 72, 72, 0, 81, 81, 81, 0, 0, 81, 81, 0, 0, 81, 81, 81, 81, 0, 81, 0, 0, 81, 81, 81, 0, 81, 243, 0, 81, 256, 256, 0, 0, 256, 85, 85, 85, 263, 85, 85, 85, 0, 243, 85, 85, 85, 85, 0, 85, 243, 0, 0, 85, 263, 0, 85, 0, 0, 85, 0, 263, 0, 273, 101, 101, 0, 0, 101, 101, 273, 0, 101, 0, 301, 0, 0, 0, 0, 101, 101, 101, 0, 0, 0, 0, 0, 101, 0, 0, 301, 0, 0, 107, 107, 107, 0, 301, 107, 107, 107, 0, 107, 107, 107, 107, 0, 107, 0, 107, 107, 107, 0, 0, 0, 0, 107, 107, 127, 127, 0, 0, 127, 127, 0, 0, 127, 127, 0, 127, 355, 0, 0, 127, 127, 127, 0, 0, 124, 124, 124, 127, 124, 124, 124, 124, 355, 124, 124, 124, 124, 0, 124, 355, 124, 124, 124, 124, 0, 124, 0, 124, 124, 0, 144, 144, 0, 0, 144, 144, 0, 144, 144, 144, 0, 144, 0, 0, 144, 144, 144, 144, 0, 0, 0, 144, 144, 144, 128, 128, 128, 0, 128, 128, 128, 426, 0, 128, 0, 128, 128, 0, 128, 0, 128, 128, 0, 0, 0, 128, 0, 426, 128, 132, 0, 0, 0, 0, 426, 0, 0, 132, 0, 132, 132, 132, 0, 132, 132, 0, 0, 0, 154, 155, 0, 132, 132, 0, 0, 155, 401, 155, 155, 155, 0, 0, 155, 0, 154, 0, 0, 0, 0, 155, 0, 154, 401, 161, 161, 0, 161, 161, 161, 401, 0, 161, 161, 161, 161, 0, 161, 0, 161, 161, 161, 0, 0, 0, 0, 161, 161, 0, 0, 137, 137, 137, 0, 137, 137, 137, 137, 0, 137, 137, 137, 137, 0, 137, 0, 137, 137, 137, 137, 0, 137, 0, 137, 137, 145, 0, 145, 534, 534, 0, 0, 534, 145, 0, 145, 145, 145, 0, 145, 145, 0, 0, 145, 0, 0, 0, 145, 145, 0, 141, 141, 141, 0, 141, 141, 141, 0, 0, 141, 141, 141, 141, 0, 141, 0, 141, 141, 141, 494, 0, 141, 151, 151, 141, 0, 151, 151, 151, 0, 151, 151, 0, 151, 0, 494, 571, 151, 151, 151, 0, 0, 494, 0, 151, 151, 332, 331, 332, 0, 332, 0, 571, 0, 332, 0, 332, 332, 332, 571, 332, 332, 0, 331, 332, 0, 0, 0, 332, 0, 331, 0, 377, 376, 377, 0, 0, 592, 0, 0, 377, 593, 377, 377, 377, 0, 377, 377, 593, 376, 377, 0, 0, 0, 377, 593, 376, 389, 389, 0, 592, 389, 389, 0, 389, 389, 389, 0, 389, 0, 0, 389, 389, 389, 389, 667, 521, 0, 389, 389, 389, 0, 0, 522, 0, 522, 0, 522, 0, 0, 522, 667, 521, 0, 0, 544, 0, 522, 667, 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 544, 0, 0, 0, 0, 0, 0, 544};
-static int value[] =
-{ 0, 16, 4096, 81920, 20480, 48, 16384, 36864, 45056, 0, 49152, 40960, 32768,
- 12288, 28672, 32, 8192, 53248, 73728, 86016, 24576, 0, 0, 94208, 57344,
- 90112, 77824, 192, 4112, 81936, 20496, 0, 16400, 36880, 45072, 0, 0, 40976,
- 32784, 12304, 28688, 0, 8208, 0, 0, 86032, 24592, 0, 0, 94224, 0, 90128,
- 77840, 0, 81968, 20528, 0, 0, 36912, 45104, 0, 0, 41008, 32816, 12336, 28720,
- 0, 0, 0, 73776, 86064, 24624, 0, 0, 0, 0, 90160, 77872, 0, 0, 0, 64, 4304,
- 82128, 20688, 80, 65536, 65744, 0, 33264, 49360, 29168, 32976, 12496, 28880,
- 0, 8400, 53456, 73936, 86224, 24784, 0, 69632, 69840, 57552, 90320, 78032,
- 96, 4128, 61440, 61648, 0, 16416, 0, 0, 0, 37232, 45424, 32800, 12320, 41328,
- 0, 8224, 0, 128, 0, 0, 0, 144, 94240, 0, 90144, 0, 0, 0, 0, 0, 160, 0, 0, 0,
- 176, 0, 0, 0, 0, 0, 0, 4448, 82272, 20832, 0, 16736, 37216, 45408, 0, 49504,
- 41312, 33120, 12640, 29024, 112, 8544, 53600, 74080, 86368, 24928, 0, 0,
- 94560, 57696, 90464, 78176, 0, 0, 0, 65552, 20704, 0, 0, 0, 0, 0, 49376, 0,
- 32992, 0, 0, 0, 0, 53472, 0, 69648, 0, 0, 0, 0, 57568, 65904, 61456, 0, 4336,
- 65584, 20720, 0, 0, 0, 0, 0, 49392, 0, 33008, 12528, 28912, 70000, 8432,
- 53488, 0, 69680, 24816, 49664, 61808, 33280, 57584, 29184, 61488, 0, 53760,
- 0, 0, 0, 0, 0, 0, 57856, 90624, 0, 4160, 81984, 20544, 0, 0, 36928, 45120, 0,
- 0, 41024, 32832, 12352, 28736, 0, 8256, 0, 0, 86080, 24640, 0, 0, 94272,
- 65600, 90176, 77888, 37264, 45456, 0, 0, 41360, 4176, 82000, 20560, 65936,
- 16464, 36944, 45136, 0, 69696, 41040, 32848, 12368, 28752, 0, 8272, 61504, 0,
- 0, 24656, 70032, 0, 94288, 0, 0, 77904, 0, 61840, 0, 69712, 82336, 20896, 0,
- 0, 37280, 45472, 61520, 0, 41376, 0, 65952, 0, 0, 0, 0, 74144, 86432, 24992,
- 0, 0, 0, 0, 0, 78240, 0, 0, 70048, 0, 0, 4192, 82016, 20576, 0, 61856, 36960,
- 45152, 0, 0, 41056, 32864, 12384, 28768, 0, 8288, 0, 73824, 86112, 24672, 0,
- 0, 0, 0, 90208, 77920, 82304, 20864, 0, 0, 37248, 45440, 0, 0, 41344, 33152,
- 0, 29056, 65920, 0, 0, 74112, 86400, 24960, 0, 0, 4224, 82048, 20608, 78208,
- 16512, 36992, 45184, 0, 70016, 41088, 32896, 12416, 28800, 0, 8320, 61824,
- 73856, 86144, 24704, 0, 0, 94336, 0, 90240, 77952, 0, 82368, 20928, 0, 0,
- 37312, 45504, 0, 49600, 41408, 33216, 0, 29120, 0, 0, 53696, 74176, 86464,
- 25024, 0, 0, 0, 57792, 90560, 78272, 4240, 82064, 20624, 0, 16528, 37008,
- 45200, 65680, 0, 41104, 0, 12432, 28816, 0, 8336, 0, 73872, 86160, 0, 0, 0,
- 94352, 0, 69776, 77968, 4400, 0, 0, 0, 0, 61584, 0, 0, 49456, 0, 33072,
- 12592, 28976, 0, 8496, 53552, 0, 0, 0, 65888, 20752, 0, 57648, 90416, 0, 0,
- 49424, 65984, 33040, 12560, 28944, 0, 0, 53520, 0, 69984, 0, 0, 0, 0, 57616,
- 0, 61792, 70080, 82032, 20592, 0, 16496, 36976, 45168, 61888, 0, 41072,
- 32880, 12400, 28784, 0, 8304, 0, 73840, 86128, 24688, 0, 0, 0, 0, 90224,
- 77936, 0, 0, 4256, 82080, 20640, 0, 16544, 37024, 45216, 0, 0, 41120, 32928,
- 12448, 28832, 0, 8352, 0, 73888, 86176, 24736, 0, 0, 94368, 0, 90272, 77984,
- 4432, 0, 20816, 37328, 45520, 0, 0, 41424, 49488, 0, 33104, 12624, 29008, 0,
- 8528, 53584, 0, 0, 24912, 0, 0, 0, 57680, 90448, 0, 4272, 82096, 20656, 0,
- 16560, 37040, 45232, 0, 0, 41136, 32944, 12464, 28848, 0, 8368, 0, 73904,
- 86192, 24752, 65648, 0, 94384, 82400, 20960, 78000, 0, 37344, 45536, 0, 0,
- 41440, 33248, 0, 29152, 0, 69744, 65712, 74208, 86496, 25056, 0, 0, 61552, 0,
- 90592, 78304, 4352, 65632, 20736, 0, 16640, 0, 69808, 0, 49408, 0, 33024,
- 12544, 28928, 61616, 8448, 53504, 0, 69728, 24832, 0, 0, 0, 57600, 0, 61536,
- 0, 4384, 65664, 20768, 0, 0, 66016, 0, 0, 49440, 49680, 33056, 12576, 28960,
- 0, 8480, 53536, 53776, 69760, 24864, 0, 0, 0, 57632, 57872, 61568, 82352,
- 20912, 0, 61920, 37296, 45488, 0, 49584, 41392, 33200, 0, 29104, 0, 0, 53680,
- 74160, 86448, 25008, 65968, 65696, 0, 57776, 90544, 78256, 0, 0, 49472, 0,
- 33088, 0, 28992, 0, 0, 53568, 70064, 69792, 0, 0, 66000, 0, 57664, 61872,
- 61600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70096, 0, 0, 0, 0, 0, 0, 61904 };
+static int value[] = {0, 16, 4096, 81920, 20480, 48, 16384, 36864, 45056, 0, 49152, 40960, 32768, 12288, 28672, 32, 8192, 53248, 73728, 86016, 24576, 0, 0, 94208, 57344, 90112, 77824, 192, 4112, 81936, 20496, 0, 16400, 36880, 45072, 0, 0, 40976, 32784, 12304, 28688, 0, 8208, 0, 0, 86032, 24592, 0, 0, 94224, 0, 90128, 77840, 0, 81968, 20528, 0, 0, 36912, 45104, 0, 0, 41008, 32816, 12336, 28720, 0, 0, 0, 73776, 86064, 24624, 0, 0, 0, 0, 90160, 77872, 0, 0, 0, 64, 4304, 82128, 20688, 80, 65536, 65744, 0, 33264, 49360, 29168, 32976, 12496, 28880, 0, 8400, 53456, 73936, 86224, 24784, 0, 69632, 69840, 57552, 90320, 78032, 96, 4128, 61440, 61648, 0, 16416, 0, 0, 0, 37232, 45424, 32800, 12320, 41328, 0, 8224, 0, 128, 0, 0, 0, 144, 94240, 0, 90144, 0, 0, 0, 0, 0, 160, 0, 0, 0, 176, 0, 0, 0, 0, 0, 0, 4448, 82272, 20832, 0, 16736, 37216, 45408, 0, 49504, 41312, 33120, 12640, 29024, 112, 8544, 53600, 74080, 86368, 24928, 0, 0, 94560, 57696, 90464, 78176, 0, 0, 0, 65552, 20704, 0, 0, 0, 0, 0, 49376, 0, 32992, 0, 0, 0, 0, 53472, 0, 69648, 0, 0, 0, 0, 57568, 65904, 61456, 0, 4336, 65584, 20720, 0, 0, 0, 0, 0, 49392, 0, 33008, 12528, 28912, 70000, 8432, 53488, 0, 69680, 24816, 49664, 61808, 33280, 57584, 29184, 61488, 0, 53760, 0, 0, 0, 0, 0, 0, 57856, 90624, 0, 4160, 81984, 20544, 0, 0, 36928, 45120, 0, 0, 41024, 32832, 12352, 28736, 0, 8256, 0, 0, 86080, 24640, 0, 0, 94272, 65600, 0, 77888, 37264, 45456, 0, 0, 41360, 4176, 82000, 20560, 65936, 16464, 36944, 45136, 0, 69696, 41040, 32848, 12368, 28752, 0, 8272, 61504, 0, 0, 24656, 70032, 0, 94288, 0, 0, 77904, 0, 61840, 0, 69712, 82336, 20896, 0, 0, 37280, 45472, 61520, 0, 41376, 0, 65952, 0, 0, 0, 0, 74144, 86432, 24992, 0, 0, 0, 0, 0, 78240, 0, 0, 70048, 0, 0, 4192, 82016, 20576, 0, 61856, 36960, 45152, 0, 0, 41056, 32864, 12384, 28768, 0, 8288, 0, 73824, 86112, 24672, 0, 0, 0, 0, 90208, 77920, 82304, 20864, 0, 0, 37248, 45440, 0, 0, 41344, 33152, 0, 29056, 65920, 0, 0, 74112, 86400, 24960, 0, 0, 4224, 82048, 20608, 78208, 16512, 36992, 45184, 0, 70016, 41088, 32896, 12416, 28800, 0, 8320, 61824, 73856, 86144, 24704, 0, 0, 94336, 0, 90240, 77952, 0, 82368, 20928, 0, 0, 37312, 45504, 0, 49600, 41408, 33216, 0, 29120, 0, 0, 53696, 74176, 86464, 25024, 0, 0, 0, 57792, 90560, 78272, 4240, 82064, 20624, 0, 16528, 37008, 45200, 65680, 0, 41104, 0, 12432, 28816, 0, 8336, 0, 73872, 86160, 0, 0, 0, 94352, 0, 69776, 77968, 4400, 0, 0, 0, 0, 61584, 0, 0, 49456, 0, 33072, 12592, 28976, 0, 8496, 53552, 0, 0, 0, 65888, 20752, 0, 57648, 90416, 0, 0, 49424, 65984, 33040, 12560, 28944, 0, 0, 53520, 0, 69984, 0, 0, 0, 0, 57616, 0, 61792, 70080, 82032, 20592, 0, 16496, 36976, 45168, 61888, 0, 41072, 32880, 12400, 28784, 0, 8304, 0, 73840, 86128, 24688, 0, 0, 0, 0, 90224, 77936, 0, 0, 4256, 82080, 20640, 0, 16544, 37024, 45216, 0, 0, 41120, 32928, 12448, 28832, 0, 8352, 0, 73888, 86176, 24736, 0, 0, 94368, 0, 90272, 77984, 4432, 0, 20816, 37328, 45520, 0, 0, 41424, 49488, 0, 33104, 12624, 29008, 0, 8528, 53584, 0, 0, 24912, 0, 0, 0, 57680, 90448, 0, 4272, 82096, 20656, 0, 16560, 37040, 45232, 0, 0, 41136, 32944, 12464, 28848, 0, 8368, 0, 73904, 86192, 24752, 65648, 0, 94384, 82400, 20960, 78000, 0, 37344, 45536, 0, 0, 41440, 33248, 0, 29152, 0, 69744, 65712, 74208, 86496, 25056, 0, 0, 61552, 0, 90592, 78304, 4352, 65632, 20736, 0, 16640, 0, 69808, 0, 49408, 0, 33024, 12544, 28928, 61616, 8448, 53504, 0, 69728, 24832, 0, 0, 0, 57600, 0, 61536, 0, 4384, 65664, 20768, 0, 0, 66016, 0, 0, 49440, 49680, 33056, 12576, 28960, 0, 8480, 53536, 53776, 69760, 24864, 0, 0, 0, 57632, 57872, 61568, 82352, 20912, 0, 61920, 37296, 45488, 0, 49584, 41392, 33200, 0, 29104, 0, 0, 53680, 74160, 86448, 25008, 65968, 65696, 0, 57776, 90544, 78256, 0, 0, 49472, 0, 33088, 0, 28992, 0, 0, 53568, 70064, 69792, 0, 0, 66000, 0, 57664, 61872, 61600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70096, 0, 0, 0, 0, 0, 0, 61904};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/src/portability.h new/sunpinyin-2.0.4/src/portability.h
--- old/sunpinyin-2.0.4/src/portability.h 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/src/portability.h 2012-06-04 11:52:58.000000000 +0200
@@ -44,15 +44,14 @@
#include <string>
#include <cstring>
-#if defined(sun)
+#ifdef HAVE_UNISTD_H
#include
#ifdef __cplusplus
#include <algorithm>
#else
#include
#endif //__cpluscplus
-#endif //defined(sun)
-
+#endif //ifdef HAVE_UNISTD_H
#ifndef HOST_OS_GNUC_2
#if defined(DEBUG) && !defined(NDEBUG)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/wrapper/gtk_standalone/sunpinyin.cpp new/sunpinyin-2.0.4/wrapper/gtk_standalone/sunpinyin.cpp
--- old/sunpinyin-2.0.4/wrapper/gtk_standalone/sunpinyin.cpp 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/wrapper/gtk_standalone/sunpinyin.cpp 2012-06-04 11:52:58.000000000 +0200
@@ -130,6 +130,7 @@
CGTKWinHandler *pwh = new CGTKWinHandler(pv);
pv->attachWinHandler(pwh);
+ pv->getIC()->setMaxBest(3);
pwh->createWindows();
gtk_main();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/wrapper/ibus/src/sunpinyin_lookup_table.cpp new/sunpinyin-2.0.4/wrapper/ibus/src/sunpinyin_lookup_table.cpp
--- old/sunpinyin-2.0.4/wrapper/ibus/src/sunpinyin_lookup_table.cpp 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/wrapper/ibus/src/sunpinyin_lookup_table.cpp 2012-06-04 11:52:58.000000000 +0200
@@ -52,19 +52,29 @@
if (size <= 0)
return size;
- const int total = cl.total();
- // expand the array in lookup_table
- // we will fill the missing items in when we have them
+ const int total = cl.total();
+ // total is the number of items in all pages, while size is the number of items in the current
+ // page (only these items are included in the candidate list).
ibus_lookup_table_set_page_size(*this, size);
- g_array_set_size((*this)->candidates, total);
-
- for (int i = 0, begin = 0; i < size; ++i) {
- const int len = append_candidate(cl, i, begin);
- if (len)
- begin += len;
- else
- break;
+ // We are updating the current page only, thus some ugly hacks are needed...
+ ibus_lookup_table_clear(*this);
+ int page_start = get_current_page_start(), cur_total = 0;
+ // Dummy candidates are inserted when they are not in the current page.
+ // Maybe we can share these candidates (but what if someone else changes the attributes?)
+ for (; cur_total < page_start; ++cur_total)
+ ibus_lookup_table_append_candidate(*this, ibus_text_new_from_static_string(""));
+ for (int i = 0; i < size; ++i) {
+ const TWCHAR* cand = cl.candiString(i);
+ if (cand && cl.candiSize(i)) {
+ ibus::Text text(ibus_text_new_from_ucs4(cand));
+ decorate_candidate(text, cl.candiType(i));
+ ibus_lookup_table_append_candidate(*this, text);
+ ++cur_total;
+ } else break; // I think this shouldn't happen...
}
+ for (; cur_total < total; ++cur_total)
+ ibus_lookup_table_append_candidate(*this, ibus_text_new_from_static_string(""));
+
return size;
//ibus_lookup_table_set_cursor_pos (m_lookup_table, index);
}
@@ -89,41 +99,6 @@
return ibus_lookup_table_get_cursor_pos(*this);
}
-// an alternative to ibus_lookup_table_append_candidate(m_lookup_table, text);
-// if we can assume that WinHandler::updateCandiates() is called
-// in sequence. we can use ibus_lookup_table_append_candidate()
-static void
-ibus_lookup_table_set_candidate(IBusLookupTable *table,
- guint index,
- IBusText *text)
-{
- g_return_if_fail (IBUS_IS_LOOKUP_TABLE (table));
- g_return_if_fail (IBUS_IS_TEXT (text));
- g_assert(index < table->candidates->len);
-
- g_object_ref (text);
- g_array_insert_val (table->candidates, index, text);
-}
-
-int
-SunPinyinLookupTable::append_candidate(const ICandidateList& cl,
- int item,
- int begin)
-{
- const TWCHAR* cand = 0;
- int len = 0;
-
- cand = cl.candiString(item);
- if (!cand)
- return len;
- len = cl.candiSize(item);
- ibus::Text text(ibus_text_new_from_ucs4(cand));
- decorate_candidate(text, cl.candiType(item));
- int index = get_current_page_start() + item;
- ibus_lookup_table_set_candidate(*this, index, text);
- return len;
-}
-
void
SunPinyinLookupTable::decorate_candidate(ibus::Text text, int type)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sunpinyin-2.0.4/wrapper/ibus/src/sunpinyin_property.cpp new/sunpinyin-2.0.4/wrapper/ibus/src/sunpinyin_property.cpp
--- old/sunpinyin-2.0.4/wrapper/ibus/src/sunpinyin_property.cpp 2012-02-05 17:28:01.000000000 +0100
+++ new/sunpinyin-2.0.4/wrapper/ibus/src/sunpinyin_property.cpp 2012-06-04 11:52:58.000000000 +0200
@@ -57,10 +57,10 @@
SunPinyinProperty::create_status_prop(ibus::Engine engine, bool state)
{
SunPinyinProperty prop(engine, PROP_STATUS);
- prop.m_info[0].label = ibus_text_new_from_ucs4((const gunichar*) L"EN");
+ prop.m_info[0].label = ibus_text_new_from_static_string("EN");
prop.m_info[0].icon = IBUS_SUNPINYIN_ICON_DIR"/eng.svg";
prop.m_info[0].tooltip = ibus_text_new_from_static_string(_("Switch to Chinese input mode"));
- prop.m_info[1].label = ibus_text_new_from_ucs4((const gunichar*) L"CN");
+ prop.m_info[1].label = ibus_text_new_from_static_string("CN");
prop.m_info[1].icon = IBUS_SUNPINYIN_ICON_DIR"/han.svg";
prop.m_info[1].tooltip = ibus_text_new_from_static_string(_("Switch to English input mode"));
prop.init(state);
@@ -72,10 +72,10 @@
SunPinyinProperty::create_letter_prop(ibus::Engine engine, bool state)
{
SunPinyinProperty prop(engine, PROP_LETTER);
- prop.m_info[0].label = ibus_text_new_from_ucs4((const gunichar*) L"Aa");
+ prop.m_info[0].label = ibus_text_new_from_static_string("Aa");
prop.m_info[0].icon = IBUS_SUNPINYIN_ICON_DIR"/halfwidth.svg";
prop.m_info[0].tooltip = ibus_text_new_from_static_string(_("Switch to full-width letter input mode"));
- prop.m_info[1].label = ibus_text_new_from_ucs4((const gunichar*) L"Aa");
+ prop.m_info[1].label = ibus_text_new_from_static_string("Aa");
prop.m_info[1].icon = IBUS_SUNPINYIN_ICON_DIR"/fullwidth.svg";
prop.m_info[1].tooltip = ibus_text_new_from_static_string(_("Switch to half-width letter input mode"));
prop.init(state);
@@ -86,10 +86,10 @@
SunPinyinProperty::create_punct_prop(ibus::Engine engine, bool state)
{
SunPinyinProperty prop(engine, PROP_PUNCT);
- prop.m_info[0].label = ibus_text_new_from_ucs4((const gunichar*) L",.");
+ prop.m_info[0].label = ibus_text_new_from_static_string(",.");
prop.m_info[0].icon = IBUS_SUNPINYIN_ICON_DIR"/enpunc.svg";
prop.m_info[0].tooltip = ibus_text_new_from_static_string(_("Switch to Chinese punctuation"));
- prop.m_info[1].label = ibus_text_new_from_ucs4((const gunichar*) L",。");
+ prop.m_info[1].label = ibus_text_new_from_static_string(",。");
prop.m_info[1].icon = IBUS_SUNPINYIN_ICON_DIR"/cnpunc.svg";
prop.m_info[1].tooltip = ibus_text_new_from_static_string(_("Switch to English punctuation"));
prop.init(state);
@@ -163,7 +163,7 @@
NULL)),
m_name("setup")
{
- m_info.label = ibus_text_new_from_ucs4((const gunichar*) L"Preference");
+ m_info.label = ibus_text_new_from_static_string(_("Preference"));
m_info.tooltip = ibus_text_new_from_static_string(_("Preference"));
m_info.icon = IBUS_SUNPINYIN_ICON_DIR"/setup.svg";
init();
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org