Commit Graph

225 Commits

Author SHA1 Message Date
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
Viktor Szakats
2c45c34bb4 2006-09-05 12:44 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/source/debug/debugger.prg
     ! Fixed and made multiplatform the filename extension handling parts.

   * harbour/source/vm/memvars.c
     ! Comment minor fixes.

   * harbour/harbour.spec
   * harbour/make_xmingw.sh
   * harbour/make_bsd.sh
   * harbour/make_drw.sh
     ! xharbour -> harbour
2006-09-05 10:51:43 +00:00
Przemyslaw Czerpak
dc4ad2e7fa 2006-08-06 13:06 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/linux/owatcom.cf
  * harbour/source/debug/debugger.prg
    * changed checking for static initialization functions

  * harbour/source/vm/itemapi.c
    ! fixed stupid typo in string unsharing which caused very serious bug
2006-08-06 11:08:53 +00:00
Viktor Szakats
543a5c815d minor 2006-07-18 10:50:34 +00:00
Viktor Szakats
5dcbeffc68 2006-06-22 00:25 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/include/common.ch
   * harbour/source/debug/dbghelp.prg
   * harbour/source/debug/dbgmenu.prg
   * harbour/source/debug/dbgtarr.prg
   * harbour/source/debug/dbgtobj.prg
   * harbour/source/debug/dbgwa.prg
   * harbour/source/debug/debugger.prg
   * harbour/source/rdd/dbupdat.prg
   * harbour/source/rtl/achoice.prg
   * harbour/source/rtl/checkbox.prg
   * harbour/source/rtl/dbedit.prg
   * harbour/source/rtl/getsys.prg
   * harbour/source/rtl/listbox.prg
   * harbour/source/rtl/persist.prg
   * harbour/source/rtl/pushbtn.prg
   * harbour/source/rtl/radiobtn.prg
   * harbour/source/rtl/tbcolumn.prg
   * harbour/source/rtl/tbrowse.prg
   * harbour/source/rtl/tclass.prg
   * harbour/source/rtl/teditor.prg
   * harbour/source/rtl/tget.prg
   * harbour/source/rtl/tgetlist.prg
   * harbour/source/rtl/tlabel.prg
   * harbour/source/rtl/treport.prg
   * harbour/utils/hbdoc/genchm.prg
   * harbour/utils/hbdoc/genhtm.prg
   * harbour/utils/hbdoc/genng.prg
   * harbour/utils/hbdoc/genos2.prg
   * harbour/utils/hbdoc/genrtf.prg
   * harbour/utils/hbdoc/gentrf.prg
   * harbour/utils/hbdoc/html.prg
   * harbour/utils/hbdoc/ng.prg
   * harbour/utils/hbdoc/os2.prg
   * harbour/utils/hbdoc/rtf.prg
   * harbour/utils/hbmake/checks.prg
   * harbour/utils/hbmake/hbmake.prg
   * harbour/utils/hbmake/hbmutils.prg
   * harbour/utils/hbmake/radios.prg
   * harbour/utils/hbtest/rt_hvm.prg
     + HB_SYMBOL_UNUSED() added for .prg code. It can suppress unused
       var warnings where applicable. The code won't generate any final
       pcodes, so it won't cause overhead. The only current downside
       is that it cannot be used inside codeblocks.
     ! Fixed a number (>200) of declared but unused variable /w2 error.
       All parts were scanned and fixed (except contrib).
       Note that there are several false "unreachable code" warnings,
       and there are still quite a few unused var warnings inside
       codeblocks. After fixing these /w2 switch could be added to
       the standard build process to maintain code quality.
2006-06-21 22:25: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
Phil Krylov
c9331ce46c 2004-06-08 22:50 UTC+0300 Phil Krylov <phil@newstar.rinet.ru> 2004-06-08 18:50:51 +00:00
Phil Krylov
981c0a536c 2004-06-08 02:25 UTC+0300 Phil Krylov <phil@newstar.rinet.ru> 2004-06-07 22:24:35 +00:00
Phil Krylov
9604dd514f 2004-06-07 18:15 UTC+0300 Phil Krylov <phil@newstar.rinet.ru> 2004-06-07 14:14:49 +00:00
Phil Krylov
c4d8ff8810 2004-06-07 14:15 UTC+0300 Phil Krylov <phil@newstar.rinet.ru> 2004-06-07 10:15:40 +00:00
Phil Krylov
4c9284dcec 2004-06-07 13:45 UTC+0300 Phil Krylov <phil@newstar.rinet.ru> 2004-06-07 09:44:09 +00:00
Ryszard Glab
00d4fb45e1 2004-04-09 11:45 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* source/debug/debugger.prg
      * removed diagnostic ALERT call
2004-04-09 09:40:53 +00:00
Ryszard Glab
9e734084d4 2004-04-08 17:20 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* include/hbexpra.c
   * source/compiler/expropta.c
   * source/macro/macroa.c
   * source/vm/macro.c
      * fixed bug cousing that some memory was deallocated
      more then once

   * source/debug/debugger.prg
      * fixed support for .T./.F. in command window
      * fixed issues when the application was using
      SET EXACT ON
