SSSoooffftttwwwaaarrreee TTToooooolllsss SSSuuubbbsssyyysssttteeemmm VVVeeerrrsssiiiooonnn 777 tttooo VVVeeerrrsssiiiooonnn 777...111 CCCooonnnvvveeerrrsssiiiooonnn GGGuuuiiidddeee Daniel H. Forsyth, Jr. School of Information and Computer Science Georgia Institute of Technology Atlanta, Georgia 30332 January, 1981 Version 7.1 Conversion Guide IIInnntttrrroooddduuuccctttiiiooonnn Version 7.1 of the Software Tools Subsystem contains correc- tions to many problems found in Version 7, as well as a several enhancements and new features. Version 7.1 is almost completely compatible with Version 7; it does not require the recompilation or relinking of any object programs. Other than the addition of new commands, there are few user-visible changes. If you require total compatibility, you will find that most Version 7 commands will run unchanged under the Version 7.1 Sub- system. You may thus replace offending Version 7.1 commands with their Version 7 counterparts by simply copying the old version into =bin= or =lbin=. NNNeeewww CCCooommmmmmaaannnddd DDDiiirrreeeccctttooorrryyy The directory =ebin= (nominally //extra/bin) has been added to contain object files that are executed from shell programs in =bin=. Programs now residing in this directory include the com- piler, loader, and batch interludes, and some programs used by the bug reporting mechanism. Ratfor source for the programs residing in =ebin= is kept in =src=/ext.r; the source for shell programs in =ebin= resides in =src=/ext.sh. LLLiiinnneee EEEdddiiitttooorrr LLLiiibbbrrraaarrryyy The subroutine 'edit' in the library 'vedtlb' invokes the Subsystem line editor on a file specified in the call. This routine is useful for interactive programs that allow significant changes to internal text files. CCCooommmpppiiillleeerrr IIInnnttteeerrrllluuudddeeesss A number of Primos compilers and assemblers (F77, FTN, PASCAL, PL1G, and PMA) can be invoked from the Subsystem. We have attempted to provide a consistent interface to each compiler through the use of table-driven interlude that can be adapted to the requirements of each compiler. In the future, we expect to provide interfaces to Prime's other compilers. EEExxxeeecccuuutttiiiooonnn fffrrrooommm SSSeeegggmmmeeennnttt DDDiiirrreeeccctttooorrriiieeesss The Subsystem will now load and execute programs directly from SEG-compatible segment directories. Segment directories can be created with 'ld' or directly by the user. Since 'cp' and 'del' treat segment directories as files, the use of segment directories as program files should be transparent. - 1 - Version 7.1 Conversion Guide SSShhheeellllll SSStttaaatttiiissstttiiicccsss The shell will now record all commands it executes if the template "=statistics=" is set to "yes". Analysis of the shell statistics files can give a good deal of insight into how a user community actually uses the Subsystem. SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 777 CCCooommmmmmaaannndddsss This section summarizes the user-visible changes that have been made to Subsystem commands for Version 7.1. It is divided into several subsections: obsolete commands, superseded com- mands, modified commands, enhanced commands, and unchanged com- mands. The final subsection is a summary of commands that are new for the Version 7.1 release. OOObbbsssooollleeettteee CCCooommmmmmaaannndddsss The commands in this subsection were part of the Version 7 Subsystem, but are not included in the Version 7.1 release. Most of them were used only by certain shell programs and have out- lived their usefulness. In the other cases, the commands were relics of past Subsystems, and either were no longer useful, or no longer worked. wwwhhhooo222 Was originally part of 'who'. Since 'who' was rewrit- ten, it has no further use. SSSuuupppeeerrrssseeedddeeeddd CCCooommmmmmaaannndddsss The commands in this section are not part of the Version 7.1 Subsystem; their functionality has been subsumed by other com- mands. Each entry describes the command and options you can use to get the same results. ffflll Use fcl. ppplll111ccc Use "plgc". ppplll111ccclll Use "plgcl". pppccc Use "p4c". pppccclll Use "p4cl". - 2 - Version 7.1 Conversion Guide sssaaavvveee Use "vars -s". MMMooodddiiifffiiieeeddd CCCooommmmmmaaannndddsss The commands listed in this section have been modified for the Version 7.1 release and are no longer completely compatible with their Version 7 counterparts. Each entry gives a brief description of the changes, but before using any of these com- mands, please check the corresponding Reference Manual entry to be sure of the command's exact behavior. cccrrryyypppttt The encryption algorithm has been changed to produce only printable characters. The encryption key can now be typed without printing it on the terminal. fffccc The option syntax has been radically changed. All Primos compiler interludes now have consistent option syntax. fffiiinnnddd The "-n" option is now "-l". File names can be read from standard input. Order of flag options is no longer important. mmmaaaiiilll Displays letters using the "page" subroutine. mmmoooooottt Has been made significantly more useable. nnneeewwwsss Displays news articles using the "page" subroutine. pppggg Uses the 'page' subroutine. EEEnnnhhhaaannnccceeeddd CCCooommmmmmaaannndddsss Commands in this section have been functionally enhanced for Version 7.1, but remain compatible with their Version 7 counterparts. aaalllaaarrrmmm Accepts initial substring abbreviation for time units. aaasss111111 Significantly faster. cccddd Now prints the full pathname (including pack name) when called with "-p". - 3 - Version 7.1 Conversion Guide lllddd Can also produce a SEG-compatible segment directory. The output file does not have to be in the current directory. The "-a" option loads the Pascal library. lllpppsss Now has a "-q" option to suppress most gratuitous out- put. ooosss Significantly faster. pppaaauuussseee Accepts initial substring abbreviation for time units. ppphhhiiisssttt A new option allows an arbitrary history file to be input. New option allows selection on author. New option allows suppression of text. pppuuubbbllliiissshhh A file formatted with 'fmt' can be published with no modifications. rrrppp Can now pass a line directly into the output without modification. No longer generates a redundant STOP after a CALL SWT. ssseee Supports Heathkit H19 and Netronics terminals. Requests confirmation for the destruction of a file with the "w" command. ssseeeppp Files containing 'rp' and 'fc' options will now be included in the compilations. ssshhh Command statistics recording is now controlled by a template. Can directly execute SEG-compatible segment directories. ssstttaaatttsss Now sorts and saves data points only when necessary for statistics requested. tttaaaiiilll A negative integer argument passes all but the first 'n' lines. tttooo The date and time are included in the message heading line. - 4 - Version 7.1 Conversion Guide vvvaaarrrsss The variables file can be saved and restored on arbitrary files. wwwhhhooo 'Who' has been rewritten to be of use on systems other than Georgia Tech. xxxrrreeefff Prints more intelligible diagnostics; collates upper and lower case letters together. UUUnnnccchhhaaannngggeeeddd CCCooommmmmmaaannndddsss This section lists the commands that have no user-visible changes made for Version 7.1. aaarrr   aaarrrggg   aaarrrgggsss aaarrrgggssstttooo   aaasss666888000000   aaasss888000888000 bbbaaannnnnneeerrr   bbbaaasssyyysss   bbbaaatttccchhh bbbyyyeee   cccaaassseee   cccaaattt ccchhhaaannngggeee   ccchhhaaattt   ccchhhooowwwnnn cccllleeeaaarrr   cccllloooccckkk   cccmmmppp cccnnn   cccooolll   cccooommmmmmooonnn cccooommmooo   cccooopppyyy   cccooopppyyyooouuuttt cccppp   ccctttiiimmmeee   ccctttooo dddaaattteee   dddaaayyy   dddeeeccclllaaarrreee dddeeeccclllaaarrreeeddd   dddeeelll   dddeeetttaaabbb dddiiiffffff   dddmmmaaaccchhh   dddnnnuuummm dddppprrriiinnnttt   dddrrroooppp   ddduuummmppplllsss ddduuummmpppsssvvv   eee   eeeccchhhooo eeeddd   eeekkk   eeelllssseee eeennntttaaabbb   eeerrrrrrooorrr   eeesssaaaccc eeevvvaaalll   eeexxxiiittt   fffccc fffdddmmmppp   fffiii   fffiiieeelllddd fffiiillleee   fffiiillleeesss   fffmmmttt fffoooccclllddd   fffooorrrgggeeettt   fffooosss gggoootttooo   ggguuuiiidddeee   hhhddd hhheeelllppp   hhhiiissstttooorrryyy   hhhppp iiifff   iiimmmiii   iiinnncccllluuudddeee iiinnndddeeexxx   iiinnnssstttaaallllllaaatttiiiooonnn   iiinnnttteeelll iiioootttaaa   jjjoooiiinnn   kkkiiillllll kkkwwwiiiccc   lllaaammm   llleeennngggttthhh llleeexxx   lllfff   llliiibbb llliiinnneee   lllkkk   lllooocccaaattteee llloooggg   lllooogggiiinnn___nnnaaammmeee   mmmaaacccrrrooo mmmaaaiiilll   mmmeeemmmooo   mmmkkkdddiiirrr mmmkkkllliiibbb   mmmkkktttrrreeeeee   mmmkkkuuusssrrr mmmooonnn   mmmooottt   mmmttt mmmvvv   nnnaaarrrgggsss   ooopppttt666888000000 ooopppttt888000888000   ooouuuttt   pppaaasssssswwwddd ppphhh   ppphhhooonnneee   ppprrr ppprrriiinnnttt   ppprrrooofffiiillleee   pppwwwddd pppwwwooorrrddd   qqquuuooottteee   rrrccclll rrrfff   rrrffflll   rrrmmmuuusssrrr - 5 - Version 7.1 Conversion Guide rrrnnnddd   rrrooottt   rrrsssaaa rrrtttiiimmmeee   ssscccrrrooollllll   ssseeemmmaaa ssseeettt   ssshhhtttrrraaaccceee   sssiiizzzeee sssllliiiccceee   sssooorrrttt   sssooouuurrrccceee sssppp   ssspppeeellliiinnnggg   ssssssppplll ssssssrrr   sssttt___ppprrrooofffiiillleee   ssstttaaacccccc ssstttoooppp   sssuuubbbssscccrrriiibbbeee   sssuuubbbssstttrrr sssyyymmmbbbooolllsss   sssyyyssstttaaattt   tttaaaiiilll tttaaakkkeee   tttccc   ttteeeeee ttteeerrrmmm   ttteeerrrmmm___tttyyypppeee   ttthhheeennn tttiiimmmeee   tttllliiittt   tttooo tttrrraaannnssslllaaannnggg   tttsss   uuunnniiiqqq uuunnnooocccttt   uuunnnrrrooottt   uuusss uuusssaaagggeee   wwwhhheeennn   wwwhhheeerrreeeiiisss wwwhhhoooiiisss   xxx NNNeeewww CCCooommmmmmaaannndddsss This section list commands that are new for Version 7.1. bbbllloooccckkk Prints one-inch block letters for banners. bbbsss When placed in a user's search rule, it helps correct typing errors. bbbuuuggg Creates and collects software bug reports. cccaaalll Generates a calendar for any month or year in this century. dddeeefffiiinnneee Expands dddeeefffiiinnneee statements in Ratfor programs. fffccclll Calls the Primos FTN compiler and the loader. fff777777ccc Calls the Primos F77 compiler. fff777777ccclll Calls the Primos F77 compiler and the loader. fffsssiiizzzeee Calculates the disk space used by a file or directory structure. ggguuueeessssss When called by 'bs', it "guesses" the name of the com- mand you meant to type. - 6 - Version 7.1 Conversion Guide llliiinnnkkk Creates a llliiinnnkkkaaagggeee declaration for a Ratfor program. mmmkkkcccllliiisssttt Makes a list of commands for use with 'guess' and 'bs'. pppccc Calls the Primos PASCAL compiler. pppccclll Calls the Primos PASCAL compiler and the loader. ppplllgggccc Calls the Primos PL1G compiler. ppplllgggccclll Calls the Primos PL1G compiler and the loader. pppmmmaaaccc Calls the Primos PMA assembler. pppmmmaaaccclll Calls the Primos PMA assembler and the loader. rrreeetttrrraaacccttt "Unpublishes" a news article. ssshhhooowww Displays a file with a printable representation for unprintable characters. ttteeemmmppplllaaattteee Modifies, displays, and expands templates. SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 777 SSSuuubbbrrrooouuutttiiinnneeesss This section summarizes the user-visible changes to the Sub- system library routines. It is divided into several subsections: obsolete routines, superseded routines, modified routines, enhanced routines, and unchanged routines. The final subsection is a summary of routines that are new for the Version 7.1 release. OOObbbsssooollleeettteee RRRooouuutttiiinnneeesss The routines listed here were only used by other library routines. Since their services are no longer required, they have been deleted. - 7 - Version 7.1 Conversion Guide NNNooo sssuuubbbrrrooouuutttiiinnneeesss aaarrreee ooobbbsssooollleeettteee aaattt VVVeeerrrsssiiiooonnn 777...111 SSSuuupppeeerrrssseeedddeeeddd RRRooouuutttiiinnneeesss The following routines have been subsumed by other more powerful routines. Each entry names the Version 7.1 routine that performs the same function. NNNooo sssuuubbbrrrooouuutttiiinnneeesss aaarrreee sssuuupppeeerrrssseeedddeeeddd aaattt VVVeeerrrsssiiiooonnn 777...111 MMMooodddiiifffiiieeeddd RRRooouuutttiiinnneeesss The routines listed in this section have been modified so that they are no longer compatible with their Version 7 counterparts. Although each entry briefly describes the changes that have been made, you should examine the corresponding Reference Manual entries to determine the exact behavior of the routines. NNNooo sssuuubbbrrrooouuutttiiinnneeesss aaarrreee mmmooodddiiifffiiieeeddd aaattt VVVeeerrrsssiiiooonnn 777...111 EEEnnnhhhaaannnccceeeddd RRRooouuutttiiinnneeesss The routines listed in this section have additional func- tionality in the Version 7.1 release, but remain compatible with their Version 7 counterparts. cccaaallllll$$$$$$ Can now directly invoke a SEG-compatible segment direc- tory. dddooopppeeennn$$$ Now takes an argument to determine number of retrys on encountering a "file in use" situation. ooopppeeennn Now takes a fourth argument to determine number of retrys on encountering a "file in use" situation. pppaaarrrsssccclll ARG_TEXT for a string argument always contains a valid string, regardless of the presence or absence of its corresponding argument. UUUnnnccchhhaaannngggeeeddd RRRooouuutttiiinnneeesss No user-visible changes have been made to the routines listed in this section. - 8 - Version 7.1 Conversion Guide aaaddddddssseeettt   aaammmaaatttccchhh   aaatttoooccc ccc$$$eeennnddd   ccc$$$iiinnncccrrr   cccaaannnttt cccaaatttsssuuubbb   ccchhhkkkaaarrrggg   ccchhhkkkiiinnnppp ccclllooossseee   cccooofff$$$   cccpppfffiiilll$$$ cccpppssseeeggg$$$   cccrrreeeaaattteee   ccctttoooaaa ccctttoooccc   ccctttoooddd   ccctttoooiii ccctttooolll   ccctttooommmnnn   ccctttoooppp ccctttooorrr   ccctttooovvv   dddaaattteee dddeeecccooodddeee   dddeeelllaaarrrggg   dddeeellleeettteee dddgggeeetttlll$$$   dddmmmaaarrrkkk$$$   dddooodddaaassshhh dddooopppeeennn$$$   dddpppuuutttlll$$$   dddrrreeeaaaddd$$$ dddsssdddbbbiiiuuu   dddsssddduuummmppp   dddssseeeeeekkk$$$ dddsssfffrrreeeeee   dddsssgggeeettt   dddsssiiinnniiittt dddtttoooccc   dddwwwrrriiittt$$$   eeennncccooodddeee eeennnttteeerrr   eeeqqquuuaaalll   eeerrrrrrooorrr eeesssccc   eeexxxeeeccc   eeexxxeeecccnnn eeexxxpppaaannnddd   fffcccooopppyyy   fffiiilllcccpppyyy fffiiilllssseeettt   fffiiillltttsssttt   fffiiinnndddfff$$$ fffiiinnnfffooo$$$   fffllluuussshhh$$$   fffooollllllooowww gggcccddd   gggcccdddiiirrr$$$   gggccctttoooiii gggccctttooolll   gggeeetttaaarrrggg   gggeeetttcccccclll gggeeetttccchhh   gggeeetttkkkwwwddd   gggeeetttllliiinnn gggeeettttttooo   gggeeetttvvvdddnnn   gggfffnnnaaarrrggg gggiiitttoooccc   gggkkklllaaarrrggg   gggllltttoooccc gggvvvlllaaarrrggg   iiicccooommmnnn$$$   iiinnndddeeexxx iiinnniiittt   iiinnnllloooccc$$$   iiinnnpppuuuttt iiinnnvvvmmmoooddd   iiioooffflll$$$   iiioooiiinnniiittt iiisssaaattttttyyy   iiitttoooccc   iiitttoooccc000 iiitttoooccc888   jjjdddaaattteee   llleeennngggttthhh lllooocccaaattteee   lllooooookkkuuuppp   lllooopppeeennn$$$ lllsssaaallllllooo   lllssscccmmmpppkkk   lllssscccooommmppp lllssscccooopppyyy   lllssscccuuuttt   lllsssdddeeelll lllsssdddrrroooppp   lllsssddduuummmppp   lllssseeexxxtttrrr lllsssfffrrreeeeee   lllsssgggeeetttccc   lllsssgggeeetttfff lllsssiiinnniiittt   lllsssiiinnnsss   lllsssjjjoooiiinnn lllsssllleeennn   lllsssmmmaaakkkeee   lllssspppooosss lllssspppuuutttccc   lllssspppuuutttfff   lllssssssuuubbbsss lllssstttaaakkkeee   llltttoooccc   llluuuttteeemmmppp mmmaaakkkpppaaattt   mmmaaakkksssuuubbb   mmmaaapppdddnnn mmmaaapppfffddd   mmmaaapppssstttrrr   mmmaaapppsssuuu mmmaaapppuuuppp   mmmaaarrrkkkfff   mmmaaatttccchhh mmmkkkdddiiirrr$$$   mmmkkkfffddd$$$   mmmkkkpppaaa$$$ mmmkkktttaaabbblll   mmmkkkttteeemmmppp   mmmkkktttrrr$$$ mmmnnntttoooccc   mmmooovvveee$$$   ooommmaaatttccchhh ooopppeeennn   pppaaarrrsssdddttt   pppaaarrrssstttmmm pppaaatttsssiiizzz   ppprrriiimmmeee   ppprrriiinnnttt ppprrrooottt$$$   ppptttoooccc   pppuuutttccchhh pppuuutttdddeeeccc   pppuuutttllliiinnn   pppuuutttllliiittt pppwwwrrrmmmoooddd   rrreeeaaadddfff   rrreeebbbuuuiiilllddd rrreeemmmaaarrrkkk   rrreeemmmooovvveee   rrreeewwwiiinnnddd rrrmmmfffiiilll$$$   rrrmmmssseeeggg$$$   rrrmmmtttaaabbblll rrrmmmttteeemmmppp   rrrtttoooccc   ssscccooopppyyy sssccctttaaabbblll   sssdddrrroooppp   ssseeeeeekkkfff ssseeettt___cccooopppyyy   ssseeettt___cccrrreeeaaattteee   ssseeettt___dddeeellleeettteee ssseeettt___eeellleeemmmeeennnttt   ssseeettt___eeeqqquuuaaalll   ssseeettt___iiinnniiittt ssseeettt___iiinnnssseeerrrttt   ssseeettt___iiinnnttteeerrrssseeecccttt   ssseeettt___rrreeemmmooovvveee - 9 - Version 7.1 Conversion Guide ssseeettt___sssuuubbbssseeettt   ssseeettt___sssuuubbbtttrrraaacccttt   ssseeettt___uuunnniiiooonnn ssseeettteeerrrrrr   sssttt$$$llluuu   ssstttaaakkkeee ssstttccclllooosss   ssstttrrrbbbsssrrr   ssstttrrrcccmmmppp ssstttrrriiimmm   ssstttrrrlllsssrrr   sssuuubbbssstttrrr ssswwwttt   ttt$$$cccllluuuppp   ttt$$$eeennntttrrr ttt$$$eeexxxiiittt   ttt$$$tttiiimmmeee   ttt$$$tttrrraaaccc tttgggeeetttlll$$$   tttmmmaaarrrkkk$$$   tttpppuuutttlll$$$ tttqqquuuiiittt$$$   tttrrreeeaaaddd$$$   tttrrruuunnnccc tttssscccaaannn$$$   tttssseeeeeekkk$$$   tttwwwrrriiittt$$$ tttyyypppeee   uuupppkkkfffnnn$$$   vvvfffyyyuuusssrrr vvvttt$$$bbbccc   vvvttt$$$cccccc   vvvttt$$$dddeeelll vvvttt$$$lllddd   vvvttt$$$llllll   vvvttt$$$mmmvvv vvvttt$$$ooouuuttt   vvvttt$$$pppkkk   vvvttt$$$rrrccc vvvttt$$$uuupppkkk   vvvtttccceeeooolll   vvvtttccceeeooosss vvvtttccclllrrr   vvvttteeennnccc   vvvtttiiinnniiittt vvvtttiiinnnsss   vvvtttmmmvvvdddnnn   vvvtttmmmvvvlllfff vvvtttmmmvvvrrrttt   vvvtttmmmvvvuuuppp   vvvtttoooccc vvvtttpppooosss   vvvtttpppuuutttlll   vvvtttttteeerrrmmm vvvtttuuupppddd   wwwiiinnnddd   wwwkkkdddaaayyy wwwrrriiittteeefff   NNNeeewww RRRooouuutttiiinnneeesss The routines listed in this section are new for the Version 7.1 release. ccchhhuuunnnkkk$$$ Loads a chunk of a SEG-compatible segment directory. Used internally by 'ldseg$'. cccmmmdddfff$$$$$$ Diverts command input to a Primos command file. eeedddiiittt Invokes the Subsystem line editor on a disk file. gggttteeemmmppp Parses a line of a template definition. llldddssseeeggg$$$ Loads a SEG-compatible segment directory. Used inter- nally by 'call$$'. llldddtttmmmppp$$$ Loads the per-user templates. pppaaagggeee Displays a file on the terminal one page at a time and allows the user to skip ahead or back up. rrreeeooonnnuuu$$$ Subsystem-invoked on-unit to catch the Primos "ren" command. (Not yet fully supported.) - 10 - Version 7.1 Conversion Guide rrrtttnnn$$$$$$ Returns to stack frame of 'call$$'. Used internally. sssyyysss$$$$$$ Calls the Primos command interpreter with an EOS- terminated string. zzzmmmeeemmm$$$ Zeroes a chunk of memory specified by a SEG-compatible segment directory. Used internally by 'ldseg$'. - 11 - ___TTT___AAA___BBB___LLL___EEE___ ___OOO___FFF___ ___CCC___OOO___NNN___TTT___EEE___NNN___TTT___SSS IIInnntttrrroooddduuuccctttiiiooonnn ............................................. 1 New Command Directory ................................. 1 Line Editor Library ................................... 1 Compiler Interludes ................................... 1 Execution from Segment Directories .................... 1 Shell Statistics ...................................... 2 SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 777 CCCooommmmmmaaannndddsss ............................. 2 Obsolete Commands ..................................... 2 Superseded Commands ................................... 2 Modified Commands ..................................... 3 Enhanced Commands ..................................... 3 Unchanged Commands .................................... 5 New Commands .......................................... 6 SSStttaaatttuuusss ooofff VVVeeerrrsssiiiooonnn 777 SSSuuubbbrrrooouuutttiiinnneeesss .......................... 7 Obsolete Routines ..................................... 7 Superseded Routines ................................... 8 Modified Routines ..................................... 8 Enhanced Routines ..................................... 8 Unchanged Routines .................................... 8 New Routines .......................................... 10 - iii -