# HG changeset patch # User jwe # Date 864251498 0 # Node ID 91589ab98e37afd46c93cf3fb9ca306b3be1b100 # Parent 53b38bf1d443c2932feee32910a986336b1c72dc [project @ 1997-05-21 21:44:54 by jwe] diff -r 53b38bf1d443 -r 91589ab98e37 ChangeLog --- a/ChangeLog Tue May 20 19:48:00 1997 +0000 +++ b/ChangeLog Wed May 21 21:51:38 1997 +0000 @@ -1,3 +1,15 @@ +Wed May 21 16:33:33 1997 John W. Eaton + + * octMakefile.in (install, install-strip): Append version + information to octave-bug and mkoctfile. + + * configure.in (octlibdir): New variable. + * Makeconf.in: Substitute it here. + (do-subst-config-vals): Add -I${octincludedir} to INCFLAGS. + Add -L${octlibdir} to LIBFLAGS. + + * Makeconf.in (mk-includedir-link, mk-libdir-link): New macros. + Mon May 5 00:58:00 1997 John W. Eaton * configure.in: Make --enable-readline work again. diff -r 53b38bf1d443 -r 91589ab98e37 Makeconf.in --- a/Makeconf.in Tue May 20 19:48:00 1997 +0000 +++ b/Makeconf.in Wed May 21 21:51:38 1997 +0000 @@ -169,10 +169,6 @@ # ${prefix}/include includedir = @includedir@ -# Where to install Octave's include files. The default is -# ${includedir}/octave-${version} -octincludedir = @octincludedir@ - # Where to install Octave's man pages, and what extension they should # have. The default is ${prefix}/man/man1 mandir = @mandir@ @@ -187,9 +183,17 @@ # ==================== Octave-specific directories ==================== -# These variables hold the values Octave will actually use. They are +# These variables hold the values specific to Octave. They are # based on the values of the standard Make variables above. +# Where to install Octave's library files. The default is +# ${libdir}/octave-${version} +octlibdir = @octlibdir@ + +# Where to install Octave's include files. The default is +# ${includedir}/octave-${version} +octincludedir = @octincludedir@ + # Where to install the function file distributed with # Octave. This includes the Octave version, so that the # function files for different versions of Octave will install @@ -320,11 +324,11 @@ -e "s;%FPICFLAG%;\"${FPICFLAG}\";" \ -e "s;%GCC_IEEE_FP_FLAG%;\"${GCC_IEEE_FP_FLAG}\";" \ -e "s;%HOST_CXXFLAGS%;\"${HOST_CXXFLAGS}\";" \ - -e "s;%INCFLAGS%;\"-I${includedir} -I${octincludedir}\";" \ + -e "s;%INCFLAGS%;\"-I${octincludedir} -I${includedir}\";" \ -e "s;%LDFLAGS%;\"${LDFLAGS}\";" \ -e "s;%LEXLIB%;\"${LEXLIB}\";" \ -e "s;%LIBDLFCN%;\"${LIBDLFCN}\";" \ - -e "s;%LIBFLAGS%;\"-L${libdir}\";" \ + -e "s;%LIBFLAGS%;\"-L${octlibdir} -L${libdir}\";" \ -e "s;%LIBPLPLOT%;\"${LIBPLPLOT}\";" \ -e "s;%LIBS%;\"${LIBS}\";" \ -e "s;%NO_IMPLICIT_TEMPLATES%;\"${NO_IMPLICIT_TEMPLATES}\";" \ @@ -362,3 +366,38 @@ -e "s;%TARGET_HOST_TYPE%;\"${target_host_type}\";" $(top_srcdir)/move-if-change $@.tmp $@ endef + +# Make a relative symbolic link from $includedir/octave to $octincludedir. + +# XXX FIXME XXX -- this assumes that $octincludedir is a subdirectory +# of $includedir. + +define mk-includedir-link +src=`echo $(octincludedir) | sed 's|^$(includedir)/*||'` ; \ +if [ "$$src" = "octave" ] ; then \ + true ; \ +else \ + if [ -d $(includedir)/octave ] ; then \ + true ; \ + else \ + cd $(includedir) ; rm -f octave && $(LN_S) $$src octave ; \ + fi ; \ +fi +endef + +# Make a relative symbolic link from $libdir/octave to $octlibdir. + +# XXX FIXME XXX -- this assumes that $octlibdir is a subdirectory of $libdir. + +define mk-libdir-link +src=`echo $(octlibdir) | sed 's|^$(libdir)/*||'` ; \ +if [ "$$src" = "octave" ] ; then \ + true ; \ +else \ + if [ -d $(libdir)/octave ] ; then \ + true ; \ + else \ + cd $(libdir) ; rm -f octave && $(LN_S) $$src octave ; \ + fi ; \ +fi +endef diff -r 53b38bf1d443 -r 91589ab98e37 NEWS --- a/NEWS Tue May 20 19:48:00 1997 +0000 +++ b/NEWS Wed May 21 21:51:38 1997 +0000 @@ -1,3 +1,19 @@ +Summary of changes for version 2.0.6: +------------------------------------ + + This is primarily a bug-fixing release. There are only a few new + user-visible features. + + * The new built-in variable default_eval_print_flag controls whether + Octave prints the results of commands executed by eval() that do + not end with semicolons. The default is 1. + + * The new built-in constant OCTAVE_HOME specifies the top-level + directory where Octave is installed. + + * Octave no longer includes functions to work with NPSOL or QPSOL, + because they are not free software. + Summary of changes since version 2.0.5: -------------------------------------- @@ -74,7 +90,7 @@ A list is an array of Octave objects. It can be indexed using the normal indexing operator. For example, - x = make_list ([1,2;3,4], 1, "foo"); + x = list ([1,2;3,4], 1, "foo"); stdout << x(2) << "\n" 1 stdout << x; @@ -89,7 +105,7 @@ ) There is currently no special syntax for creating lists; you - must use the make_list function. + must use the list function. * Commas in global statements are no longer special. They are now treated as command separators. This removes a conflict in the diff -r 53b38bf1d443 -r 91589ab98e37 README --- a/README Tue May 20 19:48:00 1997 +0000 +++ b/README Wed May 21 21:51:38 1997 +0000 @@ -1,25 +1,25 @@ -Octave -- a high-level language for numerical computations. +GNU Octave -- a high-level language for numerical computations. Copyright (C) 1996, 1997 John W. Eaton -Last updated: Tue Dec 10 01:41:30 1996 +Last updated: Tue May 20 14:16:45 1997 Overview -------- -Octave is a high-level language, primarily intended for numerical +GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically. -Octave is free software; you can redistribute it and/or modify it +GNU Octave is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. -Octave is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the file COPYING for more -details. +GNU Octave is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file +COPYING for more details. Availability ------------ @@ -27,7 +27,9 @@ The latest released version of Octave is always available via anonymous ftp from ftp.che.wisc.edu in the directory /pub/octave. Complete source and binaries for several popular systems are -available. +available. Source distributions of Octave are also available from +prep.ai.mit.edu in the directory /pub/gnu, as well as many mirror +sites around the world. Installation and Bugs --------------------- diff -r 53b38bf1d443 -r 91589ab98e37 README.Linux --- a/README.Linux Tue May 20 19:48:00 1997 +0000 +++ b/README.Linux Wed May 21 21:51:38 1997 +0000 @@ -151,6 +151,14 @@ newer) than the ones you already have, you should follow the directions in the release notes very carefully. +I/O in dynamically loaded .oct files doesn't work +------------------------------------------------- + +If Octave prints things like `%.-1e' instead of numbers when you use a +dynamically linked .oct file, you probably need to create shared +versions of the Octave libraries. To do that, configure Octave with +--enable-shared. + If you have comments or suggestions for this document, please contact bug-octave@bevo.che.wisc.edu. @@ -160,4 +168,4 @@ University of Wisconsin-Madison Department of Chemical Engineering -Wed Jan 29 13:39:02 1997 +Mon May 19 23:13:35 1997 diff -r 53b38bf1d443 -r 91589ab98e37 configure.in --- a/configure.in Tue May 20 19:48:00 1997 +0000 +++ b/configure.in Wed May 21 21:51:38 1997 +0000 @@ -21,7 +21,7 @@ ### Software Foundation, 59 Temple Place - Suite 330, Boston, MA ### 02111-1307, USA. -AC_REVISION($Revision: 1.266 $) +AC_REVISION($Revision: 1.267 $) AC_PREREQ(2.9) AC_INIT(src/octave.cc) AC_CONFIG_HEADER(config.h) @@ -45,7 +45,8 @@ OCTAVE_SET_DEFAULT(man1dir, '$(mandir)/man1') OCTAVE_SET_DEFAULT(man1ext, '.1') OCTAVE_SET_DEFAULT(infofile, '$(infodir)/octave.info') -OCTAVE_SET_DEFAULT(octincludedir, '$(includedir)/octave-$(version)') +OCTAVE_SET_DEFAULT(octlibdir, '$(libdir)/octave-$(version)') +OCTAVE_SET_DEFAULT(octincludedir, '$(includedir)/octave-$(version)/octave') OCTAVE_SET_DEFAULT(fcnfiledir, '$(datadir)/octave/$(version)/m') OCTAVE_SET_DEFAULT(localfcnfiledir, '$(datadir)/octave/site/m') OCTAVE_SET_DEFAULT(localfcnfilepath, '$(localfcnfiledir)//') diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/arith.texi --- a/doc/interpreter/arith.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/arith.texi Wed May 21 21:51:38 1997 +0000 @@ -344,7 +344,6 @@ @example @group sin ([1, 2; 3, 4]) - @result{} 0.84147 0.90930 0.14112 -0.75680 @end group @@ -386,7 +385,6 @@ @example @group cumsum ([1, 2; 3, 4]) - @result{} 1 2 4 6 @end group @@ -399,7 +397,6 @@ @example @group cumprod ([1, 2; 3, 4]) - @result{} 1 2 3 8 @end group diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/basics.texi --- a/doc/interpreter/basics.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/basics.texi Wed May 21 21:51:38 1997 +0000 @@ -33,8 +33,8 @@ You can further control how Octave starts by using the command-line options described in the next section, and Octave itself can remind you -of the options available. Type @kbd{octave --help} to display all -available options and briefly describe their use (@kbd{octave -h} is a +of the options available. Type @samp{octave --help} to display all +available options and briefly describe their use (@samp{octave -h} is a shorter equivalent). @menu @@ -71,7 +71,8 @@ Specify the path to search for programs to run. The value of @var{path} specified on the command line will override any value of @code{OCTAVE_EXEC_PATH} found in the environment, but not any commands -in the system or user startup files that set @code{EXEC_PATH}. +in the system or user startup files that set the built-in variable +@code{EXEC_PATH}. @item --help @itemx -h @@ -86,15 +87,16 @@ Specify the name of the info file to use. The value of @var{filename} specified on the command line will override any value of @code{OCTAVE_INFO_FILE} found in the environment, but not any commands -in the system or user startup files that set @samp{INFO_FILE}. +in the system or user startup files that set the built-in variable +@code{INFO_FILE}. @item --info-program @var{program} @cindex @code{--info-program @var{program}} Specify the name of the info program to use. The value of @var{program} specified on the command line will override any value of @code{OCTAVE_INFO_PROGRAM} found in the environment, but not any -commands in the system or user startup files that set -@code{INFO_PROGRAM}. +commands in the system or user startup files that set the built-in +variable @code{INFO_PROGRAM}. @item --interactive @itemx -i @@ -131,7 +133,7 @@ Specify the path to search for function files. The value of @var{path} specified on the command line will override any value of @code{OCTAVE_PATH} found in the environment, but not any commands in the -system or user startup files that set @code{LOADPATH}. +system or user startup files that set the built-in variable @code{LOADPATH}. @item --silent @itemx --quiet @@ -214,7 +216,7 @@ typed at the shell prompt to run Octave, and the value of @code{program_name} is automatically set to the final component of @code{program_invocation_name}. For example, if you typed -@kbd{@value{OCTAVEHOME}/bin/octave} to start Octave, +@samp{@value{OCTAVEHOME}/bin/octave} to start Octave, @code{program_invocation_name} would have the value @code{"@value{OCTAVEHOME}/bin/octave"}, and @code{program_name} would have the value @code{"octave"}. @@ -251,17 +253,17 @@ @cindex startup files @table @code -@item @var{OCTAVE_HOME}/share/octave/site/m/startup/octaverc -Where @var{OCTAVE_HOME} is the directory in which all of Octave is +@item @var{octave-home}/share/octave/site/m/startup/octaverc +Where @var{octave-home} is the directory in which all of Octave is installed (the default is @file{@value{OCTAVEHOME}}). This file is provided so that changes to the default Octave environment can be made globally for all users at your site for all versions of Octave you have installed. Some care should be taken when making changes to this file, since all users of Octave at your site will be affected. -@item @var{OCTAVE_HOME}/share/octave/@var{VERSION}/m/startup/octaverc -Where @var{OCTAVE_HOME} is the directory in which all of Octave is -installed (the default is @file{@value{OCTAVEHOME}}), and @var{VERSION} +@item @var{octave-home}/share/octave/@var{version}/m/startup/octaverc +Where @var{octave-home} is the directory in which all of Octave is +installed (the default is @file{@value{OCTAVEHOME}}), and @var{version} is the version number of Octave. This file is provided so that changes to the default Octave environment can be made globally for all users for a particular version of Octave. Some care should be taken when making @@ -357,20 +359,20 @@ @defvr {Built-in Variable} INFO_FILE The variable @code{INFO_FILE} names the location of the Octave info file. -The default value is @code{"@var{OCTAVE_HOME}/info/octave.info"}, where -@var{OCTAVE_HOME} is the directory where all of Octave is installed. +The default value is @code{"@var{octave-home}/info/octave.info"}, where +@var{octave-home} is the directory where all of Octave is installed. @end defvr @defvr {Built-in Variable} INFO_PROGRAM The variable @code{INFO_PROGRAM} names the info program to run. Its initial value is -@code{"@var{OCTAVE_HOME}/libexec/octave/@var{VERSION}/exec/@var{ARCH}/info"}, -where @var{OCTAVE_HOME} is the directory where all of Octave is -installed, @var{VERSION} is the Octave version number, and @var{ARCH} is +@code{"@var{octave-home}/libexec/octave/@var{version}/exec/@var{arch}/info"}, +where @var{octave-home} is the directory where all of Octave is +installed, @var{version} is the Octave version number, and @var{arch} is the machine type. The value of @code{INFO_PROGRAM} can be overridden by the environment variable @code{OCTAVE_INFO_PROGRAM}, or the command line -argument @code{--info-program NAME}, or by setting the value of -@code{INFO_PROGRAM} in a startup script. +argument @code{--info-program NAME}, or by setting the value of the +built-in variable @code{INFO_PROGRAM} in a startup script. @end defvr @defvr {Built-in Variable} suppress_verbose_help_message @@ -430,7 +432,7 @@ @item C-f Move forward one character. -@item DEL +@item @key{DEL} Delete the character to the left of the cursor. @item C-d @@ -499,13 +501,13 @@ Kill from the cursor to the end of the current word, or if between words, to the end of the next word. -@item M-DEL +@item M-@key{DEL} Kill from the cursor to the start of the previous word, or if between words, to the start of the previous word. @item C-w Kill from the cursor to the previous whitespace. This is different than -@kbd{M-DEL} because the word boundaries differ. +@kbd{M-@key{DEL}} because the word boundaries differ. @end table And, here is how to @dfn{yank} the text back into the line. Yanking @@ -540,7 +542,7 @@ Add the next character that you type to the line verbatim. This is how to insert things like @kbd{C-q} for example. -@item M-TAB +@item M-@key{TAB} Insert a tab character. @item C-t @@ -574,7 +576,7 @@ names for you. @table @kbd -@item TAB +@item @key{TAB} Attempt to do completion on the text before the cursor. Octave can complete the names of commands and variables. @@ -614,8 +616,8 @@ list. @table @kbd -@item LFD -@itemx RET +@item @key{LFD} +@itemx @key{RET} Accept the line regardless of where the cursor is. If this line is non-empty, add it to the history list. If this line was a history line, then restore the history line to its original state. @@ -653,12 +655,12 @@ that you have executed. Valid options are: @table @code -@item -w file -Write the current history to the named file. If the name is omitted, -use the default history file (normally @file{~/.octave_hist}). +@item -w @var{file} +Write the current history to the file @var{file}. If the name is +omitted, use the default history file (normally @file{~/.octave_hist}). -@item -r file -Read the named file, replacing the current history list with its +@item -r @var{file} +Read the file @var{file}, replacing the current history list with its contents. If the name is omitted, use the default history file (normally @file{~/.octave_hist}). @@ -718,7 +720,7 @@ A string naming the editor to use with the @code{edit_history} command. If the environment variable @code{EDITOR} is set when Octave starts, its value is used as the default. Otherwise, @code{EDITOR} is set to -@code{"vi"}. +@code{"emacs"}. @end defvr @defvr {Built-in Variable} history_file @@ -761,7 +763,7 @@ followed by a line feed. @item \s -The name of the program (usually just @code{octave}). +The name of the program (usually just @samp{octave}). @item \w The current working directory. @@ -786,10 +788,10 @@ number of commands in the history list when Octave starts. @item \$ -If the effective UID is 0, a #, otherwise a $. +If the effective UID is 0, a @samp{#}, otherwise a @samp{$}. @item \nnn -The character whose character code in octal is @samp{nnn}. +The character whose character code in octal is @var{nnn}. @item \\ A backslash. @@ -916,8 +918,7 @@ @cindex error messages @cindex messages, error -There are two classes of errors that Octave produces when it encounters -input that it is unable to understand. +Octave reports two kinds of errors for invalid programs. A @dfn{parse error} occurs if Octave cannot understand something you have typed. For example, if you misspell a keyword, @@ -1013,16 +1014,16 @@ @example @group -#! /path/to/octave -qf +#! @var{octave-interpreter-name} -qf # a sample Octave program printf ("Hello, world!\n"); @end group @end example @noindent -(where @code{/path/to/octave} should be replaced with the full file name -for your Octave binary). After making this file executable (with the -@code{chmod} command), you can simply type: +(where @var{octave-interpreter-name} should be replaced with the full +file name for your Octave binary). After making this file executable +(with the @code{chmod} command), you can simply type: @example hello @@ -1042,7 +1043,7 @@ interpreter with the given argument and the full argument list of the executed program. The first argument in the list is the full file name of the Octave program. The rest of the argument list will either be -options to Octave, or data files, or both. The @code{-qf} option is +options to Octave, or data files, or both. The @samp{-qf} option is usually specified in stand-alone Octave programs to prevent them from printing the normal startup message, and to keep them from behaving differently depending on the contents of a particular user's diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/data.texi --- a/doc/interpreter/data.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/data.texi Wed May 21 21:51:38 1997 +0000 @@ -150,9 +150,7 @@ @result{} [ 3, 2 ] [nr, nc] = size ([1, 2; 3, 4; 5, 6]) - @result{} nr = 3 - @result{} nc = 2 @end group @end example diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/emacs.texi --- a/doc/interpreter/emacs.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/emacs.texi Wed May 21 21:51:38 1997 +0000 @@ -94,12 +94,12 @@ @item C-h m Describe the features of Octave mode. -@item LFD +@item @key{LFD} Reindent the current Octave line, insert a newline and indent the new line (@code{octave-reindent-then-newline-and-indent}). An abbrev before point is expanded if @code{abbrev-mode} is non-@code{nil}. -@item TAB +@item @key{TAB} Indents current Octave line based on its contents and on previous lines (@code{indent-according-to-mode}). @@ -115,11 +115,11 @@ Any other key combination is executed normally. Note that all Octave abbrevs start with a grave accent. -@item M-LFD +@item M-@key{LFD} Break line at point and insert continuation marker and alignment (@code{octave-split-line}). -@item M-TAB +@item M-@key{TAB} Perform completion on Octave symbol preceding point, comparing that symbol against Octave's reserved words and builtin variables (@code{octave-complete-symbol}). @@ -272,10 +272,11 @@ @noindent (this works for all modes by adding to the startup hooks, without having to know the particular binding of @key{RET} in that mode!). Similar -considerations apply for using @kbd{M-RET} as @kbd{M-LFD}. As Barry -A. Warsaw says in the documentation for his -@code{cc-mode}, ``This is a very common question. @code{:-)} If you want -this to be the default behavior, don't lobby me, lobby RMS!'' +considerations apply for using @kbd{M-@key{RET}} as @kbd{M-@key{LFD}}. +As Barry A. Warsaw says in the +documentation for his @code{cc-mode}, ``This is a very common +question. @code{:-)} If you want this to be the default behavior, don't +lobby me, lobby RMS!'' The following variables can be used to customize Octave mode. diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/eval.texi --- a/doc/interpreter/eval.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/eval.texi Wed May 21 21:51:38 1997 +0000 @@ -25,9 +25,7 @@ @example @group eval ("a = 13") - @print{} a = 13 - @result{} 13 @end group @end example @@ -43,9 +41,17 @@ @end example In this example, the variable @code{a} has been given the value 13, but -the value of the expression is not printed. +the value of the expression is not printed. You can also turn off +automatic printing for all expressions executed by @code{eval} using the +variable @code{default_eval_print_flag}. @end deftypefn +@defvr {Built-in Variable} default_eval_print_flag +If the value of this variable is nonzero, Octave prints the results of +commands executed by @code{eval} that do not end with semicolons. If it +is zero, automatic printing is suppressed. The default value is 1. +@end defvr + @deftypefn {Built-in Function} {} feval (@var{name}, @dots{}) Evaluate the function named @var{name}. Any arguments after the first are passed on to the named function. For example, diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/expr.texi --- a/doc/interpreter/expr.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/expr.texi Wed May 21 21:51:38 1997 +0000 @@ -611,7 +611,6 @@ @example @group [1, 2; 3, 4] == [1, 3; 2, 4] - @result{} 1 0 0 1 @end group diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/func.texi --- a/doc/interpreter/func.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/func.texi Wed May 21 21:51:38 1997 +0000 @@ -488,9 +488,7 @@ endfunction [dos, quatro] = f (2, 2) - @result{} dos = 2 - @result{} quatro = 4 @end group @end example @@ -617,7 +615,7 @@ To avoid degrading performance unnecessarily by checking the time stamps on functions that are not likely to change, Octave assumes that function files in the directory tree -@file{@var{OCTAVE_HOME}/share/octave/@var{VERSION}/m} +@file{@var{octave-home}/share/octave/@var{version}/m} will not change, so it doesn't have to check their time stamps every time the functions defined in those files are used. This is normally a very good assumption and provides a significant improvement in performance for the @@ -663,7 +661,7 @@ @code{stat} each time it looks up functions defined in function files. If @code{ignore_function_time_stamp} to @code{"system"}, Octave will not automatically recompile function files in subdirectories of -@file{@var{OCTAVE_HOME}/lib/@var{VERSION}} if they have changed since +@file{@var{octave-home}/lib/@var{version}} if they have changed since they were last compiled, but will recompile other function files in the @code{LOADPATH} if they change. If set to @code{"all"}, Octave will not recompile any function files unless their definitions are removed with @@ -924,7 +922,7 @@ @kbd{octave_config_info ("dld")} at the Octave prompt. Support for dynamic linking is included if this command returns 1. -To compile the example file, type the command @kbd{mkoctfile +To compile the example file, type the command @samp{mkoctfile oregonator.cc} at the shell prompt. The script @code{mkoctfile} should have been installed along with Octave. Running it will create a file called @file{oregonator.oct} that can be loaded by Octave. To test the @@ -963,13 +961,14 @@ @example @group -balance.cc fft.cc hess.cc lu.cc schur.cc -chol.cc fft2.cc ifft.cc minmax.cc sort.cc -colloc.cc filter.cc ifft2.cc pinv.cc svd.cc -dassl.cc find.cc inv.cc qr.cc syl.cc -det.cc fsolve.cc log.cc quad.cc -eig.cc fsqp.cc lsode.cc qzval.cc -expm.cc givens.cc lu.cc rand.cc +balance.cc fft2.cc inv.cc qzval.cc +chol.cc filter.cc log.cc schur.cc +colloc.cc find.cc lsode.cc sort.cc +dassl.cc fsolve.cc lu.cc svd.cc +det.cc givens.cc minmax.cc syl.cc +eig.cc hess.cc pinv.cc +expm.cc ifft.cc qr.cc +fft.cc ifft2.cc quad.cc @end group @end example @@ -990,7 +989,7 @@ Many of Octave's standard functions are distributed as function files. They are loosely organized by topic, in subdirectories of -@file{@var{OCTAVE_HOME}/lib/octave/@var{VERSION}/m}, to make it easier +@file{@var{octave-home}/lib/octave/@var{version}/m}, to make it easier to find them. The following is a list of all the function file subdirectories, and the diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/image.texi --- a/doc/interpreter/image.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/image.texi Wed May 21 21:51:38 1997 +0000 @@ -5,9 +5,8 @@ @node Image Processing, Audio Processing, Signal Processing, Top @chapter Image Processing -To display images using these functions, you must be using Octave with -the X Window System, and you must have either @code{xloadimage} or -@code{xv} installed. You do not need to be running X in order to +Octave can display images with the X Window System using the +@code{xloadimage} program. You do not need to be running X in order to manipulate images, however, so some of these functions may be useful even if you are not able to view the results. diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/install.texi --- a/doc/interpreter/install.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/install.texi Wed May 21 21:51:38 1997 +0000 @@ -158,7 +158,7 @@ in the destination directory. As distributed, Octave is installed in the following directories. In the table below, @var{prefix} defaults to @file{/usr/local}, @var{version} stands for the current version number -of the interpreter, and @var{host_type} is the type of computer on which +of the interpreter, and @var{arch} is the type of computer on which Octave is installed (for example, @samp{i586-unknown-gnu}). @table @file @@ -185,10 +185,10 @@ version, so that multiple versions of Octave may be installed at the same time. -@item @var{prefix}/lib/octave/@var{version}/exec/@var{host_type} +@item @var{prefix}/lib/octave/@var{version}/exec/@var{arch} Executables to be run by Octave rather than the user. -@item @var{prefix}/lib/octave/@var{version}/oct/@var{host_type} +@item @var{prefix}/lib/octave/@var{version}/oct/@var{arch} Object files that will be dynamically loaded. @item @var{prefix}/share/octave/@var{version}/imagelib @@ -405,28 +405,6 @@ In any case, please report this as a bug since it might be possible to modify Octave's configuration script to automatically determine the proper thing to do. - -@item -If you don't have @sc{Npsol} but you still want to be able to solve -NLPs, or if you don't have @sc{Qpsol} but you still want to solve QPs, -you'll need to find replacements or order them from Stanford. If you -know of a freely redistributable replacement, please let us know---we -might be interested in distributing it with Octave. - -You can get more information about @sc{Npsol} and @sc{Qpsol} from - -@quotation -Stanford Business Sofrtware, Inc.@* -2680 Bayshore Parkway, Suite 304@* -Mountain View, CA 94043@* -Tel: (415) 962-8719@* -Fax: (415) 962-1869 -@end quotation - -Octave may soon support @sc{Fsqp}, an NLP solver from Andre Tits -@email{andre@@src.umd.edu} of the University of Maryland. @sc{Fsqp} is -available free of charge to academic sites, but can not be redistributed -to third parties. @end itemize @node Binary Distributions, , Installation Problems, Installation @@ -495,10 +473,10 @@ version, so that multiple versions of Octave may be installed at the same time. -@item libexec/octave/@var{version}/exec/@var{host_type} +@item libexec/octave/@var{version}/exec/@var{arch} Executables to be run by Octave rather than the user. -@item libexec/octave/@var{version}/oct/@var{host_type} +@item libexec/octave/@var{version}/oct/@var{arch} Object files that will be dynamically loaded. @item share/octave/@var{version}/imagelib @@ -507,7 +485,7 @@ @noindent where @var{version} stands for the current version number of the -interpreter, and @var{host_type} is the type of computer on which Octave +interpreter, and @var{arch} is the type of computer on which Octave is installed (for example, @samp{@value{TARGETHOSTTYPE}}). If these directories don't exist, the script @code{install-octave} will @@ -519,11 +497,11 @@ @item share/octave/site/m Locally installed M-files. -@item libexec/octave/site/exec/@var{host_type} +@item libexec/octave/site/exec/@var{arch} Locally installed binaries intended to be run by Octave rather than by the user. -@item libexec/octave/site/octave/@var{host_type} +@item libexec/octave/site/octave/@var{arch} Local object files that will be dynamically linked. @end table diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/intro.texi --- a/doc/interpreter/intro.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/intro.texi Wed May 21 21:51:38 1997 +0000 @@ -6,19 +6,19 @@ @chapter A Brief Introduction to Octave @cindex introduction -This manual documents how to run, install and port Octave, and how to -report bugs. +This manual documents how to run, install and port GNU Octave, and how +to report bugs. -Octave is a high-level language, primarily intended for numerical +GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments. It may also be used as a batch-oriented language. -Octave is also freely redistributable software. You may redistribute it -and/or modify it under the terms of the GNU General Public License as -published by the Free Software Foundation. The GPL is included in this -manual in @ref{Copying}. +GNU Octave is also freely redistributable software. You may +redistribute it and/or modify it under the terms of the GNU General +Public License as published by the Free Software Foundation. The GPL is +included in this manual in @ref{Copying}. This document corresponds to Octave version @value{VERSION}. @@ -37,7 +37,7 @@ @section Running Octave On most systems, the way to invoke Octave is with the shell command -@kbd{octave}. Octave displays an initial message and then a prompt +@samp{octave}. Octave displays an initial message and then a prompt indicating it is ready to accept input. You can begin typing Octave commands immediately afterward. @@ -363,9 +363,11 @@ Examples of Octave code appear in this font or form: @code{svd (a)}. Names that represent arguments or metasyntactic variables appear -in this font or form: @var{first-number}. Commands that you type -sometimes appear in this font or form: @kbd{foo --bar --baz}. Specific -keys on your keyboard appear in this font or form: @key{ANY}. +in this font or form: @var{first-number}. Commands that you type at the +shell prompt sometimes appear in this font or form: +@samp{octave --no-init-file}. Commands that you type at the Octave +prompt sometimes appear in this font or form: @kbd{foo --bar --baz}. +Specific keys on your keyboard appear in this font or form: @key{ANY}. @cindex any key @node Evaluation Notation, Printing Notation, Fonts, Conventions @@ -379,7 +381,6 @@ @example @group sqrt (2) - @result{} 1.4142 @end group @end example @@ -393,7 +394,6 @@ @example @group [1, 2; 3, 4] == [1, 3; 2, 4] - @result{} [ 1, 0; 0, 1 ] @end group @end example @@ -404,7 +404,6 @@ @example @group eye (3) - @result{} 1 0 0 0 1 0 0 0 1 @@ -441,9 +440,7 @@ @example @group printf ("foo %s\n", "bar") - @print{} foo bar - @result{} 1 @end group @end example @@ -505,11 +502,8 @@ @example @group foo (1, [3, 5], 3, 9) - @result{} [ 14, 16 ] - foo (5) - @result{} 14 @end group @end example diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/linalg.texi --- a/doc/interpreter/linalg.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/linalg.texi Wed May 21 21:51:38 1997 +0000 @@ -105,7 +105,6 @@ @example @group givens (1, 1) - @result{} 0.70711 0.70711 -0.70711 0.70711 @end group @@ -778,7 +777,6 @@ @example @group kron (1:4, ones (3, 1)) - @result{} 1 2 3 4 1 2 3 4 1 2 3 4 @@ -796,13 +794,9 @@ @example @group [aa, bb, q, z] = qzhess ([1, 2; 3, 4], [5, 6; 7, 8]) - @result{} aa = [ -3.02244, -4.41741; 0.92998, 0.69749 ] - @result{} bb = [ -8.60233, -9.99730; 0.00000, -0.23250 ] - @result{} q = [ -0.58124, -0.81373; -0.81373, 0.58124 ] - @result{} z = [ 1, 0; 0, 1 ] @end group @end example diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/matrix.texi --- a/doc/interpreter/matrix.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/matrix.texi Wed May 21 21:51:38 1997 +0000 @@ -38,7 +38,6 @@ @example @group any (eye (2, 4)) - @result{} [ 1, 1, 0, 0 ] @end group @end example @@ -64,7 +63,6 @@ @example @group all (all (rand (5) < 0.9)) - @result{} 0 @end group @end example @@ -87,11 +85,8 @@ @example @group [errorcode, a, b] = common_size ([1 2; 3 4], 5) - @result{} errorcode = 0 - @result{} a = [ 1, 2; 3, 4 ] - @result{} b = [ 5, 5; 5, 5 ] @end group @end example @@ -128,7 +123,6 @@ @example @group isinf ([13, Inf, NaN]) - @result{} [ 0, 1, 0 ] @end group @end example @@ -141,7 +135,6 @@ @example @group isnan ([13, Inf, NaN]) - @result{} [ 0, 0, 1 ] @end group @end example @@ -154,7 +147,6 @@ @example @group finite ([13, Inf, NaN]) - @result{} [ 1, 0, 0 ] @end group @end example @@ -169,7 +161,6 @@ @example @group find (eye (2)) - @result{} [ 1; 4 ] @end group @end example @@ -180,9 +171,7 @@ @example @group [i, j] = find (2 * eye (2)) - @result{} i = [ 1; 2 ] - @result{} j = [ 1; 2 ] @end group @end example @@ -193,11 +182,8 @@ @example @group [i, j, v] = find (3 * eye (2)) - @result{} i = [ 1; 2 ] - @result{} j = [ 1; 2 ] - @result{} v = [ 3; 3 ] @end group @end example @@ -213,7 +199,6 @@ @example @group fliplr ([1, 2; 3, 4]) - @result{} 2 1 4 3 @end group @@ -227,7 +212,6 @@ @example @group flipud ([1, 2; 3, 4]) - @result{} 3 4 1 2 @end group @@ -244,7 +228,6 @@ @example @group rot90 ([1, 2; 3, 4], -1) - @result{} 3 1 4 2 @end group @@ -276,7 +259,6 @@ @example @group reshape ([1, 2, 3, 4], 2, 2) - @result{} 1 3 2 4 @end group @@ -315,7 +297,6 @@ @example @group sort ([1, 2; 2, 3; 3, 1]) - @result{} 1 1 2 2 3 3 @@ -329,11 +310,9 @@ @example @group [s, i] = sort ([1, 2; 2, 3; 3, 1]) - @result{} s = 1 1 2 2 3 3 - @result{} i = 1 3 2 1 3 2 @@ -342,9 +321,9 @@ @end deftypefn Since the @code{sort} function does not allow sort keys to be specified, -so it can't be used to order the rows of a matrix according to the -values of the elements in various columns@footnote{For example, to first -sort based on the values in column 1, and then, for any values that are +it can't be used to order the rows of a matrix according to the values +of the elements in various columns@footnote{For example, to first sort +based on the values in column 1, and then, for any values that are repeated in column 1, sort based on the values found in column 2, etc.} in a single call. Using the second output, however, it is possible to sort all rows based on the values in a given column. Here's an example @@ -356,7 +335,6 @@ a = [1, 2; 2, 3; 3, 1]; [s, i] = sort (a (:, 2)); a (i, :) - @result{} 3 1 1 2 2 3 @@ -387,7 +365,6 @@ @example @group tril (ones (3), -1) - @result{} 0 0 0 1 0 0 1 1 0 @@ -400,7 +377,6 @@ @example @group tril (ones (3), 1) - @result{} 1 1 0 1 1 1 1 1 1 @@ -434,7 +410,6 @@ @example @group eye (3) - @result{} 1 0 0 0 1 0 0 0 1 @@ -579,7 +554,6 @@ @example @group diag ([1, 2, 3], 1) - @result{} 0 1 0 0 0 0 2 0 0 0 0 3 diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/octave.texi --- a/doc/interpreter/octave.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/octave.texi Wed May 21 21:51:38 1997 +0000 @@ -38,7 +38,7 @@ @include conf.texi -@settitle Octave +@settitle GNU Octave @ifinfo @@ -66,7 +66,7 @@ @end ifinfo @titlepage -@title Octave +@title GNU Octave @subtitle A high-level interactive language for numerical computations @subtitle Edition 3 for Octave version @value{VERSION} @subtitle February 1997 @@ -100,9 +100,9 @@ @node Top, Preface, (dir), (dir) @top -This manual documents how to run, install and port Octave, as well as -its new features and incompatibilities, and how to report bugs. -It corresponds to Octave version @value{VERSION}. +This manual documents how to run, install and port GNU Octave, as well +as its new features and incompatibilities, and how to report bugs. +It corresponds to GNU Octave version @value{VERSION}. @end ifinfo @menu diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/optim.texi --- a/doc/interpreter/optim.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/optim.texi Wed May 21 21:51:38 1997 +0000 @@ -22,64 +22,9 @@ @node Quadratic Programming, Nonlinear Programming, Optimization, Optimization @section Quadratic Programming -@deftypefn {Loadable Function} {[@var{x}, @var{obj}, @var{info}, @var{lambda}] =} qpsol (@var{x}, @var{H}, @var{c}, @var{lb}, @var{ub}, @var{lb}, @var{A}, @var{ub}) -Solve quadratic programs using Gill and Murray's @sc{Qpsol}. Because -@sc{Qpsol} is not freely redistributable, this function is only -available if you have obtained your own copy of @sc{Qpsol}. -@xref{Installation}. -@end deftypefn - -@deftypefn {Loadable Function} {} qpsol_options (@var{opt}, @var{val}) -When called with two arguments, this function allows you set options -parameters for the function @code{qpsol}. Given one argument, -@code{qpsol_options} returns the value of the corresponding option. If -no arguments are supplied, the names of all the available options and -their current values are displayed. -@end deftypefn - @node Nonlinear Programming, Linear Least Squares, Quadratic Programming, Optimization @section Nonlinear Programming -@ignore -@deftypefn {Loadable Function} {} fsqp () -@end deftypefn - -@deftypefn {Loadable Function} {} fsqp_options (@var{opt}, @var{val}) -When called with two arguments, this function allows you set options -parameters for the function @code{fsqp}. Given one argument, -@code{fsqp_options} returns the value of the corresponding option. If -no arguments are supplied, the names of all the available options and -their current values are displayed. -@end deftypefn - -Sorry, this hasn't been implemented yet. -@end ignore - -@deftypefn {Loadable Function} {[@var{x}, @var{obj}, @var{info}, @var{lambda}] =} npsol (@var{x}, @var{phi}, @var{lb}, @var{ub}, @var{lb}, @var{A}, @var{ub}, @var{lb}, @var{g}, @var{ub}) -Solve nonlinear programs using Gill and Murray's @sc{Npsol}. Because -@sc{Npsol} is not freely redistributable, this function is only -available if you have obtained your own copy of @sc{Npsol}. -@xref{Installation}. - -The second argument is a string containing the name of the objective -function to call. The objective function must be of the form - -@example -y = phi (x) -@end example - -@noindent -where x is a vector and y is a scalar. -@end deftypefn - -@deftypefn {Loadable Function} {} npsol_options (@var{opt}, @var{val}) -When called with two arguments, this function allows you set options -parameters for the function @code{npsol}. Given one argument, -@code{npsol_options} returns the value of the corresponding option. If -no arguments are supplied, the names of all the available options and -their current values are displayed. -@end deftypefn - @node Linear Least Squares, , Nonlinear Programming, Optimization @section Linear Least Squares diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/poly.texi --- a/doc/interpreter/poly.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/poly.texi Wed May 21 21:51:38 1997 +0000 @@ -208,17 +208,11 @@ @example @group b = [1, 1, 1]; - a = [1, -5, 8, -4]; - [r, p, k, e] = residue (b, a); - @result{} r = [-2, 7, 3] - @result{} p = [2, 2, 1] - @result{} k = [](0x0) - @result{} e = [1, 2, 1] @end group @end example diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/quad.texi --- a/doc/interpreter/quad.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/quad.texi Wed May 21 21:51:38 1997 +0000 @@ -95,13 +95,9 @@ @example @group [v, ier, nfun, err] = quad ("f", 0, 3) - @result{} 1.9819 - @result{} 1 - @result{} 5061 - @result{} 1.1522e-07 @end group @end example diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/strings.texi --- a/doc/interpreter/strings.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/strings.texi Wed May 21 21:51:38 1997 +0000 @@ -151,9 +151,8 @@ @example @group -s = [ "ab"; "cde" ] +s = [ "ab"; "cde" ]; strcat (s, s, s) - @result{} "ab ab ab " "cdecdecde" @end group diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/system.texi --- a/doc/interpreter/system.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/system.texi Wed May 21 21:51:38 1997 +0000 @@ -576,7 +576,6 @@ @example @group [s, err, msg] = stat ("/vmlinuz") - @result{} s = @{ atime = 855399756 @@ -593,11 +592,8 @@ ino = 9316 dev = 2049 @} - @result{} err = 0 - @result{} msg = - @end group @end example @end deftypefn @@ -794,13 +790,13 @@ @example @group -@var{OCTAVE_HOME}/libexec/octave/site/exec/@var{ARCH} -@var{OCTAVE_HOME}/libexec/octave/@var{VERSION}/exec/@var{ARCH} +@var{octave-home}/libexec/octave/site/exec/@var{arch} +@var{octave-home}/libexec/octave/@var{version}/exec/@var{arch} @end group @end example @noindent -are prepended (appended) to @code{EXEC_PATH}, where @var{OCTAVE_HOME} +are prepended (appended) to @code{EXEC_PATH}, where @var{octave-home} is the top-level directory where all of Octave is installed (the default value is @file{@value{OCTAVEHOME}}). If you don't specify a value for @code{EXEC_PATH} explicitly, these special directories are @@ -878,7 +874,7 @@ the Octave interpreter process. @item > 0 -Wait for termination of the child process with ID @var{PID}. +Wait for termination of the child process with ID @var{pid}. @end table The @var{options} argument can be: diff -r 53b38bf1d443 -r 91589ab98e37 doc/interpreter/var.texi --- a/doc/interpreter/var.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/interpreter/var.texi Wed May 21 21:51:38 1997 +0000 @@ -281,17 +281,17 @@ Here is a summary of all of Octave's built-in variables along with cross references to additional information and their default values. In -the following table @code{OCT_HOME} stands for the root directory where -all of Octave is installed (the default is @file{@value{OCTAVEHOME}}, -@code{VERSION} stands for the Octave version number (for example, -@value{VERSION}, and @code{SYS} stands for the type of system for which +the following table @var{octave-home} stands for the root directory +where all of Octave is installed (the default is @file{@value{OCTAVEHOME}}, +@var{version} stands for the Octave version number (for example, +@value{VERSION}) and @var{arch} stands for the type of system for which Octave was compiled (for example, @code{@value{TARGETHOSTTYPE}}). @vtable @code @item EDITOR @xref{Commands For History}. -Default value: @code{"vi"}. +Default value: @code{"emacs"}. @item EXEC_PATH @xref{Controlling Subprocesses}. @@ -301,17 +301,21 @@ @item INFO_FILE @xref{Getting Help}. -Default value: @code{"OCT_HOME/info/octave.info"}. +Default value: @code{"@var{octave-home}/info/octave.info"}. @item INFO_PROGRAM @xref{Getting Help}. -Default value: @code{"OCT_HOME/libexec/octave/VERSION/exec/SYS/info"}. +Default value: @code{"@var{octave-home}/libexec/octave/@var{version}/exec/@var{arch}/info"}. @item LOADPATH @xref{Function Files}. -Default value: @code{".:OCT_HOME/lib/VERSION"}. +Default value: @code{".:@var{octave-home}/lib/@var{version}"}. + +@item OCTAVE_HOME + +Default value: @code{"@value{OCTAVEHOME}"}. @item PAGER @xref{Input and Output}. @@ -348,6 +352,11 @@ Default value: @code{" "}. +@item default_eval_print_flag +@xref{Evaluation}. + +Default value: 1. + @item default_return_value @xref{Multiple Return Values}. diff -r 53b38bf1d443 -r 91589ab98e37 doc/liboctave/optim.texi --- a/doc/liboctave/optim.texi Tue May 20 19:48:00 1997 +0000 +++ b/doc/liboctave/optim.texi Wed May 21 21:51:38 1997 +0000 @@ -167,55 +167,6 @@ @deftypefnx {} {virtual ColumnVector} minimize (const ColumnVector &@var{x}, double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda}) @end deftypefn -@deftypefn {} {}QPSOL_options (void) -@deftypefnx {} {}QPSOL_options (const QPSOL_options &@var{opt}) -@end deftypefn - -@deftypefn {} QPSOL_options& {operator =} (const QPSOL_options &@var{opt}) -@end deftypefn - -@deftypefn {} void init (void) -@end deftypefn - -@deftypefn {} void copy (const QPSOL_options &@var{opt}) -@end deftypefn - -@deftypefn {} void set_default_options (void) -@end deftypefn - -@deftypefn {} void set_feasibility_tolerance (double @var{val}) -@end deftypefn - -@deftypefn {} void set_infinite_bound (double @var{val}) -@end deftypefn - -@deftypefn {} void set_iteration_limit (int @var{val}) -@end deftypefn - -@deftypefn {} void set_print_level (int @var{val}) -@end deftypefn - -@deftypefn {} double feasibility_tolerance (void) -@deftypefnx {} double infinite_bound (void) -@deftypefnx {} int iteration_limit (void) -@deftypefnx {} int print_level (void) -@end deftypefn - -@deftypefn {} {}QPSOL (void) -@deftypefnx {} {}QPSOL (const ColumnVector &@var{x}, const Matrix &@var{H}) -@deftypefnx {} {}QPSOL (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c}) -@deftypefnx {} {}QPSOL (const ColumnVector &@var{x}, const Matrix &@var{H}, const Bounds &@var{b}) -@deftypefnx {} {}QPSOL (const ColumnVector &@var{x}, const Matrix &@var{H}, const LinConst &@var{lc}) -@deftypefnx {} {}QPSOL (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c}, const Bounds &@var{b}) -@deftypefnx {} {}QPSOL (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c}, const LinConst &@var{lc}) -@deftypefnx {} {}QPSOL (const ColumnVector &@var{x}, const Matrix &@var{H}, const Bounds &@var{b}, const LinConst &@var{lc}) -@deftypefnx {} {}QPSOL (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c}, const Bounds &@var{b}, const LinConst &@var{lc}) -@deftypefnx {} {}QPSOL (const QPSOL &@var{a}) -@end deftypefn - -@deftypefn {} QPSOL& {operator =} (const QPSOL &@var{a}) -@end deftypefn - @deftypefn {} ColumnVector minimize (double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda}) @end deftypefn @@ -243,114 +194,6 @@ @deftypefn {} int size (void) const @end deftypefn -@deftypefn {} {}NPSOL_options (void) -@deftypefnx {} {}NPSOL_options (const NPSOL_options &@var{opt}) -@end deftypefn - -@deftypefn {} NPSOL_options& {operator =} (const NPSOL_options &@var{opt}) -@end deftypefn - -@deftypefn {} void init (void) -@deftypefnx {} void copy (const NPSOL_options &@var{opt}) -@end deftypefn - -@deftypefn {} void set_default_options (void) -@end deftypefn - -@deftypefn {} void set_central_difference_interval (double @var{val}) -@end deftypefn - -@deftypefn {} void set_crash_tolerance (double @var{val}) -@end deftypefn - -@deftypefn {} void set_difference_interval (double @var{val}) -@end deftypefn - -@deftypefn {} void set_function_precision (double @var{val}) -@end deftypefn - -@deftypefn {} void set_infinite_bound (double @var{val}) -@end deftypefn - -@deftypefn {} void set_infinite_step (double @var{val}) -@end deftypefn - -@deftypefn {} void set_linear_feasibility_tolerance (double @var{val}) -@end deftypefn - -@deftypefn {} void set_linesearch_tolerance (double @var{val}) -@end deftypefn - -@deftypefn {} void set_nonlinear_feasibility_tolerance (double @var{val}) -@end deftypefn - -@deftypefn {} void set_optimality_tolerance (double @var{val}) -@end deftypefn - -@deftypefn {} void set_derivative_level (int @var{val}) -@end deftypefn - -@deftypefn {} void set_major_iteration_limit (int @var{val}) -@end deftypefn - -@deftypefn {} void set_minor_iteration_limit (int @var{val}) -@end deftypefn - -@deftypefn {} void set_major_print_level (int @var{val}) -@end deftypefn - -@deftypefn {} void set_minor_print_level (int @var{val}) -@end deftypefn - -@deftypefn {} void set_start_objective_check (int @var{val}) -@end deftypefn - -@deftypefn {} void set_start_constraint_check (int @var{val}) -@end deftypefn - -@deftypefn {} void set_stop_objective_check (int @var{val}) -@end deftypefn - -@deftypefn {} void set_stop_constraint_check (int @var{val}) -@end deftypefn - -@deftypefn {} void set_verify_level (int @var{val}) -@end deftypefn - -@deftypefn {} double central_difference_interval (void) const -@deftypefnx {} double crash_tolerance (void) const -@deftypefnx {} double difference_interval (void) const -@deftypefnx {} double function_precision (void) const -@deftypefnx {} double infinite_bound (void) const -@deftypefnx {} double infinite_step (void) const -@deftypefnx {} double linear_feasibility_tolerance (void) const -@deftypefnx {} double linesearch_tolerance (void) const -@deftypefnx {} double nonlinear_feasibility_tolerance (void) const -@deftypefnx {} double optimality_tolerance (void) const -@deftypefnx {} int derivative_level (void) const -@deftypefnx {} int major_iteration_limit (void) const -@deftypefnx {} int minor_iteration_limit (void) const -@deftypefnx {} int major_print_level (void) const -@deftypefnx {} int minor_print_level (void) const -@deftypefnx {} int start_objective_check (void) const -@deftypefnx {} int start_constraint_check (void) const -@deftypefnx {} int stop_objective_check (void) const -@deftypefnx {} int stop_constraint_check (void) const -@deftypefnx {} int verify_level (void) const -@end deftypefn - -@deftypefn {} {}NPSOL (void) -@deftypefnx {} {}NPSOL (const ColumnVector &@var{x}, const Objective &@var{phi}) -@deftypefnx {} {}NPSOL (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b}) -@deftypefnx {} {}NPSOL (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b}, const LinConst &@var{lc}) -@deftypefnx {} {}NPSOL (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b}, const LinConst &@var{lc}, const NLConst &@var{nlc}) -@deftypefnx {} {}NPSOL (const ColumnVector &@var{x}, const Objective &@var{phi}, const LinConst &@var{lc}) -@deftypefnx {} {}NPSOL (const ColumnVector &@var{x}, const Objective &@var{phi}, const LinConst &@var{lc}, const NLConst &@var{nlc}) -@deftypefnx {} {}NPSOL (const ColumnVector &@var{x}, const Objective &@var{phi}, const NLConst &@var{nlc}) -@deftypefnx {} {}NPSOL (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b}, const NLConst &@var{nlc}) -@deftypefnx {} {}NPSOL (const NPSOL &@var{a}) -@end deftypefn - @deftypefn {} ColumnVector minimize (void) @deftypefnx {} ColumnVector minimize (double &@var{objf}) @deftypefnx {} ColumnVector minimize (double &@var{objf}, int &@var{inform}) diff -r 53b38bf1d443 -r 91589ab98e37 kpathsea/ChangeLog --- a/kpathsea/ChangeLog Tue May 20 19:48:00 1997 +0000 +++ b/kpathsea/ChangeLog Wed May 21 21:51:38 1997 +0000 @@ -1,3 +1,7 @@ +Tue May 20 14:34:34 1997 John W. Eaton + + * Makefile.in: Turn off optimization for hash.c. + Thu Mar 13 13:08:05 1997 John W. Eaton * configure.in: Don't set special PIC options on SGI systems, diff -r 53b38bf1d443 -r 91589ab98e37 kpathsea/Makefile.in --- a/kpathsea/Makefile.in Tue May 20 19:48:00 1997 +0000 +++ b/kpathsea/Makefile.in Wed May 21 21:51:38 1997 +0000 @@ -147,6 +147,17 @@ -DDEFAULT_FONT_SIZES='"$(default_texsizes)"'\ -c $(srcdir)/tex-file.c -o $@ +# Don't optimize. + +XCC = $(patsubst -O%, , $(CC)) +XCFLAGS = $(patsubst -O%, , $(ALL_CFLAGS)) + +hash.o: + $(XCC) $(CPPFLAGS) $(XCFLAGS) -c $(srcdir)/hash.c + +pic/hash.o: + $(XCC) $(CPPFLAGS) $(CPICFLAG) $(XCFLAGS) -c $(srcdir)/hash.c -o $@ + # Need the -DHAVE_CONFIG_H. gmalloc.o: $(CC) $(CPPFLAGS) @DEFS@ $(CFLAGS) -c $(srcdir)/gmalloc.c diff -r 53b38bf1d443 -r 91589ab98e37 libcruft/ChangeLog --- a/libcruft/ChangeLog Tue May 20 19:48:00 1997 +0000 +++ b/libcruft/ChangeLog Wed May 21 21:51:38 1997 +0000 @@ -1,3 +1,8 @@ +Wed May 21 16:29:42 1997 John W. Eaton + + * misc/Makefile.in (install): Ensure include directory link is made. + (uninstall): Delete all installed files. + Thu Mar 13 22:31:35 1997 John W. Eaton * blas, lapack: Add new files for symmetric eigenvalue diff -r 53b38bf1d443 -r 91589ab98e37 libcruft/Makefile.in --- a/libcruft/Makefile.in Tue May 20 19:48:00 1997 +0000 +++ b/libcruft/Makefile.in Wed May 21 21:51:38 1997 +0000 @@ -85,20 +85,22 @@ @$(subdir-for-command) install:: - $(top_srcdir)/mkinstalldirs $(libdir) - rm -f $(libdir)/libcruft.a - $(INSTALL_DATA) libcruft.a $(libdir)/libcruft.a - $(RANLIB) $(libdir)/libcruft.a + $(top_srcdir)/mkinstalldirs $(octlibdir) + rm -f $(octlibdir)/libcruft.a + $(INSTALL_DATA) libcruft.a $(octlibdir)/libcruft.a + $(RANLIB) $(octlibdir)/libcruft.a if $(SHARED_LIBS); then \ - rm -f $(libdir)/libcruft.$(SHLEXT); \ - $(INSTALL_PROGRAM) libcruft.$(SHLEXT) $(libdir)/libcruft.$(SHLEXT); \ + rm -f $(octlibdir)/libcruft.$(SHLEXT); \ + $(INSTALL_PROGRAM) \ + libcruft.$(SHLEXT) $(octlibdir)/libcruft.$(SHLEXT); \ fi + $(mk-libdir-link) install-strip:: $(MAKE) INSTALL_PROGRAM="$(INSTALL_PROGRAM) -s" install uninstall:: - rm -f $(libdir)/libcruft.a + rm -f $(octlibdir)/libcruft.a tags TAGS:: $(SOURCES) $(SUBDIR_FOR_COMMAND) diff -r 53b38bf1d443 -r 91589ab98e37 libcruft/misc/Makefile.in --- a/libcruft/misc/Makefile.in Tue May 20 19:48:00 1997 +0000 +++ b/libcruft/misc/Makefile.in Wed May 21 21:51:38 1997 +0000 @@ -25,6 +25,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ +INCLUDES := f77-fcn.h lo-error.h + ifeq ($(SHARED_LIBS), true) ifdef CPICFLAG CPICDEP := pic/machar.o pic/dostop.o pic/f77-fcn.o @@ -39,11 +41,14 @@ install install-strip:: $(top_srcdir)/mkinstalldirs $(octincludedir) - $(INSTALL_DATA) $(srcdir)/f77-fcn.h $(octincludedir)/f77-fcn.h - $(INSTALL_DATA) $(srcdir)/lo-error.h $(octincludedir)/lo-error.h + for f in $(INCLUDES) ; do \ + rm -f $(octincludedir)/$$f ; \ + $(INSTALL_DATA) $(srcdir)/$$f $(octincludedir)/$$f ; \ + done + $(mk-includedir-link) uninstall:: - rm -f $(octincludedir)/f77-fcn.h + for f in $(INCLUDES) ; do rm -f $(octincludedir)/$$f ; done # Don't optimize. diff -r 53b38bf1d443 -r 91589ab98e37 liboctave/CMatrix.cc --- a/liboctave/CMatrix.cc Tue May 20 19:48:00 1997 +0000 +++ b/liboctave/CMatrix.cc Wed May 21 21:51:38 1997 +0000 @@ -2757,10 +2757,12 @@ if (is) a.elem (i, j) = tmp; else - return is; + goto done; } } +done: + return is; } diff -r 53b38bf1d443 -r 91589ab98e37 liboctave/ChangeLog --- a/liboctave/ChangeLog Tue May 20 19:48:00 1997 +0000 +++ b/liboctave/ChangeLog Wed May 21 21:51:38 1997 +0000 @@ -1,3 +1,8 @@ +Wed May 21 16:30:25 1997 John W. Eaton + + * Makefile.in (install-in): Use new mk-includedir-link macro. + (install-lib): Install in $octlibdir. Use new mk-libdir-link macro. + Thu May 15 11:46:42 1997 John W. Eaton * cmd-edit.cc (command_editor::increment_current_command_number): diff -r 53b38bf1d443 -r 91589ab98e37 liboctave/Makefile.in --- a/liboctave/Makefile.in Tue May 20 19:48:00 1997 +0000 +++ b/liboctave/Makefile.in Wed May 21 21:51:38 1997 +0000 @@ -187,15 +187,16 @@ .PHONY: install-strip install-lib: - $(top_srcdir)/mkinstalldirs $(libdir) - rm -f $(libdir)/liboctave.a - $(INSTALL_DATA) liboctave.a $(libdir)/liboctave.a - $(RANLIB) $(libdir)/liboctave.a + $(top_srcdir)/mkinstalldirs $(octlibdir) + rm -f $(octlibdir)/liboctave.a + $(INSTALL_DATA) liboctave.a $(octlibdir)/liboctave.a + $(RANLIB) $(octlibdir)/liboctave.a if $(SHARED_LIBS); then \ - rm -f $(libdir)/liboctave.$(SHLEXT); \ - $(INSTALL_PROGRAM) liboctave.$(SHLEXT) \ - $(libdir)/liboctave.$(SHLEXT); \ + rm -f $(octlibdir)/liboctave.$(SHLEXT); \ + $(INSTALL_PROGRAM) \ + liboctave.$(SHLEXT) $(octlibdir)/liboctave.$(SHLEXT); \ fi + $(mk-libdir-link) .PHONY: install-lib install-inc: @@ -204,23 +205,11 @@ rm -f $(octincludedir)/$$f ; \ $(INSTALL_DATA) $(srcdir)/$$f $(octincludedir)/$$f ; \ done - tmp=`echo $(octincludedir) | sed 's|/*$$||'` ; \ - dir=`echo $$tmp | sed 's|[^/]*$$||'` ; \ - src=`echo $$tmp | sed 's|^.*/||'` ; \ - dest=`echo $$src | sed 's|-$(version)$$||'` ; \ - if [ "$$src" = "$$dest" ] ; then \ - true ; \ - else \ - if [ -d $$dir/$$dest ] ; then \ - true ; \ - else \ - cd $$dir ; rm -f $$dest && $(LN_S) $$src $$dest ; \ - fi ; \ - fi + $(mk-includedir-link) .PHONY: install-inc uninstall: - rm -f $(libdir)/liboctave.a $(libdir)/liboctave.$(SHLEXT) + rm -f $(octlibdir)/liboctave.a $(octlibdir)/liboctave.$(SHLEXT) for f in $(INCLUDES) ; do rm -f $(octincludedir)/$$f ; done .PHONY: uninstall diff -r 53b38bf1d443 -r 91589ab98e37 octMakefile.in --- a/octMakefile.in Tue May 20 19:48:00 1997 +0000 +++ b/octMakefile.in Wed May 21 21:51:38 1997 +0000 @@ -102,8 +102,10 @@ install install-strip :: $(top_srcdir)/mkinstalldirs $(DIRS_TO_MAKE) - $(INSTALL_SCRIPT) octave-bug $(bindir)/octave-bug - $(INSTALL_SCRIPT) mkoctfile $(bindir)/mkoctfile + $(INSTALL_SCRIPT) octave-bug $(bindir)/octave-bug-$(version) + cd $(bindir) ; $(LN_S) octave-bug-$(version) octave-bug + $(INSTALL_SCRIPT) mkoctfile $(bindir)/mkoctfile-$(version) + cd $(bindir) ; $(LN_S) mkoctfile-$(version) mkoctfile $(INSTALL_DATA) config.h $(octincludedir)/config.h maintainer-clean:: diff -r 53b38bf1d443 -r 91589ab98e37 scripts/ChangeLog --- a/scripts/ChangeLog Tue May 20 19:48:00 1997 +0000 +++ b/scripts/ChangeLog Wed May 21 21:51:38 1997 +0000 @@ -1,3 +1,8 @@ +Wed May 21 11:45:31 1997 John W. Eaton + + * miscellaneous/bug_report.m: Pass file id to dump_prefs, not file + name. + Mon May 12 02:04:01 1997 John W. Eaton * specfun/erfinv.m: Add missing semicolon. diff -r 53b38bf1d443 -r 91589ab98e37 scripts/miscellaneous/bug_report.m --- a/scripts/miscellaneous/bug_report.m Tue May 20 19:48:00 1997 +0000 +++ b/scripts/miscellaneous/bug_report.m Wed May 21 21:51:38 1997 +0000 @@ -42,9 +42,11 @@ prefs = tmpnam (); if (! isempty (prefs)) - fopen (prefs, "w"); - dump_prefs (prefs); - fclose (prefs); + fid = fopen (prefs, "w"); + if (fid > 0) + dump_prefs (fid); + fclose (fid); + endif endif cmd = strcat (OCTAVE_HOME, "/bin/octave-bug"); diff -r 53b38bf1d443 -r 91589ab98e37 src/ChangeLog --- a/src/ChangeLog Tue May 20 19:48:00 1997 +0000 +++ b/src/ChangeLog Wed May 21 21:51:38 1997 +0000 @@ -1,3 +1,23 @@ +Wed May 21 16:30:25 1997 John W. Eaton + + * DLD-FUNCTIONS/time.cc (extract_tm): Avoid memory leak in dealing + with time zone. + + * Makefile.in (install-in): Use new mk-includedir-link macro. + (install-lib): Install in $octlibdir. Use new mk-libdir-link macro. + +Tue May 20 01:24:11 1997 John W. Eaton + + * ov-list.cc (Flist): Rename from Fmake_list. + +Mon May 19 14:45:58 1997 John W. Eaton + + * octave.cc (maximum_braindamage): Set default_eval_print_flag to 0. + +Sat May 17 16:32:23 1997 John W. Eaton + + * defaults.cc (set_default_editor): Default is now Emacs, not vi. + Fri May 16 00:07:11 1997 John W. Eaton * pt-idx.cc (tree_index_expression::name): New function. diff -r 53b38bf1d443 -r 91589ab98e37 src/DLD-FUNCTIONS/time.cc --- a/src/DLD-FUNCTIONS/time.cc Tue May 20 19:48:00 1997 +0000 +++ b/src/DLD-FUNCTIONS/time.cc Wed May 21 21:51:38 1997 +0000 @@ -82,8 +82,14 @@ tm.tm_isdst = static_cast (m ["isdst"] . double_value ()); #if defined (HAVE_TM_ZONE) + static char *tm_zone = 0; + string tstr = m ["zone"] . string_value (); - tm.tm_zone = tstr.c_str (); + + delete [] tm_zone; + tm_zone = strsave (tstr.c_str ()); + + tm.tm_zone = tm_zone; #endif return &tm; diff -r 53b38bf1d443 -r 91589ab98e37 src/Makefile.in --- a/src/Makefile.in Tue May 20 19:48:00 1997 +0000 +++ b/src/Makefile.in Wed May 21 21:51:38 1997 +0000 @@ -70,8 +70,8 @@ ov-str-mat.h ov-bool-mat.h ov-bool.h ov-file.h ov.h \ ov-fcn.h ov-builtin.h ov-mapper.h ov-usr-fcn.h ov-typeinfo.h -PT_INCLUDES := pt.h pt-all.h pt-arg-list.h pt-assign.h \ - pt-binop.h pt-cmd.h pt-colon.h pt-const.h pt-decl.h \ +PT_INCLUDES := pt.h pt-all.h pt-arg-list.h pt-assign.h pt-binop.h \ + pt-check.h pt-cmd.h pt-colon.h pt-const.h pt-decl.h \ pt-except.h pt-exp.h pt-id.h pt-idx.h pt-indir.h \ pt-jump.h pt-loop.h pt-mat.h pt-misc.h pt-plot.h \ pt-pr-code.h pt-select.h pt-stmt.h pt-unop.h pt-walk.h @@ -111,7 +111,7 @@ ov-bool-mat.cc ov-bool.cc ov-file.cc ov.cc ov-fcn.cc \ ov-builtin.cc ov-mapper.cc ov-usr-fcn.cc ov-typeinfo.cc -PT_SRC := pt.cc pt-arg-list.cc pt-assign.cc pt-binop.cc \ +PT_SRC := pt.cc pt-arg-list.cc pt-assign.cc pt-binop.cc pt-check.cc \ pt-cmd.cc pt-colon.cc pt-const.cc pt-decl.cc pt-except.cc \ pt-exp.cc pt-id.cc pt-idx.cc pt-indir.cc pt-jump.cc \ pt-loop.cc pt-mat.cc pt-misc.cc pt-plot.cc pt-pr-code.cc \ @@ -289,13 +289,14 @@ .PHONY: install-oct install-lib: - $(top_srcdir)/mkinstalldirs $(libdir) + $(top_srcdir)/mkinstalldirs $(octlibdir) for f in $(LIBS_TO_INSTALL); do \ - if [ -f $$f ]; then $(INSTALL_DATA) $$f $(libdir)/$$f; fi; \ + if [ -f $$f ]; then $(INSTALL_DATA) $$f $(octlibdir)/$$f; fi; \ done for f in $(SH_LIBS_TO_INSTALL); do \ - if [ -f $$f ]; then $(INSTALL_PROGRAM) $$f $(libdir)/$$f; fi; \ + if [ -f $$f ]; then $(INSTALL_PROGRAM) $$f $(octlibdir)/$$f; fi; \ done + $(mk-libdir-link) .PHONY: install-lib install-inc: @@ -308,25 +309,13 @@ rm -f $(octincludedir)/$$f ; \ $(INSTALL_DATA) $$f $(octincludedir)/$$f ; \ done - tmp=`echo $(octincludedir) | sed 's|/*$$||'` ; \ - dir=`echo $$tmp | sed 's|[^/]*$$||'` ; \ - src=`echo $$tmp | sed 's|^.*/||'` ; \ - dest=`echo $$src | sed 's|-$(version)$$||'` ; \ - if [ "$$src" = "$$dest" ] ; then \ - true ; \ - else \ - if [ -d $$dir/$$dest ] ; then \ - true ; \ - else \ - cd $$dir ; rm -f $$dest && $(LN_S) $$src $$dest ; \ - fi ; \ - fi + $(mk-includedir-link) .PHONY: install-inc uninstall: rm -f $(bindir)/octave$(EXE) - for f in $(LIBS_TO_INSTALL); do rm -f $(libdir)/$$f; done - for f in $(SH_LIBS_TO_INSTALL); do rm -f $(libdir)/$$f; done + for f in $(LIBS_TO_INSTALL); do rm -f $(octlibdir)/$$f; done + for f in $(SH_LIBS_TO_INSTALL); do rm -f $(octlibdir)/$$f; done for f in $(INCLUDES) defaults.h oct-conf.h; do \ rm -f $(octincludedir)/$$f; \ done diff -r 53b38bf1d443 -r 91589ab98e37 src/defaults.cc --- a/src/defaults.cc Tue May 20 19:48:00 1997 +0000 +++ b/src/defaults.cc Wed May 21 21:51:38 1997 +0000 @@ -202,7 +202,7 @@ static void set_default_editor (void) { - Veditor = "vi"; + Veditor = "emacs"; string env_editor = octave_env::getenv ("EDITOR"); diff -r 53b38bf1d443 -r 91589ab98e37 src/octave.cc --- a/src/octave.cc Tue May 20 19:48:00 1997 +0000 +++ b/src/octave.cc Wed May 21 21:51:38 1997 +0000 @@ -348,6 +348,7 @@ bind_builtin_variable ("PS1", ">> "); bind_builtin_variable ("PS2", ""); bind_builtin_variable ("beep_on_error", 1.0); + bind_builtin_variable ("default_eval_print_flag", 0.0); bind_builtin_variable ("default_save_format", "mat-binary"); bind_builtin_variable ("define_all_return_values", 1.0); bind_builtin_variable ("do_fortran_indexing", 1.0); diff -r 53b38bf1d443 -r 91589ab98e37 src/ov-list.cc --- a/src/ov-list.cc Tue May 20 19:48:00 1997 +0000 +++ b/src/ov-list.cc Wed May 21 21:51:38 1997 +0000 @@ -130,8 +130,8 @@ return false; } -DEFUN (make_list, args, , - "make_list (ARGS)\n\ +DEFUN (list, args, , + "list (ARGS)\n\ \n\ Create a new list from ARGS.") {