2013-07-28  ChangZhuo Chen <czchen@gmail.com>

	* NEWS: NEWS: finalize release 0.3.5

2013-07-28  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, configure.ac: Bump version to 0.3.5

2013-07-27  ChangZhuo Chen <czchen@gmail.com>

	* NEWS: Update NEWS

2013-07-26  Bo-cheng Jan <school510587@yahoo.com.tw>

	* src/tree.c: Let comment of TreeFindPhrase() and its parameter name
	be consistent.  Signed-off-by: Jim Huang <jserv@0xlab.org>

2013-07-25  ChangZhuo Chen <czchen@gmail.com>

	* Makefile.am, src/tools/Makefile.am: Revert "Link to libcommon.la
	in sort" CFLAGS for lib and tools are different, so we cannot link sort to
	libcommon.la.  This reverts commit 5c216ecfea9db455cc2969597c1a210e16a47312.

2013-07-25  ChangZhuo Chen <czchen@gmail.com>

	* Makefile.am, src/tools/Makefile.am: Link to libcommon.la in sort

2013-07-24  ChangZhuo Chen <czchen@gmail.com>

	* README: Update README for CI services

2013-07-11  ChangZhuo Chen <czchen@gmail.com>

	* .travis.yml: Use coveralls.io to generate coverage report Closed #60

2013-07-23  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, src/tools/sort.c: Fix cmake include directories

2013-07-23  ChangZhuo Chen <czchen@gmail.com>

	* : Merge pull request #61 from kito-cheng/master Make tsi.src use consistent separator

2013-07-18  Bo-cheng Jan <school510587@yahoo.com.tw>

	* src/private.h, src/tools/sort.c: Fix dangerous memory usage for
	WordData and sscanf.  Signed-off-by: Jim Huang <jserv@0xlab.org>

2013-07-22  Jim Huang <jserv@0xlab.org>

	* src/tools/sort.c: tools: sort: Fix build failure

2013-07-21  Bo-cheng Jan <school510587@yahoo.com.tw>

	* src/tools/sort.c: Let compare_phrase() use ARRAY_SIZE for length
	of a->phone.  Signed-off-by: Jim Huang <jserv@0xlab.org>

2013-07-21  ChangZhuo Chen <czchen@gmail.com>

	* data/phone.cin, data/tsi.src: Mark 腕(ㄨㄢˇ) as non official
	phone

2013-07-20  Jim Huang <jserv@0xlab.org>

	* README: README: Add section 'External and unmerged projects'

2013-07-20  Jim Huang <jserv@0xlab.org>

	* NEWS: NEWS: mention FreeArray as the successful story

2013-07-20  Jim Huang <jserv@0xlab.org>

	* AUTHORS: Add kito in author list

2013-07-18  ChangZhuo Chen <czchen@gmail.com>

	* : Merge pull request #59 from kito-cheng/master Clean up and rewrite FindEasySymbolIndex

2013-07-15  Kito Cheng <kito@0xlab.org>

	* src/hash.c: Make HashItem2Binary, ReadHashItem_txt,
	_load_hash_file static

2013-07-15  Kito Cheng <kito@0xlab.org>

	* src/chewingutil.c: Refine FindEasySymbolIndex  - Compute the index instead of binary search.

2013-07-15  Bo-cheng Jan <school510587@yahoo.com.tw>

	* test/gen_keystroke.c: Let show_commit_string() have the same
	parameters as other show* functions.  Signed-off-by: Jim Huang <jserv@0xlab.org>

2013-07-14  Bo-cheng Jan <school510587@yahoo.com.tw>

	* test/gen_keystroke.c: test: Fix typo (Ctrl+h) Signed-off-by: Jim Huang <jserv@0xlab.org>

2013-07-13  Bo-cheng Jan <school510587@yahoo.com.tw>

	* include/internal/char-private.h: Modify number constant 7 to
	comprehensive macro expression.  Signed-off-by: Jim Huang <jserv@0xlab.org>

2013-07-12  ChangZhuo Chen <czchen@gmail.com>

	* : Merge pull request #58 from kito-cheng/master Clean up and refactor

2013-07-12  Kito Cheng <kito@0xlab.org>

	* src/zuin.c: Refine DACHENCP26PhoInput

2013-07-12  Kito Cheng <kito@0xlab.org>

	* src/chewingutil.c: Refine SetUpdatePhraseMsg

2013-07-12  Kito Cheng <kito@0xlab.org>

	* src/chewingio.c, src/chewingutil.c, test/randkeystroke.c,
	test/test-bopomofo.c, test/test-config.c, test/test-easy-symbol.c,
	test/test-fullshape.c, test/test-key2pho.c, test/test-keyboard.c,
	test/test-logger.c, test/test-mmap.c, test/test-regression.c,
	test/test-special-symbol.c, test/test-symbol.c, test/test-utf8.c,
	test/testchewing.c, test/testhelper.c: Eliminate the warnings for
	different sign and unused arguments.

2013-07-12  Kito Cheng <kito@0xlab.org>

	* include/internal/chewingutil.h,
	include/internal/pinyin-private.h, src/chewingio.c,
	src/chewingutil.c, src/choice.c, src/common/chewing-utf8-util.c,
	src/common/key2pho.c, src/mod_aux.c, src/pinyin.c, src/tree.c,
	src/zuin.c: Add const as possible

2013-07-12  Kito Cheng <kito@0xlab.org>

	* include/internal/chewing-utf8-util.h,
	src/common/chewing-utf8-util.c: Add ueConstStrSeek for seek const
	utf-8 string

2013-07-12  Kito Cheng <kito@0xlab.org>

	* src/chewingutil.c, src/choice.c, src/mod_aux.c: Clean up
	sizeof(char) since it's always 1 by ANSI C standards.

2013-07-12  Kito Cheng <kito@0xlab.org>

	* src/chewingio.c, src/chewingutil.c, src/hash.c, src/pinyin.c,
	src/tree.c, src/userphrase.c, src/zuin.c: Clean up #if 0/#endif code
	sections  - It's time to release souls from purgatory, those    code are hold at least 3 years ago...

2013-07-12  Kito Cheng <kito@0xlab.org>

	* src/chewingio.c: Check return code for InitHash in chewing_new

2013-07-10  ChangZhuo Chen <czchen@gmail.com>

	* .editorconfig: Add .editorconfig (http://editorconfig.org/)

2013-07-10  ChangZhuo Chen <czchen@gmail.com>

	* : Merge pull request #57 from kito-cheng/master Few clean up

2013-07-10  Kito Cheng <kito@0xlab.org>

	* src/tools/sort.c, test/testhelper.c: Eliminate the warnings for
	different sign

2013-07-10  Kito Cheng <kito@0xlab.org>

	* src/char.c, src/chewingio.c, src/chewingutil.c, src/choice.c,
	src/common/key2pho.c, src/hash.c, src/mod_aux.c, src/pinyin.c,
	src/porting_layer/src/plat_mmap_posix.c, src/tools/maketree.c,
	src/tree.c, src/userphrase.c, src/zuin.c: Clean up trailing
	whitespace

2013-07-06  ChangZhuo Chen <czchen@gmail.com>

	* configure.ac: Remove unused HAVE_DECL_RTLD_NEXT check

2013-07-06  Jim Huang <jserv@0xlab.org>

	* .gitignore: .gitignore: Update for test suite output

2013-07-06  Jim Huang <jserv@0xlab.org>

	* NEWS: Update NEWS

2013-07-06  Jim Huang <jserv@0xlab.org>

	* src/chewingutil.c: asprintf is provided by GNU extensions and *BSD

2013-07-06  Jim Huang <jserv@0xlab.org>

	* src/hash.c: migrate_hash_to_bin: simplify the usage of parameter

2013-07-05  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/memory-private.h: Fix Visual Studio compiling
	error

2013-07-05  Jim Huang <jserv@0xlab.org>

	* src/chewingutil.c: Eliminate the warnings

2013-07-05  Bo-cheng Jan <school510587@yahoo.com.tw>

	* src/chewingutil.c: Remove redundant candPerPage variable.

2013-07-05  Bo-cheng Jan <school510587@yahoo.com.tw>

	* include/internal/zuin-private.h, src/chewingio.c, src/zuin.c: Fix
	redundant pZuin parameters.

2013-07-05  Bo-cheng Jan <school510587@yahoo.com.tw>

	* src/char.c: Fix wrd_ptr->word to wrd_ptr->word[0] for Str2Word(),
	considering type consistency.

2013-07-05  Bo-cheng Jan <school510587@yahoo.com.tw>

	* src/chewingutil.c: Add const qualifier for keybuf[] & chibuf[] in
	SpecialSymbolInput()

2013-07-03  Jim Huang <jserv@0xlab.org>

	* AUTHORS: Update contributor list Added: Hialan Liu and Bo-cheng Jan

2013-07-02  Bo-cheng Jan <school510587@yahoo.com.tw>

	* include/mod_aux.h: Fix typo in chewing_commit_Check() description Signed-off-by: Jim Huang <jserv@0xlab.org>

2013-07-02  Bo-cheng Jan <school510587@yahoo.com.tw>

	* include/mod_aux.h: mod_aux.h: Fix typo in filename declaration Signed-off-by: Jim Huang <jserv@0xlab.org>

2013-07-03  Bo-cheng Jan <school510587@yahoo.com.tw>

	* src/choice.c: Fix assert() condition for ChoiceInfoAppendChi() Signed-off-by: Jim Huang <jserv@0xlab.org>

2013-07-01  ChangZhuo Chen <czchen@gmail.com>

	* src/char.c, src/dict.c: Fix --disable-binary-data missing include

2013-07-01  ChangZhuo Chen <czchen@gmail.com>

	* src/dict.c: Fix missing include

2013-07-01  ChangZhuo Chen <czchen@gmail.com>

	* src/char.c, src/chewingutil.c, src/choice.c,
	src/common/key2pho.c, src/dict.c, src/hash.c, src/mod_aux.c,
	src/pinyin.c, src/porting_layer/include/plat_path.h,
	src/tools/maketree.c, src/userphrase.c, src/zuin.c: Cleanup include According to include-what-you-use [1], several includes are
	unnecessary, so we just remove them.  [1] https://code.google.com/p/include-what-you-use/

2013-06-27  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort.c: Add line number in error message

2013-06-26  ChangZhuo Chen <czchen@gmail.com>

	* data/tsi.src: Add 電波 (ㄉㄧㄢˋ ㄆㄛ)

2013-06-26  ChangZhuo Chen <czchen@gmail.com>

	* data/tsi.src: Add 鑰匙 (ㄧㄠˋ ㄕ˙) family

2013-06-26  ChangZhuo Chen <czchen@gmail.com>

	* data/tsi.src: Add 尋短 (ㄒㄩㄣˊ ㄉㄨㄢˇ)

2013-06-26  ChangZhuo Chen <czchen@gmail.com>

	* data/tsi.src: Add phrases for 埔(ㄆㄨˇ)

2013-06-26  ChangZhuo Chen <czchen@gmail.com>

	* data/phone.cin, data/tsi.src: Remove 學(ㄒㄧㄠˊ) and 学

2013-06-26  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, configure.ac, test/Makefile.am,
	test/test-memory-fail.c: Remove test-memory-fail test-memory-fail uses --wrap option to replace standard
	malloc/calloc with customized one with fail countdown. In this way,
	we can emulate malloc/calloc fails to test error handling in
	libchewing.  However, in platform like FreeBSD, we also replace the
	malloc/calloc used in fscanf, and fscanf will abort the test when
	malloc/calloc fail.  Since we do not find a suitable way to test malloc/calloc failure in
	FreeBSD, and malloc/calloc fails is very rare case in system, the
	test-memory-fail is removed.  Closed #43

2013-06-25  ChangZhuo Chen <czchen@gmail.com>

	* configure.ac: Fix indent

2013-06-24  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, cmake/config.h.in, configure.ac,
	include/internal/memory-private.h, src/common/Makefile.am,
	src/common/memory.c: Inline memory access function

2013-06-24  Jim Huang <jserv@0xlab.org>

	* README: Classify the build dependency

2013-06-24  ChangZhuo Chen <czchen@gmail.com>

	* README: Update README for tools version, CI service

2013-06-24  ChangZhuo Chen <czchen@gmail.com>

	* README: Add minimal build tools requirement

2013-06-22  ChangZhuo Chen <czchen@gmail.com>

	* configure.ac, src/Makefile.am: Use -version-number in libtool -version-info uses CURRENT/REVISION/AGE format, which is buggy in
	BSD family [1] and it is not the same as cmake MAJOR/MINOR/REVISION
	format.  Using -version-number to replace -version-info can solve
	both the problems.  Closed #55 [1]
	https://lists.gnu.org/archive/html/bug-libtool/2011-05/msg00007.html

2013-06-21  ChangZhuo Chen <czchen@gmail.com>

	* .travis.yml: Fix travis-ci address sanitizer build

2013-06-21  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt: Add option NO_UNDEFINED to disable --no-undefined When using address sanitizer, several symbols are added to object
	files.  If linking them with `-Wl,--no-undefined', the linking will
	fail due to undefined symbols. The option NO_UNDEFINED is added to
	disable `-Wl,--no-undefined'.

2013-06-21  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt: Merge compiler configuration for GNU and Clang

2013-06-21  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, src/Makefile.am: Add LDFLAG -Wl,--no-undefined The LDFLAG `-Wl,--no-undefined' will cause linker to report any
	unresolved symbols when linking libchewing.so, which is good because
	libchewing.so shall not contain any resolved symbols at all.  The original `-no-undefined' does not do this job in GNU/Linux, see
	[1] for more information.  [1] http://lists.gnu.org/archive/html/libtool/2009-03/msg00026.html

2013-06-21  ChangZhuo Chen <czchen@gmail.com>

	* : commit 6e17848d3ce91f89bf7b30abb8e235bb2b327f7a Author:
	ChangZhuo Chen <czchen@gmail.com> Date:   Thu Jun 20 23:56:01 2013
	+0800

2013-06-18  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, Makefile.am, include/internal/memory-private.h,
	src/common/Makefile.am, src/common/memory.c, src/dict.c, src/hash.c: 
	Prevent unaligned memory access Certain platforms (ex: Sparc[1]) have memory alignment restrict. A
	misaligned memory access will casue bus error. In order to prevent
	it, several helper functions are added to access unaligned memory.  Closed #53 [1] http://docs.oracle.com/cd/E19253-01/816-4854/hwovr-2/index.html

2013-06-15  ChangZhuo Chen <czchen@gmail.com>

	* .travis.yml: Add address sanitizer check in travis-ci

2013-06-04  ChangZhuo Chen <czchen@gmail.com>

	* Makefile.am: Add cmake/version.texi.in to EXTRA_DIST

2013-05-29  ChangZhuo Chen <czchen@gmail.com>

	* doc/libchewing.texi: Add document for chewing_set_logger

2013-05-24  ChangZhuo Chen <czchen@gmail.com>

	* include/chewingio.h, include/global.h,
	include/internal/chewing-private.h, src/chewingio.c, src/private.h,
	test/test-logger.c: Add log level

2013-05-22  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore, CMakeLists.txt, test/Makefile.am, test/test-logger.c: 
	Add unit test for logger

2013-05-22  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, cmake/config.h.in, configure.ac,
	include/chewingio.h, include/internal/chewing-private.h,
	src/chewingio.c, src/chewingutil.c, src/hash.c, src/private.h,
	src/tree.c: Add new API chewing_set_logger

2013-05-22  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, cmake/config.h.in: Fix cmake check for integer
	related headers

2013-05-21  ChangZhuo Chen <czchen@gmail.com>

	* data/phone.cin: Fix misplace word

2013-05-21  ChangZhuo Chen <czchen@gmail.com>

	* doc/libchewing.texi, include/internal/chewing-private.h,
	src/chewingio.c, src/chewingutil.c, test/test-config.c: Change
	default maxChiSymbolLen to 39

2013-05-21  ChangZhuo Chen <czchen@gmail.com>

	* test/test-config.c: Update test message

2013-05-18  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt: Add USE_VALGRIND option in cmake

2013-05-17  Jim Huang <jserv@0xlab.org>

	* src/private.h: Rewrite macro STATIC_ASSERT to avoid recent GCC
	warnings Reference:   http://www.pixelbeat.org/programming/gcc/static_assert.html

2013-05-17  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, src/chewingutil.c, test/test-userphrase.c: Fix
	NoSymbolBetween() Closed #46

2013-05-15  ChangZhuo Chen <czchen@gmail.com>

	* test/test-userphrase.c: Fix indent

2013-05-14  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c: Add test case for selecting 4-bytes UTF8

2013-05-13  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c: Add test case for phoneSeq API

2013-05-12  ChangZhuo Chen <czchen@gmail.com>

	* doc/libchewing.texi, src/chewingio.c, src/chewingutil.c,
	test/test-config.c: Reduce maxChiSymbolLen to 39 to avoid overflow The current preedit buffer size is MAX_PHONE_SEQ_LEN. libchewing
	needs to auto commit preedit buffer before reaching
	MAX_PHONE_SEQ_LEN.  However, the original auto commit threshold,
	MAX_PHONE_SEQ_LEN - 1, is not okay because in worst case, the
	preedit buffer might increase MAX_PHRASE_LEN at once. In this case,
	libchewing crashes due to buffer overflow.  In order to fix the issue, we reduce the maximum value of
	maxChiSymbolLen to MAX_PHONE_SEQ_LEN - MAX_PHRASE_LEN = 39, so in
	worst case, libchewing still have enough preedit buffer.  Fixed #52

2013-05-11  ChangZhuo Chen <czchen@gmail.com>

	* test/test-config.c: Add test case for maxChiSymbolLen

2013-05-11  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingutil.c: Add assert

2013-05-10  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingutil.c: Add assert

2013-04-25  Jim Huang <jserv@0xlab.org>

	* README: README: mention LGPL explicitly

2013-04-25  Jim Huang <jserv@0xlab.org>

	* README: README: OXIM is inactive actually

2013-04-25  ChangZhuo Chen <czchen@gmail.com>

	* README: Add cmake to README

2013-04-19  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort.c: Store index in word for stable sort In FreeBSD, the compare function for qsort() cannot use address to
	implement stable sort because the address passed to compare function
	is not the original one. Thus we change to use index instead of
	address to implement stable sort.  See [1] for more information.  [1]

	https://groups.google.com/d/msg/chewing-devel/cUovLo0zGuc/-t2S3OfMDcYJ

2013-04-13  ChangZhuo Chen <czchen@gmail.com>

	* doc/libchewing.texi, src/chewingio.c, src/chewingutil.c,
	test/test-config.c: Modify chewing_set_maxChiSymbolLen to fix #50 The original chewing_set_maxChiSymbolLen adds ZUIN_SIZE when
	determine if auto commit is needed. It is ambiguous because user
	expects the value set by chewing_set_maxChiSymbolLen is the maximum
	character/symbol in preedit buffer. By removing ZUIN_SIZE, the
	behavior is the same as user expectation.

2013-03-22  ChangZhuo Chen <czchen@gmail.com>

	* test/test-userphrase.c: Add test cases for auto learn phrase

2013-03-22  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore, CMakeLists.txt, test/Makefile.am,
	test/test-bopomofo.c, test/test-userphrase.c: Move userphrase test
	cases to test-userphrase.c

2013-03-21  ChangZhuo Chen <czchen@gmail.com>

	* .travis.yml: Remove email notification for travis-ci

2013-03-21  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort.c: Fix assertion failure in Visual Studio isspace() in Visual Studio only accepts 0 ~ 255. However, the char
	in Visual Studio is signed char, thus it causes assertion failure
	when calling isspace().  To prevent it, we must convert char to
	unsigned char before calling isspace().

2013-03-21  ChangZhuo Chen <czchen@gmail.com>

	* src/hash.c: Fix parameter of strncat

2013-03-21  ChangZhuo Chen <czchen@gmail.com>

	* cmake/FindCurses.cmake: Add full license text in FindCurses.cmake

2013-03-20  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, cmake/version.texi.in: Generate libchewing.info in
	cmake

2013-03-15  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, Makefile.am, cmake_chewing.pc.in =>
	cmake/chewing.pc.in, include/cmake_config.h.in => cmake/config.h.in: 
	Move cmake related *.in files to cmake directory

2013-03-15  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, Makefile.am, cmake/FindCurses.cmake,
	include/cmake_config.h.in: Build gen_keystroke in cmake

2013-02-20  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort.c: Stop when tsi.src contains wrong phrase

2013-02-15  ChangZhuo Chen <czchen@gmail.com>

	* data/phone.cin, data/tsi.src: Update phone.cin and tsi.src

2013-03-02  Jim Huang <jserv@0xlab.org>

	* Makefile.am: Deploy contrib directory in final release

2013-02-28  Ding-Yi Chen <dingyichen@gmail.com>

	* doc/libchewing.texi: Fixed #49 Added dircategory and direntry

2013-02-28  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, test/Makefile.am, test/test-memory-fail.c: Use ld
	to replace malloc/calloc for testing The original code uses dlsym with RTLD_NEXT to replace malloc/calloc
	for testing. However, this implementation causes the following error
	when using address sanitizer [1] in clang 3.2.  =================================================================
	==2775== ERROR: AddressSanitizer: attempting free on address which
	was not malloc()-ed: 0x000002b43040     #0 0x4b95e0
	(/home/czchen/src/chewing/build-libchewing/test/test-memory-fail+0x4b95e0)    #1 0x40dda9
	(/home/czchen/src/chewing/build-libchewing/test/test-memory-fail+0x40dda9)...  In order to prevent this error, we use --wrap option in ld to
	replace malloc/calloc instead.  [1] https://code.google.com/p/address-sanitizer/

2013-02-26  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort.c: Fix accessing invalid memory when line is empty

2013-02-22  ChangZhuo Chen <czchen@gmail.com>

	* data/Makefile.am: Touch only $@ when gendata_stamp complete

2013-02-19  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort.c: Add exception phrases

2013-02-15  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort.c: Add exception word list

2013-02-15  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort.c: Implement exception rule for 疊字

2013-02-15  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort.c: Change sort error output format

2013-02-14  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort.c: Remove phrase same frequency check

2013-02-14  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort.c: Add exception phrases

2013-02-14  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort.c: Add # comment for phone.cin and tsi.src

2013-02-13  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c, test/testhelper.c: Add test case for CtrlNum

2013-02-13  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c: Add test cases for Numlock

2013-02-12  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c: Add test cases for CtrlNum, PageUp, PageDown

2013-02-11  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingutil.c: Remove unused code

2013-02-11  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingutil.c: Use ARRAY_SIZE

2013-02-11  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore: Update .gitignore

2013-02-11  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h, src/chewingio.c,
	src/chewingutil.c, src/choice.c: Add symbolic name for isSymbol

2013-02-07  ChangZhuo Chen <czchen@gmail.com>

	* configure.ac: Remove maintainer mode To quote from automake manual [1]:     Several years ago François Pinard pointed out several arguments     against this AM_MAINTAINER_MODE macro. Most of them relate to     insecurity. By removing dependencies you get non-dependable
	    builds: changes to sources files can have no effect on generated
	    files and this can be very confusing when unnoticed. He adds that
	    security shouldn't be reserved to maintainers (what
	    --enable-maintainer-mode suggests), on the contrary. If one user has
	    to modify a Makefile.am, then either Makefile.in should be updated
	    or a warning should be output (this is what Automake uses missing
	    for) but the last thing you want is that nothing happens and the
	    user doesn't notice it (this is what happens when rebuild rules are
	disabled by AM_MAINTAINER_MODE).  [1]

	http://www.gnu.org/savannah-checkouts/gnu/automake/manual/html_node/maintainer_002dmode.html

