# Revision history for Perl extension Encode.
#
-# $Id: Changes,v 1.96 2003/06/18 09:29:02 dankogai Exp $
+# $Id: Changes,v 2.23 2007/05/29 18:15:32 dankogai Exp dankogai $
#
-$Revision: 1.96 $ $Date: 2003/06/18 09:29:02 $
+$Revision: 2.23 $ $Date: 2007/05/29 18:15:32 $
+! Encode.xs
+ got rid of global fallback_cb; encode_method() now takes one more
+ argument which is a coderef to fallback. This should make
+ encode_method() thread-safe.
+! Encode.pm
+ Added perluniintro, perlunifaq, and perlunitut to POD
+! Encode.xs
+ Plug a memory leak in Encode -- by rgs
+ Message-Id: <b77c1dce0705290858v2be239c3o2d726e3d59091493@mail.gmail.com>
+! Unicode/Unicode.pm
+ POD fixes on UTF-16LE
+ http://aspn.activestate.com/ASPN/Mail/Message/perl5-porters/3486118
+! Makefile.PL
+ man page generation is now conditional; yes by default but no if $PERL_CORE
+ Message-Id: <b77c1dce0705290237h5c4667cdlf79a48b839170add@mail.gmail.com>
+
+2.22 2007/05/29 07:35:27
+! Encode.pm
+ from_to() does not honor the check while decoding. That's a feature.
+ To make sure it is a feature it is mentioned in the POD.
+ http://rt.cpan.org/NoAuth/Bug.html?id=27277
+! Makefile.pl
+ Encode used to suppress man page generation. Now it does.
+ http://rt.cpan.org/NoAuth/Bug.html?id=27200
+! Encode.pm Encode.xs t/fallback.t
+ Addressed: (de|en)code("ascii", "\x{3000}", sub{ $_[0] }) segfaults
+ Reported by MIYAGAWA
+
+2.21 2007/05/12 06:42:19
++ lib/Encode/MIME/Name.pm t/mime-name.t
+! Encode.pm Encode.xs lib/Encode/Encoding.pm
+ new method: mime_name()
+ inspired by: MIYAGAWA
+! t/encoding.t
+ Subject: Re: Compress::Zlib, pack "C" and utf-8 [PATCH]
+ From: Marc Lehmann <schmorp@schmorp.de>
+ Date: Thu, 12 Apr 2007 08:41:53 +0200
+ Message-ID: <20070412064153.GA22475@schmorp.de>
+ http://public.activestate.com/cgi-bin/perlbrowse/p/31194
+! Unicode/Unicode.pm
+ POD fix.
+ Message-Id: <20070417220547.GA11999@zetta.zet>
+
+2.20 2007/04/22 14:56:12
+! Encode.pm
+ Pod fixes. Now find_encoding() is explained more in details.
++ lib/Encode/GSM0338.pm
+- ucm/gsm0338.ucm
+! lib/Encode/Supported.pod lib/Encode/Config.pm Bytes/Makefile.PL t/gsm0338.t
+ ESTI GSM 03.38 support is relocated from Encode::Byte to Encode::GSM0338.
+ This encoding is so kaputt it is unfit for Encode::XS!
+ Though it was okay for general cases and escape sequences,
+ '\0' => '@' IFF '\0\0' => '\0' had gliches.
+ So kaputt even t/gsm0338 wrongly interpreted that.
+ ref. http://www.csoft.co.uk/sms/character_sets/gsm.htm
+! encoding.pm t/Aliases.t
+ Imported from bleedperl #31015
+
+2.19 2007/04/06 12:53:41
+! lib/Encode/JP/JIS7.pm
++ t/jis7-fallback.t
+ encode('iso-2022-jp') fallback support added by MIYAGAWA++
+ decode()'s fallback remains unchanged (FB_PERLQQ) since UTF-8
+ contains all characters in iso-2022-jp so there's no need for fancy stuff.
+ Message-Id: <693254b90704060526s6d850320h71cdda50dfbf7eba@mail.gmail.com>
+! Encode.pm
+ #25216 ([PATCH] Encode.pm: postpone the load of Encode::Encoding)
+ http://rt.cpan.org/NoAuth/Bug.html?id=25216
+! lib/Encode/MIME/Header.pm t/mime-header.t
+ #24418 (Encode::MIME::Header: wrong encoding with latin1 characters)
+ http://rt.cpan.org/NoAuth/Bug.html?id=24418
+! Encode.pm
+ #23876 (Add documentation for LEAVE_SRC)
+ http://rt.cpan.org/NoAuth/Bug.html?id=23876
+! lib/Encode/Alias.pm t/Aliases.t
+ #20781: Thai encoding needs alias for tis-620
+ http://rt.cpan.org/NoAuth/Bug.html?id=20781
+! bin/piconv AUTHORS
+ #20344: piconv: wrong conversion of utf-16le encoded files (with PATCH)
+ http://rt.cpan.org/NoAuth/Bug.html?id=20344
+! Encode.pm Encode.xs bin/enc2xs encoding.pm t/Aliases.t t/utf8strict.t
+ Imported from bleedperl's 2.18_01
+
+2.18 2006/06/03 20:28:48
+! bin/enc2xs
+ overhauled the -C option
+ - added ascii-ctrl', 'null', 'utf-8-strict' to core
+ - auto-generated Encode::ConfigLocal no longer use v-string for version
+ - now searches modules via File::Find so Encode/JP/Mobile is happy
+! Byte/Byte.pm CN/CN.pm EBCDIC/EBCDIC.pm JP/JP.pm KR/KR.pm Symbol/Symbol.pm
+ use strict added; though all they do is load XS, it's
+ still better a practice
+! *.pm
+ use warnings added to all of them for better practices' sake.
+
+2.17 2006/05/09 17:10:09
+! encode.pm
+ 'chin' =~ /^zh_CN|chin(?:a|ese)?$/i is true
+ but chin is not china or chinese.
+ http://d.hatena.ne.jp/jankogai/20060508/1147090316
+! Encode.xs
+ Integrated maintperl change (27824|27824) which I overlooked
+ -- sorry, Nicholas and Coverity Scan.
+ Message-Id: <200604152115.k3FLF1Ar014538@smtp3.ActiveState.com>
+ Message-Id: <200605091615.k49GF1gJ016777@smtp3.ActiveState.com>
+
+2.16 2006/05/03 18:24:10
+! bin/piconv
+ --xmlcref and --htmlcref added.
+! Encode.pm
+ Copyright Notice Added.
+ http://rt.cpan.org/NoAuth/Bug.html?id=19056
+! *
+ Replaced remaining ^\t with q( ) x 4. -- Perl Best Practice pp. 20
+ And all .pm's are now perltidy-ed.
+
+2.15 2006/04/06 15:44:11
+! Unicode/Unicode.xs
+ Addressed: UTF-16, UTF-32, UCS, UTF-7 decoders mishandle illegal characters
+ http://rt.cpan.org/NoAuth/Bug.html?id=18556
+! Encode.pm
+ added str2bytes() as an alias to encode() and bytes2str() as an alias
+ to decode()
+ http://rt.cpan.org/NoAuth/Bug.html?id=17103
+! Encode.xs
+ Change 26922: Avoid warning with MS Visual C compiler.
+ Message-Id: <200601231245.k0NCj2dw009484@smtp3.ActiveState.com>
+! t/perlio.t
+ Change 26067: As using -C to turn on utf8 IO is equivalent to the open pragma
+ Message-Id: <200511092227.jA9MRcYD009025@smtp3.ActiveState.com>
+
+2.14 2006/01/15 15:43:36
+! Makefile.PL
+ Change 26295: Don't build manpages for Encode and Unicode::Normalize
+ Message-Id: <200512071540.jB7Fe4Gt017960@smtp3.ActiveState.com>
+! Encode.pm
+ Change 26081: Pod nit in Encode.pm, found by Marc Lehmann in RT #36949.
+ Message-Id: <200511110357.jAB3vZcP023647@smtp3.ActiveState.com>
+! Encode.xs Encode/encode.h bin/enc2xs encengine.c
+ Change 25821: Mark more static Encode data structures as const.
+ Change 25823: use more 'const' in the Encode data structures.
+ Message-Id: <200510221243.j9MChTSu027711@smtp3.ActiveState.com>
+ Message-Id: <200510221343.j9MDhTk9001245@smtp3.ActiveState.com>
+
+2.13 2006/01/15 15:06:36
+! AUTHORS
+ Miyagawa's mail address updated
+ Message-Id: <693254b90601150535o767e10bai4f4732c275b4ebe0@mail.gmail.com>
+! lib/Encode/MIME/Header.pm
+ #16413: Encode::MIME::Headers patch to solve what is probably someone else's bug
+ http://rt.cpan.org/NoAuth/Bug.html?id=16413
+! lib/Encode/MIME/Header.pm t/mime-header.t
+ Applied: RT #16258: Support for RFC 2184 language tag
+ http://rt.cpan.org/NoAuth/Bug.html?id=16258
+! Encode.pm
+ Fixed RT #14559: fix for #8872 introduces new "bug"
+ http://rt.cpan.org/NoAuth/Bug.html?id=14559
+! Encode.pm
++ t/from_to.t
+ from_to() now makes use of $check more naturally.
+ Message-Id: <693254b90601150535o767e10bai4f4732c275b4ebe0@mail.gmail.com>
+ <B10B4DE2-9BAF-4344-B3BE-2119977D817A@dan.co.jp>
+
+2.12 2005/09/08 14:17:17
+! Encode.xs Encode.pm t/fallback.t
+ Now accepts coderef for CHECK!
+! ucm/8859-7.ucm
+ Updated to newer version at unicode.org
+ http://rt.cpan.org/NoAuth/Bug.html?id=14222
+! lib/Encode/Supported.pod
+ More POD typo fixed.
+ <42F5E243.80500@gmail.com>
+! encoding.pm
+ More POD typo leftover fixed.
+ Message-Id: <b77c1dce05080615487f95314@mail.gmail.com>
+
+2.11 2005/08/05 10:58:25
+! AUTHORS CHANGES
+ To reflect changes below
+! Encode.pm encoding.pm
+ lib/Encode/Alias.pm lib/Encode/PerlIO.pod lib/Encode/Supported.pod
+ Typo fixed by Piotr Fusik in Change 25261 & 25266
+ Message-ID: <001401c595bd$dccb5d80$0bd34dd5@piec>
+! Encode.xs
+ Addresses "BUG REPORT: panic in Encode.xs".
+ Message-Id: <42EDDA97.2010608@hyper.to>
++ lib/Encode/MIME/Header/ISO_2022_JP.pm mime_header_iso2022jp.t
+! lib/Encode/MIME/Header.pm lib/Encode/Config.pm
+ Encoding 'MIME-Header-ISO_2022_JP' is introduced by Makamaka
+ Message-Id: <200507311557.j6VFvE2K034605@www231.sakura.ne.jp>
+! Encode/encode.h Encode.pm Encode.xs
+ PerlIO's "encoding(utf-8-strict)" got a problem w/ partial character.
+ Found and addressed by KONNO Hiroharu <hiroharu.konno@bowneglobal.co.jp>
+ See also ext/PerlIO/encoding/encoding.pm
+ Message-Id: <E1DineE-00068X-TB@yok-gs-workman.asia.bgsinternal.com>
+
+2.10 2005/05/16 18:46:36
+! Encode.pm
+ fixed decode_utf8() accordingly to RT#8872
+ http://rt.cpan.org/NoAuth/Bug.html?id=8872
+! Encode.xs AUTHORS
+ s/SvIVX/SvIV_set/ by Steve Peters.
+ Message-Id: <2297.67.96.185.36.1114626315.squirrel@webmail3.pair.com>
+! AUTHORS
+ GAAS was missing!
+! Encode.pm
+ New Pod section: "UTF-8 vs utf8"; explains utf-8-strict
++ t/utf8strict.t
+ Tests utf-8-strict, accordingly to
+ UTF-8 decoder capability and stress test" by Markus Kuhn
+ http://smontagu.damowmow.com/utf8test.html
+ Note that malformed and overlong sequences are not test here
+ because perl already does that for you, utf-8-strict or not.
+! Encode.pm Encode/encode.h t/fallback.t
+ Addressed "encode(..., Encode::LEAVE_SRC) does not work".
+ Now FB_(PERLQQ|HTMLCREF|XMLCREF) implies LEAVE_SRC so
+ you can (en|de)code constant strings with these fallbacks.
+ http://rt.cpan.org/NoAuth/Bug.html?id=8736
+! Encode.pm Encode.xs lib/Encode/Alias.pm t/Aliases.t
+ Make Encode.pm support the real UTF-8, by GAAS
+ Message-Id: <lrfz2mcngd.fsf@caliper.activestate.com>
+ Message-Id: <lr4qizbvvm.fsf@caliper.activestate.com>
+! Encode.pm Encode.xs
+ post-2.09 comment patches from GAAS applied.
+ Message-Id: <lroehacz6q.fsf@caliper.activestate.com>
+ Message-Id: <lrk6rycymu.fsf@caliper.activestate.com>
+
+2.09 2004/12/03 19:16:53
+! Encode.pm Encode.xs
+ Addressed " :encoding(utf8) broken in perl-5.8.6".
+ Message-Id: <lrllcfeank.fsf_-_@caliper.activestate.com>
+! Encode.pm
+ Addressed "(de|en)code($valid_encoding, undef) does not warn".
+ http://rt.cpan.org/NoAuth/Bug.html?id=8723
+! Encode.pm t/Encode.t
+ Addressed "Can't encode URI". When a reference is fed to (en|de)code,
+ Encode now stringifies instead of returning undef.
+ http://rt.cpan.org/NoAuth/Bug.html?id=8725
+! Encode.xs t/fallback.t
+ Addressed "FB_HTMLCREF and FB_XMLCREF for the UTF-8 decoder".
+ http://rt.cpan.org/NoAuth/Bug.html?id=8694
+! Encode.pm
+ Addressed "s/digit/number/".
+ http://rt.cpan.org/NoAuth/Bug.html?id=8695
+! Encode.pm
+ Addressed "while (defined(read )) { ... } is an infinite loop".
+ http://rt.cpan.org/NoAuth/Bug.html?id=8696
+! Encode.pm
+ Addressed "What the heck is UCM?".
+ Document fixed so that it no longer contains "UCM-Based Encodings".
+ http://rt.cpan.org/NoAuth/Bug.html?id=8697
+
+2.08 2004/10/24 13:00:29
+! Encode.xs lib/Encode/Encoding.pm Unicode/Unicode.{pm,xs}
+ Resolved the issue that was raised by 2.07 -- Encode::utf8 fallbacks
+ that was introduce messed up PerlIO::encoding.
+ * To do so, ->renew() is renewed and ->renewed() was introduced to
+ tell whether the caller is PerlIO or not.
+ Message-Id: <94B2EB12-25B7-11D9-9E6A-000A95DBB50A@dan.co.jp>
+
+2.07 2004/10/22 19:35:52
+! lib/Encode/Encoding.pm
+ "Remove Carp from warnings.pm" that influences Encode, by Tels.
+ Message-Id: <200410161618.29779@bloodgate.com>
+! Encode.xs AUTHORS t/fallback.t
+ Now Encode::utf8's fallbacks are compliant to Encode standard.
+ Thank Bjoern Hoehrmann for persistently convincing me.
+ Message-Id: <41a61aea.638409494@smtp.bjoern.hoehrmann.de>
+! Encode.pm
+ POD further revised.
+
+2.06 2004/10/22 06:23:11
+! ucm/mac*
+ RT #8083 reports that MacThai mapping was obsolete
+ Updated all mac* encodings accordingly to the URI below.
+ One remaining mystery is that MacRomanian vs. MacRumanian.
+ MacRumanian is not found in unicode.org...
+ http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/
+! Encode.pm t/Encode.t
+ Fixed RT #8081: "decode(..., bless{},'x') segfault"
+ Two more tests added to test that.
+ http://rt.cpan.org/NoAuth/Bug.html?id=8081
+! Encode.pm
+ POD revised accordingly to RT #7966
+ http://rt.cpan.org/NoAuth/Bug.html?id=7966
+! Unicode/Unicode.pm
+ POD updated explaining why Encode::Unicode always croaks on error
+ rather than giving users choices.
+ http://rt.cpan.org/NoAuth/Bug.html?id=7892
+
+2.05 2004/10/19 04:55:01
+! encoding.pm
+ "unnuke" jhi's patch in bleedperl, with minor correction by dankogai.
+ Message-ID: <41210A84.6060506@iki.fi>
+ Message-ID: <20041018233442.7418113f@r2d2>
+ Message-Id: <2BA3DAC4-218A-11D9-906D-000A95DBB50A@dan.co.jp>
+
+2.04 2004/10/16 21:22:44
+! Makefle.PL
+ From: craigberry@mac.com
+ Subject: [PATCH ext/Encode/Makefile.PL] make Encode.c dependency explicit
+ Message-Id: <41716868.7000102@mac.com>
+
+2.03 2004/10/06 05:07:20
+! lib/Encode/Alias.pm
+ Resolved some alias case sensitivity glitches reported via RT.
+ http://rt.cpan.org/NoAuth/Bug.html?id=7835
+! bin/piconv
+ Resolved Win32 glitches reported via RT.
+ (Fixed by dankogai and tested by Steve Hay)
+ http://rt.cpan.org/Ticket/Display.html?id=7831
+! JP/JP.pm lib/Encode/Alias.pm lib/Encode/Supported.pod AUTHORS
+ /\bwindows-31j$/i is now an alias of CP932, by Steve Hay.
+ http://rt.cpan.org/NoAuth/Bug.html?id=6695
+
+2.02 2004/08/31 10:55:34
+! ucm/big5-hkscs.ucm AUTHORS t/big5-hkscs.enc t/big5-hkscs.utf
+ New map submitted by Deng Liu and Autrijus. Test data needed
+ to be upgrade as well, done by dankogai
+ Message-Id: <20040824204828.GB6999@aut.dyndns.org>
+! bin/ucmsort
+ Now works for characters U+10000 and above. This fix was needed
+ to "tidy" the original map that was submitted.
+! bin/enc2xs
+ "ucmsort" now mentioned in pod
+
+2.01 2004/05/25 16:27:14
+! bin/enc2xs AUTHORS
+ From: domo@computer.org
+ Subject: [PATCH] Correct statistics from enc2xs
+ <4AF60A4A-B8BB-11D8-BF99-000A27839BD6@computer.org>
+ <CDEBBD45-B91D-11D8-BF99-000A27839BD6@computer.org>
+! lib/Encode/Alias.pm
+ Addressed "False [] range "\s-" in regex;" in Encode::Alias.pm
+ <200405271148.i4RBm4KY026529@mail.mvnet.de>
+
+2.01 2004/05/25 16:27:14
+! lib/Encode/CN/HZ.pm lib/Encode/Unicode/UTF7.pm
+ "If someone thinks utf8::upgrade($1) should be croaked like
+ chom?p($1),please try the following patch for Encode.pm."
+ -- sadahiro-san
+ <20040522212704.C068.BQW10602@nifty.com>
+
+2.0 2004/05/16 20:55:15
+* version updated to 2.00
+ -- sorry, no big feature change. I just hate version 1.100 :)
+! lib/Encode/Guess.pm
+ Unicode/Unicode.pm
+ addressed UTF-(8|32LE) + BOM misguessing
+ https://rt.cpan.org/Ticket/Display.html?id=6279
+! Encode.pm
+ s/is_utif8/is_utf8/ in POD
+! Encode/lib/Encode/CN/HZ.pm
+ Fixes "make test" failure after the patch to pp_hot.c
+ by Sadahiro-san
+ Message-Id: <20040222182357.6B39.BQW10602@nifty.com>
+! bin/piconv
+ From: autrijus@autrijus.org
+ Subject: [PATCH] "piconv -C 512" badly broken
+ Message-Id: <1072870210.769.5.camel@localhost>
+
+1.99 2003/12/29 02:47:16
+! Unicode/Unicode.xs
+ find_encoding("UTF-16BE")->encode("abc") now null terminates
+ http://www.mail-archive.com/perl5-porters@perl.org/msg69766.html
+! Encode.pm
+ prototype bug in decode_utf8() fixed
+ Message-Id: <600A4CDA-F004-11D7-B570-000393AE4244@dan.co.jp>
+! Encode.pm /MANIFEST encoding.pm lib/Encode/Supported.pod
+ t/at-cn.t t/at-tw.t t/gsm0338.t ucm/gsm0338.ucm
++ t/gsm0338.t
+ Merged from maintperl@21987
+
+1.98 2003/08/20 11:15:31
+! lib/Encode/MIME/Header.pm AUTHORS t/mime-header.t
+ Dave Evans has found and corrected a bug in Encode::MIME::Header.
+ Test suite added by Dan Kogai.
+ Message-Id: <3F43440B.7060606@rudolf.org.uk>
+! encoding.pm
+ Typo fixes rolled back in from bleedperl
+! t/at-cn.t t/at-tw.t
+ v-strings, now depreciated in perl 5.8.1, is replaced by sadahiro
+ Message-Id: <20030805002313.9880.BQW10602@nifty.com>
+! bin/enc2xs
+ argv case nit for VMS by Craig
+ Message-ID: <3F2B02DE.10207@mac.com>
+! t/enc_eucjp.t t/enc_utf8.t AUTHORS
+ Encode test fixes for VMS by Peter Prymmer
+ Message-ID: <OFBD4A7559.D7CF9517-ON85256D6B.00534853-85256D6B.00538131@factset.com>
+! lib/Encode/Alias.pm t/Aliases.t
+ koi-8 aliases bug detected and patched by sadahiro.
+ Further fix and test suite by dankogai
+ Message-Id: <20030713102228.C76A.BQW10602@nifty.com>
+
+1.97 2003/07/08 21:52:14
+! encoding.pm lib/Encode/Guess.pm lib/Encode/Alias.pm
+ lib/Encode/JP/JIS7.pm lib/Encode/Encoder.pm Encode.pm
+ $DEBUG replaced with DEBUG() so perl optimizes better,
+ by Rafael with further fixes by dankogai
+ Message-Id: <20030705222023.1f24e041.rgarciasuarez@free.fr>
+! lib/Encode/Aliases.pm
+ Was: define_alias( qr/\bGB[-_ ]?2312(?:\D.*$|$)/i => '"euc-cn"' );
+ Now: define_alias( qr/\bGB[-_ ]?2312(?!-?raw)/i => '"euc-cn"' );
+ So new hash seeding introduced in bleedperl works.
+ Message-Id: <20030629100937.GD20285@vipunen.hut.fi>
! lib/Encode/Guess.pm
$Encode::Guess::NoUTFAutoGuess is added so you can turn off
automatic utf(8|16|32) guessing -- originally by Autrijus