2007-12-28  NIIBE Yutaka  <akr@fsij.org>

	* Makefile.am (scripts_SOURCES): Removed because *_SOURCES is
	  reserved by automake.
	  (EXTRA_DIST): Expand scripts_SOURCES.
	  (CLEANFILES): Add gonzuirc.sample.in and license-test

	* gonzui-update.in: fix one-line explanation.

2006-12-27  NIIBE Yutaka  <gniibe@fsij.org>

	* gonzui/vcs.rb (Gonzui::AbstractVCS#initialize): don't require cvs
	  stuff here.

2006-10-04  Tanaka Akira  <akr@fsij.org>

	* gonzui/webapp/uri.rb (Gonzui::URIMaker.escape_path): implemented.
	  (Gonzui::URIMaker.make_uri_general): use escape_path instead of
	  HTTPUtils.escape because HTTPUtils.escape doesn't escape "?".
	  (Gonzui::URIMaker.make_uri_with_options): ditto.

2006-10-04  Tanaka Akira  <akr@fsij.org>

	* gonzui/webapp/uri.rb (Gonzui::URIMaker.make_uri_with_options):
	  escape path to make correct URI which contains "#" character in
	  the path, such as "gdb-6.4/gdb/.#version.in.1.1576.2.32".

2006-09-18  Tanaka Akira  <akr@fsij.org>

	* gonzui/autopack.c: use RSTRING_PTR if available.

	* gonzui/delta.c: use RARRAY_PTR and RARRAY_LEN if available.

	* gonzui/texttokenizer.c: use RSTRING_PTR and RSTRING_LEN if
	  available.

	* gonzui/webapp/xmlformatter.c: use RARRAY_PTR, RARRAY_LEN,
	  RSTRING_PTR and RSTRING_LEN if available.

2006-06-19  Tanaka Akira  <akr@m17n.org>

	* gonzui/extractor.rb
	  (Gonzui::AbstractExtractor#arrange_extracted_files): always use
	  archive name to generate package name.

2006-02-22  Tanaka Akira  <akr@m17n.org>

	* gonzui/webapp/markup.rb (Gonzui::TextBeautifier#decorate): Don't
	  escape a colon.  A colon is not used as delimiters in HTML form
	  and RFC 3986 permits non-delimiter reserved character in non
	  percent encoded form.

2006-02-21  Tanaka Akira  <akr@m17n.org>

	* gonzui/cmdapp/app.rb (Gonzui::CommandLineApplication): Extend with
	  Util to use eprintf from the class method
	  Gonzui::CommandLineApplication.start.

2006-02-20  Tanaka Akira  <akr@m17n.org>

	* gonzui/webapp/markup.rb (Gonzui::TextBeautifier#decorate): Escape
	  a query string.  It is required for function names which has special
	  characters such as f+, defined in lisp/emacs-lisp/float.el of
	  emacs-21.4.

2006-02-07  Tanaka Akira  <akr@m17n.org>

	* tests/updater.rb (UpdaterTest#test_update): Finish updaters
	  explicitly.  Closing bdb at exit may cause core dump.

2006-01-12  Tanaka Akira  <akr@m17n.org>

	* gonzui/webapp/uri.rb (make_uri_with_options): Use
	  HTTPUtils.escape_form instead of HTTPUtils.escape.
	  Generate URLs such as 
	  "http://host:port/search?q=package%3Agtk%2B-2.6.9+printf" instead of
	  "http://host:port/search?q=package%3Agtk+-2.6.9+printf"
	  (make_google_uri): Ditto.

2006-01-09  rubikitch  <rubikitch@ruby-lang.org>

	* gonzui-search, gonzui/cmdapp/search.rb, tests/cmdapp-search.rb:
	New option: -P, --package.

2006-01-09  Tanaka Akira  <akr@m17n.org>

	* gonzui/extractor.rb, gonzui/util.rb: Don't chmod 0777

	* gonzui/extractor.rb: Avoid Errno::EEXIST by mkdir when 
	  xxx.tar.gz contains xxx and yyy.

	* gonzui/extractor.rb: Avoid Errno::EACCES by rename when
	  xxx.tar.gz contains yyy and zzz which is non-writable directory.

2006-01-07  Tanaka Akira  <akr@m17n.org>

	* gonzui/util.rb (FileUtils.chmod_r): Don't chmod symbolic links
	  to avoid Errno::ENOENT with a link to non-existing file.

2006-01-05  Tanaka Akira  <akr@m17n.org>

	* autogen.sh: Use $_.scan instead of scan because it is removed
	  at latest ruby-1.9.
	
	* acinclude.m4 (RUBY_CFLAGS): add CCDLFLAGS because
	  -fPIC is required on x86_64.

2006-01-03  Tanaka Akira  <akr@m17n.org>

	* gonzui-server.in: New option --bind to bind listening port.
	  --bind=127.0.0.1 for example.

	* gonzui/config.rb: Setup default listening bind address configuration.

2005-09-19  Satoru Takabayashi  <satoru@namazu.org>

	* configure.ac: Bumped version number to 1.3.

	* langscan/**/*: Removed all LangScan files.  They are now
	separated as an independent package.
	* tests/easyscanner.rb, tests/langscan.rb, tests/pairmatcher.rb:
	Removed.
	* langscan.rb: Removed.
	* Makefile.am: Remove langscan stuff.
	* tests/Makefile.am: Ditto.
	* configure.ac: Ditto.
	* configure.ac: Add a check for langscan library.

	* tests/cmdapp-search.rb: Use "" instead of nil to clear
	environmental variables: GREP_COLOR and GREP_OPTIONS.

2005-09-12  Kenichi Ishibashi  <bashi@dream.ie.ariake-nct.ac.jp>

	* langscan/elisp.rb: redesigned.
	* langscan/elisp/elisptok.l: new file.
	* langscan/elisp/tokenlist.txt: new file.
	* langscan/elisp/Makefile.am: redesigned.
	* langscan/elisp/test/test-scan.rb: redesigned.
	* configure.ac (AC_OUTPUT): added `langscan/elisp/Makefile' and
	`langscan/elisp/test/Makefile'.
	* langscan/Makefile.am (SUBDIRS): added `elisp'.

2005-09-07  Tanaka Akira  <akr@m17n.org>

	* langscan/ruby/compat/ripper/ripper.c: Sync ripper after
	  [ruby-dev:26958].

2005-09-04  Tanaka Akira  <akr@m17n.org>

	* langscan/ruby/compat/ripper/ripper.c: sync ripper.c after
	  [ruby-dev:26956].

2005-09-03  Kenichi Ishibashi  <bashi@dream.ie.ariake-nct.ac.jp>

	* langscan/scheme.rb: modify to handle quoted list.
	* langscan/scheme/schemetok.l: modify to detect quote characters.
	* langscan/scheme/tokenlist.txt: add `quote_chars'.
	* langscan/scheme/test/test-scan.rb: add tests.

	* langscan/pairmatcher/pairmatcher.c: detect same close_token
	pair. [Gonzui-devel 356]
	* tests/pairmatcher.rb: new test.

2005-09-01  Tanaka Akira  <akr@m17n.org>

	* langscan/ruby/compat/ripper: Bundle Ripper backported for 1.8.

	* langscan/ruby.rb: Require bundled Ripper if standard Ripper is not
	  exist.

	* configure.ac: Test Ripper existence.

2005-08-21  Tanaka Akira  <akr@m17n.org>

	* langscan/ruby.rb (LangScan::Ruby::Parser#on_defs): New method to
	  detect singleton methods.

2005-08-14  Kenichi Ishibashi  <bashi@dream.ie.ariake-nct.ac.jp>

	* langscan/scheme.rb: New file.
	* langscan/scheme/.cvsignore: New file.
	* langscan/scheme/Makefile.am: New file.
	* langscan/scheme/schemetok.l: New file.
	* langscan/scheme/tokenlist.txt: New file.
	* langscan/scheme/test/.cvsignore: New file.
	* langscan/scheme/test/Makefile.am: New file.
	* langscan/scheme/test-scan.rb: New file.
	* configure.ac (AC_OUTPUT): Added `langscan/scheme/Makefile' and
	`langscan/scheme/test/Makefile'.
	* langscan/Makefile.am (SUBDIRS): Added `scheme'.
	(rubylib_DATA): Added `scheme.rb'.

2005-08-04  Satoru Takabayashi  <satoru@namazu.org>

	* acinclude.m4 (AM_PATH_RUBY_BIN): Merge AM_CHECK_RUBY_VERSION.

2005-08-03  Satoru Takabayashi  <satoru@namazu.org>

	* acinclude.m4 (AM_PATH_RUBY_BIN): New macro.
	(AM_PATH_RUBY_LIB): Renamed from AM_PATH_RUBY.
	* gonzui-db.in: New file.
	* gonzui-import.in: New file.
	* gonzui-remove.in: New file.
	* gonzui-search.in: New file.
	* gonzui-server.in: New file.
	* gonzui-update.in: New file.
	* langscan-test.in: New file.
	* license-test.in: New file.
	* Makefile.am: Adopt changes.

2005-07-04  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui: Version 1.2 released.

	* AUTHORS: Add Yoshinori KUNIGA  <kuniga at users.sourceforge.net>

2005-06-10  Yoshinori KUNIGA  <kuniga@users.sourceforge.net>

	* langscan/rpmspec.rb: New file.
	* langscan/rpmspec/Makefile.am: New file.
	* langscan/rpmspec/test/Makefile.am: New file.
	* langscan/rpmspec/test/test-rpmspec.rb: New file.

	* langscan/Makefile.am (SUBDIRS): Add `rpmspec'.
	* langscan/Makefile.am (rubylib_DATA): Add `rpmspec.rb'.
	* configure.ac (AC_OUTPUT): Add langscan/rpmspec/Makefile and
	langscan/rpmspec/test/Makefile.

2005-05-26  Soutaro Matsumoto  <matsumoto@soutaro.com>

	* configure.ac: Add langscan/ocaml/test/Makefile.
	* langscan/ocaml.rb: bug fix.
	* langscan/ocaml/lexer.mll: rewritten from scrach.
	support for .mll .mly files.
	license changed to GPL from QPL.
	* langscan/ocaml/test: Tests for LangScan::OCaml.
	* langscan/ocaml/test/Makefile.am: New file.
	* langscan/ocaml/test/test-ocaml.rb: New file.

2005-05-22  Satoru Takabayashi  <satoru@namazu.org>

	* configure.ac (AC_OUTPUT): Add langscan/brainfuck/Makefile and
	langscan/brainfuck/test/Makefile.

2005-05-22  MATSUNO Tokuhiro  <tokuhirom at yahoo.co.jp>

	* langscan/perl/tokenizer.pl: Set the ALLOW_NONASCII flag.

2005-05-07  MATSUNO Tokuhiro  <tokuhirom at yahoo.co.jp>

	* langscan/brainfuck.rb: New file.
	* langscan/brainfuck/Makefile.am: New file.
	* langscan/brainfuck/test/Makefile.am: New file.
	* langscan/brainfuck/test/test-scan.rb: New file.
	* langscan/Makefile.am (rubylib_DATA): Add `brainfuck.rb'.

2005-04-25  Satoru Takabayashi  <satoru@namazu.org>

	* AUTHORS: Add Soutaro Matsumoto <matsumoto at soutaro.com>.

	* configure.ac (AC_OUTPUT): Add langscan/ocaml/Makefile.
	Add checks for ocaml and ocamllex.
	* langscan/Makefile.am (SUBDIRS): Add ocaml.
	* langscan/ocaml.rb (LangScan::OCaml::name): Change the name to
	"Objective Caml"
	* langscan/ocaml/Makefile.am (EXTRA_DIST): Remove README COPYING.

	* configure.ac: Bumped version number to 1.2.

2005-04-24  Tanaka Akira  <akr@m17n.org>

	* langscan/java.rb (LangScan::Java.scan): Detect method definitions
	  which has `throws' clause.
	  Reported by MIYAMUKO Katsuyuki in [Gonzui-devel 272].

2005-04-16  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/util.rb (FileUtils::chmod_r): New method.
	(Gonzui::TemporaryDirectoryUtil::clean_temporary_directory): Use
	it to solve the problem reported in [Gonzui-devel 275].
	* gonzui/extractor.rb
	(Gonzui::SRPMExtractor::clean_rpm_directories): Ditto.

	* AUTHORS: Add Kenichi Ishibash <bashi at dream.ie.ariake-nct.ac.jp>.

	* langscan/java/test/test-java.rb: Applied a patch by MIYAMUKO
	Katsuyuki <miyamuko at mtb.biglobe.ne.jp>. [Gonzui-devel 272].

2005-04-11  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui: Version 1.1 released.

	* gonzui/searcher.rb (Gonzui::Searcher::find_ids): Remove the
	assertion to fix the bug reported in [gonzui-devel 236]

	* tests/content.rb (ContentTest::test_content): New test.
	* tests/updater.rb (UpdaterTest::test_update): New test.
	* tests/test-util.rb (TestUtil): Don't include Gonzui::Util to
	avoid overriding assert* methods.

2005-04-10  Kenichi Ishibashi  <bashi@dream.ie.ariake-nct.ac.jp>

	* gonzui-db (GonzuiDB::command_retrieve): Fix method call.

2005-04-10  Satoru Takabayashi  <satoru@namazu.org>

	* tests/fetcher.rb (FetcherTest::test_file): New test.
	(FetcherTest::test_http): Ditto.
	(FetcherTest::test_cvs): Ditto.
	(FetcherTest::test_svn): Ditto.

2005-04-08  Tanaka Akira  <akr@m17n.org>

	* langscan/c/ctok.l: Accept invalid escape sequences.
	  reported by MIYAMUKO Katsuyuki <miyamuko at mtb.biglobe.ne.jp>.
	  [Gonzui-devel 259]

	* langscan/c.rb (LangScan::C.scan): Fix function definition detection.
	  reported by MIYAMUKO Katsuyuki <miyamuko at mtb.biglobe.ne.jp>.
	  [Gonzui-devel 259]

2005-04-08  Satoru Takabayashi  <satoru@namazu.org>

	* configure.ac: Bumped version number to 1.1.

	* gonzui/extractor.rb (Gonzui::TarExtractor): New class by
	MIYAMUKO Katsuyuki <miyamuko at mtb.biglobe.ne.jp> [Gonzui-devel
	257]. 

	* gonzui/fetcher.rb (Gonzui::AbstractFetcher): inculude Util to
	use assertions. [Gonzui-devel 258]
	(Gonzui::Fetcher): extend Util to use assertions.

2005-04-08  Kenichi Ishibashi  <bashi@purple.ie.ariake-nct.ac.jp>

	* langscan/sh.rb: New file.
	* langscan/sh/.cvsignore: New file.
	* langscan/sh/Makefile.am: New file.
	* langscan/sh/shtok.l: New file.
	* langscan/sh/tokenlist.txt: New file.
	* langscan/sh/.cvsignore: New file.
	* langscan/sh/test/Makefile.am: New file.
	* langscan/sh/test-scan.rb: New file.

	* configure.ac (AC_OUTPUT): Added langscan/sh/Makefile and
	langscan/sh/test/Makefile.
	* langscan/Makefile.am (SUBDIRS): Added sh.
	(rubylib_DATA): Added sh.rb.

2005-04-06  Satoru Takabayashi  <satoru@namazu.org>

	* doc/gonzui.js: Supply "var" to all variables. Applied a patch by 
	Toshiaki Katayama <k at bioruby.org>. 

2005-04-05  Satoru Takabayashi  <satoru@namazu.org>

	* doc/gonzui.js (initCache): Avoid using for (i in foo) syntax to
	support Safari and Netscape 7.1.  Suggested by Toshiaki Katayama
	<k at bioruby.org>. 
	(setHighlight): Ditto. 

2005-04-04  Satoru Takabayashi  <satoru@namazu.org>

	* langscan/_template.c (user_read_str): Make it static function.

2005-03-31  Yoshinori KUNIGA  <kuniga@users.sourceforge.net>

	* gonzui/extractor.rb
	(Gonzui::SRPMExtractor::do_extract_internal): Fixed the bug in the
	setting of the variable "command_line".
	(Gonzui::SRPMExtractor::do_extract_internal): Copy spec file to
	the top directory.

2005-03-29  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui: Version 1.0 released.

2005-03-28  Tanaka Akira  <akr@m17n.org>

	* langscan/java/javatok.l, langscan/java/tokenlist.txt:
	  Detect classdef.

2005-03-28  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/importer.rb (Gonzui::Importer::import_package): Don't
	rescue errors occurred in index_content.

	* gonzui/util.rb (Gonzui::UTF8::to_utf8): Rescue ArgumentError as
	well. [Gonzui-devel 227]
	(Gonzui::UTF8::set_preference): New method.
	* gonzui/cmdapp/app.rb
	(Gonzui::CommandLineApplication::process_common_options): Use it.

2005-03-26  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/indexer.rb (Gonzui::Indexer::index_content): Rescue
	all exceptions raised in LangScan module.  [Gonzui-devel 223]

	* gonzui/importer.rb (Gonzui::Importer::import_package): Display
	the relative path in the verbose message.

2005-03-25  Kouichirou Eto  <2005 at eto.com>

	* langscan/css.rb: Change selector type from :type to :fundef

2005-03-25  Kouichirou Eto  <2005 at eto.com>

	* langscan/css.rb: Update.  Break selector.
	* langscan/css/*: Removed.

2005-03-25  Satoru Takabayashi  <satoru@namazu.org>

	* configure.ac: Bumped version number to 1.0.

	* Makefile.am (gettext): Scan langscan/*.rb as well.

	* gonzui/vcs.rb (Gonzui::AbstractVCS::run_command): Display
	a progress message only if @config.quiet is false.

	* tests/vcs.rb (VCSTest::test_cvs): New test.
	(VCSTest::test_svn): New test.

	* gonzui/extractor.rb
	(Gonzui::SRPMExtractor::do_extract_internal): Don't use *.spec for
	"system".
	(Gonzui::AbstractExtractor::extract): remove temporary directories
	if an error occurrs.

	* gonzui/apt.rb (Gonzui::AbstractAptGet::add_cleaning_proc):
	Renamed from add_clean_hook.

2005-03-25  Kouichirou Eto  <2005 at eto.com>

	* langscan/css.rb: Redesigned. Use EasyScanner.
	* langscan/css/test/test-css.rb: Add test cases.
	* langscan/elisp/test/test-elisp.rb: Add test cases.

2005-03-25  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/cmdapp/app.rb
	(Gonzui::CommandLineApplication::process_common_options): Expand a
	path name for gonzuirc. [Gonzui-devel 203]

	* gonzui/info.rb (Gonzui::ContentInfo::dump): Check if mtime is
	minus. [Gonzui-devel 202]
	* tests/info.rb (InfoTest::test_minus_mtime): New test for that.

	* gonzui/fetcher.rb (Gonzui::AbstractFetcher::mtime): Removed.
	(Gonzui::FileFetcher::mtime): Ditto.
	(Gonzui::HTTPFetcher::mtime): Ditto.
	(Gonzui::AbstractFetcher::each): Ditto.
	[Gonzui-devel 201]

2005-03-25  Kouichirou Eto  <2005 at eto.com>

	* langscan/javascript.rb (LangScan::JavaScript): Update
	Keywords. Remove Types.
	* langscan/javascript/test-javascript.rb (TestJavaScript): Add
	test cases.

2005-03-23  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/vcs.rb (Gonzui::AbstractVCS): include Util.
	[Gonzui-devel 194]

	* gonzui/apt.rb (Gonzui::AptGetForDebian::find_archive): New
	method. 
	(Gonzui::DebAptGet): Renamed from AptGetForDebian.
	(Gonzui::RPMAptGet): Renamed from AptGetForFedora.

	* gonzui/webapp/*.rb: Simplify calls of GonzuiServlet.register.

	* gonzui/searcher.rb (Gonzui::PhraseFinder): Include Util.
	 [Gonzui-devel 191]

	* gonzui/indexer.rb (Gonzui::Indexer::add_content_with_indexing):
	Add an verbose message.

	* gonzui-import (GonzuiImport::do_get_option_table): New option:
	--list-archives. 
	(GonzuiImport::show_list_archives): New method.
	(GonzuiImport::do_process_options): Fix handling of --no-* options.

	* gonzui/extractor.rb (Gonzui::TarCompressExtractor): New class.
	(Gonzui::LZHExtractor): New class.

2005-03-22  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/remover.rb (Gonzui::RemoverError): New class.
	(Gonzui::Remover::remove_package): Use it.
	* gonzui/indexer.rb (Gonzui::IndexerError): New class.
	(Gonzui::Indexer::get_package_name): Use it.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::get_package_options): Use
	DBMError. 
	* gonzui/vcs.rb (Gonzui::VCSError): New class.
	(Gonzui::AbstractVCS::run_command): Use it.
	(Gonzui::AbstractVCS::extract): Ditto.
	* gonzui/importer.rb (Gonzui::ImporterError): New class.
	(Gonzui::Importer::import_package): Use it.
	* gonzui/fetcher.rb (Gonzui::FetcherError): New class.
	(Gonzui::Fetcher::new): Use it.

	* gonzui: Version 0.9 released.

2005-03-22  Kouichirou Eto  <2005 at eto.com>

	* configure.ac: Add `langscan/css/Makefile' and
	`langscan/css/test/Makefile'.
	* langscan/Makefile.am (SUBDIRS): Add `css'.
	* langscan/Makefile.am (rubylib_DATA): Add `css.rb'.
	* langscan/css.rb: New file.
	* langscan/css/: New file.
	* langscan/css/Makefile.am: New file.
	* langscan/css/csstok.l: New file.
	* langscan/css/tokenlist.txt: New file.
	* langscan/css/test/Makefile.am: New file.
	* langscan/css/test/test-css.rb: New file.

2005-03-22  Satoru Takabayashi  <satoru@namazu.org>

	* AUTHORS: Add Kouichirou Eto  <2005 at eto.com>.

	* gonzui/webapp/servlet.rb (Gonzui::GonzuiServlet::register):
	Simplified.
	(Gonzui::GonzuiServlet::servlets): New method. 	
	* gonzui-server (GonzuiServer::start_server): Adopt the changes.

	* gonzui/extractor.rb (Gonzui::Extractor): New module.
	(Gonzui::Extractor::new): Ditto.
	(Gonzui::Extractor::register): Ditto.
	(Gonzui::Extractor::extnames): New method.
	(Gonzui::AbstractExtractor): Renamed from Extractor.
	(Gonzui::TarGzipExtractor): New class.
	(Gonzui::TarBzip2Extractor): Ditto.
	(Gonzui::ZipExtractor): Ditto.
	(Gonzui::SRPMExtractor): Ditto.

	* gonzui/apt.rb (Gonzui::AptGet::register): Add an assertion.
	(Gonzui::AptGet::new): Simplified.
	(Gonzui::AptGetError): New class.

2005-03-21  Kouichirou Eto  <2005 at eto.com>

	* langscan/javascript.rb: New file.
	* langscan/javascript/Makefile.am: New file.
	* langscan/javascript/javascripttok.l: New file.
	* langscan/javascript/tokenlist.txt: New file.
	* langscan/javascript/test/Makefile.am: New file.
	* langscan/javascript/test/test-javascript.rb: New file.
	* langscan/Makefile.am (SUBDIRS): Add `javascript'.
	* langscan/Makefile.am (rubylib_DATA): Add `javascript.rb'.

2005-03-21  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/vcs.rb (Gonzui::CVS::do_checkout): Use -z3 and -P for cvs co.
	(Gonzui::CVS::do_update): Use -z3 for cvs update.

	* autogen.sh: Check the flex version. 2.5.31 is required.

2005-03-21  Tatsuhiko Miyagawa  <miyagawa@bulknews.net>

	* langscan/perl.rb: check if PPI module is available
	* configure.ac: add langscan/perl to install perl.rb
	* langscan/Makefile.am (rubylib_DATA): Ditto
	* langscan/perl/Makefile.am: New file

2005-03-21  Satoru Takabayashi  <satoru@namazu.org>

	* Makefile.am (gonzuistatedir): Remove $(DESTDIR).
	(install-data-local): Use $(DESTDIR) in the rule. 
	- Based on a patch from matsuu <matsuu at 7501.net> [Gonzui-devel
	171].

	* gonzui/webapp/uri.rb (Gonzui::URIMaker::make_top_uri): New
	method. 
	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::redirect_if_necessary): Use it.
	* gonzui/webapp/servlet.rb (Gonzui::HTMLMaker::make_h1): Use it.
	- Based on a patch from NAKAMURA, Hiroshi <nakahiro at
	sarion.co.jp> [Gonzui-devel 167,169]
	
	* gonzui/apt.rb (Gonzui::AbstractAptGet): Include Util and
	TemporaryDirectoryUtil in the class instead of in the Gonzui module.
	(Gonzui::AptGet): extend Util in the module.
	* gonzui/searcher.rb (Gonzui::Searcher): Include Util in the class
	instead of in the Gonzui module.
	* gonzui/dbm.rb (Gonzui::AbstractDBM): Ditto.
	* gonzui/updater.rb (Gonzui::AbstractUpdater): Ditto.
	* gonzui/deindexer.rb (Gonzui::Deindexer): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer): Ditto.

	* gonzui/dbm.db (Gonzui::DBM): Be module.

	@base_mount_point.
	* gonzui/util.rb (URI::path_join): NEew method.
	* gonzui/webapp/*.rb (mount_point): Be relative path.
	* gonzui-server (GonzuiServer::start_server): Use #base_mount_point.
	(GonzuiServer::start_server): Ditto.

	* gonzui/webapp/uri.rb (Gonzui::URIMaker::make_uri_general): Use
	#base_mount_point.
	(Gonzui::URIMaker::make_uri_with_options): Ditto. 
	(Gonzui::URIMaker::make_search_uri_partial): Renamed from
	make_search_uri_by_query_string. 
	(Gonzui::URIMaker::make_uri_general): Ditto.

	* gonzui/config.rb (Gonzui::Config::initialize): New field:
	* gonzui/webapp/uri.rb (Gonzui::URIMaker::make_uri_with_options):
	Use it.

	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::markup_source):
	Use it.
	(Gonzui::TextBeautifier::initialize): Add a parameter: search_uri.

	* gonzui-server (GonzuiServer::do_get_option_table): New option:
	--title. 
	* gonzui/config.rb (Gonzui::Config::initialize): New field:
	@site_title. 
	* gonzui/webapp/servlet.rb (Gonzui::HTMLMaker::make_title): Use
	@config.site_title. 
	(Gonzui::HTMLMaker::make_h1): Ditto.
	* gonzui/webapp/*.rb: Adpot the changes.

2005-03-20  Satoru Takabayashi  <satoru@namazu.org>

	* langscan/_common.c: New file.
	* langscan/_common.h: New file.
	* langscan/_make_c.rb: New file.
	* langscan/_make_h.rb: New file.
	* langscan/c/Makefile.am (c.h, c.c): New rules.
	* langscan/java/Makefile.am (java.h, java.c): New rules.
	* langscan/php/Makefile.am (php.h, php.c): New rules.
	* langscan/python/Makefile.am (python.h, python.c): New rules.
	* langscan/c/tokenlist.txt: New file.
	* langscan/java/tokenlist.txt: New file.
	* langscan/php/tokenlist.txt: New file.
	* langscan/python/tokenlist.txt: New file.
	
	* langscan/common.c: New file.
	* langscan/common.h: New file.
	* langscan/c/c.c (user_read_io): Removed.
	(user_read_str): Ditto.
	(tokenizer_initialize): Simplified.
	(Init_c): Ditto.
	include "../common.h".
	* langscan/c/Makefile.am (LANGSCAN_C_OBJS): Add ../common.o
	* langscan/java/*: Do the same things.
	* langscan/php/*: Do the same things.

	* langscan/php/php.c (user_read_io): Fix orders of variable
	declaration and if statement. It caused a compilation error with
	old gcc like 2.95. 
	* langscan/python/python.c (user_read_io): Ditto.

	* gonzui/config.rb (Gonzui::Config::initialize): Change the
	default values for @max_results_per_page and @nresults_candidates.

	* gonzui/searchresult.rb (Gonzui::SearchResult::initialize): New
	field: @limit_exceeded.
	(Gonzui::SearchResult::limit_exceeded?): New method.
	* gonzui/searcher.rb
	(Gonzui::Searcher::search_with_package_internal): Use #exceed_limit.
	(Gonzui::Searcher::search_without_scope): Ditto.
	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::do_make_status_line): Display "+" mark if
	the search results exceed the limit.

	* langscan/perl.rb (LangScan::Perl::shell_escape): New method.
	(LangScan::Perl::open_tokenizer): Use it.

	* langscan/_common.rb (LangScan::ScanFailed): Renamed from
	LangScanFailed. 

	* gonzui/indexer.rb (Gonzui::Indexer::index_content): Print a
	path name when calling fallback routine.

	* AUTHORS: Add Tatsuhiko Miyagawa <miyagawa at bulknews.net>.

	* langscan/_common.rb (LangScan::LangScanFailed): Renamed from
	LangScanError.
	* gonzui/indexer.rb (Gonzui::Indexer::index_content): Rescue the
	error to call a fallback routine.

	* gonzui/importer.rb (Gonzui::Importer::import): Ensure calling
	Fetcher#finish.


2005-03-19  Tatsuhiko Miyagawa <miyagawa@bulknews.net>

	* langscan/perl.rb: Tokenizer process is now spawned once per
	gonzui-import. Catch EOFError and reconnect to fix Broken Pipe.
	* langscan/perl/tokenizer.rb: Improved lineno and byteno
	calculation. Fixed tokenizer bug with multiple heredocs on the
	same line "$foo = COND ? <<FOO : <<BAR;" Fixed type on some vars.
	Assert source code length to avoid a hang. support 'funcdef' for
	"sub foo { }". support 'funcall' for "$foo->bar()". support
	'classdef' for "package Bar".  support classref for "use Foo;".

2005-03-18  Tatsuhiko Miyagawa <miyagawa@bulknews.net>

	* langscan/perl.rb: New file.
	* langscan/perl/tokenizer.rb: New file.

2005-03-18  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui-server (GonzuiServer::make_webrick_options): Use STDOUT
	for logging.
	(GonzuiServer::do_start): Ditto.

	* configure.ac: Bumped version number to 0.9.

	* langscan/elisp.rb (LangScan::EmacsLisp): Fix a pattern for
	strings by appying a patch from MIYAMUKO Katsuyuki <k-miyamuko at
	az.jp.nec.com> [Gonzui-devel 147].

	* gonzui/searchquery.rb
	(Gonzui::SearchQuery::string_without_properties): New method.
	* gonzui/webapp/uri.rb (Gonzui::URIMaker::make_google_uri): Use it
	to fix a bug reported in [Gonzui-devel 147]

	* gonzuirc.sample.in.in: Add an entry for cache_directory.  Fix a
	bug reported in [Gonzui-devel 146]

	* langscan/php.rb (LangScan::PHP): Simplify by reducing
	declarations of module_function.
	* langscan/python.rb (LangScan::Python): Ditto.
	* langscan/c.rb (LangScan::C): Ditto.
	* langscan/ruby.rb (LangScan::Ruby): Ditto.
	* langscan/java.rb (LangScan::Java): Ditto.

	* langscan.rb (LangScan::register): Add an error check for
	duplicated extention names.

	* langscan-test (assert_equal): Add a type check for Fragment
	objects.

	* Makefile.am (gonzui.rb): Fix a substitution typo from GONZUI_URL
	to GONZUI_URI.

	* langscan/c/c.c (user_read_io): Fix orders of variable
	declaration and if statement. It caused a compilation error with
	old gcc like 2.95. 
	* langscan/java/java.c (user_read_io): Ditto.

	* gonzui/cmdapp/app.rb
	(Gonzui::CommandLineApplication::show_usage): Fix a typo
	[Gonzui-devel 145]

2005-03-17  Satoru Takabayashi  <satoru@namazu.org>

 	* gonzui: Version 0.8 released.

	* gonzui/fetcher.rb (Gonzui::AbstractFetcher::get_extractor): New
	method.
	(Gonzui::FileFetcher::get_extractor): Renamed from extractor.
	(Gonzui::HTTPFetcher::get_extractor): Ditto.
	(Gonzui::AptFetcher::get_extractor): Ditto.
	(Gonzui::CVSFetcher::get_extractor): Ditto.
	(Gonzui::SubversionFetcher::get_extractor): Ditto.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::get_mtime): Removed.
	* gonzui/deindexer.rb (Gonzui::Deindexer::remove_content_common):
	print a message for verbose mode.
	* gonzui/remover.rb (Gonzui::Remover::remove_package): Use
	make_progress_bar.

	* gonzui/dbm.rb (Gonzui::AbstractDBM): New DB: pathid_hash.
	(Gonzui::DB_VERSION): Bumped version number to 13.
	* gonzui/indexer.rb (Gonzui::Indexer::initialize): New field:
	@content_hash. 
	(Gonzui::Indexer::add_content_common): Store @content_hash to
	pathid_hash DB.
	* gonzui/deindexer.rb (Gonzui::Deindexer::remove_content_common):
	Remove a value from pathid_hash.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::get_content_hash): New method.
	* gonzui/updater.rb (Gonzui::UpdateDiff::file_updated?): Use it
	for finding updates.

	* gonzui-import (GonzuiImport::do_get_option_table): New option:
	--svn.
	(GonzuiImport::validate_combinations): New method.
	(GonzuiImport::make_uri_for_vcs): Ditto.
	* gonzui/util.rb (URI::for_svn): New method.
	* gonzui/fetcher.rb (Gonzui::SubversionFetcher): New class.
	* gonzui/vcs.rb (Gonzui::Subversion): New class.

	* gonzui/vcs.rb (CVS::do_checkout): New method.
	(CVS::do_update): New method.
	(AbstractVCS::run_command): New method.

	* gonzui-import (GonzuiImport::make_uri): Add an error check for
	malformed URIs.

	* gonzui/vcs.rb: New file.
	(AbstractVCS): New class.
	(CVS): Moved from fetcher.rb.
	* tests/vcs.rb: New file.

	* gonzui/apt.rb (Gonzui::AptGetError): Removed.

	* gonzui/fetcher.rb (Gonzui::CVSFetcher::CVS::extract): Add an
	error checking for "system".

	* gonzui/updater.rb (Gonzui::UpdateDiff::ncontents): Renamed from
	nfiles. 

	* gonzui/importer.rb (Gonzui::Importer::import_package): Add an
	error handling to protect the process from exceptions raised by
	unreadable files and etc. [Gonzui-devel 140].
	* tests/importer.rb (ImporterTest::test_import_unreadable_file):
	New test for it.

2005-03-16  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/util.rb (URI::for_apt): Renamed from from_apt.
	(URI::for_cvs): New method.
	* gonzui-import (GonzuiImport::do_get_option_table): New option
	--cvs. 
	(GonzuiImport::make_uri): Use URI.for_cvs.
	* gonzui/config.rb (Gonzui::Config::initialize): New field:
	@cache_directory. 
	* gonzui/fetcher.rb (Gonzui::CVSFetcher): New class.
	(Gonzui::AbstractFetcher::exclude?): New method.
	(Gonzui::FileFetcher::collect): Use it.
	(Gonzui::HTTPFetcher::collect): Use it.

	* configure.ac: Bumped version number to 0.8.

2005-03-15  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/extractor.rb (Gonzui::Extractor::extract_srpm): Modify
	the extraction process based on a patch from Yoshinori KUNIGA
	<kuniga at r6.dion.ne.jp> [Gonzui-devel 111].  Use rpm and
	rpmbuild command instead of rpm2cpio and cpio.
	(Gonzui::Extractor::has_single_directory?): Take a parameter.
	(Gonzui::Extractor::prepare_rpm_directories): New method.
	(Gonzui::Extractor::clean_rpm_directories): Ditto.

2005-03-14  Satoru Takabayashi  <satoru@namazu.org>

	* doc/gonzui.js (passQuery): Simplified.

	* gonzui/webapp/Makefile.am (CLEANFILES): Include *.o.
	* gonzui/Makefile.am (CLEANFILES): Ditto.

	* gonzui/webapp/uri.rb (Gonzui::URIMaker::ParamTable): Fix the
	short name for :format ("f" was used accidentally for :from and
	:format). Fix the malformed URL in the search results navigation
	reported by Kenshi Muto <kmuto at debian.org>.

2005-03-04  Satoru Takabayashi  <satoru@namazu.org>

 	* gonzui: Version 0.7 released.

2005-03-04  Tanaka Akira  <akr@m17n.org>

	* langscan/c/ctok.l: Fix recognition of preproc_beg in non-INITIAL
	  state.  [Gonzui-devel 128]

2005-03-04  Satoru Takabayashi  <satoru@namazu.org>

	* langscan/_common.rb (LangScan::Fragment::register): New method
	for working as a stub.

	* gonzui/fetcher.rb (Gonzui::Fetcher::new): Add a validation for
	detecting malformed URIs.

	* gonzui/content.rb (Gonzui::Content): Simplified.
	* gonzui/indexer.rb (Gonzui::Indexer): Adopt the change.

2005-03-04  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/texttokenizer.c (Init_texttokenizer): Define
	TextTokenizer as a module rather than a class.
	(texttokenizer_each_word): Renamed from texttokenizer_each.
	Take an argument 'text'.  Don't yield lineno.
	(skip): Don't count lineno.
	(struct gonzui_texttokenizer): Removed.
	(texttokenizer_new): Ditto.
	(texttokenizer_free): Ditto.
	(texttokenizer_s_allocate): Ditto.
	(texttokenizer_initialize): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::add_word): Don't receive lineno.
	(Gonzui::Indexer::add_text): Adopt the changes.
	(Gonzui::Indexer::add_fragment): Ditto.
	* gonzui/searchquery.rb
	(Gonzui::SearchQuery::add_item_for_phrase): Ditto.
	* tests/texttokenizer.rb (TextTokenizerTest::_test_collect): Ditto.
	(TextTokenizerTest::_test_with_words): Ditto.
	(TextTokenizerTest::_test_text): Ditto.

2005-03-03  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/updater.rb (Gonzui::AbstractUpdater::index_content):
	Simplified.
	(Gonzui::AbstractUpdater::update_content): Ditto.
	(Gonzui::UpdateDiff): Renamed from UpdateCollector.

	* gonzui: replace all occurrences of "url" with "uri".

	* gonzui/pathcollector.rb: Removed.
	* tests/pathcollector.rb: Removed.

	* langscan/*.rb: Simplify registrations.

	* gonzui/fetcher.rb (Gonzui::FetchFailed): Removed.
	(Gonzui::AbstractFetcher): New class.
	(Gonzui::FileFetcher): Be classs.
	(Gonzui::HTTPFetcher): Ditto.
	(Gonzui::AptFetcher): New class.
	* gonzui/apt.rb (Gonzui::AptGet::extract): Renamed from get.
	(Gonzui::AptGet): New module.
	(Gonzui::AbstractAptGet): Renamed from AptGet.
	* gonzui/importer.rb (Gonzui::Importer::import_archive): Removed.
	(Gonzui::Importer::import): Simplified.
	(Gonzui::Importer::import_common): Removed.
	(Gonzui::Importer::import_by_apt): Removed.

	* gonzui/extractor.rb (Gonzui::Extractor::supported_archive?): Removed.

	* gonzui/updater.rb
	(Gonzui::AbstractUpdater::index_content_internal): New parameter
	options.
	(Gonzui::AbstractUpdater::index_content): Ditto.
	(Gonzui::AbstractUpdater::update_content): Ditto.
	(Gonzui::UpdateCollector::initialize): New parameter: options.
	(Gonzui::UpdateCollector::initialize): New field: @exclude_pattern.
	(Gonzui::Updater::initialize): New field: @package_options.
	* gonzui/dbm.rb (Gonzui::AbstractDBM): New DB: pkgid_options.
	(Gonzui::AbstractDBM::put_package_options): New method.
	(Gonzui::AbstractDBM::put_pathid_wordids): Renamed
	from save_pathid_wordids.
	(Gonzui::AbstractDBM::put_db_version): Renamed from save_db_version.
	(Gonzui::AbstractDBM::get_package_options): New method.
	(Gonzui::IDCounter::flush): Fix the last_id handling bug.
	* gonzui/indexer.rb (Gonzui::Indexer::add_package_if_necessary):
	Use it.
	(Gonzui::Indexer::initialize): New parameter options, and new
	field: @noindex_formats.
	(Gonzui::Indexer::indexable?): Adopt the change.
	* gonzui/pathcollector.rb (Gonzui::PathCollector::initialize): New
	parameter: options, and new field @exclude_pattern.
	(Gonzui::PathCollector::collect_relative_paths): Adopt the change.
	* gonzui/dbm.rb (Gonzui::DB_VERSION): Bumped version number to 12.

	* gonzui/deindexer.rb
	(Gonzui::Deindexer::remove_package_if_necessary): Remove the DB.

	* gonzui/util.rb (URI::from_apt): Use a dummy host name.
	(Regexp): Moved from gonzui-import.
	(Regexp::to_s2): Removed.

	* gonzui/importer.rb (Gonzui::Importer::import): Adopt the change.

2005-03-02  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/importer.rb (Gonzui::Importer::initialize): New field:
	@last_package_name. 
	(Gonzui::Importer::import_package): Adopt the change.
	* gonzui-import (GonzuiImport::import): Ditto.

	* gonzui/util.rb (URI::from_path): New method.
	(File::make_url): Removed.
	(URI::from_apt): New method.

	* gonzui/importer.rb (Gonzui::Importer::import): New method.
	(Gonzui::Importer::import_package): Renamed from add_package.
	(Gonzui::Importer::import_common): Ditto.
	(Gonzui::Importer::import_directory): Ditto.
	(Gonzui::Importer::import_archive): Ditto.
	(Gonzui::Importer::import_by_apt): Ditto.
	(Gonzui::Importer::import_url): Renamed from import_directory.

	* gonzui/pathcollector.rb: Renamed from package.rb.
	(Gonzui::PathCollector): Renamed from Package.
	(Gonzui::PathCollector::include?): Removed.
	* gonzui/importer.rb: Adopt the changes.
	* gonzui/updater.rb: Ditto.
	* tests/pathcollector.rb: Renamed from package.rb.

	* doc/gonzui.js (initFocus): New function.
	* gonzui/webapp/servlet.rb (Gonzui::HTMLMaker::make_search_form):
	Call initFocus();

	* gonzui/fetcher.rb (Gonzui::FetchFailed): New class.
	(Gonzui::FileFetcher::fetch): Add error handling.
	(Gonzui::FileFetcher::mtime): Ditto.
	(Gonzui::FileFetcher::collect): Ditto.

	* gonzui/updater.rb (Gonzui::AbstractUpdater::index_content): Make
	Content object in the method.
	(Gonzui::AbstractUpdater::update_content): Adopt the change.
	(Gonzui::Updater::update_directory): Ditto.
	* gonzui/importer.rb (Gonzui::Importer::add_package): Ditto.

	* gonzui/package.rb (Gonzui::Package::get_path_id): Removed.
	(Gonzui::Package::npaths): Renamed from nfiles.
	* gonzui/importer.rb (Gonzui::Importer::add_package): Adopt the change.

	* tests/langscan.rb (TestLangScan::test_modules): Removed.
	(TestLangScan::test_choose): Refined.

	* gonzui/config.rb (Gonzui::Config::initialize): New field:
	@exclude_pattern. 
	* gonzui-import (GonzuiImport::do_process_options): Adopt the change.
	* gonzui/importer.rb (Gonzui::Importer::initialize): Ditto.
	(Gonzui::Importer::add_common): Ditto.
	(Gonzui::Importer::add_directory): Ditto.
	* gonzui/package.rb (Gonzui::Package::initialize): New field: @config.
	* tests/extractor.rb (ExtractorTest::_test_extract): Adopt the changes.
	* tests/package.rb (PackageTest::test_package): Ditto.

	* gonzuirc.sample.in.in: New file.
	* Makefile.am: Adopt the change.

	* gonzui/cmdapp/app.rb
	(Gonzui::CommandLineApplication::parse_options): Rename an option
	name from --cache-size to --db-cache.

	* gonzui-import (GonzuiImport::do_get_option_table): Generate
	options for --no-* at run time.
	(GonzuiImport::do_show_usage): Adopt the change.

	* gonzui/bdbdbm.rb (Gonzui::BDBDBM::initialize): Revert to
	BDB::INIT_LOCK from BDB::INIT_CDB.

	* tests/info.rb (InfoTest::test_content_info): New method.
	* tests/bdbdbm.rb (BDBDBMTest::_test_tail): Removed.

	* gonzui/info.rb (Gonzui::ContentInfo): New field: indexed_p.
	(Gonzui::ContentInfo::indexed?): New method.
	* gonzui/indexer.rb (Gonzui::Indexer::index_content): Change the
	counter name from :nlines to :nlines_indexed.
	(Gonzui::Indexer::make_content_info): Adopt the changes.
	* gonzui/deindexer.rb (Gonzui::Deindexer::remove_indexed_content):
	Ditto. 
	* gonzui/dbm.rb (Gonzui::AbstractDBM::get_nlines_indexed): Renamed
	from get_nlines.
	(Gonzui::AbstractDBM::source_file?): Removed.
	* gonzui/webapp/stat.rb
	(Gonzui::StatisticsServlet::make_overview_table): Adopt the changes.
	* gonzui/dbm.rb (Gonzui::DB_VERSION): Bumped version number to 11.

	* gonzui/config.rb (Gonzui::Config::initialize): Remove an field:
	@text. 
	(Gonzui::Config::initialize): New field: @noindex_formats.
	* gonzui/indexer.rb (Gonzui::Use Config#noindex_formats instead of
	#text.
	(Gonzui::Indexer::make_scanner): New method.
	(Gonzui::Indexer::add_content_with_indexing) 
	(Gonzui::Indexer::indexable?): New method.
	* gonzui-import (GonzuiImport::do_process_options): Adopt the changes.

2005-03-01  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::DB_VERSION): Bumped version number to 10.

	* gonzui/dbm.rb
	(Gonzui::AbstractDBM::make_ncontents_by_license_key): Use
	String#downcase.

	* langscan.rb (LangScan::choose_by_emacs_mode): Support
	"C/C++"-like language name.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::get_package_names): New method.

	* gonzui/bdbdbm.rb (Gonzui::BDBExtension::tail): Removed.
	(Gonzui::BDBDBM::initialize): Use BDB::INIT_CDB instead of
	BDB::INIT_LOCK. 
	(Gonzui::BDBExtension::delete_both): Use BDB::WRITECURSOR.

	* gonzui/dbm.rb (Gonzui::AbstractDBM): Fix the value types of
	pkgid_fmtids and pkgid_lcsids. 

	* gonzui/config.rb (Gonzui::Config::initialize): Change the
	default DB cache size to 1MB.

	* gonzui/dbm.rb (Gonzui::IDCounter::flush): Fix a bug. Update
	"seq" DB correctly.

	* gonzui/cmdapp/app.rb
	(Gonzui::CommandLineApplication::show_usage): New option:
	--list-formats. 
	(Gonzui::CommandLineApplication::parse_options): Adopt the change.
	(Gonzui::CommandLineApplication::process_common_options): Ditto.
	(Gonzui::CommandLineApplication::show_formats): New method.

	* langscan/c.rb (LangScan::name): Modified to "C/C++"

	* gonzui/cmdapp/app.rb
	(Gonzui::CommandLineApplication::parse_options): New option:
	--cache-size. 
	(Gonzui::CommandLineApplication::process_common_options): Adopt
	the change.
	(Gonzui::CommandLineApplication::show_usage): Ditto.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::init_id_counters): New method.

2005-03-01  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/dbm.rb (Gonzui::IDCounter): New class.
	(Gonzui::AbstractDBM::IDTable): New constant.
	(Gonzui::AbstractDBM::initialize): Create ID counters.  New
	instance variable @id_counters.  Remove instance variable
	`@type_typeid_cache'.
	(Gonzui::AbstractDBM::flush_cache): Flush counters.
	(Gonzui::AbstractDBM::verify_seq_integrity): Use IDTable.
	(Gonzui::AbstractDBM::get_type_id): Use counter.
	(Gonzui::AbstractDBM::make_new_type_id): Removed.
	(Gonzui::AbstractDBM::make_new_id): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::flush_cache): Flush word counter.
	(Gonzui::Indexer::add_property): Use counter.
	(Gonzui::Indexer::add_format): Updated.
	(Gonzui::Indexer::add_license): Ditto.
	(Gonzui::Indexer::add_path): Use counter.
	(Gonzui::Indexer::add_word): Ditto.
	(Gonzui::Indexer::add_package_if_necessary): Ditto.
	(Gonzui::Indexer::make_new_format_id): Removed.
	(Gonzui::Indexer::make_new_license_id): Ditto.
	(Gonzui::Indexer::make_new_package_id): Ditto.
	(Gonzui::Indexer::make_new_path_id): Ditto.
	(Gonzui::Indexer::make_new_word_id): Ditto.

	* tests/indexer.rb (IndexerTest::test_index): Flush cache before
	checking the result.

2005-03-01  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/dbm.rb (Gonzui::AbstractDBM::flush_cache): Write two DBs
	separately to improve performance.

2005-02-28  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/fetcher.rb (Gonzui::FileFetcher::collect): New method.
	* gonzui/package.rb (Gonzui::Package::collect_relative_paths): Use
	Fetcher.collect. 

	* gonzui/fetcher.rb: New file.
	* tests/fetcher.rb: New file.

	* gonzui/content.rb (Gonzui::FileFetcher): Renamed from FileReader.
	(Gonzui::FileFetcher::fetch): Renamed from read.
	(Gonzui::Content): Simplified.

	* gonzui/util.rb (File::make_url): New method.

	* gonzui/content.rb (Gonzui::FileReader): New module.

	* gonzui/importer.rb (Gonzui::Importer::add_package): Adopt the
	changes. 

	* gonzui/package.rb (Gonzui::Package::collect_relative_paths):
	Renamed from import_files.
	(Gonzui::Package::each): Use a URL instead of a pathname.

	* gonzui/importer.rb (Gonzui::Importer::add_common): Use
	make_url_from_path. 

	* gonzui/util.rb (Gonzui::URL): New module.
	(Gonzui::URL::make_url_from_path): Moved from importer.rb.

	* gonzui/content.rb: New file.
	(Gonzui::Content): New class.

	* gonzui/updater.rb (Gonzui::AbstractUpdater::deindex_content):
	Renamed from deindex_file.
	(Gonzui::AbstractUpdater::deindex_content_internal): Ditto.
	(Gonzui::AbstractUpdater::index_content_internal): Ditto.
	(Gonzui::AbstractUpdater::index_content): Ditto.
	(Gonzui::AbstractUpdater::update_content): Ditto.
	(Gonzui::Updater::update): Ensure to call @dbm.flush_cache.
	(Gonzui::AbstractUpdater::read_content): New method.

	* langscan-test: Add an assertion.

	* langscan/_type.rb (LangScan::Type::TypeInfo): Add :classref.

2005-02-25  Tanaka Akira  <akr@m17n.org>

	* langscan/c/ctok.l: Terminate CLASSDECL state.

2005-02-25  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::DB_VERSION): Bumped version number to 9.

	* configure.ac: Bumped version number to 0.7.

	* gonzui/info.rb (Gonzui::Occurrence): Fixed "undefined method
	`end_byteno' for #<struct Gonzui::Occurrence" error.
	* tests/info.rb (InfoTest::test_occurrence): New test for it.

2005-02-24  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui-update: New file.
	* gonzui/dbm.rb (Gonzui::AbstractDBM): New DB: pkgid_src.
	(Gonzui::AbstractDBM::each_package_id): New method.
	(Gonzui::AbstractDBM::get_source_url): New method.
	(Gonzui::AbstractDBM::has_path?): New method.
	(Gonzui::AbstractDBM::get_mtime): New method.
	* gonzui/importer.rb (Gonzui::Importer::make_url_from_path): New
	method.
	(Gonzui::Importer::make_url_from_package_name): New method.
	(Gonzui::Importer::add_common): Don't use add_directory.
	* gonzui/indexer.rb (Gonzui::Indexer::initialize): New parameter:
	source_url.
	(Gonzui::Indexer::add_package_if_necessary): Save a source
	url to pkgid_src.
	* gonzui/deindexer.rb
	(Gonzui::Deindexer::remove_package_if_necessary): Remove a source
	url from pkgid_src.
	* tests/indexer.rb: Adopt the changes.

	* gonzui/importer.rb (Gonzui::AbstractUpdater): New class.
	(Gonzui::Importer): Inherit it and Simplified.
	(Gonzui::Remover): Ditto.
	(Gonzui::ImporterError): Removed.
	(Gonzui::RemoverError): Removed.
	* gonzui/updater.rb: New file.
	* gonzui/remover.rb: New file.
	* gonzui.rb.in: Adopt the changes.

	* configure.ac (AM_CHECK_RUBY_VERSION): Require 1.8.2.

2005-02-23  Satoru Takabayashi  <satoru@namazu.org>

 	* gonzui: Version 0.6 released.

	* gonzui/delta.c (decode): Add type checking for safety.
	(encode): Ditto.
	(rb_delta_code_fixnums): Ditto.
	(rb_delta_code_tuples): Ditto.
	* tests/delta.rb (DeltaDumperTest::test_tuples_with_broken_data):
	New test for them.
	(DeltaDumperTest::test_fixnums_with_broken_data): Ditto.

	* Makefile.am (dist-check): New rule.

	* tests/delta.rb: New file.

	* gonzui/delta.rb (Gonzui::DeltaDumper::dump_tuples): Renamed from
	dump. 
	(Gonzui::DeltaDumper::undump_tuples): Renamed from undumpl.
	(Gonzui::DeltaDumper::dump_ids): Removed.
	(Gonzui::DeltaDumper::undump_ids): Removed.

	* gonzui/util.rb (Gonzui::Util::assert_equal): Simplified.
	(Gonzui::Util::assert_equal_all): New method.

	* gonzui/delta.c (rb_delta_encode_tuples): Renamed from
	rb_delta_do_delta_list.
	(rb_delta_encode_fixnums): Renamed from
	rb_delta_do_delta_fixnum_list.
	(rb_delta_decode_fixnums): Ditto.
	(rb_delta_do_delta): Removed.
	(rb_delta_do_undelta): Removed.
	(rb_delta_decode_tuples): New method.
	(rb_delta_code_tuples): New method.
	(decode): Ditto.
	(encode): Ditto.
	(rb_delta_decode_tuples): Use them and simplified.
	(rb_delta_encode_tuples): Ditto.
	(rb_delta_code_fixnums): New method.
	(rb_delta_decode_fixnums): Use it and simplified.
	(rb_delta_encode_fixnums): Ditto.

	* gonzui/delta.rb: New file. Separated from info.rb.
	(Gonzui::DeltaDumper::dump_fixnums): Renamed from
	dump_fixnum_list. 
	(Gonzui::DeltaDumper::undump_fixnums): Ditto.
	* gonzui.rb.in: Require it.

	* gonzui/dbm.rb (Gonzui::DB_VERSION): Bumped version number to 8.

	* gonzui/indexer.rb (Gonzui::Indexer::flush_cache): Clear
	@wordid_pkgids_cache. 

	* gonzui/dbm.rb (Gonzui::AbstractDBM): Use instance variables
	instead of attribute readers to access DBs.

2005-02-23  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/dbm.rb (Gonzui::AbstractDBM::flush_cache): Build
	package_word_id before iteration.

2005-02-23  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/info.rb (Gonzui::DeltaDumper): Be module.
	(Gonzui::DeltaDumper::undump): Simplified.
	(Gonzui::DeltaDumper::dump_id_list): Be alias.
	(Gonzui::DeltaDumper::undump_id_list): Ditto.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::DBTable): New constant.
	(Gonzui::AutoPack::PACK_DELTA): Removed.

2005-02-22  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::AbstractDBM::initialize): Use GZString
	for pathid_digest, pathid_wordids and pathid_bols as well.

	* gonzui/dbm.rb (Gonzui::AutoPack::GZString): New class.
	(Gonzui::AbstractDBM::set_content): Removed.
	(Gonzui::AbstractDBM::get_content): Simplified.
	* gonzui/indexer.rb (Gonzui::Indexer::add_content_common): Adopt
	the changes.

	* gonzui/dbm.rb (Gonzui::FrequencyCounter): Removed.
	(Gonzui::AbstractDBM::each_freq_db_name): Ditto.
	(Gonzui::AbstractDBM::open_all_funcfreq_dbs): Ditto.
	(Gonzui::AbstractDBM::open_freq_db): Ditto.
	(Gonzui::AbstractDBM::get_function_popularity): Ditto.
	(Gonzui::AbstractDBM::make_funcfreq): Ditto.
	(Gonzui::AbstractDBM::initialize): Remove field: @funcfreq_cache.
	(Gonzui::AbstractDBM::verify_freq_integrity): Removed.
	(Gonzui::AbstractDBM::consistent?): Adopt the change.

	* gonzui/indexer.rb (Gonzui::Indexer::initialize): Remove field:
	@funcfreq. 
	(Gonzui::Indexer::update_func_freq_if_necessary): Removed.
	(Gonzui::Indexer::add_fragment): Adopt the changes.
	* gonzui/deindexer.rb (Gonzui::Deindexer::remove_digest): Adopt
	the changes (omit funfreq related code).
	* tests/dbm.rb: Adopt the changes.
	* gonzui/webapp/stat.rb
	(Gonzui::StatisticsServlet::make_function_popularity_page):
	Removed. 
	(Gonzui::StatisticsServlet::make_function_popularity_table): Removed.
	(Gonzui::StatisticsServlet::make_format_table): Adopt the change.

	* c.rb: Omit '.so' from a "require" statement.
	* java.rb: Ditto.
	* php.rb: Ditto.
	* python.rb: Ditto.
	
	* gonzui/autopack.c: New file.
	* gonzui/Makefile.am: Modify it to handle autopack.c.
	* gonzui/dbm.rb (Gonzui::AutoPack): Simplified.
	(Gonzui::AbstractDBM::flush_cache): Use AutoPack.pack_id2.
	(Gonzui::AbstractDBM::get_all_word_info): Ditto.
	(Gonzui::AbstractDBM::get_path_ids_from_word_and_package_id): Ditto.
	(Gonzui::AbstractDBM::find_word_info): Change the order or
	parameters. 
	(Gonzui::AbstractDBM::get_all_word_info): Ditto.
	(Gonzui::AbstractDBM::get_path_ids_from_package_and_word_id): Renamed
	from get_path_ids_from_word_and_package_id.
	* gonzui/indexer.rb (Gonzui::Indexer::flush_cache): Use
	AutoPack.pack_id2.
	* gonzui/deindexer.rb (Gonzui::Deindexer::deindex_content): Use
	AutoPack.pack_id2. 

	* gonzui/dbm.rb (Gonzui::AbstractDBM::close): Call flush_cache.

2005-02-22  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/dbm.rb (Gonzui::AutoPack::ID::store): Redefined as fixnum.
	(Gonzui::AutoPack::ID::fetch): Ditto.
	(Gonzui::AbstractDBM::make_new_type_id): Simplified.
	(Gonzui::AbstractDBM::verify_seq_integrity): Ditto.
	(Gonzui::AbstractDBM::make_new_id): Ditto.
	(Gonzui::AbstractDBM::get_all_word_info): Build key using pack.
	(Gonzui::AbstractDBM::get_path_ids_from_word_and_package_id): Ditto.
	(Gonzui::AbstractDBM::flush_cache): Ditto.
	* gonzui/deindexer.rb (deindex_content): Ditto.
	(Gonzui::Deindexer::deindex_content): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::flush_cache): Ditto.
	* gonzui/info.rb (Gonzui::DeltaDumper::dump_id_list): Simplified.
	(Gonzui::DeltaDumper::undump_id_list): Ditto.
	(Gonzui::ContentInfo::DUMP_FORMAT): Redefined.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::id_to_index): Removed.
	(Gonzui::AbstractDBM::index_to_id): Removed.

	* gonzui/bdbdbm.rb (Gonzui::BDBDBM::do_open_db): Open Recno DB
	when appropriate.

	* tests/dbm.rb (DBMTest::_test_get_foo): Don't use id_to_index.
	(DBMTest::_test_foo_find): Ditto.
	* tests/deindexer.rb (DeindexerTest::test_deindex): Ditto.
	* tests/webapp-markup.rb (TextBeautifierTest::test_beautify): Ditto.

2005-02-22  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/delta.c (rb_delta_do_delta_fixnum_list): Renamed from
	rb_delta_do_delta_id_list.
	(rb_delta_do_undelta_fixnum_list): Renamed from
	rb_delta_do_undelta_id_list.
	(ID_TO_INT): Removed.
	* gonzui/info.rb (Gonzui::DeltaDumper::dump_fixnum_list): Call
	rb_delta_do_delta_fixnum_list.
	(Gonzui::DeltaDumper::undump_fixnum_list): Call
	rb_delta_do_undelta_fixnum_list.
	(Gonzui::DeltaDumper::dump_id_list): Call dump_fixnum_list.
	(Gonzui::DeltaDumper::undump_id_list): Call undump_fixnum_list.

2005-02-22  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/indexer.rb (Gonzui::Indexer::initialize): Remove variable
	@dbm_word_wordid and @dbm_wordid_word.
	(Gonzui::Indexer::add_word): Updated.

2005-02-22  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/dbm.rb (Gonzui::AbstractDBM::initialize): Remove unused
	variables @pkgwordid_pathids_cache and @wordid_pkgids_cache.
	New variable @current_package_id and @wordid_pathids_cache.
	(Gonzui::AbstractDBM::save_pathid_wordids): New method.
	(Gonzui::AbstractDBM::flush_cache): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::flush_cache): Call
	Gonzui::AbstractDBM::save_pathid_wordids.
	* gonzui/importer.rb (Gonzui::Importer::add_package): Call
	Gonzui::AbstractDBM::flush_cache.

2005-02-21  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::AutoPack::Fixnum): Renamed from Number.
	(Gonzui::AutoPack::ID): Be module.
	(Gonzui::AutoPack::Fixnum): Ditto.
	(Gonzui::AutoPack::String): Ditto.
	(Gonzui::AutoPack::Symbol): Ditto.
	* tests/bdbdbm.rb (BDBDBMTest::test_bdb_extentions): Adopt the changes.

2005-02-19  Satoru Takabayashi  <satoru@namazu.org>

	* configure.ac: Bumped version number to 0.6.

	* gonzui/dbm.rb (Gonzui::DB_VERSION): Bumped version number to 7.

2005-02-19  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/dbm.rb (Gonzui::AbstractDBM::initialize): Rename DB
	'wordpkgid_pathids' to 'pkgwordid_pathids'.  Rename DB
	'wordpathid_info' to 'pathwordid_info'.  Rename instance variable
	'@wordpkgid_pathids_cache' to '@pkgwordid_pathids_cache'.  All for
	changing the key order.
	(Gonzui::AbstractDBM::get_all_word_info): Updated.
	(Gonzui::AbstractDBM::get_path_ids_from_word_and_package_id): Ditto.
	* gonzui/deindexer.rb (Gonzui::Deindexer::deindex_content): Ditto.
	(Gonzui::Deindexer::deindex_content): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::flush_cache): Ditto.

2005-02-18  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/autopack.rb: Removed.
	* gonzui.rb.in: Don't require "gonzui/autopack"
	* gonzui/bdbdbm.rb (Gonzui::BDBDBM::do_open_db): Use BDB options
	"set_store_key", "set_fetch_key", "set_store_value", and
	"set_fetch_value" instead of using AutoPack.
	(Gonzui::BDBExtension::each_by_prefix): Don't use pack_key,
	unpack_key, pack_value, and unpack_value.
	(Gonzui::BDBExtension::delete_both): Ditto.
	(Gonzui::BDBExtension::get_last_key): Ditto.
	(Gonzui::BDBExtension::tail): Ditto.
	* gonzui/dbm.rb (Gonzui::AutoPack): New module.
	(Gonzui::AbstractDBM::initialize): Use new AutoPack.
	(Gonzui::AbstractDBM::do_open_db): Take key and value types.
	(Gonzui::AbstractDBM::open_db): Take key and value types instead
	of pack adaptor.
	(Gonzui::AbstractDBM::open_all_funcfreq_dbs): Updated.
	(Gonzui::AbstractDBM::open_freq_db): Updated.
	(Gonzui::AbstractDBM::validate_db_version): Updated.

	* tests/autopack.rb: Removed.
	* tests/bdbdbm.rb (BDBDBMTest::test_bdb_extentions): Updated for
	the new AutoPack scheme.

2005-02-17  Tanaka Akira  <akr@m17n.org>

	* langscan/c/ctok.l: Use trailing context more carefully.

	* langscan/pairmatcher/pairmatcher.c
	  (pairmatcher_set_before_open_max): Removed. 
	  (pairmatcher_set_after_open_max): Ditto.
	  (pairmatcher_set_before_close_max): Ditto.
	  (pairmatcher_set_after_close_max): Ditto.

	* langscan/c/ctok.l: detect C++ class name.

2005-02-16  Satoru Takabayashi  <satoru@namazu.org>

	* acinclude.m4 (AM_CHECK_RUBY_VERSION): New macro.
	* configure.ac: Use it.

2005-02-15  Tanaka Akira  <akr@m17n.org>

	* langscan/pairmatcher/pairmatcher.c (PairMatcher#initialize): Defined.
	  (PairMatcher#before_open_tokens): Renamed from before_open.
	  (PairMatcher#after_open_tokens): Renamed from after_open.
	  (PairMatcher#before_close_tokens): Renamed from before_close.
	  (PairMatcher#after_close_tokens): Renamed from after_close.
	  (PairMatcher#around_open): New method.
	  (PairMatcher#around_close): New method.

	* langscan/c.rb: Adapt to PairMatcher#initialize.
	  Use PairMatcher#around_open and PairMatcher#around_close to avoid
	  object allocation.

	* langscan/java.rb: use PairMatcher.

2005-02-15  Satoru Takabayashi  <satoru@namazu.org>

 	* gonzui: Version 0.5 released.

	* gonzui/Makefile.am (rubylib_files): Add info.rb and license.rb.
	* gonzui/webapp/Makefile.am (rubylib_files): Add snippet.rb.

	* gonzui/autopack.rb (Gonzui::AutoPack::IDAndID): Simplified.
	 (Gonzui::AutoPack::IDAndString): Ditto.
	 (Gonzui::AutoPack::StringAndID): Ditto.
	 (Gonzui::AutoPack::PACK_FIXNUM): New constant.
	 (Gonzui::AutoPack::PACK_ID): New constant.
	* gonzui/delta.c (rb_delta_do_delta_id_list): Don't use ntohl.
	(rb_delta_do_undelta_id_list): Don't use htonl.

	* gonzui/indexer.rb (Gonzui::Indexer::add_word): Don't store line
	numbers any longer.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::find_word_info): Use
	get_all_word_info. 
	(Gonzui::AbstractDBM::get_bols): New method.
	(Gonzui::AbstractDBM::get_all_word_info): Restore line numbers in
	the method.
	(Gonzui::DB_VERSION): Bumped version number to 6.
	* gonzui/info.rb (Gonzui::WordInfo): Change the DeltaSize and
	UnitSize and change the order of parameters.
	(Gonzui::DeltaDumper::dump_fixnum_list): New method.
	(Gonzui::DeltaDumper::undump_fixnum_list): NEw method.
	* gonzui/deindexer.rb (Gonzui::Deindexer::deindex_content): Delete
	values in pathid_bols as well.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::add_to_wordid_pkgids): Removed.
	(Gonzui::AbstractDBM::add_to_wordpkgid_pathids): Ditto.
	(Gonzui::AbstractDBM::flush_cache): Removed.

	* gonzui/importer.rb (Gonzui::Importer::add_package): Adopt the
	changes.

	* gonzui/config.rb (Gonzui::Config::initialize): New field:
	@db_cache_size. 
	* gonzui/bdbdbm.rb (Gonzui::BDBDBM::initialize): Use it.

	* gonzui/indexer.rb (Gonzui::Indexer::flush_cache): Don't use
	package-by-package cache.

	* gonzui/bdbdbm.rb (Gonzui::BDBDBM::initialize): Set BDB's cache
	size to 10MB. 

	* gonzui/dbm.rb (Gonzui::AbstractDBM::flush_cache): Sort by keys
	before writing data to the DB for talking full advantages of the
	cache systems of BDB and OS.

	* gonzui/indexer.rb (Gonzui::Indexer::add_word): Reduce hash access.

2005-02-14  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::AbstractDBM::add_to_wordid_pkgids): New
	method. 
	(Gonzui::AbstractDBM::add_to_wordpkgid_pathids): Ditto.
	(Gonzui::AbstractDBM::flush_cache): Ditto.
	(Gonzui::AbstractDBM::initialize): New fields:
	@wordpkgid_pathids_cache and @wordid_pkgids_cache.

	* gonzui/indexer.rb (Gonzui::Indexer::flush_cache): Adopt the changes.
	* gonzui/importer.rb (Gonzui::Importer::add_package): Ditto.

	* gonzui/indexer.rb
	(Gonzui::Indexer::initialize_profilers_if_necessary): Monitor
	add_license. 

	* langscan/Makefile.am (rubylib_DATA): Add _pairmatcher.rb.

	* doc/gonzui.js (passQuery): Pass "f" value as well.

	* gonzui/webapp/advsearch.rb
	(Gonzui::AdvancedSearchServlet::make_target_select): Show types
	only if they are registered in the DB.

	* gonzui/autopack.rb (Gonzui::AutoPack::PackMethod::pack_symbol):
	New method.
	(Gonzui::AutoPack::PackMethod::unpack_symbol): Ditto.
	(Gonzui::AutoPack::SymbolAndNumber): New module.
	(Gonzui::AutoPack::NumberAndSymbol): Ditto.
	(Gonzui::AbstractDBM::has_type?): New method.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::init_type_ids): Removed.
	(Gonzui::AbstractDBM::get_type): Removed.
	(Gonzui::AbstractDBM::get_type_id): Reimplemented.

	* gonzui/searcher.rb (Gonzui::Searcher::find_ids): Simplified.
	(Gonzui::Searcher::find_ids): Simplified.

	* gonzui/searchquery.rb (Gonzui::SearchQuery::initialize): Remove
	a field: @minus_words.
	(Gonzui::SearchQuery::make_plus_and_minus_words): Removed.
	(Gonzui::SearchQuery::parse_query_string): Simplified.
	(Gonzui::QueryItem::minus?): Removed.
	(Gonzui::SearchQuery::tokenize_all): Simplified.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::source_file?): Handle binary
	file correctly. 

	* gonzui/license.rb (Gonzui::License): New license: Perl's.
	(Gonzui::LicenseDetector::initialize): Check the last n bytes as
	well as the first n bytes.

	* gonzui-import (GonzuiImport::lower_priority): rescue NameError
	as well.

	* gonzui/searchquery.rb (Gonzui::SearchQuery::initialize): New
	att_reader: options.

	* gonzui/searcher.rb (Gonzui::Searcher::filter_package_ids): New
	method. 
	(Gonzui::Searcher::filter_path_ids): Ditto.
	(Gonzui::Searcher::filter_package_ids_by_property): New method.
	(Gonzui::Searcher::filter_package_ids_by_format): Use it.
	(Gonzui::Searcher::filter_package_ids_by_license): New method.
	(Gonzui::Searcher::filter_path_ids_by_property): New method.
	(Gonzui::Searcher::filter_path_ids_by_format): Use it.
	(Gonzui::Searcher::filter_path_ids_by_license): New method.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::each_license): New method.
	(Gonzui::AbstractDBM::each_property): New method.
	(Gonzui::AbstractDBM::each_format): Use it.
	(Gonzui::AbstractDBM::each_license): Ditto.
	* gonzui/webapp/servlet.rb
	(Gonzui::HTMLMaker::make_license_select): New method.
	(Gonzui::HTMLMaker::make_property_select): Ditto.
	(Gonzui::HTMLMaker::make_format_select): Use it.
	(Gonzui::HTMLMaker::make_license_select): Ditto.
	* gonzui/webapp/advsearch.rb
	(Gonzui::AdvancedSearchServlet::make_target_specific_search_form):
	Use it. 

	* gonzui/searchquery.rb (Gonzui::SearchQuery::initialize): New
	field @license.

	* gonzui/license.rb (Gonzui::LicenseDetector::detect): Add a
	simple logic to avoid error judgements.

	* gonzui/info.rb (Gonzui::ContentInfo): New field: license_id.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::initialize): New DBs:
	lcsid_lcs, lcsid_labbr, labbr_lcsid, pkgid_lcsids.
	(Gonzui::AbstractDBM::make_ncontents_by_license_key): New method.
	(Gonzui::DB_VERSION): Bumped version number to 5.
	(Gonzui::AbstractDBM::get_license_abbrev): New method.
	(Gonzui::AbstractDBM::get_license_id): Ditto.
	(Gonzui::AbstractDBM::get_license_id_from_path_id): Ditto.
	(Gonzui::AbstractDBM::get_license_ids_from_package_id): Ditto.
	(Gonzui::AbstractDBM::get_license_name): Ditto.
	(Gonzui::AbstractDBM::get_ncontents_by_license_id): Ditto.

	* gonzui/indexer.rb (Gonzui::Indexer::add_license): New method.
	(Gonzui::Indexer::make_new_license_id): New method.

	* gonzui/deindexer.rb (Gonzui::Deindexer::remove_property): New
	method.
	(Gonzui::Deindexer::remove_format): Use it.

	* gonzui/dbm.rb
	(Gonzui::AbstractDBM::make_ncontents_by_format_key): Renamed from
	make_ncontents_key. 
	(Gonzui::AbstractDBM::get_ncontents_by_format_id): Adopt the change.
	* gonzui/deindexer.rb (Gonzui::Deindexer::remove_format): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::add_format): Ditto.

	* gonzui/indexer.rb (Gonzui::Indexer::add_property): New method.
	(Gonzui::Indexer::add_format): Use it.

	* langscan/pairmatcher/pairmatcher.c: Add copyright notice.
	* langscan/_pairmatcher.rb: Ditto.
	* langscan/pairmatcher/Makefile.am: Fix trivial problems.

2005-02-13  Tanaka Akira  <akr@m17n.org>

	* langscan/pairmatcher, langscan/_pairmatcher.rb: New pair matching
	  parser.

	* langscan/c.rb: Use pairmatcher.

2005-02-12  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/delta.c (rb_delta_do_delta_id_list): New function.
	(rb_delta_do_undelta_id_list): Ditto.
	* gonzui/info.rb (Gonzui::DeltaDumper::dump_id_list): New method.
	(Gonzui::DeltaDumper::load_id_list): New method.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::get_word_ids): undump_id_list.
	* gonzui/indexer.rb (Gonzui::Indexer::flush_cache): dump_id_list.
	* gonzui/dbm.rb (pathid_wordids_dump): Removed.
	(pathid_wordids_load): Ditto.

2005-02-12  Keisuke Nishida  <knishida@open-cobol.org>

	* langscan/_easyscanner.rb: New file, extracted from _common.rb.
	* langscan/_common.rb: Remove the class LangScanner.
	* langscan/elisp.rb: Use EasyScanner.
	* langscan/autoconf.rb: New file.
	* langscan/automake.rb: Ditto.
	* tests/easyscanner.rb: Renamed from langscanner.rb.

2005-02-11  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/config.rb (Gonzui::Config::initialize): New instance
	variable @text.
	* gonzui-import (GonzuiImport::do_show_usage): New option --no-text.
	(GonzuiImport::do_get_option_table): Ditto.
	(GonzuiImport::do_process_options): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::add_content_with_indexing):
	Don't index text files when --no-text is turned on.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::get_digest): Returns [] if
	there is no digest.

2005-02-11  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/monitor.rb (Gonzui::PerformanceCounter::heading): Widen
	the length of label field.
	(Gonzui::PerformanceCounter::summary): Ditto.
	(Gonzui::PerformanceCounter::rest_summary): Ditto.

2005-02-11  Satoru Takabayashi  <satoru@namazu.org>

	* license-test: New file.
	* Makefile.am (noinst_SCRIPTS): Add it.

	* gonzui: Add copyright notice to each file.

2005-02-10  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/dbm.rb (Gonzui::AbstractDBM::initialize): Remove @word_cache.
	* gonzui/indexer.rb (Gonzui::Indexer::initialize): New instance
	variable @word_cache.  Remove @dbm_word_cache.
	(Gonzui::Indexer::add_word): Replace @dbm_word_cache by @word_cache.

2005-02-10  MATSUNO Tokuhiro  <tokuhirom@yahoo.co.jp>

	* langscan/php.rb (LangScan::PHP::scan): Move function to flex : classdef,
	fundef, funcall.
	* langscan/php/phptok.l: Move function from php.rb: classdef, fundef,
	funcall.

2005-02-10  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/license.rb: New file.
	(Gonzui::License): New class.
	(Gonzui::LicenseDetector): Ditto.
	* tests/license.rb: New file.

	* langscan.rb (LangScan::choose): Add an additional parameter: content.
	(LangScan::choose_by_content): New method.
	(LangScan::choose_by_shebang): New method.
	(LangScan::choose_by_emacs_mode): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::add_content_with_indexing): Ditto.
	* langscan-test: Adopt the change.

2005-02-09  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::AbstractDBM::get_ncontents_by_format_id):
	Renamed from get_nfiles_by_format_id.
	(Gonzui::AbstractDBM::make_ncontents_key): Renamed from
	make_nfiles_key. 
	(Gonzui::AbstractDBM::get_ncontents): Renamed from get_nfiles.
	(Gonzui::AbstractDBM::get_ncontents_indexed): Renamed from
	get_nfiles_indexed. 
	(Gonzui::AbstractDBM::get_ncontents_in_package): Renamed from
	get_nfiles_in_package. 
	(Gonzui::AbstractDBM::get_content): Renamed from get_file_content.
	(Gonzui::AbstractDBM::get_content_info): Renamed from get_file_info.
	(Gonzui::AbstractDBM::set_content_info): Renamed from set_file_info.
	(Gonzui::AbstractDBM::binary_content?): Renamed from binary_content.
	(Gonzui::DB_VERSION): Bumped version number to 4.
	* gonzui/deindexer.rb (Gonzui::Deindexer::deindex_content):
	Renamed from deindex_file.
	(Gonzui::Deindexer::remove_content_common): Renamed from
	remove_file_common. 
	(Gonzui::Deindexer::remove_binary_content): Renamed from
	remove_binary_file. 
	(Gonzui::Deindexer::remove_indexed_content): Renamed from
	remove_indexed_file. 
	(Gonzui::Deindexer::remove_content): Renamed from remove_file.
	* gonzui/indexer.rb (Gonzui::Indexer::get_package_name): Don't use
	File::SEPARATOR.
	(Gonzui::Indexer::binary_content?): Renamed from binary_file?
	(Gonzui::Indexer::make_content_info): Renamed from make_file_info.
	(Gonzui::Indexer::index_content): Renamed from index_file.
	(Gonzui::Indexer::add_content_common): Renamed from add_file_common.
	(Gonzui::Indexer::add_binary_content): Renamed from add_binary_file.
	(Gonzui::Indexer::add_content_with_indexing): Renamed from
	add_file_with_indexing.
	(Gonzui::Indexer::add_content): Renamed from add_file.
	* gonzui/info.rb (Gonzui::ContentInfo): Renamed from FileInfo.

	* langscan/c.rb (LangScan::name): Renamed from lang_name.
	(LangScan::abbrev): Renamed from lang_abbrev.
	* langscan/python.rb: Ditto.
	* langscan/java.rb: Ditto.
	* langscan/php.rb: Ditto.
	* langscan/ruby.rb: Ditto.
	* langscan/elisp.rb: Ditto.
	* langscan/text.rb: Ditto.
	* langscan.rb (LangScan::validate_module): Adopt the changes.
	* gonzui/indexer.rb (Gonzui::Indexer::index_file): Ditto.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::initialize): Rename DB
	names: langid_lang -> fmtid_fmt, langid_labbr -> fmtid_fabbr,
	labbr_langid -> fabbr_fmtid, pkgid_langids -> pkgid_fmtids.
	(Gonzui::DB_VERSION): Bumped version number to 3.
	(Gonzui::AbstractDBM::each_format): Renamed from each_lang.
	(Gonzui::AbstractDBM::get_nformats): Renamed from get_nlanguages.
	(Gonzui::AbstractDBM::get_format_abbrev): Renamed from get_lang_abbrev.
	(Gonzui::AbstractDBM::get_format_id): Renamed from get_lang_id.
	(Gonzui::AbstractDBM::get_format_id_from_path_id): Renamed from
	get_lang_id_from_path_id.
	(Gonzui::AbstractDBM::get_format_ids_from_package_id): Renamed
	from get_lang_ids_from_package_id.
	(Gonzui::AbstractDBM::get_format_name): Renamed from get_lang_name.
	* gonzui/deindexer.rb (Gonzui::Deindexer::remove_format): Renamed
	from remove_language.
	* gonzui/indexer.rb (Gonzui::Indexer::add_format): Renamed from
	add_language. 
	* gonzui/searcher.rb
	(Gonzui::Searcher::filter_path_ids_by_format): Renamed from
	filter_path_ids_by_language. 
	* gonzui/webapp/stat.rb
	(Gonzui::StatisticsServlet::make_format_table): Renamed from
	make_format_table. 
	(Gonzui::StatisticsServlet::make_format_table): Prevent binary
	files from linking.
	* gonzui/webapp/servlet.rb
	(Gonzui::HTMLMaker::make_format_select): Renamed from
	make_language_select. 
	(Gonzui::HTMLMaker::make_format_select): Exclude binary files.
	* gonzui/info.rb (Gonzui::FileInfo): Rename a parameter name:
	lang_id -> format_id.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::get_nfiles_by_lang_id):
	Renamed from get_nsources_by_lang_id.
	(Gonzui::AbstractDBM::make_nfiles_key): Renamed from
	make_nsources_key.
	(Gonzui::AbstractDBM::get_nfiles_indexed): Renamed from
	get_nsources. 

	* gonzui/webapp/stat.rb
	(Gonzui::StatisticsServlet::make_language_table): Adopt the changes.
	(Gonzui::StatisticsServlet::make_overview_table): Ditto.

	* gonzui/deindexer.rb
	(Gonzui::Deindexer::remove_source_if_necessary): Removed. 
	(Gonzui::Deindexer::remove_file_common): Ditto.
	(Gonzui::Deindexer::remove_binary_file): New method.
	(Gonzui::Deindexer::remove_indexed_file): Ditto.
	(Gonzui::Deindexer::deindex_file): Renamed from remove_words_of_source.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::binary_file?): New method.

	* gonzui/indexer.rb (Gonzui::Indexer::add_source_if_necessary):
	Use add_language for binary files.
	(Gonzui::Indexer::add_source_if_necessary): Removed.
	(Gonzui::Indexer::add_source): Removed.
	(Gonzui::Indexer::add_file_with_indexing): New method.
	(Gonzui::Indexer::add_file_binary_file): Ditto.
	(Gonzui::Indexer::add_file_common): Ditto.

	* gonzui/indexer.rb (Gonzui::Indexer::make_file_info): New method.

	* gonzui/package.rb (Gonzui::Package::initialize): Add a
	parameter: @exclude_pattern.
	(Gonzui::Package::import_files): Use it to exclude files.

	* gonzui/util.rb (Gonzui::Util::set_verbosity): New method.
	(Gonzui::Util::vprintf): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::vputs): Removed.

2005-02-08  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/markup.rb (Gonzui::TextBeautifier::decorate):
	Use "class" instead of "id" in attributes because IE doesn't allow
	duplicated "id"s.

	* doc/gonzui.js (quotemeta): New method.
	(isearch): Use it.

	* gonzui/dbm.rb (Gonzui::DB_VERSION): Bumped version number to 2.
	(Gonzui::AbstractDBM::save_db_version): Simplified.

	* langscan/_type.rb (LangScan::Type::TypeID): Removed.
	(LangScan::Type::TypeInfo::initialize): Remove a field: @type_id.
	(LangScan::Type::to_id): Removed.
	(LangScan::Type::get_type): Ditto.
	(LangScan::Type::has_type?): Removed.
	(LangScan::Type::each): New method.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::initialize): New db:
	type_typeid.
	(Gonzui::AbstractDBM::init_type_ids): New method.
	(Gonzui::AbstractDBM::get_type_id): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::add_text): Use it.
	(Gonzui::Indexer::add_fragment): Ditto.
	* gonzui/info.rb (Gonzui::WordTypeMixin): Removed.
	(Gonzui::WordInfo): Add new field: @type.
	(Gonzui::DigestInfo): Add new field: @type.
	* gonzui/cmdapp/search.rb (Gonzui::CommandLineSearcher::search):
	Adopt the changes.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::find_word_info): Adopt the
	change.
	(Gonzui::AbstractDBM::get_all_word_info): Ditto.
	(Gonzui::AbstractDBM::get_digest): Ditto.

	* gonzui/webapp/markup.rb
	(Gonzui::TextBeautifier::highlight_if_necessary): Removed.

	* gonzui/info.rb: New file.
	* tests/info.rb: New file.
	* langscan/_type.rb: Moved from gonzui/type.rb.

	* gonzui/webapp/markup.rb
	(Gonzui::TextBeautifier::make_line_mark): Shorten a javascript
	function name.
	(Gonzui::TextBeautifier::decorate): Ditto.
	(Gonzui::TextBeautifier::decorate): Modify the ID creation method
	to shorten the resulting HTML content.

	* doc/gonzui.js: Adopt the changes.

2005-02-07  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/markup.rb
	(Gonzui::MarkupServlet::make_isearch_form): Renamed from
	make_grep_form. 
	(Gonzui::MarkupServlet::markup_file): Adopt the change.
	* doc/gonzui.js (isearch): Renamed from grep.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::find_word_info): Do nothing
	if dump is nil.
	(Gonzui::AbstractDBM::get_all_word_info): Ditto.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::redirect_if_necessary): Fix a typo in the
	method namme.

	* gonzui/webapp/snippet.rb: New file.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_snippet_kwic): Don't use
	@search_query to determine the mode. 
	(Gonzui::SnippetMaker): New class.
	(Gonzui::SearchServlet::make_emphasized_line): Moved to SnippetMaker.
	(Gonzui::SearchServlet::make_snippet_kwic_single): Ditto.
	(Gonzui::SearchServlet::make_occurrences_by_lineno): Ditto.
	(Gonzui::SearchServlet::add_contexts): Ditto.
	(Gonzui::SearchServlet::make_snippet_kwic_multi): Ditto.
	(Gonzui::SearchServlet::make_snippet_kwic): Ditto.
	(Gonzui::SearchServlet::make_snippet): Ditto.
	(Gonzui::SearchServlet::make_separator): Ditto.
	(Gonzui::SearchServlet::collect_context_lines): Ditto.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::word_cache): Make it attr_reader.
	(Gonzui::AbstractDBM::get_nfiles): Renamed from nfiles.
	(Gonzui::AbstractDBM::get_nlines): Renamed from nlines.
	(Gonzui::AbstractDBM::get_nlanguages): Renamed from nlanguages.
	(Gonzui::AbstractDBM::get_npackages): Renamed from npackages.
	(Gonzui::AbstractDBM::get_nwords): Renamed from nwords.
	(Gonzui::AbstractDBM::get_nsources): Renamed from nsources.
	(Gonzui::AbstractDBM::get_nfiles_in_package): Renamed from nfiles_in_package.

	* gonzui: Rename all variable names from regex to regexp.
	* gonzui: Remove unnecessary spaces before parenthesises in all
	method definitions.
	* gonzui: Replase all occurrences of Hash.new with {} if
	parameters and blocks are not given.

	* langscan-test: New file.
	* Makefile.am (noinst_SCRIPTS): Add it.

	* gonzui/type.rb (Gonzui::Type::TypeInfo): Add :symbol. It has
	been missing accidentally.

	* gonzui/importer.rb (Gonzui::Importer::initialize): Simplified.

	* configure.ac: Bumped version number to 0.5.

2005-02-06  MATSUNO Tokuhiro  <tokuhirom@yahoo.co.jp>

	* langscan/php/phptok.l: Modified the rule.

2005-02-06  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/importer.rb (Gonzui::Importer::make_progress_bar):
	Simplified. 
	(Gonzui::Importer::initialize): Set @show_progress appropriately.

 	* gonzui: Version 0.4 released.

	* NEWS: Updated.

	* catalog/catalog.ja: Updated.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_expansion_link): Use simplified_string.

	* configure.ac: Change the gonzui URL from
	http://namazu.org/~satoru/gonzui to
	http://gonzui.sourceforge.net/.

2005-02-06  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/delta.c: Implemented again.
	* gonzui/type.rb (Gonzui::DeltaDumper): Modified so as to call dump.c.
	(Gonzui::DeltaDumper::dump): Reimplemented as class method.
	(Gonzui::WordInfo::DeltaSize): New variable.
	(Gonzui::WordInfo::UnitSize): New variable.
	(Gonzui::WordInfo::unit_size): Removed.
	(Gonzui::WordInfo::delta_init): Removed.
	(Gonzui::WordInfo::delta): Removed.
	(Gonzui::WordInfo::undelta): Removed.
	(Gonzui::DigestInfo::DeltaSize): New variable.
	(Gonzui::DigestInfo::UnitSize): New variable.
	(Gonzui::DigestInfo::unit_size): Removed.
	(Gonzui::DigestInfo::delta_init): Removed.
	(Gonzui::DigestInfo::delta): Removed.
	(Gonzui::DigestInfo::undelta): Removed.
	* gonzui/indexer.rb: Updated so as to use the new DeltaDummer.

2005-02-06  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/delta.c: Removed.
	* gonzui/Makefile.am: Remove delta.c related rules and variables.

	* gonzui/type.rb (Gonzui::DeltaDumper): Renamed from Delta.

	* gonzui/texttokenizer.c: Renamed from textsplitter.c.
	(texttokenizer_each): Allow '_' in a token again.

	* tests/texttokenizer.c: Renamed from textsplitter.rb. 

	* gonzui/searchquery.rb (Gonzui::SearchQuery::tokenize_all): New
	method. 
	(Gonzui::SearchQuery::include_word?): Removed.
	(Gonzui::SearchQuery::make_plus_and_minus_words): New method.
	(Gonzui::SearchQuery::reset): NEw method.
	(Gonzui::SearchQuery::known_property?): Removed.
	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_expansion_link): Use
	SearchQuery#string instead of #simplified_string.

	* gonzui/textsplitter.c (textsplitter_single_word_p): Removed.
	* tests/textsplitter.rb (TextSplitterTest::test_single_word?):
	Removed. 
	(TextSplitterTest::_test_mb_text): NEw method.

	* gonzui/searchquery.rb (Gonzui::SearchQuery::single_word?): Removed.
	(Gonzui::SearchQuery::has_multi_byte_char?): New method.
	(Gonzui::SearchQuery::add_item): Add a parameter: phrase_p.
	(Gonzui::SearchQuery::parse_query_string): Adopt the change.

	* gonzui/indexer.rb (Gonzui::Indexer::binary_file?): Removed.
	(Gonzui::Indexer::binary_content?): New method.
	(Gonzui::Indexer::convert_to_utf8): Use it.

2005-02-06  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/type.rb (Gonzui::Delta): New class.
	(Gonzui::WordInfo::unit_size): New method.
	(Gonzui::WordInfo::delta_init): New method.
	(Gonzui::WordInfo::delta): New method.
	(Gonzui::WordInfo::undelta): Reimplemented.
	(Gonzui::WordInfo::load): Removed.
	(Gonzui::WordInfo::dump): Removed.
	(Gonzui::WordInfo::delta_list): Removed.
	(Gonzui::DigestInfo::unit_size): New method.
	(Gonzui::DigestInfo::delta_init): New method.
	(Gonzui::DigestInfo::delta): New method.
	(Gonzui::DigestInfo::undelta): Reimplemented.
	(Gonzui::DigestInfo::load): Removed.
	(Gonzui::DigestInfo::dump): Removed.
	(Gonzui::DigestInfo::delta_list): Removed.
	* gonzui/indexer.rb (Gonzui::Indexer::add_fragment): Use Delta#push.
	(Gonzui::Indexer::flush_cache): Use Delta#dump.
	(Gonzui::Indexer::add_word): Use Delta#push.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::get_digest): Use Delta#undump.
	(Gonzui::AbstractDBM::find_word_info): Ditto.
	(Gonzui::AbstractDBM::get_all_word_info): Ditto.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::pathid_wordids_dump): New method.
	(Gonzui::AbstractDBM::pathid_wordids_load): Ditto.
	(Gonzui::AbstractDBM::get_word_ids): Call pathid_wordids_load.
	(Gonzui::Indexer::flush_cache): Call pathid_wordids_dump.

	* gonzui/bdbdbm.rb (Gonzui::BDBExtension::multi_insert): Removed.
	(Gonzui::BDBExtension::multi_values): Removed.
	(Gonzui::BDBExtension::multi_each): Removed.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::initialize): New instance
	variable @word_cache.
	(Gonzui::AbstractDBM::word_cache): New method.
	* gonzui/indexer.rb (Gonzui::Indexer::initialize): New instance
	variable @dbm_word_cache.
	(Gonzui::Indexer::add_word): Use @dbm_word_cache.
	
2005-02-05  MATSUNO Tokuhiro  <tokuhirom@yahoo.co.jp>

	* langscan/php/phptok.l: Memory leak fixed.
	* langscan/php/test/test-scan.rb (TestScan::test_heredoc): Add test cases.
	* langscan/php/phptok.l: Rule changed.
	* langscan/php/phptok.l: Modified the rule for one line comment.

2005-02-04  Yoshinori K. Okuji  <okuji@enbug.org>

	* langscan/python/test/test-scan.rb (TestScan::test_not_funcall):
	New method.

	From MATSUNO Tokuhiro:
	* langscan/python.rb (LangScan::Python::scan): Assign :funcall
	only if it is :ident.

2005-02-05  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/indexer.rb (Gonzui::Indexer::vputs): New method.
	(Gonzui::Indexer::add_source_if_necessary): Use it.
	(Gonzui::Indexer::add_source_if_necessary): Skip bi
	(Gonzui::Indexer::text_file?): Removed.
	(Gonzui::Indexer::binary_file?): New method.
	(Gonzui::Indexer::add_source_if_necessary): Use it to skip binary
	files. 
	(Gonzui::Indexer::read_content): Renamed from read_file.
	(Gonzui::Indexer::initialize): Modify parameters. Don't take
	real_path to support non-file content in future.
	* gonzui/importer.rb (Gonzui::Importer::add_package): Adopt the change.

2005-02-05  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/delta.c (rb_delta_do_delta_list): Optimized.

2005-02-05  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/util.rb (Gonzui::UTF8::Preference): Use cp932 instead of
	windows-31j and add iso-8859-1 at the end of the list.

	* gonzui/delta.c: New file. C implementation of Delta module.
	* gonzui/type.rb (Gonzui::WordInfo::delta): Removed.
	(Gonzui::DigestInfo::delta): Removed.

2005-02-05  MATSUNO Tokuhiro  <tokuhirom@yahoo.co.jp>

	* langscan/php/phptok.l: Modify the rule.

2005-02-05  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/indexer.rb (Gonzui::Indexer::add_text): Optimized.

2005-02-05  MATSUNO Tokuhiro  <tokuhirom@yahoo.co.jp>

	* langscan/php.rb: lex version.
	* langscan/php/phptok.l: New file.
	* langscan/php/php.c: Ditto.
	* langscan/php/php.h: Ditto.
	* langscan/php/test/test-scan.rb: Add test cases.
	* langscan/php/phptok.php: Removed.
	* langscan/php/test/test-scan.rb: Reformat source code.

2005-02-05  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/indexer.rb (Gonzui::Indexer::statistics): Don't profile
	add_word.
	(Gonzui::Indexer::initialize_profilers_if_necessary): Ditto.

2005-02-05  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/indexer.rb (Gonzui::Indexer::delta_compress): Removed.
	* gonzui/type.rb (Gonzui::DeltaCompression): New module.

2005-02-04  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::AbstractDBM::set_file_content): New method.
	(Gonzui::AbstractDBM::get_file_content): Use Zlib::Inflate.
	* gonzui/indexer.rb (Gonzui::Indexer::add_file): Use set_file_content.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::validate_db_version): New
	method.
	(Gonzui::AbstractDBM::save_db_version): Ditto.
	(Gonzui::AbstractDBM::db_exist?): Ditto.
	(Gonzui::IncompatibleDBError): New class.

	* gonzui/type.rb (Gonzui::WordInfo::delta): New method.
	(Gonzui::WordInfo::undelta): New method.
	(Gonzui::DigestInfo::delta): New method.
	(Gonzui::DigestInfo::undelta): New method.

	* gonzui/indexer.rb (Gonzui::Indexer::delta_compress): New method.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::find_word_info): Use undelta.
	(Gonzui::AbstractDBM::get_all_word_info): Ditto.

	* gonzui/bdbdbm.rb (Gonzui::BDBExtension::multi_insert): Use BER
	compressed integers instead of network order integers.
	(Gonzui::BDBExtension::multi_values): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::add_word): Adopt the
	changes.
	(Gonzui::Indexer::add_fragment): Ditto.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::get_word_ids): Adopt Ditto.
	(Gonzui::AbstractDBM::find_word_info): Ditto.
	(Gonzui::AbstractDBM::get_all_word_info): Ditto.
	(Gonzui::AbstractDBM::get_digest): Ditto.
	* gonzui/type.rb (Gonzui::DigestInfo::load): Simplified.
	(Gonzui::DigestInfo::dump): Ditto.
	(Gonzui::WordInfo::load): Ditto.
	(Gonzui::WordInfo::dump): Ditto.

2005-02-04  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/type.rb (Gonzui::WordInfo::load): Reverted the last change.
	(Gonzui::WordInfo::dump): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::initialize): Ditto.
	(Gonzui::Indexer::add_word): Ditto.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::find_word_info): Ditto.
	(Gonzui::AbstractDBM::get_all_word_info): Ditto.

2005-02-04  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/type.rb (Gonzui::WordInfo::load): Take seqno as a parameter.
	(Gonzui::WordInfo::self): Don't dump seqno.
	* gonzui/indexer.rb (Gonzui::Indexer::initialize): Remove @seqno.
	(Gonzui::Indexer::add_word): Don't use @seqno.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::find_word_info): Generate seqno.
	(Gonzui::AbstractDBM::get_all_word_info): Ditto.
	(Gonzui::AbstractDBM::collect_all_results): Call get_all_word_info.

2005-02-04  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/bdbdbm.rb (Gonzui::BDBExtension::multi_insert): Write to
	DB only when values is not empty.
	* gonzui/indexer.rb (Gonzui::Indexer::flush_cache): Don't check if
	@digest_cache is empty here.

2005-02-03  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/Makefile.am (EXTRA_DIST): Define only once.

2005-02-03  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/type.rb (Gonzui::WordInfo): Remove the third field
	:package_id. 

	* gonzui/dbm.rb (Gonzui::AbstractDBM::make_new_id): Don't use
	sprintf. 

	* gonzui/type.rb (Gonzui::DigestInfo): Remove the third field
	:word_id.
	* gonzui/webapp/markup.rb (Gonzui::TextBeautifier::decorate):
	Don't use DigestInfo#word_is. Use String#hash instead.

	* gonzui/bdbdbm.rb (Gonzui::BDBExtension::multi_remove): Removed.
	(Gonzui::BDBExtension::multi_has_both?): Removed.
	(Gonzui::BDBExtension::multi_insert): Simplified.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::has_word_id_in_path_id):
	Removed. 
	(Gonzui::AbstractDBM::make_word_package_id): Removed.
	(Gonzui::AbstractDBM::make_word_path_id): Removed.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::initialize): Use a dupsort
	DB for wordid_pkgids, pkgid_pathids, wordpkgid_pathids,
	pkgid_langids.
	* gonzui/indexer.rb (Gonzui::Indexer::flush_cache): Renamed from
	dump_info. And make it more efficient.
	(Gonzui::Indexer::initialize): Rename instance variables:
	@wordid_infos -> @wordinfo_cache. @digests -> @digest_cache.

	* gonzui/textsplitter.c: New file by Keisuke Nishida.
	(utf8len): New method.
	(textsplitter_each): Use it for UTF-8 handling.
	(textsplitter_single_word_p): Ditto.
	(textsplitter_each): Use assert(0) for an invalid condition.
	(textsplitter_single_word_p): Ditto.
	(skip): New function. Based on the macro SKIP.
	(SKIP): Removed.
	(textsplitter_each): Use it.
	(textsplitter_new): Use the "len" and "eot" fields and don't rely
	on the NUL character at the end of the string.
	(skip): Adopt the change.
	(textsplitter_each): Ditto.
	(textsplitter_each): Ditto.
	(textsplitter_single_word_p): Ditto.
	(textsplitter_new): Don't use malloc and memcpy. Just use the
	RString's ptr instead.
	(textsplitter_free): Adopt the change.
	* gonzui/textsplitter.rb: Removed.

	* gonzui/textsplitter.rb (Gonzui::TextSplitter::skip): Fix the
	regular	expression.
	(Gonzui::TextSplitter::single_word?): Ditto.
	* tests/textsplitter.rb (TextSplitterTest::test_single_word?):
	New test.

2005-02-03  MATSUNO Tokuhiro  <tokuhirom@yahoo.co.jp>

	* langscan/php.rb: Obfuscate email addresses to prevent spams.
	* langscan/php.rb (LangScan::PHP::scan): bug fixed. :funcall
	is only T_STRING.
	* langscan/php.rb (LangScan::PHP::scan): Here document support. 

	* langscan/php/phptok.php: Obfuscate email addresses to prevent
	spams.
	* langscan/php/phptok.php: Use the file_get_contents().
	* langscan/php/phptok.php (tokenize): Removing unused variable.

2005-02-03  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/url.rb
	(Gonzui::URLMaker::make_search_url_by_query_string): New method.
	* gonzui/webapp/markup.rb (Gonzui::TextBeautifier::decorate): Use it.

2005-02-02  Satoru Takabayashi  <satoru@namazu.org>

	* langscan/php.rb (command_exist?): New method. Use it for
	checking the existence of php runtime.

	* langscan/elisp.rb (LangScan::EmacsLisp::lang_name): Rename the
	language name from EmacsLisp to Emacs Lisp.

	* langscan/php.rb: New file by MATSUNO Tokuhiro
	<tokuhirom at yahoo.co.jp> [Gonzui-devel 6]
	* langscan/php/phptok.php: Ditto.
	* langscan/php/Makefile.am: New file.
	* langscan/php/test/Makefile.am: Ditto.
	* langscan/php/test/test-scan.rb: Ditto.
	* langscan/php.rb (LangScan::PHP): Rename the module name from
	LangScan::Php. 
	(LangScan::PHP::lang_name): Rename the language name from Php to PHP.
	(LangScan::PHP::scan): Rename a variable name from beftoken to
	prev_token. 
	* langscan/php/phptok.php: Modify the output format to avoid "eval"
	in langscan/php.rb.
	* langscan/php.rb: Adopt the change.
	* langscan/php.rb (LangScan::PHP): Find the path to phptok.php.
	* langscan/_common.rb (LangScan::LangScanError): New class.
	(LangScan::PHP): Use it.

	* langscan/python/test/test-scan.rb: New file by MATSUNO Tokuhiro
	<tokuhirom at yahoo.co.jp> [Gonzui-devel 1]

	* gonzui: Remove unnecessary langscan/*/test-all.rb files.

	* Applied a patch from "Yoshinori K. Okuji" <okuji at enbug.org>.
	[Gonzui-devel 4]

	* langscan/python.rb: Remove the prototype version. It's not
	useful enough compared to Okuji's implementation.

	* configure.ac: Bumped version number to 0.4.

2005-01-31  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/dbm.rb (Gonzui::AbstractDBM::open_db): Always use adaptor.
	* gonzui/autopack.rb
	(Gonzui::AutoPack::IdAndId): Don't include AutoPack.
	(Gonzui::AutoPack::IdAndString): Ditto.
	(Gonzui::AutoPack::StringAndId): Ditto.
	(Gonzui::AutoPack::StringAndString): Ditto.

	* gonzui/indexer.rb (Gonzui::Indexer::add_word): Set hash only
	when necessary.

2005-01-30  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/bdbdbm.rb (Gonzui::BDBExtension::multi_insert): New method.
	(Gonzui::BDBExtension::multi_values): Ditto.
	(Gonzui::BDBExtension::multi_remove): Ditto.
	(Gonzui::BDBExtension::multi_has_both?): Ditto
	(Gonzui::BDBExtension::multi_each): Ditto.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::initialize): Use multi
	values instead of duplicate keys.
	On these DB's, method replacement has done as follows:
	  db[key] = value            -> db.multi_insert(key, value)
	  db.delete_both(key, value) -> db.multi_remove(key, value)
	  db.duplicates(key)         -> db.multi_values(key)
	  db.has_both?(key, value)   -> db.multi_has_both?(key, value)
	  db.each_dup(key) {|v| ...} -> db.multi_each(key) {|v| ...}
	  db.dup_count(key)          -> db.multi_values(key).length
	(Gonzui::AbstractDBM::collect_all_results): Modified as above.
	(Gonzui::AbstractDBM::find_word_info): Ditto.
	(Gonzui::AbstractDBM::get_all_word_info): Ditto.
	(Gonzui::AbstractDBM::get_digest): Ditto.
	(Gonzui::AbstractDBM::get_lang_ids_from_package_id): Ditto.
	(Gonzui::AbstractDBM::get_package_ids): Ditto.
	(Gonzui::AbstractDBM::get_path_ids): Ditto.
	(Gonzui::AbstractDBM::get_path_ids_from_word_and_package_id): Ditto.
	(Gonzui::AbstractDBM::get_word_ids): Ditto.
	(Gonzui::AbstractDBM::has_word_id_in_path_id): Ditto.
	(Gonzui::AbstractDBM::nfiles_in_package): Ditto.
	* gonzui/deindexer.rb (Gonzui::Deindexer::remove_words_of_source):
	Ditto.
	(Gonzui::Deindexer::remove_path): Ditto.

	* gonzui/indexer.rb (Gonzui::Indexer::statistics): Remove profiler
	:add_word.  New profiler :dump_info.
	(Gonzui::Indexer::initialize_profilers_if_necessary): Ditto.

	* gonzui/indexer.rb (Gonzui::Indexer::initialize): New instance
	variable @wordid_infos and @digests.
	(Gonzui::Indexer::add_digest): Removed.  Integrated info
	add_fragment.
	(Gonzui::Indexer::add_fragment): Add digests into @digests.
	(Gonzui::Indexer::add_word): Add word infos into @wordid_infos.
	(Gonzui::Indexer::dump_info): New method.

	* gonzui/indexer.rb
	(Gonzui::Indexer::initialize): Remove instance variables:
	@dbm_langid_lang, @dbm_langid_labbr, @dbm_labbr_langid, @dbm_seq,
	@dbm_stat, @dbm_pkg_pkgid, @dbm_pkgid_pkg, @dbm_pkgid_pathids,
	@dbm_pkgid_langids, @dbm_path_pathid, @dbm_pathid_digest,
	@dbm_pathid_info, @dbm_pathid_content, @dbm_pathid_path,
	@dbm_pathid_pkgid, @dbm_pathid_wordids, @dbm_wordid_pkgids,
	@dbm_wordpkgid_pathids, and @dbm_wordpathid_info.
	(Gonzui::Indexer::add_language): Updated.
	(Gonzui::Indexer::add_path): Ditto.
	(Gonzui::Indexer::add_package_if_necessary): Ditto.
	(Gonzui::Indexer::add_file): Ditto.

2005-01-30  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/importer.rb (Gonzui::Importer::add_package): Use progress
	bar only when @config.verbose is false.
	* gonzui/indexer.rb (Gonzui::Indexer::add_source_if_necessary):
	Print progress messeage when @config.verbose is true.

2005-01-30  Keisuke Nishida  <knishida@open-cobol.org>

	* langscan/_common.rb (LangScan::LangScanner::scan): Count lines
	included in the pattern.
	* tests/langscanner.rb: Updated.

2005-01-30  Keisuke Nishida  <knishida@open-cobol.org>

	* langscan/_common.rb (LangScan::LangScanner): New class.
	* tests/langscanner.rb: New file.
	* langscan/elisp.rb: New file.

2005-01-29  Yoshinori K. Okuji  <okuji@enbug.org>

	* langscan/python.rb: New file.
	* langscan/python/Makefile.am: Likewise.
	* langscan/python/python.c: Likewise.
	* langscan/python/python.h: Likewise.
	* langscan/python/pythontok.l: Likewise.
	* langscan/python/pythontok.c: Likewise.
	* langscan/python/pythontok.c.dist: Likewise.
	* langscan/python/test-all.rb: Likewise.
	* langscan/python/test/Makefile.am: Likewise.
	* langscan/python/test/test-python.rb: Likewise.

	* configure.ac (AC_OUTPUT): Added langscan/python/Makefile and
	langscan/python/test/Makefile.

	* gonzui/type.rb (Gonzui::Type::TypeInfo::initialize): Add
	:imaginary as a literal.

	* langscan/Makefile.am (SUBDIRS): Added python.
	(rubylib_DATA): Added python.rb.

2005-01-29  Satoru Takabayashi  <satoru@namazu.org>

	* configure.ac: Add check for strscan library.

 	* gonzui: Version 0.3 released.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::open_db): Use class_eval and
	attr_reader instead of using define_method.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::open_db): Add a guard clause.

	* Makefile.am (gonzui.rb): Depends Makefile.

	* gonzui/indexer.rb
	(Gonzui::Indexer::initialize_profilers_if_necessary): New method.
	(Gonzui::Indexer::initialize): Use it.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::db_names): Removed.

	* tests/deindexer.rb (DeindexerTest::_test_removed_clearly?):
	Don't use DBM#db_names.

2005-01-29  Tanaka Akira  <akr@m17n.org>

	* langscan/java.rb (LangScan::Java.scan): Squash duplicated fragments.

2005-01-29  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/markup.rb
	(Gonzui::TextBeautifier::make_lineno_part): Supply :title again
	for supporting incremental search by JavaScript.
	(Gonzui::TextBeautifier::initialize): Adopt the change.
	(Gonzui::TextBeautifier::beautify): Ditto.

2005-01-28  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/indexer.rb (Gonzui::Indexer::initialize): New instance
	variables: @dbm_langid_lang, @dbm_langid_labbr, @dbm_labbr_langid,
	@dbm_seq, @dbm_stat, @dbm_pkg_pkgid, @dbm_pkgid_pkg,
	@dbm_pkgid_pathids, @dbm_pkgid_langids, @dbm_path_pathid,
	@dbm_pathid_digest, @dbm_pathid_info, @dbm_pathid_content,
	@dbm_pathid_path, @dbm_pathid_pkgid, @dbm_pathid_wordids,
	@dbm_word_wordid, @dbm_wordid_pkgids, @dbm_wordid_word,
	@dbm_wordpkgid_pathids, and @dbm_wordpathid_info.
	Use these variables instead of calling @dbm's methods.

2005-01-28  Satoru Takabayashi  <satoru@namazu.org>

	* tests/cmdapp-search.rb (CommandLineSearcherTest::grep): Don't
	use * in IO.popen's argument.
	* tests/test-util.rb (TestUtil): Sort FOO_FILES.

	* gonzui/type.rb (Gonzui::Occurrence): Moved from searcher.rb.

	* gonzui/searchquery.rb (Gonzui::SearchQuery::initialize): Remove
	field: @regexp.

	* gonzui/webapp/markup.rb
	(Gonzui::TextBeautifier::make_lineno_part): New method.
	(Gonzui::TextBeautifier::markup_part): Reimplemented.
	(Gonzui::TextBeautifier::beautify_with_digest): Removed.
	(Gonzui::TextBeautifier::beautify_simple): Removed.
	(Gonzui::TextBeautifier::choose_target_type): New method.
	(Gonzui::TextBeautifier::decorate): Ditto.
	(Gonzui::TextBeautifier::highlight_text): Removed.
	(Gonzui::TextBeautifier::highlight_it): Removed.

	* gonzui/searchresult.rb (Gonzui::ResultItem): Don't include
	Enumerable.
	(Gonzui::ResultItem::each): Removed.
	(Gonzui::ResultItem::first): Ditto.
	(Gonzui::ResultItem::length): Ditto.
	* gonzui/searcher.rb
	(Gonzui::Searcher::search_with_path_internal): Ditto.
	(Gonzui::Occurrence::range): New method.
	(Gonzui::Occurrence::end_byteno): New method.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_source_path_line): Adopt the changes.

	* gonzui/webapp/markup.rb (Gonzui::TextBeautifier::initialize):
	Remove parameters: config and search_query.
	(Gonzui::TextBeautifier::markup_part): Don't use highlight_if_necessary.
	(Gonzui::MarkupServlet::markup_source): Adopt the change.

	* gonzui/searcher.rb (Gonzui::Searcher::search_without_scope): Use
	:find_one_extra for get_result_item. It fixes a slight problem in
	search results.

	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::calc_ncolumns):
	Fix the ZeroDivisionError.
	(Gonzui::TextBeautifier::markup_part): Simplify the URL creation.

	* tests/deindexer.rb (DeindexerTest::_test_removed_clearly?): New method.

