2010-06-17 21:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/src/vm/harbinit.prg
  * harbour/src/vm/runner.c
  * harbour/src/vm/hvm.c
    ! fixed the order in which HVM calls __SetHelpK() PRG function.
      It should be called after all INIT proc and before main application
      entry.
    * removed __SetHelpK() from thread initialization code.
    ! fixed the order in which INIT procedures are executed in single
      module - CA-Cl*pper calls INIT PROCEDUREs in the reverted order
      (from last to first)
    + added support for undocumented Clipper extension: two execution
      levels of INIT PROCEDUREs. When application starts CA-Cl*pper
      executes INIT PROCEDUREs called CLIPINIT from all linked PRG
      modules. Then it repeats this operation for all modules executing
      all other PROCEDUREs.

      Now Harbour and Clipper gives the same results for this code:
         proc main()
            ? PROCNAME()
         proc errorsys()
            ? PROCNAME()
         init proc INITPROC1()
            ? PROCNAME()
         init proc clipinit()
            ? PROCNAME()
         init proc INITPROC2()
            ? PROCNAME()
         proc __SetHelpK()
            ? PROCNAME()
         proc HELP()
This commit is contained in:
Przemyslaw Czerpak
2010-06-17 19:34:10 +00:00
parent a72a3ca377
commit 0448cbf646

View File

@@ -16,6 +16,38 @@
The license applies to all entries newer than 2009-04-28.
*/
2010-06-17 21:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/harbinit.prg
* harbour/src/vm/runner.c
* harbour/src/vm/hvm.c
! fixed the order in which HVM calls __SetHelpK() PRG function.
It should be called after all INIT proc and before main application
entry.
* removed __SetHelpK() from thread initialization code.
! fixed the order in which INIT procedures are executed in single
module - CA-Cl*pper calls INIT PROCEDUREs in the reverted order
(from last to first)
+ added support for undocumented Clipper extension: two execution
levels of INIT PROCEDUREs. When application starts CA-Cl*pper
executes INIT PROCEDUREs called CLIPINIT from all linked PRG
modules. Then it repeats this operation for all modules executing
all other PROCEDUREs.
Now Harbour and Clipper gives the same results for this code:
proc main()
? PROCNAME()
proc errorsys()
? PROCNAME()
init proc INITPROC1()
? PROCNAME()
init proc clipinit()
? PROCNAME()
init proc INITPROC2()
? PROCNAME()
proc __SetHelpK()
? PROCNAME()
proc HELP()
2010-06-17 19:28 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
% Minor optimization for Windows platform