Commit Graph

31 Commits

Author SHA1 Message Date
Mindaugas Kavaliauskas
dde57c5c70 2008-12-18 05:02 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* include/hbclass.ch
  * include/hbcomp.ch
  * include/hberrors.h
  * include/hbgenerr.c
  * include/hbmain.c
  * include/hbopt.c
    + PCode optimizations:
        1) Self := QSELF(), Self:method -> QSELF():method
        2) Declared, but unused variables are removed from code
      These optimizations are enabled if jump optimizations are enabled.

    + added recursive pcode tree tracer. It is capable to generate new
      warning: Variable %s is assigned, but not used. 
      Warning is not generated in these cases:
        1) unoptimal Self := QSELF() pcode [generated by preprocessor rules]
        2) if variable name starts with '_nowarn_'. This allows to 
           suppress warning in case unoptimal pcode is generated by 
           preprocessor rules
        3) assigned value is NIL. This let us force garbage collection
           using oVar := NIL
      Warning has warning level 3.
      ; NOTE: if you are using -w3 -es2 in makefiles, you'll need to fix your 
              redundant code to compile the project

  * source/rtl/achoice.prg
  * source/rtl/browse.prg
  * source/rtl/tbrowse.prg
  * source/rtl/teditor.prg
  * source/rtl/tget.prg
  * source/rtl/tgetlist.prg
  * source/rtl/tlabel.prg
  * source/rtl/tmenusys.prg
  * source/rtl/tpersist.prg
  * source/rtl/treport.prg
  * source/debug/dbgtmenu.prg
  * source/debug/debugger.prg
  * source/debug/dbgtobj.prg
    * fixed 'assigned but not used' warnings

  * utils/hbdoc/hbdoc.prg
  * utils/hbdoc/genasc.prg
  * utils/hbdoc/genhpc.prg
  * utils/hbdoc/genhtm.prg
  * utils/hbdoc/genchm.prg
  * utils/hbdoc/genng.prg
  * utils/hbdoc/genos2.prg
  * utils/hbdoc/genrtf.prg
  * utils/hbdoc/gentrf.prg
  * utils/hbdoc/ft_funcs.prg
  * utils/hbmake/hbmake.prg
    * #pragma -w2
    ; NOTE: I've been fixing warnings in utils/hbdoc/* for 2 hours, 
      but only fixed half of files. There are a lot of garbage code here.
      I do not thing this code is working... 
      I used fallback method: restored original files and used -w2
    ; NOTE: hbmake.prg has about 140 unused assignments.
      I've also fallback to -w2, because some of unused code is complex, 
      ex., ASCAN() with block parameters. I'm not using hbmake, and I'm 
      affraid to break something important. 

  * compiler/hbpcode.c
    - removed Ron's copyright on hb_compStrongType(). We do not have this 
      functions in the compiler at all. I guess this text is just a result 
      of .c header copy-paste from xHarbour's hbstrong.c some time ago.
2008-12-18 03:04:50 +00:00
Viktor Szakats
34de935979 2008-10-16 07:40 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/achoice.prg
    % Minor optimization.

  * source/rtl/achoice.prg
  * source/rtl/menuto.prg
  * source/rtl/tbrowse.prg
  * source/rtl/tclass.prg
    * Minor formatting.

  * source/rtl/tobject.prg
    * Removed '#pragma DEBUGINFO=OFF' as it's no more 
      needed.

  * source/debug/dbgthsh.prg
  * source/debug/debugger.prg
    * Copied hb_CStr() as __dbgCStr() to debug.lib.
    * Changed calls from hb_CStr() to __dbgCStr().

  * source/debug/dbgtmenu.prg
  * source/debug/dbgtwin.prg
  * source/debug/dbgwa.prg
    * Remaining BOX commands changed to hb_dispBox().

  * source/debug/dbghelp.prg
    ! Fixed one hb_dispBox() call with numeric frame parameter.