2005-01-28  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/autopack.rb (Gonzui::AutoPack::IdAndId): New module.
	(Gonzui::AutoPack::IdAndString): Ditto.
	(Gonzui::AutoPack::StringAndId): Ditto.
	(Gonzui::AutoPack::NumberAndNumber): Removed.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::initialize): Use above
	modules for DB's that handle ID's.
	(Gonzui::AbstractDBM::open_db): Do not extend DB when unnecessary.
	(Gonzui::AbstractDBM::id_to_index): New method.
	(Gonzui::AbstractDBM::index_to_id): Ditto.
	(Gonzui::AbstractDBM::verify_seq_integrity): Convert id to index.
	(Gonzui::AbstractDBM::make_new_id): Convert index to id.
	(Gonzui::AbstractDBM::make_word_package_id): Just concatenate ID's.
	(Gonzui::AbstractDBM::make_word_path_id): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::initialize): @lang_id
	defaults to "\xff\xff\xff\xff" (used be -1).  Ugh.
	* gonzui/type.rb (Gonzui::WordInfo::load): Pack/unpack properly.
	(Gonzui::WordInfo::dump): Ditto.
	(Gonzui::DigestInfo::load): Ditto.
	(Gonzui::DigestInfo::dump): Ditto.
	(Gonzui::FileInfo::load): Ditto.
	(Gonzui::FileInfo::dump): Ditto.

	* gonzui/type.rb (Gonzui::WordInfo::load): New argument word_path_id.
	(Gonzui::WordInfo::dump): Omit arguments word_id and path_id.
	* gonzui/indexer.rb (Gonzui::Indexer::add_word): Updated.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::collect_all_results): Updated.
	(Gonzui::AbstractDBM::find_word_info): Updated.
	(Gonzui::AbstractDBM::get_all_word_info): Updated.

	* tests/autopack.rb (AutopackTest::test_autopack): Remove test for
	AutoPack::NumberAndNumber.
	* tests/dbm.rb (DBMTest::_test_get_foo): Test ID after converting
	it to index.
	(DBMTest::_test_foo_find): Ditto.
	* tests/deindexer.rb (DeindexerTest::test_deindex): Ditto.
	* tests/webapp-markup.rb (TextBeautifierTest::test_beautify): Ditto.