2013-02-07  ChangZhuo Chen <czchen@gmail.com>

	* : Merge for Windows platform

2013-02-07  Ding-Yi Chen <dingyichen@gmail.com>

	* data/tsi.src: Fixes #38

2013-02-02  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, test/test-regression.c: Do not store user phrase
	when its length is 1 chewing_handle_Enter() uses chewing_handle_CtrlNum() to store user
	phrase.  However, instead of storing user phrase,
	chewing_handle_CtrlNum() turns on select window when key is 0 or 1.
	So Enter key might accidently turns on select window.  The problem is, chewing_handle_Enter() modifies chiSymbolCursor
	before calling chewing_handle_CtrlNum(), while
	chewing_handle_CtrlNum() needs correct chiSymbolCursor to turn on
	select window. In this case, chiSymbolCursor might set to an invalid
	value and crash the library eventually.  To prevent this, chewing_handle_Enter() will not call
	chewing_handle_CtrlNum() when length of user phrase is less then 2.

2013-01-31  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, test/test-regression.c: Check chiSymbolBufLen in
	chewing_handle_Numlock() When starting select mode, libchewing will copy chiSymbolCursor to
	oldChiSymbolCursor. The oldChiSymbolCursor will copy back to
	chiSymbolCursor after finishing select mode. This action assumes
	that chiSymbolBufLen never changes during select mode, or
	chiSymbolCursor will out of bound and cause crash eventually.  The chiSymbolBufLen will change when it exceeds limitation.
	Normally, it will not happen during select mode because select mode
	does not increase chiSymbolBufLen. However, if the chiSymbolBufLen
	already exceeds limitation before entering select mode, it will
	change in select mode and libchewing might crash after restoring
	chiSymbolBufLen to out of bound value.  This scenario happens when we use num lock to select symbol. Select
	symbol increase chiSymbolBufLen and num lock does not check
	chiSymbolBufLen after selecting. This cause chiSymbolBufLen out of
	bound and next select mode will change the value of chiSymbolBufLen
	and cause crash.

2013-01-27  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingutil.c, src/choice.c: Add assert

2013-01-27  ChangZhuo Chen <czchen@gmail.com>

	* test/testchewing.c, test/testhelper.c, test/testhelper.h: Add
	type_single_keystroke() for testing

2013-01-25  Kuang-che Wu <kcwu@csie.org>

	* test/gen_keystroke.c: Fix compile error

2013-01-25  Kuang-che Wu <kcwu@csie.org>

	* data/Makefile.am: Avoid use gmake only syntax

2013-01-23  Kuang-che Wu <kcwu@csie.org>

	* test/gen_keystroke.c, test/randkeystroke.c, test/testchewing.c,
	test/testhelper.c, test/testhelper.h: Make randkeystroke generate
	more random keys

2013-01-21  ChangZhuo Chen <czchen@gmail.com>

	* src/choice.c, test/test-regression.c: Set isSymbol to 0 in
	SetChoiceInfo SetChoiceInfo updates the ChoiceInfo for word or phrase, thus it
	needs to set isSymbol to 0 to ensure it will not goto symbol choose
	in the following code.  See [1] for more information.  [1] http://code.google.com/p/chewing/issues/detail?id=472

2013-01-21  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c, test/test-config.c,
	test/test-easy-symbol.c, test/test-fullshape.c,
	test/test-regression.c, test/test-reset.c,
	test/test-special-symbol.c, test/test-symbol.c, test/testhelper.c,
	test/testhelper.h: Rename functions due to typo (keystoke ->
	keystroke)

2013-01-19  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, test/test-regression.c: Fix 'j', 'k' in select
	mode cannot handle symbol selecting The original code uses ChoiceFirstAvail() when using 'j', 'k' in
	select mode.  However, ChoiceFirstAvail() can only handle word and
	phrase selectin. If encounting symbol selecting, ChoiceFirstAvail()
	will fail to setup the selecting, and lib will crash eventually. See
	[1].  [1] http://code.google.com/p/chewing/issues/detail?id=472

2013-01-18  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, src/chewingutil.c, src/choice.c: Add assert for
	pci->nTotalChoice and pgdata->choiceInfo.nPage

2013-01-18  ChangZhuo Chen <czchen@gmail.com>

	* test/test-regression.c: Rewrite test case for googlecode issue 472

2013-01-18  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, configure.ac: Copy stresstest.py to binary tree
	when using out of tree build

2013-01-18  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt: Rewrite cmake rules for static data

2013-01-18  ChangZhuo Chen <czchen@gmail.com>

	* test/stresstest.py: Add execute permission to stresstest.py

2013-01-18  Kuang-che Wu <kcwu@csie.org>

	* test/stresstest.py: Add script to run stress test

2013-01-17  ChangZhuo Chen <czchen@gmail.com>

	* test/test-regression.c: Add regression test for googlecode issue
	472

2013-01-17  ChangZhuo Chen <czchen@gmail.com>

	* src/choice.c: Do not call GetCharNext() when GetCharFirst() fails Fix for googlecode issue 472 [1].  [1] http://code.google.com/p/chewing/issues/detail?id=472

2013-01-15  Kuang-che Wu <kcwu@csie.org>

	* test/randkeystroke.c: Fix number of zhuin keys in random keystroke
	generator

2013-01-15  ChangZhuo Chen <czchen@gmail.com>

	* src/hash.c: Do not modify hash when fopen fails

2013-01-15  Kuang-che Wu <kcwu@csie.org>

	* include/chewing.h: Fix typo

2013-01-15  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt: Fix cmake in non Windows platform

2013-01-14  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt: Include header files in cmake target

2013-01-12  ChangZhuo Chen <czchen@gmail.com>

	* src/porting_layer/src/plat_path.c: Change Windows default data
	search path to %WINDIR%\chewing

2013-01-07  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt: Manual set output path for Visual Studio Visual Studio appends configuration (Debug, MinSizeRel, Release,
	RelWithDebInfo) into output path, whith is not desirable because we
	need to know output path for custom command.

2013-01-07  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt: Build common as object library in cmake Set common as object library to create correct chewing.lib. If we do
	not set common as object library, the chewing.lib will not contain
	functions in common.lib, and linking to chewing.lib causes
	unresolved external symbol error.  See [1] for detail information.  [1] http://stackoverflow.com/a/11448878/79816

2013-01-09  Jim Huang <jserv@0xlab.org>

	* data/tsi.src: data: Add '新北市' as requested

2013-01-08  ChangZhuo Chen <czchen@gmail.com>

	* Makefile.am: Fix `make release'

2013-01-07  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt: Fix Visual Studio build in cmake

2012-12-29  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, configure.ac, test/Makefile.am,
	test/test-memory-fail.c: Add test for memory malloc fail handling The test-memory-fail.c implement fault injection for malloc() and
	calloc() via RTLD_NEXT.

2012-12-29  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt: Add Clang compiler options in cmake

2012-12-30  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, data/Makefile.am, src/tools/Makefile.am,
	src/tools/sort.c, src/tools/sort_dic.c, src/tools/sort_word.c: Add
	sort to replace sort_word and sort_dic The sort reads phone.cin and tsi.src as input, and generate the same
	output as sort_word and sort_dic. However, because it reads both at
	the same time, it can do more accuracy check then sort_word and
	sort_dic.  The following checks are added in sort: - sort.c   - MAX_WORD_DATA not enough   - MAX_PHRASE_DATA not enough - phone.cin   - Duplicated word - tsi.src   - Duplicated phrase   - Two phrases have the same phone and frequency (show error
	  message only) - format error   - bopomofo error   - phrase length and bopomofo length mismatch   - bopomofo in word of phrase is not found in phone.cin (show error
	    message only)

2012-12-30  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h: Increase MAX_PHRASE_LEN to 11
	for `金窩銀窩不如自己的狗窩'

2012-12-30  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort_dic.c: Increase num in RECORD for 0 terminated

2012-12-30  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt: Fix cmake build when USE_BINARY_DATA=off

2013-01-03  ChangZhuo Chen <czchen@gmail.com>

	* Makefile.am: Fix `make release'

2013-01-06  Jim Huang <jserv@0xlab.org>

	* data/phone.cin, data/tsi.src: data: Fix Bopomofo representation of
	'烴' Refer to 重編國語辭典修訂本 and Wikipedia

2013-01-01  ChangZhuo Chen <czchen@gmail.com>

	* src/porting_layer/include/plat_path.h: Fix wrong #ifdef

2012-12-31  ChangZhuo Chen <czchen@gmail.com>

	* data/tsi.src: Remove duplicated phrases

2012-12-31  ChangZhuo Chen <czchen@gmail.com>

	* data/tsi.src: Remove duplicated phrase `三輕'

2012-12-31  Jim Huang <jserv@0xlab.org>

	* CMakeLists.txt, Makefile.am: automake: Distribute CMake build
	system

2012-12-31  Jim Huang <jserv@0xlab.org>

	* AUTHORS, README: AUTHORS: Add Wei-Hao Syu for his contributions
	about THL and MPS2 Pinyin

2012-12-31  Jim Huang <jserv@0xlab.org>

	* NEWS: post release development

2012-12-31  Jim Huang <jserv@0xlab.org>

	* NEWS: NEWS: finalize release 0.3.4

2012-12-31  Jim Huang <jserv@0xlab.org>

	* configure.ac: Bump version to 0.3.4

2012-12-31  Jim Huang <jserv@0xlab.org>

	* Makefile.am, scripts/ChangeLog-svn, scripts/git2cl: Makefile.am:
	Add maintainer's release target After our migrating to GIT, ChangeLog is no longer written by
	developers.  However, we would expect to check the detailed
	development history in each release, and the generated file
	ChangeLog should be shipped as well.  use `make release`` to obtain the release tarball in bzip2 form.

2012-12-30  Jim Huang <jserv@0xlab.org>

	* data/phone.cin, data/tsi.src: data: Correct Bopomofo
	representation of '餑'

2012-12-30  Jim Huang <jserv@0xlab.org>

	* data/phone.cin, data/tsi.src: data: Correct bopomofo
	representation of '一骨碌' and '一轂轆'

2012-12-30  Jim Huang <jserv@0xlab.org>

	* data/phone.cin, data/tsi.src: tsi.src/phone.cin: Add variants
	about '掇' Refer to 重編國語辭典修訂本 (Ministry of Education, R.O.C.)

2012-12-30  Jim Huang <jserv@0xlab.org>

	* data/Makefile.am: data: minor build target tweak

2012-12-30  Jim Huang <jserv@0xlab.org>

	* data/Makefile.am: data: Track tsi.src and phone.cin to guarantee
	the generated files

2012-12-30  Jim Huang <jserv@0xlab.org>

	* data/tsi.src: data/tsi.src: Remove unused Removed: 左邊攔, 老上去

2012-12-30  Jim Huang <jserv@0xlab.org>

	* NEWS: NEWS: Mention GCIN/HIME integration

2012-12-30  Jim Huang <jserv@0xlab.org>

	* NEWS: NEWS: Mention THL and MPS2 Pinyin keyboard layout support

2012-12-30  Wei-Hao Syu <whsyu.tw@gmail.com>

	* data/pinyin.tab, include/internal/chewing-private.h,
	include/internal/chewingutil.h, include/internal/pinyin-private.h,
	include/internal/zuin-private.h, src/chewingio.c,
	src/chewingutil.c, src/choice.c, src/common/key2pho.c,
	src/pinyin.c, src/zuin.c, test/test-keyboard.c: Support THL (Taiwan
	Huayu Luomapinyin) and MPS2 Pinyin keyboard THL (Taiwan Huayu Luomapinyin)[*] is derived from Hanyu Pinyin
	system and adapted according to the conventions in Taiwan.  This
	patch introduces two key layouts: THL and MPS2 Pinyin
	(注音二式).  Also, the case when one key sequence is mapped to
	several Pinyin representations is considered.  The new-added
	phoneAlt in struct ZuinData is used for such purpose.  For example:   KB_THL_PINYIN: (Taiwan Huayu Luomapinyin)   phone: 0x1c80  (ㄒㄧ)   phoneAlt: 0x2a00 (ㄙ)   KB_HANYU_PINYIN:   phone: 0x2a00 (ㄙ)   phoneAlt: 0x1c80  (ㄒㄧ) The phonetic representation will be decided upon the given keyboard
	layout.  Check the following discussion for details:
	https://groups.google.com/group/chewing-devel/browse_thread/thread/4b5aefc87356d2fe[*] http://thl.tw/about Signed-off-by: Jim Huang <jserv@0xlab.org>

2012-12-30  ChangZhuo Chen <czchen@gmail.com>

	* .travis.yml: Adjust travis-ci configuration Now we only build the following conbinations: - gcc + autotools - gcc + autotools + --disable-binary-data - clang + autotools - gcc + cmake

2012-12-30  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h, src/char.c, src/chewingio.c,
	src/dict.c, src/tree.c, test/test-path.c: Fix non binary data build

2012-12-30  ChangZhuo Chen <czchen@gmail.com>

	* data/phone.cin: Remove duplicated word in phone.cin

2012-12-29  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingutil.c: Fix memory leak when malloc() fails

2012-12-29  Jim Huang <jserv@0xlab.org>

	* TODO: TODO: drop minor optimizations

2012-12-29  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/hash-private.h,
	include/internal/userphrase-private.h: Do not typedef ChewingData in
	userphrase-private.h Some compilers (ex gcc 4.2.1) cannot compile due to "redefinition
	error", so we cannot typedef ChewingData in userphrase-private.h.
	The reason why we cannot include chewing-private.h in
	userphrase-private.h is because windows-chewing project.  The current windows-chewing project needs to include hash-private.h,
	which includes userphrase-private.h. If we include
	chewing-private.h, the dependency will become windows-chewing ->
	hash-private.h -> userphrase-private.h -> chewing-private.h ->
	plat_mmap.h -> plat_types.h -> ... and eventually we need all
	headers in libchewing to build windows-chewing.  Thank whsyu for reporting this issue.

2012-12-28  Jim Huang <jserv@0xlab.org>

	* CMakeLists.txt, Makefile.am,
	include/internal/{hanyupinyin-private.h => pinyin-private.h},
	src/Makefile.am, src/chewingio.c, src/{hanyupinyin.c => pinyin.c},
	src/zuin.c: Rename all occurrence of 'hanyupinyin' with 'pinyin' to
	be more generic We are going to merge THL-Pinyin (台灣華語羅馬拼音) and
	MPS2-Pinyin (注音二式).  It should be better to make naming more
	consistent.

2012-12-28  Jim Huang <jserv@0xlab.org>

	* NEWS: NEWS: reflect recent changes

2012-12-28  Jim Huang <jserv@0xlab.org>

	* data/tsi.src: tsi.src: Add variants about '嬛' Refer to 重編國語辭典修訂本 (Ministry of Education, R.O.C.)
	and "漢語大詞典"

2012-12-28  ChangZhuo Chen <czchen@gmail.com>

	* test/Makefile.am: Fix `make valgrind-check'

2012-12-28  ChangZhuo Chen <czchen@gmail.com>

	* test/test-config.c: Fix memory error in test suite

2012-12-28  ChangZhuo Chen <czchen@gmail.com>

	* .travis.yml, CMakeLists.txt: Add memory test in `cmake test'

2012-12-28  ChangZhuo Chen <czchen@gmail.com>

	* .travis.yml: Add cmake build to travis-ci

2012-12-28  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* .travis.yml: Setup email

2012-12-27  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* .travis.yml: Add texinfo dep

2012-12-27  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* .travis.yml: Add .tarvis.yml. Closes #42

2012-12-27  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt: Build only static library in Visual Studio Do not build shared library in Visual Studio because shared and
	static libraries both have the same extension name `lib'. It will
	cause name collision if we build both. See [1] for more information.  [1] http://xenophilia.org/winvunix.html

2012-12-27  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h,
	include/internal/userphrase-private.h, src/chewingio.c, src/hash.c,
	src/tree.c: Use forward declaration to break include dependencies

2012-12-26  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort_dic.c: Return error when phrase and bopomofo length
	mismatch

2012-12-26  ChangZhuo Chen <czchen@gmail.com>

	* data/tsi.src: Fix errors in tsi.src

2012-12-26  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort_dic.c: Check invalid bopomofo string in tsi.src

2012-12-26  ChangZhuo Chen <czchen@gmail.com>

	* src/common/chewing-utf8-util.c, src/common/key2pho.c,
	test/test-key2pho.c: Return 0 when UintFromPhone receives invalid
	bopomofo

2012-12-26  ChangZhuo Chen <czchen@gmail.com>

	* src/common/key2pho.c: Remove magic number

2012-12-26  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c: Avoid using UTF8 literal

2012-12-26  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt: Prepend the CMAKE_C_FLAGS in CMakeLists.txt The CMAKE_C_FLAGS might be set by user via `cmake
	-DCMAKE_C_FLAGS=-O0 ...'.  Since the CMAKE_C_FLAGS provided by user
	shall have highest priority, we shall prepend instead of append the
	CMAKE_C_FLAGS.

2012-12-26  Jim Huang <jserv@0xlab.org>

	* data/tsi.src: Fix incorrect Bopomofo sequence of '冼' Reported by Bo-cheng Jan <school510587@yahoo.com.tw>

2012-12-22  ChangZhuo Chen <czchen@gmail.com>

	* .gitattributes: Treat /test/default-test.txt as binary file in git /test/default-test.txt is used to test mmap functionality, and its
	size must be 28. To prevent git from doing LF -> CRLF conversion, we
	need to set its attribute as binary.

2012-12-21  Jim Huang <jserv@0xlab.org>

	* CMakeLists.txt: cmake: Implement option USE_BINARY_DATA

2012-12-21  Jim Huang <jserv@0xlab.org>

	* CMakeLists.txt: cmake: Separate build time flags properly

2012-12-21  Jim Huang <jserv@0xlab.org>

	* CMakeLists.txt: cmake: Simplify the defintion for ENABLE_DEBUG

2012-12-21  Jim Huang <jserv@0xlab.org>

	* CMakeLists.txt: cmake: Make option "Debug support" functional to
	compilers

2012-12-18  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingutil.c, src/porting_layer/include/plat_path.h,
	src/porting_layer/src/plat_path.c: Use #ifdef instead of #if

2012-12-18  ChangZhuo Chen <czchen@gmail.com>

	* test/simulate.c, test/test-bopomofo.c, test/test-config.c,
	test/test-easy-symbol.c, test/test-fullshape.c,
	test/test-key2pho.c, test/test-regression.c, test/test-reset.c,
	test/test-special-symbol.c, test/test-symbol.c, test/test-utf8.c,
	test/testhelper.c, test/testhelper.h: Rewrite test suite to support
	Visual Studio See 9942777acb0b2147340275ae0bfa55415f0f43c1 for detail.

2012-12-18  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore: Update .gitignore for cmake and Visual Studio

2012-12-18  ChangZhuo Chen <czchen@gmail.com>

	* CMakeLists.txt, cmake_chewing.pc.in, include/cmake_config.h.in: 
	Add cmake as another build system

2012-12-17  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h: Do not define min and max in
	Visual Studio Visual Studio has its own min and max.

2012-12-16  ChangZhuo Chen <czchen@gmail.com>

	* test/Makefile.am, test/test-bopomofo.c, test/test-config.c,
	test/test-easy-symbol.c, test/test-fullshape.c,
	test/test-key2pho.c, test/test-keyboard.c, test/test-mmap.c,
	test/test-path.c, test/test-regression.c, test/test-reset.c,
	test/test-special-symbol.c, test/test-symbol.c, test/test-utf8.c,
	test/testchewing.c, test/{test.c => testhelper.c}, test/{test.h =>
	testhelper.h}: Rename libtest to libtesthelper cmake uses `make test' to launch test suite, so we cannot have any
	target named test.

2012-12-18  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort_dic.c: Add 結巴(ㄐㄧㄝ ㄅㄚ˙) as an
	exception phrase

2012-12-17  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, src/chewingutil.c, src/tools/sort_dic.c: Rewrite
	to support Visual Studio Visual Studio does not support the following parts of source code: - Visual Studio does not support C99, so we cannot use designated
	  initializer and we need to declare all variables before statement.  - Visual Studio uses BOM to determine file encode, so it does not
	  consider source files as UTF8 encoding. All UTF8 string in source
	  shall written as escaped string.

2012-12-15  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c: Fix AutoShiftCur when bPhraseChoiceRearward is 1 When bPhraseChoiceRearward is 1, the cursor before auto shift is at
	the end of phrase. Thus the new cursor position is the old cursor
	position + 1.

2012-12-15  ChangZhuo Chen <czchen@gmail.com>

	* test/test-regression.c: Add test case for libchewing issue 30

2012-12-15  ChangZhuo Chen <czchen@gmail.com>

	* data/tsi.src: Fix several phrases in tsi.src

2012-12-15  ChangZhuo Chen <czchen@gmail.com>

	* data/phone.cin: Add 虎(ㄏㄨ) and 作(ㄗㄨㄛ)

2012-12-15  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort_dic.c: Add 成日家(ㄔㄥˊ ㄖˋ ㄐㄧㄚ˙) as
	an exception phrase

2012-12-15  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort_dic.c: Add 好萊塢(ㄏㄠˇ ㄌㄞˊ ㄨ) as an
	exception phrase 塢 is not pronounced as ㄨ in [1]. However, 好萊塢 is pronunced
	as ㄏㄠˇ ㄌㄞˊ ㄨ in [2]. So we add it as an exception phrase
	when doing check.  [1] http://dict.variants.moe.edu.tw/ [2]
	http://dict.revised.moe.edu.tw/

2012-12-11  ChangZhuo Chen <czchen@gmail.com>

	* src/porting_layer/src/plat_path.c: Fix default search path

2012-12-10  Jim Huang <jserv@0xlab.org>

	* src/porting_layer/include/sys/plat_windows.h,
	src/porting_layer/src/plat_path.c: porting_layer: Implement strtok_r
	for WIN32/WIN64 strtok_r() is used in our test suite.  The porting-layer is just
	providing such implementation to satisfy the dependency.

2012-12-10  Jim Huang <jserv@0xlab.org>

	* data/Makefile.am: data: call sort_dit with env LC_ALL=C It is possible to use MinGW + WINE for cross-compiling libchewing
	under GNU/Linux.  However, if the locale environment variable is not
	simply "C", sort_dic would cause endless loop.  Set LC_ALL to "C" before calling sort_dic.

2012-12-10  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort_dic.c: Fix compiling warning

