Commit Graph

32 Commits

Author SHA1 Message Date
Viktor Szakats
97aad59548 2007-11-11 12:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/std.ch
     ! SET STRICTREAD command definition fixed.

   * include/hbextern.ch
     ! Fixed placement of MENUMODAL, to compile when HB_COMPAT_C53
       is turned off.

   * contrib/libmisc/Makefile
     ! Fixed test dir name. (broken since yesterday)

   * contrib/pdflib/common.mak
     + Added another file.

   + contrib/pdflib/Makefile
     + Added GNU make file for pdflib.

   * utils/hbdoc/ft_funcs.prg
   * utils/hbmake/ft_funcs.prg
   * utils/hbmake/hbmake.prg
     ! Made them compile with HB_COMPAT_C53 turned off.
       There is a loss of functionality in this case.
       (MAKEDIR(), DIRCHANGE() and @ CHECKBOX are used here)

   * source/rtl/menuto.prg
   * source/rtl/tgetlist.prg
     ! Fixed to compile when HB_COMPAT_C53 is turned off.

   * include/hbextern.ch
   * source/rtl/defpath.c
   * source/rtl/adir.prg
     * __DEFPATH() is now always included, not just when HB_C52_UNDOC 
       is defined, since we use this function from core, and __*() 
       functions are okey to be included without this guard.
       DEFPATH() is still marked as HB_C52_UNDOC.
     ! ADIR() now uses __DEFPATH() instead of DEFPATH() to compile
       with HB_C52_UNDOC turned off.
     ; TOFIX: There are still a few functions we use from core, which 
       are guarded with HB_C52_UNDOC: NATIONMSG(), ISNEGATIVE()

   * source/vm/memvars.c
     * Changed HB_EXTENSION to HB_C52_STRICT. Reason: This 
       is a Harbour internal (undocumented) function, where extension 
       is possible. CA-Cl*pper internal (undocumented) function __MRESTORE()
       is mapped to this function, which is still okey. We could 
       create a fully CA-Cl*pper compatible, non-extended __MRESTORE() 
       without any trouble, if this is an issue.
2007-11-11 12:05:38 +00:00
Viktor Szakats
ff151929c6 2007-09-13 04:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/memoedit.prg
   * source/rtl/teditor.prg
   * source/debug/tbrwtext.prg
     + HBEditor():RefreshWindow() renamed to :display()
       old message name kept for compatibility.
     + HBEditor():hitTest() added.
     + HBEditor():changed() added. (returns internal 
       ::lDirty which got renamed to ::lChanged)
       
   * source/rtl/getlist.prg
   * source/rtl/getsys.prg
   * source/rtl/tgetlist.prg
     ! Fixes for UI problems reported by Lorenzo 
       and more. Mostly from xhb.
     + ReadModal() core functionality moved inside 
       HBGetList()
     + ReadStats() functionality moved indide 
       HBGetList()
     + All HBGetList() vars made protected.
     + Cleaned up the .prg and class interfaces.
     ! Fixed crashes of several GETSYS compatibility 
       functions, when no getlist was active.
       We're still not fully C5.x compatible though.

   * source/rtl/tmenusys.prg
     + Uses ReadStats() instead of direct 
       HBGetList() var access.

   * source/rtl/tbrowse.prg
     ! :hitTest() fixed.

   * source/rtl/tget.prg
     ! Minor fixes to :capCol() and :capRow()

   * source/rtl/checkbox.prg
   * source/rtl/listbox.prg
   * source/rtl/menuto.prg
   * source/rtl/pushbtn.prg
   * source/rtl/radiobtn.prg
   * source/rtl/radiogrp.prg
   * source/rtl/scrollbr.prg
   * source/rtl/tbcolumn.prg
   * source/rtl/tbrowse.prg
   * source/rtl/tget.prg
   * source/rtl/tgetlist.prg
   * source/rtl/tpopup.prg
   * source/rtl/ttopbar.prg
     * Formatting (some varnames uniformized).
