home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
OSK
/
CMDS
/
memacs400_cmds.lzh
/
MEMACS400
/
CMD
/
shell.cmd
< prev
next >
Wrap
OS/2 REXX Batch file
|
1996-04-25
|
2KB
|
129 lines
; Shell.cmd: MSDOS shell within MicroEMACS
; written 1987 by Daniel Lawrence
write-message "[Setting up SHELL window]"
store-procedure getdir
shell-command "cd > eshell"
set %shtmp $cbufname
!force delete-buffer eshell
find-file eshell
beginning-of-file
set %shdir $line
select-buffer %shtmp
delete-buffer eshell
!endm
store-procedure prompt
!if ¬ &equ $curcol 0
newline
!endif
!if ¬ &seq $line ""
open-line
!endif
insert-string &cat %shdir ">"
!endm
store-procedure getline
beginning-of-line
set %shtmp $curline
!force search-forward ">"
!if ¬ &equ $curline %shtmp
set $curline %shtmp
!endif
!if &equ $curchar 10
set %shline ""
!else
kill-to-end-of-line
yank
set %shline $kill
!endif
newline
!endm
store-procedure execline
shell-command &cat %shline " > shtmp"
!force insert-file shtmp
!endm
; prompt and execute a command
store-procedure do-command
run getline
!if ¬ &seq %shline ""
!if &or &seq &left %shline 2 "cd" &seq &right %shline 1 ":"
shell-command %shline
run getdir
!else
run execline
!endif
!endif
run prompt
!endm
store-procedure checkmode
!if &and %shmode ¬ &seq $cbufname "[I-SHELL]"
set $discmd FALSE
bind-to-key newline ^M
add-mode blue
add-mode WHITE
write-message "[Exiting Shell window]"
set %shmode FALSE
set $discmd TRUE
!endif
!if &and ¬ %shmode &seq $cbufname "[I-SHELL]"
set $discmd FALSE
write-message "[Entering Shell window]"
macro-to-key do-command ^M
run getdir
add-mode black
add-mode GREEN
end-of-file
run prompt
set %shmode TRUE
set $discmd TRUE
!endif
!endm
; window movement (and deactivate us)
store-procedure do-next-window
next-window
run checkmode
!endm
store-procedure do-previous-window
previous-window
run checkmode
!endm
store-procedure do-delete-window
delete-window
run checkmode
!endm
store-procedure do-find-file
find-file @"Find file:"
run checkmode
!endm
store-procedure do-next-buffer
next-buffer
run checkmode
!endm
store-procedure openshell
set $discmd FALSE
macro-to-key do-next-window ^XO
macro-to-key do-previous-window ^XP
macro-to-key do-previous-window ^X0
macro-to-key do-find-file ^X^F
macro-to-key do-next-buffer ^XX
select-buffer "[I-SHELL]"
run checkmode
set $discmd TRUE
!endm
set %shmode FALSE
run openshell