2012-12-10  Jim Huang <jserv@0xlab.org>

	* src/tools/sort_dic.c: sort_dic: Avoid using the conflicting
	structure name While cross-compiling with 686-w64-mingw32 target, gcc complains as
	following:   sort_dic.c:58:3: error: conflicting types for ‘WORD’   /usr/i686-w64-mingw32/include/windef.h:114:24: note: previous
	                                                 declaration of ‘WORD’ was here It is better to rename the internal structure.

2012-12-10  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c: Add test cases for Home, End

2012-12-09  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c: Add test cases for Capslock

2012-12-09  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h, src/chewingio.c,
	src/chewingutil.c: Remove unused bCaseChange

2012-12-09  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c: Add test cases for Tab

2012-12-10  Jim Huang <jserv@0xlab.org>

	* README, contrib/Makefile-simple-select, contrib/simple-select.c: 
	contrib: Add simplified example to illustrate the usage of
	libchewing File contrib/simple-select.c was contributed by starforcefield:     starforcefield.wordpress.com/2012/08/13/

2012-12-10  Jim Huang <jserv@0xlab.org>

	* README: README: add web resources

2012-12-10  Jim Huang <jserv@0xlab.org>

	* data/phone.cin, data/tsi.src: data: Correct phonetic
	representation of '什麼' again.  According to Ministry of Education, R.O.C., '什' is regarded as the
	variant of '甚', which should be 'ㄕㄜˊ' in Bopomofo
	representation.  To ensure the compatibility of the original
	sequence, both 'ㄕㄜ˙' and ㄕㄜˊ' are accepted.  Reference:   http://dict.variants.moe.edu.tw/yitia/fra/fra00070.htm Close issue #438   http://code.google.com/p/chewing/issues/detail?id=438

2012-09-08  Bo-cheng Jan <school510587@yahoo.com.tw>

	* src/tools/sort_dic.c: Remove redundant extern declaration and
	comment.

2012-12-10  Jim Huang <jserv@0xlab.org>

	* NEWS: NEWS: append the release date of each version

2012-12-10  Jim Huang <jserv@0xlab.org>

	* README: README: merge the user-guide from ibus with modifications
	about API info The original material:     http://code.google.com/p/ibus/wiki/ChewingUserGuide ) Add libchewing API information

2012-12-10  Jim Huang <jserv@0xlab.org>

	* README: README: improve project descriptions and update the status

2012-12-10  Jim Huang <jserv@0xlab.org>

	* NEWS: NEWS: reflect recent changes

2012-12-08  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c: Fix test case

2012-12-08  ChangZhuo Chen <czchen@gmail.com>

	* data/tsi.src: Fix several errors in tsi.src

2012-12-08  ChangZhuo Chen <czchen@gmail.com>

	* src/tools/sort_dic.c: Increase maximum phrase size to 11

2012-12-08  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/key2pho-private.h, src/common/key2pho.c,
	src/tools/sort_dic.c: Add check in sort_dic Now sort_dic checks the following errors: - The bopomofo in phrase is not in word (like   50101fe213efaad10cb09beef9693e0ec63ee391).  - Length of phrase is not the same as length of bopomofo.

2012-12-08  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, test/test-bopomofo.c: Add test case for
	get_phoneSeq

2012-12-08  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c: Add test cases for ShiftRight

2012-12-06  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore, data/tsi.src, test/Makefile.am,
	test/test-regression.c: Fix 趕人 in tsi.src

2012-12-06  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c: Add missing chewing_delete() in
	test-bopomofo

2012-12-06  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h, src/userphrase.c: Move global
	variable pItemLast to ChewingData

2012-12-06  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c: Add test cases for ShiftLeft

2012-12-06  ChangZhuo Chen <czchen@gmail.com>

	* test/test.c, test/test.h: Add functions for userphrase testing

2012-12-03  ChangZhuo Chen <czchen@gmail.com>

	* test/test-config.c: Refactoring test_set_candPerPage

2012-12-03  ChangZhuo Chen <czchen@gmail.com>

	* src/mod_aux.c: Check calloc failure

2012-12-03  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, test/test-bopomofo.c: Add test cases for Down

2012-12-03  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c, test/test-config.c,
	test/test-easy-symbol.c, test/test-fullshape.c,
	test/test-keyboard.c, test/test-reset.c,
	test/test-special-symbol.c, test/test-symbol.c: Remove check for
	chewing_new to reduce test output

2012-12-03  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, test/test-bopomofo.c: Add test cases for Up

2012-12-03  ChangZhuo Chen <czchen@gmail.com>

	* test/test.c: Fix test message

2012-12-03  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c: Add test cases for Esc, Del, Backspace

2012-12-03  ChangZhuo Chen <czchen@gmail.com>

	* doc/libchewing.texi, test/test.c, test/test.h: Update document and
	test case for chewing_zuin_Check chewing_zuin_Check has different return value than
	chewing_commit_Check, chewing_buffer_Check, chewing_aux_Check.
	Update document and test case for this different.

2012-12-02  ChangZhuo Chen <czchen@gmail.com>

	* test/test.c, test/test.h: Add ok_keystoke_rtn to test keystoke
	return

2012-12-02  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, test/test-config.c: Do input check in
	chewing_set_xxx functions The chewing_set_xxx checks input and does nothing when input is
	invalid.

2012-12-02  ChangZhuo Chen <czchen@gmail.com>

	* test/test-config.c: Rename and reorder test case

2012-12-02  ChangZhuo Chen <czchen@gmail.com>

	* test/test-config.c: Move deprecated API test case to
	test_deprecated

2012-12-02  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, test/test-config.c: Add range check for
	chewing_set_maxChiSymbolLen

2012-12-02  ChangZhuo Chen <czchen@gmail.com>

	* test/test-config.c: Add test case for maxChiSymbolLen

2012-12-02  ChangZhuo Chen <czchen@gmail.com>

	* test/test-config.c: Add test for all default configuration

2012-12-01  ChangZhuo Chen <czchen@gmail.com>

	* doc/libchewing.texi, include/global.h, src/chewingio.c,
	test/test-config.c: Deprecate hsuSelKeyType API chewing_set_hsuSelKeyType and chewing_get_hsuSelKeyType set/get the
	hsuSelKeyType which is not used anymore in current code. Since we
	have chewing_set_selKey and chewing_get_selKey, these two functions
	are marked as deprecated.

2012-12-01  ChangZhuo Chen <czchen@gmail.com>

	* doc/libchewing.texi: Update document

2012-12-01  ChangZhuo Chen <czchen@gmail.com>

	* doc/libchewing.texi, test/test-config.c: Add test case for set
	select key

2012-11-28  ChangZhuo Chen <czchen@gmail.com>

	* test/test.h: Rewrite macro ARRAY_SIZE by using typeof to determine
	the data type See b31a0ec03175aa245fedb22832a91a55a796d148 for more information.

2012-11-28  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore, src/chewingio.c, test/Makefile.am,
	test/test-keyboard.c: Add test-keyboard to test keyboard related API

2012-11-28  ChangZhuo Chen <czchen@gmail.com>

	* COPYING: Update the address of Free Software Foundation.

2012-11-27  ChangZhuo Chen <czchen@gmail.com>

	* src/tree.c: Copy functions description from chewing-report.pdf

2012-11-27  ChangZhuo Chen <czchen@gmail.com>

	* src/mod_aux.c: Fix return value

2012-11-26  ChangZhuo Chen <czchen@gmail.com>

	* README: Fix typo

2012-11-19  ChangZhuo Chen <czchen@gmail.com>

	* src/tree.c: Remove parameters in FindInterval

2012-11-19  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/tree-private.h, src/chewingutil.c, src/tree.c: 
	Remove parameters in Phrasing

2012-11-18  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c, test/test-easy-symbol.c,
	test/test-special-symbol.c, test/test-symbol.c: Add
	ok_preedit_buffer to test preedit buffer content

2012-11-18  ChangZhuo Chen <czchen@gmail.com>

	* test/test.c: Fix internal_ok_buffer for buffer get length function

2012-11-18  ChangZhuo Chen <czchen@gmail.com>

	* test/Makefile.am: Use static link for test

2012-11-21  Jim Huang <jserv@0xlab.org>

	* data/svnrev, data/tsi.src: Sync with libchewingdata project (r460)

2012-11-21  Jim Huang <jserv@0xlab.org>

	* README: README: simplify the description of platform integration

2012-11-21  Jim Huang <jserv@0xlab.org>

	* scripts/gendiff-from-libchewingdata.sh: 
	scripts/gendiff-from-libchewingdata.sh: set locale properly The original logic of this script is to retrieve Subversion
	information from libchewingdata project.  However, the combination
	of awk and cut did not take localized messages into considerations.

2012-11-21  Jim Huang <jserv@0xlab.org>

	* src/private.h: Rewrite macro ARRAY_SIZE by using typeof to
	determine the data type In GCC extensions to C and C++, the typeof operator returns the
	static type of the object, which prevent macro ARRAY_SIZE from
	accepting type char* instead of expected type char[].

2012-11-14  ChangZhuo Chen <czchen@gmail.com>

	* test/test-fullshape.c, test/test-special-symbol.c, test/test.c: 
	Verify return of chewing_commit_Check

2012-11-14  ChangZhuo Chen <czchen@gmail.com>

	* test/test-bopomofo.c, test/test-easy-symbol.c,
	test/test-fullshape.c, test/test-reset.c,
	test/test-special-symbol.c, test/test-symbol.c, test/test.c,
	test/test.h: Update test functions for other buffer type

2012-11-14  ChangZhuo Chen <czchen@gmail.com>

	* src/mod_aux.c: Fix return value

2012-11-13  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, src/chewingutil.c, src/private.h: Add ARRAY_SIZE

2012-11-10  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore, test/Makefile.am, test/test-special-symbol.c: Add
	test-special-symbol

2012-11-09  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c: Update chewing_handle_Space Use chewing_handle_Default to handle space when there is an
	imcompleted bopomofo.

2012-11-09  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore, test/Makefile.am, test/test-bopomofo.c, test/test.c,
	test/test.h: Add test-bopomofo

2012-11-09  ChangZhuo Chen <czchen@gmail.com>

	* test/test-symbol.c, test/test.c, test/test.h: Add ok_candidate for
	candidate testing

2012-11-09  ChangZhuo Chen <czchen@gmail.com>

	* configure.ac, src/chewingutil.c,
	src/porting_layer/include/plat_path.h,
	src/porting_layer/src/plat_path.c: Use asprintf to create data path

2012-11-08  ChangZhuo Chen <czchen@gmail.com>

	* configure.ac, src/porting_layer/src/plat_path.c: Use
	AC_CHECK_FUNCS for strtok_r

2012-11-08  ChangZhuo Chen <czchen@gmail.com>

	* src/char.c, src/dict.c, src/tree.c: HEAD

2012-11-08  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingutil.c, src/hash.c: Use ALC to allocate memory

2012-11-08  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* src/chewingio.c: Simplify the logic of handle_Space Use handle_Right to handle selection and handle_Default to handle
	space input. Shouldn't break any old behavior. Also avoided a crash
	in the old code.

2012-11-07  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore, test/Makefile.am, test/test-fullshape.c: Add
	test-fullshape

2012-11-06  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingutil.c: Supress valgrind error

2012-11-06  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h, src/chewingio.c,
	src/chewingutil.c: Update InitSymbolTable - Return 0 as success, -1 as failure - Reduce stack usage

2012-11-06  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, src/chewingutil.c: Update InitEasySymbolInput - Return 0 as success, -1 as failure - Reduce stack usage

2012-11-01  ChangZhuo Chen <czchen@gmail.com>

	* test/test-easy-symbol.c, test/test-reset.c, test/test-symbol.c,
	test/test.c, test/test.h: Rename verify_keystoke to ok_keystoke

2012-11-01  ChangZhuo Chen <czchen@gmail.com>

	* test/test.c, test/test.h: Support variadic argument in test
	function

2012-10-31  Jim Huang <jserv@0xlab.org>

	* NEWS: Mention the reworked JMCCE, which supports libchewing
	directly

2012-10-29  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* .gitignore, configure.ac, m4/ax_with_curses.m4, test/Makefile.am,
	test/gen_keystroke.c: Use ax_with_curses.m4 from autoconf-archive

2012-10-28  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore, doc/libchewing.texi, include/global.h,
	src/chewingio.c, src/chewingutil.c, src/choice.c, test/Makefile.am,
	test/{test-default-config.c => test-config.c}: Change default
	candidate per page to 10

2012-10-28  ChangZhuo Chen <czchen@gmail.com>

	* test/test-default-config.c: Fix warning

2012-10-28  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore: Update .gitignore

2012-10-28  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore, doc/libchewing.texi, src/chewingio.c,
	test/Makefile.am, test/test-default-config.c, test/test-symbol.c: 
	Change the default select key to 1234567890

2012-10-27  Jim Huang <jserv@0xlab.org>

	* src/chewingio.c, src/mod_aux.c: Properly add UNUSED attribute to
	API parameters due to semantics changes

2012-10-27  Jim Huang <jserv@0xlab.org>

	* src/char.c, src/chewingutil.c, src/common/chewing-utf8-util.c,
	src/dict.c, src/tree.c: Avoid comparison between signed int and
	unsigned

2012-10-26  ChangZhuo Chen <czchen@gmail.com>

	* doc/libchewing.texi: Fix document error

2012-10-26  ChangZhuo Chen <czchen@gmail.com>

	* doc/libchewing.texi: Update document

2012-10-26  ChangZhuo Chen <czchen@gmail.com>

	* doc/libchewing.texi: Update document

2012-10-26  ChangZhuo Chen <czchen@gmail.com>

	* src/mod_aux.c: Remove redundancy code

2012-10-26  ChangZhuo Chen <czchen@gmail.com>

	* test/test-symbol.c: Add test case for symbol candidate page

2012-10-26  ChangZhuo Chen <czchen@gmail.com>

	* test/test-reset.c: Fix warning

2012-10-26  ChangZhuo Chen <czchen@gmail.com>

	* test/Makefile.am, test/test-easy-symbol.c, test/test-key2pho.c,
	test/test-mmap.c, test/test-path.c, test/test-reset.c,
	test/test-utf8.c, test/test_harness.h: Migrate to libtest and remove
	test_harness.h

2012-10-26  ChangZhuo Chen <czchen@gmail.com>

	* test/test.h: Fix ok marco in test.h

2012-10-26  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* : commit 2e7917001c4697937aca010dcd0eca65e615d528 Author: Kan-Ru
	Chen (陳侃如) <kanru@kanru.info> Date:   Fri Oct 26 19:27:06 2012
	+0800

2012-10-26  ChangZhuo Chen <czchen@gmail.com>

	* : commit 99c2fcb9f12014f83efb7a07cff1352b4f9067c7 Author:
	ChangZhuo Chen <czchen@gmail.com> Date:   Fri Oct 26 19:09:20 2012
	+0800

2012-10-26  ChangZhuo Chen <czchen@gmail.com>

	* test/testchewing.c: Use get_keystroke from libtest

2012-10-26  ChangZhuo Chen <czchen@gmail.com>

	* test/Makefile.am, test/test.c, test/test.h: Add libtest for unit
	test

2012-10-26  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* Makefile.am, configure.ac: Autotools cleanup again.

2012-10-25  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* test/gen_keystroke.c, test/testchewing.c: Handle ambiguity of `<'
	and `>' in testchewing

2012-10-25  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* .gitignore, scripts/lcov.sh: Add script to generate coverage
	report

2012-10-25  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* doc/libchewing.texi: Update the Setup section

2012-10-25  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* doc/libchewing.texi: Add zuin to glossary

2012-10-25  Jim Huang <jserv@0xlab.org>

	* doc/libchewing.texi: The word "zuin" is obsolete.  Avoid use it in
	documentation.  We should use "Zhuyin" or Bopomofo while referring to the phonetic
	system for transcribing Chinese, especially Mandarin, popular in
	Taiwan.  However, it is a bit late to change API naming though.

2012-10-25  Jim Huang <jserv@0xlab.org>

	* doc/libchewing.texi: Fix trivial typo

2012-10-24  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* doc/libchewing.texi: Fix some typos

2012-10-23  ChangZhuo Chen <czchen@gmail.com>

	* data/swkb.dat, doc/libchewing.texi, test/test-easy-symbol.c: 
	Update easy symbol document, data, and test case

2012-10-23  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore, test/Makefile.am, test/test-easy-symbol.c: Add test
	case for easy symbol input

2012-10-22  ChangZhuo Chen <czchen@gmail.com>

	* test/test-reset.c: Add missing chewing_delete

2012-10-21  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* data/Makefile.am: Data files should be installed to
	architecture-dependent location

2012-10-21  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c: Do not clean ChewingStaticData in chewing_Reset

2012-10-21  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h, src/char.c, src/chewingio.c,
	src/chewingutil.c, src/dict.c, src/hanyupinyin.c, src/hash.c,
	src/tree.c, src/userphrase.c: Move static data in ChewingData to
	ChewingStaticData

2012-10-21  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore, test/Makefile.am, test/test-reset.c: Add test-reset to
	test chewing_Reset

2012-10-21  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* src/chewingio.c, test/gen_keystroke.c, test/test-path.c,
	test/testchewing.c: Fix chewing_new and add test for get_search_path

2012-10-21  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* test/test-mmap.c: Silent test-mmap plat_mmap_set_view test

2012-10-21  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* .gitignore, scripts/prepare-release.sh,
	scripts/remove-autotool.sh: Remove unused scripts To prepare a new relase, use `make dist'.  To remove unwanted files,
	use `git clean'.

2012-10-21  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* configure.ac, data/Makefile.am, src/porting_layer/Makefile.am,
	test/test-path.c: Fix `make distcheck'

2012-10-21  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* AUTHORS: Add ChangZhuo Chen to AUTHORS

2012-10-20  Kan-Ru Chen <kanru@kanru.info>

	* : Merge pull request #28 from czchen/thread_safe Move global variables to ChewingData and search data files
	automatically

2012-10-21  ChangZhuo Chen <czchen@gmail.com>

	* : Merge latest version

2012-10-21  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* src/chewingutil.c: Use strpbrk instead of strtok

2012-10-21  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* configure.ac: Fix indent

2012-10-21  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* configure.ac, doc/libchewing.texi, include/chewingio.h,
	include/global.h, include/internal/char-private.h,
	include/internal/chewing-private.h, include/internal/chewingutil.h,
	include/internal/hash-private.h,
	include/internal/key2pho-private.h,
	include/internal/tree-private.h,
	include/internal/userphrase-private.h, src/char.c, src/chewingio.c,
	src/chewingutil.c, src/choice.c, src/common/key2pho.c, src/hash.c,
	src/tools/maketree.c, src/tools/sort_dic.c, src/tools/sort_word.c,
	src/tree.c, src/userphrase.c, src/zuin.c: Use C99 int types.

2012-10-20  ChangZhuo Chen <czchen@gmail.com>

	* : Merge latest version

2012-10-20  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore, test/do-test.c: Fix merge error

2012-10-20  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore: Update .gitignore

2012-10-20  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/path-private.h, src/chewingio.c,
	src/common/Makefile.am, src/common/path.c,
	src/porting_layer/include/plat_path.h,
	src/porting_layer/src/Makefile.am,
	src/porting_layer/src/plat_path_posix.c,
	src/porting_layer/src/plat_path_windows.c, test/test-path.c: Move
	path implementation to common

2012-10-20  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, src/porting_layer/include/plat_path.h,
	src/porting_layer/src/plat_path_posix.c,
	src/porting_layer/src/plat_path_windows.c, test/test-path.c: 
	Implement plat_path_windows.c

2012-10-20  ChangZhuo Chen <czchen@gmail.com>

	* doc/libchewing.texi: Update document

2012-10-19  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* include/internal/chewing-private.h, src/mod_aux.c: Remove WCH_SIZE

2012-10-19  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* configure.ac, include/internal/chewing-private.h: Define min/max
	as inline function

2012-10-18  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* src/hash.c: Don't allocate userphrase data twice. Closes #25

2012-10-18  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* src/common/key2pho.c: Remember to NULL terminate pho

2012-10-18  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* src/common/key2pho.c: Don\'t modify key_str

2012-10-18  ChangZhuo Chen <czchen@gmail.com>

	* test/test-path.c: Fix `make check' error

2012-10-18  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, src/porting_layer/src/plat_path_posix.c,
	test/test-path.c: Fix indent

2012-10-18  ChangZhuo Chen <czchen@gmail.com>

	* src/porting_layer/src/plat_path_posix.c: Update default
	CHEWING_PATH

2012-10-18  ChangZhuo Chen <czchen@gmail.com>

	* src/porting_layer/src/Makefile.am,
	src/porting_layer/src/plat_path_posix.c, test/test-path.c: Do not do
	shell expanding when reading CHEWING_PATH

2012-10-18  ChangZhuo Chen <czchen@gmail.com>

	* : Merge latest version

2012-10-18  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* include/internal/chewing-private.h,
	include/internal/chewing-utf8-util.h, src/chewingutil.c: Remove
	wchar_t usage

2012-10-18  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* .gitignore, configure.ac, scripts/remove-autotool.sh: Tidy up

2012-10-18  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* configure.ac: Remove the checks that we don't really care

2012-10-18  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* configure.ac, test/gen_keystroke.c: Conditional check ncursesw
	headers

2012-10-18  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* configure.ac, test/Makefile.am, test/gen_keystroke.c: We don't
	want to link libchewing with libncursesw Hopefuly this should work on Windows.

2012-10-18  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* configure.ac: Check putenv instead

2012-10-18  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* README: Fix windows documentation

2012-10-17  Kan-Ru Chen <kanru@kanru.info>

	* : Merge pull request #22 from czchen/windows Build on Windows with MinGW

2012-10-17  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* test/Makefile.am: Fix genkeystroke build with newer automake

2012-10-17  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* test/README, test/do-test.c, test/showhide.js, test/test.css,
	test/xhtml.xsl: Remove old test supporting files

2012-10-17  ChangZhuo Chen <czchen@gmail.com>

	* README: Add document for building on Windows with MinGW

2012-10-17  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* configure.ac, test/Makefile.am, test/test-key2pho.c,
	test/test-mmap.c, test/test-utf8.c, test/test_harness.h: Simplify
	test Makefile.am and remove check dependency Now we could run unit-test anywhere. Just |make check|

2012-10-17  ChangZhuo Chen <czchen@gmail.com>

	* test/gen_keystroke.c, test/testchewing.c: Change setenv to putenv Windows does not have setenv. Use putenv instead.

2012-10-17  ChangZhuo Chen <czchen@gmail.com>

	* test/Makefile.am: Add $(EXEEXT) in Makefile.am The target name of testchewing is testchewing$(EXEEXT) in Windows
	platform.

2012-10-17  ChangZhuo Chen <czchen@gmail.com>

	* src/porting_layer/include/sys/plat_windows.h: Include <io.h>
	unconditional in Windows platform - MinGW in Windows needs <io.h> for W_OK

2012-10-16  ChangZhuo Chen <czchen@gmail.com>

	* configure.ac: Use AC_SEARCH_LIBS to find optional libraries Windows does not have PGK_CHECK_MODULES, so we need to use
	AC_SEARCH_LIBS instead.

