Commit Graph

19 Commits

Author SHA1 Message Date
Przemysław Czerpak
05fa5c0538 2014-08-11 13:54 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/debug/dbgbrwsr.prg
    ! fixed to not display last column out of browser area

  * src/debug/dbghelp.prg
  * src/debug/dbgmenu.prg
  * src/debug/debugger.prg
    * use strings to to locate help topics instead of hardcoded numeric
      offsets
    ! added support for topic specification in "HELP" command - Cl*pper
      compatibility
    ! allow to use FILE DOS (and F D shortcut) to activate OS Shell - Cl*pper
      compatibility

  * src/debug/dbgentry.c
    ! removed recent pseudo fix with memset() missing the last byte of
      allocated memory area since e59993bdb1.
      The original code was correct. In Harbour trailing 0 in all strings
      is set inside functions creating string items.

  * package/harbour.spec
    + added MXML library

  * package/mpkg_rpm.sh
    * respect HB_WITH_*=no and HB_WITH_*=local envvars
2014-08-11 13:54:18 +02:00
Viktor Szakáts
0c8947774b 2014-08-05 19:56 UTC+0200 Viktor Szakáts (vszakats users.noreply.github.com)
* src/debug/*
  + src/debug/en.txt
    * sync with 4d61fc5a25/src/debug
    * use DBS_* constants
    ! fixed to allow editing of CODEBLOCK types in hash/array/object elements
      as it was allowed in single variables
    ! fixed to detect all workareas not just the first arbitrary 512
    ! fixed memset() missing the last byte of allocated memory area
      since e59993bdb1
    + reworked help to store content in a text file out of the source code.
      It reduces binary size, makes translation possible, editing easier,
      source code leaner and easy to publish online.
    ! deleted help section explaining cld.exe
    * formatting, cleanups, optimization, translatability
2014-08-05 19:56:44 +02:00
Przemysław Czerpak
3f78fa0b6e 2014-08-01 02:04 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* extras/gtwvw/gtwvwd.c
    ! fixed typo in WVW_SETICON() - thanks to Ash

  * src/rdd/dbcmd53.c
    ! typo in comment

  * src/rtl/dateshb.c
    % use hb_retclen() instead of hb_retc() when size is well known.

  * src/rtl/valtoexp.prg
    % use hb_defaultValue()

  * src/vm/estack.c
    * minor cleanup

  * src/vm/fm.c
    * modified a little bit HB_MEMINFO structure to force strict alignment
    + added debug code covered by HB_FM_FORCE_REALLOC macro which forces
      allocateing new block in each hb_xrealloc() call
    ! protect realloc() in HB_FM_STATISTIC by mutex, it fixes issue #77.

  * src/rtl/hbproces.c
    % unlock HVM waiting for process in OS2 builds
    ! build array of argument passed to process in hb_processRun() in
      parent process not forked one. It fixes possible deadlock in forked
      process because memory is allocated to create arguments array and
      in MT program memory managers may use mutexes internally which can
      be cloned to forked process in locked state.
      It fixes seldom and random HBMK2 freezing during compilation
      with -jobs=<n> parameter.

  * utils/hbmk2/hbmk2.prg
    ! fixed race condition in concurrent C compiler execution (-jobs=<n>)
      with script file

  * src/debug/dbgentry.c
    ! fixed crash when wrong expression is used as tracepoint
    ! fixed expression analyzer to correctly recognized extended strings e"..."
    * formatting

  * src/debug/dbgbrwsr.prg
  * src/debug/dbghelp.prg
  * src/debug/dbgtarr.prg
  * src/debug/dbgthsh.prg
  * src/debug/dbgtinp.prg
  * src/debug/dbgtmenu.prg
  * src/debug/dbgtobj.prg
  * src/debug/dbgtwin.prg
  * src/debug/dbgwa.prg
  * src/debug/debugger.prg
    * added calls to ::NotSupported() method for some still missing
      functionality
    ! do not use SetColor() but directly pass colors to used objects
      and functions
    ! do not use SetPos() and Row()/Col() for core functionality - it was
      source of few minor bugs
    % enable cursor only in input objects and disable it just after
    % eliminated code to save and restore cursor position and shape
    ! fixed initial positioning in help window
    + implemented HiLite() and DeHiLite() methods in HBDbBrowser() class
    ! fixed positioning when end of source data is reached in browser
    % eliminated some redundant or completely useless code and comments
    % use some fully functional HBDbBrowser() features instead of manual
      encoding similar functionality
    ! validate watchpoint and tracepoint expressions
    % use SWITCH statements
    ! fixed expression presentation (added __dbgValToExp() and __dbgValToStr())
    ! fixed input for new expressions
    ! fixed browser scrolling in object inspector
    ! fixed inkey() processing inside debugger (ALT+D and ALT+C)
    ! fixed browsers highliting in WA inspector
    ! fixed hardcoded limit for 512 workareas in WA inspector
    ! fixed initial WA positioning in WA inspector
    * resized WA  inspector window
    * many other minor fixes and improvements
2014-08-01 02:04:07 +02:00
Przemysław Czerpak
fde8db1e35 2014-05-20 17:03 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/debug/debugger.prg
    ! calculate ListBox coordinates as integer value
      (it fixes RTE reported by Rolf in SWITCH statement)

  * src/debug/dbghelp.prg
    ! fixed number of help pages calculation
2014-05-20 17:03:11 +02:00
Przemysław Czerpak
b04066c388 2014-03-04 18:15 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/debug/debugger.prg
    * minor cleanup

  * src/rtl/copyfile.c
    ! fixed RTE after recent modification (#55)
2014-03-04 18:15:39 +01:00
Przemysław Czerpak
a767a89aa0 2014-01-21 20:35 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/ctnet.c
    ! fixed copy and past typo in previous commit

  * src/rdd/hbsix/sxcompat.prg
    ! fixed sx_Compress() and sx_Decompress() used with arrays

  ; modifications below comes from Viktor fork:

  * include/dbinfo.ch
  * src/rdd/workarea.c
    + added support for new dbInfo() action: DBI_CODEPAGE
      It returns Harbour CP used by current work area.

  * src/common/expropt2.c
    * change instruction order to protect against NULL references
      if we ever add support for dummy lists

  * src/common/hbver.c
    ! CLANG detection

  * src/lang/l_fr.c
  * src/lang/l_hu.c
    * updated translations

  * src/rtl/cdpapihb.c
  * include/harbour.hbx
    + added function hb_cdpExists( <cCDP> ) -> <lExists>
      it returns .T. if the passed codepage is supported
      and linked, .F. otherwise

  * src/rtl/hbrand.c
  * include/harbour.hbx
    + added hb_randStr( <nLen> ) -> <cBytes> which returns a strong
      random stream of bytes of requested length

  * src/vm/hashfunc.c
  * include/harbour.hbx
    + New hash function to easily check for the existence
      of a key and at the same time retrieving its corresponding
      value:
         hb_HGetRef( <hHash>, <xKey>[, <@xValue> ] ) -> <lFound>
      If the key is not found, <xValue> is also reset to NIL.
      Useful to replace hb_HPos()/hb_HValueAt() call pairs and
      associated temp variable, or to avoid multiple hash lookups
      for the cost of one temp variable.

  * src/rtl/copyfile.c
    % use 64KB buffer

  * src/rtl/tget.prg
    ! Get():Insert()/Get():OverStrike() GET freeze fix reworked
      using better solution by Heinz.

  * src/rtl/tgetlist.prg
  * src/rtl/tmenuitm.prg
  * src/rtl/tmenusys.prg
  * src/rtl/tpopup.prg
    ! fixed to precisely verify against multiple expected class names
      previously a custom class named f.e. 'LIST' was accepted in some
      places for LISTBOX
    ! fixed TOFIX where CP/encoding dependent string was
      used to determine whether a menu item is separator
      throughout the lifetime of the menu.

  * src/common/hbdate.c
  * src/common/hbprintf.c
  * src/common/hbtrace.c
  * src/common/hbver.c
  * src/compiler/compi18n.c
  * src/compiler/genc.c
  * src/compiler/gencc.c
  * src/compiler/hbusage.c
  * src/debug/dbgthsh.prg
  * src/debug/dbgtmenu.prg
  * src/debug/debugger.prg
  * src/debug/tbrwtext.prg
  * src/pp/hbpp.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbfuncs.prg
  * src/rdd/dbtotal.prg
  * src/rdd/hbsix/sxcompat.prg
  * src/rdd/hbsix/sxini.prg
  * src/rdd/usrrdd/rdds/arrayrdd.prg
  * src/rdd/usrrdd/rdds/hscdx.prg
  * src/rtl/adir.prg
  * src/rtl/arc4.c
  * src/rtl/cdpdet.prg
  * src/rtl/dbedit.prg
  * src/rtl/dircmd.prg
  * src/rtl/diskspac.c
  * src/rtl/disksphb.c
  * src/rtl/errint.c
  * src/rtl/errintlo.c
  * src/rtl/errsys.prg
  * src/rtl/filesys.c
  * src/rtl/fslink.c
  * src/rtl/gtkbstat.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/hbbffnc.c
  * src/rtl/hbi18n1.c
  * src/rtl/hbi18n2.prg
  * src/rtl/hbini.prg
  * src/rtl/hbjson.c
  * src/rtl/listbox.prg
  * src/rtl/menusys.prg
  * src/rtl/mtran.c
  * src/rtl/radiogrp.prg
  * src/rtl/tgetlist.prg
  * src/rtl/tmenusys.prg
  * src/rtl/tobject.prg
  * src/rtl/tpersist.prg
  * src/rtl/tpopup.prg
  * src/rtl/tpopuphb.prg
  * src/rtl/treport.prg
  * src/rtl/tscalar.prg
  * src/rtl/ttopbar.prg
  * src/rtl/tget.prg
  * src/rtl/tlabel.prg
  * src/rtl/tmenuitm.prg
  * src/rtl/valtoexp.prg
  * src/rtl/valtype.c
  * src/vm/dlmalloc.c
  * src/vm/fm.c
    ! check module handle returned by GetModuleHandle() in MS-Windows
      builds
    ! use %u for unsigned printf formatting
    * casting, formatting, casing and some modifications in names
    * use #if 0 / #endif to mark commented blocks
    * updated year to 2014
    % use FOR EACH, SWITCH, DO CASE statements
    % use :__enumFirst() / :__enumLast()
    % eliminated some local variables and redundant declarations
    % use hb_defaultValue()
    % use $ operator instead of At() and hb_HHasKey()
    % use hb_ADel() instead of ADel()+ASize()
    * replace some functions with procedures
    * pacified some MSC warnings
    * use hb_StrFormat() for user messages
    * use :: instead of Self:
    * use ANSI date delimiters
2014-01-21 20:35:51 +01:00
Przemysław Czerpak
084ab0bbe2 2013-07-08 23:34 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/debug/dbgentry.c
    + added protection against wrong parameters passed to __dbgDelBreak()

  * src/debug/debugger.prg
    + implemented display history for command window.
      This modification also fixes clearing command window when focus is
      changed.
    + added support for new commands:
         DELETE ALL BP
         DELETE BP <nNumber>
         LIST BP
    * replicated Clipper compatible command line shortcuts
    ! send :RefreshAll instead of :RefreshCurrent to source code window
      when break point changed
    ; TODO: add support for window resizing and repositioning. Commands
            like LIST BP are in practice unusable in 3 line command window.

  * src/rtl/console.c
    % minor optimization
2013-07-08 23:34:20 +02:00
Przemysław Czerpak
b2dd9d5923 2013-07-08 17:09 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/debug/dbgtmenu.prg
    ! allow to chose current menu item by its hotkey

  * src/debug/dbgtmitm.prg
    % eliminated dummy hb_DispOutAtBox() for not marked options

  * src/debug/debugger.prg
    ! keep RunAtStartup flag synced with menu
    ! fixed options decoding from init.cld file.
      Thanks to Franček Prijatelj for locating the problem though fix
      should be a little bit different.

  * src/debug/tbrwtext.prg
    ! respect LineNumbers on/off setting

  * src/rtl/console.c
    ! call hb_gtFlush() at the end of hb_DispOutAtBox() - it fixes
      different side effects in code using hb_DispOutAtBox().
2013-07-08 17:09:36 +02:00
Phil Krylov
1d79a39621 2013-07-05 20:02 UTC+0400 Phil Krylov (phil a t newstar.rinet.ru)
* src/debug/debugger.prg
    % Don't save debugger window positions if user did not change them as the
      original debugger behaves.
    + Support arguments to Options Save and Options Restore debugger commands
      as the original debugger does.
2013-07-05 20:02:45 +04:00
Phil Krylov
2f28dd8d03 2013-07-05 19:34 UTC+0400 Phil Krylov (phil a t newstar.rinet.ru)
* src/debug/debugger.prg
    ! Maintain fixed window logical order as the original debugger does.
    ! Load debugger settings in two steps: before and after debugger UI activation.
    ! Save watchpoints to the settings file.
2013-07-05 19:34:53 +04:00
Phil Krylov
e48674f094 2013-07-05 17:50 UTC+0400 Phil Krylov (phil a t newstar.rinet.ru)
* src/debug/debugger.prg
    ! Set debugger activity flag before restoring settings.
2013-07-05 17:50:54 +04:00
Phil Krylov
8184133ea1 2013-07-05 17:05 UTC+0400 Phil Krylov (phil a t newstar.rinet.ru)
* src/debug/debugger.prg
    ! Fixed a typo in my last commit.
    ! Make the debugger show itself before it starts restoring its settings.
2013-07-05 17:15:13 +04:00
Przemysław Czerpak
6153da2b05 2013-07-05 14:12 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/debug/dbgentry.c
    ! added missing casting

  * src/debug/debugger.prg
    + show in call stack references to code compiled without debug info

  * src/rtl/itemseri.c
    * ignore HB_HASH_RESORT flag during hash serialization
2013-07-05 14:12:46 +02:00
Phil Krylov
613ddf38cb 2013-07-05 04:35 UTC+0400 Phil Krylov (phil a t newstar.rinet.ru) 2013-07-05 04:44:55 +04:00
Przemysław Czerpak
48137e6a61 2013-07-04 18:09 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/debug/dbgtwin.prg
  * src/debug/debugger.prg
    ! use explicitly INKEY mask in INKEY() calls to avoid interactions
      with user code

  * src/debug/debugger.prg
  * src/debug/tbrwtext.prg
    % removed code used for internal breakpoints handling - it was
      redundant and all necessary information can be easy and fast
      accessed directly from dbgentry.c. Current code is smaller,
      faster and we do not have to worry about keeping break point
      information synchronized between C level debugger internals,
      HBDebugger object and HBBrwText object.
    ! changed source code window navigation key to work like in
      Clipper debugger
    ! changed source lines displaying to work like in Clipper debugger -
      with HOME/END scrolling code horizontally it's not such important
      to always see line numbers
    ! redirect few missing K_CTRL_* keys to active window it fixes key
      navigation in some of them
    ! redirect K_ENTER to command window if command is not empty just
      like in Clipper debugger

  * src/rtl/inkeyapi.c
    ! do not convert ASCII 127 to character in hb_inkeyKeyString()
      and HB_KEYCHAR()
2013-07-04 18:09:47 +02:00
Przemysław Czerpak
ebcbbfd518 2013-07-04 05:33 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/debug/dbgentry.c
    + added new PRG functions:
         __dbgIsBreak( <pDbg>, <cModule>, <nLine> ) -> <nPos>
         __dbgGetBreakPoints( <pDbg> ) -> <aBreakPoints>

  * src/debug/debugger.prg
    - removed old and long time unused PRG function __dbgAltDEntry()

  * src/rtl/hbproces.c
    * changed returned status when execvp() fails, -1 should give
      maximal exit code on given platform (i.e. 255)
2013-07-04 05:33:22 +02:00
Przemysław Czerpak
ab3f6109c1 2013-07-03 12:14 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapidbg.h
  * src/debug/dbgentry.c
  * src/debug/debugger.prg
    + added new C function hb_dbgGetModuleName() - it returns module name
      used to register module in HVM. In current version it only strips
      path part though in the future it may use some more advanced code
      which allow to debug modules with the same name but different paths
      in single application and such extension will be local to core debug
      code if upper level debugger uses hb_dbgGetModuleName()
    + added new PRG function __DBGGETMODULENAME() - it's wrapper to
      hb_dbgGetModuleName()
    + added new PRG function __DBGMODULEMATCH()
    ! use __DBGMODULEMATCH() instead of hb_FileMatch() and strip_path()
    ! eliminated strip_path() from PRG code and use hb_dbgGetModuleName()
      in C code in places where it's necessary
    ! replaced few strcmp() used to compare module names with
      FILENAME_EQUAL()
    ; above modification may fix few potential problem with breakpoints
      in debugger on some platforms if user uses different paths for
      debugger and compilers.
    ! eliminated hack with memvar/field name copy in watch points,
      it also fixes memory leak when fields are used in watch points.
    % replaced few DO CASE with SWITCH
2013-07-03 12:14:50 +02:00
vszakats
9687850865 2013-03-16 02:10 UTC+0100 Viktor Szakats (harbour syenar.net)
* (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
2013-03-16 02:11:42 +01:00
vszakats
a4a357a18b 2013-03-15 11:12 UTC+0100 Viktor Szakats (harbour syenar.net)
* /harbour/* -> /*
    * moved whole Harbour source tree one level up to
      avoid single 'harbour' top dir
2013-03-15 11:13:30 +01:00