2008-10-16 05:40:51 +00:00
Przemyslaw Czerpak
97500be08b 2008-10-16 04:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/debug/dbgbrwsr.prg
  * harbour/source/debug/dbgtwin.prg
  * harbour/source/debug/tbrwtext.prg
  * harbour/source/debug/dbgwa.prg
  * harbour/source/debug/debugger.prg
  * harbour/source/debug/dbghelp.prg
  * harbour/source/debug/dbgtmenu.prg
  * harbour/source/debug/dbgtmitm.prg
    * use hb_dispOutAt()/hb_dispBox() instead of DispOutAt()/DispBox()
    ! fixed using ADel()/AIns() with xHarbour extended parameters
    ! fixed RT debugger errors caused by missing ::nTabWidth and ::colorSpec
      in HBBrwText class
    ! fixed processing source code with TABs (chr(9))
    ; TOFIX: "Mono Display" causes RT error due to missing color index
             range checking. It also does not change all colors immediately
    ; TOFIX: getdbginput(): writing out of window area, scrolling internal
             buffer, cursor navigation, interrupting by ESC
2008-10-16 02:24:29 +00:00
Przemyslaw Czerpak
45c437c917 2008-10-16 00:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/debug/dbgtobj.prg
  * harbour/source/debug/dbgbrwsr.prg
  * harbour/source/debug/dbgtwin.prg
  * harbour/source/debug/dbgmenu.prg
  * harbour/source/debug/dbgthsh.prg
  * harbour/source/debug/tbrwtext.prg
  * harbour/source/debug/debugger.prg
  * harbour/source/debug/dbgtarr.prg
  * harbour/source/debug/dbgtmenu.prg
  * harbour/source/debug/dbgtmitm.prg
    * use #define HB_CLS_NOTOBJECT to disable inheritance from HBObject
      in internal debugger classes.
      Here is complete list of other .prg functions still used by hbdebug
      library:
         GET, __GETLISTACTIVE, __GETLISTSETACTIVE, HBGETLIST, ACHOICE,
         HB_CSTR, HBCLASS
2008-10-15 22:42:54 +00:00
Viktor Szakats
57e094986e 2008-10-15 17:47 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/debug/dbgtobj.prg
  * source/debug/dbgbrwsr.prg
  * source/debug/dbgthsh.prg
  * source/debug/debugger.prg
  * source/debug/dbghelp.prg
  * source/debug/dbgtarr.prg
  * source/debug/dbgwa.prg
  * source/debug/dbgtwin.prg
  * source/debug/dbgtmenu.prg
    + Added minimal Alert() clone, named ___dbgAlert().
    + Replaced Alert() with __dbgAlert() calls.
    + Added minimal TBColumn() implementation, named HBDbColumn().
    + Replaced TBColumnNew() with HBDbColumnNew() calls.
    + Enabled HB_NO_READDBG for all sources. This isn't 
      perfect, just a step into the right direction.
    ; Please test above modifications.
    ; Remaining RTL .prg dependencies:
      - HBEDITOR()
      - ACHOICE()

  * source/debug/dbgwa.prg
  * source/debug/dbgtwin.prg
  * source/debug/dbgtmenu.prg
    * Formatted to Harbour standards.

  * source/rtl/tobject.prg
  * source/rtl/tclass.prg
    + Added '#pragma DEBUGINFO=OFF'.
    ; NOTE: Maybe it'd be better to rewrite these in .c, 
            also for speed. If possible.

  * source/rtl/alert.prg
    ! Minor typo.
2008-10-15 15:55:11 +00:00
Viktor Szakats
d54f03c81e 2008-10-15 10:09 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* make_b32.mak
  * make_vc.mak
  * make_gcc.mak
    * Removed disabling -b for non-debug builds.
    ; We aim to remove RTL .prg dependencies from hbdebug.lib, 
      either by local implementation, .c rewrite, or force 
      disabling debug mode in more core files.
      Until this happens, one will have to be careful with 
      using -b switch to compile Harbour. These are the core .prg 
      modules currently used by hbdebug.lib:
      - HBGETLIST(), GET(), __GET(), __GETLISTACTIVE(), __GETLISTSETACTIVE(), READINSERT(), READMODAL()
      - HBCLASS()
      - HBOBJECT()
      - HBEDITOR()
      - TBCOLUMNNEW()
      - ACHOICE()
      - ALERT()

  * 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
    + Readded '#pragma DEBUGINFO=OFF'.
