! N E W S C M D . C L D ! ! Author: ! Geoff Huston ! Computer Services Centre ! Australian National University ! ! Version: ! V1.0 17-Jul-1986 ! V3.0 30-Jul-1987 ! V4.0 26-Sep-1987 gh News V4.0 Release ! V4.02 17-Nov-1987 GIH Added /local qual to create and set ! newsgroup ! DIR command calls do_dircall ! MODULE NEWSCMD ! ! type definitions ! define type SET_OPTIONS keyword NEWSGROUP syntax=SET_NEWSGROUP keyword ITEM syntax=SET_ITEM define type SHOW_OPTIONS keyword NEWSGROUP syntax=SHOW_NEWSGROUP keyword ITEM syntax=SHOW_ITEM ! ! syntax definitions ! 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 LOG qualifier ERASE disallow ((not LOCK_STATE and TERMINATE and SET_STATE) or (LOCK_STATE and not SET_STATE)) 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_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 LOCAL qualifier CLOSED qualifier OPEN DISALLOW (CLOSED and OPEN) define syntax SHOW_ITEM routine do_show_item parameter P1 label=OPTIONS, value(required) parameter P2 label=NEWSITEM define syntax SHOW_NEWSGROUP routine do_show_newsgroup parameter P1 label=OPTIONS, value(required) parameter P2 label=GROUP ! ! 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_add_net parameter P1, label=FILE qualifier CREGRP qualifier DELETE qualifier RETRY define verb CREATE routine do_cregrp parameter P1, label=NEWSGROUPS,value(list) qualifier HOLD value(default= "0") qualifier ITEMHOLD value(default="0") qualifier MODERATOR value qualifier LOCAL qualifier CLOSED qualifier OPEN disallow (CLOSED and OPEN) define verb DEFINE routine do_error qualifier KEY, syntax=DEFINE_KEY define verb DELETE routine do_delete parameter P1, label=NEWSITEM,value(list) qualifier NEWSGROUP, value(list) qualifier IDENTIFIER, value disallow any2 (NEWSGROUP,NEWSITEM,IDENTIFIER) 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 OPEN, nonnegatable qualifier NEW, nonnegatable qualifier NEWSGROUPS, nonnegatable qualifier REGISTER, nonnegatable qualifier RESET, nonnegatable disallow any2 (ALL,ITEMS,OPEN,NEW,NEWSGROUPS,REGISTER) define verb DOWN routine screen_cur_down parameter P1 label=LINES,value(type=$number) define verb EXIT routine do_exit define verb EXTRACT routine do_extract parameter P1, label=FILE,value(type=$outfile) qualifier ALL, nonnegatable qualifier APPEND, nonnegatable define verb FOLLOWUP routine do_followup qualifier HEADERS, 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 define verb HELP routine do_help parameter P1, label=TOPIC,value(type=$rest_of_line) 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 NEWSGROUPS routine screen_grp_display define verb NOSCREEN routine noscreen define verb POST routine do_post parameter P1, label=INFILE,value(type=$infile) qualifier EDIT, negatable,default qualifier HEADERS, negatable qualifier NEWSGROUPS, nonnegatable, value(required,list) qualifier SUBJECT, nonnegatable, value(required) define verb PRINT routine do_print qualifier ALL, nonnegatable define verb READ routine do_read parameter P1, label=NEWSITEM qualifier HEADER, nonnegatable qualifier NEW, nonnegatable qualifier TPU, nonnegatable qualifier ROT13, nonnegatable qualifier NEXT, nonnegatable qualifier LAST, nonnegatable qualifier PARENT, nonnegatable qualifier IDENTIFIER, value,nonnegatable disallow any2(NEWSITEM,NEW,NEXT,LAST,PARENT,IDENTIFIER) define verb REFRESH routine do_refresh define verb REGISTER routine do_register parameter P1, label=NEWSGROUP qualifier ALL, nonnegatable qualifier NEW, nonnegatable qualifier PRIORITY, value disallow any2(ALL,NEW,NEWSGROUP) define verb REPLY routine do_reply qualifier HEADERS, negatable qualifier SUBJECT, value(required) qualifier SELF, nonnegatable define verb SCREEN routine init_screen define verb SELECT routine do_selgrp parameter P1, label=NEWSGROUP qualifier NEW, nonnegatable disallow (NEWSGROUP and NEW) 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 qualifier ITEMS negatable qualifier FILES negatable qualifier NEWSGROUPS negatable qualifier ARCHIVE value(type=$outfile) define verb SKIP routine do_skip parameter P1, label=NEWSGROUP qualifier ALL, nonnegatable disallow (ALL and NEWSGROUP) define verb SPAWN routine do_spawn define verb UP routine screen_cur_up parameter P1 label=LINES,value(type=$number)