ChangeLog 87 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993
  1. 2016-04-29 Caolán McNamara <caolanm at LibO>:
  2. * deprecate old api and add new one
  3. old one remains implemented in terms of new one
  4. and will eventually be removed
  5. * shrink exposed api down to just hunspell.hxx
  6. * next major release is likely to require C++11
  7. 2016-04-15 Caolán McNamara <caolanm at LibO>:
  8. * generally using std::string and std::vector internally
  9. 2016-04-13 Caolán McNamara <caolanm at LibO>:
  10. * gh#371 drop experimental code
  11. 2015-09-11 Caolán McNamara <caolanm at LibO>:
  12. * rhbz#1261421 crash on mashing hangul korean keyboard
  13. 2014-12-03 Németh László <nemeth at numbertext dot org>:
  14. * tools/hunspell.cxx: security fixes of the Hunspell executable
  15. - secure file name handling, the problem (checking
  16. OpenDocument files with malicious file names)
  17. reported by Eric Sesterhenn
  18. - using tmpnam() only with system("mkdir tempname && ...")
  19. 2014-10-17 Caolán McNamara <caolanm at LibO>:
  20. * sf#245 Feature from Anish Patil -S mode
  21. to show suggestions for completion of
  22. correctly spelled words
  23. * sf#248 Fix manpage about how to include
  24. 2014-10-16 Caolán McNamara <caolanm at LibO>:
  25. * rhbz#915448, sf#57, sf#185 report character offset
  26. and not byte offset in ispell mode
  27. * sf#56 segv in experimental mode
  28. * sf#228 don't translate init string
  29. 2014-09-22 Németh László <nemeth at numbertext dot org>:
  30. * fix crash in morphological analysis of the Hungarian
  31. compound word 'művészegyéniség', reported by Gáspár Sinai
  32. 2014-08-26 Németh László <nemeth at numbertext dot org>:
  33. * unmunch separates flags of prefixes from the word,
  34. bug reported by Daniel Naber
  35. 2014-08-05 Németh László <nemeth at numbertext dot org>:
  36. * moz#318040 Mozzilla accepts abbreviations without dots
  37. * myfopen(): add _wfullpath to expand relative parts of absolute paths
  38. 2014-07-16 Caolán McNamara <caolanm at LibO>:
  39. * moz#675553 Switch from PRBool to bool
  40. * moz#690892 replace PR_TRUE/PR_FALSE with true/false
  41. * Silence the warning about empty while body loop in clang
  42. * moz#777292 Make nsresult an enum
  43. * moz#579517 Use stdint types in gecko
  44. * moz#784776 consistently use FLAG_NULL
  45. * moz#927728 Convert PRUnichar to char16_t
  46. * moz#943268 Remove nsCharsetAlias and nsCharsetConverterManager
  47. * Don't include config.h in license.hunspell if MOZILLA_CLIENT is set
  48. 2014-06-26 Caolán McNamara <caolanm at LibO>:
  49. * clang scan-build: Allocator sizeof operand mismatch
  50. * clang scan-build: other low hanging warnings
  51. * clang scan-build: significant warnings
  52. 2014-06-02 Németh László <nemeth at numbertext dot org>:
  53. * escape spaces in paths of ODF files
  54. 2014-05-28 Németh László <nemeth at numbertext dot org>:
  55. * add long path/Unicode path support in WIN32 environment:
  56. - hunspell#233 (reported by mahak gark) and LibreOffice fdo#48017
  57. * flat ODF support, eg.:
  58. hunspell doc.fodt
  59. cat doc.fodt | hunspell -l -O
  60. * new options:
  61. - -X (XML) input format
  62. - -O (ODF or flat ODF) input format
  63. - --check-apostrophe: check and force Unicode apostrophe usage
  64. (ASCII or Unicode apostrophe has to be in the
  65. WORDCHARS section of the affix file)
  66. * fix ODF support:
  67. - break 1-line XML of ODT documents at </style:style>, too,
  68. not only at </text:p> (limiting tokenization problems, when
  69. fgets stops within an XML tag)
  70. - show ODF file path on the UI instead of the temporary file
  71. * fix XML support:
  72. - ', ", &, < and > in replacements converted to XML entities
  73. - recognize &apos at tokenization, depending from WORDCHARS
  74. - &apos; in tokens converted to ' before spell checking and
  75. in the output of the pipe interface
  76. * better apostrophe usage:
  77. - WORDCHARS only with one of the Unicode or ASCII apostrophe
  78. results extended word tokenization: both of them will be part of
  79. the words (if they are inside: eg. word's, but not words').
  80. - convert Unicode apostrophes to ASCII ones for 8-bit dictionaries
  81. (eg. English dictionaries), or for UTF-8 dictionaries only
  82. with ASCII apostrophe supports (eg. French dictionaries).
  83. * updated manual:
  84. - hunspell.4 renamed to hunspell.5, see
  85. hunspell#241 reported by Cristopher Yeleighton
  86. - updated translations
  87. - note about long/Unicode paths in WIN32 (hunspell.3)
  88. 2014-04-25 Németh László <nemeth at numbertext dot org>:
  89. * OpenDocument support, eg.
  90. hunspell *.odt
  91. hunspell -l *.odt
  92. * always load default personal dictionary (fix
  93. filtering bad words - reduce this word list - using
  94. it as a personal dictionary workflow)
  95. * fix parsing/URL recognition problem (bad tokens
  96. with aposthrophes)
  97. 2013-07-25 pchang9@cs.wisc.edu
  98. * moz#897255 Wasted work in line_uniq
  99. * moz#897780 Wasted work in SuggestMgr::twowords
  100. 2013-07-25 Caolán McNamara <caolanm at LibO>:
  101. * hunspell#167 layout problems with long lines
  102. - based on the original fix by xorho
  103. adapted to HEAD
  104. * rhbz#925562 upgrade config.guess for aarch64
  105. 2013-07-24 pchang9@cs.wisc.edu
  106. * moz#896301 Wasted work in SfxEntry::checkword
  107. * moz#896844 Wasted work in AffixMgr::defcpd_check
  108. 2013-06-13 Konstantin Khlebniko
  109. * #49 HashMgr::add_word computes wrong size for struct hentry
  110. 2013-06-13 Ville Skyttä
  111. * #53 Man page syntax fixes
  112. 2013-04-19 John Thomson <john thomson at SIL>
  113. * win_api: add remove() of Hunspell API (hun#3606435)
  114. 2013-04-19 Rouslan Solomokhin <at sf.net>
  115. * fix crash in suggestions for 99-character long words
  116. by extending arrays of SuggestMgr::forgotchar_*
  117. (hun#3595024, also http://crbug.com/130128),
  118. thanks to also Paweł Hajdan to report the patch
  119. 2013-04-01 Caolán McNamara <caolanm at LibO>:
  120. * hunspell: -Werror=undef
  121. 2013-03-13 Caolán McNamara <caolanm at LibO>:
  122. * rhbz#918938 crash in interaction with danish thesaurus
  123. 2012-09-18 Németh László <nemeth at numbertext dot org>:
  124. * src/hunspell/affixmgr.*: - fix morphological analysis of
  125. compound words (hun#3544994, reported by Dávid Nemeskey, fdo#55045)
  126. 2012-06-29 Caolán McNamara <caolanm at LibO>:
  127. * fix various coverity warnings
  128. 2012-01-10 Ehsan Akhgari <ehsan at mozilla dot com>
  129. * moz#710940 Firefox Crash [@ AffixMgr::parse_file(char const*, char
  130. const*) ]
  131. 2011-12-16 Jared Wein <jwein at mozilla dot com>
  132. * moz#710967 Incorrect argument passed to strncmp in
  133. AffixMgr::parse_convtable
  134. 2011-12-06 Caolán McNamara <caolanm at LibO>:
  135. * rhbz#759647 fixed tempname of hunSPELL.bak collides with other users
  136. when multiple edits in one dir
  137. 2011-10-13 Caolán McNamara <caolanm at LibO>:
  138. * moz#694002 crash in hunspell affixmgr on exit with bad .aff
  139. * leak in hunspell affixmgr with bad .aff
  140. 2011-09-19 Caolán McNamara <caolanm at LibO>:
  141. * make libparsers.a not installed thanks to Tomáš Chvátal
  142. 2011-06-23 Caolán McNamara <caolanm at LibO>:
  143. * fix some windows compiler warnings
  144. 2011-05-24 Németh László <nemeth at numbertext dot org>:
  145. * src/hunspell/affixmgr.*: allow twofold suffixes in compounds
  146. by extended version of Arno Teigseth's patch, see hun#3288562.
  147. - new option for this feature: COMPOUNDMORESUFFIXES
  148. 2011-02-16 Németh László <nemeth at numbertext dot org>:
  149. * src/*/Makefile.am: fix library versioning, the probem reported by
  150. Rene Engerhald and Simon Brouwer.
  151. * man/hunspell.4: new version based on the revised version of Ruud Baars
  152. 2011-02-02 Németh László <nemeth at OOo>:
  153. * suggestngr.cxx: fix ngram PHONE suggestion for input words with
  154. diacritics using UTF-8 encoded dictionaries (add byte length to the
  155. 8-bit phonet() argument instead of character length)
  156. * suggestmgr.cxx: fix missing csconv problem with UTF-8 encoding
  157. dictionares, when the input contains non-BMP characters
  158. - tests/utf8_nonbmp.sug: test file
  159. * suggestmgr.cxx: mixed and keyboard based character suggestions
  160. don't forbid ngram suggestion search (optimized tests/suggestiontest)
  161. * affixmgr.cxx: fix hun#2999225: interfering compounding mechanisms,
  162. tested on Dutch word list and reported by Ruud Baars
  163. * affixmgr.cxx: allomorph fix for hun#2970240 (Hungarian
  164. compound "vadász+gép" was analyzed as vad+ász+gép, and rejected
  165. by the ss->s rep rule (verb "vadássz"), but the analysis
  166. didn't continue for the longer word parts (vadász+gép).
  167. * csutil.cxx: add lang code "az_AZ", "hu_HU", "tr_TR" for back
  168. compatibility (fixing Azeri and Turkish casing conversion, also
  169. Hungarian compound handling)
  170. * affixmgr.cxx: fix morphological analysis
  171. 2011-01-26 Németh László <nemeth at OOo>:
  172. * affixmgr.cxx: fix for moz#626195 (memcheck problem with FULLSTRIP).
  173. * affixmgr.*, suggestmgr.cxx: FORBIDWARN parameter (see manual)
  174. 2011-01-24 Németh László <nemeth at OOo>:
  175. * suffixmgr.cxx: fix bad suggestion of forbidden compound words, eg.
  176. "termijndoel" with the Dutch dictionary. Reported by Ruud Baars.
  177. * latexparser.cxx: fix double apostrophe TeX quoation mark tokenization
  178. (hun#3119776), reported by Wybodekker at SF.net.
  179. * tests/suggestiontest/*: multilanguage and single Hunspell version, see README
  180. * tests/suggestiontest/prepare2: for make -f Makefile.orig single
  181. 2011-01-22 Németh László <nemeth at OOo>:
  182. * affixmgr.*, suggestmgr.*: new features
  183. ONLYMAXDIFF: remove all bad ngram suggestions (default mode keeps one)
  184. NONGRAMSUGGEST: similar to NOSUGGEST, but it forbids to use the word
  185. in ngram based (more, than 1-character distance) suggestions.
  186. 2011-01-21 Németh László <nemeth at OOo>:
  187. * suggestmgr.*: limit wild suggestions (hun#2970237 by Ruud Baars)
  188. - limited compound word suggestions
  189. - improved and limited ngram based suggestions
  190. * tests/*.sug: modified test files
  191. - feature MAXCPDSUGS:
  192. MAXCPDSUGS 0 : no compound suggestion, suggested by
  193. Finn Gruwier Larsen in hunfeat#2836033
  194. MAXCPDSUGS n : max. ~n compound suggestions
  195. - feature MAXDIFF: differency limit for ngram suggestions: 0-10
  196. eg. MAXDIFF 5: normal (default) limit
  197. MAXDIFF 0: only one ngram suggestion
  198. MAXDIFF 10: ~maxngramsugs ngram suggestions
  199. * affixmgr.*, hunspell.*: add flag FORCEUCASE (hun#2999228), force
  200. capitalization of compound words, see Hunspell 4 manual),
  201. suggested by Ruud Baars
  202. test/forceucase.*: test files
  203. * affixmgr.*, hunspell.*: add flag WARN (hun#1808861), optional warning feature
  204. for rare words, suggested by Ruud Baars
  205. tests/warn: test files
  206. * tools/hunspell.cxx: add option -r for optional filtering of rare words
  207. * affixmgr.cxx: fix hun#3161359 (gcc warnings) reported by Ryan VanderMeulen.
  208. 2011-01-17 Németh László <nemeth at OOo>:
  209. * suggestmgr.cxx: fix hun#3158994 and hun#3159027 (missing csconv table
  210. using awkward 8bit capitalization of UTF-8 encoded dictionary words with PHONE
  211. suggestion, reported by benjarobin and dicollecte at SF.net).
  212. 2011-01-13 Németh László <nemeth at OOo>:
  213. * affixmgr.cxx: ONLYINCOMPOUND fix for hun#2999224 (fogemorphene
  214. was allowed in end position of compoundings). Reported by Ruud Baars.
  215. * tests/onlyincompound2.*: test files
  216. 2011-01-10 Ingo H. de Boer <idb_winshell at SF.net>:
  217. * win_api/{hunspell,libhunspell, testparser}.vcproj: updated project
  218. files for the library and the executables. Compiling problem
  219. also reported by Don Walker.
  220. 2011-01-06 Németh László <nemeth at OOo>:
  221. * affixmgr.cxx: fix freedesktop#32850 (program halt during Hungarian
  222. spell checking of the word "6csillagocska6", reported by András Tímár)
  223. * tools/hunspell.cxx: add Mac OS X Hunspell dictionary paths, asked by
  224. Vidar Gundersen in hunfeat#3142010
  225. 2011-01-05 Caolán McNamara <cmc at OOo>:
  226. * moz#620626 NS_UNICHARUTIL_CID doesn't support
  227. case conversion
  228. 2011-01-03 Németh László <nemeth at OOo>:
  229. * NEWS and THANKS: update for release 1.2.13
  230. 2010-12-20 Németh László <nemeth at OOo>:
  231. * affixmgr.cxx: hun#3140784
  232. 2010-12-16 Németh László <nemeth at OOo>:
  233. * affixmgr.cxx:
  234. - improved fix of hun#2970242 (supporting
  235. zero affixes, reported by Ruud Baars
  236. - tests/opentaal_cpdpat{,2}: test files
  237. - switching off default BREAK parameters by BREAK 0,
  238. reported by Ruud Baars
  239. - hun#2999225: interfering compounding mechanisms, reported by Ruud Baars
  240. 2010-12-11 Németh László <nemeth at OOo>:
  241. * affixmgr.cxx: fix hun#2970242 (CHECKCOMPOUNDPATTERN only with flags),
  242. the bug reported by Ruud Baars
  243. * tests/2970242.*: test files
  244. * tests/2970240.*: test files for CHECKCOMPOUNDPATTERN fix (check all
  245. boundaries in compound words, fixed by the previous CHECKCOMPOUNDREP
  246. fix), the bug reported by Ruud Baars
  247. * win_api/Makefile.cygwin: update
  248. 2010-12-09 Caolán McNamara <cmc at OOo>:
  249. * moz#617953 fix leak
  250. 2010-11-08 Caolán McNamara <cmc at OOo>:
  251. * rhbz#650503 crash in arabic dictionary
  252. 2010-11-05 Caolán McNamara <cmc at OOo>:
  253. * rhbz#648740 don't warn on empty flagvector
  254. 2010-11-03 Caolán McNamara <cmc at OOo>:
  255. * logically we shouldn't need a csconv table in utf-8 mode
  256. 2010-10-27 Németh László <nemeth at OOo>:
  257. * hun#3000055 (requested by Ruud Baars) add REP boundary specifiation:
  258. REP ^word$ xxxx
  259. REP ^wordstarting xxxx
  260. REP wordending$ xxxx
  261. * hun#3008434 (requested by Adrián Chaves Fernández) and
  262. hun#3018929 (requested by Ruud Baars): REP with more than 2 words:
  263. REP morethantwo more_than_two
  264. * suggestmgr.cxx: fix incomplete suggestion list for capitalized words,
  265. eg. missing Machtstrijd->Machtsstrijd in the Dutch dictionary
  266. (reported by Ruud Bars)
  267. * tests, man: related updates
  268. 2010-10-12 Caolán McNamara <cmc at OOo>:
  269. * moz#603311 HashMgr::load_tables leaks dict when decode_flags fails
  270. * fix mem leak found with new tests
  271. * hun#3084340 allow underscores in html entity names
  272. 2010-10-07 Németh László <nemeth at OOo>:
  273. * affixmgr.cxx:
  274. - hun#2970239 fix bad suggestion of forbidden compound words
  275. - hun#2999224 fix keepcase feature on compound words (only partial
  276. fix for COMPOUNDRULE based compounding)
  277. - fix checkcompoundrep feature in compound words (check all boundaries,
  278. not only the last one)
  279. Problems reported by Ruud Baars.
  280. * tests/opentaal_forbiddenword[12]*, tests/opentaal_keepcase*:
  281. new test files for the previous fixes
  282. * tests/checkcompoundrep: extended test file.
  283. 2010-09-05 Caolán McNamara <cmc at OOo>:
  284. * moz#583582 fix double buffer gcc fortify issue
  285. 2010-08-13 Caolán McNamara <cmc at OOo>:
  286. * moz#586671 AffixMgr::parse_convtable leaks pattern/pattern2 if it
  287. can't create both
  288. * moz#586686 tidy up get_xml_list and friends
  289. 2010-08-10 Caolán McNamara <cmc at OOo>:
  290. * hun#3022860 fix remove duplicate code
  291. 2010-07-17 Caolán McNamara <cmc at OOo>:
  292. * remove ununsed get_default_enc and avoid potential misrecognition of
  293. three letter language ids
  294. * normalize encoding names before lookup
  295. 2010-07-05 Caolán McNamara <cmc at OOo>:
  296. * hun#2286060 add Hangul syllables to unicode tables
  297. 2010-06-26 Caolán McNamara <cmc at OOo>:
  298. * moz#571728 keep new[]/delete[] wrappers in sync for embedded in moz
  299. case
  300. 2010-06-13 Caolán McNamara <cmc at OOo>:
  301. * moz#571728 keep new[]/delete[] wrappers in sync for embedded in moz
  302. case
  303. 2010-06-02 Caolán McNamara <cmc at OOo>:
  304. * moz#569611 compile cleanly under win64
  305. 2010-05-22 Caolán McNamara <cmc at OOo>:
  306. * moz#525581 apply mozilla's current preferred get_current_cs impl
  307. 2010-05-17 Németh László <nemeth at OOo>:
  308. * affixmgr.cxx: fix bad limitation of parenthesized flags at
  309. COMPOUNDRULEs. Windows crash reported by Ruud Baars and Simon Brouwer.
  310. 2010-05-05 Caolán McNamara <cmc at OOo>:
  311. * rhbz#589326 malloc of int that should have been of char**
  312. * hun#2997388 fix ironic misspellings
  313. 2010-04-28 Caolán McNamara <cmc at OOo>:
  314. * moz#550942 get_xml_list doesn't handle failure from get_xml_par
  315. 2010-04-27 Caolán McNamara <cmc at OOo>:
  316. * moz#465612 mozilla-specific code leaks
  317. * moz#430900 phone is dereferenced before oom check
  318. * moz#418348 ckey_utf alloc is used unchecked in SuggestMgr::badcharkey_utf
  319. * CID#1487 pointer "rl" dereferenced before NULL check
  320. * CID#1464 Returned without freeing storage "ptr"
  321. * CID#1459 Avoid duplicate strchr
  322. * CID#1443 Avoid any chance of dereferencing *slst
  323. * CID#1442 Unsafe to have a null morph
  324. * CID#1440 Avoid null filenames
  325. * CID#1302 Dereferencing NULL value "apostrophe"
  326. * CID#1441 Avoid deferencing null ppfx
  327. 2010-04-16 Caolán McNamara <cmc at OOo>:
  328. * hun#2344123 fix U)ncap in utf-8 locale
  329. * fix up hunspell text UI and lines wider than terminal
  330. 2010-04-15 Caolán McNamara <cmc at OOo>:
  331. * hun#2613701 fix small leak in FileMgr::FileMgr
  332. * fix small leak in tools/hunspell
  333. * hun#2871300 avoid crash if def and words are NULL
  334. * hun#2904479 fix length of hzip file
  335. * hun#2986756 mingw build fix
  336. * hun#2986756 fix double-free
  337. * hun#2059896 fix crash in interactive mode without nls
  338. * hun#2917914 add some extra words to the latexparser
  339. * make some structs static
  340. * C-api has duped symbol names
  341. * regenerate gettext/intl with recent version
  342. * hun#2796772 build a .dll under MinGW
  343. * rhbz#502387 allow cross-compiling for MinGW target
  344. * hun#2467643 update .vcproj files to include replist.?xx
  345. * unify visiblity/dll_export support across platforms
  346. * hun#2831289 sizeof(short) typo
  347. * hun#2986756 add -u3 gcc style output
  348. 2010-04-14 Caolán McNamara <cmc at OOo>:
  349. * hun#2813804 fix segfault on hu_HU stemming
  350. 2010-04-13 Caolán McNamara <cmc at OOo>:
  351. * hun#2806689 fix ironic misspellings
  352. * hun#2836240 add Italian translations
  353. 2010-04-09 Caolán McNamara <cmc at OOo>:
  354. * fix titchy possible leak in command-line spellchecker
  355. 2010-04-07 Caolán McNamara <cmc at OOo>:
  356. * hun#2973827 apply win64 patch
  357. * hun#2005643 fix broken mystrdup
  358. 2010-03-04 Caolán McNamara <cmc at OOo>:
  359. * ooo#107768 fix crash in long strings in spellml mode
  360. * hun#1999737 add some malloc checks
  361. * hun#1999769 drop old buffer on realloc failure
  362. * hun#2005643 tidy string functions
  363. * hun#2005643 micro-opt
  364. * hun#2006077 free strings on failed dict parse
  365. * hun#2110783 ispell-alike verbose mode implementation
  366. 2010-03-03 Németh László <nemeth at OOo>:
  367. * hunspell/(affixmgr, suggestmgr).cxx: add character sequence
  368. support for MAP suggestion, using parenthesized character groups
  369. in the syntax, eg. MAP ß(ss).
  370. * man/hunspell.4, tests/map*: documentation and test files
  371. 2010-02-25 Németh László <nemeth at OOo>:
  372. * hunspell/hunspell.cxx: add recursion limit for BREAK (fix OOo Issue 106267)
  373. * hunspell/hunspell.cxx: fix crash in morphological analysis of
  374. capitalized words with ending dashes
  375. * affixmgr.cxx: fix morphological analysis of long numbers combined with dash,
  376. eg. 45-00000045 (reported by a@freeblog.hu).
  377. 2010-02-23 Caolán McNamara <cmc at OOo>:
  378. * hun#2314461 improve ispell-alike mode
  379. * hun#2784983 improve default language detection
  380. * hun#2812045 fix some compiler warnings
  381. * hun#2910695 survive missing HOME dir
  382. * hun#2934195 fix suggestmgr crash
  383. * hun#2921129 remove unused variables
  384. * hun#2826164 make sure make check uses the in-tree libhunspell
  385. * bump toolchain to support --disable-rpath
  386. * hun#2843984 fix coverity warning
  387. * hun#2843986 fix coverity warning
  388. * hun#2077630 add iconv lib
  389. * make gcc strict-aliasing warning free
  390. * make cppcheck warning free
  391. 2008-11-01 Németh László <nemeth at OOo>:
  392. * replist.*, hunspell.cxx, affixmgr.cxx: new input and output
  393. conversion support, see ICONV and OCONV keywords in the Hunspell(4)
  394. manual page and the test examples. The input/output conversion
  395. problem of syllabic languages reported by Daniel Yacob and
  396. Shewangizaw Gulilat.
  397. - tests/{iconv,oconv}.*: test examples
  398. * tools/wordforms: word generation script for dictionary developers
  399. (Hunspell version of the unmunch program)
  400. * hunspell/hunspell.cxx: extended BREAK feature: ^ and $ mean in break
  401. patterns the beginning and end of the word.
  402. - tests/BREAK.*: modified examples.
  403. * hunspell/hunspell.cxx: set default break at hyphen characters.
  404. The associated problem reported by S Page in Hunspell Bug 2174061.
  405. See Mozilla Bug ID 355178 and OOo Issue 64400, too.
  406. - tests/breakdefault.*: test data
  407. The following definition is equivalent of the default word break:
  408. BREAK 3
  409. BREAK -
  410. BREAK ^-
  411. BREAK -$
  412. * affixmgr.cxx: SIMPLIFIEDTRIPLE is a new affix file keyword to allow
  413. simplified forms of the compound words with triple repeating letters.
  414. It is useful for Swedish and Norwegian languages.
  415. * affixmgr.cxx: extend CHECKCOMPOUNDPATTERN to support
  416. alternations of compound words for example by sandhi
  417. feature of Indian and other languages. The problem reported
  418. by Kiran Chittella associated with Telugu writing system
  419. (see Telugu example in tests/checkcompoundpattern4.test).
  420. The new optional field of CHECKCOMPOUNDPATTERN definition is the
  421. replacement of the compound boundary defined by the previous fields:
  422. CHECKCOMPOUNDPATTERN ff f ff
  423. means ff|f compound boundary has been replaced by "ff", like in
  424. the (prereform) German Schiffahrt (Schiff+fahrt).
  425. - CHECKCOMPOUNDPATTERN supports also optional flag conditions now:
  426. CHECKCOMPOUNDPATTERN ff/A f/B ff
  427. means that the first word of the compound needs flag "A" and
  428. the second word of the compound needs flag "B" to the operation.
  429. * tools/hunspell.cxx: add empty lines as separators to the output of
  430. the stemming and morphological analysis.
  431. * affixmgr.cxx: fix condition checking algorithm. Bad suggestion
  432. generation reported by Mehmet Akin in SF.net Bug 2124186 with help of
  433. Eleonora Goldman.
  434. * affixmgr,cxx: fix COMPOUNDWORDMAX feature. The problem and its
  435. code details reported by Göran Andersson under SF.net Bug ID 2138001.
  436. * csutil.cxx: fix bad conditional code for Mozilla compilation.
  437. Patch by Serge Gautherie. The problem reported by Ryan VanderMeulen.
  438. * hunspell/hunspell.cxx: add missing ngram suggestion for HUHINITCAP
  439. (capitalized mixed case) words.
  440. * w_char.hxx: use GCC conditions for GCC related code. Patch by
  441. Ryan VanderMeulen.
  442. * affixmgr.cxx: check morphological description in morphgen()
  443. (fix potential program fault by incomplete morphological
  444. description of affix rules)
  445. * src/win_api: config.h: switch on warning messages on Windows
  446. * tools/affixcompress: extended help for -h (use LC_ALL=C sort
  447. for input word list)
  448. * man/hunspell.4: updated manual:
  449. - new and modified features (SIMPLIFIEDTRIPLE, ICONV, OCONV,
  450. BREAK, CHECKCOMPOUNDPATTERN).
  451. - note about costs of zero affixes, suggested by Olivier Ronez.
  452. * hunspell/hunspell.cxx: remove deprecated word breaking codes.
  453. 2008-08-15 Németh László <nemeth at OOo>:
  454. * affentry.cxx: add FULLSTRIP option. With FULLSTRIP, affix rules can
  455. strip full words, not only one less characters. Suggested by
  456. Davide Prina and other developers in OOo Issue 80145.
  457. * tests/fullstrip.*: Test data based on Davide Prina's example.
  458. * tools/unmunch.cxx: modified for FULLSTRIP.
  459. * affixmgr.cxx: COMPOUNDRULE now works with long and numerical flag
  460. types by parenthesized flags. Syntax: (flag)*, (flag)(flag)?(flag)*.
  461. * tests/compoundrule[78].*: tests with parenthesized COMPOUNDRULE
  462. definitions.
  463. * suggestmgr.cxx: modified badchar*(), forgotchar*() and extrachar*()
  464. 1-character distance suggestion algorithms: search a TRY character
  465. in all position instead of all TRY characters in a character position
  466. (it can give more readable suggestion order, also better suggestions
  467. in the first positions, when TRY characters are sorted by frequency.)
  468. For example, suggestions for "moze":
  469. ooze, doze, Roze, maze, more etc. (Hunspell 1.2.6),
  470. maze, more, mote, ooze, mole etc. (Hunspell 1.2.7).
  471. * suggestmgr.cxx: extended compound word checking for better COMPOUNDRULE
  472. related suggestions, for example English ordinal numbers: 121323th ->
  473. 121323rd (it needs also a th->rd REP definition).
  474. * phonet.cxx: cast unsigned char parameter of isdigit() and fix
  475. isalpha by myisalpha() (potential problems in Windows environment).
  476. Reported by Thomas Lange in OOo Issue 92736.
  477. * hunspell/csutil.*,hunspell/{affentry,affixmgr,hunspell,suggestmgr}.cxx:
  478. fix potential buffer overloading under morphological analysis by the
  479. new mystrcat() function. Reported by Molnár Andor (dolhpy at true
  480. dot hu) in SF.net Bug 2026203.
  481. * affixmgr.cxx: add recursion limit to defcpd(). Fix OOo Issue 76067:
  482. crash-like deceleration by checking hexadecimal numbers with long FFF
  483. sequence (combinatory explosion by the en_US words "f" and "ff").
  484. Missing fix reported by Mathias Bauer.
  485. * affixmgr.cxx: fix the difference in the Unicode and non-Unicode
  486. parts of cpdcase_check(). Bug report by Brett Wilson.
  487. * filemgr.*, affixmgr.cxx, csutil.*, hashmgr.*: warning messages now
  488. contain line numbers (use --with-warnings configure option for
  489. warning messages).
  490. * hunspell.cxx: analyze(): fix case conversion of stemming and
  491. morphological analysis of UTF-8 encoded input. Reported by Ferenc Godó.
  492. * tools/hunspell.cxx: fix LaTeX Unicode support in filter mode.
  493. Reported by Jan Seeger in SF.net Bug 2039990.
  494. * affixmgr.hxx: 0.5 or in 64 bit environment, 1 MB (virtual) memory
  495. saving using only the requested size for sFlag and pFlag arrays.
  496. Bug report by Brett Wilson.
  497. * affixmgr.cxx,tools/hunspell.cxx: get_version() returns with full
  498. VERSION affix parameter instead of its first word. Fixes for
  499. Hunspell's header. Some problems with Hunspell header reported in
  500. SF.net Bug 2043080.
  501. 2008-07-15 Németh László <nemeth at OOo>:
  502. * affentry.cxx: fixes of the affix rule matching algorithm (affected
  503. only the sk_SK dictionary from all OpenOffice.org dictionaries):
  504. - fix dot pattern + accented letters matching (in non Unicode encoding)
  505. - word-length conditions work again
  506. * tests/condition.*: extended test for the fix.
  507. * hashmgr.cxx: load multiword expressions: spaces may be parts
  508. of the dictionary words again (but spaces also work as morphological
  509. field separators: word word2 -> "word word2", word po:noun -> "word").
  510. * man/hunspell.4: updated manual
  511. * tools/hunspell.cxx: add iconv character conversion support to
  512. stemming and morphological analysis
  513. * tools/hunspell.cxx: add /usr/share/myspell/dicts search path for
  514. Ubuntu support
  515. 2008-07-09 Németh László <nemeth at OOo>:
  516. * affentry.cxx: fixes of the affix rule matching algorithm:
  517. - right ASCII character handling in bracket expression;
  518. - fault-tolerant nextchar() for bad rules.
  519. Problem with the en_GB dictionary and nextchar() with a detailed
  520. code analysis reported by John Winters in SF.net Bug ID 2012753.
  521. * tests/condition.*: extended test for the fix.
  522. * hunspell/hunspell.*, parsers/*, tools/hunspell.cxx: fix compiler
  523. warnings (deprecated const-free char consts)
  524. * win_api/hunspelldll.*: add hunspell_free_list(), the problem
  525. reported by Laurier Mercer.
  526. 2008-06-30 Török László <torok_laszlo at users dot SF dot net>:
  527. * tests/affixmgr.cxx: fix morphological analysis: strcat() on
  528. an uninitialized char array in suffix_check_morph().
  529. 2008-06-18 Németh László <nemeth at OOo>:
  530. * src/hunspell/affixmgr.cxx: fix GCC compiler warnings
  531. (comparisons with string literal results in unspecified behaviour).
  532. The problem reported by Ladislav Michnovič.
  533. 2008-06-17 Németh László <nemeth at OOo>:
  534. * src/hunspell/{hunspell.cxx,hunspell.h}: add free_list() to the C and
  535. C++ interface to deallocate suggestion lists. The problem
  536. reported by Laurie Mercer and Christophe Paris.
  537. * csutil.cxx: fix freelist() to deallocate non-NULL list, when n = 0.
  538. * tools/{analyze,example,chmorph,hunspell}.cxx: use free_list().
  539. * tools/hunspell.cxx: fix only --with-readline compiling problem.
  540. Reported by Volkov Peter in SF.net Bug 1995842.
  541. * man/hunspell.3,hunspell.hxx: fix analyze and generate examples in
  542. the manual and comments (using char*** parameter instead of char**).
  543. * tools/example.cxx: fix suggestion example.
  544. 2008-06-17 Németh László <nemeth at OOo>:
  545. * affentry.cxx: fix the new affix rule matching algorithm of
  546. Hunspell 1.2. Arabic dictionary problem reported by Khaled Hosny
  547. in SF.net Bug ID 1975530. Mohamed Kebdani also sent a
  548. prepared test data.
  549. * tests/{1975530,condition*}: tests for the fix
  550. 2008-06-13 Ingo H. de Boer <idb_winshell at SF.net>:
  551. * src/hunspell/{affixmgr.cxx,hunspell.cxx}: add missing type
  552. cast to strstr() calls for VC8 compatibility.
  553. 2008-06-13 Németh László <nemeth at OOo>:
  554. * suggestmgr.cxx: add also part1-part2 suggestion with dash
  555. for bad part1part2 word forms, suggested by Ruud Baars.
  556. For example, now suggestion of "parttime": "part time"
  557. and "part-time".
  558. NOTE: this feature will work only when the TRY definition
  559. contains "-" or the letter "a".
  560. * hunspell.cxx: new XML API in spell() and suggest() (see hunspell(3)).
  561. * src/hunspell/*: fixes for OpenOffice.org build environment.
  562. * man/{hunspell.3,hzip.1,hunzip.1}: add new manual pages for
  563. Hunspell programming API and dictionary compression and
  564. encryption utilities.
  565. * src/hunspell/*: handle failed mystrdup() calls and other potential
  566. insufficient memory problems. The problem reported by Elio Voci
  567. in OpenOffice.org Issue 90604 and others.
  568. * src/tools/affixmgr.cxx: restore original behaviour of get_wordchars
  569. without conditional code. Problem reported by Ingo H. de Boer
  570. in SF.net Bug 1763105.
  571. * win_api/hunspelldll.h: put_word() renamed to add() in the (old)
  572. Windows DLL API bug reported in SF.net Bug 1943236. Also reported
  573. by Bartkó Zoltán.
  574. * tools/hunspell.cxx: fix chench() for environments without
  575. native language support (ENABLE_NLS 0 in config.h),
  576. PHP system_exec() bug reported by Michel Weimerskirch in
  577. SF.net Bug 1951087.
  578. * hunspell.cxx, affixmgr.cxx: remove "result" from the
  579. (result && *result) conditions, when "result" is a static variable.
  580. The problem and a possible solution reported by Ladislav Michnovič.
  581. * affixmgr.cxx: parse_affix(): print line instead of NULL in
  582. the warning message, when affix class header is bad.
  583. The problem reported by Ladislav Michnovič.
  584. 2008-06-01 Christian Lohmaier <cloph at OOo>
  585. * configure.ac: patch to fix --with-readline, --with-ui logic.
  586. Reported in the SF.net Bug 981395.
  587. 2008-05-04: Volkov Peter <volkov_peter at users sourceforge net>
  588. * configure.ac: fix LibTool 2.22 incompatibility by removing
  589. unused LT_* macros. Report and patch in SF.net Bug 1957383.
  590. The problem reported and fixed by Ladislav Michnovič, too.
  591. 2008-04-23: Ladislav Michnovič <lmichnovic at suse cz>
  592. * hunspell.pc.in: fix wrongly set directories.
  593. 2008-04-12 Németh László <nemeth at OOo>:
  594. * src/tools/hunspell.cxx:
  595. - Multilingual spell checking and special dictionary support with -d.
  596. Multilingual spell checking suggested by Khaled Hosny (SF.net
  597. Bug 1834280). Example for the new syntax:
  598. -d en_US,en_geo,en_med,de_DE,de_med
  599. en_US and de_DE are base dictionaries, and en_geo, en_med, de_med
  600. are special dictionaries (dictionaries without affix file).
  601. Special dictionaries are optional extension of the base dictionaries.
  602. There is no explicit naming convention for special dictionaries,
  603. only the ".dic" extension: dictionaries without affix file will
  604. be an extension of the preceding base dictionary. First dictionary
  605. in -d parameter must have an affix file (it must be a base
  606. dictionary).
  607. - new options for debugging, morphological analysis and stemming:
  608. -m: morphological analysis or flag debug mode (without affix
  609. rule data it signs the flag of the affix rules)
  610. -s: stemming mode
  611. -D: show also available dictionaries and search path
  612. (suggested by Aaron Digulla in SF.net Bug 1902133)
  613. - add missing refresh() to print bad words before the slower suggestion
  614. search in UI (better user experience)
  615. - fix tabulator problems (reported by ugli-kid-joe AT sf DOT net)
  616. - fix different encoding of dic and input, and suggestions
  617. - add per mille sign to LANG hu_HU section.
  618. - rewrite program messages. Concatenating multiple printfs for
  619. easier translation suggested by András Tímár and Gábor Kelemen.
  620. * src/hunspell/csutil.cxx: set static encds variable. Patch by
  621. Rene Engerhald. SF.net Bug 1896207 and 1939988.
  622. * src/hunspell/w_char.hxx,csutil.hxx: reorganizing
  623. w_char typedef and HENTRY_DATA, HENTRY_FIND consts
  624. * src/hunspell/hunzip.cxx: fopen(): using rb options instead of r (fix
  625. for Windows)
  626. * src/tools/affixmgr.cxx: restore original behaviour of get_wordchars
  627. in an #ifdef WINSHELL section. Problem reported by Ingo H. de Boer
  628. in SF.net Bug 1763105.
  629. * src/tools/chmorph.cxx: remove the experimental modifications
  630. * src/tools/hzip.c: fopen(): using wb options instead of w (fix
  631. for Windows)
  632. * src/tools/hunzip.cxx: add missing MOZILLA_CLIENT. Reported
  633. by Ryan VanderMeulen.
  634. * man/*, man/hu/*: updated manual
  635. * man/hunspell.4: fix formatting problem (missing header)
  636. * tools/makealias: now works with the extra data fields.
  637. * phonet.cxx: use HASHSIZE const
  638. * tests/rep.aff: fix REP count
  639. * src/win_api/Makefile.cygwin, README: native Windows compilation
  640. in Cygwin environment without cygwin1.dll dependency (see README
  641. for compiling instructions).
  642. 2008-04-08 Roland Smith <rsmith AT xs4all DOT nl>:
  643. * src/parsers/latexparser.cxx: fix PATTERN_LEN for AMD64 and
  644. other platforms with different struct padding (SF.net Bug 1937995).
  645. 2008-04-03 Kelemen Gábor <kelemeng AT gnome DOT hu>:
  646. * po/POTFILES.in: fix path of the source file
  647. * po/Makevars: add --from-code=UTF-8 gettext option
  648. * hunspell.cxx: add comments for shortkey translation
  649. 2008-02-04 Flemming Frandsen <flfr AT stibo DOT com>
  650. * src/hunspell.h: fix Windows DLL support
  651. - this patch also reported by Zoltán Bartkó.
  652. 2008-01-30 Mark McClain <marc_mcclain AT users DOT sf DOT net>
  653. * src/hunspell.cxx: stem(): fix function call side effect
  654. for PPC platform (SF.net Bug 1882105).
  655. 2008-01-30 Németh László <nemeth at OOo>:
  656. * hunspell.cxx, csutil.cxx, hunspelldll.c: fix
  657. SF.et Bug 1851246, patch also by Ingo H. de Boer.
  658. * hunspell.h: fix SF.net Bug 1856572 (C prototype problem),
  659. patch by Mark de Does.
  660. * hunspell.pc.in: fix SF.net Bug 1857450 wrong prefix, reported
  661. by Mark de Does.
  662. * hunspell.pc.in: reset numbering scheme: libhunspell-1.2.
  663. Fix SF.net Bug 1857512 reported by Mark de Does,
  664. also by Rene Engelhard.
  665. * csutil.cxx: patches for ARM platform, signed_chars.dpatch
  666. by Rene Engelhard and arm_structure_alignment.dpatch by
  667. Steinar H. Gunderson <sesse@debian.org>
  668. * hunzip.*, hzip.c: new hzip compression format
  669. * tools/affixcompressor: affix compressor utility (similar to
  670. munch, but it generates affix table automatically), works
  671. with million-words dictionaries of agglutinative languages.
  672. * README: fix problems reported by Pham Ngoc Khanh.
  673. * csutil.cxx, suggestmgr: Warning-free in OOo builds.
  674. * hashmgr.*, csutil.*: fix protected memory problems with
  675. stored pointers on several not x86 platforms by
  676. store_pointer(), get_stored_pointer().
  677. * src/tools/hunspell.cxx: fix iconv support on Solaris platform.
  678. * tests/IJ.good: add missing test file
  679. * csutil.cxx: fix const char* related errors. Compiling bug
  680. with Visual C++ reported by Ryan VanderMeulen and Ingo H. de Boer.
  681. 2008-01-03 Caolan McNamara <cmc at OO.o>:
  682. * csutil.cxx: SF.net Bug 1863239, notrailingcomma patch and
  683. optimization of get_currect_cs().
  684. 2007-11-01 Németh László <nemeth at OOo>:
  685. * hunspell/*: new feature: morphological generation,
  686. also fix experimental morphological analysis and stemming.
  687. - new API functions and improved API:
  688. - analyze(word): (instead of morph()) morphological analysis
  689. - stem(word): stemming
  690. - stem(list): stemming based on the result of an analysis
  691. - generate(word, word2): morphological generation
  692. - generate(word, list): morphological generation
  693. - add(word): add word to the run-time dictionary (renamed put_word())
  694. - add_with_affix(word, word2): (renamed put_word_pattern()):
  695. add word to the run-time dictionary with affix flags of the
  696. second parameter: all affixed forms of the user words will be
  697. recognised by the spell checker. Especially useful for
  698. agglutinative languages.
  699. - remove(word): remove word from the run-time dictionary (not
  700. implemented)
  701. - see manual and hunspell/hunspell.hxx header and tests/morph.*
  702. * tests/morph.*: test data, example for morphological analysis,
  703. stemming and generation
  704. * tools/analyze, tools/chmorph: extended and new demo applications:
  705. - analyze (originally hunmorph): analyses and stems input words,
  706. generates word forms from input word pairs.
  707. - chmorph: morphological transformation filter
  708. * configure.ac, hunspell/makefile.am: set library version number.
  709. Bug reported by Rene Engelhard.
  710. * affentry.cxx, affixmgr.cxx: new pattern matching algorithm in
  711. condition checking of affix rules instead of the Dömölki-algorithm:
  712. - Unlimited condition length (instead of max. 8 characters).
  713. - Less memory consumption, especially useful for affix rich languages:
  714. 5,4 MB memory savings with hu_HU dictionary.
  715. - Speed change depends from dictionaries and CPU caches: English spell
  716. checking is 4% faster on Linux words with en_US dictionary, Hungarian
  717. spell checking is 25% slower on most frequent words of Hungarian
  718. Webcorpus.
  719. * tests/sug.*, sugutf.*: updated test data (use "a" and "lot"
  720. dictionary items instead of "a lot".)
  721. * src/hunspell/hunspell.cxx: free(csconv) instead of delete csconv.
  722. Report and patch by Sylvain Paschein in Mozilla Issue 398268.
  723. * suggestmgr.cxx, tools/hunspell.cxx: bad spelling of "misspelled".
  724. Ubuntu Bug #134792, patch by Malcolm Parsons.
  725. * tests/base_utf.*: use Unicode apostrophe instead of 8-bit one.
  726. * hunspell.cxx, hashmgr.cxx: add(): use HashMgr::add()
  727. 2007-10-25 Pavel Janík <pjanik at OOo>:
  728. * hunspell/csutil.cxx: Fix type cast warnings on 64bit Linux in
  729. printing of character positions in u8_u16(). OOo issue 82984.
  730. 2007-09-05 Németh László <nemeth at OOo>:
  731. * win_api/Hunspell.vproj, parsers/testparser.cxx,textparser.hxx:
  732. warning fixes and removing unnecessary Windows project file.
  733. Reported by Ingo H. de Boer.
  734. * hashmgr.*, {affixmgr,suggestmgr}.cxx: optimized data structure
  735. for variable-count fields (only "ph" transliteration field in
  736. this version, see next item). Also less memory consumption:
  737. -13% (0.75 MB) with en_US dictionary, -6% (1 MB) with hu_HU.
  738. * suggestmgr.cxx: dictionary based phonetic suggestion for special
  739. or foreign pronounciation (see also rule-based PHONE in manual).
  740. Usage: tab separated field in dictionary lines, started with "ph:".
  741. The field contains a phonetic transliteration of the word:
  742. Marseille ph:maarsayl
  743. * tests/phone.*: test data for dictionary and rule based phonetic
  744. suggestion.
  745. * hunspell.cxx: fix potential bad memory access in allcap word
  746. capitalization in suggest() (bug of previous version).
  747. * hunspell.cxx, atypes.hxx: set correct limit for UTF-8 encoded
  748. input words (256 byte).
  749. * suggestmgr.cxx: improved REP suggestions with spaces: it works
  750. without dictionary modification.
  751. OOo issue 80147, reported by Davide Prina.
  752. * tests/rep.*: new test data: higher priority for "alot" -> "a lot",
  753. and Italian suggestion "un'alunno" -> "un alunno".
  754. * affixmgr.cxx: fix Unicode ngram suggestions in expand_rootword().
  755. (Suggestions with bad affixes.)
  756. Bug reported by Vitaly Piryatinksy <piv dot v dot vitaly at gmail>.
  757. * tests/ngram_utf_fix.*: test based on Vitaly Piryatinksy's data.
  758. * suggestmgr.cxx: fix twowords() for last UTF-8 multibyte character.
  759. (conditional jump or move depended on uninitialised value).
  760. 2007-08-29 Ingo H. de Boer <idb_winshell at SF.net>:
  761. * win_api/{hunspell,libhunspell, testparser}.vcproj: new project
  762. files for the library and the executables.
  763. * Hunspell.rc, Hunspell.sln, config.h: updated versions.
  764. Version number problem also reported by András Tímár.
  765. 2007-08-27 Németh László <nemeth at OOo>:
  766. * suggestmgr.hxx: put fixed version. Bug report by Ingo H. de Boer.
  767. * suggestmgr.cxx: remove variable-length local character array
  768. reported by Ingo H. de Boer.
  769. 2007-08-27 Németh László <nemeth at OOo>:
  770. * suggestmgr.hxx: change bad time_t to clock_t in header, too.
  771. Bug reports or patches by Ingo H. de Boer under SF.net
  772. Bug ID 1781951, János Mohácsi and Gábor Zahemszky, András Tímár,
  773. OMax3 at SF.net under SF.net Bug ID 1781592.
  774. * phonet.*: change variable-length local character array to
  775. portable fixed size character array. Problem reported by
  776. Ingo H. de Boer under SF.net Bug ID 1781951 and
  777. Ryan VanderMeulen.
  778. * suggestmgr.cxx: remove debug message (also by
  779. Ingo H. de Boer).
  780. 2007-08-26 Ingo H. de Boer <idb_winshell at SF.net>:
  781. * win_api/Hunspell.vcproj: updated version (with phonet.*)
  782. 2007-08-23 Németh László <nemeth at OOo>:
  783. * phonet.{c,h}xx, suggestmgr.cxx: PHONE parameter:
  784. pronounciation based suggestion using Björn Jacke's original Aspell
  785. phonetic transcription algorithm (http://aspell.net), relicensed
  786. under GPL/LGPL/MPL tri-license with the permission of the author.
  787. Usage: see manual.
  788. * affixmgr,suggestmgr.cxx: add KEY parameter for keyboard and
  789. input method error related suggestions.
  790. Example: KEY qwertyuiop|asdfghjkl|zxcvbnm
  791. * man/hunspell.4: description about PHONE and KEY suggestion parameters.
  792. * suggestmgr.cxx: enhancements for better suggestions:
  793. - Set ngram suggestions for badchar-type errors
  794. and only two word and compound word suggestions, too.
  795. - Separate not compound and compound word
  796. suggestions for MAP suggestion, too.
  797. - Double swap suggestions for short words.
  798. For example: ahev -> have, hwihc -> which.
  799. - Better time limits using clock() instead of time()
  800. (tenths of a second resolution instead of second ones).
  801. - leftcommonsubstring() weigth function.
  802. * htype.hxx, hashmgr.cxx: blen (byte length) and clen (character
  803. length) fields instead of wlen
  804. * affixmgr.cxx: fix get_syllable() for bad Unicode inputs.
  805. * tests/suggestiontest/*: test environment for suggestions
  806. 2007-08-07 Martijn Wargers:
  807. * csutil.cxx: fix Mingw build error associated with ToUpper() call.
  808. Report and patch in Mozilla Issue 391447.
  809. 2007-08-07 Robert Longson:
  810. * atypes.cxx: use empty inline function HUNSPELL_WARNING instead of
  811. variadic macros to switch of Hunspell warnings.
  812. Reported by Gavin Sharp in Mozilla Issue 391147.
  813. 2007-08-05 Ginn Chen:
  814. * hashmgr.cxx: Hunspell failed to compile on OpenSolaris (use stdio
  815. instead of csdio). Report and patch in Mozilla Issue 391040.
  816. 2007-07-25 Németh László <nemeth at OOo>:
  817. * parsers/*.cxx: Hunspell executable recognises and accepts URLs,
  818. e-mail addresses, directory paths, reported by Jeppe Bundsgaard.
  819. * src/tools/hunspell.cxx: --check-url: new option of Hunspell program.
  820. Use --check-url, if you want check URLs, e-mail addresses and paths.
  821. * parsers/textparser.cxx: strip colon at end of words for Finnish
  822. and Swedish (colon may be in words in Finnish and Swedish).
  823. Problem reported by Lars Aronsson.
  824. * tests/colons_in_words.*: test data
  825. * tests/digits_in_words.*: example for using digits in words
  826. (eg. 1-jährig, 112-jährig etc. in German), reported by Lars Aronsson.
  827. * hashmgr.cxx: Hunspell accepts allcaps forms of mixed case
  828. words of personal dictionaries (+allcaps custom dictionary words with
  829. allcaps affixes).
  830. Sf.net Bug ID 1755272, reported by Ellis Miller.
  831. * hashmgr.cxx: fix small memory leaks with alias compressed
  832. dictionaries (free flag vectors of affixed personal dictionary words
  833. and flag vectors of hidden capitalized forms of mixed case and
  834. allcaps words).
  835. * affixmgr.cxx: fix COMPOUNDRULE checking with affixed compounds.
  836. Sf.net Bug ID 1706659, reported by Björn Jacke. Also fixing for
  837. OOo Issue 76067 (crash-like deceleration for hexadecimal numbers
  838. with long FFFFFF sequence using en_US dictionary).
  839. * tools/hunspell.cxx: add missing return to save_privdic().
  840. * man/hunspell.4: add information about affixation of personal words:
  841. "Personal dictionaries are simple word lists, but with optional
  842. word patterns for affixation, separated by a slash:
  843. foo
  844. Foo/Simpson
  845. In this example, "foo" and "Foo" are personal words, plus Foo
  846. will be recognised with affixes of Simpson (Foo's etc.)."
  847. 2007-07-18 Németh László <nemeth at OOo>:
  848. * src/win_api/: add missing resource files, reported by Ingo H. de Boer.
  849. 2007-07-16 Németh László <nemeth at OOo>:
  850. * hunspell.cxx: fix dot removing from UTF-8 encoded words in cleanword2()
  851. (Capitalised words with dots, as "Something." were not recognised
  852. using Unicode encoded dictionaries.)
  853. * tests/{base.*,base_utf.*}: extended and new test files for
  854. dot removing and Unicode support.
  855. * tools/hunspell.cxx: fix Cygwin, OS X compatibility using platform
  856. specifics iconv() header by ICONV_CONST macro of Autoconf.
  857. Sf.net Bug ID 1746030, reported by Mike Tian-Jian Jiang.
  858. Sf.net Bug ID 1753939, reported by Jean-Christophe Helary.
  859. * tools/hunspell.cxx: fix missing global path setting with -d option.
  860. * tests/test.sh: fix broken Valgrind checking (missing warnings
  861. with VALGRIND=memcheck make check).
  862. * csutil.cxx: fix condition in u8_u16() to avoid invalid read
  863. of not null-terminated character arrays (detected by Valgrind
  864. in Hunspell executable: associated with 8-bit character table
  865. conversion in tools/hunspell.cxx).
  866. * csutil.cxx: free_utf_tbl(): use utf_tbl_count-- instead of utf_tbl--.
  867. Memory leak in Hunspell executable detected by Valgrind.
  868. * hashmgr.cxx: add missing free_utf_tbl(), memory leak in Hunspell
  869. executable detected by Valgrind.
  870. * hashmgr.cxx: load_tables(): fix memory error in spec. capitalization.
  871. Use sizeof(unsigned short) instead of bad sizeof(unsigned short*).
  872. Invalid memory read detected by Valgrind.
  873. * hashmgr.cxx: add_word(): fix memory error in spec. capitalization.
  874. Update also affix array length of capitalized homonyms. Invalid
  875. memory read detected by Valgrind.
  876. * hunspell.cxx: suggest(): fix invalid memory write and leak.
  877. Bad realloc() and missing free() detected by Valgrind associated
  878. with suggestions for "something.The" type spelling errors.
  879. * {dictmgr,csutil,hashmgr,suggestmgr}.cxx: check memory allocation.
  880. Sf.net Bug ID 1747507, based on the patch by Jose da Silva.
  881. 2007-07-13 Ingo H. de Boer <idb_winshell at SF.net>:
  882. * atypes.cxx: fix Visual C compatibility: Using
  883. "HUNSPELL_WARNING(a,b,...} {}" macro instead of empty "X(a,b...)".
  884. * hunspell.cxx: changes for Windows API.
  885. * win_api/Hunspell.*: new resource files
  886. * win_api/hunspelldll.*: set optional Hunspell and Borland spec. codes
  887. Sf.net Bug ID 1753802, patch by Ingo H. de Boer.
  888. See also Sf.net Bug ID 1751406, patch by Mike Tian-Jian Jiang.
  889. 2007-07-09 Caolan McNamara <cmc at OO.o>:
  890. * {hunspell,hashmgr,affentry}.cxx: fix warnings of Coverity program
  891. analyzer. Sf.net Bug ID, 1750219.
  892. 2007-07-06 Németh László <nemeth at OOo>:
  893. * atypes.cxx: warning-free swallowing of conditional warning messages
  894. and their parameters using empty HUNSPELL_WARNING(a,b...) macro.
  895. * {affixmgr,atypes,csutil}.cxx: fix unused variable warnings
  896. using WARNVAR macro for conditionally named variables.
  897. * hashmgr.cxx: fix unused variable warning in add_word() by cond. name
  898. * hunspell.cxx: fix shadowed declaration of captype var. in suggest()
  899. 2006-06-29 Caolan McNamara <cmc at OO.o>:
  900. * hunspell.cxx: patch to fix possible memory leak in analyze() of
  901. experimental morphological analyzer code. Sf.net Bug ID 1745263.
  902. 2007-06-29 Németh László <nemeth at OOo>:
  903. improvements:
  904. * src/hunspell/hunspell.cxx: check bad capitalisation of Dutch letter IJ.
  905. - Sf.net Feature Request ID 1640985, reported by Frank Fesevur.
  906. - Solution: FORBIDDENWORD for capitalised word forms (need
  907. an improved Dutch dictionary with forbidden words: Ijs/*, etc.).
  908. * tests/IJ.*: test data and example.
  909. * hashmgr.cxx, hunspell.cxx: check capitalization of special word forms
  910. - words with mixed capitalisation: OpenOffice.org - OPENOFFICE.ORG
  911. Sf.net Bug ID 1398550, reported by Dmitri Gabinski.
  912. - allcap words and suffixes: UNICEF's - UNICEF'S
  913. - prefixes with apostrophe and proper names: Sant'Elia - SANT'ELIA
  914. For Catalan, French and Italian languages.
  915. Reported by Davide Prina in OOo Issue 68568.
  916. * tests/allcaps*: tests for OPENOFFICE.ORG, UNICEF'S capitalization.
  917. * tests/i68568*: tests for SANT'ELIA capitalization.
  918. * hunspell/hunspell.cxx: suggestion for missing sentence spacing:
  919. something.The -> something. The
  920. * tools/hunspell.cxx: multiple character encoding support
  921. - -i option: custom input encoding
  922. Sf.net Bug ID 1610866, reported by Thobias Schlemmer.
  923. Sf.net Bug ID 1633413, reported by Dan Kenigsberg.
  924. See also hunspell-1.1.5-encoding.patch of Fedora from Caolan Mc'Namara.
  925. * tests/*.test: add input encodings
  926. * tools/hunspell.cxx: use locale data for default dictionary names.
  927. Sf.net Bug ID 1731630, report and patch from Bernhard Rosenkraenzer,
  928. See also hunspell-1.1.4-defaultdictfromlang.patch of Fedora Linux
  929. from Caolan McNamara.
  930. * tools/hunspell.cxx: fix 8-bit tokenization (letters without
  931. casing, like ß or Hebrew characters now are handled well)
  932. * tools/hunspell.cxx: dictionary search path
  933. - DICPATH environmental variable
  934. - -D option: show directory path of loaded dictionary
  935. - automatic detection of OpenOffice.org directories
  936. fixes:
  937. * affixmgr.cxx: fault-tolerant patch for REP and other affix
  938. table data problems. Problem with Hunspell and en_GB dictionary
  939. reported by Thomas Lange in OOo Issue 76098 and
  940. Stephan Bergmann in OOo Issue 76100.
  941. Sf.net Bug ID 1698240, reported by Ingo H. de Boer.
  942. * csutil.cxx: fix mkallcap_utf() for allcaps suggestion in UTF-8.
  943. * suggestmgr.cxx: fix bad movechar_utf() (missing strlen()).
  944. * hunspell.cxx: fix bad degree sign detection in Unicode
  945. hu_HU environment.
  946. * hunspell/hunspell.cxx: free allocated memory of csconv in
  947. ported Mozilla code.
  948. - Mozilla Bugzilla Bug 383564, report and Mozilla MySpell patch
  949. by Andrew Geul. Reported by Ryan VanderMeulen for Hunspell.
  950. * suggestmgr.cxx: fix minor difference in Unicode suggestion
  951. (ngram suggestion of allcaps words in Unicode).
  952. * hashmgr.cxx: close file handle after errors.
  953. Sf.net Bug ID 1736286, reported by John Nisly.
  954. * configure.ac: syntax error (shell variable with spaces).
  955. Sf.net Bug ID 1731625, reported by Bernhard Rosenkraenzer.
  956. * hunspell.cxx: check_word(): fix bad usage of info pointer.
  957. * hashmgr.cxx: fix de_DE related bug (accept words with leading dash).
  958. Sf.net Bug ID 1696134, reported by Björn Jacke.
  959. * suggestmgr.cxx, tests/1695964.*: fix NEEDAFFIX homonym suggestion.
  960. Sf.net Bug ID 1695964, reported by Björn Jacke.
  961. * tests/1463589*: capitalized ngram suggestion test data for
  962. Sf.net Bug ID 1463589, reported by Frederik Fouvry.
  963. * csutil.cxx, affixmgr.cxx: fix possible heap error with
  964. multiple instances of utf_tbl.
  965. Sf.net Bug ID 1693875, reported by Ingo H. de Boer.
  966. * affixmgr.cxx, suggestmgr.cxx, license.hunspell: convert to ASCII.
  967. Locale dependent compiling problems. Sf.net Bug ID 1694379, reported
  968. by Mike Tian-Jian Jiang. OOo Issue 78018 reported by Thomas Lange.
  969. * tests/test.sh: compatibility issues
  970. - fix Valgrind support (check shared library instead of shell wrapper)
  971. - remove deprecated "tail +2" syntax
  972. - set 8-bit locale for testing (LC_ALL=C)
  973. * hunspell.hxx: remove license.* and config.h dependencies.
  974. - hunspell-1.1.5-badheader.patch from Caolan McNamara <cmc at OO.o>
  975. 2007-03-21 Németh László <nemeth at OOo>:
  976. * tools/Makefile.am, munch.h, unmunch.h: add missing munch.h and unmunch.h
  977. Reported by Björn Jacke and Khaled Hosny (sf.net Bug ID 1684144)
  978. * hunspell/hunspell.cxx, hunspell.hxx: fix --with-ui compliling error (add get_csconv())
  979. Reported by Khaled Hosny (sf.net Bug ID 1685010)
  980. 2007-03-19 Németh László <nemeth at OOo>:
  981. * csutil.cxx, hunspell/hunspell.cxx: Unicode non BMP area (>65K character range) support
  982. (except conditional patterns and strip characters of affix rules)
  983. * tests/utf8_nonbmp*: test data
  984. * src/hunspell/*: add Mozilla patches from David Einstein
  985. - run-time generated 8-bit character tables
  986. - other Mozilla related changes (see Mozilla Bugzilla Bug 319778)
  987. * csutil.cxx, affixmgr.cxx, hashmgr.cxx: optimized version of IGNORE feature
  988. - IGNORE works with affixes (except strip characters and affix conditions)
  989. * tests/ignore*: test data with latin characters
  990. * tests/ignoreutf*: Unicode test data with Arabic diacritics (Harakat)
  991. * src/hunspell/suggestmgr.cxx: new edit distance suggestion methods
  992. - capitalization: nasa -> NASA
  993. - long swap: permenant -> permanent
  994. - long mov.: Ghandi -> Gandhi
  995. - double two characters: vacacation -> vacation
  996. * tests/sug.*: test data
  997. * src/hunspell/affixmgr.cxx: space in REP strings (alot -> a lot)
  998. Note: Underline character signs the space in REP strings: REP alot a_lot, and
  999. put the expression with space ("a lot") into the dic file (see tests/sug).
  1000. * hashmgr.cxx, affixmgr.cxx: ignore Unicode byte order mark (BOM sequence)
  1001. * tests/utf8_bom*: test data
  1002. * hunspell/*.cxx: OOo Issue 68903 - Make lingucomponent warning-free on wntmsci10
  1003. - fix Hunspell related warning messages on Windows platform (except some assignment
  1004. within conditional expressions). Reported and started by Stephan Bergmann.
  1005. * hunspell/affixmgr.cxx: fix OOo Issue 66683 - hunspell dmake debug=x fails
  1006. - Reported by Stephan Bergmann.
  1007. * src/hunspell/hunspell.[ch]xx: thread safe API for Hunspell executable
  1008. (removing prev*() functions, new spell(word, info, root) function)
  1009. * configure.ac, src/hunspell/*: HUNSPELL_EXPERIMENTAL code
  1010. --with-experimental configure option (conditional compiling of morphological analyser
  1011. and stemmer tools)
  1012. * configure.ac, src/hunspell/*: conditional Hunspell warning messages
  1013. --with-warnings configure option
  1014. * affixmgr.cxx: new, optimized parsing functions
  1015. * affixmgr.cxx: fix homonym handling for German dictionary project,
  1016. reported by Björn Jacke (sf.net Bug ID 1592880).
  1017. * tests/1592880.*: test data by Björn Jacke
  1018. * src/hunspell/affixmgr.cxx: fix CIRCUMFIX suggestion
  1019. Bug reported by Erdal Ronahi.
  1020. * hunspell.cxx: reverse root word output (complex prefixes)
  1021. Bug reported by Munzir Taha.
  1022. * tools/hunspell.cxx: fix Emacs compatibility, patch by marot at sf.net
  1023. - no % command in PIPE mode (SourceForge BugTracker 1595607)
  1024. - fix HUNSPELL_VERSION string
  1025. * suggestmgr.[hc]xx: rename check() functions to checkword() (OOo Issue 68296)
  1026. adopt MySpell patch by Bryan Petty (tierra at ooo) for Hunspell source
  1027. * csutil.cxx, munch.c, unmunch.c: adopt relevant parts of the MinGW patch
  1028. (OOo Issue 42504) by tonal at ooo
  1029. * affigmgr.cxx: remove double candidate_check() call, reported by Bram Moolenaar
  1030. * tests/test.sh: add LC_ALL="C" environment. Locale dependency of make check
  1031. reported by Gentoo project.
  1032. * src/tools/hunspell.cxx: UTF-8 highlighting fix for console UI
  1033. (not solved: breaking long UTF-8 lines)
  1034. * src/tools/unmunch.c: fix bad generation if strip is shorter than condition,
  1035. reported by Davide Prina
  1036. * src/tools/unmunch.h: increase 5000 -> 500000
  1037. * src/tools/hunspell.cxx: fix memory error in suggestion (uninitialized parameter),
  1038. Bug also reported by Björn Jacke in SourceForge Bug 1469957
  1039. * csutil.cxx, affixmgr.cxx: fix Caolan McNamara's patch for non OOo environment
  1040. 2006-11-11 Caolan McNamara <cmc at OO.o>:
  1041. * csutil.cxx, affixmgr.cxx: UTF-8 table patch (OOo Issue 71449)
  1042. Description: memory optimization (OOo doesn't use the large UTF-8 table).
  1043. * Makefile.am: shared library patch (Sourceforge ID 1610756)
  1044. * hunspell.h, hunspell.cxx: C API patch (Sourceforge ID 1616353)
  1045. * hunspell.pc: pkgconfig patch (Sourceforge ID 1639128)
  1046. 2006-10-17 Ryan Jones <at Mozilla Bugzilla>:
  1047. * affixmgr.cxx: missing fclose(affixlst) calls
  1048. Reported by <gavins at ooo> in OOo Issue 70408
  1049. 2007-07-11 Taha Zerrouki <taha at gawab>:
  1050. * affixmgr.cxx, hunspell.cxx, hashmgr.cxx, csutil.cxx: IGNORE feature to remove
  1051. optional Arabic and other characters from input and dictionary words.
  1052. * src/hunspell/langnum.hxx: add Arabic language number, lang_ar=96
  1053. * tests/ignore.*: test data
  1054. 2006-05-28 Miha Vrhovnik <mvrhov at users.sourceforge>:
  1055. * src/win_api/*: C API for Windows DLLs
  1056. - also Delphi text editor example (see on Hunspell Sourceforge page)
  1057. 2006-05-18 Kevin F. Quinn <kevquinn at gentoo>:
  1058. * utf_info.cxx: struct -> static struct
  1059. Shared library patch also developed by Gentoo developers (Hanno Meyer-Thurow,
  1060. Diego Pettenò, Kevin F. Quinn)
  1061. 2006-02-02 Németh László <nemethl@gyorsposta.hu>:
  1062. * src/hunspell/hunspell.cxx: suggest(): replace "fooBar" -> "foo bar" suggestions
  1063. with "fooBar" ->"foo Bar" (missing spaces are typical OCR bugs).
  1064. Bug reported by stowrob at OOo in Issue 58202.
  1065. * src/hunspell/suggestmgr.cxx: twowords(): permit 1-character words.
  1066. (restore MySpell's original behavior). Here: "aNew" -> "a New".
  1067. * tests/i58202.*: test data
  1068. * src/parsers/textparser.cxx: fix Unicode tokenization in is_wordchar()
  1069. (extra word characters (WORDCHARS) didn't work on big-endian platforms).
  1070. * src/hunspell/{csutil,affixmgr}.cxx: inline isSubset(), isRevSubset():
  1071. little speed optimalization for languages with rich morphology.
  1072. * src/tools/hunspell.cxx: fix bad --with-ui and --with-readline compiling
  1073. when (N)curses is missing. Reported by Daniel Naber.
  1074. 2006-01-19 Tor Lillqvist <tml@novell.com>
  1075. * src/hunspell/csutil.cxx: mystrsep(): fix locale-dependent isspace() tokenization
  1076. 2006-01-06 András Tímár <timar@fsf.hu>
  1077. * src/hunspell/{hashmgr.hxx,hunspell.cxx}: fix Visual C++ compiling errors
  1078. 2006-01-05 Németh László <nemethl@gyorsposta.hu>:
  1079. * COPYING: set GPL/LGPL/MPL tri-license for Mozilla integration.
  1080. Rationale: Mozilla source code contains an old MySpell version
  1081. with GPL/LGPL/MPL tri-license. (MPL license is a copyleft license, similar
  1082. to the LGPL, but it acts on file level.)
  1083. * COPYING.LGPL: GNU Lesser General Public License 2.1 (LGPL)
  1084. * COPYING.MPL: Mozilla Public License 1.1 (MPL)
  1085. * license.hunspell, src/hunspell/license.hunspell: GPL/LGPL/MPL tri-license
  1086. * src/hunspell/{affixmgr,hashmgr}.*: AF, AM alias definitions in affix file:
  1087. compression of flag sets and morphological descriptions (see manual,
  1088. and tests/alias* test files).
  1089. Rationale: Alias compression is also good for loading time and memory
  1090. efficiency, not only smaller resources.
  1091. * src/tools/makealias: alias compression utility
  1092. (usage: ./makealias file.dic file.aff)
  1093. * tests/alias{,2,3}: AF, AM tests
  1094. * man/hunspell.4: add AF, AM documentation
  1095. * src/hunspell/affentry.cxx, atypes.hxx: add new opts bits (aeALIASM, aeALIASF)
  1096. * tools/hunspell, src/parser/*, src/hunspell/*: Hunspell program
  1097. tokenizes Unicode texts (only with UTF-8 encoded dictionaries).
  1098. Missing Unicode tokenization reported by Björn Jacke, Egmont Koblinger,
  1099. Jess Body and others.
  1100. Note: Curses interactive interface hasn't worked perfectly yet.
  1101. * tests/*.tests: remove -1 parameters of Hunspell
  1102. * tests/*.{good,wrong}: remove tabulators
  1103. * src/hunspell/{hunspell,affixmgr}.cxx: BREAK option: break words at
  1104. specified break points and checking word parts separately (see manual).
  1105. Note: COMPOUNDRULE is better (or will be better) for handling dashes and
  1106. other compound joining characters or character strings. Use BREAK, if you
  1107. want check words with dashes or other joining characters and there is no time
  1108. or possibility to describe precise compound rules with COMPOUNDRULE.
  1109. * tests/break.*: BREAK example.
  1110. * src/hunspell/{affixmgr,hunspell}.cxx: add CHECKSHARPS declaration instead
  1111. of LANG de_DE definitions to handle German sharp s in both spelling and
  1112. suggestion.
  1113. * src/hunspell/hunspell.cxx: With CHECKSHARPS, uppercase words are valid
  1114. with both lower sharp s (it's is optional for names in German legal texts)
  1115. and SS (MÜßIG, MÜSSIG). Missing lower sharp s form reported by Björn Jacke.
  1116. * src/hunspell/hunspell.cxx: KEEPCASE flag on a sharp s word has a special
  1117. meaning with CHECKSHARPS declaration: KEEPCASE permits capitalisation and SS upper
  1118. casing of a sharp s word (Müßig and MÜSSIG), but forbids the upper cased form
  1119. with lower sharp s character(s): *MÜßIG.
  1120. * tests/germancompounding*: add CHECKSHARPS, remove LANG
  1121. * tests/checksharps*: add CHECKSHARPS and KEEPCASE, remove LANG
  1122. * src/hunspell/hunspell.cxx: improved suggestions:
  1123. - suggestions for pressed Caps Lock problems: macARONI -> macaroni
  1124. - suggestions for long shift problems: MAcaroni -> Macaroni, macaroni
  1125. - suggestions for KEEPCASE words: KG -> kg
  1126. * src/hunspell/csutil.cxx: fix mystrrep() function:
  1127. - suggestions for lower sharp s in uppercased words: MÜßIG -> MÜSSIG
  1128. * tests/checksharps{,utf}.sug: add tests for mystrrep() fix
  1129. * src/hunspell/hashmgr.cxx: Now dictionary words can contain slashes
  1130. with the "\/" syntax. Problem reported by Frederik Fouvry.
  1131. * src/hunspell/hunspell.cxx: fix bad duplicate filter in suggest().
  1132. (Suggesting some capitalised compound words caused program crash
  1133. with Hungarian dictionary, OOo Issue 59055).
  1134. * src/hunspell/affixmgr.cxx: fix bad defcpd_check() call in compound_check().
  1135. (Overlapping new COMPOUNDRULE and old compounding methods caused program
  1136. crash at suggestion.)
  1137. * src/hunspell/affixmgr.{cxx,hxx}: check affix flag duplication at affix classes.
  1138. Suggested by Daniel Naber.
  1139. * src/hunspell/affentry.cxx: remove unused variable declarations (OOo i58338).
  1140. Compiler warnings reported by András Tímár and Martin Hollmichel.
  1141. * src/hunspell/hunspell.cxx: morph(): not analyse bad mixed uppercased forms
  1142. (fix Arabic morphological analysis with Buckwalter's Arabic transliteration)
  1143. * src/hunspell/affentry.{cxx,hxx}, atypes.hxx: little memory optimization
  1144. in affentry:
  1145. - using unsigned char fields instead of short (stripl, appndl, numconds)
  1146. - rename xpflg field to opts
  1147. - removing utf8 field, use aeUTF8 bit of opts field
  1148. * configure.ac: set tests/maputf.test to XFAILED on ARM platform.
  1149. Fail reported by Rene Engelhard.
  1150. * configure.ac: link Ncursesw library, if exists.
  1151. * BUGS: add BUGS file
  1152. * tests/complexprefixes2.*: test for morphological analysis with COMPLEXPREFIXES
  1153. * src/hunspell/affixmgr.cxx: use "COMPOUNDRULE" instead of
  1154. "COMPOUND". The new name suggested by Bram Moolenaar.
  1155. * tests/compoundrule*: modified and renamed compound.* test files
  1156. * man/hunspell.4: AF, AM, BREAK, CHECKSHARPS, COMPOUNDRULE, KEEPCASE.
  1157. - also new addition to the documentation:
  1158. Header of the dictionary file define approximate dictionary size:
  1159. ``A dictionary file (*.dic) contains a list of words, one per line.
  1160. The first line of the dictionaries (except personal dictionaries)
  1161. contains the _approximate_ word count (for optimal hash memory size).''
  1162. Asked by Frederik Foudry.
  1163. One-character replacements in REP definitions: ``It's very useful to
  1164. define replacements for the most typical one-character mistakes, too:
  1165. with REP you can add higher priority to a subset of the TRY suggestions
  1166. (suggestion list begins with the REP suggestions).''
  1167. 2005-11-11 Németh László <nemethl@gyorsposta.hu>:
  1168. * src/hunspell/affixmgr.*: fix Unicode MAP errors (sorted only n-1
  1169. characters instead of n ones in UTF-16 MAP character lists).
  1170. Bug reported by Rene Engelhard.
  1171. * src/hunspell/affixmgr.*: fix infinite COMPOUND matching (default char
  1172. type is unsigned on PowerPC, s390 and ARM platforms and it will never
  1173. be negative). Bug reported by Rene Engelhard.
  1174. * src/hunspell/{affixmgr,suggestmgr}.cxx: fix bad ONLYINCOMPOUND
  1175. word suggestions.
  1176. * tests/onlyincompound.sug: empty test file to check this fix.
  1177. Bug reported by Björn Jacke.
  1178. * src/hunspell/affixmgr.cxx: fix backtracking in COMPOUND pattern matching.
  1179. * tests/compound6.*: test files to check this fix.
  1180. * csutil.cxx: set bigger range types in flag_qsort() and flag_bsearch().
  1181. * affixmgr.hxx: set better type for cont_classes[] Boolean data (short -> char)
  1182. * configure.ac, tests/automake.am: set platform specific XFAIL test
  1183. (flagutf8.test on ARM platform)
  1184. 2005-11-09 Németh László <nemethl@gyorsposta.hu>:
  1185. improvements:
  1186. * src/hunspell/affixmgr.*: new and improved affix file parameters:
  1187. - COMPOUND definitions: compound patterns with regexp-like matching.
  1188. See manual and test files: tests/compound*.*
  1189. Suggested by Bram Moolenaar.
  1190. Also useful for simple word-level lexical scanning, for example
  1191. analysing numbers or words with numbers (OOo Issue #53643):
  1192. http://qa.openoffice.org/issues/show_bug.cgi?id=53643
  1193. Examples: tests/compound{4,5}.*.
  1194. - NOSUGGEST flag: words signed with NOSUGGEST flag are not suggested.
  1195. Proposed flag for vulgar and obscene words (OOo Issue #55498).
  1196. Example: tests/nosuggest.*.
  1197. Problem reported by bobharvey at OOo:
  1198. http://qa.openoffice.org/issues/show_bug.cgi?id=55498
  1199. - KEEPCASE flag: Forbid capitalized and uppercased forms of words
  1200. signed with KEEPCASE flags. Useful for special ortographies
  1201. (measurements and currency often keep their case in uppercased
  1202. texts) and other writing systems (eg. keeping lower case of IPA
  1203. characters).
  1204. - CHECKCOMPOUNDCASE: Forbid upper case characters at word bound in compounds.
  1205. Examples: tests/checkcompoundcase* and tests/germancompounding.*
  1206. - FLAG UTF-8: New flag type: Unicode character encoded with UTF-8.
  1207. Example: tests/flagutf8.*.
  1208. Rationale: Unicode character type can be more readable
  1209. (in a Unicode text editor) than `long' or `num' flag type.
  1210. bug fixes:
  1211. * src/hunspell/hunspell.cxx: accept numbers and numbers with separators (i53643)
  1212. Bug reported by skelet at OOo:
  1213. http://qa.openoffice.org/issues/show_bug.cgi?id=53643
  1214. * src/hunspell/csutil.cxx: fix casing data in ISO 8859-13 character table.
  1215. * src/hunspell/csutil.cxx: add ISO-8859-15 character encoding (i54980)
  1216. Rationale: ISO-8859-15 is the default encoding of the French OpenOffice.org
  1217. dictionary. ISO-8859-15 is a modified version of ISO-8859-1
  1218. (latin-1) character encoding with French œ ligatures and euro
  1219. symbol. Problem reported by cbrunet at OOo in OOo Issue 54980:
  1220. http://qa.openoffice.org/issues/show_bug.cgi?id=54980
  1221. * src/hunspell/affixmgr.cxx: fix zero-byte malloc after a bad affix header.
  1222. Patch by Harri Pitkänen.
  1223. * src/hunspell/suggestmgr.cxx: fix bad NEEDAFFIX word suggestion
  1224. in ngram suggestions. Reported by Daniel Naber and Friedel Wolff.
  1225. * src/hunspell/hashmgr.cxx: fix bad white space checking in affix files.
  1226. src/hunspell/{csutil,affixmgr}.cxx: add other white space separators.
  1227. Problems with tabulators reported by Frederik Fouvry.
  1228. * src/hunspell/*: replace system-dependent <license.*> #include
  1229. parameters with quoted ones. Problem reported by Dafydd Jones.
  1230. * src/hunspell/hunspell.cxx: fix missing morphological analysis of dot(s)
  1231. Reported by Trón Viktor.
  1232. changes:
  1233. * src/hunspell/affixmgr.cxx: rename PSEUDOROOT to NEEDAFFIX.
  1234. Suggested by Bram Moolenaar.
  1235. * src/hunspell/suggestmgr.hxx: Increase default maximum of
  1236. ngram suggestions (3->5). Suggested by Kevin Hendricks.
  1237. * src/hunspell/htypes.hxx: Increase MAXDELEN for long affix flags.
  1238. * src/hunspell/suggestmgr.cxx: modify (perhaps fix) Unicode map suggestion.
  1239. tests/maputf test fail on ARM platform reported by Rene Engelhard.
  1240. * src/hunspell/{affentry.cxx,atypes.hxx}: remove [PREFIX] and
  1241. MISSING_DESCRIPTION messages from morphological analysis.
  1242. Problems reported by Trón Viktor.
  1243. * tests/germancompounding.{aff,good}: Add "Computer-Arbeit" test word.
  1244. Suggested by Daniel Naber.
  1245. * doc/man/hunspell.4: Proof-reading patch by Goldman Eleonóra.
  1246. * doc/man/hunspell.4: Fix bad affix example (replace `move' with `work').
  1247. Bug reported by Frederik Fouvry.
  1248. * tests/*: new test files:
  1249. affixes.*: simple affix compression example from Hunspell 4 manual page
  1250. checkcompoundcase.*, checkcompoundcase2.*, checkcompoundcaseutf.*
  1251. compound.*, compound2.*, compound3.*, compound4.*, compound5.*
  1252. compoundflag.* (former compound.*)
  1253. flagutf8.*: test for FLAG UTF-8
  1254. germancompounding.*: simplification with CHECKCOMPOUNDCASE.
  1255. germancompoundingold.* (former germancompounding.*)
  1256. i53643.*: check numbers with separators
  1257. i54980.*: ISO8859-15 test
  1258. keepcase.*: test for KEEPCASE
  1259. needaffix*.* (former pseudoroot*.* tests)
  1260. nosuggest.*: test for NOSUGGEST
  1261. 2005-09-19 Németh László <nemethl@gyorsposta.hu>:
  1262. * src/hunspell/suggestmgr.cxx: improved ngram suggestion:
  1263. - detect not neighboring swap characters (pernament -> permanent)
  1264. Rationale: ngram method has a significant error with not neighboring
  1265. swap characters, especially when swap is in the middle of the word.
  1266. - suggest uppercase forms (unesco -> UNESCO, siggraph's -> SIGGRAPH's)
  1267. - suggest only ngram swap character and uppercase form, if they exist.
  1268. Rationale: swap character and casing equivalence give mutch better
  1269. suggestions as any other (weighted) ngram suggestions.
  1270. - add uppercase suggestion (PERMENANT -> PERMANENT)
  1271. * src/hunspell/*: complete comparison with MySpell 3.2 (in OOo beta 2):
  1272. - affixmgr.cxx: add missing numrep initialization
  1273. - hashmgr.cxx: add_word(): don't allocate temporary records
  1274. - hunspell.cxx: in suggest():
  1275. - check capitalized words first (better sug. order for proper names),
  1276. - check pSMgr->suggest() return value
  1277. - set pSMgr->suggest() call to not optional in HUHCAP
  1278. - csutil.cxx: fix bad KOI8-U -> koi8r_tbl reference in enc_entry encds
  1279. - csutil.cxx: fix casing data in ISO 8859-2, Windows 1251 and KOI8-U
  1280. encoding tables. Bug reported by Dmitri Gabinski.
  1281. * src/hunspell/affixmgr.*: improved compound word and other features
  1282. - generalize hu_HU specific compound word features with new affix file
  1283. parameters, suggested by Bram Moolenaar:
  1284. - CHECKCOMPOUNDDUP: forbid word duplication in compounds (eg. foo|foo)
  1285. - CHECKCOMPOUNDTRIPLE: forbid triple letters in compounds (eg. foo|obar)
  1286. - CHECKCOMPOUNDPATTERN: forbid patterns at word bounds in compounds
  1287. - CHECKCOMPOUNDREP: using REP replacement table, forbid presumably bad
  1288. compounds (useful for languages with unlimited number of compounds)
  1289. - ONLYINCOMPOUND flag works also with words (see tests/onlyincompound.*)
  1290. Suggested by Daniel Naber, Björn Jacke, Trón Viktor & Bram Moolenaar.
  1291. - PSEUDOROOT works also with prefixes and prefix + suffix combinations
  1292. (see tests/pseudoroot5.*). Suggested by Trón Viktor.
  1293. - man/hunspell.4: updated man page
  1294. * src/hunspell/affixmgr.*: fix incomplete prefix handling with twofold
  1295. suffixes (delete unnecessary contclasses[] conditions in
  1296. prefix_check_twosfx() and prefix_check_twosfx_morph()).
  1297. Bug reported by Trón Viktor.
  1298. * src/hunspell/affixmgr.*: complete also *_morph() functions with
  1299. conditions of new Hunspell features (circumfix, pseudoroot etc.).
  1300. * src/hunspell/suggestmgr.cxx:
  1301. - fix missing suggestions for words with crossed prefix and suffix
  1302. - fix redundant non-compound word checking
  1303. - fix losing suggestions problem. Bug reported by Dmitri Gabinski.
  1304. * src/hunspell/dictmgr.*:
  1305. - add new dictionary manager for Hunspell UNO modul
  1306. Problems with eo_ANY Esperanto locale reported by Dmitri Gabinski.
  1307. * src/hunspell/*: use precise constant sizes for 8-bit and 16-bit character
  1308. arrays with MAXWORDUTF8LEN and MAXSWUTF8L macros.
  1309. * src/hunspell/affixmgr.cxx: fix bad MAXNGRAMSUGS parameter handling
  1310. * src/hunspell/affixmgr.cxx, src/tools/{un}munch.*: fix GCC 4.0 warnings
  1311. on fgets(), reported by Dvornik László
  1312. * po/hu.po: improved translation by Dvornik László
  1313. * tests/test.sh: improved test environment
  1314. - add suggestion testing (see tests/*.sug)
  1315. - add memory debugging environment, based on the excellent Valgrind debugger.
  1316. Usage on Linux and experimental platforms of Valgrind:
  1317. VALGRIND=memcheck make check
  1318. - rename test_hunmorph to test.sh
  1319. * tests/*: new tests:
  1320. - base.*: base example based on MySpell's checkme.lst.
  1321. - map{,utf}.*, rep{,utf}: MAP and REP suggestion examples
  1322. - tests on new CHECKCOMPOUND, ONLYINCOMPOUND and PSEUDOROOT features
  1323. - i54633.*: capitalized suggestion test for Issue 54633 from OOo's Issuezilla
  1324. - i35725.*: improved ngram suggestion test for Issue 35725
  1325. 2005-08-26 Németh László <nemethl@gyorsposta.hu>:
  1326. improvements:
  1327. * src/hunspell/suggestmgr.cxx:
  1328. Unicode support in related character map suggestion
  1329. * src/hunspell/suggestmgr.cxx: Unicode support in ngram suggestion
  1330. * src/hunspell/{suggestmgr,affixmgr,hunspell}.cxx: improve ngram suggestion.
  1331. Fix http://qa.openoffice.org/issues/show_bug.cgi?id=35725. See release
  1332. notes for examples. This problem reported by beccablain at OOo.
  1333. - ngram suggestions now are case insensitive (see `Permenant' bug in Issuezilla)
  1334. - weight ngram suggestions (with the longest common subsequent algorithm,
  1335. also considering lengths of bad word and suggestion, identical first
  1336. letters and almost completely identical character positions)
  1337. - set strict affix congruency in expand_rootword(). Now ngram suggestions
  1338. are good for languages with rich morphology and also better for English.
  1339. Rationale: affixed forms of the first ngram suggestion
  1340. very often suppress the second and subsequent root word suggestions. But
  1341. faults in affixes are more uncommon, and can be fix without suggestions.
  1342. We must prefer the more informative second and subsequent root word
  1343. suggestions instead of the suggestions for bad affixes.
  1344. - a better suggestion may not be substring of a less good suggestion
  1345. Rationale: Suggesting affixed forms of a root word is
  1346. unnecessary, when root word has got better weighted ngram value.
  1347. (Checking substrings is a good approximation for this refinement.)
  1348. - lesser ngram suggestions (default 3 maximum instead of 10)
  1349. Rationale: For users need a big extra effort to check a lot of bad ngram
  1350. suggestions, nine times out of ten unnecessarily. It is very
  1351. distracting, because ngram suggestions could be very different.
  1352. Usually Myspell and Hunspell suggest one or two suggestions with
  1353. the old suggestion algorithms (maximum is 15), with ngram algorithm
  1354. often gives maximum number suggestions. With strict affix congruency
  1355. and other refinements, the good suggestion there is usually among the
  1356. first three elements.
  1357. - new affix parameter: MAXNGRAMSUG
  1358. * src/hunspell/*: support agglutinative languages with rich prefix
  1359. morphology or with right-to-left writing system (for example, Turkic
  1360. and Austronesian languages with (modified) Arabic scripts).
  1361. - new affix parameter: COMPLEXPREFIXES
  1362. Set twofold prefix stripping (but single suffix stripping)
  1363. * src/hunspell/affixmgr.cxx:
  1364. - speed up prefix loading with tree sorting algorithm.
  1365. * tests/complexprefixes.*, tests/complexprefixesutf.*:
  1366. Coptic example posted by Moheb Mekhaiel
  1367. * src/hunspell/hashmgr.cxx: check size attribute in dic file
  1368. suggested by Daniel Naber
  1369. Rationale: With missing size attribute Hunspell allocates too small and
  1370. more slower hash memory, and Hunspell can lose first dictionary word.
  1371. * src/hunspell/affixmgr.cxx: check stripping characters and condition
  1372. compatibility in affix rules (bugs detected in cs_CZ, es_ES, es_NEW,
  1373. es_MX, lt_LT, nn_NO, pt_PT, ro_RO and sk_SK dictionaries). See release
  1374. notes of Hunspell 1.0.9 in NEWS.
  1375. * src/hunspell/affixmgr.cxx: check unnecessary fields in affix rules
  1376. (bugs detected in ro_RO and sv_SE dictionaries). See release notes.
  1377. * src/hunspell/affixmgr.cxx: remove redundant condition checking
  1378. in affix rules with stripping characters (redundancy in OpenOffice.org
  1379. dictionaries reported by Eleonóra Goldman)
  1380. Rationale: this is a little optimization, but it was excellent for
  1381. detect the bad ngram affixation with bad or weak affix conditions.
  1382. * tests/germancompounding.aff: improve compound definition
  1383. - use dash prefix instead of language specific tokenizer
  1384. Rationale: Using uniform approach is the right way to check and analyze
  1385. compound words. Language specific word breaking is deprecated, need
  1386. a sophisticated grammar checking for word-like word pairs
  1387. (for example in Hungarian there is a substandard, but accepted
  1388. syntax with dash for word pairs: cats, dogs -> kutyák-macskák (like
  1389. cats/dogs in English).
  1390. * test Hunspell with 54 OpenOffice.org dictionaries: see release notes
  1391. bug fixes:
  1392. * src/hunspell/suggestmgr.*: add time limit to exponential
  1393. algorithm of the related character map suggestion
  1394. Rationale: a long word in agglutinative languages or a special pattern
  1395. (for example a horizontal rule) made of map characters can `crash' the
  1396. spell checker.
  1397. * src/hunspell/affentry.cxx: add() functions: fix bad word generation
  1398. checking stripping characters (see similar bug in unmunch)
  1399. * src/hunspell/affixmgr.cxx: parse_file(): fix unconditional getNext()
  1400. call for ~AffixMgr() when affix file is corrupt.
  1401. * src/hunspell/affixmgr.*: AffixMgr(), parse_cpdsyllable(): fix missing
  1402. string duplications for ~AffixMgr() when affix file is corrupt.
  1403. * src/hunspell/affixmgr.*: parse_affix(): fix fprintf() call when affix
  1404. file is corrupt. Bug reported by Daniel Naber.
  1405. * suggestmgr.cxx: replace single usage of 'strdup' with 'mystrdup'
  1406. patch by Chris Halls (debian.org)
  1407. * src/hunspell/makefile.mk: add makefile.mk for compiling in OpenOffice.org
  1408. See README in Hunspell UNO modul.
  1409. Problems with separated compiling reported by Rene Engelhard
  1410. * src/hunspell/hunspell.cxx: fix pseudoroot support
  1411. - search a not pseudoroot homonym in check()
  1412. * tests/pseudoroot4.*: test this fix
  1413. * src/tools/unmunch.c: fix bad word generation when conditions
  1414. are shorter or incompatible with stripping characters in affix rules
  1415. * src/tools/unmunch.c: fix mychomp() for de_AT.dic and other dic files
  1416. without last new line character.
  1417. other changes:
  1418. * src/hunspell/suggestmgr.*: erase ACCENT suggestion
  1419. Rationale: ACCENT suggestion was the same as Kevin Hendrick's map
  1420. suggestion algorithm, but with a less good interface in affix file.
  1421. * src/hunspell/suggestmgr.*: combine cycle number limit
  1422. in badchar(), and forgotchar() with a time limit.
  1423. * src/hunspell/affixmgr.*: remove NOMAPSUGS affix parameter
  1424. * src/hunspell/{suggestmgr,hunspell}.*: strip periods from
  1425. suggestions (restore MySpell's original behaviour)
  1426. Rationale: OpenOffice.org has an automatic period handling mechanism
  1427. and suggestions look better without periods.
  1428. - new affix file parameter: SUGSWITHDOTS
  1429. Add period(s) to suggestions, if input word terminates in period(s).
  1430. (No need for OpenOffice.org dictionaries.)
  1431. * tests/germancompounding.aff: improve bad german affix in affix example
  1432. (computeren->computern). Suggested by Daniel Naber.
  1433. * src/tools/example.cxx: add Myspell's example
  1434. * src/tools/munch.cxx: add Myspell's munch
  1435. * man{,/hu}/hunspell.4: refresh manual pages
  1436. 2005-08-01 Németh László <nemethl@gyorsposta.hu>:
  1437. * add missing MySpell files and features:
  1438. - add MySpell license.readme, README and CONTRIBUTORS ({license,README,AUTHORS}.myspell)
  1439. - add MySpell unmunch program (src/tools/unmunch.c)
  1440. - add licenses to source (src/hunspell/license.{myspell,hunspell})
  1441. - port MAP suggestion (with imperfect UTF-8 support)
  1442. - add NOSPLITSUGS affix parameter
  1443. - add NOMAPSUGS affix parameter
  1444. * src/man/man.4: MAP, COMPOUNDPERMITFLAG, NOSPLITSUGS, NOMAPSUGS
  1445. * src/hunspell/aff{entry,ixmgr}.cxx:
  1446. - improve compound word support
  1447. - new affix parameter: COMPOUNDPERMITFLAG (see manual)
  1448. * src/tests/compoundaffix{,2}.*: examples for COMPOUNDPERMITFLAG
  1449. * src/tests/germancompounding.*: new solution for German compounding
  1450. Problems with German compounding reported by Daniel Naber
  1451. * src/hunspell/hunspell.cxx: fix German uppercase word spelling
  1452. with the spellsharps() recursive algorithm.
  1453. Default recursive depth is 5 (MAXSHARPS).
  1454. * src/tests/germansharps*: extended German sharp s tests
  1455. * src/tools/hunspell.cxx: fix fatal memory bug in non-interactive
  1456. subshells without HOME environmental variable
  1457. Bug detected with PHP by András Izsók.
  1458. 2005-07-22 Németh László <nemethl@gyorsposta.hu>:
  1459. * src/hunspell/csutil.hxx: utf16_u8()
  1460. - fix 3-byte UTF-8 character conversion
  1461. 2005-07-21 Németh László <nemethl@gyorsposta.hu>:
  1462. * src/hunspell/csutil.hxx: hunspell_version() for OOo UNO modul
  1463. 2005-07-19 Németh László <nemethl@gyorsposta.hu>:
  1464. * renaming:
  1465. - src/morphbase -> src/hunspell
  1466. - src/hunspell, src/hunmorph -> src/tools
  1467. - src/huntokens -> src/parsers
  1468. * src/tools/hunstem.cxx: add stemmer example
  1469. 2005-07-18 Németh László <nemethl@gyorsposta.hu>:
  1470. * configure.ac: --with-ui, --with-readline configure options
  1471. * src/hunspell/hunspell.cxx: fix conditional compiling
  1472. * src/hunspell/hunspell.cxx: set HunSPELL.bak temporaly file
  1473. in the same dictionary with the checked file.
  1474. * src/morphbase/morphbase.cxx:
  1475. - handling German sharp s (ß)
  1476. - fix (temporaly) analyize()
  1477. * tests: a lot of new tests
  1478. * po/, intl/, m4/: add gettext from GNU hello
  1479. * po/hu.po: add Hungarian translation
  1480. * doc/, man/: rename doc to man
  1481. 2005-07-04 Németh László <nemethl@gyorsposta.hu>:
  1482. * src/morphbase/hashmgr.cxx: set FLAG attributum instead of FLAG_NUM and FLAG_LONG
  1483. * doc/hunspell.4: manual in English
  1484. 2005-06-30 Németh László <nemethl@gyorsposta.hu>:
  1485. * src/morphbase/csutil.cxx: add character tables from csutil.cxx of OOo 1.1.4
  1486. * src/morphbase/affentry.cxx: fix Unicode condition checking
  1487. * tests/{,utf}compound.*: tests compounding
  1488. 2005-06-27 Németh László <nemethl@gyorsposta.hu>:
  1489. * src/morphbase/*: fix Unicode compound handling
  1490. 2005-06-23 Halácsy Péter:
  1491. * src/hunmorph/hunmorph.cxx: delete spelling error message and suggest_auto() call
  1492. 2005-06-21 Németh László <nemethl@gyorsposta.hu>:
  1493. * src/morphbase: Unicode support
  1494. * tests/utf8.*: SET UTF-8 test
  1495. * src/morphbase: checking and fixing with Valgrind
  1496. Memory handling error reported by Ferenc Szidarovszky
  1497. 2005-05-26 Németh László <nemethl@gyorsposta.hu>:
  1498. * suggestmgr.cxx: fix stemming
  1499. * AUTHORS, COPYING, ChangeLog: set CC-LGPL free software license
  1500. 2004-05-25 Varga Dániel <daniel@all.hu>
  1501. * src/stemtool: new subproject
  1502. 2005-05-25 Halácsy Péter <peter@halacsy.com>
  1503. * AUTHORS, COPYING: set CC Attribution license
  1504. 2004-05-23 Varga Dániel <daniel@all.hu>
  1505. * src: - modifications for compiling with Visual C++
  1506. * src/hunmorph/csutil.cxx: correcting header of flag_qsort(),
  1507. * src/hunmorph/*: correct csutil include
  1508. 2005-05-19 Németh László <nemethl@gyorsposta.hu>
  1509. * csutil.cxx: fix loop condition in lineuniq()
  1510. bug reported by Viktor Nagy (nagyv nyelvtud hu).
  1511. * morphbase.cxx: handle PSEUDOROOT with zero affixes
  1512. bug reported by Viktor Nagy (nagyv nyelvtud hu).
  1513. * tests/zeroaffix.*: add zeroaffix tests
  1514. 2005-04-09 Németh László <nemethl@gyorsposta.hu>
  1515. * config.h.in: reset with autoheader
  1516. * src/hunspell/hunspell.cxx: set version
  1517. 2005-04-06 Németh László <nemethl@gyorsposta.hu>
  1518. * tests: tests
  1519. * src/morphbase:
  1520. New optional parameters in affix file:
  1521. - PSEUDOROOT: for forbidding root with not forbidden suffixed forms.
  1522. - COMPOUNDWORDMAX: max. words in compounds (default is no limit)
  1523. - COMPOUNDROOT: signs compounds in dictionary for handling special compound rules
  1524. - remove COMPOUNDWORD, ONLYROOT
  1525. 2005-03-21 Németh László <nemethl@gyorsposta.hu>
  1526. * src/morphbase/*:
  1527. - 2-byte flags, FLAG_NUM, FLAG_LONG
  1528. - CIRCUMFIX: signed suffixes and prefixes can only occur together
  1529. - ONLYINCOMPOUND for fogemorpheme (Swedish, Danish) or Flute-elements (German)
  1530. - COMPOUNDBEGIN: allow signed roots, and roots with signed suffix in begin of compounds
  1531. - COMPOUNDMIDDLE: like before, but middle of compounds
  1532. - COMPOUNDEND: like before, but end of compounds
  1533. - remove COMPOUNDFIRST, COMPOUNDLAST