# HG changeset patch # User jwe # Date 887483917 0 # Node ID 352a80c32765d55e0a66643a08da4105f1c45712 # Parent 94fc53d8256106374c8fa6a4d41fbd8e40201437 [project @ 1998-02-14 19:17:59 by jwe] diff -r 94fc53d82561 -r 352a80c32765 Announce --- a/Announce Fri Feb 13 04:08:17 1998 +0000 +++ b/Announce Sat Feb 14 19:18:37 1998 +0000 @@ -1,4 +1,4 @@ -Subject: ANNOUNCE: Octave Version 2.0.9 released +Subject: ANNOUNCE: Octave Version 2.0.10 released Octave version 2.0.10 is now available for ftp from ftp.che.wisc.edu in the directory /pub/octave. Diffs from the previous have not been diff -r 94fc53d82561 -r 352a80c32765 INSTALL.Windows --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/INSTALL.Windows Sat Feb 14 19:18:37 1998 +0000 @@ -0,0 +1,112 @@ +Instructions for installing Octave on Windows NT/95 systems using the +beta 18 release of the gnu-win32 tools from Cygnus Support. + +1. Install the Cygnus gnu-win32 tools. You only need the user tools, + but you can install the full development kit instead (either will + work -- the development kit contains all the user tools plus the + GNU compilers and other development tools that are not needed to + just run Octave). The gnu-win32 tools are available from + ftp://ftp.cygnus.com/pub/gnu-win32/latest, and also from + ftp://ftp.che.wisc.edu/pub/octave/BINARIES/gnu-win32. + + -- Download usertools.exe or cdk.exe. + + -- Install the tools by running the file usertools.exe (or + cdk.exe) and following the directions. The default install + location is /gnuwin32/b18 (the rest of the examples in this + document assume that you've used the default location). + + -- Create a /bin directory and put a copy of sh.exe there. You + can find the sh.exe file in /gnuwin32/b18/H-i386-cygwin32/bin. + + -- Create a /tmp directory. + + -- Add + + C:\gnuwin32\b18\H-i386-cygwin32\bin + + to your $PATH. + + -- Create a /etc directory and put a copy of the termcap file + there. You can find a suitable termcap file in the directory + /gnuwin32/b18/H-i386-cygwin32/etc. + + -- There is a bug in the main gnu-win32 dll that will cause + Octave to fail. You need to fix it by either editing the file + (using an editor like Emacs that can handle binary files) or + by replacing it with the file cygwin-setpwent-fixed.dll from + ftp://ftp.che.wisc.edu/pub/octave/BINARIES/gnu-win32. + + To fix the problem by editing the file, open the file + /gnuwin32/b18/H-i386-cygwin32/bin/cygwin.dll and replace the + string setpwend with setpwent. This change needs to be made + in three places in the same file. Next, copy the fixed file to + /gnuwin32/b18/H-i386-cygwin32/i386-cygwin32/lib/cygwin.dll. + + To fix the problem by replacing the file with a version that's + already been fixed, download the file cygwin-setpwent-fixed.dll + from ftp://ftp.che.wisc.edu/pub/octave/BINARIES/gnu-win32 and + copy it to /gnuwin32/b18/H-i386-cygwin32/bin/cygwin.dll and + /gnuwin32/b18/H-i386-cygwin32/i386-cygwin32/lib/cygwin.dll. + +2. Install less for gnuwin32. A copy is available from + ftp://ftp.che.wisc.edu/pub/octave/BINARIES/gnu-win32 + + -- Download the file less-gnu-win32.tar.gz. + + -- Install it along with the gnu-win32 tools. Change your + directory to /gnuwin32/b18/H-i386-cygwin32/bin and untar the + less-gnu-win32.tar.gz file (bash syntax): + + tar zxf /path/to/less-gnu-win32.tar.gz + + -- Set the environment variable TERM to linux. + +3. Install Octave. + + -- Download the file octave-2.0.10-i386-pc-cygwin32.tar.gz from + ftp://ftp.che.wisc.edu/pub/octave/BINARIES/gnu-win32. + + -- Untar the distribution: + + tar zxf octave-2.0.10-i386-pc-cygwin32.tar.gz + + The files will be unpacked into a subdirectory called + octave-2.0.10-i386-pc-cygwin32. + + -- Change your directory to octave-2.0.10-i386-pc-cygwin32 and + install the files using the command ./install-octave (running + bash). + + -- The default installation directory is /octave. If you choose + a different installation directory, you will have to set the + environment variable OCTAVE_HOME to the name of that directory + (using Unix file name syntax) in order for Octave to work. + + -- Add C:\octave\bin to your path. + + -- Set the environment variable TERM to linux. + + -- Optionally set the environment variables HOME (for your home + direoctory using Unix file name syntax) and USER (for your user + name). + +Note that Octave requires gnuplot for plotting, but the normal Windows +version of gnuplot will not work because it only reads from the GUI +and refuses to read input from stdin. Mumit Khan has written a patch +that fixes the problem, but the gnuplot license does not allow us to +distribute modified versions of gnuplot in binary form. The patch is +available from http://www.xraylith.wisc.edu/~khan/software/gnu-win32. + +Eventually, I hope to automate most of this process and make it much +simpler. Please contact me if you are interested in helping out with +this task. + +Thanks, + +John W. Eaton +jwe@bevo.che.wisc.edu +University of Wisconsin-Madison +Department of Chemical Engineering + +Fri Feb 13 19:24:01 1998 diff -r 94fc53d82561 -r 352a80c32765 README.Windows --- a/README.Windows Fri Feb 13 04:08:17 1998 +0000 +++ b/README.Windows Sat Feb 14 19:18:37 1998 +0000 @@ -1,62 +1,44 @@ -Octave has been mostly ported to Windows NT and Windows 95 using the -beta 17 release of the Cygnus GNU-WIN32 tools. Not everything works, -but it is usable. If you would like to volunteer to work on -improving this port, please contact bug-octave@bevo.che.wisc.edu. +Octave has been ported to Windows NT and Windows 95 using the beta 18 +release of the Cygnus gnu-win32 tools. If you would like to volunteer +to work on improving this port, please contact bug-octave@bevo.che.wisc.edu. + +The directory ftp://ftp.che.wisc.edu/pub/octave/BINARIES/gnu-win32 +contains a binary distribution of Octave for Windows NT/95 along with +installation instructions. Unless you are interested in doing some +hacking, you should use the binary releases. Here is a list of current problems (and workarounds, where available). -* There is no binary version of Octave available for Windows NT or - Windows 95. One will probably be released when the port is a little - more stable. - -* To compile and install Octave on a Windows NT or Windows 95 system, - you will need to get the beta 17 release of the GNU-WIN32 tools. They - are available from ftp://ftp.cygnus.com/pub/gnu-win32. +* To compile and install Octave on a Windows NT/95 system, + you will need to get the beta 18 release of the gnu-win32 tools. + They are available from ftp://ftp.cygnus.com/pub/gnu-win32. -* There is a conflict between the files /cygnus/include/g++/String.h and - /cygnus/H-i386-cygwin32/i386-cygwin32/include/stringh. You should - rename or remove /cygnus/include/g++/String.h. (These file names - assume that you have installed the GNU-WIN32 tools in /cygnus). +* There is a conflict between /gnu-win32/b18/include/g++/String.h + and /gnu-win32/b18/H-i386-cygwin32/i386-cygwin32/include/string.h. + You should rename or remove /gnu-win32/b18/include/g++/String.h. + (These file names assume that you have installed the gnu-win32 tools + in /gnu-win32/b18). -* On Windows 95 systems, there is a bug that causes redirections to - /dev/null to fail. You can work around the problem by substituting - /dev/nul for /dev/null in all of the files that use it. (This - problem is fixed in the b17.1 release of the tools.) - -* You will need to have f2c and libf2c.a or g77 installed. You can get - a copy of f2c from ftp://netlib.att.com/netlib/f2c. +* You will need to have f2c and libf2c.a or g77 installed. I would + recommend using g77. Mumit Khan has directions for building g77 at + http://www.xraylith.wisc.edu/~khan/software/gnu-win32/g77.html. + Another solution is to use egcs, which includes g77. The egcs + compiler is available from http://www.cygnus.com/egcs. * You will also need a termcap library. The GNU termcap library seems to work. You can get it from any GNU archive site, including - ftp://prep.ai.mit.edu/pub/gnu/termcap-1.3.tar.gz. - -* GNU info doesn't work yet. It compiles but doesn't run. Perhaps the - problem is just that a proper termcap entry needs to be defined. - -* If no other pager can be found, Octave will use more.com. Since - that's a pretty limited pager (no going backward, etc.) you may want - to find a working version of less. The GNU-WIN32 tools used to - include a copy of less, but I am told it was dropped from the - distribution because it didn't work very well. If you know of a - better port of less that will work with Octave, please contact - bug-octave@bevo.che.wisc.edu. + ftp://ftp.gnu.org/pub/gnu/termcap-1.3.tar.gz. -* To make plotting work, you will need to find a version of gnuplot - that can read commands from a pipe. The binary versions of gnuplot - for Windows that I found could only read from their command windows, - and wouldn't accept commands through a pipe, so they could not be - called from Octave. - - After deleting -DREADLINE from the Makefile, I was able to compile a - working version of gnuplot 3.6 beta 315 using the GNU-WIN32 tools, - but it does not support the Windows graphics terminal. It does - support dumb terminals and lots of other output devices, including - PostScript, but it would be much nicer if it could open a separate - window and draw pretty graphs there. +* Octave requires gnuplot for plotting, but the normal Windows version + of gnuplot will not work because it only reads from the GUI and refuses + to read input from stdin. Mumit Khan has written a patch that fixes + the problem, but the gnuplot license does not allow us to distribute + modified versions of gnuplot in binary form. The patch is available + from http://www.xraylith.wisc.edu/~khan/software/gnu-win32. * If Octave takes a long time to find function files, you may have to modify your LOADPATH to avoid device names specified using the - `//DEV/sudir' syntax. To map the D: drive (for example) to + `//DEV/subdir' syntax. To map the D: drive (for example) to /D_DRIVE, do the following: cd / @@ -69,7 +51,7 @@ If you know of solutions for any of the problems mentioned above, please contact bug-octave@bevo.che.wisc.edu. -More information about the GNU-WIN32 project is available via the WWW +More information about the gnu-win32 project is available via the WWW at http://www.cygnus.com/gnu-win32. John W. Eaton @@ -77,4 +59,4 @@ University of Wisconsin-Madison Department of Chemical Engineering -Thu Jan 15 23:35:03 1998 +Sat Feb 14 13:12:19 1998 diff -r 94fc53d82561 -r 352a80c32765 doc/faq/Octave-FAQ.texi --- a/doc/faq/Octave-FAQ.texi Fri Feb 13 04:08:17 1998 +0000 +++ b/doc/faq/Octave-FAQ.texi Sat Feb 14 19:18:37 1998 +0000 @@ -8,7 +8,7 @@ @titlepage @title Octave FAQ @subtitle Frequently asked questions about Octave -@subtitle December 14, 1996 +@subtitle February 14, 1998 @sp 1 @author John W. Eaton @page @@ -90,15 +90,10 @@ @node Version 2.0, Octave Features, What is Octave?, Top @chapter What's new in version 2.0 of Octave -The long-awaited version 2.0 of Octave has now been released. Many -bugs have been fixed and lots of new features added. Octave is now much -more compatible with @sc{Matlab}. - -Version 2.0 fixes many bugs, but as with any ``x.y.0'' release there -will be a few glitches. There will probably be a 2.0.1 release to fix -most of these problems. You can help contribute to the quality of -Octave by using it and submitting bug reports for the problems you -encounter. +Version 2.0.10 of Octave was released February 6, 1998. Most bugs +reported since version 2.0 was release have been fixed, and a number of +new features have been added. Octave is now much more compatible with +@sc{Matlab}. A list of user-visible changes in recent versions of Octave may be found in the file NEWS, distributed in both source and binary releases of @@ -458,9 +453,8 @@ command to start the GNU info browser directly from the Octave prompt. It is also possible to use your favorite WWW browser to read the Octave -manual (or any other Info file) by using Roar Smith's info2www program -to convert GNU Info files to HTML. The source for info2www is available -from @url{ftp://ftp.che.wisc.edu/pub/www}. +manual by converting the Texinfo source to HTML using the +@code{texi2html} program. @node Getting Octave, Installation, Documentation, Top @chapter Obtaining Source Code @@ -484,26 +478,21 @@ Octave was not developed by the FSF, but the FSF does distribute Octave, and the developers of Octave support the efforts of the FSF by -encouraging users of Octave to order Octave on tape or CD directly from +encouraging users of Octave to order Octave on CD-ROM directly from the FSF. The FSF is a nonprofit organization that distributes software and -manuals to raise funds for more GNU development. Buying a tape or CD -from the FSF contributes directly to paying staff to develop GNU -software. CD-ROMs cost $400 if an organization is buying, or $100 if an -individual is buying. Tapes cost around $200 depending on media type. - -The FSF only makes new CD releases a few times a year, so if you are -interested specifically in Octave, I recommend asking for the latest -release on tape. +manuals to raise funds for more GNU development. Buying a CD-ROM from +the FSF contributes directly to paying staff to develop GNU software. +CD-ROMs cost $240 if an organization is buying, or $60 if an individual +is buying. @cindex FSF [Free Software Foundation] @cindex GNU [GNU's not unix] For more information about ordering from the FSF, contact -gnu@@prep.ai.mit.edu, phone (617) 542-5942 or anonymous ftp file -@file{/pub/gnu/GNUinfo/ORDERS} from prep.ai.mit.edu or one of the sites -listed below. +gnu@@gnu.org, phone (617) 542-5942 or anonymous ftp the file +@file{/pub/gnu/GNUinfo/ORDERS} from ftp.gnu.org. @cindex FSF, contact @cindex GNUware, anonymous FTP sites @@ -532,35 +521,35 @@ @cindex VMS support @cindex VAX @cindex MS-DOS support +@cindex Windows support @cindex DJGPP @cindex EMX @cindex OS/2 support -Octave currently runs on Unix-like systems only. It should be possible -to make Octave work on other systems. If you are interested in porting -Octave to other systems, please contact bug-octave@@bevo.che.wisc.edu. +Octave currently runs on Unix-like systems, OS/2, and Windows NT/95 +(using the gnu-win32 tools from Cygnus Support). It should be possible +to make Octave work on other systems as well. If you are interested in +porting Octave to other systems, please contact +bug-octave@@bevo.che.wisc.edu. @node latest versions, , Octave for other platforms, Getting Octave @section What is the latest version of Octave @cindex Octave, version date -The latest version of Octave is 2.0, released December 1996. +The latest version of Octave is 2.0.10, released February 6, 1998. @node Installation, Common problems, Getting Octave, Top @chapter Installation Issues and Problems @cindex Octave, building -Octave requires approximately 50MB of disk storage to unpack and -install (significantly less if you don't compile with debugging -symbols). - -Octave has been compiled and tested with g++ and libg++ on a -SPARCstation 2 running SunOS 4.1.2, an IBM RS/6000 running AIX 3.2.5, -DEC Alpha systems running OSF/1 1.3 and 3.0, a DECstation 5000/240 -running Ultrix 4.2a, and i486 systems running Linux. It should work on -most other Unix systems that have a working port of g++ and libg++. +Octave requires approximately 125MB of disk storage to unpack and +compile from source (significantly less if you don't compile with +debugging symbols or create shared libraries). Once installed, Octave +requires approximately 65MB of disk space (again, considerably less if +you don't build shared libraries or the binaries and libraries do not +include debugging symbols). @menu * What else do I need?:: @@ -577,11 +566,20 @@ @cindex Flex @cindex GNU Bison - In order to build Octave, you will need a current version -of g++, libg++, and GNU make. If you don't have these tools, you can -get them from many anonymous ftp archives, including ftp.che.wisc.edu, -ftp.uu.net, prep.ai.mit.edu, and wuarchive.wustl.edu, or by writing to -the FSF at 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +To compile Octave, you will need a recent version of GNU Make. You +will also need g++ 2.7.2 or later. Version 2.8.0 or egcs 1.0.x should +work. Later versions may work, but C++ is still evolving, so don't be +too surprised if you run into some trouble. + +It is no longer necessary to have libg++, but you do need to have the +GNU implementation of libstdc++. If you are using g++ 2.7.2, +libstdc++ is distributed along with libg++, but for later versions, +libstdc++ is distributed separately. For egcs, libstdc++ is included +with the compiler distribution. + +You must have gnu make to compile octave. Octave's Makefiles +use features of GNU Make that are not present in other versions of make. +GNU Make is very portable and easy to install. @node Other C++ compilers?, , What else do I need?, Installation @section Can I compile Octave with another C++ compiler? @@ -718,22 +716,25 @@ @example @group - PS1 = ">> "; - PS2 = ""; - beep_on_error = 1; - default_save_format = "mat-binary"; - define_all_return_values = 1; - do_fortran_indexing = 1; - empty_list_elements_ok = 1; - implicit_str_to_num_ok = 1; - ok_to_lose_imaginary_part = 1; - page_screen_output = 0; - prefer_column_vectors = 0; - prefer_zero_one_indexing = 1; - print_empty_dimensions = 0; - treat_neg_dim_as_zero = 1; - warn_function_name_clash = 0; - whitespace_in_literal_matrix = "traditional"; + PS1 = ">> " + PS2 = "" + beep_on_error = 1.0 + default_eval_print_flag = 0.0 + default_save_format = "mat-binary" + define_all_return_values = 1.0 + do_fortran_indexing = 1.0 + empty_list_elements_ok = 1.0 + fixed_point_format = 1.0 + implicit_num_to_str_ok = 1.0 + implicit_str_to_num_ok = 1.0 + ok_to_lose_imaginary_part = 1.0 + page_screen_output = 0.0 + prefer_column_vectors = 0.0 + prefer_zero_one_indexing = 1.0 + print_empty_dimensions = 0.0 + treat_neg_dim_as_zero = 1.0 + warn_function_name_clash = 0.0 + whitespace_in_literal_matrix = "traditional" @end group @end example diff -r 94fc53d82561 -r 352a80c32765 doc/interpreter/emacs.texi --- a/doc/interpreter/emacs.texi Fri Feb 13 04:08:17 1998 +0000 +++ b/doc/interpreter/emacs.texi Sat Feb 14 19:18:37 1998 +0000 @@ -69,7 +69,7 @@ @lisp (autoload 'octave-mode "octave-mod" nil t) (setq auto-mode-alist - (cons '(\"\\\\.m$\" . octave-mode) auto-mode-alist)) + (cons '("\\.m$" . octave-mode) auto-mode-alist)) @end lisp @item diff -r 94fc53d82561 -r 352a80c32765 liboctave/Array-idx.h --- a/liboctave/Array-idx.h Fri Feb 13 04:08:17 1998 +0000 +++ b/liboctave/Array-idx.h Sat Feb 14 19:18:37 1998 +0000 @@ -243,10 +243,13 @@ } else { - (*current_liboctave_error_handler) - ("A([]) = X: X must also be an empty matrix"); + if (rhs_len != 0) + { + (*current_liboctave_error_handler) + ("A([]) = X: X must also be an empty matrix"); - retval = 0; + retval = 0; + } } lhs.clear_index (); diff -r 94fc53d82561 -r 352a80c32765 liboctave/ChangeLog --- a/liboctave/ChangeLog Fri Feb 13 04:08:17 1998 +0000 +++ b/liboctave/ChangeLog Sat Feb 14 19:18:37 1998 +0000 @@ -1,3 +1,8 @@ +Tue Feb 10 16:14:36 1998 John W. Eaton + + * Array-idx.h (assign): Allow A([]) = X to succeed if X is an + empty matrix of any dimension. + Thu Feb 5 02:12:38 1998 John W. Eaton * oct-syscalls.cc (octave_syscalls::vfork): New function. diff -r 94fc53d82561 -r 352a80c32765 octMakefile.in --- a/octMakefile.in Fri Feb 13 04:08:17 1998 +0000 +++ b/octMakefile.in Sat Feb 14 19:18:37 1998 +0000 @@ -39,7 +39,7 @@ # Subdirectories in which to run `make all'. -INSTALL_SUBDIRS = @INFO_DIR@ libcruft liboctave src scripts doc examples +INSTALL_SUBDIRS = libcruft liboctave src scripts doc examples # Subdirectories in which to run `make conf-dist'. CONF_DISTSUBDIRS = src