2007-09-13 02:43:57 +00:00
Viktor Szakats
767c5d849f 2007-09-12 08:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/getsys.prg
     ! Fix for crash in TGetList():ShowGetMsg() reported by Lorenzo.

   * contrib/libct/blank.prg
   * source/rtl/menuto.prg
   * source/rtl/valtoexp.prg
   * source/rtl/readkey.prg
   * source/rtl/browse.prg
   * source/debug/debugger.prg
     + Replaced END with ENDSWITCH and ENDWITH
2007-09-12 06:31:13 +00:00
Przemyslaw Czerpak
feda39d689 2007-08-30 03:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/rtl/console.c
    * changed hb_conOutAlt() from static to global function.

  * harbour/include/hbapi.h
  * harbour/source/common/hbver.c
    + added hb_verBuildDate()

  * harbour/source/rtl/accept.c
    ! Fixed ACCEPT to respect SET CONSOLE and similar sets.

  * harbour/source/rtl/hbgtcore.c
  * harbour/contrib/libct/ctwin.c
    ! fixed chr(8) console output - it should erase character on the screen

  * harbour/include/set.ch
  * harbour/include/hbset.h
  * harbour/source/rtl/set.c
  * harbour/source/rtl/filesys.c
    + added _SET_TRIMFILENAME - when enabled low level hb_fs*() functions
      strip trailing and leading spaces from file names to emulate DOS
      like behavior - switch compatible with xHarbour


  * harbour/source/rtl/run.c
    * remove compiler type checking - if system() is not supported by
      some platform/compiler then I'd prefer to exclude it explicitly.

  * harbour/source/rtl/dircmd.prg
    + added support for extended DBF types and replaced some of
      Bin2W() by ASC()

  * harbour/source/rtl/defpath.c
    * use OS_HAS_DRIVE_LETTER macro to detect if platform supports drive
      letters

  * harbour/source/rtl/philes.c
    + added HB_FCOMMIT(), HB_OSERROR(), HB_OSDRIVESEPARATOR()
      Question: why we have HB_F_EOF() instead HB_FEOF()

  * harbour/source/rtl/oldbox.c
  * harbour/source/rtl/box.c
    ! fixed __BOX() to be Clipper compatible

  * harbour/source/rtl/math.c
  * harbour/source/rtl/dateshb.c
    * formatting and some minor improvements

  * harbour/source/rtl/isprint.c
  * harbour/source/vm/itemapi.c
  * harbour/source/rtl/ampm.c
  * harbour/source/rtl/inkey.c
  * harbour/source/rtl/gete.c
  * harbour/source/rtl/fkmax.c
  * harbour/source/rtl/langapi.c
  * harbour/source/rtl/colorind.c
  * harbour/source/rtl/mouseapi.c
  * harbour/source/rtl/readvar.prg
  * harbour/source/rtl/devoutp.prg
  * harbour/source/rtl/readkey.prg
    * code checking and formatting
    ! some minor fixes
    % some speed improvements

  * harbour/source/rtl/menuto.prg
  * harbour/source/rtl/radiogrp.prg
  * harbour/source/rtl/listbox.prg
  * harbour/source/rtl/checkbox.prg
  * harbour/source/rtl/pushbtn.prg
  * harbour/source/rtl/radiobtn.prg
    * code checking and formatting
    ! added fixes borrowed from xHarbour 
    ! some other fixes
    % some speed improvements

  * harbour/source/rtl/filehb.c
    + added commment

  * harbour/source/rtl/transfrm.c
    ! fixed integer numbers transformation when _SET_FIXED is on to
      be Clipper compatible

  * harbour/source/rtl/version.c
    + added HB_PCODEVER() and HB_BUILDDATE()

  * harbour/source/rtl/copyfile.c
    ! fixed __COPYFILE() - source and destination files should respect
      _SET_DEFAULT
