From help-octave-request Fri Jun 11 02:26:19 1993 Subject: Octave version 0.72 released From: John Eaton To: help-octave Date: Fri, 11 Jun 93 02:26:13 EDT 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 available. 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 bug-octave at che dot utexas dot edu dot 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 bug-octave at che dot utexas dot edu dot 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 printed. * 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 statement. 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 fseek: 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 #!/bin/sh OCTAVE_HOME=/foo/bar/baz export OCTAVE_HOME exec octave.bin to be invoked as octave. Please send bug reports, suggestions, and other comments to bug-octave at che dot utexas dot edu Thanks, -- John W. Eaton | The exam demonstrates a comminuted, slightly overlapping jwe at che dot utexas dot edu| | angulated fracture of the midfifth metatarsal.