2005-01-28  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/type.rb (Gonzui::WordInfo::dump): Defined as class method.
	(Gonzui::DigestInfo::dump): Ditto.
	(Gonzui::FileInfo::dump): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::add_digest): Call dump directly.
	(Gonzui::Indexer::add_word): Ditto.
	(Gonzui::Indexer::add_file): Ditto.
	(Gonzui::Indexer::make_file_info): Removed. Integrated into add_file.

2005-01-27  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/cmdapp/search.rb (Gonzui::CommandLineSearcher::search):
	Skip the previously checked lines. And Fix the sort_by condition.

	* gonzui/indexer.rb (Gonzui::Indexer::convert_to_utf8): Return
	encoding as well.
	(Gonzui::Indexer::normalize_content): Adopt the change.
	(Gonzui::Indexer::read_file): Ditto.
	(Gonzui::Indexer::initialize): New field: @encoding.
	(Gonzui::Indexer::text_file?): New method.
	(Gonzui::Indexer::add_source_if_necessary): Use it.

	* gonzui/type.rb (Gonzui::Type): Add TextGroup.
	(Gonzui::Type::highlightable?): New method.
	* gonzui/webapp/markup.rb (Gonzui::TextBeautifier::markup_part):
	Use it.

	* gonzui/searchresult.rb: New file. Separated from searcher.rb.
	* tests/searchresult.rb: New file.

	* gonzui/searchquery.rb: New file. Separated from searcher.rb.
	* tests/searchquery.rb: New file.

	* gonzui/searcher.rb (Gonzui::SearchQuery::parse_query_string):
	Support - in a query.
	(Gonzui::SearchQuery::add_item_for_phrase): Adopt the change.
	(Gonzui::SearchQuery::add_item_for_single_word): Ditto.
	(Gonzui::Searcher::find_ids): Ditto.
	(Gonzui::Searcher::get_result_item): Ditto.
	(Gonzui::QueryItem::minus?): New method.

	* gonzui/searcher.rb: Moved from gonzui/webapp/searcher.rb.

	* tests/searcher.rb: Renamed from webapp-searcher.rb.

	* gonzui/autopack.rb (Gonzui::AutoPack::NumbersAndString): Removed.
	(Gonzui::AutoPack::NumbersAndNumber): Ditto.
	(Gonzui::AutoPack::PackMethod::pack_numbers): Ditto.
	(Gonzui::AutoPack::PackMethod::unpack_numbers): Ditto.
	* tests/autopack.rb: Adopt the changes.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::make_word_package_id): New
	method.
	(Gonzui::AbstractDBM::collect_all_results): Use it.
	(Gonzui::AbstractDBM::get_path_ids_from_word_and_package_id): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::add_word): Ditto.
	* gonzui/deindexer.rb (Gonzui::Deindexer::remove_words_of_source):
	Ditto.

	* gonzui/dbm.rb (Gonzui::AbstractDBM::has_occurrences?): Removed.

	* gonzui/deindexer.rb (Gonzui::Deindexer::remove_words_of_source):
	Simplified. 

	* gonzui/type.rb (Gonzui::WordInfo::dump): Don't include word_id
	and package_id
	* gonzui/dbm.rb (Gonzui::AbstractDBM::collect_all_results): Adopt
	the change.
	(Gonzui::AbstractDBM::find_word_info): Ditto.
	(Gonzui::AbstractDBM::get_all_word_info): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::add_word): Ditto.

	* gonzui/autopack.rb (Gonzui::AutoPack::StringAndString): New module.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::make_word_path_id): New method.
	(Gonzui::AbstractDBM::collect_all_results): Use it.
	(Gonzui::AbstractDBM::find_word_info): Ditto.
	(Gonzui::AbstractDBM::get_all_word_info): Ditto.
	(Gonzui::AbstractDBM::has_occurrences?): Ditto.
	(Gonzui::AbstractDBM::initialize): Adopt the changes.
	* gonzui/deindexer.rb (Gonzui::Deindexer::remove_words_of_source):
	Ditto. 
	* gonzui/indexer.rb (Gonzui::Indexer::add_word): Ditto.

	* gonzui/indexer.rb (Gonzui::Indexer::index): Don't yield in the
	method. 
	* gonzui/deindexer.rb (Gonzui::Deindexer::deindex): Ditto.
	* gonzui/importer.rb (Gonzui::Remover::remove_package): Adopt the
	changes. 
	(Gonzui::Importer::add_package): Ditto.
	* tests/indexer.rb: Ditto.
	* tests/deindexer.rb: Ditto.

