* 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.
* doc/howtosvn.txt
+ added extra rules to "1.3 Here's how to format your ChangeLog entries"
section.
* Change markup is not optional anymore, pls stick to it.
* contrib/hbcups/tests/test.prg
* contrib/hbcups/readme.txt
+ Added more test code and extra info to hbcups.
Update provided by Dr. Claudia Neumann (with my minor fixes/formatting).
Many thanks!
* contrib/hbpgsql/rddcopy.c
* contrib/hbpgsql/hbpgsql.h
! svn props
* tests/testtok.prg
* tests/testrdd.prg
* tests/tstchbx.prg
* tests/tstblock.prg
* tests/ticktime.prg
* tests/testvars.prg
* tests/tstasort.prg
* tests/testprof.prg
* tests/testread.prg
* tests/testrpt.prg
* tests/teststr.prg
* formatting.
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
+ patch for implementation of events handling according to Qt docs.
It MAY break existing code, please read:
up to now the event handler always returned false. That means the
event was propagated to parent widget. Sometimes it is necessary to
stop event propagation and so we must return the boolean value
returned from the codeblock.
So, if your codeblock returned .F. or a non-boolean value the code is
ok, if it returned .T. it may broke functionality.
Patch from Francesco Perillo (with minor type fix)
* minor formatting/indenting, removed old 'DO NOT Reformat' comment
* harbour/include/hbgtinfo.ch
+ added new hb_gtInfo() action: HB_GTI_FONTATTRIBUTE and attributes:
HB_GTI_FONTA_FIXMETRIC, HB_GTI_FONTA_CLRBKG, HB_GTI_FONTA_DRAWBOX
* harbour/src/rtl/gtxwc/gtxwc.c
+ implemented HB_GTI_FONTATTRIBUTE.
Now user can make:
hb_gtInfo( HB_GTI_FONTATTRIBUTE, HB_GTI_FONTA_FIXMETRIC + ;
HB_GTI_FONTA_CLRBKG + HB_GTI_FONTA_DRAWBOX )
and use also fonts with broken metrics.
* harbour/ChangeLog
! formatting to 80 columns
* harbour/src/rtl/filebuf.c
! fixed GPF in file locking code.
Many thanks to Kultyshev Igor Anatolevich for reporting the bug
and locating exact reason of the problem.
[TOMERGE 3.0]
* contrib/hbqt/gtqtc/gtqtc.cpp
* Minor.
* contrib/hbide/hbide.qrc
* contrib/hbide/ideactions.prg
* contrib/hbide/ideconsole.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idemain.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/resources/cuied.png
+ Implemented: CUI Screen Designer in hbIDE.
Activate: <View><CUI Screen Designer> OR CUI Screen Designer icon.
NOTE: must exit the screen designer with <ESC> <CTRL+ENTER>
before clsoing hbIDE. It is necessary because when
CUI Designer is active, there are two loops in progress.
So, exiting CUI designer the way we exit an application
is necessary before exiting hbIDE itself.
* contrib/rddads/ads1.c
+ Enhanced: growning ahIndex from 50 to 512 to allows virtually unlimited TAG
Needed for Free Text search where each field must be indexed.
(would otherwhise generate an ADS error 5005).
* contrib/hbqt/hbmk2_qt.hbs
* contrib/hbqt/qtcore/hbqt.h
+ Implemented: C level class creation is now thread-safe.
With this only pending issue with hbQT remains to replace
usage of strtok() function with Harbour's implementation.
* harbour/src/rtl/hbinet.c
% small simplification in error code setting
* harbour/src/rtl/hbcom.c
* always set explicitly tty device in raw mode even if cfmakeraw()
exists to avoid potential problems with some platforms which
may not make some necessary settings.
* contrib/hbcuied/cu_object.prg
* contrib/hbcuied/cu_utlty.prg
+ Implemented: K_ALT_P preview.
Preview takes following considerations:
0. Background color is always set to "W/B".
You can change this behavior with a BOX covering
entire screen.
1. Rows and columns of the screen are calculated based
on maximum ending row and column of objects defined.
if those values are greater than 25/80 then one more
row and column is added to them, otherwise,
rows/columns are 25/80 as in standard screen.
2. If COLOR is defined as a literal value enclosed in
quotes, then this value is used otherwise "W/B" is used.
3. If PICTURE is defined as literal string enclosed
in quotes, then it is used, otherwise left. For numeric
fields, picture is always generated as "9999??[.9?]" based
on field length and decimals.
* contrib/hbcuied/cu_object.prg
* contrib/hbcuied/cu_utlty.prg
* contrib/hbcuied/hbcuied.ch
+ Implemented: K_PGUP/K_PGDN to navigate vertically.
K_ALT_Z to undo last action.
K_ALT_G to re-order GETS.
* Improved: help screens adding highlights and additopnal text.
! Fixed: many misbehaving artifacts.
NOTE: Harbour Screen Designer is almost at production level.
I am awaiting groups response as to what else they need.
To Viktor: is it possible that it be included in Harbour's bin
folder. I wish to embed this into hbIDE.
* contrib/hbcuied/cu_object.prg
* contrib/hbcuied/cu_utlty.prg
* contrib/hbcuied/hbcuied.ch
+ Implemented: K_HOME places the cursor to zero column of the screen.
K_END places the cursor to next column of last
object on that row.
Alt_N Inserts blank row at current cursor position.
All objects on/after that row are moved one row down.
Alt_O Delets current row. All objects on that row
are also delted. Subsequent objects are moved
one row up.
+ Added: help screens <General> containing info about the designer.
* Updated: help screen <Keys> with latest changes.
* contrib/hbcuied/cu_object.prg
* contrib/hbcuied/cu_utlty.prg
* Inplace: building blocks of extended help screens.
+ GETS are now formatted nicely when writing back to PRG.
* contrib/hbcuied/cu_main.prg
* contrib/hbcuied/cu_object.prg
* contrib/hbcuied/cu_utlty.prg
+ Opens with SetMode( 28,80 ) to present real-time 25x80
console window equivalent design area.
+ Added: F1-Help screen which, BTW, is designed with hbCuiEd itself.
+ Added: Expression execution with SAY objects, press F4 on a
text object.
* Many improvements on saving/loading routines.