Octave version 0.72 released

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Octave version 0.72 released

John Eaton-3
Octave version 0.72 is now available for ftp from ftp.che.utexas.edu
in the directory /pub/octave.  Compressed and gzipped tar files are

We are now distributing tar files with binaries included and currently
have versions available for DECstation, SPARCstation, and IBM RS/6000
systems.  If you would like to volunteer to make binaries available
for other systems, please contact [hidden email].

Octave's Texinfo documentation is far from complete, but has been
included in this distribution anyway.  Comments on the organization
and layout of the manual are welcome, as are any additions and
corrections.  If you are interested in working on the manual, please
contact [hidden email].

Here's a summary of other changes for version 0.72:

  * For numeric output, columns are now lined up on the decimal point.
    (This requires libg++-2.3.1 or later to work correctly).

  * If octave is running interactively and the output intended for the
    screen is longer than one page and a pager is available, it is
    sent to the pager through a pipe.  You may specify the program to
    use as the pager by setting the variable PAGER.  PAGER may also
    specify a command pipeline.

  * Spaces are not always significant inside square brackets now, so
    commands like

      [ linspace (1, 2) ]

    will work.  However, some possible sources of confusion remain
    because Octave tries (possibly too hard) to determine exactly what
    operation is intended from the context surrounding an operator.
    For example:

    -- In the command

         [ 1 - 1 ]

       the `-' is treated as a binary operator and the result is the
       scalar 0, but in the command

         [ 1 -1 ]

       the `-' is treated as a unary operator and the result is the
       vector [ 1 -1 ].

    -- In the command

         a = 1; [ 1 a' ]

       the single quote character `'' is treated as a transpose operator
       and the result is the vector [ 1 1 ], but in the command

         a = 1; [ 1 a ' ]

       an error message indicating an unterminated string constant is

  * Assignments are just expressions now, so they are valid anywhere
    other expressions are.  This means that things like

      if (a = n < m) ... endif

    are valid.  This is parsed as:  compare `n < m', assign the result
    to the variable `a', and use it as the test expression in the if

    To help avoid errors where `=' has been used but `==' was
    intended, Octave issues a warning suggesting parenthesis around
    assignments used as truth values.  You can suppress this warning
    by adding parenthesis, or by setting the value of the new builtin
    variable `warn_assign_as_truth_value' to 'false' (the default
    value is 'true').

    This is also true for multiple assignments, so expressions like

      [a, b, c] = [u, s, v] = expression

    are now possible.  If the expression is a function, nargout is set
    to the number of arguments for the right-most assignment.  The
    other assignments need not contain the same number of elements.
    Extra left hand side variables in an assignment become undefined.

  * The default line style for plots is now `lines' instead of
    `points'.  To change it, use the `set data style STYLE' command.

  * New file handling and I/O functions:

      fopen    -- open a file for reading or writing
      fclose   -- close a file
      fflush   -- flush output to a file
      fgets    -- read characters from a file
      frewind  -- set file position to the beginning of a file
      fseek    -- set file position
      ftell    -- tell file position
      freport  -- print a report for all open files
      fscanf   -- read from a file
      sscanf   -- read from a string
      scanf    -- read from the standard input

  * New builtin variables for file and I/O functions:

      stdin    -- file number corresponding to the standard input stream.
      stdout   -- file number corresponding to the standard output stream.
      stderr   -- file number corresponding to the standard error stream.

    The following may be used as the final (optional) argument for

      SEEK_SET -- set position relative to the beginning of the file.
      SEEK_CUR -- set position relative to the current position.
      SEEK_END -- set position relative to the end of the file.

  * New function: setstr -- convert vectors or scalars to strings
    (doesn't work for matrices yet).

  * If possible, computer now prints the system type instead of
    always printing `Hi Dave, I'm a HAL-9000'.

  * Octave now properly saves and restores its internal state
    correctly in more places.  Interrupting Octave while it is
    executing a script file no longer causes it to exit.

  * Octave now does tilde expansion on each element of the LOADPATH.

  * A number of memory leaks have been plugged.

  * Dependencies for C++ source files are now generated automatically
    by g++.

  * There is a new command line option, -p PATH, that may be used to
    set Octave's loadpath from the command line.  It will override any
    value of OCTAVE_PATH found in the environment, but not any
    LOADPATH="path" commands found in the system or user startup files.

  * It is now possible to override Octave's default idea of the
    location of the system-wide startup file (usually stored in
    $(prefix)/lib/octave/octaverc) using the environment variable
    OCTAVE_HOME.  If OCTAVE_HOME has a value, Octave will look for
    octaverc and its M-files in the directory $OCTAVE_HOME/lib/octave.

    This allows people who are using binary distributions (as is
    common with systems like Linux) to install the real octave binary
    in any directory (using a name like octave.bin) and then install
    a simple script like this

      export OCTAVE_HOME
      exec octave.bin

    to be invoked as octave.

Please send bug reports, suggestions, and other comments to

  [hidden email]


John W. Eaton      | The exam demonstrates a comminuted, slightly overlapping
[hidden email] | angulated fracture of the midfifth metatarsal.