2005-01-27  Keisuke Nishida  <knishida@open-cobol.org>

	* tests/monitor.rb: Updated for the new profiler.

2005-01-27  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/indexer.rb (Gonzui::Indexer::add_digest): Extracted from
	add_fragment.
	(Gonzui::Indexer::initialize, Gonzui::Indexer::statistics):
	Profile add_digest.

2005-01-27  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/monitor.rb (Gonzui::PerformanceCounter::initialize): New
	instance variables @time_total, @time_subtotal, @times_enter,
	@times_total, @times_subtotal.  Remove @time.
	(Gonzui::PerformanceCounter::enter): Save current times.
	(Gonzui::PerformanceCounter::leave): Compute total times.
	(Gonzui::PerformanceCounter::time): Return @time_total.
	(Gonzui::PerformanceCounter::utime): New method.
	(Gonzui::PerformanceCounter::stime): New method.
	(Gonzui::PerformanceCounter::exclude): New method.
	(Gonzui::PerformanceCounter::heading): New method.
	(Gonzui::PerformanceCounter::summary): Print times.
	(Gonzui::PerformanceCounter::rest_summary): Renamed from `other'.
	(Gonzui::PerformanceMonitor::heading): New method.
	(Gonzui::PerformanceMonitor::format): Updated.
	* gonzui/indexer.rb (Gonzui::Indexer::statistics): Add headings.

2005-01-27  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/monitor.rb (Gonzui::PerformanceMonitor): New class
	variable @@performance_counters in place of the old instance
	variable @performance_counters.
	(Gonzui::PerformanceMonitor::[]): Defined as class method.
	(Gonzui::PerformanceMonitor::build_label): New method.
	(Gonzui::PerformanceMonitor::monitor): Removed.
	(Gonzui::PerformanceMonitor::profile): New method.
	(Gonzui::PerformanceMonitor::format): Updated to reflect changes.
	(Gonzui::PerformanceCounter::summary): Ditto.
	(Gonzui::PerformanceCounter::other): Ditto.
	* gonzui/indexer.rb (Gonzui::Indexer::monitor): Removed.
	(Gonzui::Indexer::statistics): Updated to reflect monitor changes.
	(Gonzui::Indexer::initialize): Init profiler.
	(Gonzui::Indexer::read_file): Don't use monitor.
	(Gonzui::Indexer::add_fragment): Ditto.
	(Gonzui::Indexer::get_fragments): Ditto.
	(Gonzui::Indexer::add_source): Extracted from add_source_if_necessary.
	(Gonzui::Indexer::add_source_if_necessary): Don't use monitor.
	(Gonzui::Indexer::add_word): Ditto.
	(Gonzui::Indexer::index): Ditto.

2005-01-26  Satoru Takabayashi  <satoru@namazu.org>

	* langscan/text.rb: New file.
	* langscan/Makefile.am (rubylib_DATA): Add it.

	* gonzui/webapp/searcher.rb (Gonzui::PhraseFinder::each): Fix the
	bug. Phrases like "foo foo bar" cannot be found before.

	* gonzui/textsplitter.rb (Gonzui::TextSplitter::each): Modifiet
	the regular expression.

	* langscan/text.rb: New file.

2005-01-24  Tanaka Akira  <akr@m17n.org>

	* langscan/python.rb: Adapt to simplified Fragment definition.

2005-01-24  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/textsplitter.rb (Gonzui::TextSplitter::single_word?): New
	method. 
	* gonzui/webapp/searcher.rb (Gonzui::SearchQuery::single_word?):
	Use it.
	(Gonzui::SearchQuery::decompose): Removed.
	(Gonzui::SearchQuery::add_item_for_phrase): Use TextSplitter.
	(Gonzui::SearchQuery::less_than_max_words?): Removed.

	* gonzui/webapp/searcher.rb (Gonzui::Searcher::break_needed?):
	Simplified.
	(Gonzui::Searcher::get_result_item): Adopt the change.
	(Gonzui::Searcher::search_with_package_internal): Ditto.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_emphasized_line): Support occurrences
	that extends across a line.

	* gonzui/webapp/markup.rb
	(Gonzui::TextBeautifier::highlight_text): New method.
	(Gonzui::TextBeautifier::highlight_if_necessary): Use it.
	* gonzui/webapp/searcher.rb (Gonzui::QueryItem): Add the third
	parameter: phrase_p.
	(Gonzui::QueryItem::phrase?): Adopt the change.
	(Gonzui::SearchQuery::add_item_for_single_word): New method.
	(Gonzui::SearchQuery::add_item): Use it.
	(Gonzui::SearchQuery::parse_query_string): Adopt the changes.
	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiAbstractServlet::make_search_query): Adopt the change.

	* gonzui/webapp/searcher.rb (Gonzui::SearchQuery::words): Make it
	an attribute instead of a method.

	* langscan/_common.rb (LangScan::Fragment): Add aliases:
	lineno to beg_lineno, and byteno to beg_byteno.
	* gonzui/indexer.rb (Gonzui::Indexer::get_fragments): Adopt the
	changes. 
	(Gonzui::Indexer::add_fragment, Gonzui::Indexer::add_text): Ditto.

	* gonzui/type.rb (Gonzui::Type::splittable?): New method.
	* gonzui/indexer.rb
	(Gonzui::Indexer::update_func_freq_if_necessary): New method.
	(Gonzui::Indexer::add_fragment): Use them.

	* gonzui/indexer.rb (Gonzui::Indexer::read_file): Initialize
	@content and @nlines in the method.
	(Gonzui::Indexer::index): Simplified.

2005-01-24  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/indexer.rb (Gonzui::Indexer::initialize): Don't call
	read_file.
	(Gonzui::Indexer::index): Call read_file within the monitor.

2005-01-24  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/monitor.rb (Gonzui::PerformanceMonitor::monitor): Ensure
	calling counter.leave.

2005-01-23  Tanaka Akira  <akr@m17n.org>

	* langscan/_common.rb (LangScan::Fragment):
	  Remove useless fields: beg_columnno, end_lineno and end_columnno.

	* langscan/_common.rb (LangScan::Fragment#end_byteno):
	  change field to method.

	* langscan/c.rb, langscan/java.rb, langscan/ruby.rb: adapt to
	  simplified Fragment definition.

2005-01-23  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/type.rb (Gonzui::FileInfo::load): New method.
	(Gonzui::DigestInfo::load): Ditto.
	(Gonzui::WordInfo::load): Ditto.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::collect_all_results): Adopt
	the changes.
	(Gonzui::AbstractDBM::find_word_info): Ditto.
	(Gonzui::AbstractDBM::get_all_word_info): Ditto.
	(Gonzui::AbstractDBM::get_file_info): Ditto.
	(Gonzui::AbstractDBM::get_digest): Ditto.
	* tests/autopack.rb (AutopackTest::test_autopack): Ditto.

2005-01-22  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/autopack.rb (Gonzui::AutoPack::StringAndNumbers): Removed.
	(Gonzui::AutoPack::NumberAndNumbers): Removed.
	(Gonzui::AutoPack::NumbersAndNumbers): Removed.
	(Gonzui::AutoPack::NumbersAndString): New method.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::initialize): Use module
	AutoPack::*AndString instead of AutoPack::*AndNumbers.
	* gonzui/type.rb (Gonzui::WordInfo::initialize): New method.
	(Gonzui::WordInfo::dump): New method.
	(Gonzui::WordInfo::values): Removed.
	(Gonzui::DigestInfo::initialize): New method.
	(Gonzui::DigestInfo::dump): New method.
	(Gonzui::DigestInfo::values): Removed.
	(Gonzui::FileInfo::initialize): New method.
	(Gonzui::FileInfo::dump): New method.
	(Gonzui::FileInfo::values): Removed.
	* gonzui/indexer.rb (Gonzui::Indexer::add_file): Call
	Gonzui::FileInfo::dump instead of Gonzui::FileInfo::values.
	(Gonzui::Indexer::add_fragment): Call Gonzui::DigestInfo::dump
	instead of Gonzui::DigestInfo::values.
	(Gonzui::Indexer::add_word):  Call Gonzui::WordInfo::dump instead
	of Gonzui::WordInfo::values.
	* gonzui/dbm.rb (Gonzui::AbstractDBM::collect_all_results): Build
	objects from dumps.
	(Gonzui::AbstractDBM::find_word_info): Ditto.
	(Gonzui::AbstractDBM::get_all_word_info): Ditto.
	(Gonzui::AbstractDBM::get_file_info): Ditto.
	(Gonzui::AbstractDBM::get_digest): Ditto.

2005-01-22  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/monitor.rb (Gonzui::PerformanceMonitor::format): Compute
	subtotal correctly.

2005-01-21  Satoru Takabayashi  <satoru@namazu.org>

	* langscan.rb (LangScan::support?): New method.
	* gonzui/indexer.rb (Gonzui::Indexer::normalize_content):
	Use it.
	(Gonzui::Indexer::add_path): New method.

	* gonzui/bdbdbm.rb (Gonzui::BDBExtension::each_by_prefix): Use
	unpack_value. 
	(Gonzui::BDBDBM::find_all_by_prefix): Adopt the change.

	* tests/util.rb (UtilTest::test_string_methods): Enriched.

	* gonzui/deindexer.rb: New file.

	* gonzui/importer.rb: Use it.
	* tests/deindexer.rb: New file.

	* gonzui/monitor.rb: New file.
	* gonzui/indexer.rb (Gonzui::Indexer): Use it.
	* tests/monitor.rb: New file.

	* gonzui/indexer.rb (Gonzui::Indexer::get_package_name): New method.
	(Gonzui::PerformanceMonitor): New class.
	(Gonzui::Indexer): Use it.

	* gonzui/package.rb (Gonzui::Package::each): Renamed from
	each_relative_path and modified.

2005-01-20  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/indexer.rb (Gonzui::Indexer::add_file_info): Removed.
	(Gonzui::PerformanceCounter::do): New method.

	* gonzui/package.rb (Gonzui::Package::each_relative_path): Renamed
	from each_source. 

	* gonzui/indexer.rb (Gonzui::Indexer::init_performance_counters):
	New method.

	* gonzui/util.rb (NullObject): Moved from importer.rb.

	* gonzui/textsplitter.rb: New file.
	* tests/bdbdbm.rb: New file.
	* gonzui/bdbdbm.rb: New file.

	* gonzui/indexer.rb: New file.
	(Gonzui::Indexer): New class.
	(Gonzui::TextSplitter): Ditto.
	(Gonzui::FrequencyCounter): Moved from dbm.rb.
	(Gonzui::PerformanceCounter): Ditto.
	* tests/indexer.rb: New file.
	* gonzui/dbm.rb (Gonzui::DBM::open_freq_db): New method.
	(Gonzui::DBM::add_package): Removed.
	(Gonzui::DBM::get_last_path_id): Removed.
	(Gonzui::DBM::remove_words_of_source, Gonzui::DBM::remove_digest) 
	(Gonzui::DBM::remove_path, Gonzui::DBM::remove_language) 
	(Gonzui::DBM::remove_source, Gonzui::DBM::source_file?) 
	(Gonzui::DBM::remove_file): Moved to Indexer.
	(Gonzui::DBM::normalize_content): Ditto.
	(Gonzui::DBM::make_funcfreq): Ditto.
	(Gonzui::DBM::add_file, Gonzui::DBM::add_file_info) 
	(Gonzui::DBM::add_text, Gonzui::DBM::add_fragment) 
	(Gonzui::DBM::add_language, Gonzui::DBM::add_path) 
	(Gonzui::DBM::add_source, Gonzui::DBM::add_word) 
	(Gonzui::DBM::calc_nlines, Gonzui::DBM::convert_to_utf8): Ditto.
	(Gonzui::DBM::increase_counter, Gonzui::DBM::make_new_id) 
	(Gonzui::DBM::make_new_package_id, Gonzui::DBM::make_new_lang_id) 
	(Gonzui::DBM::make_new_path_id, Gonzui::DBM::make_new_word_id) 
	(Gonzui::DBM::make_nsources_key): Ditto.
	(Gonzui::DBM::remove_package): Ditto.
	(Gonzui::AbstractDBM): New class.

	* tests/webapp-markup.rb: Adopt the changes.
	* tests/dbm.rb: Ditto.

2005-01-19  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/type.rb (Gonzui::DigestInfo): Remove a field: @word_id.

	* gonzui/dbm.rb (Gonzui::DBM::add_word, Gonzui::DBM::add_source) 
	(Gonzui::DBM::add_fragment): Manage PerformanceCounter in the
	method.

	* gonzui/webapp/markup.rb (Gonzui::TextBeautifier): Renamed from
	CodeBeautifier.

	* gonzui: Replace all "symbol" identifiers with "word" ones.

	* gonzui/webapp/stat.rb
	(Gonzui::StatisticsServlet::make_function_popularity_table): Use
	lang_abbrev for the search query.

	* gonzui/config.rb (Gonzui::Config::max_results_overall): New method.
	* gonzui/webapp/searcher.rb
	(Gonzui::Searcher::initialize): New field: @at_most_nresults.
	(Gonzui::Searcher::search_with_package_internal): Use it.
	(Gonzui::Searcher::search_without_scope): Ditto.

	* gonzui/webapp/url.rb (Gonzui::URLMaker::make_search_url): Use a
	hash for a parameter.
	* gonzui/webapp/search.rb (Gonzui::SearchServlet::do_make_navi):
	Adopt the change.
	(Gonzui::SearchServlet::make_expansion_link): Fix a URL creation bug.

	* gonzui/config.rb (Gonzui::Config::initialize): New field:
	@default_server_config. 

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiAbstractServlet::parse_request): New fied:
	@nresults_per_page. 

	* gonzui/webapp/markup.rb (Gonzui::CodeBeautifier::initialize):
	New field: @config.

	* gonzui/webapp/searcher.rb (Gonzui::SearchQuery::initialize):
	Support the max number of words.
	(Gonzui::SearchQuery::add_item): Ditto.
	(Gonzui::SearchQuery::add_item_for_phrase): New method.
	(Gonzui::SearchQuery::parse_query_string): Use it.

	* gonzui/config.rb (Gonzui::Config::initialize): New field:
	@max_words.

2005-01-18  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/type.rb (Gonzui::Type::TypeInfo::initialize): Add
	:comment as a type.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_result_navi): New method.

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiAbstractServlet::init_servlet): New field: request
	and response.
	* gonzui/webapp/*.rb: Adopt the change.

	* gonzui/webapp/searcher.rb (Gonzui::SearchQuery::package_only?):
	New method.
	(Gonzui::SearchQuery::path_only?): Ditto.
	(Gonzui::Searcher::validate_search_query): Removed.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::redirect_to_url): New method.
	(Gonzui::SearchServlet::redirect_if_neccessary): Ditto.

	* gonzui/webapp/searcher.rb (Gonzui::SearchQuery::empty?): Change
	the condition.

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiAbstractServlet::make_search_query): Handle phrase_query.

	* gonzui/webapp/advsearch.rb
	(Gonzui::AdvancedSearchServlet::make_target_specific_search_form):
	Add "Phrase" input.

	* gonzui/webapp/url.rb (Gonzui::URLMaker::make_lineno_url): New method.
	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_source_path_line): Use it.
	(Gonzui::SearchServlet::make_snippet): Ditto.
	(Gonzui::SearchServlet::make_result_list_like_grep): Ditto.
	(Gonzui::SearchServlet::redirect_to_single_result): Ditto.

	* gonzui/webapp/searcher.rb (Gonzui::SearchQuery::validate): New
	method.
	(Gonzui::Searcher::validate_search_query): Use it.
	(Gonzui::Searcher::break_needed?): New method.
	(Gonzui::Searcher::get_result_item): Use it.
	(Gonzui::PhraseFinder::each): Simplified.
	(Gonzui::SearchQuery::words): New method.
	(Gonzui::Searcher::find_ids): Use it.
	(Gonzui::SearchQuery::keywords): New method.
	(Gonzui::SearchQuery::collect): Ditto.
	(Gonzui::SearchQuery::phrases): Ditto.
	(Gonzui::SearchQuery::decompose): Moved from QueryItem.
	(Gonzui::SearchQuery::add_unknown_item): Removed.

	* gonzui/webapp/searcher.rb (Gonzui::SearchQuery::string): Simplified.
	(Gonzui::SearchQuery): make package, path, language attriburtes
	read-only.
	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_expansion_link): Adopt the change.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_emphasized_line): Reimplemented.
	(Gonzui::SearchServlet::make_snippet_kwic_single): Adopt the change.
	(Gonzui::SearchServlet::make_snippet_kwic_multi): Ditto.
	(Gonzui::SearchServlet::collect_context_lines): Ditto.

2005-01-17  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/searcher.rb (Gonzui::PhraseCollector): New class.
	(Gonzui::Occurrence): New class.

	* gonzui/dbm.rb (Gonzui::DBM::get_all_symbol_info): New method.

	* gonzui/webapp/searcher.rb
	(Gonzui::SearchQuery::parse_query_string): Support duble-quoted string.
	(Gonzui::QueryItem): Renamed a field: prefix to property.
	(Gonzui::QueryItem::to_s): Handle phrases.
	(Gonzui::QueryItem::phrase?): New method.
	(Gonzui::QueryItem::decompose): New method.

	* gonzui/type.rb (Gonzui::SymbolInfo): New field: seqno.

	* gonzui/dbm.rb (Gonzui::DBM::add_source): Sort objects obtained
	with LangScan by byteno.
	(Gonzui::DBM::add_symbol): New parameter: seqno.
	(Gonzui::DBM::add_fragment): Ditto.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_snippet_kwic): Support multiple keywords.
	(Gonzui::SearchServlet::make_snippet_kwic_multi): New method.

	* gonzui/webapp/searcher.rb
	(Gonzui::ResultItem::has_more_in_package?): Renamed from
	has_more_package?.
	(Gonzui::ResultItem::has_more_in_path?): Ditto.
	(Gonzui::ResultItem::has_more_in_package): Ditto.
	(Gonzui::ResultItem::has_more_in_path): Ditto.
	(Gonzui::ResultItem::each): New method.

	* gonzui/webapp/search.rb (Gonzui::SearchServlet::do_GET): Fix the
	condition to show a result navigation.

	* gonzui/webapp/searcher.rb (Gonzui::Searcher::get_result_item):
	Renamed from find_info_list.
	(Gonzui::Searcher::search_with_package_internal): Use it.
	(Gonzui::ResultItem::length): New method.

	* Makefile.am (gonzuistatedir): Add $(DESTDIR). Suggested by 
	ARAKI Yasuhiro <yasu at debian.or.jp>

2005-01-14  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/searcher.rb
	(Gonzui::Searcher::filter_path_ids_by_language): New method.
	(Gonzui::Searcher::find_path_ids): Ditto.
	(Gonzui::Searcher::find_ids): New method.
	(Gonzui::Searcher::match_language?): Removed.
	(Gonzui::Searcher::find_info_list): New method.
	(Gonzui::Searcher::search_without_scope): Use it.
	(Gonzui::Searcher::validate_search_query): Support multi-keyword
	search. 

	* gonzui/autopack.rb (Gonzui::AutoPack::NumbersAndNumber): New module.
	* gonzui/dbm.rb (Gonzui::DBM::initialize): New db:
	sympkgid_pathids and sympathid_occ.
	(Gonzui::DBM::initialize): Remove db: sympkgid_occ.
	(Gonzui::DBM::add_symbol): Adopt the changes.
	(Gonzui::DBM::collect_all_results): Ditto.
	(Gonzui::DBM::remove_occurrence): Ditto.
	(Gonzui::DBM::has_occurrences?): Ditto.
	(Gonzui::DBM::find_symbol_info): Ditto.
	(Gonzui::DBM::remove_occurrence): Removed.
	(Gonzui::DBM::get_path_ids_from_sympkgid): New method.

	* gonzui/webapp/searcher.rb
	(Gonzui::Searcher::filter_package_ids_by_langage): New method.
	(Gonzui::Searcher::find_package_ids): Use it.

	* gonzui/dbm.rb (Gonzui::DBM::has_symbol_id_in_path_id): New method.

	* gonzui/webapp/searcher.rb (Gonzui::ResultItem): New class.
	(Gonzui::Searcher::search_without_scope): Use it.
	(Gonzui::Searcher::search_with_package_internal): Ditto.
	(Gonzui::Searcher::search_with_path_internal): Ditto.
	(Gonzui::HasMorePackage): Removed.
	(Gonzui::HasMorePath): Ditto.
	(Gonzui::HasNoMore): Ditto.
	* gonzui/webapp/search.rb (Gonzui::SearchServlet::make_snippet):
	Adopt the changes.
	(Gonzui::SearchServlet::make_expansion_link): Ditto.
	(Gonzui::SearchServlet::make_source_path_line): Ditto.
	(Gonzui::SearchServlet::make_snippet_kwic): Ditto.
	(Gonzui::SearchServlet::make_result_list_like_grep): Ditto.
	(Gonzui::SearchServlet::collect_context_lines): Ditto.


	* gonzui/webapp/servlet.rb (Gonzui::HTMLMaker::make_navi): Fix a
	bug.

	* gonzui/webapp/search.rb (Gonzui::SearchServlet::do_GET): Use
	make_script. 

	* gonzui/dbm.rb (Gonzui::DBM::initialize): New db: pkgid_langids.
	(Gonzui::DBM::add_language): Use it.
	(Gonzui::DBM::remove_package): Ditto.
	(Gonzui::DBM::add_package): Use protect_from_signals to make it safer.
	(Gonzui::DBM::remove_package): Ditto.
	(Gonzui::DBM::get_lang_ids_from_package_id): New method.
	* gonzui/webapp/searcher.rb (Gonzui::Searcher::find_package_ids):
	Use it.

	* gonzui-import (GonzuiImport::do_start): Do nothing when rescuing
	Interrupt.

2005-01-13  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/util.rb (Gonzui::Util::format_bytes): New method.
	* gonzui/webapp/markup.rb
	(Gonzui::MarkupServlet::make_title_for_path): Use it.

	* doc/gonzui.js (passQuery): New function.
	* gonzui/webapp/servlet.rb (Gonzui::HTMLMaker::make_search_form):
	Use it.

	* gonzui/webapp/url.rb
	(Gonzui::URLMaker::make_advanced_search_url): Simplified. 

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiAbstractServlet::make_search_query): New method.
	(Gonzui::HTMLMaker::make_language_select): New method.

	* gonzui/gettext.rb
	(Gonzui::CatalogValidator::read_file_with_numbering): Support N_.
	(Gonzui::CatalogValidator::collect_messages): Ditto.
	(Gonzui::GetText::gettext_noop): New method.

	* gonzui/type.rb (Gonzui::SymbolInfo::function?): Removed.
	(Gonzui::Type::function?): New method.
	(Gonzui::SymbolTypeMixin::function?): Use it.
	(Gonzui::Type::to_id): Ditto.
	(Gonzui::SymbolTypeMixin::type): Use it.
	(Gonzui::SymbolTypeMixin::searchable?): Removed.
	(Gonzui::SymbolInfo::to_id): Removed.
	(Gonzui::SymbolTypeMixin::function?): Removed.
	(Gonzui::Type::each_group): New method.

	* gonzui-import (GonzuiImport::do_start): Modify an excepting
	handling.

	* gonzui/type.rb (Gonzui::SymbolTypeMixin::misc?): Removed.
	(Gonzui::DigestInfo): Simplified.

2005-01-12  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/type.rb (Gonzui::DigestInfo::include?): Renamed from
	includable?
	(Gonzui::Group): New class.
	(Gonzui::Type): New class.

	* gonzui/webapp/advsearch.rb
	(Gonzui::AdvancedSearchServlet::make_advanced_search_form): New method.
	(Gonzui::AdvancedSearchServlet::make_type_specific_search_form): Ditto.

	* gonzui/dbm.rb (Gonzui::BDBExtension::tail): Fix a condition position.

	* gonzui/webapp/advsearch.rb
	(Gonzui::AdvancedSearchServlet::do_make_status_line): New method.

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiAbstractServlet::parse_request): New field:
	display_language. 

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiAbstractServlet::parse_request): Be private.
	(Gonzui::GonzuiAbstractServlet::init_catalog): Ditto.
	(Gonzui::GonzuiAbstractServlet::init_servlet): New method.
	* gonzui/webapp/top.rb (Gonzui::TopPageServlet::do_GET): Use it.
	* gonzui/webapp/stat.rb (Gonzui::StatisticsServlet::do_GET): Ditto.
	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::do_GET): Ditto.
	* gonzui/webapp/search.rb (Gonzui::SearchServlet::do_GET): Ditto.
	* gonzui/webapp/source.rb (Gonzui::SourceServlet::do_GET): Ditto.
	* gonzui/webapp/jsfeed.rb (Gonzui::JSFeedServlet::do_GET): Ditto.

	* gonzui/webapp/searcher.rb
	(Gonzui::Searcher::search_with_package_internal): Fix a if
	condition.

2005-01-11  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/url.rb (Gonzui::URLMaker::decompose_search_query):
	Handle programming_language.

	* gonzui/webapp/searcher.rb (Gonzui::SearchQuery::initialize):
	Renamed the field from language to programming_language.

	* gonzui/webapp/advsearch.rb: New file.
	* gonzui/webapp/Makefile.am (rubylib_files): Adopt the change.
	* gonzui/webapp.rb: Ditto.

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiAbstractServlet::make_navi): Renamed from
	make_navi_internal. 
	(Gonzui::HTMLMaker): New class.
	(Gonzui::GonzuiAbstractServlet): Use it.

	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::do_make_navi):
	Adopt the change.
	(Gonzui::MarkupServlet::list_packages): Ditto.
	* gonzui/webapp/search.rb (Gonzui::SearchServlet::do_make_navi):
	Ditto.
	(Gonzui::SearchServlet::do_GET): Ditto.

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiAbstractServlet::make_path): Simplified. 
	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::choose_method):
	Adopt the change.
	* gonzui/webapp/stat.rb (Gonzui::StatisticsServlet::do_GET): Ditto.

	* gonzui/webapp/url.rb: New file.
	* gonzui/webapp/Makefile.am (rubylib_files): Adopt the change.
	* gonzui/webapp.rb: Ditto.

	* gonzui/webapp/servlet.rb
	(Gonzui::URLMaker::make_url_with_options): Renamed from make_url.
	(Gonzui::URLMaker::make_url_general): New method.
	(Gonzui::URLMaker::make_source_url): Use it.
	(Gonzui::URLMaker::make_stat_url): Use it.
	* gonzui/webapp/stat.rb
	(Gonzui::StatisticsServlet::make_function_popularity_page): Use it.
	(Gonzui::StatisticsServlet::make_language_table): Ditto.

	* configure.ac: Bumped version number to 0.3.

	* gonzui/webapp/searcher.rb: Renamed from _searcher.rb.
	* gonzui/webapp/webrick.rb: Renamed from _webrick.rb.
	* gonzui/webapp/servlet.rb: Renamed from _servlet.rb.
	* gonzui/webapp/Makefile.am (rubylib_files): Adopt the changes.
	* gonzui/webapp.rb: Ditto.

	* langscan.rb (LangScan::load_plugins): Moved from gonzui/plugin.rb.
	* gonzui/plugin.rb: Removed.

	* gonzui/webapp/_servlet.rb (Gonzui::GonzuiServlet): Moved from
	webapp.rb.

	* gonzui/webapp/_servlet.rb (Gonzui::URLMaker::make_source_url):
	Moved from markup.rb.
	(Gonzui::URLMaker::make_stat_url): New method.
	(Gonzui::URLMaker::make_source_url): Use #mount_point.
	(Gonzui::URLMaker::make_stat_url): Ditto.
	(Gonzui::URLMaker::make_search_url): Ditto.
	(Gonzui::URLMaker::make_doc_url): New method.
	(Gonzui::GonzuiAbstractServlet::make_css): Use it.
	(Gonzui::GonzuiAbstractServlet::make_script): Use it.

	* gonzui/webapp/top.rb (Gonzui::TopPageServlet::validate_request):
	Ditto. 
	* gonzui/webapp/markup.rb
	(Gonzui::MarkupServlet::make_table_of_files): Ditto. 

	* langscan.rb (LangScan::register): Simplified.
	* langscan/c.rb (LangScan::extnames): New method.
	* langscan/java.rb (LangScan::Java::extnames): Ditto.
	* langscan/ruby.rb (LangScan::Ruby::extnames): Ditto.
	* langscan/python.rb (LangScan::Python::extnames): Ditto.

	* gonzui/webapp.rb (Gonzui::GonzuiServlet::register): Simplified.
	* gonzui/webapp/search.rb (Gonzui::SearchServlet::mount_point):
	New method.
	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::mount_point): Ditto.
	* gonzui/webapp/source.rb (Gonzui::SourceServlet::mount_point): Ditto.
	* gonzui/webapp/jsfeed.rb (Gonzui::JSFeedServlet::mount_point): Ditto.
	* gonzui/webapp/top.rb (Gonzui::TopPageServlet::mount_point): Ditto.
	* gonzui/webapp/filehandler.rb (Gonzui::FileHandler::mount_point):
	Ditto.
	* gonzui/webapp/stat.rb (Gonzui::StatisticsServlet::mount_point):
	Ditto.

	* gonzui/webapp/_servlet.rb
	(Gonzui::URLMaker::make_advanced_search_url): New method.
	(Gonzui::GonzuiAbstractServlet::make_search_form): Use it.

	* gonzui/webapp/_searcher.rb (Gonzui::QueryItem): New class.
	(Gonzui::SearchResult::single_path?): New method.
	(Gonzui::SearchQuery::initialize): New field: language.
	(Gonzui::Searcher::initialize): New field: target_language_id.
	(Gonzui::Searcher::match_language?): New method.
	(Gonzui::Searcher::match_target?): Use it.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_result_content): Use it.

	* gonzui/webapp/_searcher.rb (Gonzui::SearchQuery::initialize):
	Remove the second parameter: target_type.
	(Gonzui::Searcher::match_target?): Adopt the change.
	(Gonzui::QueryItem): New class.
	(Gonzui::SearchQuery::initialize): Use it.
	* gonzui/webapp/_servlet.rb
	(Gonzui::GonzuiAbstractServlet::parse_request): Adopt the changes.
	(Gonzui::URLMaker): Ditto.
	(Gonzui::GonzuiAbstractServlet::make_search_form): Ditto.
	(Gonzui::URLMaker::decompose_search_query): Ditto.
	* gonzui/webapp/markup.rb (Gonzui::CodeBeautifier::markup_part):
	Ditto. 
	* gonzui/webapp/stat.rb
	(Gonzui::StatisticsServlet::make_function_popularity_table):
	Ditto. 

	* gonzui/importer.rb (Gonzui::Importer::make_progress_bar): Restored.
	(Gonzui::Importer::add_package): Use it.
	(Gonzui::Importer::finish): Use it.

	* gonzui/progressbar.rb: New file.
	* gonzui/Makefile.am (rubylib_files): Add it.

	* gonzui/dbm.rb (Gonzui::DBM::verify_freq_integrity): Use
	open_all_funcfreq_dbs.

2005-01-09  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/dbm.rb (Gonzui::PerformanceCounter): New class.
	(Gonzui::DBM::initialize): New variable @verbose and @pc_*.
	Measure performance information at various spots.
	(Gonzui::DBM::import_statistics): New method.

	* gonzui/config.rb (Gonzui::Config::initialize): New variable @verbose.
	* gonzui/cmdapp/app.rb: Set config option 'verbose' to true if
	option -v or --verbose is given.
	* gonzui/importer.rb (Gonzui::Importer::summary): Print
	performance statistics when --verbose is given.

2005-01-07  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/util.rb (Kernel::once): Removed.
	(Gonzui::Util::protect_from_signals): Moved from dbm.rb.

	* gonzui/importer.rb (Gonzui::NullObject): Removed.
	(Gonzui::Importer::make_progress_bar): Removed.
	(Gonzui::Importer::finish): Use ReversedProgressBar.

	* gonzui/dbm.rb (Gonzui::DBM::protect_from_signals): New method.
	(Gonzui::DBM::add_package): Use it.
	(Gonzui::DBM::remove_package): Ditto.

2005-01-06  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui-server: Fix --daemon bug by applying a patch by 
	Kenichi Ishibashi <bashi at dream.ie.ariake-nct.ac.jp>.
	Require fileutils.rb and fix field names of the config object.

2005-01-06  Keisuke Nishida  <knishida@open-cobol.org>

	* doc/gonzui.js (lineCache): New variable that is used in place of
	classCache for line caches.
	(classCache): Removed.

2004-12-30  Tanaka Akira  <akr@m17n.org>

	* langscan/python.rb: New file.

2004-12-29  Satoru Takabayashi  <satoru@namazu.org>

 	* gonzui: Version 0.2 released.

	* NEWS: Updated.

	* gonzui/webapp/Makefile.am (rubyarchlibdir): Fixed.

	* langscan/ruby/test/Makefile.am (EXTRA_DIST): NEw file.
	* langscan/ruby/Makefile.am: New file.

	* langscan/Makefile.am (SUBDIRS): Add ruby.
	(rubylib_DATA): Add ruby.rb.

	* langscan/c/test/Makefile.am (EXTRA_DIST): Add test-scan.rb.

	* gonzui/type.rb (Gonzui::SymbolTypeMixin::misc?): Renamed from
	others?.
	(Gonzui::SymbolTypeMixin): Arrange constants.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_not_found_message): Renamed from
	make_not_found.
	(Gonzui::SearchServlet::make_query_error_message): New method.
	(Gonzui::SearchServlet::do_GET): Use it.

2004-12-28  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/type.rb (Gonzui::SymbolTypeMixin): Add :classdef and
	:moduledef.

	* gonzui/webapp/markup.rb (Gonzui::CodeBeautifier::markup_part):
	Use :id instead of :class for highlight functions. 
	* doc/gonzui.js (initCache): Adopt the change.

2004-12-28  Tanaka Akira  <akr@m17n.org>

	* langscan/ruby.rb (LangScan::Ruby.scan): Detect class and module
	  definition.

2004-12-28  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui-import (GonzuiImport::lower_priority): New method.
	(GonzuiImport::do_start): Use it.

	* gonzui/type.rb (Gonzui::SymbolInfo::function?): New method.
	(Gonzui::SymbolInfo::searchable?): New method.
	* gonzui/dbm.rb (Gonzui::DBM::add_fragment): Use them.
	(Gonzui::DBM::add_function): Removed.

2004-12-28  Tanaka Akira  <akr@m17n.org>

	* langscan/_common.rb, langscan/c.rb, langscan/java.rb,
	  langscan/ruby.rb: LangScan::FunDef, LangScan::FunCall, etc.
	  are removed.  They are represented by LangScan::Fragment with
	  type field is :fundef, :funcall, etc. instead.

2004-12-28  Satoru Takabayashi  <satoru@namazu.org>

	* Makefile.am (gettext): New rule.

	* gonzui/gettext.rb (Gonzui::GetText::load_catalog): Moved from
	CatalogRepository.
	(main): Refined.

	* gonzui/webapp/markup.rb
	(Gonzui::MarkupServlet::make_title_for_path): New method.
	(Gonzui::MarkupServlet::make_table_of_files): Use it.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_emphasized_line): New method.
	(Gonzui::SearchServlet::make_snippet_kwic): Use it.
	(Gonzui::SearchServlet::make_separator): New method.
	(Gonzui::SearchServlet::make_result_list_like_grep): Use it.
	(Gonzui::SearchServlet::collect_context_lines): New method.
	(Gonzui::SearchServlet::make_result_list_like_grep): Use it.

2004-12-27  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_result_list_like_grep): New method.
	(Gonzui::SearchServlet::make_result_content): Use it.

2004-12-27  Tanaka Akira  <akr@m17n.org>

	* langscan/ruby.rb (LangScan::Ruby::Parser): Detect method definitions
	  and callsites.

	* langscan/ruby.rb: Register LangScan::Ruby.

2004-12-27  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/_searcher.rb
	(Gonzui::Searcher::search_with_package_internal): New method.
	(Gonzui::Searcher::search_without_scope): Use it.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_package_name_line): New method.
	(Gonzui::SearchServlet::make_result_content): Renamed from
	make_result_html. 

	* gonzui/webapp/_searcher.rb (Gonzui::SearchResult::single?):
	New method.
	(Gonzui::SearchResult::unabridged?): Removed.

	* tests/webapp-xmlformatter.rb: Renamed from webapp-util.rb

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_snippet_kwic): Renamed from
	make_summary_kwic.
	(Gonzui::SearchServlet::make_snippet_simple): Ditto.
	(Gonzui::SearchServlet::make_snippet): Ditto.
	(Gonzui::SearchServlet::make_result_list_by_snippet): Renamed from
	make_result_list.
	(Gonzui::SearchServlet::make_snippet_simple): Removed.

	* gonzui/gettext.rb (Gonzui::CatalogRepository): New class.
	* gonzui-server (GonzuiServer::do_start): Use it.
	* gonzui/webapp/_servlet.rb
	(Gonzui::GonzuiAbstractServlet::init_catalog): Adopt the change.

	* gonzui/webapp/xmlformatter.c: Add a copyright notice.

	* langscan/ruby.rb: Add a guard for the ruby older than 1.9.0.

	* gonzui/webapp/_webrick.rb: Renamed from util.rb.
	* gonzui/webapp/_servlet.rb: Renamed from servlet.rb.
	* gonzui/webapp/_searcher.rb: Renamed from searcher.rb.
	* gonzui/webapp/filehandler.rb: New file.
	* gonzui/webapp/servlet.rb (Gonzui::GonzuiAbstractServlet):
	Renamed from GonzuiServlet.

	* gonzui/plugin.rb: New file.
	* gonzui/webapp.rb: Use it.
	(Gonzui::GonzuiServlet::register): New method.
	(Gonzui::GonzuiServlet::load): Ditto.
	* langscan.rb: Ditto.
	(LangScan::validate_module): New method.
	(LangScan::register): Use it.

2004-12-27  Tanaka Akira  <akr@m17n.org>

	* langscan/ruby.rb: New file.

2004-12-24  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui-server (GonzuiServer::start_server): New method.
	(GonzuiServer::do_start): Use it.

	* gonzui/config.rb (Gonzui::Config::initialize): New fields:
	max_results_per_page and max_pages.
	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::do_make_status_line): Use it.
	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiServlet::make_navi_internal): Adopt the changes. 

	* gonzui/dbm.rb (Gonzui::DBM::find_symbol_info): Don't pass "prev"
	to the given block any longer.
	* gonzui/webapp/searcher.rb (Gonzui::Searcher::search_with_path):
	Adopt the change.
	(Gonzui::Searcher::search_with_package): Ditto.
	(Gonzui::Searcher::search_without_scope): Ditto.

	* gonzui/webapp/searcher.rb (Gonzui::Searcher::initialize): Add a
	parameter: search_query. And new field: search_query.
	(Gonzui::Searcher::search): Adopt the changes.
	(Gonzui::Searcher::search_without_scope): Ditto.
	(Gonzui::Searcher::search_with_package): Ditto.
	(Gonzui::Searcher::search_with_path): Ditto.
	(Gonzui::Searcher::validate_search_query): Ditto.
	(Gonzui::Searcher::match_target?): New method.
	(Gonzui::Searcher::search_without_scope): Use it.
	(Gonzui::Searcher::search_with_package): Ditto.
	(Gonzui::Searcher::search_with_path): Ditto.

	* gonzui/webapp/search.rb (Gonzui::SearchServlet::do_GET): Ditto.

	* gonzui/webapp/stat.rb
	(Gonzui::StatisticsServlet::make_function_popularity_table): Use
	SearchQuery to make a URL.

2004-12-22  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/searcher.rb (Gonzui::HasMorePackage): Renamed from
	HasMorePackageMixin. 
	(Gonzui::HasMorePath): Renamed from HasMorePathMixin.
	(Gonzui::HasNoMore::has_more?): Renamed HasNoMoreMixin.

	* gonzui/dbm.rb (Gonzui::DBM::open_all_funcfreq_dbs): Be private.
	(Gonzui::DBM::collect_all_results): Ditto.
	(Gonzui::DBM): Arrange the order of methods alphabetically.
	(Gonzui::DBM::open_all_funcfreq_dbs): Simplified.
	(Gonzui::DBM::each_freq_db_name): New method.
	(Gonzui::DBM::open_all_funcfreq_dbs): Use it.
	(Gonzui::BDBExtension): Transformed from BDB::BTree.

	* gonzui/importer.rb (Gonzui::NullObject): Moved from dbm.rb.

	* gonzui/webapp/searcher.rb (Gonzui::SearchQuery::length): New method.
	(Gonzui::Searcher::find_symbol_id): New method.
	(Gonzui::Searcher::find_package_ids): Ditto.
	(Gonzui::Searcher::find_package_id): Ditto.
	(Gonzui::Searcher::search_with_path): Ditto.
	(Gonzui::Searcher::search_with_package): Ditto.
	(Gonzui::Searcher::search_without_scope): Ditto.
	(Gonzui::SearchQuery::last): New method.
	(Gonzui::HasMorePathMixin): New module.
	(Gonzui::Searcher::find_package_id_from_path_id): New method.
	(Gonzui::Searcher::find_path_id): New method.
	(Gonzui::SearchResult::merge): Removed.
	(Gonzui::SearchResult::merge_by_intersection): Removed.
	(Gonzui::QueryError): New class.
	(Gonzui::NotFoundError): New class.

	* gonzui/dbm.rb (Gonzui::DBM::get_first_symbol_info): Removed.
	(Gonzui::DBM::find_package_ids): Removed.
	(Gonzui::DBM::find_symbol_info): New method.
	(Gonzui::DBM::initialize): New db: pathid_pkgid.
	(Gonzui::DBM::get_package_id_from_path_id): New method.
	(Gonzui::DBM::add_file): Handle pathid_pkgid.
	(Gonzui::DBM::remove_file): Ditto.

	* gonzui/webapp/searcher.rb (Gonzui::Searcher::search): Use it.

	* tests/type.rb: Adopt the changes in type.rb.
	* tests/dbm.rb: Adopt the changes in dbm.rb.
	* tests/webapp-searcher.rb: Adopt the changes in searcher.rb.

	* gonzui/cmdapp/search.rb (Gonzui::CommandLineSearcher::finish):
	New method.
	(Gonzui::CommandLineSearcher::initialize): New field: dbm.
	(Gonzui::CommandLineSearcher::show_line): Adopt the changes.
	(Gonzui::CommandLineSearcher::show_context_lines): Ditto.
	* gonzui-search (GonzuiSearch::do_start): Use #finish.

2004-12-21  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/searcher.rb (Gonzui::SearchQuery::string): New method.
	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiServlet::make_search_form): Remove the first
	parameter: query.
	* gonzui/webapp/servlet.rb (Gonzui::URLMaker::make_google_url):
	simplified_string. 

	* gonzui/webapp/searcher.rb (Gonzui::HasMorePackageMixin): New module.
	(Gonzui::HasNoMoreMixin): Ditto.
	(Gonzui::SearchResult::shrinked?): Removed.
	(Gonzui::SearchResult::shrinked_by): Ditto.
	(Gonzui::SearchResult::initialize): New field: unabridged_p.
	(Gonzui::SearchResult::initialize): Remove a field: filter.
	(Gonzui::SearchResult::merge_by_filter): Removed.
	(Gonzui::SearchResult::merge): Adopt the change.
	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_result_list): Use #has_more?
	(Gonzui::SearchServlet::make_result_html): Use #unabridged?
	(Gonzui::SearchServlet::make_expansion_link): Use #grouped_by.
	(Gonzui::SearchServlet::make_search_query_string): Removed.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_summary_kwic): Add a parameter: symbol.
	(Gonzui::SearchServlet::make_summary): Adopt the change.

	* gonzui/type.rb (Gonzui::SymbolInfo): Rename the first field from
	symbol to symbol_id.
	(Gonzui::SymbolInfo::values): Include symbol_id and package_id too.
	* gonzui/dbm.rb (Gonzui::DBM::add_symbol) Change parameters.
	(Gonzui::DBM::add_function): Adopt the change.
	(Gonzui::DBM::add_fragment): Ditto.

	* gonzui/webapp/markup.rb
	(Gonzui::MarkupServlet::list_packages): Use each_package_name.
	(Gonzui::MarkupServlet::make_table_of_packages): Adopt the change.
	(Gonzui::SearchQuery::first): New method.

	* gonzui/dbm.rb (Gonzui::DBM::collect_all_results): Renamed from
	collect_results.
	(Gonzui::DBM::find_package_ids): New method.
	(Gonzui::DBM::each_package_name): Renamed from each_package.
	(Gonzui::DBM::get_package_ids): Reimplemented.

	* gonzui/webapp/servlet.rb
	(Gonzui::URLMaker::get_default_query_value): New method.
	(Gonzui::GonzuiServlet::get_query_value): New method.
	(Gonzui::GonzuiServlet::parse_request): Use it.
	(Gonzui::URLMaker::get_short_name): New method.
	(Gonzui::GonzuiServlet::make_search_form): Use it.

	* gonzui/webapp/searcher.rb (Gonzui::Searcher::search_symbol):
	Removed. 
	(Gonzui::Searcher::search_package): Ditto.
	(Gonzui::Searcher::search_path): Ditto.
	(QueryItem): Removed.
	(Gonzui::SearchQuery::get_key): Removed.

	* gonzui/webapp/servlet.rb
	(Gonzui::URLMaker::decompose_search_query): New method.
	(Gonzui::URLMaker::make_markup_url): Use it.
	(Gonzui::URLMaker::make_search_url): Ditto.

	* gonzui/webapp/searcher.rb (Gonzui::SearchQuery::initialize): Add
	a parameter: target_type.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::do_make_status_line): Adopt the recent
	changes in searcher.rb.

	* gonzui/webapp/searcher.rb
	(Gonzui::Searcher::choose_shrink_unit): Removed.
	(Gonzui::SearchResult::initialize): Remove fields: shrinked_by and
	shrinked_info. 
	(Gonzui::SearchResult::merge_by_filter): Removed.
	(Gonzui::SearchResult::shrinked_info?): Removed.
	(Gonzui::SearchQuery::initialize): Remove fields: package and source.
	(Gonzui::SearchQuery::simplified_string): New method.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_result_html): Renamed from
	make_search_result. 
	* gonzui/webapp/searcher.rb
	(Gonzui::Searcher::choose_shrink_unit): Moved from search.rb.

	* gonzui/webapp/searcher.rb (Gonzui::Searcher::search): Improve
	readability. 

2004-12-18  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_search_result): Fix a condition to
	call redirect_to_single_result.

	* configure.ac: Bumped version number to 0.2.

2004-12-17  Tanaka Akira  <akr@m17n.org>

	* langscan/c.rb (LangScan::C.scan): Reverted because it's slow.

	* langscan/c.rb (LangScan::C.scan): Re-implemented.

2004-12-15  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/searcher.rb (Gonzui::SearchResult::set_filter):
	Removed.
	(Gonzui::Searcher::search_path): Adopt the change.
	(Gonzui::Searcher::search_package): Ditto.
	(Gonzui::Searcher::search): Make the second parameter optional.

	* doc/folder.png: New file. Contributed by Keita Watanabe <kei at
	persistent.org>
	doc/text.png: Ditto.
	doc/Makefile.am (doc_DATA): Add them

	* tests/foo/bar.h: New file.
	* tests/foo/bar.c: New file.
	* tests/foo/Makefile.am (EXTRA_DIST): Add them.
	* tests/foo/Makefile.foo: Adopt the changes.

	* gonzui/webapp/searcher.rb
	(Gonzui::SearchResult::shrink_by_internal): New method.	
	(Gonzui::SearchResult::shrink_by): Use it.
	(Gonzui::SearchResult::shrink): Removed.
	* tests/webapp-searcher.rb (SearchResultTest): New test class for them.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::choose_shrink_method): New method.
	(Gonzui::SearchServlet::do_GET): Use it.

	* tests/test-util.rb (TestUtil::make_db): New method.
	* tests/cmdapp-search.rb (CommandLineSearcherTest::test_result):
	Use it. 

	* gonzui/webapp/searcher.rb
	(Gonzui::SearchQuery::include_symbol?): New method.
	* gonzui/webapp/markup.rb (Gonzui::CodeBeautifier::highlight_it?):
	Use it.

	* gonzui/webapp/query.rb: Removed.
	* gonzui/webapp/searcher.rb: New file.
	(Gonzui::SearchQuery): Moved from search.rb.
	(Gonzui::SearchResult): Ditto.
	* gonzui/webapp.rb: Adopt the changes.
	* gonzui/webapp/Makefile.am (rubylib_files): Add it.
	* tests/query.rb: Removed.
	* tests/webapp-searcher.rb: New file.
	* tests/Makefile.am (TESTS): Add it.

	* gonzui/webapp/servlet.rb (Gonzui::GonzuiServlet::parse_request):
	Remove an instance variable @query_string.
	* gonzui/webapp/search.rb (Gonzui::SearchServlet::make_not_found):
	Adopt the change.
	(Gonzui::SearchServlet::do_make_status_line): Ditto.
	(Gonzui::SearchServlet::make_summary): Ditto.
	(Gonzui::SearchServlet::make_navi): Ditto.
	(Gonzui::SearchServlet::redirect_to_single_result): Ditto.
	(Gonzui::SearchServlet::do_GET): Ditto.
	(Gonzui::SearchServlet::make_search_query_string): Renamed from
	make_query_string.

	* gonzui/webapp/markup.rb
	(Gonzui::MarkupServlet::make_breadcrumbs): Ditto. 
	(Gonzui::MarkupServlet::make_table_of_files): Ditto.
	(Gonzui::MarkupServlet::do_GET): Ditto.

	* gonzui/webapp/query.rb (Gonzui::SearchQuery): Renamed from
	QueryExpression.
	(Gonzui::SearchQuery::initialize): New field: string.
	* gonzui/webapp/servlet.rb (Gonzui::GonzuiServlet::parse_request):
	Adopt the change.
	* gonzui/webapp/markup.rb (Gonzui::CodeBeautifier::initialize):
	Ditto. 
	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::do_make_status_line): Ditto. 
	(Gonzui::SearchServlet::make_expansion_link): Ditto.
	(Gonzui::SearchServlet::do_GET): Ditto.
	(Gonzui::Searcher::search): Ditto.
	(Gonzui::SearchServlet::make_query_string): Ditto.

	* gonzui/webapp/search.rb (Gonzui::SearchResult::shrink): Ditto.

	* gonzui/dbm.rb (Gonzui::DBM::find_all): Renamed from search.
	(Gonzui::DBM::find_all_by_prefix): Renamed from prefix_search.
	(Gonzui::DBM::find_all_by_regex): Renamed from regex_search.
	* gonzui/cmdapp/search.rb
	(Gonzui::CommandLineSearcher::initialize): Adopt the changes.
	* gonzui/webapp/search.rb (Gonzui::Searcher::search_symbol): Ditto.

2004-12-14  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/markup.rb (Gonzui::CodeBeautifier::initialize):
	Modify the parameters. Take content and digest.
	(Gonzui::CodeBeautifier::beautify_simple): Adopt the changes.
	(Gonzui::CodeBeautifier::beautify_with_digest): Ditto.
	(Gonzui::CodeBeautifier::beautify): Ditto.
	(Gonzui::MarkupServlet::markup_source): Ditto.

	* doc/favicon.ico: New file.
	* doc/Makefile.am (doc_DATA): Add it.

	* gonzui/webapp/top.rb (Gonzui::TopPageServlet::validate_request):
	New method. Support /favicon.ico.
	(Gonzui::TopPageServlet::do_GET): Use it.

	* gonzui/util.rb (Gonzui::Util::AssertionFailed): Inherit
	StandardError instead of Exception.

	* gonzui/webapp/search.rb (Gonzui::SearchServlet::shrink_result):
	Removed.
	(Gonzui::SearchResult::merge_by_intersection): Be private.
	(Gonzui::SearchResult::merge_by_filter): Ditto.
	(Gonzui::SearchResult::shrink_by): Ditto.
	(Gonzui::SearchResult::shrink): New method.
	(Gonzui::SearchResult::shrink_by): Renamed from shrink_by!

	* gonzui/webapp/stat.rb
	(Gonzui::StatisticsServlet::make_top_page): Modify messages.
	(Gonzui::StatisticsServlet::make_function_popularity_page): Ditto.
	* gonzui/webapp/search.rb (Gonzui::SearchServlet::do_GET): Ditto.
	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::choose_method):
	Ditto. 

	* gonzui/webapp/search.rb (Gonzui::SearchResult::initialize):
	Change @@shirnked_info to @shrink_info. I don't know why it was a
	class variable instead of an instance one.

	* gonzui/webapp/stat.rb (Gonzui::StatisticsServlet::make_bar): New
	method. 
	(Gonzui::StatisticsServlet::make_function_popularity_table): Use it.
	(Gonzui::StatisticsServlet::make_tr): Add an additional argument:
	third. 
	(Gonzui::StatisticsServlet::make_language_table): Use make_bar.

	* AUTHORS: Update information.

	* tests/dbm.rb (DBMTest::test_dbm_operations): Remove a DB at the
	end of the test.
	* tests/importer.rb (ImporterTest::_test_import): Ditto.
	* tests/webapp-markup.rb (CodeBeautifierTest::test_beautify): Ditto.

	* tests/foo/foo.spec: New file.
	* tests/foo/Makefile.am (EXTRA_DIST): Add it.

	* gonzui/dbm.rb (Gonzui::DBM::add_source): Don't call
	normalize_content in the method any longer.
	(Gonzui::DBM::add_file): Call it here instead.

	* tests/foo/foo.c: Use tab characters for test purpose.
	* tests/cmdapp-search.rb (CommandLineSearcherTest::test_result):
	Adopt the changes.

2004-12-14  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/webapp/xmlformatter.c (xmlformatter_write_obj): Optimized
	for symbols.

2004-12-14  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/webapp/xmlformatter.c: New file, an implementation of
	XMLFormatter in C.
	* gonzui/webapp/util.rb: require 'gonzui/webapp/xmlformatter.so'.
	(XMLFormatter): Removed.
	* gonzui/webapp/Makefile.am: Build xmlformatter.so.

2004-12-13  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::DBM::add_source): Increase :nlines counter.
	(Gonzui::DBM::get_lang_id_from_path_id): Simplified.
	(Gonzui::DBM::nlines): New method.
	* gonzui/autopack.rb (Gonzui::AutoPack::AutoPack::each_key): New
	method. 

	* gonzui/dbm.rb (Gonzui::DBM::add_file_info): Renamed from
	add_source_stat. 
	(Gonzui::DBM::add_source): Import some codes from add_file.
	(Gonzui::DBM::remove_file): Renamed from remove_source.
	(Gonzui::DBM::remove_path): New method.
	(Gonzui::DBM::remove_file): Use it.
	(Gonzui::DBM::remove_source): New method.
	(Gonzui::DBM::remove_file): Use it.
	(Gonzui::DBM::source_file?): New method.
	(Gonzui::DBM::has_lang_id?): New method.
	(Gonzui::DBM::source_file?): Use it.
	(Gonzui::DBM::nsources): New method.
	(Gonzui::DBM::get_nsources_by_lang_id): New method.
	(Gonzui::DBM::make_nsources_key): New method.

	* gonzui: Rename src to path, srcid to pathid and source_id to
	path_id and source_path -> path. There are many changes in **/*.rb
	and gonzui-(*).

	* gonzui/type.rb (Gonzui::SourceInfo): New field: nlines.
	* gonzui/dbm.rb (Gonzui::DBM::calc_nlines): New method.
	(Gonzui::DBM::increase_counter): Take additional parameter: step.

	* gonzui/webapp/stat.rb
	(Gonzui::StatisticsServlet::make_overview_table): New method.
	(Gonzui::StatisticsServlet::choose_tr_class): New method.
	(Gonzui::StatisticsServlet::make_function_popularity_table): Use it.
	(Gonzui::StatisticsServlet::make_tr): New method.
	(Gonzui::StatisticsServlet::make_overview_table): Use it.

2004-12-11  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/webapp/markup.rb (Gonzui::CodeBeautifier::beautify_simple):
	Use `title' attribute instead of `content' because `content' is for
	the META tag.
	(Gonzui::CodeBeautifier::beautify_with_digest): Ditto.
	* doc/gonzui.js: Updated.

2004-12-11  Keisuke Nishida  <knishida@open-cobol.org>

	* doc/gonzui.js (isInternetExplorer): Removed.
	(initCache, setHighlight, grep, onLineNoClick): Use for ... in loop.

2004-12-10  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/stat.rb
	(Gonzui::StatisticsServlet::make_top_page): New method.
	(Gonzui::StatisticsServlet::do_GET): Use it.
	(Gonzui::StatisticsServlet::make_language_table): New method.
	(Gonzui::StatisticsServlet::make_top_page): Use it.
	* gonzui/dbm.rb (Gonzui::DBM::each_language): New method.
	(Gonzui::StatisticsServlet::make_language_table): Use it.

	* gonzui/webapp/top.rb (Gonzui::TopPageServlet::do_GET): Use
	HTTPStatus::NotFound instead of HTTPStatus::MovedPermanently.

	* gonzui/dbm.rb (Gonzui::DBM::get_lang_name): New method.

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiServlet::make_source_path): New method.
	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::do_GET): Use it.
	* gonzui/webapp/jsfeed.rb (Gonzui::JSFeedServlet::do_GET): Ditto.
	* gonzui/webapp/source.rb (Gonzui::SourceServlet::do_GET): Ditto.

	* gonzui/logger.rb (Gonzui::Logger::initialize): New field: monitor.
	(Gonzui::Logger::attach): Removed.
	* gonzui-server	(GonzuiServer::do_start): Adopt the changes.
	* tests/logger.rb (LoggerTest::test_monitor): Renamed from test_attach.

	* gonzui/logger.rb (Gonzui::Logger::attach): New method.
	* tests/logger.rb (LoggerTest::test_attach): Add a test for that.
	* gonzui/cmdapp/app.rb
	(Gonzui::CommandLineApplication::init_logger_with_stderr): New
	method and Use Logger#attach.
	* gonzui-server (GonzuiServer::do_start): Use it.
	* gonzui/importer.rb (Gonzui::Importer::initialize): New field:
	last_package.
	* gonzui/cmdapp/app.rb
	(Gonzui::CommandLineApplication::init_logger): New method.
	* gonzui-import (GonzuiImport::do_start): Use it.
	(GonzuiImport::import): Use it.
	* gonzui/cmdapp/app.rb
	(Gonzui::CommandLineApplication::init_logger): New method.
	* gonzui-import (GonzuiImport::do_start): Use it.
	(GonzuiImport::import): Use it.
	* gonzui-remove (GonzuiRemove::do_start): Use Ditto.

2004-12-10  Tanaka Akira  <akr@m17n.org>

	* langscan/c.rb (LangScan::C.scan): Forgot "," may appear on toplevel.

2004-12-10  Keisuke Nishida  <knishida@open-cobol.org>

	* gonzui/webapp/markup.rb (Gonzui::CodeBeautifier::beautify_simple):
	Add `content' attribute for each <span class="line">.
	(Gonzui::CodeBeautifier::beautify_with_digest): Ditto.
	* doc/gonzui.js (classCache): New variable.
	(spanCache, highlightCache, grepCache): Integrated into classCache.
	(initCache): Build classCache.
	(setHighlight, grep, onLineNoClick): Use classCache.