2012-10-15  Jim Huang <jserv@0xlab.org>

	* NEWS: reflect development progress

2012-10-15  Kan-Ru Chen <kanru@kanru.info>

	* : Merge pull request #20 from czchen/warning Fix warning in ubuntu 12.04 (-Wunused-result)

2012-10-15  ChangZhuo Chen <czchen@gmail.com>

	* src/hanyupinyin.c, src/hash.c, src/tools/maketree.c: Check return
	of fscanf

2012-10-15  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* .gitignore: Fix .gitignore

2012-10-15  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* : commit 9d97a79f9faf66e883f4a029910868090295cd6d Author: Kan-Ru
	Chen (陳侃如) <kanru@kanru.info> Date:   Sun Oct 7 22:03:09 2012
	+0800

2012-10-13  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, src/hash.c,
	src/porting_layer/include/plat_path.h,
	src/porting_layer/src/Makefile.am,
	src/porting_layer/src/plat_path_posix.c, test/gen_keystroke.c,
	test/testchewing.c: Change path searching parameters

2012-10-13  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, src/porting_layer/include/plat_path.h,
	src/porting_layer/src/plat_path_posix.c: Add const for XXX_FILES

2012-10-12  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c: Remove unused global variable

2012-10-12  ChangZhuo Chen <czchen@gmail.com>

	* test/Makefile.am, test/do-test.c, test/test-path.c: Add unittest
	for find_path_by_files

2012-10-12  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c: Use search path to find symbol and pinyin files

2012-10-12  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c: Use search path to find dict files

2012-10-12  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, test/gen_keystroke.c, test/testchewing.c: Use
	search path to find char files

2012-10-08  ChangZhuo Chen <czchen@gmail.com>

	* src/porting_layer/include/plat_path.h,
	src/porting_layer/src/Makefile.am,
	src/porting_layer/src/plat_path_posix.c,
	src/porting_layer/src/plat_path_windows.c: Add find_path_by_files,
	POSIX version

2012-10-09  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* TODO: Add platform independent binary data to TODO

2012-10-09  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* include/internal/chewing-private.h: Fix duplicated typdef, casuing
	compliation error.

2012-10-07  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, src/private.h: Remove addTerminateService

2012-10-07  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h,
	include/internal/hanyupinyin-private.h, src/chewingio.c,
	src/hanyupinyin.c, src/zuin.c: Move hanyu related global variables
	to ChewingData

2012-10-07  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/global-private.h, src/hanyupinyin.c: Move
	PINYIN_TAB_NAME to global-private.h

2012-10-07  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h,
	include/internal/chewingutil.h, src/chewingio.c, src/chewingutil.c: 
	Move g_easy_symbol_value and g_easy_symbol_num into ChewingData

2012-10-07  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h,
	include/internal/chewingutil.h, src/chewingio.c, src/chewingutil.c: 
	Move symbol_table and n_symbol_entry into ChewingData

2012-10-07  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingutil.c: Change g_easy_symbol_key to const

2012-10-07  Kan-Ru Chen <kanru@kanru.info>

	* : Merge pull request #18 from czchen/gitignore Update .gitignore

2012-10-07  ChangZhuo Chen <czchen@gmail.com>

	* .gitignore: Update .gitignore

2012-10-07  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* include/internal/chewing-private.h, src/hash.c: Remove unused
	pHead variable We don't use this variable to track the head of hashtable list
	anymore.

2012-10-07  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* src/chewingio.c, src/zuin.c: Remove emacs Local Lariables

2012-10-06  Kan-Ru Chen <kanru@kanru.info>

	* : Merge pull request #17 from czchen/gcov Add --enable-gcov to enable gcov coverage

2012-10-07  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* configure.ac: Include $CFLAGS in default CFLAGS

2012-10-07  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* src/hash.c: Fix memory leaks when freeing hashtable. Closes #10 Hashtable is a array of linked lists, each slot shares the same hash
	value. We must free all of them.

2012-10-06  ChangZhuo Chen <czchen@gmail.com>

	* configure.ac: Add --enable-gcov to enable gcov coverage

2012-10-06  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c, src/chewingutil.c, src/choice.c,
	src/common/chewing-utf8-util.c, src/tools/sort_dic.c, src/zuin.c,
	test/testchewing.c: Fix indent

2012-10-05  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* src/chewingio.c: Fix mingw32 build (again)

2012-10-05  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* configure.ac: Add more autoconf checks reported by autoscan

2012-10-05  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* test/gen_keystroke.c, test/test-key2pho.c, test/testchewing.c: Fix
	warnings in tests

2012-10-05  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* include/internal/chewing-private.h,
	include/internal/hash-private.h,
	include/internal/userphrase-private.h: Fix nits

2012-10-04  Kan-Ru Chen <kanru@kanru.info>

	* : Merge pull request #14 from czchen/master Move several global variables into ChewingData

2012-10-04  ChangZhuo Chen <czchen@gmail.com>

	* : Move several global variables into ChewingData

2012-10-04  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* configure.ac: Add default CFLAGS

2012-10-04  Kan-Ru Chen <kanru@kanru.info>

	* : Merge pull request #11 from naota/patch-1 Fix possible strncat() overflow

2012-10-04  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* Makefile.am, configure.ac, data/Makefile.am, src/Makefile.am,
	src/porting_layer/Makefile.am, test/Makefile.am: Fix `make dist' and
	`make distcheck'

2012-10-04  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* Makefile.am, data/Makefile.am, src/Makefile.am,
	src/common/Makefile.am, src/porting_layer/src/Makefile.am,
	src/tools/Makefile.am, test/Makefile.am: Tidy up Makefiles

2012-10-04  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* configure.ac, data/Makefile.am, src/Makefile.am: Support building
	with mingw32 toolchain

2012-10-02  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* test/Makefile.am: Add do-test.xml and test.txt to CLEANFILES

2012-10-02  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* test/test-mmap.c: Fix `make check' in $(testdir)

2012-10-02  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* Makefile.am, data/Makefile.am: Add and use `installdirs' target

