From: Dirk B. <db...@us...> - 2006-02-26 08:15:44
|
Update of /cvsroot/win32forth/win32forth/src/console In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13007/src/console Modified Files: LINEEDIT.F Log Message: Changed the lineeditor of the console window not to scroll outside the range of currently used lines within the line editor buffer. Index: LINEEDIT.F =================================================================== RCS file: /cvsroot/win32forth/win32forth/src/console/LINEEDIT.F,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** LINEEDIT.F 30 Aug 2005 14:08:15 -0000 1.5 --- LINEEDIT.F 26 Feb 2006 08:15:40 -0000 1.6 *************** *** 119,123 **** : lcalcy ( -- y ) \ calculate cursor y positon ! editpos COLS / ledit-y - getrowoff 0= if 1- then ; --- 119,123 ---- : lcalcy ( -- y ) \ calculate cursor y positon ! editpos COLS / ledit-y - getrowoff 0= if 1- then ; *************** *** 381,384 **** --- 381,388 ---- INTERNAL + \ --------------------------------------------------------------------------- + \ Line editor version of ACCEPT + \ --------------------------------------------------------------------------- + MAXSTRING constant b/accept \ each commandline is MAXSTRING bytes 31 constant n/accept \ save 31 previous command lines *************** *** 401,424 **** : prev-accept-buf" ( -- a1 n1 ) prev-accept-buf accept# b/accept * + count ; : accept-lup ( -- ) ! false to accepted? ! -1 +accept# ! prev-accept-buf" editbuf place ! editbuf c@ to editpos ; : accept-ldown ( -- ) ! accepted? 0= ! if 1 +accept# ! then false to accepted? ! prev-accept-buf" editbuf place ! editbuf c@ to editpos ; ! : __laccept ( a1 n1 -- ) 0 ED_READY editor-message \ notify editor we are ready ['] accept-lup is _le-up ['] accept-ldown is _le-down ! laccept-buf c@ \ backup current line if laccept-buf count prev-accept-buf accept# b/accept * + place --- 405,447 ---- : prev-accept-buf" ( -- a1 n1 ) + \ Get the current line from the line editor buffer. prev-accept-buf accept# b/accept * + count ; + : accept-lup? ( -- f ) + \ Returns true if it's ok to move one line up in the line editor buffer. + accept# 0> ; + : accept-lup ( -- ) ! \ Move one line up in the line editor buffer. ! accept-lup? ! if false to accepted? ! -1 +accept# ! prev-accept-buf" editbuf place ! editbuf c@ to editpos ! else beep ! then ; ! ! : accept-ldown? ( -- f ) ! \ Returns true if it's ok to move one line down in the line editor buffer. ! 1 +accept# prev-accept-buf" nip 0> -1 +accept# ! ; : accept-ldown ( -- ) ! \ Move one line down in the line editor buffer. ! accept-ldown? ! if accepted? 0= ! if 1 +accept# ! then false to accepted? ! prev-accept-buf" editbuf place ! editbuf c@ to editpos ! else beep ! then ; ! : __laccept ( a1 n1 -- n2 ) 0 ED_READY editor-message \ notify editor we are ready ['] accept-lup is _le-up ['] accept-ldown is _le-down ! ! laccept-buf c@ \ backup current line if laccept-buf count prev-accept-buf accept# b/accept * + place *************** *** 437,441 **** laccept-buf c@ ; ! : _laccept ( a1 n1 -- n2 ) \ line editor version of accept defer@ _le-up >r defer@ _le-down >r --- 460,464 ---- laccept-buf c@ ; ! : _laccept ( a1 n1 -- n2 ) \ line editor version of ACCEPT defer@ _le-up >r defer@ _le-down >r |