.úø( Finnigann said this to -oblivious- )øú.
 re:hangup problems in the command shell...
Dunno if this being too snotty... but could we see the code?
James King, Coldwater, Mi     And that's JIM to you guys!
no, not snotty at all... well....hm....
the current version i have is ripped off of one of the included
cmd shells, with a few additions.
uh...this is pretty messy.. be carefull for what you wish for:
sorry this is SO BIG!!
 here it goes, i'd appreciate any help!
# DEFAULT.SRC
:top
!include sbbsdefs.inc
# Set return point for main menu commands (via end_cmd)
cmd_home
# Display TEXT\MENU\MAIN.* if not in expert mode
:main
compare_user_misc UM_EXPERT
if_false
	cls
        menu eob\MAIN
	end_if
# Update node status
node_action node_main
async
inc_main_cmds
# Display main Prompt
exec_bin "rumors"              
crlf
print "\r|15M|07ain |15M|07enu |14[|04@TLEFT@|14]:"
#compare_ars exempt T
#if_true
#        print "@TUSED@"
#else
#        print "@TLEFT@"
#        end_if
#print " [@GN@] @GRP@ [@SN@] @SUB@: "
# Get key (with / extended commands allowed)
compare_user_misc UM_COLDKEYS
if_false
	getkeye
else
	getstrupr 60
	endif
compare_ars RIP
if_true
	getlines
	end_if
# Do nothing for control keys and space
cmdkey ^@
	end_cmd
cmdkey ^M
	end_cmd
cmdkey ^S
	end_cmd
 cmdkey  "
	end_cmd
# Write command to log file
logkey_comma
# Hitting number changes current sub-board
cmdkey digit
	compare_user_misc UM_COLDKEYS
	if_false
		ungetkey
		end_if
	msg_get_sub_num
	end_cmd
# Hitting /number changes current group
cmdkey edigit
	compare_user_misc UM_COLDKEYS
	if_false
		ungetkey
	else
		shift_str 1
		end_if
	msg_get_grp_num
	end_cmd
# Show the key hit
compare_user_misc UM_COLDKEYS
if_false
	printkey
	endif
# Next sub-board
cmdkey }
	msg_subboard_up
	end_cmd
# Previous sub-board
cmdkey {
	msg_subboard_down
	end_cmd
# Next group
cmdkey ]
	msg_group_up
	end_cmd