2007-08-30 01:56:03 +00:00
Przemyslaw Czerpak
8bef490815 2006-08-19 01:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
    * moved HB_STACK_STATE declaration from hbstack.h to hbapi.h
      it's covered by _HB_API_INTERNAL_ macro so it should not
      effect 3-rd party code
    * modified hb_struSymbol structure:
         LONG stackbase
      replaced by:
         PHB_STACK_STATE stackstate
      this modification allows to keepadditional information bound with
      function call stack accessible from different HVM modules.
      Now it's used by memvars code to keep/update PRIVATE variables
      stack pointers. I plan to store in HB_STACK_STATE structure
      information additional information for classes code like super
      casting or instance variables offsets in new OOP model I'm working on.
      It can be also used by debugger code to retrieve some informations
      about executed functions without active updating by main HVM loop.
    + added hb_memvarsClear() - cleanly clears all PRIVATE and PUBLIC
      variables
    + added hb_memvarUpdatePrivatesBase() - updates PRIVATE stack base
      offset so PRIVATE variables created in current function/procedure
      will not be removed when it returns
    - removed hb_memvarsRelease() and hb_memvarValueNew()

  * harbour/include/hbstack.h
    + added hb_stackClearMevarsBase() - helper function for hb_memvarsClear()
      clears PRIVATE stack offsets in executed functions
    * changed to static offset from int to long - in different places we
      were using int or long in HVM so I cleaned the HVM code to always
      operate on the same type

  * harbour/source/vm/estack.c
    * set/restore PRIVATE stack base offset in hb_stackNewFrame()/
      hb_stackOldFrame()
    * updated for new HB_IT_SYMBOL structure

  * harbour/source/vm/hvm.c
    ! removed setting/restoring PRIVATE stack base offset in hb_vmExecute()
      It make code like:
         eval(&("{||VAR:=1}"))
      Clipper compatible
    * updated for new HB_IT_SYMBOL structure
    * changed order of execution exit procedures for clean memvars removing
      and future destructors execution. I'll describe it better when I'll
      add destructors.

  * harbour/source/vm/memvars.c
    ! fixed CLEAR MEMORY - now this function should be safe in Harbour
      It's not exactly compatible with Clipper because I intentionally
      didn't replicated some Clipper bugs like possible memory corruption.
    + added hb_memvarsClear() - cleanly clears all PRIVATE and PUBLIC
      variables
    + added hb_memvarUpdatePrivatesBase() - updates PRIVATE stack base
      offset so PRIVATE variables created in current function/procedure
      will not be removed when it returns
    ! fixed releasing PUBLIC and PRIVATE variables which were passed by
      reference and are still active on HVM stack or in codeblocks as
      detached locals (see: hb_memvarDetachDynSym())
    * modified hb_memvarFindSymbol() to be more Clipper compatible
    % optimized hb_memvarRelease() to operate or PHB_DYNS instead of
      string comparison and not make linear dynamic symbol scan for
      PUBLIC or not existing symbols
    - removed hb_memvarReleasePublic()

  * harbour/include/hbvmpub.h
  * harbour/include/hbxvm.h
  * harbour/source/compiler/gencc.c
  * harbour/source/vm/classes.c
  * harbour/source/vm/debug.c
  * harbour/source/vm/itemapi.c
  * harbour/source/vm/pcount.c
  * harbour/source/vm/proc.c
  * harbour/source/vm/pvalue.c
    * updated for the above modifications

  * harbour/source/rtl/memvarbl.prg
  * harbour/source/rtl/menuto.prg
    * use __mvEXIST( cMemvar ) instead of __mvSCOPE( cMemvar ) > HB_MV_ERROR
      __mvEXIST() is much faster function

  * harbour/source/rtl/type.c
    * execute hb_memvarUpdatePrivatesBase() after macro type checking.
      This should not be necessary but we are not Clipper compatible here
      and this is work around for difference in our TYPE() implementation.
      Clipper for:
         ? TYPE("VAR:=1")
      create PUBLIC variable VAR when [x]Harbour PRIVATE one.
      Should we try to make it Clipper compatible?

   The above should fix problems reported with memvars. We are not 100%
   Clipper compatible but unlike in Clipper we cannot break VM internals
   using some operation on references to memvars and detached locals
   and/or RELEASE.../ CLEAR MEMORY. This modifications should be intensively
   tested. If you will find any problems with current code please inform me.
   I'd like to hear your opinions about memvars created by TYPE() (see above).
   Should we change it? It may not be very easy operation - we will have to
   change macro compiler and add new PCODE for that.
