* contrib/hbhpdf/core.c
+ HPDF_GetPageByIndex( hDoc, nIndex ) --> hPage / NIL
suggested by Luigi Ferraris
* contrib/hbhpdf/tests/harupdf.prg
+ test the above (disabled by default)
* README.md
* updated CI badge(s) to GitHub Actions - they also cover
the strict compilation mode, definitions are currently
located in the same file as normal
! cleaned up links, mostly in tools section, some were
broken, for others switched to https where applicable
* mention HB_CCPREFIX= support for clang
* contrib/hbdoc/hbdoc.prg
* contrib/hbformat/utils/hbformat.prg
* contrib/hbnetio/utils/hbnetio/hbnetio.prg
* package/harbour.mft
* package/harbour.rc
* src/compiler/hbusage.c
* utils/hbi18n/hbi18n.prg
* utils/hbtest/hbtest.prg
* bumped copyright year to 2025
* src/rtl/hbfilehi.prg
* hb_DirBuild() will now honor UNC "\\server\share\dir\tree" parameter
on Windows and correctly create specified "\dir\tree" on remote
server. If your code used a malformed "\\local\path" a regression
in .prg code may happen on Windows. Previously a "\local\path"
folder was created on current drive, as if the UNC specifier was
omitted. It was more or less consistent with other platforms but
not expected for this platform. Spotted by Maurizio la Cecilia (#233)
[INCOMPATIBLE]
* contrib/hbdoc/hbdoc.prg
* contrib/hbformat/utils/hbformat.prg
* contrib/hbnetio/utils/hbnetio/hbnetio.prg
* package/harbour.mft
* package/harbour.rc
* src/compiler/hbusage.c
* utils/hbi18n/hbi18n.prg
* utils/hbtest/hbtest.prg
* bumped copyright year to 2021
* src/rtl/listbox.prg
! fix listbox scroll bar position calculation to not rely on
default Cl*pper compatible division by zero error handler.
Thanks to tarpauwatratar for the report and fix suggestion
on the developers list.
* contrib/hbdoc/hbdoc.prg
* contrib/hbformat/utils/hbformat.prg
* contrib/hbnetio/utils/hbnetio/hbnetio.prg
* package/harbour.mft
* package/harbour.rc
* src/compiler/hbusage.c
* utils/hbi18n/hbi18n.prg
* utils/hbtest/hbtest.prg
* bumped copyright year to 2020
* ChangeLog.txt
* function name typo + file case corrected
* README.md
* verified links to referenced libraries, go https where applicable.
Thanks to Pawel Wojciechowski for the location of ADS client
library.
* src/rtl/arc4.c
! fix builds on Alpine Linux and possibly others using musl libc,
which in turn doesn't expose deprecated sysctl() anymore.
* contrib/hbdoc/hbdoc.prg
* contrib/hbformat/utils/hbformat.prg
* contrib/hbnetio/utils/hbnetio/hbnetio.prg
* package/harbour.mft
* package/harbour.rc
* src/compiler/hbusage.c
* utils/hbi18n/hbi18n.prg
* utils/hbtest/hbtest.prg
* bumped copyright year to 2019
* *
* partial sync with the 3.4 fork codebase. These are the things
synces for the most part:
- copyright headers
- grammar/typos in comments and some readmes
- comment/whitespace/decorations
- variable scoping in C files
- DO CASE/SWITCH and some other alternate syntax usage
- minimal amount of human readable text in strings
- minor code updates
- HB_TRACE() void * casts for pointers and few other changes to
avoid C compiler warnings
- various other, minor code cleanups
- only Harbour/C code/headers were touched in src, utils, contrib,
include. No 3rd party code, no make files, and with just a few
exceptions, no 'tests' code was touched.
- certain components were not touched were 3.4 diverged too much
already, like f.e. hbmk2, hbssl, hbcurl, hbexpat
- the goal was that no actual program logic should be altered by
these changes. Except some possible minor exceptions, any such
change is probably a bug in this patch.
It's a massive patch, if you find anything broken after it, please
open an Issue with the details. Build test was done on macOS.
The goal is make it easier to see what actual code/logic was changed
in 3.4 compared to 3.2 and to make patches easier to apply in both
ways.
* include/hbcompdf.h
* include/hbexprb.c
* src/common/expropt1.c
* redefined all HB_ET_MACRO_* macros as bitfields
* src/compiler/complex.c
* small modification for future extensions in macro usage
* src/compiler/hbcomp.c
! replaced old temporrary hack with internal error.
* src/compiler/hbmain.c
* code reformating
* src/compiler/harbour.y
* separated DECLARE tokens
* src/compiler/harbour.yyc
* src/compiler/harbour.yyh
* regenerated
* src/rdd/dbffpt/dbffpt1.c
! fixed possible bad interaction (modified default memo type) due to
uninitialized item returned by hb_stackAllocItem(). Such items may
contain any simple value.
* src/vm/memvars.c
* minor variable name cleanup
* utils/hbtest/rt_math.prg
* repeat tests for macro messages and macro <op>=, pre/post ++/--
operations with and without pass by reference (-ks) optimization
* src/compiler/hbgenerr.c
* changed "with object" in last error message to upper cases
* src/rdd/dbf1.c
+ added assigned value to error object ARGS array when data type or
data width error is generated inside PUTVALUE() method
* utils/hbtest/hbtest.prg
* utils/hbtest/rt_array.prg
* utils/hbtest/rt_hvma.prg
* utils/hbtest/rt_main.ch
* utils/hbtest/rt_math.prg
* utils/hbtest/rt_misc.prg
+ added support for alternative results to HBTEST code.
It's enabled by default and can be turned off by -noalt hbtest
parameter.
+ added alternative results for tests which return different then
Cl*pper results but they are expected and not Harbour bugs.
* include/hbcomp.h
* include/hbcompdf.h
* include/hberrors.h
* include/hbexprb.c
* src/common/expropt1.c
* src/compiler/hbgenerr.c
* src/compiler/hbmain.c
+ added new macros HB_ET_MACRO_NOLIST and HB_ET_MACRO_NOPARE
% use new HB_ET_MACRO_* macros
+ added new compile time error:
"Code block contains both macro and with object messages ':%s'"
NOTE: -kd compiler switch allows to compile codeblocks with macros
and declared symbols / with object messages
* replaced hb_compErrorCodeblock() with hb_compErrorCodeblockDecl() and
hb_compErrorCodeblockWith()
+ added new C function hb_compPushMacroVar()
* code simplification
; added few comments
* utils/hbtest/rt_math.prg
* extended test code for macro messages and macro <op>=, pre/post ++/--
operations
* src/vm/hvm.c
! protection against executing hb_threadStateNew() during GC pass
inside hb_vmRequestReenterExt()
* src/vm/garbage.c
! add volatile attribute to s_bCollecting variable
* small modification in hb_gcAll() parameter
* src/rtl/errsys.prg
; minor comment cleanup
* doc/xhb-diff.txt
* extended a little bit section STRONG TYPED VARIABLES
* *
% remove brandings and homepage [1] from copyright header. Pass 1 - using script.
[1] nobody has access to it anymore AFAIK - and it's also just
a redirect since long
! update url in copyright header
; this should make the diff between 3.4 and 3.2 easier to manage
* src/vm/hvm.c
* allow to use == operator for codeblocks
* utils/hbtest/rt_hvm.prg
* updated for == operator which accepts codeblocks
* utils/hbtest/rt_main.ch
* do not define __CLIPPER__ macro when ITK Clip compiler is used
* contrib/hbbz2/errint.c
* added HB_EXPORT to bz_internal_error() declaration
* src/vm/asort.c
! fixed missing nStart checking during array items reordering
* utils/hbtest/rt_array.prg
* updated Harbour specific results - I thought that someone
invested time to exactly replicate CA-Cl*pper ASort() sorting
but in fact Harbour specific resutls where hardcoded inside
HBTEST so previous code was not Cl*pper compatible in the
same way as current one.
* include/hbcompdf.h
* include/hbexprb.c
* src/common/funcid.c
* src/vm/hvm.c
% optimize Array() function by replacing function call with HB_P_ARRAYDIM
PCODE. Because this optimization changes RTE and interacts with broken
code like
aVal := Array( 10, 0, "A" )
then it's not enabled by default. User can enable it by -ko switch.
* utils/hbtest/rt_array.prg
* use #pragma -ko- to for tests which interacts with above modification
* src/rtl/hbproces.c
% optimize memory allocation for redirected STDOUT and STDERR buffers in
hb_processRun() function.
The previous implementation was extremly inneficient when
hb_processRun() was used to extract very long output from
child process.
* src/rtl/hbtoken.c
+ added support for dividing text into lines using EOLs used by different
platform. To enable it it's enough to specify .T. as delimiter.
* src/rtl/filesys.c
* pacified MSVC warning - in fact this modification is significant only
for bugy code which changes current directory in MT programs. It's bug
on all platforms using current directory as process not thread
attribute (common behavior).
* include/inkey.ch
* src/rtl/hbgtcore.c
+ added new extended keycodes:
HB_K_TERMINATE
HB_K_MENU
* contrib/gtqtc/gtqtc1.cpp
+ center and rescale to console window dimension keeping aspect size ratio
picture passed to HB_GTI_DISPIMAGE when second parameter is .T.
+ added support for HB_K_MENU key
! fixed dynamic font size modification in fullscreen, maximized and
HB_GTI_RESIZEMODE_ROWS modes
* (all files)
* stripped svn header
* minor cleanups
; use following command to find out the history of files:
git log
git log --follow
git blame
git annotate