2008-10-15 08:13:42 +00:00
Viktor Szakats
5c252e761e 2008-10-15 01:56 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
    - Removed '#pragma DEBUGINFO=OFF'. See solution below.

  * make_b32.mak
  * make_gcc.mak
  * make_vc.mak
    * Forcing -b- (disabling debug info) for all core 
      .prg functions. Compiling anything in core with 
      -b would cause infinite loops, when trying to use 
      the debugger.
      QUESTION: Is HB_NO_READDBG still needed?
2008-10-14 23:59:06 +00:00
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
Viktor Szakats
1091b1a150 2007-09-14 18:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/tbrowse.prg
     ! Color handling made fully C5.x compatible. Pls test.
     + One C5.3 bug replicated where no special header/footer 
       colors are being used if there is not header/footer separator 
       sepcified.
     ! Fixed compile error (because of unused var warning) when 
       HB_COMPAT_C53 is not defined.

   * source/rtl/numeric.prg
   * source/rtl/memoedit.prg
   * source/rtl/typefile.prg
   * source/rtl/block.prg
   * source/rtl/symbol.prg
   * source/rtl/errorsys.prg
   * source/rtl/scalar.prg
   * source/rtl/nil.prg
   * source/rtl/radiogrp.prg
   * source/rtl/logical.prg
   * source/rtl/array.prg
   * source/rtl/listbox.prg
   * source/rtl/browse.prg
   * source/rtl/characte.prg
   * source/rtl/pushbtn.prg
   * source/rtl/ttextlin.prg
   * source/rtl/profiler.prg
   * source/rtl/date.prg
   * source/rtl/persist.prg
   * source/debug/dbgbrwsr.prg
   * source/debug/tbrwtext.prg
   * source/debug/dbgtmenu.prg
     + Enabled "PROTECTED:" keyword in profiler.prg
     * Finished CLASS declarations to use a more or less consistent syntax 
       inside Harbour (Class(y) compatible except SETGET and the METHOD 
       parameter lists, maybe some more).
     * Finished WHILE, iif(), END, string quotation to be consistent along Harbour.
     ! Fixed some indentations.
     * Some other minor cleanups.
2007-09-15 11:54:39 +00:00
Viktor Szakats
7ace63cd2e 2007-09-09 19:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/setcurs.ch
   * include/hbapigt.h
     * SC_UNDEF moved to .prg level.
     ! SC_* defs not duplicated on C level.

   * include/hbcompat.ch
     + Added debugger class compatibility translations.

   * source/rtl/tmenusys.prg
   * source/rtl/menusys.prg
     * Formatting.

   * source/rtl/teditor.prg
   * source/debug/debugger.prg
     + Added :RowPow(), :ColPos(), :IsWordWrap(), :WordWrapCol()
     ! Changed debugger to use the above methods instead of direct 
       instance var access.

   * source/rtl/tbcolumn.prg
   * source/rtl/tget.prg
   * source/rtl/tbrowse.prg
     ! Public class initializator names hidden when in strict 
       (and non-XPP) mode.

   * source/rtl/tbrowse.prg
     + Some work in progress towards better C5.x compatibility
       (borrowed from xhb)

   * source/rtl/getsys.prg
   * source/rtl/tgetlist.prg
     + (Better) C5.3 message line support, several 5.3 fixes, 
       some of them borrowed from xhb.

   * include/hbcompat.ch
   * 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
     ! Class names named to be in the Harbour namespace.
       xhb compatibility translations added to hbcompat.ch
     ! Unneeded BEGINDUMP and .h inclusions removed.
     ! Added :End() to HBBrwText to avoid using some 
       internals vars of the class.
     ! Fixed problem with HBDebugger:SaveAppScreen() 
       where it crashed due to wrong initialization 
       of TBrowse() screen coordinates. Bug appeared 
       due to the now more compatible TBrowse() behaviour.
     % Optimizations and cleanups.
     % Unused vars/functions removed.
     * Formatting (except large parts of debugger.prg and 
       those files which were okey).
     ; Majority of formatting, optimization and code cleanup 
       work is still left to do.

     Please test as much as you can.
