MODULE NEWSCMD !++ ! FACILITY: ! ! NEWSCMD ! ! ABSTRACT ! ! Command definition for NEWS ! ! AUTHOR: ! ! Geoff Huston ! ! COPYRIGHT: ! ! Copyright © 1988 ! ! MODIFICATION HISTORY: ! ! V5.5 7-Oct-1988 GIH ! Add SET DISPLAY, MODIFY KILL ! ! V5.6 11-Nov-1988 GIH ! Additional commands added !-- ! ! type definitions ! define type ADD_OPTIONS keyword BATCH, syntax=ADD_BATCH keyword ENTRY, syntax=ADD_ENTRY keyword FILE syntax=ADD_BATCH keyword KEYWORD, syntax=ADD_KEYWORD keyword MARKER syntax=ADD_MARKER keyword MEMBER syntax=ADD_MEMBER define type BACK_OPTIONS keyword NOTE, syntax=BACK_NOTE keyword REPLY, syntax=BACK_REPLY,default keyword TOPIC, syntax=BACK_TOPIC define type CLEAR_OPTIONS keyword MARK syntax=CLEAR_MARK keyword KILL syntax=CLEAR_KILL define type CREATE_OPTIONS keyword CONFERENCE, syntax=CREATE_CONFERENCE keyword KEYWORD, syntax=CREATE_KEYWORD keyword NEWSGROUPS syntax=CREATE_NEWSGROUP keyword GROUPS syntax=CREATE_NEWSGROUP define type DELETE_OPTIONS keyword ENTRY syntax=DELETE_ENTRY keyword KEYWORD syntax=DELETE_KEYWORD keyword GROUPS syntax=DELETE_GROUP keyword ITEMS syntax=DELETE_ITEM keyword NEWSGROUPS syntax=DELETE_GROUP keyword NEWSITEMS syntax=DELETE_ITEM keyword NOTE syntax=DELETE_ITEM keyword MARKER syntax=DELETE_MARKER keyword MEMBER syntax=DELETE_MEMBER define type DIR_TYPE keyword UNSEEN default keyword DIRECTORY define type PRINT_DIRTYPE keyword NEWSGROUPS keyword GROUPS keyword NEWSITEMS keyword ITEMS keyword NOTES define type EXECUTE_OPTIONS keyword DELETE keyword LOCAL keyword RETAIN define type MODIFY_OPTIONS keyword KILL syntax=MOD_KILL keyword ENTRY syntax=MOD_ENTRY keyword KEYWORD syntax=MOD_KEYWORD keyword MEMBER syntax=MOD_MEMBER define type NEXT_OPTIONS keyword NOTE, syntax=NEXT_NOTE keyword REPLY, syntax=NEXT_REPLY,default keyword TOPIC, syntax=NEXT_TOPIC keyword UNSEEN, syntax=NEXT_UNSEEN define type PRINT_BFT keyword ALL default keyword ONE define type PRIVS keyword MODERATE keyword CREATE_KEYWORDS keyword WRITE keyword NOWRITE define type RESTRCT keyword MEMBERS keyword KEYWORDS define type SET_OPTIONS keyword BROADCAST_TRAPPING syntax=SET_BROAD keyword NOBROADCAST_TRAPPING syntax=SET_NOBROAD keyword LINE_EDITING syntax=SET_LINE keyword NOLINE_EDITING syntax=SET_NOLINE keyword NEWSGROUP syntax=SET_NEWSGROUP keyword ITEM syntax=SET_ITEM keyword DISPLAY syntax=SET_DISPLAY keyword SEEN syntax=SET_SEEN keyword ACCESS syntax=SET_ACCESS keyword CLASS syntax=SET_CLASS keyword CONFERENCE, syntax=SET_CONF keyword MODERATOR, syntax=SET_MODERATOR keyword NOMODERATOR, syntax=SET_NOMODERATOR keyword NOTE, syntax=SET_NOTE keyword PROFILE, syntax=SET_PROFILE define type SHOW_OPTIONS keyword NEWSGROUP syntax=SHOW_NEWSGROUP keyword ITEM syntax=SHOW_ITEM keyword MARKER syntax=SHOW_MARKS keyword KILL syntax=SHOW_KILL keyword CLASSES syntax=SHOW_CLASSES keyword CONFERENCES syntax=SHOW_CONF keyword ENTRY syntax=SHOW_ENTRY keyword KEYWORDS syntax=SHOW_KEYWORDS keyword MEMBER syntax=SHOW_MEMBER keyword MODERATOR syntax=SHOW_MODERATOR keyword NOTE syntax=SHOW_NOTE keyword PROFILE syntax=SHOW_PROFILE keyword VERSION syntax=SHOW_VERSION define type PROTOCOL_OPTIONS keyword DECNET keyword TCP keyword CMUTCP keyword WINTCP define type TYPE_OPTIONS keyword NEWS keyword MAIL keyword NOTES ! ! syntax definitions ! define syntax ADD_BATCH routine do_add_net parameter P1 label=OPTIONS, value(required) parameter P2, label=FILE,value(required,impcat,list,type=$infile) qualifier MODERATOR qualifier CREGRP placement=positional qualifier DELETE placement=positional qualifier RETRY placement=positional qualifier EXECUTE placement=positional,value(default="RETAIN",type=EXECUTE_OPTIONS) qualifier DEFNEWSGROUP placement=positional,value qualifier NETFEED placement=positional,default qualifier JUNK placement=positional,negatable qualifier ACCEPT placement=positional,negatable define syntax ADD_ENTRY routine do_error parameter P1, label=OPTIONS, value(required) parameter P2, label=ENTRY qualifier CLASSES, value(required,list) qualifier FILE, value(required) qualifier NAME, value(required) qualifier TYPE, value(default="NEWS",type=TYPE_OPTIONS) qualifier PROTOCOL, value(default="DECNET",type=PROTOCOL_OPTIONS) define syntax ADD_KEYWORD routine do_error parameter P1, label=OPTIONS, value(required) parameter P2, label=KEYWORDNAME, value(required) parameter P3 label=NOTEID define syntax ADD_MARKER routine do_mark parameter P1 label=OPTIONS, value(required) parameter P2, label=TAG, prompt="Mark", value(required) parameter P3, label=NOTEID define syntax ADD_MEMBER routine do_add_member parameter P1, label=OPTIONS, value(required) parameter P2, label=USERNAME, value(required) qualifier MAIL value(required) qualifier NODES value(required,list) qualifier PRIVILEGES, value(required,list,type=PRIVS) define syntax BACK_NOTE routine do_back_note parameter P1, label=OPTIONS qualifier HEADER, nonnegatable qualifier TPU, nonnegatable qualifier EDITOR, nonnegatable qualifier ROT13, nonnegatable define syntax BACK_REPLY routine do_back_reply parameter P1, label=OPTIONS qualifier HEADER, nonnegatable qualifier TPU, nonnegatable qualifier EDITOR, nonnegatable qualifier ROT13, nonnegatable define syntax BACK_TOPIC routine do_back_note parameter P1, label=OPTIONS qualifier HEADER, nonnegatable qualifier TPU, nonnegatable qualifier EDITOR, nonnegatable qualifier ROT13, nonnegatable define syntax CLEAR_MARK routine do_markclear parameter P1 label=OPTIONS, value(required) parameter P2 label=TAG define syntax CLEAR_KILL routine do_killclear parameter P1 label=OPTIONS, value(required) parameter P2 label=TAG define syntax CREATE_CONFERENCE routine do_error parameter P1, label=OPTIONS, value(required) qualifier RESTRICT, negatable,value(type=RESTRCT,default="KEYWORDS",list) define syntax CREATE_KEYWORD routine do_error parameter P1, label=OPTIONS, value(required) parameter P2, label=KEYWORDNAME,value(required) define syntax CREATE_NEWSGROUP routine do_cregrp parameter P1 label=OPTIONS, value(required) parameter P2, label=NEWSGROUPS,value(list) qualifier HOLD value(default= "0") qualifier ITEMHOLD value(default="0") qualifier MODERATOR value qualifier FILEHOLD value(default="2") qualifier SERVER value qualifier KEEPREQUEST negatable,default qualifier LOCAL qualifier PROTOCOL value(default="DECNET",type=PROTOCOL_OPTIONS) qualifier INQUIRE qualifier SINCE, nonnegatable,value(default="YESTERDAY",type=$datetime) qualifier RESTRICT, negatable,value(type=RESTRCT,default="KEYWORDS",list) define syntax DEFINE_KEY routine do_define parameter P1, prompt="Key name", value(required) parameter P2, prompt="Equivalence name", value(required) qualifier ECHO qualifier TERMINATE qualifier LOCK_STATE qualifier IF_STATE, value(required,list) qualifier SET_STATE, value(required) qualifier PROTECT disallow ((not LOCK_STATE and TERMINATE and SET_STATE) or (LOCK_STATE and not SET_STATE)) define syntax DELETE_ENTRY routine do_error parameter P1 label=OPTIONS, value(required) parameter P2, label=ENTRY qualifier CLASS, value(required) define syntax DELETE_KEYWORD routine do_error parameter P1 label=OPTIONS, value(required) parameter P2, label=KEYWORDNAME parameter P3, label=NOTEID qualifier ALL define syntax DELETE_GROUP routine do_dgroup parameter P1 label=OPTIONS, value(required) parameter P2, label=GROUP, value(list) qualifier CONFIRM negatable define syntax DELETE_ITEM routine do_ditem parameter P1 label=OPTIONS, value(required) parameter P2, label=ITEM, value(list) qualifier IDENTIFIER, value qualifier CONFIRM negatable disallow (ITEM and IDENTIFIER) define syntax DELETE_MARKER routine do_unmark parameter P1 label=OPTIONS, value(required) parameter P2, label=TAG, prompt="DELETE Mark", value(required) define syntax DELETE_MEMBER routine do_delete_member parameter P1 label=OPTIONS, value(required) parameter P2, label=USERNAME, prompt="DELETE Username", value(required) define syntax DIR_CONFERENCES routine do_error parameter P1, label=NODENAME define syntax DIR_ENTRIES routine do_error parameter P1, label=ENTRYNAME qualifier CLASS value(required) define syntax DIR_NOTEBOOK routine do_error parameter P1, label=ENTRYNAME qualifier CLASS, value(required) define syntax MOD_KILL routine do_killmod parameter P1 label=OPTIONS, value(required) parameter P2 label=TAG define syntax MOD_ENTRY routine do_error parameter P1 label=OPTIONS, value(required) parameter P2 label=ENTRYNAME, value(required) qualifier CLASSES, value(required,list) qualifier FILE, value(required) qualifier NAME, value(required) define syntax MOD_KEYWORD routine do_error parameter P1, label=OPTIONS, value(required) parameter P2, label=KEYWORD, value(required) qualifier NAME, value(required) define syntax MOD_MEMBER routine do_modify_member parameter P1, label=OPTIONS, value(required) parameter P2, label=USERNAME, value(required) qualifier MAIL value(required) qualifier NODES value(required,list) qualifier PRIVILEGES, value(required,list,type=PRIVS) qualifier NAME value(required) define syntax NEXT_NOTE routine do_error parameter P1, label=OPTIONS define syntax NEXT_REPLY routine do_error parameter P1, label=OPTIONS define syntax NEXT_TOPIC routine do_error parameter P1, label=OPTIONS define syntax NEXT_UNSEEN routine do_error parameter P1, label=OPTIONS define syntax SET_BROAD routine set_broad parameter P1 label=OPTIONS, value(required) define syntax SET_NOBROAD routine set_nobroad parameter P1 label=OPTIONS, value(required) define syntax SET_LINE routine set_line parameter P1 label=OPTIONS, value(required) define syntax SET_NOLINE routine set_noline parameter P1 label=OPTIONS, value(required) define syntax SET_CLASS routine do_error parameter P1 label=OPTIONS, value(required) parameter P2 label=CLASSNAME define syntax SET_CONF routine do_error parameter P1 label=OPTIONS, value(required) qualifier TITLE, nonnegatable, value(required) qualifier NOTICE, nonnegatable, value(required) qualifier RESTRICT, negatable, value(type=RESTRCT) qualifier WRITE, negatable define syntax SET_ITEM routine do_set_item parameter P1 label=OPTIONS, value(required) parameter P2 label=NEWSITEM qualifier HOLD value(default="0") define syntax SET_MODERATOR routine do_set_mod parameter P1 label=OPTIONS, value(required) define syntax SET_NOMODERATOR routine do_set_nomod parameter P1 label=OPTIONS, value(required) define syntax SET_NEWSGROUP routine do_set_newsgroup parameter P1 label=OPTIONS, value(required) parameter P2 label=GROUP qualifier HOLD value(default="0") qualifier ITEMHOLD value(default="0") qualifier MODERATOR value qualifier FILEHOLD value(default="2") qualifier SERVER value qualifier KEEPREQUEST negatable,default qualifier LOCAL qualifier PROTOCOL value(default="DECNET",type=PROTOCOL_OPTIONS) qualifier RESTRICT, negatable, value(type=RESTRCT) qualifier WRITE, negatable define syntax SET_DISPLAY routine do_set_display parameter P1 label=OPTIONS, value(required) qualifier SCANSIZE value(type=$number,required) define syntax SET_NOTE routine do_error parameter P1 label=OPTIONS, value(required) parameter P2, label=NOTEID qualifier CONFERENCE, nonnegatable, value(required) qualifier HIDDEN, negatable qualifier TITLE, nonnegatable, value(required) qualifier WRITE, negatable define syntax SET_PROFILE routine do_error parameter P1 label=OPTIONS, value(required) qualifier AUTOMATIC negatable,value(type=DIR_TYPE,default="UNSEEN") qualifier CLASS, value(default="MAIN") qualifier EDITOR, value(required,list) qualifier PERSONAL_NAME, negatable,value(required) qualifier PRINT value qualifier TEMPORARY negatable define syntax SET_SEEN routine do_skip parameter P1 label=OPTIONS, value(required) parameter P2, label=NEWG qualifier NEWSGROUP nonnegatable qualifier POINTER nonnegatable qualifier ALL nonnegatable qualifier FOLLOWUP nonnegatable qualifier BEFORE value (default="TODAY",type=$datetime) disallow any2(NEWSGROUP,ALL,NEWG,POINTER,FOLLOWUP) define syntax SET_ACCESS routine do_setaccess parameter P1 label=OPTIONS, value(required) parameter P2, label=NEWSGROUP define syntax SHOW_CLASSES routine do_error parameter P1 label=OPTIONS, value(required) define syntax SHOW_CONF routine do_error parameter P1 label=OPTIONS, value(required) define syntax SHOW_ENTRY routine do_error parameter P1 label=OPTIONS, value(required) parameter P2, label=ENTRYNAME, value(required) define syntax SHOW_ITEM routine do_show_item parameter P1 label=OPTIONS, value(required) parameter P2 label=NEWSITEM define syntax SHOW_KEYWORDS routine do_error parameter P1 label=OPTIONS, value(required) parameter P2, label=KEYWORDNAME qualifier ALL, nonnegatable qualifier FULL, nonnegatable define syntax SHOW_NEWSGROUP routine do_show_newsgroup parameter P1 label=OPTIONS, value(required) parameter P2 label=GROUP define syntax SHOW_MARKS routine do_markshow parameter P1 label=OPTIONS, value(required) parameter P2 label=TAG qualifier ALL disallow (TAG and ALL) define syntax SHOW_MEMBER routine do_show_member parameter P1 label=OPTIONS, value(required) parameter P2 label=USERNAME qualifier ALL, nonnegatable qualifier MODERATOR, nonnegatable define syntax SHOW_MODERATOR routine do_show_moderator parameter P1 label=OPTIONS, value(required) define syntax SHOW_NOTE routine do_error parameter P1 label=OPTIONS, value(required) parameter P2, label=NOTEID qualifier KEYWORDS, nonnegatable define syntax SHOW_PROFILE routine do_error parameter P1 label=OPTIONS, value(required) define syntax SHOW_VERSION routine do_version parameter P1 label=OPTIONS, value(required) define syntax SHOW_KILL routine do_killshow parameter P1 label=OPTIONS, value(required) ! ! verb definition for news qualifiers and single line commands ! define verb INVOKENEWS qualifier SCREEN default parameter P1 label=COMMAND,value(type=$rest_of_line) ! ! verb definition for news command language ! define verb ADD routine do_error parameter P1 label=OPTIONS, prompt="_NEWS ADD>", value(required,type=ADD_OPTIONS) define verb ANSWER routine do_followup parameter P1, label=INFILE,value(type=$infile) qualifier EDIT, negatable,default qualifier EXTRACT, negatable,default qualifier HEADERS, negatable qualifier SELF, negatable define verb ATTACH routine do_error parameter P1, label=PROCESSNAME define verb BACK routine do_back_reply parameter P1, label=OPTIONS, value(type=BACK_OPTIONS) qualifier HEADER, nonnegatable qualifier TPU, nonnegatable qualifier EDITOR, nonnegatable qualifier ROT13, nonnegatable define verb CANCEL routine do_cancel define verb CLEAR routine do_error parameter P1 label=OPTIONS, prompt="_NEWS CLEAR>", value(required,type=CLEAR_OPTIONS) define verb CLOSE routine screen_grp_display define verb CREATE routine do_error parameter P1 label=OPTIONS, prompt="_NEWS CREATE>", value(required,type=CREATE_OPTIONS) define verb DEFINE routine do_error qualifier KEY, syntax=DEFINE_KEY define verb DELETE routine do_dcontext parameter P1 label=OPTIONS, value(type=DELETE_OPTIONS) qualifier CONFIRM negatable define verb DEREGISTER routine do_deregister parameter P1, label=NEWSGROUP qualifier ALL, nonnegatable disallow (NEWSGROUP and ALL) define verb DIRECTORY routine do_dircall qualifier ALL, nonnegatable qualifier ITEMS, nonnegatable qualifier NEW, nonnegatable qualifier NEWSGROUPS, nonnegatable qualifier REGISTER, nonnegatable qualifier RESET, nonnegatable qualifier SINCE, nonnegatable,value (default="TODAY",type=$datetime) qualifier AUTHOR, value(required) qualifier BEFORE nonnegatable,value (type=$datetime) qualifier BUFFER value(required) qualifier KEYWORD value(required) qualifier OUTPUT value(required,type=$outfile) qualifier TITLE value(required) qualifier UNSEEN qualifier CONFERENCES, nonnegatable,syntax=DIR_CONFERENCES qualifier ENTRIES, nonnegatable,syntax=DIR_ENTRIES qualifier NOTEBOOK, nonnegatable,syntax=DIR_NOTEBOOK disallow any2 (ALL,ITEMS,NEW,NEWSGROUPS,REGISTER,SINCE) define verb DOWN routine screen_cur_down parameter P1 label=LINES,value(type=$number) define verb EDIT routine do_edit parameter P1, label=FILE,value(type=$infile,required),prompt="File", define verb EXIT routine do_exit define verb EXTRACT routine do_extract parameter P1, label=FILE,value(type=$outfile) parameter P2, label=NOTERANGE, value(list) qualifier ALL, nonnegatable qualifier AUTHOR, value(required) qualifier APPEND, nonnegatable qualifier BEFORE value(required,type=$datetime) qualifier DIRECTORY value(type=PRINT_DIRTYPE) qualifier HEADER, negatable,default qualifier KEYWORD, value(required) qualifier SEEN, nonnegatable qualifier SINCE, value(default="TODAY",type=$datetime) qualifier TITLE, value(required) qualifier UNSEEN, nonnegatable qualifier FROM, value(required) qualifier SUBJECT, value(required) qualifier UNREAD, nonnegatable qualifier MARKER, value(list) qualifier NEWSGROUPS value(required,list) disallow (NOTERANGE and MARKER) or (AUTHOR and FROM) or (NOTERANGE and NEWSGROUPS) or (TITLE and SUBJECT) or (UNSEEN and UNREAD) define verb FOLLOWUP routine do_followup parameter P1, label=INFILE,value(type=$infile) qualifier EDIT, negatable,default qualifier EXTRACT, negatable,default qualifier HEADERS, negatable qualifier SELF, negatable define verb FORWARD routine do_forward qualifier HEADERS, negatable qualifier SUBJECT, value(required) qualifier SELF, nonnegatable qualifier TO, value(impcat,required,list) qualifier EDIT, negatable,default qualifier MEMBERS define verb HELP routine do_help parameter P1, label=TOPIC,value(type=$rest_of_line) define verb KILL routine do_kill qualifier SUBJECT nonnegatable qualifier FROM nonnegatable qualifier HEADER value(required) define verb MAIL routine do_forward qualifier HEADERS, negatable qualifier SUBJECT, value(required) qualifier SELF, nonnegatable qualifier TO, value(impcat,required,list) qualifier EDIT, negatable,default define verb MARK routine do_mark parameter P1, label=TAG parameter P2, label=NOTEID define verb MODIFY routine do_error parameter P1 label=OPTIONS, prompt="_NEWS MODIFY>", value(required,type=MODIFY_OPTIONS) define verb NEXT routine do_error parameter P1, label=OPTIONS, value(type=NEXT_OPTIONS) define verb NEWSGROUPS routine screen_grp_display define verb NOSCREEN routine noscreen define verb OPEN routine do_selgrp parameter P1, label=NEWSGROUP qualifier NEW, nonnegatable qualifier MARK, value,nonnegatable qualifier CLASS, value(required) qualifier AUTOMATIC negatable qualifier NOTEBOOK negatable disallow any2(NEWSGROUP,MARK,NEW) define verb POST routine do_post parameter P1, label=INFILE,value(type=$infile) qualifier EDIT, negatable,default qualifier CONTROL, negatable qualifier HEADERS, negatable qualifier NEWSGROUPS, nonnegatable, value(required,list) qualifier SUBJECT, nonnegatable, value(required) qualifier SELF, negatable define verb PRINT routine do_print parameter P1, label=NOTERANGE, value(list) qualifier ALL, nonnegatable qualifier AUTHOR, value(required) qualifier BEFORE value(required,type=$datetime) qualifier DIRECTORY value(type=PRINT_DIRTYPE) qualifier KEYWORD, value(required) qualifier SEEN, nonnegatable qualifier SINCE, value(default="TODAY",type=$datetime) qualifier TITLE, value(required) qualifier UNSEEN, nonnegatable qualifier FROM, value(required) qualifier SUBJECT, value(required) qualifier UNREAD, nonnegatable qualifier MARKER, value(list) qualifier CONFIRM qualifier NAME value(required) qualifier NOTE value(required) qualifier NOTIFY, negatable qualifier PRIORITY value(required) qualifier AFTER value(required,type=$datetime) qualifier CHARACTERISTICS value(required,list) qualifier FORM value(required) qualifier HOLD qualifier JOB_COUNT value(required) qualifier LOWERCASE qualifier OPERATOR value(required) qualifier PARAMETERS value(required,list) qualifier QUEUE value (required) qualifier RESTART qualifier BURST value(type=PRINT_BFT) qualifier COPIES value(required) qualifier FEED qualifier FLAG value(type=PRINT_BFT) qualifier HEADER qualifier PASSALL qualifier SETUP value(required,list) qualifier SPACE qualifier TRAILER value(type=PRINT_BFT) qualifier WAIT negatable,default qualifier NEWSGROUPS value(required,list) disallow (NOTERANGE and MARKER) or (AUTHOR and FROM) or (UNSEEN and UNREAD) or (NOTERANGE and NEWSGROUPS) define verb QUIT routine do_quit define verb READ routine do_read parameter P1, label=NEWSITEM qualifier HEADER, nonnegatable qualifier NEW, nonnegatable qualifier TPU, nonnegatable qualifier EDITOR, nonnegatable qualifier ROT13, nonnegatable qualifier NEXT, nonnegatable qualifier BACK, nonnegatable qualifier LAST, nonnegatable qualifier PARENT, nonnegatable qualifier PREV, nonnegatable qualifier IDENTIFIER, value,nonnegatable qualifier MARKER, value,nonnegatable qualifier FOLLOWUP, value,nonnegatable disallow any2(PREV,BACK,NEXT,LAST,PARENT,IDENTIFIER,MARKER,FOLLOWUP) define verb REFRESH routine do_refresh define verb REGISTER routine do_register parameter P1, label=NEWSGROUP qualifier ALL, nonnegatable qualifier NEW, nonnegatable qualifier LOCAL, nonnegatable qualifier NETGROUPS, nonnegatable qualifier SINCE, nonnegatable,value (default="TODAY",type=$datetime) qualifier BEFORE, nonnegatable,value (default="TODAY",type=$datetime) qualifier PRIORITY, value qualifier CONFIRM qualifier RECORD disallow any2(ALL,NEW,NEWSGROUP,SINCE,BEFORE,LOCAL,NETGROUPS) define verb REPLY routine do_reply qualifier HEADERS, negatable qualifier SUBJECT, value(required) qualifier SELF, nonnegatable define verb SAVE routine do_extract parameter P1, label=FILE,value(type=$outfile) parameter P2, label=NOTERANGE, value(list) qualifier ALL, nonnegatable qualifier AUTHOR, value(required) qualifier APPEND, nonnegatable qualifier BEFORE value(required,type=$datetime) qualifier HEADER, negatable,default qualifier KEYWORD, value(required) qualifier SEEN, nonnegatable qualifier SINCE, value(default="TODAY",type=$datetime) qualifier TITLE, value(required) qualifier UNSEEN, nonnegatable qualifier FROM, value(required) qualifier SUBJECT, value(required) qualifier UNREAD, nonnegatable qualifier MARKER, value(list) disallow (NOTERANGE and MARKER) or (AUTHOR and FROM) or (UNSEEN and UNREAD) define verb SCREEN routine init_screen define verb SEARCH routine do_search parameter P1, label=target qualifier HEADER, nonnegatable qualifier TPU, nonnegatable qualifier EDIT, nonnegatable qualifier DISPLAY, negatable qualifier NEWSGROUPS, nonnegatable, value(required,list) qualifier NOTES value(default="*") define verb SELECT routine do_selgrp parameter P1, label=NEWSGROUP qualifier NEW, nonnegatable qualifier MARK, value,nonnegatable disallow any2(NEWSGROUP,MARK,NEW) define verb SEND routine do_send parameter P1, label=INFILE,value(type=$infile) qualifier AUTHOR nonnegatable qualifier EXTRACT qualifier HEADERS, negatable qualifier SUBJECT, value(required) qualifier SELF, nonnegatable qualifier QUOTE qualifier TO, value(impcat,required,list) qualifier EDIT, negatable,default qualifier MEMBERS define verb SET routine do_error parameter P1 label=OPTIONS, prompt="_NEWS SET>", value(required,type=SET_OPTIONS) define verb SHOW routine do_error parameter P1 label=OPTIONS, prompt="_NEWS SHOW>", value(required,type=SHOW_OPTIONS) define verb SKIM routine do_skim parameter P1, label=GROUPS,value(list) qualifier ITEMS negatable qualifier DIRECTORIES negatable qualifier FILES negatable qualifier NEWSGROUPS negatable qualifier SERVED negatable qualifier ARCHIVE value(type=$outfile) qualifier HISTORY value(default="45") define verb SKIP routine do_skip parameter P1, label=NEWG qualifier NEWSGROUP nonnegatable qualifier POINTER nonnegatable qualifier ALL nonnegatable qualifier FOLLOWUP nonnegatable qualifier BEFORE value (default="TODAY",type=$datetime) disallow any2(NEWSGROUP,ALL,NEWG,POINTER,FOLLOWUP) define verb SPAWN routine do_spawn parameter P1, label=COMMAND define verb TOPIC routine do_error define verb UNMARK routine do_unmark parameter P1, label=TAG define verb UNREAD routine do_unread qualifier ALL nonnegatable define verb UP routine screen_cur_up parameter P1 label=LINES,value(type=$number) define verb UPDATE routine do_update parameter P1 label=ENTRYNAME qualifier CLASS, nonnegatable, value(required) define verb VERSION routine do_version define verb WRITE routine do_post parameter P1, label=INFILE,value(type=$infile) qualifier EDIT, negatable,default qualifier CONTROL, negatable qualifier HEADERS, negatable qualifier NEWSGROUPS, nonnegatable, value(required,list) qualifier SUBJECT, nonnegatable, value(required) qualifier SELF, negatable qualifier LAST nonnegatable