2006-08-18 23:12:38 +00:00
Luiz Rafael Culik
395250383c See changelog 2002-12-07 21:45 UTC-0300 2002-12-08 00:06:26 +00:00
Luiz Rafael Culik
91c65a8b49 See changelog 2002-11-25 21:45 UTC-0300 2002-11-26 00:01:22 +00:00
Luiz Rafael Culik
01099577fc See changelog 2002-11-20 21:45 UTC-0300 2002-11-20 23:40:02 +00:00
Walter Negro
a95951e58a * source/rtl/menuto.prg
! Fix, initial value was not used.
      Reported by Horacio Roldan.
2002-05-13 16:21:14 +00:00
Walter Negro
44925cd65a * source/rtl/menuto.prg
! Fix recursive executions and exit without pressing key.
       Now use local pointer and save static pointer.
     ! Fix call to HitTest
2002-04-02 04:41:53 +00:00
Luiz Rafael Culik
040d3f3286 See changelog 2002-03-18 12:56 UTC-0300 2002-03-18 16:00:33 +00:00
Viktor Szakats
c2e365bf9a 2001-05-15 13:46 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-05-15 11:46:55 +00:00
Viktor Szakats
57ad5bef90 20000229-22:00 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-02-29 21:12:27 +00:00
Viktor Szakats
7928a16138 20000214-07:50 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-02-14 06:54:30 +00:00
Luiz Rafael Culik
1fe0533c26 *** empty log message *** 2000-01-07 07:55:01 +00:00
Luiz Rafael Culik
e0a82cccea *** empty log message *** 2000-01-02 19:14:07 +00:00
Luiz Rafael Culik
6a9da269a1 *** empty log message *** 2000-01-01 08:51:55 +00:00
Viktor Szakats
1d72d0aa85 19991220-18:42 GMT+1 1999-12-20 17:47:52 +00:00
Viktor Szakats
521ffcf660 19991025-12:37 GMT+1 Victor Szel <info@szelvesz.hu> 1999-10-25 11:25:54 +00:00
Viktor Szakats
964da8b34b 19991021-23:33 GMT+1 1999-10-21 21:47:49 +00:00
Viktor Szakats
ac8580b4d0 19991006-00:32 GMT+1 1999-10-05 22:52:01 +00:00
Viktor Szakats
eb8beff0d0 19991004-18:42 GMT+1 1999-10-04 16:58:44 +00:00
Viktor Szakats
66a1f16b24 19990930-21:00 GMT+1 1999-09-30 19:16:16 +00:00
Viktor Szakats
5f04be73ee 19990916-21:00 GMT+1 1999-09-16 19:11:46 +00:00
Viktor Szakats
bba4046bb1 19990916-11:15 GMT+1 1999-09-16 09:34:13 +00:00
Viktor Szakats
34ab832aa3 19990916-03:57 GMT+1 1999-09-16 02:10:07 +00:00
Viktor Szakats
f655b02a7a 19990822-07:40 GMT+1 1999-08-22 06:29:28 +00:00
Viktor Szakats
35b7c865f0 19990809-06:23 GMT+1 1999-08-09 05:21:31 +00:00
Viktor Szakats
710dcabb74 *** empty log message *** 1999-08-07 21:55:42 +00:00
Andi Jahja
9e9a56f0d9 error checker added 1999-08-06 10:53:55 +00:00
Viktor Szakats
2f1ea75a14 19990806-05:31 GMT+1 1999-08-06 03:51:33 +00:00
Viktor Szakats
b1695b2ddc *** empty log message *** 1999-08-05 15:36:05 +00:00