=== 2010-08-05 mallowlabs * gonzui: Gem install support. === 2007-12-28 NIIBE Yutaka * 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 * gonzui/vcs.rb (Gonzui::AbstractVCS#initialize): don't require cvs stuff here. === 2006-10-04 Tanaka Akira * 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 * 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 * 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 * gonzui/extractor.rb (Gonzui::AbstractExtractor#arrange_extracted_files): always use archive name to generate package name. === 2006-02-22 Tanaka Akira * 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 * gonzui/cmdapp/app.rb (Gonzui::CommandLineApplication): Extend with Util to use eprintf from the class method Gonzui::CommandLineApplication.start. === 2006-02-20 Tanaka Akira * 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 * tests/updater.rb (UpdaterTest#test_update): Finish updaters explicitly. Closing bdb at exit may cause core dump. === 2006-01-12 Tanaka Akira * 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 * gonzui-search, gonzui/cmdapp/search.rb, tests/cmdapp-search.rb: New option: -P, --package. === 2006-01-09 Tanaka Akira * 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 * 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 * 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 * 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 * 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 * 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 * langscan/ruby/compat/ripper/ripper.c: Sync ripper after [ruby-dev:26958]. === 2005-09-04 Tanaka Akira * langscan/ruby/compat/ripper/ripper.c: sync ripper.c after [ruby-dev:26956]. === 2005-09-03 Kenichi Ishibashi * 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 * 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 * langscan/ruby.rb (LangScan::Ruby::Parser#on_defs): New method to detect singleton methods. === 2005-08-14 Kenichi Ishibashi * 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 * acinclude.m4 (AM_PATH_RUBY_BIN): Merge AM_CHECK_RUBY_VERSION. === 2005-08-03 Satoru Takabayashi * 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 * gonzui: Version 1.2 released. * AUTHORS: Add Yoshinori KUNIGA === 2005-06-10 Yoshinori KUNIGA * 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 * 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 * configure.ac (AC_OUTPUT): Add langscan/brainfuck/Makefile and langscan/brainfuck/test/Makefile. === 2005-05-22 MATSUNO Tokuhiro * langscan/perl/tokenizer.pl: Set the ALLOW_NONASCII flag. === 2005-05-07 MATSUNO Tokuhiro * 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 * AUTHORS: Add Soutaro Matsumoto . * 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 * 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 * 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 . * langscan/java/test/test-java.rb: Applied a patch by MIYAMUKO Katsuyuki . [Gonzui-devel 272]. === 2005-04-11 Satoru Takabayashi * 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 * gonzui-db (GonzuiDB::command_retrieve): Fix method call. === 2005-04-10 Satoru Takabayashi * 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 * langscan/c/ctok.l: Accept invalid escape sequences. reported by MIYAMUKO Katsuyuki . [Gonzui-devel 259] * langscan/c.rb (LangScan::C.scan): Fix function definition detection. reported by MIYAMUKO Katsuyuki . [Gonzui-devel 259] === 2005-04-08 Satoru Takabayashi * configure.ac: Bumped version number to 1.1. * gonzui/extractor.rb (Gonzui::TarExtractor): New class by MIYAMUKO Katsuyuki [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 * 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 * doc/gonzui.js: Supply "var" to all variables. Applied a patch by Toshiaki Katayama . === 2005-04-05 Satoru Takabayashi * doc/gonzui.js (initCache): Avoid using for (i in foo) syntax to support Safari and Netscape 7.1. Suggested by Toshiaki Katayama . (setHighlight): Ditto. === 2005-04-04 Satoru Takabayashi * langscan/_template.c (user_read_str): Make it static function. === 2005-03-31 Yoshinori KUNIGA * 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 * gonzui: Version 1.0 released. === 2005-03-28 Tanaka Akira * langscan/java/javatok.l, langscan/java/tokenlist.txt: Detect classdef. === 2005-03-28 Satoru Takabayashi * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * Makefile.am (gonzuistatedir): Remove $(DESTDIR). (install-data-local): Use $(DESTDIR) in the rule. - Based on a patch from matsuu [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 [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 * 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 . * 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 * 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 ? <bar()". support 'classdef' for "package Bar". support classref for "use Foo;". === 2005-03-18 Tatsuhiko Miyagawa * langscan/perl.rb: New file. * langscan/perl/tokenizer.rb: New file. === 2005-03-18 Satoru Takabayashi * 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 [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 * 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 * 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 * gonzui/extractor.rb (Gonzui::Extractor::extract_srpm): Modify the extraction process based on a patch from Yoshinori KUNIGA [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 * 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 . === 2005-03-04 Satoru Takabayashi * gonzui: Version 0.7 released. === 2005-03-04 Tanaka Akira * langscan/c/ctok.l: Fix recognition of preproc_beg in non-INITIAL state. [Gonzui-devel 128] === 2005-03-04 Satoru Takabayashi * 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 * 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 * 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 * 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 * 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 * 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 * gonzui/dbm.rb (Gonzui::AbstractDBM::flush_cache): Write two DBs separately to improve performance. === 2005-02-28 Satoru Takabayashi * 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 * langscan/c/ctok.l: Terminate CLASSDECL state. === 2005-02-25 Satoru Takabayashi * 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 # * 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 * 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 * gonzui/dbm.rb (Gonzui::AbstractDBM::flush_cache): Build package_word_id before iteration. === 2005-02-23 Satoru Takabayashi * 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 * 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 * 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 * 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 * 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 * 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 * 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 * configure.ac: Bumped version number to 0.6. * gonzui/dbm.rb (Gonzui::DB_VERSION): Bumped version number to 7. === 2005-02-19 Keisuke Nishida * 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 * 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 * 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 * acinclude.m4 (AM_CHECK_RUBY_VERSION): New macro. * configure.ac: Use it. === 2005-02-15 Tanaka Akira * 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 * 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 * 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 * langscan/pairmatcher, langscan/_pairmatcher.rb: New pair matching parser. * langscan/c.rb: Use pairmatcher. === 2005-02-12 Keisuke Nishida * 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 * 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 * 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 * 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 * license-test: New file. * Makefile.am (noinst_SCRIPTS): Add it. * gonzui: Add copyright notice to each file. === 2005-02-10 Keisuke Nishida * 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 * 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 * 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 * 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 * 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 * 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 * langscan/php/phptok.l: Modified the rule. === 2005-02-06 Satoru Takabayashi * 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 * 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 * 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 * 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 * 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 * 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 * 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 * gonzui/delta.c (rb_delta_do_delta_list): Optimized. === 2005-02-05 Satoru Takabayashi * 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 * langscan/php/phptok.l: Modify the rule. === 2005-02-05 Keisuke Nishida * gonzui/indexer.rb (Gonzui::Indexer::add_text): Optimized. === 2005-02-05 MATSUNO Tokuhiro * 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 * gonzui/indexer.rb (Gonzui::Indexer::statistics): Don't profile add_word. (Gonzui::Indexer::initialize_profilers_if_necessary): Ditto. === 2005-02-05 Satoru Takabayashi * gonzui/indexer.rb (Gonzui::Indexer::delta_compress): Removed. * gonzui/type.rb (Gonzui::DeltaCompression): New module. === 2005-02-04 Satoru Takabayashi * 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 * 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 * 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 * 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 * gonzui/Makefile.am (EXTRA_DIST): Define only once. === 2005-02-03 Satoru Takabayashi * 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 * 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 * 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 * 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 [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 [Gonzui-devel 1] * gonzui: Remove unnecessary langscan/*/test-all.rb files. * Applied a patch from "Yoshinori K. Okuji" . [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 * 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 * 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 * 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 * langscan/_common.rb (LangScan::LangScanner::scan): Count lines included in the pattern. * tests/langscanner.rb: Updated. === 2005-01-30 Keisuke Nishida * langscan/_common.rb (LangScan::LangScanner): New class. * tests/langscanner.rb: New file. * langscan/elisp.rb: New file. === 2005-01-29 Yoshinori K. Okuji * 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 * 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 * langscan/java.rb (LangScan::Java.scan): Squash duplicated fragments. === 2005-01-29 Satoru Takabayashi * 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 * 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 * 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 * 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 * 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 * 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 * tests/monitor.rb: Updated for the new profiler. === 2005-01-27 Keisuke Nishida * 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 * 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 * 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 * 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 * langscan/python.rb: Adapt to simplified Fragment definition. === 2005-01-24 Satoru Takabayashi * 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 * 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 * gonzui/monitor.rb (Gonzui::PerformanceMonitor::monitor): Ensure calling counter.leave. === 2005-01-23 Tanaka Akira * 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 * 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 * 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 * gonzui/monitor.rb (Gonzui::PerformanceMonitor::format): Compute subtotal correctly. === 2005-01-21 Satoru Takabayashi * 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 * 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 * 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 * 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 * 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 === 2005-01-14 Satoru Takabayashi * 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 * 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 * 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 * 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 * 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 * 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 * gonzui-server: Fix --daemon bug by applying a patch by Kenichi Ishibashi . Require fileutils.rb and fix field names of the config object. === 2005-01-06 Keisuke Nishida * doc/gonzui.js (lineCache): New variable that is used in place of classCache for line caches. (classCache): Removed. === 2004-12-30 Tanaka Akira * langscan/python.rb: New file. === 2004-12-29 Satoru Takabayashi * 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 * 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 * langscan/ruby.rb (LangScan::Ruby.scan): Detect class and module definition. === 2004-12-28 Satoru Takabayashi * 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 * 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 * 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 * 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 * langscan/ruby.rb (LangScan::Ruby::Parser): Detect method definitions and callsites. * langscan/ruby.rb: Register LangScan::Ruby. === 2004-12-27 Satoru Takabayashi * 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 * langscan/ruby.rb: New file. === 2004-12-24 Satoru Takabayashi * 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 * 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 * 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 * 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 * langscan/c.rb (LangScan::C.scan): Reverted because it's slow. * langscan/c.rb (LangScan::C.scan): Re-implemented. === 2004-12-15 Satoru Takabayashi * 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 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 * 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 * gonzui/webapp/xmlformatter.c (xmlformatter_write_obj): Optimized for symbols. === 2004-12-14 Keisuke Nishida * 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 * 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 * 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 * doc/gonzui.js (isInternetExplorer): Removed. (initCache, setHighlight, grep, onLineNoClick): Use for ... in loop. === 2004-12-10 Satoru Takabayashi * 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 * langscan/c.rb (LangScan::C.scan): Forgot "," may appear on toplevel. === 2004-12-10 Keisuke Nishida * gonzui/webapp/markup.rb (Gonzui::CodeBeautifier::beautify_simple): Add `content' attribute for each . (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 * 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 * 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 * 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 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 * 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 * 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 * 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 * 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 * langscan/c.rb (LangScan::C.scan): Skip whitespace for detecting functions. * langscan/java.rb (LangScan::Java.scan): Ditto. === 2004-11-30 Tanaka Akira * 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 * 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 * 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 * 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 * Makefile.am (bin_SCRIPTS): Add gonzui-server. === 2004-11-23 Keisuke Nishida * 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 * 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 * 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 * configure.ac (AC_OUTPUT), langscan/c*: Move langscan/c* to langscan/c/c* except langscan/c.rb. === 2004-11-10 Satoru Takabayashi * 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 * 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 * 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 * doc/gonzui.js: Make highlights persistent after a mouse is moved out. === 2004-10-29 Satoru Takabayashi * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * scfind-import (parse_options_internal): New option: --apt. * scfind-search (parse_options_internal): New option: --no-filename. === 2004-08-09 Satoru Takabayashi * scfind-search (CommandLineSearcher): New class. * scfind.rb (Gonzui::Importer::summary): New method. === 2004-08-07 Satoru Takabayashi * scfind.rb (Gonzui::AutoPack): New module. (Gonzui::IDOperation): Removed. === 2004-08-06 Satoru Takabayashi * scfind.rb (Gonzui::StringAndNumber): New module. (Gonzui::StringAndNumbers): Ditto. (Gonzui::NumberAndNumber): Ditto. (Gonzui::NumberAndNumbers): Ditto. (Gonzui::NumberAndString): Ditto. === 2004-08-05 Satoru Takabayashi * scfind.rb (Gonzui::IDOperation): New module. * scfind-remove: New file. * scfind-db: Renamed from scfind-list. === 2004-08-04 Satoru Takabayashi * 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 * 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 * scfind.rb: New file. === 2004-07-28 Satoru Takabayashi * scfind-import: New file. * scfind: Development started.