2004-12-09  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::DBM::remove_digest): Use make_func_freq
	only if the target source_id has a language_id.
	(Gonzui::FrequencyCounter::initialize): Rename parameter's name.
	(Gonzui::DBM::verify_freq_integrity): Reimplemented.
	(Gonzui::DBM::initialize): Rename a DB name: srcid_stat ->
	srcid_info.
	* gonzui/type.rb (Gonzui::SourceInfo): Renamed from SourceInfo.

2004-12-09  Tanaka Akira  <akr@m17n.org>

	* langscan/c.rb (LangScan::C.scan): Detect function definition in
	  extern "C" { ... }.

	* langscan/c.rb (LangScan::C.scan): Ignore defined(...) in
	  preprocessor conditional.

	* langscan/c.rb (LangScan::C.scan): Don't report a fragment which
	  is reported as a function.

	* langscan/c.rb (LangScan::C.scan): Detect function declarations such
	  as type name _((...)).

2004-12-09  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::calc_ncolumns):
	Use items.length if it is smaller than calculated one.

	* gonzui/webapp/stat.rb (Gonzui::StatisticsServlet::RankingMax):
	New constant.

	* gonzui/type.rb (Gonzui::SymbolTypes): Remove :all, :others.
	* tests/type.rb (SymbolTest): Adopt the change.

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiServlet::make_search_form): Use <optgroup> to
	arrange targets.
	(Gonzui::GonzuiServlet::make_search_form): Add "func" as a target.
	* gonzui/type.rb (Gonzui::SymbolInfo::match?): Support :func target.

	* gonzui/webapp/servlet.rb (Gonzui::GonzuiServlet::initialize):
	Prepare @start_time in this method.

	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::do_GET): Remove
	@start_time. 
	* gonzui/webapp/search.rb (Gonzui::SearchServlet::do_GET): Ditto.

	* gonzui/webapp/stat.rb (Gonzui::StatisticsServlet): Renamed from
	StatServlet. 
	* gonzui-server (GonzuiServer::do_start): Adopt the change.

	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::make_table): Add
	width to td elements.

	* gonzui/dbm.rb (Gonzui::DBM::initialize): Remove DBs: funcfreq
	and funcfreq_rev.
	(Gonzui::DBM::make_func_freq): New method.
	(Gonzui::DBM::get_lang_abbrev): New method.
	(Gonzui::DBM::add_function): Adopt the changes.
	(Gonzui::DBM::add_source): Ditto.
	(Gonzui::DBM::remove_digest): Ditto.
	(Gonzui::DBM::get_function_popularity): Add a parameter.
	(Gonzui::DBM::open_db): New method.
	(Gonzui::DBM::initialize): Use it.
	(Gonzui::DBM::initialize): New field: funcfreq_cache.
	(Gonzui::DBM::open_all_funcfreq_dbs): New method.
	(Gonzui::DBM::each_db_name): Use it.

	* tests/dbm.rb (DBMTest::_test_freq): Adopt the change.
	* gonzui/webapp/stat.rb
	(Gonzui::StatServlet::make_function_popularity): Ditto. 

	* gonzui/dbm.rb (Gonzui::DBM::initialize): New DBs: langid_labbr
	and labbr_langid. Remove a DB: lang_langid
	(Gonzui::DBM::verify_stat_integrity): Adopt the changes.
	(Gonzui::DBM::add_file): Ditto.
	(Gonzui::DBM::has_lang_abbrev?): Ditto.
	(Gonzui::DBM::get_lang_id): Ditto.
	(Gonzui::DBM::add_language): Ditto.

	* langscan/c.rb (LangScan::lang_abbrev): New method.
	* langscan/java.rb (LangScan::Java::lang_abbrev): Ditto.
	* tests/langscan.rb (TestLangScan::test_modules): Adopt the changes.
	* langscan.rb (LangScan::register): Check for lang_abbrev as well.

