* contrib/hbide/hbide.prg
+ Started <Project Properties> Dialog.
Your comments are welcome. I am interested what else might be required for
peoject management property so that we are comfortable in future.
* harbour/tests/bldtest/bldtest.c
* disabled requirement for signed 'char' type - current Harbour code
should work with 'char' defined as signed and unsigned value.
* harbour/src/vm/fm.c
* enabled HB_FM_DL_ALLOC by default in OS2 OpenWatcom builds
* harbour/config/os2/watcom.mk
! enabled -bm flag (MT code) in OS2 OpenWatcom builds - now when
HB_FM_DL_ALLOC is enabled by default it should not kill the
performance. Please make tests with OS2 OpenWatcom builds.
* contrib/hbxbp/xbplistbox.prg
+ contrib/hbide/resources/zoomin.png
+ contrib/hbide/resources/zoomout.png
* contrib/hbide/ideactions.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/hbide.prg
+ Added ZoomIn, ZoomOut toolbar buttons for in-place zoom-in/out
text decoration. Very handy visualization.
+ Implemented undo/redo/cut/copy/paste/select all/to upper/to lower/invert case/ icons.
! Fixed many artifacts.
Please play with the tool and report back your experiences.
* src/rtl/fscopy.c
! Fixed to use the same file opening method as in __COPYFILE().
This should fix creating zero byte file on OS/2 when the source
and target file is the same.
; Please test.
* contrib/hbwin/win_prn3.c
* Minor.
* harbour/src/vm/dlmalloc.c
% use harbour spin locks if available by default in all builds
* harbour/include/hbatomic.h
* removed HB_SPINLOCK_SLEEP macro and enable code to always yield
the processor in spin locks
* cover double spin lock setting by HB_SPINLOCK_REPEAT
* harbour/src/vm/garbage.c
* removed unused HB_SPINLOCK_SLEEP macro
* harbour/include/hbstack.h
* harbour/src/vm/estack.c
+ added new internal function hb_stackAllocator()
* disable hb_stackTotalItems() stack macro so this function can be
used also in internal HVM code to check if stack is initialized
* harbour/src/vm/fm.c
! use hb_stackAllocator() to access pointer to DLMALLOC mspace
It should fix GPF when DLMT was used in OS2 builds - please test.
* contrib/hbwin/hbwin.ch
* contrib/hbwin/win_prn2.c
+ Added support for server name in WIN_PRINTERLIST() (GETPRINTER())
* contrib/hbwin/win_prn2.c
* contrib/hbwin/win_prn3.c
* contrib/hbwin/legacycp.c
* ChangeLog
* Some renaming, to keep all functions in the WIN_PRINT*() namespace.
Prev entry updated.
* contrib/hbwin/tests/testprn.prg
* contrib/hbwin/tests/testprn2.prg
* contrib/hbwin/tests/testprn3.prg
* contrib/hbwin/tests/testprn4.prg
* Updated tests to use new function names.
* contrib/hbwin/Makefile
* contrib/hbwin/win_prn2.c
* contrib/hbwin/win_prn3.c
+ contrib/hbwin/legacycp.c
+ Added new names for Windows printer support functions:
WIN_PRINTEREXISTS() (old name: PRINTEREXISTS())
WIN_PRINTERSTATUS() (old name: XISPRINTER())
WIN_PRINTERPORTTONAME() (old name: PRINTERPORTTONAME())
WIN_GETPRINTERS() (old name: GETPRINTERS())
WIN_GETDEFAULTPRINTER() (old name: GETDEFAULTPRINTER())
WIN_SETDEFAULTPRINTER() (old name: SETDEFAULTPRINTER())
WIN_PRINTFILERAW() (old name: PRINTFILERAW())
; Old names still work, and they are guarded with HB_WIN_LEGACY_LEVEL_OFF
macro, in case someone would like to disable them.
; Please use new names, old ones will be deleted enventually.
* contrib/hbwin/hbwin.ch
+ Added copy of HB_WINPRN_* constants from .c source.
(Ugly, but currently there is no way to include hbwin.ch
to .c code due to lots of colliding names)
* contrib/hbwin/Makefile
+ contrib/hbwin/win_prn3.c
+ contrib/hbwin/tests/testprn4.prg
+ Added SETDEFAULTPRINTER().
This is Microsoft sample code taken from xhb repository,
formatting, fixes and other modifications applied (like
to use Harbour memory allocation functions),
also added support for UNICODE mode.
* contrib/hbwin/tests/testprn3.prg
* Minor.
* ChangeLog
* Marked change as DONE.
* contrib/hbwin/hbwin.ch
+ Added new macros submitted by Xavi.
Formatting (tab removal/alignment) applied.
* config/detfun.mk
+ Displays "Configure with HB_WITH_*" text on non-*nix systems,
when an external component is not found.
Comments are welcome whether this is useful, it looks a bit
verbose/ugly to me.
* INSTALL
* Minor change in wording.
* harbour/src/vm/dlmalloc.c
* harbour/src/vm/hvmall.c
+ added support for DLMALLOC in OS/2 builds.
I would like to ask OS/2 users to make harbour OS/2 build tests
using WATCOM and GCC with HB_USER_CFLAGS=-DHB_FM_DL_ALLOC to
check if it works.
* utils/hbmk2/hbmk2.prg
! Fixed to use '-ofilename' to spec C compiler object
output, instead '-o filename'. Following linux/clang.mk.
(There is utter chaos with this -o option)
* config/darwin/clang.mk
+ Documented fact that '-ofilename' also works (just
like in linux/clang).
* config/linux/gcc.mk
* config/linux/icc.mk
* config/linux/clang.mk
* config/linux/sunpro.mk
* config/linux/global.mk
% Moved strip configuration to global.mk.
* contrib/hbwin/win_tprn.prg
* contrib/hbwin/win_prn1.c
! Fixed ::SETPEN() and WIN_SETPEN() to not leak objects.
Patch submitted by Xavi.
* config/wce/poccarm.mk
* config/win/pocc.mk
% Removed some unnecessary logic, thus making it similar to all
other compiler setups.
* ChangeLog
* TODO marked as DONE.
* contrib/hbwin/win_prn2.c
! Commented buggy code dealing with Chr( 256 ) strippage in PRINTFILERAW().
While I can imagine Chr( 26 ) may cause a little inconvenience
when sent to printer, it will just be a small visual one, and it's
very easy to overcome by using HB_MEMOWRIT() instead of MEMOWRIT()
to create the disk file, if the file was created by other means,
the Chr( 26 ) won't be there anyway. Anyhow I opted to have a clear cut
behavior even if it's slightly incompatible because old implementation
was buggy, and IMO such printing function shouldn't do behind-the-scenes
alterations on the data to be printed. After all the function is called
"RAW".
INCOMPATIBLE for files which has an ending Chr( 26 ).
* contrib/hbide/hbide.prg
! Removed CURDRIVE() and CURDIR() usage.
Notice that on *nix platforms there is no such thing as
drive letter, plus some platforms don't even have the
concept of current dir. CURDRIVE() is also an XBase++
specific call, so it may not be available in Harbour core.
! Removed hard-wired Windows specific path from save dialog.
(it was a template yet)
* config/rules.mk
! Deleted CFLAGS from default link rule.
After quick scan through the make files this shouldn't cause
problems. Please test and if it does, we should add missing
options to LDFLAGS.
; TODO: Clean CPPFLAGS vs. CFLAGS usage in all .mk files.
They should all uniformly use CFLAGS now.
* contrib/hbide/hbide.prg
* contrib/hbide/idetags.prg
! Changed the way <Function List> was being populated.
! Fixed to not enter in Editing mode when double-clicked in <Function List>.
* src/rtl/diskspac.c
* src/rtl/disksphb.c
* contrib/hbwin/win_prn2.c
! Fixed to use WIDE version of dynamically called
functions in UNICODE builds.
* ChangeLog
+ TODO marked as DONE.
* contrib/hbwin/win_prn2.c
+ Added support for fifth 'share' element to GETPRINTERS()
returned array. This syncs it with xhb.
- contrib/hbide/hbide.hbm
+ contrib/hbide/hbide.hbp
* Renamed project file to have .hbp extension.
- contrib/hbide/hbmk.hbm
- Not needed anymore. Deleted.
* contrib/hbide/ideparseexpr.c
! strnicmp() -> hb_strnicmp()
* contrib/hbide/hbide.hbm
! Call hbmk2 hbid.hbm which includes all required files.
+ contrib/hbide/idestylesheets.prg
+ Added to implement Qt's powerful feature to apply style sheets to a widget.
+ contrib/hbide/idetags.prg
+ contrib/hbide/ideparseexpr.c
+ Code provided by Andy Wos almost an year back. Never thought
it will be of much use for this purpose. Big thank you Andy.
+ contrib/hbide/freadlin.c
! Pulled from contrib/xhb. There may be a better option.
* contrib/hbqt/hbqt.ch
+ Added more constants.
* contrib/hbqt/hbqt_destruct.cpp
+ New PRG level function HB_FUNC( HBQT_QTPTR_FROM_GCPOINTER ) which
returns Qt pointer sent the GC pointer as only parameter.
* contrib/hbxbp/xbptabpage.prg
! Changed the way callback slots were implemented.
* contrib/hbide/hbide.prg
+ Implemented right-hand <Functions List>.
Just click on it and editor tab will scroll to the begining of function.
It was very tricky and has the potential to improve. Please play.
! Implemented "Save" with <ESC> or via <Save> icon.
You can start real-time editing if you want to.
Open many sources, change the tabs, press <ESC>s or edit and save.
Let me know if this behavior is ok. Note: after last tab is closed, hbide.exe
terminates.
* harbour/config/global.mk
+ added yet another path for cross-mingw compiler detection
* harbour/contrib/hbwin/win_prn2.c
! fixed iResult defined twice by mistake
* contrib/hbwin/win_prn1.c
* contrib/hbwin/win_prn2.c
* Using HB_BOOL for Harbour variables.
* Few minor cleanups.
; TOFIX: CreateFile() is used in one place instead of Harbour
File I/O. Anyone?
* contrib/hbwin/win_prn1.c
* Renamed some variables to reflect their real type.
! Fixed to use HB_SIZE instead of int and ULONG.
* Using long instead of LONG for non-Windows API related values.
* Synced parn*/retn*/storn* usage with actual types used by
Windows API (l vs. i).
* Added a few cats and removed a few others.
! Fixed WIN_GETPRINTERFONTNAME() for UNICODE mode.
(warning masked by explicit cast).
; Please make tests, I didn't do any functional tests on
any of the above (and I'm also not using them).
* contrib/hbwin/win_tprn.prg
* contrib/hbwin/win_prn1.c
! Fixed HFONT leak in WIN_CREATEFONT(). This also means the
function works a little bit differently, so in case you are
using it directly, be warned that this change is INCOMPATIBLE.
It will now return a font handle instead of boolean value
signaling success.
! Fixed several functions to check for valid HDC.
% Deleted redundant code from WIN_DELETEDC().
; Submitted by Xavi. Thank you.
(plus these small modifications by me:)
! Fixed formatting to use the same coding style as the rest of
the file (and all our sources).
! Fixed to use FALSE instead of 0.
* INSTALL
+ Added note to HOW TO PARTICIPATE section to use the same
coding style as found in original files when adding patches.
* contrib/hbwin/win_prn2.c
% Merged C level functions into Harbour level ones.
(PRINTERPORTTONAME() got simplified a great deal as a result.)
! Fixed to initialize remaining numbers passed by ref to winapi.
* More type cleanup.
+ contrib/hbwin/tests/testprn3.prg
+ Added test for printing support functions.
* contrib/hbwin/win_prn2.c
! Fixed to use hb_xfree() instead of HB_TCHAR_FREE() where
allocation is done using hb_xgrab(). This could pbly
cause leaks in some rare cases.
% PRINTEREXISTS() now uses the same method on NT and Win9x
systems.
* XISPRINTER() will now fall back to default printer also
when an empty string is passed as parameter.
* Some minor variable declaration, initialization and naming
cleanups and optimizations.
* utils/hbmk2/hbmk2.prg
+ Added support for linux/clang. (untested)
(what package has to be installed? I installed llvm yesterday,
but couldn't find clang on Ubuntu)
* config/linux/clang.mk
! Added SVN props.
* contrib/hbwin/win_prn2.c
+ PRINTFILERAW(): Changed to use Harbour File I/O API instead
of Windows one to read from a disk file.
* More variable name / macro usage cleanup.
! TOFIX: PRINTFILERAW() has suspicious code aiming to delete
Chr( 26 ) from input files. In current implementation it can
strip Chr( 26 ) even from inside the file if the file is
larger than read buffer, which means it will corrupt input
and may cause wrong output to be printed (f.e. if that Chr( 26 )
is part of a printer control char sequence).
* INSTALL
+ Added linux/clang to the target mix.
+ harbour/config/linux/clang.mk
+ added support for CLANG in LINUX builds
* harbour/include/hbatomic.h
+ added assembler code for SPINLOCKs in WATCOM x86 builds
* harbour/src/vm/fm.c
* enabled HB_FM_DLMT_ALLOC by default in MT HVM if HB_FM_DL_ALLOC is
also enabled
* harbour/src/vm/dlmalloc.c
* modifications for non MS-Windows WATCOM builds
TOFIX: now it compiles in Linux and OS2 builds but it still does not
work
* contrib/hbwin/win_prn2.c
* Variables renamed to reflect their types.
* Further cleanups.
+ Added TOFIX to use Harbour IO instead of win to read a disk file.
* Changed to use HB_SIZE instead of ULONG for string lengths/sizes.
+ Added HB_SIZE casts to silence 64-bit warnings (to two places).