Update of /cvsroot/win32forth/win32forth/src/console
In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv22342
Modified Files:
CommandWindow.f NewConsole.f
Log Message:
Rod: paste-load now pastes and executes all lines from the clipboard
Index: NewConsole.f
===================================================================
RCS file: /cvsroot/win32forth/win32forth/src/console/NewConsole.f,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** NewConsole.f 13 Aug 2008 17:00:09 -0000 1.16
--- NewConsole.f 15 Aug 2008 11:29:03 -0000 1.17
***************
*** 269,272 ****
--- 269,273 ----
: c_key? ( -- f )
+ cmd.ClipboardHandle IF false exit THEN \ seem to need to disable key? during paste
KeysOff: cmd
\ PauseForMessage
Index: CommandWindow.f
===================================================================
RCS file: /cvsroot/win32forth/win32forth/src/console/CommandWindow.f,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** CommandWindow.f 14 Aug 2008 22:12:45 -0000 1.12
--- CommandWindow.f 15 Aug 2008 11:29:03 -0000 1.13
***************
*** 947,954 ****
;M
! :M Paste: ( -- ) \ paste only the first line (less CR) in commandline
CF_TEXT call IsClipboardFormatAvailable
IF
hWnd call OpenClipboard drop
CF_TEXT call GetClipboardData
dup call GlobalLock zcount
--- 947,994 ----
;M
! int ClipboardHandle
! int ClipboardAddress
! int ClipboardCount
!
! : OpenClipboard ( -- )
CF_TEXT call IsClipboardFormatAvailable
IF
hWnd call OpenClipboard drop
+ CF_TEXT call GetClipboardData dup to ClipboardHandle
+ call GlobalLock zcount to ClipboardCount to ClipboardAddress
+ THEN
+ ;
+
+ : CloseClipboard ( -- )
+ ClipboardHandle call GlobalUnlock drop
+ call CloseClipboard drop
+ 0 to ClipboardHandle
+ ;
+
+ :M EmptyClipboard: ( -- ) hWnd call OpenClipboard drop call EmptyClipboard drop call CloseClipboard drop ;M
+
+ :M Paste: ( -- ) \ paste (and execute) all text in the clipboard to the commandline
+ ClipboardHandle 0= IF OpenClipboard ClipboardHandle 0= IF beep exitm THEN THEN
+ ClipboardAddress ClipboardCount 2dup 2dup 13 scan nip dup>r - dup>r \ next line without CRLF
+ pad place pad +null pad 1+ InsertTextOnCommandLine: self r> r> \ chars inserted, chars remaining
+ IF
+ /string 13 skip 10 skip to ClipboardCount to ClipboardAddress \ lines remaining
+ EndPrompt: self
+ ClipboardCount
+ IF 'V' +k_control PutKey: self \ repeat Paste:
+ ELSE CloseClipboard
+ THEN
+ ELSE
+ 3drop
+ 0 to ClipboardCount
+ CloseClipboard
+ THEN
+ true to editing
+ ;M
+
+ :M PasteFirstLine: ( -- ) \ paste only the first line (less CR) to the commandline
+ CF_TEXT call IsClipboardFormatAvailable
+ IF
+ hWnd call OpenClipboard drop
CF_TEXT call GetClipboardData
dup call GlobalLock zcount
|