Absolutely great commit, solving a very important pending issue. Thanks a
lot!

Brgds,
Viktor

On Sun, Nov 8, 2009 at 2:46 AM, <[email protected]> wrote:

> Revision: 12830
>
> http://harbour-project.svn.sourceforge.net/harbour-project/?rev=12830&view=rev
> Author:   druzus
> Date:     2009-11-08 01:46:17 +0000 (Sun, 08 Nov 2009)
>
> Log Message:
> -----------
> 2009-11-08 02:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
>  * harbour/src/vm/set.c
>    ! fixed small typos in returned values (FALSE instead of NULL and 0)
>
>  * harbour/src/vm/estack.c
>    * make calling hb_stackTotalItems() safe in MT mode when stack is not
>      initialized - now this function can be used to check if HVM stack
>      exists and is initialized in ST and MT mode
>
>  * harbour/src/rtl/errintlo.c
>    ! fixed at least 4 GPF traps exploited when hb_errInternal() was called
>      and HVM stack was not initialized
>
>  * harbour/include/Makefile
>  + harbour/include/hbcdpreg.h
>  * harbour/include/hbapicdp.h
>  * harbour/src/rtl/cdpapi.c
>    + added new CDP API which fixes many errors and limitations in old
>      implementation.
>      Warning !!! some very serious bugs in national sorting have been
>                  fixed. It may cause that old indexes using some national
>                  sorting will not be compatible. Please rebuild existing
>                  indexes.
>
>  * harbour/src/vm/itemapi.c
>  * harbour/src/rdd/hsx/hsx.c
>  * harbour/src/rdd/dbfntx/dbfntx1.c
>  * harbour/src/rdd/dbfnsx/dbfnsx1.c
>  * harbour/src/rdd/dbfcdx/dbfcdx1.c
>  * harbour/contrib/hbbmcdx/bmdbfcdx.c
>  * harbour/contrib/rddads/adsx.c
>  * harbour/contrib/rddsql/sqlmix.c
>    * updated to work with new CDP API
>    TOFIX: update adsx.c and sqlmix.c to use hb_cdpcmp() which resepcts
>           sorting with accented and mulitybyts characters.
>           Mindaugas, can you update above code?
>
>  * harbour/src/codepage/cpbg866.c
>  * harbour/src/codepage/cpbgiso.c
>  * harbour/src/codepage/cpbgmik.c
>  * harbour/src/codepage/cpbgwin.c
>  * harbour/src/codepage/cpcs852.c
>  * harbour/src/codepage/cpcsiso.c
>  * harbour/src/codepage/cpcskam.c
>  * harbour/src/codepage/cpcswin.c
>  * harbour/src/codepage/cpde850.c
>  * harbour/src/codepage/cpdeiso.c
>  * harbour/src/codepage/cpdewin.c
>  * harbour/src/codepage/cpel737.c
>  * harbour/src/codepage/cpeliso.c
>  * harbour/src/codepage/cpelwin.c
>  * harbour/src/codepage/cpes850.c
>  * harbour/src/codepage/cpes850c.c
>  * harbour/src/codepage/cpesiso.c
>  * harbour/src/codepage/cpesisoc.c
>  * harbour/src/codepage/cpeswin.c
>  * harbour/src/codepage/cpeswinc.c
>  * harbour/src/codepage/cpeswinm.c
>  * harbour/src/codepage/cpfr850.c
>  * harbour/src/codepage/cpfriso.c
>  * harbour/src/codepage/cpfrwin.c
>  * harbour/src/codepage/cphr437.c
>  * harbour/src/codepage/cphr852.c
>  * harbour/src/codepage/cphrwin.c
>  * harbour/src/codepage/cphu852.c
>  * harbour/src/codepage/cphu852s.c
>  * harbour/src/codepage/cphuiso.c
>  * harbour/src/codepage/cphuisos.c
>  * harbour/src/codepage/cphuwin.c
>  * harbour/src/codepage/cphuwins.c
>  * harbour/src/codepage/cpit437.c
>  * harbour/src/codepage/cpit850.c
>  * harbour/src/codepage/cpitisb.c
>  * harbour/src/codepage/cpitiso.c
>  * harbour/src/codepage/cpitwin.c
>  * harbour/src/codepage/cpltwin.c
>  * harbour/src/codepage/cppl852.c
>  * harbour/src/codepage/cppliso.c
>  * harbour/src/codepage/cpplmaz.c
>  * harbour/src/codepage/cpplwin.c
>  * harbour/src/codepage/cppt850.c
>  * harbour/src/codepage/cpptiso.c
>  * harbour/src/codepage/cpro852.c
>  * harbour/src/codepage/cproiso.c
>  * harbour/src/codepage/cprowin.c
>  * harbour/src/codepage/cpru866.c
>  * harbour/src/codepage/cpruiso.c
>  * harbour/src/codepage/cprukoi.c
>  * harbour/src/codepage/cpruwin.c
>  * harbour/src/codepage/cpsk852.c
>  * harbour/src/codepage/cpskiso.c
>  * harbour/src/codepage/cpskkam.c
>  * harbour/src/codepage/cpskwin.c
>  * harbour/src/codepage/cpsl437.c
>  * harbour/src/codepage/cpsl852.c
>  * harbour/src/codepage/cpsliso.c
>  * harbour/src/codepage/cpslwin.c
>  * harbour/src/codepage/cpsrwin.c
>  * harbour/src/codepage/cpsv850.c
>  * harbour/src/codepage/cpsvclip.c
>  * harbour/src/codepage/cpsviso.c
>  * harbour/src/codepage/cpsvwin.c
>  * harbour/src/codepage/cptr857.c
>  * harbour/src/codepage/cptriso.c
>  * harbour/src/codepage/cptrwin.c
>  * harbour/src/codepage/cpua1125.c
>  * harbour/src/codepage/cpua866.c
>  * harbour/src/codepage/cpuakoi.c
>  * harbour/src/codepage/cpuawin.c
>  * harbour/src/codepage/uc037.c
>  * harbour/src/codepage/uc1006.c
>  * harbour/src/codepage/uc1026.c
>  * harbour/src/codepage/uc1125.c
>  * harbour/src/codepage/uc1250.c
>  * harbour/src/codepage/uc1251.c
>  * harbour/src/codepage/uc1252.c
>  * harbour/src/codepage/uc1253.c
>  * harbour/src/codepage/uc1254.c
>  * harbour/src/codepage/uc1255.c
>  * harbour/src/codepage/uc1256.c
>  * harbour/src/codepage/uc1257.c
>  * harbour/src/codepage/uc1258.c
>  * harbour/src/codepage/uc424.c
>  * harbour/src/codepage/uc500.c
>  * harbour/src/codepage/uc737.c
>  * harbour/src/codepage/uc775.c
>  * harbour/src/codepage/uc850.c
>  * harbour/src/codepage/uc852.c
>  * harbour/src/codepage/uc855.c
>  * harbour/src/codepage/uc856.c
>  * harbour/src/codepage/uc857.c
>  * harbour/src/codepage/uc860.c
>  * harbour/src/codepage/uc861.c
>  * harbour/src/codepage/uc862.c
>  * harbour/src/codepage/uc863.c
>  * harbour/src/codepage/uc864.c
>  * harbour/src/codepage/uc865.c
>  * harbour/src/codepage/uc866.c
>  * harbour/src/codepage/uc869.c
>  * harbour/src/codepage/uc874.c
>  * harbour/src/codepage/uc875.c
>  * harbour/src/codepage/uc885910.c
>  * harbour/src/codepage/uc885911.c
>  * harbour/src/codepage/uc885913.c
>  * harbour/src/codepage/uc885914.c
>  * harbour/src/codepage/uc885915.c
>  * harbour/src/codepage/uc885916.c
>  * harbour/src/codepage/uc88591b.c
>  * harbour/src/codepage/uc8859_1.c
>  * harbour/src/codepage/uc8859_2.c
>  * harbour/src/codepage/uc8859_3.c
>  * harbour/src/codepage/uc8859_4.c
>  * harbour/src/codepage/uc8859_5.c
>  * harbour/src/codepage/uc8859_6.c
>  * harbour/src/codepage/uc8859_7.c
>  * harbour/src/codepage/uc8859_8.c
>  * harbour/src/codepage/uc8859_9.c
>  * harbour/src/codepage/ucascii.c
>  * harbour/src/codepage/ucatari.c
>  * harbour/src/codepage/uckam.c
>  * harbour/src/codepage/uckoi8.c
>  * harbour/src/codepage/uckoi8u.c
>  * harbour/src/codepage/ucmacce.c
>  * harbour/src/codepage/ucmaccyr.c
>  * harbour/src/codepage/ucmacgrk.c
>  * harbour/src/codepage/ucmacice.c
>  * harbour/src/codepage/ucmacrom.c
>  * harbour/src/codepage/ucmactrk.c
>  * harbour/src/codepage/ucmaz.c
>  * harbour/src/codepage/ucmik.c
>  * harbour/src/codepage/ucnext.c
>    * updated for new CP API
>    Warning: please test all national CPs. I'm not able to test unknown for
>             me national character conditions so it's possible that I made
>             something wrong. Additionally current CP API does not have
>             some limitations which existed in the old one so now some hacks
>             or workarounds can be cleaned. I.e. now all translations are
>             done using Unicode tables so it's not necessary to use the
>             same number of characters to make them working.
>             Updating CP files I've found the following potential problems
>             in definitions which I haven't fixed or fixed only partially:
>
>         cpes850c.c - update for new format removing hacks for old CP
>                      implementation
>         cpesisoc.c  > remove, it's not longer necessary
>         cpeswinc.c /
>         cpeswinm.c - it is the same as cpesiso.c so it should be removed
>
>         cphu852.c  \
>         cphu852s.c  \
>         cphuiso.c    > update for new format removing hacks for old CP
>         cphuwin.c   /  implementation
>
>         cphuisos.c  > remove, it's not longer necessary
>         cphuwins.c /
>
>         cphr437.c  > does it really use CP-437? and ^...@~}|{` instead of
>         cpsl437.c /  nationalletters or it uses different then 437 CP for
>                      7-bit Croatian characters encoding. It's important
>                      because without valid unicode table translations will
>                      not work.
>
>         cpit437.c  - update for new version if necessary (upper characters)
>
>         cpsv850.c \
>         cpsviso.c  > they had ACCENTED_INTERLEAVED but without
> ACCENTED_EQUAL
>         cpsvwin.c /  so this setting was ignored. Now it's not ignored.
>
>         cpsvclip.c - update for new format to be fully not only
>                      "almost compatible with Clipper's NTXSWE.OBJ"
>
>      For sure these are not all problems inherited from old CP
>      implementation so please verify all existing CPs.
>
>  * harbour/src/codepage/cp_tpl.c
>    + added new example for CP definition. Working on new CPs please read
>      this description:
>         If accented characters need special sorting ( HB_CDP_ACSORT_EQUAL
> or
>         HB_CDP_ACSORT_INTERLEAVE ) then you need to mark the accented
>         characters with the symbol '~' before each of them, for example:
>            a~_
>         If there is two-character sequence, which is considered as one, it
>         should be marked with '.' before and after it, for example:
>            ... h.ch.i ...
>         if such multibyte character has its own Unicode representation then
>         this Unicode value can be set using '=' symbol, for example:
>            ....h.ch=2A7C.i
>         and it will be used in translations.
>
>         The Upper case string and the Lower case string should use the
>         same letters. If some characters does not have corresponding upper
>         or lower letter then space ' ' can be used as dummy character, for
>         example in German CPs there is no upper case 'scharfes S' letter
>         so space is used as dummy character.
>
>         HB_CP_LATIN should be 1 if the national alphabet is based on Latin
>         otherwise 0
>
>      Please note that now you can use two versions of CP definition.
>      The 1-st one which uses human readable form similar to the old CP
>      definition and 2-nd which uses directly final CP tables so it
>      allows to replicate any conditions which existed in Clipper or
>      any other compatible language which uses static tables.
>      tests/cpinfo.prg can generate automatically .c files with new CP
>      definition in the 2-nd version. Now if user wants to create new
>      Harbour CP which is fully Clipper compatible he only has to
>      compile and link cpinfo.prg with given national sorting module
>      and then execute it with new Harbour CP name as 1-st parameter.
>      cp<cpname>.c file is generated which can be added to Harbour
>      repository. Optional 2-nd parameter is CP description and 3-rd
>      is Harbour Unicode table ID (if not given 437 is used and should
>      be updated by user in .c file). This method should definitely
>      resolve any problems with creating Clipper compatible CP definition.
>      It also allows to easy verify if CP definitions are compatible. It's
>      enough to compare generated .c files.
>
>  * harbour/src/codepage/uckam.c
>    ! fixed Kamenicky Unicode table definition - it was Mazovia CP :)
>
>  * harbour/src/codepage/cpde850.c
>  * harbour/src/codepage/cpdeiso.c
>  * harbour/src/codepage/cpdewin.c
>    ! fixed CP wrongly encoded CP due to limitations in old CP definition.
>      Now it's possible to define different number of upper an lower
>      characters (space " " can be used as dummy character) and I used
>      it to eliminate hack for 'scharfes S' which does not exists as upper
>      case.
>      Please clean other CPs which contain similar hacks.
>
>  * harbour/src/codepage/cphu852.c
>  * harbour/src/codepage/cphuiso.c
>  * harbour/src/codepage/cphuwin.c
>  * harbour/src/codepage/cpua866.c
>    * removed dummy letters introduced for old translation code
>
>  * harbour/src/rtl/natmsg.c
>  * harbour/src/rtl/cdpapi.c
>  * harbour/include/hbextern.ch
>    + added HB_CDPINFO() function
>    * redirected _NATSORTVER() function to HB_CDPINFO()
>
>   To All,
>      Please check your national sorting in current version and make
>      any updates if necessary or inform me about found problems.
>      I've checked that Polish CPs are working fine and all existing
>      CPs passes my test program which verified some technical aspects
>      of CP implementation. But I cannot verify if this definitions
>      satisfy users in different countries.
>
> Modified Paths:
> --------------
>    trunk/harbour/ChangeLog
>    trunk/harbour/contrib/hbbmcdx/bmdbfcdx.c
>    trunk/harbour/contrib/rddads/adsx.c
>    trunk/harbour/contrib/rddsql/sqlmix.c
>    trunk/harbour/include/Makefile
>    trunk/harbour/include/hbapicdp.h
>    trunk/harbour/include/hbextern.ch
>    trunk/harbour/src/codepage/cp_tpl.c
>    trunk/harbour/src/codepage/cpbg866.c
>    trunk/harbour/src/codepage/cpbgiso.c
>    trunk/harbour/src/codepage/cpbgmik.c
>    trunk/harbour/src/codepage/cpbgwin.c
>    trunk/harbour/src/codepage/cpcs852.c
>    trunk/harbour/src/codepage/cpcsiso.c
>    trunk/harbour/src/codepage/cpcskam.c
>    trunk/harbour/src/codepage/cpcswin.c
>    trunk/harbour/src/codepage/cpde850.c
>    trunk/harbour/src/codepage/cpdeiso.c
>    trunk/harbour/src/codepage/cpdewin.c
>    trunk/harbour/src/codepage/cpel737.c
>    trunk/harbour/src/codepage/cpeliso.c
>    trunk/harbour/src/codepage/cpelwin.c
>    trunk/harbour/src/codepage/cpes850.c
>    trunk/harbour/src/codepage/cpes850c.c
>    trunk/harbour/src/codepage/cpesiso.c
>    trunk/harbour/src/codepage/cpesisoc.c
>    trunk/harbour/src/codepage/cpeswin.c
>    trunk/harbour/src/codepage/cpeswinc.c
>    trunk/harbour/src/codepage/cpeswinm.c
>    trunk/harbour/src/codepage/cpfr850.c
>    trunk/harbour/src/codepage/cpfriso.c
>    trunk/harbour/src/codepage/cpfrwin.c
>    trunk/harbour/src/codepage/cphr437.c
>    trunk/harbour/src/codepage/cphr852.c
>    trunk/harbour/src/codepage/cphrwin.c
>    trunk/harbour/src/codepage/cphu852.c
>    trunk/harbour/src/codepage/cphu852s.c
>    trunk/harbour/src/codepage/cphuiso.c
>    trunk/harbour/src/codepage/cphuisos.c
>    trunk/harbour/src/codepage/cphuwin.c
>    trunk/harbour/src/codepage/cphuwins.c
>    trunk/harbour/src/codepage/cpit437.c
>    trunk/harbour/src/codepage/cpit850.c
>    trunk/harbour/src/codepage/cpitisb.c
>    trunk/harbour/src/codepage/cpitiso.c
>    trunk/harbour/src/codepage/cpitwin.c
>    trunk/harbour/src/codepage/cpltwin.c
>    trunk/harbour/src/codepage/cppl852.c
>    trunk/harbour/src/codepage/cppliso.c
>    trunk/harbour/src/codepage/cpplmaz.c
>    trunk/harbour/src/codepage/cpplwin.c
>    trunk/harbour/src/codepage/cppt850.c
>    trunk/harbour/src/codepage/cpptiso.c
>    trunk/harbour/src/codepage/cpro852.c
>    trunk/harbour/src/codepage/cproiso.c
>    trunk/harbour/src/codepage/cprowin.c
>    trunk/harbour/src/codepage/cpru866.c
>    trunk/harbour/src/codepage/cpruiso.c
>    trunk/harbour/src/codepage/cprukoi.c
>    trunk/harbour/src/codepage/cpruwin.c
>    trunk/harbour/src/codepage/cpsk852.c
>    trunk/harbour/src/codepage/cpskiso.c
>    trunk/harbour/src/codepage/cpskkam.c
>    trunk/harbour/src/codepage/cpskwin.c
>    trunk/harbour/src/codepage/cpsl437.c
>    trunk/harbour/src/codepage/cpsl852.c
>    trunk/harbour/src/codepage/cpsliso.c
>    trunk/harbour/src/codepage/cpslwin.c
>    trunk/harbour/src/codepage/cpsrwin.c
>    trunk/harbour/src/codepage/cpsv850.c
>    trunk/harbour/src/codepage/cpsvclip.c
>    trunk/harbour/src/codepage/cpsviso.c
>    trunk/harbour/src/codepage/cpsvwin.c
>    trunk/harbour/src/codepage/cptr857.c
>    trunk/harbour/src/codepage/cptriso.c
>    trunk/harbour/src/codepage/cptrwin.c
>    trunk/harbour/src/codepage/cpua1125.c
>    trunk/harbour/src/codepage/cpua866.c
>    trunk/harbour/src/codepage/cpuakoi.c
>    trunk/harbour/src/codepage/cpuawin.c
>    trunk/harbour/src/codepage/uc037.c
>    trunk/harbour/src/codepage/uc1006.c
>    trunk/harbour/src/codepage/uc1026.c
>    trunk/harbour/src/codepage/uc1125.c
>    trunk/harbour/src/codepage/uc1250.c
>    trunk/harbour/src/codepage/uc1251.c
>    trunk/harbour/src/codepage/uc1252.c
>    trunk/harbour/src/codepage/uc1253.c
>    trunk/harbour/src/codepage/uc1254.c
>    trunk/harbour/src/codepage/uc1255.c
>    trunk/harbour/src/codepage/uc1256.c
>    trunk/harbour/src/codepage/uc1257.c
>    trunk/harbour/src/codepage/uc1258.c
>    trunk/harbour/src/codepage/uc424.c
>    trunk/harbour/src/codepage/uc500.c
>    trunk/harbour/src/codepage/uc737.c
>    trunk/harbour/src/codepage/uc775.c
>    trunk/harbour/src/codepage/uc850.c
>    trunk/harbour/src/codepage/uc852.c
>    trunk/harbour/src/codepage/uc855.c
>    trunk/harbour/src/codepage/uc856.c
>    trunk/harbour/src/codepage/uc857.c
>    trunk/harbour/src/codepage/uc860.c
>    trunk/harbour/src/codepage/uc861.c
>    trunk/harbour/src/codepage/uc862.c
>    trunk/harbour/src/codepage/uc863.c
>    trunk/harbour/src/codepage/uc864.c
>    trunk/harbour/src/codepage/uc865.c
>    trunk/harbour/src/codepage/uc866.c
>    trunk/harbour/src/codepage/uc869.c
>    trunk/harbour/src/codepage/uc874.c
>    trunk/harbour/src/codepage/uc875.c
>    trunk/harbour/src/codepage/uc885910.c
>    trunk/harbour/src/codepage/uc885911.c
>    trunk/harbour/src/codepage/uc885913.c
>    trunk/harbour/src/codepage/uc885914.c
>    trunk/harbour/src/codepage/uc885915.c
>    trunk/harbour/src/codepage/uc885916.c
>    trunk/harbour/src/codepage/uc88591b.c
>    trunk/harbour/src/codepage/uc8859_1.c
>    trunk/harbour/src/codepage/uc8859_2.c
>    trunk/harbour/src/codepage/uc8859_3.c
>    trunk/harbour/src/codepage/uc8859_4.c
>    trunk/harbour/src/codepage/uc8859_5.c
>    trunk/harbour/src/codepage/uc8859_6.c
>    trunk/harbour/src/codepage/uc8859_7.c
>    trunk/harbour/src/codepage/uc8859_8.c
>    trunk/harbour/src/codepage/uc8859_9.c
>    trunk/harbour/src/codepage/ucascii.c
>    trunk/harbour/src/codepage/ucatari.c
>    trunk/harbour/src/codepage/uckam.c
>    trunk/harbour/src/codepage/uckoi8.c
>    trunk/harbour/src/codepage/uckoi8u.c
>    trunk/harbour/src/codepage/ucmacce.c
>    trunk/harbour/src/codepage/ucmaccyr.c
>    trunk/harbour/src/codepage/ucmacgrk.c
>    trunk/harbour/src/codepage/ucmacice.c
>    trunk/harbour/src/codepage/ucmacrom.c
>    trunk/harbour/src/codepage/ucmactrk.c
>    trunk/harbour/src/codepage/ucmaz.c
>    trunk/harbour/src/codepage/ucmik.c
>    trunk/harbour/src/codepage/ucnext.c
>    trunk/harbour/src/rdd/dbfcdx/dbfcdx1.c
>    trunk/harbour/src/rdd/dbfnsx/dbfnsx1.c
>    trunk/harbour/src/rdd/dbfntx/dbfntx1.c
>    trunk/harbour/src/rdd/hsx/hsx.c
>    trunk/harbour/src/rtl/cdpapi.c
>    trunk/harbour/src/rtl/errintlo.c
>    trunk/harbour/src/rtl/natmsg.c
>    trunk/harbour/src/vm/estack.c
>    trunk/harbour/src/vm/itemapi.c
>    trunk/harbour/src/vm/set.c
>    trunk/harbour/tests/cpinfo.prg
>
> Added Paths:
> -----------
>    trunk/harbour/include/hbcdpreg.h
>
>
> This was sent by the SourceForge.net collaborative development platform,
> the world's largest Open Source development site.
> _______________________________________________
> Harbour mailing list
> [email protected]
> http://lists.harbour-project.org/mailman/listinfo/harbour
>
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to