* harbour/src/vm/fm.c
! do not enable by default DLMALLOC in WinCE builds.
It was the source of problems reported by Jarek with file read/write
operation in WinCE builds. Now it should work correctly - please
make some tests with real devices - I used emulator only.
* harbour/contrib/hbwin/wapi_wingdi_font.c
+ added WAPI_ADDFONTRESOURCE() and WAPI_REMOVEFONTRESOURCE()
* contrib/hbziparc/ziparc.prg
+ added support for HB_UNZIPFILE() lWithPath parameter
! fixed HB_UNZIPFILE() after latest patch and added better error checking
! fixed setting attribs
; Patch by Grigory Filatov, with these changes of mine:
* deleted changes to existing code and replaced it with optimizated code
* deleted reformatting of existing code
! fixed adding ending pathsep
* minor simplification
! fixed RTE when using progress bar (from Leandro's new patch)
; Please test
- contrib/hbpgsql/tests/hdbctest.prg
- deleted HDBC/PGSQL tests
* harbour/src/rtl/gtwvt/gtwvt.c
! fixed infinite recursive loops and GPF in WinCE builds caused by
SetWindowPos()/ProcessMessages() when WM_SIZE message is processed.
Now GTWVT can be used again in WinCE builds.
* harbour/src/compiler/hbmain.c
! take starting line number from PP to eliminate possible
synchronization problem
* harbour/src/compiler/hbcmplib.c
! minor fix in meta filename detecting
* harbour/include/hbpp.h
* harbour/include/hbcomp.h
* harbour/src/pp/ppcore.c
* harbour/src/compiler/hbmain.c
* harbour/src/compiler/hbcmplib.c
+ added support for setting starting line number in code compiled
from memory buffer
! removed unnecessary EF_CANDEFULT flag from recently added
compiler RTE
* harbour/include/hbpp.h
* harbour/include/hbcomp.h
* harbour/include/hbcompdf.h
* harbour/src/compiler/hbmain.c
* harbour/src/compiler/hbcomp.c
* harbour/src/compiler/hbgenerr.c
+ added support for redirecting compiler warning and error messages
to user function.
* harbour/src/compiler/hbcmplib.c
+ optional support for generating RTE in HB_COMPILE*() functions
on compile errors.
* contrib/hbpgsql/hbpgsql.hbx
* contrib/hbpgsql/hbpgsql.hbp
- contrib/hbpgsql/hdbcpg.prg
- Deleted HDBC class layer due references to deprecated
wrapper function which caused link errors in dynamic builds
or HDBC apps. Please readd the file if interested in making
this technially simple fix.
* contrib/hbmzip/mzip.c
% eliminated one local variable in HB_UNZIPFILEREAD()
* contrib/hbziparc/ziparc.prg
+ HB_UNZIPFILE(): added progress bar support.
Patch by Leandro Damasio, with following changes:
! refixed to use cPath when forming target filename
! missing hHandle declaration
% FERASE() removed, FCREATE() will recreate it
% Left() eliminated from FWRITE() call
* minor symbol casing
; I didn't test this code, so please do it.
* harbour/src/rtl/transfrm.c
% eliminated hb_charUpper() called for picture clauses and minor
code optimization
* harbour/src/rtl/gtapi.c
! fixed typo in function name: hb_gtBoxS() was wrongly redirected
to HB_GTSELF_BOXD() instead of HB_GTSELF_BOXS()
* harbour/include/hbapicdp.h
* harbour/src/rtl/cdpapi.c
- removed hb_cdpchrcmp() function and HB_CDP_ISBYTESORT() macro
+ added new function:
const HB_UCHAR * hb_cdpGetSortTab( PHB_CODEPAGE cdp );
it returns binary sort table or NULL if given CP uses more
complicated sorting algorithm.
* harbour/include/hbrddcdx.h
* harbour/src/rdd/dbfcdx/dbfcdx1.c
% use hb_cdpGetSortTab() to take binary sort table used by WA CP
instead of creating new one for each WA.
* src/rtl/tget.prg
! If the cursor is located in the middle of a word, ::wordLeft() no
places it at the beginning of this word, the cursor jumps to the
previous one.
! If the cursor is located at the end of a word ::wordRight() no places
it at the beginning of the next word skipping only the spaces between
them, the next word is skipped entirely.
; Patch and description by Juan Gálvez
* harbour/src/pp/ppcore.c
! fixed few problems with line numbering and code using
extended codeblocks
[TOMERGE 3.0]
* harbour/src/pp/pplib2.c
! fixed typo in comment
* contrib/hbqt/gtqtc/gtqtc.cpp
! deleted unused static function shown by new mingw version.
* INSTALL
* mingw 4.6.1 is OK for Harbour.
; I didn't test the 64-bit version in 32-bit mode, I hope
someone will, maybe it has the float precision fixed and
it can become recommended version for both x86 and x64
mingw builds.
* harbour/src/rtl/gtxwc/gtxwc.c
! fixed window activation just after SETMODE() and before any output
! fixed mouse methods to not activate console window but only connect
to XServer if necessary
! fixed internal error reported when HB_GTI_RESIZABLE was called before
creating console window
% do not allocate colors in HB_GTI_PALETTE if there is no console window
* harbour/src/rtl/gtwvt/gtwvt.c
* harbour/src/rtl/gtxwc/gtxwc.c
+ allow to use HB_GTI_ONLINE to check if terminal window exists
* harbour/src/rtl/gtxwc/gtxwc.c
! protection against possible GPF when XServer is not accessible
and user calls HB_GTI_FONTSEL
* do not activate terminal window by HB_GTI_FONTSEL
* use maximal logical width of character instead of maximal size
of character rectangle to calculate width of character cell
* harbour/include/hbgtcore.h
* harbour/src/rtl/gtclip.c
! fixed possible random data settings by hb_gt_winapi_setClipboard()
! fixed possible memory leak in hb_gt_winapi_setClipboard()
+ added new C function for WIN32 builds:
HB_BOOL hb_gt_winapi_setClipboardRaw( HB_UINT uFormat,
void * pData, HB_SIZE nSize );
* harbour/include/hbtrace.h
* harbour/src/common/hbtrace.c
+ added new C function:
const char * hb_tracemode( const char * szNewMode );
it can be called with "a" or "w" parameter to set open
mode for newly created by hb_tracefile() log files.
* harbour/src/rtl/trace.c
+ added new PRG function:
HB_TRACEMODE( [<cNewMode>] ) -> <cPrevMode>
* harbour/src/rtl/hbrandom.c
! fixed HB_RANDOMINTMAX() to return correct value for new PRNG
used by HB_RANDOM() and HB_RANDOMINT() functions
! fixed missing protection against initialization of PRNG seed with 0
* modified the range of hb_random_num() results from ( 0 , 1 ) to
[ 0, 1 )
% added alternative PRN calculation for builds with 64bit integers
! allocate separate PRNG seed for each thread (MT support)
* modified default initialization of PRNG:
if PRNG is not initialized or after HB_RANDOMSEED( 0 ) then
first call to HB_RANDOM() or HB_RANDOMINT() activates
initialization which generates new seed using current time
in milliseconds and HVM stack address (for MT modes).
I used such method because it nicely simplifies code and is
backward compatible with previous implementation.
If someone needs repeatable results from HB_RANDOM() and
HB_RANDOMINT() then he should initialize PRNG seed for each
thread with some fixed value i.e.:
HB_RANDOMSEED( 123456789 )
; Many thanks to Viktor and Mindaugas for their help.
* harbour/contrib/xhb/xhbole.prg
! added missing SETGET in method declaration.
Many thanks to Juan Galvez for locating the problem.
* include/hbapi.h
* src/rtl/hbrandom.c
+ Changed Harbour's core pseudo-random generator from STD C rand()/srand()
to superior implementation. New implementation fixed MT problems with
the standard solution on certain targets (f.e. win/mingw, win/msvc)
Based on Przemek's patch which is in turn based on algorithm by
Steve Park: http://www.cs.wm.edu/~va/software/park/ suggested by me
on the list. Further modifications:
* HB_RANDOMINTMAX() adapted. Checkme, I'm not sure about this.
* HB_RANDOMSEED() updated.
+ headers cleaned, copyright updated, note added
+ automatic seed defaulting like in previous version (checkme,
we may as well drop it, though it will be create incompatibility)
; per-thread seed didn't work well for me (even with new engine)
so I didn't implement it.
+ added proto for hb_random_seed()
* src/rtl/teditor.prg
! fixed following issue: in MEMOEDIT() insert mode the word wrap inserts
an additional, not typed space in the new line [when typing at EOL at the
moment of word wrap - vszakats]. The space is inserted at the place, where
the word wrap takes place.
Report and patch provided by Dr.Claudia Neumann. Many thanks.
(with my formatting: indenting, tab/EOL-space removal)
* contrib/hbqt/qtcore/hbqt_pointer.cpp
! fixed to avoid non-MT compatible strtok() C RTL call.
Many thanks to Carlos Bacco for the patch.
(with my minor formatting 'if (' -> 'if(', 'while (' -> 'while( ')
NOTE: Please continue to avoid strtok() usage in any further Harbour patches,
it is avoided for good reason.
* INSTALL
+ added another (this is the 3rd!) mention to use unmodified ("vanilla")
3rd party packages (especially to make implib generation to work).
* minor updates
* contrib/hbrun/hbrun.hbp
+ added another TOFIX to latest patch, about HB_HAS_ZLIB_LOCAL usage,
which has to be eliminated.
* ChangeLog
+ added UPDATE to previous ChangeLog entry
* ChangeLog
* minor formatting
* contrib/hbrun/hbrun.hbp
* using macro HB_BUILD_DSO to state an linux env with ld DSO linking model
; TOFIX: export this functionality to other .hbc files in need of this
* contrib/hbrun/hbrun.hbp
! Fixed linking on recent linux distros (i.e. F15) that are using the
ld DSO linking model which requires specific declaration of objs/libs.
Added specific declaration on linux of:
* -lz (conditionated by HB_HAS_ZLIB_LOCAL)
* -lm
* utils/hbmk2/hbmk2.*.po
* utils/hbmk2/hbmk2.prg
+ added support for path lists separated by ';' character in -L and
-i/-I options. It's not very elegant (and thus it's not documented)
so please don't use it in Harbour SVN hbmk2 files. I decided to
implement it because -depincpath* options already had it.
* do not document ';' delimited path list for -depincpath* options
* minor change in one help line
* harbour/src/rtl/filesys.c
* harbour/src/rtl/hbproces.c
! use hb_fsOsError() instead of errno which can be overwritten by
by hb_fsSetIOError()
* harbour/tests/gtxfnt.prg
% hb_processRun() instead of hb_processOpen()/fread()/hb_processClose()
+ set font attributes: HB_GTI_FONTA_FIXMETRIC, HB_GTI_FONTA_CLRBKG,
HB_GTI_FONTA_DRAWBOX
* contrib/hbformat/hbfmtcls.prg
! fixed casing of some function names.
* utils/hbmk2/hbmk2.prg
; all changes below apply to .xhp (xMate) to .hbp conversion:
! properly convert input filenames with spaces in them
! remove lib prefix from .a input filenames
% do not add empty -L options
* do not add include paths with %HB_INSTALL%\ in them
+ split non-portable, Borland-specific include path lists
concatenated with ';' into distinct -I options
% do not add empty include paths
* tests/testop.prg
* tests/testntx.prg
* tests/vmasort.prg
* tests/testlbl.prg
* tests/testidle.prg
* tests/videotst.prg
* tests/testmem.prg
* tests/testinit.prg
* tests/testhtml.prg
* tests/tstcolor.prg
* tests/vidtest.prg
* tests/tstuse.prg
* tests/vec1.prg
* tests/while.prg
* tests/tstdspac.prg
* tests/version.prg
* tests/testpre.prg
* tests/tstprag.prg
* formatted. mostly with hbformat.