2004-04-08 15:05:24 +00:00
Ryszard Glab
e3971c5905 2004-03-30 16:30 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* include/hbapi.h
   * source/vm/macro.c
      * added HB_ITEM_PTR pError member to HB_MACRO structure
      * fixed bug in macro compiler - calls to static
        functions are not allowed in macro compiler

   * source/common/expropt1.c
   * source/common/hbffind.c
      *fixed minor warnings reported by Randy Portnoff

   * source/rtl/set.c
      *SET(_SET_DEBUG) defaults to FALSE (Clipper compatible)

   * source/rtl/idle.c
      *small optimization of hb_idleState()

   * source/compiler/harbour.y
      *the compiler generates line number for DO CASE
      (if debug info requested - to allow breakpoint)

   * source/debug/debugger.prg
      *the debugger shows the line number for modules where
      no source code is available
2004-03-30 14:13:52 +00:00
Ryszard Glab
5881f339eb 2004-03-19 08:20 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* source/debug/debugger.prg
      * fixed refreshing of watchpoints

   * source/pp/ppcore.c
      * fixed bug introduced with my previous commit
2004-03-20 07:09:09 +00:00
Ryszard Glab
8bcfb76b67 2004-03-18 12:45 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* include/hberrors.h
   * source/pp/ppcore.c
      *fixed #define parsing of pseudofunctions in cases where
       passed argument has the same name as declared parameter
      *fixed #define parsing of pseudofunctions - the following
      syntax is not allowed:
      #define test(x,x) - duplicated parameters
      #define test(x,)  - missing parameter
      #define test(x    - missing parenthes

   * source/common/expropt1.c
      * fixed generation of pcode for &(macro)->() syntax

   * source/compiler/harbour.l
      * fixed GPF when string with unmatched terminator was used


   * include/hbexprop.h
   * source/compiler/harbour.y
      * removed direct access to internals of expression
      optimizer structure

   * source/debug/debugger.prg
      * fixed checking of path separator
2004-03-19 11:46:57 +00:00
Ryszard Glab
0fcf861638 2004-03-09 13:50 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
+ source/rtl/altd.prg
      +new file with ALTD() procedure code

   * hrbdll.bc
   * hrbdll.vc
   * makefile.bc
   * makefile.nt
   * makefile.vc
   * source/rtl/Makefile
      *added a reference to rtl/altd.prg

   * source/common/hbffind.c
      *fixed to compile correctly with HB_OS_UNIX

   * include/hbcomp.h
   * include/hbexpra.c
   * include/hbexprb.c
   * include/hbexprop.h
   * include/hbpcode.h
   * source/common/expropt1.c
   * source/compiler/expropta.c
   * source/compiler/exproptb.c
   * source/compiler/genc.c
   * source/compiler/harbour.c
   * source/compiler/harbour.y
   * source/compiler/hbfix.c
   * source/compiler/hbgenerr.c
   * source/compiler/hbpcode.c
   * source/macro/macro.y
   * source/macro/macroa.c
   * source/macro/macrob.c
   * source/vm/hvm.c
      +added missing support for @&macro and @M->memvar
      +added new pcode HB_MACROPUSHREF (all sources have to be
       recompiled)

   * source/debug/dbgtwin.prg
   * source/debug/debugger.prg
      *fixed procedures callstack when modules with/without debug info
      are linked together
      *fixed the debugger activation when ALTD() is used in
      a module with no debug info (the debugger shows up
      on the first line with debug info after the ALTD()
      is called)

   NOTICE:
      Some compilers may require that the debug library has to
      be specified as an object file in order to get the
      debugger linked in.
2004-03-09 13:51:50 +00:00
Ryszard Glab
3e6e0c0bc1 2004-02-11 13:40 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
+ source/debug/dbgbrwsr.prg
      + The new file with TDbgBrowser class which inherits
      from TBrowse

   * hrbdll.bc
   * hrbdll.vc
   * makefile.bc
   * makefile.nt
   * makefile.vc
   * source/debug/Makefile
      + added the reference to dbgbrwsr.prg

   * source/debug/dbgmenu.prg
      + added "Run at Startup' option

   * source/debug/dbgtwin.prg
   * source/debug/debugger.prg
   * source/debug/tbrwtext.prg
      + added "Run at Startup' option - if it is enabled then
      the debugged application runs until ALTD() is called or
      Alt+D keys pressed (Clipper compatibility - the default
      option). If it is disabled the the debugger shows up at
      the first code line with the debug info.
        This setting is stored in the initialization file
      (init.cld) as 'Options NoRunAtStartup'.
      * fixed more display/refreshing issues
      * fixed quiting the debugger

   * source/rtl/alert.prg
      * fixed bug with messages longer then 60 bytes

   * source/vm/hvm.c
      * hb_vmDebugEndProc() is called before the eval stack
      is cleaned - this allows to handle INIT/EXIT procedures
      correctly
2004-02-11 12:43:59 +00:00
Ryszard Glab
e506f7a129 2004-01-30 10:40 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* source/rtl/teditor.prg
      * the current line is still visible after the window resizing

   * source/debug/debugger.prg
      * fixed refreshing of variables' monitor window
      * fixed some save/restore screen issues