2004-12-08  Satoru Takabayashi  <satoru@namazu.org>

	* langscan/_common.rb (LangScanName): Removed.
	* langscan/c.rb (LangScan::lang_name): New method.
	* langscan/java.rb (LangScan::Java::lang_name): Ditto.
	* langscan.rb (LangScan::register): Check common methods.
	* tests/langscan.rb (TestLangScan): Adopt the change.

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiServlet::set_content_type_text_html): New method.
	* gonzui/webapp/search.rb (Gonzui::SearchServlet::do_GET): Use it.

	* gonzui/webapp/stat.rb: New file.
	* gonzui/webapp.rb: Require it.
	* gonzui/webapp/Makefile.am (rubylib_files): Add it.
	* gonzui-server (GonzuiServer::do_start): Use it.

	* gonzui/dbm.rb (BDB::delete_both): Use #get(BDB::GET_BOTH) to do
	this instead of doing a linear search.

	* gonzui/webapp/search.rb (Gonzui::SearchServlet::do_GET): Add
	utf-8 to Content-Type.

	* gonzui/webapp/jsfeed.rb (Gonzui::JSFeedServlet::do_GET): Do
	logging.

	* gonzui/dbm.rb (Gonzui::FrequencyCounter): New class.
	(Gonzui::DBM::initialize): New DBs: funcfreq and funcfreq_rev.
	(Gonzui::DBM::remove_digest): New method.
	(Gonzui::DBM::remove_source): Use it.
	(Gonzui::DBM::verify_freq_integrity): New method.
	(Gonzui::DBM::consistent?): Use it.
	(BDB::tail): New method.
	(Gonzui::FrequencyCounter::tail): Ditto.
	(Gonzui::DBM::get_function_popularity): Ditto.

	* gonzui/dbm.rb (Gonzui::DBM::initialize): Remove a DB: meta and
	add DBs: seq and stat. Separate one DB to two.
	(Gonzui::DBM::same?): Removed.
	(Gonzui::DBM::collect_results): Be private.
	(Gonzui::DBM::npackages_exact): Removed.
	(Gonzui::DBM::nsymbols_exact): Ditto.
	(Gonzui::DBM::nsources_exact): Ditto.
	(BDB::get_last_key): New method.
	(Gonzui::DBM::verify_seq_integrity): New method.
	(Gonzui::DBM::verify_stat_integrity): Ditto.
	(Gonzui::DBM::consistent?): Use them.
	(Gonzui::DBM::nlanguages): New method.

	* gonzui/dbm.rb (Gonzui::DBM::verify_stat_integrity): New method.

	* gonzui/util.rb (Gonzui::Util::assert_equal): Accept three or
	more values.

	* langscan/java/test/test-java.rb (TestJava::test_dummy): Add a
	dummy test to avoid a "No tests were specified" error.

	* tests/logger.rb: Fix trivial bugs.

	* gonzui/dbm.rb (Gonzui::DBM::consistent?): New method.
	* tests/dbm.rb (DBMTest::_test_verify): Renamed from
	_test_meta_integrity and adopt the change.
	(DBMTest::_test_add_package): Use it.
	(DBMTest::_test_remove_package): Ditto.
	* gonzui-db (GonzuiDB::do_get_option_table): New option: --verify.
	(GonzuiDB::command_verify): New method.
	(GonzuiDB::do_process_options): Use it.

