* contrib/hbmlzo/core.c
* LZO_ADLER32() changed to use core checksum function.
it's equivalent to HB_ADLER32( <s>, 1 )
* src/rtl/hbadler.c
% hb_adler32(): applied the loop unrolling optimization
found in the mzlo implementation.
* harbour/include/hbexprb.c
! fixed typo in function IDs.
HB_I18N_NGETTEXT_STRICT() and HB_I18N_NGETTEXT_NOOP() were not
recognized as i18n gettext functions
* harbour/doc/cmpopt.txt
! fixed HB_I18N_NGETTEXT_NOOP*() syntax used in examples
* harbour/src/common/expropt2.c
* harbour/doc/cmpopt.txt
+ added compile time optimizations for expressions like
<exp> = <lVal>
<exp> == <lVal>
<exp> != <lVal>
<lVal> = <exp>
<lVal> == <exp>
<lVal> != <exp>
They are reduced to <exp> or !<exp>. Because it may disable
some runtime errors so it's not Clipper compatible optimization
and is enabled when -ko compiler switch is used.
* harbour/src/compiler/hbgenerr.c
! do not generate some warnings like:
Meaningless use of expression '%s'
when -w harbour compiler option is not used
* harbour/src/rtl/gtxwc/gtxwc.c
! indenting
- doc/en/license.txt
- deleted yet another copy of the Harbour license.
A very outdated one.
* contrib/gtwvg/gtwvg.hbp
* contrib/hbcairo/hbcairo.hbp
* contrib/hbct/hbct.hbp
* contrib/hbhpdf/hbhpdf.hbp
* contrib/hbmysql/hbmysql.hbp
* contrib/hbmzip/hbmzip.hbp
* contrib/hbpgsql/hbpgsql.hbp
* contrib/hbsqlit3/hbsqlit3.hbp
* contrib/hbtip/hbtip.hbm
* contrib/hbwin/hbwin.hbp
* contrib/hbzebra/hbzebra.hbp
* contrib/rddads/rddads.hbp
* contrib/rddsql/rddsql.hbp
* contrib/xhb/xhb.hbp
* do not copy contrib .ch files to central Harbour
directory. It means that if you need to use
these files from now on, you need to use the
.hbc files for all Harbour contribs. INCOMPATIBLE.
This is the final step to complete this TODO:
2012-03-04 20:31 UTC+0100
Now all contrib .ch and .hbx files are stored
locally in package folder.
* ChangeLog
* updated status for past TODO/TOFIX items
* contrib/hbcairo/hbcairo.hbp
* contrib/hbct/hbct.hbp
* contrib/hbhpdf/hbhpdf.hbp
* contrib/hbmysql/hbmysql.hbp
* contrib/hbmzip/hbmzip.hbp
* contrib/hbpgsql/hbpgsql.hbp
* contrib/hbsqlit3/hbsqlit3.hbp
* contrib/hbtip/hbtip.hbm
* contrib/hbwin/hbwin.hbp
* contrib/hbzebra/hbzebra.hbp
* contrib/rddads/rddads.hbp
* contrib/xhb/xhb.hbp
* do not copy .ch/.hbx files to central Harbour
directory. It means that if you need to use
these files from now on, you need to use the
.hbc files to add these packages to your project:
xhbextrn.ch ctextern.ch adsextrn.ch
(and more if you need an .hbx file.) INCOMPATIBLE.
This is a gradual step to complete this TODO:
2012-03-04 20:31 UTC+0100
Now all .hbx files are stored locally in package
folder.
* contrib/hbblat/hbblat.hbp
* contrib/hbbz2/hbbz2.hbp
* contrib/hbgd/hbgd.hbp
* contrib/hbodbc/hbodbc.hbp
* contrib/hbxpp/hbxpp.hbp
* do not copy .ch/.hbx files to central Harbour
directory. It means that if you need to use
these files from now on, you need to use the
.hbc files to add these packages to your project:
hbblat.ch hbbz2.ch
dll.ch dmlb.ch hbxpp.ch thread.ch (hbxpp.hbc)
gd.ch gdextern.ch (hbgd.hbc)
(and more if you need an .hbx file.) INCOMPATIBLE.
This is a gradual step to complete this TODO:
2012-03-04 20:31 UTC+0100
* contrib/hbblat/hbblat.ch
* contrib/hbblat/tests/blattest.prg
* cleanups
* src/rtl/hbdoc.prg
% changed to save NFDOCs without the '*'
prepended in each line. It was making
editing much more difficult. Padding also
changed to 3 chars like in every Harbour
source.
* contrib/hbct/doc/en/*.txt
* contrib/hbgd/doc/en/*.txt
* contrib/hbgt/doc/en/*.txt
* contrib/hbmisc/doc/en/*.txt
* contrib/hbnf/doc/en/*.txt
* contrib/hbziparc/doc/en/*.txt
* contrib/rddads/doc/en/*.txt
* regenerated using hbdoc API
* doc/en/*.txt
* regenerated using hbdoc API
* restored copyright headers manually
* src/rtl/tlabel.prg
* src/rtl/treport.prg
! unicode fixes (untested)
% SubStr( x, 1, y ) -> Left( x, y )
* contrib/hbamf/hbamf.hbp
* contrib/hbblink/hbblink.hbp
* contrib/hbcomm/hbcomm.hbp
* contrib/hbcups/hbcups.hbp
* contrib/hbcurl/hbcurl.hbm
* contrib/hbdroid/hbdroid.hbp
* contrib/hbexpat/hbexpat.hbp
* contrib/hbfbird/hbfbird.hbp
* contrib/hbfimage/hbfimage.hbp
* contrib/hbformat/hbformat.hbp
* contrib/hbfoxpro/hbfoxpro.hbp
* contrib/hbfship/hbfship.hbp
* contrib/hbgs/hbgs.hbp
* contrib/hbgt/hbgt.hbp
* contrib/hbhttpd/hbhttpd.hbp
* contrib/hblzf/hblzf.hbp
* contrib/hbmagic/hbmagic.hbp
* contrib/hbmemio/hbmemio.hbp
* contrib/hbmisc/hbmisc.hbp
* contrib/hbmlzo/hbmlzo.hbp
* contrib/hbmxml/hbmxml.hbp
* contrib/hbnetio/hbnetio.hbp
* contrib/hbnf/hbnf.hbp
* contrib/hboslib/hboslib.hbp
* contrib/hbsms/hbsms.hbp
* contrib/hbssl/hbssl.hbm
* contrib/hbtpathy/hbtpathy.hbp
* contrib/hbxdiff/hbxdiff.hbp
* contrib/hbxpp/hbxpp.hbp
* contrib/hbziparc/hbziparc.hbp
* do not copy .ch/.hbx files to central Harbour
directory. It means that if you need to use
these files from now on, you need to use the
.hbc files to add these packages to your project:
freeimag.ch ftmenuto.ch hbblink.ch hbcurl.ch hbexpat.ch
hbfoxpro.ch hblzf.ch hbmagic.ch hbmlzo.ch hbmxml.ch
hbssl.ch hbxdiff.ch hbxppext.ch telepath.ch
(and more if you need an .hbx file.) INCOMPATIBLE.
This is a gradual step to complete this TODO:
2012-03-04 20:31 UTC+0100
* contrib/hbfbird/readme.txt
* contrib/hbfimage/readme.txt
* contrib/hbmysql/readme.txt
* contrib/hbnf/doc/en/chdir.txt
* contrib/hbnf/doc/en/cint86.txt
* contrib/hbziparc/doc/en/hbziparc.txt
* contrib/rddads/doc/en/readme.txt
* contrib/rddads/readme.txt
* doc/en/file.txt
* doc/dirstruc.txt
* doc/en/dir.txt
* doc/gmake.txt
* doc/gtapi.txt
* extras/httpsrv/readme.txt
* utils/hbmk2/hbmk2.1
* various updates (removed OS specific stuff,
added reference to .hbc files, hbmk2,
removed certain outdated information,
DOS -> MS-DOS)
- tests/dosshell.prg
+ tests/osshell.prg
* renamed/changed to be OS agnostic
* config/dir.mk
* config/dos/djgpp.mk
* config/globsh.mk
* DOS -> MS-DOS
* extras/httpsrv/uhttpd.prg
* src/debug/dbghelp.prg
* utils/hbmk2/hbmk2.es_PE.po
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.pt_BR.po
* DOS -> OS
* contrib/gtwvg/class.prg
* contrib/gtwvg/crt.prg
* contrib/gtwvg/dialog.prg
* contrib/gtwvg/mle.prg
* contrib/gtwvg/syswnd.prg
* contrib/gtwvg/wnd.prg
* removed unnecessary parentheses
* contrib/xhb/hbcompat.ch
* include/harbour.hbx
* src/debug/debugger.prg
* src/rtl/achoice.prg
* src/rtl/inkey.c
* src/rtl/memoedit.prg
+ added HB_KEYSETLAST() which is the successor of
HB_SETLASTKEY() but renamed to put it into the
right namespace. HB_SETLASTKEY() is deprecated
and will disappear after the second major release.
* utils/hbmk2/hbmk2.prg
+ added interactive keyboard functions to trigger
full screen UI in scripts
* contrib/hbct/tests/*.prg
% deleted #include "ct.ch" where it's not used
! added #require "ct.ch" where ct.ch is #included
* contrib/hbct/tests/csetarge.prg
% CLS not needed anymore to force interactive UI
* contrib/hbfbird/firebird.c
! typo in comment
* contrib/hbct/tests/math.prg
* minor
* harbour/include/hbvm.h
* harbour/src/vm/hvm.c
* harbour/src/vm/runner.c
* use deferred function mechanism for overloaded function symbols.
It allows to unload HRB modules without leaving dummy references.
* harbour/src/rtl/gttrm/gttrm.c
! fixed support for national characters in terminals working in
ISO mode
* harbour/contrib/xhb/xhbfunc.c
* minor code simplification
* harbour/doc/xhb-diff.txt
* typo
* contrib/hbnf/aredit.prg
! deleted code that never worked right, and it's a
condition the caller can easily check anyway
* contrib/hbnf/isprint.c
+ enabled [HB_]ISPRINT() on *nix system. It will try to
open the passed device name. default is /dev/lp0.
* src/rtl/hbsocket.c
! fixed dos/watcom error
* src/rtl/isprint.c
! FT_ISPRINT(): default to PRN on non-*nix
* extras/hbvpdf/hbvpdf.ch
* extras/hbvpdf/hbvpdf.prg
% reduced file size by changing long decoration comments
* CRLF macro moved to source file from public header. INCOMPATIBLE.
* contrib/hbnf/any2any.prg
* optimized out macro
* contrib/hbnf/fttext.c
* contrib/hbnf/hbnf.hbx
* deleted public function which was not there in original
in this form (it was ASM specific debug trick)
* contrib/hbnf/asum.prg
* formatting
* contrib/hbformat/hbfmtcls.prg
+ added one known and one new minor TOFIX
+ Array2File() changed to strip extra EOLs from the end
of file (sometimes and extra EOL is generated by
hbformat).
* src/debug/debugger.prg
* src/rtl/tbrowse.prg
* src/vm/harbinit.prg
* utils/hbmk2/hbmk2.prg
* formatting changed so that its fit
hbformat style
* contrib/sddmy/tests/test1.prg
* contrib/sddoci/tests/test1.prg
* contrib/sddodbc/tests/test1.prg
* contrib/sddodbc/tests/test2.prg
+ added missing #require-s, anyways they don't run as scripts
with the previously reported error.
* ChangeLog
! typos
* utils/hbmk2/hbmk2.prg
* avoid splitting branching statements with #if branches
to make it easy for hbformat to do its job.
(patched hbformat still fails around line 3900)
* contrib/xhb/htmutil.prg
+ TOFIX added for unicode incompatible Greek CP conversion
(from what to what it's not marked)
* contrib/hbct/getsecrt.prg
! GETSECRET() fixed to not access protected TGETLIST
variables when SET KEY is pressed.
* hbformatted
* contrib/hbformat/hbfmtcls.prg
* applied formatting changes from Maurizio's patch
(it makes it easier to see what changed)
* contrib/hbnf/prtscr.c
% optimized
* contrib/xhb/xhbhash.c
* use HB_FUNC_TRANSLATE() on two extra functions which
were reimplemented but the same implementations also exist
in core so they can be used: HB_HSETAUTOADD()/HB_SETCASEMATCH()
* contrib/hbmisc/hb_f.c
! fixed clang warning
* contrib/hbzebra/datamtrx.c
! applied patch from Mindaugas, fixing literal truncation
warning on MSVC. Thank you.
* include/harbour.hbx
* src/rtl/mouse53.c
+ added HB_MGETBOUNDS( /* @ */ nTop, /* @ */ nLeft, /* @ */ nBotton, /* @ */ nRight ) -> NIL
* contrib/hbnf/hbnf.hbx
* contrib/hbnf/mouse.c
* contrib/hbnf/mouse1.prg
* all possible MS-DOS specific mouse handling
functions rewritten in Harbour using core mouse API.
Now the included sample more or less work.
There are still two important functions (FT_MBUT*())
that are MS-DOS specific and don't work. Have no
idea yet how to rewrite these in multiplatform way,
they work in very MS-DOS specific way.
! fixed few bugs along the way. Maybe introduced new
ones. It doesn't help that NF functions (sometimes?)
use X for vertical and Y for horizontal position.
* contrib/hbnf/tests/mouse1.prg
% turn cursor off to avoid excessive flicker
* contrib/hbnf/fttext.c
* contrib/hbnf/tests/metaph.prg
* contrib/hbnf/tests/prtesc.prg
* extras/gtwvw/docs/funclist.txt
* formatting (mostly fighting long separator lines still)
* src/rtl/mousehb.c
% use HB_FUNC_TRANSLATE()
* harbour/src/rtl/gtdos/gtdos.c
! fixed MK_FP() macro
* use HB_PEEK_BYTE() and HB_POKE_BYTE() macros if possible
- removed POKE_BYTE() macro
* renamed outport() to outportw()
; question: why this code was updating number of lines at 0x0004:0084
after some set modes? Is it necessary?
* src/rtl/gtdos/gtdos.c
* TOFIX added about duplicate macros with same functionality
but different name (POKE_BYTE/HB_POKE_BYTE)
! fixed C++ comment
! fixed indenting/formatting in few places
* contrib/hbnf/page.c
- disabled FT_SETVPG()/FT_GETVPG() to do anything
even on MS-DOS, because no other functions support
video pages.
* contrib/hbnf/hbnf.hbp
- contrib/hbnf/poke.c
* contrib/hbnf/peek.c
* contrib/hbnf/support.c
+ Implemented FT_PEEK()/FT_POKE()/FT_INP()/FT_OUTP()
for MS-DOS platform. Macros taken from gtdos.c.
(build tested with Watcom/DOS. Might break in
other build and not work in any of them. Please
test)
* contrib/hbnf/vidcur.prg
+ Implemented FT_SETVCUR()/FT_GETVCUR() w/o page
support, using GT.
* contrib/hbnf/kspeed.c
* contrib/hbnf/page.c
* renamed variable to be uniform
* contrib/hbnf/scancode.prg
* added TODO comment
- contrib/hbnf/readme.txt
- deleted, now TODOs are in source
* src/compiler/complex.c
! added missing HB_SIZE case
* src/rdd/dbffpt/dbffpt1.c
* src/rdd/dbfnsx/dbfnsx1.c
* src/rdd/dbfntx/dbfntx1.c
* suppressed remaining MSVC 32 and 64 bit warnings
(a very long time TODO). I used casts named after
the type it casts to, so they are easy to identify:
HB_ULONGCAST, HB_[U]SHORTCAST, HB_INTCAST
So they can be searched for or converted to proper
types in the future.
This is the complete list of MSVC warnings that remain
after this:
---
harbour.y(1077) : warning C4244: '=' : conversion from 'HB_SIZE' to 'int', possible loss of data
harbour.y(1371) : warning C4309: 'argument' : truncation of constant value
harbour.y(1374) : warning C4309: 'argument' : truncation of constant value
harboury.c(4089) : warning C4244: '=' : conversion from 'int' to 'yytype_int16', possible loss of data
harboury.c(7737) : warning C4702: unreachable code
harboury.c(7776) : warning C4701: potentially uninitialized local variable 'hb_comp_yylval' used
macroy.c(1786) : warning C4065: switch statement contains 'default' but no 'case' labels
macroy.c(1915) : warning C4244: '=' : conversion from 'int' to 'yytype_int16', possible loss of data
macroy.c(3254) : warning C4702: unreachable code
macroy.c(3293) : warning C4701: potentially uninitialized local variable 'hb_macro_yylval' used
../../../dbffpt1.c(521) : warning C4310: cast truncates constant value
../../../dbffpt1.c(904) : warning C4310: cast truncates constant value
hbzebra\datamtrx.c(149) : warning C4310: cast truncates constant value
---