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
|