Overview of the differences of version 5 to 4



next up previous
Next: Changes in specifications Up: Release of Patchy version Previous: Program call statements

Overview of the differences of version 5 to 4

  1. Note that on the command-line nypatchy the order of the ASM output files has been rationalized and differs from the order of ypatchy:
        ypatchy pam fort cradle print as data fort:2 as:2   data:2 cc   cc:2
       nypatchy pam fort cradle print cc as   data   fort:2 cc:2   as:2 data:2
            (p= 1   2    3      4     5  6    7      8      9      10   11)
  2. On the IBM with VM/CMS calling the programs into action is now just like on UNIX or VAX, including the dialogue feature, see sect. 8.

  3. File names are now case-sensitive; environment variables contained in file names are now specified Unix-style as ${name} or maybe $name, but the curly brackets are required on non-Unix machines. The defaults for "cradle" and "print" are now standard input and output. To get details, type HELP in response to the prompt from any of the programs.

  4. File names may be given in Unix-style on the VAX; on the IBM file names are given either as fname.ftype.fmode or as fmode/fname.ftype.

  5. Status return codes from the programs are:
                 UNIX           VAX      IBM
          $status = 0   $STATUS = 1   rc = 0   normal
                    1             9        1   no error, but void operation
                    2             4        8   error
    For Nypatchy the status must be tested, it stops delivering ASM output if an error occurs.

  6. Pam files are now plain text files; the compact binary format of version 4 is no longer handled.

  7. The specification for the control-line +ASM has changed substantially, see sect. 3 and sect. 7.

  8. Control-line +PAM has changed a bit, see sect. 3.

  9. With the new control-line "+MORE .file-name" given in the blank deck of the cradle, the cradle can be continued with material from another file.

  10. For any control-line given in the cradle substitution of an environment variable can be requested by giving the name of the variable enclosed by curly brackets and preceded with the $ sign, for example:
          +USE, *PATCHY, ${PLINAME}.
    will call for replacement of the string ${PLINAME} by the contents of the environment variable PLINAME before the line is cracked for syntax. Thus one could have a shell commmand like
          setenv PLINAME "CONVEX, 64BIT"
    Note that this cannot be used for c/lines on Pam files, nor on delayed control-lines.

  11. "Delayed control-lines" is the main new feature of version 5. It is now possible to drive by means of a +ADD or +REPLACE Patchy control lines to a target, to be interpreted when the target deck is processed. For example:
          +ADD, *WYLSUN,, 7.
          -USE, WINDOWS.
    
          +REPL, WCDE,, 10-14.
          -KEEP, CONSTLD, IF=LEAD11.
                  PARAMETER   (NCHXBL=0, IQTYPE=6, NQL=512)
          -KEEP, CONSTLD, IF=LEAD12.
                  PARAMETER   (NCHXBL=1, IQTYPE=6, NQL=512)
    Delayed c/ls are marked by "-" in column 1, to be converted to "+".

  12. Running in update mode has now to be signalled by the new control line +UPDATE in the blank deck of the cradle, see sect. 4; sect. 9 shows an example.

  13. The title of a Pam file, that is any material before the first line +PATCH,..., is now handled slightly differently: it is considered as a patch whose name is derived from the Pam-file identifier; see the description of +PAM in sect. 3.

  14. The old line-length limit of 80 characters has been increased to 512. Listings are "nice" for lines up to 80 characters, and "ugly" for longer lines. Control-lines are no longer cut after column 72.

  15. The old limit of 8 characters maximum for patch/deck/sequence names has been increased to 32. Listings are "nice" for names of up to 12 characters. For back-compatible processing of Pam files one can limit the number of significant characters in names to 8 with the new c/l +NAMES,8. given in the blank deck of the cradle.

  16. For some control-lines the syntax checking is now more rigorous. In particular: of the values given to the "T=" parameter only the first letter is significant with version 4; with version 5 subsequent characters are also significant, if given. For example:
          +OPTION, COMPACT, OFF.
    is fine, but
          +OPTION, COMPACT, ON.
    is now failed. Sect. 3 gives details per command.

  17. With version 4 the truth-value for an IF= parameter is evaluated at the moment when the control-line is read. With version 5 this evaluation occurs only when the c/l is used; thus for example:
          +ADD, WYLBUR, XSET_RAN, 7.
          +CDE, WWC, IF=WINDOWS.

    given in the cradle will now work in the way one would like it to.

  18. There are no more "lost activations" with version 5, which has the complete deck in memory before it is processed (cf Patchy Ref.Man. 4.22).

  19. Version 4 tried to be too subtle in deriving processing mode selection from patches quoted in IF= parameters. It is now simply the logical OR of the attached EXE bits of all patches quoted.

  20. The processing-mode filter for c/l +DIVERT has been taken away; thus one can specify on the Pam file which routines are to be compiled without optimisation under which circumstances, without one having to activate this from the cradle (cf Patchy Reference Manual 4.05).

  21. The new Patchy initialises the patch-name PY_VS5 to be "used". This can be useful when one wants to make a compatible Pam file or cradle usable with version 4 and 5.

  22. For the maintenance of complete programs or packages the philosophy of the use of Patchy has changed substantially: Using the combination of the new Nypatchy and the new Nyshell one can automatically re-compile only those routines whose source code has changed since the last successful compilation. To achieve this, Nypatchy has been programmed to deliver, on demand, its ASM output split onto individual files, one for each deck. If the ASM output from the previous run still exists, Nypatchy can be instructed to read this back into memory and to compare it to the expected new output. If the two are identical, the file is not re-written and thus its time-stamp is not changed. Nyshell receives from Nypatchy a list of all the routines in the package and it creates a shell-script to compile all the routines which need to be re-compiled. For details see sect. 7 and sect. 10.



next up previous
Next: Changes in specifications Up: Release of Patchy version Previous: Program call statements


@Thu Oct 6 15:53:34 MET 1994