Commit Graph

9226 Commits

Author SHA1 Message Date
Viktor Szakats
cbde426c34 2008-10-15 01:04 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/debug/dbgtobj.prg
  * source/debug/dbgbrwsr.prg
  * source/debug/dbgtwin.prg
  * source/debug/dbgmenu.prg
  * source/debug/dbgthsh.prg
  * source/debug/tbrwtext.prg
  * source/debug/dbgwa.prg
  * source/debug/debugger.prg
  * source/debug/dbghelp.prg
  * source/debug/dbgtarr.prg
  * source/debug/dbgtmenu.prg
  * source/debug/dbgtmitm.prg
    + Added '#pragma DEBUGINFO=OFF' to debugger 
      sources. Otherwise compiling full Harbour with 
      -b was causing an infinite loop. (this is now 
      the default when building with 
      'HB_BUILD_DEBUG=yes'.

  * source/rdd/nulsys/nulsys.c
    ! Added DBSELECTAREA(), DBSTRUCT(), HEADER(), 
      RECSIZE(), LUPDATE()
      so that programs can be built with -b and 
      hbnulrdd.lib. hbdebug.lib/dgbwa.prg uses 
      symbols above.
2008-10-14 23:20:31 +00:00
Przemyslaw Czerpak
b0a88e24ff 2008-10-15 00:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbxvm.h
  * harbour/source/vm/hvm.c
    - removed to unused functions

  * harbour/source/vm/thread.c
    - removed unnecessary casting
2008-10-14 22:32:03 +00:00
Viktor Szakats
fe54bdf114 2008-10-14 20:36 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/dbedit.prg
  * source/rtl/tgetint.prg
  * source/rtl/tlabel.prg
  * source/rtl/treport.prg
    * Changed '&( "{||" + c + "}" )' expressions to 
      hb_macroBlock() calls.
      To me these places seemed safe to change, but 
      please verify me.

  * source/rtl/alert.prg
  * source/rtl/tbcolumn.prg
  * source/rtl/tget.prg
    * Minor formatting.
2008-10-14 18:37:28 +00:00
Viktor Szakats
c9dc573359 2008-10-14 19:23 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + Added hb_macroBlock()

  * source/rtl/langapi.c
    * One error text changed to be more precise.

  * doc/gmake.txt
  * bin/bld.bat
  * contrib/hbbtree/tests/bld_vc.bat
  * contrib/examples/pp/bld_vc.bat
  * contrib/examples/guestbk/bld_vc.bat
  * contrib/examples/pe/bld_vc.bat
  * contrib/examples/dbu/bld_vc.bat
  * contrib/examples/hscript/bld_vc.bat
  * utils/hbdoc/bld_vc.bat
  * utils/hbmake/bld_vc.bat
  * utils/hbmake/hbmake.prg
    - Removed MSVC -TP switches.
2008-10-14 17:26:24 +00:00
Przemyslaw Czerpak
d8af011440 2008-10-14 11:51 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/macro.c
    * added missing const attribute to hb_macroCompile() parameter
    + added new .prg function:
         hb_macroBlock( <cExpr> ) -> <bCode>
      which converts macro expression to codeblock. New codeblocks
      do not inherit hb_macroBlock() caller scope/attributes.
2008-10-14 09:51:37 +00:00
Viktor Szakats
40f6d73c31 2008-10-14 08:44 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/examples/dbu/bld_vc.bat
    ! Removed -TP C option.
2008-10-14 06:46:32 +00:00
Przemyslaw Czerpak
15b31b81ae 2008-10-14 00:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/dynlibhb.c
    ! fixed HB_LIBFREE() return value - thanks to Enrico
2008-10-13 22:02:59 +00:00
Viktor Szakats
005bc1d9f7 2008-10-13 22:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* tests/transtst.prg
  * doc/en/string.txt
  * doc/en/compiler.txt
  * doc/en/macro.txt
  * doc/en/browse.txt
  * doc/en/binnum.txt
  * doc/es/macro.txt
  * doc/es/browse.txt
  * doc/es/binnum.txt
  * doc/transfrm.txt
  * doc/whatsnew.txt
  * include/hbclass.ch
  * include/hbmacro.ch
  * include/hbexprb.c
  * ChangeLog
  * contrib/hbvpdf/hbvpdft.prg
  * contrib/hbwhat/import.ch
  * source/vm/macro.c
  * source/rtl/tobject.prg
  * source/rtl/tthreadx.prg
  * source/rtl/transfrm.c
  * source/rtl/tget.prg
  * source/rtl/isprint.c
  * source/rtl/tbrowse.prg
  * source/rdd/wacore.c
  * source/rdd/dbdetach.c
  * utils/hbtest/rt_trans.prg
    * Xbase++ name references cleaned.

  * common.mak
  * source/rdd/Makefile
  * source/rdd/dbdetach.c
  + source/rdd/dbdetacx.c
    * Moved XBase++ compatibility functions to separate file.
2008-10-13 20:33:26 +00:00
Przemyslaw Czerpak
b3683d7ffb 2008-10-13 21:44 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbwin/win_tole.prg
    ! Fixed assignment to oErr:Operation from "+" to "-" in
      OleValueMinus() method - fix by Luis Krause Mantilla borrowed
      from xHarbour
2008-10-13 19:45:01 +00:00
Przemyslaw Czerpak
f97d4e1cda 2008-10-13 21:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbwince.h
  * harbour/source/common/hbwince.c
    ! fixed LastError overwriting inside WinCE wrapper functions
2008-10-13 19:30:38 +00:00
Przemyslaw Czerpak
b9e2e7b6f0 2008-10-13 20:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rdd/wacore.c
    ; updated comments about xbase++ behavior in dbRelease()

  * harbour/include/hbvm.h
  * harbour/source/vm/hvm.c
  * harbour/source/vm/dynlibhb.c
  * harbour/source/vm/runner.c
    ! added MT protection for HB_LIBLOAD()/HB_LIBFREE() and
      HB_HRBLOAD()/HB_HRBUNLOAD(). Please remember that you should
      not use any external LoadLibrary() functions because they are
      not protected for clean PCODE modules loading/unloading even
      in ST mode. Using them can cause HVM internal structure corruption.
      If we have such functions in contrib then they should be redirected
      to our HVM ones.
      There is still one problem in MT mode which has to be resolved yet.
      When dynamic library containing PCODE using static variables
      is loaded 1-st time then it will force resizing of internal array
      with static variables. If in exactly the same moment some other
      thread operates on static variable then it may cause corruption.
      To resolve this problem we will have to divide continuous memory
      block common for all modules where we store all static variables
      into separated blocks bound with each PCODE module (symbol table).

  * harbour/source/vm/dynlibhb.c
    + added support for DLL loading/unloading in OS2 builds.
      Based on xHarbour code by Maurilio Longo - please test.
2008-10-13 18:21:42 +00:00
Viktor Szakats
52b81aace8 2008-10-13 20:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbmisc/strfmt.c
    ! Fixed GPF when non-string was passed as 
      first parameter.
2008-10-13 18:19:50 +00:00
Przemyslaw Czerpak
7d8c51e71a 2008-10-13 18:01 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/thread.c
    + added small description for hb_threadOnce() .prg function

  * harbour/include/hbthread.h
    ! do not set TLS in POCC and XCC builds when _MSC_VER macro is set
      This compilers also have this macro but dllspec( thread) does
      not work for them (at least in version 4.50.15)

  * harbour/utils/hbtest/rt_hvm.prg
    + added few tests which exploit by DMC bug. Be careful with
      this compiler. In some cases it gives buggy final code, f.e.
      try this:

            #include <stdio.h>
            typedef struct
            {
               double         dd;
               long long int  ll;
            } UN;
            const char * cmp( UN * pU )
            {
               return pU->dd >= pU->ll ? "OK" : "ERRROR";
            }
            int main( void )
            {
               UN u = { 10.50, 10 };
               printf( "%s\n", cmp( &u ) );
               return 0;
            }

      The same bug can be exploited also by final Harbour binaries
      compiled by DMC in code like:

         ? iif( 10.50 >= 10, "OK", "ERROR" )

      I used DMC 8.42n. As long as such things will not be fixed by
      DMC developers this compiler is not supported by Harbour and
      reported problems with DMC Harbour builds will have to be
      ignored by us.
2008-10-13 16:01:44 +00:00
Przemyslaw Czerpak
b3ee472fee 2008-10-13 16:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbclass.ch
  * harbour/source/vm/classes.c
  * harbour/source/rtl/tobject.prg
  * harbour/source/rtl/tclass.prg
    ! fixed race condition when class function is called 1-st time
      and new class is created. It was possible that more then one
      thread execute this function simultaneously and two classes
      identical classes but with different handles were created
      and registered in HVM

  * harbour/contrib/xhb/xhbcomp.prg
    * updated hack with optional inheritance for new class code
2008-10-13 14:35:07 +00:00
Viktor Szakats
d43cc93d44 TOMERGE added. 2008-10-13 13:11:33 +00:00
Viktor Szakats
b05759968e 2008-10-13 13:51 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* make_b32.mak
  * make_gcc.mak
  * make_vc.mak
  * contrib/mtpl_b32.mak
  * contrib/mtpl_gcc.mak
  * contrib/mtpl_vc.mak
    + Added -l switch to default Harbour options.
    + Enabling Harbour debug options (-b -l-) when HB_DEBUG_BUILD=yes.
2008-10-13 11:52:42 +00:00
Przemyslaw Czerpak
996822f732 2008-10-13 12:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/gencc.c
    ! fixed thread static variable offsets generated in .c code when
      -gc3 is used

  * harbour/source/vm/hvm.c
    % removed unnecessary call to HB_STACK_TLS_PRELOAD
2008-10-13 10:42:34 +00:00
Viktor Szakats
ec38a6cdae 2008-10-13 12:34 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/teditor.prg
    ! Typo in previous modification.

  * make_b32.mak
  * make_vc.mak
  * make_gcc.mak
    ! Minor formatting.
2008-10-13 10:35:25 +00:00
Viktor Szakats
d7551ec7b3 2008-10-13 11:22 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/teditor.prg
    + Added :LineCount(), :ExitState() methods.
    * Changed to use hb_MemoWrit() to write text content to 
      disk, to avoid Chr(26) to be appended.
    ! Fixed :InsertState() to also modify physical cursor state.
    ! Fixed :BrowseText() to not go into an infinite loop in 
      view mode.

  * source/rtl/memofile.c
    ! Minor formatting.

  * ChangeLog
    ! Fixed yesterday's entry dates.
2008-10-13 09:23:59 +00:00
Viktor Szakats
5537bc24d0 Missed entry from previous commit 2008-10-12 18:55:53 +00:00
Viktor Szakats
31c5f289d9 2008-10-11 20:54 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbapierr.h
    ! Fixed previous casting fix.

  * source/rtl/console.c
  * source/rtl/philes.c
    % Optimized by using static buffers and hb_retc_const():
      HB_OSNEWLINE()
      HB_OSPATHSEPARATOR()
      HB_OSPATHLISTSEPARATOR()
      HB_OSPATHDELIMITERS()
      HB_OSDRIVESEPARATOR()
      HB_OSFILEMASK()

  * source/rtl/filesys.c
    ! hb_fsDisableWaitLocks() made static.
2008-10-12 18:55:12 +00:00
Przemyslaw Czerpak
abfc488c1a 2008-10-12 20:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/hvm.c
    ! execute hb_vmThreadQuit() after hb_vmStackRelease()

  * harbour/source/vm/thread.c
    * do not destroy critical sections on exit
2008-10-12 18:31:41 +00:00
Viktor Szakats
51de53494c 2008-10-11 16:59 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* make_b32.mak
  * make_vc.mak
  * make_gcc.mak
    ! Minor formatting.

  * include/hbapierr.h
    ! Fixed casting in macro HB_ERR_FUNCNAME, as it was 
      generating a new warning with MSVC in 64-bit mode.
      '( ( char * ) 1 )' -> '( ( const char * ) NULL + 1 )'
      ('const' keyword was not enough to silence it)

  * include/hbapierr.h
  * source/rtl/errorapi.c
    - Disabled (marked with HB_LEGACY_LEVEL) hb_errFuncName 
      symbol. No longer supported, pls use HB_ERR_FUNCNAME 
      instead.
2008-10-12 15:00:30 +00:00
Viktor Szakats
5a5c734009 2008-10-11 13:40 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* bin/bld.bat
    + Suppress logo for bcc32 and msvc.
2008-10-12 11:41:03 +00:00
Viktor Szakats
7f7c61cf2a 2008-10-11 13:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* make_vc.mak
  * contrib/mtpl_vc.mak
    + Added /nologo to lib commands.

  * source/rtl/fserror.c
    * Minor formatting.

  * ChangeLog
    + Marked change as TOMERGE 1.0.
2008-10-12 11:32:17 +00:00
Przemyslaw Czerpak
5d69653985 2008-10-12 13:19 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbthread.h
    * casting cleanup

  * harbour/include/hbapigt.h
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/scroll.c
  * harbour/source/rtl/console.c
  * harbour/source/rtl/box.c
    * changed hb_gtDrawBox() and hb_gtPutText() to operate on color
      number (index in some GTs) instead of color string
    * use int as color number (index) in hb_gtScrollEx() hb_gtBoxEx()

  * harbour/source/rtl/box.c
    % changed DISPBOX() with color and frame string to work as one
      GT atomic operation

  * harbour/source/vm/classes.c
    ! fixed profiler usage
2008-10-12 11:19:42 +00:00
Viktor Szakats
efdb02f17c update to prev entry 2008-10-11 19:55:12 +00:00
Viktor Szakats
929cc5c8c6 2008-10-11 21:49 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* bin/bld.bat
  * bin/bld_os2.cmd
    + Enabled cleanup of .c/object/.tds files after build.
    + Under Windows NT OSes, it's now possible to pass full .prg 
      name with extension.
    ! Few minor fixes.
    * Formatting, cleanup and help update.
    ; Please test.
2008-10-11 19:53:30 +00:00
Viktor Szakats
42d5b4139c 2008-10-11 14:49 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/fnsplit.c
  * source/rtl/hbtoken.c
    ! HB_FNAMESPLIT(), HB_TOKENPTR() fixed to 
      reset parameters passed by reference in 
      error cases.
2008-10-11 12:49:45 +00:00
Przemyslaw Czerpak
d93996a154 2008-10-11 13:06 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/tget.prg
    ! fixed cursor positioning when new get item is added.
    ; added note about possible modification - Viktor, please verify it
2008-10-11 11:06:51 +00:00
Przemyslaw Czerpak
4176d85bb7 2008-10-11 11:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/common/expropt2.c
    * formatting and minor cleanup

  * harbour/source/rtl/gtapi.c
    % do not set and restore default color set in hb_gtPutText() and
      hb_gtDrawBox() but decode colors from passed string
2008-10-11 09:21:52 +00:00
Viktor Szakats
cdb27e08d2 2008-10-11 11:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    + New functions added.

  * source/rtl/alert.prg
    % Minor optimization.
    ; NOTE: Found yet another hidden extension in Alert() code :(

  * source/rtl/radiobtn.prg
    ! Fix and optimization in recent modification.
2008-10-11 09:07:17 +00:00
Przemyslaw Czerpak
618df79c9b 2008-10-11 04:56 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapigt.h
  * harbour/source/rtl/gtapi.c
    + added C functions hb_gtLock() and hb_gtUnlock()
      They block current GT for other threads

  * harbour/source/rtl/gtfunc.c
    + added PRG functions hb_gtLock() and hb_gtUnlock()
      They block current GT for other threads - be careful using them
      and always unlock locked GT

  * harbour/source/rtl/scroll.c
    + added HB_SCROLL() function - it works like SCROLL() but supports
      2 additional parameters: color and erase char. It's stateless and
      atomic in GT access

  * harbour/source/rtl/tbrowse.prg
    * use HB_SCROLL() instead of SCROLL(). Now whole TBROWSE class
      does not depend on other thread screen output and does not
      set any GT variables except of cursor positioning to active
      cell when it's enabled

  * harbour/source/rtl/memoedit.prg
  * harbour/source/rtl/tgetlist.prg
  * harbour/source/rtl/tlabel.prg
  * harbour/source/rtl/listbox.prg
  * harbour/source/rtl/tmenusys.prg
  * harbour/source/rtl/achoice.prg
  * harbour/source/rtl/profiler.prg
  * harbour/source/rtl/teditor.prg
    * use atomic stateless functions when possible - this code should
      be checked and updated by some who know it.
2008-10-11 02:56:22 +00:00
Przemyslaw Czerpak
9113680b5a 2008-10-11 03:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/scrollbr.prg
  * harbour/source/rtl/getsys.prg
  * harbour/source/rtl/tpopup.prg
  * harbour/source/rtl/tgetlist.prg
  * harbour/source/rtl/radiogrp.prg
  * harbour/source/rtl/listbox.prg
  * harbour/source/rtl/checkbox.prg
  * harbour/source/rtl/browse.prg
  * harbour/source/rtl/tget.prg
  * harbour/source/rtl/ttopbar.prg
  * harbour/source/rtl/pushbtn.prg
  * harbour/source/rtl/tmenusys.prg
  * harbour/source/rtl/achoice.prg
  * harbour/source/rtl/teditor.prg
  * harbour/source/rtl/radiobtn.prg
  * harbour/source/rtl/tbrowse.prg
    * replaced DispOut() with hb_dispOut()
    * replaced DispBox() with hb_dispBox()
    % removed saving and restoring of cursor position in places where
      it's not longer necessary due to hb_dispOut()/hb_dispBox() usage
    % removed saving and restoring of SetColor() value in places where
      it's not longer necessary due to hb_dispOut()/hb_dispBox() usage
    % removed saving and restoring of MSetCursor(). If it's necessary
      low GT driver should hide and redraw mouse cursor before and after
      screen update. We do not have to make it manually

   The above modification gives faster code and allow to access screen
   from different threads simultaneously because functions like
   hb_dispOut() and hb_dispBox() are stateless and atomic in screen
   access. Not all .prg code has been updated yet. If someone is
   familiar with this code then please help. I'll add yet HB_SCROLL()
   function which will support additionally colors.
   Viktor if possible please verify this modifications.
2008-10-11 01:24:26 +00:00
Przemyslaw Czerpak
aeb6b8686e 2008-10-11 03:06 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapigt.h
  * harbour/source/rtl/gtapi.c
    + added hb_gtDrawBox() works like hb_gtBox() but does not change cursor
      posiion and support colors
    + added support for color parameter to hb_gtPutText()

  * harbour/source/rtl/console.c
    * use new hb_gtPutText() format in HB_DISPOUTAT()
      Now all screen operations inside this function is one atomic
      operation for other threads

  * harbour/source/rtl/box.c
    + added HB_DISPBOX() function - works like DISPBOX() bit does not
      change cursor position and is atomic for other threads


  * harbour/include/hbapigt.h
  * harbour/include/hbgtcore.h
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtclip.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/contrib/gtalleg/gtalleg.c
  * harbour/contrib/gtalleg/ssf.h
  * harbour/contrib/gtalleg/ssf.c
  * harbour/contrib/gtwvg/gtwvg.c
    * cleanup char * casting

  * harbour/source/rtl/filesys.c
    ! do not use pread()/pwrite() in OpenWatcom Linux builds
2008-10-11 01:06:39 +00:00
Przemyslaw Czerpak
5964eac44c 2008-10-10 22:46 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/hvm.c
    * reduced the mutex lock time in thread exit state

  * harbour/source/vm/thread.c
    ; added note about possible behavior of hb_threadSelf() function
      in one very specific situation. It's documented and expected
      behavior

  * harbour/source/rtl/hbgtcore.c
    + added support for retrieving current HB_GTI_NOTIFIERBLOCK code block
    + added support for removing HB_GTI_NOTIFIERBLOCK code block without
      setting the new one
2008-10-10 20:46:50 +00:00
Przemyslaw Czerpak
f51b6c2f24 2008-10-10 21:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/garbage.c
    * unblock HVM before executing destructors and releasing blocks

  * harbour/source/vm/fm.c
    ! do not call internal error with active lock when FM statistic
      is enabled

  * harbour/source/vm/thread.c
    ! stop other threads in hb_threadOnce() if the 1-st one
      executes bAction block to be sure that it will be completed
      before thread leave hb_threadOnce() function

  * harbour/source/vm/set.c
    ! do not call hb_inkeyReset() in set release. It's not necessary
      and it could change keyboard buffer size for other threads using
      the same GT driver.

  * harbour/source/vm/hvm.c
    % allocate new thread stack without lock

  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtapi.c
    * moved clipboard resetting from hbgtcore.c to gtapi.c

  * harbour/source/rtl/filesys.c
    ! do not use read/write operations with given file offset in Win9X
      which seems to not support such functionality
2008-10-10 19:23:11 +00:00
Viktor Szakats
50253c5cdb 2008-10-10 20:12 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* make_vc.bat
  * make_vc.mak
    * Cleanups.
2008-10-10 18:13:05 +00:00
Viktor Szakats
4c7936d636 2008-10-10 10:50 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
    ! Fixed XPP class names.
2008-10-10 08:50:29 +00:00
Viktor Szakats
ed8bb45de8 2008-10-10 10:42 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* make_b32.mak
  * make_vc.mak
  * make_gcc.mak
    * Removed special 'set HB_GT_LIB=gtXXX' support. For the exact 
      same effect - in case you want to modify default GT at 
      build time, which is not recommended -, pls use this:
      'set C_USR=-DHB_GT_LIB=XXX' where XXX is 'wvt', 'std', etc.
    - Removed HARBOURFLAGSDLL, LDFLAGSDLL, CFLAGSDLL as public options. 
      It's better to keep these settings common IMO, and handle 
      all DLL subtleties in our make files.
    + L_USR is now respected for .dlls, too.
    ! Fixed make_gcc.mak internal HARBOURFLAGSDLL to be in sync 
      with the other .mak files (removed -l switch).
    - Removed HB_BUILD_MODE for VC builds. Now C/C++ is left to 
      the default value (which is C mode for core), and it's possible 
      to override using:
      'set C_USR=-TP' for C++ mode (or -TC for forced C mode).
    % Other minor cleanups.

  * contrib/mtpl_b32.mak
  * contrib/mtpl_vc.mak
    - Removed HB_BUILD_MODE undocumented options from contrib 
      make files. For Borland C++ mode, use 'set C_USR=-P'.
      For VC, see above.
    - Removed HB_BUILD_ST undocumented option.
    % Other minor cleanups.
      
  * contrib/xhb/hbcompat.ch
  * contrib/xhb/xhb.ch
    ! Moved __COPYFILE() translation to xhb.ch.
2008-10-10 08:47:25 +00:00
Viktor Szakats
0e119bdb15 2008-10-10 09:41 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* common.mak
  * make_b32.mak
  * make_vc.mak
  * make_gcc.mak
    - Removed option HB_BUILD_ST to build another version 
      of Harbour MT build [for non-GNU builds], or forced 
      SingleThreaded (non -tWM) Harbour builds.
    * Modified to not allow CFLAGSMT to be tweaked from the 
      outside [for non-GNU builds].
2008-10-10 07:43:25 +00:00
Viktor Szakats
d0a14cc81c 2008-10-10 09:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* make_b32.mak
  * bin/bld.bat
    + -tWM BCC32 switch made the all-time default.

  * include/hbextern.ch
    + Added new functions.
2008-10-10 07:28:24 +00:00
Przemyslaw Czerpak
d4b61aece8 2008-10-10 06:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvm.h
  * harbour/source/vm/hvm.c
    + added hb_vmProcessDynLibSymbols() which works like
      hb_vmProcessSymbolsEx() but always mark registered modules as
      dynamic

  * harbour/source/vm/maindllp.c
    * redirect hb_vmProcessSymbolsEx() to hb_vmProcessDynLibSymbols()

  * harbour/source/vm/thread.c
    * disabled some low level locking code in non MT HVM mode
2008-10-10 04:26:42 +00:00
Przemyslaw Czerpak
6829fa76a5 2008-10-10 01:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtapi.c
    + added new GT methods: LOCK() and UNLOCK()
    * serialize GT access in MT mode - please remember that it's only
      low level serialization to protect access to low GT resources.
      It has nothing to application level screen output from different
      threads which has to be serialized by programmer if necessary.

  * harbour/source/rtl/tthreadx.prg
    * use HB_THREAD_INHERIT_PUBLIC as thread attribute for thread
      started by oThread:start() to emulate xbase++ PUBLIC variables
      behavior
2008-10-09 23:43:41 +00:00
Przemyslaw Czerpak
15054c311b 2008-10-10 00:14 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapigt.h
  * harbour/source/rtl/gtapi.c
    + added hb_gtPutText() C function

  * harbour/source/rtl/console.c
    + added HB_DISPOUTAT() which works like DISPOUTAT but does not change
      cursor position. xBase++ users can use
         #xtranslate DispOutAt( <x,...> ) => hb_dispOutAt( <x> )
      for xBase++ compatible code
2008-10-09 22:15:01 +00:00
Przemyslaw Czerpak
af1e261b5b 2008-10-09 20:51 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/common.mak
  * harbour/source/rtl/Makefile
    + added thfuncx.prg

  * harbour/source/rtl/thfuncx.prg
    + added ThreadObject() function

  * harbour/source/rtl/tthreadx.prg
    + added xBase++ compatible TThread class.
      Special thanks to Pritpal Bedi for class skeleton with info about
      xbase++.
      Now only basic functionality is supported though it was enough to
      compile and execute examples Pritpal sent. I'm leaving rest for
      xBase++ users.
      BTW The examples suggest that in xbase++ DispOutAt() does not change
      cursor position. It's not Clipper compatible so I cannot make it
      in Harbour though I can add new function which will work in such way.
2008-10-09 18:51:31 +00:00
Pritpal Bedi
c7c37159d0 2008-10-09 10:48 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
! harbour/bin/bld.bat
    + _C_MT= if not HB_MT==MT
      Forgot to clear the variable if mt mode is switched.
2008-10-09 17:41:14 +00:00
Pritpal Bedi
547183dd02 2008-10-09 10:36 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
! harbour/bin/bld.bat
    + Added _C_MT=-tWM if HB_MT==MT
      BCC32 includes cw32mt.lib if -tWM is present as a switch.
      Now setting HB_MT=MT will allow to compile and link a prg in MT mode.
2008-10-09 17:33:20 +00:00
Przemyslaw Czerpak
42d6d50796 2008-10-09 17:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
+ harbour/source/rtl/thfuncx.prg
    * added xbase++ compatible functions:
         ThreadID() -> <nThId>
         ThreadWait( <aThreads>, <nTimeOut> ) -> <oThread> | <pThId> | NIL
         ThreadWaitAll( <aThreads>, <nTimeOut> ) -> <lAllFinished>
      In Harbour <aThreads> can be array of thread pointers or thread
      objects. xbase++ compatible thread class I'll add later.
2008-10-09 15:03:06 +00:00
Teo Fonrouge
5df8ac40de 2008-10-09 07:30 UTC-0500 Teo Fonrouge (teo/at/windtelsoft/dot/com)
- bin/hb_flst.tmp
  * bin/pack_src.sh
    - removed the temporary file list from SVN.
    * Added code to retrieve the source file list when SVN info is not available
2008-10-09 12:29:02 +00:00