Only in aspell-0.60/: ABOUT-NLS Only in aspell-0.60/: aclocal.m4 diff -r -u -b -w --unidirectional-new-file aspell-0.60/ASpell6Cmd.dep aspell-0.60-vc++/ASpell6Cmd.dep --- aspell-0.60/ASpell6Cmd.dep 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/ASpell6Cmd.dep 2004-11-07 04:36:12.000000000 -0700 @@ -0,0 +1,136 @@ +# Microsoft Developer Studio Generated Dependency File, included by ASpell6Cmd.mak + +.\prog\aspell.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\document_checker.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\gettext.h"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\info.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\interfaces\cc\aspell.h"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\check_list.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\speller_impl.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\check_funs.hpp"\ + ".\prog\checker_string.hpp"\ + ".\prog\settings.h"\ + + +.\prog\check_funs.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\document_checker.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + ".\interfaces\cc\aspell.h"\ + ".\prog\check_funs.hpp"\ + ".\prog\checker_string.hpp"\ + ".\prog\settings.h"\ + + +.\prog\checker_string.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\document_checker.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + ".\interfaces\cc\aspell.h"\ + ".\prog\checker_string.hpp"\ + diff -r -u -b -w --unidirectional-new-file aspell-0.60/ASpell6Cmd.dsp aspell-0.60-vc++/ASpell6Cmd.dsp --- aspell-0.60/ASpell6Cmd.dsp 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/ASpell6Cmd.dsp 2004-11-07 04:36:12.000000000 -0700 @@ -0,0 +1,123 @@ +# Microsoft Developer Studio Project File - Name="ASpell6Cmd" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=ASpell6Cmd - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "ASpell6Cmd.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "ASpell6Cmd.mak" CFG="ASpell6Cmd - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "ASpell6Cmd - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "ASpell6Cmd - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "ASpell6Cmd - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ASpell6Cmd___Win32_Release" +# PROP BASE Intermediate_Dir "ASpell6Cmd___Win32_Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "ASpell6CmdRelease" +# PROP Intermediate_Dir "ASpell6CmdRelease" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GR /GX /O2 /I "prog" /I "common" /I "modules/filter" /I "modules/speller/default" /I "interfaces/cc" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "WIN32PORT" /D "PORTABLE" /D "NULLTERMINATE" /D "ASPELL_NO_EXPORTS" /FD /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 + +!ELSEIF "$(CFG)" == "ASpell6Cmd - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "ASpell6Cmd___Win32_Debug" +# PROP BASE Intermediate_Dir "ASpell6Cmd___Win32_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "ASpell6CmdDebug" +# PROP Intermediate_Dir "ASpell6CmdDebug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "prog" /I "common" /I "modules/filter" /I "modules/speller/default" /I "interfaces/cc" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "WIN32PORT" /D "PORTABLE" /D "NULLTERMINATE" /D "ASPELL_NO_EXPORTS" /FR /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "ASpell6Cmd - Win32 Release" +# Name "ASpell6Cmd - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\prog\aspell.cpp +# End Source File +# Begin Source File + +SOURCE=.\prog\check_funs.cpp +# End Source File +# Begin Source File + +SOURCE=.\prog\checker_string.cpp +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\prog\check_funs.hpp +# End Source File +# Begin Source File + +SOURCE=.\prog\checker_string.hpp +# End Source File +# Begin Source File + +SOURCE=.\prog\settings.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff -r -u -b -w --unidirectional-new-file aspell-0.60/ASpell6Cmd.plg aspell-0.60-vc++/ASpell6Cmd.plg --- aspell-0.60/ASpell6Cmd.plg 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/ASpell6Cmd.plg 2004-11-07 04:36:12.000000000 -0700 @@ -0,0 +1,550 @@ + + +
+

Build Log

+

+--------------------Configuration: Aspell6static - Win32 Debug-------------------- +

+

Command Lines

+Creating temporary file "c:\windows\TEMP\RSP8110.TMP" with contents +[ +/nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "prog" /I "common" /I "modules/filter" /I "modules/speller/default" /I "interfaces/cc" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "WIN32PORT" /D "PORTABLE" /D "NULLTERMINATE" /D "ASPELL_NO_EXPORTS" /FR"Aspell6static___Win32_Debug/" /Fo"Aspell6static___Win32_Debug/" /Fd"Aspell6static___Win32_Debug/" /FD /GZ /c +"C:\Projects\Aspell6\common\cache.cpp" +"C:\Projects\Aspell6\common\config.cpp" +"C:\Projects\Aspell6\common\convert.cpp" +"C:\Projects\Aspell6\common\info.cpp" +"C:\Projects\Aspell6\lib\new_filter.cpp" +"C:\Projects\Aspell6\lib\new_fmode.cpp" +"C:\Projects\Aspell6\modules\speller\default\data.cpp" +"C:\Projects\Aspell6\modules\speller\default\language.cpp" +"C:\Projects\Aspell6\modules\speller\default\suggest.cpp" +"C:\Projects\Aspell6\modules\speller\default\typo_editdist.cpp" +] +Creating command line "cl.exe @c:\windows\TEMP\RSP8110.TMP" +Creating temporary file "c:\windows\TEMP\RSP8111.TMP" with contents +[ +/nologo /out:"Aspell6static___Win32_Debug\Aspell6static.lib" +.\Aspell6static___Win32_Debug\cache.obj +.\Aspell6static___Win32_Debug\can_have_error.obj +.\Aspell6static___Win32_Debug\config.obj +.\Aspell6static___Win32_Debug\convert.obj +.\Aspell6static___Win32_Debug\document_checker.obj +.\Aspell6static___Win32_Debug\error.obj +.\Aspell6static___Win32_Debug\errors.obj +.\Aspell6static___Win32_Debug\file_data_util.obj +.\Aspell6static___Win32_Debug\file_util.obj +.\Aspell6static___Win32_Debug\filter.obj +.\Aspell6static___Win32_Debug\fstream.obj +.\Aspell6static___Win32_Debug\getdata.obj +.\Aspell6static___Win32_Debug\gettext_init.obj +.\Aspell6static___Win32_Debug\info.obj +.\Aspell6static___Win32_Debug\iostream.obj +.\Aspell6static___Win32_Debug\itemize.obj +.\Aspell6static___Win32_Debug\objstack.obj +.\Aspell6static___Win32_Debug\path_browse.obj +.\Aspell6static___Win32_Debug\posib_err.obj +.\Aspell6static___Win32_Debug\speller.obj +.\Aspell6static___Win32_Debug\string.obj +.\Aspell6static___Win32_Debug\string_list.obj +.\Aspell6static___Win32_Debug\string_map.obj +.\Aspell6static___Win32_Debug\strtonum.obj +.\Aspell6static___Win32_Debug\tokenizer.obj +".\Aspell6static___Win32_Debug\can_have_error-c.obj" +".\Aspell6static___Win32_Debug\config-c.obj" +".\Aspell6static___Win32_Debug\document_checker-c.obj" +.\Aspell6static___Win32_Debug\dummy.obj +".\Aspell6static___Win32_Debug\error-c.obj" +".\Aspell6static___Win32_Debug\filter-c.obj" +.\Aspell6static___Win32_Debug\find_speller.obj +".\Aspell6static___Win32_Debug\info-c.obj" +".\Aspell6static___Win32_Debug\mutable_container-c.obj" +.\Aspell6static___Win32_Debug\new_checker.obj +.\Aspell6static___Win32_Debug\new_config.obj +.\Aspell6static___Win32_Debug\new_filter.obj +.\Aspell6static___Win32_Debug\new_fmode.obj +".\Aspell6static___Win32_Debug\speller-c.obj" +".\Aspell6static___Win32_Debug\string_enumeration-c.obj" +".\Aspell6static___Win32_Debug\string_list-c.obj" +".\Aspell6static___Win32_Debug\string_map-c.obj" +".\Aspell6static___Win32_Debug\string_pair_enumeration-c.obj" +".\Aspell6static___Win32_Debug\word_list-c.obj" +".\Aspell6static___Win32_Debug\po-filter.obj" +.\Aspell6static___Win32_Debug\context.obj +.\Aspell6static___Win32_Debug\email.obj +.\Aspell6static___Win32_Debug\sgml.obj +.\Aspell6static___Win32_Debug\tex.obj +.\Aspell6static___Win32_Debug\url.obj +.\Aspell6static___Win32_Debug\affix.obj +.\Aspell6static___Win32_Debug\data.obj +.\Aspell6static___Win32_Debug\editdist.obj +.\Aspell6static___Win32_Debug\language.obj +.\Aspell6static___Win32_Debug\leditdist.obj +.\Aspell6static___Win32_Debug\multi_ws.obj +.\Aspell6static___Win32_Debug\phonet.obj +.\Aspell6static___Win32_Debug\phonetic.obj +.\Aspell6static___Win32_Debug\primes.obj +.\Aspell6static___Win32_Debug\readonly_ws.obj +.\Aspell6static___Win32_Debug\speller_impl.obj +.\Aspell6static___Win32_Debug\suggest.obj +.\Aspell6static___Win32_Debug\typo_editdist.obj +.\Aspell6static___Win32_Debug\writable.obj +.\Aspell6static___Win32_Debug\basic.obj +] +Creating command line "link.exe -lib @c:\windows\TEMP\RSP8111.TMP" +

Output Window

+Compiling... +cache.cpp +verify Win32 Mutex class +c:\projects\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +Generating Code... +Compiling... +config.cpp +verify Win32 Mutex class +c:\projects\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\projects\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +c:\projects\aspell6\common\config.cpp(322) : warning C4800: 'const struct acommon::Config::Entry *' : forcing value to bool 'true' or 'false' (performance warning) +convert.cpp +c:\projects\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\projects\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +info.cpp +verify Win32 Mutex class +new_filter.cpp +verify Win32 Mutex class +verify Win32 Mutex class +c:\projects\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +new_fmode.cpp +verify Win32 Mutex class +c:\projects\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +data.cpp +c:\projects\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\projects\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +language.cpp +verify Win32 Mutex class +c:\projects\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\projects\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +suggest.cpp +verify Win32 Mutex class +verify that this is the right to_lower function +c:\projects\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\projects\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +verify Win32 Mutex class +c:\program files\microsoft visual studio\vc98\include\list(42) : warning C4786: '?_Value@_Acc@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@SAAAUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@PAU_Node@23@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(68) : warning C4786: '??Dconst_iterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEABUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(70) : warning C4786: '??Cconst_iterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEPBUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(103) : warning C4786: '??Diterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEAAUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(105) : warning C4786: '??Citerator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEPAUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(125) : warning C4786: '?$reverse_bidirectional_iterator@Viterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@AAU45@PAU45@H' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(128) : warning C4786: '?$reverse_bidirectional_iterator@Vconst_iterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@ABU45@PBU45@H' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(132) : warning C4786: '??0?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE@ABV?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@1@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(137) : warning C4786: '??0?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE@IABUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@ABV?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@1@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(145) : warning C4786: '??0?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE@PBUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@0ABV?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@1@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(154) : warning C4786: '??0?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE@Vconst_iterator@01@0ABV?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@1@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(176) : warning C4786: '?rbegin@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE?AV?$reverse_bidirectional_iterator@Viterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@AAU45@PAU45@H@2@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(178) : warning C4786: '?rbegin@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBE?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@ABU45@PBU45@H@2@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(180) : warning C4786: '?rend@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE?AV?$reverse_bidirectional_iterator@Viterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@AAU45@PAU45@H@2@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(181) : warning C4786: '?rend@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBE?AV?$reverse_bidirectional_iterator@Vconst_iterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@ABU45@PBU45@H@2@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(188) : warning C4786: '?resize@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXIUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(196) : warning C4786: '?get_allocator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBE?AV?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@2@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(198) : warning C4786: '?front@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEAAUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(200) : warning C4786: '?front@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEABUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(202) : warning C4786: '?back@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEAAUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(204) : warning C4786: '?back@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEABUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(207) : warning C4786: '?push_front@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXABUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(211) : warning C4786: '?push_back@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXABUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(217) : warning C4786: '?assign@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXIABUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(225) : warning C4786: '?insert@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE?AViterator@12@V312@ABUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(228) : warning C4786: '?insert@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXViterator@12@IABUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(231) : warning C4786: '?insert@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXViterator@12@PBUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@1@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(284) : warning C4786: '?remove@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXABUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\functional(181) : warning C4786: '??0?$binder2nd@U?$not_equal_to@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE@ABU?$not_equal_to@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@1@ABUScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@Z' : identifier was truncated to '255' characters in the browser information + c:\program files\microsoft visual studio\vc98\include\list(285) : see reference to class template instantiation 'std::binder2nd >' being compiled + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(300) : warning C4786: '?remove_if@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXV?$binder2nd@U?$not_equal_to@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@2@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(310) : warning C4786: '?unique@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXU?$not_equal_to@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@2@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(359) : warning C4786: '?merge@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXAAV12@U?$greater@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@2@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\program files\microsoft visual studio\vc98\include\list(385) : warning C4786: '?sort@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXU?$greater@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@2@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\basic_list.hpp(37) : see reference to class template instantiation 'std::list >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\projects\aspell6\common\basic_list.hpp(47) : warning C4786: '?begin@?$BasicList@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@acommon@@QAE?AViterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\projects\aspell6\common\basic_list.hpp(48) : warning C4786: '?end@?$BasicList@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@acommon@@QAE?AViterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\projects\aspell6\common\basic_list.hpp(49) : warning C4786: '?begin@?$BasicList@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@acommon@@QBE?AVconst_iterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\projects\aspell6\common\basic_list.hpp(50) : warning C4786: '?end@?$BasicList@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@acommon@@QBE?AVconst_iterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\projects\aspell6\common\basic_list.hpp(64) : warning C4786: '?splice_into@?$BasicList@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@acommon@@QAEXAAV12@Viterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@1@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\modules\speller\default\suggest.cpp(173) : see reference to class template instantiation 'acommon::BasicList' being compiled +c:\projects\aspell6\modules\speller\default\suggest.cpp(273) : warning C4786: '?skip_first_couple@Working@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@AAEHAAViterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@@Z' : identifier was truncated to '255' characters in the browser information +c:\projects\aspell6\modules\speller\default\suggest.cpp(255) : warning C4786: '?preview_next@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@YA?AViterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@V234@@Z' : identifier was truncated to '255' characters in the browser information +c:\program files\microsoft visual studio\vc98\include\vector(41) : warning C4786: '??0?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE@ABV?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@1@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(48) : warning C4786: '??0?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE@IABUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@ABV?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@1@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(61) : warning C4786: '??0?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE@PBUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@0ABV?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@1@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(95) : warning C4786: '?begin@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEPAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(97) : warning C4786: '?begin@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEPBUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(99) : warning C4786: '?end@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEPAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(101) : warning C4786: '?end@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEPBUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(103) : warning C4786: '?rbegin@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE?AV?$reverse_iterator@PAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@U12@AAU12@PAU12@H@2@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(105) : warning C4786: '?rbegin@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBE?AV?$reverse_iterator@PBUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@U12@ABU12@PBU12@H@2@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(107) : warning C4786: '?rend@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE?AV?$reverse_iterator@PAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@U12@AAU12@PAU12@H@2@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(108) : warning C4786: '?rend@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBE?AV?$reverse_iterator@PBUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@U12@ABU12@PBU12@H@2@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(114) : warning C4786: '?resize@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXIABUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(121) : warning C4786: '?get_allocator@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBE?AV?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@2@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(125) : warning C4786: '?at@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEABUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@I@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(129) : warning C4786: '?at@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEAAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@I@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(131) : warning C4786: '??A?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEABUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@I@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(134) : warning C4786: '??A?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEAAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@I@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(136) : warning C4786: '?front@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEAAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(138) : warning C4786: '?front@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEABUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(140) : warning C4786: '?back@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEAAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(142) : warning C4786: '?back@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEABUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(145) : warning C4786: '?push_back@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXABUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(148) : warning C4786: '?assign@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXPBUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@0@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(151) : warning C4786: '?assign@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXIABUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(155) : warning C4786: '?insert@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEPAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@PAU34@ABU34@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(177) : warning C4786: '?insert@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXPAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@IABU34@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(201) : warning C4786: '?insert@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXPAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@PBU34@1@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(206) : warning C4786: '?erase@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEPAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@PAU34@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(213) : warning C4786: '?erase@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEPAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@PAU34@0@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(232) : warning C4786: '?_Destroy@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@IAEXPAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@0@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(237) : warning C4786: '?_Ucopy@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@IAEPAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@PBU34@0PAU34@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(242) : warning C4786: '?_Ufill@?$vector@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@IAEXPAUReplTry@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@IABU34@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(851) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(41) : warning C4786: '??0?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE@ABV?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@1@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(48) : warning C4786: '??0?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE@IABUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@ABV?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@1@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(61) : warning C4786: '??0?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE@PBUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@0ABV?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@1@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(95) : warning C4786: '?begin@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEPAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(97) : warning C4786: '?begin@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEPBUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(99) : warning C4786: '?end@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEPAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(101) : warning C4786: '?end@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEPBUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(103) : warning C4786: '?rbegin@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE?AV?$reverse_iterator@PAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@U12@AAU12@PAU12@H@2@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(105) : warning C4786: '?rbegin@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBE?AV?$reverse_iterator@PBUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@U12@ABU12@PBU12@H@2@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(107) : warning C4786: '?rend@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAE?AV?$reverse_iterator@PAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@U12@AAU12@PAU12@H@2@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(108) : warning C4786: '?rend@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBE?AV?$reverse_iterator@PBUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@U12@ABU12@PBU12@H@2@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(114) : warning C4786: '?resize@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXIABUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(121) : warning C4786: '?get_allocator@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBE?AV?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@2@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(125) : warning C4786: '?at@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEABUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@I@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(129) : warning C4786: '?at@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEAAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@I@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(131) : warning C4786: '??A?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEABUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@I@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(134) : warning C4786: '??A?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEAAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@I@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(136) : warning C4786: '?front@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEAAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(138) : warning C4786: '?front@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEABUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(140) : warning C4786: '?back@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEAAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(142) : warning C4786: '?back@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QBEABUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@XZ' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(145) : warning C4786: '?push_back@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXABUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(148) : warning C4786: '?assign@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXPBUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@0@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(151) : warning C4786: '?assign@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXIABUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(155) : warning C4786: '?insert@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEPAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@PAU34@ABU34@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(177) : warning C4786: '?insert@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXPAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@IABU34@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(201) : warning C4786: '?insert@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEXPAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@PBU34@1@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(206) : warning C4786: '?erase@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEPAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@PAU34@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(213) : warning C4786: '?erase@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@QAEPAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@PAU34@0@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(232) : warning C4786: '?_Destroy@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@IAEXPAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@0@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(237) : warning C4786: '?_Ucopy@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@IAEPAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@PBU34@0PAU34@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\program files\microsoft visual studio\vc98\include\vector(242) : warning C4786: '?_Ufill@?$vector@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@IAEXPAUNGramScore@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@IABU34@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\vector.hpp(16) : see reference to class template instantiation 'std::vector >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(917) : see reference to class template instantiation 'acommon::Vector' being compiled +c:\projects\aspell6\common\hash.hpp(133) : warning C4786: '??0?$HashTable@VString@acommon@@V12@U?$HashSetParms@VString@acommon@@U?$hash@VString@acommon@@@2@U?$GetEqualCls@VString@acommon@@@2@$0A@@2@@acommon@@QAE@HABU?$HashSetParms@VString@acommon@@U?$hash@VString@acommon@@@2@U?$GetEqualCls@VString@acommon@@@2@$0A@@1@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\common\hash.hpp(273) : see reference to class template instantiation 'acommon::HashTable,struct acommon::GetEqualCls,0> >' being compiled + c:\projects\aspell6\modules\speller\default\suggest.cpp(1201) : see reference to class template instantiation 'acommon::hash_set,struct acommon::GetEqualCls >' being compiled +c:\projects\aspell6\common\enumeration.hpp(76) : warning C4786: '??0?$MakeEnumeration@UParms@SuggestionListImpl@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@VStringEnumeration@acommon@@@acommon@@QAE@QBVString@1@ABUParms@SuggestionListImpl@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@Z' : identifier was truncated to '255' characters in the browser information + c:\projects\aspell6\modules\speller\default\suggest.cpp(1256) : see reference to class template instantiation 'acommon::MakeEnumeration' being compiled +c:\program files\microsoft visual studio\vc98\include\list(131) : warning C4786: 'std::?$reverse_bidirectional_iterator@Viterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@AAU45@PAU45@H' : identifier was truncated to '255' characters in the debug information + c:\program files\microsoft visual studio\vc98\include\list(129) : while compiling class-template member function '__thiscall std::list<`anonymous namespace'::ScoreWordSound,std::allocator<`anonymous namespace'::ScoreWordSound> >::std::list<`anonymous namespace'::ScoreWordSound,std::allocator<`anonymous namespace'::ScoreWordSound> >(const std::allocator<`anonymous namespace'::ScoreWordSound> &)' +c:\program files\microsoft visual studio\vc98\include\list(131) : warning C4786: 'std::?$reverse_bidirectional_iterator@Vconst_iterator@?$list@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@V?$allocator@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@@std@@@std@@UScoreWordSound@?%c:\projects\aspell6\modules\speller\default\suggest.cpp297979027@@ABU45@PBU45@H' : identifier was truncated to '255' characters in the debug information + c:\program files\microsoft visual studio\vc98\include\list(129) : while compiling class-template member function '__thiscall std::list<`anonymous namespace'::ScoreWordSound,std::allocator<`anonymous namespace'::ScoreWordSound> >::std::list<`anonymous namespace'::ScoreWordSound,std::allocator<`anonymous namespace'::ScoreWordSound> >(const std::allocator<`anonymous namespace'::ScoreWordSound> &)' +typo_editdist.cpp +c:\projects\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\projects\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +Generating Code... +verify Win32 Mutex class +c:\projects\aspell6\common\hash.hpp(135) : warning C4786: 'acommon::HashTable,acommon::GetEqualCls,0> >::~HashTable,acommon::GetEqualCls,0> >' : identifier was truncated to '255' characters in the debug information +c:\projects\aspell6\common\hash.hpp(135) : warning C4786: 'acommon::HashTable,acommon::GetEqualCls,0> >::~HashTable,acommon::GetEqualCls,0> >' : identifier was truncated to '255' characters in the debug information +c:\projects\aspell6\common\hash.hpp(130) : warning C4786: 'acommon::HashTable,acommon::GetEqualCls,0> >::HashTable,acommon::GetEqualCls,0> >' : identifier was truncated to '255' characters in the debug information +c:\projects\aspell6\common\hash.hpp(130) : warning C4786: '__ehhandler$??0?$HashTable@VString@acommon@@V12@U?$HashSetParms@VString@acommon@@U?$hash@VString@acommon@@@2@U?$GetEqualCls@VString@acommon@@@2@$0A@@2@@acommon@@QAE@HABU?$HashSetParms@VString@acommon@@U?$hash@VString@acommon@@@2@U?$GetEqualCls@VString@acommon@@@2@$0A@@1@@Z' : identifier was truncated to '255' characters in the debug information +c:\projects\aspell6\common\hash.hpp(130) : warning C4786: '__unwindfunclet$??0?$HashTable@VString@acommon@@V12@U?$HashSetParms@VString@acommon@@U?$hash@VString@acommon@@@2@U?$GetEqualCls@VString@acommon@@@2@$0A@@2@@acommon@@QAE@HABU?$HashSetParms@VString@acommon@@U?$hash@VString@acommon@@@2@U?$GetEqualCls@VString@acommon@@@2@$0A@@1@@Z$0' : identifier was truncated to '255' characters in the debug information +c:\projects\aspell6\common\hash.hpp(130) : warning C4786: 'acommon::HashTable,acommon::GetEqualCls,0> >::HashTable,acommon::GetEqualCls,0> >' : identifier was truncated to '255' characters in the debug information +Creating library... +Creating temporary file "c:\windows\TEMP\RSPA261.TMP" with contents +[ +/nologo /o"Aspell6static___Win32_Debug/Aspell6static.bsc" +.\Aspell6static___Win32_Debug\cache.sbr +.\Aspell6static___Win32_Debug\can_have_error.sbr +.\Aspell6static___Win32_Debug\config.sbr +.\Aspell6static___Win32_Debug\convert.sbr +.\Aspell6static___Win32_Debug\document_checker.sbr +.\Aspell6static___Win32_Debug\error.sbr +.\Aspell6static___Win32_Debug\errors.sbr +.\Aspell6static___Win32_Debug\file_data_util.sbr +.\Aspell6static___Win32_Debug\file_util.sbr +.\Aspell6static___Win32_Debug\filter.sbr +.\Aspell6static___Win32_Debug\fstream.sbr +.\Aspell6static___Win32_Debug\getdata.sbr +.\Aspell6static___Win32_Debug\gettext_init.sbr +.\Aspell6static___Win32_Debug\info.sbr +.\Aspell6static___Win32_Debug\iostream.sbr +.\Aspell6static___Win32_Debug\itemize.sbr +.\Aspell6static___Win32_Debug\objstack.sbr +.\Aspell6static___Win32_Debug\path_browse.sbr +.\Aspell6static___Win32_Debug\posib_err.sbr +.\Aspell6static___Win32_Debug\speller.sbr +.\Aspell6static___Win32_Debug\string.sbr +.\Aspell6static___Win32_Debug\string_list.sbr +.\Aspell6static___Win32_Debug\string_map.sbr +.\Aspell6static___Win32_Debug\strtonum.sbr +.\Aspell6static___Win32_Debug\tokenizer.sbr +".\Aspell6static___Win32_Debug\can_have_error-c.sbr" +".\Aspell6static___Win32_Debug\config-c.sbr" +".\Aspell6static___Win32_Debug\document_checker-c.sbr" +.\Aspell6static___Win32_Debug\dummy.sbr +".\Aspell6static___Win32_Debug\error-c.sbr" +".\Aspell6static___Win32_Debug\filter-c.sbr" +.\Aspell6static___Win32_Debug\find_speller.sbr +".\Aspell6static___Win32_Debug\info-c.sbr" +".\Aspell6static___Win32_Debug\mutable_container-c.sbr" +.\Aspell6static___Win32_Debug\new_checker.sbr +.\Aspell6static___Win32_Debug\new_config.sbr +.\Aspell6static___Win32_Debug\new_filter.sbr +.\Aspell6static___Win32_Debug\new_fmode.sbr +".\Aspell6static___Win32_Debug\speller-c.sbr" +".\Aspell6static___Win32_Debug\string_enumeration-c.sbr" +".\Aspell6static___Win32_Debug\string_list-c.sbr" +".\Aspell6static___Win32_Debug\string_map-c.sbr" +".\Aspell6static___Win32_Debug\string_pair_enumeration-c.sbr" +".\Aspell6static___Win32_Debug\word_list-c.sbr" +".\Aspell6static___Win32_Debug\po-filter.sbr" +.\Aspell6static___Win32_Debug\context.sbr +.\Aspell6static___Win32_Debug\email.sbr +.\Aspell6static___Win32_Debug\sgml.sbr +.\Aspell6static___Win32_Debug\tex.sbr +.\Aspell6static___Win32_Debug\url.sbr +.\Aspell6static___Win32_Debug\affix.sbr +.\Aspell6static___Win32_Debug\data.sbr +.\Aspell6static___Win32_Debug\editdist.sbr +.\Aspell6static___Win32_Debug\language.sbr +.\Aspell6static___Win32_Debug\leditdist.sbr +.\Aspell6static___Win32_Debug\multi_ws.sbr +.\Aspell6static___Win32_Debug\phonet.sbr +.\Aspell6static___Win32_Debug\phonetic.sbr +.\Aspell6static___Win32_Debug\primes.sbr +.\Aspell6static___Win32_Debug\readonly_ws.sbr +.\Aspell6static___Win32_Debug\speller_impl.sbr +.\Aspell6static___Win32_Debug\suggest.sbr +.\Aspell6static___Win32_Debug\typo_editdist.sbr +.\Aspell6static___Win32_Debug\writable.sbr +.\Aspell6static___Win32_Debug\basic.sbr] +Creating command line "bscmake.exe @c:\windows\TEMP\RSPA261.TMP" +Creating browse info file... +

Output Window

+

+--------------------Configuration: ASpell6Cmd - Win32 Debug-------------------- +

+

Command Lines

+Creating temporary file "c:\windows\TEMP\RSPA390.TMP" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes /pdb:"ASpell6CmdDebug/ASpell6Cmd.pdb" /debug /machine:I386 /out:"ASpell6CmdDebug/ASpell6Cmd.exe" /pdbtype:sept +.\ASpell6CmdDebug\aspell.obj +.\ASpell6CmdDebug\check_funs.obj +.\ASpell6CmdDebug\checker_string.obj +.\Aspell6static___Win32_Debug\Aspell6static.lib +] +Creating command line "link.exe @c:\windows\TEMP\RSPA390.TMP" +

Output Window

+Linking... + Creating library ASpell6CmdDebug/ASpell6Cmd.lib and object ASpell6CmdDebug/ASpell6Cmd.exp + + + +

Results

+ASpell6Cmd.exe - 0 error(s), 130 warning(s) +
+ + diff -r -u -b -w --unidirectional-new-file aspell-0.60/Aspell6.dep aspell-0.60-vc++/Aspell6.dep --- aspell-0.60/Aspell6.dep 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/Aspell6.dep 2004-11-07 04:36:14.000000000 -0700 @@ -0,0 +1,136 @@ +# Microsoft Developer Studio Generated Dependency File, included by Aspell6.mak + +.\prog\aspell.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\document_checker.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\gettext.h"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\info.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\interfaces\cc\aspell.h"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\check_list.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\speller_impl.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\check_funs.hpp"\ + ".\prog\checker_string.hpp"\ + ".\prog\settings.h"\ + + +.\prog\check_funs.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\document_checker.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + ".\interfaces\cc\aspell.h"\ + ".\prog\check_funs.hpp"\ + ".\prog\checker_string.hpp"\ + ".\prog\settings.h"\ + + +.\prog\checker_string.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\document_checker.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + ".\interfaces\cc\aspell.h"\ + ".\prog\checker_string.hpp"\ + diff -r -u -b -w --unidirectional-new-file aspell-0.60/Aspell6.dsp aspell-0.60-vc++/Aspell6.dsp --- aspell-0.60/Aspell6.dsp 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/Aspell6.dsp 2004-11-07 04:36:14.000000000 -0700 @@ -0,0 +1,122 @@ +# Microsoft Developer Studio Project File - Name="Aspell6" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=Aspell6 - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "Aspell6.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "Aspell6.mak" CFG="Aspell6 - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "Aspell6 - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "Aspell6 - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "Aspell6 - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GR /GX /O2 /I "prog" /I "common" /I "modules/filter" /I "modules/speller/default" /I "interfaces/cc" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "WIN32PORT" /D "PORTABLE" /D "NULLTERMINATE" /FD /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 + +!ELSEIF "$(CFG)" == "Aspell6 - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "prog" /I "common" /I "modules/filter" /I "modules/speller/default" /I "interfaces/cc" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "WIN32PORT" /D "PORTABLE" /D "NULLTERMINATE" /FD /GZ /c +# SUBTRACT CPP /Fr /YX +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "Aspell6 - Win32 Release" +# Name "Aspell6 - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\prog\aspell.cpp +# End Source File +# Begin Source File + +SOURCE=.\prog\check_funs.cpp +# End Source File +# Begin Source File + +SOURCE=.\prog\checker_string.cpp +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\prog\check_funs.hpp +# End Source File +# Begin Source File + +SOURCE=.\prog\checker_string.hpp +# End Source File +# Begin Source File + +SOURCE=.\prog\settings.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff -r -u -b -w --unidirectional-new-file aspell-0.60/Aspell6.dsw aspell-0.60-vc++/Aspell6.dsw --- aspell-0.60/Aspell6.dsw 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/Aspell6.dsw 2004-11-07 04:36:14.000000000 -0700 @@ -0,0 +1,71 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "ASpell6Cmd"=.\ASpell6Cmd.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name Aspell6static + End Project Dependency +}}} + +############################################################################### + +Project: "ASpell6Dynamic"=.\ASpell6Dynamic.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "Aspell6"=.\Aspell6.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name ASpell6Dynamic + End Project Dependency +}}} + +############################################################################### + +Project: "Aspell6static"=.\Aspell6static.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff -r -u -b -w --unidirectional-new-file aspell-0.60/ASpell6Dynamic.dep aspell-0.60-vc++/ASpell6Dynamic.dep --- aspell-0.60/ASpell6Dynamic.dep 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/ASpell6Dynamic.dep 2004-11-07 04:36:14.000000000 -0700 @@ -0,0 +1,1676 @@ +# Microsoft Developer Studio Generated Dependency File, included by ASpell6Dynamic.mak + +.\common\cache.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\istream.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\prog\settings.h"\ + + +.\common\can_have_error.cpp : \ + ".\common\can_have_error.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + + +.\common\config.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\block_slist.hpp"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\gettext.h"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\istream.hpp"\ + ".\common\itemize.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vararray.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\common\convert.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_data_util.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\gettext.h"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\vararray.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\common\document_checker.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\document_checker.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\tokenizer.hpp"\ + ".\common\vector.hpp"\ + + +.\common\error.cpp : \ + ".\common\error.hpp"\ + + +.\common\errors.cpp : \ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\gettext.h"\ + ".\common\string_util.hpp"\ + ".\prog\settings.h"\ + + +.\common\file_data_util.cpp : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_data_util.hpp"\ + ".\common\file_util.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\vector.hpp"\ + + +.\common\file_util.cpp : \ + "..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\common\filter.cpp : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\indiv_filter.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\speller.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\strtonum.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\common\fstream.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\fstream.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + + +.\common\getdata.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\fstream.hpp"\ + ".\common\getdata.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + + +.\common\gettext_init.cpp : \ + ".\common\aspellroot.h"\ + ".\common\gettext.h"\ + ".\prog\settings.h"\ + + +.\common\info.cpp : \ + "..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\gettext.h"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\info.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\itemize.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\strtonum.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\common\iostream.cpp : \ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\fstream.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + + +.\common\itemize.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\istream.hpp"\ + ".\common\itemize.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + + +.\common\objstack.cpp : \ + ".\common\aspellroot.h"\ + ".\common\objstack.hpp"\ + ".\common\parm_string.hpp"\ + + +.\common\path_browse.cpp : \ + "..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\ + ".\common\aspellroot.h"\ + ".\common\char_vector.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\path_browse.h"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\type_id.hpp"\ + + +.\common\posib_err.cpp : \ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\fstream.hpp"\ + ".\common\gettext.h"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_util.hpp"\ + ".\prog\settings.h"\ + + +.\common\speller.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + + +.\common\string.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\string.hpp"\ + ".\common\string_util.hpp"\ + + +.\common\string_list.cpp : \ + ".\common\aspellroot.h"\ + ".\common\char_vector.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\type_id.hpp"\ + + +.\common\string_map.cpp : \ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\prog\settings.h"\ + + +.\common\strtonum.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\strtonum.hpp"\ + + +.\common\tokenizer.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\tokenizer.hpp"\ + ".\common\vector.hpp"\ + + +".\lib\can_have_error-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + + +".\lib\config-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\vector.hpp"\ + + +".\lib\document_checker-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\document_checker.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + + +".\lib\error-c.cpp" : \ + ".\common\error.hpp"\ + + +".\lib\filter-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + + +.\lib\find_speller.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\block_slist.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\gettext.h"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\info.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +".\lib\info-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\info.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\type_id.hpp"\ + + +".\lib\mutable_container-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + + +.\lib\new_checker.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\document_checker.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\tokenizer.hpp"\ + ".\common\vector.hpp"\ + + +.\lib\new_config.cpp : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + + +.\lib\new_filter.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\block_slist.hpp"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\indiv_filter.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\itemize.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\strtonum.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\lib\filter_entry.hpp"\ + ".\modules\filter\static_filters.src.cpp"\ + ".\prog\settings.h"\ + + +.\lib\new_fmode.cpp : \ + "..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\path_browse.h"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\strtonum.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +".\lib\speller-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\interfaces\cc\aspell.h"\ + + +".\lib\string_enumeration-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\interfaces\cc\aspell.h"\ + + +".\lib\string_list-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\char_vector.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\type_id.hpp"\ + + +".\lib\string_map-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\prog\settings.h"\ + + +".\lib\string_pair_enumeration-c.cpp" : \ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + + +".\lib\word_list-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\char_vector.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\word_list.hpp"\ + ".\interfaces\cc\aspell.h"\ + + +.\modules\filter\context.cpp : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\indiv_filter.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\modules\filter\email.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\indiv_filter.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\modules\filter\sgml.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\indiv_filter.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\modules\filter\tex.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\gettext.h"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\indiv_filter.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\modules\filter\url.cpp : \ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\indiv_filter.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\affix.cpp : \ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\gettext.h"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lsort.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vararray.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\check_list.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\speller_impl.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\data.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\gettext.h"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vararray.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\check_list.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\data_id.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\speller_impl.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\editdist.cpp : \ + ".\common\parm_string.hpp"\ + ".\common\vararray.hpp"\ + ".\modules\speller\default\editdist.hpp"\ + ".\modules\speller\default\matrix.hpp"\ + ".\modules\speller\default\weights.hpp"\ + + +.\modules\speller\default\language.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_data_util.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\gettext.h"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\leditdist.cpp : \ + ".\modules\speller\default\leditdist.hpp"\ + ".\modules\speller\default\weights.hpp"\ + + +.\modules\speller\default\multi_ws.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + + +.\modules\speller\default\phonet.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vararray.hpp"\ + ".\common\vector.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonet.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + + +.\modules\speller\default\phonetic.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_data_util.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonet.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + + +.\modules\speller\default\primes.cpp : \ + ".\modules\speller\default\primes.hpp"\ + + +.\modules\speller\default\readonly_ws.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\gettext.h"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\block_vector.hpp"\ + ".\modules\speller\default\check_list.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\data_util.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\primes.hpp"\ + ".\modules\speller\default\vector_hash-t.hpp"\ + ".\modules\speller\default\vector_hash.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\speller_impl.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\tokenizer.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\check_list.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\data_id.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\speller_impl.hpp"\ + ".\modules\speller\default\suggest.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\suggest.cpp : \ + ".\common\aspellroot.h"\ + ".\common\basic_list.hpp"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_data_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vararray.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\asuggest.hpp"\ + ".\modules\speller\default\check_list.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\editdist.hpp"\ + ".\modules\speller\default\editdist2.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\leditdist.hpp"\ + ".\modules\speller\default\matrix.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\speller_impl.hpp"\ + ".\modules\speller\default\suggest.hpp"\ + ".\modules\speller\default\typo_editdist.hpp"\ + ".\modules\speller\default\weights.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\typo_editdist.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_data_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vararray.hpp"\ + ".\common\vector.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\matrix.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\typo_editdist.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\writable.cpp : \ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\data_util.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\tokenizer\basic.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\tokenizer.hpp"\ + ".\common\vector.hpp"\ + diff -r -u -b -w --unidirectional-new-file aspell-0.60/ASpell6Dynamic.dsp aspell-0.60-vc++/ASpell6Dynamic.dsp --- aspell-0.60/ASpell6Dynamic.dsp 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/ASpell6Dynamic.dsp 2004-11-07 04:36:14.000000000 -0700 @@ -0,0 +1,742 @@ +# Microsoft Developer Studio Project File - Name="ASpell6Dynamic" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=ASpell6Dynamic - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "ASpell6Dynamic.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "ASpell6Dynamic.mak" CFG="ASpell6Dynamic - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "ASpell6Dynamic - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "ASpell6Dynamic - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "ASpell6Dynamic - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "DynamicRelease" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ASPELL6DYNAMIC_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GR /GX /O2 /I "prog" /I "common" /I "modules/filter" /I "modules/speller/default" /I "interfaces/cc" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ASPELL6DYNAMIC_EXPORTS" /D "WIN32PORT" /D "PORTABLE" /D "NULLTERMINATE" /D "ASPELL_EXPORTS" /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 + +!ELSEIF "$(CFG)" == "ASpell6Dynamic - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "ASpell6Dynamic___Win32_Debug" +# PROP BASE Intermediate_Dir "ASpell6Dynamic___Win32_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "ASpell6Dynamic___Win32_Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ASPELL6DYNAMIC_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "prog" /I "common" /I "modules/filter" /I "modules/speller/default" /I "interfaces/cc" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ASPELL6DYNAMIC_EXPORTS" /D "WIN32PORT" /D "PORTABLE" /D "NULLTERMINATE" /D "ASPELL_EXPORTS" /FD /GZ /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "ASpell6Dynamic - Win32 Release" +# Name "ASpell6Dynamic - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\modules\speller\default\affix.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\asc_ctype.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\aspellroot.h +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\asuggest.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\basic_list.hpp +# End Source File +# Begin Source File + +SOURCE=".\common\block_slist-t.hpp" +# End Source File +# Begin Source File + +SOURCE=.\common\block_slist.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\block_vector.hpp +# End Source File +# Begin Source File + +SOURCE=".\common\cache-t.hpp" +# End Source File +# Begin Source File + +SOURCE=.\common\cache.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\can_have_error.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\char_vector.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\check_list.hpp +# End Source File +# Begin Source File + +SOURCE=".\common\clone_ptr-t.hpp" +# End Source File +# Begin Source File + +SOURCE=.\common\clone_ptr.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\config.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\convert.hpp +# End Source File +# Begin Source File + +SOURCE=".\common\copy_ptr-t.hpp" +# End Source File +# Begin Source File + +SOURCE=.\common\copy_ptr.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\data.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\data_id.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\data_util.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\document_checker.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\editdist.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\editdist2.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\enumeration.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\error.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\errors.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\file_data_util.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\file_util.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\filter.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\filter_char.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\filter_char_vector.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\filter_debug.hpp +# End Source File +# Begin Source File + +SOURCE=.\lib\filter_entry.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\fstream.hpp +# End Source File +# Begin Source File + +SOURCE=".\common\generic_copy_ptr-t.hpp" +# End Source File +# Begin Source File + +SOURCE=.\common\generic_copy_ptr.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\getdata.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\gettext.h +# End Source File +# Begin Source File + +SOURCE=".\common\hash-t.hpp" +# End Source File +# Begin Source File + +SOURCE=.\common\hash.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\hash_fun.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\indiv_filter.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\info.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\iostream.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\istream.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\itemize.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\key_info.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\language.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\leditdist.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\lock.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\lsort.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\matrix.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\mutable_container.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\mutable_string.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\objstack.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\ostream.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\parm_string.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\path_browse.h +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\phonet.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\phonetic.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\posib_err.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\primes.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\simple_string.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\speller.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\speller_impl.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\stack_ptr.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\string.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_enumeration.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_list.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_map.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_pair.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_pair_enumeration.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_util.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\strtonum.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\suggest.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\tokenizer.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\type_id.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\typo_editdist.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\vararray.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\vector.hpp +# End Source File +# Begin Source File + +SOURCE=".\modules\speller\default\vector_hash-t.hpp" +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\vector_hash.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\weights.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\word_list.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\wordinfo.hpp +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# Begin Group "common" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\common\cache.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\can_have_error.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\config.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\convert.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\document_checker.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\error.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\errors.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\file_data_util.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\file_util.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\filter.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\fstream.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\getdata.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\gettext_init.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\info.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\iostream.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\itemize.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\objstack.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\path_browse.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\posib_err.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\speller.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\string.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_list.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_map.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\strtonum.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\tokenizer.cpp +# End Source File +# End Group +# Begin Group "lib" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=".\lib\can_have_error-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\config-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\document_checker-c.cpp" +# End Source File +# Begin Source File + +SOURCE=.\lib\dummy.cpp +# End Source File +# Begin Source File + +SOURCE=".\lib\error-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\filter-c.cpp" +# End Source File +# Begin Source File + +SOURCE=.\lib\find_speller.cpp +# End Source File +# Begin Source File + +SOURCE=".\lib\info-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\mutable_container-c.cpp" +# End Source File +# Begin Source File + +SOURCE=.\lib\new_checker.cpp +# End Source File +# Begin Source File + +SOURCE=.\lib\new_config.cpp +# End Source File +# Begin Source File + +SOURCE=.\lib\new_filter.cpp +# End Source File +# Begin Source File + +SOURCE=.\lib\new_fmode.cpp +# End Source File +# Begin Source File + +SOURCE=".\lib\speller-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\string_enumeration-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\string_list-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\string_map-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\string_pair_enumeration-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\word_list-c.cpp" +# End Source File +# End Group +# Begin Group "misc" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=".\misc\po-filter.c" +# End Source File +# End Group +# Begin Group "modules" + +# PROP Default_Filter "" +# Begin Group "filter" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\modules\filter\context.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\filter\email.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\filter\sgml.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\filter\tex.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\filter\url.cpp +# End Source File +# End Group +# Begin Group "speller" + +# PROP Default_Filter "" +# Begin Group "default" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\modules\speller\default\affix.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\data.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\editdist.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\language.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\leditdist.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\multi_ws.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\phonet.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\phonetic.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\primes.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\readonly_ws.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\speller_impl.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\suggest.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\typo_editdist.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\writable.cpp +# End Source File +# End Group +# End Group +# Begin Group "tokenizer" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\modules\tokenizer\basic.cpp +# End Source File +# End Group +# End Group +# End Target +# End Project diff -r -u -b -w --unidirectional-new-file aspell-0.60/ASpell6Dynamic.plg aspell-0.60-vc++/ASpell6Dynamic.plg --- aspell-0.60/ASpell6Dynamic.plg 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/ASpell6Dynamic.plg 2004-11-07 04:36:14.000000000 -0700 @@ -0,0 +1,332 @@ + + +
+

Build Log

+

+--------------------Configuration: ASpell6Dynamic - Win32 Debug-------------------- +

+

Command Lines

+Creating temporary file "c:\windows\TEMP\RSP60F1.TMP" with contents +[ +/nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "prog" /I "common" /I "modules/filter" /I "modules/speller/default" /I "interfaces/cc" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ASPELL6DYNAMIC_EXPORTS" /D "WIN32PORT" /D "PORTABLE" /D "NULLTERMINATE" /D "ASPELL_EXPORTS" /Fo"ASpell6Dynamic___Win32_Debug/" /Fd"ASpell6Dynamic___Win32_Debug/" /FD /GZ /c +"C:\Temp\Aspell6\common\cache.cpp" +"C:\Temp\Aspell6\common\can_have_error.cpp" +"C:\Temp\Aspell6\common\config.cpp" +"C:\Temp\Aspell6\common\convert.cpp" +"C:\Temp\Aspell6\common\document_checker.cpp" +"C:\Temp\Aspell6\common\error.cpp" +"C:\Temp\Aspell6\common\errors.cpp" +"C:\Temp\Aspell6\common\file_data_util.cpp" +"C:\Temp\Aspell6\common\file_util.cpp" +"C:\Temp\Aspell6\common\filter.cpp" +"C:\Temp\Aspell6\common\fstream.cpp" +"C:\Temp\Aspell6\common\getdata.cpp" +"C:\Temp\Aspell6\common\gettext_init.cpp" +"C:\Temp\Aspell6\common\info.cpp" +"C:\Temp\Aspell6\common\iostream.cpp" +"C:\Temp\Aspell6\common\itemize.cpp" +"C:\Temp\Aspell6\common\objstack.cpp" +"C:\Temp\Aspell6\common\path_browse.cpp" +"C:\Temp\Aspell6\common\posib_err.cpp" +"C:\Temp\Aspell6\common\speller.cpp" +"C:\Temp\Aspell6\common\string.cpp" +"C:\Temp\Aspell6\common\string_list.cpp" +"C:\Temp\Aspell6\common\string_map.cpp" +"C:\Temp\Aspell6\common\strtonum.cpp" +"C:\Temp\Aspell6\common\tokenizer.cpp" +"C:\Temp\Aspell6\lib\can_have_error-c.cpp" +"C:\Temp\Aspell6\lib\config-c.cpp" +"C:\Temp\Aspell6\lib\document_checker-c.cpp" +"C:\Temp\Aspell6\lib\dummy.cpp" +"C:\Temp\Aspell6\lib\error-c.cpp" +"C:\Temp\Aspell6\lib\filter-c.cpp" +"C:\Temp\Aspell6\lib\find_speller.cpp" +"C:\Temp\Aspell6\lib\info-c.cpp" +"C:\Temp\Aspell6\lib\mutable_container-c.cpp" +"C:\Temp\Aspell6\lib\new_checker.cpp" +"C:\Temp\Aspell6\lib\new_config.cpp" +"C:\Temp\Aspell6\lib\new_filter.cpp" +"C:\Temp\Aspell6\lib\new_fmode.cpp" +"C:\Temp\Aspell6\lib\speller-c.cpp" +"C:\Temp\Aspell6\lib\string_enumeration-c.cpp" +"C:\Temp\Aspell6\lib\string_list-c.cpp" +"C:\Temp\Aspell6\lib\string_map-c.cpp" +"C:\Temp\Aspell6\lib\string_pair_enumeration-c.cpp" +"C:\Temp\Aspell6\lib\word_list-c.cpp" +"C:\Temp\Aspell6\misc\po-filter.c" +"C:\Temp\Aspell6\modules\filter\context.cpp" +"C:\Temp\Aspell6\modules\filter\email.cpp" +"C:\Temp\Aspell6\modules\filter\sgml.cpp" +"C:\Temp\Aspell6\modules\filter\tex.cpp" +"C:\Temp\Aspell6\modules\filter\url.cpp" +"C:\Temp\Aspell6\modules\speller\default\affix.cpp" +"C:\Temp\Aspell6\modules\speller\default\data.cpp" +"C:\Temp\Aspell6\modules\speller\default\editdist.cpp" +"C:\Temp\Aspell6\modules\speller\default\language.cpp" +"C:\Temp\Aspell6\modules\speller\default\leditdist.cpp" +"C:\Temp\Aspell6\modules\speller\default\multi_ws.cpp" +"C:\Temp\Aspell6\modules\speller\default\phonet.cpp" +"C:\Temp\Aspell6\modules\speller\default\phonetic.cpp" +"C:\Temp\Aspell6\modules\speller\default\primes.cpp" +"C:\Temp\Aspell6\modules\speller\default\readonly_ws.cpp" +"C:\Temp\Aspell6\modules\speller\default\speller_impl.cpp" +"C:\Temp\Aspell6\modules\speller\default\suggest.cpp" +"C:\Temp\Aspell6\modules\speller\default\typo_editdist.cpp" +"C:\Temp\Aspell6\modules\speller\default\writable.cpp" +"C:\Temp\Aspell6\modules\tokenizer\basic.cpp" +] +Creating command line "cl.exe @c:\windows\TEMP\RSP60F1.TMP" +Creating temporary file "c:\windows\TEMP\RSP60F2.TMP" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:yes /pdb:"Debug/ASpell6Dynamic.pdb" /debug /machine:I386 /out:"Debug/ASpell6Dynamic.dll" /implib:"Debug/ASpell6Dynamic.lib" /pdbtype:sept +.\ASpell6Dynamic___Win32_Debug\cache.obj +.\ASpell6Dynamic___Win32_Debug\can_have_error.obj +.\ASpell6Dynamic___Win32_Debug\config.obj +.\ASpell6Dynamic___Win32_Debug\convert.obj +.\ASpell6Dynamic___Win32_Debug\document_checker.obj +.\ASpell6Dynamic___Win32_Debug\error.obj +.\ASpell6Dynamic___Win32_Debug\errors.obj +.\ASpell6Dynamic___Win32_Debug\file_data_util.obj +.\ASpell6Dynamic___Win32_Debug\file_util.obj +.\ASpell6Dynamic___Win32_Debug\filter.obj +.\ASpell6Dynamic___Win32_Debug\fstream.obj +.\ASpell6Dynamic___Win32_Debug\getdata.obj +.\ASpell6Dynamic___Win32_Debug\gettext_init.obj +.\ASpell6Dynamic___Win32_Debug\info.obj +.\ASpell6Dynamic___Win32_Debug\iostream.obj +.\ASpell6Dynamic___Win32_Debug\itemize.obj +.\ASpell6Dynamic___Win32_Debug\objstack.obj +.\ASpell6Dynamic___Win32_Debug\path_browse.obj +.\ASpell6Dynamic___Win32_Debug\posib_err.obj +.\ASpell6Dynamic___Win32_Debug\speller.obj +.\ASpell6Dynamic___Win32_Debug\string.obj +.\ASpell6Dynamic___Win32_Debug\string_list.obj +.\ASpell6Dynamic___Win32_Debug\string_map.obj +.\ASpell6Dynamic___Win32_Debug\strtonum.obj +.\ASpell6Dynamic___Win32_Debug\tokenizer.obj +".\ASpell6Dynamic___Win32_Debug\can_have_error-c.obj" +".\ASpell6Dynamic___Win32_Debug\config-c.obj" +".\ASpell6Dynamic___Win32_Debug\document_checker-c.obj" +.\ASpell6Dynamic___Win32_Debug\dummy.obj +".\ASpell6Dynamic___Win32_Debug\error-c.obj" +".\ASpell6Dynamic___Win32_Debug\filter-c.obj" +.\ASpell6Dynamic___Win32_Debug\find_speller.obj +".\ASpell6Dynamic___Win32_Debug\info-c.obj" +".\ASpell6Dynamic___Win32_Debug\mutable_container-c.obj" +.\ASpell6Dynamic___Win32_Debug\new_checker.obj +.\ASpell6Dynamic___Win32_Debug\new_config.obj +.\ASpell6Dynamic___Win32_Debug\new_filter.obj +.\ASpell6Dynamic___Win32_Debug\new_fmode.obj +".\ASpell6Dynamic___Win32_Debug\speller-c.obj" +".\ASpell6Dynamic___Win32_Debug\string_enumeration-c.obj" +".\ASpell6Dynamic___Win32_Debug\string_list-c.obj" +".\ASpell6Dynamic___Win32_Debug\string_map-c.obj" +".\ASpell6Dynamic___Win32_Debug\string_pair_enumeration-c.obj" +".\ASpell6Dynamic___Win32_Debug\word_list-c.obj" +".\ASpell6Dynamic___Win32_Debug\po-filter.obj" +.\ASpell6Dynamic___Win32_Debug\context.obj +.\ASpell6Dynamic___Win32_Debug\email.obj +.\ASpell6Dynamic___Win32_Debug\sgml.obj +.\ASpell6Dynamic___Win32_Debug\tex.obj +.\ASpell6Dynamic___Win32_Debug\url.obj +.\ASpell6Dynamic___Win32_Debug\affix.obj +.\ASpell6Dynamic___Win32_Debug\data.obj +.\ASpell6Dynamic___Win32_Debug\editdist.obj +.\ASpell6Dynamic___Win32_Debug\language.obj +.\ASpell6Dynamic___Win32_Debug\leditdist.obj +.\ASpell6Dynamic___Win32_Debug\multi_ws.obj +.\ASpell6Dynamic___Win32_Debug\phonet.obj +.\ASpell6Dynamic___Win32_Debug\phonetic.obj +.\ASpell6Dynamic___Win32_Debug\primes.obj +.\ASpell6Dynamic___Win32_Debug\readonly_ws.obj +.\ASpell6Dynamic___Win32_Debug\speller_impl.obj +.\ASpell6Dynamic___Win32_Debug\suggest.obj +.\ASpell6Dynamic___Win32_Debug\typo_editdist.obj +.\ASpell6Dynamic___Win32_Debug\writable.obj +.\ASpell6Dynamic___Win32_Debug\basic.obj +] +Creating command line "link.exe @c:\windows\TEMP\RSP60F2.TMP" +

Output Window

+Compiling... +cache.cpp +need to include the Windows equal of pthread.h +implement Win32 Mutex class +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +can_have_error.cpp +config.cpp +need to include the Windows equal of pthread.h +implement Win32 Mutex class +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\config.cpp(322) : warning C4800: 'const struct acommon::Config::Entry *' : forcing value to bool 'true' or 'false' (performance warning) +convert.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +document_checker.cpp +need to include the Windows equal of pthread.h +implement Win32 Mutex class +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +error.cpp +errors.cpp +file_data_util.cpp +file_util.cpp +filter.cpp +fstream.cpp +getdata.cpp +gettext_init.cpp +info.cpp +iostream.cpp +need to include the Windows equal of pthread.h +implement Win32 Mutex class +itemize.cpp +objstack.cpp +path_browse.cpp +c:\temp\aspell6\common\path_browse.cpp(84) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) +posib_err.cpp +speller.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +Generating Code... +Compiling... +string.cpp +string_list.cpp +string_map.cpp +strtonum.cpp +tokenizer.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +can_have_error-c.cpp +config-c.cpp +c:\temp\aspell6\lib\config-c.cpp(98) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) +document_checker-c.cpp +dummy.cpp +error-c.cpp +filter-c.cpp +find_speller.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +info-c.cpp +mutable_container-c.cpp +new_checker.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +new_config.cpp +new_filter.cpp +need to include the Windows equal of pthread.h +implement Win32 Mutex class +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +new_fmode.cpp +need to include the Windows equal of pthread.h +implement Win32 Mutex class +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +speller-c.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +string_enumeration-c.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +Generating Code... +Compiling... +string_list-c.cpp +string_map-c.cpp +string_pair_enumeration-c.cpp +c:\temp\aspell6\lib\string_pair_enumeration-c.cpp(22) : warning C4190: '' has C-linkage specified, but returns UDT 'StringPair' which is incompatible with C + c:\temp\aspell6\common\string_pair.hpp(14) : see declaration of 'StringPair' +word_list-c.cpp +Generating Code... +Compiling... +po-filter.c +Generating Code... +Compiling... +context.cpp +email.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +sgml.cpp +c:\temp\aspell6\modules\filter\sgml.cpp(191) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) +tex.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +url.cpp +affix.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +data.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +editdist.cpp +need to include the Windows equal of pthread.h +implement Win32 Mutex class +language.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +leditdist.cpp +need to include the Windows equal of pthread.h +implement Win32 Mutex class +verify that this is the right to_lower function +multi_ws.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +phonet.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +phonetic.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +primes.cpp +readonly_ws.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\modules\speller\default\readonly_ws.cpp(404) : warning C4800: 'unsigned char' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\modules\speller\default\readonly_ws.cpp(405) : warning C4800: 'unsigned char' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\modules\speller\default\readonly_ws.cpp(407) : warning C4800: 'unsigned char' : forcing value to bool 'true' or 'false' (performance warning) +speller_impl.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\modules\speller\default\speller_impl.cpp(595) : warning C4800: 'const class aspeller::AffixMgr *' : forcing value to bool 'true' or 'false' (performance warning) +suggest.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +need to include the Windows equal of pthread.h +implement Win32 Mutex class +c:\program files\microsoft visual studio\vc98\include\list(131) : warning C4786: 'std::?$reverse_bidirectional_iterator@Viterator@?$list@UScoreWordSound@?%c:\temp\aspell6\modules\speller\default\suggest.cpp1982713634@@V?$allocator@UScoreWordSound@?%c:\temp\aspell6\modules\speller\default\suggest.cpp1982713634@@@std@@@std@@UScoreWordSound@?%c:\temp\aspell6\modules\speller\default\suggest.cpp1982713634@@AAU45@PAU45@H' : identifier was truncated to '255' characters in the debug information + c:\program files\microsoft visual studio\vc98\include\list(129) : while compiling class-template member function '__thiscall std::list<`anonymous namespace'::ScoreWordSound,std::allocator<`anonymous namespace'::ScoreWordSound> >::std::list<`anonymous namespace'::ScoreWordSound,std::allocator<`anonymous namespace'::ScoreWordSound> >(const std::allocator<`anonymous namespace'::ScoreWordSound> &)' +c:\program files\microsoft visual studio\vc98\include\list(131) : warning C4786: 'std::?$reverse_bidirectional_iterator@Vconst_iterator@?$list@UScoreWordSound@?%c:\temp\aspell6\modules\speller\default\suggest.cpp1982713634@@V?$allocator@UScoreWordSound@?%c:\temp\aspell6\modules\speller\default\suggest.cpp1982713634@@@std@@@std@@UScoreWordSound@?%c:\temp\aspell6\modules\speller\default\suggest.cpp1982713634@@ABU45@PBU45@H' : identifier was truncated to '255' characters in the debug information + c:\program files\microsoft visual studio\vc98\include\list(129) : while compiling class-template member function '__thiscall std::list<`anonymous namespace'::ScoreWordSound,std::allocator<`anonymous namespace'::ScoreWordSound> >::std::list<`anonymous namespace'::ScoreWordSound,std::allocator<`anonymous namespace'::ScoreWordSound> >(const std::allocator<`anonymous namespace'::ScoreWordSound> &)' +typo_editdist.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +writable.cpp +need to include the Windows equal of pthread.h +implement Win32 Mutex class +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +basic.cpp +c:\temp\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +c:\temp\aspell6\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +Generating Code... +c:\temp\aspell6\common\hash.hpp(135) : warning C4786: 'acommon::HashTable >,char const *,acommon::HashMapParms,acommon::hash,acommon::GetEqualCls,0> >::~HashTable >,char const *,acommon::HashMapParms,acommon::hash,acommon::GetEqualCls,0> >' : identifier was truncated to '255' characters in the debug information +c:\temp\aspell6\common\hash.hpp(130) : warning C4786: '__ehhandler$??0?$HashTable@U?$pair@QBDV?$Vector@PBD@acommon@@@std@@PBDU?$HashMapParms@PBDV?$Vector@PBD@acommon@@U?$hash@PBD@2@U?$GetEqualCls@PBD@2@$0A@@acommon@@@acommon@@QAE@HABU?$HashMapParms@PBDV?$Vector@PBD@acommon@@U?$hash@PBD@2@U?$GetEqualCls@PBD@2@$0A@@1@@Z' : identifier was truncated to '255' characters in the debug information +c:\temp\aspell6\common\hash.hpp(130) : warning C4786: '__unwindfunclet$??0?$HashTable@U?$pair@QBDV?$Vector@PBD@acommon@@@std@@PBDU?$HashMapParms@PBDV?$Vector@PBD@acommon@@U?$hash@PBD@2@U?$GetEqualCls@PBD@2@$0A@@acommon@@@acommon@@QAE@HABU?$HashMapParms@PBDV?$Vector@PBD@acommon@@U?$hash@PBD@2@U?$GetEqualCls@PBD@2@$0A@@1@@Z$0' : identifier was truncated to '255' characters in the debug information +c:\temp\aspell6\common\hash.hpp(130) : warning C4786: 'acommon::HashTable >,char const *,acommon::HashMapParms,acommon::hash,acommon::GetEqualCls,0> >::HashTable >,char const *,acommon::HashMapParms,acommon::hash,acommon::GetEqualCls,0> >' : identifier was truncated to '255' characters in the debug information +c:\temp\aspell6\common\hash.hpp(130) : warning C4786: '__ehhandler$??0?$HashTable@PBDPBDU?$HashSetParms@PBDUHash@?%c:\temp\aspell6\modules\speller\default\writable.cpp2147828659@@UEqual@2@$0A@@acommon@@@acommon@@QAE@HABU?$HashSetParms@PBDUHash@?%c:\temp\aspell6\modules\speller\default\writable.cpp2147828659@@UEqual@2@$0A@@1@@Z' : identifier was truncated to '255' characters in the debug information +c:\temp\aspell6\common\hash.hpp(130) : warning C4786: '__unwindfunclet$??0?$HashTable@PBDPBDU?$HashSetParms@PBDUHash@?%c:\temp\aspell6\modules\speller\default\writable.cpp2147828659@@UEqual@2@$0A@@acommon@@@acommon@@QAE@HABU?$HashSetParms@PBDUHash@?%c:\temp\aspell6\modules\speller\default\writable.cpp2147828659@@UEqual@2@$0A@@1@@Z$0' : identifier was truncated to '255' characters in the debug information +c:\temp\aspell6\common\hash-t.hpp(106) : warning C4786: '__ehhandler$?insert@?$HashTable@U?$pair@QBDV?$Vector@PBD@acommon@@@std@@PBDU?$HashMapParms@PBDV?$Vector@PBD@acommon@@U?$hash@PBD@2@U?$GetEqualCls@PBD@2@$0A@@acommon@@@acommon@@QAE?AU?$pair@V?$HT_Iterator@U?$pair@QBDV?$Vector@PBD@acommon@@@std@@@acommon@@_N@std@@ABU?$pair@QBDV?$Vector@PBD@acommon@@@4@@Z' : identifier was truncated to '255' characters in the debug information +c:\temp\aspell6\common\hash-t.hpp(106) : warning C4786: '__unwindfunclet$?insert@?$HashTable@U?$pair@QBDV?$Vector@PBD@acommon@@@std@@PBDU?$HashMapParms@PBDV?$Vector@PBD@acommon@@U?$hash@PBD@2@U?$GetEqualCls@PBD@2@$0A@@acommon@@@acommon@@QAE?AU?$pair@V?$HT_Iterator@U?$pair@QBDV?$Vector@PBD@acommon@@@std@@@acommon@@_N@std@@ABU?$pair@QBDV?$Vector@PBD@acommon@@@4@@Z$0' : identifier was truncated to '255' characters in the debug information +c:\temp\aspell6\common\hash.hpp(135) : warning C4786: 'acommon::HashTable,acommon::GetEqualCls,0> >::~HashTable,acommon::GetEqualCls,0> >' : identifier was truncated to '255' characters in the debug information +c:\temp\aspell6\common\hash.hpp(135) : warning C4786: 'acommon::HashTable,acommon::GetEqualCls,0> >::~HashTable,acommon::GetEqualCls,0> >' : identifier was truncated to '255' characters in the debug information +c:\temp\aspell6\common\hash.hpp(130) : warning C4786: 'acommon::HashTable,acommon::GetEqualCls,0> >::HashTable,acommon::GetEqualCls,0> >' : identifier was truncated to '255' characters in the debug information +c:\temp\aspell6\common\hash.hpp(130) : warning C4786: '__ehhandler$??0?$HashTable@VString@acommon@@V12@U?$HashSetParms@VString@acommon@@U?$hash@VString@acommon@@@2@U?$GetEqualCls@VString@acommon@@@2@$0A@@2@@acommon@@QAE@HABU?$HashSetParms@VString@acommon@@U?$hash@VString@acommon@@@2@U?$GetEqualCls@VString@acommon@@@2@$0A@@1@@Z' : identifier was truncated to '255' characters in the debug information +c:\temp\aspell6\common\hash.hpp(130) : warning C4786: '__unwindfunclet$??0?$HashTable@VString@acommon@@V12@U?$HashSetParms@VString@acommon@@U?$hash@VString@acommon@@@2@U?$GetEqualCls@VString@acommon@@@2@$0A@@2@@acommon@@QAE@HABU?$HashSetParms@VString@acommon@@U?$hash@VString@acommon@@@2@U?$GetEqualCls@VString@acommon@@@2@$0A@@1@@Z$0' : identifier was truncated to '255' characters in the debug information +c:\temp\aspell6\common\hash.hpp(130) : warning C4786: 'acommon::HashTable,acommon::GetEqualCls,0> >::HashTable,acommon::GetEqualCls,0> >' : identifier was truncated to '255' characters in the debug information +Linking... + Creating library Debug/ASpell6Dynamic.lib and object Debug/ASpell6Dynamic.exp + + + +

Results

+ASpell6Dynamic.dll - 0 error(s), 74 warning(s) +
+ + Binary files aspell-0.60/Aspell6.opt and aspell-0.60-vc++/Aspell6.opt differ diff -r -u -b -w --unidirectional-new-file aspell-0.60/Aspell6.plg aspell-0.60-vc++/Aspell6.plg --- aspell-0.60/Aspell6.plg 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/Aspell6.plg 2004-11-07 04:36:14.000000000 -0700 @@ -0,0 +1,340 @@ + + +
+

Build Log

+

+--------------------Configuration: ASpell6Dynamic - Win32 Release-------------------- +

+

Command Lines

+Creating temporary file "c:\windows\TEMP\RSPF270.TMP" with contents +[ +/nologo /MT /W3 /GR /GX /O2 /I "prog" /I "common" /I "modules/filter" /I "modules/speller/default" /I "interfaces/cc" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ASPELL6DYNAMIC_EXPORTS" /D "WIN32PORT" /D "PORTABLE" /D "NULLTERMINATE" /D "ASPELL_EXPORTS" /Fp"DynamicRelease/ASpell6Dynamic.pch" /YX /Fo"DynamicRelease/" /Fd"DynamicRelease/" /FD /c +"C:\Temp\Play\common\cache.cpp" +"C:\Temp\Play\common\can_have_error.cpp" +"C:\Temp\Play\common\config.cpp" +"C:\Temp\Play\common\convert.cpp" +"C:\Temp\Play\common\document_checker.cpp" +"C:\Temp\Play\common\error.cpp" +"C:\Temp\Play\common\errors.cpp" +"C:\Temp\Play\common\file_data_util.cpp" +"C:\Temp\Play\common\file_util.cpp" +"C:\Temp\Play\common\filter.cpp" +"C:\Temp\Play\common\fstream.cpp" +"C:\Temp\Play\common\getdata.cpp" +"C:\Temp\Play\common\gettext_init.cpp" +"C:\Temp\Play\common\info.cpp" +"C:\Temp\Play\common\iostream.cpp" +"C:\Temp\Play\common\itemize.cpp" +"C:\Temp\Play\common\objstack.cpp" +"C:\Temp\Play\common\path_browse.cpp" +"C:\Temp\Play\common\posib_err.cpp" +"C:\Temp\Play\common\speller.cpp" +"C:\Temp\Play\common\string.cpp" +"C:\Temp\Play\common\string_list.cpp" +"C:\Temp\Play\common\string_map.cpp" +"C:\Temp\Play\common\strtonum.cpp" +"C:\Temp\Play\common\tokenizer.cpp" +"C:\Temp\Play\lib\can_have_error-c.cpp" +"C:\Temp\Play\lib\config-c.cpp" +"C:\Temp\Play\lib\document_checker-c.cpp" +"C:\Temp\Play\lib\dummy.cpp" +"C:\Temp\Play\lib\error-c.cpp" +"C:\Temp\Play\lib\filter-c.cpp" +"C:\Temp\Play\lib\find_speller.cpp" +"C:\Temp\Play\lib\info-c.cpp" +"C:\Temp\Play\lib\mutable_container-c.cpp" +"C:\Temp\Play\lib\new_checker.cpp" +"C:\Temp\Play\lib\new_config.cpp" +"C:\Temp\Play\lib\new_filter.cpp" +"C:\Temp\Play\lib\new_fmode.cpp" +"C:\Temp\Play\lib\speller-c.cpp" +"C:\Temp\Play\lib\string_enumeration-c.cpp" +"C:\Temp\Play\lib\string_list-c.cpp" +"C:\Temp\Play\lib\string_map-c.cpp" +"C:\Temp\Play\lib\string_pair_enumeration-c.cpp" +"C:\Temp\Play\lib\word_list-c.cpp" +"C:\Temp\Play\misc\po-filter.c" +"C:\Temp\Play\modules\filter\context.cpp" +"C:\Temp\Play\modules\filter\email.cpp" +"C:\Temp\Play\modules\filter\sgml.cpp" +"C:\Temp\Play\modules\filter\tex.cpp" +"C:\Temp\Play\modules\filter\url.cpp" +"C:\Temp\Play\modules\speller\default\affix.cpp" +"C:\Temp\Play\modules\speller\default\data.cpp" +"C:\Temp\Play\modules\speller\default\editdist.cpp" +"C:\Temp\Play\modules\speller\default\language.cpp" +"C:\Temp\Play\modules\speller\default\leditdist.cpp" +"C:\Temp\Play\modules\speller\default\multi_ws.cpp" +"C:\Temp\Play\modules\speller\default\phonet.cpp" +"C:\Temp\Play\modules\speller\default\phonetic.cpp" +"C:\Temp\Play\modules\speller\default\primes.cpp" +"C:\Temp\Play\modules\speller\default\readonly_ws.cpp" +"C:\Temp\Play\modules\speller\default\speller_impl.cpp" +"C:\Temp\Play\modules\speller\default\suggest.cpp" +"C:\Temp\Play\modules\speller\default\typo_editdist.cpp" +"C:\Temp\Play\modules\speller\default\writable.cpp" +"C:\Temp\Play\modules\tokenizer\basic.cpp" +] +Creating command line "cl.exe @c:\windows\TEMP\RSPF270.TMP" +Creating temporary file "c:\windows\TEMP\RSPF271.TMP" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:no /pdb:"Release/ASpell6Dynamic.pdb" /machine:I386 /out:"Release/ASpell6Dynamic.dll" /implib:"Release/ASpell6Dynamic.lib" +.\DynamicRelease\cache.obj +.\DynamicRelease\can_have_error.obj +.\DynamicRelease\config.obj +.\DynamicRelease\convert.obj +.\DynamicRelease\document_checker.obj +.\DynamicRelease\error.obj +.\DynamicRelease\errors.obj +.\DynamicRelease\file_data_util.obj +.\DynamicRelease\file_util.obj +.\DynamicRelease\filter.obj +.\DynamicRelease\fstream.obj +.\DynamicRelease\getdata.obj +.\DynamicRelease\gettext_init.obj +.\DynamicRelease\info.obj +.\DynamicRelease\iostream.obj +.\DynamicRelease\itemize.obj +.\DynamicRelease\objstack.obj +.\DynamicRelease\path_browse.obj +.\DynamicRelease\posib_err.obj +.\DynamicRelease\speller.obj +.\DynamicRelease\string.obj +.\DynamicRelease\string_list.obj +.\DynamicRelease\string_map.obj +.\DynamicRelease\strtonum.obj +.\DynamicRelease\tokenizer.obj +".\DynamicRelease\can_have_error-c.obj" +".\DynamicRelease\config-c.obj" +".\DynamicRelease\document_checker-c.obj" +.\DynamicRelease\dummy.obj +".\DynamicRelease\error-c.obj" +".\DynamicRelease\filter-c.obj" +.\DynamicRelease\find_speller.obj +".\DynamicRelease\info-c.obj" +".\DynamicRelease\mutable_container-c.obj" +.\DynamicRelease\new_checker.obj +.\DynamicRelease\new_config.obj +.\DynamicRelease\new_filter.obj +.\DynamicRelease\new_fmode.obj +".\DynamicRelease\speller-c.obj" +".\DynamicRelease\string_enumeration-c.obj" +".\DynamicRelease\string_list-c.obj" +".\DynamicRelease\string_map-c.obj" +".\DynamicRelease\string_pair_enumeration-c.obj" +".\DynamicRelease\word_list-c.obj" +".\DynamicRelease\po-filter.obj" +.\DynamicRelease\context.obj +.\DynamicRelease\email.obj +.\DynamicRelease\sgml.obj +.\DynamicRelease\tex.obj +.\DynamicRelease\url.obj +.\DynamicRelease\affix.obj +.\DynamicRelease\data.obj +.\DynamicRelease\editdist.obj +.\DynamicRelease\language.obj +.\DynamicRelease\leditdist.obj +.\DynamicRelease\multi_ws.obj +.\DynamicRelease\phonet.obj +.\DynamicRelease\phonetic.obj +.\DynamicRelease\primes.obj +.\DynamicRelease\readonly_ws.obj +.\DynamicRelease\speller_impl.obj +.\DynamicRelease\suggest.obj +.\DynamicRelease\typo_editdist.obj +.\DynamicRelease\writable.obj +.\DynamicRelease\basic.obj +] +Creating command line "link.exe @c:\windows\TEMP\RSPF271.TMP" +

Output Window

+Compiling... +cache.cpp +need to include the Windows equal of pthread.h +implement Win32 Mutex class +C:\Temp\Play\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +can_have_error.cpp +config.cpp +need to include the Windows equal of pthread.h +implement Win32 Mutex class +C:\Temp\Play\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +C:\Temp\Play\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +C:\Temp\Play\common\config.cpp(322) : warning C4800: 'const struct acommon::Config::Entry *' : forcing value to bool 'true' or 'false' (performance warning) +convert.cpp +C:\Temp\Play\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +C:\Temp\Play\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +need to include the Windows equal of pthread.h +implement Win32 Mutex class +document_checker.cpp +C:\Temp\Play\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +C:\Temp\Play\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +error.cpp +errors.cpp +file_data_util.cpp +file_util.cpp +filter.cpp +fstream.cpp +getdata.cpp +gettext_init.cpp +info.cpp +need to include the Windows equal of pthread.h +implement Win32 Mutex class +iostream.cpp +itemize.cpp +objstack.cpp +path_browse.cpp +C:\Temp\Play\common\path_browse.cpp(84) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) +posib_err.cpp +speller.cpp +C:\Temp\Play\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +C:\Temp\Play\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +string.cpp +string_list.cpp +string_map.cpp +strtonum.cpp +tokenizer.cpp +C:\Temp\Play\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +C:\Temp\Play\common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +can_have_error-c.cpp +config-c.cpp +C:\Temp\Play\lib\config-c.cpp(98) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) +document_checker-c.cpp +dummy.cpp +error-c.cpp +filter-c.cpp +find_speller.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +info-c.cpp +mutable_container-c.cpp +new_checker.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +new_config.cpp +new_filter.cpp +need to include the Windows equal of pthread.h +implement Win32 Mutex class +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +new_fmode.cpp +need to include the Windows equal of pthread.h +implement Win32 Mutex class +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +speller-c.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +string_enumeration-c.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +string_list-c.cpp +string_map-c.cpp +string_pair_enumeration-c.cpp +C:\Temp\Play\lib\string_pair_enumeration-c.cpp(22) : warning C4190: '' has C-linkage specified, but returns UDT 'StringPair' which is incompatible with C + common\string_pair.hpp(14) : see declaration of 'StringPair' +word_list-c.cpp +po-filter.c +context.cpp +email.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +sgml.cpp +C:\Temp\Play\modules\filter\sgml.cpp(191) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) +tex.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +url.cpp +affix.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +data.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +need to include the Windows equal of pthread.h +implement Win32 Mutex class +editdist.cpp +language.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +need to include the Windows equal of pthread.h +implement Win32 Mutex class +verify that this is the right to_lower function +leditdist.cpp +multi_ws.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +phonet.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +phonetic.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +primes.cpp +readonly_ws.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +C:\Temp\Play\modules\speller\default\readonly_ws.cpp(404) : warning C4800: 'unsigned char' : forcing value to bool 'true' or 'false' (performance warning) +C:\Temp\Play\modules\speller\default\readonly_ws.cpp(405) : warning C4800: 'unsigned char' : forcing value to bool 'true' or 'false' (performance warning) +C:\Temp\Play\modules\speller\default\readonly_ws.cpp(407) : warning C4800: 'unsigned char' : forcing value to bool 'true' or 'false' (performance warning) +speller_impl.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +C:\Temp\Play\modules\speller\default\speller_impl.cpp(595) : warning C4800: 'const class aspeller::AffixMgr *' : forcing value to bool 'true' or 'false' (performance warning) +suggest.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +need to include the Windows equal of pthread.h +implement Win32 Mutex class +typo_editdist.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +need to include the Windows equal of pthread.h +implement Win32 Mutex class +writable.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +basic.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +Linking... + Creating library Release/ASpell6Dynamic.lib and object Release/ASpell6Dynamic.exp +

+--------------------Configuration: Aspell6 - Win32 Release-------------------- +

+

Command Lines

+Creating temporary file "c:\windows\TEMP\RSP50B3.TMP" with contents +[ +/nologo /MT /W3 /GR /GX /O2 /I "prog" /I "common" /I "modules/filter" /I "modules/speller/default" /I "interfaces/cc" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "WIN32PORT" /D "PORTABLE" /D "NULLTERMINATE" /Fo"Release/" /Fd"Release/" /FD /c +"C:\Temp\Play\prog\aspell.cpp" +"C:\Temp\Play\prog\check_funs.cpp" +"C:\Temp\Play\prog\checker_string.cpp" +] +Creating command line "cl.exe @c:\windows\TEMP\RSP50B3.TMP" +Creating temporary file "c:\windows\TEMP\RSP50B4.TMP" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /pdb:"Release/Aspell6.pdb" /machine:I386 /out:"Release/Aspell6.exe" +.\Release\aspell.obj +.\Release\check_funs.obj +.\Release\checker_string.obj +.\Release\ASpell6Dynamic.lib +] +Creating command line "link.exe @c:\windows\TEMP\RSP50B4.TMP" +

Output Window

+Compiling... +aspell.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +check_funs.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +checker_string.cpp +common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) +common\convert.hpp(261) : warning C4800: 'const class acommon::Convert *const ' : forcing value to bool 'true' or 'false' (performance warning) +C:\Temp\Play\prog\checker_string.cpp(110) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) +Generating Code... +Linking... + + + +

Results

+Aspell6.exe - 0 error(s), 65 warning(s) +
+ + diff -r -u -b -w --unidirectional-new-file aspell-0.60/Aspell6static.dep aspell-0.60-vc++/Aspell6static.dep --- aspell-0.60/Aspell6static.dep 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/Aspell6static.dep 2004-11-07 04:36:14.000000000 -0700 @@ -0,0 +1,1675 @@ +# Microsoft Developer Studio Generated Dependency File, included by Aspell6static.mak + +.\common\cache.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\istream.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\prog\settings.h"\ + + +.\common\can_have_error.cpp : \ + ".\common\can_have_error.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + + +.\common\config.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\block_slist.hpp"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\gettext.h"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\istream.hpp"\ + ".\common\itemize.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vararray.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\common\convert.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_data_util.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\gettext.h"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\vararray.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\common\document_checker.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\document_checker.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\tokenizer.hpp"\ + ".\common\vector.hpp"\ + + +.\common\error.cpp : \ + ".\common\error.hpp"\ + + +.\common\errors.cpp : \ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\gettext.h"\ + ".\common\string_util.hpp"\ + ".\prog\settings.h"\ + + +.\common\file_data_util.cpp : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_data_util.hpp"\ + ".\common\file_util.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\vector.hpp"\ + + +.\common\file_util.cpp : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\common\filter.cpp : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\indiv_filter.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\speller.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\strtonum.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\common\fstream.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\fstream.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + + +.\common\getdata.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\fstream.hpp"\ + ".\common\getdata.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + + +.\common\gettext_init.cpp : \ + ".\common\aspellroot.h"\ + ".\common\gettext.h"\ + ".\common\lock.hpp"\ + ".\prog\settings.h"\ + + +.\common\info.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\gettext.h"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\info.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\itemize.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\strtonum.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\common\iostream.cpp : \ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\fstream.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + + +.\common\itemize.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\istream.hpp"\ + ".\common\itemize.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + + +.\common\objstack.cpp : \ + ".\common\aspellroot.h"\ + ".\common\objstack.hpp"\ + ".\common\parm_string.hpp"\ + + +.\common\path_browse.cpp : \ + ".\common\aspellroot.h"\ + ".\common\char_vector.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\path_browse.h"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\type_id.hpp"\ + + +.\common\posib_err.cpp : \ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\fstream.hpp"\ + ".\common\gettext.h"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_util.hpp"\ + ".\prog\settings.h"\ + + +.\common\speller.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + + +.\common\string.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\string.hpp"\ + ".\common\string_util.hpp"\ + + +.\common\string_list.cpp : \ + ".\common\aspellroot.h"\ + ".\common\char_vector.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\type_id.hpp"\ + + +.\common\string_map.cpp : \ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\prog\settings.h"\ + + +.\common\strtonum.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\strtonum.hpp"\ + + +.\common\tokenizer.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\tokenizer.hpp"\ + ".\common\vector.hpp"\ + + +".\lib\can_have_error-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + + +".\lib\config-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\vector.hpp"\ + + +".\lib\document_checker-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\document_checker.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + + +".\lib\error-c.cpp" : \ + ".\common\error.hpp"\ + + +".\lib\filter-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + + +.\lib\find_speller.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\block_slist.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\gettext.h"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\info.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +".\lib\info-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\info.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\type_id.hpp"\ + + +".\lib\mutable_container-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + + +.\lib\new_checker.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\document_checker.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\tokenizer.hpp"\ + ".\common\vector.hpp"\ + + +.\lib\new_config.cpp : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + + +.\lib\new_filter.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\block_slist.hpp"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\indiv_filter.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\itemize.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\path_browse.h"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\strtonum.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\lib\filter_entry.hpp"\ + ".\modules\filter\static_filters.src.cpp"\ + ".\prog\settings.h"\ + + +.\lib\new_fmode.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\path_browse.h"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\strtonum.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +".\lib\speller-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\interfaces\cc\aspell.h"\ + + +".\lib\string_enumeration-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\interfaces\cc\aspell.h"\ + + +".\lib\string_list-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\char_vector.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\type_id.hpp"\ + + +".\lib\string_map-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\prog\settings.h"\ + + +".\lib\string_pair_enumeration-c.cpp" : \ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + + +".\lib\word_list-c.cpp" : \ + ".\common\aspellroot.h"\ + ".\common\char_vector.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\word_list.hpp"\ + ".\interfaces\cc\aspell.h"\ + + +.\modules\filter\context.cpp : \ + ".\common\aspellroot.h"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\indiv_filter.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\modules\filter\email.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\indiv_filter.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\modules\filter\sgml.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\indiv_filter.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\modules\filter\tex.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\gettext.h"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\indiv_filter.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_map.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\prog\settings.h"\ + + +.\modules\filter\url.cpp : \ + ".\common\aspellroot.h"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\indiv_filter.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\string.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\affix.cpp : \ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\gettext.h"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lsort.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vararray.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\check_list.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\speller_impl.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\data.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\gettext.h"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vararray.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\check_list.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\data_id.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\speller_impl.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\editdist.cpp : \ + ".\common\parm_string.hpp"\ + ".\common\vararray.hpp"\ + ".\modules\speller\default\editdist.hpp"\ + ".\modules\speller\default\matrix.hpp"\ + ".\modules\speller\default\weights.hpp"\ + + +.\modules\speller\default\language.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_data_util.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\gettext.h"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\leditdist.cpp : \ + ".\modules\speller\default\leditdist.hpp"\ + ".\modules\speller\default\weights.hpp"\ + + +.\modules\speller\default\multi_ws.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + + +.\modules\speller\default\phonet.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vararray.hpp"\ + ".\common\vector.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonet.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + + +.\modules\speller\default\phonetic.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_data_util.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonet.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + + +.\modules\speller\default\primes.cpp : \ + ".\modules\speller\default\primes.hpp"\ + + +.\modules\speller\default\readonly_ws.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\gettext.h"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lsort.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\string_util.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\block_vector.hpp"\ + ".\modules\speller\default\check_list.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\data_util.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\primes.hpp"\ + ".\modules\speller\default\vector_hash-t.hpp"\ + ".\modules\speller\default\vector_hash.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\speller_impl.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr-t.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\tokenizer.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\check_list.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\data_id.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\speller_impl.hpp"\ + ".\modules\speller\default\suggest.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\suggest.cpp : \ + ".\common\aspellroot.h"\ + ".\common\basic_list.hpp"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_data_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_container.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_list.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vararray.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\asuggest.hpp"\ + ".\modules\speller\default\check_list.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\editdist.hpp"\ + ".\modules\speller\default\editdist2.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\leditdist.hpp"\ + ".\modules\speller\default\matrix.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\speller_impl.hpp"\ + ".\modules\speller\default\suggest.hpp"\ + ".\modules\speller\default\typo_editdist.hpp"\ + ".\modules\speller\default\weights.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\typo_editdist.cpp : \ + ".\common\asc_ctype.hpp"\ + ".\common\aspellroot.h"\ + ".\common\cache-t.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_data_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\lock.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vararray.hpp"\ + ".\common\vector.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\matrix.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\typo_editdist.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\speller\default\writable.cpp : \ + ".\common\aspellroot.h"\ + ".\common\block_slist-t.hpp"\ + ".\common\block_slist.hpp"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr-t.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\config.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\enumeration.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\file_util.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\fstream.hpp"\ + ".\common\generic_copy_ptr-t.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\getdata.hpp"\ + ".\common\hash-t.hpp"\ + ".\common\hash.hpp"\ + ".\common\hash_fun.hpp"\ + ".\common\iostream.hpp"\ + ".\common\istream.hpp"\ + ".\common\key_info.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\objstack.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\simple_string.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_enumeration.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\type_id.hpp"\ + ".\common\vector.hpp"\ + ".\common\word_list.hpp"\ + ".\modules\speller\default\affix.hpp"\ + ".\modules\speller\default\data.hpp"\ + ".\modules\speller\default\data_util.hpp"\ + ".\modules\speller\default\language.hpp"\ + ".\modules\speller\default\phonetic.hpp"\ + ".\modules\speller\default\wordinfo.hpp"\ + ".\prog\settings.h"\ + + +.\modules\tokenizer\basic.cpp : \ + ".\common\aspellroot.h"\ + ".\common\cache.hpp"\ + ".\common\can_have_error.hpp"\ + ".\common\char_vector.hpp"\ + ".\common\clone_ptr.hpp"\ + ".\common\convert.hpp"\ + ".\common\copy_ptr.hpp"\ + ".\common\error.hpp"\ + ".\common\errors.hpp"\ + ".\common\filter.hpp"\ + ".\common\filter_char.hpp"\ + ".\common\filter_char_vector.hpp"\ + ".\common\generic_copy_ptr.hpp"\ + ".\common\istream.hpp"\ + ".\common\mutable_string.hpp"\ + ".\common\ostream.hpp"\ + ".\common\parm_string.hpp"\ + ".\common\posib_err.hpp"\ + ".\common\speller.hpp"\ + ".\common\stack_ptr.hpp"\ + ".\common\string.hpp"\ + ".\common\string_pair.hpp"\ + ".\common\string_pair_enumeration.hpp"\ + ".\common\tokenizer.hpp"\ + ".\common\vector.hpp"\ + diff -r -u -b -w --unidirectional-new-file aspell-0.60/Aspell6static.dsp aspell-0.60-vc++/Aspell6static.dsp --- aspell-0.60/Aspell6static.dsp 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/Aspell6static.dsp 2004-11-07 04:36:14.000000000 -0700 @@ -0,0 +1,734 @@ +# Microsoft Developer Studio Project File - Name="Aspell6static" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=Aspell6static - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "Aspell6static.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "Aspell6static.mak" CFG="Aspell6static - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "Aspell6static - Win32 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "Aspell6static - Win32 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "Aspell6static - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "StaticRelease" +# PROP Intermediate_Dir "StaticRelease" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GR /GX /O2 /I "prog" /I "common" /I "modules/filter" /I "modules/speller/default" /I "interfaces/cc" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "WIN32PORT" /D "PORTABLE" /D "NULLTERMINATE" /D "ASPELL_NO_EXPORTS" /FD /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo + +!ELSEIF "$(CFG)" == "Aspell6static - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Aspell6static___Win32_Debug" +# PROP BASE Intermediate_Dir "Aspell6static___Win32_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Aspell6static___Win32_Debug" +# PROP Intermediate_Dir "Aspell6static___Win32_Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "prog" /I "common" /I "modules/filter" /I "modules/speller/default" /I "interfaces/cc" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "WIN32PORT" /D "PORTABLE" /D "NULLTERMINATE" /D "ASPELL_NO_EXPORTS" /FR /FD /GZ /c +# SUBTRACT CPP /YX +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo + +!ENDIF + +# Begin Target + +# Name "Aspell6static - Win32 Release" +# Name "Aspell6static - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\modules\speller\default\affix.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\asc_ctype.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\asuggest.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\basic_list.hpp +# End Source File +# Begin Source File + +SOURCE=".\common\block_slist-t.hpp" +# End Source File +# Begin Source File + +SOURCE=.\common\block_slist.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\block_vector.hpp +# End Source File +# Begin Source File + +SOURCE=".\common\cache-t.hpp" +# End Source File +# Begin Source File + +SOURCE=.\common\cache.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\can_have_error.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\char_vector.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\check_list.hpp +# End Source File +# Begin Source File + +SOURCE=".\common\clone_ptr-t.hpp" +# End Source File +# Begin Source File + +SOURCE=.\common\clone_ptr.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\config.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\convert.hpp +# End Source File +# Begin Source File + +SOURCE=".\common\copy_ptr-t.hpp" +# End Source File +# Begin Source File + +SOURCE=.\common\copy_ptr.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\data.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\data_id.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\data_util.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\document_checker.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\editdist.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\editdist2.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\enumeration.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\error.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\errors.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\file_data_util.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\file_util.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\filter.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\filter_char.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\filter_char_vector.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\filter_debug.hpp +# End Source File +# Begin Source File + +SOURCE=.\lib\filter_entry.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\fstream.hpp +# End Source File +# Begin Source File + +SOURCE=".\common\generic_copy_ptr-t.hpp" +# End Source File +# Begin Source File + +SOURCE=.\common\generic_copy_ptr.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\getdata.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\gettext.h +# End Source File +# Begin Source File + +SOURCE=".\common\hash-t.hpp" +# End Source File +# Begin Source File + +SOURCE=.\common\hash.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\hash_fun.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\indiv_filter.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\info.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\iostream.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\istream.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\itemize.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\key_info.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\language.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\leditdist.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\lock.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\lsort.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\matrix.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\mutable_container.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\mutable_string.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\objstack.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\ostream.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\parm_string.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\path_browse.h +# End Source File +# Begin Source File + +SOURCE=.\common\PathBrowse.h +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\phonet.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\phonetic.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\posib_err.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\primes.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\simple_string.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\speller.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\speller_impl.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\stack_ptr.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\string.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_enumeration.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_list.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_map.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_pair.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_pair_enumeration.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_util.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\strtonum.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\suggest.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\tokenizer.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\type_id.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\typo_editdist.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\vararray.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\vector.hpp +# End Source File +# Begin Source File + +SOURCE=".\modules\speller\default\vector_hash-t.hpp" +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\vector_hash.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\weights.hpp +# End Source File +# Begin Source File + +SOURCE=.\common\word_list.hpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\wordinfo.hpp +# End Source File +# End Group +# Begin Group "common" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\common\cache.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\can_have_error.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\config.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\convert.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\document_checker.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\error.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\errors.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\file_data_util.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\file_util.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\filter.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\fstream.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\getdata.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\gettext_init.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\info.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\iostream.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\itemize.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\objstack.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\path_browse.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\posib_err.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\speller.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\string.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_list.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\string_map.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\strtonum.cpp +# End Source File +# Begin Source File + +SOURCE=.\common\tokenizer.cpp +# End Source File +# End Group +# Begin Group "lib" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=".\lib\can_have_error-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\config-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\document_checker-c.cpp" +# End Source File +# Begin Source File + +SOURCE=.\lib\dummy.cpp +# End Source File +# Begin Source File + +SOURCE=".\lib\error-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\filter-c.cpp" +# End Source File +# Begin Source File + +SOURCE=.\lib\find_speller.cpp +# End Source File +# Begin Source File + +SOURCE=".\lib\info-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\mutable_container-c.cpp" +# End Source File +# Begin Source File + +SOURCE=.\lib\new_checker.cpp +# End Source File +# Begin Source File + +SOURCE=.\lib\new_config.cpp +# End Source File +# Begin Source File + +SOURCE=.\lib\new_filter.cpp +# End Source File +# Begin Source File + +SOURCE=.\lib\new_fmode.cpp +# End Source File +# Begin Source File + +SOURCE=".\lib\speller-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\string_enumeration-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\string_list-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\string_map-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\string_pair_enumeration-c.cpp" +# End Source File +# Begin Source File + +SOURCE=".\lib\word_list-c.cpp" +# End Source File +# End Group +# Begin Group "misc" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=".\misc\po-filter.c" +# End Source File +# End Group +# Begin Group "modules" + +# PROP Default_Filter "" +# Begin Group "filter" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\modules\filter\context.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\filter\email.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\filter\sgml.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\filter\tex.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\filter\url.cpp +# End Source File +# End Group +# Begin Group "speller" + +# PROP Default_Filter "" +# Begin Group "default" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\modules\speller\default\affix.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\data.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\editdist.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\language.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\leditdist.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\multi_ws.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\phonet.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\phonetic.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\primes.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\readonly_ws.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\speller_impl.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\suggest.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\typo_editdist.cpp +# End Source File +# Begin Source File + +SOURCE=.\modules\speller\default\writable.cpp +# End Source File +# End Group +# End Group +# Begin Group "tokenizer" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\modules\tokenizer\basic.cpp +# End Source File +# End Group +# End Group +# End Target +# End Project diff -r -u -b -w --unidirectional-new-file aspell-0.60/Aspell6static.plg aspell-0.60-vc++/Aspell6static.plg --- aspell-0.60/Aspell6static.plg 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/Aspell6static.plg 2004-11-07 04:36:14.000000000 -0700 @@ -0,0 +1,27 @@ + + +
+

Build Log

+

+--------------------Configuration: Aspell6static - Win32 Debug-------------------- +

+

Command Lines

+Creating temporary file "c:\windows\TEMP\RSPC1F1.TMP" with contents +[ +/nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "prog" /I "common" /I "modules/filter" /I "modules/speller/default" /I "interfaces/cc" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "WIN32PORT" /D "PORTABLE" /D "NULLTERMINATE" /D "ASPELL_NO_EXPORTS" /FR"Aspell6static___Win32_Debug/" /Fo"Aspell6static___Win32_Debug/" /Fd"Aspell6static___Win32_Debug/" /FD /GZ /c +"C:\Projects\Aspell6\common\cache.cpp" +] +Creating command line "cl.exe @c:\windows\TEMP\RSPC1F1.TMP" +

Output Window

+Compiling... +cache.cpp +verify Win32 Mutex class +c:\projects\aspell6\common\cache.hpp(39) : warning C4800: 'class acommon::Cacheable ** ' : forcing value to bool 'true' or 'false' (performance warning) + + + +

Results

+cache.obj - 0 error(s), 1 warning(s) +
+ + diff -r -u -b -w --unidirectional-new-file aspell-0.60/aspell.conf aspell-0.60-vc++/aspell.conf --- aspell-0.60/aspell.conf 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/aspell.conf 2004-11-07 04:36:12.000000000 -0700 @@ -0,0 +1,72 @@ +# conf descrip: main configuration file +conf aspell.conf +# conf-dir descrip: location of main configuration file +conf-dir /Projects/aspell6/ +# data-dir descrip: location of language data files +data-dir /Projects/aspell/data +# dict-dir descrip: location of the main word list +dict-dir /Projects/aspell/dict +# filter (list) +# add or removes a filter +lset-filter url:html +filter-path C:/Projects/aspell/aspell-0.60/modules/filter/modes +# encoding descrip: encoding to expect data to be in +encoding iso8859-1 +# mode descrip: filter mode = none,url,email,sgml,tex +mode html +# home-dir descrip: location for personal files +home-dir /Projects/aspell6 +# ignore descrip: ignore words <= n chars +ignore 1 +# ignore-accents descrip: ignore accents when checking words +ignore-accents false +# ignore-case descrip: ignore case when checking words +ignore-case false +# ignore-repl descrip: ignore commands to store replacement pairs +ignore-repl false +# jargon descrip: extra information for the word list +jargon +# keyboard descrip: keyboard definition to use for typo analysis +keyboard standard +# lang descrip: language code +#lang +lang en_US +#lang en +# local-data-dir descrip: location of local language data files +local-data-dir C:/Projects/aspell/dict +# master descrip: base name of the main dictionary to use +master en_US.multi +# module descrip: +module default +# per-conf descrip: personal configuration file +#per-conf .aspell.conf +# personal descrip: personal word list file name +personal en.pws +#personal-path /Projects/aspell/dict/personal.rws +# prefix descrip: prefix directory +#prefix aspell-win32 +# repl descrip: replacements list file name +repl en.prepl +# run-together descrip: consider run-together words legal +run-together false +# run-together-limit descrip: maxium numbers that can be strung together +run-together-limit 8 +# run-together-min descrip: minimal length of interior words +run-together-min 3 +# save-repl descrip: save replacement pairs on save all +save-repl true +# set-prefix descrip: set the prefix based on executable location +set-prefix true +# size descrip: size of the word list +size +60 +# sug-mode descrip: suggestion mode +sug-mode normal +# backup descrip: create a backup file by appending ".bak" +backup true +# reverse descrip: reverse the order of the suggest list +reverse false +# time descrip: time load time and suggest time in pipe mode +time false +# keymapping descrip: keymapping for check mode, one of aspell ispell +keymapping aspell +affix-compress true Only in aspell-0.60/: auto diff -r -u -b -w --unidirectional-new-file aspell-0.60/BC.mak aspell-0.60-vc++/BC.mak --- aspell-0.60/BC.mak 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/BC.mak 2004-11-07 04:36:14.000000000 -0700 @@ -0,0 +1,494 @@ +# +# Borland C++ IDE generated makefile +# Generated 9/17/04 at 8:21:45 AM +# +.AUTODEPEND + + +# +# Borland C++ tools +# +IMPLIB = Implib +BCC32 = Bcc32 +BccW32.cfg +BCC32I = Bcc32i +BccW32.cfg +TLINK32 = iLink32 +TLIB = TLib +BRC32 = Brc32 +TASM32 = Tasm32 +# +# IDE macros +# + + +# +# Options +# +IDE_LinkFLAGS32 = -LC:\BC5\Bc55LIB +LinkerOps = -Tpe -ap -c -x + +# +# Dependency List +# +Dep_BC = bc.exe + + +All : BccW32.cfg $(Dep_BC) + echo MakeNode + +Dep_bcdexe = \ + BIN\aspell.obj\ + BIN\checker_string.obj\ + BIN\check_funs.obj + +bc.exe : $(Dep_bcdexe) bin\common.lib bin\lib.lib bin\module.lib + $(TLINK32) @&&| + /v $(IDE_LinkFLAGS32) $(LinkerOpts) + +C:\BC5\BC55LIB\c0x32.obj+ +BIN\checker_string.obj+ +BIN\check_funs.obj+ +BIN\aspell.obj +$<,$* +bin\common.lib+ +bin\lib.lib+ +bin\module.lib+ +C:\BC5\Bcc55LIB\import32.lib+ +C:\BC5\Bcc55LIB\cw32mti.lib + + + +| + +BIN\checker_string.obj : prog\checker_string.cpp + $(BCC32) -c $(CompOptsAt_bcdexe) -o$@ prog\checker_string.cpp + +BIN\check_funs.obj : prog\check_funs.cpp + $(BCC32) -c $(CompOptsAt_bcdexe) -o$@ prog\check_funs.cpp + +BIN\aspell.obj : prog\aspell.cpp + $(BCC32) -c $(CompOptsAt_bcdexe) -o$@ prog\aspell.cpp + +Dep_commondlib = \ + BIN\tokenizer.obj\ + BIN\string_list.obj\ + BIN\string.obj\ + BIN\string_map.obj\ + BIN\strtonum.obj\ + BIN\speller.obj\ + BIN\posib_err.obj\ + BIN\path_browse.obj\ + BIN\objstack.obj\ + BIN\itemize.obj\ + BIN\iostream.obj\ + BIN\info.obj\ + BIN\gettext_init.obj\ + BIN\getdata.obj\ + BIN\fstream.obj\ + BIN\filter.obj\ + BIN\file_util.obj\ + BIN\file_data_util.obj\ + BIN\errors.obj\ + BIN\error.obj\ + BIN\document_checker.obj\ + BIN\convert.obj\ + BIN\config.obj\ + BIN\can_have_error.obj\ + BIN\cache.obj + +bin\common.lib : $(Dep_commondlib) common_rsp + $(TLIB) $< $(LinkerOps) @common_rsp + +common_rsp : + Copy &&| +-+BIN\string.obj & +-+BIN\tokenizer.obj & +-+BIN\string_list.obj & +-+BIN\string_map.obj & +-+BIN\speller.obj & +-+BIN\strtonum.obj & +-+BIN\posib_err.obj & +-+BIN\path_browse.obj & +-+BIN\objstack.obj & +-+BIN\itemize.obj & +-+BIN\iostream.obj & +-+BIN\info.obj & +-+BIN\gettext_init.obj & +-+BIN\getdata.obj & +-+BIN\fstream.obj & +-+BIN\filter.obj & +-+BIN\file_util.obj & +-+BIN\file_data_util.obj & +-+BIN\errors.obj & +-+BIN\error.obj & +-+BIN\document_checker.obj & +-+BIN\convert.obj & +-+BIN\config.obj & +-+BIN\can_have_error.obj & +-+BIN\cache.obj +| $@ + + +BIN\string.obj : common\string.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\string.cpp + +BIN\tokenizer.obj : common\tokenizer.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\tokenizer.cpp + +BIN\strtonum.obj : common\strtonum.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\strtonum.cpp + +BIN\string_list.obj : common\string_list.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\string_list.cpp + +BIN\speller.obj : common\speller.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\speller.cpp + +BIN\string_map.obj : common\string_map.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\string_map.cpp + +BIN\posib_err.obj : common\posib_err.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\posib_err.cpp + +BIN\path_browse.obj : common\path_browse.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\path_browse.cpp + +BIN\objstack.obj : common\objstack.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\objstack.cpp + + +BIN\itemize.obj : common\itemize.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\itemize.cpp + + +BIN\iostream.obj : common\iostream.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\iostream.cpp + + +BIN\info.obj : common\info.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\info.cpp + + +BIN\gettext_init.obj : common\gettext_init.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\gettext_init.cpp + + +BIN\getdata.obj : common\getdata.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\getdata.cpp + +BIN\fstream.obj : common\fstream.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\fstream.cpp + + +BIN\filter.obj : common\filter.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\filter.cpp + + +BIN\file_util.obj : common\file_util.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\file_util.cpp + + +BIN\file_data_util.obj : common\file_data_util.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\file_data_util.cpp + + +BIN\errors.obj : common\errors.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\errors.cpp + + +BIN\error.obj : common\error.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\error.cpp + + +BIN\document_checker.obj : common\document_checker.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\document_checker.cpp + + +BIN\convert.obj : common\convert.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\convert.cpp + + +BIN\config.obj : common\config.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\config.cpp + + +BIN\can_have_error.obj : common\can_have_error.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\can_have_error.cpp + + +BIN\cache.obj : common\cache.cpp + $(BCC32) -c $(CompOptsAt_commondlib) -o$@ common\cache.cpp + + +Dep_libdlib = \ + BIN\word_list_c.obj\ + BIN\string_pair_enumeration_c.obj\ + BIN\string_map_c.obj\ + BIN\string_list_c.obj\ + BIN\string_enumeration_c.obj\ + BIN\speller_c.obj\ + BIN\new_fmode.obj\ + BIN\new_filter.obj\ + BIN\new_config.obj\ + BIN\new_checker.obj\ + BIN\mutable_container_c.obj\ + BIN\info_c.obj\ + BIN\find_speller.obj\ + BIN\filter_c.obj\ + BIN\error_c.obj\ + BIN\dummy.obj\ + BIN\document_checker_c.obj\ + BIN\config_c.obj\ + BIN\can_have_error_c.obj + +bin\lib.lib : $(Dep_libdlib) lib_rsp + $(TLIB) $< $(LinkerOps) @lib_rsp + +lib_rsp : + Copy &&| + $(IDE_BFLAGS) $(BOptsAt_libdlib) & +-+BIN\word_list_c.obj & +-+BIN\string_pair_enumeration_c.obj & +-+BIN\string_map_c.obj & +-+BIN\string_list_c.obj & +-+BIN\string_enumeration_c.obj & +-+BIN\speller_c.obj & +-+BIN\new_fmode.obj & +-+BIN\new_filter.obj & +-+BIN\new_config.obj & +-+BIN\new_checker.obj & +-+BIN\mutable_container_c.obj & +-+BIN\info_c.obj & +-+BIN\find_speller.obj & +-+BIN\filter_c.obj & +-+BIN\error_c.obj & +-+BIN\dummy.obj & +-+BIN\document_checker_c.obj & +-+BIN\config_c.obj & +-+BIN\can_have_error_c.obj +| $@ + +BIN\word_list_c.obj : lib\word_list-c.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\word_list-c.cpp + + +BIN\string_pair_enumeration_c.obj : lib\string_pair_enumeration-c.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\string_pair_enumeration-c.cpp + + +BIN\string_map_c.obj : lib\string_map-c.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\string_map-c.cpp + + +BIN\string_list_c.obj : lib\string_list-c.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\string_list-c.cpp + + +BIN\string_enumeration_c.obj : lib\string_enumeration-c.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\string_enumeration-c.cpp + + +BIN\speller_c.obj : lib\speller-c.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\speller-c.cpp + + +BIN\new_fmode.obj : lib\new_fmode.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\new_fmode.cpp + + +BIN\new_filter.obj : lib\new_filter.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\new_filter.cpp + + +BIN\new_config.obj : lib\new_config.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\new_config.cpp + + +BIN\new_checker.obj : lib\new_checker.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\new_checker.cpp + + +BIN\mutable_container_c.obj : lib\mutable_container-c.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\mutable_container-c.cpp + + +BIN\info_c.obj : lib\info-c.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\info-c.cpp + + +BIN\find_speller.obj : lib\find_speller.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\find_speller.cpp + + +BIN\filter_c.obj : lib\filter-c.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\filter-c.cpp + + +BIN\error_c.obj : lib\error-c.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\error-c.cpp + + +BIN\dummy.obj : lib\dummy.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\dummy.cpp + + +BIN\document_checker_c.obj : lib\document_checker-c.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\document_checker-c.cpp + + +BIN\config_c.obj : lib\config-c.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\config-c.cpp + + +BIN\can_have_error_c.obj : lib\can_have_error-c.cpp + $(BCC32) -c $(CompOptsAt_libdlib) -o$@ lib\can_have_error-c.cpp + + +Dep_moduledlib = \ + BIN\basic.obj\ + BIN\writable.obj\ + BIN\typo_editdist.obj\ + BIN\suggest.obj\ + BIN\speller_impl.obj\ + BIN\readonly_ws.obj\ + BIN\primes.obj\ + BIN\phonetic.obj\ + BIN\phonet.obj\ + BIN\multi_ws.obj\ + BIN\leditdist.obj\ + BIN\language.obj\ + BIN\editdist.obj\ + BIN\data.obj\ + BIN\affix.obj\ + BIN\url.obj\ + BIN\tex.obj\ + BIN\sgml.obj\ + BIN\email.obj\ + BIN\context.obj + +bin\module.lib : $(Dep_moduledlib) module_rsp + $(TLIB) $< $(LinkerOps) /P128 @module_rsp + +module_rsp : + copy &&| +-+BIN\basic.obj & +-+BIN\writable.obj & +-+BIN\typo_editdist.obj & +-+BIN\suggest.obj & +-+BIN\speller_impl.obj & +-+BIN\readonly_ws.obj & +-+BIN\primes.obj & +-+BIN\phonetic.obj & +-+BIN\phonet.obj & +-+BIN\multi_ws.obj & +-+BIN\leditdist.obj & +-+BIN\language.obj & +-+BIN\editdist.obj & +-+BIN\data.obj & +-+BIN\affix.obj & +-+BIN\url.obj & +-+BIN\tex.obj & +-+BIN\sgml.obj & +-+BIN\email.obj & +-+BIN\context.obj +| $@ + +BIN\basic.obj : modules\tokenizer\basic.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\tokenizer\basic.cpp + + +BIN\writable.obj : modules\speller\default\writable.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\speller\default\writable.cpp + + +BIN\typo_editdist.obj : modules\speller\default\typo_editdist.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\speller\default\typo_editdist.cpp + + +BIN\suggest.obj : modules\speller\default\suggest.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\speller\default\suggest.cpp + + +BIN\speller_impl.obj : modules\speller\default\speller_impl.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\speller\default\speller_impl.cpp + + +BIN\readonly_ws.obj : modules\speller\default\readonly_ws.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\speller\default\readonly_ws.cpp + + +BIN\primes.obj : modules\speller\default\primes.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\speller\default\primes.cpp + + +BIN\phonetic.obj : modules\speller\default\phonetic.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\speller\default\phonetic.cpp + + +BIN\phonet.obj : modules\speller\default\phonet.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\speller\default\phonet.cpp + + +BIN\multi_ws.obj : modules\speller\default\multi_ws.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\speller\default\multi_ws.cpp + + +BIN\leditdist.obj : modules\speller\default\leditdist.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\speller\default\leditdist.cpp + + +BIN\language.obj : modules\speller\default\language.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\speller\default\language.cpp + + +BIN\editdist.obj : modules\speller\default\editdist.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\speller\default\editdist.cpp + + +BIN\data.obj : modules\speller\default\data.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\speller\default\data.cpp + + +BIN\affix.obj : modules\speller\default\affix.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\speller\default\affix.cpp + + +BIN\url.obj : modules\filter\url.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\filter\url.cpp + + +BIN\tex.obj : modules\filter\tex.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\filter\tex.cpp + + +BIN\sgml.obj : modules\filter\sgml.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\filter\sgml.cpp + + +BIN\email.obj : modules\filter\email.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\filter\email.cpp + + +BIN\context.obj : modules\filter\context.cpp + $(BCC32) -c $(CompOptsAt_moduledlib) -o$@ modules\filter\context.cpp + + +#;COMMON;LIB;MODULES\FILTER;MODULES\SPELLER +# Compiler configuration file +BccW32.cfg : bc.mak + Copy &&| +-IC:\BC5\Bc55INCLUDE;common;interfaces\cc;modules\speller\default;modules\filter;prog +-D_RTLDLL; +-DWIN32PORT +-DPORTABLE +-WM +-W +-w +-R +-v +-vi +-H +-H=BC.csm +-H- +-xp +| $@ + + Only in aspell-0.60/: ChangeLog diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/aspellroot.h aspell-0.60-vc++/common/aspellroot.h --- aspell-0.60/common/aspellroot.h 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/common/aspellroot.h 2004-11-07 04:36:13.000000000 -0700 @@ -0,0 +1,36 @@ +#pragma once + +// The following ifdef block is the standard way of creating macros which make exporting +// from a DLL simpler. All files within this DLL are compiled with the ASPELL_EXPORTS +// symbol defined on the command line. this symbol should not be defined on any project +// that uses this DLL. This way any other project whose source files include this file see +// ASPELL_API functions as being imported from a DLL, wheras this DLL sees symbols +// defined with this macro as being exported. +#ifdef WIN32PORT +# if defined( ASPELL_NO_EXPORTS ) +# define ASPELL_API +# elif defined( ASPELL_EXPORTS ) +# define ASPELL_API __declspec(dllexport) +# else +# define ASPELL_API __declspec(dllimport) +# endif + +// This class is exported from the aspell.dll +class ASPELL_API CAspell { +public: + CAspell(void); + // TODO: add your methods here. +}; + +extern ASPELL_API int nAspell; + +//ASPELL_API int fnAspell(void); + +# ifdef _Debug +# define new Debug_new +# undef This_file +static char THIS_FILE[] = __FILE__; +# endif +#else +# define ASPELL_API +#endif \ No newline at end of file diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/block_slist.hpp aspell-0.60-vc++/common/block_slist.hpp --- aspell-0.60/common/block_slist.hpp 2004-06-02 06:48:04.000000000 -0600 +++ aspell-0.60-vc++/common/block_slist.hpp 2004-11-07 04:36:12.000000000 -0700 @@ -16,18 +16,31 @@ namespace acommon { - template - class BlockSList { + /* + Store a node of a linked list of data. + This works with the BlockSList and HashTable classes to + support locally allocated blocks of memory. + The del function calls the destructor function for the + data without deallocating the object it's self. + The NodeTpl object is deallocted with a free statement. + */ + template + struct NodeTpl { + NodeTpl * next; + Value data; + static void del(NodeTpl *n) + { + if (n) + n->data.~Value(); + } + }; + template + class BlockSList { public: - - struct Node { - Node * next; - T data; - }; + typedef NodeTpl Node; private: - void * first_block; Node * first_available; diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/block_slist-t.hpp aspell-0.60-vc++/common/block_slist-t.hpp --- aspell-0.60/common/block_slist-t.hpp 2004-06-02 06:48:02.000000000 -0600 +++ aspell-0.60-vc++/common/block_slist-t.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -36,7 +36,6 @@ i->next = 0; first_available = first; } - template void BlockSList::clear() { @@ -49,7 +48,6 @@ first_block = 0; first_available = 0; } - } #endif diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/cache.cpp aspell-0.60-vc++/common/cache.cpp --- aspell-0.60/common/cache.cpp 2004-06-02 06:48:21.000000000 -0600 +++ aspell-0.60-vc++/common/cache.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -118,4 +118,4 @@ #endif -} +} //namespace diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/cache.hpp aspell-0.60-vc++/common/cache.hpp --- aspell-0.60/common/cache.hpp 2004-06-20 01:38:11.000000000 -0600 +++ aspell-0.60-vc++/common/cache.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -7,7 +7,9 @@ class GlobalCacheBase; template class GlobalCache; - +#if 0 //13-Sep-04 +//this functions implementation was conditionally comped out. +//this declaration was in conflict with an identical decl in cache-t.hpp template PosibErr get_cache_data(GlobalCache *, typename Data::CacheConfig *, @@ -18,8 +20,10 @@ typename Data::CacheConfig2 *, const typename Data::CacheKey &); +#endif + class Cacheable; -void release_cache_data(GlobalCacheBase *, const Cacheable *); +ASPELL_API void release_cache_data(GlobalCacheBase *, const Cacheable *); static inline void release_cache_data(const GlobalCacheBase * c, const Cacheable * d) { release_cache_data(const_cast(c),d); @@ -34,11 +38,14 @@ GlobalCacheBase * cache; bool attached() {return prev;} void copy() const; - void release() const {release_cache_data(cache,this);} + void release() const { + release_cache_data(cache,this); +} Cacheable(GlobalCacheBase * c = 0) : next(0), prev(0), refcount(1), cache(c) {} virtual ~Cacheable() {} }; + template class CachePtr { @@ -63,16 +70,20 @@ ~CachePtr() {reset(0);} }; +#ifndef PORTABLE +//BC was not able to find a setup that matched param list +//Made this a method of GlobalCache template PosibErr setup(CachePtr & res, GlobalCache * cache, typename Data::CacheConfig * config, const typename Data::CacheKey & key) { - PosibErr pe = get_cache_data(cache, config, key); + PosibErr pe(get_cache_data(cache, config, key)); if (pe.has_err()) return pe; res.reset(pe.data); return no_err; } +#endif bool reset_cache(const char * = 0); diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/cache-t.hpp aspell-0.60-vc++/common/cache-t.hpp --- aspell-0.60/common/cache-t.hpp 2004-06-19 00:18:57.000000000 -0600 +++ aspell-0.60-vc++/common/cache-t.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -19,10 +19,10 @@ protected: Cacheable * first; void del(Cacheable * d); - void add(Cacheable * n); GlobalCacheBase(const char * n); ~GlobalCacheBase(); public: + void add(Cacheable * n); //this was just being made public in GlobalCache void release(Cacheable * d); void detach(Cacheable * d); void detach_all(); @@ -43,12 +43,100 @@ cur = static_cast(cur->next); return cur; } - void add(Data * n) {GlobalCacheBase::add(n);} +//debug this was just calling the base class void add(Data * n) {GlobalCacheBase::add(n);} // "release" and "detach" _will_ acquire a lock void release(Data * d) {GlobalCacheBase::release(d);} void detach(Data * d) {GlobalCacheBase::detach(d);} }; +template +class ConfigurableCache : public GlobalCache +{ +public: + typedef D Data; + + ConfigurableCache(const char * n) : GlobalCache(n) {} +#ifdef PORTABLE + PosibErr get_cache_data( + const typename Data::CacheConfig * config, + const typename Data::CacheKey & key) + { + LOCK(&lock); + Data * n = find(key); + //CERR << "Getting " << key << " for " << name << "\n"; + if (n) { + n->refcount++; + return n; + } + PosibErr res = Data::get_new(key, config); + if (res.has_err()) { + //CERR << "ERROR\n"; + return res; + } + n = res.data; + add(n); + //CERR << "LOADED FROM DISK\n"; + return n; + } + + PosibErr setup(CachePtr & res, + const typename Data::CacheConfig * config, + const typename Data::CacheKey & key) + { + PosibErr pe(get_cache_data(config, key)); + if (pe.has_err()) return pe; + res.reset(pe.data); + return no_err; + } +#endif +}; + +template +class TypoInfoCache : public ConfigurableCache +{ +public: + typedef D Data; + + TypoInfoCache(const char * n) : ConfigurableCache(n) {} +#ifdef PORTABLE + PosibErr get_cache_data( + const typename Data::CacheConfig * config, + const typename Data::CacheConfig2 * config2, + const typename Data::CacheKey & key) +{ + LOCK(&lock); + Data * n = find(key); + //CERR << "Getting " << key << "\n"; + if (n) { + n->refcount++; + return n; + } + PosibErr res = Data::get_new(key, config, config2); + if (res.has_err()) { + //CERR << "ERROR\n"; + return res; + } + n = res.data; + add(n); + //CERR << "LOADED FROM DISK\n"; + return n; + } + + PosibErr setup(CachePtr & res, + const typename Data::CacheConfig * config, + const typename Data::CacheConfig2 * config2, + const typename Data::CacheKey & key) + { + PosibErr pe = + get_cache_data(config, config2, key); + if (pe.has_err()) return pe; + res.reset(pe.data); + return no_err; + } +#endif +}; + +#ifndef PORTABLE template PosibErr get_cache_data(GlobalCache * cache, typename Data::CacheConfig * config, @@ -95,7 +183,8 @@ //CERR << "LOADED FROM DISK\n"; return n; } +#endif -} +} //namespace #endif diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/can_have_error.cpp aspell-0.60-vc++/common/can_have_error.cpp --- aspell-0.60/common/can_have_error.cpp 2004-06-02 06:48:35.000000000 -0600 +++ aspell-0.60-vc++/common/can_have_error.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -10,8 +10,10 @@ namespace acommon { +#ifndef WIN32PORT template void GenericCopyPtr::Parms> ::reset(Error*, CopyPtr::Parms const&); +#endif CanHaveError::CanHaveError(Error * e) : err_(e) diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/clone_ptr.hpp aspell-0.60-vc++/common/clone_ptr.hpp --- aspell-0.60/common/clone_ptr.hpp 2004-06-02 06:48:57.000000000 -0600 +++ aspell-0.60-vc++/common/clone_ptr.hpp 2004-11-07 04:36:12.000000000 -0700 @@ -23,7 +23,8 @@ struct Parms { T * clone(const T * ptr) const; void assign(T * & rhs, const T * lhs) const; - void del(T * ptr); + void del(T * ptr) + { delete ptr; } //13-Sep-04 }; GenericCopyPtr impl; diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/clone_ptr-t.hpp aspell-0.60-vc++/common/clone_ptr-t.hpp --- aspell-0.60/common/clone_ptr-t.hpp 2004-06-02 06:48:54.000000000 -0600 +++ aspell-0.60-vc++/common/clone_ptr-t.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -34,12 +34,12 @@ delete temp; } } - +#if 0 //13-Sep-04 moved to clone_ptr.hpp to avoid an unresolved symbol error template inline void ClonePtr::Parms::del(T * ptr) { delete ptr; } - +#endif } #endif diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/config.cpp aspell-0.60-vc++/common/config.cpp --- aspell-0.60/common/config.cpp 2004-08-13 10:51:55.000000000 -0600 +++ aspell-0.60-vc++/common/config.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -9,8 +9,10 @@ #include #include #include - +#if 0 //13-Sep-04 #include "dirs.h" +#endif +#include "gettext.h" //13-Sep-04 #include "settings.h" #ifdef USE_LOCALE @@ -21,7 +23,7 @@ # include #endif -#include "cache.hpp" +#include "cache-t.hpp" #include "asc_ctype.hpp" #include "config.hpp" #include "errors.hpp" @@ -37,7 +39,7 @@ #include "convert.hpp" #include "vararray.hpp" #include "string_list.hpp" - +#include "string_util.hpp" //#include "iostream.hpp" #define DEFAULT_LANG "en_US" @@ -358,8 +360,7 @@ if (ki->type != KeyInfoBool) return make_err(key_not_bool, ki->name); const Entry * cur = lookup(ki->name); - - String value(cur ? cur->value : get_default(ki)); + String value = cur ? cur->value : get_default(ki); //13-Sep-04 original was an error with BC if (value == "false") return false; else return true; @@ -375,7 +376,7 @@ const Entry * cur = lookup(ki->name); - String value(cur ? cur->value : get_default(ki)); + String value = cur ? cur->value : get_default(ki); //13-Sep-04 original was an error with BC return atoi(value.str()); } @@ -471,7 +472,7 @@ { typedef PosibErr Ret; { - const KeyInfo * i; + const KeyInfo * i =0; i = acommon::find(key, keyinfo_begin, keyinfo_end); if (i != keyinfo_end) return Ret(i); @@ -508,7 +509,9 @@ if (i != j->end) return Ret(i); } err: - return Ret().prim_err(unknown_key, key); + Ret ret(0); + ret.prim_err(unknown_key, key); + return ret; } static bool proc_locale_str(ParmStr lang, String & final_str) @@ -648,7 +651,7 @@ } else { // sep == '|' assert(replace[0] == '$'); const char * env = getenv(replace.c_str()+1); - final_str += env ? env : second; + final_str += env ? env : second.c_str(); } replace = ""; in_replace = false; @@ -846,8 +849,12 @@ default: ; } +#ifndef NULLTERMINATE entry->value.ensure_null_end(); - if (do_unescape) unescape(entry->value.data()); +#endif + if (do_unescape) { + unescape(entry->value); //13-Sep-04 + } entry->next = *insert_point_; *insert_point_ = entry; diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/config.hpp aspell-0.60-vc++/common/config.hpp --- aspell-0.60/common/config.hpp 2004-07-21 09:08:55.000000000 -0600 +++ aspell-0.60-vc++/common/config.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -7,6 +7,7 @@ #ifndef ASPELL_CONFIG___HPP #define ASPELL_CONFIG___HPP +#include "aspellroot.h" #include "can_have_error.hpp" #include "key_info.hpp" #include "posib_err.hpp" @@ -20,7 +21,9 @@ class StringPairEnumeration; class MutableContainer; struct Conv; - +#ifdef PORTABLE + class Cacheable; +#endif // The Config class is used to hold configuration information. // it has a set of keys which it will except. Inserting or even // trying to look at a key that it does not know will produce @@ -138,24 +141,24 @@ // the first // if the second parameter is set than flaged options will be // converted to utf-8 if needed - PosibErr commit_all(Vector * = 0, const char * codeset = 0); + ASPELL_API PosibErr commit_all(Vector * = 0, const char * codeset = 0); - PosibErr replace(ParmStr, ParmStr); - PosibErr remove(ParmStr); + ASPELL_API PosibErr replace(ParmStr, ParmStr); + ASPELL_API PosibErr remove(ParmStr); - bool empty() const {return !first_;} + ASPELL_API bool empty() const {return !first_;} - PosibErr merge(const Config & other); + ASPELL_API PosibErr merge(const Config & other); - void lang_config_merge(const Config & other, + ASPELL_API void lang_config_merge(const Config & other, int which, ParmStr codeset); - bool settings_read_in() {return settings_read_in_;} + ASPELL_API bool settings_read_in() {return settings_read_in_;} - PosibErr set_committed_state(bool val); + ASPELL_API PosibErr set_committed_state(bool val); - const Entry * lookup(const char * key) const; - void lookup_list(const KeyInfo * ki, MutableContainer & m, + ASPELL_API const Entry * lookup(const char * key) const; + ASPELL_API void lookup_list(const KeyInfo * ki, MutableContainer & m, bool include_default) const; String temp_str; @@ -164,72 +167,76 @@ Notifier * filter_mode_notifier; Vector filter_modules; - Vector filter_modules_ptrs; +#ifdef PORTABLE + Vector filter_modules_ptrs; +#else + Vector filter_modules_ptrs; //declaring the class here resulted in two unresolved symbols +#endif Config(ParmStr name, const KeyInfo * mainbegin, const KeyInfo * mainend); - Config(const Config &); - ~Config(); - Config & operator= (const Config &); + ASPELL_API Config(const Config &); + ASPELL_API ~Config(); + ASPELL_API Config & operator= (const Config &); - bool get_attached() const {return attached_;} - void set_attached(bool a) {attached_ = a;} + ASPELL_API bool get_attached() const {return attached_;} + ASPELL_API void set_attached(bool a) {attached_ = a;} - Config * clone() const; - void assign(const Config * other); + ASPELL_API Config * clone() const; + ASPELL_API void assign(const Config * other); - const char * name() const {return name_.c_str();} + ASPELL_API const char * name() const {return name_.c_str();} - NotifierEnumeration * notifiers() const; + ASPELL_API NotifierEnumeration * notifiers() const; - bool add_notifier ( Notifier *); - bool remove_notifier (const Notifier *); - bool replace_notifier(const Notifier *, Notifier *); + ASPELL_API bool add_notifier ( Notifier *); + ASPELL_API bool remove_notifier (const Notifier *); + ASPELL_API bool replace_notifier(const Notifier *, Notifier *); - void set_extra(const KeyInfo * begin, const KeyInfo * end); + ASPELL_API void set_extra(const KeyInfo * begin, const KeyInfo * end); - void set_filter_modules(const ConfigModule * modbegin, const ConfigModule * modend); + ASPELL_API void set_filter_modules(const ConfigModule * modbegin, const ConfigModule * modend); - static const char * base_name(const char * name, Action * action = 0); + ASPELL_API static const char * base_name(const char * name, Action * action = 0); - PosibErr keyinfo(ParmStr key) const; + ASPELL_API PosibErr keyinfo(ParmStr key) const; - KeyInfoEnumeration * possible_elements(bool include_extra = true, + ASPELL_API KeyInfoEnumeration * possible_elements(bool include_extra = true, bool include_modules = true) const; - StringPairEnumeration * elements() {return 0;} // FIXME + ASPELL_API StringPairEnumeration * elements() {return 0;} // FIXME - String get_default(const KeyInfo * ki) const; - PosibErr get_default(ParmStr) const; + ASPELL_API String get_default(const KeyInfo * ki) const; + ASPELL_API PosibErr get_default(ParmStr) const; - PosibErr retrieve(ParmStr key) const; + ASPELL_API PosibErr retrieve(ParmStr key) const; // will also retrive a list, with one value per line - PosibErr retrieve_any(ParmStr key) const; + ASPELL_API PosibErr retrieve_any(ParmStr key) const; - bool have (ParmStr key) const; + ASPELL_API bool have (ParmStr key) const; - PosibErr retrieve_list (ParmStr key, MutableContainer *) const; - PosibErr retrieve_bool (ParmStr key) const; - PosibErr retrieve_int (ParmStr key) const; + ASPELL_API PosibErr retrieve_list (ParmStr key, MutableContainer *) const; + ASPELL_API PosibErr retrieve_bool (ParmStr key) const; + ASPELL_API PosibErr retrieve_int (ParmStr key) const; // will take ownership of entry, even if there is an error - PosibErr set(Entry * entry, bool do_unescape = false); + ASPELL_API PosibErr set(Entry * entry, bool do_unescape = false); - void replace_internal (ParmStr, ParmStr); + ASPELL_API void replace_internal (ParmStr, ParmStr); - void write_to_stream(OStream & out, bool include_extra = false); + ASPELL_API void write_to_stream(OStream & out, bool include_extra = false); - PosibErr read_in_settings(const Config * = 0); + ASPELL_API PosibErr read_in_settings(const Config * = 0); - PosibErr read_in(IStream & in, ParmStr id = ""); - PosibErr read_in_file(ParmStr file); - PosibErr read_in_string(ParmStr str, const char * what = ""); + ASPELL_API PosibErr read_in(IStream & in, ParmStr id = ""); + ASPELL_API PosibErr read_in_file(ParmStr file); + ASPELL_API PosibErr read_in_string(ParmStr str, const char * what = ""); }; - Config * new_config(); + ASPELL_API Config * new_config(); Config * new_basic_config(); // config which doesn't require any // external symbols diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/convert.cpp aspell-0.60-vc++/common/convert.cpp --- aspell-0.60/common/convert.cpp 2004-08-03 13:19:11.000000000 -0600 +++ aspell-0.60-vc++/common/convert.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -18,10 +18,17 @@ #include "cache-t.hpp" #include "file_util.hpp" #include "file_data_util.hpp" +#include "string_util.hpp" +#include "gettext.h" #include "vararray.hpp" #include "iostream.hpp" +//27-Oct-04 we use max as a var name, make sure it is not also a macro +#ifdef max +#undef max +#endif + namespace acommon { typedef unsigned char byte; @@ -46,7 +53,11 @@ class ToUniLookup { Uni32 data[256]; +#ifndef PORTABLE static const Uni32 npos = (Uni32)(-1); +#else + enum { npos = INT_MAX }; //13-Sep-04 +#endif public: void reset(); Uni32 operator[] (char key) const {return data[(unsigned char)key];} @@ -90,7 +101,11 @@ class FromUniLookup { private: +#ifndef PORTABLE static const Uni32 npos = (Uni32)(-1); +#else + enum { npos = INT_MAX}; //13-Sep-04 +#endif UniItem * overflow_end; UniItem data[256*4]; @@ -206,11 +221,12 @@ : to(t), last(l) {} }; + //13-Sep-04 reordered param list to avoid compilation problem with Borland C template static inline NormLookupRet norm_lookup(const NormTable * d, From * s, From * stop, - const typename T::To * def, - From * prev) + From * prev, + const typename T::To * def=0) { loop: if (s != stop) { @@ -251,9 +267,15 @@ Uni32 from; typedef byte To; byte to[4]; +#ifndef PORTABLE static const From from_non_char = (From)(-1); static const To to_non_char = 0x10; static const unsigned max_to = 4; +#else + enum { max_to = 4, //13-Sep-04 + to_non_char = 0x10, + from_non_char = INT_MAX }; +#endif void * sub_table; } #ifdef __GNUC__ @@ -267,9 +289,15 @@ byte from; typedef Uni16 To; Uni16 to[3]; +#ifndef PORTABLE static const From from_non_char = 0x10; static const To to_non_char = 0x10; static const unsigned max_to = 3; +#else + enum { max_to = 3, //13-Sep-04 + from_non_char = 0x10, + to_non_char = 0x10 }; //why are from and to equal to each other? +#endif void * sub_table; } #ifdef __GNUC__ @@ -621,7 +649,7 @@ out.append(0); ++in; } else { - NormLookupRet ret = norm_lookup(data, in, stop, 0, in); + NormLookupRet ret = norm_lookup(data, in, stop, in); //13-Sep-04 for (unsigned i = 0; ret.to[i] && i < E::max_to; ++i) out.append(ret.to[i]); in = ret.last + 1; @@ -679,10 +707,12 @@ CharVector & out) const { while (in < stop) { if (*in == 0) { +#ifndef NULLTERMINATE out.append('\0'); +#endif ++in; } else { - NormLookupRet ret = norm_lookup(data, in, stop, (const byte *)"?", in); + NormLookupRet ret = norm_lookup(data, in, stop, in, (const byte *)"?"); for (unsigned i = 0; i < E::max_to && ret.to[i]; ++i) out.append(ret.to[i]); in = ret.last + 1; @@ -693,10 +723,12 @@ CharVector & out, ParmStr orig) const { while (in < stop) { if (*in == 0) { +#ifndef NULLTERMINATE out.append('\0'); +#endif ++in; } else { - NormLookupRet ret = norm_lookup(data, in, stop, 0, in); + NormLookupRet ret = norm_lookup(data, in, stop, in); if (ret.to == 0) { char m[70]; snprintf(m, 70, _("The Unicode code point U+%04X is unsupported."), in->chr); @@ -717,7 +749,7 @@ buf.append(FilterChar(0)); ++in; } else { - NormLookupRet ret = norm_lookup(data, in, stop, (const byte *)"?", in); + NormLookupRet ret = norm_lookup(data, in, stop, in, (const byte *)"?"); const FilterChar * end = ret.last + 1; unsigned width = 0; for (; in != end; ++in) width += in->width; @@ -815,11 +847,12 @@ out.append(from_utf8(in, stop)); } } + //13-Sep-04 check for NULL == in PosibErr decode_ec(const char * in, int size, FilterCharVector & out, ParmStr orig) const { const char * begin = in; const char * stop = in + size; // this is OK even if size == -1 - while (*in && in != stop) { + while (in && *in && in != stop) { FilterChar c = from_utf8(in, stop, (Uni32)-1); if (c == (Uni32)-1) { char m[70]; @@ -855,9 +888,9 @@ // Cache // - static GlobalCache decode_cache("decode"); - static GlobalCache encode_cache("encode"); - static GlobalCache norm_tables_cache("norm_tables"); + static ConfigurableCache decode_cache("decode"); + static ConfigurableCache encode_cache("encode"); + static ConfigurableCache norm_tables_cache("norm_tables"); ////////////////////////////////////////////////////////////////////// // @@ -867,12 +900,13 @@ void Convert::generic_convert(const char * in, int size, CharVector & out) { buf_.clear(); - decode_->decode(in, size, buf_); + //decode_->decode(in, size, buf_); + getDecode()->decode(in, size, buf_); FilterChar * start = buf_.pbegin(); FilterChar * stop = buf_.pend(); if (!filter.empty()) filter.process(start, stop); - encode_->encode(start, stop, out); + getEncode()->encode(start, stop, out); } const char * fix_encoding_str(ParmStr enc, String & buf) @@ -979,27 +1013,36 @@ PosibErr Convert::init(const Config & c, ParmStr in, ParmStr out) { +#ifdef PORTABLE + RET_ON_ERR(decode_cache.setup(decode_d, &c, in)); +#else RET_ON_ERR(setup(decode_d, &decode_cache, &c, in)); - decode_ = decode_d.get(); +#endif + + //decode_ = decode_d.get(); +#ifdef PORTABLE + RET_ON_ERR(encode_cache.setup(encode_d, &c, out)); +#else RET_ON_ERR(setup(encode_d, &encode_cache, &c, out)); - encode_ = encode_d.get(); +#endif + //encode_ = encode_d.get(); conv_ = 0; if (in == out) { if (in == "ucs-2") { - assert(sizeof(ConvDirect) <= memory_size); - conv_ = new (memory) ConvDirect; +// assert(sizeof(ConvDirect) <= memory_size); + conv_ = new ConvDirect; } else if (in == "ucs-4") { - assert(sizeof(ConvDirect) <= memory_size); - conv_ = new (memory) ConvDirect; +// assert(sizeof(ConvDirect) <= memory_size); + conv_ = new ConvDirect; } else { - assert(sizeof(ConvDirect) <= memory_size); - conv_ = new (memory) ConvDirect; + // assert(sizeof(ConvDirect) <= memory_size); + conv_ = new ConvDirect; } } if (conv_) - RET_ON_ERR(conv_->init(decode_, encode_, c)); + RET_ON_ERR(conv_->init(decode_d, encode_d, c)); return no_err; } @@ -1007,21 +1050,26 @@ PosibErr Convert::init_norm_from(const Config & c, ParmStr in, ParmStr out) { - if (!c.retrieve_bool("normalize") && !c.retrieve_bool("norm-required")) + if (!(c.retrieve_bool("normalize").get()) && !(c.retrieve_bool("norm-required").get())) return init(c,in,out); +#ifdef PORTABLE + RET_ON_ERR(norm_tables_cache.setup(norm_tables_, &c, out)); + RET_ON_ERR(decode_cache.setup(decode_d, &c, in)); +#else RET_ON_ERR(setup(norm_tables_, &norm_tables_cache, &c, out)); RET_ON_ERR(setup(decode_d, &decode_cache, &c, in)); - decode_ = decode_d.get(); +#endif + //decode_ = decode_d.get(); - assert(sizeof(EncodeNormLookup) <= memory_size); + //assert(sizeof(EncodeNormLookup) <= memory_size); if (c.retrieve_bool("norm-strict")) { - encode_ = new (memory) EncodeNormLookup(norm_tables_->strict); + encode_ = new EncodeNormLookup(norm_tables_->strict); encode_->key = out; encode_->key += ":strict"; } else { - encode_ = new (memory) EncodeNormLookup(norm_tables_->internal); + encode_ = new EncodeNormLookup(norm_tables_->internal); encode_->key = out; encode_->key += ":internal"; } @@ -1033,23 +1081,29 @@ PosibErr Convert::init_norm_to(const Config & c, ParmStr in, ParmStr out) { String norm_form = c.retrieve("norm-form"); - if ((!c.retrieve_bool("normalize") || norm_form == "none") - && !c.retrieve_bool("norm-required")) + if ((!(c.retrieve_bool("normalize").get()) || norm_form == "none") + && !(c.retrieve_bool("norm-required").get())) return init(c,in,out); - if (norm_form == "none" && c.retrieve_bool("norm-required")) + if (("none" == norm_form) && c.retrieve_bool("norm-required").get()) norm_form = "nfc"; +#ifdef PORTABLE + RET_ON_ERR(norm_tables_cache.setup(norm_tables_, &c, in)); + RET_ON_ERR(encode_cache.setup(encode_d, &c, out)); +#else RET_ON_ERR(setup(norm_tables_, &norm_tables_cache, &c, in)); RET_ON_ERR(setup(encode_d, &encode_cache, &c, out)); - encode_ = encode_d.get(); +#endif + //encode_ = encode_d.get(); - assert(sizeof(DecodeNormLookup) <= memory_size); + //assert(sizeof(DecodeNormLookup) <= memory_size); NormTables::ToUni::const_iterator i = norm_tables_->to_uni.begin(); for (; i != norm_tables_->to_uni.end() && i->name != norm_form; ++i); assert(i != norm_tables_->to_uni.end()); - decode_ = new (memory) DecodeNormLookup(i->ptr); + //decode_ = new (memory) DecodeNormLookup(i->ptr); + decode_ = new DecodeNormLookup(i->ptr); decode_->key = in; decode_->key += ':'; decode_->key += i->name; diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/convert.hpp aspell-0.60-vc++/common/convert.hpp --- aspell-0.60/common/convert.hpp 2004-07-14 05:46:26.000000000 -0600 +++ aspell-0.60-vc++/common/convert.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -4,9 +4,29 @@ // license along with this library if you did not you can find // it at http://www.gnu.org/. +//13-Sep-04 +// changed memory_size and null_len_ from a static const size_t to an enum. +//the original was an error in VC. +/* +30-Oct-04 + Removed the memory data member from Convert and added getEncode() and getDecode() + member functions. + The orginal code had encode_ and decode_ members that could point to the + default values (encode_d and decode_d respectivly) or objects that it + constructed it's self. It used inplace construction using the data member + memory. The encode_ and decode_ objects where not and could not be deleted + since they could point to default objects which this class does not own. + Since the destructor for Decode and Encode were not called, memory allocated + to their members (aka String key) was never freed, resulting in a memory leak. + Now encode_ is zero, unless there is a non-default value constructed. + Now if encode_ is non-zero, the destructor for Convert deletes it. + The same is true of decode_. +*/ + #ifndef ASPELL_CONVERT__HPP #define ASPELL_CONVERT__HPP +#include "aspellroot.h" #include "string.hpp" #include "posib_err.hpp" #include "char_vector.hpp" @@ -67,6 +87,7 @@ CharVector & out, ParmStr orig) const = 0; virtual ~DirectConv() {} }; + template struct NormTable; struct FromUniNormEntry; struct ToUniNormEntry; @@ -83,7 +104,7 @@ String name; NormTable * data; NormTable * ptr; - ToUniTable() : data(), ptr() {} + ToUniTable() : data(0), ptr(0) {} //13-Sep-04 }; typedef Vector ToUni; Vector to_uni; @@ -100,19 +121,45 @@ Encode * encode_; CachePtr norm_tables_; DirectConv * conv_; - - static const size_t memory_size = 96; - char memory[memory_size]; +//30-Oct-04#if 0 +//30-Oct-04 static const size_t memory_size = 96; +//30-Oct-04#else +//30-Oct-04 enum {memory_size = 96}; //13-Sep-04 +//30-Oct-04#endif +//30-Oct-04 char memory[memory_size]; ConvertBuffer buf_; - +#if 0 static const unsigned int null_len_ = 4; // POSIB FIXME: Be more precise +#else + enum { null_len_ = 4 }; //13-Sep-04 +#endif + Decode * getDecode() const { //30-Oct-04 + if (decode_) + return decode_ ; + return decode_d.get(); + } + Encode * getEncode() const { //30-Oct-04 + if (encode_) + return encode_ ; + return encode_d.get(); + } Convert(const Convert &); void operator=(const Convert &); public: - Convert() {} + Convert() :decode_(0),encode_(0),conv_(0) + {} + ~Convert() { + if (decode_) + delete decode_; //30-Oct-04 + if (encode_) + delete encode_; //30-Oct-04 + if (conv_) + delete conv_; //30-Oct-04 + } + // This filter is used when the convert method is called. It must // be set up by an external entity as this class does not set up @@ -123,8 +170,8 @@ PosibErr init_norm_to(const Config &, ParmStr in, ParmStr out); PosibErr init_norm_from(const Config &, ParmStr in, ParmStr out); - const char * in_code() const {return decode_->key.c_str();} - const char * out_code() const {return encode_->key.c_str();} + const char * in_code() const {return getDecode()->key.c_str();} + const char * out_code() const {return getEncode()->key.c_str();} void append_null(CharVector & out) const { @@ -139,15 +186,15 @@ // with append_null void decode(const char * in, int size, FilterCharVector & out) const - {decode_->decode(in,size,out);} + {getDecode()->decode(in,size,out);} void encode(const FilterChar * in, const FilterChar * stop, CharVector & out) const - {encode_->encode(in,stop,out);} + {getEncode()->encode(in,stop,out);} bool encode(FilterChar * & in, FilterChar * & stop, FilterCharVector & buf) const - {return encode_->encode(in,stop,buf);} + {return getEncode()->encode(in,stop,buf);} // does NOT pass it through filters // DOES NOT use an internal state @@ -157,8 +204,8 @@ conv_->convert(in,size,out); } else { buf.clear(); - decode_->decode(in, size, buf); - encode_->encode(buf.pbegin(), buf.pend(), out); + getDecode()->decode(in, size, buf); + getEncode()->encode(buf.pbegin(), buf.pend(), out); } } @@ -171,8 +218,8 @@ RET_ON_ERR(conv_->convert_ec(in,size,out, orig)); } else { buf.clear(); - RET_ON_ERR(decode_->decode_ec(in, size, buf, orig)); - RET_ON_ERR(encode_->encode_ec(buf.pbegin(), buf.pend(), + RET_ON_ERR(getDecode()->decode_ec(in, size, buf, orig)); + RET_ON_ERR(getEncode()->encode_ec(buf.pbegin(), buf.pend(), out, orig)); } return no_err; @@ -197,14 +244,14 @@ bool operator== (const Convert & rhs, const Convert & lhs); - const char * fix_encoding_str(ParmStr enc, String & buf); + ASPELL_API const char * fix_encoding_str(ParmStr enc, String & buf); // also returns true if the encoding is unknown bool ascii_encoding(const Config & c, ParmStr enc0); enum Normalize {NormNone, NormFrom, NormTo}; - PosibErr internal_new_convert(const Config & c, + ASPELL_API PosibErr internal_new_convert(const Config & c, ParmString in, ParmString out, bool if_needed, Normalize n); @@ -246,7 +293,7 @@ const Convert * conv; ConvertBuffer buf0; CharVector buf; - operator bool() const {return conv;} + operator bool() const {return conv;} //13-Sep-04 ConvP(const Convert * c = 0) : conv(c) {} ConvP(const ConvObj & c) : conv(c.ptr) {} ConvP(const ConvP & c) : conv(c.conv) {} @@ -266,7 +313,9 @@ if (conv) { buf.clear(); conv->convert(str, sz, buf, buf0); +#ifndef NULLTERMINATE buf.ensure_null_end(); +#endif return buf.data(); } else { return str; @@ -291,7 +340,9 @@ if (conv) { buf.clear(); conv->convert(str, -1, buf, buf0); +#ifndef NULLTERMINATE buf.ensure_null_end(); +#endif return buf.data(); } else { return str; @@ -302,7 +353,9 @@ if (conv) { buf.clear(); conv->convert(str, -1, buf, buf0); +#ifndef NULLTERMINATE buf.ensure_null_end(); +#endif return buf.data(); } else { return str; @@ -317,7 +370,9 @@ } else { buf.append(c); } +#ifndef NULLTERMINATE buf.ensure_null_end(); +#endif return buf.data(); } }; @@ -338,7 +393,7 @@ const Convert * conv; ConvertBuffer buf0; CharVector buf; - operator bool() const {return conv;} + operator bool() const {return conv ? true: false;} //13-Sep-04 ConvECP(const Convert * c = 0) : conv(c) {} ConvECP(const ConvObj & c) : conv(c.ptr) {} ConvECP(const ConvECP & c) : conv(c.conv) {} @@ -357,7 +412,9 @@ if (conv) { buf.clear(); RET_ON_ERR(conv->convert_ec(str, sz, buf, buf0, str)); +#ifndef NULLTERMINATE buf.ensure_null_end(); +#endif return buf.data(); } else { return str; @@ -372,7 +429,9 @@ if (conv) { buf.clear(); RET_ON_ERR(conv->convert_ec(str, -1, buf, buf0, str)); +#ifndef NULLTERMINATE buf.ensure_null_end(); +#endif return buf.data(); } else { return str; @@ -384,7 +443,9 @@ if (conv) { buf.clear(); RET_ON_ERR(conv->convert_ec(str, -1, buf, buf0, str)); +#ifndef NULLTERMINATE buf.ensure_null_end(); +#endif return buf.data(); } else { return str.str(); @@ -413,8 +474,8 @@ { enum Encoding {Other, UTF8, UCS2, UCS4} encoding; MBLen() : encoding(Other) {} - PosibErr setup(const Config &, ParmStr enc); - unsigned operator()(const char * str, const char * stop); + ASPELL_API PosibErr setup(const Config &, ParmStr enc); + ASPELL_API unsigned operator()(const char * str, const char * stop); unsigned operator()(const char * str, unsigned byte_size) { return operator()(str, str + byte_size);} }; diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/copy_ptr.hpp aspell-0.60-vc++/common/copy_ptr.hpp --- aspell-0.60/common/copy_ptr.hpp 2004-06-02 06:49:44.000000000 -0600 +++ aspell-0.60-vc++/common/copy_ptr.hpp 2004-11-07 04:36:12.000000000 -0700 @@ -21,9 +21,13 @@ class CopyPtr { struct Parms { - T * clone(const T * ptr) const; - void assign(T * & rhs, const T * lhs) const; - void del(T * ptr); + T * clone(const T * ptr) const + { return new T(*ptr);} //13-Sep-04 + void assign(T * & rhs, const T * lhs) const + { *rhs = *lhs; } //13-Sep-04 + void del(T * ptr) + { delete ptr; } //13-Sep-04 + }; GenericCopyPtr impl; diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/copy_ptr-t.hpp aspell-0.60-vc++/common/copy_ptr-t.hpp --- aspell-0.60/common/copy_ptr-t.hpp 2004-06-02 06:49:41.000000000 -0600 +++ aspell-0.60-vc++/common/copy_ptr-t.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -15,7 +15,7 @@ #include "copy_ptr.hpp" #include "generic_copy_ptr-t.hpp" - +#if 0 //13-Sep-04 moved to copy_ptr.h namespace acommon { template @@ -33,5 +33,5 @@ delete ptr; } } - +#endif #endif Only in aspell-0.60/common: dictionary.hpp diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/document_checker.hpp aspell-0.60-vc++/common/document_checker.hpp --- aspell-0.60/common/document_checker.hpp 2004-06-02 06:50:11.000000000 -0600 +++ aspell-0.60-vc++/common/document_checker.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -7,9 +7,10 @@ #ifndef ASPELL_DOCUMENT_CHECKER__HPP #define ASPELL_DOCUMENT_CHECKER__HPP +#include "aspellroot.h" #include "filter.hpp" #include "char_vector.hpp" -#include "copy_ptr.hpp" +#include "copy_ptr-t.hpp" //13-Sep-04 #include "can_have_error.hpp" #include "filter_char.hpp" #include "filter_char_vector.hpp" @@ -35,12 +36,12 @@ // speller expected to stick around. PosibErr setup(Tokenizer *, Speller *, Filter *); void reset(); - void process(const char * str, int size); - Token next_misspelling(); + ASPELL_API void process(const char * str, int size); + ASPELL_API Token next_misspelling(); Filter * filter() {return filter_;} - void set_status_fun(void (*)(void *, Token, int), void *); + ASPELL_API void set_status_fun(void (*)(void *, Token, int), void *); DocumentChecker(); ~DocumentChecker(); @@ -55,7 +56,7 @@ FilterCharVector proc_str_; }; - PosibErr new_document_checker(Speller *); + ASPELL_API PosibErr new_document_checker(Speller *); } diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/enumeration.hpp aspell-0.60-vc++/common/enumeration.hpp --- aspell-0.60/common/enumeration.hpp 2004-06-02 06:50:15.000000000 -0600 +++ aspell-0.60-vc++/common/enumeration.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -54,7 +54,7 @@ virtual ~Enumeration() {} }; - template > + template > // Parms is expected to have the following members: // typename Value // typename Iterator; @@ -99,10 +99,12 @@ Value end_state() const {return Value();} }; +#ifndef WIN32PORT template struct MakeAlwaysEndEnumerationParms { Value * end_state() const {return 0;} }; +#endif template class MakeAlwaysEndEnumeration : public Enumeration { diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/errors.cpp aspell-0.60-vc++/common/errors.cpp --- aspell-0.60/common/errors.cpp 2004-06-25 04:03:07.000000000 -0600 +++ aspell-0.60-vc++/common/errors.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -7,9 +7,12 @@ * at http://www.gnu.org/. */ #include "settings.h" +#include "string_util.hpp" +#include "gettext.h" #include "error.hpp" #include "errors.hpp" + namespace acommon { @@ -351,7 +354,7 @@ static const ErrorInfo aerror_cant_create_pipe_obj = { aerror_pipe, // isa - 0, // mesg + N_("can not create a pipe"), // mesg 0, // num_parms {""} // parms }; diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/errors.hpp aspell-0.60-vc++/common/errors.hpp --- aspell-0.60/common/errors.hpp 2004-06-25 04:03:07.000000000 -0600 +++ aspell-0.60-vc++/common/errors.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -9,96 +9,97 @@ #ifndef ASPELL_ERRORS__HPP #define ASPELL_ERRORS__HPP +#include "aspellroot.h" namespace acommon { struct ErrorInfo; -extern "C" const ErrorInfo * const aerror_other; -extern "C" const ErrorInfo * const aerror_operation_not_supported; -extern "C" const ErrorInfo * const aerror_cant_copy; -extern "C" const ErrorInfo * const aerror_unimplemented_method; -extern "C" const ErrorInfo * const aerror_file; -extern "C" const ErrorInfo * const aerror_cant_open_file; -extern "C" const ErrorInfo * const aerror_cant_read_file; -extern "C" const ErrorInfo * const aerror_cant_write_file; -extern "C" const ErrorInfo * const aerror_invalid_name; -extern "C" const ErrorInfo * const aerror_bad_file_format; -extern "C" const ErrorInfo * const aerror_dir; -extern "C" const ErrorInfo * const aerror_cant_read_dir; -extern "C" const ErrorInfo * const aerror_config; -extern "C" const ErrorInfo * const aerror_unknown_key; -extern "C" const ErrorInfo * const aerror_cant_change_value; -extern "C" const ErrorInfo * const aerror_bad_key; -extern "C" const ErrorInfo * const aerror_bad_value; -extern "C" const ErrorInfo * const aerror_duplicate; -extern "C" const ErrorInfo * const aerror_key_not_string; -extern "C" const ErrorInfo * const aerror_key_not_int; -extern "C" const ErrorInfo * const aerror_key_not_bool; -extern "C" const ErrorInfo * const aerror_key_not_list; -extern "C" const ErrorInfo * const aerror_no_value_reset; -extern "C" const ErrorInfo * const aerror_no_value_enable; -extern "C" const ErrorInfo * const aerror_no_value_disable; -extern "C" const ErrorInfo * const aerror_no_value_clear; -extern "C" const ErrorInfo * const aerror_language_related; -extern "C" const ErrorInfo * const aerror_unknown_language; -extern "C" const ErrorInfo * const aerror_unknown_soundslike; -extern "C" const ErrorInfo * const aerror_language_not_supported; -extern "C" const ErrorInfo * const aerror_no_wordlist_for_lang; -extern "C" const ErrorInfo * const aerror_mismatched_language; -extern "C" const ErrorInfo * const aerror_affix; -extern "C" const ErrorInfo * const aerror_corrupt_affix; -extern "C" const ErrorInfo * const aerror_invalid_cond; -extern "C" const ErrorInfo * const aerror_invalid_cond_strip; -extern "C" const ErrorInfo * const aerror_incorrect_encoding; -extern "C" const ErrorInfo * const aerror_encoding; -extern "C" const ErrorInfo * const aerror_unknown_encoding; -extern "C" const ErrorInfo * const aerror_encoding_not_supported; -extern "C" const ErrorInfo * const aerror_conversion_not_supported; -extern "C" const ErrorInfo * const aerror_pipe; -extern "C" const ErrorInfo * const aerror_cant_create_pipe; -extern "C" const ErrorInfo * const aerror_process_died; -extern "C" const ErrorInfo * const aerror_bad_input; -extern "C" const ErrorInfo * const aerror_invalid_string; -extern "C" const ErrorInfo * const aerror_invalid_word; -extern "C" const ErrorInfo * const aerror_invalid_affix; -extern "C" const ErrorInfo * const aerror_inapplicable_affix; -extern "C" const ErrorInfo * const aerror_unknown_unichar; -extern "C" const ErrorInfo * const aerror_word_list_flags; -extern "C" const ErrorInfo * const aerror_invalid_flag; -extern "C" const ErrorInfo * const aerror_conflicting_flags; -extern "C" const ErrorInfo * const aerror_version_control; -extern "C" const ErrorInfo * const aerror_bad_version_string; -extern "C" const ErrorInfo * const aerror_filter; -extern "C" const ErrorInfo * const aerror_cant_dlopen_file; -extern "C" const ErrorInfo * const aerror_empty_filter; -extern "C" const ErrorInfo * const aerror_no_such_filter; -extern "C" const ErrorInfo * const aerror_confusing_version; -extern "C" const ErrorInfo * const aerror_bad_version; -extern "C" const ErrorInfo * const aerror_identical_option; -extern "C" const ErrorInfo * const aerror_options_only; -extern "C" const ErrorInfo * const aerror_invalid_option_modifier; -extern "C" const ErrorInfo * const aerror_cant_describe_filter; -extern "C" const ErrorInfo * const aerror_filter_mode_file; -extern "C" const ErrorInfo * const aerror_mode_option_name; -extern "C" const ErrorInfo * const aerror_no_filter_to_option; -extern "C" const ErrorInfo * const aerror_bad_mode_key; -extern "C" const ErrorInfo * const aerror_expect_mode_key; -extern "C" const ErrorInfo * const aerror_mode_version_requirement; -extern "C" const ErrorInfo * const aerror_confusing_mode_version; -extern "C" const ErrorInfo * const aerror_bad_mode_version; -extern "C" const ErrorInfo * const aerror_missing_magic_expression; -extern "C" const ErrorInfo * const aerror_empty_file_ext; -extern "C" const ErrorInfo * const aerror_filter_mode_expand; -extern "C" const ErrorInfo * const aerror_unknown_mode; -extern "C" const ErrorInfo * const aerror_mode_extend_expand; -extern "C" const ErrorInfo * const aerror_filter_mode_magic; -extern "C" const ErrorInfo * const aerror_file_magic_pos; -extern "C" const ErrorInfo * const aerror_file_magic_range; -extern "C" const ErrorInfo * const aerror_missing_magic; -extern "C" const ErrorInfo * const aerror_bad_magic; -extern "C" const ErrorInfo * const aerror_expression; -extern "C" const ErrorInfo * const aerror_invalid_expression; +extern "C" ASPELL_API const ErrorInfo * const aerror_other; +extern "C" ASPELL_API const ErrorInfo * const aerror_operation_not_supported; +extern "C" ASPELL_API const ErrorInfo * const aerror_cant_copy; +extern "C" ASPELL_API const ErrorInfo * const aerror_unimplemented_method; +extern "C" ASPELL_API const ErrorInfo * const aerror_file; +extern "C" ASPELL_API const ErrorInfo * const aerror_cant_open_file; +extern "C" ASPELL_API const ErrorInfo * const aerror_cant_read_file; +extern "C" ASPELL_API const ErrorInfo * const aerror_cant_write_file; +extern "C" ASPELL_API const ErrorInfo * const aerror_invalid_name; +extern "C" ASPELL_API const ErrorInfo * const aerror_bad_file_format; +extern "C" ASPELL_API const ErrorInfo * const aerror_dir; +extern "C" ASPELL_API const ErrorInfo * const aerror_cant_read_dir; +extern "C" ASPELL_API const ErrorInfo * const aerror_config; +extern "C" ASPELL_API const ErrorInfo * const aerror_unknown_key; +extern "C" ASPELL_API const ErrorInfo * const aerror_cant_change_value; +extern "C" ASPELL_API const ErrorInfo * const aerror_bad_key; +extern "C" ASPELL_API const ErrorInfo * const aerror_bad_value; +extern "C" ASPELL_API const ErrorInfo * const aerror_duplicate; +extern "C" ASPELL_API const ErrorInfo * const aerror_key_not_string; +extern "C" ASPELL_API const ErrorInfo * const aerror_key_not_int; +extern "C" ASPELL_API const ErrorInfo * const aerror_key_not_bool; +extern "C" ASPELL_API const ErrorInfo * const aerror_key_not_list; +extern "C" ASPELL_API const ErrorInfo * const aerror_no_value_reset; +extern "C" ASPELL_API const ErrorInfo * const aerror_no_value_enable; +extern "C" ASPELL_API const ErrorInfo * const aerror_no_value_disable; +extern "C" ASPELL_API const ErrorInfo * const aerror_no_value_clear; +extern "C" ASPELL_API const ErrorInfo * const aerror_language_related; +extern "C" ASPELL_API const ErrorInfo * const aerror_unknown_language; +extern "C" ASPELL_API const ErrorInfo * const aerror_unknown_soundslike; +extern "C" ASPELL_API const ErrorInfo * const aerror_language_not_supported; +extern "C" ASPELL_API const ErrorInfo * const aerror_no_wordlist_for_lang; +extern "C" ASPELL_API const ErrorInfo * const aerror_mismatched_language; +extern "C" ASPELL_API const ErrorInfo * const aerror_affix; +extern "C" ASPELL_API const ErrorInfo * const aerror_corrupt_affix; +extern "C" ASPELL_API const ErrorInfo * const aerror_invalid_cond; +extern "C" ASPELL_API const ErrorInfo * const aerror_invalid_cond_strip; +extern "C" ASPELL_API const ErrorInfo * const aerror_incorrect_encoding; +extern "C" ASPELL_API const ErrorInfo * const aerror_encoding; +extern "C" ASPELL_API const ErrorInfo * const aerror_unknown_encoding; +extern "C" ASPELL_API const ErrorInfo * const aerror_encoding_not_supported; +extern "C" ASPELL_API const ErrorInfo * const aerror_conversion_not_supported; +extern "C" ASPELL_API const ErrorInfo * const aerror_pipe; +extern "C" ASPELL_API const ErrorInfo * const aerror_cant_create_pipe; +extern "C" ASPELL_API const ErrorInfo * const aerror_process_died; +extern "C" ASPELL_API const ErrorInfo * const aerror_bad_input; +extern "C" ASPELL_API const ErrorInfo * const aerror_invalid_string; +extern "C" ASPELL_API const ErrorInfo * const aerror_invalid_word; +extern "C" ASPELL_API const ErrorInfo * const aerror_invalid_affix; +extern "C" ASPELL_API const ErrorInfo * const aerror_inapplicable_affix; +extern "C" ASPELL_API const ErrorInfo * const aerror_unknown_unichar; +extern "C" ASPELL_API const ErrorInfo * const aerror_word_list_flags; +extern "C" ASPELL_API const ErrorInfo * const aerror_invalid_flag; +extern "C" ASPELL_API const ErrorInfo * const aerror_conflicting_flags; +extern "C" ASPELL_API const ErrorInfo * const aerror_version_control; +extern "C" ASPELL_API const ErrorInfo * const aerror_bad_version_string; +extern "C" ASPELL_API const ErrorInfo * const aerror_filter; +extern "C" ASPELL_API const ErrorInfo * const aerror_cant_dlopen_file; +extern "C" ASPELL_API const ErrorInfo * const aerror_empty_filter; +extern "C" ASPELL_API const ErrorInfo * const aerror_no_such_filter; +extern "C" ASPELL_API const ErrorInfo * const aerror_confusing_version; +extern "C" ASPELL_API const ErrorInfo * const aerror_bad_version; +extern "C" ASPELL_API const ErrorInfo * const aerror_identical_option; +extern "C" ASPELL_API const ErrorInfo * const aerror_options_only; +extern "C" ASPELL_API const ErrorInfo * const aerror_invalid_option_modifier; +extern "C" ASPELL_API const ErrorInfo * const aerror_cant_describe_filter; +extern "C" ASPELL_API const ErrorInfo * const aerror_filter_mode_file; +extern "C" ASPELL_API const ErrorInfo * const aerror_mode_option_name; +extern "C" ASPELL_API const ErrorInfo * const aerror_no_filter_to_option; +extern "C" ASPELL_API const ErrorInfo * const aerror_bad_mode_key; +extern "C" ASPELL_API const ErrorInfo * const aerror_expect_mode_key; +extern "C" ASPELL_API const ErrorInfo * const aerror_mode_version_requirement; +extern "C" ASPELL_API const ErrorInfo * const aerror_confusing_mode_version; +extern "C" ASPELL_API const ErrorInfo * const aerror_bad_mode_version; +extern "C" ASPELL_API const ErrorInfo * const aerror_missing_magic_expression; +extern "C" ASPELL_API const ErrorInfo * const aerror_empty_file_ext; +extern "C" ASPELL_API const ErrorInfo * const aerror_filter_mode_expand; +extern "C" ASPELL_API const ErrorInfo * const aerror_unknown_mode; +extern "C" ASPELL_API const ErrorInfo * const aerror_mode_extend_expand; +extern "C" ASPELL_API const ErrorInfo * const aerror_filter_mode_magic; +extern "C" ASPELL_API const ErrorInfo * const aerror_file_magic_pos; +extern "C" ASPELL_API const ErrorInfo * const aerror_file_magic_range; +extern "C" ASPELL_API const ErrorInfo * const aerror_missing_magic; +extern "C" ASPELL_API const ErrorInfo * const aerror_bad_magic; +extern "C" ASPELL_API const ErrorInfo * const aerror_expression; +extern "C" ASPELL_API const ErrorInfo * const aerror_invalid_expression; static const ErrorInfo * const other_error = aerror_other; diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/file_util.cpp aspell-0.60-vc++/common/file_util.cpp --- aspell-0.60/common/file_util.cpp 2004-06-10 10:52:10.000000000 -0600 +++ aspell-0.60-vc++/common/file_util.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -4,12 +4,12 @@ // license along with this library if you did not you can find // it at http://www.gnu.org/. +#include //13-Sep-04 //std::string #include "settings.h" //#include "iostream.hpp" #include "config.hpp" -#include "file_util.hpp" #include "fstream.hpp" #include "errors.hpp" #include "string_list.hpp" @@ -28,6 +28,7 @@ # define ACCESS _access # include # include +# define F_OK 0 //does the file exist? 13-Sep-04 #else @@ -37,15 +38,16 @@ #endif +#include "file_util.hpp" namespace acommon { bool need_dir(ParmString file) { - if (file[0] == '/' - || (file[0] == '.' && file[1] == '/') + if (file.at(0) == '/' + || (file.at(0) == '.' && file[1] == '/') // For Win32: - || (file[0] != '\0' && file[1] == ':') - || (file[0] == '\\')) + || (file.at(0) != '\0' && file[1] == ':') + || (file.at(0) == '\\')) return false; else return true; @@ -68,7 +70,7 @@ String temp; int s = strlen(file) - 1; while (s != -1 && file[s] != '/') --s; - if (file[0] != '.' && file[0] != '/') { + if (file.at(0) != '.' && file.at(0) != '/') { temp += dir; temp += '/'; } @@ -188,44 +190,5 @@ return 0; } - PathBrowser::PathBrowser(const StringList & sl, const char * suf) - : dir_handle(0) - { - els = sl.elements(); - suffix = suf; - } - - PathBrowser::~PathBrowser() - { - delete els; - if (dir_handle) closedir((DIR *)dir_handle); - } - const char * PathBrowser::next() - { - if (dir_handle == 0) goto get_next_dir; - begin: { - struct dirent * entry = readdir((DIR *)dir_handle); - if (entry == 0) goto try_again; - const char * name = entry->d_name; - unsigned name_len = strlen(name); - if (suffix.size() != 0 && - !(name_len > suffix.size() - && memcmp(name + name_len - suffix.size(), suffix.str(), suffix.size()) == 0)) - goto begin; - path = dir; - if (path.back() != '/') path += '/'; - path += name; - } - return path.str(); - try_again: - closedir((DIR *)dir_handle); - dir_handle = 0; - get_next_dir: - dir = els->next(); - if (!dir) return 0; - dir_handle = opendir(dir); - if (dir_handle == 0) goto try_again; - goto begin; - } -} + } //namespace acommon \ No newline at end of file diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/file_util.hpp aspell-0.60-vc++/common/file_util.hpp --- aspell-0.60/common/file_util.hpp 2004-06-10 09:54:52.000000000 -0600 +++ aspell-0.60-vc++/common/file_util.hpp 2004-11-07 04:36:12.000000000 -0700 @@ -11,7 +11,6 @@ #include "string.hpp" #include "posib_err.hpp" - namespace acommon { class FStream; @@ -30,9 +29,9 @@ PosibErr open_file_writelock(FStream & in, ParmString file); // returns true if the file already exists void truncate_file(FStream & f, ParmString name); - bool remove_file(ParmString name); + ASPELL_API bool remove_file(ParmString name); bool file_exists(ParmString name); - bool rename_file(ParmString orig, ParmString new_name); + ASPELL_API bool rename_file(ParmString orig, ParmString new_name); // will return NULL if path is NULL. const char * get_file_name(const char * path); @@ -43,21 +42,6 @@ class StringEnumeration; - class PathBrowser - { - String suffix; - String path; - StringEnumeration * els; - void * dir_handle; - const char * dir; - PathBrowser(const PathBrowser &); - void operator= (const PathBrowser &); - public: - PathBrowser(const StringList &, const char * suf = ""); - ~PathBrowser(); - const char * next(); - }; - } #endif diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/filter.cpp aspell-0.60-vc++/common/filter.cpp --- aspell-0.60/common/filter.cpp 2004-06-20 04:15:36.000000000 -0600 +++ aspell-0.60-vc++/common/filter.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -159,7 +159,7 @@ while (seek != NULL && *seek != '\0' && - *seek < '0' && *seek > '9'&& + (*seek < '0' || *seek > '9') && //13-Sep-04 bad test *seek != '.' && *seek != 'x' && *seek != 'X' ) seek++; diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/filter.hpp aspell-0.60-vc++/common/filter.hpp --- aspell-0.60/common/filter.hpp 2004-06-30 13:12:25.000000000 -0600 +++ aspell-0.60-vc++/common/filter.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -7,6 +7,7 @@ #ifndef ASPELL_FILTER__HPP #define ASPELL_FILTER__HPP +#include "aspellroot.h" #include "can_have_error.hpp" #include "copy_ptr.hpp" #include "filter_char.hpp" @@ -28,21 +29,21 @@ public: bool empty() const {return filters_.empty();} - void clear(); - void reset(); - void process(FilterChar * & start, FilterChar * & stop); - void add_filter(IndividualFilter * filter); + ASPELL_API void clear(); + ASPELL_API void reset(); + ASPELL_API void process(FilterChar * & start, FilterChar * & stop); + ASPELL_API void add_filter(IndividualFilter * filter); // setup the filter where the string list is the list of // filters to use. - Filter(); - ~Filter(); + ASPELL_API Filter(); + ASPELL_API ~Filter(); private: typedef Vector Filters; Filters filters_; }; - PosibErr set_mode_from_extension(Config * config, + ASPELL_API PosibErr set_mode_from_extension(Config * config, ParmString filename, FILE * in = NULL); @@ -53,14 +54,14 @@ void activate_dynamic_filteroptions(Config *c); void activate_filter_modes(Config * config); - void load_all_filters(Config * config); + ASPELL_API void load_all_filters(Config * config); PosibErr verify_version(const char * relOp, const char * actual, const char * required); PosibErr check_version(char * requirement); - PosibErr available_filters(Config *); - PosibErr available_filter_modes(Config *); + ASPELL_API PosibErr available_filters(Config *); + ASPELL_API PosibErr available_filter_modes(Config *); }; diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/fstream.cpp aspell-0.60-vc++/common/fstream.cpp --- aspell-0.60/common/fstream.cpp 2004-06-08 17:23:35.000000000 -0600 +++ aspell-0.60-vc++/common/fstream.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -92,7 +92,7 @@ bool FStream::read(void * str, unsigned int n) { fread(str,1,n,file_); - return operator bool(); + return good(); //13-Sep-04 } void FStream::write(char c) diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/fstream.hpp aspell-0.60-vc++/common/fstream.hpp --- aspell-0.60/common/fstream.hpp 2004-06-08 17:23:27.000000000 -0600 +++ aspell-0.60-vc++/common/fstream.hpp 2004-11-07 04:36:12.000000000 -0700 @@ -9,6 +9,7 @@ #include +#include "aspellroot.h" #include "string.hpp" #include "istream.hpp" #include "ostream.hpp" @@ -33,10 +34,11 @@ : IStream('\n'), file_(f), own_(own) {} ~FStream() {close();} - PosibErr open(ParmStr, const char *); - void close(); + ASPELL_API PosibErr open(ParmStr, const char *); + ASPELL_API void close(); - operator bool() {return file_ != 0 && !feof(file_) && !ferror(file_);} +//13-Sep-04 caused ambiguousness operator bool() {return file_ != 0 && !feof(file_) && !ferror(file_);} + bool good() {return file_ != 0 && !feof(file_) && !ferror(file_);} //13-Sep-04 int get() {return getc(file_);} void ignore() {getc(file_);} @@ -58,13 +60,13 @@ void skipws(); // Will return false if there is no more data - bool append_line(String &, char d); + ASPELL_API bool append_line(String &, char d); // These perform raw io with any sort of formating - bool read(void *, unsigned int i); - void write(ParmStr); - void write(char c); - void write(const void *, unsigned int i); + ASPELL_API bool read(void *, unsigned int i); + ASPELL_API void write(ParmStr); + ASPELL_API void write(char c); + ASPELL_API void write(const void *, unsigned int i); long int tell() {return ftell(file_);} bool seek(long int offset, int whence = SEEK_SET) { @@ -87,13 +89,13 @@ return *this; } - FStream & operator>> (String &); - FStream & operator>> (unsigned int &); - FStream & operator>> (int &); - FStream & operator<< (ParmStr); - FStream & operator<< (unsigned int); - FStream & operator<< (int); - FStream & operator<< (double); + ASPELL_API FStream & operator>> (String &); + ASPELL_API FStream & operator>> (unsigned int &); + ASPELL_API FStream & operator>> (int &); + ASPELL_API FStream & operator<< (ParmStr); + ASPELL_API FStream & operator<< (unsigned int); + ASPELL_API FStream & operator<< (int); + ASPELL_API FStream & operator<< (double); }; } diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/generic_copy_ptr.hpp aspell-0.60-vc++/common/generic_copy_ptr.hpp --- aspell-0.60/common/generic_copy_ptr.hpp 2004-06-02 06:51:36.000000000 -0600 +++ aspell-0.60-vc++/common/generic_copy_ptr.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -42,7 +42,14 @@ void assign(const T * other, const Parms & parms = Parms()); // reset takes ownership of other - void reset(T * other = 0, const Parms & parms = Parms()); + void reset(T * other = 0, const Parms & other_parms = Parms()) + { + if (ptr_ != 0) + parms_.del(ptr_); + ptr_ = other; + parms_ = other_parms; + } //13-Sep-04 + T & operator* () const {return *ptr_;} T * operator-> () const {return ptr_;} diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/generic_copy_ptr-t.hpp aspell-0.60-vc++/common/generic_copy_ptr-t.hpp --- aspell-0.60/common/generic_copy_ptr-t.hpp 2004-06-02 06:51:24.000000000 -0600 +++ aspell-0.60-vc++/common/generic_copy_ptr-t.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -42,6 +42,7 @@ parms_ = other_parms; } +#if 0 //13-Sep-04 moved to generic_copy_ptr.hpp to resolve an unresolved symbol error template void GenericCopyPtr::reset (T * other, const Parms & other_parms) { @@ -50,6 +51,7 @@ ptr_ = other; parms_ = other_parms; } +#endif template GenericCopyPtr::~GenericCopyPtr() diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/getdata.cpp aspell-0.60-vc++/common/getdata.cpp --- aspell-0.60/common/getdata.cpp 2004-06-13 17:01:45.000000000 -0600 +++ aspell-0.60-vc++/common/getdata.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -15,31 +15,39 @@ namespace acommon { unsigned int linenumber = 0 ; - bool getdata_pair(IStream & in, DataPair & d, String & buf) + bool getdata_pair(IStream & in, DataPair & pair, String & buf) { - char * p; + char * p=0; // get first non blank line and count all read ones do { buf.clear(); +#ifndef NULLTERMINATE buf.append('\0'); // to avoid some special cases +#endif if (!in.append_line(buf)) return false; - d.line_num++; + pair.line_num++; +#ifndef NULLTERMINATE p = buf.mstr() + 1; - while (*p == ' ' || *p == '\t') ++p; - } while (*p == '#' || *p == '\0'); +#else + p = buf.data(); +#endif + while (p && (*p == ' ' || *p == '\t')) ++p; + //read up to the next non-comment, non-empty line. + } while ( p ? (*p == '#' || *p == '\0') : true); + if (!p) + return false; // get key - d.key.str = p; + char * k = p; while (*p != '\0' && - ((*p != ' ' && *p != '\t' && *p != '#') || *(p-1) == '\\')) ++p; - d.key.size = p - d.key.str; - - // figure out if there is a value and add terminate key - d.value.str = p; // in case there is no value - d.value.size = 0; - if (*p == '#' || *p == '\0') {*p = '\0'; return true;} + ((*p != ' ' && *p != '\t' && *p != '#') || *(p-1) == '\\')) + ++p; + char c = *p; *p = '\0'; + pair.key = k; + if (('#' == c) || ('\0' == c)) + return true;// no value // skip any whitespace ++p; @@ -47,17 +55,17 @@ if (*p == '\0' || *p == '#') {return true;} // get value - d.value.str = p; - while (*p != '\0' && (*p != '#' || *(p-1) == '\\')) ++p; + char *v = p; + while (*p != '\0' && (*p != '#' || *(p-1) == '\\')) + ++p; // remove trailing white space and terminate value --p; while (*p == ' ' || *p == '\t') --p; if (*p == '\\' && *(p + 1) != '\0') ++p; ++p; - d.value.size = p - d.value.str; *p = '\0'; - + pair.value = v; return true; } @@ -123,6 +131,7 @@ void to_lower(char * str) { + if (str) for (; *str; str++) *str = asc_tolower(*str); } @@ -153,9 +162,9 @@ void init(ParmString str, DataPair & d, String & buf) { - const char * s = str; + const char * s = str.str(); while (*s == ' ' || *s == '\t') ++s; - size_t l = str.size() - (s - str); + size_t l = str.size() - (s - str.str()); buf.assign(s, l); d.value.str = buf.mstr(); d.value.size = l; @@ -183,7 +192,9 @@ void remove_comments(String & buf) { +#ifndef NULLTERMINATE buf.ensure_null_end(); +#endif char * p = buf.data(); while (*p && *p != '#') ++p; if (*p == '#') {--p; while (p >= buf.data() && asc_isspace(*p)) --p; ++p;} diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/getdata.hpp aspell-0.60-vc++/common/getdata.hpp --- aspell-0.60/common/getdata.hpp 2004-06-14 21:28:52.000000000 -0600 +++ aspell-0.60-vc++/common/getdata.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -35,9 +35,18 @@ d.size = e - d.str; } static inline void unescape(String & d) { +#ifndef NULLTERMINATE d.ensure_null_end(); char * e = unescape(d.data(), d.data()); d.resize(e - d.data()); +#else + if (!d.empty()) { + char *buff = new char[d.size()+1]; //debug + unescape(buff,d.c_str()); + d = buff; + delete [] buff; + } +#endif } // if limit is not given than dest should have enough space for diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/gettext.h aspell-0.60-vc++/common/gettext.h --- aspell-0.60/common/gettext.h 2004-06-30 15:49:50.000000000 -0600 +++ aspell-0.60-vc++/common/gettext.h 2004-11-07 04:36:13.000000000 -0700 @@ -19,6 +19,8 @@ #ifndef _LIBGETTEXT_H #define _LIBGETTEXT_H 1 +#include "aspellroot.h" + /* NLS can be disabled through the configure --disable-nls option. */ #if ENABLE_NLS @@ -80,7 +82,7 @@ return str[0] == '\0' ? str : _(str); } -extern "C" void aspell_gettext_init(); +extern "C" ASPELL_API void aspell_gettext_init(); /* NOTE: DO NOT USE "gettext", ALWAYS USE "_" BECAUSE WHEN ASPELL IS USED AS A LIBRARY THE DOMAIN IS NOT GUARANTEED TO BE ASPELL */ diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/gettext_init.cpp aspell-0.60-vc++/common/gettext_init.cpp --- aspell-0.60/common/gettext_init.cpp 2004-06-30 16:43:45.000000000 -0600 +++ aspell-0.60-vc++/common/gettext_init.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -1,5 +1,6 @@ #include "settings.h" +#include "gettext.h" #if ENABLE_NLS diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/hash_fun.hpp aspell-0.60-vc++/common/hash_fun.hpp --- aspell-0.60/common/hash_fun.hpp 2004-06-02 06:52:22.000000000 -0600 +++ aspell-0.60-vc++/common/hash_fun.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -13,9 +13,22 @@ #ifndef acommon_hash_fun__hpp #define acommon_hash_fun__hpp +/* + 13-Sep-04 + The general form of hash is now an implementation that works with + the acommon::String class. +*/ namespace acommon { - template struct hash {}; + template + struct hash { + inline unsigned long operator() (Key s) const { + unsigned long h = 0; + for (Key::iterator it = s.begin(); it != s.end(); ++it) + h=5*h + *it; + return h; + } + }; template <> struct hash {unsigned long operator()(char v) const {return v;}}; template <> struct hash {unsigned long operator()(short v) const {return v;}}; @@ -35,6 +48,7 @@ } }; +#if 0//use hash template struct HashString { inline unsigned long operator() (const Str &str) const { @@ -47,6 +61,32 @@ return h; } }; +#endif + /* + Get the equal operator for any typename other then c string. + */ + template + struct GetEqualCls + { + bool operator() (const Value &lhs, const Value &rhs) const + { + return lhs == rhs; + } + }; + + /* + Get the equal operator for c string. + */ + template <> + struct GetEqualCls + { + bool operator() (const char *lhs, const char *rhs) const + { + if (lhs && rhs) + return strcmp(lhs,rhs) == 0; + return false; + } + }; } diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/hash.hpp aspell-0.60-vc++/common/hash.hpp --- aspell-0.60/common/hash.hpp 2004-06-02 06:52:19.000000000 -0600 +++ aspell-0.60-vc++/common/hash.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -9,17 +9,22 @@ // suitability of this software for any purpose. It is provided "as // is" without express or implied warranty. +//13-Sep-04 +//changed is_multi from static const to enum. This was an error for VC. + #ifndef autil__hash_hh #define autil__hash_hh #include #include +#include #include "settings.h" #include "hash_fun.hpp" #include "block_slist.hpp" + // This file provided implementation for hash_set, hash_multiset, hash_map // and hash_multimap which are very similar to SGI STL's implementation // with a few notable exceptions. The main one is that while @@ -33,13 +38,13 @@ namespace acommon { - // Parms is expected to have the following methods - // typename Value - // typename Key - // bool is_multi; - // Size hash(Key) - // bool equal(Key, Key) - // Key key(Value) +/* + Parms is expected to have the following: + is_multi a bool + getHash + getEqual + getKey +*/ template class HT_ConstIterator; @@ -47,7 +52,7 @@ template class HT_Iterator { public: // but don't use - typedef typename BlockSList::Node Node; + typedef NodeTpl Node; Node * * t; Node * * n; void adv() {while (*t == 0) ++t; n = t;} @@ -67,7 +72,7 @@ class HT_ConstIterator { public: // but don't use - typedef typename BlockSList::Node Node; + typedef NodeTpl Node; Node * * t; Node * n; void adv() {while (*t == 0) ++t; n = *t;} @@ -83,37 +88,25 @@ HT_ConstIterator operator++(int) {HT_ConstIterator tmp(*this); inc(); return tmp;} }; - template + template class HashTable { public: - typedef P parms_type; - typedef parms_type Parms; - - typedef typename Parms::Value value_type; - typedef value_type Value; - - typedef typename Parms::Key key_type; - typedef key_type Key; - - typedef unsigned int size_type; - typedef size_type Size; + typedef NodeTpl Node; public: // but don't use typedef BlockSList NodePool; - typedef typename NodePool::Node Node; private: - typedef unsigned int PrimeIndex; - Size size_; + size_t size_; Node * * table_; // always one larger than table_size_; Node * * table_end_; // always at true table_end - 1 - Size table_size_; - PrimeIndex prime_index_; + size_t table_size_; + unsigned int prime_index_; NodePool node_pool_; - Parms parms_; + Parms parms_; public: typedef HT_Iterator iterator; @@ -121,18 +114,18 @@ private: void del(); - void init(PrimeIndex); + void init(unsigned int i) ; void copy(const HashTable & other); - PrimeIndex next_largest(Size); - void resize_i(PrimeIndex); - void create_table(PrimeIndex); - iterator find_i(const Key &, bool & have); + unsigned int next_largest(size_t s); + void resize_i(unsigned int new_prime_index); + void create_table(unsigned int i) ; + iterator find_i(const Key & to_find, bool & have); std::pair equal_range_i(const Key & to_find, int & c); public: HashTable() {init(0);} - HashTable(const Parms & p) : parms_(p) {init(0);} + //HashTable(const Parms & p) : parms_(p) {init(0);} HashTable(int size) : prime_index_(0) {init(next_largest(size));} HashTable(int size, const Parms & p) : prime_index_(0), parms_(p) {init(next_largest(size));} @@ -144,34 +137,34 @@ iterator end() {return iterator(table_end_, table_end_);} const_iterator begin() const {return const_iterator(table_);} const_iterator end() const {return const_iterator(table_end_,*table_end_);} - size_type size() const {return size_;} - bool empty() const {return size_ + 1;} - std::pair insert(const value_type &); - void erase(iterator); - size_type erase(const key_type &); + size_t size() const {return size_;} + bool empty() const {return (size_ + 1) ? true : false;} //13-Sep-04 + //13-Sep-04 std::pair insert(const Value &); + void erase(iterator to_erase); + size_t erase(const Key & k); void clear() {del(), init(0);} - iterator find(const key_type & to_find) { + iterator find(const Key & to_find) { bool h; iterator i = find_i(to_find,h); return h ? i : end(); } - bool have(const key_type & to_find) const { + bool have(const Key & to_find) const { bool h; const_cast(this)->find_i(to_find,h); return h; } - const_iterator find(const key_type & to_find) const { + const_iterator find(const Key & to_find) const { return const_cast(this)->find(to_find); } - std::pair equal_range(const key_type & to_find) + std::pair equal_range(const Key & to_find) { int irrelevant; return equal_range_i(to_find, irrelevant); } std::pair - equal_range(const key_type & to_find) const + equal_range(const Key & to_find) const { int irrelevant; std::pair range @@ -180,158 +173,175 @@ (range.first,range.second); } - void resize(Size s) {resize_i(next_largest(s));} + void resize(size_t s) {resize_i(next_largest(s));} + std::pair insert(const Value & to_insert); //other niceties: swap, copy, equal }; - template - inline HT_Iterator::HT_Iterator(const HT_ConstIterator & other) + template + inline HT_Iterator::HT_Iterator(const HT_ConstIterator & other) : t(other.t), n(other.t) { while (*n != other.n) n = &(*n)->next; } - template - inline bool operator== (HT_Iterator rhs, - HT_Iterator lhs) + template + inline bool operator== (HT_Iterator rhs, + HT_Iterator lhs) { return rhs.n == lhs.n; } - template - inline bool operator== (HT_ConstIterator rhs, - HT_Iterator lhs) + template + inline bool operator== (HT_ConstIterator rhs, + HT_Iterator lhs) { return rhs.n == *lhs.n; } - template - inline bool operator== (HT_Iterator rhs, - HT_ConstIterator lhs) + template + inline bool operator== (HT_Iterator rhs, + HT_ConstIterator lhs) { return *rhs.n == lhs.n; } - template - inline bool operator== (HT_ConstIterator rhs, - HT_ConstIterator lhs) + template + inline bool operator== (HT_ConstIterator rhs, + HT_ConstIterator lhs) { return rhs.n == lhs.n; } #ifndef REL_OPS_POLLUTION - template - inline bool operator!= (HT_Iterator rhs, - HT_Iterator lhs) + template + inline bool operator!= (HT_Iterator rhs, + HT_Iterator lhs) { return rhs.n != lhs.n; } - template - inline bool operator!= (HT_ConstIterator rhs, - HT_Iterator lhs) + template + inline bool operator!= (HT_ConstIterator rhs, + HT_Iterator lhs) { return rhs.n != *lhs.n; } - template - inline bool operator!= (HT_Iterator rhs, - HT_ConstIterator lhs) + template + inline bool operator!= (HT_Iterator rhs, + HT_ConstIterator lhs) { return *rhs.n != lhs.n; } - template - inline bool operator!= (HT_ConstIterator rhs, - HT_ConstIterator lhs) + template + inline bool operator!= (HT_ConstIterator rhs, + HT_ConstIterator lhs) { return rhs.n != lhs.n; } #endif - template + template struct HashSetParms { - typedef K Value; - typedef const K Key; +#ifndef PORTABLE static const bool is_multi = m; - HF hash; - E equal; - const K & key(const K & v) {return v;} - HashSetParms(const HF & h = HF(), const E & e = E()) : hash(h), equal(e) {} +#else + enum { is_multi = m }; //13-Sep-04 +#endif + HF getHash; + E getEqual; + //define 'pass through get key type. + struct getKeyCls + { + Key operator () (const Key &v) const + { return v; } + }; + getKeyCls getKey; + HashSetParms(const HF & h = HF(), const E & e = E()) + : getHash(h), getEqual(e) {} }; - template , typename E = std::equal_to > - class hash_set : public HashTable > + template , typename E = GetEqualCls > + class hash_set : public HashTable > { public: - typedef HashTable > Base; - typedef typename Base::size_type size_type; - typedef typename Base::Parms Parms; - hash_set(size_type s = 0, const HF & h = HF(), const E & e = E()) - : Base(s, Parms(h,e)) {} + typedef typename HashSetParms ParmsCls; + typedef HashTable Base; + hash_set(size_t s = 0, const HF & h = HF(), const E & e = E()) + : Base(s, ParmsCls(h,e)) {} }; - - template , typename E = std::equal_to > - class hash_multiset : public HashTable > + template , + typename E = GetEqualCls > + class hash_multiset : public HashTable > { public: - typedef HashTable > Base; - typedef typename Base::size_type size_type; - typedef typename Base::Parms Parms; - hash_multiset(size_type s = 0, const HF & h = HF(), const E & e = E()) + typedef HashTable > Base; +// typedef typename Base::Parms Parms; + hash_multiset(size_t s = 0, const HF & h = HF(), const E & e = E()) : Base(s, Parms(h,e)) {} }; - template + template struct HashMapParms { - typedef std::pair Value; - typedef const K Key; +// typedef std::pair Value; +// typedef const Key Key; +#ifndef PORTABLE static const bool is_multi = m; - HF hash; - E equal; - const K & key(const Value & v) {return v.first;} +#else + enum { is_multi = m }; //13-Sep-04 +#endif + HF getHash; + E getEqual; + //define 'pass through get key type. + struct getKeyCls + { + Key operator () (const std::pair &v) const + { return v.first; } + }; + getKeyCls getKey; HashMapParms() {} HashMapParms(const HF & h) : hash(h) {} - HashMapParms(const HF & h, const E & e) : hash(h), equal(e) {} + HashMapParms(const HF & h, const E & e) : getHash(h), getEqual(e) {} }; - template , typename E = std::equal_to > - class hash_map : public HashTable > + template , + typename E = GetEqualCls > + class hash_map : public HashTable,Key, + HashMapParms > { public: - typedef V data_type; - typedef data_type Data; - typedef HashTable > Base; - typedef typename Base::size_type size_type; - typedef typename Base::key_type key_type; - typedef typename Base::value_type value_type; - typedef typename Base::Parms Parms; + typedef HashMapParms Parms; + typedef HashTable,Key, + Parms > Base; - hash_map(size_type s = 0, const HF & h = HF(), const E & e = E()) + hash_map(size_t s = 0, const HF & h = HF(), const E & e = E()) : Base(s, Parms(h,e)) {} - data_type & operator[](const key_type & k) + Value & operator[](const Key & k) { - return (*((insert(value_type(k, data_type()))).first)).second; + return (*((insert(std::pair(k, Value()))).first)).second; } }; - template , typename E = std::equal_to > - class hash_multimap : public HashTable > +#if 0 //unused at this time + template , typename E = GetEqualCls > + class hash_multimap : public HashTable > { public: - typedef HashTable > Base; - typedef typename Base::size_type size_type; + typedef HashTable > Base; typedef typename Base::Parms Parms; - hash_multimap(size_type s = 0, const HF & h = HF(), const E & e = E()) + hash_multimap(size_t s = 0, const HF & h = HF(), const E & e = E()) : Base(s, Parms(h,e)) {} }; +#endif } #endif diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/hash-t.hpp aspell-0.60-vc++/common/hash-t.hpp --- aspell-0.60/common/hash-t.hpp 2004-06-02 06:52:11.000000000 -0600 +++ aspell-0.60-vc++/common/hash-t.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -40,9 +40,9 @@ #ifndef autil__hash_t_hh #define autil__hash_t_hh + #include #include - #include "hash.hpp" #include "block_slist-t.hpp" @@ -58,16 +58,16 @@ static_cast(-1) }; - template - typename HashTable

::PrimeIndex HashTable

::next_largest(Size s) + template + unsigned int HashTable::next_largest(size_t s) { - PrimeIndex i = prime_index_; - while (assert(primes[i] != static_cast(-1)), primes[i] < s) ++i; + unsigned int i = prime_index_; + while (assert(primes[i] != static_cast(-1)), primes[i] < s) ++i; return i; } - template - void HashTable

::create_table(PrimeIndex i) { + template + void HashTable::create_table(unsigned int i) { prime_index_ = i; table_size_ = primes[prime_index_]; table_ = reinterpret_cast(calloc(table_size_+1,sizeof(Node *))); @@ -75,19 +75,20 @@ *table_end_ = reinterpret_cast(table_end_); } - template - void HashTable

::init(PrimeIndex i) + template + void HashTable::init(unsigned int i) { size_ = 0; create_table(i); node_pool_.add_block(primes[i]); } - template - std::pair::iterator,bool> HashTable

::insert(const Value & to_insert) + //Moved to the HashTable decel so that we can make use of local type iterator in the return value. + template + std::pair,bool> HashTable::insert(const Value & to_insert) { bool have; - iterator put_me_here = find_i(parms_.key(to_insert), have); + iterator put_me_here = find_i(parms_.getKey(to_insert), have); if (have && !parms_.is_multi) return std::pair(put_me_here,false); Node * new_node = node_pool_.new_node(); @@ -104,26 +105,26 @@ return std::pair(put_me_here,true); } - template - void HashTable

::erase(iterator to_erase) + template + void HashTable::erase(iterator to_erase) { - (*to_erase.n)->data.~Value(); + NodeTpl::del(*(to_errase.n)); Node * tmp = *to_erase.n; *to_erase.n = (*to_erase.n)->next; node_pool_.remove_node(tmp); --size_; } - template - typename HashTable

::Size HashTable

::erase(const Key & k) + template + size_t HashTable::erase(const Key & k) { - Size num_erased = 0; + size_t num_erased = 0; bool irrelevant; Node * * first = find_i(k,irrelevant).n; Node * n = *first; - while (n != 0 && parms_.equal(parms_.key(n->data), k)) { + while (n != 0 && parms_.getEqual(parms_.getKey(n->data), k)) { Node * tmp = n; - n->data.~Value(); + NodeTpl::del(n); n = n->next; node_pool_.remove_node(tmp); ++num_erased; @@ -132,17 +133,17 @@ size_ -= num_erased; return num_erased; } - - template - typename HashTable

::iterator HashTable

::find_i(const Key & to_find, bool & have) + template + HT_Iterator HashTable::find_i(const Key & to_find, bool & have) { - Size pos = parms_.hash(to_find) % table_size_; + size_t pos = parms_.getHash(to_find) % table_size_; Node * * n = table_ + pos; have = false; while (true) { if (*n == 0) { break; - } else if (parms_.equal(parms_.key((*n)->data),to_find)) { + } + else if (parms_.getEqual(parms_.getKey((*n)->data),to_find)) { have = true; break; } @@ -151,9 +152,10 @@ return iterator(table_ + pos, n); } - template - std::pair::iterator, typename HashTable

::iterator> - HashTable

::equal_range_i(const Key & to_find, int & c) + + template + std::pair, HT_Iterator > + HashTable::equal_range_i(const Key & to_find, int & c) { c = 0; bool have; @@ -164,20 +166,21 @@ c = 1; ++last; iterator e = end(); - while (!(last == e) && parms_.equal(parms_.key(*last), to_find)) { + while (!(last == e) && parms_.getEqual(parms_.getKey(*last), to_find)) { ++c; ++last; } return std::pair(first,last); } - template - void HashTable

::del() + template + void HashTable::del() { + for (Node * * i = table_; i != table_end_; ++i) { Node * n = *i; while (n != 0) { - n->data.~Value(); + NodeTpl::del(n); n = n->next; } } @@ -189,17 +192,18 @@ prime_index_ = 0; } - template - void HashTable

::resize_i(PrimeIndex new_prime_index) + template + void HashTable::resize_i(unsigned int new_prime_index) { Node * * old_table = table_; Node * * old_end = table_end_; - Size old_size = table_size_; + size_t old_size = table_size_; create_table(new_prime_index); for (Node * * i = old_table; i != old_end; ++i) { Node * n = *i; while (n != 0) { - Node * * put_me_here = table_ + (parms_.hash(parms_.key(n->data)) % table_size_); + Node * * put_me_here = table_ + + (parms_.getHash(parms_.getKey(n->data)) % table_size_); Node * tmp = n; n = n->next; tmp->next = *put_me_here; @@ -210,8 +214,8 @@ node_pool_.add_block(table_size_ - old_size); } - template - void HashTable

::copy(const HashTable & other) + template + void HashTable::copy(const HashTable & other) { init(other.prime_index_); size_ = other.size_; @@ -227,8 +231,5 @@ } } } - -} - - +} //namespace #endif diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/info.cpp aspell-0.60-vc++/common/info.cpp --- aspell-0.60/common/info.cpp 2004-06-12 22:46:16.000000000 -0600 +++ aspell-0.60-vc++/common/info.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -37,9 +37,22 @@ #include "strtonum.hpp" #include "lock.hpp" #include "string_map.hpp" +#include "gettext.h" +#include "hash-t.hpp" //is this needed? namespace acommon { +#ifdef WIN32PORT + class Dir { + HANDLE d_; + Dir(const Dir &); + Dir & operator=(const Dir &); + public: + operator HANDLE () {return d_;} + Dir(HANDLE * d) : d_(d) {} + ~Dir() {if (d_) CloseHandle(d_);} + }; +#else class Dir { DIR * d_; Dir(const Dir &); @@ -49,7 +62,7 @@ Dir(DIR * d) : d_(d) {} ~Dir() {if (d_) closedir(d_);} }; - +#endif ///////////////////////////////////////////////////////////////// // // Lists of Info Lists @@ -60,7 +73,11 @@ struct DictExt { +#ifndef PORTABLE static const size_t max_ext_size = 15; +#else + enum { max_ext_size = 15 }; //13-Sep-04 +#endif const ModuleInfo * module; size_t ext_size; char ext[max_ext_size + 1]; @@ -176,6 +193,39 @@ StringListEnumeration els = list_all.for_dirs.elements_obj(); const char * dir; +#ifdef WIN32PORT + while ( (dir = els.next()) != 0) { + String pattern = dir; + pattern += "\\*.*"; + WIN32_FIND_DATA data; + HANDLE hFind = FindFirstFile(pattern.c_str(),&data); + if (INVALID_HANDLE_VALUE == hFind) + continue; + + do { + if ((strcmp(".", data.cFileName)==0) || + (strcmp("..", data.cFileName) == 0)) + continue; //special directories + + const char * name = data.cFileName; + const char * dot_loc = strrchr(name, '.'); + unsigned int name_size = dot_loc == 0 ? strlen(name) : dot_loc - name; + + // check if it ends in suffix + if (strcmp(name + name_size, ".asmi") != 0) + continue; + + String path; + path += dir; + path += '/'; + path += name; + FStream in; + RET_ON_ERR(in.open(path, "r")); + RET_ON_ERR(proc_info(list_all, config, name, name_size, in)); + } while (FindNextFile(hFind,&data)); + FindClose(hFind); + } //while +#else while ( (dir = els.next()) != 0) { Dir d(opendir(dir)); if (d==0) continue; @@ -199,6 +249,7 @@ RET_ON_ERR(proc_info(list_all, config, name, name_size, in)); } } +#endif return no_err; } @@ -337,6 +388,35 @@ els = list_all.dict_dirs.elements_obj(); const char * dir; +#ifdef WIN32PORT + while ( (dir = els.next()) != 0) { + String pattern = dir; + pattern += "\\*.*"; + WIN32_FIND_DATA data; + HANDLE hFind = FindFirstFile(pattern.c_str(),&data); + if (INVALID_HANDLE_VALUE == hFind) + continue; + + do { + const char * name = data.cFileName; + unsigned int name_size = strlen(name); + + if ((strcmp(".", name)==0) || (strcmp("..", name) == 0)) + continue; //special directories + + const DictExt * i = find_dict_ext(list_all.dict_exts, + ParmString(name, name_size)); + if (i == 0) // does not end in one of the extensions in list + continue; + + name_size -= i->ext_size; + + RET_ON_ERR(proc_file(list_all, config, + dir, name, name_size, i->module)); + } while (FindNextFile(hFind,&data)); + FindClose(hFind); + } +#else while ( (dir = els.next()) != 0) { Dir d(opendir(dir)); if (d==0) continue; @@ -357,6 +437,7 @@ dir, name, name_size, i->module)); } } +#endif return no_err; } @@ -605,10 +686,9 @@ } PosibErr - MDInfoListofLists::get_lists(Config * c) + MDInfoListofLists::get_lists(Config * config) { LOCK(&lock); - Config * config = (Config *)c; // FIXME: WHY? int & pos = config->md_info_list_index; StringList dirs; StringList key; diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/info.hpp aspell-0.60-vc++/common/info.hpp --- aspell-0.60/common/info.hpp 2004-06-02 06:52:44.000000000 -0600 +++ aspell-0.60-vc++/common/info.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -7,6 +7,7 @@ #ifndef ASPELL_INFO__HPP #define ASPELL_INFO__HPP +#include "aspellroot.h" #include "posib_err.hpp" #include "type_id.hpp" @@ -57,7 +58,7 @@ PosibErr fill(MDInfoListAll &, Config *); bool empty() const; unsigned int size() const; - ModuleInfoEnumeration * elements() const; + ASPELL_API ModuleInfoEnumeration * elements() const; PosibErr proc_info(MDInfoListAll &, Config *, const char * name, @@ -81,7 +82,7 @@ PosibErr fill(MDInfoListAll &, Config *); bool empty() const; unsigned int size() const; - DictInfoEnumeration * elements() const; + ASPELL_API DictInfoEnumeration * elements() const; PosibErr proc_file(MDInfoListAll &, Config *, const char * dir, @@ -93,7 +94,7 @@ DictInfoNode * head_; }; - const DictInfoList * get_dict_info_list(Config *); + ASPELL_API const DictInfoList * get_dict_info_list(Config *); const StringMap * get_dict_aliases(Config *); @@ -127,7 +128,7 @@ typedef const DictInfo * Value; bool at_end() const; - const DictInfo * next(); + ASPELL_API const DictInfo * next(); int ref_count_; TypeId type_id_; unsigned int type_id() { return type_id_.num; } diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/iostream.hpp aspell-0.60-vc++/common/iostream.hpp --- aspell-0.60/common/iostream.hpp 2004-06-02 06:52:59.000000000 -0600 +++ aspell-0.60-vc++/common/iostream.hpp 2004-11-07 04:36:12.000000000 -0700 @@ -22,9 +22,9 @@ // functions. It is also safe to assume that modifications to the // state of the standard streams will effect these. - extern DLLIMPORT FStream CIN; - extern DLLIMPORT FStream COUT; - extern DLLIMPORT FStream CERR; + extern ASPELL_API DLLIMPORT FStream CIN; + extern ASPELL_API DLLIMPORT FStream COUT; + extern ASPELL_API DLLIMPORT FStream CERR; } #endif Only in aspell-0.60/common: lang.hpp diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/lock.hpp aspell-0.60-vc++/common/lock.hpp --- aspell-0.60/common/lock.hpp 2004-06-02 06:53:33.000000000 -0600 +++ aspell-0.60-vc++/common/lock.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -16,8 +16,13 @@ #define DISTRIBNET_LOCK__HPP #include "settings.h" +#ifdef WIN32PORT //13-Sep-04 +#include +//#include +#include //printf +#else #include - +#endif namespace acommon { #define LOCK(l) const Lock the_lock(l); @@ -34,6 +39,35 @@ void lock() {pthread_mutex_lock(&l_);} void unlock() {pthread_mutex_unlock(&l_);} }; +#elif defined(WIN32PORT) //13-Sep-04 +#pragma message("verify Win32 Mutex class") + class Mutex { + private: + Mutex(const Mutex &); + void operator=(const Mutex &); + HANDLE hMutex; + SECURITY_ATTRIBUTES sec; + public: + Mutex() { + sec.nLength= sizeof(sec); + sec.lpSecurityDescriptor = 0; + sec.bInheritHandle = false; + hMutex = 0; } + ~Mutex() { + if (hMutex) unlock();} + void lock() { + hMutex = CreateMutex(&sec,0,0); + if (!hMutex) { + DWORD err = GetLastError(); + char buff[131]; + FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,0,err,0,buff,sizeof(buff),0); + printf(buff); + } + } + void unlock() { + ReleaseMutex(hMutex); hMutex = 0;} + }; + #else class Mutex { private: diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/mutable_string.hpp aspell-0.60-vc++/common/mutable_string.hpp --- aspell-0.60/common/mutable_string.hpp 2004-06-02 06:53:48.000000000 -0600 +++ aspell-0.60-vc++/common/mutable_string.hpp 2004-11-07 04:36:12.000000000 -0700 @@ -42,12 +42,16 @@ } return strcmp(s1,s2) == 0; } + //13-Sep-04 check for NULL == s1 static inline bool operator==(MutableString s1, const char * s2) { - if ( s2 == NULL ) { + if (NULL == s2) { return s1.size == 0; } - return strcmp(s1,s2) == 0; + else if (NULL == s1.begin()) { + return s2 == 0; + } + return strcmp(s1.begin(),s2) == 0; } static inline bool operator!=(MutableString s1, MutableString s2) diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/objstack.cpp aspell-0.60-vc++/common/objstack.cpp --- aspell-0.60/common/objstack.cpp 2004-06-28 15:53:39.000000000 -0600 +++ aspell-0.60-vc++/common/objstack.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -3,7 +3,7 @@ namespace acommon { -using namespace std; +//13-Sep-04 using namespace std; void ObjStack::setup_chunk() { diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/objstack.hpp aspell-0.60-vc++/common/objstack.hpp --- aspell-0.60/common/objstack.hpp 2004-07-24 05:46:49.000000000 -0600 +++ aspell-0.60-vc++/common/objstack.hpp 2004-11-07 04:36:12.000000000 -0700 @@ -2,9 +2,10 @@ #ifndef ACOMMON_OBJSTACK__HPP #define ACOMMON_OBJSTACK__HPP -#include "parm_string.hpp" #include #include +#include "aspellroot.h" +#include "parm_string.hpp" namespace acommon { @@ -25,7 +26,7 @@ byte * bottom; byte * temp_end; void setup_chunk(); - void new_chunk(); + ASPELL_API void new_chunk(); ObjStack(const ObjStack &); void operator=(const ObjStack &); @@ -42,12 +43,12 @@ // new chunks will be aligned to. It does NOT guarantee that // every object is aligned as such unless all objects inserted // are a multiple of align. - ObjStack(size_t chunk_s = 1024, size_t align = sizeof(void *)); - ~ObjStack(); + ASPELL_API ObjStack(size_t chunk_s = 1024, size_t align = sizeof(void *)); + ASPELL_API ~ObjStack(); size_t calc_size(); - void reset(); + ASPELL_API void reset(); void trim(); // This alloc_bottom does NOT check alignment. However, if you always diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/ostream.hpp aspell-0.60-vc++/common/ostream.hpp --- aspell-0.60/common/ostream.hpp 2004-07-24 05:56:19.000000000 -0600 +++ aspell-0.60-vc++/common/ostream.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -9,6 +9,7 @@ #include +#include "aspellroot.h" #include "parm_string.hpp" namespace acommon { @@ -17,7 +18,7 @@ // Than avoid code bloat by using it in many places instead of // out << "Bla " << something << " djdkdk " << something else << "\n" - class OStream { + class ASPELL_API OStream { public: virtual void write (char c) = 0; virtual void write (ParmStr) = 0; diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/parm_string.hpp aspell-0.60-vc++/common/parm_string.hpp --- aspell-0.60/common/parm_string.hpp 2004-07-24 05:19:02.000000000 -0600 +++ aspell-0.60-vc++/common/parm_string.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -39,7 +39,7 @@ class ParmString { public: - ParmString() : str_(0) {} + ParmString() : str_(0), size_(0) {} //13-Sep-03 init all member data ParmString(const char * str, unsigned int sz = UINT_MAX) : str_(str), size_(sz) {} inline ParmString(const String &); @@ -61,6 +61,7 @@ operator const char * () const { return str_; } + const char & at(unsigned int index) const { return str_[index]; } //13-Sep-04 const char * str () const { return str_; } diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/path_browse.cpp aspell-0.60-vc++/common/path_browse.cpp --- aspell-0.60/common/path_browse.cpp 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/common/path_browse.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -0,0 +1,160 @@ +// This file is part of The New Aspell +// Copyright (C) 2001 by Kevin Atkinson under the GNU LGPL license +// version 2.0 or 2.1. You should have received a copy of the LGPL +// license along with this library if you did not you can find +// it at http://www.gnu.org/. + +//#include "settings.h" + +//#include "iostream.hpp" + +//#include "config.hpp" +//#include "fstream.hpp" +//#include "errors.hpp" +#include "parm_string.hpp" +#include "string_list.hpp" + +#ifdef USE_FILE_LOCKS +# include +#endif + +// This needs to be and not +#include +#include + +#ifdef WIN32 + +# include +# include + +#else + +# include +# include + +#endif + +#include "path_browse.h" //13-Sep-04 + +namespace acommon { + +#ifdef WIN32PORT + //Windows version + PathBrowser::PathBrowser(const StringList & sl, const char * suf) + { + els = sl.elements(); + suffix = suf; + dir_handle = INVALID_HANDLE_VALUE; + } + + PathBrowser::~PathBrowser() + { + delete els; + if (INVALID_HANDLE_VALUE != dir_handle) + FindClose(dir_handle); + } + /* + Get the next directory from the els list, and start reading from it. + */ + bool PathBrowser::GetNextDir() + { + dir = els->next(); + if (dir) { + if (INVALID_HANDLE_VALUE != dir_handle) + FindClose(dir_handle); + String pattern = dir; pattern += "\\*"; pattern += suffix; + dir_handle = FindFirstFile(pattern.c_str(),&BrowseData); + return true; + } + return false; + } + /* + if we do not have a valid dir_handle we can not + find files, return false so that we can step to the + next directory and get fresh dir_handle. + If we have a handle, get the next file. + If we can not find anymore files, close the handle + and set dir_handle to invalid. + return true if we have valid data in BrowseData. + */ + bool PathBrowser::GetNextFile() + { + if (INVALID_HANDLE_VALUE == dir_handle) + return false; //invalid dir_handle + bool ok = FindNextFile(dir_handle,&BrowseData); + if (!ok) { + FindClose(dir_handle); + dir_handle = INVALID_HANDLE_VALUE; + } + return ok; + } + + /* + This just gets the next file that matches the suffix. + */ + const char * PathBrowser::next() + { + bool first = false; + do { + if (INVALID_HANDLE_VALUE == dir_handle) { + if (! GetNextDir()) + return 0; //no more directories + first = INVALID_HANDLE_VALUE != dir_handle; //FindFirstFile fills BrowseData. + } + while (first || GetNextFile()) { + first = false; + ParmString name = BrowseData.cFileName; + if ( "." == name || ".." == name ) + continue; //special directories + path = dir; + if (path.back() != '/') path += '/'; + path += name; + return path.c_str(); + + } ; + } while (true); + } +#else +//Unix version + PathBrowser::PathBrowser(const StringList & sl, const char * suf) + : dir_handle(0) + { + els = sl.elements(); + suffix = suf; + } + + PathBrowser::~PathBrowser() + { + delete els; + if (dir_handle) closedir((DIR *)dir_handle); + } + + const char * PathBrowser::next() + { + if (dir_handle == 0) goto get_next_dir; + begin: { + struct dirent * entry = readdir((DIR *)dir_handle); + if (entry == 0) goto try_again; + const char * name = entry->d_name; + unsigned name_len = strlen(name); + if (suffix.size() != 0 && + !(name_len > suffix.size() + && memcmp(name + name_len - suffix.size(), suffix.str(), suffix.size()) == 0)) + goto begin; + path = dir; + if (path.back() != '/') path += '/'; + path += name; + } + return path.c_str(); + try_again: + closedir((DIR *)dir_handle); + dir_handle = 0; + get_next_dir: + dir = els->next(); + if (!dir) return 0; + dir_handle = opendir(dir); + if (dir_handle == 0) goto try_again; + goto begin; + } +#endif +} \ No newline at end of file diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/PathBrowse.cpp aspell-0.60-vc++/common/PathBrowse.cpp --- aspell-0.60/common/PathBrowse.cpp 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/common/PathBrowse.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -0,0 +1,121 @@ +// This file is part of The New Aspell +// Copyright (C) 2001 by Kevin Atkinson under the GNU LGPL license +// version 2.0 or 2.1. You should have received a copy of the LGPL +// license along with this library if you did not you can find +// it at http://www.gnu.org/. + +#include //13-Sep-04 //std::string +//#include "settings.h" + +//#include "iostream.hpp" + +//#include "config.hpp" +//#include "fstream.hpp" +//#include "errors.hpp" +#include "string_list.hpp" + +#ifdef USE_FILE_LOCKS +# include +#endif + +// This needs to be and not +#include +#include + +#ifdef WIN32 + +# include +# include + +#else + +# include +# include + +#endif + +#include "pathbrowse.h" + +namespace acommon { + +#ifdef WIN32PORT + //Windows version + PathBrowser::PathBrowser(const StringList & sl, const char * suf) + { + els = sl.elements(); + suffix = suf; + std::string filter = "*.*"; //need work here + dir_handle = ::FindFirstFile(filter.c_str(),&BrowseData); + } + + PathBrowser::~PathBrowser() + { + delete els; + if (dir_handle) FindClose(dir_handle); + } +/* + This just gets the next file that matches the suffix. + Since I can't check out what the Unix version does + I expect to tune this function while debugging. +*/ + const char * PathBrowser::next() + { + if (dir_handle == INVALID_HANDLE_VALUE) + return ""; //failure + BOOL ok = true; + do { + const char * name = BrowseData.cFileName; + unsigned name_len = strlen(name); + if (suffix.size() != 0 && + !(name_len > suffix.size() + && memcmp(name + name_len - suffix.size(), suffix.str(), suffix.size()) == 0)) + ok = FindNextFile(dir_handle,&BrowseData); + else + return BrowseData.cFileName; + } while (ok); + return 0; //no more + } +#else +//Unix version + PathBrowser::PathBrowser(const StringList & sl, const char * suf) + : dir_handle(0) + { + els = sl.elements(); + suffix = suf; + } + + PathBrowser::~PathBrowser() + { + delete els; + if (dir_handle) closedir((DIR *)dir_handle); + } + + const char * PathBrowser::next() + { + if (dir_handle == 0) goto get_next_dir; + begin: { + struct dirent * entry = readdir((DIR *)dir_handle); + if (entry == 0) goto try_again; + const char * name = entry->d_name; + unsigned name_len = strlen(name); + if (suffix.size() != 0 && + !(name_len > suffix.size() + && memcmp(name + name_len - suffix.size(), suffix.str(), suffix.size()) == 0)) + goto begin; + path = dir; + if (path.back() != '/') path += '/'; + path += name; + } + return path.str(); + try_again: + closedir((DIR *)dir_handle); + dir_handle = 0; + get_next_dir: + dir = els->next(); + if (!dir) return 0; + dir_handle = opendir(dir); + if (dir_handle == 0) goto try_again; + goto begin; + } +#endif +} \ No newline at end of file diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/path_browse.h aspell-0.60-vc++/common/path_browse.h --- aspell-0.60/common/path_browse.h 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/common/path_browse.h 2004-11-07 04:36:13.000000000 -0700 @@ -0,0 +1,32 @@ +#ifndef path_browse_h +#define path_browse_h + +#include "string.hpp" + +namespace acommon { + + class PathBrowser + { + String suffix; + String path; + StringEnumeration * els; +#ifdef WIN32PORT + HANDLE dir_handle; //keeps track of where we are while browsing.13-Sep-04 + WIN32_FIND_DATA BrowseData; + + bool GetNextDir(); + bool GetNextFile(); +#else + void * dir_handle; +#endif + const char * dir; + //make these private so that we don't get the default versions. + PathBrowser(const PathBrowser &); + void operator= (const PathBrowser &); + public: + PathBrowser(const StringList &, const char * suf = ""); + ~PathBrowser(); + const char * next(); + }; +} +#endif \ No newline at end of file diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/PathBrowse.h aspell-0.60-vc++/common/PathBrowse.h --- aspell-0.60/common/PathBrowse.h 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/common/PathBrowse.h 2004-11-07 04:36:12.000000000 -0700 @@ -0,0 +1,28 @@ +#ifndef path_browse_h +#define path_browse_h + +#include "string.hpp" + +namespace acommon { + + class PathBrowser + { + String suffix; + String path; + StringEnumeration * els; +#ifdef WIN32PORT + HANDLE dir_handle; //keeps track of where we are while browsing.13-Sep-04 + WIN32_FIND_DATA BrowseData; +#else + void * dir_handle; +#endif + const char * dir; + PathBrowser(const PathBrowser &); + void operator= (const PathBrowser &); + public: + PathBrowser(const StringList &, const char * suf = ""); + ~PathBrowser(); + const char * next(); + }; +} +#endif \ No newline at end of file diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/posib_err.cpp aspell-0.60-vc++/common/posib_err.cpp --- aspell-0.60/common/posib_err.cpp 2004-06-02 06:54:30.000000000 -0600 +++ aspell-0.60-vc++/common/posib_err.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -11,6 +11,8 @@ #include "iostream.hpp" #include "settings.h" // needed for NLS support +#include "string_util.hpp" +#include "gettext.h" #include "posib_err.hpp" @@ -33,7 +35,7 @@ ParmString p1, ParmString p2, ParmString p3, ParmString p4) { - const char * s0 = inf->mesg ? _(inf->mesg) : ""; + const char * s0 = inf->mesg ? inf->mesg : ""; //13-Sep-04 need to convert from unicode const char * s; ParmString p[4] = {p1,p2,p3,p4}; StrSize m[10]; diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/posib_err.hpp aspell-0.60-vc++/common/posib_err.hpp --- aspell-0.60/common/posib_err.hpp 2004-06-28 15:35:25.000000000 -0600 +++ aspell-0.60-vc++/common/posib_err.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -7,6 +7,7 @@ #ifndef PCOMMON_POSIB_ERR__HPP #define PCOMMON_POSIB_ERR__HPP +#include "aspellroot.h" #include "string.hpp" #include "error.hpp" @@ -31,7 +32,6 @@ extern "C" const ErrorInfo * const perror_bad_file_format; template class PosibErr; - class PosibErrBase { private: struct ErrPtr { @@ -91,13 +91,13 @@ destroy(); } - Error * release_err() { + ASPELL_API Error * release_err() { if (err_ == 0) return 0; else return release(); } - void ignore_err() { + ASPELL_API void ignore_err() { #ifndef NDEBUG if (err_ != 0) err_->handled = true; @@ -144,18 +144,18 @@ } // This should only be called _after_ set is called - PosibErrBase & with_file(ParmString fn, int lineno = 0); + ASPELL_API PosibErrBase & with_file(ParmString fn, int lineno = 0); - PosibErrBase & set(const ErrorInfo *, + ASPELL_API PosibErrBase & set(const ErrorInfo *, ParmString, ParmString, ParmString, ParmString); private: #ifndef NDEBUG - void handle_err() const; + ASPELL_API void handle_err() const; #endif Error * release(); - void del(); + ASPELL_API void del(); }; template @@ -163,17 +163,15 @@ { public: PosibErr() {} - PosibErr(const PosibErrBase & other) : PosibErrBase(other) {} - - template - PosibErr(const PosibErr & other) +//13-Sep-04 template + PosibErr(const PosibErr & other) //was T : PosibErrBase(other), data(other.data) {} - +#if 0 //13-Sep-04 PosibErr(const PosibErr & other) : PosibErrBase(other) {} - +#endif PosibErr& operator= (const PosibErr & other) { data = other.data; PosibErrBase::destroy(); @@ -182,6 +180,7 @@ } PosibErr(const Ret & d) : data(d) {} operator const Ret & () const {posib_handle_err(); return data;} + const Ret & get() const {return data;} //13-Sep-04 Ret data; }; @@ -202,7 +201,7 @@ #define RET_ON_ERR_SET(command, type, var) \ type var;do{PosibErr< type > pe(command);if(pe.has_err())return PosibErrBase(pe);var=pe.data;} while(false) #define RET_ON_ERR(command) \ - do{PosibErrBase pe(command);if(pe.has_err())return PosibErrBase(pe);}while(false) + do{acommon::PosibErrBase pe(command);if(pe.has_err())return acommon::PosibErrBase(pe);}while(false) // diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/speller.hpp aspell-0.60-vc++/common/speller.hpp --- aspell-0.60/common/speller.hpp 2004-06-02 06:54:52.000000000 -0600 +++ aspell-0.60-vc++/common/speller.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -121,7 +121,7 @@ // This function is current a hack to reload the filters in the // speller class. I hope to eventually find a better way. - PosibErr reload_filters(Speller * m); + ASPELL_API PosibErr reload_filters(Speller * m); PosibErr new_speller(Config * c); diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/stack_ptr.hpp aspell-0.60-vc++/common/stack_ptr.hpp --- aspell-0.60/common/stack_ptr.hpp 2004-06-02 06:55:05.000000000 -0600 +++ aspell-0.60-vc++/common/stack_ptr.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -8,7 +8,9 @@ #define stack_ptr #include - +//13-Sep-04 +//StackPtr had two copy constructors. I removed that c'tor that takes a const ref. +//StackPtr had three assignment ops. I removed all but one. namespace acommon { template @@ -21,9 +23,12 @@ // PosibErr > pe = fun(); // and operator* and StackPtr(T *) will be used. The explicit // doesn't protect us here due to PosibErr +#ifndef WIN32PORT //13-Sep-04 StackPtr(const StackPtr & other); // becuase I am paranoid + //13-Sep-04 this is needed for PosibErr scheme. StackPtr & operator=(const StackPtr & other); +#endif public: @@ -32,10 +37,8 @@ StackPtr(StackPtr & other) : ptr (other.release()) {} ~StackPtr() {del();} - StackPtr & operator=(StackPtr & other) {reset(other.release()); return *this;} - T & operator* () const {return *ptr;} T * operator-> () const {return ptr;} T * get() const {return ptr;} @@ -46,7 +49,6 @@ void del() {delete ptr; ptr = 0;} void reset(T * p) {assert(ptr==0); ptr = p;} StackPtr & operator=(T * p) {reset(p); return *this;} - }; } diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/string.cpp aspell-0.60-vc++/common/string.cpp --- aspell-0.60/common/string.cpp 2004-07-13 18:41:54.000000000 -0600 +++ aspell-0.60-vc++/common/string.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -15,17 +15,22 @@ # endif #endif +#include "string_util.hpp" #include "string.hpp" #include "asc_ctype.hpp" +/* + Keep the malloc and free calls in the same unit (main vs dll) +*/ namespace acommon { + //reserve space for s characters, not including a terminating null. void String::reserve_i(size_t s) { size_t old_size = end_ - begin_; size_t new_size = (storage_end_ - begin_) * 3 / 2; if (new_size < 64) new_size = 64; - if (new_size + 1 < s) new_size = s + 1; + if (new_size - 1 < s) new_size = s + 1; //13-Oct-04 if (old_size == 0) { if (begin_) free(begin_); begin_ = (char *)malloc(new_size); @@ -36,6 +41,17 @@ storage_end_ = begin_ + new_size; } + void String::assign_only_nonnull(const char * b, unsigned size) + { + begin_ = (char *)malloc(size + 1); + memmove(begin_, b, size); + end_ = begin_ + size; +#ifdef NULLTERMINATE + end_[0] = '\0'; //null terminate 13-Sep-04 +#endif + storage_end_ = end_ + 1; + } + int String::vprintf(const char * format, va_list ap0) { reserve(size() + 64); @@ -79,4 +95,11 @@ } return size == 0; } + + String:: ~String() + { + if (begin_) + free(begin_); + } + } diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/string_enumeration.hpp aspell-0.60-vc++/common/string_enumeration.hpp --- aspell-0.60/common/string_enumeration.hpp 2004-06-02 06:55:38.000000000 -0600 +++ aspell-0.60-vc++/common/string_enumeration.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -13,7 +13,7 @@ namespace acommon { - class StringEnumeration; + //13-Sep-04 class StringEnumeration; class Convert; class StringEnumeration { diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/string.hpp aspell-0.60-vc++/common/string.hpp --- aspell-0.60/common/string.hpp 2004-06-24 22:07:30.000000000 -0600 +++ aspell-0.60-vc++/common/string.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -11,8 +11,11 @@ #include #include - -#include "hash_fun.hpp" +#ifdef WIN32PORT +#include //INT_MAX +#endif +//#include "hash_fun.hpp" +#include "aspellroot.h" #include "parm_string.hpp" #include "mutable_string.hpp" #include "ostream.hpp" @@ -35,13 +38,7 @@ char * end_; char * storage_end_; - void assign_only_nonnull(const char * b, unsigned size) - { - begin_ = (char *)malloc(size + 1); - memmove(begin_, b, size); - end_ = begin_ + size; - storage_end_ = end_ + 1; - } + ASPELL_API void assign_only_nonnull(const char * b, unsigned size); void zero() { begin_ = 0; @@ -58,7 +55,7 @@ if (b && size > 0) assign_only_nonnull(b, size); else zero(); } - void reserve_i(size_t s = 0); + ASPELL_API void reserve_i(size_t s = 0); public: void reserve(size_t s) { @@ -83,20 +80,28 @@ size_t max_size() const {return INT_MAX;} size_t capacity() const {return storage_end_ ? storage_end_ - begin_ - 1 : 0;} +#ifndef NULLTERMINATE void ensure_null_end() const { if (!begin_) const_cast(this)->reserve_i(); *end_ = '\0'; } - +#endif const char * c_str() const { - if (begin_) {ensure_null_end(); return begin_;} + if (begin_) { +#ifndef NULLTERMINATE + ensure_null_end(); +#endif + return begin_; + } else return ""; } const char * str() const {return c_str();} char * mstr() { if (!begin_) reserve_i(); +#ifndef NULLTERMINATE ensure_null_end(); +#endif return begin_; } @@ -121,7 +126,12 @@ char & back() {return end_[-1];} const char back() const {return end_[-1];} - void clear() {end_ = begin_;} + void clear() { + end_ = begin_; +#ifdef NULLTERMINATE + if (end_) end_[0] = '\0'; +#endif + } // // constructors @@ -140,11 +150,17 @@ void assign(const char * b, size_t size) { +#ifndef NULLTERMINATE clear(); +#endif if (size != 0) { reserve(size); memmove(begin_, b, size); + end_ = begin_ + size; +#ifdef NULLTERMINATE + end_[0] = '\0'; //null terminate 13-Sep-04 +#endif } } void assign(const char * b) @@ -179,6 +195,9 @@ reserve(size() + sz); memcpy(end_, str, sz); end_ += sz; +#ifdef NULLTERMINATE + end_[0] = '\0'; //null terminate 13-Sep-04 +#endif return *this; } String & append(const void * d, const void * e) @@ -196,6 +215,9 @@ if (!end_) reserve_i(); for (; *str && end_ != storage_end_ - 1; ++str, ++end_) *end_ = *str; +#ifdef NULLTERMINATE + end_[0] = '\0'; //null terminate 13-Sep-04 +#endif if (end_ == storage_end_ - 1) append(str, strlen(str)); return *this; } @@ -204,6 +226,10 @@ reserve(size() + 1); *end_ = c; ++end_; + +#ifdef NULLTERMINATE + end_[0] = '\0'; //null terminate 13-Sep-04 +#endif return *this; } @@ -235,7 +261,7 @@ // // - ~String() {if (begin_) free(begin_);} + ASPELL_API ~String(); void swap(String & other) { std::swap(begin_, other.begin_); @@ -247,7 +273,7 @@ // // - int vprintf(const char * format, va_list ap); + ASPELL_API int vprintf(const char * format, va_list ap); // // @@ -255,7 +281,12 @@ void push_back(char c) {append(c);} - void pop_back(size_t p = 1) {end_ -= p;} + void pop_back(size_t p = 1) { + end_ -= p; +#ifdef NULLTERMINATE //28-Oct-04 + end_[0] = '\0'; //null terminate 13-Sep-04 +#endif + } char * insert(size_t p, char c) { @@ -265,6 +296,9 @@ if (to_move) memmove(pos + 1, pos, to_move); *pos = c; ++end_; +#ifdef NULLTERMINATE + end_[0] = '\0'; //null terminate 13-Sep-04 +#endif return pos; } char * insert(char * pos, char c) @@ -279,6 +313,9 @@ if (to_move) memmove(pos + sz, pos, to_move); memcpy(pos, str, sz); end_ += sz; +#ifdef NULLTERMINATE + end_[0] = '\0'; //null terminate 13-Sep-04 +#endif } void insert(char * pos, const char * f, const char * l) { @@ -290,6 +327,9 @@ size_t to_move = end_ - pos - 1; if (to_move) memmove(pos, pos + 1, to_move); --end_; +#ifdef NULLTERMINATE + end_[0] = '\0'; //null terminate 13-Sep-04 +#endif return pos; } char * erase(char * f, char * l) @@ -301,6 +341,9 @@ memmove(f, f + sz, end_ - l); end_ -= sz; } +#ifdef NULLTERMINATE + end_[0] = '\0'; //null terminate 13-Sep-04 +#endif return f; } void erase(size_t pos, size_t s) @@ -325,6 +368,9 @@ { reserve(n); end_ = begin_ + n; +#ifdef NULLTERMINATE + end_[0] = '\0'; //null terminate 13-Sep-04 +#endif } void resize(size_t n, char c) { @@ -352,7 +398,11 @@ } // FIXME: Eventually remove +#ifndef PORTABLE static const size_t npos = INT_MAX; +#else + enum { npos = INT_MAX }; +#endif size_t find(char c, size_t pos = 0) const { char * res = (char *)memchr(begin_ + pos, c, size() - pos); if (res == 0) return npos; @@ -394,12 +444,13 @@ } }; - inline String operator+ (ParmStr rhs, ParmStr lhs) + //13-Oct-04 rev lhs with rhs + inline String operator+ (ParmStr lhs, ParmStr rhs) { String tmp; - tmp.reserve(rhs.size() + lhs.size()); - tmp += rhs; + tmp.reserve(lhs.size() + rhs.size()); tmp += lhs; + tmp += rhs; return tmp; } @@ -457,11 +508,11 @@ public: StringIStream(ParmStr s, char d = ';') : IStream(d), in_str(s) {} - bool append_line(String & str, char c); - bool read(void * data, unsigned int size); + ASPELL_API bool append_line(String & str, char c); + ASPELL_API bool read(void * data, unsigned int size); }; - template <> struct hash : public HashString {}; + //template <> struct hash : public HashString {}; inline bool IStream::getline(String & str, char c) { @@ -477,9 +528,10 @@ } +//gds 13-Sep-04 removed return statment. namespace std { - template<> static inline void swap(acommon::String & x, acommon::String & y) {return x.swap(y);} + template<> static inline void swap(acommon::String & x, acommon::String & y) { x.swap(y);} } #endif diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/string_list.hpp aspell-0.60-vc++/common/string_list.hpp --- aspell-0.60/common/string_list.hpp 2004-06-08 17:24:27.000000000 -0600 +++ aspell-0.60-vc++/common/string_list.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -90,7 +90,9 @@ } bool empty() const { return first == 0; } +#if 0 //13-Sep-04 unimplemented unsigned int size() const { abort(); return 0; } +#endif }; diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/string_map.cpp aspell-0.60-vc++/common/string_map.cpp --- aspell-0.60/common/string_map.cpp 2004-07-14 03:18:07.000000000 -0600 +++ aspell-0.60-vc++/common/string_map.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -17,11 +17,12 @@ namespace acommon { // needed for darwin +#ifndef WIN32PORT //13-Sep-04 template HashTable::iterator HashTable::find_i(char const* const&, bool&); template std::pair::iterator,bool> HashTable::insert(const StringPair &); - +#endif void StringMap::copy(const StringMap & other) { lookup_ = other.lookup_; @@ -37,10 +38,10 @@ class StringMapEnumeration : public StringPairEnumeration { - StringMap::CIter_ i; - StringMap::CIter_ end; + StringMap::Iter_ i; + StringMap::Iter_ end; public: - StringMapEnumeration(StringMap::CIter_ i0, StringMap::CIter_ e0) + StringMapEnumeration(StringMap::Iter_ i0, StringMap::Iter_ e0) : i(i0), end(e0) {} StringPairEnumeration * clone() const; void assign(const StringPairEnumeration *); @@ -73,9 +74,12 @@ } StringPairEnumeration * StringMap::elements() const { - return new StringMapEnumeration(lookup_.begin(), lookup_.end()); + HT_Iterator b(lookup_.begin()); //13-Sep-04 + HT_Iterator e(lookup_.end()); //13-Sep-04 + return new StringMapEnumeration(b, e); } + StringMap * new_string_map() { return new StringMap(); diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/string_map.hpp aspell-0.60-vc++/common/string_map.hpp --- aspell-0.60/common/string_map.hpp 2004-06-08 17:18:28.000000000 -0600 +++ aspell-0.60-vc++/common/string_map.hpp 2004-11-07 04:36:12.000000000 -0700 @@ -4,6 +4,10 @@ * LGPL license along with this library if you did not you can find it * at http://www.gnu.org/. */ +//13-Sep-04 +//Changed is_multi from static const to enum. This was an error for VC +//StringMap::empty_str is now initialized to a null char + #ifndef ASPELL_STRING_MAP__HPP #define ASPELL_STRING_MAP__HPP @@ -24,30 +28,42 @@ class StringMap : public MutableContainer { public: // but don't use struct Parms { - typedef StringPair Value; - typedef const char * Key; - const char * key(const Value & v) {return v.first;} + struct GetKeyCls + { + const char * operator () (const StringPair &v) const + { return v.first;} + }; + GetKeyCls getKey; + //const char * key(const StringPair & v) {return v.first;} +#ifndef PORTABLE static const bool is_multi = false; - acommon::hash hash; - bool equal(const char * x, const char * y) {return strcmp(x,y) == 0;} +#else + enum { is_multi = false }; //13-Sep-04 +#endif + acommon::hash getHash; + //bool equal(const char * x, const char * y) {return strcmp(x,y) == 0;} + GetEqualCls getEqual; }; typedef StringPair Value_; - typedef HashTable Lookup; + typedef HashTable Lookup; typedef Lookup::iterator Iter_; typedef Lookup::const_iterator CIter_; private: - HashTable lookup_; + Lookup lookup_; ObjStack buffer_; +#ifndef PORTABLE //13-Sep-04 const char empty_str[1]; - +#else + const char *empty_str; +#endif void copy(const StringMap & other); // copy and destructor provided public: PosibErr clear() {lookup_.clear(); buffer_.reset(); return no_err;} - StringMap() : empty_str() {} - StringMap(const StringMap & other) : empty_str() {copy(other);} + StringMap() : empty_str("") {} //13-Sep-04 + StringMap(const StringMap & other) : empty_str("") {copy(other);} StringMap & operator= (const StringMap & o) {clear(); copy(o); return *this;} ~StringMap() {} @@ -96,7 +112,7 @@ } // removes an element. Returns true if the element existed. - PosibErr remove(ParmStr key) {return lookup_.erase(key);} + PosibErr remove(ParmStr key) {return lookup_.erase(key) ? true: false;} //13-Sep-04 // looks up an element. Returns null if the element did not exist. // returns an empty string if the element exists but has a null value @@ -117,7 +133,7 @@ }; -StringMap * new_string_map(); +ASPELL_API StringMap * new_string_map(); } diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/string_util.hpp aspell-0.60-vc++/common/string_util.hpp --- aspell-0.60/common/string_util.hpp 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/common/string_util.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -0,0 +1,12 @@ +#ifndef string_util_h +#define string_util_h +/* + Microsoft Visual C 6.0 stdio.h does not define snprintf, rather + it defines the non-standard name _snprintf. We define snprintf + for VC builds here. +*/ +#ifdef _MSC_VER +#define snprintf _snprintf +#define vsnprintf _vsnprintf +#endif +#endif diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/vector.bak aspell-0.60-vc++/common/vector.bak --- aspell-0.60/common/vector.bak 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/common/vector.bak 2004-11-07 04:36:12.000000000 -0700 @@ -0,0 +1,75 @@ +// This file is part of The New Aspell +// Copyright (C) 2001-2003 by Kevin Atkinson under the GNU LGPL license +// version 2.0 or 2.1. You should have received a copy of the LGPL +// license along with this library if you did not you can find +// it at http://www.gnu.org/. + +#ifndef ASPELL_VECTOR__HPP +#define ASPELL_VECTOR__HPP + +#include + +namespace acommon +{ + template + class Vector : public std::vector + { + public: + + typedef T value_type; //13-Sep-04 + typedef std::vector::size_type size_type; //13-Sep-04 + typedef std::vector::difference_type difference_type; //13-Sep-04 + typedef std::vector::_Tptr pointer; //13-Sep-04 + typedef std::vector::reference reference; //13-Sep-04 + typedef std::vector::const_reference const_reference; //13-Sep-04 + typedef std::vector::iterator iterator; //13-Sep-04 + typedef std::vector::const_iterator const_iterator; //13-Sep-04 + + + Vector() {} + Vector(unsigned int s) : std::vector(s) {} + Vector(unsigned int s, const T & val) : std::vector(s, val) {} + + void append(T t) { + this->push_back(t); + } + void append(const T * begin, unsigned int size) { + insert(this->end(), begin, begin+size); + } + void append(const T * begin, const T * end) { + insert(this->end(), begin, end); + } + int alloc(int s) { + int pos = this->size(); + this->resize(pos + s); + return pos; + } + T * data() {return &*this->begin();} + T * data(int pos) {return &*this->begin() + pos;} + T * data_end() {return &*this->end();} + + T * pbegin() {return &*this->begin();} + T * pend() {return &*this->end();} + + const T * pbegin() const {return &*this->begin();} + const T * pend() const {return &*this->end();} + + void del() + { +#pragma message("implement acommon::Vector<>::del()") + } + template + U * datap() { + return reinterpret_cast(&this->front()); + } + template + U * datap(int pos) { + return reinterpret_cast(&this->front() + pos); + } + + void pop_front() {this->erase(this->begin());} + void push_front(const T & v) {this->insert(this->begin(), v);} + }; +} + +#endif diff -r -u -b -w --unidirectional-new-file aspell-0.60/common/vector.hpp aspell-0.60-vc++/common/vector.hpp --- aspell-0.60/common/vector.hpp 2004-06-20 20:37:51.000000000 -0600 +++ aspell-0.60-vc++/common/vector.hpp 2004-11-07 04:36:12.000000000 -0700 @@ -16,6 +16,15 @@ { public: + typedef T value_type; //13-Sep-04 + typedef std::vector::size_type size_type; //13-Sep-04 + typedef std::vector::difference_type difference_type; //13-Sep-04 + typedef std::vector::reference reference; //13-Sep-04 + typedef std::vector::const_reference const_reference; //13-Sep-04 + typedef std::vector::iterator iterator; //13-Sep-04 + typedef std::vector::const_iterator const_iterator; //13-Sep-04 + + Vector() {} Vector(unsigned int s) : std::vector(s) {} Vector(unsigned int s, const T & val) : std::vector(s, val) {} @@ -43,7 +52,6 @@ const T * pbegin() const {return &*this->begin();} const T * pend() const {return &*this->end();} - template U * datap() { return reinterpret_cast(&this->front()); Only in aspell-0.60/: compile Only in aspell-0.60/: config.guess Only in aspell-0.60/: config.rpath Only in aspell-0.60/: config.sub Only in aspell-0.60/: configure Only in aspell-0.60/: configure.ac Only in aspell-0.60/: COPYING Only in aspell-0.60/: data Only in aspell-0.60/: depcomp Only in aspell-0.60/: examples Only in aspell-0.60/: gen Only in aspell-0.60/: install-sh diff -r -u -b -w --unidirectional-new-file aspell-0.60/interfaces/cc/aspell.h aspell-0.60-vc++/interfaces/cc/aspell.h --- aspell-0.60/interfaces/cc/aspell.h 2004-06-25 04:03:07.000000000 -0600 +++ aspell-0.60-vc++/interfaces/cc/aspell.h 2004-11-07 04:36:12.000000000 -0700 @@ -9,6 +9,8 @@ #ifndef ASPELL_ASPELL__H #define ASPELL_ASPELL__H +#include "aspellroot.h" + #ifdef __cplusplus extern "C" { #endif @@ -220,9 +222,9 @@ unsigned int aspell_error_number(const struct AspellCanHaveError * ths); -const char * aspell_error_message(const struct AspellCanHaveError * ths); +ASPELL_API const char * aspell_error_message(const struct AspellCanHaveError * ths); -const struct AspellError * aspell_error(const struct AspellCanHaveError * ths); +ASPELL_API const struct AspellError * aspell_error(const struct AspellCanHaveError * ths); void delete_aspell_can_have_error(struct AspellCanHaveError * ths); @@ -328,7 +330,7 @@ struct AspellSpeller * to_aspell_speller(struct AspellCanHaveError * obj); -void delete_aspell_speller(struct AspellSpeller * ths); +ASPELL_API void delete_aspell_speller(struct AspellSpeller * ths); unsigned int aspell_speller_error_number(const struct AspellSpeller * ths); @@ -340,28 +342,28 @@ /* returns 0 if it is not in the dictionary, * 1 if it is, or -1 on error. */ -int aspell_speller_check(struct AspellSpeller * ths, const char * word, int word_size); +ASPELL_API int aspell_speller_check(struct AspellSpeller * ths, const char * word, int word_size); -int aspell_speller_add_to_personal(struct AspellSpeller * ths, const char * word, int word_size); +ASPELL_API int aspell_speller_add_to_personal(struct AspellSpeller * ths, const char * word, int word_size); -int aspell_speller_add_to_session(struct AspellSpeller * ths, const char * word, int word_size); +ASPELL_API int aspell_speller_add_to_session(struct AspellSpeller * ths, const char * word, int word_size); -const struct AspellWordList * aspell_speller_personal_word_list(struct AspellSpeller * ths); +ASPELL_API const struct AspellWordList * aspell_speller_personal_word_list(struct AspellSpeller * ths); -const struct AspellWordList * aspell_speller_session_word_list(struct AspellSpeller * ths); +ASPELL_API const struct AspellWordList * aspell_speller_session_word_list(struct AspellSpeller * ths); -const struct AspellWordList * aspell_speller_main_word_list(struct AspellSpeller * ths); +ASPELL_API const struct AspellWordList * aspell_speller_main_word_list(struct AspellSpeller * ths); -int aspell_speller_save_all_word_lists(struct AspellSpeller * ths); +ASPELL_API int aspell_speller_save_all_word_lists(struct AspellSpeller * ths); -int aspell_speller_clear_session(struct AspellSpeller * ths); +ASPELL_API int aspell_speller_clear_session(struct AspellSpeller * ths); /* Return null on error. * the word list returned by suggest is only valid until the next * call to suggest */ -const struct AspellWordList * aspell_speller_suggest(struct AspellSpeller * ths, const char * word, int word_size); +ASPELL_API const struct AspellWordList * aspell_speller_suggest(struct AspellSpeller * ths, const char * word, int word_size); -int aspell_speller_store_replacement(struct AspellSpeller * ths, const char * mis, int mis_size, const char * cor, int cor_size); +ASPELL_API int aspell_speller_store_replacement(struct AspellSpeller * ths, const char * mis, int mis_size, const char * cor, int cor_size); @@ -451,9 +453,9 @@ typedef struct AspellWordList AspellWordList; -int aspell_word_list_empty(const struct AspellWordList * ths); +ASPELL_API int aspell_word_list_empty(const struct AspellWordList * ths); -unsigned int aspell_word_list_size(const struct AspellWordList * ths); +ASPELL_API unsigned int aspell_word_list_size(const struct AspellWordList * ths); struct AspellStringEnumeration * aspell_word_list_elements(const struct AspellWordList * ths); @@ -465,15 +467,15 @@ typedef struct AspellStringEnumeration AspellStringEnumeration; -void delete_aspell_string_enumeration(struct AspellStringEnumeration * ths); +ASPELL_API void delete_aspell_string_enumeration(struct AspellStringEnumeration * ths); -struct AspellStringEnumeration * aspell_string_enumeration_clone(const struct AspellStringEnumeration * ths); +ASPELL_API struct AspellStringEnumeration * aspell_string_enumeration_clone(const struct AspellStringEnumeration * ths); -void aspell_string_enumeration_assign(struct AspellStringEnumeration * ths, const struct AspellStringEnumeration * other); +ASPELL_API void aspell_string_enumeration_assign(struct AspellStringEnumeration * ths, const struct AspellStringEnumeration * other); -int aspell_string_enumeration_at_end(const struct AspellStringEnumeration * ths); +ASPELL_API int aspell_string_enumeration_at_end(const struct AspellStringEnumeration * ths); -const char * aspell_string_enumeration_next(struct AspellStringEnumeration * ths); +ASPELL_API const char * aspell_string_enumeration_next(struct AspellStringEnumeration * ths); @@ -521,8 +523,9 @@ typedef struct AspellModuleInfoList AspellModuleInfoList; - +#if 0 //13-Sep-04 unused struct AspellModuleInfoList * get_aspell_module_info_list(struct AspellConfig * config); +#endif int aspell_module_info_list_empty(const struct AspellModuleInfoList * ths); Only in aspell-0.60/interfaces/cc: Makefile.in Only in aspell-0.60/interfaces: Makefile.in diff -r -u -b -w --unidirectional-new-file aspell-0.60/lib/can_have_error-c.cpp aspell-0.60-vc++/lib/can_have_error-c.cpp --- aspell-0.60/lib/can_have_error-c.cpp 2004-05-15 18:09:06.000000000 -0600 +++ aspell-0.60-vc++/lib/can_have_error-c.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -6,6 +6,7 @@ * LGPL license along with this library if you did not you can find it * at http://www.gnu.org/. */ +#include "aspellroot.h" #include "can_have_error.hpp" #include "error.hpp" @@ -19,12 +20,12 @@ return ths->err_ == 0 ? 0 : 1; } -extern "C" const char * aspell_error_message(const CanHaveError * ths) +extern "C" ASPELL_API const char * aspell_error_message(const CanHaveError * ths) { return ths->err_ ? ths->err_->mesg : ""; } -extern "C" const Error * aspell_error(const CanHaveError * ths) +extern "C" ASPELL_API const Error * aspell_error(const CanHaveError * ths) { return ths->err_; } diff -r -u -b -w --unidirectional-new-file aspell-0.60/lib/find_speller.cpp aspell-0.60-vc++/lib/find_speller.cpp --- aspell-0.60/lib/find_speller.cpp 2004-06-30 15:53:33.000000000 -0600 +++ aspell-0.60-vc++/lib/find_speller.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -9,7 +9,9 @@ // POSIX includes #include +#if 0 //13-Sep-04 dirent functions are unused here #include +#endif #include "asc_ctype.hpp" #include "can_have_error.hpp" @@ -20,6 +22,7 @@ #include "filter.hpp" #include "fstream.hpp" #include "getdata.hpp" +#include "gettext.h" //13-Sep-04 #include "info.hpp" #include "speller.hpp" #include "stack_ptr.hpp" diff -r -u -b -w --unidirectional-new-file aspell-0.60/lib/new_filter.cpp aspell-0.60-vc++/lib/new_filter.cpp --- aspell-0.60/lib/new_filter.cpp 2004-07-21 09:06:02.000000000 -0600 +++ aspell-0.60-vc++/lib/new_filter.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -34,6 +34,7 @@ #ifdef HAVE_LIBDL # include +# include "path_browse.h" //13-Sep-04 #endif namespace acommon @@ -480,8 +481,7 @@ } #endif - - void load_all_filters(Config * config) { + ASPELL_API void load_all_filters(Config * config) { #ifdef HAVE_LIBDL StringList filter_path; String toload; diff -r -u -b -w --unidirectional-new-file aspell-0.60/lib/new_fmode.cpp aspell-0.60-vc++/lib/new_fmode.cpp --- aspell-0.60/lib/new_fmode.cpp 2004-07-30 16:23:41.000000000 -0600 +++ aspell-0.60-vc++/lib/new_fmode.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -3,6 +3,10 @@ // license version 2.0 or 2.1. You should have received a copy of the // LGPL license along with this library if you did not you can find it // at http://www.gnu.org/. +#ifdef WIN32PORT +# include //HANDLE WIN32_FIND_DATA +#endif + #include "settings.h" #ifdef USE_POSIX_REGEX @@ -26,6 +30,7 @@ #include "strtonum.hpp" #include "asc_ctype.hpp" #include "iostream.hpp" +#include "path_browse.h" //13-Sep-04 namespace acommon { @@ -117,7 +122,11 @@ c->filter_mode_notifier = this; } +#if 0 //13-Sep-04 I should not have to do this. ModeNotifierImpl * clone(Config * c) const {return new ModeNotifierImpl(*this, c);} +#else + Notifier * clone(Config * c) const {return new ModeNotifierImpl(*this, c);} +#endif PosibErr item_updated(const KeyInfo * ki, ParmStr); PosibErr list_updated(const KeyInfo * ki); @@ -236,7 +245,7 @@ for ( Vector::iterator it = magicKeys.begin() ; it != magicKeys.end() ; it++ ) { PosibErr magicMatch = it->matchFile(in,ext); - if ( magicMatch + if ( magicMatch.get() || magicMatch.has_err() ) { if ( closeFile ) { fclose ( in ); @@ -474,7 +483,7 @@ return no_err; } - static GlobalCache filter_modes_cache("filter_modes"); + static ConfigurableCache filter_modes_cache("filter_modes"); PosibErr set_mode_from_extension (Config * config, ParmString filename, FILE * in) { @@ -505,7 +514,11 @@ StringList filter_path_lst; config->retrieve_list("filter-path", &filter_path_lst); combine_list(filter_path, filter_path_lst); +#ifdef PORTABLE + RET_ON_ERR(filter_modes_cache.setup(filter_modes_, config, filter_path)); +#else RET_ON_ERR(setup(filter_modes_, &filter_modes_cache, config, filter_path)); +#endif } return filter_modes_.get(); } @@ -554,14 +567,20 @@ possMode.assign(possModeFile.str(), possModeFile.size() - 4); unsigned pathPos = 0; +#if 0 //inefficent coding String::rfind does the job better unsigned pathPosEnd = 0; - while ( ( (pathPosEnd = possMode.find('/',pathPos)) < possMode.size() ) + while ( ( (pathPosEnd = possMode.find('/',pathPos)) != String::npos ) && ( pathPosEnd >= 0 ) ) { pathPos = pathPosEnd + 1; } - possMode.erase(0,pathPos); +#endif + pathPos = possMode.rfind('/'); + if (String::npos != pathPos) + possMode.erase(0,pathPos +1); +#ifndef NULLTERMINATE possMode.ensure_null_end(); +#endif to_lower(possMode.data()); Vector::iterator fmIt = filter_modes->begin(); @@ -696,7 +715,9 @@ // partially unescape magic +#ifndef NULLTERMINATE magic.ensure_null_end(); +#endif char * dest = magic.data(); const char * src = magic.data(); while (*src) { diff -r -u -b -w --unidirectional-new-file aspell-0.60/lib/speller-c.cpp aspell-0.60-vc++/lib/speller-c.cpp --- aspell-0.60/lib/speller-c.cpp 2004-05-20 13:10:05.000000000 -0600 +++ aspell-0.60-vc++/lib/speller-c.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -6,6 +6,7 @@ * LGPL license along with this library if you did not you can find it * at http://www.gnu.org/. */ +#include "aspell.h" #include "convert.hpp" #include "error.hpp" #include "mutable_string.hpp" @@ -21,7 +22,7 @@ class Speller; class WordList; -extern "C" CanHaveError * new_aspell_speller(Config * config) +extern "C" ASPELL_API CanHaveError * new_aspell_speller(Config * config) { PosibErr ret = new_speller(config); if (ret.has_err()) { @@ -31,41 +32,43 @@ } } -extern "C" Speller * to_aspell_speller(CanHaveError * obj) +extern "C" ASPELL_API Speller * to_aspell_speller(CanHaveError * obj) { return static_cast(obj); } -extern "C" void delete_aspell_speller(Speller * ths) +extern "C" ASPELL_API void delete_aspell_speller(Speller * ths) { delete ths; } -extern "C" unsigned int aspell_speller_error_number(const Speller * ths) +extern "C" ASPELL_API unsigned int aspell_speller_error_number(const Speller * ths) { return ths->err_ == 0 ? 0 : 1; } -extern "C" const char * aspell_speller_error_message(const Speller * ths) +extern "C" ASPELL_API const char * aspell_speller_error_message(const Speller * ths) { return ths->err_ ? ths->err_->mesg : ""; } -extern "C" const Error * aspell_speller_error(const Speller * ths) +extern "C" ASPELL_API const Error * aspell_speller_error(const Speller * ths) { return ths->err_; } -extern "C" Config * aspell_speller_config(Speller * ths) +extern "C" ASPELL_API Config * aspell_speller_config(Speller * ths) { return ths->config(); } -extern "C" int aspell_speller_check(Speller * ths, const char * word, int word_size) +extern "C" ASPELL_API int aspell_speller_check(Speller * ths, const char * word, int word_size) { ths->temp_str_0.clear(); ths->to_internal_->convert(word, word_size, ths->temp_str_0); +#ifndef NULLTERMINATE ths->temp_str_0.ensure_null_end(); +#endif unsigned int s0 = ths->temp_str_0.size(); PosibErr ret = ths->check(MutableString(ths->temp_str_0.data(), s0)); ths->err_.reset(ret.release_err()); @@ -73,11 +76,13 @@ return ret.data; } -extern "C" int aspell_speller_add_to_personal(Speller * ths, const char * word, int word_size) +extern "C" ASPELL_API int aspell_speller_add_to_personal(Speller * ths, const char * word, int word_size) { ths->temp_str_0.clear(); ths->to_internal_->convert(word, word_size, ths->temp_str_0); +#ifndef NULLTERMINATE ths->temp_str_0.ensure_null_end(); +#endif unsigned int s0 = ths->temp_str_0.size(); PosibErr ret = ths->add_to_personal(MutableString(ths->temp_str_0.data(), s0)); ths->err_.reset(ret.release_err()); @@ -85,11 +90,13 @@ return 1; } -extern "C" int aspell_speller_add_to_session(Speller * ths, const char * word, int word_size) +extern "C" ASPELL_API int aspell_speller_add_to_session(Speller * ths, const char * word, int word_size) { ths->temp_str_0.clear(); ths->to_internal_->convert(word, word_size, ths->temp_str_0); +#ifndef NULLTERMINATE ths->temp_str_0.ensure_null_end(); +#endif unsigned int s0 = ths->temp_str_0.size(); PosibErr ret = ths->add_to_session(MutableString(ths->temp_str_0.data(), s0)); ths->err_.reset(ret.release_err()); @@ -97,7 +104,7 @@ return 1; } -extern "C" const WordList * aspell_speller_personal_word_list(Speller * ths) +extern "C" ASPELL_API const WordList * aspell_speller_personal_word_list(Speller * ths) { PosibErr ret = ths->personal_word_list(); ths->err_.reset(ret.release_err()); @@ -106,7 +113,7 @@ return ret.data; } -extern "C" const WordList * aspell_speller_session_word_list(Speller * ths) +extern "C" ASPELL_API const WordList * aspell_speller_session_word_list(Speller * ths) { PosibErr ret = ths->session_word_list(); ths->err_.reset(ret.release_err()); @@ -115,7 +122,7 @@ return ret.data; } -extern "C" const WordList * aspell_speller_main_word_list(Speller * ths) +extern "C" ASPELL_API const WordList * aspell_speller_main_word_list(Speller * ths) { PosibErr ret = ths->main_word_list(); ths->err_.reset(ret.release_err()); @@ -124,7 +131,7 @@ return ret.data; } -extern "C" int aspell_speller_save_all_word_lists(Speller * ths) +extern "C" ASPELL_API int aspell_speller_save_all_word_lists(Speller * ths) { PosibErr ret = ths->save_all_word_lists(); ths->err_.reset(ret.release_err()); @@ -132,7 +139,7 @@ return 1; } -extern "C" int aspell_speller_clear_session(Speller * ths) +extern "C" ASPELL_API int aspell_speller_clear_session(Speller * ths) { PosibErr ret = ths->clear_session(); ths->err_.reset(ret.release_err()); @@ -140,11 +147,13 @@ return 1; } -extern "C" const WordList * aspell_speller_suggest(Speller * ths, const char * word, int word_size) +extern "C" ASPELL_API const WordList * aspell_speller_suggest(Speller * ths, const char * word, int word_size) { ths->temp_str_0.clear(); ths->to_internal_->convert(word, word_size, ths->temp_str_0); +#ifndef NULLTERMINATE ths->temp_str_0.ensure_null_end(); +#endif unsigned int s0 = ths->temp_str_0.size(); PosibErr ret = ths->suggest(MutableString(ths->temp_str_0.data(), s0)); ths->err_.reset(ret.release_err()); @@ -153,15 +162,19 @@ return ret.data; } -extern "C" int aspell_speller_store_replacement(Speller * ths, const char * mis, int mis_size, const char * cor, int cor_size) +extern "C" ASPELL_API int aspell_speller_store_replacement(Speller * ths, const char * mis, int mis_size, const char * cor, int cor_size) { ths->temp_str_0.clear(); ths->to_internal_->convert(mis, mis_size, ths->temp_str_0); +#ifndef NULLTERMINATE ths->temp_str_0.ensure_null_end(); +#endif unsigned int s0 = ths->temp_str_0.size(); ths->temp_str_1.clear(); ths->to_internal_->convert(cor, cor_size, ths->temp_str_1); +#ifndef NULLTERMINATE ths->temp_str_1.ensure_null_end(); +#endif unsigned int s1 = ths->temp_str_1.size(); PosibErr ret = ths->store_replacement(MutableString(ths->temp_str_0.data(), s0), MutableString(ths->temp_str_1.data(), s1)); ths->err_.reset(ret.release_err()); diff -r -u -b -w --unidirectional-new-file aspell-0.60/lib/string_enumeration-c.cpp aspell-0.60-vc++/lib/string_enumeration-c.cpp --- aspell-0.60/lib/string_enumeration-c.cpp 2004-05-15 18:09:06.000000000 -0600 +++ aspell-0.60-vc++/lib/string_enumeration-c.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -6,6 +6,7 @@ * LGPL license along with this library if you did not you can find it * at http://www.gnu.org/. */ +#include "aspell.h" #include "convert.hpp" #include "string_enumeration.hpp" @@ -13,27 +14,27 @@ class StringEnumeration; -extern "C" void delete_aspell_string_enumeration(StringEnumeration * ths) +extern "C" ASPELL_API void delete_aspell_string_enumeration(StringEnumeration * ths) { delete ths; } -extern "C" StringEnumeration * aspell_string_enumeration_clone(const StringEnumeration * ths) +extern "C" ASPELL_API StringEnumeration * aspell_string_enumeration_clone(const StringEnumeration * ths) { return ths->clone(); } -extern "C" void aspell_string_enumeration_assign(StringEnumeration * ths, const StringEnumeration * other) +extern "C" ASPELL_API void aspell_string_enumeration_assign(StringEnumeration * ths, const StringEnumeration * other) { ths->assign(other); } -extern "C" int aspell_string_enumeration_at_end(const StringEnumeration * ths) +extern "C" ASPELL_API int aspell_string_enumeration_at_end(const StringEnumeration * ths) { return ths->at_end(); } -extern "C" const char * aspell_string_enumeration_next(StringEnumeration * ths) +extern "C" ASPELL_API const char * aspell_string_enumeration_next(StringEnumeration * ths) { const char * s = ths->next(); if (s == 0 || ths->from_internal_ == 0) { diff -r -u -b -w --unidirectional-new-file aspell-0.60/lib/string_list-c.cpp aspell-0.60-vc++/lib/string_list-c.cpp --- aspell-0.60/lib/string_list-c.cpp 2004-05-15 18:09:06.000000000 -0600 +++ aspell-0.60-vc++/lib/string_list-c.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -24,12 +24,12 @@ { return ths->empty(); } - +#if 0 extern "C" unsigned int aspell_string_list_size(const StringList * ths) { return ths->size(); } - +#endif extern "C" StringEnumeration * aspell_string_list_elements(const StringList * ths) { return ths->elements(); diff -r -u -b -w --unidirectional-new-file aspell-0.60/lib/string_map-c.cpp aspell-0.60-vc++/lib/string_map-c.cpp --- aspell-0.60/lib/string_map-c.cpp 2004-05-15 18:09:06.000000000 -0600 +++ aspell-0.60-vc++/lib/string_map-c.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -8,6 +8,7 @@ #include "posib_err.hpp" #include "string_map.hpp" +#include "hash-t.hpp" //is this realy needed? namespace acommon { diff -r -u -b -w --unidirectional-new-file aspell-0.60/lib/word_list-c.cpp aspell-0.60-vc++/lib/word_list-c.cpp --- aspell-0.60/lib/word_list-c.cpp 2004-05-15 18:09:06.000000000 -0600 +++ aspell-0.60-vc++/lib/word_list-c.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -6,6 +6,7 @@ * LGPL license along with this library if you did not you can find it * at http://www.gnu.org/. */ +#include "aspell.h" #include "string_enumeration.hpp" #include "word_list.hpp" @@ -14,17 +15,17 @@ class StringEnumeration; class WordList; -extern "C" int aspell_word_list_empty(const WordList * ths) +extern "C" ASPELL_API int aspell_word_list_empty(const WordList * ths) { return ths->empty(); } -extern "C" unsigned int aspell_word_list_size(const WordList * ths) +extern "C" ASPELL_API unsigned int aspell_word_list_size(const WordList * ths) { return ths->size(); } -extern "C" StringEnumeration * aspell_word_list_elements(const WordList * ths) +extern "C" ASPELL_API StringEnumeration * aspell_word_list_elements(const WordList * ths) { StringEnumeration * els = ths->elements(); els->from_internal_ = ths->from_internal_; Only in aspell-0.60/: ltmain.sh Only in aspell-0.60/: m4 Only in aspell-0.60/: maintainer Only in aspell-0.60/: Makefile.am Only in aspell-0.60/: Makefile.in Only in aspell-0.60/: manual Only in aspell-0.60/: missing Only in aspell-0.60/: mkinstalldirs diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/filter/context.cpp aspell-0.60-vc++/modules/filter/context.cpp --- aspell-0.60/modules/filter/context.cpp 2004-06-27 09:04:19.000000000 -0600 +++ aspell-0.60-vc++/modules/filter/context.cpp 2004-11-07 04:36:14.000000000 -0700 @@ -21,6 +21,12 @@ #include "string_list.hpp" #include "vector.hpp" +#ifdef WIN32PORT //13-Sep-04 +#ifndef C_EXPORT +#define C_EXPORT extern "C" _declspec(dllexport) +#endif +#endif + using namespace acommon; namespace { diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/filter/email.cpp aspell-0.60-vc++/modules/filter/email.cpp --- aspell-0.60/modules/filter/email.cpp 2004-06-27 09:04:00.000000000 -0600 +++ aspell-0.60-vc++/modules/filter/email.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -13,6 +13,12 @@ #include "mutable_container.hpp" #include "copy_ptr-t.hpp" +#ifdef WIN32PORT //13-Sep-04 +#ifndef C_EXPORT +#define C_EXPORT extern "C" _declspec(dllexport) +#endif +#endif + namespace { using namespace acommon; diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/filter/mk-static-filter.pl aspell-0.60-vc++/modules/filter/mk-static-filter.pl --- aspell-0.60/modules/filter/mk-static-filter.pl 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/modules/filter/mk-static-filter.pl 2004-11-07 04:36:13.000000000 -0700 @@ -0,0 +1,192 @@ +# +#unmask dots and mask quotation marks and backslashes +sub prep_str($) +{ + local $_ = $_[0]; + s/\\(.)/$1/g; + s/([\"\\])/\\$1/g; + return $_; +} + +#holds the description of all recognized filters +%filters=(); + +while ($filename=shift) { + +#check if filter description file (*-filter.info) has been read before + $filtername=$filename; + $filtername=~s/-filter\.info$//; + $filtername=~s/[^\/]*\///g; + ( exists $filters{$filtername}) && + (printf STDERR "filter allready defined $filtername($filename); ignored;\n") && next; + ( open OPTIONFILE,"<$filename") || + (printf STDERR "can't open `$filename'; ignored;\n") && next; + +#create basic structure holding description of filter types and options + $filter=$filters{$filtername}={}; + ${$filter}{"NAME"}=$filtername; + ${$filter}{"DECODER"}="0"; + ${$filter}{"FILTER"}="0"; + ${$filter}{"ENCODER"}="0"; + ${$filter}{"DESCRIPTION"}=""; + $inoption=0; + +#parse file and fill filter structure + while () { + chomp; + +#ignore comments and empty lines; strip leading and trailing whitespaces + (($_=~/^\#/) || ($_=~/^[ \t]*$/)) && next; + $_=~s/[ \t]+$//; + $_=~s/^[ \t]+//; +#check if forced end of file + ($_=~s/^ENDFILE(?:[ \t]+|$)//i) && last; + +#if line does not belong to block, describing a filter option, check if it +#provides basic information upon filter or if it starts an option block + unless ($inoption) { + ( $_=~s/^DES(?:CRIPTION)[ \t]+//i) && (($_=~s/\\(?=[ \t])//g) || 1) && + (${$filter}{"DESCRIPTION"}=$_) && next; + ( $_=~s/^STATIC[ \t]+//i) && (($feature=uc $_ ) || 1) && + (${$filter}{$feature}="new_aspell_".$filtername."_".(lc $_)) && next; + ( $_=~s/^ASPELL[ \t]+//i) && next; + ( $_=~/^LIB-FILE/i) && next; + ( $_=~/^OPTION[ \t]+/i) || + (die "Invalid general key in $filename on line $."); + } + +#if line starts new option block create corresponding fields + if ($_=~s/^OPTION[ \t]+//i) { + $inoption=1; + $option=${$filter}{$_}={}; + ${$option}{"NAME"}=$_; + ${$option}{"TYPE"}="KeyInfoBool"; + ${$option}{"DEFAULT"}=""; + ${$option}{"DESCRIPTION"}=""; + next; + } +#fill option structure with information provided by line +#or terminate option block and use line to adjust other parts of the +#filters structure + ( $_=~s/^TYPE[ \t]+//i) && + (${$option}{"TYPE"}=$_) && next; + ( $_=~s/^DEF(?:AULT)[ \t]+//i) && (($_=~s/\\(?=[ \t])//g) || 1) && + (((${$option}{"DEFAULT"} ne "") && (${$option}{"DEFAULT"}.=":")) ||1) && + (${$option}{"DEFAULT"}.=prep_str($_)) && next; + ( $_=~s/^DES(?:CRIPTION)[ \t]+//i) && (($_=~s/\\(?=[ \t])//g) || 1) && + (${$option}{"DESCRIPTION"}=prep_str($_)) && next; + ( $_=~s/^FLAGS[ \t]+//i) && + (${$option}{"FLAGS"}=prep_str($_)) && next; + ( $_=~s/^ENDOPTION(?:[ \t]+|$)//i) && + (($inoption=0)||1) && next; + ( $_=~s/^STATIC[ \t]+//i) && (($feature=uc $_ ) || 1) && + (${$filter}{$feature}="new_".$filtername."_".(lc $_)) && + (($inoption=0)||1) && next; + die "Invalid option key in $filename on line $."; + } + close OPTIONFILE; +} + +#check what we have got. If no filter was found simply terminate. +#In any other case create the static_filter.src.cpp file. It will be compiled +#into Aspell binary, all filters described within this file are assumed to be +#statically linked into Aspell + +(scalar (@allfilters = keys %filters)) || exit 0; +open STATICFILTERS, ">gen/static_filters.src.cpp" || die "cant generate static filter description\n"; +printf STATICFILTERS "/*File generated during static filter build\n". + " Automatically generated file\n*/\n"; + +#declare all filter creation functions +@rallfilters=(); +while ($filter = shift @allfilters) { + ( $filters{$filter}{"DECODER"} ne "0") && + (printf STATICFILTERS "\n extern \"C\" IndividualFilter * ". + $filters{$filter}{"DECODER"}."();\n"); + ( $filters{$filter}{"FILTER"} ne "0") && + (printf STATICFILTERS "\n extern \"C\" IndividualFilter * ". + $filters{$filter}{"FILTER"}."();\n"); + ( $filters{$filter}{"ENCODER"} ne "0") && + (printf STATICFILTERS "\n extern \"C\" IndividualFilter * ". + $filters{$filter}{"ENCODER"}."();\n"); + push @rallfilters,$filter; +} + +#create standard filter list denoting all statically linked filters +#and corresponding variables +@allfilters=(@rallfilters); +printf STATICFILTERS "\n static FilterEntry standard_filters[] = {\n"; +@filterhashes=(); +@rallfilters=(); +while ($filter = shift @allfilters) { + push @filterhashes,$filters{$filter}; + (scalar @rallfilters) && (printf STATICFILTERS ",\n"); + printf STATICFILTERS " {\"$filter\",".$filters{$filter}{"DECODER"}. + ",".$filters{$filter}{"FILTER"}. + ",".$filters{$filter}{"ENCODER"}."}"; + push @rallfilters,$filter; +} +printf STATICFILTERS "\n };\n"; +printf STATICFILTERS "\n const unsigned int standard_filters_size = ". + "sizeof(standard_filters)/sizeof(FilterEntry);\n"; + + +#create KeyInfo structures for each static filter +while ($filter = shift @filterhashes) { + printf STATICFILTERS "\n static KeyInfo ".${$filter}{"NAME"}."_options[] = {\n"; + +#create KeyInfo structs and begin end handles + $firstopt = 1; + while (($name,$option)=each %{$filter}) { + ($name=~/(?:NAME|(?:DE|EN)CODER|FILTER|DESCRIPTION)/) && next; + ( $firstopt != 1 ) && ( printf STATICFILTERS ",\n" ); + $firstopt = 0; + printf STATICFILTERS " {\n". + " \"f-${$filter}{NAME}-$name\",\n"; + ( (lc ${$option}{"TYPE"}) eq "bool") && + printf STATICFILTERS " KeyInfoBool,\n"; + ( (lc ${$option}{"TYPE"}) eq "int") && + printf STATICFILTERS " KeyInfoInt,\n"; + ( (lc ${$option}{"TYPE"}) eq "string") && + printf STATICFILTERS " KeyInfoString,\n"; + ( (lc ${$option}{"TYPE"}) eq "list") && + printf STATICFILTERS " KeyInfoList,\n"; + print STATICFILTERS " \"".${$option}{"DEFAULT"}."\",\n". + " \"".${$option}{"DESCRIPTION"}."\"\n". + " }"; + } + printf STATICFILTERS "\n };\n"; + printf STATICFILTERS "\n const KeyInfo * ".${$filter}{"NAME"}."_options_begin = ". + ${$filter}{"NAME"}."_options;\n"; + printf STATICFILTERS "\n const KeyInfo * ".${$filter}{"NAME"}."_options_end = ". + ${$filter}{"NAME"}."_options+sizeof(". + ${$filter}{"NAME"}."_options)/". + "sizeof(KeyInfo);\n"; +} + +#finally create filter modules list. +printf STATICFILTERS "\n\n static ConfigModule filter_modules[] = {\n"; +#FIXME obsolete due to modes moving to textfiles +#printf STATICFILTERS " {\"fm\",0,modes_module_begin,modes_module_end}"; +$firstopt = 1; +while ($filter = shift @rallfilters) { + ( $firstopt != 1 ) && ( printf STATICFILTERS ",\n" ); + $firstopt = 0; + printf STATICFILTERS " {\n". + " \"$filter\",0,\n". + " \"".${${filters}{$filter}}{DESCRIPTION}."\",\n" . + " ${filter}_options_begin,${filter}_options_end\n" . + " }"; +} +printf STATICFILTERS "\n };\n"; +printf STATICFILTERS "\n const ConfigModule * filter_modules_begin = ". + "filter_modules;\n"; +printf STATICFILTERS "\n const ConfigModule * filter_modules_end = ". + "filter_modules+sizeof(filter_modules)/". + "sizeof(ConfigModule);\n"; +printf STATICFILTERS "\n const size_t filter_modules_size = ". + "sizeof(filter_modules);\n"; + +close STATICFILTERS; + + diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/filter/mk-static-src.bat aspell-0.60-vc++/modules/filter/mk-static-src.bat --- aspell-0.60/modules/filter/mk-static-src.bat 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/modules/filter/mk-static-src.bat 2004-11-07 04:36:13.000000000 -0700 @@ -0,0 +1 @@ +perl mk-static-filter.pl context-filter.info email-filter.info html-filter.info sgml-filter.info tex-filter.info url-filter.info diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/filter/sgml.cpp aspell-0.60-vc++/modules/filter/sgml.cpp --- aspell-0.60/modules/filter/sgml.cpp 2004-08-03 13:06:02.000000000 -0600 +++ aspell-0.60-vc++/modules/filter/sgml.cpp 2004-11-07 04:36:14.000000000 -0700 @@ -31,6 +31,13 @@ #include "copy_ptr-t.hpp" #include "clone_ptr-t.hpp" #include "filter_char_vector.hpp" +#include "hash-t.hpp" //is this needed? + +#ifdef WIN32PORT //13-Sep-04 +#ifndef C_EXPORT +#define C_EXPORT extern "C" _declspec(dllexport) +#endif +#endif //right now unused option // static const KeyInfo sgml_options[] = { @@ -104,6 +111,7 @@ ScanState in_what; // which quote char is quoting this attrib value. + FilterChar::Chr quote_val; // one char prior to this one. For escape handling and such. FilterChar::Chr lookbehind; diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/filter/static_filters.src.cpp aspell-0.60-vc++/modules/filter/static_filters.src.cpp --- aspell-0.60/modules/filter/static_filters.src.cpp 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/modules/filter/static_filters.src.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -0,0 +1,180 @@ +/*File generated during static filter build + Automatically generated file +*/ + + extern "C" IndividualFilter * new_aspell_tex_filter(); + + extern "C" IndividualFilter * new_aspell_context_filter(); + + extern "C" IndividualFilter * new_aspell_url_filter(); + + extern "C" IndividualFilter * new_aspell_sgml_decoder(); + + extern "C" IndividualFilter * new_aspell_sgml_filter(); + + extern "C" IndividualFilter * new_aspell_email_filter(); + + extern "C" IndividualFilter * new_aspell_html_decoder(); + + extern "C" IndividualFilter * new_aspell_html_filter(); + + static FilterEntry standard_filters[] = { + {"tex",0,new_aspell_tex_filter,0}, + {"context",0,new_aspell_context_filter,0}, + {"url",0,new_aspell_url_filter,0}, + {"sgml",new_aspell_sgml_decoder,new_aspell_sgml_filter,0}, + {"email",0,new_aspell_email_filter,0}, + {"html",new_aspell_html_decoder,new_aspell_html_filter,0} + }; + + const unsigned int standard_filters_size = sizeof(standard_filters)/sizeof(FilterEntry); + + static KeyInfo tex_options[] = { + { + "f-tex-command", + KeyInfoList, + "addtocounter pp:addtolength pp:alpha p:arabic p:fnsymbol p:roman p:stepcounter p:setcounter pp:usecounter p:value p:newcounter po:refstepcounter p:label p:pageref p:ref p:newcommand poOP:renewcommand poOP:newenvironment poOPP:renewenvironment poOPP:newtheorem poPo:newfont pp:documentclass op:usepackage op:begin po:end p:setlength pp:addtolength pp:settowidth pp:settodepth pp:settoheight pp:enlargethispage p:hyphenation p:pagenumbering p:pagestyle p:addvspace p:framebox ooP:hspace p:vspace p:makebox ooP:parbox ooopP:raisebox pooP:rule opp:sbox pO:savebox pooP:usebox p:include p:includeonly p:input p:addcontentsline ppP:addtocontents pP:fontencoding p:fontfamily p:fontseries p:fontshape p:fontsize pp:usefont pppp:documentstyle op:cite p:nocite p:psfig p:selectlanguage p:includegraphics op:bibitem op:geometry p", + "TeX commands" + }, + { + "f-tex-check-comments", + KeyInfoBool, + "false", + "check TeX comments" + } + }; + + const KeyInfo * tex_options_begin = tex_options; + + const KeyInfo * tex_options_end = tex_options+sizeof(tex_options)/sizeof(KeyInfo); + + static KeyInfo context_options[] = { + { + "f-context-visible-first", + KeyInfoBool, + "false", + "swaps visible and invisible text" + }, + { + "f-context-delimiters", + KeyInfoList, + "\" \":/* */:// 0", + "context delimiters (separated by spaces)" + } + }; + + const KeyInfo * context_options_begin = context_options; + + const KeyInfo * context_options_end = context_options+sizeof(context_options)/sizeof(KeyInfo); + + //the generated entry for url was empty. put in default values. + static KeyInfo url_options[] = { + { + "url", + KeyInfoList, + "none", + "none" + } + + }; + + const KeyInfo * url_options_begin = url_options; + + const KeyInfo * url_options_end = url_options+sizeof(url_options)/sizeof(KeyInfo); + + static KeyInfo sgml_options[] = { + { + "f-sgml-skip", + KeyInfoList, + "", + "SGML tags to always skip the contents of" + }, + { + "f-sgml-check", + KeyInfoList, + "", + "SGML attributes to always check" + } + }; + + const KeyInfo * sgml_options_begin = sgml_options; + + const KeyInfo * sgml_options_end = sgml_options+sizeof(sgml_options)/sizeof(KeyInfo); + + static KeyInfo email_options[] = { + { + "f-email-margin", + KeyInfoInt, + "10", + "num chars that can appear before the quote char" + }, + { + "f-email-quote", + KeyInfoList, + ">:|", + "email quote characters" + } + }; + + const KeyInfo * email_options_begin = email_options; + + const KeyInfo * email_options_end = email_options+sizeof(email_options)/sizeof(KeyInfo); + + static KeyInfo html_options[] = { + { + "f-html-skip", + KeyInfoList, + "script:style", + "HTML tags to always skip the contents of" + }, + { + "f-html-check", + KeyInfoList, + "alt", + "HTML attributes to always check" + } + }; + + const KeyInfo * html_options_begin = html_options; + + const KeyInfo * html_options_end = html_options+sizeof(html_options)/sizeof(KeyInfo); + + + static ConfigModule filter_modules[] = { + { + "tex",0, + "filter for dealing with TeX/LaTeX documents", + tex_options_begin,tex_options_end + }, + { + "context",0, + "experimental filter for hiding delimited contexts", + context_options_begin,context_options_end + }, + { + "url",0, + "filter to skip URL like constructs", + url_options_begin,url_options_end + }, + { + "sgml",0, + "filter for dealing with generic SGML/XML documents", + sgml_options_begin,sgml_options_end + }, + { + "email",0, + "filter for skipping quoted text in email messages", + email_options_begin,email_options_end + }, + { + "html",0, + "filter for dealing with HTML documents", + html_options_begin,html_options_end + } + }; + + const ConfigModule * filter_modules_begin = filter_modules; + + const ConfigModule * filter_modules_end = filter_modules+sizeof(filter_modules)/sizeof(ConfigModule); + + const size_t filter_modules_size = sizeof(filter_modules); diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/filter/tex.cpp aspell-0.60-vc++/modules/filter/tex.cpp --- aspell-0.60/modules/filter/tex.cpp 2004-06-27 09:03:15.000000000 -0600 +++ aspell-0.60-vc++/modules/filter/tex.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -22,7 +22,15 @@ #include "filter_char_vector.hpp" #include "string_list.hpp" #include "string_enumeration.hpp" - +#include "string_util.hpp" +#include "gettext.h" +#include "hash-t.hpp" //is this needed? + +#ifdef WIN32PORT //13-Sep-04 +#ifndef C_EXPORT +#define C_EXPORT extern "C" _declspec(dllexport) +#endif +#endif namespace { diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/filter/url.cpp aspell-0.60-vc++/modules/filter/url.cpp --- aspell-0.60/modules/filter/url.cpp 2004-06-18 03:53:30.000000000 -0600 +++ aspell-0.60-vc++/modules/filter/url.cpp 2004-11-07 04:36:14.000000000 -0700 @@ -8,6 +8,12 @@ #include "indiv_filter.hpp" #include "key_info.hpp" +#ifdef WIN32PORT //13-Sep-04 +#ifndef C_EXPORT +#define C_EXPORT extern "C" _declspec(dllexport) +#endif +#endif + namespace { using namespace acommon; diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/affix.bak aspell-0.60-vc++/modules/speller/default/affix.bak --- aspell-0.60/modules/speller/default/affix.bak 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/modules/speller/default/affix.bak 2004-11-07 04:36:13.000000000 -0700 @@ -0,0 +1,1440 @@ +// This file is part of The New Aspell +// Copyright (C) 2004 by Kevin Atkinson under the GNU LGPL +// license version 2.0 or 2.1. You should have received a copy of the +// LGPL license along with this library if you did not you can find it +// at http://www.gnu.org/. +// +// This code is based on the the MySpell affix code: +// +/* + * Copyright 2002 Kevin B. Hendricks, Stratford, Ontario, Canada And + * Contributors. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. All modifications to the source code must be clearly marked as + * such. Binary redistributions based on modified source code + * must be clearly marked as modified versions in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY KEVIN B. HENDRICKS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * KEVIN B. HENDRICKS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +#include +#include +#include + +#include "iostream.hpp" + +#include "affix.hpp" +#include "errors.hpp" +#include "getdata.hpp" +#include "parm_string.hpp" +#include "check_list.hpp" +#include "speller_impl.hpp" +#include "vararray.hpp" +#include "lsort.hpp" +#include "hash-t.hpp" + +//11-Sep-04 + +#ifdef UNICODE // r_winnt +#define TEXT(quote) L##quote // r_winnt +#else /* UNICODE */ // r_winnt +#define TEXT(quote) quote // r_winnt +#endif /* UNICODE */ +//11-Sep-04 - + +using namespace std; + +namespace aspeller { + +typedef unsigned char byte; +static char EMPTY[1] = {0}; + +////////////////////////////////////////////////////////////////////// +// +// Entry struct definations +// + +struct Conds +{ + char * str; + unsigned num; + char conds[SETSIZE]; + char get(byte i) const {return conds[i];} +}; + +struct AffEntry +{ + const char * appnd; + const char * strip; + byte appndl; + byte stripl; + byte xpflg; + char achar; + const Conds * conds; + //unsigned int numconds; + //char conds[SETSIZE]; +}; + +// A Prefix Entry + +struct PfxEntry : public AffEntry +{ + PfxEntry * next; + PfxEntry * next_eq; + PfxEntry * next_ne; + PfxEntry * flag_next; + PfxEntry() {} + + bool check(const LookupInfo &, const AffixMgr * pmyMgr, + ParmString, CheckInfo &, GuessInfo *) const; + + inline bool allow_cross() const { return ((xpflg & XPRODUCT) != 0); } + inline byte flag() const { return achar; } + inline const char * key() const { return appnd; } + bool applicable(SimpleString) const; + SimpleString add(SimpleString, ObjStack & buf) const; +}; + +// A Suffix Entry + +struct SfxEntry : public AffEntry +{ + const char * rappnd; // this is set in AffixMgr::build_sfxlist + + SfxEntry * next; + SfxEntry * next_eq; + SfxEntry * next_ne; + SfxEntry * flag_next; + + SfxEntry() {} + + bool check(const LookupInfo &, ParmString, CheckInfo &, GuessInfo *, + int optflags, AffEntry * ppfx); + + inline bool allow_cross() const { return ((xpflg & XPRODUCT) != 0); } + inline byte flag() const { return achar; } + inline const char * key() const { return rappnd; } + bool applicable(SimpleString) const; + SimpleString add(SimpleString, ObjStack & buf, int limit, SimpleString) const; +}; + +////////////////////////////////////////////////////////////////////// +// +// Utility functions declarations +// + +/* return 1 if s1 is subset of s2 */ +static bool isSubset(const char * s1, const char * s2) +{ + while( *s1 && (*s1 == *s2) ) { + s1++; + s2++; + } + return (*s1 == '\0'); +} + +// return 1 if s1 (reversed) is a leading subset of end of s2 +static bool isRevSubset(const char * s1, const char * end_of_s2, int len) +{ + while( (len > 0) && *s1 && (*s1 == *end_of_s2) ) { + s1++; + end_of_s2--; + len --; + } + return (*s1 == '\0'); +} + +template +struct AffixLess +{ + bool operator() (T * x, T * y) const {return strcmp(x->key(),y->key()) < 0;} +}; + +// struct StringLookup { +// struct Parms { +// typedef const char * Value; +// typedef const char * Key; +// static const bool is_multi = false; +// hash hfun; +// size_t hash(const char * s) {return hfun(s);} +// bool equal(const char * x, const char * y) {return strcmp(x,y) == 0;} +// const char * key(const char * c) {return c;} +// }; +// typedef HashTable Lookup; +// Lookup lookup; +// ObjStack * data_buf; +// StringLookup(ObjStack * b) : data_buf(b) {} +// const char * dup(const char * orig) { +// pair res = lookup.insert(orig); +// if (res.second) *res.first = data_buf->dup(orig); +// return *res.first; +// //return data_buf->dup(orig); +// } +// }; + +struct CondsLookupParms { + typedef const Conds * Value; + typedef const char * Key; +#if 0 + static const bool is_multi = false; +#else + enum { is_multi = 0 }; //13-Sep-04 +#endif + acommon::hash hfun; + size_t hash(const char * s) {return hfun(s);} + bool equal(const char * x, const char * y) {return strcmp(x,y) == 0;} + const char * key(const Conds * c) {return c->str;} +}; + +typedef HashTable CondsLookup; + +// normalizes and checks the cond_str +// returns the lenth of the new string or -1 if invalid +static int normalize_cond_str(char * str) +{ + char * s = str; + char * d = str; + while (*s) { + if (*s != '[') { + *d++ = *s++; + } else if (s[1] == '\0' || s[1] == ']') { + return -1; + } else if (s[2] == ']') { + *d++ = s[1]; + s += 3; + } else { + *d++ = *s++; + if (*s == '^') *d++ = *s++; + while (*s != ']') { + if (*s == '\0' || *s == '[') return -1; + char * min = s; + for (char * i = s + 1; *i != ']'; ++i) { + if ((byte)*i < (byte)*min) min = i;} + char c = *s; + *d++ = *min; + *min = c; + ++s; + } + *d++ = *s++; + } + } + *d = '\0'; + return d - str; +} + +static void encodeit(CondsLookup &, ObjStack &, + AffEntry * ptr, char * cs); + +////////////////////////////////////////////////////////////////////// +// +// Affix Manager +// + +PosibErr AffixMgr::setup(ParmString affpath, Conv & iconv) +{ + // register hash manager and load affix data from aff file + //cpdmin = 3; // default value + max_strip_ = 0; + for (int i=0; i < SETSIZE; i++) { + pStart[i] = NULL; + sStart[i] = NULL; + pFlag[i] = NULL; + sFlag[i] = NULL; + max_strip_f[i] = 0; + } + return parse_file(affpath, iconv); +} + +AffixMgr::AffixMgr(const Language * l) + : lang(l), data_buf(1024*16) {} + +AffixMgr::~AffixMgr() {} + +static inline void MAX(int & lhs, int rhs) +{ + if (lhs < rhs) lhs = rhs; +} + +// read in aff file and build up prefix and suffix entry objects +PosibErr AffixMgr::parse_file(const char * affpath, Conv & iconv) +{ + // io buffers + String buf; DataPair dp; + + CondsLookup conds_lookup; + + // open the affix file + affix_file = data_buf.dup(affpath); + FStream afflst; + RET_ON_ERR(afflst.open(affpath,"r")); + + // step one is to parse the affix file building up the internal + // affix data structures + + // read in each line ignoring any that do not + // start with a known line type indicator + + char prev_aff = '\0'; + + while (getdata_pair(afflst,dp,buf)) { + char affix_type = ' '; + + /* parse in the name of the character set used by the .dict and .aff */ + + if (dp.key == "SET") { + String buf; + encoding = data_buf.dup(fix_encoding_str(dp.value, buf)); + if (strcmp(encoding, lang->data_encoding()) != 0) + return make_err(incorrect_encoding, affix_file, lang->data_encoding(), encoding); + } + + /* parse in the flag used by the controlled compound words */ + //else if (d.key == "COMPOUNDFLAG") + // compound = data_buf.dup(d.value); + + /* parse in the flag used by the controlled compound words */ + //else if (d.key == "COMPOUNDMIN") + // cpdmin = atoi(d.value); // FiXME + + //else if (dp.key == "TRY" || dp.key == "REP"); + + else if (dp.key == "PFX" || dp.key == "SFX") + affix_type = dp.key[0]; + + if (affix_type == ' ') continue; + + // + // parse this affix: P - prefix, S - suffix + // + + int numents = 0; // number of affentry structures to parse + char achar='\0'; // affix char identifier + short xpflg=0; + AffEntry * nptr; + { + // split affix header line into pieces + split(dp); + if (dp.key.empty()) goto error; + // key is affix char + const char * astr = iconv(dp.key); + if (astr[0] == '\0' || astr[1] != '\0') goto error; + achar = astr[0]; + if (achar == prev_aff) goto error_count; + prev_aff = achar; + + split(dp); + if (dp.key.size != 1 || + !(dp.key[0] == 'Y' || dp.key[0] == 'N')) goto error; + // key is cross product indicator + if (dp.key[0] == 'Y') xpflg = XPRODUCT; + + split(dp); + if (dp.key.empty()) goto error; + // key is number of affentries + + numents = atoi(dp.key); + + for (int j = 0; j < numents; j++) { + getdata_pair(afflst, dp, buf); + + if (affix_type == 'P') { + nptr = (AffEntry *) data_buf.alloc_bottom(sizeof(PfxEntry)); + new (nptr) PfxEntry; + } else { + nptr = (AffEntry *) data_buf.alloc_bottom(sizeof(SfxEntry)); + new (nptr) SfxEntry; + } + + nptr->xpflg = xpflg; + + split(dp); + if (dp.key.empty()) goto error; + // key is affix charter + if (iconv(dp.key)[0] != achar) goto error_count; + nptr->achar = achar; + + split(dp); + if (dp.key.empty()) goto error; + // key is strip + if (dp.key != "0") { + ParmString s0(iconv(dp.key)); + MAX(max_strip_, s0.size()); + MAX(max_strip_f[(byte)achar], s0.size()); + nptr->strip = data_buf.dup(s0); + nptr->stripl = s0.size(); + } else { + nptr->strip = ""; + nptr->stripl = 0; + } + + split(dp); + if (dp.key.empty()) goto error; + // key is affix string or 0 for null + if (dp.key != "0") { + nptr->appnd = data_buf.dup(iconv(dp.key)); + nptr->appndl = strlen(nptr->appnd); + } else { + nptr->appnd = ""; + nptr->appndl = 0; + } + + split(dp); + if (dp.key.empty()) goto error; + // key is the conditions descriptions + char * cond = iconv(dp.key); + int cond_len = normalize_cond_str(cond); + if (cond_len < 0) + return (make_err(invalid_cond, MsgConv(lang)(cond)) + .with_file(affix_file, dp.line_num)); + if (nptr->stripl != 0) { + char * cc = cond; + if (affix_type == 'S') cc += cond_len - nptr->stripl; + if (cond_len < nptr->stripl || + memcmp(cc, nptr->strip, nptr->stripl) != 0) + return (make_err(invalid_cond_strip, + MsgConv(lang)(cond), MsgConv(lang)(nptr->strip)) + .with_file(affix_file, dp.line_num)); + } + encodeit(conds_lookup, data_buf, nptr, cond); + + // now create SfxEntry or PfxEntry objects and use links to + // build an ordered (sorted by affix string) list + if (affix_type == 'P') + build_pfxlist(static_cast(nptr)); + else + build_sfxlist(static_cast(nptr)); + } + } + continue; + error: + return make_err(corrupt_affix, MsgConv(lang)(achar)).with_file(affix_file, dp.line_num); + error_count: + return make_err(corrupt_affix, MsgConv(lang)(achar), + TEXT("Possibly incorrect count.")).with_file(affix_file, dp.line_num); + } + afflst.close(); + + // now we can speed up performance greatly taking advantage of the + // relationship between the affixes and the idea of "subsets". + + // View each prefix as a potential leading subset of another and view + // each suffix (reversed) as a potential trailing subset of another. + + // To illustrate this relationship if we know the prefix "ab" is + // found in the word to examine, only prefixes that "ab" is a + // leading subset of need be examined. Furthermore is "ab" is not + // present then none of the prefixes that "ab" is is a subset need + // be examined. + + // The same argument goes for suffix string that are reversed. + + // Then to top this off why not examine the first char of the word + // to quickly limit the set of prefixes to examine (i.e. the + // prefixes to examine must be leading supersets of the first + // character of the word (if they exist) + + // To take advantage of this "subset" relationship, we need to add + // two links from entry. One to take next if the current prefix + // is found (call it nexteq) and one to take next if the current + // prefix is not found (call it nextne). + + // Since we have built ordered lists, all that remains is to + // properly intialize the nextne and nexteq pointers that relate + // them + + process_pfx_order(); + process_sfx_order(); + + //CERR.printf("%u\n", data_buf.calc_size()/1024); + + return no_err; + +} + + +// we want to be able to quickly access prefix information +// both by prefix flag, and sorted by prefix string itself +// so we need to set up two indexes + +PosibErr AffixMgr::build_pfxlist(PfxEntry* pfxptr) +{ + PfxEntry * ptr; + PfxEntry * ep = pfxptr; + + // get the right starting point + const char * key = ep->key(); + const byte flg = ep->flag(); + + // first index by flag which must exist + ptr = pFlag[flg]; + ep->flag_next = ptr; + pFlag[flg] = ep; + + // next insert the affix string, it will be sorted latter + + byte sp = *((const byte *)key); + ptr = pStart[sp]; + ep->next = ptr; + pStart[sp] = ep; + return no_err; +} + +// we want to be able to quickly access suffix information +// both by suffix flag, and sorted by the reverse of the +// suffix string itself; so we need to set up two indexes + +PosibErr AffixMgr::build_sfxlist(SfxEntry* sfxptr) +{ + SfxEntry * ptr; + SfxEntry * ep = sfxptr; + char * tmp = (char *)data_buf.alloc(sfxptr->appndl + 1); + sfxptr->rappnd = tmp; + + // reverse the string + char * dest = tmp + sfxptr->appndl; + *dest-- = 0; + const char * src = sfxptr->appnd; + for (; dest >= tmp; --dest, ++src) + *dest = *src; + + /* get the right starting point */ + const char * key = ep->key(); + const byte flg = ep->flag(); + + // first index by flag which must exist + ptr = sFlag[flg]; + ep->flag_next = ptr; + sFlag[flg] = ep; + + // next insert the affix string, it will be sorted latter + + byte sp = *((const byte *)key); + ptr = sStart[sp]; + ep->next = ptr; + sStart[sp] = ep; + return no_err; +} + + + +// initialize the PfxEntry links NextEQ and NextNE to speed searching +PosibErr AffixMgr::process_pfx_order() +{ + PfxEntry* ptr; + + // loop through each prefix list starting point + for (int i=1; i < SETSIZE; i++) { + + ptr = pStart[i]; + + if (ptr && ptr->next) + ptr = pStart[i] = sort(ptr, AffixLess()); + + // look through the remainder of the list + // and find next entry with affix that + // the current one is not a subset of + // mark that as destination for NextNE + // use next in list that you are a subset + // of as NextEQ + + for (; ptr != NULL; ptr = ptr->next) { + + PfxEntry * nptr = ptr->next; + for (; nptr != NULL; nptr = nptr->next) { + if (! isSubset( ptr->key() , nptr->key() )) break; + } + ptr->next_ne = nptr; + ptr->next_eq = NULL; + if ((ptr->next) && isSubset(ptr->key() , + (ptr->next)->key())) + ptr->next_eq = ptr->next; + } + + // now clean up by adding smart search termination strings + // if you are already a superset of the previous prefix + // but not a subset of the next, search can end here + // so set NextNE properly + + ptr = pStart[i]; + for (; ptr != NULL; ptr = ptr->next) { + PfxEntry * nptr = ptr->next; + PfxEntry * mptr = NULL; + for (; nptr != NULL; nptr = nptr->next) { + if (! isSubset(ptr->key(),nptr->key())) break; + mptr = nptr; + } + if (mptr) mptr->next_ne = NULL; + } + } + return no_err; +} + + + +// initialize the SfxEntry links NextEQ and NextNE to speed searching +PosibErr AffixMgr::process_sfx_order() +{ + SfxEntry* ptr; + + // loop through each prefix list starting point + for (int i=1; i < SETSIZE; i++) { + + ptr = sStart[i]; + + if (ptr && ptr->next) + ptr = sStart[i] = sort(ptr, AffixLess()); + + // look through the remainder of the list + // and find next entry with affix that + // the current one is not a subset of + // mark that as destination for NextNE + // use next in list that you are a subset + // of as NextEQ + + for (; ptr != NULL; ptr = ptr->next) { + SfxEntry * nptr = ptr->next; + for (; nptr != NULL; nptr = nptr->next) { + if (! isSubset(ptr->key(),nptr->key())) break; + } + ptr->next_ne = nptr; + ptr->next_eq = NULL; + if ((ptr->next) && isSubset(ptr->key(),(ptr->next)->key())) + ptr->next_eq = ptr->next; + } + + + // now clean up by adding smart search termination strings: + // if you are already a superset of the previous suffix + // but not a subset of the next, search can end here + // so set NextNE properly + + ptr = sStart[i]; + for (; ptr != NULL; ptr = ptr->next) { + SfxEntry * nptr = ptr->next; + SfxEntry * mptr = NULL; + for (; nptr != NULL; nptr = nptr->next) { + if (! isSubset(ptr->key(),nptr->key())) break; + mptr = nptr; + } + if (mptr) mptr->next_ne = NULL; + } + } + return no_err; +} + +// takes aff file condition string and creates the +// conds array - please see the appendix at the end of the +// file affentry.cxx which describes what is going on here +// in much more detail + +static void encodeit(CondsLookup & l, ObjStack & buf, + AffEntry * ptr, char * cs) +{ + byte c; + int i, j, k; + + // see if we already have this conds matrix + + CondsLookup::iterator itr = l.find(cs); + if (!(itr == l.end())) { + ptr->conds = *itr; + return; + } + + Conds * cds = (Conds *)buf.alloc_bottom(sizeof(Conds)); + cds->str = buf.dup(cs); + l.insert(cds); + ptr->conds = cds; + + int nc = strlen(cs); + VARARRAYM(byte, mbr, nc + 1, MAXLNLEN); + + // now clear the conditions array + memset(cds->conds, 0, sizeof(cds->conds)); + + // now parse the string to create the conds array + + int neg = 0; // complement indicator + int grp = 0; // group indicator + int n = 0; // number of conditions + int ec = 0; // end condition indicator + int nm = 0; // number of member in group + + // if no condition just return + if (strcmp(cs,".")==0) { + cds->num = 0; + return; + } + + i = 0; + while (i < nc) { + c = *((byte *)(cs + i)); + + // start group indicator + if (c == '[') { + grp = 1; + c = 0; + } + + // complement flag + if ((grp == 1) && (c == '^')) { + neg = 1; + c = 0; + } + + // end goup indicator + if (c == ']') { + ec = 1; + c = 0; + } + + // add character of group to list + if ((grp == 1) && (c != 0)) { + *(mbr + nm) = c; + nm++; + c = 0; + } + + // end of condition + if (c != 0) { + ec = 1; + } + + + if (ec) { + if (grp == 1) { + if (neg == 0) { + // set the proper bits in the condition array vals for those chars + for (j=0;jconds[k] = cds->conds[k] | (1 << n); + } + } else { + // complement so set all of them and then unset indicated ones + for (j=0;jconds[j] = cds->conds[j] | (1 << n); + for (j=0;jconds[k] = cds->conds[k] & ~(1 << n); + } + } + neg = 0; + grp = 0; + nm = 0; + } else { + // not a group so just set the proper bit for this char + // but first handle special case of . inside condition + if (c == '.') { + // wild card character so set them all + for (j=0;jconds[j] = cds->conds[j] | (1 << n); + } else { + cds->conds[(unsigned int)c] = cds->conds[(unsigned int)c] | (1 << n); + } + } + n++; + ec = 0; + } + + + i++; + } + cds->num = n; + return; +} + + +// check word for prefixes +bool AffixMgr::prefix_check (const LookupInfo & linf, ParmString word, + CheckInfo & ci, GuessInfo * gi) const +{ + + // first handle the special case of 0 length prefixes + PfxEntry * pe = pStart[0]; + while (pe) { + if (pe->check(linf,this,word,ci,gi)) return true; + pe = pe->next; + } + + // now handle the general case + byte sp = *reinterpret_cast(word.str()); + PfxEntry * pptr = pStart[sp]; + + while (pptr) { + if (isSubset(pptr->key(),word)) { + if (pptr->check(linf,this,word,ci,gi)) return true; + pptr = pptr->next_eq; + } else { + pptr = pptr->next_ne; + } + } + + return false; +} + + +// check word for suffixes +bool AffixMgr::suffix_check (const LookupInfo & linf, ParmString word, + CheckInfo & ci, GuessInfo * gi, + int sfxopts, AffEntry * ppfx) const +{ + + // first handle the special case of 0 length suffixes + SfxEntry * se = sStart[0]; + while (se) { + if (se->check(linf, word, ci, gi, sfxopts, ppfx)) return true; + se = se->next; + } + + // now handle the general case + byte sp = *((const byte *)(word + word.size() - 1)); + SfxEntry * sptr = sStart[sp]; + + while (sptr) { + if (isRevSubset(sptr->key(), word + word.size() - 1, word.size())) { + if (sptr->check(linf, word, ci, gi, sfxopts, ppfx)) return true; + sptr = sptr->next_eq; + } else { + sptr = sptr->next_ne; + } + } + + return false; +} + +// check if word with affixes is correctly spelled +bool AffixMgr::affix_check(const LookupInfo & linf, ParmString word, + CheckInfo & ci, GuessInfo * gi) const +{ + // Deal With Case in a semi-intelligent manner + CasePattern cp = lang->LangImpl::case_pattern(word); + ParmString pword = word; + ParmString sword = word; + CharVector lower; + if (cp == FirstUpper) { + lower.append(word, word.size() + 1); + lower[0] = lang->to_lower(word[0]); + pword = ParmString(lower.data(), lower.size() - 1); + } else if (cp == AllUpper) { + lower.resize(word.size() + 1); + unsigned int i = 0; + for (; i != word.size(); ++i) + lower[i] = lang->to_lower(word[i]); + lower[i] = '\0'; + pword = ParmString(lower.data(), lower.size() - 1); + sword = pword; + } + + // check all prefixes (also crossed with suffixes if allowed) + if (prefix_check(linf, pword, ci, gi)) return true; + + // if still not found check all suffixes + return suffix_check(linf, sword, ci, gi, 0, NULL); +} + +void AffixMgr::munch(ParmString word, GuessInfo * gi) const +{ + LookupInfo li(0, LookupInfo::AlwaysTrue); + CheckInfo ci; + gi->reset(); + CasePattern cp = lang->LangImpl::case_pattern(word); + if (cp == AllUpper) return; + if (cp != FirstUpper) + prefix_check(li, word, ci, gi); + suffix_check(li, word, ci, gi, 0, NULL); +} + +WordAff * AffixMgr::expand(ParmString word, ParmString aff, + ObjStack & buf, int limit) const +{ + byte * empty = (byte *)buf.alloc(1); + *empty = 0; + + byte * suf = (byte *)buf.alloc(aff.size() + 1); + byte * suf_e = suf; + byte * csuf = (byte *)buf.alloc(aff.size() + 1); + byte * csuf_e = csuf; + + WordAff * head = (WordAff *)buf.alloc_bottom(sizeof(WordAff)); + WordAff * current = head; + current->word = buf.dup(word); + current->aff = suf; + + const byte * c = (const byte *)aff.str(); //13-Sep-04 + const byte * e = c + aff.size(); //13-Sep-04 + for (; c != e; ++c) + { + if (sFlag[*c]) *suf_e++ = *c; + if (sFlag[*c] && sFlag[*c]->allow_cross()) *csuf_e++ = *c; + + for (PfxEntry * p = pFlag[*c]; p; p = p->flag_next) { + SimpleString newword = p->add(word, buf); + if (!newword) continue; + current->next = (WordAff *)buf.alloc_bottom(sizeof(WordAff)); + current = current->next; + current->word = newword; + current->aff = p->allow_cross() ? csuf : empty; + } + } + + *suf_e = 0; + *csuf_e = 0; + current->next = 0; + + if (limit == 0) return head; + + WordAff * * end = ¤t->next; + WordAff * * very_end = end; + size_t nsuf_s = suf_e - suf + 1; + + for (WordAff * * cur = &head; cur != end; cur = &(*cur)->next) { + if ((int)(*cur)->word.size - max_strip_ >= limit) continue; + byte * nsuf = (byte *)buf.alloc(nsuf_s); + expand_suffix((*cur)->word, (*cur)->aff, buf, limit, nsuf, &very_end, word); + (*cur)->aff = nsuf; + } + + return head; +} + +WordAff * AffixMgr::expand_suffix(ParmString word, const byte * aff, + ObjStack & buf, int limit, + byte * new_aff, WordAff * * * l, + ParmString orig_word) const +{ + WordAff * head = 0; + if (l) head = **l; + WordAff * * current = l ? *l : &head; + bool expanded = false; + bool not_expanded = false; + if (!orig_word) orig_word = word; + + while (*aff) { + if ((int)word.size() - max_strip_f[*aff] < limit) { + for (SfxEntry * p = sFlag[*aff]; p; p = p->flag_next) { + SimpleString newword = p->add(word, buf, limit, orig_word); + if (!newword) continue; + if (newword == EMPTY) {not_expanded = true; continue;} + *cur = (WordAff *)buf.alloc_bottom(sizeof(WordAff)); + (*cur)->word = newword; + (*cur)->aff = (const byte *)EMPTY; + cur = &(*cur)->next; + expanded = true; + } + } + if (new_aff && (!expanded || not_expanded)) *new_aff++ = *aff; + ++aff; + } + *cur = 0; + if (new_aff) *new_aff = 0; + if (l) *l = cur; + return head; +} + +CheckAffixRes AffixMgr::check_affix(ParmString word, char aff) const +{ + CheckAffixRes res = InvalidAffix; + + for (PfxEntry * p = pFlag[(unsigned char)aff]; p; p = p->flag_next) { + res = InapplicableAffix; + if (p->applicable(word)) return ValidAffix; + } + + for (SfxEntry * p = sFlag[(unsigned char)aff]; p; p = p->flag_next) { + if (res == InvalidAffix) res = InapplicableAffix; + if (p->applicable(word)) return ValidAffix; + } + + return res; +} + + + +////////////////////////////////////////////////////////////////////// +// +// LookupInfo +// + +int LookupInfo::lookup (ParmString word, const SensitiveCompare * c, + char achar, + WordEntry & o, GuessInfo * gi) const +{ + SpellerImpl::WS::const_iterator i = begin; + const char * g = 0; + if (mode == Word) { + do { + (*i)->lookup(word, c, o); + for (;!o.at_end(); o.adv()) { + if (TESTAFF(o.aff, achar)) + return 1; + else + g = o.word; + } + ++i; + } while (i != end); + } else if (mode == Clean) { + do { + (*i)->clean_lookup(word, o); + for (;!o.at_end(); o.adv()) { + if (TESTAFF(o.aff, achar)) + return 1; + else + g = o.word; + } + ++i; + } while (i != end); + } else if (gi) { + g = gi->dup(word); + } + if (gi && g) { + CheckInfo * ci = gi->add(); + ci->word = g; + return -1; + } + return 0; +} + +////////////////////////////////////////////////////////////////////// +// +// Affix Entry +// + +bool PfxEntry::applicable(SimpleString word) const +{ + unsigned int cond; + /* make sure all conditions match */ + if ((word.size > stripl) && (word.size >= conds->num)) { + const byte * cp = (const byte *) word.str; + for (cond = 0; cond < conds->num; cond++) { + if ((conds->get(*cp++) & (1 << cond)) == 0) + break; + } + if (cond >= conds->num) return true; + } + return false; +} + +// add prefix to this word assuming conditions hold +SimpleString PfxEntry::add(SimpleString word, ObjStack & buf) const +{ + unsigned int cond; + /* make sure all conditions match */ + if ((word.size > stripl) && (word.size >= conds->num)) { + const byte * cp = (const byte *) word.str; + for (cond = 0; cond < conds->num; cond++) { + if ((conds->get(*cp++) & (1 << cond)) == 0) + break; + } + if (cond >= conds->num) { + /* */ + int alen = word.size - stripl; + char * newword = (char *)buf.alloc(alen + appndl + 1); + if (appndl) memcpy(newword, appnd, appndl); + memcpy(newword + appndl, word + stripl, alen + 1); + return SimpleString(newword, alen + appndl); + } + } + return SimpleString(); +} + +// check if this prefix entry matches +bool PfxEntry::check(const LookupInfo & linf, const AffixMgr * pmyMgr, + ParmString word, + CheckInfo & ci, GuessInfo * gi) const +{ + unsigned int cond; // condition number being examined + unsigned tmpl; // length of tmpword + WordEntry wordinfo; // hash entry of root word or NULL + byte * cp; + VARARRAYM(char, tmpword, word.size()+1, MAXWORDLEN+1); + + // on entry prefix is 0 length or already matches the beginning of the word. + // So if the remaining root word has positive length + // and if there are enough chars in root word and added back strip chars + // to meet the number of characters conditions, then test it + + tmpl = word.size() - appndl; + + if ((tmpl > 0) && (tmpl + stripl >= conds->num)) { + + // generate new root word by removing prefix and adding + // back any characters that would have been stripped + + if (stripl) strcpy (tmpword, strip); + strcpy ((tmpword + stripl), (word + appndl)); + + // now make sure all of the conditions on characters + // are met. Please see the appendix at the end of + // this file for more info on exactly what is being + // tested + + cp = (byte *)tmpword; + for (cond = 0; cond < conds->num; cond++) { + if ((conds->get(*cp++) & (1 << cond)) == 0) break; + } + + // if all conditions are met then check if resulting + // root word in the dictionary + + if (cond >= conds->num) { + CheckInfo * lci = 0; + CheckInfo * guess = 0; + tmpl += stripl; + + int res = linf.lookup(tmpword, &linf.sp->s_cmp_end, achar, wordinfo, gi); + + if (res == 1) { + + lci = &ci; + lci->word = wordinfo.word; + goto quit; + + } else if (res == -1) { + + guess = gi->head; + + } + + // prefix matched but no root word was found + // if XPRODUCT is allowed, try again but now + // cross checked combined with a suffix + + if (gi) + lci = gi->head; + + if (xpflg & XPRODUCT) { + if (pmyMgr->suffix_check(linf, ParmString(tmpword, tmpl), + ci, gi, + XPRODUCT, (AffEntry *)this)) { + lci = &ci; + + } else if (gi) { + + CheckInfo * stop = lci; + for (lci = gi->head; + lci != stop; + lci = const_cast(lci->next)) + { + lci->pre_flag = achar; + lci->pre_strip_len = stripl; + lci->pre_add_len = appndl; + lci->pre_add = appnd; + } + + } else { + + lci = 0; + + } + } + + if (guess) + lci = guess; + + quit: + if (lci) { + lci->pre_flag = achar; + lci->pre_strip_len = stripl; + lci->pre_add_len = appndl; + lci->pre_add = appnd; + } + if (lci == &ci) return true; + } + } + return false; +} + +bool SfxEntry::applicable(SimpleString word) const +{ + int cond; + /* make sure all conditions match */ + if ((word.size > stripl) && (word.size >= conds->num)) { + const byte * cp = (const byte *) (word + word.size); + for (cond = conds->num; --cond >=0; ) { + if ((conds->get(*--cp) & (1 << cond)) == 0) + break; + } + if (cond < 0) return true; + } + return false; +} + +// add suffix to this word assuming conditions hold +SimpleString SfxEntry::add(SimpleString word, ObjStack & buf, + int limit, SimpleString orig_word) const +{ + int cond; + /* make sure all conditions match */ + if ((orig_word.size > stripl) && (orig_word.size >= conds->num)) { + const byte * cp = (const byte *) (orig_word + orig_word.size); + for (cond = conds->num; --cond >=0; ) { + if ((conds->get(*--cp) & (1 << cond)) == 0) + break; + } + if (cond < 0) { + int alen = word.size - stripl; + if (alen >= limit) return EMPTY; + /* we have a match so add suffix */ + char * newword = (char *)buf.alloc(alen + appndl + 1); + memcpy(newword, word, alen); + memcpy(newword + alen, appnd, appndl + 1); + return SimpleString(newword, alen + appndl); + } + } + return SimpleString(); +} + +// see if this suffix is present in the word +bool SfxEntry::check(const LookupInfo & linf, ParmString word, + CheckInfo & ci, GuessInfo * gi, + int optflags, AffEntry* ppfx) +{ + unsigned tmpl; // length of tmpword + int cond; // condition beng examined + WordEntry wordinfo; // hash entry pointer + byte * cp; + VARARRAYM(char, tmpword, word.size()+1, MAXWORDLEN+1); + PfxEntry* ep = (PfxEntry *) ppfx; + + // if this suffix is being cross checked with a prefix + // but it does not support cross products skip it + + if ((optflags & XPRODUCT) != 0 && (xpflg & XPRODUCT) == 0) + return false; + + // upon entry suffix is 0 length or already matches the end of the word. + // So if the remaining root word has positive length + // and if there are enough chars in root word and added back strip chars + // to meet the number of characters conditions, then test it + + tmpl = word.size() - appndl; + + if ((tmpl > 0) && (tmpl + stripl >= conds->num)) { + + // generate new root word by removing suffix and adding + // back any characters that would have been stripped or + // or null terminating the shorter string + + strcpy (tmpword, word); + cp = (byte *)(tmpword + tmpl); + if (stripl) { + strcpy ((char *)cp, strip); + tmpl += stripl; + cp = (byte *)(tmpword + tmpl); + } else *cp = '\0'; + + // now make sure all of the conditions on characters + // are met. Please see the appendix at the end of + // this file for more info on exactly what is being + // tested + + for (cond = conds->num; --cond >= 0; ) { + if ((conds->get(*--cp) & (1 << cond)) == 0) break; + } + + // if all conditions are met then check if resulting + // root word in the dictionary + + if (cond < 0) { + CheckInfo * lci = 0; + tmpl += stripl; + const SensitiveCompare * cmp = + optflags & XPRODUCT ? &linf.sp->s_cmp_middle : &linf.sp->s_cmp_end; + int res = linf.lookup(tmpword, cmp, achar, wordinfo, gi); + if (res == 1 + && ((optflags & XPRODUCT) == 0 || TESTAFF(wordinfo.aff, ep->achar))) + { + lci = &ci; + lci->word = wordinfo.word; + } else if (res == 1 && gi) { + lci = gi->add(); + lci->word = wordinfo.word; + } else if (res == -1) { // gi must be defined + lci = gi->head; + } + + if (lci) { + lci->suf_flag = achar; + lci->suf_strip_len = stripl; + lci->suf_add_len = appndl; + lci->suf_add = appnd; + } + + if (lci == &ci) return true; + } + } + return false; +} + +////////////////////////////////////////////////////////////////////// +// +// new_affix_mgr +// + + +PosibErr new_affix_mgr(ParmString name, + Conv & iconv, + const Language * lang) +{ + if (name == "none") + return 0; + //CERR << "NEW AFFIX MGR\n"; + String file; + file += lang->data_dir(); + file += '/'; + file += lang->name(); + file += "_affix.dat"; + AffixMgr * affix; + affix = new AffixMgr(lang); + PosibErrBase pe = affix->setup(file, iconv); + if (pe.has_err()) { + delete affix; + return pe; + } else { + return affix; + } +} +} + +/************************************************************************** + +Appendix: Understanding Affix Code + + +An affix is either a prefix or a suffix attached to root words to make +other words. + +Basically a Prefix or a Suffix is set of AffEntry objects +which store information about the prefix or suffix along +with supporting routines to check if a word has a particular +prefix or suffix or a combination. + +The structure affentry is defined as follows: + +struct AffEntry +{ + unsigned char achar; // char used to represent the affix + char * strip; // string to strip before adding affix + char * appnd; // the affix string to add + short stripl; // length of the strip string + short appndl; // length of the affix string + short numconds; // the number of conditions that must be met + short xpflg; // flag: XPRODUCT- combine both prefix and suffix + char conds[SETSIZE]; // array which encodes the conditions to be met +}; + + +Here is a suffix borrowed from the en_US.aff file. This file +is whitespace delimited. + +SFX D Y 4 +SFX D 0 e d +SFX D y ied [^aeiou]y +SFX D 0 ed [^ey] +SFX D 0 ed [aeiou]y + +This information can be interpreted as follows: + +In the first line has 4 fields + +Field +----- +1 SFX - indicates this is a suffix +2 D - is the name of the character flag which represents this suffix +3 Y - indicates it can be combined with prefixes (cross product) +4 4 - indicates that sequence of 4 affentry structures are needed to + properly store the affix information + +The remaining lines describe the unique information for the 4 SfxEntry +objects that make up this affix. Each line can be interpreted +as follows: (note fields 1 and 2 are as a check against line 1 info) + +Field +----- +1 SFX - indicates this is a suffix +2 D - is the name of the character flag for this affix +3 y - the string of chars to strip off before adding affix + (a 0 here indicates the NULL string) +4 ied - the string of affix characters to add +5 [^aeiou]y - the conditions which must be met before the affix + can be applied + +Field 5 is interesting. Since this is a suffix, field 5 tells us that +there are 2 conditions that must be met. The first condition is that +the next to the last character in the word must *NOT* be any of the +following "a", "e", "i", "o" or "u". The second condition is that +the last character of the word must end in "y". + +So how can we encode this information concisely and be able to +test for both conditions in a fast manner? The answer is found +but studying the wonderful ispell code of Geoff Kuenning, et.al. +(now available under a normal BSD license). + +If we set up a conds array of 256 bytes indexed (0 to 255) and access it +using a character (cast to an unsigned char) of a string, we have 8 bits +of information we can store about that character. Specifically we +could use each bit to say if that character is allowed in any of the +last (or first for prefixes) 8 characters of the word. + +Basically, each character at one end of the word (up to the number +of conditions) is used to index into the conds array and the resulting +value found there says whether the that character is valid for a +specific character position in the word. + +For prefixes, it does this by setting bit 0 if that char is valid +in the first position, bit 1 if valid in the second position, and so on. + +If a bit is not set, then that char is not valid for that postion in the +word. + +If working with suffixes bit 0 is used for the character closest +to the front, bit 1 for the next character towards the end, ..., +with bit numconds-1 representing the last char at the end of the string. + +Note: since entries in the conds[] are 8 bits, only 8 conditions +(read that only 8 character positions) can be examined at one +end of a word (the beginning for prefixes and the end for suffixes. + +So to make this clearer, lets encode the conds array values for the +first two affentries for the suffix D described earlier. + + + For the first affentry: + numconds = 1 (only examine the last character) + + conds['e'] = (1 << 0) (the word must end in an E) + all others are all 0 + + For the second affentry: + numconds = 2 (only examine the last two characters) + + conds[X] = conds[X] | (1 << 0) (aeiou are not allowed) + where X is all characters *but* a, e, i, o, or u + + + conds['y'] = (1 << 1) (the last char must be a y) + all other bits for all other entries in the conds array are zero + + +**************************************************************************/ diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/affix.cpp aspell-0.60-vc++/modules/speller/default/affix.cpp --- aspell-0.60/modules/speller/default/affix.cpp 2004-06-08 17:34:03.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/affix.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -41,9 +41,9 @@ * */ -#include -#include -#include +//#include //13-Sep-04 unused +//#include //13-Sep-04 unused +//#include //13-Sep-04 unused #include "iostream.hpp" @@ -51,14 +51,19 @@ #include "errors.hpp" #include "getdata.hpp" #include "parm_string.hpp" +#include "string_util.hpp" +#include "gettext.h" #include "check_list.hpp" #include "speller_impl.hpp" #include "vararray.hpp" +//#ifndef PORTABLE #include "lsort.hpp" +//#endif #include "hash-t.hpp" -using namespace std; +//using namespace std; +using namespace acommon; //13-Sep-04 namespace aspeller { typedef unsigned char byte; @@ -75,6 +80,7 @@ unsigned num; char conds[SETSIZE]; char get(byte i) const {return conds[i];} + void del() {} //do nothing destructor 13-Sep-04 }; struct AffEntry @@ -165,39 +171,23 @@ bool operator() (T * x, T * y) const {return strcmp(x->key(),y->key()) < 0;} }; -// struct StringLookup { -// struct Parms { -// typedef const char * Value; -// typedef const char * Key; -// static const bool is_multi = false; -// hash hfun; -// size_t hash(const char * s) {return hfun(s);} -// bool equal(const char * x, const char * y) {return strcmp(x,y) == 0;} -// const char * key(const char * c) {return c;} -// }; -// typedef HashTable Lookup; -// Lookup lookup; -// ObjStack * data_buf; -// StringLookup(ObjStack * b) : data_buf(b) {} -// const char * dup(const char * orig) { -// pair res = lookup.insert(orig); -// if (res.second) *res.first = data_buf->dup(orig); -// return *res.first; -// //return data_buf->dup(orig); -// } -// }; - struct CondsLookupParms { - typedef const Conds * Value; - typedef const char * Key; +#ifndef PORTABLE static const bool is_multi = false; - hash hfun; - size_t hash(const char * s) {return hfun(s);} - bool equal(const char * x, const char * y) {return strcmp(x,y) == 0;} - const char * key(const Conds * c) {return c->str;} +#else + enum { is_multi = 0 }; //13-Sep-04 +#endif + hash getHash; + GetEqualCls getEqual; + struct getKeyCls + { + const char * operator () (const Conds * c) const + { return c->str; } + }; + getKeyCls getKey; }; -typedef HashTable CondsLookup; +typedef HashTable CondsLookup; // normalizes and checks the cond_str // returns the lenth of the new string or -1 if invalid @@ -466,7 +456,7 @@ // we want to be able to quickly access prefix information // both by prefix flag, and sorted by prefix string itself // so we need to set up two indexes - +//GDS please consider using insertion sort PosibErr AffixMgr::build_pfxlist(PfxEntry* pfxptr) { PfxEntry * ptr; @@ -757,7 +747,6 @@ bool AffixMgr::prefix_check (const LookupInfo & linf, ParmString word, CheckInfo & ci, GuessInfo * gi) const { - // first handle the special case of 0 length prefixes PfxEntry * pe = pStart[0]; while (pe) { @@ -787,7 +776,6 @@ CheckInfo & ci, GuessInfo * gi, int sfxopts, AffEntry * ppfx) const { - // first handle the special case of 0 length suffixes SfxEntry * se = sStart[0]; while (se) { @@ -822,7 +810,11 @@ CharVector lower; if (cp == FirstUpper) { lower.append(word, word.size() + 1); +#ifdef PORTABLE //13-Sep-04 Borland Compiler had a problem + lower[0] = lang->to_lower(word.at(0)); +#else lower[0] = lang->to_lower(word[0]); +#endif pword = ParmString(lower.data(), lower.size() - 1); } else if (cp == AllUpper) { lower.resize(word.size() + 1); @@ -868,10 +860,10 @@ WordAff * cur = head; cur->word = buf.dup(word); cur->aff = suf; - - for (const byte * c = (const byte *)aff.str(), * end = c + aff.size(); - c != end; - ++c) + { + const byte * c = (const byte *)aff.str(); + const byte * end = c + aff.size(); + for (; c != end; ++c) { if (sFlag[*c]) *suf_e++ = *c; if (sFlag[*c] && sFlag[*c]->allow_cross()) *csuf_e++ = *c; @@ -885,6 +877,7 @@ cur->aff = p->allow_cross() ? csuf : empty; } } + } *suf_e = 0; *csuf_e = 0; @@ -895,13 +888,14 @@ WordAff * * end = &cur->next; WordAff * * very_end = end; size_t nsuf_s = suf_e - suf + 1; - + { for (WordAff * * cur = &head; cur != end; cur = &(*cur)->next) { if ((int)(*cur)->word.size - max_strip_ >= limit) continue; byte * nsuf = (byte *)buf.alloc(nsuf_s); expand_suffix((*cur)->word, (*cur)->aff, buf, limit, nsuf, &very_end, word); (*cur)->aff = nsuf; } + } return head; } @@ -949,9 +943,9 @@ if (p->applicable(word)) return ValidAffix; } - for (SfxEntry * p = sFlag[(unsigned char)aff]; p; p = p->flag_next) { + for (SfxEntry * q = sFlag[(unsigned char)aff]; q; q = q->flag_next) { if (res == InvalidAffix) res = InapplicableAffix; - if (p->applicable(word)) return ValidAffix; + if (q->applicable(word)) return ValidAffix; } return res; @@ -1304,7 +1298,6 @@ } } } - /************************************************************************** Appendix: Understanding Affix Code diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/affix.hpp aspell-0.60-vc++/modules/speller/default/affix.hpp --- aspell-0.60/modules/speller/default/affix.hpp 2004-06-02 07:10:11.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/affix.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -36,7 +36,7 @@ namespace aspeller { - using namespace acommon; +//13-Sep-04 using namespace acommon; class Language; @@ -51,7 +51,7 @@ struct WordAff { - SimpleString word; + acommon::SimpleString word; const unsigned char * aff; WordAff * next; }; @@ -74,7 +74,7 @@ //const char * compound; //int cpdmin; - ObjStack data_buf; + acommon::ObjStack data_buf; const char * affix_file; @@ -85,43 +85,45 @@ unsigned int max_strip() const {return max_strip_;} - PosibErr setup(ParmString affpath, Conv &); + acommon::PosibErr setup(acommon::ParmString affpath, acommon::Conv &); - bool affix_check(const LookupInfo &, ParmString, CheckInfo &, GuessInfo *) const; - bool prefix_check(const LookupInfo &, ParmString, CheckInfo &, GuessInfo *) const; - bool suffix_check(const LookupInfo &, ParmString, CheckInfo &, GuessInfo *, + bool affix_check(const LookupInfo &, acommon::ParmString, CheckInfo &, GuessInfo *) const; + bool prefix_check(const LookupInfo &, acommon::ParmString, CheckInfo &, GuessInfo *) const; + bool suffix_check(const LookupInfo &, acommon::ParmString, CheckInfo &, GuessInfo *, int sfxopts, AffEntry* ppfx) const; - void munch(ParmString word, GuessInfo *) const; + ASPELL_API void munch(acommon::ParmString word, GuessInfo *) const; // None of the expand methods reset the objstack - WordAff * expand(ParmString word, ParmString aff, - ObjStack &, int limit = INT_MAX) const; + ASPELL_API WordAff * expand(acommon::ParmString word, acommon::ParmString aff, + acommon::ObjStack &, int limit = INT_MAX) const; - CheckAffixRes check_affix(ParmString word, char aff) const; + CheckAffixRes check_affix(acommon::ParmString word, char aff) const; - WordAff * expand_prefix(ParmString word, ParmString aff, - ObjStack & buf) const + WordAff * expand_prefix(acommon::ParmString word, acommon::ParmString aff, + acommon::ObjStack & buf) const { return expand(word,aff,buf,0); } - WordAff * expand_suffix(ParmString word, const unsigned char * new_aff, - ObjStack &, int limit = INT_MAX, + //13-Sep-04 + //Made param names match function definition. + WordAff * expand_suffix(acommon::ParmString word, const unsigned char * aff, + acommon::ObjStack &, int limit = INT_MAX, unsigned char * new_aff = 0, WordAff * * * l = 0, - ParmString orig_word = 0) const; + acommon::ParmString orig_word = 0) const; private: - PosibErr parse_file(const char * affpath, Conv &); + acommon::PosibErr parse_file(const char * affpath, acommon::Conv &); - PosibErr build_pfxlist(PfxEntry* pfxptr); - PosibErr build_sfxlist(SfxEntry* sfxptr); - PosibErr process_pfx_order(); - PosibErr process_sfx_order(); + acommon::PosibErr build_pfxlist(PfxEntry* pfxptr); + acommon::PosibErr build_sfxlist(SfxEntry* sfxptr); + acommon::PosibErr process_pfx_order(); + acommon::PosibErr process_sfx_order(); }; - PosibErr new_affix_mgr(ParmString name, - Conv &, + acommon::PosibErr new_affix_mgr(acommon::ParmString name, + acommon::Conv &, const Language * lang); } diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/asuggest.hpp aspell-0.60-vc++/modules/speller/default/asuggest.hpp --- aspell-0.60/modules/speller/default/asuggest.hpp 2004-06-02 07:10:17.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/asuggest.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -6,7 +6,7 @@ #include "suggest.hpp" #include "editdist.hpp" #include "typo_editdist.hpp" -#include "cache.hpp" +#include "cache-t.hpp" namespace aspeller { class Speller; @@ -17,7 +17,7 @@ // implementation at the end of suggest.cc EditDistanceWeights edit_distance_weights; - CachePtr ti; + acommon::CachePtr ti; bool try_one_edit_word, try_scan_1, try_scan_2, try_ngram; @@ -40,12 +40,12 @@ int span; int limit; - String split_chars; + acommon::String split_chars; SuggestParms() {} - PosibErr set(ParmString mode, SpellerImpl * sp); - PosibErr fill_distance_lookup(const Config * c, const Language & l); + acommon::PosibErr set(ParmString mode, SpellerImpl * sp); + acommon::PosibErr fill_distance_lookup(const acommon::Config * c, const Language & l); virtual ~SuggestParms() {} virtual SuggestParms * clone() const; diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/check_list.hpp aspell-0.60-vc++/modules/speller/default/check_list.hpp --- aspell-0.60/modules/speller/default/check_list.hpp 2004-06-02 07:10:32.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/check_list.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -35,9 +35,9 @@ return head; } void * alloc(unsigned s) {return buf.alloc_bottom(s);} - char * dup(ParmString str) {return buf.dup(str);} + char * dup(acommon::ParmString str) {return buf.dup(str);} private: - ObjStack buf; + acommon::ObjStack buf; }; diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/data.cpp aspell-0.60-vc++/modules/speller/default/data.cpp --- aspell-0.60/modules/speller/default/data.cpp 2004-06-02 07:10:42.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/data.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -15,12 +15,15 @@ #include "speller_impl.hpp" #include "cache-t.hpp" #include "vararray.hpp" +#include "string_util.hpp" +#include "gettext.h" #include "iostream.hpp" +using namespace acommon; //13-Sep-04 namespace aspeller { - GlobalCache dict_cache("dictionary"); + static GlobalCache dict_cache("dictionary"); // // Dict impl @@ -228,7 +231,7 @@ return make_err(unimplemented_method, "save_as", class_name); } - PosibErr Dictionary::clear() + acommon::PosibErr Dictionary::clear() { return make_err(unimplemented_method, "clear", class_name); } @@ -361,11 +364,11 @@ + ParmString(*suffix)); in.open(true_file_name, "r").ignore_err(); ++suffix; - } while (!in && suffix != suffix_end); + } while (!(in.good()) && (suffix != suffix_end)); if (d == dict_dir.c_str()) break; d = 0; - } while (!in); - if (!in) { + } while (!(in.good())); + if (!(in.good())) { true_file_name = add_possible_dir(dir ? dir.str() : d, file_name.path); return make_err(cant_read_file, true_file_name); } @@ -455,6 +458,5 @@ return res; } - -} +} //namespace diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/data.hpp aspell-0.60-vc++/modules/speller/default/data.hpp --- aspell-0.60/modules/speller/default/data.hpp 2004-06-02 07:10:46.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/data.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -15,7 +15,7 @@ #include "cache.hpp" #include "wordinfo.hpp" -using namespace acommon; +//using namespace acommon; 13-Sep-04 this was creating an error namespace acommon { class Config; @@ -28,8 +28,13 @@ class Dictionary; class DictList; - typedef Enumeration WordEntryEnumeration; - typedef Enumeration DictsEnumeration; +#if 1//debug +#undef Enumeration + typedef WordEntry * WordEntryPtr; + typedef acommon::Enumeration CharEnum; +#endif + typedef acommon::Enumeration WordEntryEnumeration; + typedef acommon::Enumeration DictsEnumeration; class SoundslikeEnumeration { @@ -42,30 +47,30 @@ void operator=(const SoundslikeEnumeration &); }; - class Dictionary : public Cacheable, public WordList { + class Dictionary : public acommon::Cacheable, public acommon::WordList { friend class SpellerImpl; private: - CachePtr lang_; - PosibErr attach(const Language &); + acommon::CachePtr lang_; + acommon::PosibErr attach(const Language &); public: class FileName { void copy(const FileName & other); public: - String path; + acommon::String path; const char * name; void clear(); - void set(ParmString); + void set(acommon::ParmString); FileName() {clear();} - explicit FileName(ParmString str) {set(str);} + explicit FileName(acommon::ParmString str) {set(str);} FileName(const FileName & other) {copy(other);} FileName & operator=(const FileName & other) {copy(other); return *this;} }; class Id; protected: - CopyPtr id_; - virtual void set_lang_hook(Config &) {} + acommon::CopyPtr id_; + virtual void set_lang_hook(acommon::Config &) {} public: typedef Id CacheKey; @@ -81,8 +86,8 @@ virtual ~Dictionary(); const Id & id() {return *id_;} - PosibErr check_lang(ParmString lang); - PosibErr set_check_lang(ParmString lang, Config &); + acommon::PosibErr check_lang(acommon::ParmString lang); + acommon::PosibErr set_check_lang(acommon::ParmString lang, acommon::Config &); const LangImpl * lang() const {return lang_;}; const Language * language() const {return lang_;}; const char * lang_name() const; @@ -90,21 +95,21 @@ private: FileName file_name_; protected: - PosibErr set_file_name(ParmString name); - PosibErr update_file_info(FStream & f); + acommon::PosibErr set_file_name(acommon::ParmString name); + acommon::PosibErr update_file_info(acommon::FStream & f); public: bool compare(const Dictionary &); const char * file_name() const {return file_name_.path.c_str();} // returns any additional dictionaries that are also used - virtual PosibErr load(ParmString, Config &, DictList * = 0, + virtual acommon::PosibErr load(acommon::ParmString, acommon::Config &, DictList * = 0, SpellerImpl * = 0); - virtual PosibErr merge(ParmString); - virtual PosibErr synchronize(); - virtual PosibErr save_noupdate(); - virtual PosibErr save_as(ParmString); - virtual PosibErr clear(); + virtual acommon::PosibErr merge(acommon::ParmString); + virtual acommon::PosibErr synchronize(); + virtual acommon::PosibErr save_noupdate(); + virtual acommon::PosibErr save_as(acommon::ParmString); + virtual acommon::PosibErr clear(); bool affix_compressed; bool invisible_soundslike; // true when words are grouped by the @@ -123,19 +128,19 @@ typedef const char * Value; typedef unsigned int Size; - StringEnumeration * elements() const; + acommon::StringEnumeration * elements() const; virtual Enum * detailed_elements() const; virtual Size size() const; virtual bool empty() const; - virtual bool lookup (ParmString word, const SensitiveCompare *, + virtual bool lookup (acommon::ParmString word, const SensitiveCompare *, WordEntry &) const; - virtual bool clean_lookup(ParmString, WordEntry &) const; + virtual bool clean_lookup(acommon::ParmString, WordEntry &) const; virtual bool soundslike_lookup(const WordEntry &, WordEntry &) const; - virtual bool soundslike_lookup(ParmString, WordEntry & o) const; + virtual bool soundslike_lookup(acommon::ParmString, WordEntry & o) const; // the elements returned are only guaranteed to remain valid // guaranteed to return all soundslike and all words @@ -143,18 +148,18 @@ // times in the list.... virtual SoundslikeEnumeration * soundslike_elements() const; - virtual PosibErr add(ParmString w, ParmString s); - PosibErr add(ParmString w); + virtual acommon::PosibErr add(acommon::ParmString w, acommon::ParmString s); + acommon::PosibErr add(acommon::ParmString w); - virtual PosibErr remove(ParmString w); + virtual acommon::PosibErr remove(acommon::ParmString w); virtual bool repl_lookup(const WordEntry &, WordEntry &) const; - virtual bool repl_lookup(ParmString, WordEntry &) const; + virtual bool repl_lookup(acommon::ParmString, WordEntry &) const; - virtual PosibErr add_repl(ParmString mis, ParmString cor, ParmString s); - PosibErr add_repl(ParmString mis, ParmString cor); + virtual acommon::PosibErr add_repl(acommon::ParmString mis, acommon::ParmString cor, acommon::ParmString s); + acommon::PosibErr add_repl(acommon::ParmString mis, acommon::ParmString cor); - virtual PosibErr remove_repl(ParmString mis, ParmString cor); + virtual acommon::PosibErr remove_repl(acommon::ParmString mis, acommon::ParmString cor); virtual DictsEnumeration * dictionaries() const; }; @@ -173,7 +178,7 @@ class DictList { // well a stack at the moment but it may eventually become a list // NOT necessarily first in first out - Vector data; + acommon::Vector data; private: DictList(const DictList &); void operator= (const DictList &); @@ -195,27 +200,27 @@ static const DataType DT_Any = 0xFF; // any new extra dictionaries that were loaded will be ii - PosibErr add_data_set(ParmString file_name, - Config &, + ASPELL_API acommon::PosibErr add_data_set(acommon::ParmString file_name, + acommon::Config &, DictList * other_dicts = 0, SpellerImpl * = 0, - ParmString dir = 0, + acommon::ParmString dir = 0, DataType allowed = DT_Any); // implemented in readonly_ws.cc Dictionary * new_default_readonly_dict(); - PosibErr create_default_readonly_dict(StringEnumeration * els, - Config & config); + ASPELL_API acommon::PosibErr create_default_readonly_dict(acommon::StringEnumeration * els, + acommon::Config & config); // implemented in multi_ws.cc MultiDict * new_default_multi_dict(); // implemented in writable.cpp - Dictionary * new_default_writable_dict(); + ASPELL_API Dictionary * new_default_writable_dict(); // implemented in writable.cpp - ReplacementDict * new_default_replacement_dict(); + ASPELL_API ReplacementDict * new_default_replacement_dict(); } #endif diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/data_util.hpp aspell-0.60-vc++/modules/speller/default/data_util.hpp --- aspell-0.60/modules/speller/default/data_util.hpp 2004-06-02 07:10:58.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/data_util.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -8,7 +8,7 @@ #include "parm_string.hpp" -using namespace acommon; +//13-Sep-04 using namespace acommon; namespace aspeller { @@ -34,7 +34,7 @@ Value end_state() const {return 0;} }; - inline time_t modification_date(ParmString file) { + inline time_t modification_date(acommon::ParmString file) { struct stat file_stat; if (stat(file, &file_stat) == 0) return file_stat.st_mtime; diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/language.cpp aspell-0.60-vc++/modules/speller/default/language.cpp --- aspell-0.60/modules/speller/default/language.cpp 2004-08-12 19:58:14.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/language.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -16,6 +16,8 @@ #include "fstream.hpp" #include "language.hpp" #include "string.hpp" +#include "string_util.hpp" +#include "gettext.h" #include "cache-t.hpp" #include "getdata.hpp" #include "file_util.hpp" @@ -24,6 +26,7 @@ # include #endif +using namespace acommon; //13-Sep-04 namespace aspeller { static const char TO_CHAR_TYPE[256] = { @@ -74,7 +77,7 @@ , {"norm-form", KeyInfoString, "nfc", "", 0, FOR_CONFIG} }; - static GlobalCache language_cache("language"); + static ConfigurableCache language_cache("language"); PosibErr Language::setup(const String & lang, const Config * config) { @@ -163,15 +166,15 @@ char_info_[i] = inf; } - for (unsigned int i = 0; i != 256; ++i) { - de_accent_[i] = to_plain_[i] == 0 ? to_uchar(i) : to_plain_[i]; + for (unsigned int j = 0; j != 256; ++j) { + de_accent_[j] = to_plain_[j] == 0 ? to_uchar(j) : to_plain_[j]; } to_plain_[0] = 0x10; // to make things slightly easier to_plain_[1] = 0x10; - for (unsigned int i = 0; i != 256; ++i) { - to_stripped_[i] = to_plain_[(unsigned char)to_lower_[i]]; + for (unsigned int k = 0; k != 256; ++k) { + to_stripped_[k] = to_plain_[(unsigned char)to_lower_[k]]; } char_data.close(); @@ -191,9 +194,9 @@ clean_is = to_lower_; } - for (unsigned i = 0; i != 256; ++i) { - to_clean_[i] = char_type_[i] > NonLetter ? clean_is[i] : 0; - if ((unsigned char)to_clean_[i] == i) char_info_[i] |= CLEAN; + for (unsigned l = 0; l != 256; ++l) { + to_clean_[l] = char_type_[l] > NonLetter ? clean_is[l] : 0; + if ((unsigned char)to_clean_[l] == l) char_info_[l] |= CLEAN; } to_clean_[0x00] = 0x10; // to make things slightly easier @@ -291,7 +294,8 @@ size_t num_repl = 0; while (getdata_pair(REPL, d, buf)) { - ::to_lower(d.key); +#pragma message("verify that this is the right to_lower function") + acommon::to_lower(d.key); //13-Sep-04 if (d.key == "rep") { num_repl = atoi(d.value); // FIXME make this more robust break; @@ -304,7 +308,7 @@ for (size_t i = 0; i != num_repl; ++i) { bool res = getdata_pair(REPL, d, buf); assert(res); // FIXME - ::to_lower(d.key); + acommon::to_lower(d.key); assert(d.key == "rep"); // FIXME split(d); repls_[i].substr = buf_.dup(iconv(d.key)); @@ -520,10 +524,10 @@ if (lang.is_alpha(c) || lang.special(c).any) chars_set[static_cast(lang.to_stripped(c))] = true; } - for (int i = 1; i != 256; ++i) + for (int k = 1; k != 256; ++k) { - if (chars_set[i]) - chars_list += static_cast(i); + if (chars_set[k]) + chars_list += static_cast(k); } return chars_list; } @@ -537,10 +541,10 @@ if (lang.is_alpha(c) || lang.special(c).any) chars_set[static_cast(lang.to_clean(c))] = true; } - for (int i = 1; i != 256; ++i) + for (int k = 1; k != 256; ++k) { - if (chars_set[i]) { - chars_list += static_cast(i); + if (chars_set[k]) { + chars_list += static_cast(k); } } return chars_list; @@ -548,10 +552,18 @@ PosibErr new_language(const Config & config, ParmStr lang) { +#ifdef PORTABLE + if (!lang) + return language_cache.get_cache_data(&config, config.retrieve("lang")); + else + return language_cache.get_cache_data(&config, lang); + +#else if (!lang) return get_cache_data(&language_cache, &config, config.retrieve("lang")); else return get_cache_data(&language_cache, &config, lang); +#endif } PosibErr open_affix_file(const Config & c, FStream & f) @@ -576,7 +588,9 @@ bool find_language(Config & c) { String lang = c.retrieve("lang"); +#ifndef NULLTERMINATE lang.ensure_null_end(); +#endif char * l = lang.data(); String dir1,dir2,path; @@ -640,7 +654,9 @@ } if (pe.data == orig) { data = orig; +#ifndef NULLTERMINATE data.ensure_null_end(); +#endif str = data.pbegin(); str_end = data.pend(); } else { diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/language.hpp aspell-0.60-vc++/modules/speller/default/language.hpp --- aspell-0.60/modules/speller/default/language.hpp 2004-06-02 07:11:13.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/language.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -16,7 +16,7 @@ #include "iostream.hpp" -using namespace acommon; +//using namespace acommon; namespace acommon { struct CheckInfo; @@ -60,10 +60,10 @@ enum StoreAs {Stripped, Lower}; - class Language : public Cacheable { + class Language : public acommon::Cacheable { public: - typedef const Config CacheConfig; - typedef String CacheKey; + typedef const acommon::Config CacheConfig; + typedef acommon::String CacheKey; enum CharType {Unknown, WhiteSpace, Hyphen, Digit, NonLetter, Modifier, Letter}; @@ -79,15 +79,15 @@ }; private: - String dir_; - String name_; - String charset_; - String charmap_; - String data_encoding_; - - ConvObj mesg_conv_; - ConvObj to_utf8_; - ConvObj from_utf8_; + acommon::String dir_; + acommon::String name_; + acommon::String charset_; + acommon::String charmap_; + acommon::String data_encoding_; + + acommon::ConvObj mesg_conv_; + acommon::ConvObj to_utf8_; + acommon::ConvObj from_utf8_; unsigned char to_uchar(char c) const {return static_cast(c);} @@ -105,18 +105,18 @@ StoreAs store_as_; - String soundslike_chars_; - String clean_chars_; + acommon::String soundslike_chars_; + acommon::String clean_chars_; bool have_soundslike_; bool have_repl_; - StackPtr soundslike_; - StackPtr affix_; - StackPtr lang_config_; + acommon::StackPtr soundslike_; + acommon::StackPtr affix_; + acommon::StackPtr lang_config_; - StringBuffer buf_; - Vector repls_; + acommon::StringBuffer buf_; + acommon::Vector repls_; Language(const Language &); void operator=(const Language &); @@ -129,17 +129,17 @@ public: Language() {} - PosibErr setup(const String & lang, const Config * config); - void set_lang_defaults(Config & config) const; + acommon::PosibErr setup(const acommon::String & lang, const acommon::Config * config); + void set_lang_defaults(acommon::Config & config) const; const char * data_dir() const {return dir_.c_str();} const char * name() const {return name_.c_str();} const char * charmap() const {return charmap_.c_str();} const char * data_encoding() const {return data_encoding_.c_str();} - const Convert * mesg_conv() const {return mesg_conv_.ptr;} - const Convert * to_utf8() const {return to_utf8_.ptr;} - const Convert * from_utf8() const {return from_utf8_.ptr;} + const acommon::Convert * mesg_conv() const {return mesg_conv_.ptr;} + const acommon::Convert * to_utf8() const {return to_utf8_.ptr;} + const acommon::Convert * from_utf8() const {return from_utf8_.ptr;} int to_uni(char c) const {return to_uni_[to_uchar(c)];} @@ -161,9 +161,9 @@ char * to_upper(char * res, const char * str) const { while (*str) *res++ = to_upper(*str++); *res = '\0'; return res;} - void to_lower(String & res, const char * str) const { + void to_lower(acommon::String & res, const char * str) const { res.clear(); while (*str) res += to_lower(*str++);} - void to_upper(String & res, const char * str) const { + void to_upper(acommon::String & res, const char * str) const { res.clear(); while (*str) res += to_upper(*str++);} bool is_lower(const char * str) const { @@ -201,7 +201,7 @@ *res = '\0'; return res; } - void to_stripped(String & res, const char * str) const { + void to_stripped(acommon::String & res, const char * str) const { res.clear(); for (; *str; ++str) { char c = to_stripped(*str); @@ -232,7 +232,7 @@ *res = '\0'; return res; } - void to_clean(String & res, const char * str) const { + void to_clean(acommon::String & res, const char * str) const { res.clear(); for (; *str; ++str) { char c = to_clean(*str); @@ -262,7 +262,7 @@ const char * soundslike_name() const {return soundslike_->name();} const char * soundslike_version() const {return soundslike_->version();} - void to_soundslike(String & res, ParmStr word) const { + void to_soundslike(acommon::String & res,acommon::ParmStr word) const { res.resize(word.size()); char * e = soundslike_->to_soundslike(res.data(), word.str(), word.size()); res.resize(e - res.data()); @@ -286,12 +286,12 @@ const AffixMgr * affix() const {return affix_;} - bool have_affix() const {return affix_;} + bool have_affix() const {return affix_ ? true: false;} //13-Sep-04 - void munch(ParmStr word, GuessInfo * cl) const {affix_->munch(word, cl);} + void munch(acommon::ParmStr word, GuessInfo * cl) const {affix_->munch(word, cl);} - WordAff * expand(ParmStr word, ParmStr aff, - ObjStack & buf, int limit = INT_MAX) const { + WordAff * expand(acommon::ParmStr word, acommon::ParmStr aff, + acommon::ObjStack & buf, int limit = INT_MAX) const { return affix_->expand(word, aff, buf, limit); } @@ -308,51 +308,51 @@ // // - WordInfo get_word_info(ParmStr str) const; + WordInfo get_word_info(acommon::ParmStr str) const; // // fix_case // - CasePattern case_pattern(ParmStr str) const; + ASPELL_API CasePattern case_pattern(acommon::ParmStr str) const; - void fix_case(CasePattern case_pattern, char * str) + ASPELL_API void fix_case(CasePattern case_pattern, char * str) { if (!str[0]) return; if (case_pattern == AllUpper) to_upper(str,str); else if (case_pattern == FirstUpper) *str = to_title(*str); } - void fix_case(CasePattern case_pattern, + ASPELL_API void fix_case(CasePattern case_pattern, char * res, const char * str) const; - const char * fix_case(CasePattern case_pattern, - const char * str, String & buf) const; + ASPELL_API const char * fix_case(CasePattern case_pattern, + const char * str, acommon::String & buf) const; // // for cache // - static inline PosibErr get_new(const String & lang, const Config * config) { - StackPtr l(new Language()); + static inline acommon::PosibErr get_new(const acommon::String & lang, const acommon::Config * config) { + acommon::StackPtr l(new Language()); RET_ON_ERR(l->setup(lang, config)); return l.release(); } - bool cache_key_eq(const String & l) const {return name_ == l;} + bool cache_key_eq(const acommon::String & l) const {return name_ == l;} }; typedef Language LangImpl; - struct MsgConv : public ConvP + struct MsgConv : public acommon::ConvP { - MsgConv(const Language * l) : ConvP(l->mesg_conv()) {} - MsgConv(const Language & l) : ConvP(l.mesg_conv()) {} + MsgConv(const Language * l) : acommon::ConvP(l->mesg_conv()) {} + MsgConv(const Language & l) : acommon::ConvP(l.mesg_conv()) {} }; struct InsensitiveCompare { // compares to strings without regards to casing or special characters const Language * lang; InsensitiveCompare(const Language * l = 0) : lang(l) {} - operator bool () const {return lang;} + operator bool () const {return lang ? true: false;} //13-Sep-04 int operator() (const char * a, const char * b) const { char x, y; @@ -408,27 +408,28 @@ struct CleanAffix { const Language * lang; - OStream * log; + acommon::OStream * log; MsgConv msgconv1; MsgConv msgconv2; - CleanAffix(const Language * lang0, OStream * log0); - char * operator() (ParmStr word, char * aff); + CleanAffix(const Language * lang0, acommon::OStream * log0); + char * operator() (acommon::ParmStr word, char * aff); }; class WordListIterator { public: struct Value { - SimpleString word; - SimpleString aff; + acommon::SimpleString word; + acommon::SimpleString aff; }; - WordListIterator(StringEnumeration * in, + public: + ASPELL_API WordListIterator(acommon::StringEnumeration * in, const Language * lang, - OStream * log); + acommon::OStream * log); // init may set "norm-strict" to true which is why it is not const - PosibErr init (Config & config); + ASPELL_API acommon::PosibErr init (acommon::Config & config); const Value * operator-> () const {return &val;} - PosibErr adv(); + ASPELL_API acommon::PosibErr adv(); private: bool have_affix; bool validate_words; @@ -436,12 +437,12 @@ bool clean_words; bool skip_invalid_words; bool clean_affixes; - StringEnumeration * in; + acommon::StringEnumeration * in; const Language * lang; - ConvEC iconv; - OStream * log; + acommon::ConvEC iconv; + acommon::OStream * log; Value val; - String data; + acommon::String data; const char * orig; char * str; char * str_end; @@ -449,18 +450,18 @@ CleanAffix clean_affix; }; - String get_stripped_chars(const Language & l); + acommon::String get_stripped_chars(const Language & l); - String get_clean_chars(const Language & l); + acommon::String get_clean_chars(const Language & l); - PosibErr check_if_valid(const Language & l, ParmStr word); - PosibErr validate_affix(const Language & l, ParmStr word, ParmStr aff); + acommon::PosibErr check_if_valid(const Language & l, acommon::ParmStr word); + acommon::PosibErr validate_affix(const Language & l, acommon::ParmStr word, acommon::ParmStr aff); - bool find_language(Config & c); + ASPELL_API bool find_language(acommon::Config & c); - PosibErr new_language(const Config &, ParmStr lang = 0); + ASPELL_API acommon::PosibErr new_language(const acommon::Config &, acommon::ParmStr lang = 0); - PosibErr open_affix_file(const Config &, FStream & o); + ASPELL_API acommon::PosibErr open_affix_file(const acommon::Config &, acommon::FStream & o); } diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/phonet.hpp aspell-0.60-vc++/modules/speller/default/phonet.hpp --- aspell-0.60/modules/speller/default/phonet.hpp 2004-06-02 07:11:39.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/phonet.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -23,7 +23,7 @@ #include "string.hpp" #include "posib_err.hpp" -using namespace acommon; +//13-Sep-04 using namespace acommon; namespace acommon {struct Conv;} @@ -32,7 +32,7 @@ class Language; struct PhonetParms { - String version; + acommon::String version; bool followup; bool collapse_result; @@ -45,8 +45,11 @@ const Language * lang; char to_clean[256]; - +#ifndef PORTABLE static const int hash_size = 256; +#else + enum {hash_size = 256}; //13-Sep-04 +#endif int hash[hash_size]; virtual ~PhonetParms() {} @@ -61,8 +64,8 @@ // the istream must be seekable #endif - PosibErr new_phonet(const String & file, - Conv & iconv, + acommon::PosibErr new_phonet(const acommon::String & file, + acommon::Conv & iconv, const Language * lang); } diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/phonetic.cpp aspell-0.60-vc++/modules/speller/default/phonetic.cpp --- aspell-0.60/modules/speller/default/phonetic.cpp 2004-06-02 07:11:41.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/phonetic.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -8,6 +8,7 @@ #include "file_data_util.hpp" #include "clone_ptr-t.hpp" +using namespace acommon; //13-Sep-04 namespace aspeller { class SimpileSoundslike : public Soundslike { @@ -34,10 +35,10 @@ if (c) chars_set[static_cast(c)] = true; } String chars_list; - for (int i = 0; i != 256; ++i) + for (int j = 0; j != 256; ++j) { - if (chars_set[i]) - chars_list += static_cast(i); + if (chars_set[j]) + chars_list += static_cast(j); } return chars_list; } @@ -155,10 +156,10 @@ chars_set[static_cast(*j)] = true; } } - for (int i = 0; i != 256; ++i) + for (int k = 0; k != 256; ++k) { - if (chars_set[i]) - chars_list += static_cast(i); + if (chars_set[k]) + chars_list += static_cast(k); } return chars_list; } diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/phonetic.hpp aspell-0.60-vc++/modules/speller/default/phonetic.hpp --- aspell-0.60/modules/speller/default/phonetic.hpp 2004-06-02 07:11:43.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/phonetic.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -5,7 +5,7 @@ #include "string.hpp" -using namespace acommon; +//13-Sep-04 using namespace acommon; namespace acommon {struct Conv;} @@ -15,17 +15,17 @@ class Soundslike { public: - virtual String soundslike_chars() const = 0; + virtual acommon::String soundslike_chars() const = 0; // string must be null terminated even if len is given virtual char * to_soundslike(char *, const char *, int len = -1) const = 0; virtual const char * name() const = 0; virtual const char * version() const = 0; - virtual PosibErr setup(Conv &) = 0; + virtual acommon::PosibErr setup(acommon::Conv &) = 0; virtual ~Soundslike() {} }; - PosibErr new_soundslike(ParmString name, - Conv & conv, + acommon::PosibErr new_soundslike(acommon::ParmString name, + acommon::Conv & conv, const Language * lang); }; diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/readonly_ws.cpp aspell-0.60-vc++/modules/speller/default/readonly_ws.cpp --- aspell-0.60/modules/speller/default/readonly_ws.cpp 2004-07-26 11:22:30.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/readonly_ws.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -33,6 +33,7 @@ #include #include + //#include #include "settings.h" @@ -42,6 +43,8 @@ #include "data.hpp" #include "data_util.hpp" #include "errors.hpp" +#include "string_util.hpp" +#include "gettext.h" #include "file_util.hpp" #include "fstream.hpp" #include "language.hpp" @@ -50,7 +53,9 @@ #include "vector.hpp" #include "vector_hash-t.hpp" #include "check_list.hpp" +#ifndef PORTABLE #include "lsort.hpp" +#endif #include "iostream.hpp" typedef unsigned int u32int; @@ -67,6 +72,7 @@ #endif + #ifndef MAP_FAILED #define MAP_FAILED (-1) #endif @@ -74,7 +80,7 @@ #ifdef HAVE_MMAP static inline char * mmap_open(unsigned int block_size, - FStream & f, + acommon::FStream & f, unsigned int offset) { f.flush(); @@ -91,7 +97,7 @@ #else static inline char * mmap_open(unsigned int, - FStream & f, + acommon::FStream & f, unsigned int) { return reinterpret_cast(MAP_FAILED); @@ -166,12 +172,12 @@ } static inline bool duplicate_flag(const char * d) { - return get_flags(d) & DUPLICATE_FLAG; + return (get_flags(d) & DUPLICATE_FLAG) ? true : false; //13-Sep-04 } namespace { - using namespace aspeller; + //13-Sep-04 using namespace aspeller; ///////////////////////////////////////////////////////////////////// // @@ -185,7 +191,7 @@ Jump() {memset(this, 0, sizeof(Jump));} }; - class ReadOnlyDict : public Dictionary + class ReadOnlyDict : public aspeller::Dictionary { public: //but don't use @@ -193,17 +199,21 @@ struct WordLookupParms { const char * block_begin; WordLookupParms() {} - typedef BlockVector Vector; + typedef aspeller::BlockVector Vector; typedef u32int Value; typedef const char * Key; +#ifndef PORTABLE static const bool is_multi = false; +#else + enum { is_multi = 0 }; //13-Sep-04 +#endif Key key(Value v) const {return block_begin + v;} - InsensitiveHash hash; - InsensitiveEqual equal; + aspeller::InsensitiveHash hash; + aspeller::InsensitiveEqual equal; bool is_nonexistent(Value v) const {return v == u32int_max;} void make_nonexistent(const Value & v) const {abort();} }; - typedef VectorHashTable WordLookup; + typedef aspeller::VectorHashTable WordLookup; public: // but don't use @@ -223,12 +233,12 @@ struct SoundslikeElements; public: - WordEntryEnumeration * detailed_elements() const; + aspeller::WordEntryEnumeration * detailed_elements() const; Size size() const; bool empty() const; ReadOnlyDict() - : Dictionary(basic_dict, "ReadOnlyDict") + : aspeller::Dictionary(basic_dict, "ReadOnlyDict") { block = 0; } @@ -242,20 +252,20 @@ } } - PosibErr load(ParmString, Config &, DictList *, SpellerImpl *); + acommon::PosibErr load(acommon::ParmString, acommon::Config &, aspeller::DictList *, aspeller::SpellerImpl *); - bool lookup(ParmString word, const SensitiveCompare *, WordEntry &) const; + bool lookup(acommon::ParmString word, const aspeller::SensitiveCompare *, aspeller::WordEntry &) const; - bool clean_lookup(ParmString, WordEntry &) const; + bool clean_lookup(acommon::ParmString, aspeller::WordEntry &) const; - bool soundslike_lookup(const WordEntry &, WordEntry &) const; - bool soundslike_lookup(ParmString, WordEntry &) const; + bool soundslike_lookup(const aspeller::WordEntry &, aspeller::WordEntry &) const; + bool soundslike_lookup(acommon::ParmString, aspeller::WordEntry &) const; - SoundslikeEnumeration * soundslike_elements() const; + aspeller::SoundslikeEnumeration * soundslike_elements() const; }; - static inline void convert(const char * w, WordEntry & o) { - o.what = WordEntry::Word; + static inline void convert(const char * w, aspeller::WordEntry & o) { + o.what = aspeller::WordEntry::Word; o.word = w; o.aff = get_affix(w); o.word_size = get_word_size(w); @@ -266,12 +276,12 @@ // // - struct ReadOnlyDict::Elements : public WordEntryEnumeration + struct ReadOnlyDict::Elements : public aspeller::WordEntryEnumeration { const char * w; - WordEntry wi; - Elements(const char * w0) : w(w0) {wi.what = WordEntry::Word;} - WordEntry * next() { + aspeller::WordEntry wi; + Elements(const char * w0) : w(w0) {wi.what = aspeller::WordEntry::Word;} + aspeller::WordEntry * next() { if (get_offset(w) == 0) w += 2; // FIXME: This needs to be 3 // when freq info is used if (get_offset(w) == 0) return 0; @@ -280,12 +290,12 @@ return &wi; } bool at_end() const {return get_offset(w) == 0;} - WordEntryEnumeration * clone() const {return new Elements(*this);} - void assign (const WordEntryEnumeration * other) { + aspeller::WordEntryEnumeration * clone() const {return new Elements(*this);} + void assign (const aspeller::WordEntryEnumeration * other) { *this = *static_cast(other);} }; - WordEntryEnumeration * ReadOnlyDict::detailed_elements() const { + aspeller::WordEntryEnumeration * ReadOnlyDict::detailed_elements() const { return new Elements(first_word); } @@ -301,7 +311,11 @@ struct DataHead { // all sizes except the last four must to divisible by: +#ifndef PORTABLE static const uint align = 16; +#else + enum { align = 16 }; //13-Sep-04 +#endif char check_word[64]; u32int endian_check; // = 12345678 char lang_hash[16]; @@ -331,13 +345,13 @@ byte freq_info; }; - PosibErr ReadOnlyDict::load(ParmString f0, Config & config, - DictList *, SpellerImpl *) + acommon::PosibErr ReadOnlyDict::load(acommon::ParmString f0, acommon::Config & config, + aspeller::DictList *, aspeller::SpellerImpl *) { set_file_name(f0); const char * fn = file_name(); - FStream f; + acommon::FStream f; RET_ON_ERR(f.open(fn, "rb")); DataHead data_head; @@ -352,12 +366,12 @@ #endif if (strcmp(data_head.check_word, cur_check_word) != 0) - return make_err(bad_file_format, fn); + return acommon::make_err(acommon::bad_file_format, fn); if (data_head.endian_check != 12345678) - return make_err(bad_file_format, fn, _("Wrong endian order.")); + return acommon::make_err(acommon::bad_file_format, fn, _("Wrong endian order.")); - CharVector word; + acommon::CharVector word; word.resize(data_head.dict_name_size); f.read(word.data(), data_head.dict_name_size); @@ -365,9 +379,9 @@ word.resize(data_head.lang_name_size); f.read(word.data(), data_head.lang_name_size); - PosibErr pe = set_check_lang(word.data(),config); + acommon::PosibErr pe = set_check_lang(word.data(),config); if (pe.has_err()) { - if (pe.prvw_err()->is_a(language_related_error)) + if (pe.prvw_err()->is_a(acommon::language_related_error)) return pe.with_file(fn); else return pe; @@ -378,13 +392,13 @@ f.read(word.data(), data_head.soundslike_name_size); if (strcmp(word.data(), lang()->soundslike_name()) != 0) - return make_err(bad_file_format, fn, _("Wrong soundslike.")); + return acommon::make_err(acommon::bad_file_format, fn, _("Wrong soundslike.")); word.resize(data_head.soundslike_version_size); f.read(word.data(), data_head.soundslike_version_size); if (strcmp(word.data(), lang()->soundslike_version()) != 0) - return make_err(bad_file_format, fn, _("Wrong soundslike version.")); + return acommon::make_err(acommon::bad_file_format, fn, _("Wrong soundslike version.")); } invisible_soundslike = data_head.invisible_soundslike; @@ -420,14 +434,14 @@ word_lookup.vector().set(begin, begin + data_head.word_buckets); word_lookup.set_size(data_head.word_count); - return no_err; + return acommon::no_err; } - void lookup_adv(WordEntry * wi); + void lookup_adv(aspeller::WordEntry * wi); - static inline void prep_next(WordEntry * wi, + static inline void prep_next(aspeller::WordEntry * wi, const char * w, - const SensitiveCompare * c, + const aspeller::SensitiveCompare * c, const char * orig) { loop: @@ -440,18 +454,18 @@ wi->adv_ = lookup_adv; } - void lookup_adv(WordEntry * wi) + void lookup_adv(aspeller::WordEntry * wi) { const char * w = (const char *)wi->intr[0]; - const SensitiveCompare * c = (const SensitiveCompare *)wi->intr[1]; + const aspeller::SensitiveCompare * c = (const aspeller::SensitiveCompare *)wi->intr[1]; const char * orig = (const char *)wi->intr[2]; wi->word = w; wi->adv_ = 0; prep_next(wi, w, c, orig); } - bool ReadOnlyDict::lookup(ParmString word, const SensitiveCompare * c, - WordEntry & o) const + bool ReadOnlyDict::lookup(acommon::ParmString word, const aspeller::SensitiveCompare * c, + aspeller::WordEntry & o) const { o.clear(); WordLookup::const_iterator i = word_lookup.find(word); @@ -459,7 +473,7 @@ const char * w = word_block + *i; for (;;) { if ((*c)(word, w)) { - o.what = WordEntry::Word; + o.what = aspeller::WordEntry::Word; convert(w,o); prep_next(&o, w, c, word); return true; @@ -470,9 +484,9 @@ return false; } - struct ReadOnlyDict::SoundslikeElements : public SoundslikeEnumeration + struct ReadOnlyDict::SoundslikeElements : public aspeller::SoundslikeEnumeration { - WordEntry data; + aspeller::WordEntry data; const ReadOnlyDict * obj; const Jump * jump1; const Jump * jump2; @@ -480,15 +494,15 @@ int level; bool invisible_soundslike; - WordEntry * next(int stopped_at); + aspeller::WordEntry * next(int stopped_at); SoundslikeElements(const ReadOnlyDict * o) : obj(o), jump1(obj->jump1), jump2(obj->jump2), cur(0), level(1), invisible_soundslike(o->invisible_soundslike) { - data.what = o->invisible_soundslike ? WordEntry::Word : WordEntry::Soundslike;} + data.what = o->invisible_soundslike ? aspeller::WordEntry::Word : aspeller::WordEntry::Soundslike;} }; - WordEntry * ReadOnlyDict::SoundslikeElements::next(int stopped_at) { + aspeller::WordEntry * ReadOnlyDict::SoundslikeElements::next(int stopped_at) { //CERR << level << ":" << stopped_at << " :"; //CERR << jump1->data << ":" << jump2->sl << "\n"; @@ -546,7 +560,7 @@ data.word_size = get_word_size(tmp); if (invisible_soundslike) { convert(tmp, data); - data.what = WordEntry::Word; + data.what = aspeller::WordEntry::Word; } data.intr[0] = (void *)tmp; return &data; @@ -557,19 +571,19 @@ data.word_size = !tmp[1] ? 1 : !tmp[2] ? 2 : 3; data.intr[0] = 0; if (invisible_soundslike) { - data.what = WordEntry::Clean; + data.what = aspeller::WordEntry::Clean; data.aff = 0; } return &data; } - SoundslikeEnumeration * ReadOnlyDict::soundslike_elements() const { + aspeller::SoundslikeEnumeration * ReadOnlyDict::soundslike_elements() const { return new SoundslikeElements(this); } - static void soundslike_next(WordEntry * w) + static void soundslike_next(aspeller::WordEntry * w) { const char * cur = (const char *)(w->intr[0]); const char * end = (const char *)(w->intr[1]); @@ -579,7 +593,7 @@ if (cur >= end) w->adv_ = 0; } - static void clean_lookup_adv(WordEntry * wi) + static void clean_lookup_adv(aspeller::WordEntry * wi) { const char * w = wi->word; w = get_next(w); @@ -587,7 +601,7 @@ if (!duplicate_flag(w)) wi->adv_ = 0; } - bool ReadOnlyDict::clean_lookup(ParmString sl, WordEntry & o) const + bool ReadOnlyDict::clean_lookup(acommon::ParmString sl, aspeller::WordEntry & o) const { o.clear(); WordLookup::const_iterator i = word_lookup.find(sl); @@ -598,7 +612,7 @@ return true; } - bool ReadOnlyDict::soundslike_lookup(const WordEntry & s, WordEntry & w) const + bool ReadOnlyDict::soundslike_lookup(const aspeller::WordEntry & s, aspeller::WordEntry & w) const { if (s.intr[0] == 0) { @@ -607,7 +621,7 @@ } else if (!invisible_soundslike) { w.clear(); - w.what = WordEntry::Word; + w.what = aspeller::WordEntry::Word; w.intr[0] = (void *)get_sl_words_begin(s.word); w.intr[1] = (void *)get_sl_words_end(s.word); w.adv_ = soundslike_next; @@ -617,14 +631,14 @@ } else { w.clear(); - w.what = WordEntry::Word; + w.what = aspeller::WordEntry::Word; convert(s.word, w); return true; } } - bool ReadOnlyDict::soundslike_lookup(ParmString s, WordEntry & w) const + bool ReadOnlyDict::soundslike_lookup(acommon::ParmString s, aspeller::WordEntry & w) const { if (invisible_soundslike) { return ReadOnlyDict::clean_lookup(s,w); @@ -688,13 +702,67 @@ } }; + /* + Holds the insertion sort function and the data it needs. + */ + class InsertionSortCls + { + public: + InsertionSortCls( WordData *& f, const Language * l) + : first(f), last(0), comp(l) {} + WordData * &first; + WordData * last; + SoundslikeLess comp; //compare object + /* + Insert b into the list in alpha order. + */ + void insertion(WordData *b) + { + if (!first) { + //empty list + first = b; + b->next = 0; + } + else if (comp(b,first)) { + //less then first, insert at begining + b->next = first; + first = b; + } + else if (last && comp(last,b)) { + //greater then last + last->next = b; + b->next = 0; + last = b; + + } + else { + //somewhere in the middle + WordData * c = first; + WordData * n = first->next; + while (c && n && comp(n,b)) { + c = n; + n = n->next; + } + b->next = n; + c->next = b; + } + if (0 == b->next) + last = b; + } + + }; + struct WordLookupParms { const char * block_begin; WordLookupParms() {} - typedef Vector Vector; + typedef acommon::Vector Vector; typedef u32int Value; typedef const char * Key; +#ifndef PORTABLE static const bool is_multi = false; +#else + enum { is_multi = 0 }; //13-Sep-04 +#endif Key key(Value v) const {return block_begin + v;} InsensitiveHash hash; InsensitiveEqual equal; @@ -707,16 +775,20 @@ return ((i + size - 1)/size)*size; } - static void advance_file(FStream & out, int pos) { + static void advance_file(acommon::FStream & out, int pos) { int diff = pos - out.tell(); assert(diff >= 0); for(; diff != 0; --diff) out << '\0'; } - PosibErr create (StringEnumeration * els, + + /* + Create a master dictionary file + */ + acommon::PosibErr create (acommon::StringEnumeration * els, const Language & lang, - Config & config) + acommon::Config & config) { assert(sizeof(u16int) == 2); assert(sizeof(u32int) == 4); @@ -726,11 +798,11 @@ strcmp(lang.soundslike_name(), "simple") == 0); bool affix_compress = (lang.affix() && - config.retrieve_bool("affix-compress")); + config.retrieve_bool("affix-compress").get()); //13-Sep-04 bool partially_expand = (affix_compress && !full_soundslike && - config.retrieve_bool("partially-expand")); + config.retrieve_bool("partially-expand").get()); //13-Sep-04 bool invisible_soundslike = false; if (partially_expand) @@ -740,15 +812,15 @@ else if (!full_soundslike) invisible_soundslike = true; - ConvEC iconv; + acommon::ConvEC iconv; if (!config.have("norm-strict")) config.replace("norm-strict", "true"); if (config.have("encoding")) - RET_ON_ERR(iconv.setup(config, config.retrieve("encoding"), lang.charmap(),NormFrom)); + RET_ON_ERR(iconv.setup(config, config.retrieve("encoding"), lang.charmap(),acommon::NormFrom)); else - RET_ON_ERR(iconv.setup(config, lang.data_encoding(), lang.charmap(), NormFrom)); + RET_ON_ERR(iconv.setup(config, lang.data_encoding(), lang.charmap(), acommon::NormFrom)); - String base = config.retrieve("master-path"); + acommon::String base = config.retrieve("master-path"); DataHead data_head; memset(&data_head, 0, sizeof(data_head)); @@ -781,13 +853,13 @@ CERR.printl("---"); #endif - String temp; + acommon::String temp; int num_entries = 0; int uniq_entries = 0; - ObjStack buf(16*1024); - String sl_buf; + acommon::ObjStack buf(16*1024); + acommon::String sl_buf; WordData * first = 0; @@ -795,18 +867,20 @@ // Read in Wordlist // { - WordListIterator wl_itr(els, &lang, config.retrieve_bool("warn") ? &CERR : 0); + WordListIterator wl_itr(els, &lang, config.retrieve_bool("warn") ? &acommon::CERR : 0); wl_itr.init(config); - ObjStack exp_buf; + acommon::ObjStack exp_buf; WordAff * exp_list; WordAff single; single.next = 0; - Vector af_list; + acommon::Vector af_list; WordData * * prev = &first; - +#ifdef PORTABLE + InsertionSortCls comp(first,&lang); +#endif for (;;) { - PosibErr pe = wl_itr.adv(); + acommon::PosibErr pe = wl_itr.adv(); if (pe.has_err()) return pe; if (!pe.data) break; @@ -816,7 +890,7 @@ const char * affixes = wl_itr->aff.str; if (*affixes && !lang.affix()) - return make_err(other_error, + return acommon::make_err(acommon::other_error, _("Affix flags found in word but no affix file given.")); if (*affixes && !affix_compress) { @@ -854,14 +928,16 @@ if (sl != w) total_size += sl_size + 1; if (total_size - WordData::struct_size > 240) - return make_err(invalid_word, MsgConv(lang)(w), + return acommon::make_err(acommon::invalid_word, MsgConv(lang)(w), _("The total word length, with soundslike data, is larger than 240 characters.")); WordData * b = (WordData *)buf.alloc(total_size, sizeof(void *)); +#ifndef PORTABLE + //append this record to the end of the list *prev = b; b->next = 0; prev = &b->next; - +#endif b->word_size = s; b->sl_size = strlen(sl); b->data_size = data_size; @@ -887,8 +963,10 @@ } else { b->sl = b->word; } - - } +#ifdef PORTABLE + comp.insertion(b); +#endif + } //for } delete els; } @@ -896,9 +974,9 @@ // // sort WordData linked list based on (sl, word) // - +#ifndef PORTABLE first = sort(first, SoundslikeLess(&lang)); - +#endif // // duplicate check // @@ -974,7 +1052,7 @@ // Create the final data structures // - CharVector data; + acommon::CharVector data; data.reserve(data_size); data.write32(0); // to avoid nasty special cases unsigned int prev_pos = data.size(); @@ -988,8 +1066,8 @@ lookup.parms().hash .lang = ⟨ lookup.parms().equal.cmp.lang = ⟨ - Vector jump1; - Vector jump2; + acommon::Vector jump1; + acommon::Vector jump2; const int head_size = invisible_soundslike ? 3 : 2; @@ -1101,7 +1179,7 @@ data_head.word_count = num_entries; data_head.word_buckets = lookup.bucket_count(); - FStream out; + acommon::FStream out; out.open(base, "wb"); advance_file(out, data_head.head_size); @@ -1137,22 +1215,22 @@ out.write(lang.soundslike_name(), data_head.soundslike_name_size); out.write(lang.soundslike_version(), data_head.soundslike_version_size); - return no_err; + return acommon::no_err; } } namespace aspeller { - PosibErr create_default_readonly_dict(StringEnumeration * els, - Config & config) + acommon::PosibErr create_default_readonly_dict(acommon::StringEnumeration * els, + acommon::Config & config) { - CachePtr lang; - PosibErr res = new_language(config); + acommon::CachePtr lang; + acommon::PosibErr res = new_language(config); if (res.has_err()) return res; lang.reset(res.data); lang->set_lang_defaults(config); RET_ON_ERR(create(els,*lang,config)); - return no_err; + return acommon::no_err; } } diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/speller_impl.cpp aspell-0.60-vc++/modules/speller/default/speller_impl.cpp --- aspell-0.60/modules/speller/default/speller_impl.cpp 2004-08-12 20:20:40.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/speller_impl.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -7,6 +7,7 @@ #include #include +#include "cache.hpp" #include "clone_ptr-t.hpp" #include "config.hpp" #include "copy_ptr-t.hpp" @@ -23,6 +24,7 @@ #include "iostream.hpp" +using namespace acommon; //13-Sep-04 namespace aspeller { // // data_access functions @@ -124,16 +126,18 @@ return &suggest_->suggest(word); } - bool SpellerImpl::check_simple (ParmString w, WordEntry & w0) + bool SpellerImpl::check_simple (ParmString we, WordEntry & w0) { w0.clear(); // FIXME: is this necessary? - const char * x = w; - while (*x != '\0' && (x-w) < static_cast(ignore_count)) ++x; - if (*x == '\0') {w0.word = w; return true;} + const char * wpos = we.str(); + while ((*wpos != '\0') && + ((wpos-we.str()) < static_cast(ignore_count))) //13-Sep-04 + ++wpos; + if (*wpos == '\0') {w0.word = we; return true;} WS::const_iterator i = check_ws.begin(); WS::const_iterator end = check_ws.end(); do { - if ((*i)->lookup(w, &s_cmp, w0)) return true; + if ((*i)->lookup(we, &s_cmp, w0)) return true; ++i; } while (i != end); return false; @@ -293,11 +297,7 @@ // Config Notifier // - struct UpdateMember { - const char * name; - enum Type {String, Int, Bool, Add, Rem, RemAll}; - Type type; - union Fun { + typedef union Fun { typedef PosibErr (*WithStr )(SpellerImpl *, const char *); typedef PosibErr (*WithInt )(SpellerImpl *, int); typedef PosibErr (*WithBool)(SpellerImpl *, bool); @@ -314,7 +314,17 @@ {return (*with_int) (m,val);} PosibErr call(SpellerImpl * m, bool val) const {return (*with_bool)(m,val);} - } fun; + } UpdateU; + + struct UpdateMember + { + public: + //UpdateMember(const char *n, int i, UpdateU u) : + // name(n), type(i), fun(u) {} + enum Type {StringT, Int, Bool, Add, Rem, RemAll}; + const char * name; + Type type; + UpdateU fun; typedef SpellerImpl::ConfigNotifier CN; }; @@ -337,7 +347,7 @@ return callback(speller_, ki, value, UpdateMember::Bool); } PosibErr item_updated(const KeyInfo * ki, ParmStr value) { - return callback(speller_, ki, value, UpdateMember::String); + return callback(speller_, ki, value, UpdateMember::StringT); } static PosibErr ignore(SpellerImpl * m, int value) { @@ -390,6 +400,7 @@ }; +#ifndef WIN32PORT static UpdateMember update_members[] = { {"ignore", UpdateMember::Int, UpdateMember::CN::ignore} @@ -397,7 +408,7 @@ ,{"ignore-case", UpdateMember::Bool, UpdateMember::CN::ignore_case} ,{"ignore-repl", UpdateMember::Bool, UpdateMember::CN::ignore_repl} //,{"save-repl", UpdateMember::Bool, UpdateMember::CN::save_repl} - ,{"sug-mode", UpdateMember::String, UpdateMember::CN::sug_mode} + ,{"sug-mode", UpdateMember::StringT, UpdateMember::CN::sug_mode} ,{"run-together", UpdateMember::Bool, UpdateMember::CN::run_together} @@ -408,11 +419,44 @@ UpdateMember::Int, UpdateMember::CN::run_together_min} }; +#endif template PosibErr callback(SpellerImpl * m, const KeyInfo * ki, T value, UpdateMember::Type t) { +#ifdef WIN32PORT + //FB (well, VC++ gets totally confused by fun) + static UpdateMember update_members[9]; + update_members[0].name = "ignore"; + update_members[0].type = UpdateMember::Int; + update_members[0].fun = UpdateMember::CN::ignore; + update_members[1].name = "ignore_accents"; + update_members[1].type = UpdateMember::Bool; + update_members[1].fun = UpdateMember::CN::ignore_accents; + update_members[2].name = "ignore_case"; + update_members[2].type = UpdateMember::Bool; + update_members[2].fun = UpdateMember::CN::ignore_case; + update_members[3].name = "ignore_repl"; + update_members[3].type = UpdateMember::Bool; + update_members[3].fun = UpdateMember::CN::ignore_repl; + update_members[4].name = "save_repl"; + update_members[4].type = UpdateMember::Bool; + update_members[4].fun = UpdateMember::CN::save_repl; + update_members[5].name = "sug-mode"; + update_members[5].type = UpdateMember::StringT; + update_members[5].fun = UpdateMember::CN::sug_mode; + update_members[6].name = "run-together-min"; + update_members[6].type = UpdateMember::Bool; + update_members[6].fun = UpdateMember::CN::run_together; + update_members[7].name = "run-together-limit"; + update_members[7].type = UpdateMember::Int; + update_members[7].fun = UpdateMember::CN::run_together_limit; + update_members[8].name = "run-together-min"; + update_members[8].type = UpdateMember::Int; + update_members[8].fun = UpdateMember::CN::run_together_min; + +#endif const UpdateMember * i = update_members; const UpdateMember * end @@ -454,8 +498,8 @@ assert (config_ == 0); config_.reset(c); - ignore_repl = config_->retrieve_bool("ignore-repl"); - ignore_count = config_->retrieve_int("ignore"); + ignore_repl = config_->retrieve_bool("ignore-repl").get(); + ignore_count = config_->retrieve_int("ignore").get(); DictList to_add; RET_ON_ERR(add_data_set(config_->retrieve("master-path"), *config_, &to_add, this)); @@ -534,15 +578,15 @@ if (conv.has_err()) return conv; from_internal_.reset(conv); - unconditional_run_together_ = config_->retrieve_bool("run-together"); + unconditional_run_together_ = config_->retrieve_bool("run-together").get(); run_together = unconditional_run_together_; - run_together_limit_ = config_->retrieve_int("run-together-limit"); + run_together_limit_ = config_->retrieve_int("run-together-limit").get(); if (run_together_limit_ > 8) { config_->replace("run-together-limit", "8"); run_together_limit_ = 8; } - run_together_min_ = config_->retrieve_int("run-together-min"); + run_together_min_ = config_->retrieve_int("run-together-min").get(); config_->add_notifier(new ConfigNotifier(this)); diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/speller_impl.hpp aspell-0.60-vc++/modules/speller/default/speller_impl.hpp --- aspell-0.60/modules/speller/default/speller_impl.hpp 2004-06-02 07:12:09.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/speller_impl.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -13,7 +13,7 @@ #include "speller.hpp" #include "check_list.hpp" -using namespace acommon; +//13-Sep-04 using namespace acommon; namespace acommon { class StringMap; @@ -27,7 +27,7 @@ namespace aspeller { class Language; - class SensitiveCompare; + struct SensitiveCompare; //13-Sep-04 this was class class Suggest; enum SpecialId {main_id, personal_id, session_id, @@ -42,19 +42,19 @@ SpecialId special_id; SpellerDict * next; SpellerDict(Dict *); - SpellerDict(Dict *, const Config &, SpecialId id = none_id); + SpellerDict(Dict *, const acommon::Config &, SpecialId id = none_id); ~SpellerDict() {if (dict) dict->release();} }; - class SpellerImpl : public Speller + class SpellerImpl : public acommon::Speller { public: SpellerImpl(); // does not set anything up. ~SpellerImpl(); - PosibErr setup(Config *); + acommon::PosibErr setup(acommon::Config *); - void setup_tokenizer(Tokenizer *); + void setup_tokenizer(acommon::Tokenizer *); // // Low level Word List Management methods @@ -62,7 +62,7 @@ public: - typedef Enumeration * WordLists; + typedef acommon::Enumeration * WordLists; WordLists wordlists() const; int num_wordlists() const; @@ -72,11 +72,11 @@ // // Add a single dictionary that has not been previously added // - PosibErr add_dict(SpellerDict *); + acommon::PosibErr add_dict(SpellerDict *); - PosibErr personal_word_list () const; - PosibErr session_word_list () const; - PosibErr main_word_list () const; + acommon::PosibErr personal_word_list () const; + acommon::PosibErr session_word_list () const; + acommon::PosibErr main_word_list () const; // // Language methods @@ -92,33 +92,33 @@ // Spelling methods // - PosibErr check(char * word, char * word_end, /* it WILL modify word */ + acommon::PosibErr check(char * word, char * word_end, /* it WILL modify word */ bool try_uppercase, unsigned run_together_limit, CheckInfo *, GuessInfo *); - PosibErr check(MutableString word) { + acommon::PosibErr check(acommon::MutableString word) { guess_info.reset(); return check(word.begin(), word.end(), false, unconditional_run_together_ ? run_together_limit_ : 0, check_inf, &guess_info); } - PosibErr check(ParmString word) + acommon::PosibErr check(acommon::ParmString word) { std::vector w(word.size()+1); strncpy(&*w.begin(), word, w.size()); - return check(MutableString(&w.front(), w.size() - 1)); + return check(acommon::MutableString(&w.front(), w.size() - 1)); } - PosibErr check(const char * word) {return check(ParmString(word));} + acommon::PosibErr check(const char * word) {return check(acommon::ParmString(word));} bool check2(char * word, /* it WILL modify word */ bool try_uppercase, CheckInfo & ci, GuessInfo * gi); - bool check_affix(ParmString word, CheckInfo & ci, GuessInfo * gi); + bool check_affix(acommon::ParmString word, CheckInfo & ci, GuessInfo * gi); - bool check_simple(ParmString, WordEntry &); + bool check_simple(acommon::ParmString, WordEntry &); const CheckInfo * check_info() { if (check_inf[0].word) @@ -133,21 +133,21 @@ // High level Word List management methods // - PosibErr add_to_personal(MutableString word); - PosibErr add_to_session(MutableString word); + acommon::PosibErr add_to_personal(acommon::MutableString word); + acommon::PosibErr add_to_session(acommon::MutableString word); - PosibErr save_all_word_lists(); + acommon::PosibErr save_all_word_lists(); - PosibErr clear_session(); + acommon::PosibErr clear_session(); - PosibErr suggest(MutableString word); + acommon::PosibErr suggest(acommon::MutableString word); // the suggestion list and the elements in it are only // valid until the next call to suggest. - PosibErr store_replacement(MutableString mis, - MutableString cor); + acommon::PosibErr store_replacement(acommon::MutableString mis, + acommon::MutableString cor); - PosibErr store_replacement(const String & mis, const String & cor, + acommon::PosibErr store_replacement(const acommon::String & mis, const acommon::String & cor, bool memory); // @@ -160,15 +160,15 @@ private: friend class ConfigNotifier; - CachePtr lang_; - CopyPtr sensitive_compare_; + acommon::CachePtr lang_; + acommon::CopyPtr sensitive_compare_; //CopyPtr wls_; - ClonePtr suggest_; - ClonePtr intr_suggest_; + acommon::ClonePtr suggest_; + acommon::ClonePtr intr_suggest_; unsigned int ignore_count; bool ignore_repl; - String prev_mis_repl_; - String prev_cor_repl_; + acommon::String prev_mis_repl_; + acommon::String prev_cor_repl_; void operator= (const SpellerImpl &other); SpellerImpl(const SpellerImpl &other); @@ -188,7 +188,7 @@ //const DictCollection & data_set_collection() const {return *wls_;} - PosibErr set_check_lang(ParmString lang, ParmString lang_dir); + acommon::PosibErr set_check_lang(acommon::ParmString lang, acommon::ParmString lang_dir); double distance (const char *, const char *, const char *, const char *) const; @@ -201,7 +201,7 @@ SensitiveCompare s_cmp_middle; SensitiveCompare s_cmp_end; - typedef Vector WS; + typedef acommon::Vector WS; WS check_ws, affix_ws, suggest_ws, suggest_affix_ws; bool unconditional_run_together_; @@ -231,7 +231,7 @@ // returns 0 if nothing found // 1 if a match is found // -1 if a word is found but affix doesn't match and "gi" - int lookup (ParmString word, const SensitiveCompare * c, char aff, + int lookup (acommon::ParmString word, const SensitiveCompare * c, char aff, WordEntry & o, GuessInfo * gi) const; }; diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/suggest.cpp aspell-0.60-vc++/modules/speller/default/suggest.cpp --- aspell-0.60/modules/speller/default/suggest.cpp 2004-07-31 09:06:01.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/suggest.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -45,6 +45,7 @@ #include "asuggest.hpp" #include "basic_list.hpp" #include "clone_ptr-t.hpp" +#include "cache.hpp" //13-Sep-04 #include "config.hpp" #include "data.hpp" #include "editdist.hpp" @@ -54,6 +55,7 @@ #include "hash-t.hpp" #include "language.hpp" #include "leditdist.hpp" +#include "posib_err.hpp" #include "speller_impl.hpp" #include "stack_ptr.hpp" #include "suggest.hpp" @@ -176,9 +178,12 @@ ObjStack buffer; ObjStack temp_buffer; - +#ifndef PORTABLE static const bool do_count = true; static const bool dont_count = false; +#else + enum { dont_count = 0, do_count = 1 }; //13-Sep-04 +#endif CheckInfo check_info[8]; @@ -557,7 +562,7 @@ new_word[i+1] = new_word[i]; new_word[i] = '\0'; - if (sp->check(new_word) && sp->check(new_word + i + 1)) { + if (sp->check(new_word).get() && sp->check(new_word + i + 1).get()) { for (size_t j = 0; j != parms->split_chars.size(); ++j) { new_word[i] = parms->split_chars[j]; @@ -857,7 +862,9 @@ buf.append(r->repl, strlen(r->repl)); p += strlen(r->substr); buf.append(p, wend + 1); +#ifndef NULLTERMINATE buf.ensure_null_end(); +#endif //COUT.printf("%s (%s) => %s (%s)\n", word, r->substr, buf.str(), r->repl); try_word(buf.pbegin(), buf.pend(), parms->edit_distance_weights.sub*3/2); } @@ -900,7 +907,9 @@ void Working::try_ngram() { String original_soundslike = original.soundslike; +#ifndef NULLTERMINATE original_soundslike.ensure_null_end(); +#endif WordEntry * sw = 0; const char * sl = 0; typedef Vector Candidates; @@ -917,11 +926,11 @@ already_have.insert(i->soundslike); } - for (SpellerImpl::WS::const_iterator i = sp->suggest_ws.begin(); - i != sp->suggest_ws.end(); - ++i) + for (SpellerImpl::WS::const_iterator j = sp->suggest_ws.begin(); + j != sp->suggest_ws.end(); + ++j) { - StackPtr els((*i)->soundslike_elements()); + StackPtr els((*j)->soundslike_elements()); while ( (sw = els->next(LARGE_NUM)) ) { @@ -939,7 +948,7 @@ if (ng > 0 && ng >= min_score) { commit_temp(sl); - candidates.push_back(NGramScore(i, *sw, sl, ng)); + candidates.push_back(NGramScore(j, *sw, sl, ng)); if (ng > min_score) count++; if (count >= parms->ngram_keep) { int orig_min = min_score; @@ -962,12 +971,12 @@ } } - for (Candidates::iterator i = candidates.begin(); - i != candidates.end(); - ++i) + for (Candidates::iterator k = candidates.begin(); + k != candidates.end(); + ++k) { - //COUT.printf("ngram: %s %d\n", i->soundslike, i->score); - add_sound(i->i, &i->info, i->soundslike); + //COUT.printf("ngram: %s %d\n", k->soundslike, k->score); + add_sound(k->i, &k->info, k->soundslike); } } @@ -1189,10 +1198,10 @@ String sl; # endif int c = 1; - hash_set > duplicates_check; + hash_set duplicates_check; String buf; String final_word; - pair >::iterator, bool> dup_pair; + pair::iterator, bool> dup_pair; for (NearMisses::const_iterator i = scored_near_misses.begin(); i != scored_near_misses.end() && c <= parms->limit && ( i->score <= threshold || c <= 3 ); @@ -1208,9 +1217,9 @@ dup_pair = duplicates_check.insert(fix_case(i->repl_list->word, buf)); if (dup_pair.second && ((pos = dup_pair.first->find(' '), pos == String::npos) - ? (bool)sp->check(*dup_pair.first) - : (sp->check((String)dup_pair.first->substr(0,pos)) - && sp->check((String)dup_pair.first->substr(pos+1))) )) + ? sp->check(*dup_pair.first).get() + : (sp->check((String)dup_pair.first->substr(0,pos)).get() + && sp->check((String)dup_pair.first->substr(pos+1)).get()) )) near_misses_final->push_back(*dup_pair.first); } while (i->repl_list->adv()); } else { @@ -1293,9 +1302,13 @@ String keyboard = m->config()->retrieve("keyboard"); if (keyboard == "none") parms_.use_typo_analysis = false; - else + else { +#ifdef PORTABLE + RET_ON_ERR(typo_info_setup(parms_.ti, m->config(), &m->lang(), keyboard.c_str())); +#else RET_ON_ERR(aspeller::setup(parms_.ti, m->config(), &m->lang(), keyboard)); - +#endif + } return no_err; } diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/suggest.hpp aspell-0.60-vc++/modules/speller/default/suggest.hpp --- aspell-0.60/modules/speller/default/suggest.hpp 2004-06-02 07:12:16.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/suggest.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -7,16 +7,16 @@ #include "enumeration.hpp" #include "parm_string.hpp" -using namespace acommon; +//13-Sep-04 using namespace acommon; namespace aspeller { class SpellerImpl; - class SuggestionList : public WordList { + class SuggestionList : public acommon::WordList { public: - typedef StringEnumeration VirEmul; - typedef Enumeration Emul; + typedef acommon::StringEnumeration VirEmul; + typedef acommon::Enumeration Emul; typedef const char * Value; typedef unsigned int Size; @@ -31,13 +31,13 @@ class Suggest { public: - virtual PosibErr set_mode(ParmString) = 0; + virtual acommon::PosibErr set_mode(acommon::ParmString) = 0; virtual double score(const char * base, const char * other) = 0; virtual SuggestionList & suggest(const char * word) = 0; virtual ~Suggest() {} }; - PosibErr new_default_suggest(SpellerImpl *); + acommon::PosibErr new_default_suggest(SpellerImpl *); } diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/typo_editdist.cpp aspell-0.60-vc++/modules/speller/default/typo_editdist.cpp --- aspell-0.60/modules/speller/default/typo_editdist.cpp 2004-06-02 07:12:19.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/typo_editdist.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -17,10 +17,39 @@ typedef unsigned char uchar; +using namespace std; +using namespace acommon; //13-Sep-04 namespace aspeller { - using namespace std; +#ifdef PORTABLE + /* + The typo_edit_dist_info_cache is private to this module. + typo_info_setup is shared by all the modules that must setup + their own cache. + */ + static TypoInfoCache typo_edit_dist_info_cache("keyboard"); + + acommon::PosibErr typo_info_setup(acommon::CachePtr & res, + const acommon::Config * config, + const Language * lang, + const char * key) + { + return typo_edit_dist_info_cache.setup(res, config, lang, key); + } +#else + static ConfigurableCache typo_edit_dist_info_cache("keyboard"); + + PosibErr setup(CachePtr & res, + const acommon::Config * c, const Language * l, ParmString kb) + { + PosibErr pe = + get_cache_data(&typo_edit_dist_info_cache, c, l, kb.str()); + if (pe.has_err()) return pe; + res.reset(pe.data); + return no_err; + } +#endif short typo_edit_distance(ParmString word0, ParmString target0, const TypoEditDistanceInfo & w) @@ -76,22 +105,13 @@ return e(word_size-1,target_size-1); } - static GlobalCache typo_edit_dist_info_cache("keyboard"); - - PosibErr setup(CachePtr & res, - const Config * c, const Language * l, ParmString kb) - { - PosibErr pe = get_cache_data(&typo_edit_dist_info_cache, c, l, kb); - if (pe.has_err()) return pe; - res.reset(pe.data); - return no_err; - } struct CharPair { char d[2]; CharPair(char a, char b) {d[0] = a; d[1] = b;} }; + //13-Sep-04 check for null string PosibErr TypoEditDistanceInfo::get_new(const char * kb, const Config * cfg, const Language * l) { @@ -105,9 +125,9 @@ RET_ON_ERR(iconv.setup(*cfg, "utf-8", l->charmap(), NormFrom)); Vector data; - + int i; char to_stripped[256]; - for (int i = 0; i <= 255; ++i) + for (i = 0; i <= 255; ++i) to_stripped[i] = l->to_stripped(i); String buf; @@ -129,7 +149,7 @@ if (pe.has_err()) return pe.with_file(file, d.line_num); char * v = pe.data; - if (strlen(v) != 2) + if ((NULL == v) || (strlen(v) != 2)) //13-Sep-04 return make_err(invalid_string, d.key.str).with_file(file, d.line_num); to_stripped[(uchar)v[0]] = v[0]; to_stripped[(uchar)v[1]] = v[1]; @@ -143,7 +163,7 @@ memset(w->to_normalized_, 0, sizeof(w->to_normalized_)); int c = 1; - for (int i = 0; i <= 255; ++i) { + for (i = 0; i <= 255; ++i) { if (l->is_alpha(i)) { if (w->to_normalized_[(uchar)to_stripped[i]] == 0) { w->to_normalized_[i] = c; @@ -154,7 +174,7 @@ } } } - for (int i = 0; i != 256; ++i) { + for (i = 0; i != 256; ++i) { if (w->to_normalized_[i]==0) w->to_normalized_[i] = c; } w->max_normalized = c; @@ -165,15 +185,15 @@ w->repl .init(c, c, w->data); w->extra.init(c, c, w->data + cc); - for (int i = 0; i != c; ++i) { + for (i = 0; i != c; ++i) { for (int j = 0; j != c; ++j) { w->repl (i,j) = w->repl_dis2; w->extra(i,j) = w->extra_dis2; } } - for (unsigned i = 0; i != data.size(); ++i) { - const char * d = data[i].d; + for (unsigned int k = 0; k != data.size(); ++k) { + const char * d = data[k].d; w->repl (w->to_normalized(d[0]), w->to_normalized(d[1])) = w->repl_dis1; w->repl (w->to_normalized(d[1]), @@ -184,7 +204,7 @@ w->to_normalized(d[0])) = w->extra_dis1; } - for (int i = 0; i != c; ++i) { + for (i = 0; i != c; ++i) { w->repl(i,i) = 0; w->extra(i,i) = w->extra_dis1; } diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/typo_editdist.hpp aspell-0.60-vc++/modules/speller/default/typo_editdist.hpp --- aspell-0.60/modules/speller/default/typo_editdist.hpp 2004-06-02 07:12:24.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/typo_editdist.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -12,9 +12,9 @@ class Language; - using namespace acommon; +//13-Sep-04 using namespace acommon; - struct TypoEditDistanceInfo : public Cacheable { + struct TypoEditDistanceInfo : public acommon::Cacheable { int missing; // the cost of having to insert a character int swap; // the cost of swapping two adjecent letters short * data; // memory for repl and extra @@ -45,20 +45,26 @@ public: ~TypoEditDistanceInfo() {if (data) free(data);} - String keyboard; - typedef const Config CacheConfig; + acommon::String keyboard; + typedef const acommon::Config CacheConfig; typedef const Language CacheConfig2; typedef const char * CacheKey; bool cache_key_eq(const char * kb) const {return keyboard == kb;} - static PosibErr get_new(const char *, const Config *, const Language *); + static acommon::PosibErr get_new(const char *, const acommon::Config *, const Language *); private: TypoEditDistanceInfo(const TypoEditDistanceInfo &); void operator=(const TypoEditDistanceInfo &); }; - - PosibErr setup(CachePtr & res, - const Config * c, const Language * l, ParmString kb); - +#ifdef PORTABLE + acommon::PosibErr typo_info_setup(acommon::CachePtr & res, + const acommon::Config * config, + const Language * lang, + const char * key); + +#else + acommon::PosibErr setup(acommon::CachePtr & res, + const acommon::Config * c, const Language * l, acommon::ParmString kb); +#endif // edit_distance finds the shortest edit distance. // Preconditions: // max(strlen(word), strlen(target))*max(of the edit weights) <= 2^15 @@ -70,8 +76,8 @@ // the running time is tightly asymptotically bounded by strlen(a)*strlen(b) - short typo_edit_distance(ParmString word, - ParmString target, + short typo_edit_distance(acommon::ParmString word, + acommon::ParmString target, const TypoEditDistanceInfo & w); } diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/vector_hash.hpp aspell-0.60-vc++/modules/speller/default/vector_hash.hpp --- aspell-0.60/modules/speller/default/vector_hash.hpp 2004-06-02 07:12:29.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/vector_hash.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -43,17 +43,29 @@ // typename Value; class VHTIterator { +#if 1 + public: + bool operator== (VHTIterator rhs) + { + return rhs.pos == pos; + } + bool operator!= (VHTIterator rhs) + { + return rhs.pos != pos; + } +#else template friend bool operator== (VHTIterator, VHTIterator); #ifndef REL_OPS_POLLUTION template friend bool operator!= (VHTIterator, VHTIterator); #endif +#endif public: //but don't use typedef typename Parms::TableIter TableIter; typedef typename Parms::HashTable HashTable; TableIter pos; - HashTable * hash_table; + const HashTable * hash_table; //made this const 13-Sep-04 public: typedef std::bidirectional_iterator_tag iterator_category; typedef typename Parms::Value value_type; @@ -64,8 +76,8 @@ //VHTIterator vector_iterator() const {return pos;} public: - VHTIterator(TableIter p, HashTable *ht) : pos(p), hash_table(ht) {} - VHTIterator(TableIter p, HashTable *ht, bool) + VHTIterator(TableIter p, const HashTable *ht) : pos(p), hash_table(ht) {} + VHTIterator(TableIter p, const HashTable *ht, bool) : pos(p), hash_table(ht) { while (pos != hash_table->vector().end() @@ -73,7 +85,7 @@ ++pos; } - value_type & operator * () const {return *pos;} + const value_type & operator * () const {return *pos;} value_type * operator -> () const {return &*pos;} bool at_end() const {return pos == hash_table->vector().end();} @@ -108,7 +120,7 @@ return temp; } }; - +#if 0 //13-Sep-04 template inline bool operator== (VHTIterator rhs, VHTIterator lhs) @@ -124,7 +136,7 @@ { return rhs.pos != lhs.pos; } - +#endif #endif //////////////////////////////////////////////////////// @@ -154,7 +166,7 @@ typedef typename Vector::size_type size_type; typedef typename Vector::difference_type difference_type; - typedef typename Vector::pointer pointer; +//13-Sep-04 unused typedef typename Vector::pointer pointer; typedef typename Vector::reference reference; typedef typename Vector::const_reference const_reference; @@ -224,8 +236,24 @@ std::pair insert(const value_type &); bool have(const key_type &) const; - iterator find(const key_type&); - const_iterator find(const key_type&) const; + iterator find(const key_type&) + // Moved inline 13-Sep-04 + { + MutableFindIterator it(this, key); + if (!it.at_end()) + return iterator(vector_.begin() + it.i, this); + else + return end(); + } + const_iterator find(const key_type & key) const + // Moved inline 13-Sep-04 + { + ConstFindIterator it(this, key); + if (!it.at_end()) + return const_iterator(vector_.begin() + it.i, this); + else + return end(); + } //13-Sep-04 size_type erase(const key_type &key); void erase(const iterator &p); @@ -248,10 +276,33 @@ int i; int hash2; FindIterator() {} - FindIterator(const HashTable * ht, const key_type & k); + + FindIterator(const HashTable * ht, const key_type & k) + // Moved inline 13-Sep-04 + : vector(&ht->vector()) + , parms(&ht->parms()) + , key(k) + , i(ht->hash1(k)) + , hash2(ht->hash2(k)) + { + if (!parms->is_nonexistent((*vector)[i]) + && !parms->equal(parms->key((*vector)[i]), key)) + adv(); + } + + public: bool at_end() const {return parms->is_nonexistent((*vector)[i]);} - void adv(); + void adv() + // Moved inline 13-Sep-04 + { + do { + i = (i + hash2) % vector->size(); + } + while (!parms->is_nonexistent((*vector)[i]) && + !parms->equal(parms->key((*vector)[i]), key)); + } //13-Sep-04 + FindIterator & operator ++() {adv(); return *this;} }; friend class FindIterator; diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/vector_hash-t.hpp aspell-0.60-vc++/modules/speller/default/vector_hash-t.hpp --- aspell-0.60/modules/speller/default/vector_hash-t.hpp 2004-06-02 07:12:27.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/vector_hash-t.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -20,6 +20,7 @@ namespace aspeller { +#if 0 //13-Sep-04 moved to vector_hash.hpp to resolve an unresolved symbol template VectorHashTable::FindIterator ::FindIterator(const HashTable * ht, const key_type & k) @@ -33,7 +34,9 @@ && !parms->equal(parms->key((*vector)[i]), key)) adv(); } +#endif +#if 0 //13-Sep-04 moved to vector_hash.hpp to resolve unresolved symbol adv template void VectorHashTable::FindIterator::adv() { do { @@ -41,6 +44,7 @@ } while (!parms->is_nonexistent((*vector)[i]) && !parms->equal(parms->key((*vector)[i]), key)); } +#endif template void VectorHashTable::nonexistent_vector() { @@ -51,7 +55,7 @@ } template - std::pair::iterator, bool> + std::pair::iterator, bool> VectorHashTable::insert(const value_type & d) { MutableFindIterator j(this, parms_.key(d)); @@ -75,6 +79,7 @@ return !ConstFindIterator(this,key).at_end(); } +#if 0 //13-Sep-04 moved to the class def to avoid compilation error under BC template typename VectorHashTable::iterator VectorHashTable::find(const key_type & key) @@ -95,6 +100,7 @@ else return end(); } +#endif #if 0 // it currently doesn't work needs fixing @@ -172,8 +178,8 @@ } template - void VectorHashTable::resize(size_type i) { - VectorHashTable temp(i,parms_); + void VectorHashTable::resize(size_type size_) { + VectorHashTable temp(size_,parms_); iterator e = end(); for (iterator i = begin(); i != e; ++i) temp.insert(*i); diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/wordinfo.hpp aspell-0.60-vc++/modules/speller/default/wordinfo.hpp --- aspell-0.60/modules/speller/default/wordinfo.hpp 2004-06-02 07:12:43.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/wordinfo.hpp 2004-11-07 04:36:13.000000000 -0700 @@ -29,7 +29,7 @@ static const WordInfo ALL_PLAIN = (1 << 2); static const WordInfo ALL_CLEAN = (1 << 3); - using namespace acommon; +//13-Sep-04 using namespace acommon; class Language; struct ConvertWord; @@ -50,7 +50,7 @@ bool at_end() {return !word;} bool adv() {if (adv_) {adv_(this); return true;} word = 0; return false;} operator bool () const {return word != 0;} - OStream & write(OStream & o, const Language & l, Convert * c = 0) const; + ASPELL_API acommon::OStream & write(acommon::OStream & o, const Language & l, acommon::Convert * c = 0) const; WordEntry() {memset(this, 0, sizeof(WordEntry));} void clear() {memset(this, 0, sizeof(WordEntry));} ~WordEntry() {} diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/speller/default/writable.cpp aspell-0.60-vc++/modules/speller/default/writable.cpp --- aspell-0.60/modules/speller/default/writable.cpp 2004-07-21 13:46:30.000000000 -0600 +++ aspell-0.60-vc++/modules/speller/default/writable.cpp 2004-11-07 04:36:13.000000000 -0700 @@ -507,7 +507,7 @@ dp.key = dp.value; Ret pe = add(conv(dp.key)); if (pe.has_err()) { - clear(); + clear(); //fixme: the output error does not indicate which key was not supported. return pe.with_file(file_name); } } @@ -825,9 +825,9 @@ ConvP conv2(iconv); do { in.getline(mis, ' '); - if (!in) break; + if (!(in.good())) break; in.getline(repl, '\n'); - if (!in) make_err(bad_file_format, file_name); + if (!(in.good())) make_err(bad_file_format, file_name); WritableReplDict::add_repl(conv1(mis), conv2(repl)); } while (true); diff -r -u -b -w --unidirectional-new-file aspell-0.60/modules/tokenizer/basic.cpp aspell-0.60-vc++/modules/tokenizer/basic.cpp --- aspell-0.60/modules/tokenizer/basic.cpp 2004-06-02 07:13:04.000000000 -0600 +++ aspell-0.60-vc++/modules/tokenizer/basic.cpp 2004-11-07 04:36:14.000000000 -0700 @@ -62,7 +62,9 @@ ++cur; } +#ifndef NULLTERMINATE word.append('\0'); +#endif word_end = cur; end_pos = cur_pos; Only in aspell-0.60/: myspell Only in aspell-0.60/: po diff -r -u -b -w --unidirectional-new-file aspell-0.60/prog/aspell.cpp aspell-0.60-vc++/prog/aspell.cpp --- aspell-0.60/prog/aspell.cpp 2004-08-12 20:57:33.000000000 -0600 +++ aspell-0.60-vc++/prog/aspell.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -25,6 +25,7 @@ # include #endif +#include "aspellroot.h" #include "aspell.h" #ifdef USE_FILE_INO @@ -55,10 +56,13 @@ #include "string_list.hpp" #include "speller_impl.hpp" #include "data.hpp" +#include "gettext.h" //13-Sep-04 +#include "string_util.hpp" +#include "hash-t.hpp" using namespace acommon; -using aspeller::Conv; +//13-Sep-04 using aspeller::Conv; // action functions declarations @@ -358,8 +362,8 @@ Vector to_remove; EXIT_ON_ERR(options->commit_all(&to_remove, codeset)); - for (int i = to_remove.size() - 1; i >= 0; --i) { - args.erase(args.begin() + to_remove[i]); + for (int j = to_remove.size() - 1; j >= 0; --j) { //13-Sep-04 + args.erase(args.begin() + to_remove[j]); //13-Sep-04 } if (args.empty()) { @@ -530,7 +534,7 @@ options->write_to_stream(COUT); } else { EXIT_ON_ERR_SET(options->retrieve_any(args[0]), String, value); - COUT << value << "\n"; + COUT << value.c_str() << "\n"; //13-Sep-04 } } @@ -646,13 +650,19 @@ } } +/* + 13-Sep-04 + The checker is now stored as a raw pointer, not StackPtr. + The original code zeroed out the pointer before returning it. +*/ DocumentChecker * new_checker(AspellSpeller * speller, StatusFunInf & status_fun_inf) { EXIT_ON_ERR_SET(new_document_checker(reinterpret_cast(speller)), - StackPtr, checker); + DocumentChecker *, checker); //13-Sep-04 + if (checker) checker->set_status_fun(status_fun, &status_fun_inf); - return checker.release(); + return checker; //13-Sep-04 } #define BREAK_ON_SPELLER_ERR\ @@ -662,7 +672,7 @@ void pipe() { -#ifndef WIN32 +#if !defined(WIN32) && !defined(WIN32PORT) // set up stdin and stdout to be line buffered assert(setvbuf(stdin, 0, _IOLBF, 0) == 0); assert(setvbuf(stdout, 0, _IOLBF, 0) == 0); @@ -687,16 +697,27 @@ Conv iconv(setup_conv(config, &real_speller->lang())); Conv oconv(setup_conv(&real_speller->lang(), config)); MBLen mb_len; - if (!config->retrieve_bool("byte-offsets")) + if (!config->retrieve_bool("byte-offsets").get()) mb_len.setup(*config, config->retrieve("encoding")); +#if 0 //debug if (do_time) COUT << _("Time to load word list: ") << (clock() - start)/(double)CLOCKS_PER_SEC << "\n"; +#else + if (do_time) { + COUT << _("Time to load word list: "); + COUT << (clock() - start)/(double)CLOCKS_PER_SEC << "\n"; + } +#endif StatusFunInf status_fun_inf; status_fun_inf.real_speller = real_speller; bool & print_star = status_fun_inf.verbose; print_star = true; StackPtr checker(new_checker(speller, status_fun_inf)); + if (!checker) { //13-Sep-04 + print_error(cant_create_pipe->mesg); //fixme: there might be a better message to output + exit(1); + } int c; const char * w; CharVector buf; @@ -1360,7 +1381,11 @@ String data; public: IstreamEnumeration(FStream & i) : in(&i) {} +#ifndef PORTABLE //13-Sep-04 the original caused a compilation error IstreamEnumeration * clone() const { +#else + StringEnumeration * clone() const { +#endif return new IstreamEnumeration(*this); } void assign (const StringEnumeration * other) { @@ -1370,7 +1395,7 @@ if (!in->getline(data)) return 0; else return data.c_str(); } - bool at_end() const {return *in;} + bool at_end() const {return in->good();} }; /////////////////////////// @@ -1460,12 +1485,23 @@ Config * config = options; if (action == do_create) { + FStream inFile; + if (args.size() > 1) { + PosibErr pe = inFile.open(args[1].c_str(),"r"); + if (pe.has_err()) { + print_error(pe.get_err()->mesg); + } + } + IstreamEnumeration *input = (args.size() > 1) ? + new IstreamEnumeration(inFile) : + new IstreamEnumeration(CIN); find_language(*config); EXIT_ON_ERR(create_default_readonly_dict - (new IstreamEnumeration(CIN), + (input, *config)); + } else if (action == do_merge) { print_error(_("Can't merge a master word list yet. Sorry.")); @@ -1484,6 +1520,11 @@ // personal // +/////////////////////////// +// +// personal +// + void personal () { using namespace aspeller; @@ -1746,7 +1787,7 @@ static bool lower_equal(aspeller::Language * l, ParmString a, ParmString b) { if (a.size() != b.size()) return false; - if (l->to_lower(a[0]) != l->to_lower(b[0])) return false; + if (l->to_lower(a.at(0)) != l->to_lower(b.at(0))) return false; return memcmp(a + 1, b + 1, a.size() - 1) == 0; } @@ -1973,7 +2014,9 @@ for (k = m->begin; k != m->end; ++k) { const PossibleOption * o = find_option(k->name); const char * name = k->name; - const KeyInfo * ok = options->keyinfo(name + 2); + PosibErr pe = options->keyinfo(name + 2); + pe.ignore_err(); + const KeyInfo * ok = pe.get(); if (k == ok) name += 2; print_help_line(o->abrv, strncmp((o+1)->name, "dont-", 5) == 0 ? (o+1)->abrv : '\0', diff -r -u -b -w --unidirectional-new-file aspell-0.60/prog/checker_string.cpp aspell-0.60-vc++/prog/checker_string.cpp --- aspell-0.60/prog/checker_string.cpp 2004-08-07 22:37:14.000000000 -0600 +++ aspell-0.60-vc++/prog/checker_string.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -6,12 +6,14 @@ #include -#include "checker_string.hpp" #include "speller.hpp" -#include "document_checker.hpp" #include "copy_ptr-t.hpp" +#include "document_checker.hpp" #include "asc_ctype.hpp" #include "convert.hpp" +#include "checker_string.hpp" //13-Sep-04 + +using namespace acommon; extern Conv dconv; extern Conv uiconv; diff -r -u -b -w --unidirectional-new-file aspell-0.60/prog/checker_string.hpp aspell-0.60-vc++/prog/checker_string.hpp --- aspell-0.60/prog/checker_string.hpp 2004-07-01 14:49:57.000000000 -0600 +++ aspell-0.60-vc++/prog/checker_string.hpp 2004-11-07 04:36:12.000000000 -0700 @@ -3,6 +3,8 @@ // version 2.0 or 2.1. You should have received a copy of the LGPL // license along with this library if you did not you can find // it at http://www.gnu.org/. +#ifndef checker_string_h +#define checker_string_h #include @@ -13,19 +15,19 @@ #include "simple_string.hpp" #include "document_checker.hpp" -using namespace acommon; +//13-Sep-04 using namespace ; class CheckerString { public: struct Line { - String real; - SimpleString disp; - String buf; + acommon::String real; + acommon::SimpleString disp; + acommon::String buf; void clear() {real.clear(); disp.str = ""; disp.size = 0; buf.clear();} }; - typedef Vector Lines; + typedef acommon::Vector Lines; CheckerString(AspellSpeller * speller, FILE * in, FILE * out, int lines); ~CheckerString(); @@ -55,7 +57,7 @@ CheckerString * cs_; Lines::iterator line_; - SimpleString * operator-> () {return &line_->disp;} + acommon::SimpleString * operator-> () {return &line_->disp;} Line & get() {return *line_;} @@ -75,9 +77,9 @@ size_t word_size() {return disp_word_size_;} bool next_misspelling(); - void replace(ParmString repl); // encoded in "real" encoding + void replace(acommon::ParmString repl); // encoded in "real" encoding - char * get_real_word(String & w) { + char * get_real_word(acommon::String & w) { w.clear(); w.insert(w.end(), real_word_begin_, real_word_begin_ + real_word_size_); return w.mstr(); @@ -95,7 +97,7 @@ Lines::iterator cur_line_; Lines lines_; - String::iterator real_word_begin_; + acommon::String::iterator real_word_begin_; int real_word_size_; const char * disp_word_begin_; int disp_word_size_; @@ -103,11 +105,11 @@ FILE * in_; FILE * out_; - CopyPtr checker_; + acommon::CopyPtr checker_; AspellSpeller * speller_; Lines::iterator end_; int diff_; - Token tok_; + acommon::Token tok_; bool has_repl_; void fix_display_str(); @@ -115,3 +117,5 @@ typedef CheckerString::LineIterator LineIterator; + +#endif \ No newline at end of file diff -r -u -b -w --unidirectional-new-file aspell-0.60/prog/check_funs.cpp aspell-0.60-vc++/prog/check_funs.cpp --- aspell-0.60/prog/check_funs.cpp 2004-08-07 23:04:57.000000000 -0600 +++ aspell-0.60-vc++/prog/check_funs.cpp 2004-11-07 04:36:12.000000000 -0700 @@ -29,13 +29,19 @@ #include "convert.hpp" #include "config.hpp" -using namespace acommon; +acommon::StackPtr state; + +namespace acommon { -StackPtr state; +//13-Sep-04 unused StackPtr checker; const char * last_prompt = 0; StackPtr word_choices; StackPtr menu_choices; Conv null_conv; +} //namespace + +using namespace acommon; + extern Conv dconv; extern Conv uiconv; @@ -483,10 +489,14 @@ #endif void display_misspelled_word() { - - const char * word_begin = state->word_begin(); - const char * word_end = state->word_end(); - LineIterator cur_line = state->cur_line(); + //13-Sep-04 + CheckerString * check = state.get(); + if (!check) + return; + + const char * word_begin = check->word_begin(); + const char * word_end = check->word_end(); + LineIterator cur_line = check->cur_line(); #if HAVE_LIBCURSES @@ -823,13 +833,13 @@ } else #endif { - display_menu(stdout, word_choices.get(), 80, dconv); - display_menu(stdout, menu_choices.get(), 80); + display_menu(stdout, acommon::word_choices.get(), 80, dconv); + display_menu(stdout, acommon::menu_choices.get(), 80); } } void prompt(const char * prompt) { - last_prompt = prompt; + acommon::last_prompt = prompt; #if HAVE_LIBCURSES if (use_curses) { werase(choice_w); @@ -853,7 +863,7 @@ #endif { fputs(error, stdout); - fputs(last_prompt, stdout); + fputs(acommon::last_prompt, stdout); fflush(stdout); } } diff -r -u -b -w --unidirectional-new-file aspell-0.60/prog/check_funs.hpp aspell-0.60-vc++/prog/check_funs.hpp --- aspell-0.60/prog/check_funs.hpp 2004-06-02 07:15:02.000000000 -0600 +++ aspell-0.60-vc++/prog/check_funs.hpp 2004-11-07 04:36:12.000000000 -0700 @@ -14,23 +14,24 @@ #define MENU_HEIGHT 9 -using namespace acommon; +//13-Sep-04 using namespace acommon; -extern StackPtr state; +extern acommon::StackPtr state; extern const char * last_prompt; struct Choice { char choice; const char * desc; Choice() {} - Choice(char c, ParmString d) : choice(c), desc(d) {} + Choice(char c, acommon::ParmString d) : choice(c), desc(d) {} }; -typedef Vector Choices; -extern StackPtr word_choices; -extern StackPtr menu_choices; - +typedef acommon::Vector Choices; +namespace acommon { + extern acommon::StackPtr word_choices; + extern acommon::StackPtr menu_choices; +} //namespace void get_choice(int & choice); -void get_line(String & line); +void get_line(acommon::String & line); void begin_check(); void display_misspelled_word(); void display_menu(); diff -r -u -b -w --unidirectional-new-file aspell-0.60/prog/settings.h aspell-0.60-vc++/prog/settings.h --- aspell-0.60/prog/settings.h 1969-12-31 17:00:00.000000000 -0700 +++ aspell-0.60-vc++/prog/settings.h 2004-11-07 04:36:12.000000000 -0700 @@ -0,0 +1,98 @@ +/* common/settings.h.in. Generated from configure.ac by autoheader. */ + +/* Defined if no special Workarounds are needed for Curses headers */ +#undef CURSES_INCLUDE_STANDARD + +/* Defined if special Wordaround I is need for Curses headers */ +#undef CURSES_INCLUDE_WORKAROUND_1 + +/* Defined if curses like POSIX Functions should be used */ +#undef CURSES_ONLY + +/* Defined if win32 relocation should be used */ +#define ENABLE_WIN32_RELOCATABLE 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Defined if msdos getch is supported */ +#undef HAVE_GETCH + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Defined if the curses library is available */ +#undef HAVE_LIBCURSES + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Defined if mmap and friends is supported */ +#undef HAVE_MMAP + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Defined if Posix Termios is Supported */ +#undef POSIX_TERMIOS + +/* Defined if STL rel_ops polute the global namespace */ +#undef REL_OPS_POLLUTION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Defined if file ino is supported */ +#undef USE_FILE_INO + +/* Defined if file locking and truncating is supported */ +#undef USE_FILE_LOCKS + +/* Defined if Posix locales are supported */ +#undef USE_LOCALE + +/* Version number of package */ +#define VERSION "0.50.4.1" + + +#define DATA_DIR "aspell-win32/data" +#define CONF_DIR "aspell-win32" +#define DICT_DIR "dicts" +#define PREFIX "aspell-win32" +#define PACKAGE_VERSION "aspell-6.0" \ No newline at end of file Only in aspell-0.60/: README Only in aspell-0.60/: scripts Only in aspell-0.60/: TODO