Release notes for SirPro V7.5: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (minor cleanup)
m (minor cleanup)
Line 34: Line 34:


===Other features===
===Other features===
====Enhanced Procedure Name search====
 
If a procedure
====Logical And/Or for Procedure Name search====
name is entered and any matching procedures are found,   
If a procedure name is entered and any matching procedures are found,   
a procedure list is presented.                           
a procedure list is presented.                           
                                                          
                                                          
Wildcard strings are valid in this field, using "*" as
As in previous SirPro versions, wildcard strings are valid in this field, using an asterisk (<tt>*</tt>) as a substitution character for any number of characters in the procedure name.  For example: <code>*XYZ</code> finds all procedure names ending in the string "XYZ", and <code>XYZ*</code> finds all procedure names beginning with "XYZ".
a substitution character for any number of characters in
 
the procedure name.  For example: *XYZ will find all  
New in version 7.5:
procedure names ending in the string XYZ, and XYZ* will
<ul>
find all procedure names beginning with XYZ.          
<li>A space indicates a logical And operation. Entering <code>PU END</code> returns only those procedures whose names contain both the character sets "PU" and "ND", for example, <code>PUNP-</code> or <code>PUMPKIN.SPENDER</code>. </li>
                                                          
                                                          
A space indicates "AND", so entering "PU END" would   
<li>A vertical bar (<tt>|</tt>) indicates a logical Or operation. <code>PU|ND</code> finds procedures containing the strings "PU" or "ND", for example, <code>PUMP</code>, <code>COLORPURPLE</code>, and <code>NINTENDO</code>. </li>
return only those procedures whose names contain both 
the character sets "PU" and "ND", so, PUNP-END or     
PUMPKIN.SPENDER.                                      
                                                          
                                                          
The "or" bar indicates "OR", so "PU|ND" would find any 
<li>Wildcards can be used in conjunction with the And/Or      
procedures containing the strings "PU" or "ND".  This 
selections. <code>PUPR*|SCPR*|MOPR*</code> finds all       
might include "PUMP", "COLORPURPLE" and "NINTENDO".   
procedures starting with any of the above strings. </li>
                                                       
</ul>
Wildcards can be used in conjuntion with the AND/OR      
 
selections, so "PUPR*|SCPR*|MOPR*" would find all       
<blockquote class="note">
procedures starting with any of the above strings.  
<p><b>Note:</b> You must use caution when combining And and Or selections, because the routine currently has a bias in favor of Or selections.
                                                   
Specifying <code>PUPR*|SCPR AND</code> for example, does not work. It returns all procedures beginning  
The routine currently has a bias in favor of "OR"   
with "PUPR", then attempts to add to the list  
selections, so a selection like "PUPR*|SCPR AND"   
any procedure with the characters "SCPR AND", which  
won't work. It will return all procedures beginning  
finds nothing because of the embedded space. </p>
with PUPR, then will attempt to add to the list    
</blockquote > 
any procedure with the characters "SCPR AND", which
 
will find nothing, because of the embedded space.  
So take caution when combining AND and OR selections.
====Field error tagging====
====Field error tagging====
(in progress) If  field is in error, e.g. the Context field is
In case of an error in field specification, for example an invalid <b>Context</b> field, the field is tagged red and an error message is displayed above the PF keys.
invalid, the field is tagged red.
 
====Longer proc names====
====Longer procedure names====
 
====Better subsystem transfer====
====Better subsystem transfer====
====Save profile for each change====
====Save profile for each change====


