On Mon, 02 Jun 2008, Szakáts Viktor wrote:

Hi Viktor,

> It's not possible to make a perfect decision here,
> unless investing extreme energy (like those flags)
> to keep bug compatibility, not to mention what an
> ugly inconsistency this is. My personal opinion in this
> case is to fix this Clipper bug in Harbour, and make it
> available using a switch for those few ppl who are relying
> on them and haven't yet corrected their code. I suspect
> there is not too many such ppl, and even most of this
> code is probably macro compiled.

I do not like Clipper behavior. For me it's a bug which may
confuse users, f.e. try this code with Clipper:

   ? CHR( 256 ) == CHR( 256 ), CHR( 256 ) == CHR( ( 256 ) )
   ? "" $ "", "" $ (""), ("") $ ""
   ? AT( "", "" ), AT( ( "" ), "" ), AT( "", ( "" ) )

> Question: Do we do all these optimization for macro
> code too, and do we have a way to disable it? Yes and
> yes is the answer AFAIK, so IMO we're covered.

Clipper does not make any optimizations for macro compiled
code so it gives correct results executing RT functions or
evaluating PCODE. We are making the optimizations but for
macro compiler Harbour calculates correct results so there
is not problem here.

> I'd plug these just to not forget about them, but these
> will need new pcodes, so it's a slightly different story:
> - HB_P_PUSHNIL + HB_P_RETVALUE would become: HB_P_RETNIL
> - HB_P_FALSE + HB_P_RETVALUE would become: HB_P_RETFALSE
> - HB_P_TRUE + HB_P_RETVALUE would become: HB_P_RETTRUE
> - SUBSTR(s,n,1) -> HB_P_SUBSTR1 (or whatever name)
> - ASC(SUBSTR(s,n,1)) -> HB_P_SUBSTR1ASC (or whatever name)

These I'll add after 1.0. Now I do not want to touch PCODE table
as long as we will not find some serious bug which will force
such operation.

best regards,
Przemek
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to