.ap .PS 60,72 .LM 9 .RM 70 .NHY .LITERAL #####November Vol. 1 No. 4 1979 .end literal .s 2 .s 2 .s 2 .s 2 .s 2 .s 2 .s 2 .s 2 .s 2 .s 2 .s 2 .s 2 Editor's Comments .s 1 With the fourth issue of the Page Swapper we are approaching both the Fall DECUS Symposium and the end of the year. The Fall Symposium should provide all the attendees a great deal of information about the VAX/VMS products. The VAX SIG sessions will strike a balance between user papers and vendor information. If our favorite vendor is true to form, there should be a host of new product announcements. It was at the Fall DECUS symposium two years ago that the VAX was introduced to the DECUS membership. At that time there was no VAX SIG. In Chicago the SIG began to take shape under Roger Vossler. By last fall the SIG was fully organized and presented an excellent program. Now we are a full fledged SIG with clout approaching that of the RSX and RSTS SIGs. I bring all this up as a lead in to a tantalizing topic: SIG steering committee reorganization. currently the SIG steering committee is comprised of Roger Vossler, Al Siegel, Dennis Perry, John Thompson, Don Golden and Doug Wilson. This committee has the mandate for directing the growth of the SIG, organizing the symposium sessions, establishing a SIG program library, interfacing with DEC, coordinating LUG activities and preparing the Page Swapper for publication. Roger is the SIG chairman with the overall responsibility for the SIG as well as responsibility for coordinating the symposium activities. This job has grown both in scope and effort required to the point that an additional member of the steering committee is required. This position will be that of symposium coodinator. We need volunteers and or nominees for this position. If you are one or have one please see one of the present steering committee members (listed above) during the upcoming Symposium. .s 2 This newsletter was initiated with the thought of taking advantage of something every VAX user has: a floppy disk drive. I had hoped that the contributors would send me text files which would be 'runoff-ready'. That was an idle hope, at least it appears to be at this point. Through this issue I have received only two or three contributions on floppy disks (all, I might add, from John Thompson--Thanks, John). This changes the job from one of minor editing of text files to one of entering the entire newsletter manually. The alternative is to resort to the copier and scissors method. This is less esthetically pleasing, but more importantly, it precludes distributing all newsletters on the SIG library tapes. .s 1 I would like to discuss this aspect of the newsletter with the SIG membership during the newsletter session in San Diego. Other topics to be addressed will include the overall effectiveness and utility of the Page Swapper as well as the new DECUS newsletter funding changes. Suggestions and criticism will be definitely appreciated. .s 2 .literal TO: VAX SIG FROM: Douglas A. Palmer Stanford Linear Accelerator MB 60 Stanford, CA 94305 DATE: 31 August 1979 SUBJECT: WYLBUR EDITOR FOR THE VAX .end literal Several VAX computers are used at the Stanford Linear Accelerator Center for online data acquisition and analysis. To aid in the composing and editing of programs a new editor, WYLVAX, was developed which provides simliar text editing functions as the Stanford WYLBUR/370 editor. WYLVAX accepts a subset of the WYLBUR editing commands to interactively create, alter, search and display text and to modify command lines with the command retry feature. Some minor modifications were made to the command syntax to accomodate differences between the VAX 11/780 system and the IBM 370/168 system. WYLVAX offers to VAX users many of the advantages of the powerful English-like WYLBUR/370 command language. WYLVAX is now available under license. If you are interested contact me at the above address. .s 2 VAX/VMS SPR's of Interest .s 1 [Editor's note- In this column we wish to present SPR's that are useful, informative, interesting, aggravating... The purpose is to share common problems and solutions. This column is also designed to fill in the gaps left by the absence of a VAX/VMS Software Dispatch. Another purpose is to disseminate DEC's SPR responses which solve problems for many users. The final purpose is to get real solutions to SPR's which DEC has closed without solving. Send me copies of SPR's (and responses if approporiate) and I'll try to put the essence into this column. Please be aware that the folks who respond to SPR's are willing to review their responses when we, the users, feel that they are inadequate. The mechanism to activate this review is a second SPR. This SPR should reference the number of the original SPR, redefine the problem, indicate that the solution presented in the initial response is inadequate, and give details as to why this solution is inadequate.] .s 1 ------------------------------------------------ .br When using explicit radix control on the length (3rd) parameter of the $DEF macro, the warning %MACRO-W-TOOMANYARGS is generated. .s 1 Response .s 1 This problem can be overcome by enclosing the length parameter within angle brackets, for example <_^D8>. The angle brackets are required because the initial circumflex (_^) is an alternate delimiter for macro arguments. .s 1 ------------------------------------------------ .br A terminal operating in half-duplex (NOECHO) mode does not receive broadcast messages. .s 1 Response .s 1 Thank you... We will modify TTY$BEG__BRDCST to check for PASSALL and NOBROADCAST, but not for NOECHO. This will be incorporated in the V1.7 autopatch kit for VMS. .s 1 ------------------------------------------------ .br When using register displacement mode, if the displacement is a table address in a 16 kbyte region and the instruction falls in the next 16 kbyte region, the resulting address when the instruction is executed will be a negative number. .s 1 Response .s 1 Thank you... This problem has been fixed in the MACRO-32 shipped with the V1.6 binary update kit. The problem was caused by the assembler generating a word reference instead of a signed word. The linker will detect the MOVAL address as a truncation error. .s 1 ------------------------------------------------ .br The following FORTRAN statements generates incorrect code: .s 2 .i 10 CHVAR(:8) = CHARRAY(I)(5:4+B) .S 1 .I 10 where .i 15 CHVAR is a CHARACTER variable .i 15 CHARRAY is a CHARACTER array .i 15 B is a BYTE variable and .i 15 I is an INTEGER*4 variable .s 1 Response .s 1 Thanks... A compiler update with this error corrected is enclosed. .s 1 ------------------------------------------------ .br In the listing for the following FORTRAN subroutine, the references to DMYFNC is not listed under the heading 'FUNCTIONS AND SUBROUTINES REFERENCED': .s 1 .literal SUBROUTINE FOO(DMYFNC) XYZ=DMYFNC(ARG1,ARG2) RETURN END .END LITERAL Response .s 1 Thank you ... It appears not to be a compiler error however. The reaseon that DMYFNC does not appear in the listing summary is precisley because it is a dummy argument. Thus the name which will actually be referenced when the program is run is supplied by the calling program. Therefore there is no reference to a function named DMYFNC, and so it does not appear in the listing as you noted. We realize that this is not stated anywhere in the documentation, and we will correct this omission for the next release of VAX FORTRAN. .s 1 ------------------------------------------------ .br We have modified version 1.0 of VMS to meet specific requirements of our installation. We have received version 1.5 and although we have purchased a VMS source license, no sources have been delivered. This makes it virtually impossible to upgrade to 1.5 without removing our in-house enhancements. .s 1 Response .s 1 As you are aware there will be no formal source kit available until version 2.0 of VMS. .br [Editor's note: This appears to have caused more than one problem. Our installation has not elected to procure a source license, but we have done some things within our device drivers which depends on how things are done in executive I/O support routines. In our case microfiche met our needs for version 1.0; no microfiche with 1.5 posed a problem. I feel that it is unreasonable to distribute a major update to an operating system without source kit support.] .s 1 ------------------------------------------------ .br If FAB$V_UFO is set in a FORTRAN USEROPEN routine, the file cannot be properly closed since the FAB internal file identifier is zero. I suggest that CLOSE skip calling RMS $CLOSE if the internal file identifier is zero and USEROPEN was used. .s 1 Response .s 1 Thank your for finding the problem and for your excellent suggestion. It will be implemented in VMS 2.0. .s 1 ------------------------------------------------ .br SOS gets very confused when inserting a file with page marks before a page mark. .s 1 Response .s 1 When the source of the COPY command is a file containing imbedded carriage control characters (e.g. listing outputs from compilers), SOS successfully reads the desired portion of the file and then fails to reset the special "stream input" indicator. This results in reading the remainder of the original input file improperly. This error is corrected in source in SOS V02.06.11C and all subsequent versions. This version will be shipped with VMS 2.0. .s 1 Until this version of SOS is available, the customer can get around this problem by passing the text to be copied through SOS once. This will produce a file with normal carriage control. Also note that using CTRL L as the first character of a record is not the recommended way to insert page marks. See the M command. It turns out that one of the heuristics used by SOS to allow it to handle compiler listing files is that the "stream input" mode is used if the first record of the file begins with a form feed and the record contains more that one character. .s 1 ------------------------------------------------ .br With the two following DCL commands, the listing file overwrites LIB.MLB: .list .le $DEFINE EXECML$ SYS$LIBRARY:LIB.MLB .LE $MACRO/CROSS/LIST EXECML$/LIB+[SYSINI.SRC]SYSINIT .END LIST Response .s 1 We will ammend the domumentation to more clearly describe the affects [SIC] of sticky file-specs. .s 1 The problem of overwriting LIB.MLB could be prevented by: .s 1 .i 10 Using the equivalent command line: .i 13 $MACRO/CROSS/LIS [SYSINI.SRC]SYSINIT+EXECML$/LIB .S 1 OR BY .I 10 Using the alternative DCL command: .i 13 $DEFINE EXECML$ SYS$LIBRARY:LIB .S 1 so that MACRO uses the default extension of MLB when looking for /LIB files which will allow the listing file to take its default of .LIS. .s 1 ------------------------------------------------ .br Lower case letters in numeric input items are unacceptable to the FORTRAN Run-Time Library. .s 1 Response .s 1 Lower case characters are not supported in the RTL for Release 1. As of Release 2, lower case letters will be acceptable for all forms of numeric input. .s 1 ------------------------------------------------ .br There is currently only one legal qualifier (/OUTPUT) for the file specification argument of the DCL "@" command. Parameters to a command procedure have a sifferent syntax than do command qualifiers. .s 1 Response .s 1 Unless you write a program (which can then perform CLI call back) you will be faced with this necessary DCL syntax restriction. CLI call back is described in Section 6.0 of the 1.5 Release Notes. There will also be RTL support for obtaining command line informaton in Release 2. You may be interested to know that wild carding support is being added to RMS for Release 2. .s 1 ------------------------------------------------ .br It would be very useful for an image to be able to create permanent logical names in the process name table. .s 1 Response .s 1 You are correct that there is no way to do this currently. Logical names in the process name table have the access mode at which they were created stored with them. Logical names created from user mode are deleted when the image exits. Logical names created by DCL commands are created at supervisor mode and are therefore permanent. This is described in section 3.3.5 of the system services manual. At any rate, we will consider your suggestion for a future release. .s 1 [Editor's comment: Any rate? I thought software support services went for around $50/hour. I guess this response is qualified by the 'consider'.] .s 1 ------------------------------------------------ .br When multiple PARAMETER statements define the same constant, the error message %FORT-F-ERROR#20, Missing variable or subprogram name is generated. This is very misleading. .s 1 ------------------------------------------------ .br The following program compiles without error: .literal 1 FORMAT ('BUG') CALL X (&1) STOP END .END LITERAL Suggest that alternate return address be restricted to be an executable (in $CODE psect) statement. .s 1 ------------------------------------------------ .br DEBUG does not display the CASE statement displacement word if the limit operand has value zero (i.e. when there is one displacement word). This causes the current PC to be off by two bytes. This in turn causes garbage to be printed with an EXAMINE/INSTRUCTION is used to look at the next instruction. .s 1 ------------------------------------------------ .br It would be nice to be able to put strings (either character strings or hollerith constants) in DATA statements without breaking them into 4 character substrings: .literal DIMENSION ISTR(2) DATA ISTR/8HHI THERE/ .END LITERAL Response .s 1 This capability is already present in VAX-11 FORTRAN. For example: .literal CHARACTER*8 MSG DATA MSG/'HI THERE'/ .END LITERAL See sections 5.2.2 and 5.7 of the FORTRAN language reference manual. .s 1 THE ORIGINAL SPR WRITER RE-SPR'S AS FOLLOWS: .s 1 You completely missed the point of the SPR. The CHARACTER variable type is an altogether different data type. I was specifically referring to non-character data types: integer, real, byte, etc. This would help in the conversion of programs from other machines to the VAX. .tp 10 .s 2 Unsolicited Random Input .s 1 [Editor's note: In this section we will present interesting trivia and helpful facts about VAX/VMS. The sources will be unnamed at present to protect the innocent.] .s 2 Everyone wants to remain so innocent that nothing was submitted. It would be great if some of you hotshot VAXers would shoot in some hot tips to share with all of us.