2004-12-08  Keisuke Nishida  <knishida@open-cobol.org>

	* configure.ac (AC_OUTPUT): Add	`langscan/java/test/Makefile'.
	* langscan/java/Makefile.am (SUBDIRS): Add `test'.
	(EXTRA_DIST): Add `test-all.rb'.
	* langscan/java/test-all.rb: New file.
	* langscan/java/test/Makefile.am: New file.
	* langscan/java/test/test-java: New file.

2004-12-07  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/servlet.rb (Gonzui::GonzuiServlet::log): New method.
	* gonzui/webapp/search.rb (Gonzui::SourceServlet::do_GET): Use it.
	* gonzui/webapp/markup.rb (Gonzui::SourceServlet::do_GET): Use it.
	* gonzui/webapp/source.rb (Gonzui::SourceServlet::do_GET): Use it.

	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::do_GET): Use "/"
	for representing the top path instead of "".
	(Gonzui::MarkupServlet::choose_method): Adopt the change.
	(Gonzui::MarkupServlet::do_GET): Use Logger.

	* gonzui/webapp/servlet.rb (Gonzui::GonzuiServlet::initialize):
	New field: logger.

	* gonzui.rb.in: Require gonzui/logger.
	* gonzui/config.rb (Gonzui::Config::initialize): New field:
	gonzui_log_file.
	* gonzui-server (GonzuiServer::do_start): Use Logger.

	* gonzui/logger.rb: New file.
	* gonzui/Makefile.am (rubylib_files): Add it.
	* tests/logger.rb: New file.
	* tests/Makefile.am (TESTS): Add it.

	* gonzui/type.rb: Renamed from symbol.rb.
	* gonzui/Makefile.am (rubylib_files): Adopt the change.
	* gonzui.rb.in: Ditto.
	* tests/type.rb: Renamed from symbol.rb.
	* tests/Makefile.am (TESTS): Adopt the change.

	* gonzui/cmdapp/app.rb
	(Gonzui::CommandLineApplication::parse_options): process common
	options first.

	* gonzui-server (NullWriter): New class.
	(GonzuiServer::make_webrick_options): Use it.

	* gonzui/config.rb (Gonzui::Config::initialize): Renamed a log
	file name: gonzui.log -> access.log.

	* tests/webapp-markup.rb (CodeBeautifierTest::test_beautify): New
	file. 
	* tests/Makefile.am (TESTS): Add webapp-markup.rb.

	* tests/cmdapp-search.rb: Adopt the changes in
	gonzui/cmdapp/search.rb.

	* gonzui/dbm.rb (Gonzui::DBM::add_source): Revert to old version.

	* gonzui/webapp/markup.rb (Gonzui::CodeBeautifier::initialize):
	Make query_expression and grep_pattern optional.
	(Gonzui::CodeBeautifier::highlight_it?): Adopt the change.

2004-12-06  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui-server (GonzuiServer::remove_pid_file): New method.
	(GonzuiServer::stop_daemon): Use it.
	(GonzuiServer::do_start): Ditto.

	* gonzui.rb.in (Gonzui): Rename a constant name: PORT to HTTP_PORT.
	* gonzui/config.rb (Gonzui::Config::initialize): Adopt the change.
	* gonzui-server: Ditto.

	* gonzuirc.sample.in: Ditto.
	* configure.ac: Ditto.
	* Makefile.am: Ditto.

	* gonzui/symbol.rb (Gonzui::SymbolInfo::match?): New method.
	* gonzui/cmdapp/search.rb (Gonzui::CommandLineSearcher::search):
	Use it.
	* gonzui/webapp/search.rb (Gonzui::Searcher::search_symbol): Use
	it. 

	* gonzui-search (GonzuiSearch::do_get_option_table): New option:
	--type and remove options: --def, --call.

	* gonzui-server (GonzuiServer::do_start): Print the server URL.

	* gonzui/dbm.rb (Gonzui::DBM::initialize): Rename db: srcid_file
	-> srcid_content.

	* gonzui/symbol.rb (Gonzui::SourceStat): New class.
	* gonzui/dbm.rb (Gonzui::DBM::get_source_stat): New method.
	(Gonzui::DBM::add_source_stat): Ditto.

	* tests/dbm.rb (DBMTest::_test_source_stat): New test.

	* gonzui/dbm.rb (Gonzui::DBM::initialize): New db: lang_langid,
	langid_lang.
	(Gonzui::DBM::has_lang_name?): New method.
	(Gonzui::DBM::make_new_lang_id): New method.
	(Gonzui::DBM::get_lang_id): New method.

	* gonzui/dbm.rb (Gonzui::DBM::initialize): Remove a db: srcid_pkgid.
	(Gonzui::DBM::add_file): Adopt the change.
	(Gonzui::DBM::remove_source): Ditto.
	(Gonzui::DBM::nsources_exact): Ditto.
	(Gonzui::DBM::get_package_id_from_source_id): Removed.
	(Gonzui::DBM::remove_symbols_of_source): Adopt the change.
	(Gonzui::DBM::remove_source): Ditto.
	(Gonzui::DBM::remove_package): Ditto.

	* gonzui/webapp/search.rb (Gonzui::Searcher::search_package): Ditto.
	(Gonzui::SearchServlet::shrink_result): Ditto.
	(Gonzui::SearchServlet::make_result_list): Ditto.
	* tests/dbm.rb (DBMTest::_test_get_foo): Ditto.

	* gonzui/symbol.rb (Gonzui::SymbolInfo): New field: package_id.
	* gonzui/dbm.rb (Gonzui::DBM::add_function): Adopt the change.
	(Gonzui::DBM::add_fragment): Ditto.
	(Gonzui::DBM::remove_occurrence): Ditto.
	(Gonzui::DBM::collect_results): Ditto.

	* tests/symbol.rb (SymbolTest::test_symbol_info): Ditto.

	* gonzui/dbm.rb (Gonzui::DBM::add_source): Use
	LangScan::*::scan. Don't use #each_function and #each_fragment any
	longer. 

	* langscan/_common.rb (LangScan::Function): New class.
	(LangScan::FunDecl): Inherit it.
	(LangScan::FunDef): Ditto.
	(LangScan::FunCall): Ditto.

	* gonzui/dbm.rb (Gonzui::DBM::remove_occurrence): Use SymbolInfo
	to access #source_id instead of access it by Array#first.

2004-12-06  Tanaka Akira  <akr@m17n.org>

	* langscan/c.rb (LangScan::C.scan): Skip whitespace for detecting
	  functions.
	  
	* langscan/java.rb (LangScan::Java.scan): Ditto.

2004-11-30  Tanaka Akira  <akr@m17n.org>

	* langscan/_common.rb (LangScan::Fragment): Moved from
	  LangScan::C::Token and LangScan::Java::Token.

	* langscan/c.rb (LangScan::C.scan): New method based on
	  LangScan::C.each_function.
	  (LangScan::C::Token): Removed.

	* langscan/java.rb (LangScan::Java.scan): New method based on
	  LangScan::Java.each_function.
	  (LangScan::Java::Token): Removed.

2004-11-30  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::DBM::add_function): New method.
	(Gonzui::DBM::add_fragment): Ditto.
	(Gonzui::DBM::add_source): Use them.

	* doc/index.html: Removed.
	* doc/Makefile.am (doc_DATA): Remove index.html.

2004-11-29  Satoru Takabayashi  <satoru@namazu.org>

 	* gonzui: Version 0.1 released.

	* gonzui/config.rb (Gonzui::Config::choose_directory): New method.
	(Gonzui::Config::initialize): Use it.

	* langscan/c/Makefile.am (rubyarchlibdir): Add /c at the end.
	* langscan/java/Makefile.am (rubyarchlibdir): Add /java at the end.

	* langscan/Makefile.am (rubylibdir): New variable.
	(rubylib_DATA): Ditto.

	* langscan/java/Makefile.am (CLEANFILES): Add javatok.c
	* langscan/c/Makefile.am (CLEANFILES): Add ctok.c

	* gonzui/symbol.rb (Gonzui::SymbolTypes): Add :integr and :floating.
	(Gonzui::SymbolTypeMixin::others?): New method.

	* gonzui/dbm.rb (Gonzui::DBM::get_symbol_id): New method.
	(Gonzui::DBM::add_source): Use it and streo :ident information to
	the index.

	* gonzui/symbol.rb (Gonzui::SymbolTypes): Add :ident.

	* gonzui/symbol.rb (Gonzui::SymbolTypeMixin::function?): New method.
	(Gonzui::DigestInfo::function?): Removed.
	(Gonzui::SymbolTypeMixin::searchable?): New method.

	* gonzui/webapp/markup.rb (Gonzui::CodeBeautifier::markup_part):
	Use it.

	* gonzui/util.rb (String::each_line_range): Fix the handling of
	empty lines.

	* tests/dbm.rb (DBMTest::_test_foo_search): Check :fundecl as
	well.

	* gonzui/symbol.rb (Gonzui::SymbolTypes): Add :fundecl.
	* langscan/c.rb: Require it.
	* langscan/java.rb: Ditto.
	* langscan/_common.rb (LangScanName): New module.
	* langscan/c.rb: Use it.
	* langscan/java.rb: Ditto.

	* langscan/_common.rb: New file.
	langscan/c.rb: Move all Fun* classes to _common.rb.
	langscan/java.rb: Ditto.
	* langscan/Makefile.am (EXTRA_DIST): Add _common.rb.

	* langscan/c/test/test-each_function.rb
	(TestEachFunction::test_definition_p): Removed. 

	* configure.ac (GONZUI_URL): New variable.

	* gonzui-server (GonzuiServer::do_start): Change a mount point
	from "gonzui" to "doc".

	* langscan/java/Makefile.am (EXTRA_DIST): Remove README.

	* langscan.rb (LangScan::modules): New method.
	* langscan/c.rb (LangScan::C::lang_name): New method.
	* langscan/java.rb (LangScan::Java::lang_name): New method.
	* tests/langscan.rb (TestLangScan): New class.

	* gonzui/dbm.rb (Gonzui::DBM::convert_to_utf8): New method.
	(Gonzui::DBM::add_file): Use it.

	* tests/dbm.rb (DBMTest::test_bdb): New test.

2004-11-26  Keisuke Nishida  <knishida@open-cobol.org>

	* langscan/java.rb: New file.
	* langscan/java/Makefile.am: New file.
	* langscan/java/java.c: New file.
	* langscan/java/java.h: New file.
	* langscan/java/javatok.c: New file.
	* langscan/java/javatok.l: New file.
	* langscan/Makefile.am (SUBDIRS): Add `java'.
	* langscan/Makefile.am (EXTRA_DIST): Add `java.rb'.
	* configure.ac (AC_OUTPUT): Add `langscan/java/Makefile'.

2004-11-24  Satoru Takabayashi  <satoru@namazu.org>

	* Makefile.am (bin_SCRIPTS): Add gonzui-server.

2004-11-23  Keisuke Nishida  <knishida@open-cobol.org>

	* acinclude.m4 (AM_PATH_RUBY): Quoted by '[' and ']'.
	(AM_CHECK_RUBY_LIB, AM_RUN_LOG_DIRS, AM_USER_GROUP): Ditto.

2004-11-12  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::DBM::initialize): Rename db name: digest
	-> srcid_digest.
	(Gonzui::DBM::initialize): New db: symid_pkgids.
	(Gonzui::DBM::initialize): New db: sympkgid_occ.
	(Gonzui::DBM::initialize): Remove db: symid_occ.
	(Gonzui::DBM::collect_results): New method.
	(Gonzui::DBM::search): Use it.
	(Gonzui::DBM::regex_search): Ditto.
	(Gonzui::BDBDBM::prefix_search): Ditto.
	(Gonzui::DBM::remove_occurrence): Use it.
	(BDB::delete_both): New method.

	* gonzui/autopack.rb (Gonzui::AutoPack::NumbersAndNumbers): New
	module. 
	(Gonzui::AutoPack::AutoPack::each_dup): New method. 
	(Gonzui::AutoPack::AutoPack::has_key?): New method. 

	* gonzui/cmdapp/search.rb (Gonzui::CommandLineSearcher::search):
	Support :show_count.
	(Gonzui::CommandLineSearcher::initialize): Ditto.

	* gonzui-search (GonzuiSearch::do_get_option_table): New option:
	--count. 

	* gonzui-import (GonzuiImport::do_get_option_table): Change --utf8
	option to --no-utf8.

2004-11-11  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/util.rb (Gonzui::Util::benchmark): New method.

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiServlet::make_content_script_type): New method.

2004-11-10  Tanaka Akira  <akr@m17n.org>

	* configure.ac (AC_OUTPUT), langscan/c*: Move
	  langscan/c* to langscan/c/c* except langscan/c.rb.

2004-11-10  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/util.rb (Gonzui::XMLFormatter::highlight): Removed.

	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::choose_method):
	New method. 
	(Gonzui::MarkupServlet::set_response): Ditto.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_result_list): New method.

	* gonzui/webapp/util.rb
	(WEBrick::HTTPRequest::gzip_encoding_supported?): New method.

	* acinclude.m4 (AM_CHECK_BDB_RUBY): Removed.
	(AM_CHECK_RUBY_LIB): New macro.

	* gonzui/webapp/search.rb (Gonzui::SearchResult::last): New
	method. 
	(Gonzui::SearchResult::first): Ditto.
	(Gonzui::SearchResult::shrinked_info?): Ditto.
	(Gonzui::SearchResult::shrink_by): Store shrinked information.
	(Gonzui::SearchServlet::redirect_to_single_result): New method.
	(Gonzui::SearchServlet::do_GET): Use it.

2004-11-04  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/markup.rb (Gonzui::CodeBeautifier::add_lineno):
	Removed. 
	(Gonzui::CodeBeautifier::markup_part): New method.
	(Gonzui::CodeBeautifier::beautify_with_digest): Simplified.
	(Gonzui::MarkupServlet::do_GET): Add charset=utf-8 to Content-Type.
	(Gonzui::MarkupServlet::make_grep_form): New method.
	(Gonzui::MarkupServlet::markup_file): Use it.

	* gonzui/util.rb (Gonzui::Util::assert_equal): New method.

2004-11-02  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/extractor.rb (Gonzui::Extractor::supported_extnames):
	Removed.

	* gonzui/util.rb (File::suffix): Removed. Use File.extname instead.

	* langscan.rb (LangScan::register): New method.
	(LangScan::load): Ditto.

	* gonzui/util.rb
	(Gonzui::TemporaryDirectoryUtil::set_temporary_directory): Use
	Object#object_id instead of #id.

	* gonzui.rb.in (Gonzui::PORT): New constant.

2004-10-30  Satoru Takabayashi  <satoru@namazu.org>

	* doc/gonzui.js: Make highlights persistent after a mouse is moved
	out.

2004-10-29  Satoru Takabayashi  <satoru@namazu.org>

	* doc/gonzui.js: New file.

	* gonzui/webapp/servlet.rb (Gonzui::GonzuiServlet::make_css):
	Renamed from css.
	(Gonzui::GonzuiServlet::make_meta): Renamed from make_meta.
	(Gonzui::GonzuiServlet::make_script): New method.
	(Gonzui::GonzuiServlet::make_meta_and_css): Renamed from meta_and_css.

	* AUTHORS: Updated.

	* gonzui/webapp/servlet.rb (Gonzui::URLMaker::make_google_url):
	Refined.

	* langscan/c.rb (LangScan::Keywords): Fix a bug. Insert a comma
	between 'break' and 'case'.
	(LangScan::FunCall::Types): New constant.
	(LangScan::FunCall::TypesHash): Ditto.
	(LangScan::each_fragment): Use it.

	* gonzui/symbol.rb (Gonzui::DigestInfo::function?): New method.
	(Gonzui::DigestInfo::includable?): New method.

	* gonzui/webapp/markup.rb
	(Gonzui::CodeBeautifier::highlight_reserved_words): Removed. 

	* gonzui/symbol.rb (Gonzui::DigestInfo): New field: length.

	* tests/langscan.rb: New file.

2004-10-28  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/query.rb (Gonzui::QueryExpression::get_key): New
	method. 

	* gonzui/webapp/search.rb (Gonzui::SearchServlet::shrink_result):
	Renamed from shrink.
	(Gonzui::SearchServlet::make_query_string): Refined.
	(Gonzui::SearchServlet::make_expansion_link): New method.
	(Gonzui::SearchServlet::make_search_result): Use it.
	(Gonzui::SearchResult::shrink_by!): New method.
	(Gonzui::SearchServlet::shrink_result): Use it.
	(Gonzui::SearchResult::clear): New method.
	(Gonzui::Searcher::search_source): New method.
	(Gonzui::SearchServlet::package_specified?): Removed.

	* gonzui/webapp/servlet.rb (Gonzui::ServletError): New class.

	* gonzui/util.rb (Gonzui::Util::assert_non_nil): Moved from dbm.rb.
	(Gonzui::Util::assert_not_reached): New method.

2004-10-27  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_summary_simple): New method.
	(Gonzui::SearchServlet::make_summary_kwic): Ditto.
	(Gonzui::SearchServlet::make_element): Use them.
	(Gonzui::SearchServlet::make_summary): Renamed from make_element.

	* gonzui/util.rb (String::line_range): Renamed from
	TextUtil::get_line_range. 
	(String::each_line_range): Renamed from TextUtil::each_line_range.

	* gonzui/cmdapp/search.rb
	(Gonzui::CommandLineSearcher::highlight): New method.
	(Gonzui::CommandLineSearcher::highlight_symbol): Removed.

	* gonzui/util.rb (Gonzui::TextUtil::get_line_range): New method.
	(Gonzui::TextUtil::each_line_range): Ditto.
	(String::substring): Ditto.
	* gonzui/cmdapp/search.rb
	(Gonzui::CommandLineSearcher::show_line): Use it.
	* gonzui/cmdapp/search.rb
	(Gonzui::CommandLineSearcher::show_context_lines): Ditto.

	* gonzui/webapp/markup.rb
	(Gonzui::MarkupServlet::do_make_status_line): Renamed from
	make_status_line.
	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::do_make_status_line): Ditto. 

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiServlet::make_status_line): Renamed from
	make_status_line_internal. 

	* gonzui/webapp/query.rb: New file. Separated from webapp-search.rb.

	* tests/query.rb: Renamed from webapp-search.rb.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::package_specified?): New method.

	* gonzui/symbol.rb (Gonzui::SymbolInfo::restore): Removed.
	(Gonzui::DigestInfo::restore): Removed.

	* gonzui/importer.rb (Gonzui::Importer::finish): Remove a package
	imported partially.

2004-10-26  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::DBM::db_names): New method.
	* tests/dbm.rb (DBMTest::_test_remove_package): Enhance the test
	by using it.

	* tests/dbm.rb (DBMTest::_test_digest): New method.

	* tests/symbol.rb: New file.

	* gonzui/dbm.rb (Gonzui::DBM::normalize_content): New method.

	* gonzui/webapp/markup.rb (Gonzui::CodeBeautifier): New class.
	(Gonzui::MarkupServlet::markup_source): Use it.

	* gonzui/webapp/servlet.rb (Gonzui::URLMaker): New module.
	(Gonzui::GonzuiServlet): Use it.

2004-10-25  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::DBM::convert_to_symbol_info): Removed.

	* langscan.rb (LangScan::choose): New method.

	* gonzui/extractor.rb (Gonzui::ExtractorError): Moved from
	gonzui.rb.in.
	* gonzui/util.rb (Gonzui::Util::CommandNotFoundError): Ditto.
	* gonzui/importer.rb (Gonzui::ImporterError): Ditto.
	* gonzui/apt.rb (Gonzui::AptGetError): Ditto.
	* gonzui/dbm.rb (Gonzui::DBMError): Ditto.
	(Gonzui::DBM::add_c_source): Removed.

	* gonzui/dbm.rb (Gonzui::DBM::make_tuple): Removed.

	* gonzui/util.rb (Array::devide): New method.

	* gonzui/symbol.rb: New file.

	* gonzui/dbm.rb (Gonzui::DBM::pack_tuple): Removed.

	* gonzui/symbol.rb: New file.

	* gonzui/apt.rb (Gonzui::AptGet::run_apt_get): Redirect STDOUT and
	STDERR to /dev/null. 

	* gonzui/autopack.rb (Gonzui::AutoPack::AutoPack::dup_count): New
	method. 
	(Gonzui::AutoPack::AutoPack::has_both?): Fix a bug.

	* gonzui/importer.rb (Gonzui::Remover): New class.
	* gonzui-remove (GonzuiRemove::do_start): Use it.

	* gonzui/dbm.rb (Gonzui::DBM::make_progress_bar): Removed.
	(Gonzui::DBM::nfiles_in_package): New method.

	* gonzui/importer.rb (Gonzui::Importer::make_progress_bar): Moved
	from dbm.rb.

2004-10-21  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/util.rb (Kernel::once): New method.
	* gonzui/dbm.rb (Gonzui::DBM::make_progress_bar): Use it.

	* gonzui/dbm.rb (Gonzui::DBM::make_progress_bar): New method.
	(Gonzui::DBM::add_package): Use it.
	(Gonzui::NullObject): New class.

	* gonzui/cmdapp/app.rb (Gonzui::CommandLineApplication::start):
	New class method.
	* gonzui-import: Use it.
	* gonzui-server: Ditto.
	* gonzui-remove: Ditto.
	* gonzui-db: Ditto.
	* gonzui-search: Ditto.

	* gonzui/util.rb (String::untabify): Renamed from untabify! and
	support a multiple-line string.
	* gonzui/dbm.rb (Gonzui::DBM::read_file): Use it.

	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::markup_code):
	Don't use String#untabify! any longer.

	* langscan/Makefile.am: New file.
	* langscan/test/Makefile.rb: Ditto.
	* langscan.rb: New file.
	* configure.ac: Adopt the changes.

	* langscan/README: Imported from akr's clang library.
	* langscan/c.c: Ditto.
	* langscan/c.h: Ditto.
	* langscan/c.rb: Ditto.
	* langscan/ctok.c: Ditto.
	* langscan/ctok.c.dist: Ditto.
	* langscan/ctok.l: Ditto.
	* langscan/test-all.rb: Ditto.
	* langscan/test/test-each_function.rb: Ditto.
	* langscan/test/test-token.rb: Ditto.

2004-10-15  Satoru Takabayashi  <satoru@namazu.org>

	* acinclude.m4 (AM_PATH_RUBY): Renamed from AM_PATH_RUBYDIR.
	(AM_PATH_RUBY): Add a script for --rubyarchdir.
	(AM_PATH_RUBY): Define RUBY_* variables.