2007-09-09 17:42:53 +00:00
Lorenzo Fiorini
40de465432 2007-04-13 11:50 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com)
* harbour/common.mak
    ! updated for new files
  * harbour/source/debug/Makefile
  * harbour/source/debug/dbgbrwsr.prg
  * harbour/source/debug/dbghelp.prg
  * harbour/source/debug/dbgmenu.prg
  * harbour/source/debug/dbgtarr.prg
  * harbour/source/debug/dbgtmenu.prg
  * harbour/source/debug/dbgtmitm.prg
  * harbour/source/debug/dbgtobj.prg
  * harbour/source/debug/dbgtwin.prg
  * harbour/source/debug/dbgwa.prg
  * harbour/source/debug/debugger.prg
  + harbour/source/debug/dbgaltd.prg
  + harbour/source/debug/dbgthsh.prg
    * debugger code borrowed from xHarbour
  + harbour/include/hbcompat.ch
    * xHarbour compatibility defines
2007-04-13 09:50:39 +00:00
Przemyslaw Czerpak
e47d291938 2006-10-04 02:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbclass.ch
    * most of the rules rewritten
    ! fixed some wrong rules and general cleanup
    + added additional code validation
    ! fixed compilation of more then one class in single file.
      Now it's even possible to declare all classes at beginning of
      single file and then implementing their methods in any order
    ! fixed using static classes and classes
    ! fixed compilation without <ClassName>_ prefix in method names
    + added support for HB_CLS_NO_DECORATION macro which disable
      adding <ClassName>_ prefix to method names - this macro is
      set by default when HB_SHORTNAMES is set.
    + added support for declared parameters validation - it can be
      disabled with HB_CLS_NO_PARAMS_ERR and I had to disable it
      by default due to problems with our preprocessor.
      Ryszard seems that our PP has serious problems with decoding
      directives when there is no space between symbol and some other
      non symbol character. I had to add some workarounds and even
      introduce buggy rules to make it working. Please look at it.
      You can remove #define HB_CLS_NO_PARAMS_ERR from hbclass.ch
      and try to rebuild Harbour core code to see the problem.

  * harbour/include/hboo.ch
  * harbour/source/vm/classes.c
    + added support for new primitive message: HB_OO_MSG_PERFORM

  * harbour/source/rtl/tclass.prg
    - removed <lPersistent> parameter from HBClass messages and
      internals data. Persistent is supported as scope bit and
      separate variable was redundant.
    - removed stripping of () from message names. Here is not a place
      to fix wrong preprocessor rules.

  * harbour/utils/hbtest/rt_class.prg
    * use: METHOD PROCEDURE ... CALSS ...
      instead of: PROCEDURE ... CALSS ...
      The first version is preferable syntax.

  * harbour/source/debug/dbgtmenu.prg
  * harbour/source/rtl/checkbox.prg
    ! fixed some parameters in method declaration - global cleanup
      will have to wait for preprocessor fixes

   Hi all,
   Please make test with current hbclass.ch code.
   I hope that I haven't broken too much things ;-) but I rewrite
   from scratch most rules and it's possible that I missed sth or
   made some stupid typos. Current version is much shorter and should
   be easier to updated. For sure I've intentionally changed one thing.
   CLASSDATA was ignoring SHARED attribute and always created shared
   class variables. Seems that it was long existing typo but the fix
   may interact with already existing code which needs SHARED class
   variables but does not use SHARED clause in CLASSDATA declaration.
   In such case please update it and add missing SHARED.
   Also in the end of CLASS declaration we have:
      [ ; #translate Super( <SuperClassN> ): => ::<SuperClassN>: ] ;
      [ ; #translate Super( <SuperClass1> ): => ::<SuperClass1>: ] ;
      [ ; #translate Super(): => ::<SuperClass1>: ] ;
      [ ; #translate Super: => ::<SuperClass1>: ] ;
      [ ; #translate ::Super : => ::<SuperClass1>: ]
   These rules introduce very serious bug - they are breaking supercasting
   in code which makes sth like:
      ::super:super:super:msg
   or in any other code which sends SUPER message to some other class
   objects. I will have to remove them. At least the last three ones.
   There were some other things I wanted to write about but it's too late
   and I'm to tired - sorry. If you will have any question please ask. if
   you will notice some problems with current rules please inform me.
2006-10-04 00:33:00 +00:00
Ryszard Glab
b7321e3a01 2005-09-28 13:05 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* makefile.bc
   * makefile.nt
   * makefile.vc
   * makefile64.nt
      - removed references to DBFDBT library

   * source/debug/dbgtmenu.prg
   * source/debug/dbgtmitm.prg
   * source/debug/dbgtwin.prg
   * source/debug/debugger.prg
   * source/rtl/alert.prg
      * fixed displaying of boxes under the xterm
        (use @ ... TO ... instead of @ ... BOX)

   * source/rtl/gtcrs/gtcrs.c
      * fixed restoring of alternate characters flag
2005-09-28 11:20:52 +00:00
Ryszard Glab
6196303b77 2004-01-27 16:10 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* source/compiler/harbour.c
      * the compiler generates module name inside
      '(_INITSTATICS)' function if -B option is used

   * source/vm/hvm.c
      * fixed hb_vmStaticName, hb_dbg_vmVarSGet,
      hb_dbg_varSSet to use the static variables frame

   * source/debug/dbgtmenu.prg
   * source/debug/dbgtmitm.prg
   * source/debug/debugger.prg
      * fixed parsing of <var>:<name> in watchpoint
      expressions
      * fixed monitoring of static variables - the
      debugger displays now static variables defined
      in the current debugged prg file
2004-01-27 15:13:48 +00:00
Ryszard Glab
152325f856 2004-01-26 11:45 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* source/compiler/harbour.c
      *fixed generation of codeblock's pcode with debugging info

   * source/debug/dbgmenu.prg
   * source/debug/dbgtmenu.prg
   * source/debug/dbgtmitm.prg
   * source/debug/dbgtwin.prg
   * source/debug/debugger.prg
   * source/debug/tbrwtext.prg
      *added Tracepoint support
      *added support for PPO files
      *added monitoring of local variables used in a codeblock
      *local variables are displayed correctly when the
      callstack window is browsed
      *other minor fixes

   * source/vm/debug.c
      *renamed '__vm*' functions to 'hb_dbg_*'
      *fixed support for local variables inside of codeblock

   * source/vm/hvm.c
      *added 'hb_dbg_ProcLevel' function which return the
      size of procedure stack calls (the debugger support)
2004-01-26 10:40:18 +00:00
Antonio Linares
99fd9a3cee Minor fix to allow new Class inherited from this one 2003-05-30 07:34:43 +00:00
Viktor Szakats
1c2b5451fc 2001-12-15 12:11 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-12-15 11:22:29 +00:00
Viktor Szakats
37b052fc7a 2001-05-15 15:02 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-05-15 13:02:07 +00:00
David G. Holm
0e07837322 See ChangeLog entry 2001-04-12 15:00 UTC-0400 David G. Holm <dholm@jsd-llc.com> 2001-04-12 18:56:30 +00:00
Antonio Linares
022cc32ea0 mono display debugger colors supported 2001-02-09 04:35:45 +00:00
Ignacio Ortiz de Zuniga
41057bbe2c *** empty log message *** 2001-02-08 16:25:41 +00:00
Antonio Linares
1fcd32ea3f some minor fixes 2001-02-08 10:20:40 +00:00
Ignacio Ortiz de Zuniga
ce74c253c4 *** empty log message *** 2001-02-07 09:30:48 +00:00
Antonio Linares
44191cd8b9 call to debugger SelColors() option 2001-02-06 16:47:02 +00:00
Antonio Linares
91c51e2b65 two spaces added on popup menuitems to support check mark. 2001-02-06 11:13:07 +00:00
Antonio Linares
4d643a7c3e Mouse support added to the popups. 2001-02-03 07:54:19 +00:00
Jean-Francois Lefebvre
77a9b26ade 2001-01-18 00:18 GMT+1 JFL (Mafact) <jfl@mafact.com> 2001-01-17 23:20:57 +00:00
Viktor Szakats
9217251a5a 2000-05-29 02:47 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-05-29 00:51:57 +00:00
Viktor Szakats
be81ee127d 2000-05-27 23:12 UTC+0100 Victor Szakats <info@szelvesz.hu> 2000-05-28 19:52:03 +00:00
Viktor Szakats
1be74da400 20000403-13:07 GMT+1 Victor Szakats <info@szelvesz.hu> 2000-04-03 11:09:20 +00:00
David G. Holm
4ee76b9b60 See ChangeLog entry 2000-03-31 18:25 GMT-5 David G. Holm <dholm@jsd-llc.com> 2000-03-31 23:26:27 +00:00