# Previous group
cmdkey [
	msg_group_down
	end_cmd
# String commands start with a semicolon
cmdkey ;
	compare_user_misc UM_COLDKEYS
	if_true
		shift_str 1
	else
		getstrupr 40
		end_if
	exec_bin str_cmds
	end_cmd
# Sysop Menu
#cmdkey /!
#compare_ars SYSOP or EXEMPT Q or I or N
#if_true
#exec_XTRN "DOSSHELL"
#end_cmd
#        end_if
cmdkey /Q
	msg_qwk
	end_cmd
cmdkey N
	setstr "1"
	mail_send_feedback
	end_cmd
cmdkey _
exec_bin "bullseye"
end_cmd
cmdkey /O
exec_xtrn "wall"
end_cmd
cmdkey .
 printfile "c:\sbbs\text\morecmds.ans"
 end_cmd
cmdkey /?
 exec_bin "help"
end_cmd
cmdkey /@
        SETSTR "rasta"
        PAGE_GURU "rasta"
end_cmd
CMDKEY /X
EXEC_XTRN "SYNCREG"
END_CMD
cmdkey F
	chkfile "..\text\menu\tmessage.*"
	if_true
		menu tmessage
		end_if
        call file_transfers
        end_cmd
compare_user_misc UM_COLDKEYS
if_false
	crlf
	end_if
pause_reset
# Menu
cmdkey ?
	compare_user_misc UM_expert
	if_true
		menu main
		end_if
	end_cmd
# Sysop Menu
compare_ars SYSOP or EXEMPT Q or I or N
if_true
	cmdkey !
		menu sysmain
		end_cmd
	end_if
# Commands
cmdkey O
	xtrn_section
	end_cmd
cmdkey A
        cls
        PRINTFILE "C:\SBBS\TEXT\AUTOMSG.ANS"
        auto_message
	end_cmd
cmdkey /R
       # print "\r\nBrowse/New Message Scan\r\n"
       # msg_browse_scan
exec_xtrn "rumors"
        end_cmd
cmdkey B
       # print "\r\nBrowse/New Message Scan\r\n"
       # msg_browse_scan
exec_xtrn "sbl"
        end_cmd
cmdkey /W
printfile "C:\SBBS\TEXT\WATCH.ANS"
end_cmd
cmdkey C
	chat_section
	end_cmd
cmdkey P
	user_defaults
	end_cmd
CMDKEY Y
PRINTFILE "C:\SBBS\TEXT\USERINFO.ANS"
END_CMD
cmdkey E
	call E-mail
	end_cmd
#cmdkey F
#        print "\r\nFind Text in Messages\r\n"
#        msg_find_text
#        end_cmd
cmdkey /S
exec "*shit"
	end_cmd
cmdkey F
	msg_find_text_all
	end_cmd
cmdkey G
	text_file_section
	end_cmd
cmdkey I
	call main_info
	end_cmd
cmdkey J
	msg_select_area
	end_cmd
#our dosshell
cmdkey /!
exec_xtrn "dosshell"
end_cmd
cmdkey /L
	nodelist_all
	end_cmd
cmdkey $
        minute_bank
        end_cmd
cmdkey M
        cmd_pop
        goto message
	end_cmd
cmdkey N
	print "\r\nNew Message Scan\r\n"
	msg_new_scan
	end_cmd
cmdkey /N
	msg_new_scan_all
	end_cmd
cmdkey G
	file_download_batch
	if_true
		end_cmd
                end_if
	logoff
	end_cmd
cmdkey /G
	file_download_batch
	if_true
		end_cmd
                end_if
	logoff_fast
	end_cmd
#cmdkey P
#        msg_post
#        end_cmd
cmdkey /Q
	msg_qwk
	end_cmd
cmdkey R
        msg_read
	end_cmd
cmdkey S
	print "\r\nScan for Messages Posted to You\r\n"
	msg_your_scan
	end_cmd
cmdkey /S
	msg_your_scan_all
	end_cmd
cmdkey U
        #print "\r\nList Users\r\n"
        #mnemonics "\r\n~Logons Today, ~Sub-board, or ~All: "
        #getcmd LSA\r
        #
        #cmdkey L
        #        userlist_logons
        #        end_cmd
        #cmdkey S
        #        userlist_sub
        #        end_cmd
        #cmdkey A
		userlist_all
		end_cmd
	# fall-through for CR, Ctrl-C, etc
	end_cmd
cmdkey /U
	userlist_all
	end_cmd
cmdkey Z
	print "\r\nContinuous New Message Scan\r\n"
	msg_cont_scan
	end_cmd
cmdkey /Z
	msg_cont_scan_all
	end_cmd
cmdkey *
	msg_show_subboards
	end_cmd
cmdkey /*
	msg_show_groups
	end_cmd
cmdkey /P
        goto main_cfg
	end_cmd
cmdkey #
	print "\r\nType the actual number, not the symbol.\r\n"
	end_cmd
cmdkey /#
	print "\r\nType the actual number, not the symbol.\r\n"
        end_cmd
# fall through
print "\r\nUnrecognized command."
compare_user_misc UM_expert
if_true
	print " Hit '?' for a menu."
	end_if
crlf
end_cmd
# shouldn't hit next line
print "Problem in command shell you should probably log of and call back." pause
goto main
###################################### message area ####################### :message
cmd_home
compare_ars expert
if_false
	cls
        menu EOB\MESSAGE
	end_if
# Update node status
node_action node_main
async
# Display main Prompt
print "|08[|14@GRP@|07]|08Ä|07(|11@SN@|07)|08-|08[|14@SUB@|07]\r\n" #compare_ars exempt T
#if_true
#        print "Time Used: [@TUSED@]  "
#else
	print "Time Left: [@TLEFT@]  "
	end_if
#print "(?=Help)\r\nMessage Menu : "
# Get key (with / extended commands allowed)
compare_user_misc UM_COLDKEYS
if_false
	getkeye
else
	getstrupr 60
        endif
# Do nothing for control keys and space
cmdkey ^@
	end_cmd
cmdkey ^M
	end_cmd
cmdkey ^S
	end_cmd
 cmdkey  "
	end_cmd
# Write command to log file
logkey_comma
# Hitting number changes current sub-board
cmdkey digit
	compare_user_misc UM_COLDKEYS
	if_false
		ungetkey
                end_if
	msg_get_sub_num
	end_cmd
# Hitting /number changes current group
cmdkey edigit
	compare_user_misc UM_COLDKEYS
	if_false
		ungetkey
	else
		shift_str 1
                end_if
	msg_get_grp_num
        end_cmd
# Show the key hit
compare_user_misc UM_COLDKEYS
if_false
	printkey
        endif
cmdkey ?
        compare_ars expert
        if_true
		cls
                menu EOB\MESSAGE
                end_if
        end_cmd
cmdkey Q
	cmd_pop
        goto main
        end_cmd
cmdkey [
	msg_subboard_down
	end_cmd
cmdkey ]
	msg_subboard_up
	end_cmd
compare_user_misc UM_COLDKEYS
if_false
	crlf
	end_if
pause_reset
cmdkey A
	msg_show_subboards
	end_cmd
cmdkey /A
	msg_show_groups
	end_cmd
cmdkey C
	chat_section
	end_cmd
cmdkey /L
	nodelist_all
	end_cmd
cmdkey N
	msg_new_scan
	end_cmd
cmdkey R
	msg_read
	end_cmd
cmdkey P
        msg_post
        end_cmd
cmdkey F
	cmd_pop
	goto file_transfers
	end_cmd
cmdkey S
	print "\r\nSearch for Text in Messages\r\n"
	msg_find_text
        end_cmd
cmdkey U
	userlist_sub
	end_cmd
cmdkey G
	file_download_batch
	if_true
		end_cmd
                end_if
	logoff
	end_cmd
cmdkey /G
	file_download_batch
	if_true
		end_cmd
                end_if
	logoff_fast
        end_cmd
cmdkey E
	print "\r\nE-mail (User name or number): "
	getname 25
	compare_str ""
	if_true
		end_cmd
		end_if
	compare_str "SYSOP"
	if_true
		setstr "1"
		end_if
	mail_send
        end_cmd
cmdkey J
	msg_select_area
        end_cmd
cmdkey Y
	msg_your_scan_all
	end_cmd
cmdkey P
        msg_post
	end_cmd
cmdkey #
	print "\r\nEnter the number of the sub-board to change to.\r\n"
	end_cmd
cmdkey /#
	print "\r\nEnter the number of the message group to change to.\r\n"
        end_cmd
# fall through
print "\r\nUnrecognized command."
compare_ars expert
if_true
	print " Hit '?' for a menu."
	end_if
crlf
end_cmd
############################### E-mail Section ################################
:e-mail
cmd_home
compare_user_misc UM_expert
if_false
	menu E-MAIL
	end_if
async
print "\r\nE-mail: "
getcmd ?SRFNUKQ\r
logkey
cmdkey ?
	compare_user_misc UM_expert
	if_true
		menu E-MAIL
		end_if
	end_cmd
cmdkey S
	print "\r\nE-mail (User name or number): "
	getname 25
	compare_str ""
	if_true
		end_cmd
		end_if
	compare_str "SYSOP"
	if_true
		setstr "1"
		end_if
	mail_send
	end_cmd
cmdkey U
	print "\r\nE-mail (User name or number): "
	getname 25
	compare_str ""
	if_true
		end_cmd
		end_if
	compare_str "SYSOP"
	if_true
		setstr "1"
		end_if
	mail_send_file
        end_cmd
cmdkey R
	mail_read
	end_cmd
cmdkey F
	setstr "1"
	mail_send_feedback
	end_cmd
cmdkey N
	no_yes "\r\nAttach a file"
	if_true
		mail_send_netmail
	else	
		mail_send_netfile
		end_if
	end_cmd
cmdkey K
	mail_read_sent
	end_cmd
cmdkey Q
	cmd_pop
	return
	end_cmd
cmd_pop
return
############################ Main Info Section	###############################
:main_info
cmd_home
compare_user_misc UM_expert
if_false
	menu MAININFO
	end_if
async
print "\r\nInfo: "
getcmd ?QISVY\r
logkey
cmdkey ?
	compare_user_misc UM_expert
	if_true
		menu MAININFO
		end_if
	end_cmd
cmdkey I
	info_system
	end_cmd
cmdkey S
	info_subboard
	end_cmd
cmdkey Y
	info_user
	end_cmd
cmdkey V
	info_version
	end_cmd
cmdkey Q
	cmd_pop
	return
	end_cmd
cmd_pop
return
########################### Main Config Section  ##############################
:main_cfg
compare_user_misc UM_expert
if_false
	menu MAINCFG
	end_if
async
print "\r\nConfig: "
getcmd ?QNPIS\r
logkey
cmdkey ?
	compare_user_misc UM_expert
	if_true
		menu MAINCFG
		end_if
	goto main_cfg
	end_cmd
cmdkey N
	msg_new_scan_cfg
	return
	end_cmd
cmdkey S
	msg_your_scan_cfg
	return
	end_cmd
cmdkey P
#        msg_ptrs_cfg
        msg_post
	return
	end_cmd
cmdkey I
	msg_ptrs_reinit
	return
	end_cmd
return
########################### File Transfer Section #############################
:file_transfers
compare_ars file_cmds=0
if_true
	compare_user_misc UM_ask_nscan
	if_true
		yes_no "\r\n\r\nSearch all libraries for new files"
		if_true
			file_new_scan_all
			end_if
		end_if
	end_if
cmd_home
compare_user_misc UM_expert
if_false
	cls
        menu eob\TRANSFER
	end_if
# Update node status
node_action node_xfer
async
inc_file_cmds
# Display main Prompt
print "\r\nþ File þ "
#compare_ars exempt T
#if_true
#        print "@TUSED@"
#else
#        print "@TLEFT@"
#        end_if
print " (@LN@) @LIB@ (@DN@) @DIR@: "
# Get key (with / extended commands allowed)
compare_user_misc UM_COLDKEYS
if_false
	getkeye
else
	getstrupr 60
        endif
compare_ars RIP
if_true
	getlines
	end_if
# Do nothing for control keys and space
cmdkey ^@
	end_cmd
cmdkey ^M
	end_cmd
cmdkey ^S
	end_cmd
 cmdkey  "
	end_cmd
# Write command to log file
logkey_comma
# Hitting number changes current sub-board
cmdkey digit
	compare_user_misc UM_COLDKEYS
	if_false
		ungetkey
                end_if
	file_get_dir_num
	end_cmd
# Hitting /number changes current group
cmdkey edigit
	compare_user_misc UM_COLDKEYS
	if_false
		ungetkey
	else
		shift_str 1
                end_if
	file_get_lib_num
	end_cmd
# Show the key hit
compare_user_misc UM_COLDKEYS
if_false
	printkey
        endif
# Next directory
cmdkey >
	file_directory_up
	end_cmd
cmdkey ]
	file_directory_up
	end_cmd
cmdkey +
	file_directory_up
	end_cmd
cmdkey =
	file_directory_up
	end_cmd
# Previous directory
cmdkey <
	file_directory_down
	end_cmd
cmdkey [
	file_directory_down
	end_cmd
cmdkey -
	file_directory_down
	end_cmd
# Next library
cmdkey }
	file_library_up
	end_cmd
# Previous library
cmdkey {
	file_library_down
	end_cmd
# String commands start with a semicolon
cmdkey ;
	compare_user_misc UM_COLDKEYS
	if_true
		shift_str 1
	else
                getstrupr 40
		end_if
	exec_bin str_cmds
	end_cmd
cmdkey Q
        cmd_pop
        return
        end_cmd
cmdkey /!
print "executing uploads.bat externally"
exec "start /m c:\sbbs\exec\upload.bat"
end_cmd
compare_user_misc UM_COLDKEYS
if_false
	crlf
	end_if
pause_reset
# Menu
cmdkey ?
	compare_user_misc UM_expert
	if_true
		menu TRANSFER
		end_if
	end_cmd
# Sysop Menu
compare_ars SYSOP
if_true
	cmdkey !
		menu sysxfer
		end_cmd
	end_if
# Commands
cmdkey B
	file_batch_section
	end_cmd
cmdkey C
	chat_section
	end_cmd
cmdkey D
	print "\r\nDownload File(s)\r\n"
	file_download_batch
	if_true
		end_cmd
		end_if
	getfilespec
	if_true
		file_download
		end_if
	end_cmd
cmdkey /D
	print "\r\nDownload File(s) from User(s)\r\n"
	file_download_user
	end_cmd
cmdkey E
	print "\r\nList Extended File Information\r\n"
	getfilespec
	if_true
		file_list_extended
		end_if
	end_cmd
#cmdkey F
#        print "\r\nFind Text in File Descriptions (no wildcards)\r\n"
#        file_find_text
#        end_cmd
cmdkey F
	file_find_text_all
        end_cmd
cmdkey I
	call file_info
	end_cmd
cmdkey J
	file_select_area
	end_cmd
cmdkey L
	setstr *.*
	file_list
	end_cmd
cmdkey /L
	nodelist_all
	end_cmd
cmdkey N
	print "\r\nNew File Scan\r\n"
	file_new_scan_all
        #file_new_scan
	end_cmd
cmdkey /N
	file_new_scan_all
	end_cmd
cmdkey G
	file_download_batch
	if_true
		end_cmd
                end_if
	logoff
	end_cmd
cmdkey /G
	file_download_batch
	if_true
		end_cmd
                end_if
	logoff_fast
        end_cmd
cmdkey R
	print "\r\nRemove/Edit File(s)\r\n"
	getfilespec
	if_true
		file_remove
		end_if
	end_cmd
cmdkey S
	print "\r\nSearch for Filename(s)\r\n"
	file_find_name
	end_cmd
cmdkey /S
	file_find_name_all
	end_cmd
cmdkey T
	file_temp_section
	end_cmd
cmdkey U
	print "\r\nUpload File\r\n"
	chkfile "..\text\menu\upload.*"
	if_true
		menu upload
		end_if
	file_upload
	end_cmd
cmdkey /U
	print "\r\nUpload File to User\r\n"
	file_upload_user
	end_cmd
cmdkey V
	print "\r\nView File(s)\r\n"
	getfilespec
	if_true
		file_view
		end_if
	end_cmd
cmdkey Z
	print "\r\nUpload File to Sysop\r\n"
	file_upload_sysop
	end_cmd
cmdkey *
	file_show_directories
	end_cmd
cmdkey /*
	file_show_libraries
	end_cmd
cmdkey &
	:xfercfg
	compare_user_misc UM_expert
	if_false
		menu XFERCFG
		end_if
	async
	print "\r\nConfig: "
	getcmd ?QBEP\r
	logkey
	cmdkey ?
		compare_user_misc UM_expert
		if_true
			menu XFERCFG
			end_if
		goto xfercfg
		end_cmd
	cmdkey P
		file_ptrs_cfg
		end_cmd
	cmdkey B
		toggle_user_misc UM_BATCHFLAG
		end_cmd
	cmdkey E
		toggle_user_misc UM_EXTDESC
                end_cmd
	end_cmd
cmdkey #
	print "\r\nType the actual number, not the symbol.\r\n"
	end_cmd
cmdkey /#
	print "\r\nType the actual number, not the symbol.\r\n"
        end_cmd
# fall through
print "\r\nUnrecognized command."
compare_user_misc UM_expert
if_true
	print " Hit '?' for a menu."
	end_if
crlf
end_cmd
# shouldn't hit next line
print "Problem in command shell you should probably hang up and call back." pause
goto main
############################ File Info Section	###############################
:file_info
cmd_home
compare_user_misc UM_expert
if_false
	menu XFERINFO
	end_if
async
print "\r\nInfo: "
getcmd ?TYDUQ\r
logkey
cmdkey ?
	compare_user_misc UM_expert
	if_true
		menu XFERINFO
		end_if
	end_cmd
cmdkey T
	info_xfer_policy
	end_cmd
cmdkey Y
	info_user
	end_cmd
cmdkey D
	info_directory
	end_cmd
cmdkey U
	userlist_dir
	end_cmd
cmdkey Q
	cmd_pop
	return
	end_cmd
cmd_pop
return
#end of DEFAULT.SRC
.Ä.¿Ä¿Â .Â.  Â.Â..Ä.Ú ¿.-.
³ :³Ä::  : :  ³ : ³ :³ ³À-.
`Ä'³_³ÁÙúÁú`\/'úÁú`Ä':_:`Ä'
+o edge of oblivion bbs
telnet://eob_bbs.thebbs.org
... 42? 7 and a half million years and all you can come up with is 42?!
--- MultiMail/MS-DOS v0.35
 þ Synchronet þ ...edge of oblivion eob_bbs.thebbs.org