* contrib/hbtip/mail.prg
! fixed regression in r18462 where casing of class name
in a string got accidentally converted to natural.
Many thanks to Itamar Lins for the find.
* utils/hbmk2/hbmk2.prg
+ implemented theoretically correct solution to extract
linker output _while_ displaying it. It means that
missing function hinting feature doesn't require
a second pass to the linker anymore.
; Please test on all platforms.
; For those two people interested, it will create output like this:
---
hbmk2: Hint: Add option 'hbct.hbc' for missing function(s): CharMirr()
hbmk2: Hint: Add option 'hbusb.hbc' for missing function(s): libusb_exit()
hbmk2: Hint: Add option 'hbsms.hbc' for missing function(s): smsctx_PIN()
hbmk2: Error: Referenced, missing, but unknown function(s): NOTANYWHERE()
---
* extras/httpsrv/uhttpd.prg
! fixed some code for unicode
% fixed to not call FCLOSE() on a HB_PROCESSOPEN() handle
* use F_ERROR instead of -1 literal
* commented code converted to #if 0/#endif guarded one
* src/rtl/hbprocfn.c
* formatting
* tests/fixcase.hb
* new extension exceptions
* contrib/gtwvg/wvgutils.c
! fixed to use HB_OS_WIN_CE macro to detect WinCE, not
some the arbitrary __WINCE__
! fixed functions unsupported on WinCE to return the
same type when as on Windows
* harbour/src/vm/cmdarg.c
! fixed buffer overflow
! added protection against GPF if hb_cmdargBaseProgName() is called
and there are no parameters initialized
* use macros to allocate system memory in MS-Windows builds
* harbour/src/vm/fm.c
* changed s_fInitedFM initialization when memory statistic is enabled
to avoid infinite recursion and GPF is some initialization function
tries to allocate memory
* contrib/hbwin/tests/testsvc.prg
+ added some lines to test parameter passing
* include/hbdefs.h
* deprecated HB_TCHAR_*() macros with HB_LEGACY_LEVEL4
Everyone pls move on to Str API calls and hbwinuni.h
macros.
* include/hbexpra.c
* include/hbexprb.c
* include/hbwmain.c
* applied uncrustify fixes
* contrib/hbtpathy/hbtpathy.hbp
* contrib/hbtpathy/telepath.prg
+ contrib/hbtpathy/tp_idle.prg
! TP_IDLE() moved to a separate source file to
make it possible to override it from user code.
This function is documented as a callback.
* harbour/ChangeLog
! restored ChangeLog entry removed by my script in last commit,
sorry and thanks to Viktor for the info.
! cleaned some c&p typos in my last chglog entry
* harbour/include/hbdefs.h
* harbour/src/common/hbwin.c
+ added new C function hb_wctomblen()
* harbour/include/hbapi.h
* harbour/src/vm/cmdarg.c
+ added new C functions hb_winmainArgVBuild() and hb_winmainArgVFree()
These functions are available only in MS-Windows builds and they
use GetCommandLine() and GetModuleFileName() to build argument list.
* updated to operate on MS-Windows unicode buffers if possible.
* harbour/src/vm/hvm.c
* initialize MS-Windows application startup parameters in hb_vmInit()
* free MS-Windows application startup parameters in hb_vmQuit()
* harbour/include/hbwmain.c
* do not build argument list HB_VM_STARTUP mode - leave this job to
new functions
* harbour/src/rtl/teditor.prg
* harbour/src/rtl/memoedit.prg
% do eliminated NextKey() calls to avoid unnecessary key polling
It also fixes key dropping in small typeahead buffers.
* harbour/src/rtl/dbedit.prg
% do eliminated NextKey() calls to avoid unnecessary key polling
* harbour/src/rtl/getsys.prg
* harbour/src/rtl/tgetlist.prg
! fixed active loops (100% CPU usage)
* harbour/src/rtl/gtsln/gtsln.h
! define REAL_UNIX_SYSTEM in AIX builds - thanks to Luiz Rafael Culik
for the information
* harbour/src/rtl/achoice.prg
% replaced Empty( NextKey() ) with NextKey() == 0
* harbour/src/rtl/gtsln/gtsln.h
! define REAL_UNIX_SYSTEM in AIX builds - thanks to Luiz Rafael Culik
for the information
* harbour/src/rtl/hbinet.c
* uese hb_parni()/hb_retni() instead of hb_parnl()/hb_retnl() for int
values
* harbour/src/rtl/hbgtcore.c
! comment cleanup
* harbour/contrib/hbwin/win_svc.c
! eliminated HB_TCHAR_* macros
* bin/commit.hb
! fixed for *nix systems
* contrib/hbodbc/tests/testodbc.prg
+ added test for double opening
* ChangeLog
% moved copyright notice to end of file
+ added change markup quick reference to header
* doc/howtorep.txt
* synced wording with above
* extras/hbxlsxml/tests/example.prg
* do not use WITH OBJECT in its current form
* src/rtl/gtsln/Makefile
+ added option needed for AIX. Reported by Luiz.
* utils/hbmk2/hbmk2.prg
* minor change in wording in help
+ added help note about incompatibility of Clipper binary objects/libs
* tests/fixcase.hb
% one exception removed
+ some others documented
* contrib/gtwvg/tests/_activex.prg
* contrib/gtwvg/tests/_tbrowse.prg
* contrib/gtwvg/tests/_utils.prg
* contrib/gtwvg/tests/demowvg.prg
* contrib/gtwvg/tests/demowvg1.prg
* contrib/xhb/trpccli.prg
* utils/hbtest/rt_math.prg
* rerun after removing one exception permanently,
another temporarily.
* contrib/hbodbc/hbodbc.hbx
* contrib/hbodbc/odbc.c
- Deleted SQLBINDPARAMETER(). Thus resolving the TOFIX,
and after reading more about this function, it serves
to bind stmt parameter to C memory buffers, where those
bindings remain active for the lifetime of the stmt or
the next call to this function. Such behavior is not so
much useful for high level languages, and it'd be quite
complicated to solve (f.e. by keeping an array or hash
around, attached to the stmt handle) compared to what
it offers. Anyways, if someone feels like giving it a
go, pls do.
* bin/commit.hb
+ support HBCOMMIT_USER envvar to configure commmiter
user / e-mail.
* ChangeLog
! wrong commit e-mail fixed yet again. I start to badly
miss local branches (a la Git!), as I need to keep
juggling with 3-4 local sandboxes to separate different
change sessions.
* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni.nsi
* changed to launch README. It needs a hefty trick
to open such extensionless filename
* README
+ minor to welcome section
- doc/welcome.txt
* doc/Makefile
- deleted obsolete welcome message
+ website/css/shCore.css
+ website/js
+ website/js/shBrushHarbour.js
+ website/js/shCore.js
+ added components for http://alexgorbatchev.com/SyntaxHighlighter/
a JS based syntax highlighter by Alex Gorbatchev
+ website/css/shThemeDefault.css
+ added Harbour theme (it's based on the php one)
* website/menu/harbour-menu.js
! fixed wrongly displayed bitmaps when used from
under a subdir.
* website/samples/array16.prg.html
* website/samples/arreval.prg.html
* website/samples/begin.prg.html
* website/samples/byref.prg.html
* website/samples/codebl.prg.html
* website/samples/codebloc.prg.html
* website/samples/dates3.prg.html
* website/samples/foreach.prg.html
* website/samples/function.cfm.html
* website/samples/hello.prg.html
* website/samples/initexit.prg.html
* website/samples/longdev.prg.html
* website/samples/mousetst.prg.html
* website/samples/onidle.prg.html
* website/samples/osshell.prg.html
* website/samples/parseini.ini.html
* website/samples/parseini.prg.html
* website/samples/switch.prg.html
* website/samples/testbrdb.prg.html
* website/samples/testbrw.prg.html
* website/samples/testhtml.prg.html
* website/samples/testidle.prg.html
* website/samples/tstmacro.prg.html
+ replaced static syntax highlighting
with new JS based one. Old system
used old HTML standard and old unfixed
copies of tests. See f.e.:
http://harbour-project.sourceforge.net/samples/testbrw.prg.html
In new system the code can be copied
as is from the source to these pages.
(it'd be even better if a directly link could
be used to the source repo on the web)
+ updated all code with fresh copies
from /tests directory
* tests/parseini.prg
* tests/testhtml.prg
* minor cleanups
* website/samples/array16.html
* website/samples/arreval.html
* website/samples/begin.html
* website/samples/byref.html
* website/samples/codebl.html
* website/samples/codebloc.html
* website/samples/dates3.html
* website/samples/foreach.html
* website/samples/hello.html
* website/samples/HowToBuildOnLinux.html
* website/samples/HowToBuildOnWindows.html
* website/samples/initexit.html
* website/samples/longdev.html
* website/samples/mousetst.html
* website/samples/onidle.html
* website/samples/osshell.html
* website/samples/parseini.html
* website/samples/switch.html
* website/samples/testbrdb.html
* website/samples/testbrw.html
* website/samples/testhtml.html
* website/samples/testidle.html
* website/samples/tstmacro.html
+ changed to use absolute paths to refer to
common page elements
* harbour/contrib/hbodbc/odbc.c
! fixed length of string parameters passed to ODBC functions.
This code was using hb_parclen() for strings translated to other
encoding by O_HB_PARSTRDEF() - it's a bug - translation may completely
change the string length and the final ones can be shorter or longer
then value returned by hb_parclen(). The last parameter in these macro
is a pointer to HB_SIZE item which may received the size of converted
string and this value should be use. If some other code also uses
similar hb_parclen()/hb_itemGetCLen() for translated string (i.e.
code using hbwinuni.h macros) then it has to be fixed.
! fixed the code to respect manual call to SQLDisconnect() which
discards associated statement handles
% eliminated repeated calls to extract handles from pointer items
; TOFIX: add protection against calling SQLConnect() with hDbc handle
which is already in connected state. Possible solutions:
- forbid such operation
- execute SQLDisconnect() inside SQLConnect()
; TOFIX: hb_parc() pointer is passed as write buffer inside
SQLBindParameter()
; Please make real test. I made this modifications without any real
test. I do not have access to any ODBC server here.
+ tests/fixcase.hb
+ added automatic case fixer. It's ugly code and
has some hard-coded exception, some of them
arbitrary, some due to certain strings causing
mis-matches (f.e. JS code embedded in string,
or words like "token(s)" and "file(s)")
; TODO: interestingly hb_DirScan() won't return
extensionless files, when using hb_osFileMask()
(as opposed to Directory()). This was a good
side-effect in this particular case though.
+ contrib/xhb/xhbctbit.c
* contrib/xhb/xhb.hbp
* contrib/xhb/xhb.hbx
+ implemented NUM*X() function from xhb, which
are there present in CT lib as extensions. In
Harbour they are in xhb lib.
Adapted types, missing functions, some cleanups
and uncrustify.
* src/rtl/gtwvt/gtwvt.c
* src/rtl/gtwvt/gtwvt.h
! made gfx drawing functions work again by disabling
compositing on the first drawing call
* contrib/hbodbc/hbodbc.hbp
+ enabled automatic MM after Przemek's changes.
For me however, both odbcdemo.prg and testodbc.prg
GPFs on exit. Maybe it's related to SQLDisconnect()
calls?
* contrib/hbodbc/odbc.c
! SQLALLOCENV() after my prev change to use ODBC 3 APIs
to call some weird API to avoid an error.
* contrib/hbodbc/tests/testodbc.prg
* contrib/hbodbc/todbc.prg
* disabled manual memory management hacks on
prg level
* contrib/rddsql/hbrddsql.h
* contrib/sddfb/sddfb.c
! uncrustified
* doc/howtorep.txt
+ added reference to commit.hb
* contrib/gtwvg/class.prg
* contrib/gtwvg/gtwvg.hbx
* contrib/gtwvg/menubar.prg
* contrib/gtwvg/paint.prg
* contrib/gtwvg/syswnd.prg
! fixed few casing and where it was used
* extras/gtwvw/gtwvw.hbx
* extras/gtwvw/wvt2wvw.ch
! fixed few casing and where it was used
* contrib/hbgd/gd.ch
* minor
* harbour/contrib/hbodbc/odbc.c
* unlock sub-handle pointer items - it can be safely done
because these items are marked as used inside parent item
GC mark function.
; This code using pointer items is a little bit more complicated
then it has to be.
In current code pointer items can keep references only to other
pointer items in the form which cannot create cyclic reference.
They also do not have any references to codeblocks, arrays,
objects, hashes or any other complex items set by user which
may create indirectly cyclic reference. In such case it's
possible to eliminate all GC mark functions and use directly
items allocated by hb_itemNew() without unlocking them with
hb_gcUnlock(). By default all items allocated by hb_itemNew()
are locked so GC automatically mark them and their GC memory
blocks as used.
It does not cause any speed or memory overhead so I left it
as example for more complicated cases and as base for some
potential extensions.