From 0f89d7ef9a00e39eaade2e2f071b99f7ed568332 Mon Sep 17 00:00:00 2001 From: "David G. Holm" Date: Wed, 23 Feb 2000 19:03:23 +0000 Subject: [PATCH] See ChangeLog entry 2000-02-23 14:00 GMT-5 David G. Holm --- harbour/ChangeLog | 4 ++++ harbour/source/rtl/inkey.c | 11 +++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index f242dc5e4e..fe9d385905 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,7 @@ +2000-02-23 14:00 GMT-5 David G. Holm + * source/rtl/inkey.c + ! KEYBOARD ";" now returns INKEY() == 13, just like Clipper. + 20000223-18:36 GMT+1 Victor Szakats * source/rtl/tbrowse.prg ! Fixed return values of methods to be Clipper compatible. diff --git a/harbour/source/rtl/inkey.c b/harbour/source/rtl/inkey.c index 63ff5efd06..4ed9f73163 100644 --- a/harbour/source/rtl/inkey.c +++ b/harbour/source/rtl/inkey.c @@ -1041,7 +1041,8 @@ HARBOUR HB_INKEY( void ) * CLEAR TYPEAHEAD * $ARGUMENTS$ * is the optional string to stuff into the Harbour keyboard - * buffer after clearing it first. + * buffer after clearing it first. Note: The character ";" is converted + * to CHR(13) (this is an undocumented CA-Clipper feature). * $RETURNS$ * There is no return value * $DESCRIPTION$ @@ -1054,6 +1055,7 @@ HARBOUR HB_INKEY( void ) * CLEAR TYPEAHEAD * $TESTS$ * KEYBOARD CHR(13); ? INKEY() ==> 13 + * KEYBOARD ";" ? INKEY() ==> 13 * KEYBOARD "HELLO"; CLEAR TYPEAHEAD; ? INKEY() ==> 0 * $STATUS$ * R @@ -1076,6 +1078,7 @@ HARBOUR HB___KEYBOARD( void ) if( size != 0 ) { /* Stuff the string */ + int ch; BYTE * fPtr = ( BYTE * ) hb_parc( 1 ); if( size >= hb_set.HB_SET_TYPEAHEAD ) @@ -1086,7 +1089,11 @@ HARBOUR HB___KEYBOARD( void ) } while( size-- ) - hb_inkeyPut( *fPtr++ ); + { + ch = *fPtr++; + if( ch == 59 ) ch = 13; /* Convert ";" to CR, like Clipper does */ + hb_inkeyPut( ch ); + } } } }