* harbour/source/rtl/mouse53.c
* do not include unnecessary header files
* harbour/bin/pack_src.sh
* changed packing procedure - now it does not scan chosen directories
and files but all contents of all .svn/entries to extract files
stores in SVN repository and then pack them - it's very good method
to pack whole Harbour repository without .svn/* data and risk of
packing local files.
* harbour/harbour.spec
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* updated for recent changes in directory and library names
* harbour/include/hbwince.h
! Fixed compilation in C++ mode by renaming local variable
named "template" to "tmplt". "template" is a reserved
word in MSVC C++.
+ Added few missing WINAPI function declarations under
MSVC WinCE.
* harbour/source/common/hbwince.c
! Fixed compilation in C++ mode by renaming local variable
named "template" to "tmplt". "template" is a reserved
word in MSVC C++.
* harbour/source/common/hbfsapi.c
* define INVALID_FILE_ATTRIBUTES when not defined in C header
files - temporary workaround for missing INVALID_FILE_ATTRIBUTES
definition in new MSVC versions
* harbour/include/hbwince.h
* removed INVALID_FILE_ATTRIBUTES definition
* harbour/bin/hb-func.sh
* inherit some parameters like -mlp{64,32}, -m{64,32} set in C_USR
during build as default C compiler/linker switches in hb* scripts
* harbour/config/w32/pocc.cf
+ added comdlg32.lib to linked library list
* harbour/source/common/hbwince.c
+ added dummy FreeResource() function. This is a note from MSDN:
FreeResource() is an obsolete function. It is provided for backward
compatibility with 16-bit Windows applications. FreeResource() is
not necessary for 32-bit Windows applications to free the resources
loaded using LoadResource() function.
* harbour/contrib/gtwvg/wvtutils.c
+ added workaround for wrong ChooseColorW() definition in header
files include in last oficial relase (0.50) of MinGW32-CE
Pritpal above finished modifications I was able to make using
only pure MinGW32-CE 0.50. The following functions used by GTWVG
are still missing:
GetMenu(), SetMenu(),
CreateBrushIndirect(),
GetViewportOrgEx(),
IsDlgButtonChecked(),
OleLoadPicture(),
TrackPopupMenu(),
If you are sure that they exist in WinCE then simply create
static import library for them or dynamic wrappers.
* harbour/source/compiler/hbmain.c
* make all hb_compI18n*() functions which do not need external access
static - now only hb_compI18nAdd() is public function. If it will
be necessary to make other functions public then we will make it
but please always try to declare new functions as static if it's
not necessary to access them externally - it helps in future
modifications because we do not have to worry about external
code which may access some functions.
* harbour/config/hpux/gcc.cf
* added commented -mlp64 GCC switch to CFLAGS and LDFLAGS - this
switch forces 64-bit mode in HP-UX on IA64
* harbour/source/common/hbwince.c
+ added wrapper for LocalHandle() and direct translation for LocalLock()
* harbour/config/w32/cemgw.cf
+ added commdlg, commctrl, luuid and ole32 to linked library list
for some contrib code
* harbour/bin/pack_src.sh
* updated for recent file name modifications
* harbour/include/hbgtcore.h
* harbour/source/rtl/gtclip.c
* changed hb_gt_w32_SetClipboard() type from void to BOOL
* harbour/source/rtl/gtstd/gtstd.c
* harbour/source/rtl/gtpca/gtpca.c
* added basic input support for DJGPP
* harbour/contrib/gtwvg/gtwvt.c
! fixed memory leak and GPF trap
* harbour/contrib/gtwvg/wvtutils.c
! rewritten and fixed CLIPBOARD functions - Pritpal this functions
should be removed, they are redundant and works only in MS-Windows
* make WVT__GETOPENFILENAME() and WVT__GETSAVEFILENAME() Unicode
ready and fixed possible GPF trap
* harbour/include/hbwmain.c
* harbour/source/vm/mainwin.c
! fixed unnecessary conversion of WinMain() parameters on W32/W64
when UNICODE macro is set - thanks to Chen
* harbour/source/rdd/sdf1.c
* harbour/source/rdd/delim1.c
! fixed code wrongly synced with xHarbour - in Harbour HB_SET_EOL
is char* not PHB_ITEM - thanks to Andi
* harbour/source/compiler/genc.c
! fixed file name in generated for C inline code by escaping
special characters - thanks to Andi
* harbour/source/rtl/gtwvt/gtwvt.c
* minor code cleanup
* harbour/contrib/gtwvg/wvtcore.c
! fixed setting default foreground and background color when user
does not pass it's own one. Previous versions was using _s->background
and _s->foreground - it was wrong because this variables in all
GTWVT base GTs (also in xHarbour) contains not default color but
the color recently used to redraw some part of screen - f.e. after
exposing some region - it means that they can have any value.
Such bugs are hard to locate because the same program can be executed
many times without any problem and suddenly he will use wrong colors
drawing sth - if you observed such effect then it can be the results
of the above problem. Now default color is taken from core GT code.
Two functions make it: hb_wvt_FgColorParam() and hb_wvt_BgColorParam()
Both accept also colors passed as standard Clipper strings.
The same should be also fixed in xHarbour just like the problem with
executing registered user functions when HVM is closing fixed in
previous commit - even if now it does not cause GPF (due to race
condition it may be exploited only sometimes) then it does not mean
it works correctly.
* harbour/source/rtl/gtwvt/gtwvt.h
* harbour/source/rtl/gtwvt/gtwvt.c
* removed unused global hdc
* formatting and minor code cleanup
* harbour/source/vm/hvm.c
+ added to hb_vmRequestReenter() support for checking if HVM is
properly initialized and working for code which may want to execute
PCODE before HVM initialization or after HVM close - in such case
hb_vmRequestReenter() will return FALSE.
Please also remember that in the future hb_vmRequestReenter()
may return FALSE also in some other cases.
* harbour/source/vm/eval.c
* use hb_vmRequestReenter()/hb_vmRequestRestore() in hb_itemDo[C]()
instead of hb_vmPushState()/hb_vmPopState()
* harbour/contrib/gtwvg/gtwvt.c
! always use hb_vmRequestReenter()/hb_vmRequestRestore() before
executing .prg functions/codeblocks. It will resolve the problem
with executing .prg functions during HVM closing. Anyhow I suggest
to register C cleanup functions using hb_vmAtExit() for code which
needs some additional destructor/closing procedure.
* code formatting and indenting
* source/rtl/gtwin/gtwin.c
* source/rtl/gtcrs/gtcrs.h
* source/rtl/gtsln/gtsln.h
* source/rtl/gttrm/gttrm.c
* source/rtl/gtwvt/gtwvt.h
+ #defining xhb compatible K_SH_* keyboard codes only if
they were not already defined.
* utils/hbdoc/genasc.prg
! Fixed problem generating filenames for .txt output.
Also added LFN branch to get rid of the 8.3 limitation.
* harbour/doc/man/harbour.1
* harbour/source/compiler/hbusage.c
+ added description for -j switch
* harbour/include/hbexprb.c
* replaced // comments by /* */
* accept <cContext> (domain) parameters of HB_i18nGettext() when
number of parameters is two or more
Should we generate compile time warning when wrong number of
parameters is passed to this function or they are not literal
strings? Maybe only after -j+ or sth like that?
* harbour/include/hbclass.ch
* harbour/include/tbrowse.ch
* harbour/include/hbpers.ch
* harbour/include/getexit.ch
* replaced // comments by /* */
* harbour/source/compiler/hbmain.c
! fixed bad typo in hb_compI18nAdd() and memmove() range which can
cause GPF
* changed pFileName to FileName in hb_compI18nSave() to respect used
by us naming convention
* eliminated strcpy() - do not use strcpy()/strcat() - these functions
are reported as dangerous by security restrict compilers.
I suggest to use hb_strncpy()/hb_strncat() instead (remember about
different size meaning in these functions) or some others depending
on context (f.e. hb_strdup() in this case)
* harbour/source/common/hbwince.c
+ added dummy Arc(), FrameRect(), FloodFill() for WinCE builds
* harbour/make_gcc.mak
! restored TABs in rules definitions. Viktor TABs for GNU make
have special meaning - your last modifications broke this file
* harbour/contrib/libmisc/Makefile
! comment DIR rule as temporary workaround for problem with
library name
* harbour/source/rtl/gtwvt/gtwvt.h
* harbour/source/rtl/gtwvt/gtwvt.c
* removed foreground and background from GLOBAL_DATA
- they are not necessary
+ added support for gfxPrimitive() - fixed xHarbour code
* harbour/contrib/gtwvg/gtwvt.c
+ added support for gfxPrimitive() - fixed xHarbour code
* removed some methods which can be safely replaced by
default ones
* harbour/tests/gfx.prg
* harbour/tests/wcecon.prg
* harbour/tests/gtchars.prg
* updated the order of changed font parameters
* harbour/contrib/xhb/hbcompat.ch
! added missing closing square bracket
* harbour/source/include/hbcompdf.h
* harbour/source/include/hbexprop.h
* harbour/source/include/hbexprb.c
* harbour/source/compiler/cmdcheck.c
* harbour/source/compiler/hbmain.c
+ added i18n support
Implemented -j[filename] switch to indicate output filename. Default
filename is <sourcefilename>.pot. If switch -o is used, this file
is created in speficied output path.
Output file format is compatible with 'gettext' utils, but not all
available features are implemented.
Harbour level function HB_i18nGettext( cText [, cContext ] ) sould be
used to indicate translatable strings.
All this commit is commented using #ifdef HB_I18N_SUPPORT and is in
development stage. Please, do not use it yet.
* harbour/include/hbvm.h
* harbour/source/vm/hvm.c
* make hb_vmPushNumInt() public function
* harbour/contrib/gtwvg/wvtcore.c
! fixed hb_wvt_gtDlgProcMLess() and hb_wvt_gtDlgProcModal()
- fixed GPF when codeblock are used
- use hb_vmPushNumInt() instead of hb_vmPushLong() to push
handles and numbers with potentially unknown size.
I still suggest to use pointers ITEMs instead of converting
handles to numbers but I'm leaving such modifications to library
authors - using hb_vmPushNumInt() is a workaround for striping
highest 32 bit from handles by hb_vmPushLong() in XP64
- use hb_vmRequestReenter() / hb_vmRequestRestore() to avoid crash
when function/codeblock is executed during HVM has been serving
an exception (f.e. BREAK/QUIT/RETURN)
* harbour/source/rtl/gtwvt/gtwvt.c
* declared two functions
hb_gt_wvt_AddCharToInputQueue() and
hb_gt_wvt_AddCharToInputQueue()
as static - they were public by mistake
* harbour/contrib/gtwvg/wvtcore.c
* harbour/contrib/gtwvg/gtwvt.c
* moved hb_wvt_gtDlgProcMLess() and hb_wvt_gtDlgProcModal()
from gtwvt.c to wvtcore.c
These both functions are wrong and have to be fixed.
* farther cleanup:
- declared some internal functions as static
- synced some other with GTWVT
- removed some repeated declarations
* harbour/source/rtl/gtwvt/gtwvt.c
* formatting
* harbour/contrib/gtwvg/gtwvt.h
* harbour/contrib/gtwvg/gtwvt.c
* removed some unused code and redirect some methods to common
for all MS-Win GTs functions.
Pritpal this code needs cleanup. Now it's xHarbour GT hacked
to compile and link with Harbour API. It means that this code
also inherited some small incompatibilities to Clipper which
exists in xHarbour GTs. If you agree I'll try to systematically
clean it and as I can see IMO the final version will look like
GTWVT in core code plus some additional code so it can be quite
easy separated. Probably with some small modifications in GTWVT it
will be possible to remove these two files from GTWVG at all
changing GTWVG to inherit from core GTWVT. Such separation will
also show what is core GT code and what is GUI Windows extension
what should help in defining common multi platform API.
* harbour/source/rtl/fssize.c
* harbour/source/rtl/hbffind.c
* harbour/source/rtl/filesys.c
* set _LARGEFILE64_SOURCE in all builds and use HB_USE_LARGEFILE64
macro (set automatically when __USE_LARGEFILE64 is defined too or
HB_OS_HPUX && O_LARGEFILE) to enable large file support in 32 bit
POSIX systems. It should help to enable large file support in other
then Linux different 32 bit *nixes.
I hope it will resolve Sandro problems with HPUX.
* harbour/source/vm/itemapi.c
* do not return DATE item value in hb_itemGetNDDec()
It was old and unused xHarbour only code - now hb_itemGetNDDec()
is compatible with hb_itemGetND()
* harbour/source/rtl/seconds.c
! fixed typo in BSD builds
BTW can someone test current SVN code with Solaris?
I will not be able to make such test myself in the nearest few weeks.
* harbour/source/rtl/hbgtcore.c
+ added emulation for clipboard in core GT code.
Now:
hb_gtInfo( GTI_CLIPBOARDDATA ) -> <cClipData>
and:
hb_gtInfo( GTI_CLIPBOARDDATA, <cNewClipData> )
is working in all GTs even if such functionality is not supported
by OS.
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* harbour/harbour.spec
* harbour/make_rpmce.sh
* harbour/make_rpmw32.sh
* harbour/make_rpm.sh
* changed --without adsrdd to --with adsrdd
now ADS* RDDs are not created by default
* harbour/make_rpm.sh
* set '--with adsrdd' when ${HOME}/ads/acesdk/ace.h or
/usr/local/ads/acesdk/ace.h exists
* harbour/contrib/rdd_ads/Makefile
+ added ${HOME}/ads/acesdk/ace.h as alternative ace.h location
* harbour/source/rdd/hbsix/sxini.prg
! fixed typo
* harbour/bin/hb-func.sh
! fixed using -o<name> in hbcc
* harbour/contrib/rdd_ads/rddads.h
! small hack for Linux compilation and compilers which do not set
unix macro
* harbour/contrib/rdd_ads/Makefile
* added /usr/local/ads/acesdk to include directory list
Viktor the side effect of removing ace.h from our repository is
blocking ADS* RDDs compilation by people who do not have ACE
installed - I expect it will be serious problem in creating BETA4
binaries because not all people who create them have ACE installed
or even want to install it and without these RDDs for many users
new Harbour version will be unusable.
* harbour/source/rtl/seconds.c
! fixed stupid typo in milliseconds calculation
* harbour/contrib/xhb/hbchksum.c
* harbour/contrib/xhb/hbcomprs.c
* harbour/contrib/xhb/hbcomprs.h
! use hb_retclenAdopt() instead of hb_retclenAdoptRaw()
+ svn:keywords Id
svn:eol-style native
TOFIX - these files have to be removed or changed to avoid name conflicts
with ZLIB - personally I vote to add real ZLIB wrapper and only xHarbour
compatible .prg functions when they are necessary. Probably only:
HB_COMPRESS(), HB_UNCOMPRESS(), HB_COMPRESSBUFLEN()
and maybe:
HB_COMPRESSERROR(), HB_COMPRESSERRORDESC()
In xHarbour:
HB_CHECKSUM( <cValue> [, <nStart>] ) -> <nChkSum>
is exactly the same function as in Harbour:
HB_ADLER32( <cValue> [, <nStart>] ) -> <nChkSum>
with the exception to bug with negative values fixed in Harbour only.
* contrib/xhb/hbcompat.ch
+ Added xhb SecondsSleep() translation.
* contrib/freeimage/make_b32.bat
* contrib/freeimage/make_vc.bat
* contrib/firebird/make_b32.bat
* contrib/firebird/make_vc.bat
! Some fixes.
* contrib/libct/cttime.prg
! SECTOTIME() fix. Borrowed from xhb.
* contrib/apollo/apollo.c
* contrib/apollo/make_b32.bat
* contrib/apollo/make_vc.bat
! Fixed and tested with latest downloadable package.
* contrib/win32/w32_tprn.prg
* contrib/win32/w32_prn.c
+ Minor fix (from xhb)
* source/rtl/errorint.c
! Defaulting all string parameters to "" when they are NULL
to avoid any potential problems later in the function.
* source/rtl/hbgtcore.c
% Passing NULL instead of "" in hb_errInternal() calls.
* source/vm/itemapi.c
! Internal error is lauched in case the parameters passed
to hb_itemPutCLConst() are violating string item rules.
Thanks for Mindaugas for the suggestion.
TOFIX: Since this violation will most probably happen in
contrib/win32 OLE code, we'll need to fix that
code too.
* utils/hbmake/hbmake.prg
! Fixed to not request wvtgui.lib.
* make_vcce.bat
* make_vcce.mak
! Minor corrections (syncing with existing files).
* doc/genhtm.bat
! Minor fix to make it work out of the box.
- Some obsolete stuff removed from it.
* include/hbapiitm.h
* include/hbapi.h
* source/vm/itemapi.c
+ Added hb_itemPutCLConst() which is the same as
hb_itemPutCConst() but the buffer length can be passed.
Same as xhb hb_itemPutCRawStatic().
+ contrib/xhb/hbcompat.h
+ Added C level compatibility header file.
* contrib/win32/w32_ole.c
! hb_itemPutCRawStatic() -> hb_itemPutCLConst()
! Some more xhb API calls changed to Harbour ones.
! TraceLog() -> HB_TRACE()
! HB_ITEM s_OleAuto -> PHB_ITEM s_pOleAuto
TOFIX (new): s_pOleAuto is not freed on app exit.
! Fixed a few more internal accesses by using API
calls.
; NOTE: There are four more complicated problems here
to be solved:
1) hb_stackSetActionRequest() call
2) Passing direct references to HB_ITEM .value
members to external functions.
3) Storing "hidden" information in string ITEMs
prepended after the strings' actual content.
4) Not freeing s_pOleAuto (this var BTW is used in
one static function only)
* source/rtl/hbinet.c
* source/rdd/dbcmd.c
! Changed some xhb C level API calls to Harbour ones.
* contrib/xhb/Makefile
* contrib/freeimage/Makefile
* contrib/apollo/Makefile
* contrib/firebird/Makefile
* contrib/libct/Makefile
* contrib/telepath/Makefile
* contrib/pgsql/Makefile
* contrib/gd/Makefile
* contrib/libnf/Makefile
* contrib/tip/Makefile
* contrib/adordd/Makefile
* contrib/rdd_ads/Makefile
* contrib/btree/Makefile
* contrib/samples/Makefile
* contrib/mysql/Makefile
* contrib/odbc/Makefile
* contrib/pdflib/Makefile
! Added C and Harbour public headers to GNU makefiles.
! Added one missing SVN header.
* contrib/pdflib/pdfhbdoc.ch
* contrib/pdflib/pdf.ch
! Added missing SVN headers.
- contrib/pdflib/pdflib.h
- Removed this file which belongs to the pdflib
package. This package is needed anyway to use
this contrib. (but the contrib is badly broken)
* contrib/pdflib/make_b32.bat
* contrib/pdflib/make_vc.bat
! Minor typo.
* source/rtl/persist.prg
! Prefixed static var name with "s_"
* common.mak
* include/hbextern.ch
* source/rdd/Makefile
+ source/rdd/rddinfo.c
* source/rdd/dbcmd.c
+ source/rdd/dbdrop.c
+ source/rdd/dbcmd53.c
+ source/rdd/dbexists.c
+ source/rdd/fieldhb.c
! Moved away C53 functions to a separate file.
+ Added HB_RDDGETTEMPALIAS() as a documented version
of the long existing __RDDGETTEMPALIAS(). The latter
name still kept for compatibility.
! Moved away non-namespace conformant HB_EXTENSIONs
to separate files to cause less harm form those not
wanting these or already using these names in app
code.
+ Added HB_RDDINFO() namespace conformant version of
the RDDINFO() Harbour extension. RDDINFO() still works
but it's now defined in a separate file to cause less
potential harm.
- Removed HB_EXTENSION guards from around DBDROP(), DBEXISTS(),
RDDINFO(), FIELDLEN(), FIELDDEC(), FIELDTYPE() non namespace
conformant Harbour extensions.
; Przemek: I'm sorry you didn't bother to answer, so I
just can hope these address the problems you were having.
* source/rdd/sdf1.c
* source/rdd/delim1.c
! Removed two __XHARBOUR__ guards, by making the guarded
code the default. We have SET EOL support in Harbour now,
so this seems okey. If not, tell.
; TOFIX: We still have __XHARBOUR__ #defines in pp/ppcore.c
and debug/debugger.prg.
* include/hbsetup.ch
! HB_EXTENSION turned off.
* harbour/include/hbwince.h
* harbour/source/common/hbwince.c
* harbour/utils/hbver/hbverfix.c
* modified for clean compilation with POCC/XCC and ARM processors
* harbour/common.mak
* harbour/source/codepage/Makefile
+ harbour/source/codepage/cpesmwin.c
- harbour/source/codepage/cpesmwi.c
* renamed
* harbour/source/rtl/cdpapi.c
! do not use '~' as accented character marker if neither ACCENTED_EQUAL
nor ACCENTED_INTERLEAVED is set - in some CPs '~' is a letter
! use '~' as accented character marker only if it exists in UPPER and
LOWER letter sets - our CP code cannot properly decode letter sets
when this condition is not true - it should be fixed (TOFIX)
! use '.' as multibyte character marker only if it exists in UPPER and
LOWER letter sets - our CP code cannot properly decode letter sets
when this condition is not true - it should be fixed (TOFIX)
* harbour/source/codepage/cpeldos.c
* harbour/source/codepage/cpelwin.c
* updated accent marker upper letters to be the same as in lower ones
Greek users should fix me.
* harbour/bin/hb-func.sh
* do not include gtwin in harbour.dll for MinGW-CE builds
gtwin can work only if additional (non standard) libraries
are installed in WinCE/PocketPC so it should not be part
of harbour.dll
* harbour/source/rtl/gtwin/gtwin.c
* removed HB_WINCE_USE_POCKET_CONSOLE macro
It's not longer necessary when gtwin is not part of harbour.dll
* harbour/make_xmingwce.sh
* harbour/make_xmingw.sh
* do not create compiler binaries in cross builds
* use hbce and hbw prefixes for generated build scripts
* harbour/make_tgz.sh
* use strip from cross compiler instead of native one
* harbour/include/Makefile
+ added missing header files
* harbour/harbour.spec
* minor cleanup
* harbour/source/compiler/cmdcheck.c
* accept internal option delimiters in define value
(-d option, f.e.: '-dABC="QWE-ASD"')
* harbour/source/rtl/filesys.c
* do not redefine LongToHandle() for __XCC__ and __POCC__ WinCE builds
* harbour/utils/hbver/hbverfix.c
! fixed typos in previous commit
+ harbour/include/hbassert.h
* harbour/include/hb_io.h
* harbour/source/rtl/gtstd/gtstd.c
* harbour/source/rtl/gtpca/gtpca.c
* harbour/source/rtl/fssize.c
* harbour/source/rtl/hbinet.c
* harbour/source/rtl/filesys.c
* harbour/source/compiler/hbfix.c
* harbour/source/compiler/hbpcode.c
* harbour/source/compiler/hbdead.c
* harbour/source/compiler/genc.c
* harbour/source/compiler/hbopt.c
* harbour/source/compiler/gencc.c
* harbour/source/compiler/hblbl.c
* harbour/source/compiler/hbstripl.c
* harbour/utils/hbver/hbverfix.c
* harbour/utils/hbpp/hbppcore.c
* removed dependences to unsupported by new MSVC header files
most of this modifications can be enabled also for standard Win32
builds
* harbour/source/common/hbwince.c
* do not create dummy LocalLock() and LocalUnlock() function in MSVC
WinCE builds
* harbour/source/rtl/gtwin/gtwin.c
+ added HB_WINCE_USE_POCKET_CONSOLE macro which enable
console support in WINCE builds (macro suggested by Marek Paliwoda)
* harbour/source/rtl/gtwvt/gtwvt.h
* harbour/source/rtl/gtwvt/gtwvt.c
* changed default window and font size on WinCE to values suggested
by Marek Paliwoda
Marek if you have a while please make test with MSVC WinCE/PocketPC
builds and current SVN code.