==Procedure List screen (ProcList/PL)==
==Procedure List screen (ProcList/PL)==
[[SirPro procedure-list operations#Overview|This screen]] displays a list of the procedures that satisfy the specifications made on the Procedure Search screen described above.
===Field changes===
===Field changes===
====Command Line====
Most of the functions able to be performed on the Search screen may now be done as commands in the Command Line field. In addition commands can be strung together using the semicolon as a delimiter. For example to switch to a new field and display those procedures that have HELP in their name can be done as:
FL SIRIUS;A HELP


If a command is in error it will now leave the command on the screen so it can be amended.
====Command line====
Most of the functions you can perform on the Procedure Search screen may now be done as commands in the command line field. In addition, You can string commands together using a semicolon as a delimiter.
 
For example, to switch to a new file, SIRIUS, and display those procedures that have "HELP" in their name, specify:
<p class="code">FL SIRIUS;A HELP</p>
 
An erroneous command remains on the screen so it can be amended.


Most commands have a full name and an abbreviation.
Most commands have a full name and an abbreviation.


<table class="thJustBold">
<table class="thJustBold">
<caption>Procedure List commands</caption>
<tr class="head"><th>Command</th><th>Description</th></tr>
<tr class="head"><th>Command</th><th>Description</th></tr>


<tr><th>{PROCS&nbsp;|&nbsp;A}&nbsp;[xxxx]</th>
<tr><th>{PROCS&nbsp;|&nbsp;A}&nbsp;[<i>xxxx</i>]</th>
<td>
<td>Changes the procedure name filter to '<i>xxxx</i>'. Wildcarding is assumed and fully supported, so for instance, the command <code>PROCS CADDIE</code> finds all procedures with the string "CADDIE" in its name.  
Changes the procedure name filter to 'xxxx'. Wildcarding
<p>
is assumed and fully supported, so for instance, the
If you use specific wildcard characters, the search is done for the
command 'PROCS CADDIE' will find all procedures with
specified pattern, so <code>PROCS I.*</code> restricts the display
the string 'CADDIE' in its name. If specific wildcard
to procedures beginning with "I". </p>
characters are used, the search is done for the
<p>
specified pattern, so 'PROCS I.*' restricts the display
If the filter name <var class="term">xxxx</var> is omitted, all procedures are displayed. </p>
to procedures beginning with 'I.'
If the filter name 'xxxx' is omitted then all procedures
are displayed.
</td></tr>
</td></tr>


<tr><th>AND xxxx</th>
<tr><th>AND <i>xxxx</i></th>
<td>
<td>Changes the procedure name filter by combining <var class="term">xxxx</var> with the existing value with And logic, applying the "distributive law" if necessary. For instance, if the current value of the procedure name filter is <code>A|B</code>, an <code>AND C</code> command changes it to <code>A C|B C</code> by applying the distributive law:
Changes the procedure name filter by combining 'xxx' with  
<p class="code">(A|B) C -> A C|B C </p>
the existing value with AND logic, applying 'distributive
Hence this filters the current display listing to show only those that also meet the new criteria.  
law' if necessary. For instance, if the current value of the  
procedure name filter is 'A|B', an 'AND C' command will
change it to 'A C|B C' by applying 'distributive law':
  (A|B) C -> A C|B C.
Hence this filters the current display listing to show
only those that also meet the new criteria.
</td></tr>
</td></tr>


<tr><th>+AND xxxx</th>
<tr><th>+AND <i>xxxx</i></th>
<td>
<td>Changes the procedure name filter by combining <var class="term">xxxx</var> with the existing value with And logic, but <b>without</b> applying the "distributive law." It just simply appends <var class="term">xxxx</var> to the existing procedure name filter. For instance, if the current value of the procedure name filter is <code>A|B</code>, an <code>AND C</code> command changes it to <code>A|B C</code>.   
Changes the procedure name filter by combining 'xxx' with  
the existing value with AND logic, but WITHOUT applying  
'distributive law'. It just simply appends 'xxxx' to the  
existing procedure name filter. For instance, if the current
value of the procedure name filter is 'A|B', an 'AND C'
command will change it to 'A|B C'.   
</td></tr>
</td></tr>
      
      
<tr><th>OR xxxx</th>
<tr><th>OR <i>xxxx,/i></th>
<td>
<td>Changes the procedure name filter by combining <var class="term">xxxx</var> with the existing value with Or logic. For instance, if the current value of the procedure name filter is <code>A|B</code>, an <code>OR C</code> command changes it to <code>A|B|C</code>. Hence this adds additional procedures to the display listing.
Changes the procedure name filter by combining 'xxxx' with  
the existing value with OR logic. For instance, if the  
current value of the procedure name filter is 'A|B', an
'OR C' command will change it to 'A|B|C'. Hence this  
adds additional procedures to the display listing.              
</td></tr>
</td></tr>


<tr><th nowrap>{CREATEPROC | CREATE | CP} [xxxx]</th>
<tr><th nowrap>{CREATEPROC | CREATE | CP} [<i>xxxx</i>]</th>
<td>
<td>Creates a new procedure named <code><i>xxxx</i></code> in the current file/group context. If there is no <var class="term">xxxx</var> specified, an unnamed procedure is created.   
Creates a new procedure named 'xxxx' in the current file/group  
context. If there is no 'xxxx' specified, an unnamed    
procedure will be created.   
</td></tr>
</td></tr>


<tr><th>{FILE | FL} xxx</th>
<tr><th>{FILE | FL} <i>xxx</i></th>
<td>
<td>Changes the file context to <var class="term">xxx</var> using the existing privileges to the file.
Changes the file context using the existing privileges to  
the file.
</td></tr>
</td></tr>


<tr><th>FLP xxx </th>
<tr><th>FLP <i>xxx</i> </th>
<td>
<td>Changes the file context to <var class="term">xxx</var> with a prompt for password.
Changes the file context with prompt for password.
</td></tr>
</td></tr>


<tr><th>{GROUP | GP} xxx</th>
<tr><th>{GROUP | GP} <i>xxx</i></th>
<td>
<td>Changes the group context to <var class="term">xxx</var> using the existing privileges to the group.   
Changes the group context using the existing privileges to  
the group.   
</td></tr>
</td></tr>
            
            
<tr><th>GPP xxx</th>
<tr><th>GPP <i>xxx</i></th>
<td>
<td>Changes the group context to <var class="term">xxx</var> with a prompt for password.
Changes the group context with prompt for password.
</td></tr>
</td></tr>


<tr><th>PASSWORD | PWD</th>
<tr><th>PASSWORD | PWD</th>
<td>
<td>Reopens the current file or group with a prompt for password. It implies a switch of privileges associated with the password to the current file or group.
Reopens the current file or group with prompt for password.
It implies a switch of privileges associated with the  
password to the current file or group.
</td></tr>
</td></tr>


<tr><th>{LASTID | LID} [xxx]</th>
<tr><th>{LASTID | LID} [<i>xxx</i>]</th>
<td>
<td>Changes the value of the <b>Last Updater ID</b> field. The valid value for <var class="term">xxx</var> is a string not longer than 10, or is a blank.               
Changes the value of 'Last Updater ID'.    
The valid value for 'xxx' is a string not longer than 10, or    
blank.               
</td></tr>
</td></tr>


<tr><th>{HAS | HA | H} [xxx]</th>
<tr><th>{HAS | HA | H} [<i>xxx</i>]</th>
<td>
<td>Changes the selection to procedures containing the specified string <var class="term">xxx</var>. <code>HAS $GETG</code> restricts procedures to those containing <code>$GETG</code>. <var>HAS</var> does not support wildcards, so a search for <code>locate*</code> looks for the string "locate*".  
Changes the selection to procedures containing the specified
<p>
string 'xxx'. 'HAS $GETG' restricts procedures to those
If the string <var class="term">xxx</var> is omitted, the search string is cleared. </p></td></tr>
containing $GETG. HAS does not support wildcards, so a
search for 'locate*' will look for the string 'locate*'.
If the string 'xxx' is omitted the search string is cleared.
</td></tr>


<tr><th>{DISPLAY&nbsp;|&nbsp;CODE | SHOW | CL} [n]</th>
<tr><th>{DISPLAY&nbsp;|&nbsp;CODE | SHOW | CL} [<i>n</i>]</th>
<td>
<td>With these commands you can alter the number of lines of code to be displayed, beginning with the first of any found search string. If no search string was specified on the previous screen, this command has no effect.  
With these commands you can alter the number of lines of
<p>
code to be displayed beginning with the first of any found
Valid values for <var class="term">n</var> are 0 through 9. If there is no <var class="term">n</var> specified, it gives a default value of 0 to the <b># of context lines</b> field. </p>
search string. Obviously, if no search string was
specified on the previous screen, this command has no
effect. Valid values for 'n' are 0 through 9. If there
is no 'n' specified,it will give a default value of 0 to
the '# of context lines'
</td></tr>
</td></tr>


<tr><th>OCC [nnn]</th>
<tr><th>OCC [<i>nnn</i>]</th>
<td>
<td>Changes the value of the <b># of occurrences to find</b> field. The valid value for the optional <var class="term">nnn</var> is a number between 1 and 999 or it is <var>ALL</var>. If there is no <var class="term">nnn</var> specified, it gives a default value of 1 to the <b># of occurrences to find</b> field.
Changes the value of '# of occurrences to find'. The valid
value for the optional 'nnn' is either a number between 1
and 999 or 'ALL'. If there is no 'nnn' specified, it will
give a default value of 1 to the '# of occurrences to find'.
</td></tr>
</td></tr>


<tr><th>IC [x]</th>
<tr><th>IC [<i>x</i>]</th>
<td>
<td>Changes the value of the <b>Ignore Comment lines</b> field. The valid values for the optional <var class="term">x</var> are <code>Y</code> and <code>N</code>. If there is no <var class="term">x</var> specified, it gives a default value of <code>Y</code> to <b>Ignore Comment lines</b>.
Changes the value of 'Ignore Comment lines'. The valid value   
for the optional 'x' is 'Y' or 'N'. If there is no 'x'
specified, it will give a default value of 'Y' to the
'Ignore Comment lines'.
</td></tr>
</td></tr>
        
        
<tr><th>HS [x]</th>
<tr><th>HS [<i>x</i>]</th>
<td>
<td>Changes the value of the <b>Hide SEQs/BASEs</b> field. The valid value for the optional <var class="term">x</var> is <code>Y</code> or <code>N</code>. If there is no <var class="term">x</var> specified, it gives a default value of <code>Y</code> to <b>Hide SEQs/BASEs</b>.  
Changes the value of 'Hide SEQs/BASEs'. The valid value for  
the optional 'x' is 'Y' or 'N'. If there is no 'x'
specified, it will give a default value of 'Y' to the
'Hide SEQs/BASEs'.  
</td></tr>
</td></tr>
</table>
</table>



Revision as of 01:19, 6 January 2016

This document lists the changes that have been made for SirPro version 7.5. SirPro 7.5 requires Model 204 V7.5 or higher.

SirPro is a member of the RKTools product family; see also the release notes for RKTools version 7.5.

The previous version of SirPro was 707, available in March, 2010.

Procedure Search screen (ProcSearch/PS)

Option 1, Procedure List, from the SirPro main menu brings you to this screen.

Field changes

The searching capabilities are enhanced to provide better impact analysis. The following fields are changed or added.

Search Strings

The maximum length has been increased to ??.

# of context lines

This numeric indicator (0 through 9) specifies the number of lines of code to display before and after the line containing the search string.

# occurrences to display

This number (from 1 to 999) specifies how many occurrences of a search string within a procedure to display.

Hide SEQs/BASEs

SirPro users who are also SirLib users can display or hide SEQ. and BASE. procedures, which are used in code management functions but are not intended to be edited directly.

Ignore Comment Lines

You can ignore any SOUL-formatted comment lines or include all found lines.

New function keys

PF5 - Toggle between case sensitive/insensitive

In case-sensitive mode, a search for "html" finds only the lowercase version of that string. In case-insensitive mode, the same search finds procedures containing either "html" or "HTML".

PF6 - Create Proc

Enter the SoulEdit editor within a skeleton procedure-creation template.

Other features

Logical And/Or for Procedure Name search

If a procedure name is entered and any matching procedures are found, a procedure list is presented.

As in previous SirPro versions, wildcard strings are valid in this field, using an asterisk (*) as a substitution character for any number of characters in the procedure name. For example: *XYZ finds all procedure names ending in the string "XYZ", and XYZ* finds all procedure names beginning with "XYZ".

New in version 7.5:

  • A space indicates a logical And operation. Entering PU END returns only those procedures whose names contain both the character sets "PU" and "ND", for example, PUNP- or PUMPKIN.SPENDER.
  • A vertical bar (|) indicates a logical Or operation. PU|ND finds procedures containing the strings "PU" or "ND", for example, PUMP, COLORPURPLE, and NINTENDO.
  • Wildcards can be used in conjunction with the And/Or selections. PUPR*|SCPR*|MOPR* finds all procedures starting with any of the above strings.

Note: You must use caution when combining And and Or selections, because the routine currently has a bias in favor of Or selections. Specifying PUPR*|SCPR AND for example, does not work. It returns all procedures beginning with "PUPR", then attempts to add to the list any procedure with the characters "SCPR AND", which finds nothing because of the embedded space.

Field error tagging

In case of an error in field specification, for example an invalid Context field, the field is tagged red and an error message is displayed above the PF keys.

Longer procedure names

Better subsystem transfer

Save profile for each change

Procedure List screen (ProcList/PL)

This screen displays a list of the procedures that satisfy the specifications made on the Procedure Search screen described above.

Field changes

Command line

Most of the functions you can perform on the Procedure Search screen may now be done as commands in the command line field. In addition, You can string commands together using a semicolon as a delimiter.

For example, to switch to a new file, SIRIUS, and display those procedures that have "HELP" in their name, specify:

FL SIRIUS;A HELP

An erroneous command remains on the screen so it can be amended.

Most commands have a full name and an abbreviation.

Procedure List commands
CommandDescription
{PROCS | A} [xxxx] Changes the procedure name filter to 'xxxx'. Wildcarding is assumed and fully supported, so for instance, the command PROCS CADDIE finds all procedures with the string "CADDIE" in its name.

If you use specific wildcard characters, the search is done for the specified pattern, so PROCS I.* restricts the display to procedures beginning with "I".

If the filter name xxxx is omitted, all procedures are displayed.

AND xxxx Changes the procedure name filter by combining xxxx with the existing value with And logic, applying the "distributive law" if necessary. For instance, if the current value of the procedure name filter is A|B, an AND C command changes it to A C|B C by applying the distributive law:

(A|B) C -> A C|B C

Hence this filters the current display listing to show only those that also meet the new criteria.

+AND xxxx Changes the procedure name filter by combining xxxx with the existing value with And logic, but without applying the "distributive law." It just simply appends xxxx to the existing procedure name filter. For instance, if the current value of the procedure name filter is A|B, an AND C command changes it to A|B C.
OR xxxx,/i> Changes the procedure name filter by combining xxxx with the existing value with Or logic. For instance, if the current value of the procedure name filter is A|B, an OR C command changes it to A|B|C. Hence this adds additional procedures to the display listing.
{CREATEPROC | CREATE | CP} [xxxx] Creates a new procedure named xxxx in the current file/group context. If there is no xxxx specified, an unnamed procedure is created.
{FILE | FL} xxx Changes the file context to xxx using the existing privileges to the file.
FLP xxx Changes the file context to xxx with a prompt for password.
{GROUP | GP} xxx Changes the group context to xxx using the existing privileges to the group.
GPP xxx Changes the group context to xxx with a prompt for password.
PASSWORD | PWD Reopens the current file or group with a prompt for password. It implies a switch of privileges associated with the password to the current file or group.
{LASTID | LID} [xxx] Changes the value of the Last Updater ID field. The valid value for xxx is a string not longer than 10, or is a blank.
{HAS | HA | H} [xxx] Changes the selection to procedures containing the specified string xxx. HAS $GETG restricts procedures to those containing $GETG. HAS does not support wildcards, so a search for locate* looks for the string "locate*".

If the string xxx is omitted, the search string is cleared.

{DISPLAY | CODE | SHOW | CL} [n] With these commands you can alter the number of lines of code to be displayed, beginning with the first of any found search string. If no search string was specified on the previous screen, this command has no effect.

Valid values for n are 0 through 9. If there is no n specified, it gives a default value of 0 to the # of context lines field.

OCC [nnn] Changes the value of the # of occurrences to find field. The valid value for the optional nnn is a number between 1 and 999 or it is ALL. If there is no nnn specified, it gives a default value of 1 to the # of occurrences to find field.
IC [x] Changes the value of the Ignore Comment lines field. The valid values for the optional x are Y and N. If there is no x specified, it gives a default value of Y to Ignore Comment lines.
HS [x] Changes the value of the Hide SEQs/BASEs field. The valid value for the optional x is Y or N. If there is no x specified, it gives a default value of Y to Hide SEQs/BASEs.

Selection field

The following procedure selection option has been added:

 E  (Edit):  Invokes the SoulEditor. 

The following new selection options a part of the Sirius Configuration and Change Control System (SirLib). If SirLib is not installed then these commands are not valid. Further information on managed updates and the Configuration Management system is in the SirLib User's Guide.

CommandDescription
U (Undo)

May only be executed against a change deck. This command performes the same operation as a Q, resulting in a "working" procedure and a sequenced copy of that procedure being created in the user's selected development procfile. However, the U command specifically includes the change deck against which it is executed in the code for the working procedure, but NOT in the code from the sequenced copy. In other words, it recreates the state of the development procedures that created the change deck against which the U command is executed.

Typically, the U command is used to recreate the state of development when the programmer has accidentally deleted the procedures she was working on, either manually, or via the "Clean-up" switch on the Xcompare screen.

The U command is a special-use feature, and there are a number of ways in which it will fail to work -- most notably, if the selected change deck is somewhere in the middle of a series of changes and, by excluding it from procedure creation, some code dependency is missing. However, for its primary function -- recovering from a mistake that was made very recently, typically as the most recent change to a procedure, it should always work.

Y

This change-control prefix command provides a special check-out ability in which the user can "refresh" their local working copy of a procedure with changes that have been checked in by other programmers since the working copy was originally taken from the source procedure file. "Y" is applied against the working procedure, a screen is presented, and the result is a new working procedure with all updates applied AND the user's current changes still in place, and a sequenced copy that has all updates applied, but the user's current changes not in place.

In other words, the "Y" command is very much like a "Q" command, but it is done while changes are in progress, and it slips into place other changes that have occurred since the original procedure check-out.

New PL subsystem

(Adrian to complete)

A new command PL allows direct entry to the Procedure List screen in SirPro. The format is:

PL [<procedurePattern>] [FILE <fileName>|GROUP <groupName>]

If FILE or GROUP is not supplied then the current open context will be used. The context is obtained using $view('APDFCNTX') (see APDFCNTX_parameter).

Note - If a procedure search is required for the words 'FILE' or 'GROUP', then it must be entered as:

PL file FILE <filename>

where the first 'file' is for procedures containing the word 'file'. The second 'FILE' is required as the context is not automatically added if searching for the words 'FILE' or 'GROUP'.

Enhanced Help

(in progress)