2004-10-14  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/global.rb: Removed.
	* tests/global.rb: Removed.

	* gonzui/dbm.rb (Gonzui::DBM::add_file): Renamed from add_source.
	(Gonzui::DBM::add_source): New method.
	(Gonzui::DBM::add_c_source): New method.
	(Gonzui::DBM::add_c_source): Use akr's clang library.

	* gonzui/autopack.rb (Gonzui::AutoPack::AutoPack::has_both?): New method.

	* gonzui/dbm.rb (Gonzui::DBM::register_symbol): Removed.
	(Gonzui::DBM::symbol_registered?): Don't use @symbol_cache any longer.
	(Gonzui::DBM::symbol_registered?): Removed.

	* gonzui/util.rb (String::has_prefix?): Removed.

	* gonzui/dbm.rb (Gonzui::DBM::assert_non_nil): New method.
	(Gonzui::DBM::remove_occurrence): Use it.
	(Gonzui::DBM::remove_symbols_of_source): Ditto.
	(Gonzui::DBM::remove_source): Ditto.
	(Gonzui::DBM::each_symbol): Simplified.
	(Gonzui::DBM::initialize): Rename index to symid_occ.
	(Gonzui::DBM::remove_occurrence): Adopt the change.
	(Gonzui::DBM::remove_symbols_of_source): Ditto.
	(Gonzui::DBM::add_symbol): Ditto.
	(Gonzui::DBM::search): Ditto.
	(Gonzui::DBM::regex_search): Ditto.
	(BDB::each_by_prefix): New method.
	(Gonzui::BDBDBM::prefix_search): Use it.

	* gonzui/autopack.rb (Gonzui::AutoPack::AutoPack::add_value): Removed.
	(Gonzui::AutoPack::AutoPack::replace_value): Removed.

2004-10-13  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/autopack.rb (Gonzui::AutoPack::PackMethod): Change the
	PACK_FORMAT "L" to "N".

	* gonzui/dbm.rb (Gonzui::DBM::nsymbols_exact): Not to use #length.
	(Gonzui::DBM::do_open_db): Add a new parameter: duplicated_key.
	(Gonzui::BDBDBM::do_open_db): Ditto.
	(Gonzui::DBM::initialize): Allow duplicates for srcid_symids.
	(Gonzui::DBM::initialize): Allow duplicates for pkgid_srcids.
	(Gonzui::DBM::add_source): Adopt the changes.
	(Gonzui::DBM::get_source_ids): Ditto.
	(Gonzui::DBM::remove_package): Ditto.
	(Gonzui::DBM::add_symbol): Ditto.
	(Gonzui::DBM::get_symbol_ids): Ditto.
	(Gonzui::DBM::initialize): Allow duplicates for index.
	(Gonzui::DBM::remove_symbols_of_source): Adopt the changes.
	(Gonzui::DBM::add_symbol): Ditto.
	(Gonzui::DBM::nsymbols_exact): Ditto.
	(Gonzui::DBM::each_symbol): Ditto.
	(Gonzui::DBM::search): Ditto.
	(Gonzui::DBM::remove_symbol): New method.
	(Gonzui::DBM::remove_package): Fix an error checking.

	* gonzui/autopack.rb (Gonzui::AutoPack::AutoPack::duplicates): New
	method. 

2004-10-12  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::DBM::read_file): New method.

	* gonzui/config.rb (Gonzui::Config::initialize): New field: @utf8.

	* gonzui/cmdapp/app.rb
	(Gonzui::CommandLineApplication::ensure_db_directory_available):
	Simplified. 
	* gonzui-db (GonzuiDB::do_start): Use it.
	* gonzui-search (GonzuiSearch::do_start): Ditto.
	* gonzui-remove (GonzuiRemove::do_start): Ditto.
	* gonzui-server (GonzuiServer::do_start): Ditto.

	* gonzui/util.rb (Gonzui::UTF8::to_utf8): New method.
	* tests/util.rb (UtilTest::test_utf8): Add a test for it.

2004-10-08  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui-server (GonzuiServer::make_webrick_options): Set :Logger.

	* gonzui/webapp/webrick.rb (WEBrick::parse_accept_language): New
	method. 
	(WEBrick::accept_language): Ditto.
	* gonzui/webapp/servlet.rb (Gonzui::GonzuiServlet::init_catalog):
	Use it.

2004-10-07  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/webrick.rb: New file.

	* gonzui/dbm.rb (Gonzui::BDBDBM::close): New method.
	(Gonzui::BDBDBM::initialize): Use BDB::Env.remove to recover the
	"Lock table is out of available locker entries" error.

2004-10-06  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::DBM::do_open_db): Renamed from open_db.
	(Gonzui::BDBDBM::do_open_db): Ditto.

	* gonzui/config.rb (Gonzui::Config::initialize): Use
	File.expand_path for all relative paths.

	* gonzui-server (GonzuiServer::stop_daemon): New method.
	(GonzuiServer::write_pid_file): Ditto.
	(GonzuiServer::read_pid_file): Ditto.
	(GonzuiServer::start_daeomn): Ditto.

	* gonzui/webapp/webrick.rb (WEBrick::FileHandler::set_filename):
	New file.

	* gonzui/cmdapp/app.rb (Gonzui::CommandLineApplication::do_start):
	Renamed from start.
	(Gonzui::CommandLineApplication::do_show_usage): Ditto.
	(Gonzui::CommandLineApplication::do_get_option_table): New method.
	(Gonzui::CommandLineApplication::do_process_options): Ditto. 
	* gonzui-db: Adopt the changes.
	* gonzui-import: Adopt the changes.
	* gonzui-remove: Adopt the changes.
	* gonzui-search: Adopt the changes.
	* gonzui-server: Adopt the changes.

2004-10-05  Satoru Takabayashi  <satoru@namazu.org>

	* Makefile.am (install-data-local): New rule.

	* acinclude.m4 (AM_USER_GROUP): New macro.
	* configure.ac: Use it.

	* gonzuirc.sample.in: New file.
	* Makefile.am (gonzuirc.sample): New rule.

	* acinclude.m4 (AM_RUN_LOG_DIRS): New macro.
	* configure.ac: Use it.

	* tests/config.rb (ConfigTest::test_config): Add tests for dump
	and load.

	* gonzui/cmdapp/app.rb
	(Gonzui::CommandLineApplication::common_option_table): New option:
	--gonzuirc. 

	* gonzui/config.rb (Gonzui::Config::set_user_and_group): New method.
	(Gonzui::Config::keys): Ditto.
	(Gonzui::Config::dump): Ditto.
	(Gonzui::Config::load): Ditto.
	* gonzui/cmdapp/app.rb
	(Gonzui::CommandLineApplication::parse_common_options): New option
	--dump-config. 
	(Gonzui::CommandLineApplication): Be a class instead of module.
	(Gonzui::CommandLineApplication::common_option_table): New method.
	(Gonzui::CommandLineApplication::parse_options_to_hash): Ditto.
	(Gonzui::CommandLineApplication::process_common_options): Ditto.
	* tests/cmdapp-app.rb: Adpot the changes in CommandLineApplication.

	* gonzui-db (GonzuiDB): New class. Use CommandLineApplication for
	the application framework.
	* gonzui-search (GonzuiSearch): Ditto
	* gonzui-remove (GonzuiRemove): Ditto
	* gonzui-server (GonzuiServer): Ditto.
	* gonzui-import (GonzuiImport): Ditto.

	* gonzui-server (default_server_config): Use Etc module to obtain
	user and group names.
	(be_secure): New method.

	* gonzui/util.rb (Gonzui::Util::unix?): New method.

2004-10-04  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/search.rb (Gonzui::Searcher::search): Take
	parameters named query_string and target. 

	* gonzui/gettext.rb (Gonzui::GetText::load_catalogs): Add "en"
	handling. 

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiServlet::make_status_line_internal): Simplified. 
	* gonzui/webapp/markup.rb
	(Gonzui::MarkupServlet::make_status_line): Ditto. 
	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_status_line): Ditto. 

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_status_line): Add a link to "Google it".

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiServlet::make_google_url): New method.

	* gonzui/gettext.rb (Gonzui::GetText::get_catalog): Removed.
	(Gonzui::GetText::load_catalogs): Renamed from load_catalog_table.

	* tests/gettext.rb (GetTextTest::test_gettext): New file.

	* gonzui/webapp/servlet.rb (Gonzui::GonzuiServlet::format_html):
	Renamed from make_html
	(Gonzui::GonzuiServlet::make_html): New method.

2004-10-01  Satoru Takabayashi  <satoru@namazu.org>

	* doc/Makefile.am: Refined.

	* catalog/catalog.ja: New file.
	* catalog/Makefile.am: New file.
	* configure.ac (AC_OUTPUT): Add catalog/makefile.
	* Makefile.am (SUBDIRS): Add catalog.

	* gonzui/webapp/servlet.rb (Gonzui::GonzuiServlet::init_catalog):
	New method.
	(Gonzui::GonzuiServlet::get_accept_languages): New method.

	* gonzui/gettext.rb: New file.
	* gonzui/Makefile.am (rubylib_files): Add gettext.rb.

	* gonzui/webapp/servlet.rb (Gonzui::GonzuiServlet::make_html): New
	method. 

	* gonzui/webapp/util.rb (Gonzui::XMLFormatter): New class.

2004-09-30  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::highlight_symbol_in_line): Removed. 

	* gonzui/webapp/util.rb (Gonzui::Highlighter): New class.

	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::list_files):
	Renamed from list_directory.

	* gonzui/webapp/servlet.rb (Gonzui::GonzuiServlet::make_navi):
	Moved from search.rb and generalized.
	(Gonzui::GonzuiServlet::make_elapsed_part): Removed.
	(Gonzui::GonzuiServlet::make_navi_internal): Renamed from make_navi.
	* gonzui/webapp/search.rb (Gonzui::SearchServlet::make_navi): New
	method. 

	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::make_table):
	Simplified. 
	(Gonzui::MarkupServlet::make_table_of_files): Ditto.
	(Gonzui::MarkupServlet::make_table_of_packages): Ditto.

2004-09-29  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/markup.rb
	(Gonzui::MarkupServlet::make_table_of_files): Use it.
	(Gonzui::MarkupServlet::make_table): Ditto.
	(Gonzui::MarkupServlet::make_table_of_packages): Ditto.
	(Gonzui::MarkupServlet::make_not_found): New method.
	(Gonzui::MarkupServlet::list_directory): Renamed from
	markup_directory. 

	* gonzui/dbm.rb (Gonzui::DBM::get_package_ids): New method.

2004-09-28  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/servlet.rb (Gonzui::GonzuiServlet::search_form):
	Refined. 
	(Gonzui::GonzuiServlet::make_search_form): Renamed from
	search_form. 
	(Gonzui::GonzuiServlet::make_search_url): Refined.
	(Gonzui::GonzuiServlet::dbm): Removed.
	(Gonzui::GonzuiServlet::get_mime_type): Ne method.
	(Gonzui::GonzuiServlet::get_media_type): Ditto.
	(Gonzui::GonzuiServlet::parse_request): Moved from search.rb.
	(Gonzui::GonzuiServlet::make_url): New method.
	(Gonzui::GonzuiServlet::make_search_url): Use it.
	(Gonzui::GonzuiServlet::make_markup_url): Ditto.

	* gonzui/webapp/markup.rb
	(Gonzui::MarkupServlet::make_status_line): Renamed from make_summary.
	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_status_line): Ditto. 

	* gonzui/webapp/util.rb (Gonzui::ServletUtil): New module.
	(Gonzui::ServletUtil::get_mime_type): New method.
	* gonzui/webapp/source.rb (Gonzui::SourceServlet::do_GET): Use it.

2004-09-27  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::DBM::get_source_ids): Simplified.

	* gonzui/webapp/search.rb (Gonzui::QueryExpression): New class.
	(Gonzui::QueryElement): Ditto.
	(Gonzui::SearchResult): Ditto.
	(Gonzui::SearchServlet::search): Removed.

	* tests/webapp-search.rb (QueryTest::test_query): New file.

	* gonzui/dbm.rb (Gonzui::DBM::get_package_id_from_source_id):
	Renamed from get_package_id.
	(Gonzui::DBM::get_package_id): New method.

2004-09-22  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiServlet::make_search_url): Moved from search.rb.

	* gonzui/webapp/markup.rb (Gonzui::MarkupServlet::markup_source):
	New method.
	(Gonzui::MarkupServlet::add_lineno): Ditto.
	(Gonzui::MarkupServlet::make_line_mark): Ditto.

	* gonzui/util.rb (String::untabify): New method.

	* gonzui/dbm.rb (Gonzui::DBM::make_tuple): Moved from util.rb.
	(Gonzui::DBM::add_package): Create digests.
	(Gonzui::DBM::remove_source): Delete a digest entry.

2004-09-21  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/package.rb: Removed. 

	* gonzui/webapp/search.rb (Gonzui::SearchServlet::search): Modify
	URLs for package names.

	* gonzui/util.rb (Gonzui::Util::make_tuple): Moved from dbm.db.

2004-09-03  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/dbm.rb (Gonzui::DBM::add_package): Change the position of
	calling increase_counter.

	* gonzui/webapp/package.rb (Gonzui::PackageServlet::make_forest):
	New method.
	(Gonzui::PackageServlet::make_path_forest): Ditto.

2004-09-02  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiServlet::make_markup_url): Moved from search.rb.

	* gonzui/webapp/search.rb
	(Gonzui::SearchServlet::make_markup_url): Renamed from make_markup_url.
	(Gonzui::SearchServlet::make_search_url): Ditto.
	(Gonzui::SearchServlet::make_navi): Ditto.
	(Gonzui::SearchServlet::make_not_found): Ditto.
	(Gonzui::SearchServlet::make_summary): Ditto.

	* gonzui/webapp/package.rb (Gonzui::PackageServlet::make_summary):
	Renamed from generate_summary.

	* gonzui/webapp/markup.rb
	(Gonzui::MarkupServlet::make_source_url): Renamed from
	generate_source_url. 
	(Gonzui::MarkupServlet::make_summary): Ditto.

	* gonzui/webapp/servlet.rb
	(Gonzui::GonzuiServlet::make_elapsed_part): New method.
	(Gonzui::GonzuiServlet::make_footer): Renamed from generate_footer.

	* gonzui/webapp/search.rb (Gonzui::SearchServlet::search): Use
	get_lines instead of get_line.

	* gonzui/webapp/servlet.rb (Gonzui::GonzuiServlet::make_title):
	New method.

2004-09-01  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui/webapp/package.rb: New file.
	(Gonzui::PackageServlet): New class.

	* gonzui/dbm.rb (Gonzui::DBM::get_source_ids): Return an empty
	array if the package name is not found.

	* gonzui/webapp/package.rb (Gonzui::PackageServlet::do_GET): New
	file. 

	* gonzui/extractor.rb (Gonzui::Extractor::run_extract_command):
	Renamed from extract_by_command.
	(Gonzui::Extractor::extract_tarbz2): Don't use GNU's jxf option.
	(Gonzui::Extractor::extract_targz): Don't use GNU's zxf option.
	(Gonzui::Extractor::extract_srpm): Simplified.

	* gonzui/cmdapp/app.rb
	(Gonzui::CommandLineApplication::ensure_db_directory_available):
	New method.
	* gonzui-server (main): Use it.
	* gonzui-db (main): Ditto.
	* gonzui-remove (main): Ditto.
	* gonzui-search (main): Ditto.

	* gonzui/importer.rb (Gonzui::Importer::add_directory): Be public.
	* gonzui-import (import): Use it.

	* gonzui/apt.rb (Gonzui::AptGetForFedora::extract_srpm): Removed.

	* gonzui/extractor.rb (Gonzui::Extractor::extract_srpm): New method.
	(Gonzui::Extractor::find_archive): New method.

	* tests/foo/Makefile.foo (dist-srpm): New rule.
	(dist): Add dist-srpm to its dependency.

	* gonzui/extractor.rb (Gonzui::Extractor::extract_by_command): New
	method. 
	(Gonzui::Extractor::extract_tarbz2): Ditto.
	(Gonzui::Extractor::extract_targz): Ditto.
	(Gonzui::Extractor::extract_zip): Ditto.
	(Gonzui::Extractor::extract_srpm): Ditto.

	* gonzui/apt.rb (Gonzui::AptGetForDebian::extract_package):
	Simplified. 
	(Gonzui::AptGetForFedora::extract_package): Simplified.

	* gonzui/importer.rb (Gonzui::Importer::add_common): Simplified.
	(Gonzui::Importer::add_archive): Ditto.
	(Gonzui::Importer::add_by_apt): Ditto.
	(Gonzui::Importer::add_directory): New method.

	* gonzui/extractor.rb (Gonzui::Extractor::extract): Don't create a
	Package object in the method.
	* tests/extractor.rb (ExtractorTest::_test_extract): Modified the
	test. 

	* gonzui/package.rb (Gonzui::Package::import_files): Be private.
	(Gonzui::Package::initialize): Take a directory as a parameter.
	* tests/package.rb (PackageTest::test_package): Modified the test.

	* gonzui/webapp/top.rb (Gonzui::TopPageServlet::do_GET): Redirect
	unknown URLs to "/".

	* gonzui-server (be_daemon): Removed. Use WEBrick's Daemon.start
	instead.

	* gonzui/webapp/jsfeed.rb (Gonzui::JSFeedServlet::do_GET): Don't
	include newline characters in document.writeln.

2004-08-31  Satoru Takabayashi  <satoru@namazu.org>

	* gonzui-server (show_usage): New method.
	(parse_options_internal): Ditto.
	(parse_options_internal): New option: --port.
	(be_daemon): New method.
	(parse_options_internal): New option: --daemon.

	* doc/index.html: New file.

	* gonzui/extractor.rb
	(Gonzui::Extractor::supported_suffixes): New method.
	* gonzui-import (show_usage): Use it.

	* gonzui/webapp/servlet.rb: Renamed from abstract.rb.

	* gonzui/extractor.rb (Gonzui::Extractor): Support *.tgz.

	* gonzui: Rename the project name from "scfind" to "gonzui".

	* tests/webapp-util.rb: New file.

	* scfind/util.rb (String::prechop): Refined.

	* scfind-server (CSSServlet): Removed.

	* doc/Makefile.am: New file.

	* doc/scfind.css: New file.

2004-08-30  Satoru Takabayashi  <satoru@namazu.org>

	* scfind/webapp/top.rb: New file.

	* scfind/webapp/jsfeed.rb: New file.

	* scfind/webapp/source.rb: New file.

	* scfind/webapp/markup.rb: New file.

	* scfind/webapp/search.rb: New file.

	* scfind/webapp/abstract.rb: New file.

	* scfind/webapp.rb: New file.

	* scfind/webapp/util.rb: New file.
	(Gonzui::XMLUtil::format_xml): Moved from scfind-server.

	* scfind/webapp/Makefile.am: New file.

	* scfind/cmdapp/search.rb: New file.
	* scfind-search: Simplified.

	* tests/cmdapp-app.rb: Renamed from tests/cmdapp.rb.

	* tests/cmdapp-search.rb: Renamed from tests/scfind-search.rb.

	* scfind/cmdapp/app.rb: Renamed from scfind/cmdapp.rb.
	* scfind/cmdapp.rb: New file.
	* scfind/cmdapp/Makefile.am: New file.
	* scfind/Makefile.am (rubylib_files): Remove cmdapp.rb.
	* scfind.rb.in: Don't require cmdapp.
	* scfind-import: Require 'scfind/cmdapp'
	* scfind-db: Ditto.
	* scfind-search: Ditto.
	* scfind-remove: Ditto.

	* tests/scfind-search.rb: New file.

	* scfind-search: Call main only if $0 == __FILE__.
	(CommandLineSearcher::initialize): New field: @out.
	(CommandLineSearcher::show_line): Use @out.
	(CommandLineSearcher::show_context_lines): Ditto.
	(CommandLineSearcher::search): Ditto.

2004-08-27  Satoru Takabayashi  <satoru@namazu.org>

	* scfind-server (SourceServlet): New class.
	(MarkupServlet): Renamed from BrowseServlet.
	(GonzuiServlet::generate_footer): New method.
	(SearchServlet::highlight_symbol_in_line): Renamed from highlight_symbol.
	(SearchServlet::generate_summary): Highlight some info.
	(MarkupServlet::highlight_string): New method.
	(MarkupServlet::generate_source_url): Ditto.
	(MarkupServlet::generate_summary): Ditto.
	(JSFeedServlet): New class.

	* scfind/util.rb (String::prechop): New method.

2004-08-25  Satoru Takabayashi  <satoru@namazu.org>

	* scfind/dbm.rb (Gonzui::DBM::get_package_name): New method.
	(Gonzui::DBM::get_package_id): Ditto.
	* tests/dbm.rb (DBMTest::_test_get_foo): Add tests for them.

	* tests/dbm.rb (DBMTest::_test_meta_integrity): New method.

	* scfind/dbm.rb (Gonzui::DBM::nsources_exact): New method.
	(Gonzui::DBM::nsymbols_exact): Ditto.
	(Gonzui::DBM::npackages_exact): Ditto.
	(Gonzui::DBM::increase_counter): Ditto.
	(Gonzui::DBM::decrease_counter): Ditto.
	(Gonzui::DBM::get_counter): Ditto.

	* scfind/util.rb (Gonzui::Util::commify): New method.

2004-08-24  Satoru Takabayashi  <satoru@namazu.org>

	* scfind-server (SearchServlet::highlight_symbol): New method.
	(SearchServlet::do_GET): Use it.
	(XMLFormatter): New class.

	* scfind-search (CommandLineSearcher::search): Open a dbm in
	read-only mode.
	(CommandLineSearcher::highlight_symbol): Moved from util.rb.

	* scfind-db (command_list_files): Ditto.
	(command_list_packages): Ditto.
	(command_list_symbols): Ditto.
	(each_matching_db): Ditto.
	(command_retrieve): Ditto.

	* scfind/dbm.rb (Gonzui::DBM::lazy_open_db): Removed.

	* scfind/util.rb (Gonzui::TextUtil::get_lines): Moved from
	scfind-search.
	(Gonzui::Util::get_line): Ditto.
	(Gonzui::Util::get_line_internal): Ditto.
	(Gonzui::TextUtil::highlight_symbol): Ditto.

	* scfind-server: New file.

2004-08-23  Satoru Takabayashi  <satoru@namazu.org>

	* tests/command.sh: New file.

	* scfind/remover.rb: Removed.
	* tests/remover.rb: Removed.
	* scfind-remove (main): Remover is no longer used.

	* scfind/dbm.rb (Gonzui::DBM::add_symbol): Be private.
	(Gonzui::DBM::npackages): New method.
	(Gonzui::DBM::close): Set @closed to true.
	(Gonzui::DBM::lazy_open_db): Check @closed and raise an error.
	(Gonzui::DBM::convert_to_symbol_info): Be private.
	(Gonzui::DBM::nsymbols): New method.
	(Gonzui::DBM::same?): New method.
	(Gonzui::DBM::get_symbol_ids): Return [] if id is not found.
	(Gonzui::DBM::get_symbol): New method.
	(Gonzui::BDBDBM::prefix_search): Close the cursor.

2004-08-20  Satoru Takabayashi  <satoru@namazu.org>

	* scfind-db (command_dump): Refined.

	* scfind/global.rb (Gonzui::GLOBAL::import_global_data_internal):
	New method.
	(Gonzui::GLOBAL::get_position): Removed.
	(Gonzui::GLOBAL::get_line): Ditto.
	(Gonzui::GLOBAL::read_content): Ditto.

	* tests/test-util.rb (TestUtil::make_clean): New method.

2004-08-19  Satoru Takabayashi  <satoru@namazu.org>

	* scfind/dbm.rb (Gonzui::DBM::get_last_id): New method.

	* tests/global.rb: New file.

	* scfind/global.rb: New file.
	* scfind.rb.in: require "global".
	(Gonzui::Importer::import_global): Moved to global.rb.
	(Gonzui::Importer::get_position): Ditto.
	(Gonzui::Importer::get_line): Ditto.
	(Gonzui::Importer::run_global): Ditto.
	* scfind/dbm.rb (Gonzui::DBM::add_package): Use GLOBAL.

	* scfind/dbm.rb (Gonzui::DBM::self): Make a directory for a dbm.
	(Gonzui::DBM::has_symbol?): New method.

	* scfind/importer.rb (Gonzui::Importer::initialize): Don't make a
	directory for a dbm in the method.

	* scfind/dbm.rb (Gonzui::BDBDBM::initialize): Use BDB::INIT_LOCK.

	* scfind/apt.rb (Gonzui::AptGet::available?): New method.
	(Gonzui::AptGet::run_apt_get): Use -qq option for apt-get.
	(Gonzui::AptGetForFedora::extract_srpm): Use --quiet option for
	cpio. 

	* tests/test-util.rb: New file.

	* scfind/cmdapp.rb
	(Gonzui::CommandLineApplication::parse_common_options): Renamed
	from parse_options_common.

	* tests/dbm.rb: New file.

	* tests/remover.rb: New file.

	* tests/cmdapp.rb: New file.

	* tests/importer.rb: New file.

2004-08-18  Satoru Takabayashi  <satoru@namazu.org>

	* tests/package.rb: New file.

	* scfind/util.rb (File::any_exist?): New method.

	* scfind/extractor.rb (Gonzui::Extractor): Use -q option for unzip
	command. 

	* tests/foo/Makefile.am: New file.
	* tests/foo/Makefile.foo: New file.
	* tests/foo-0.1/foo.c: New file.
	* configure.ac (AC_OUTPUT): Add tests/foo/Makefile
	* tests/Makefile.am (SUBDIRS): New variable.

	* tests/config.rb (ConfigTest::test_config): New file.

	* tests/apt.rb (AptTest::test_apt): New file.

	* scfind/util.rb (Gonzui::Util): New module.

2004-08-17  Satoru Takabayashi  <satoru@namazu.org>

	* scfind/autopack.rb (Gonzui::AutoPack::AutoPack::add_value):
	Renamed from concat_value.
	(Gonzui::AutoPack::AutoPack::replace_value): Renamed from
	modify_value. And add a check.

	* tests/autopack.rb: New file.

	* tests/util.rb (UtilTest::test_file_methods): New method.
	(UtilTest::test_command_operations): Ditto.
	(UtilTest::test_shell_escape): Ditto.
	(UtilTest::test_temporary_directory_util): Ditto.

	* scfind/util.rb (Gonzui::TemporaryDirectoryUtil): Refactored.

2004-08-16  Satoru Takabayashi  <satoru@namazu.org>

	* tests/Makefile.am: New file.
	* tests/extractor.rb: New file.
	* tests/util.rb: New file.

	* scfind/extractor.rb (Gonzui::Extractor::has_single_directory?):
	Rnamed from well_extracted?.

	* tests/Makefile.am: New file.

	* scfind/cmdapp.rb: Renamed from scfind/command.rb
	* scfind/cmdapp.rb (Gonzui::CommandLineApplication): Renamed from
	Gonzui::Command. 

	* scfind-db (parse_options_internal): New option: --dump.
	(command_list_files): Add command_ prefix.
	(command_list_packages): Ditto.
	(command_list_symbols): Ditto.
	(command_list_keys): Ditto.
	(command_retrieve): Ditto.
	(command_dump): New method.
	(each_matching_db): New method.
	(command_list_keys): Use it.

	* scfind: autotoolized.
	* README: New file.
	* Makefile.am: New file.
	* scfind/Makefile.am: New file.
	* configure.ac: New file.
	* acinclude.m4: New file.
	* autogen.sh: New file.
	* AUTHORS: New file.
	* NEWS: New file.
	* scfind.rb.in: New file.
	* scfind.rb: Removed.

2004-08-15  Satoru Takabayashi  <satoru@namazu.org>

	* scfind.rb (Gonzui::PackageAlreadyExists): New class.

	* scfind/importer.rb (Gonzui::Importer::get_line): New method. Use
	@lineno_cache for optimization.

2004-08-13  Satoru Takabayashi  <satoru@namazu.org>

	* scfind/apt.rb: New file.

	* scfind/util.rb (Gonzui::TemporaryDirectoryUtil): New module.

	* scfind/extractor.rb: Refactored.

	* scfind/importer.rb (Gonzui::Importer::add_archive): Renamed from add.
	(Gonzui::Importer::add_by_apt): New method.

2004-08-12  Satoru Takabayashi  <satoru@namazu.org>

	* scfind.rb: Separated to small files.
	* scfind/autopack.rb: New file derived from scfind.rb.
	* scfind/command.rb: Ditto.
	* scfind/config.rb: Ditto.
	* scfind/dbm.rb: Ditto.
	* scfind/extractor.rb: Ditto.
	* scfind/importer.rb: Ditto.
	* scfind/package.rb: Ditto.
	* scfind/remover.rb: Ditto.
	* scfind/util.rb: Ditto.
	
	* scfind.rb (Gonzui::Package): New class.

2004-08-11  Satoru Takabayashi  <satoru@namazu.org>

	* scfind-import (parse_options_internal): New option: --apt.

	* scfind-search (parse_options_internal): New option: --no-filename.

2004-08-09  Satoru Takabayashi  <satoru@namazu.org>

	* scfind-search (CommandLineSearcher): New class.

	* scfind.rb (Gonzui::Importer::summary): New method.

2004-08-07  Satoru Takabayashi  <satoru@namazu.org>

	* scfind.rb (Gonzui::AutoPack): New module.
	(Gonzui::IDOperation): Removed.

2004-08-06  Satoru Takabayashi  <satoru@namazu.org>

	* scfind.rb (Gonzui::StringAndNumber): New module.
	(Gonzui::StringAndNumbers): Ditto.
	(Gonzui::NumberAndNumber): Ditto.
	(Gonzui::NumberAndNumbers): Ditto.
	(Gonzui::NumberAndString): Ditto.

2004-08-05  Satoru Takabayashi  <satoru@namazu.org>

	* scfind.rb (Gonzui::IDOperation): New module.

	* scfind-remove: New file.

	* scfind-db: Renamed from scfind-list.

2004-08-04  Satoru Takabayashi  <satoru@namazu.org>

	* scfind-list: New file.

	* scfind.rb (Gonzui::Command): New module.

	* scfind-search (parse_options_internal): New option: --prefix.

	* scfind-import (parse_options_internal): New option: --list-symbols.

2004-08-03  Satoru Takabayashi  <satoru@namazu.org>

	* scfind.rb (Gonzui::Indexer): Removed.

	* scfind-search: New file.

	* scfind.rb (Gonzui::Config): New class.

	* scfind.rb (Gonzui::BDBDBM): New class.

	* scfind-import (parse_options): New option: --list.
	(parse_options): New option: --verbose, --version.

2004-07-29  Satoru Takabayashi  <satoru@namazu.org>

	* scfind.rb: New file.

2004-07-28  Satoru Takabayashi  <satoru@namazu.org>

	* scfind-import: New file.

	* scfind: Development started.
