From 0448cbf646c3980d7df03dfe2b544c213ced8231 Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Thu, 17 Jun 2010 19:34:10 +0000 Subject: [PATCH] 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() --- harbour/ChangeLog | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 09059c81f8..352a797861 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -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