2004-01-30 09:50:00 +00:00
Ryszard Glab
daf9e0d8ec 2004-01-27 19:10 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* source/compiler/harbour.c
      * fixed generation of pcode in codeblocks with no
      local variables or parameters

   * source/debug/debugger.prg
      * fixed refreshing of variables in monitor window
2004-01-27 18:13:27 +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
Ryszard Glab
ea80696918 2004-01-22 18:30 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* source/debug/dbgmenu.prg
   * source/debug/dbgtwin.prg
   * source/debug/debugger.prg
      *added Watchpoints support

   * source/vm/debug.c
      *added item de-referencing to __vmVarLGet
2004-01-22 17:39:59 +00:00
Ryszard Glab
fd566a3812 2004-01-21 18:35 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* source/compiler/harbour.y
      *fixed generation of line number's pcode related to
      the debugger

   * source/debug/dbgmenu.prg
   * source/debug/debugger.prg
      *added support for 'Run to cursor" command
      *minor fixes in breakpoints handling (some code
      lines are not allowed to set a breakpoint and
      run to cursor)
2004-01-21 17:42:25 +00:00
Ryszard Glab
a4e9a6a942 2004-01-21 15:30 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* source/compiler/harbour.y
      *fixed generation of line number's pcode related to
      the debugger

   * source/debug/dbgmenu.prg
   * source/debug/debugger.prg
      *fixed TRACE command
      *added support for 'Codeblock trace' option
      * other minor fixes to make the debugger usable

   Additionally in my previous commit (2004-01-20 19:15)
   * source/vm/hvm.c
      *added call for hb_inkeyPoll to the main pcode execution
      loop to correctly support Alt-D, Alt-C and Ctrl-C
      requests (only if HB_GUI is not defined) - it is
      called every 256 opcodes
2004-01-21 14:28:10 +00:00
Ryszard Glab
144cbe8146 Changelog 2004-01-20 19:15 UTC+0100 Ryszard Glab 2004-01-20 18:07:16 +00:00
Alexander S.Kresin
739d148f77 2003-08-19 23:00 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su> 2003-08-19 18:57:43 +00:00
Antonio Linares
21a53a85d5 enhancements developed by Lorenzo Fiorini 2003-07-12 08:05:32 +00:00
Antonio Linares
95f6262400 some fixes implemented by Ian Anderson 2003-06-17 15:12:07 +00:00
Antonio Linares
84773bc032 some changes by Ian Anderson 2003-06-14 13:50:32 +00:00
Antonio Linares
3c9adaedd7 Some enhancements by Ian Anderson, but modified as they were implemented on an older Harbour version source code.
Some improvements. Warning: Still a work in progress
2003-06-14 13:48:00 +00:00
Antonio Linares
f531f3bdb1 CallStack navigation support. Improved variables editing. 2003-06-08 22:38:14 +00:00
Antonio Linares
99fd9a3cee Minor fix to allow new Class inherited from this one 2003-05-30 07:34:43 +00:00
Antonio Linares
3f6fca4813 several fixes 2003-05-21 16:07:44 +00:00
Antonio Linares
0183cd1687 several fixes when debugging arrays 2003-05-21 16:06:09 +00:00
Antonio Linares
e0de33a6e2 aCallStack properly set when using trace mode (K_F10) 2003-04-28 19:00:39 +00:00
Antonio Linares
c988e3f593 mouse support added to debugger help 2002-10-19 18:50:24 +00:00
Antonio Linares
ac86913ec5 minor fix to BP settings save to file 2002-10-19 18:48:46 +00:00
Alexander S.Kresin
5687a9bacf 2002-07-17 18:15 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su> 2002-07-17 14:13:53 +00:00
Alexander S.Kresin
74f3158cb1 2002-07-17 12:30 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su> 2002-07-17 08:17:49 +00:00
Alexander S.Kresin
9f615ec11f 2002-07-17 11:10 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su> 2002-07-17 07:02:32 +00:00
Antonio Linares
404077a166 minor fix on View CallStack 2002-07-14 10:36:17 +00:00
Antonio Linares
a52cbbf5eb see changelog for changes 2002-07-14 10:35:23 +00:00
Alexander S.Kresin
7798e40aa9 2002-07-12 18:58 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su> 2002-07-12 14:56:22 +00:00
Walter Negro
cb5cc779b1 * source/debug/Makefile
+ Add dbghelp.prg
2002-07-10 15:13:30 +00:00
Alexander S.Kresin
2d84d240b8 2002-07-10 12:02 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su> 2002-07-10 07:56:54 +00:00
Alexander S.Kresin
c18f13fad0 2002-07-10 10:43 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su> 2002-07-10 06:32:23 +00:00
Antonio Linares
ff7a78c1fb Command window support for HELP and ?? commands 2002-07-09 08:54:31 +00:00
Antonio Linares
1109ac433f lEditable added and fix on data names display 2002-07-09 08:53:05 +00:00
Antonio Linares
5464576123 added lEditable parameter and data 2002-07-09 08:49:51 +00:00