


Changes Affecting Version 1.3
If you are upgrading directly from Version 1.3, then several changes affect
you. These changes are the same as those you encounter when you move from
Version 1.3 to Version 1.4, except that the current runtime does not support linked
object files produced by the Version 1.3 compiler.
Compiler Changes
The following changes affect programs when they are re-compiled. You can specify the "-C3" option to suppress these differences. Note that specifying "-C3" also implies the "-C4" flag discussed above. You
can also produce Version 1.3 object files with the "-Z3" compile-time option.
- Under Version 1.3, a line sequential file accessed by a program compiled with
RM/COBOL compatibility mode automatically has short records padded with spaces
to fill the record area. Beginning with Version 2.0, only line sequential
files with automatic trailing space removal have their records padded with spaces.
This change was made to accommodate the behavior of RM/COBOL-85.
- A numeric data item that is the object of a DISPLAY statement with the CONVERT
option is left-justified when RM/COBOL compatibility mode is used under any
version since 2.1. In Version 1.3, the data item is right-justified. This
change was made to accommodate the behavior of RM/COBOL-85.
- Under Version 1.3, the default SIZE of an ACCEPT field is always equal to the
number of assignable character positions in the data item, plus 1 if the data
item is signed, and plus another 1 if the data item contains digits to the right
of the decimal point. Beginning with Version 2.0, this amount is used only if
the destination is numeric or edited and the CONVERT phrase is used.
Otherwise, the default SIZE is the physical size of the receiving field. The
difference is subtle and is unlikely to affect any current programs. This change was
made to better simulate the behavior of RM/COBOL.
- In RM/COBOL compatibility mode, a field accepted with the ECHO phrase is
redisplayed in a converted form only if the UPDATE phrase is also used. In Version
1.3, the field is redisplayed in a converted form only if the CONVERT phrase is
used. This change was made to better simulate the behavior of RM/COBOL.
- Certain line sequential files now have automatic trailing-space removal
applied to them. This depends on the device type specified in the file's ASSIGN
clause. This will generally not affect existing programs except that files with
automatic trailing space removal may not be opened for I/O (due to the
unpredictable record size). This affects only those programs that do REWRITEs on
sequential files. If you have a program that does REWRITEs on a sequential file, you
should check to make sure that the device type is not one that specifies
automatic trailing space removal. For more information, see section 4.2.1,
"FILE-CONTROL Paragraph," under General Rules.
Runtime Changes
The following changes occur when the latest runtime is installed. These
changes can generally be compensated for by various configuration options.
- Since Version 3.0, the runtime does not support linked object files produced
by the Version 1.3 compiler. If you have any linked object files, then you must
convert them to the library format introduced in Version 1.4. Note that the
normal object files produced by the 1.3 compiler are still supported.
- The default keyboard configuration has changed. The new default is very
similar to the default RM/COBOL configuration. Also, the KEY-MAP and EDIT-MODE
configuration variables are no longer supported. These have been replaced by the
more powerful KEYBOARD and KEYSTROKE entries. Most users of Version 1.3
ACUCOBOL-85 reconfigured the keyboard with the KEY-MAP variable to simulate the
RM/COBOL keyboard. Most will not need to make any changes since this is the new
default.
- Users who used the default ACUCOBOL-85 keyboard under Version 1.3 will have to
reconfigure the keyboard to meet the Version 1.3 standard. Other users may
need to make minor changes to match their previous configuration. For details on
the new default configuration and the KEYBOARD and KEYSTROKE variables, see
the User's Guide, section 4.3.2, "Redefining the keyboard." Also, see the sample
configuration file supplied with the compiler.
- Under Version 1.3, files opened with the EXTEND phrase are automatically
created if they do not exist. Beginning with Version 2.1, they are not. This
change was made to match the ANSI standard. You can maintain the Version 1.3
behavior by setting the configuration variable "EXTEND-CREATES" to "1" in the
configuration file.
- In VAX COBOL compatibility mode, a missing file opened for I/O is not
automatically created. Under Version 1.3, it was. This change was made because the
most recent release of the VAX COBOL compiler was changed this way.
- Several VAX COBOL file status codes have been changed. This change was made
to match changes made to the VAX COBOL compiler.
- When you are using the RM/COBOL-85 or RM/COBOL version 2 file status codes, a
corrupted indexed file is now returned as file error "98" instead of file error
"30".
- A single DISPLAY may now wrap around more than one screen row. Under Version
1.3, lines are truncated. If the 1.3 behavior is desired, set the
configuration variable "WRAP" to the value "0".
- An ACCEPT or DISPLAY statement that references a row past the bottom edge of
the window now causes that window to scroll. Under Version 1.3, the statement
is (largely) ignored. You can cause a similar effect by setting the
configuration variable "SCROLL" to "0".
- The syntax of the COLOR-MAP configuration variable has changed slightly. See
the User's Guide, section 4.4.1, "Adding Color."
- Object files produced by versions of ACUCOBOL-85 prior to Version 1.3 may not be executed by the latest runtime system. These
programs must be recompiled with a 1.3 (or later) compiler. This change was made to
reduce the size of the runtime system and to improve its performance. You can
use the "-info" option of "ccbl" to locate object files created by a pre-1.3
version of ACUCOBOL-85. These will be object files that contain a "vers" value
of "2" or less.