2012-10-02  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* data/Makefile.am: Use shell syntax instead of GNU Make macro To avoid automake warning:     data/Makefile.am:37: foreach file,$(static_tables: non-POSIX
	    variable name data/Makefile.am:37: (probably a GNU make
	extension)

2012-09-25  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h,
	include/internal/hash-private.h, src/chewingio.c, src/hash.c: Move
	pHead to ChewingData

2012-09-25  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h,
	include/internal/hash-private.h,
	include/internal/userphrase-private.h, src/choice.c, src/hash.c,
	src/tree.c, src/userphrase.c: Move hashtable to ChewingData

2012-09-24  ChangZhuo Chen <czchen@gmail.com>

	* include/chewing.h, include/internal/chewing-private.h,
	src/chewingio.c, src/hash.c, src/userphrase.c: Move chewing_lifetime
	to ChewingData

2012-09-24  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h,
	include/internal/hash-private.h, src/chewingio.c, src/hash.c,
	src/userphrase.c: Move hashfilename into ChewingData

2012-09-24  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/hash-private.h, src/chewingio.c, src/hash.c,
	test/gen_keystroke.c, test/testchewing.c: Read hash path from
	CHEWING_PATH environment variable

2012-09-20  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/char-private.h: Fix function prototype

2012-09-20  Kan-Ru Chen (陳侃如) <kanru@kanru.info>

	* src/hash.c: Properly initialize hashtable, really.  In theory the static hashtable is initialize to zero by default, so
	we haven't run into any problem yet. But if we call InitHash twice
	then the hashtable will be ill-initialized.

2012-09-15  ChangZhuo Chen <czchen@gmail.com>

	* src/dict.c: Remove unused code

2012-09-15  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h,
	include/internal/dict-private.h, src/char.c, src/chewingio.c,
	src/dict.c, src/tree.c: Move global variables in dict.c to
	ChewingData

2012-09-15  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h, src/char.c: Rename field name
	in ChewingData

2012-09-14  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/dict-private.h, src/choice.c, src/dict.c,
	src/tree.c, src/userphrase.c: Add ChewingData to GetPhraseFirst and
	GetPhraseNext

2012-09-11  ChangZhuo Chen <czchen@gmail.com>

	* src/char.c: Fix compiling error when --enable-binary-data=no

2012-09-11  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/char-private.h,
	include/internal/chewing-private.h, src/char.c, src/chewingio.c,
	src/choice.c, src/tree.c: Move arrPhone, begin, phone_num, ... to
	ChewingData

2012-09-11  Jim Huang <jserv@0xlab.org>

	* NEWS, README: update platform suport: fcitx and mozc

2012-09-10  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/char-private.h, include/internal/zuin-private.h,
	src/char.c, src/chewingio.c, src/choice.c, src/tree.c, src/zuin.c: 
	Add ChewingData to GetCharFirst parameter

2012-09-10  ChangZhuo Chen <czchen@gmail.com>

	* src/tree.c: Check tree before terminate it

2012-09-10  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/chewing-private.h,
	include/internal/tree-private.h, src/chewingio.c,
	src/common/Makefile.am, src/tree.c: Move tree to ChewingData

2012-09-09  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c: Refactoring: chewing_new, chewing_delete

2012-09-09  ChangZhuo Chen <czchen@gmail.com>

	* src/chewingio.c: Store dataPath into libraryDataPath

2012-09-09  ChangZhuo Chen <czchen@gmail.com>

	* include/internal/tree-private.h,
	include/internal/userphrase-private.h, src/chewingio.c,
	src/chewingutil.c, src/choice.c, src/tree.c, src/userphrase.c: Add
	ChewingData to TreeFindPhrase parameter

2012-09-08  Jim Huang <jserv@0xlab.org>

	* NEWS: update NEWS

2012-09-08  Bo-cheng Jan <school510587@yahoo.com.tw>

	* src/porting_layer/include/plat_mmap.h,
	src/porting_layer/src/plat_mmap_posix.c,
	src/porting_layer/src/plat_mmap_windows.c: plat_mmap: Let unchanged
	filename be const.  Signed-off-by: Jim Huang <jserv@0xlab.org>

2012-09-08  Jim Huang <jserv@0xlab.org>

	* include/global.h, include/internal/chewing-utf8-util.h,
	src/chewingio.c, src/chewingutil.c, src/choice.c,
	src/common/chewing-utf8-util.c, src/hash.c,
	src/porting_layer/include/sys/plat_posix.h,
	src/porting_layer/include/sys/plat_windows.h, src/tools/maketree.c,
	src/tools/sort_word.c, src/tree.c, test/simulate.c,
	test/testchewing.c: Bump copyright date

2012-09-08  Jim Huang <jserv@0xlab.org>

	* src/tools/maketree.c: maketree: Close input file after used

2012-09-04  Bo-cheng Jan <school510587@yahoo.com.tw>

	* include/internal/chewing-utf8-util.h,
	src/common/chewing-utf8-util.c: Add ueStrStr, which locates a UTF-8
	substring from UTF-8 string Signed-off-by: Jim Huang <jserv@0xlab.org>

2012-09-04  Bo-cheng Jan <school510587@yahoo.com.tw>

	* include/internal/chewing-utf8-util.h,
	src/common/chewing-utf8-util.c: Change the modifier of ueStrLen to
	const Signed-off-by: Jim Huang <jserv@0xlab.org>

2012-08-28  Bo-cheng Jan <school510587@yahoo.com.tw>

	* src/tools/sort_word.c: sort_word: Eliminate redundant space in
	structure WORD_DATA Structure WORD_DATA has num[2] array, but num[1] is not actually
	used.  This patch changes num[2] to num, a single variable.  It
	eliminates each WORD_DATA instance by 4 bytes (on 32-bit machines)
	without influencing execution flow.  Signed-off-by: Jim Huang <jserv@0xlab.org>

2012-08-16  Jim Huang <jserv@0xlab.org>

	* src/porting_layer/include/sys/plat_posix.h: GNU Hurd doesn't
	define PATH_MAX.  Define in porting_layer Patched by YunQiang Su <wzssyqa@gmail.com> Signed-off-by: Jim Huang
	<jserv@0xlab.org>

2012-08-07  Jim Huang <jserv@0xlab.org>

	* autogen.sh: autogen.sh: create directory m4 properly

2012-07-05  Jim Huang <jserv@0xlab.org>

	* README: Mentioned UCIMF support for Chewing IM The implementation of UCIMF-chewing:     https://github.com/pkg-ime/ucimf-chewing

2012-07-02  Jim Huang <jserv@0xlab.org>

	* configure.ac: Fix typo again, enable_curses => enable_ncursesw

2012-06-09  kidwm <wandererm@gmail.com>

	* data/swkb.dat: replace them with more useful symbols

2012-06-04  Jim Huang <jserv@0xlab.org>

	* Makefile.am: Add -I m4 to ACLOCAL_AMFLAGS as autotools suggests

2012-05-04  Kan-Ru Chen <kanru@kanru.info>

	* configure.ac: Fix typo, enable_curses => enable_ncursesw

2012-05-04  Kan-Ru Chen <kanru@kanru.info>

	* TODO: Clean up TODO.

2012-05-04  Kan-Ru Chen <kanru@kanru.info>

	* data/Makefile.am, src/tools/sort_word.c: Support VPATH build.

2012-05-03  KanRu Chen <kanru@kanru.info>

	* : Merge pull request #7 from fourdollars/master Add pkg-config support of ncurses, and enable maintainer mode &
	silent rules of automake.

2012-05-01  Kan-Ru Chen <kanru@kanru.info>

	* .gitignore: Add more ignored files.

2012-05-01  Kan-Ru Chen <kanru@kanru.info>

	* autogen.sh, configure.ac: Use autoreconf.

2012-05-01  Kan-Ru Chen <kanru@kanru.info>

	* Makefile.am, autogen.sh: Use `foreign' mode. We didn't strictly
	follow the gnu style.

2012-05-01  Kan-Ru Chen <kanru@kanru.info>

	* .gitignore: Add more ignored directories

2012-05-01  Kan-Ru Chen <kanru@kanru.info>

	* .gitignore: Add .gitignore

2012-04-20  KanRu Chen <kanru@kanru.info>

	* : Merge pull request #6 from fourdollars/master Please refer to
	http://www.unicode.org/cgi-bin/GetUnihanData.pl?codepoint=51bc

2012-02-06  kidwm <wandererm@gmail.com>

	* : Merge pull request #4 from buganini/patch-2 Tune order for 常用符號, move ＄％＠＆＃＊ to the end as
	they are easy to type wit...

2012-02-06  Buganini <buganini@gmail.com>

	* data/symbols.dat: Tune order for 常用符號, move
	＄％＠＆＃＊ to the end as they are easy to type with full
	width mode.

2012-01-02  Jim Huang <jserv@0xlab.org>

	* README: README: Add HIME, which is a development fork of gcin

2011-12-26  kidwm <wandererm@gmail.com>

	* : Merge pull request #3 from buganini/patch-1 Update symbols.dat

2011-12-02  Jim Huang <jserv@0xlab.org>

	* NEWS: Fix typo in NEWS

2011-12-02  Jim Huang <jserv@0xlab.org>

	* Makefile.am: Consolidate the installation for Chewing header files

2011-10-09  Jim Huang <jserv@0xlab.org>

	* README: README: mentioned gcin's experimental Chewing IM support

2011-08-17  Lin Cheng Wei <desty966@gmail.com>

	* src/chewingutil.c: Fix valgrind warning When using the gcin valgrind test, it shows the following messages: ==20624== ---- Attach to debugger ? --- [Return/N/n/Y/y/C/c] ----
	==20624== Use of uninitialised value of size 4 ==20624==    at
	0x5A24DAF: ueStrNCpy (chewing-utf8-util.c:44) ==20624==    by
	0x5A1F2A9: InitSymbolTable (chewingutil.c:1415) ==20624==    by
	0x4B79DFF: ??? (in /lib/libc-2.14.so) ==20624== ==20624== Use of
	uninitialised value of size 4 ==20624==    at 0x5A24DAF: ueStrNCpy
	(chewing-utf8-util.c:44) ==20624==    by 0x5A1F508:
	InitEasySymbolInput (chewingutil.c:1486) ==20624==    by 0x5A1A9F7:
	chewing_Init (chewingio.c:171) ==20624==    by 0x5A075F6:
	module_init_win (chewing.cpp:182) ==20624==    by 0x8050B22:
	init_in_method (eve.cpp:938) ==20624==    by 0x8050601:
	init_state_chinese (eve.cpp:673) ==20624==    by 0x80506CD:
	toggle_im_enabled (eve.cpp:726) ==20624==    by 0x8050EE7:
	ProcessKeyPress (eve.cpp:1128) ==20624==    by 0x807D928:
	process_client_req (im-dispatch.cpp:288) ==20624==    by 0x807DD82:
	cb_read_gcin_client_data (im-srv.cpp:41) ==20624==    by 0x49D26CD:
	??? (in /usr/lib/libglib-2.0.so.0.2800.8) ==20624==    by 0x498CC4E:
	g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.2800.8) It seems that there have some uninitialised values in chewingutil.c
	,

2011-07-25  Jim Huang <jserv@0xlab.org>

	* include/global.h: Detect the GCC visibility availability for
	Darwin specific PIC code Reported by Lin Cheng Wei <desty966@gmail.com>

2011-07-10  Jim Huang <jserv@0xlab.org>

	* data/svnrev, data/tsi.src: Bump merged libchewing-data to r459

2011-07-10  Jim Huang <jserv@0xlab.org>

	* NEWS: NEWS: mentioned gcin's experimental Chewing IM support

2011-05-02  Kevin Lo <kevlo@openbsd.org>

	* src/hash.c: Properly initialize hash table Signed-off-by: Jim Huang <jserv@0xlab.org>

2011-03-10  Jim Huang <jserv@0xlab.org>

	* src/common/key2pho.c: Fix typo in comment

2011-03-03  Jim Huang <jserv@0xlab.org>

	* README: s/svn/GIT/

2011-03-03  Jim Huang <jserv@0xlab.org>

	* README, src/tools/Makefile.am: Improve cross-build instructions

2011-03-03  Jim Huang <jserv@0xlab.org>

	* autogen.sh: Touch ChangeLog to satisfy autotool ChangeLog is deprecated, but autotool expects one in source
	directory.

2011-03-03  Hialan Liu <hialan.liu@gmail.com>

	* include/global.h: Correct symbol export/import definitions for
	Microsoft Windows When linking to statically-linked chewing.lib on Windows, the macro,
	CHEWING_API, should be empty.  Neither __declspec(dllimport) nor
	__declspec(dllexport) would be defined to CHEWING_API.  Signed-off-by: Jim Huang <jserv@0xlab.org>

2011-03-03  Jim Huang <jserv@0xlab.org>

	* include/global.h: Extend Microsoft specific predefined macros from
	Win32 to Win64

2011-03-03  Hialan Liu <hialan.liu@gmail.com>

	* src/choice.c, src/porting_layer/include/sys/plat_windows.h: Fix
	build with Microsoft VC8 Signed-off-by: Jim Huang <jserv@0xlab.org>

2011-03-03  Hialan Liu <hialan.liu@gmail.com>

	* src/tree.c: Fix build when USE_BINARY_DATA is not defined Signed-off-by: Jim Huang <jserv@0xlab.org>

2011-03-01  Jim Huang <jserv@0xlab.org>

	* README: Rename from win32-chewing to windows-chewing for 64-bit
	enablement

2011-03-01  Jim Huang <jserv@0xlab.org>

	* AUTHORS: trivial formatting fix

2011-03-01  Jim Huang <jserv@0xlab.org>

	* TODO: Drop "Abstract the I/O layer" plan The current development trend is to use bus oriented mechanisms to
	communicate between input method services and the context in
	specific applications.  We no longer need this.

2011-03-01  Jim Huang <jserv@0xlab.org>

	* Update contact info

2011-02-27  Jim Huang  <jserv@0xlab.org>

	* configure.ac: Bump version to 0.3.3
	* NEWS: ditto.

2011-02-20  Jim Huang  <jserv@0xlab.org>

	* configure.ac,
	src/tools/Makefile.am: Fix tools to run on the host system during
	cross-compile.
	Patched by Zach Kuznia <zork@chromium.org>
	Review URL: http://codereview.chromium.org/2640005

2011-02-20  Jim Huang  <jserv@0xlab.org>

	* src/chewingio.c: Add inclusion for aux function.

	* test/testchewing.c (get_keystroke),
	test/simulate.c (fake_getchar) (fini_sim): Fix compilation warnings by
	clang.

2011-02-20  Jim Huang  <jserv@0xlab.org>

	* data/tsi.src: Merged with libchewing-data.
	* data/svnrev: Bump merged rev to r455
	* NEWS: Ditto

2011-02-20  Jim Huang  <jserv@0xlab.org>

	* scripts/gendiff-from-libchewingdata.sh: Explicit use 'bash'

2010-11-15  Jim Huang  <jserv@0xlab.org>

	* test/simulate.c (init_sim),
	test/simulate.sh: Support randomize testing key sequence.

	* test/Makefile.am: clean materials.txt-random

2010-11-13  Jim Huang  <jserv@0xlab.org>

	* src/choice.c (SetAvailInfo): Refactored for parameter passing.
	(ChoiceFirstAvail): Ditto.

2010-11-13  Jim Huang  <jserv@0xlab.org>

	* scripts/remove-autotool.sh: Remove include/config.h.in

2010-11-13  Jim Huang  <jserv@0xlab.org>

	* src/chewingio.c (chooseCandidate): New helper function.
	(chewing_handle_Space) (chewing_handle_Down): Revise phrase choice
	from rearward logic.

	* src/choice.c (SeekPhraseHead): New helper function.
	(SetAvailInfo) (ChoiceFirstAvail): Ditto.
	Patched by Ding-Yi Chen <dingyichen@gmail.com>

2010-11-13  Jim Huang  <jserv@0xlab.org>

	* data/tsi.src: Add some entries to work around improper '不' cases.

	* test/materials.txt: Update test cases.

2010-11-10  Jim Huang  <jserv@0xlab.org>

	* include/internal/chewing-private.h (wch_t): Ensure this structure is
	aligned.
	Patched by Ding-Yi Chen <dingyichen@gmail.com>
	https://bugzilla.redhat.com/show_bug.cgi?id=625980

2010-11-09  Jim Huang  <jserv@0xlab.org>

	* src/common/key2pho.c,
	src/common/chewing-utf8-util.c,
	src/hanyupinyin.c,
	src/char.c,
	src/tools/sort_dic.c,
	src/chewingutil.c,
	src/zuin.c: Fix compilation warning with gcc-4.5

2010-11-09  Jim Huang  <jserv@0xlab.org>

	* src/chewingutil.c (EasySymbolInput),
	include/internal/chewingutil.h: Shrink parameter.

	* src/chewingio.c (chewing_handle_Default): Ditto.

2010-11-08  Jim Huang  <jserv@0xlab.org>

	* src/chewingutil.c (HaninSymbolInput): Refactoring.  Simplify
	prototype.
	(OpenSymbolChoice): Ditto.
	include/internal/chewingutil.h: Ditto.

	* src/chewingio.c (chewing_handle_Default) (chewing_handle_CtrlNum):
	Changed accordinly.

2010-11-08  Jim Huang  <jserv@0xlab.org>

	* src/chewingio.c (addTerminateService),
	src/private.h: Add typedef to simplify prototype.

2010-11-08  Jim Huang  <jserv@0xlab.org>

	* src/chewingutil.c (SymbolChoice): Fix unexpected candidate disorder
	when doing symbol choice.

	* src/hash.c (isValidChineseString): Avoid dangling pointer.

2010-11-08  Jim Huang  <jserv@0xlab.org>

	* src/common/key2pho.c (key_str),
	src/chewingio.c (qkey),
	src/zuin.c (IsDvorakHsuPhoEndKey) (IsET26PhoEndKey) (HsuPhoInput):
	DvorakHsu tone mark should be same with Hsu's mark after conversion.

	* src/choice.c (ChoiceInfoAppendChi): New helper function.
	(SetChoiceInfo): Issue 10.  Fix the handling of phonetic symbols in
	Hsu and Dvorak Hsu keyboard.  Refactoring.
	(ChoiceFirstAvail) (ChoicePrevAvail) (ChoiceNextAvail): Refactoring.
	Patched by Ding-Yi Chen <dingyichen@gmail.com>

	* include/internal/choice-private.h: Ditto.

2010-11-08  Jim Huang  <jserv@0xlab.org>

	* src/tools/sort_word.c (Output): Fix file descriptor leak

2010-11-08  Jim Huang  <jserv@0xlab.org>

	* configure.ac: Properly add LIBTOOL_EXPORT_OPTIONS
	patched by openSUSE.

2010-11-08  Jim Huang  <jserv@0xlab.org>

	* scripts/gendiff-from-libchewingdata.sh: Don't gendiff if given
	svnrev <= original svnrev.

2010-11-08  Jim Huang  <jserv@0xlab.org>

	* data/phone.cin,
	data/tsi.src: Merged with libchewing-data.
	Changes:
	- Remove incomplete lines to avoid tool from crashing
	- Eliminate incorrect single character mapping

	* data/svnrev: Bump merged rev to r454
	* NEWS: Ditto

2010-11-08  Jim Huang  <jserv@0xlab.org>

	* scripts/gendiff-from-libchewingdata.sh: Use LABEL instead of file
	name during patch generation.

2010-11-08  Jim Huang  <jserv@0xlab.org>

	* data/svnrev: New file. Store the SVN revision number of last merge.

	* data/NOTE: After merging changing from libchewing-data project,
	please do update Subversion revision number in file "data/svnrev".

	* scripts/gendiff-from-libchewingdata.sh: New file.  Used for
	generting the diff files from libchewingdata between certain svnver
	and last merge one.

2010-11-07  Jim Huang  <jserv@0xlab.org>

	* src/porting_layer/include/sys/plat_win32.h: Renamed
	to src/porting_layer/include/sys/plat_windows.h
	Platform transition from 'win32' to 'windows' for generic
	win32, win64, and (possibly) wince support.

	* src/porting_layer/src/plat_mmap_win32.c: Ditto.
	Rename to src/porting_layer/src/plat_mmap_windows.c

	* src/porting_layer/include/plat_types.h,
	src/porting_layer/src/Makefile.am,
	configure.ac: Changed accordingly.

2010-11-07  Jim Huang  <jserv@0xlab.org>

	* darwin/: Removed since ports maintainer would take care.

2010-11-07  Jim Huang  <jserv@0xlab.org>

	* src/tree.c (InitTree): Validate tree_size in binary data.

2010-08-26  Jim Huang  <jserv@0xlab.org>

	* src/hanyupinyin.c (InitHanyuPinYin): Ensure the explicit return
	value when initialization process is done.

2010-08-26  Jim Huang  <jserv@0xlab.org>

	* src/choice.c: Fix implicit declaration of function 'ChoiceEndChoice'

2009-10-01  Kuang-che Wu  <kcwu@csie.org>

	* src/mod_aux.c (chewing_zuin_String): issue 352, zuin_count should
	return the number of zhuyin symbols. Thank dingyichen's report and fix.

2009-02-01  Kuang-che Wu  <kcwu@csie.org>

	* scripts/gen-tabe-diff.sh, scripts/tsi-chewing.diff,
	scripts/cvsup-tsi-src.sh: Removed.

2009-01-29  Jim Huang  <jserv.tw@gmail.com>

	* python/chewing.py: Added cand_String, zuin_String and aux_String for
	convenience.
	Revised the removal of handle_Default.argtypes because handle_Default
	accepts	(void *, int) instead of (void *, char).
	Patched by Ding-Yi Chen <dingyichen@gmail.com>.
	
2009-01-24  Kuang-che Wu  <kcwu@csie.org>

	* src/tree.c (TreeFindPhrase): Fix memory access violation, the case
	of leaf node (index value -1) was not handled.

2008-12-08  Kuang-che Wu  <kcwu@csie.org>

	* test/randkeystroke.c: Fix random key range, avoid genetate chr(0)
	incorrectly. Provide random seed argument. Fix vim mode line.

2008-12-04  Kuang-che Wu  <kcwu@csie.org>

	* src/private.h: Fix compile error if --enable-debug

2008-12-01  Kanru Chen  <kanru@kanru.info>

	* configure.ac: Bump version to 0.3.2 .

	* TODO: Add new entry.

	* NEWS: Update.

2008-12-01  Jim Huang  <jserv.tw@gmail.com>

	* src/tree.c: Fix build due to previous changes.

2008-12-01  Kanru Chen  <kanru@kanru.info>

	* include/global.h,
	include/internal/tree-private.h (IS_USER_PHRASE) (IS_DICT_PHRASE): Hide
	internal macro.

2008-12-01  Jim Huang  <jserv.tw@gmail.com>

	* src/hash.c (TerminateHash): Release internal memory allocations.
	`make -C test vcheck` dumps reasonable results:
	==30989== LEAK SUMMARY:
	==30989==    definitely lost: 0 bytes in 0 blocks.
	==30989==      possibly lost: 0 bytes in 0 blocks.
	==30989==    still reachable: 8,570 bytes in 582 blocks.

2008-12-01  Jim Huang  <jserv.tw@gmail.com>

	* test/gen_keystroke.c (main),
	test/testchewing.c (main): Use refined chewing_delete() with IM
	context instead of chewing_free.

2008-12-01  Jim Huang  <jserv.tw@gmail.com>

	* Doxyfile.in: To improve API documentation, enable the following
	options:
	  - INLINE_SOURCES
	  - HAVE_DOT
	  - CALL_GRAPH

2008-12-01  Jim Huang  <jserv.tw@gmail.com>

	* include/chewingio.h,
	include/mod_aux.h,
	include/global.h,
	include/chewing.h,
	include/internal/chewing-utf8-util.h,
	src/mod_aux.c: Improve Doxygen-friendly text.
	Take care about @param[in] and @param[out] and name group.

2008-12-01  Jim Huang  <jserv.tw@gmail.com>

	* include/global.h,
	include/internal/chewing-private.h,
	include/internal/chewing-utf8-util.h,
	src/hanyupinyin.c,
	src/chewingio.c,
	src/chewingutil.c,
	src/hash.c: Remove the inclusion of header <stdlib.h> and <stdio.h> in
	Chewing API headers.  Place them in implementation C source files
	instead.

2008-11-30  Jim Huang  <jserv.tw@gmail.com>

	* include/chewingio.h,
	include/global.h,
	include/chewing.h: Improve Doxygen-friendly text.

2008-11-30  Jim Huang  <jserv.tw@gmail.com>

	* Doxyfile.in: Update with doxygen 1.5.7.1 -u.  Switch lang to
	English.

	* include/chewing.h: Initially documented for high level descriptions.

2008-11-30  Jim Huang  <jserv.tw@gmail.com>

	* test/Makefile.am: Launch valgrind via libtool.  Avoid linkage
	problems.

2008-11-30  Jim Huang  <jserv.tw@gmail.com>

	* include/zuin.h: Removed.  We only need high level definitions so
	far.

	* include/internal/zuin-private.h: Merged the defintions orginally in
	file include/zuin.h.

	* include/chewing.h,
	src/chewingio.c,
	src/tools/sort_word.c,
	src/chewingutil.c,
	src/zuin.c,
	Makefile.am: Ditto.

2008-11-30  Jim Huang  <jserv.tw@gmail.com>

	* Doxyfile.in: Ignore src/ directory since we refine APIs in headers.

2008-11-30  Jim Huang  <jserv.tw@gmail.com>

	* include/chewingio.h,
	include/mod_aux.h,
	include/global.h,
	include/chewing.h,
	include/zuin.h: Make Doxygen-friendly.

2008-11-27  Kanru Chen  <kanru@kanru.info>

	* include/chewingio.h,
	src/chewingio.c (chewing_get_KBString): New API for retrieving kbtype in
	string format.

2008-11-27  Kanru Chen  <kanru@kanru.info>

	* src/chewingio.c (chewing_get_KBType): Check kbtype's validity.

2008-11-23  Jim Huang  <jserv.tw@gmail.com>

	* include/chewingio.h,
	src/chewingio.c (chewing_get_phoneSeq) (chewing_get_phoneSeqLen):
	Globally defined.  No more Win32 specific.  Considering the usage of
	chewing-utils, the two APIs are useful.

2008-11-23  Jim Huang  <jserv.tw@gmail.com>

	* src/hash.c (TerminateHash): New terminating service function
	to free allocated hash entries.
	(PhoneSeqTheSame): Avoid invalid memory access.
	(InitHash): Hook TerminateHash and prepare hash list entry.
	NOTE: there are still several memleaks.  Use "make -C test vcheck" to
	digg.

2008-11-22  Kanru Chen  <kanru@kanru.info>

	* configure.ac: Bump version to 0.3.1.901 .

2008-11-22  Kanru Chen  <kanru@kanru.info>

	* include/chewingio.h,
	src/chewingio.c (chewing_free) (chewing_delete): Renamed.
	(chewing_free): Used to free memory allocated by chewing.
	(chewing_get_phoneSeq) (chewing_get_phoneSeqLen):
	Win32 needs this two function.

	* src/hash.c (HashItem2Binary) (_load_hash_file): Exported for
	internal use.

2008-11-19  Kanru Chen  <kanru@kanru.info>

	* src/char.c,
	src/dict.c: mmap use original file size.

2008-11-19  Kanru Chen  <kanru@kanru.info>

	* src/mod_aux.c: Only return by argument if the pointer is not NULL.

2008-11-16  Jim Huang  <jserv.tw@gmail.com>

	* include/global.h (struct ChewingConfigData)
	include/chewingio.h: Added bPhraseChoiceRearward.

	* src/chewingio.c (chewing_Configure)
	(chewing_set_phraseChoiceRearward) (chewing_get_phraseChoiceRearward):
	Ditto

	* src/choice.c (ChoiceFirstAvail): bPhraseChoiceRearward indicates the
	behavior for phrase choice to be rearward or not.

	* test/gen_keystroke.c (main): Initialize configurations with
	chewing_set_autoShiftCur and chewing_set_phraseChoiceRearward.

2008-11-14  Kanru Chen  <kanru@kanru.info>

	* src/private.h: Add STATIC_ASSERT macro.

	* include/internal/zuin-private.h,
	include/zuin.h,
	src/tools/sort_word.c: Convert KB_* macros to enum.

	* include/internal/chewing-private.h,
	include/mod_aux.h,
	src/chewingio.c,
	src/mod_aux.c: New APIs to enumerate supported keyboard types.

2008-11-14  Kanru Chen  <kanru@kanru.info>

	* include/global.h,
	include/internal/chewing-private.h: Move bAutoShiftCur and
	bEasySymbolInput from ChewingData to ChewingConfigData.

	* include/chewingio.h,
	src/chewingio.c,
	src/chewingutil.c: Add set/get function of bAutoShiftCur and
	bEasySymbolInput attribute.

2008-11-14  Kanru Chen  <kanru@kanru.info>

	* NEWS: Update.

2008-11-08  Kanru Chen  <kanru@kanru.info>

	* src/char.c,
	src/dict.c: Don't do void pointer arithmetic.

2008-11-03  Kanru Chen  <kanru@kanru.info>

	* src/choice.c (ChoiceFirstAvail): Catch the zero phrase case.

2008-10-28  Kanru Chen  <kanru@kanru.info>

	* src/chewingutil.c (AutoLearnPhrase): Fix the last phrase is new phrase
	case.

2008-10-28  Kanru Chen  <kanru@kanru.info>

	* src/chewingutil.c (ChewingIsBreakPoint) (AutoLearnPhrase): Add
	experimental auto new phrase learning based on heuristic rules mentioned
	in "port bimsphone algorithm to libchewing".

2008-10-26  Kanru Chen  <kanru@kanru.info>

	* include/internal/chewing-utf8-util.h,
	src/common/chewing-utf8-util.c (ueStrNBytes): New helper function.

	* src/chewingio.c,
	src/tree.c: Don't ignore length parameter when comparing two strings.

2008-10-26  Kanru Chen  <kanru@kanru.info>

	* src/chewingio.c,
	src/chewingutil.c,
	src/choice.c,
	src/tree.c,
	src/userphrase.c: Fix improper use of MAX_UTF8_SIZE. This is a serious
	bug that can lead to wrong phrasing result.

2008-10-25  Kanru Chen  <kanru@kanru.info>

	* src/tree.c (FindInterval): Cleanup duplicated codes.

2008-10-25  Kanru Chen  <kanru@kanru.info>

	* src/chewingio.c: Check memory allocation before using it.

2008-10-25  Kanru Chen  <kanru@kanru.info>

	* include/internal/chewingutil.h (CountSymbols) (PhoneSeqCursor): New
	function for calculating phone cursor position.

	* include/internal/char-private.h,
	src/chewingio.c,
	src/chewingutil.c,
	src/choice.c: Remove cursor field, replaced by PhoneSeqCursor function.

	* src/choice.c (ChoiceFirstAvail): Use preferInterval instead of
	phrOut.dispInterval to calculate phrase position.

	* test/gen_keystroke.c: Show all interval.

2008-10-24  Jim Huang  <jserv.tw@gmail.com>

	* README: Update integration status and descriptions.
	Put the logo generated by figlet.

2008-10-23  Jim Huang  <jserv.tw@gmail.com>

	* src/common/key2pho.c (zhuin_tab) (zhuin_tab_num),
	src/chewingutil.c (SetUpdatePhraseMsg) (SpecialSymbolInput)
	(symbol_buf): Added human readable comments around the HEX values.
	The reason why we convert string literal to hex representation is for
	the sake of portability, that avoids some buggy or faulty environment
	like Microsoft VC9 to misinterpret the string.

2008-10-23  Kanru Chen  <kanru@kanru.info>

	* Makefile.am: We no longer ship hanyupinyin.h, so remove it.

2008-10-22  Kanru Chen  <kanru@kanru.info>

	* src/common/key2pho.c,
	src/chewingutil.c: Convert string literal to hex representation for
	maximum portability.

2008-10-22  Kanru Chen  <kanru@kanru.info>

	* src/chewingio.c (chewing_handle_Esc): Remove the hack of
	SemiSymbolInput since SemiSymbolInput no longer exists.

2008-10-22  Kanru Chen  <kanru@kanru.info>

	* src/char.c,
	src/chewingutil.c,
	src/dict.c,
	src/tree.c: Use PATH_MAX.

2008-10-22  Kanru Chen  <kanru@kanru.info>

	* include/internal/hanyupinyin-private.h,
	src/chewingio.c,
	src/hanyupinyin.c: Use consistent API to load hanyupinyin table.

	* include/hanyupinyin.h: Removed.

	* include/chewing.h,
	src/zuin.c: Fix including.

	* src/porting_layer/include/sys/plat_posix.h,
	src/porting_layer/include/sys/plat_win32.h: Add PATH_MAX definition.

2008-10-22  Jim Huang  <jserv.tw@gmail.com>

	* src/chewingio.c (chewing_Init): Touch bTerminateCompleted after
	initialization.

	* src/private.h (TerminateServicesNUM): Fix limit of terminating
	service number since new services are added.

	* test/simulate.c (FILE *fp): Properly init to NULL.

2008-10-21  Jim Huang  <jserv.tw@gmail.com>

	* test/simulate.c: New file.  Rewrite bacth simulating script in C to
	gain more features such as high-lighting difference and statistics.
	The reference output:
	[ Report ]
	Checks: 385 words,  Failures: 34 words
	Ratio: 91.17%

	* test/simulate.sh: Wrapper to executable "simulate".

	* test/testchewing.c
	(commit_string) (main): Used in simulate.c file.
	(compare_per_run): New function.  Simply compare two UTF-8 character
	between expected and committed string.

	* test/Makefile.am: Added "simulate" program.

2008-10-20  Jim Huang  <jserv.tw@gmail.com>

	* src/tree.c (internal_release_Phrase) (FindInterval): Use distinct
	enumeration for used phrase type instead of numbers.

2008-10-20  Kanru Chen  <kanru@kanru.info>

	* python/chewing.py,
	python/test.py: Add initial python binding code.

2008-10-20  Jim Huang  <jserv.tw@gmail.com>

	* test/materials.txt: Added test cases from academic papers and
	discussions.

2008-10-19  Kanru Chen  <kanru@kanru.info>

	* src/hanyupinyin.c,
	src/mod_aux.c,
	src/tools/maketree.c,
	src/tools/sort_word.c,
	src/tree.c,
	test/gen_keystroke.c,
	test/testchewing.c: Misc. cleanup.

2008-10-19  Kanru Chen  <kanru@kanru.info>

	* src/tree.c: Combine mmseg and chewing algorithm into score based
	algorithm.

2008-10-19  Jim Huang  <jserv.tw@gmail.com>

	* test/materials.txt: Imported some test cases from rt.openfoundry.org

2008-10-19  Jim Huang  <jserv.tw@gmail.com>

	* test/debug-chewing-shell.sh: New script to automake the actions to
	debug genkeystroke via gdb.

	* test/README: Mentioned debug-chewing-shell.sh

2008-10-19  Jim Huang  <jserv.tw@gmail.com>

	* test/simulate.sh,
	test/materials.txt: New batch simulating script.  It makes use of
	program "testchewing" from test suite and compare with the expected
	string correspondingly defined in file materials.txt.  The reference
	output:
	[Committed] 就平常交鋼琴
	[Expected]  就平常教鋼琴

	* test/README: Mentioned simulate.sh

	* test/Makefile.am: Default test data should point to
	$(top_srcdir)/test instead of $(top_builddir)/test.

2008-10-19  Jim Huang  <jserv.tw@gmail.com>

	* src/tree.c (InitTree),
	src/char.c (InitChar),
	src/dict.c (InitDict): Properly initialize plat_mmap instances and
	verify them by plat_mmap_is_valid().

	* src/porting_layer/src/plat_mmap_posix.c (plat_mmap_is_valid): Fix
	faulty implementation on verifying file descriptor.

2008-10-18  Jim Huang  <jserv.tw@gmail.com>

	* test/README: Mentioned randkeystroke as the stress test for
	libchewing robustness.

2008-10-18  Jim Huang  <jserv.tw@gmail.com>

	* src/tree.c (struct smart_com) (rule_largest_sum)
	(rule_largest_avgwordlen) (rule_smallest_lenvariance)
	(rule_largest_freqsum) (filter_by_rule) (add_comb)
	(DetermineFirstTsi): New functions.  Implemented the algorithm used
	in bimsphone, which is based on mmseg:
	http://technology.chtsai.org/mmseg/
	This work was done by Kuang-che Wu  <kcwu@csie.org>.

	* src/tree.c (Phrasing): Switching to mmseg based algorithm when all
	phrases in interval exist and number of phonetic sequence > 3.
	NOTE: we will need to improve test suite to check the performance and
	accuracy.

2008-10-18  Jim Huang  <jserv.tw@gmail.com>

	* test/README: Added the information about debugging genkeystroke.
	The way to debug genkeystroke via gdb is a bit tricky since it uses
	ncurses library.  We use two X terminals to do this.

2008-10-18  Jim Huang  <jserv.tw@gmail.com>

	* data/tsi.src: Merged with libchewing-data project.
	Last change: r342 | sky008888 | 2008-07-04 23:09:07 +0800

	* data/phone.cin: Cherry pick from libchewing-data.

	* data/phone.cin-CNS11643-complete.patch: Split the phone-word pair
	that CJKUnifont doesn't display from data/phone.cin .

2008-10-16  Jim Huang  <jserv.tw@gmail.com>

	* include/global.h,
	configure.ac: Disable GCC visibility support on gcc 3.x .
	Although there are several gcc patches included in some gcc 3
	distributions, they are somehow buggy until gcc4 finally releases.
	Also, visibility is enabled on gcc4 by default.

2008-10-15  Kanru Chen  <kanru@kanru.info>

	* src/char.c,
	src/tools/sort_word.c: Enable us_freq.dat binary format.

2008-10-15  Kanru Chen  <kanru@kanru.info>
	
	* data/Makefile.am,
	include/internal/global-private.h,
	src/char.c,
	src/tools/Makefile.am,
	src/tools/dat2bin.c,
	src/tools/maketree.c,
	src/tools/sort_dic.c,
	src/tools/sort_word.c,
	test/Makefile.am: Generate binary data in place.

2008-10-15  Kanru Chen  <kanru@kanru.info>

	* src/dict.c (TerminateDict) (InitDict) (Str2Phrase): Rewrite dict
	binary data manipulation by using mmap.

2008-10-15  Jim Huang  <jserv.tw@gmail.com>

	* src/tree.c (OutputRecordStr): clean up dead code.

	* src/chewingio.c,
	src/zuin.c,
	src/choice.c: Proper inclusion.

	* src/dict.c (fgettab): Conditional build.

2008-10-15  Jim Huang  <jserv.tw@gmail.com>

	* include/internal/hash-private.h,
	include/internal/tree-private.h,
	src/tree.c,
	src/hash.c,
	src/chewingio.c (chewing_Init): Consistent naming for internal APIs.
	Rename from ReadHash to InitHash.  Rename from ReadTree to InitTree.

2008-10-15  Jim Huang  <jserv.tw@gmail.com>

	* src/tree.c (TerminateTree) (ReadTree),
	src/char.c (TerminateChar) (InitChar),
	src/dict.c (TerminateDict) (InitDict): Rewrite binary data
	manipulation by using mmap (memory mapped, provided by porting_layer).
	Expected to dramatically reduce loading	time.

2008-10-14  Kanru Chen  <kanru@kanru.info>

	* src/dict.c,
	src/tools/sort_dic.c: Make sort_dic produce binary data.

2008-10-14  Jim Huang  <jserv.tw@gmail.com>

	* test/Makefile.am: Quiet copy default test data.

	* src/tree.c (ShowList),
	src/chewingutil.c (ShowChewingData): Debug output tweaking.

	* src/chewingutil.c (CallPhrasing): Dump chewing data internals when
	debug mode.

2008-10-14  Jim Huang  <jserv.tw@gmail.com>

	* src/choice.c,
	src/tree.c: Move the declaration of [TreeType] tree from ... to ...

2008-10-14  Jim Huang  <jserv.tw@gmail.com>

	* src/hash.c (formatstring): Removed since it does nothing readable.
	(HashModify): Simplified hash output text.

2008-10-14  Jim Huang  <jserv.tw@gmail.com>

	* configure.ac: Refactor enabling rules.

2008-10-14  Kanru Chen  <kanru@kanru.info>

	* test/Makefile.am,
	test/randkeystroke.c: Add randkeystroke test program.

2008-10-14  Kanru Chen  <kanru@kanru.info>
	
	* include/mod_aux.h (chewing_cursor_Current): Correct return type.

	* test/gen_keystroke.c: Add back cursor position.

2008-10-14  Kanru Chen  <kanru@kanru.info>

	* include/global.h,
	include/internal/chewing-private.h: Expose InternalType.

	* include/mod_aux.h,
	src/mod_aux.c (chewing_interval_Enumerate) (chewing_interval_hasNext)
	(chewing_interval_Get): New API to enumerate intervals.

	* test/gen_keystroke.c: Use new API to display intervals.

2008-10-14  Kanru Chen  <kanru@kanru.info>

	* src/mod_aux.c (cand_no_max): Remove unnecessary static variable.

	* include/internal/chewing-private.h,
	src/tree.c (PhraseIntervalType): Move from ... to ...

	* include/global.h,
	include/internal/tree-private.h (ReadTree): Ditto.

	* include/hanyupinyin.h,
	include/internal/hanyupinyin-private.h,
	src/hanyupinyin.c: Hide private structure.

2008-10-13  Kanru Chen  <kanru@kanru.info>

	* test/gen_keystroke.c (set_cursor): Removed.

2008-10-12  Jim Huang  <jserv.tw@gmail.com>

	* include/global.h: Added macro UNUSED = __attribute__((unused)).

	* include/internal/chewingutil.h: Removed static functions.

	* src/tree.c (ReadTree): Added terminating service: TerminateTree.

	* src/hanyupinyin.c (chewing_set_PinYinMethod): Confirming vaild
	PinYin method type.
	(HanyuPinYinToZuin): Eliminate compiler warning.

	* src/chewingio.c (chewing_Configure)
	(chewing_set_selKey) (chewing_handle_Up) (chewing_handle_ShiftSpac):
	Mark UNUSED parameters.

	* src/tools/dat2bin.c (main): Properly initialize TreeType.

	* src/chewingutil.c (HaninSymbolInput) (_Inner_InternalSpecialSymbol)
	(EasySymbolInput): Mark UNUSED parameters.
	(FindSymbolKey) (TerminateSymbolTable) (TerminateEasySymbolTable):
	Eliminate compiler warning.

	* src/hash.c (HashItem2String): Conditional build with ENABLE_DEBUG.
	(HashItem2Binary) (ReadHashItem_bin) (migrate_hash_to_bin): Eliminate
	compiler warning.

	* src/tools/sort_word.c,
	src/tools/sort_dic.c,
	src/userphrase.c,
	src/chewingutil.c,
	src/zuin.c: Proper inclusion for internal headers.

	* configure.ac: Refactor --enable-debug detection.

2008-10-11  Jim Huang  <jserv.tw@gmail.com>

	* include/global.h,
	include/internal/global-private.h: Move filename definitions to the
	later.  Not necessary to expose chewing data filename information.

	* src/tree.c,
	src/char.c,
	src/tools/sort_word.c,
	src/tools/sort_dic.c,
	src/tools/maketree.c,
	src/chewingutil.c,
	src/dict.c: Ditto.  Proper inclusion.

	* Makefile.am: Remove internal headers.

2008-10-11  Jim Huang  <jserv.tw@gmail.com>

	* src/tree.c (ReadTree),
	src/char.c (InitChar),
	src/dict.c (InitDict),
	src/tools/Makefile.am,
	data/Makefile.am,
	configure.ac: Enable binary data representation.  Default: enabled.

2008-10-10  Kanru Chen  <kanru@kanru.info>

	* include/chewingio.h,
	include/global.h,
	src/chewingio.c: Add public interfaces to set/get configs.

2008-10-09  Kanru Chen  <kanru@kanru.info>

	* configure.ac: Add gcc visibility support.

	* include/char.h,
	include/chewing-utf8-util.h,
	include/chewing.h,
	include/dict.h,
	include/global.h,
	include/hash.h,
	include/mod_aux.h,
	include/userphrase.h,
	include/zuin.h: Remove internal interfaces.

	* include/internal/char-private.h,
	include/internal/chewing-private.h,
	include/internal/chewing-utf8-util.h,
	include/internal/chewingutil.h,
	include/internal/choice-private.h,
	include/internal/dict-private.h,
	include/internal/hash-private.h,
	include/internal/key2pho-private.h,
	include/internal/tree-private.h,
	include/internal/userphrase-private.h,
	include/internal/zuin-private.h: Put internal interfaces here.

	* src/Makefile.am,
	src/char.c,
	src/chewingio.c,
	src/chewingutil.c,
	src/chewingutil.h,
	src/choice.c,
	src/common/Makefile.am,
	src/common/key2pho.c,
	src/dict.c,
	src/hash.c,
	src/mod_aux.c,
	src/porting_layer/src/Makefile.am,
	src/tools/Makefile.am,
	src/tools/sort_word.c,
	src/tree.c,
	src/userphrase.c,
	src/zuin.c,
	test/Makefile.am,
	test/gen_keystroke.c: Adjust including path.

2008-10-01  Kanru Chen  <kanru@kanru.info>

	* configure.ac:
	Migrate check module to use pkg-config.
	Bump version to 0.3.1

	* chewing.pc.in: Add --datarootdir.

2008-09-23  Kanru Chen  <kanru@kanru.info>

	* configure.ac:	Change ABI version to 3.1.0
	libchewing 0.3 stands for development branch.  We intend to break
	API/ABI at the stage.  As the result, there would not be major version
	change in library.

	* NEWS: Updated.

2008-09-20  Kanru Chen  <kanru@kanru.info>

	* configure.ac: Bump version to 0.3.0.902

2008-09-20  Kanru Chen  <kanru@kanru.info>

	* configure.ac: Bump ABI version to 4.0.0

2008-07-07  Kanru Chen  <kanru@kanru.info>

	* test/gen_keystroke.c:	Fix choice buffer output.

	* src/mod_aux.c (chewing_cand_String): Kill memory leak.

2008-07-04  Kanru Chen  <kanru@kanru.info>

	* include/global.h,
	include/zuin.h,
	src/chewingio.c,
	src/common/key2pho.c,
	src/zuin.c: Apply DACHEN_CP26 patch, thanks Paul Liu.

2008-04-28  Caius Chance  <cchance@redhat.com>

	* src/chewingio.c:
	Refactorized chewing_get_ChiEngMode( ChewingContext *ctx ).

2008-04-02  Jeff Chen  <wiz.chen@gmail.com>

	* src/chewingio.c,
	src/chewingutil.c,
	src/chewingutil.h: SemiSymbolInput() is useless.

2008-03-30  Jeff Chen  <wiz.chen@gmail.com>

	* src/zuin.c:
	 Type symbols easily for PinYin input.

2008-02-11  Jeff Chen  <wiz.chen@gmail.com>

	* src/choice.c: 
	 Behaivor changed: Doing select at the end of edit buffer works on the
	 last phrase (interval).

2008-02-08  Jim Huang  <jserv.tw@gmail.com>

	* configure.ac: Make use of AC_CONFIG_AUX_DIR.

	* autotools: New directory containing files generated by autotools.

	* scripts/remove-autotool.sh: Likewise.

2008-02-07  Jim Huang  <jserv.tw@gmail.com>

	* include/chewingio.h,
	include/global.h,
	src/chewingio.c,
	src/hash.c,
	src/choice.c,
	src/porting_layer/include/plat_mmap.h,
	src/porting_layer/src/plat_mmap_win32.c,
	src/porting_layer/src/plat_mmap_posix.c: Update copyright date.

2008-02-07  Jim Huang  <jserv.tw@gmail.com>

	* data/tsi.src: Sync with libchewingdata project.

	* test/Makefile.am: Added uhash.dat in CLEANFILES.

2008-02-05  Jeff Chen  <wiz.chen@gmail.com>

	* src/chewingio.c
	(chewing_handle_Default) (chewing_handle_CtrlNum):
	When users cancel symbol table by "ESC" key, it causes system to step
	into wrong state.
	Openning symbol table needs to invoke semi-symbol input.

2008-01-16  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* include/chewingio.h:
	Correct the API documentation of chewing_get_ChiEngMode and
	chewing_get_KBType.

	* include/global.h:
	Fix the missing plusses, thanks Bell Kin <kinbell4@gmail.com>.
	* include/global.h:
	Remove redundant definition of keyboard types.

2008-01-08  Caius Chance  <cchance@redhat.com>

	* src/chewingio.c,
	src/porting_layer/src/plat_mmap_posix.c,
	include/global.h,
	include/chewingio.h: Keyboard layout toggle button on toolbar.
	( Added a button for keyboard type change. It won't save to config 
	but just for input a character occasionally if such combination keys
	are suddenly forgotten. )

2007-10-22  Kuang-che Wu  <kcwu@csie.org>

	* src/hash.c (ReadHash): Fix user's hash.dat not functional.

2007-04-20  Caius Chance  <cchance@redhat.com>

	* src/chewingio.c: Closes candidate window when user pressed Up key.
	(Compared to Down key for opening candidate window implemented 
	currently.)

2007-01-03  Caius Chance  <cchance@redhat.com>

	* src/choice.c: Clear previous cnadidates before population of new 
	candidates. (Re-fixed as changes made on 2006-12-18 was not 
	effective.)

2006-12-29  Jim Huang  <jserv.tw@gmail.com>

	Merge from the latest libchewingdata

	* data/tsi.src: Sync with libchewingdata project.
	There are some missing glyph shown in rxvt-unicode, so omitted at the
	moment.

2006-12-18  Jim Huang  <jserv.tw@gmail.com>

	Erase candidate and reset its length when Esc key is handled.

	* src/chewingio.c (chewing_handle_Esc): Adjust the number of output
	commit string according to chiSymbolBufLen.
	Suggested by Caius Chance  <cchance@redhat.com>.

2006-12-05  Jim Huang  <jserv.tw@gmail.com>

	* configure.ac: Search $prefix/{include,lib} path first while checking
	ncurses/ncursesw libraries. This is useful to cross-build.

	* test/gen_keystroke.c: Add conditional include of ncurses.

2006-12-05  Kuang-che Wu  <kcwu@csie.org>

	* src/chewingutil.c (CleanAllBuf): nPrefer should also be cleaned when
	clean all bufffer. Otherwise the status of candidate is incorrect
	(after press "Enter" commit).

2006-12-04  Kuang-che Wu  <kcwu@csie.org>

	Fix portability issues on FreeBSD.
	* autogen.sh: FreeBSD sh only support = for test, not ==.  Variable
	setting should be properly quoted.

	* configure.ac test/gen_keystroke.c: widec version of ncurses.h is in
	/usr/local/include/ncurses on FreeBSD. And library in /usr/local/lib.

	* test/Makefile.am: Remove libncurses dependency for testchewing.c.
	It's no longer needed.

	* test/testchewing.c: support ShiftLeft and ShiftRight key.

2006-11-30  Jim Huang  <jserv.tw@gmail.com>

	Fix errors in EasySymbolInput while previous merge.

	* src/chewingutil.c (InitSymbolTable) (InitEasySymbolInput): Replace
	malloc with ALC macro.
	(InitEasySymbolInput): Fix wrong string calls.

2006-11-30  Jim Huang  <jserv.tw@gmail.com>

	Most window systems bind ctrl- combination keys to specific system
	functions, which makes chewing_handle_CtrlOption API being less
	useful. So, just removed.

	* include/chewingio.h,
	src/chewingio.c (chewing_handle_CtrlOption): Remove unused API
	function.

2006-11-28  Jim Huang  <jserv.tw@gmail.com>

	* src/chewingio.c (chewing_handle_CtrlNum): Return while selecting.
	Invoke symbol input with Ctrl-[01].

	* src/chewingutil.c,
	src/chewingutil.h (SpecialEtenSymbolInput): Remove unused function.

	* data/Makefile.am: Fixlet to install-data-local list.

2006-11-28  Jim Huang  <jserv.tw@gmail.com>

	* test/Makefile.am: Link to internal libraries to avoid unresolved
	symbols.

2006-11-28  Jim Huang  <jserv.tw@gmail.com>

	* src/tools/sort_dic.c (main): Fix typo in fclose.

	* src/hash.c (migrate_hash_to_bin): Avoid memory leak.
	(ReadHash): recalculate	chewing_lifetime.

	* src/Makefile.am: Replace $(LIBTOOL_EXPORT_OPTIONS) with
	`-export-symbols-regex "^(chewing)_"' to make sure exporting the right
	Chewing API.

	* data/Makefile.am: Move swkb.dat and symbols.dat to
	install-data-local instead of datas section.

2006-11-26  Kuang-che Wu  <kcwu@csie.org>

	* src/chewingutil.c (SetUpdatePhraseMsg): Ticket #15025. Improve
	message text.

2006-11-25  Kuang-che Wu  <kcwu@csie.org>

	Fix bug: When insert symbol via '`' and trigger auto commit, Chewing
	may crash.

	* src/chewingio.c (chewing_handle_Default): The saved cursor position
	is incorrect due to auto commit. Defer auto-commit until selection.

2006-11-25  Kuang-che Wu  <kcwu@csie.org>

	Fix bug: When insert character in front of buffer and trigger auto
	commit, Chewing may crash.

	* src/chewingutil.c (ChewingKillChar): Don't allow cursor move left
	beyond 0.

2006-11-25  Kuang-che Wu  <kcwu@csie.org>

	Fix bug: Chewing won't auto commit the string in buffer even string is
	too long.  This may lead buffer overflow and crash.

	* src/chewingutil.c (CountReleaseNum): When 1st character in buffer is
	not Zi and 2nd is, the number ready to commit is 1, not 0.  Fix the
	number off by 1.

2006-11-22  Caius Chance  <cchance@redhat.com>

	Release Page Up / Page Down key event to running applications.
	(Fixed Page Up / Page Down key doesn't work when Chewing is activated.)

	* src/chewingio.c
	(chewing_handle_PageUp): Codes cloned from chewing_handle_Home().
	(chewing_handle_PageDown): Same as above.
	* include/chewingio.h
	(chewing_handle_PageUp): Same as above.
	(chewing_handle_PageDown): Same as above.

2006-11-16  Jim Huang  <jserv.tw@gmail.com>

	* src/chewingutil.c (InitEasySymbolInput): Fixlet to invalid
	pointer.

2006-11-16  Jim Huang  <jserv.tw@gmail.com>

	Merge win32-utf8 branch and fix incorrect initialization.

	* include/global.h
	(struct SymbolEntry): New structure as entry of symbol table.
	(struct ChewingData): Rename selectAreaLen to candPerPage. Added
	bEasySymbolInput.

	* src/chewingio.c
	(chewing_Init): initialize Symbol Table.
	(chewing_Reset): Backup old config and restore it after clearing
	pgdata structure. This is important to avoid crash when switching
	different IM engines.
	(chewing_Configure): Rename selectAreaLen to candPerPage.
	(chewing_handle_Esc): Modify symbol checking rule.
	(chewing_handle_Default): Added bEasySymbolInput checks, and see if
	EasySymbolInput should be invoked.
	Added key '`' to open symbol table.
	(chewing_handle_CtrlNum): Since we are using key '`' for open symbol
	table, ctrl-[01] action is turned off. However, it could still be
	implemented for customized tables later.

	* src/tools/sort_dic.c (SetNewline2Zero) (main): Ignore '#' comment
	in tsi.src .
	Here are enumerations:
	  1. # comment with first character '#'
	  2. # comment after some spaces
	  3. data ... # comment after data
	  4. allow blank line in tsi.src

	* src/chewingutil.c (symbol_table) (n_symbol_entry)
	(g_easy_symbol_key) (g_easy_symbol_value) (g_easy_symbol_num)
	(symbol_buf): New variables for new symbol table handling.
	(FindEasySymbolIndex): New helper function. Find out Easy symbol index
	using binary search.
	(SetUpdatePhraseMsg): Separate internal table and look up
	symbol_table.
	(_Inner_InternalSpecialSymbol): New helper function.
	(InternalSpecialSymbol): Reimplemented using
	_Inner_InternalSpecialSymbol.
	(EasySymbolInput): New function for help user to input symbols easily.
	(InitSymbolTable): Ditto.
	(InitEasySymbolInput): Ditto.
	(SymbolChoice): Reimplemented. Support multi-level symbol choosing.
	(OpenSymbolChoice): Ditto.
	(CountReleaseNum): Count symbol as well.
	(FindSymbolKey): New helper function.
	(TerminateSymbolTable) (TerminateEasySymbolTable): New helper function
	registered in terminating serivces.

	* src/chewingutil.h: Likewise.

	* src/hash.c (ComputeChewingLifeTime): Removed.
	(ReadHash): Fix bug of re-base recentTime.

	* src/choice.c (SetChoiceInfo) (ChoicePrevAvail) (ChoiceNextAvail):
	Rename selectAreaLen to candPerPage.
	(ChoiceEndChoice): Added symbol check.

	* data/symbols.dat,
	data/swkb.dat: New files. Used for symbol input.

	* data/Makefile.am,
	test/Makefile.am: Ditto.

	* test/testchewing.c (main),
	test/gen_keystroke.c (main): Fix for naming.

	* configure.ac: Bump version to 0.3.091 .

	* AUTHORS: Updated.

2006-11-08  Kuang-che Wu  <kcwu@csie.org>

	* src/choice.c (SetAvailInfo):
	Fix bug, when list available phrases to choice, user's own phrases are
	not included.  This was fixed by Andy Horng <andyhorng168@gmail.com>
	in r537 win32 branch.

2006-11-04  Kuang-che Wu  <kcwu@csie.org>

	* src/tree.c (NextCut): Fix memory leak. (ticket #20818)

2006-10-30  Caius Chance  <cchance@redhat.com>

	* src/chewingio.c (chewing_handle_ShiftSpace):
	Fixed chewing switch between Full/Half mode and cursor moves one 
	space in gedit.
	(Shift + Space should just only trigger between Full-width and Half-
	width.)

2006-06-19  Jeff Chen  <wiz.chen@gmail.com>

	* data/pinyin.tab:
	A new HanYu-PinYin mapping table contributed by Alexander Beels.

	* src/hanyupinyin.h (chewing_set_PinYinMethod),
	src/hanyupinyin.c:
	Adding a new API --- "chewing_set_PinYinMethod" to support multiple
	PinYin methods. 
	Using the implementation of 0.2.x instead of current one.

	* src/zuin.c (IsSymbolKey):
	Adding "IsSymbolKey" function to make PinYin method support symbol
	input.

2006-05-20  Jim Huang  <jserv.tw@gmail.com>

	* src/char.c (Str2Word),
	src/dict.c (Str2Phrase): Clarify the retrieval from char/dict data.
	In the previous revision, sscanf with %s was used, and isspace(0xa0)
	returns 1 on some BSD libc implementations due to the sematics of non
	breaking space, that is platform-dependent.
	Patched by Rong-En Fan <rafan@infor.org>.

2006-05-20  Jeff Chen  <wiz.chen@gmail.com>

	* src/hanyupinyin.c (HanyuPinYinToZuin):
	  The return value of HanyuPinYinToZuin should not be zero when
	  looking up table failed.

	* src/zuin.c (PinYinInput):
	  It should clean the buffer of PinYin data and return "ZUIN_ABSORB"
	  to ignore the current key when converting failed.

2006-05-19  Jeff Chen  <wiz.chen@gmail.com>

	* data/pinyin.tab (fix key order): put "shun" before "shuo".
	
	* src/hanyupinyin.c (InitMap): The upper limit of for-loop should 
	be N_TOTAL not (N_TOTAL - 1).

2006-05-15  Jim Huang  <jserv.tw@gmail.com>

	* configure.ac: Bump version to 0.3.0 (final).

2006-05-15  Jim Huang  <jserv.tw@gmail.com>

	* configure.ac: Bump ABI major version.

	* data/Makefile.am,
	src/tools/Makefile.am,
	configure.ac: Disable --enable-binary-data option.

2006-05-15  Jim Huang  <jserv.tw@gmail.com>

	* configure.ac: Fill chewing-devel@googlegroups.com as contact
	address.

2006-05-15  Jim Huang  <jserv.tw@gmail.com>

	* src/chewingio.c (chewing_handle_Default): Update lifetime.

2006-05-15  Jim Huang  <jserv.tw@gmail.com>

	* data/phone.cin-CNS11643-complete.patch: New file. Extract all entries
	that CJKUnifont doesn't contain from data/phone.cin .
	Used for reference only.

	* data/phone.cin: Hugely reduced.
	Chewing could output most of Unihan (Extension A and B).

2006-05-11  Jim Huang  <jserv.tw@gmail.com>

	* src/hash.c (HashModify) (ReadHash):
	Initiate variable at correct location and fix incorrect record locate
	expression to avoid crashes if users don't have their own hash.dat .
	Patched by James Huang <seamxr@gmail.com>.

2006-05-10  Jim Huang  <jserv.tw@gmail.com>

	* src/hanyupinyin.c (FreeMap) (InitMap): Fix incorrect file operation.

2006-05-10  Jim Huang  <jserv.tw@gmail.com>

	* configure.ac: Bump version to 0.2.94 .

2006-05-10  Jim Huang  <jserv.tw@gmail.com>

	* debian/*: Removed. Debian@Taiwan maintains the packaging.

2006-05-09  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* data/Makefile.am,
	src/tools/dat2bin.c,
	src/tools/maketree.c,
	src/sort_word.c: Fix binary data build process.

2006-05-08  Jim Huang  <jserv.tw@gmail.com>

	* src/chewingio.c (chewing_handle_Default): Ignore non-printable
	input to avoid unexpected behavior.

2006-05-08  Jim Huang  <jserv.tw@gmail.com>

	* include/userphrase.h (UserGetPhraseFirst),
	src/userphrase.c (UserGetPhraseFirst): Removed since unused.

	* include/hash.h (HASH_FILE): Redefine from "hash.dat" to "uhash.dat".

	* src/hanyupinyin.c (HanyuPinYinToZuin): Fixlet and insert
	DEBUG_CHECKPOINT for future handling.

	* src/private.h (DEBUG_CHECKPOINT): Added filename information.

	* data/Makefile.am: Install pinyin.dat .

2006-05-06  Jim Huang  <jserv.tw@gmail.com>

	* src/Makefile.am,
	src/common/Makefile.am: Fixlet to distclean.

	* Makefile.am: Fixlet to installed headers.

	* configure.ac: Bump version to 0.2.93 .

2006-05-06  Jim Huang  <jserv.tw@gmail.com>

	* include/chewingutil.h,
	src/chewingutil.h: Move from ... to ...

	* include/global.h,
	src/tree.c (IsContain),
	src/chewingutil.c (FindIntervalFrom) (CountReleaseNum) (KillFromLeft)
	(ShowChewingData) (ChewingKillSelectIntervalAcross)
	(KillCharInSelectIntervalAndBrkpt): Marked as static.

	* data/Makefile.am: Improved time stamp handling for data generation.

	* data/NOTE: Added constant-calculating information.
	
2006-05-04  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* Makefile.am,
	data/Makefile.am,
	include/char.h,
	include/global.h,
	src/Makefile.am,
	src/char.c,
	src/choice.c,
	src/tools/maketree.c,
	src/tools/sort_word.c,
	src/tree.c:
	Automatically generate "src/chewing-definition.h" which contains
	definition of TREE_SIZE and PHONE_NUM.
			  
2006-05-02  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* include/char.h,
	include/global.h: Adjust MAGIC constant size.

2006-05-02  Jim Huang  <jserv.tw@gmail.com>

	* src/private.h,
	src/porting_layer/include/sys/plat_posix.h,
	src/porting_layer/include/sys/plat_win32.h: Clean up private.h .
	
2006-05-02  Jim Huang  <jserv.tw@gmail.com>

	* include/hash.h
	(BIN_HASH_SIG): New macro. Used for new binary-based hash data
	signature.
	(AlcUserPhraseSeq): Change prototype to assign phonelen and wordlen.

	* src/userphrase.c (UserUpdatePhrase): Fix buggy memory allocation.

	* src/hash.c
	(AlcUserPhraseSeq) (HashInsert) (HashItem2String): Ditto.
	(HashItem2Binary): New helper function. Convert Hash items to binary
	form.
	(HashModify): Handle hash storage via HashItem2Binary.
	(isValidChineseString): New helper function. Check if input is a valid
	Chinese string.
	(ReadHashItem_bin) (ReadHashItem_txt): New helper function. Separate
	ReadHashItem to two functions for binary and text-based form.
	(open_file_get_length) (_load_hash_file) (migrate_hash_to_bin): New
	helper functions. Used for binary hash file format and workaround for
	hash corruption.
	(ReadHash): Make use of the above new changes.
	Taken from win32-utf8 branch, and modified with porting_layer.
	Patched by James Huang (seamxr) <seamxr@gmail.com>.

	* src/porting_layer/include/sys/plat_posix.h,
	src/porting_layer/include/sys/plat_win32.h (PLAT_RENAME)
	(PLAT_UNLINK): New macros. Wrapper for rename / unlink.

2006-04-30  Jim Huang  <jserv.tw@gmail.com>

	* data/tsi.src: Remove all suffix <CR>.

2006-04-30  Jim Huang  <jserv.tw@gmail.com>

	* test/gen_keystroke.c (main): Call curses::clear() to turn off the
	annoying messages when debug enabled.

2006-04-30  Jim Huang  <jserv.tw@gmail.com>

	* src/chewingio.c: Remove redundant WIN32 definitions since we have
	porting_layer.

	* src/hash.c (ReadHash): Clean up platform-dependent implementation.

	* src/porting_layer/include/sys/plat_posix.h,
	src/porting_layer/include/sys/plat_win32.h: Define platform-dependent
	tmp_dir / mkdir.

2006-04-30  Jim Huang  <jserv.tw@gmail.com>

	* src/common/key2pho.c (zhuin_tab): Add prefix space to distinguish
	zhuin type to fix MakeOutput errors.

2006-04-30  Jim Huang  <jserv.tw@gmail.com>

	* test/gen_keystroke.c (show_edit_buffer): Fixlet to wrong casting.

	* include/hash.h (ReadHash),
	src/hash.c (ReadHash): Change prototype from char * to const char *.

	* include/chewing-utf8-util.h (ueStrNCpy),
	src/common/chewing-utf8-util.c (ueStrNCpy): Change prototype from char
	dest* to char dest[].

	* src/tree.c (GetIntersection) (CompLen) (CompLenDescend) (CompFrom):
	Removed since unused.

	* src/hanyupinyin.c (HanyuPinYinToZuin): Use strdup instead of
	sprintf.

	* src/char.c (Str2Word): Fixlet to assert.

	* src/userphrase.c (DeltaFreq): Removed since unused.

	* src/mod_aux.c (chewing_cand_String): Add return value.

	* README,
	NEWS: Update OXIM bridge information.

2006-04-30  Jim Huang  <jserv.tw@gmail.com>

	* src/chewingutil.c (MakeOutput):
	Fixes in KB_HANYU_PINYIN to avoid wrong Unicode transformation.
	Patched by hialan <hialan.liu@hotmail.com>
	http://hialan.twbbs.org/ .
	
2006-04-30  Jim Huang  <jserv.tw@gmail.com>

	* include/global.h (struct ChewingConfigData::bEscCleanAllBuf):
	New member. Add bEscCleanAllBuf option.

	* src/chewingio.c
	(chewing_Configure): Initialize bEscCleanAllBuf.
	(chewing_handle_Esc): CleanAllBuf when bEscCleanAllBuf is true.
	
	* src/tree.c
	(LoadChar): Modify prototype to accept specific buffer length.
	(OutputRecordStr): Likewise.
	(Phrasing): Passing the length of chiBuf to OutputRecordStr.
	The changes should be able to fix previous wrong behavior.
	Taken from win32-utf8 branch.

	* src/common/key2pho.c (PhoneFromUint): Removed since unused.

2006-04-29  Jim Huang  <jserv.tw@gmail.com>

	* include/global.h
	(struct PhrasingOutput::nNumCut): New member. Indicate the number to
	be cut-off while phrasing.
	(struct ChewingData::symbolKeyBuf): New member. Used as symbol key
	buffer.

	* include/chewingutil.h (OpenSymbolChoice): New function.

	* src/tree.c
	(struct TreeDataType::nPhListLen): New member. Indicate the length of
	phrase list.
	(SortListByFreq): Update nPhListLen.
	(NextCut): New helper function. Calculate the next cut-off node.
	(Phrasing): Invoke NextCut after frequency-evaluation is done.

	* src/chewingio.c
	(chewing_Reset): Initialize nNumCut.
	(DoSelect): change the checking rule for isSymbol since the semantics
	of isSymbol is extended for the following values: (TODO: it should be
	renamed for better readability)
	  1: traditional Hanin symbols.
	  2: pair symbols for OpenSymbolChoice.
	(chewing_handle_Space) (chewing_handle_Down): Simplify the handling
	of Chinese symbol cursor. Add new feature to invoke OpenSymbolChoice
	for pair symbols.
	(chewing_handle_Enter): Disable the call of CallPhrasing.
	(chewing_handle_Tab): Adjust nNumCut while Tab triggered.
	(chewing_handle_Default): Reset nNumCut = 0 and update user phrase
	interval while everything got done.

	* src/chewingutil.c
	(InternalSpecialSymbol) (SymbolInput): Perform the storage of symbol
	keys, that is required by OpenSymbolChoice.
	(SymbolChoice): Handle different type of isSymbol.
	(CleanAllBuf): Clean symbolKeyBuf.
	(ChewingKillChar): ditto.
	(OpenSymbolChoice): New function. Implement the choice mechanism for
	pair symbols.

	* src/hash.c
	(ComputeChewingLifeTime): New helper function. Attempt to re-compute
	chewing lifetime.
	(ReadHash): Invoke ComputeChewingLifeTime.

	* src/choice.c (ChoiceEndChoice): Handle different type of isSymbol.
	The above changes are based on the hard work from
	Andy Horng  <andyhorng168@gmail.com>.
	
	* configure.ac: Bump version to 0.2.92 .

	* AUTHORS: Updated.
	
2006-04-29  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* configure.ac:
	Correctly output include/config.h.in
	Export LIBTOOL_EXPORT_OPTIONS to Makefile.
	
	* include/config.h.in:
	Removed.

2006-04-29  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* data/pinyin.tab,
	include/chewing.h,
	include/global.h,
	include/hanyupinyin.h,
	include/zuin.h,
	src/Makefile.am,
	src/chewingio.c,
	src/chewingutil.c,
	src/hanyupinyin.c,
	src/zuin.c:
	Change KB_HANYUPINYIN (renamed to KB_HANYU_PINYIN) to table-lookup
	implementation.
	Rename all `pinying' to `pinyin'.

2006-03-23  Jim Huang  <jserv.tw@gmail.com>

	* src/Makefile.am: Trivial change for libtool symbols.

2006-03-15  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* src/chewingutil.c (HaninSymbolInput),
	src/choice.c (ChoicePrevAvail) (ChoiceNextAvail):
	Correct symbol choice handling.

2006-03-13  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* data/tsi.src: Add 噹 ㄉㄧㄤ to avoid crash.

2006-03-05  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* src/choice.c (SetChoiceInfo): Fix wrong word length check.

2005-12-17  James Huang (seamxr) <seamxr@gmail.com>

	* src/aux.c,
	src/Makefile.am,
	include/aux.h,
	include/chewing.h:
	Rename "aux.?" to "mod_aux.?". "aux" is a reserved keyword of win32 system.

2005-12-18  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* test/testchewing.c (commit_string),
	test/gen_keystroke.c (show_edit_buffer) (showZuin)
	(show_userphrase) (show_choose_buffer):
	Correctly free allocated memory.

2005-12-17  Jim Huang  <jserv.tw@gmail.com>

	* src/aux.c,
	include/aux.h: New files. Introduced Auxiliary APIs.

	* test/testchewing.c (get_keystroke) (main),
	test/gen_keystroke.c (show_edit_buffer) (show_interval_buffer)
	(showZuin) (show_zuin_buffer) (show_userphrase) (show_choose_buffer)
	(show_commit_string) (set_cursor) (main): Use new APIs.
	NOTE: show_commit_string needs better output handling.

	* test/Makefile.am,
	src/Makefile.am,
	include/global.h (struct ChewingContext),
	include/chewing.h,
	src/chewingio.c (chewing_new): Likewise.

2005-12-07  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* include/global.h,
	src/chewingio.c,
	src/chewingutil.c,
	src/hash.c,
	src/tools/sort_word.c,
	src/tree.c,
	src/userphrase.c:
	Enlarge all buffer size so that can contain at most 6 byte utf8 word.

2005-12-06  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* include/chewingio.h,
	include/global.h,
	src/chewingio.c:
	ConfigData rename to ChewingConfigData.

	* src/chewingutil.c,
	src/choice.c:
	Change measure of selectAreaLen to number of word
	that can be displayed.

2005-12-06  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* include/chewingio.h,
	src/chewingio.c
	(chewing_Init) (chewing_Terminate):
	Only initialize/terminate global data.
	(chewing_new): Allocate and initialize internal data.
	(chewing_free): New API.
	Deallocate internal data.

	* test/testchewing.c (main),
	test/gen_keystroke.c (main): Use the new API.

2005-12-04  Jim Huang  <jserv@kaffe.org>

	* test/test-mmap.c: New file. Unit test for mmap implementation in
	porting_layer.

	* test/do-test.c,
	test/Makefile.am: Likewise.

	* src/hash.c: Remove redundant macro.

	* data/Makefile.am: Fixlet to binary-data generation when enabled.

2005-12-04  Jim Huang  <jserv@kaffe.org>

	* test/Makefile.am,
	configure.ac: Conditional compilation for genkeystroke
	if ncursesw is found.

2005-12-04  Jim Huang  <jserv@kaffe.org>

	* test/Makefile.am,
	configure.ac: Check for check unit test framework.
	http://check.sourceforge.net/
	Conditional compilation if enable built-in unit tests.

	* test/test-key2pho.c,
	test/test-utf8.c,
	test/do-test.c: Touched. Add copyright note.

	* include/chewingutil.h,
	src/chewingutil.c (MakeOutput): marked as static.

	* README: Update win32-chewing information.

2005-12-03  Jim Huang  <jserv@kaffe.org>

	* test/gen_keystroke.c (show_full_shape) (main):
	Tweaking for new API.

2005-12-03  Jim Huang  <jserv@kaffe.org>

	* include/chewingio.h,
	src/chewingio.c (OnKeySpace) (OnKeyEsc) (OnKeyEnter) (OnKeyDel)
	(OnKeyBackspace) (OnKeyTab) (OnKeyShiftLeft) (OnKeyLeft)
	(OnKeyShiftRight) (OnKeyRight) (OnKeyUp) (OnKeyHome) (OnKeyEnd)
	(OnKeyDown) (OnKeyCapslock) (OnKeyDefault) (OnKeyCtrlNum)
	(OnKeyCtrlOption) (OnKeyShiftSpace) (OnKeyDblTab) (OnKeyNumlock):
	API renamed with chewing_ prefix.
	(SetConfig): Renamed to chewing_Configure.
	(chewing_new): New function. Create handle to ChewingContext.
	(InitChewing): Renamed to chewing_Init.
	In addition, wrap InitChar, InitDict, and ReadTree.
	(ChewingReset): Renamed to chewing_Reset.
	(ChewingSetKBType): Renamed to chewing_set_KBType.
	(TerminateChewing): Renamed to chewing_Terminate.
	In addition, release internal data structure.
	(SetChiEngMode): Renamed to chewing_set_ChiEngMode.
	(GetChiEngMode): Renamed to chewing_get_ChiEngMode.
	(SetShapeMode): Renamed to chewing_set_ShapeMode.
	(GetShapeMode): Renamed to chewing_get_ShapeMode.
	(KBStr2Num): Renamed to chewing_KBStr2Num.
	(SetKBType): Removed (in chewing_KBStr2Num).

	* include/global.h
	(#define CHEWING_API): New macro. Indicate the exact API.
	(struct ChewingContext): New structure to wrap ChewingData and
	ChewingOutput.

	* test/testchewing.c (main),
	test/gen_keystroke.c (main): Use the new API.
	
2005-12-01  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* configure.ac:
	Bump version to 0.2.91 .
	0.2.9x series are experimental versions.

	* include/chewingio.h,
	include/global.h,
	src/chewingio.c:
	API change: InitChewing, new API ChewingReset, ChewingSetKBType.
	Drop obsolete struct ChewingConf.

2005-11-29  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* src/common/key2pho.c
	(UintFromPhone) (PhoneFromUint) (PhoneInxFromKey):
	Adjust buffer size.

2005-11-26  Hong Jen Yee (PCMan)  <pcman.tw@gmail.com>

	* data/tsi.src:
	Merged with new data from libchewing-data project.
	Fix a lot of prolems caused by encoding conversion.

	* src/chewingio.c (OnKeySpace) (OnKeyDefault) (OnKeyNumlock):
	Copy UTF-8 encoded string in chiSymbolBuf to commitStr correctly.

	* src/chewingutil.c (WriteChiSymbolToBuf) (MakeOutput):
	Copy UTF-8 encoded string in chiSymbolBuf correctly.

	* src/hash.c,
	src/common/key2pho.c,
	src/private.h,
	include/hash.h:
	Add some conditional compilation and missing header includes for Win32
	to enhance portability.

2005-11-11  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* data/phone.cin,
	data/tsi.src:
	Merge phone and phrase from CNS11643.
	Source:
	http://rt.openfoundry.org/Foundry/Project/Tracker/Display.html?Queue=436&id=15263

	* src/char.c (Str2Word):
	Only read 6 bytes to wrd_ptr->word avoid buffer overflow.

	* src/tools/sort_word.c:
	Adjust MAX_WORD from 20000 to 60000.

	* include/char.h:
	Adjust Word.word size from 10 bytes to 7 bytes.

	* include/dict.h:
	Adjust PHONE_PHRASE_NUM from 149233 to 162244.

	* include/global.h:
	Adjust TREE_SIZE from 153251 to 153341.
	Adjust MAX_CHOICE from 250 to 567.

2005-11-10  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>
	
	* src/hash.c,
	src/tree.c:
	Use ueStrLen to count wordSeq.

2005-11-13  Jim Huang  <jserv@kaffe.org>

	* src/private.h: Added POSIX's <unistd.h> and Win32's <io.h> include.

	* src/hanyupinying.c,
	src/hash.c: Move <unistd.h> include to private.h for
	platform-indepedency.

2005-11-12  Jim Huang  <jserv@kaffe.org>

	* src/hash.c (ReadHash): Add an workaround if illegal data exist in
	hash.dat. Merged from win32 branch.

	* data/tsi.src: Fix typo in wrong phone of "明基".

2005-11-06  Jim Huang  <jserv@kaffe.org>

	* src/tree.c (PhraseIntervalContain) (GetIntersection)
	(CheckBreakpoint) (CheckUserChoose) (CheckChoose) (AddInterval)
	(FindInterval) (SetInfo) (CompLen) (CompLenDescend) (CompFrom)
	(CompRecord) (Discard1) (Discard2) (LoadChar) (OutputRecordStr)
	(LoadPhraseAndCountFreq) (IsRecContain) (SortListByFreq) (SaveRecord)
	(RecursiveSave) (SaveList) (InitPhrasing) (SaveDispInterval)
	(CleanUpMem) (CountMatchCnnct) (ShowList): Marked as static.
	(internal_release_Phrase): Internal phrase memory management
	routines. Free the one not used to avoid memory leak.
	(FindInterval): Make use of internal_release_Phrase.
	Patched by Sea Monster <seamxr@gmail.com>.

	* src/char.c (CompUint16) (Str2Word): Marked as static.
	(InitChar): Fix the wrong operation when USE_BINARY_DATA enabled.

	* src/userphrase.c (DeltaFreq) (LoadOriginalFreq) (LoadMaxFreq)
	(UpdateFreq): Marked as static.
	(LoadOriginalFreq): Fix memory leak.
	(UpdateLifetime): Dummy implementation.
	TODO: we should introduce smarter approaches to update lifetime.

	* src/dict.c (fgettab) (Str2Phrase),
	src/zuin.c (IsDvorakHsuPhoEndKey) (IsHsuPhoEndKey) (IsET26PhoEndKey)
	(IsDefPhoEndKey) (EndKeyProcess) (DefPhoInput) (HsuPhoInput)
	(ET26PhoInput) (IsPinYingEndKey) (PinYingInput),
	src/choice.c (ChangeSelectIntervalAndBreakpoint) (SetAvailInfo)
	(ChoiceTheSame) (SetChoiceInfo) (ChangeUserData): Marked as static.

	* src/tools/sort_word.c (main),
	src/tools/sort_dic.c (main),
	src/tools/maketree.c (main): Added conditional compilation to allow to
	be used in dat2bin.c

	* src/tools/dat2bin.c: New file. Convert text-based dat to binary
	form.

	* src/tools/Makefile.am: Likewise

	* configure.ac: Define AM_CONDITIONAL ENABLE_BINARY_DATA.

2005-11-01  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* src/porting_layer/include/sys/plat_win32.h:
	Adjustment of API naming.

2005-10-31  Jim Huang  <jserv@kaffe.org>

	* src/tree.c (ReadTree),
	src/char.c (InitChar),
	src/dict.c (InitDict): Fixlet to consistent porting layer API.

	* src/Makefile.am: Introduce porting layer library.

	* src/porting_layer/src/plat_mmap_win32.c,
	src/porting_layer/src/plat_mmap_posix.c: Fixlet to missing include
	of config.h, and minor adjustment of API naming.
	
2005-10-31  Jim Huang  <jserv@kaffe.org>

	* src/tree.c: Fixlet to missing include of plat_mmap.h .

	* src/dict.c (InitDict): Minor fixes to mmap handle.

	* src/porting_layer/include/plat_mmap.h: Use macros to present
	FLAG_ATTRIBUTE_READ / FLAG_ATTRIBUTE_WRITE for portability.

	* configure.ac: New option --enable-binary-data to indicate the use
	experimental binary data support.
	Auto-detect $host_os via autoconf.

2005-10-31  Jim Huang  <jserv@kaffe.org>

	* src/chewingio.c (DoSelect):
	Fix a overrun bug that could crush the lib when we advance the cursor
	automatically.
	Patched by Sea Monster <seamxr@gmail.com>.
	
2005-10-31  Jim Huang  <jserv@kaffe.org>

	* src/porting_layer/src/Makefile.am,
	src/porting_layer/src/plat_mmap_win32.c,
	src/porting_layer/src/plat_mmap_posix.c,
	src/porting_layer/Makefile.am,
	src/porting_layer/include/sys/plat_posix.h,
	src/porting_layer/include/sys/plat_win32.h,
	src/porting_layer/include/plat_mmap.h,
	src/porting_layer/include/plat_types.h:
	New files. Porting layer for libchewing.
	Initial implementation of MMap for POSIX and Win32.

	* include/global.h (ChewingData::bAutoShiftCur):
	New member. Automatically shift the cursor to next phrase.

	* src/tree.c
	(TerminateTree): New function dedicated to USE_BINARY_DATA.
	(ReadTree) (CheckBreakpoint),
	src/chewingutil.c (HaninSymbolInput) (HaninSymbolInput),
	src/dict.c (TerminateDict) (InitDict),
	src/hash.c (ReadHash),
	src/zuin.c (EndKeyProcess),
	src/choice.c,
	src/chewingio.c (DoSelect) (OnKeySpace) (OnKeyDefault) (OnKeyNumlock),
	src/char.c (TerminateChar) (InitChar) (TerminateChar):
	Merged USE_BINARY_DATA support and Zuin fixes from win32 branch by
	PCMan and Sea Monster. Reimplement the original win32 routines with
	the porting_layer.
	
	* src/private.h: Introduced the porting layer definitions.
	Fixlet to Win32 DEBUG_OUT.
	
	* src/Makefile.am,
	configure.ac: Add platform-dependent declarations.
	NOTE: UNDER_POSIX is hard-coded at the moment.
	
2005-10-29  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* data/phone.cin,
	data/tsi.src:
	Convert to using UTF-8 encoding.

	* src/common/chewing-utf8-util.c,
	include/chewing-utf8-util.h:
	New routine to handle utf8 strings.

	* src/common/key2pho.c:
	PhoneBg2Uint() rename to UintFromPhone, modify Key2Pho() to handle utf8
	string.

	* src/common/Makefile.am:
	Add chewing-utf8-util.c to source list.
	
	* src/hash.c,
	src/tree.c,
	src/zuin.c,
	src/userphrase.c,
	src/choice.c,
	src/chewingio.c,
	src/chewingutil.c:
	Modify to using new utf8 routine.

	* include/char.h,
	include/chewing.h,
	include/global.h:
	Enlarge buffer size to satisfy utf8 string.

	* test/gen_keystroke.c,
	test/Makefile.am:
	Using ncursesw to show proper utf8 output.

	* configure.ac,
	test/do-test.c,
	test/test-key2pho.c,
	test/test-utf8.c,
	test/xhtml.xsl,
	test/test.css,
	test/showhide.js:
	Add unit test using 'check' framework.

2005-10-18  Hong Jen Yee (PCMan)  <hzysoft@sina.com.tw>

	* libchewing/trunk/src/chewingio.c (OnKeyNumlock):
	Fix an error causing buffer overflow.
	  
2005-10-15  Jim Huang  <jserv@kaffe.org>

	* src/chewingutil.c (SymbolInput),
	src/chewingio.c (OnKeySpace):
	Workaround to tricky crash issue.
	That is the internal buffer in core library would be overwritten if
	the input reaches more then 50 space characters in Chinese input mode,
	Patched by: Sea Monster <seamxr@gmail.com>.

2005-10-15  Jim Huang  <jserv@kaffe.org>

	* include/chewingio.h (SetShapeMode) (GetShapeMode): New functions.
	Set / get full-shape mode.
	
	* include/global.h (ChewingData): New member data. bFullShape.

	* include/chewingutil.h (FullShapeSymbolInput),
	src/chewingutil.c (FullShapeSymbolInput): New function.
	Provide full-shape symbol input mechanism.

	* src/chewingio.c (InitChewing): Initialize bFullShape to
	HALFSHAPE_MODE.
	(SetShapeMode) (GetShapeMode): Implemented.
	(OnKeySpace): Handle space input behavior in full/half-shape mode.
	(OnKeyDefault): Likewise.
	Patched by: Hong Jen Yee (PCMan) <hzysoft@sina.com.tw>.

	* test/gen_keystroke.c (show_full_shape): New function to update
	full/half-shape status.
	(main): Add Ctrl-k to emulate Shift (toggle full/half-shape mode) in
	test case.

2005-10-13  Jim Huang  <jserv@kaffe.org>

	* src/chewingio.c
	(addTerminateService): Fix previous compilation error.
	(OnKeyDefault):
	Support key 'j' / 'k' for paging in selection mode.
	Patched by: Tiberius Teng <tiberiusteng@msn.com>.

2005-10-10  Jim Huang  <jserv@kaffe.org>

	* src/chewingio.c (addTerminateService):
	Avoid redundant function pointer.
	Reported by: Hong Jen Yee (PCMan) <hzysoft@sina.com.tw>.

2005-10-10  Jim Huang  <jserv@kaffe.org>

	* src/chewingio.c (InitChewing): Remove unsafe atexit.
	Note: TerminateChewing is now required.

	* test/testchewing.c: likewise.

2005-09-30  Hong Jen Yee (PCMan)  <hzysoft@sina.com.tw>

	* src/hanyupinying.c (InitialsMap), (FinalsMap):
	Declaration of variables should be put at the beginning of function
	definition.

2005-08-08  Jim Huang  <jserv@kaffe.org>

	* configure.ac: Bump version to 0.2.7 .

	* NEWS,
	README: Updated.

2005-08-08  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* data/tsi.src:
	Add one missing phrase "的". Delete one non-big5 phrase "游錫堃".

2005-08-04  Jim Huang  <jserv@kaffe.org>

	* src/hanyupinying.c (InitMap):
	Add failback routines. 

	* src/Makefile.am:
	Add CHEWING_DATADIR macro.

	* data/Makefile.am:
	Remove pinyin.tab from CLEANFILES.

2005-04-07  Jim Huang  <jserv@kaffe.org>

	* src/private.h,
	src/zuin.c (PinYinInput),
	src/chewingio.c (TerminateChewing) (OnKeyDefault):
	More improved debug macros.

2005-04-03  Jim Huang  <jserv@kaffe.org>

	* src/private.h,
	src/tree.c,
	src/chewingutil.c,
	src/hash.c,
	src/zuin.c,
	src/chewingio.c:
	Improved debug macro definitions.
	
2005-04-03  Jim Huang  <jserv@kaffe.org>

	* include/chewingio.h
	src/chewingio.c (TerminateChewing):
	New function dedicated to terminate Chewing's internal
	routines.

	* src/private.h
	src/chewingio.c (addTerminateService):
	New private function to register the terminate services.

	* src/hanyupinying.c (InitMap):
	Use addTerminateService instead of atexit.

	* src/dict.c (TerminateDict) (InitDict),
	src/char.c (TerminateChar) (InitChar),
	src/chewingio.c (TerminateDebug) (InitChewing):
	Register corresponding terminate routines. (close the
	data file I/O stream)
	NOTE: atexit(3) is used.

2005-04-03  Jim Huang  <jserv@kaffe.org>

	* src/chewingio.c (InitChewing):
	Remove improper exit function call, which causes
	unexpected closing.

2005-04-03  Jeff Chen  <u6191488@mail.cs.tku.edu.tw>

	* src/hanyupinying.c (FinalsMap),
	data/pinyin.tab:
	Add "uei" and "uen" to PinYing-Zuin Map.

2005-04-02  Jim Huang  <jserv@kaffe.org>

	* include/global.h,
	src/private.h:
	Clean up. Move CompFuncType and ALC to private.

	* src/hanyupinying.c (HanyuPinYingToZuin):
	Avoid potential compiler-undefined behavior.

2005-04-01  Jeff Chen  <u6191488@mail.cs.tku.edu.tw>

	* src/hanyupinying.c
	(InitialsMap) (FinalsMap) (FreeMap) (InitMap): New helper function
	to construct the PinYin mapping.
	(HanyuPinYingToZuin): Add support for customized PinYin table.

	* src/zuin.c (IsPinYingEndKey):
	Fix "space key to select" of PinYin.

	* data/pinyin.tab,
	data/Makefile.am:
	New PinYin table. Put it in $HOME/.chewing.

2005-03-29  Jim Huang  <jserv@kaffe.org>

	* src/hanyupinying.c
	(hanyuInitialsMap) (hanyuFinalsMap): Adapt reference table from
	Lin Yu-Tang.
	(HanyuPinYingToZuin): Add "jo" detection.
	Provided by Jeff Chen  <u6191488@mail.cs.tku.edu.tw>.

2005-03-22  Jim Huang  <jserv@kaffe.org>

	* include/global.h,
	test/testchewing.c,
	test/gen_keystroke.c,
	src/tree.c,
	src/private.h,
	src/chewingutil.c,
	src/hash.c:
	Move redundant debug macro into private.h .

2005-03-21  Jim Huang  <jserv@kaffe.org>

	* configure.ac,
	autogen.sh:
	Use autoheader.

	* src/private.h:
	New file. Define private internal macros.

	* src/tree.c,
	src/chewingutil.c,
	src/hanyupinying.c,
	src/hash.c,
	src/zuin.c,
	src/chewingio.c:
	Adjust DEBUG macro name and include private.h .

2005-03-20  Jim Huang  <jserv@kaffe.org>

	* include/global.h (ConfigData):
	Add bSpaceAsSelection option.

	* src/chewingio.c
	(SetConfig): Set bSpaceAsSelection.
	Failback to default values if out-of-range.
	(OnKeySpace): Perform old space key behavior when
	bSpaceAsSelection disabled.

2005-03-20  Jim Huang  <jserv@kaffe.org>

	* test/Makefile.am:
	Add vcheck to perform valgrind memory checking on the built-in
	test suite.

	* test/testchewing.c,
	src/tree.c:
	Minor free routines.

2005-03-18  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* src/chewingutil.c (InternalSpecialSymbol) (SymbolChoice):
	Don't forget to keep the kbtype value.

2005-02-28  Jim Huang  <jserv@kaffe.org>

	* configure.ac:
	Bump version to 0.2.6.
	Bump ABI major version.

2005-02-27  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* include/char.h:
	Adjust PHONE_NUM from 1319 to 1320.

2005-02-25  Kang-min Liu  <gugod@gugod.org>

	* src/chewingutil.c,
	src/zuin.c:
	More HanYu PinYing support routines.

2005-02-24  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>
	
	* src/chewingio.c
	(OnKeyESC): Remove unused string made by SemiSymbolInput when
	press ESC.
	(OnKeyCtrlNum): Should not call MakeOutputAddMsgAndCleanInterval.

2005-02-23  Jim Huang  <jserv@kaffe.org>

	* include/chewingio.h,
	include/global.h,
	include/chewingutil.h,
	include/hanyupinying.h,
	include/dict.h,
	include/zuin.h,
	src/chewingutil.c,
	src/hash.c,
	src/chewingio.c:
	Bump copyright date.

2005-02-20  Kang-min Liu  <gugod@gugod.org>

	* include/global.h (ConfigData):
	Add an extra field 'hsuSelKeyType' to indicate
	the two different kind of hsu-keyboard selection key.
	
2005-02-19  Jim Huang  <jserv@kaffe.org>

	* src/hash.c (ReadHash):
	Apply the patch from Mike FABIAN <mfabian@suse.de> to
	prevent $HOME environment variable from getting changed.

2005-02-19  Kang-min Liu  <gugod@gugod.org>

	* include/hanyupinying.h,
	src/hanyupinying.c,
	include/global.h,
	include/zuin.h:
	Experimental feature -- HanYu PinYing Keyboard layout.

2005-02-08  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* data/tsi.src:
	Add missing phrase(編輯器).

	* include/dict.h,
	include/global.h:
	Adjust PHONE_PHRASE_NUM from 130000 to 149233.
	TREE_SIZE from 149339 to 153251.
	Avoid SegFault.

2005-01-29  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>
	
	* src/chewingio.c (OnKeyShiftSpace):
	Rename SpaceSymbolInput to SemiSymbolInput since SpaceSymbolInput
	did not exist anymore.
	
2005-01-01  Kang-min Liu <gugod@gugod.org>

	* include/chewingio.h
	include/chewingutil.h,
	src/chewingio.c,
	src/chewingutil.c:
	Add the facility to input symbols.(Ctrl-0 and Ctrl-1)
	Make the NumLock keypad work just right

2004-12-28  Jim Huang  <jserv@kaffe.org>

	* include/dict.h:
	Adjust PHONE_PHRASE_NUM from 120000 to 130000.
	Avoid SegFault.
	Reported by: Wei-zhong Yang <wz.yang@msa.hinet.net>

2004-12-28  Jim Huang  <jserv@kaffe.org>

	* configure.ac,
	README:
	Bump version to 0.2.5.
	Update the status of integration.

2004-12-26  Jim Huang  <jserv@kaffe.org>

	* deabin/README.Debian,
	README,
	libchewing.spec.in:
	Update web information.

2004-12-19  Kang-min Liu  <gugod@gugod.org>

	* libchewing/data/tsi.src:
	Merge SpaceChewing's frequency tweaking from zonble.

2004-12-12  Kang-min Liu  <gugod@gugod.org>

	* libchewing/trunk/src/zuin.c:
	Special handle for space key (Indeed very special one).  
	Un-break the situation that OnKeySpace() is not called, 
	hence the Candidate window doesn't show up, because 
	ZUIN_NO_WORD is returned.

2004-10-13  Jim Huang  <jserv@kaffe.org>

	* src/tools/sort_word.c,
	src/tools/sort_dic.c,
	src/tools/maketree.c,
	src/tools/Makefile.am:
	Remove redundant macro, definition, and typedef.
	Make use of src/common.

2004-10-13  Jim Huang  <jserv@kaffe.org>

	* remove-autotool.sh,
	src/tools/Makefile.am,
	src/Makefile.am,
	trunk/configure.ac,
	trunk/autogen.sh:
	Adjust autotool for newly-added src/common.
	
	* src/key2pho.c,
	src/common,
	src/common/key2pho.c,
	src/common/Makefile.am:
	Move key2pho.c from src to src/common.

2004-10-07  Jim Huang  <jserv@kaffe.org>

	Tag 0.2.4 stable release as libchewing_production.

2004-10-05  Jim Huang  <jserv@kaffe.org>

	* configure.ac:
	Bump version to 0.2.4.
	Bump ABI major version.

2004-10-04  Jim Huang  <jserv@kaffe.org>

	* test/gen_keystroke.c (show_userphrase),
	src/hash.c (ReadHash):
	bzero is deprecated, use memset in new programs.

2004-10-03  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* src/chewingutil.c
	(WriteChiSymbolToBuf):
	Workaround to avoid different initialization behavior among
	Win32 and Unix-like OSs.
			 
2004-09-29  Jim Huang  <jserv@kaffe.org>

	* configure.ac:
	Revert. Don't bother CFLAGS even if debugging is disabled.

2004-09-06  Kuang-che Wu  <kcwu@csie.org>

	* test/Makefile.am:
	Fix automake error message about += before any = operation.

	* autogen.sh:
	Respect to autotools environment variable for using different
	versions of autotools.
	Avoid the use of pushd and popd because tranditional /bin/sh
	doesn't have them.

2004-08-31  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>
	
	* include/global.h (ConfigData):
	Add bAddPhraseForward option.

	* src/chewingio.c
	(SetConfig): Set bAddPhraseForward.
	(OnKeyCtrlNum) (OnKeyEnter): Make them work correctly when
	bAddPhraseForward disabled.

2004-08-31  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* test/gen_keystroke.c,
	testchewing.c:
	Make use of OnKeyShiftLeft, OnKeyShiftRight.

2004-08-30  Jim Huang  <jserv@kaffe.org>

	* scripts/cvsup-tsi-src.sh:
	Automatically cvs checkout libtabe, and generate tabe-tsi.src.
	Use it as ./scripts/cvsup-tsi-src.sh in top directory.
	
	* scripts/gen-tabe-diff.sh:
	Generate the diff between existing tsi.src and tabe-tsi.src.
	Use it as ./scripts/gen-tabe-diff.sh in top directory.

2004-08-30  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>
	
	* include/global.h:
	Enlarge TREE_SIZE from (112500) to (149339).
	* include/dict.h:
	Enlarge PHONE_PHRASE_NUM from (94000) to (120000).
	
	* src/tree.c (TreeType tree): Marked as extern.
	
	* src/hash.c (ReadHash): Initialize hash table.
	
	* src/choice.c (TreeType tree): Declare its size as TREE_SIZE.
	
	* data/tsi.src:
	Update tsi.src to latest version.

2004-08-30  Jim Huang  <jserv@kaffe.org>

	* src/chewingio.c (CheckAndResetRange): marked as static.
	(DoSelect): New helper function for valid word selection.
	(OnKeySpace): Adapt DoSelect.

2004-08-23  Jim Huang  <jserv@kaffe.org>

	* include/zuin.h,
	src/key2pho.c,
	src/chewingutil.c:
	Add Dvorak Hsu keyboard layout from SpaceChewing.
	
	* src/zuin.c
	(IsDvorakHsuPhoEndKey): New helper function to check Dvorak Hsu
	key sequence.
	(IsHsuPhoEndKey): Introduce Dvorak Hsu keyboard layout.

	* src/chewingio.c
	(dvorak_convert): New helper function to handle Dvorak <--> Qwerty
	keyboard layout.
	(OnKeyDefault): Introduce Dvorak Hsu keyboard layout.
	
2004-08-20  Jim Huang  <jserv@kaffe.org>

	* include/chewingio.h,
	src/chewingio.c
	(OnKeyShiftLeft) (OnKeyShiftRight) (OnKeyShiftSpace): New functions.
	Introduce Hanin style support from SpaceChewing.
	(CheckAndResetRange): Check the boundary of ChewingData instance.

	* include/chewingutil.h (SymbolChoice):
	New function. Provide generic symbol choice routine.
	
	* src/chewingutil.c (SymbolChoice) (SpaceSymbolInput):
	New functions.

	* include/global.h (struct ChewingData) (struct ChewingOutput):
	New members, PointStart and PointEnd. Necessary information for
	Hanin style.

	* src/zuin.c (HsuPhoInput):
	Fix phonetic index in Hsu keyboard, and do fuzzy "g e" to "j e"
	convertion.
	
	* src/choice.c
	(SetChoiceInfo): Make sure users' phone sequence was allocated
	and set already.
	(ChoiceEndChoice): Check if it's a symbol before return to the
	old cursor and Chinese symbol cursor position.

	* autogen.sh:
	Remove automake cache.
	
2004-08-17  Jim Huang  <jserv@kaffe.org>

	* test/testchewing.c,
	test/gen_keystroke.c:
	Use Ctrl-B to switch English/Chinese mode to avoid screen
	usage.
	
2004-08-09  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* configure.ac:
	Updated to avoid removing wrong CFLAGS.

	Reported by: Palatis  <palatis@gentoo.org.tw>.

2004-08-09  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* Doxyfile.in,
	configure.ac,
	Makefile.am:
	Added file Doxyfile.in, use 'make docs' to generate docs.

2004-08-07  Jim Huang  <jserv@kaffe.org>

	* libchewing.spec.in,
	configure.ac,
	Makefile.am:
	RPM spec contributed by Shiva Huang  <blueshiva@giga.net.tw>.
	
2004-08-06  Jim Huang  <jserv@kaffe.org>

	* include/chewing.h:
	New file. Include all Chewing headers here.
	Add extern chewing_lifetime symbol.
	
	* src/hash.c,
	src/userphrase.c:
	Rename lifetime to chewing_lifetime.
	
	* test/testchewing.c,
	test/gen_keystroke.c:
	Use brief include and write instructions for user-
	defined phrase addition.
	
2004-08-05  Jim Huang  <jserv@kaffe.org>

	* chewing.pc.in,
	configure.ac,
	Makefile.am:
	Support pkg-config.

2004-08-04  Jim Huang  <jserv@kaffe.org>

	* src/chewingio.c:
	Introduce new enviornment variable CHEWING_DEBUG to
	point out the file to put debug information.
	
2004-08-04  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* Makefile.am:
	Add entry 'install-manpages'.

2004-08-04  Jim Huang  <jserv@kaffe.org>

	* configure.ac:
	Bump version to 0.2.3.
	
2004-08-04  Jim Huang  <jserv@kaffe.org>

	* test/gen_keystroke.c,
	test/testchewing.c:
	Implement user phrase addition and some fancy rendering.

2004-08-04  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* src/choice.c (SetAvailInfo):
	Fix wrong nAvail increase.

2004-08-04  Jim Huang  <jserv@kaffe.org>

	* test/gen_keystroke.c,
	test/testchewing.c:
	Support input behavior of SpaceChewing.
	Add space key for selecting candidate phrases.
	
2004-08-03  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* data/tsi.src:
	Add mising zuin symbols to avoid unexpected problems.

2004-08-03  Jim Huang  <jserv@kaffe.org>

	* src/choice.c (ChangeSelectIntervalAndBreakpoint):
	Perform boundary check.
	
2004-08-03  Jim Huang  <jserv@kaffe.org>

	* src/chewingio.c:
	Fix debug routines.

	* src/choice.c:
	Do available candidate phrases initialization.

	Reported by: Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>
	
2004-08-03  Jim Huang  <jserv@kaffe.org>

	* test/.cvsignore,
	test/Makefile.am,
	test/gen_keystroke.c,
	test/testchewing.c:
	Limit the prefix path test suite only ought to use,
	the hash data included.
	
2004-08-03  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* test/gen_keystroke.c,
	test/testchewing.c:
	Remove unused variables.
	Use .dat files in data.

	* data/Makefile.am:
	Generate .dat files when make all.

2004-08-03  Jim Huang  <jserv@kaffe.org>

	* src/chewingio.c (OnKeyDefault):
	Fix the wrong ignoring key handler behavior.

2004-08-03  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* test/gen_keystroke.c,
	test/testchewing.c:
	Fix some bugs.

2004-08-02  Jim Huang  <jserv@kaffe.org>

	* test/Makefile.am:
	Better test generation routines.
	
	* test/testchewing.c,
	test/gen_keystroke.c:
	Add missing lifetime.

	* test/README:
	Brief usage.

2004-08-02  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>
	
	* test/gen_keystroke.c,
	testchewing.c,
	test.txt,
	README:
	Initial built-in test suite.

2004-07-31  Jim Huang  <jserv@kaffe.org>

	* include/chewingio.h,
	src/chewingio.c (OnKeySpace) (OnKeyCtrlOption):
	New function. Make use of space key for most
	operations, Eten special symbol input included.

	* include/chewingutil.h,
	src/chewingutil.c
	(SpecialEtenSymbolInput): New function.
	Introduce Eten special symbols.
	(SpecialSymbolInput): Move its routines to InternalSpecialSymbol.

	* src/hash.c:
	Make lifetime with extern modifier.
	
2004-07-31  Jim Huang  <jserv@kaffe.org>

	* include/hash.h,
	src/hash.c:
	Initial support for MacOSX.
	
2004-07-29  Kanru Chen <kanru.96@stu.csie.ncnu.edu.tw>

	* src/tools/sort_dic.c:
	Fix the broken encoding.

2004-07-23  Kanru Chen <kanru.96@stu.csie.ncnu.edu.tw>

	* include/chewingio.h:
	Add some comment.

2004-07-21  Kanru Chen <kanru.96@stu.csie.ncnu.edu.tw>

	* configure.ac:
	Fix --disable-debug option, remove '-g' flag.

2004-07-20  Jim Huang  <jserv@kaffe.org>

	* configure.ac:
	Add --enable-debug support and detection for doxygen.

2004-07-20  Jim Huang  <jserv@kaffe.org>

	* include/char.h,
	include/chewingutil.h,
	include/global.h,
	include/userphrase.h,
	include/chewingio.h,
	include/dict.h,
	include/hash.h,
	include/zuin.h:
	Indent and remove the "GOING" naming not to be misunderstood.
	
2004-07-19  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* include/chewingio.h,
	include/global.h,
	include/hash.h,
	include/userphrase.h,
	include/zuin.h,
	src/char.c,
	src/chewingio.c,
	src/chewingutil.c,
	src/choice.c,
	src/hash.c,
	src/tree.c,
	src/userphrase.c,
	src/zuin.c,
	src/tools/maketree.c,
	src/tools/sort_dic.c:
	Add some doxygen format comments and modify
	all C++ style comments(//) to C style comments(/**/).

2004-07-17  Jim Huang  <jserv@kaffe.org>

	* README:
	Add keyboard support information entries.
	
	* TODO:
	For developers only. Please write down plans 
	and on-going note here.

2004-07-17  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* debian/shlibs.local:
	Updated Debian package information.

	* include/zuin.h,
	src/chewingio.c,
	src/key2pho.c:
	Add Dvorak keyboard support.

2004-07-17  Jim Huang  <jserv@kaffe.org>

	* src/tools/maketree.c,
	src/tools/sort_dic.c,
	src/tools/sort_word.c:
	Indent coding style.
	
2004-07-06  Jim Huang  <jserv@kaffe.org>

	* src/char.c,
	src/chewingutil.c,
	src/dict.c,
	src/key2pho.c,
	src/userphrase.c,
	src/chewingio.c,
	src/choice.c,
	src/hash.c,
	src/tree.c,
	src/zuin.c:
	Indent and do more comments against the core.
	
2004-07-06  Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* debian/changelog,
	debian/libchewing0-dev.dirs,
	debian/libchewing0-dev.install,
	debian/libchewing-dev.dirs,
	debian/libchewing-dev.install:
	Updated Debian package information.
	
2004-07-05  Jim Huang  <jserv@kaffe.org>

	* autogen.sh,
	configure.ac,
	Makefile.am,
	src/tools/Makefile.am,
	src/Makefile.am,
	data/Makefile.am:
	Adapt autotoolized patch from
	Kanru Chen  <kanru.96@stu.csie.ncnu.edu.tw>

	* COPYING: Specify LGPL.
	* debian: Debianized information.

2004-05-27  Jim Huang  <jserv@kaffe.org>

	* src/hash.c: refactor its data structure.
	* src/chewingio.c: fix memory leak and fix syntax compatibility.
	* src/char.c: wide scope support.
	* key2pho.c: fix syntax compatibility.
	* data/tsi.src: fix some typo and errors.

2004-03-25  Jim Huang  <jserv@kaffe.org>

	* Initial release of libchewing.
