#! /bin/sh # # To apply this patch, cd to the top level Octave source directory and # run this file through /bin/sh. It will first remove any files that # have been deleted from the source distribution since the last # release and then update the sources with patch(1). # # Diffs for updating *.ps, *.dvi, and *.info* files are not included # because they can be recreated from the Texinfo files using TeX and # makeinfo. # # Diffs for updating parse.cc and y.tab.h are not included because # they can be recreated from the file parse.y using bison. # # Diffs for updating lex.cc are not included because it can be # recreated from lex.l using flex. # # Diffs for updating the configure script are not included because # it can be recreated from configure.in using autoconf. # # John W. Eaton # jwe@bevo.che.wisc.edu # University of Wisconsin-Madison # Department of Chemical Engineering if test -f src/octave.cc ; then true else echo '***********************************************************' 1>&2 echo 'You must run this script in the top-level octave directory!' 1>&2 echo '***********************************************************' 1>&2 exit 1 fi ### ### Special commands should go here. ### mv README.WINDOWS README.Windows echo 'patching existing files' patch -p1 << \PATCH_EOF diff -cNr octave-2.0/ChangeLog octave-2.0.1/ChangeLog *** octave-2.0/ChangeLog Tue Dec 10 01:34:41 1996 --- octave-2.0.1/ChangeLog Tue Jan 7 00:16:40 1997 *************** *** 1,3 **** --- 1,35 ---- + Tue Jan 7 00:16:35 1997 John W. Eaton + + * Version 2.0.1 released. + + Thu Dec 19 16:18:59 1996 John W. Eaton + + * aclocal.m4 (OCTAVE_FLIBS): Only add -Xlinker args if compiler is + gcc. + + Sat Dec 14 09:46:50 1996 John W. Eaton + + * README.Linux: New file. + * octMakefile.in: Distribute it. + + Fri Dec 13 22:37:49 1996 John W. Eaton + + * configure.in (TERMLIBS): Look for termcap and terminfo after + ncurses and curses. + + Thu Dec 12 02:27:08 1996 John W. Eaton + + * Makeconf.in (ALL_LDFLAGS): Add CPICFLAG here since gcc needs it + on some systems. + + * configure.in (FPICFLAGS): Set to -fPIC if using g77 on HP/UX. + + * Makefile.in, octMakefile.in: Delete all doc-dist, local-dist, + and split-dist targets. Likewise for all other Makefiles in the + subdirectories. + + * README.Windows: Renamed from README.WINDOWS. + Tue Dec 10 01:33:52 1996 John W. Eaton * Version 2.0 released. diff -cNr octave-2.0/Makeconf.in octave-2.0.1/Makeconf.in *** octave-2.0/Makeconf.in Mon Dec 9 14:18:57 1996 --- octave-2.0.1/Makeconf.in Thu Dec 12 14:41:34 1996 *************** *** 113,119 **** LDFLAGS = @LDFLAGS@ LD_STATIC_FLAG = @LD_STATIC_FLAG@ ALL_LDFLAGS = $(LIBFLAGS) $(FORTRAN_MAIN_FLAG) $(GCC_IEEE_FP_FLAG) \ ! $(LD_STATIC_FLAG) $(LDFLAGS) RLD_FLAG = @RLD_FLAG@ --- 113,119 ---- LDFLAGS = @LDFLAGS@ LD_STATIC_FLAG = @LD_STATIC_FLAG@ ALL_LDFLAGS = $(LIBFLAGS) $(FORTRAN_MAIN_FLAG) $(GCC_IEEE_FP_FLAG) \ ! $(LD_STATIC_FLAG) $(CPICFLAG) $(LDFLAGS) RLD_FLAG = @RLD_FLAG@ diff -cNr octave-2.0/Makefile.in octave-2.0.1/Makefile.in *** octave-2.0/Makefile.in Wed Oct 30 13:11:13 1996 --- octave-2.0.1/Makefile.in Thu Dec 12 02:18:24 1996 *************** *** 37,46 **** src scripts doc check octave.info INSTALL.OCTAVE BUGS \ install uninstall tags TAGS clean-tar dist-z links-for-dist \ dist-tar clean-dist-tar dist links-for-bin-dist bin-dist-tar \ ! clean-bin-dist-tar binary-dist doc-dist-tar clean-doc-dist-tar \ ! doc-dist local-dist-tar clean-local-dist-tar local-dist \ ! split-dist split-local-dist conf-dist \ ! snapshot-z snapshot snapshot-version NO_DEP_TARGETS = clean mostlyclean distclean maintainer-clean --- 37,44 ---- src scripts doc check octave.info INSTALL.OCTAVE BUGS \ install uninstall tags TAGS clean-tar dist-z links-for-dist \ dist-tar clean-dist-tar dist links-for-bin-dist bin-dist-tar \ ! clean-bin-dist-tar binary-dist conf-dist snapshot-z snapshot \ ! snapshot-version NO_DEP_TARGETS = clean mostlyclean distclean maintainer-clean diff -cNr octave-2.0/PROJECTS octave-2.0.1/PROJECTS *** octave-2.0/PROJECTS Sun Dec 8 22:38:28 1996 --- octave-2.0.1/PROJECTS Mon Jan 6 00:23:23 1997 *************** *** 78,83 **** --- 78,87 ---- * Check matrix classes for proper handling of empty matrices. + * Force all empty matrices to be 0x0 even when other dimensions have + been speicified, for compatibility with Matlab, at least when some + preference variable is set. + * Improve design of ODE, DAE, classes. * Make it possible to specify a time which dassl and lsode should *************** *** 209,214 **** --- 213,231 ---- ----------- Interpreter: ----------- + + * Fix the parser so that + + function foo () + implicit_str_to_num_ok = 1; + '#' + 0; + endfunction + + succeeds, even when implicit_str_to_num_ok is 0 at the time the + function is parsed. + + * Consider making x(:) work no matter what the value of + do_fortran_indexing. * If foo.oct and foo.m both exist in the LOADPATH, Octave will always find foo.oct, even if foo.m appears earlier in the list of diff -cNr octave-2.0/README.Linux octave-2.0.1/README.Linux *** octave-2.0/README.Linux Wed Dec 31 18:00:00 1969 --- octave-2.0.1/README.Linux Tue Jan 7 00:19:53 1997 *************** *** 0 **** --- 1,143 ---- + Since July 1996, most work on Octave has been done using a Linux + system, and a number of people who regularly test Octave snapshot + releases also primarily use Linux systems. + + However, I have recently started to receive a significant number of + reports from people who say that they can't compile or run Octave on + Linux systems. In nearly every case, the problem has turned out + to be that the compilers or libraries have not been installed + properly. I suspect that this often results from a botched upgrade, + or from attempting to install the compilers from the standard source + distributions. But in some cases, the cause has been a buggy Linux + distribution. Many of these problems go unnoticed because much of the + software for Linux is written in C, not C++. + + Octave compiles, but it won't run + --------------------------------- + + If you can compile Octave, but it crashes with a segmentation fault + right away, you probably have incompatible versions of libc and libg++ + installed, or you have a version of the dynamic loader, ld.so, that is + incompatible with your versions of the libraries, or both. + + On my development system, I am using the following software: + + * Linux kernel 2.0.6 + * gcc/g++ 2.7.2 + * libg++/libstdc++ 2.7.1.0 + * libm 5.0.5 + * libc 5.2.18 + * libncurses 3.0 + * ld.so 1.7.14 + + I know from experience that the versions listed above seem to work + well together. But if you have a newer version of the kernel, you may + need a newer version of the C library. I don't have time to keep up + with all the various library versions (life is much too short for + that), nor do I know which combinations are supposed to work together. + That sort of information should be clearly stated in the release notes + for the libraries. If it is not, please ask the maintainers of the + libraries to clarify the documentation. + + Octave won't even compile + ------------------------- + + If you can't compile Octave, you should first check to see that your + compiler and header files are properly installed. Do you have + multiple versions of the g++ include files on your system? Are you + sure that your copy of g++ is finding the right set? You can find out + by compiling a simple C++ program with -v: + + bash$ cat foo.cc + #include + int main (void} { cerr << "yo\n"; return 0; } + + bash$ g++ -v foo.cc + gcc -v foo.cc -lg++ -lstdc++ -lm + Reading specs from /usr/lib/gcc-lib/i486-linux/2.7.2/specs + gcc version 2.7.2 + /usr/lib/gcc-lib/i486-linux/2.7.2/cpp -lang-c++ -v -undef ... + #include "..." search starts here: + #include <...> search starts here: + /usr/lib/g++-include + /usr/local/include + /usr/i486-linux/include + /usr/lib/gcc-lib/i486-linux/2.7.2/include + /usr/include + End of search list. + ... + + If the location of the correct set of include files is not listed in + the search path, then you might be able to fix that with a symbolic + link. However, if your version of libg++ was not compiled with your + current version of gcc, you are likely to run into more trouble. + + The linker can't find -lieee + ---------------------------- + + This can happen because your libraries don't match your version of + gcc. Some recent Linux distributions don't include a libieee.a file + because IEEE support is now the default and the library is no longer + needed, but the gcc specs file still adds -lieee to the linker command + if gcc is invoked with the -mieeefp flag. I believe that you should + be able to fix this by editing the gcc specs file. In it, you should + find something like this: + + %{!shared: %{mieee-fp:-lieee} %{p:-lgmon} %{pg:-lgmon} \ + %{!ggdb:-lc} %{ggdb:-lg}} + + changing it to + + %{!shared: %{p:-lgmon} %{pg:-lgmon} %{!ggdb:-lc} %{ggdb:-lg}} + + should keep gcc from adding -lieee to the link command. You can find + the location of the specs file by running the command gcc -v. + + If you can't edit the gcc specs file for some reason, another solution + that should work is to create an empty libieee.a file in the Octave + src directory using the command: + + ar cq libieee.a + + My system doesn't have g77 + -------------------------- + + A binary release of g77 that should work with gcc 2.7.2 is available + from sunsite.unc.edu in the directory /pub/Linux/devel/lang/fortran. + There is also a Debian package for g77. + + Problems with g77 on Debian 1.2 systems (and possibly others) + ------------------------------------------------------------- + + The location of the compiler binaries has changed, so the g77 0.5.18 + package can not be used without modification. The problem is that the + Debian package was built for gcc 2.7.2 and not 2.7.2.1 and the f771 + backend is installed in the wrong directory. + + Version 0.5.19 of g77 has just been released. A fixed Debian package + may be made available soon. Until then, you can make things work by + copying f771 and libf2c.a from /usr/lib/gcc-lib/i486-linux/2.7.2 to + /usr/lib/gcc-lib/i486-linux/2.7.2.1. + + Upgrading your compiler and libraries + ------------------------------------- + + Installing libg++ on a Linux system is not as simple as it should be, + because libg++ shares some basic I/O code with the Linux C library, + and they must be compatible. You should get and read the release + notes for the compiler and libraries. + + If you decide to install versions of the libraries that are older (or + newer) than the ones you already have, you should follow the + directions in the release notes very carefully. + + + If you have comments or suggestions for this document, please contact + bug-octave@bevo.che.wisc.edu. + + John W. Eaton + jwe@bevo.che.wisc.edu + University of Wisconsin-Madison + Department of Chemical Engineering + + Thu Dec 19 13:07:46 1996 diff -cNr octave-2.0/README.Windows octave-2.0.1/README.Windows *** octave-2.0/README.Windows Tue Dec 10 01:08:30 1996 --- octave-2.0.1/README.Windows Sat Dec 14 09:06:39 1996 *************** *** 20,26 **** * 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. * 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. --- 20,27 ---- * 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. diff -cNr octave-2.0/aclocal.m4 octave-2.0.1/aclocal.m4 *** octave-2.0/aclocal.m4 Mon Dec 9 11:13:53 1996 --- octave-2.0.1/aclocal.m4 Thu Dec 19 16:25:28 1996 *************** *** 134,140 **** dnl systems... dnl if test -n "$ld_run_path"; then ! ld_run_path="-Xlinker -R -Xlinker $ld_run_path" fi dnl flibs= --- 134,144 ---- dnl systems... dnl if test -n "$ld_run_path"; then ! if test "$ac_cv_prog_gcc" = yes; then ! ld_run_path="-Xlinker -R -Xlinker $ld_run_path" ! else ! ld_run_path="-R $ld_run_path" ! fi fi dnl flibs= *************** *** 174,180 **** if $exists; then arg= else ! lflags="$lflags -Xlinker $arg" fi ;; -lang*) --- 178,188 ---- if $exists; then arg= else ! if test "$ac_cv_prog_gcc" = yes; then ! lflags="$lflags -Xlinker $arg" ! else ! lflags="$lflags $arg" ! fi fi ;; -lang*) diff -cNr octave-2.0/configure octave-2.0.1/configure *** octave-2.0/configure Tue Dec 10 01:49:30 1996 --- octave-2.0.1/configure Tue Jan 7 00:15:13 1997 *************** *** 1,6 **** #! /bin/sh ! # From configure.in Revision: 1.242 --- 1,6 ---- #! /bin/sh ! # From configure.in Revision: 1.243 *************** *** 1429,1435 **** DLFCN_DIR=dlfcn ;; hppa*-hp-hpux*) ! FPICFLAG=+Z SHLEXT=sl RLD_FLAG='-Xlinker +b -Xlinker $(libdir)' ;; --- 1429,1439 ---- DLFCN_DIR=dlfcn ;; hppa*-hp-hpux*) ! if $use_g77; then ! FPICFLAG=-fPIC ! else ! FPICFLAG=+Z ! fi SHLEXT=sl RLD_FLAG='-Xlinker +b -Xlinker $(libdir)' ;; *************** *** 1482,1488 **** ### functions like gethostname and gettimeofday is in libsocket. echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 ! echo "configure:1486: checking for POSIXized ISC" >&5 if test -d /etc/conf/kconfig.d && grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 then --- 1486,1492 ---- ### functions like gethostname and gettimeofday is in libsocket. echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 ! echo "configure:1490: checking for POSIXized ISC" >&5 if test -d /etc/conf/kconfig.d && grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 then *************** *** 1504,1520 **** ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6 ! echo "configure:1508: checking for minix/config.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1518: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 1508,1524 ---- ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6 ! echo "configure:1512: checking for minix/config.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:1522: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 1552,1560 **** fi echo $ac_n "checking for AIX""... $ac_c" 1>&6 ! echo "configure:1556: checking for AIX" >&5 cat > conftest.$ac_ext <&6 ! echo "configure:1560: checking for AIX" >&5 cat > conftest.$ac_ext <&6 ! echo "configure:1580: checking for getpwnam in -lsun" >&5 ac_lib_var=`echo sun'_'getpwnam | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1580,1586 ---- echo $ac_n "checking for getpwnam in -lsun""... $ac_c" 1>&6 ! echo "configure:1584: checking for getpwnam in -lsun" >&5 ac_lib_var=`echo sun'_'getpwnam | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1584,1590 **** ac_save_LIBS="$LIBS" LIBS="-lsun $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 1599,1605 ---- getpwnam() ; return 0; } EOF ! if { (eval echo configure:1603: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 1623,1629 **** fi echo $ac_n "checking for gethostname in -lsocket""... $ac_c" 1>&6 ! echo "configure:1627: checking for gethostname in -lsocket" >&5 ac_lib_var=`echo socket'_'gethostname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 1627,1633 ---- fi echo $ac_n "checking for gethostname in -lsocket""... $ac_c" 1>&6 ! echo "configure:1631: checking for gethostname in -lsocket" >&5 ac_lib_var=`echo socket'_'gethostname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 1631,1637 **** ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 1646,1652 ---- gethostname() ; return 0; } EOF ! if { (eval echo configure:1650: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 1674,1680 **** ### be eliminated in favor of run-time checks. echo $ac_n "checking size of short""... $ac_c" 1>&6 ! echo "configure:1678: checking size of short" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1678,1684 ---- ### be eliminated in favor of run-time checks. echo $ac_n "checking size of short""... $ac_c" 1>&6 ! echo "configure:1682: checking size of short" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1682,1688 **** { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() --- 1686,1692 ---- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() *************** *** 1693,1699 **** exit(0); } EOF ! if { (eval echo configure:1697: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_short=`cat conftestval` else --- 1697,1703 ---- exit(0); } EOF ! if { (eval echo configure:1701: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_short=`cat conftestval` else *************** *** 1713,1719 **** echo $ac_n "checking size of int""... $ac_c" 1>&6 ! echo "configure:1717: checking size of int" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1717,1723 ---- echo $ac_n "checking size of int""... $ac_c" 1>&6 ! echo "configure:1721: checking size of int" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1721,1727 **** { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() --- 1725,1731 ---- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() *************** *** 1732,1738 **** exit(0); } EOF ! if { (eval echo configure:1736: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int=`cat conftestval` else --- 1736,1742 ---- exit(0); } EOF ! if { (eval echo configure:1740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int=`cat conftestval` else *************** *** 1752,1758 **** echo $ac_n "checking size of long""... $ac_c" 1>&6 ! echo "configure:1756: checking size of long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1756,1762 ---- echo $ac_n "checking size of long""... $ac_c" 1>&6 ! echo "configure:1760: checking size of long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1760,1766 **** { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() --- 1764,1770 ---- { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < main() *************** *** 1771,1777 **** exit(0); } EOF ! if { (eval echo configure:1775: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long=`cat conftestval` else --- 1775,1781 ---- exit(0); } EOF ! if { (eval echo configure:1779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long=`cat conftestval` else *************** *** 1796,1814 **** # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 ! echo "configure:1800: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF ! if { (eval echo configure:1812: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_header_alloca_h=yes else --- 1800,1818 ---- # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 ! echo "configure:1804: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF ! if { (eval echo configure:1816: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_header_alloca_h=yes else *************** *** 1829,1840 **** fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 ! echo "configure:1833: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:1837: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_alloca_works=yes else --- 1861,1867 ---- char *p = (char *) alloca(1); ; return 0; } EOF ! if { (eval echo configure:1865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_alloca_works=yes else *************** *** 1889,1900 **** echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 ! echo "configure:1893: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:1897: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:1923: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:1927: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 1951,1957 ---- ; return 0; } EOF ! if { (eval echo configure:1955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 1974,1980 **** fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 ! echo "configure:1978: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 1978,1984 ---- fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 ! echo "configure:1982: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 1982,1988 **** ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else --- 2005,2011 ---- exit (find_stack_direction() < 0); } EOF ! if { (eval echo configure:2009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else *************** *** 2023,2034 **** fi echo $ac_n "checking for working const""... $ac_c" 1>&6 ! echo "configure:2027: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:2031: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else --- 2081,2087 ---- ; return 0; } EOF ! if { (eval echo configure:2085: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else *************** *** 2103,2109 **** echo $ac_n "checking for C++ libraries""... $ac_c" 1>&6 ! echo "configure:2107: checking for C++ libraries" >&5 if eval "test \"`echo '$''{'octave_cv_cxxlibs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2107,2113 ---- echo $ac_n "checking for C++ libraries""... $ac_c" 1>&6 ! echo "configure:2111: checking for C++ libraries" >&5 if eval "test \"`echo '$''{'octave_cv_cxxlibs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2119,2132 **** CXXFLAGS="$XCXXFLAGS -v" export CXXFLAGS coutput=`( cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then : else echo "configure: failed program was:" >&5 --- 2123,2136 ---- CXXFLAGS="$XCXXFLAGS -v" export CXXFLAGS coutput=`( cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then : else echo "configure: failed program was:" >&5 *************** *** 2200,2206 **** ### See if we should define NPOS. echo $ac_n "checking whether including defines NPOS""... $ac_c" 1>&6 ! echo "configure:2204: checking whether including defines NPOS" >&5 if eval "test \"`echo '$''{'octave_cv_string_npos'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2204,2210 ---- ### See if we should define NPOS. echo $ac_n "checking whether including defines NPOS""... $ac_c" 1>&6 ! echo "configure:2208: checking whether including defines NPOS" >&5 if eval "test \"`echo '$''{'octave_cv_string_npos'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2213,2226 **** cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { size_t foo = NPOS ; return 0; } EOF ! if { (eval echo configure:2224: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* octave_cv_string_npos=yes else --- 2217,2230 ---- cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext < int main() { size_t foo = NPOS ; return 0; } EOF ! if { (eval echo configure:2228: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* octave_cv_string_npos=yes else *************** *** 2263,2269 **** # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2267: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2267,2273 ---- # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2271: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2337,2343 **** # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2341: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_F77'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2341,2347 ---- # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2345: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_F77'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2375,2381 **** FUGLY=-fugly echo "$ac_t""defining FUGLY to be $FUGLY" 1>&6 echo $ac_n "checking for Fortran libraries""... $ac_c" 1>&6 ! echo "configure:2379: checking for Fortran libraries" >&5 if eval "test \"`echo '$''{'octave_cv_flibs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2379,2385 ---- FUGLY=-fugly echo "$ac_t""defining FUGLY to be $FUGLY" 1>&6 echo $ac_n "checking for Fortran libraries""... $ac_c" 1>&6 ! echo "configure:2383: checking for Fortran libraries" >&5 if eval "test \"`echo '$''{'octave_cv_flibs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2389,2395 **** sed -n -e 's/.*\(LD_RUN_PATH *= *[^ ]*\).*/\1/p' | \ sed -e 's/LD_RUN_PATH *= *//'` if test -n "$ld_run_path"; then ! ld_run_path="-Xlinker -R -Xlinker $ld_run_path" fi flibs= lflags= --- 2393,2403 ---- sed -n -e 's/.*\(LD_RUN_PATH *= *[^ ]*\).*/\1/p' | \ sed -e 's/LD_RUN_PATH *= *//'` if test -n "$ld_run_path"; then ! if test "$ac_cv_prog_gcc" = yes; then ! ld_run_path="-Xlinker -R -Xlinker $ld_run_path" ! else ! ld_run_path="-R $ld_run_path" ! fi fi flibs= lflags= *************** *** 2423,2429 **** if $exists; then arg= else ! lflags="$lflags -Xlinker $arg" fi ;; -lang*) --- 2431,2441 ---- if $exists; then arg= else ! if test "$ac_cv_prog_gcc" = yes; then ! lflags="$lflags -Xlinker $arg" ! else ! lflags="$lflags $arg" ! fi fi ;; -lang*) *************** *** 2498,2504 **** else if test -n "$F77"; then echo $ac_n "checking for Fortran libraries""... $ac_c" 1>&6 ! echo "configure:2502: checking for Fortran libraries" >&5 if eval "test \"`echo '$''{'octave_cv_flibs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2510,2516 ---- else if test -n "$F77"; then echo $ac_n "checking for Fortran libraries""... $ac_c" 1>&6 ! echo "configure:2514: checking for Fortran libraries" >&5 if eval "test \"`echo '$''{'octave_cv_flibs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2512,2518 **** sed -n -e 's/.*\(LD_RUN_PATH *= *[^ ]*\).*/\1/p' | \ sed -e 's/LD_RUN_PATH *= *//'` if test -n "$ld_run_path"; then ! ld_run_path="-Xlinker -R -Xlinker $ld_run_path" fi flibs= lflags= --- 2524,2534 ---- sed -n -e 's/.*\(LD_RUN_PATH *= *[^ ]*\).*/\1/p' | \ sed -e 's/LD_RUN_PATH *= *//'` if test -n "$ld_run_path"; then ! if test "$ac_cv_prog_gcc" = yes; then ! ld_run_path="-Xlinker -R -Xlinker $ld_run_path" ! else ! ld_run_path="-R $ld_run_path" ! fi fi flibs= lflags= *************** *** 2546,2552 **** if $exists; then arg= else ! lflags="$lflags -Xlinker $arg" fi ;; -lang*) --- 2562,2572 ---- if $exists; then arg= else ! if test "$ac_cv_prog_gcc" = yes; then ! lflags="$lflags -Xlinker $arg" ! else ! lflags="$lflags $arg" ! fi fi ;; -lang*) *************** *** 2611,2617 **** FLIBS="$octave_cv_flibs" echo "$ac_t""$FLIBS" 1>&6 echo $ac_n "checking whether $F77 uses uppercase external names""... $ac_c" 1>&6 ! echo "configure:2615: checking whether $F77 uses uppercase external names" >&5 if eval "test \"`echo '$''{'octave_cv_f77_uppercase_names'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2631,2637 ---- FLIBS="$octave_cv_flibs" echo "$ac_t""$FLIBS" 1>&6 echo $ac_n "checking whether $F77 uses uppercase external names""... $ac_c" 1>&6 ! echo "configure:2635: checking whether $F77 uses uppercase external names" >&5 if eval "test \"`echo '$''{'octave_cv_f77_uppercase_names'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2636,2642 **** fi echo $ac_n "checking whether $F77 appends underscores to external names""... $ac_c" 1>&6 ! echo "configure:2640: checking whether $F77 appends underscores to external names" >&5 if eval "test \"`echo '$''{'octave_cv_f77_append_underscore'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2656,2662 ---- fi echo $ac_n "checking whether $F77 appends underscores to external names""... $ac_c" 1>&6 ! echo "configure:2660: checking whether $F77 appends underscores to external names" >&5 if eval "test \"`echo '$''{'octave_cv_f77_append_underscore'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2670,2676 **** echo $ac_n "checking $F77/f2c compatibility""... $ac_c" 1>&6 ! echo "configure:2674: checking $F77/f2c compatibility" >&5 if eval "test \"`echo '$''{'octave_cv_f2c_f77_compat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2690,2696 ---- echo $ac_n "checking $F77/f2c compatibility""... $ac_c" 1>&6 ! echo "configure:2694: checking $F77/f2c compatibility" >&5 if eval "test \"`echo '$''{'octave_cv_f2c_f77_compat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2752,2758 **** # Extract the first word of "f2c", so it can be a program name with args. set dummy f2c; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2756: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_F2C'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 2772,2778 ---- # Extract the first word of "f2c", so it can be a program name with args. set dummy f2c; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:2776: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_F2C'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 2816,2822 **** oct_conflib=libconflib.a oct_obj_ext=o ! if { (eval echo configure:2820: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then $AR $ARFLAGS $oct_conflib conftest.$oct_obj_ext 1>&5 if test -n "$RANLIB"; then $RANLIB $oct_conflib 1>&5 --- 2836,2842 ---- oct_conflib=libconflib.a oct_obj_ext=o ! if { (eval echo configure:2840: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then $AR $ARFLAGS $oct_conflib conftest.$oct_obj_ext 1>&5 if test -n "$RANLIB"; then $RANLIB $oct_conflib 1>&5 *************** *** 2824,2830 **** fi rm -f conftest* echo $ac_n "checking for f_open in -lf2c""... $ac_c" 1>&6 ! echo "configure:2828: checking for f_open in -lf2c" >&5 ac_lib_var=`echo f2c'_'f_open | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2844,2850 ---- fi rm -f conftest* echo $ac_n "checking for f_open in -lf2c""... $ac_c" 1>&6 ! echo "configure:2848: checking for f_open in -lf2c" >&5 ac_lib_var=`echo f2c'_'f_open | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2832,2838 **** ac_save_LIBS="$LIBS" LIBS="-lf2c -L. -lconflib -lm $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2863,2869 ---- f_open() ; return 0; } EOF ! if { (eval echo configure:2867: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2868,2874 **** if test -z "$FLIBS"; then echo $ac_n "checking for d_sin in -lF77""... $ac_c" 1>&6 ! echo "configure:2872: checking for d_sin in -lF77" >&5 ac_lib_var=`echo F77'_'d_sin | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2888,2894 ---- if test -z "$FLIBS"; then echo $ac_n "checking for d_sin in -lF77""... $ac_c" 1>&6 ! echo "configure:2892: checking for d_sin in -lF77" >&5 ac_lib_var=`echo F77'_'d_sin | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2876,2882 **** ac_save_LIBS="$LIBS" LIBS="-lF77 -lm $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2907,2913 ---- d_sin() ; return 0; } EOF ! if { (eval echo configure:2911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2910,2916 **** if test -n "$FLIBS"; then echo $ac_n "checking for f_rew in -lI77""... $ac_c" 1>&6 ! echo "configure:2914: checking for f_rew in -lI77" >&5 ac_lib_var=`echo I77'_'f_rew | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 2930,2936 ---- if test -n "$FLIBS"; then echo $ac_n "checking for f_rew in -lI77""... $ac_c" 1>&6 ! echo "configure:2934: checking for f_rew in -lI77" >&5 ac_lib_var=`echo I77'_'f_rew | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 2918,2924 **** ac_save_LIBS="$LIBS" LIBS="-lI77 -lF77 $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 2949,2955 ---- f_rew() ; return 0; } EOF ! if { (eval echo configure:2953: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 2995,3006 **** ### Checks for header files. echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 ! echo "configure:2999: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 3015,3026 ---- ### Checks for header files. echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 ! echo "configure:3019: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 3008,3014 **** #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3012: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 3028,3034 ---- #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3032: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 3025,3031 **** if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF --- 3045,3051 ---- if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF *************** *** 3043,3049 **** if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF --- 3063,3069 ---- if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF *************** *** 3064,3070 **** : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') --- 3084,3090 ---- : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') *************** *** 3075,3081 **** exit (0); } EOF ! if { (eval echo configure:3079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else --- 3095,3101 ---- exit (0); } EOF ! if { (eval echo configure:3099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else *************** *** 3103,3114 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 ! echo "configure:3107: checking for $ac_hdr that defines DIR" >&5 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include <$ac_hdr> --- 3123,3134 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 ! echo "configure:3127: checking for $ac_hdr that defines DIR" >&5 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include <$ac_hdr> *************** *** 3116,3122 **** DIR *dirp = 0; ; return 0; } EOF ! if { (eval echo configure:3120: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else --- 3136,3142 ---- DIR *dirp = 0; ; return 0; } EOF ! if { (eval echo configure:3140: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else *************** *** 3141,3147 **** # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 ! echo "configure:3145: checking for opendir in -ldir" >&5 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3161,3167 ---- # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 ! echo "configure:3165: checking for opendir in -ldir" >&5 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3149,3155 **** ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 3180,3186 ---- opendir() ; return 0; } EOF ! if { (eval echo configure:3184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 3182,3188 **** else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 ! echo "configure:3186: checking for opendir in -lx" >&5 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3202,3208 ---- else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 ! echo "configure:3206: checking for opendir in -lx" >&5 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3190,3196 **** ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 3221,3227 ---- opendir() ; return 0; } EOF ! if { (eval echo configure:3225: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 3224,3235 **** fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 ! echo "configure:3228: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 3244,3255 ---- fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 ! echo "configure:3248: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 3238,3244 **** struct tm *tp; ; return 0; } EOF ! if { (eval echo configure:3242: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else --- 3258,3264 ---- struct tm *tp; ; return 0; } EOF ! if { (eval echo configure:3262: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else *************** *** 3259,3270 **** fi echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 ! echo "configure:3263: checking for sys/wait.h that is POSIX.1 compatible" >&5 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 3279,3290 ---- fi echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 ! echo "configure:3283: checking for sys/wait.h that is POSIX.1 compatible" >&5 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 3280,3286 **** s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF ! if { (eval echo configure:3284: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else --- 3300,3306 ---- s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF ! if { (eval echo configure:3304: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else *************** *** 3309,3325 **** do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:3313: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3323: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* --- 3329,3345 ---- do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 ! echo "configure:3333: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ! { (eval echo configure:3343: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* *************** *** 3357,3363 **** ### See if the optional nonlinear programming code is present. echo $ac_n "checking for npsol""... $ac_c" 1>&6 ! echo "configure:3361: checking for npsol" >&5 if test -f $srcdir/libcruft/npsol/npsol.f; then echo "$ac_t""yes" 1>&6 else --- 3377,3383 ---- ### See if the optional nonlinear programming code is present. echo $ac_n "checking for npsol""... $ac_c" 1>&6 ! echo "configure:3381: checking for npsol" >&5 if test -f $srcdir/libcruft/npsol/npsol.f; then echo "$ac_t""yes" 1>&6 else *************** *** 3369,3375 **** fi echo $ac_n "checking for qpsol""... $ac_c" 1>&6 ! echo "configure:3373: checking for qpsol" >&5 if test -f $srcdir/libcruft/qpsol/qpsol.f; then echo "$ac_t""yes" 1>&6 else --- 3389,3395 ---- fi echo $ac_n "checking for qpsol""... $ac_c" 1>&6 ! echo "configure:3393: checking for qpsol" >&5 if test -f $srcdir/libcruft/qpsol/qpsol.f; then echo "$ac_t""yes" 1>&6 else *************** *** 3381,3387 **** fi echo $ac_n "checking for fsqp""... $ac_c" 1>&6 ! echo "configure:3385: checking for fsqp" >&5 if test -f $srcdir/libcruft/fsqp/fsqpd.f; then echo "$ac_t""yes" 1>&6 else --- 3401,3407 ---- fi echo $ac_n "checking for fsqp""... $ac_c" 1>&6 ! echo "configure:3405: checking for fsqp" >&5 if test -f $srcdir/libcruft/fsqp/fsqpd.f; then echo "$ac_t""yes" 1>&6 else *************** *** 3403,3414 **** strnicmp tempnam umask unlink vfprintf vsprintf waitpid do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:3407: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:3427: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 3451,3457 ---- ; return 0; } EOF ! if { (eval echo configure:3455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 3457,3463 **** echo $ac_n "checking whether putenv uses malloc""... $ac_c" 1>&6 ! echo "configure:3461: checking whether putenv uses malloc" >&5 if eval "test \"`echo '$''{'octave_cv_func_putenv_malloc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 3477,3483 ---- echo $ac_n "checking whether putenv uses malloc""... $ac_c" 1>&6 ! echo "configure:3481: checking whether putenv uses malloc" >&5 if eval "test \"`echo '$''{'octave_cv_func_putenv_malloc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 3465,3471 **** octave_cv_func_putenv_malloc=no else cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then octave_cv_func_putenv_malloc=yes else --- 3538,3544 ---- exit (rstr1 == rstr2 ? 0 : 1); } EOF ! if { (eval echo configure:3542: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then octave_cv_func_putenv_malloc=yes else *************** *** 3539,3557 **** fi echo $ac_n "checking whether program_invocation_name is predefined""... $ac_c" 1>&6 ! echo "configure:3543: checking whether program_invocation_name is predefined" >&5 if eval "test \"`echo '$''{'octave_cv_var_program_inv_name'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* octave_cv_var_program_inv_name=yes else --- 3559,3577 ---- fi echo $ac_n "checking whether program_invocation_name is predefined""... $ac_c" 1>&6 ! echo "configure:3563: checking whether program_invocation_name is predefined" >&5 if eval "test \"`echo '$''{'octave_cv_var_program_inv_name'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* octave_cv_var_program_inv_name=yes else *************** *** 3581,3587 **** ;; *) echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 ! echo "configure:3585: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3601,3607 ---- ;; *) echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 ! echo "configure:3605: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3589,3595 **** ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 3620,3626 ---- dlopen() ; return 0; } EOF ! if { (eval echo configure:3624: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 3630,3641 **** for ac_func in dlopen dlsym dlerror dlclose do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:3634: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:3654: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 3678,3684 ---- ; return 0; } EOF ! if { (eval echo configure:3682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 3710,3716 **** if test "$WITH_SHL" = yes || test "$WITH_SHL" = maybe; then echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 ! echo "configure:3714: checking for shl_load in -ldld" >&5 ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3730,3736 ---- if test "$WITH_SHL" = yes || test "$WITH_SHL" = maybe; then echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 ! echo "configure:3734: checking for shl_load in -ldld" >&5 ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3718,3724 **** ac_save_LIBS="$LIBS" LIBS="-ldld $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 3749,3755 ---- shl_load() ; return 0; } EOF ! if { (eval echo configure:3753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 3759,3770 **** for ac_func in shl_load shl_findsym do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:3763: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:3783: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 3807,3813 ---- ; return 0; } EOF ! if { (eval echo configure:3811: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 3849,3860 **** ### which one (if any) appears in sys/time.h. echo $ac_n "checking for gettimeofday""... $ac_c" 1>&6 ! echo "configure:3853: checking for gettimeofday" >&5 if eval "test \"`echo '$''{'ac_cv_func_gettimeofday'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:3873: checking for gettimeofday" >&5 if eval "test \"`echo '$''{'ac_cv_func_gettimeofday'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_gettimeofday=yes" else --- 3897,3903 ---- ; return 0; } EOF ! if { (eval echo configure:3901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_gettimeofday=yes" else *************** *** 3892,3905 **** if eval "test \"`echo '$ac_cv_func_'gettimeofday`\" = yes"; then echo "$ac_t""yes" 1>&6 cat > conftest.$ac_ext < int main() { gettimeofday ((struct timeval *) 0,(struct timezone *) 0); ; return 0; } EOF ! if { (eval echo configure:3903: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 --- 3912,3925 ---- if eval "test \"`echo '$ac_cv_func_'gettimeofday`\" = yes"; then echo "$ac_t""yes" 1>&6 cat > conftest.$ac_ext < int main() { gettimeofday ((struct timeval *) 0,(struct timezone *) 0); ; return 0; } EOF ! if { (eval echo configure:3923: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then : else echo "configure: failed program was:" >&5 *************** *** 3927,3933 **** ### with functions from the BSD/NET2 math library. echo $ac_n "checking for quiet_nan in -lsunmath""... $ac_c" 1>&6 ! echo "configure:3931: checking for quiet_nan in -lsunmath" >&5 ac_lib_var=`echo sunmath'_'quiet_nan | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3947,3953 ---- ### with functions from the BSD/NET2 math library. echo $ac_n "checking for quiet_nan in -lsunmath""... $ac_c" 1>&6 ! echo "configure:3951: checking for quiet_nan in -lsunmath" >&5 ac_lib_var=`echo sunmath'_'quiet_nan | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3935,3941 **** ac_save_LIBS="$LIBS" LIBS="-lsunmath -lm $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 3966,3972 ---- quiet_nan() ; return 0; } EOF ! if { (eval echo configure:3970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 3978,3984 **** case "$canonical_host_type" in *-*-linux*) echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 ! echo "configure:3982: checking for sin in -lm" >&5 ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 3998,4004 ---- case "$canonical_host_type" in *-*-linux*) echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 ! echo "configure:4002: checking for sin in -lm" >&5 ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 3986,3992 **** ac_save_LIBS="$LIBS" LIBS="-lm -lc $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 4017,4023 ---- sin() ; return 0; } EOF ! if { (eval echo configure:4021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 4027,4033 **** ;; *) echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 ! echo "configure:4031: checking for sin in -lm" >&5 ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 4047,4053 ---- ;; *) echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 ! echo "configure:4051: checking for sin in -lm" >&5 ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 4035,4041 **** ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 4066,4072 ---- sin() ; return 0; } EOF ! if { (eval echo configure:4070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 4107,4118 **** for ac_func in finite isnan isinf infinity quiet_nan do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4111: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4131: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 4155,4161 ---- ; return 0; } EOF ! if { (eval echo configure:4159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 4167,4178 **** for ac_func in acosh asinh atanh erf erfc do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:4171: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:4191: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 4215,4221 ---- ; return 0; } EOF ! if { (eval echo configure:4219: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 4225,4236 **** ### Checks for OS specific cruft. echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6 ! echo "configure:4229: checking for st_blksize in struct stat" >&5 if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 4245,4256 ---- ### Checks for OS specific cruft. echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6 ! echo "configure:4249: checking for st_blksize in struct stat" >&5 if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 4238,4244 **** struct stat s; s.st_blksize; ; return 0; } EOF ! if { (eval echo configure:4242: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_st_blksize=yes else --- 4258,4264 ---- struct stat s; s.st_blksize; ; return 0; } EOF ! if { (eval echo configure:4262: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_st_blksize=yes else *************** *** 4259,4270 **** fi echo $ac_n "checking for st_blocks in struct stat""... $ac_c" 1>&6 ! echo "configure:4263: checking for st_blocks in struct stat" >&5 if eval "test \"`echo '$''{'ac_cv_struct_st_blocks'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 4279,4290 ---- fi echo $ac_n "checking for st_blocks in struct stat""... $ac_c" 1>&6 ! echo "configure:4283: checking for st_blocks in struct stat" >&5 if eval "test \"`echo '$''{'ac_cv_struct_st_blocks'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 4272,4278 **** struct stat s; s.st_blocks; ; return 0; } EOF ! if { (eval echo configure:4276: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_st_blocks=yes else --- 4292,4298 ---- struct stat s; s.st_blocks; ; return 0; } EOF ! if { (eval echo configure:4296: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_st_blocks=yes else *************** *** 4295,4306 **** fi echo $ac_n "checking for st_rdev in struct stat""... $ac_c" 1>&6 ! echo "configure:4299: checking for st_rdev in struct stat" >&5 if eval "test \"`echo '$''{'ac_cv_struct_st_rdev'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 4315,4326 ---- fi echo $ac_n "checking for st_rdev in struct stat""... $ac_c" 1>&6 ! echo "configure:4319: checking for st_rdev in struct stat" >&5 if eval "test \"`echo '$''{'ac_cv_struct_st_rdev'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 4308,4314 **** struct stat s; s.st_rdev; ; return 0; } EOF ! if { (eval echo configure:4312: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_st_rdev=yes else --- 4328,4334 ---- struct stat s; s.st_rdev; ; return 0; } EOF ! if { (eval echo configure:4332: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_st_rdev=yes else *************** *** 4329,4340 **** fi echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 ! echo "configure:4333: checking whether struct tm is in sys/time.h or time.h" >&5 if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 4349,4360 ---- fi echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 ! echo "configure:4353: checking whether struct tm is in sys/time.h or time.h" >&5 if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 4342,4348 **** struct tm *tp; tp->tm_sec; ; return 0; } EOF ! if { (eval echo configure:4346: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else --- 4362,4368 ---- struct tm *tp; tp->tm_sec; ; return 0; } EOF ! if { (eval echo configure:4366: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else *************** *** 4363,4374 **** fi echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6 ! echo "configure:4367: checking for tm_zone in struct tm" >&5 if eval "test \"`echo '$''{'ac_cv_struct_tm_zone'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include <$ac_cv_struct_tm> --- 4383,4394 ---- fi echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6 ! echo "configure:4387: checking for tm_zone in struct tm" >&5 if eval "test \"`echo '$''{'ac_cv_struct_tm_zone'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include <$ac_cv_struct_tm> *************** *** 4376,4382 **** struct tm tm; tm.tm_zone; ; return 0; } EOF ! if { (eval echo configure:4380: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm_zone=yes else --- 4396,4402 ---- struct tm tm; tm.tm_zone; ; return 0; } EOF ! if { (eval echo configure:4400: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm_zone=yes else *************** *** 4396,4407 **** else echo $ac_n "checking for tzname""... $ac_c" 1>&6 ! echo "configure:4400: checking for tzname" >&5 if eval "test \"`echo '$''{'ac_cv_var_tzname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #ifndef tzname /* For SGI. */ --- 4416,4427 ---- else echo $ac_n "checking for tzname""... $ac_c" 1>&6 ! echo "configure:4420: checking for tzname" >&5 if eval "test \"`echo '$''{'ac_cv_var_tzname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #ifndef tzname /* For SGI. */ *************** *** 4411,4417 **** atoi(*tzname); ; return 0; } EOF ! if { (eval echo configure:4415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_var_tzname=yes else --- 4431,4437 ---- atoi(*tzname); ; return 0; } EOF ! if { (eval echo configure:4435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_var_tzname=yes else *************** *** 4433,4439 **** fi echo $ac_n "checking whether closedir returns void""... $ac_c" 1>&6 ! echo "configure:4437: checking whether closedir returns void" >&5 if eval "test \"`echo '$''{'ac_cv_func_closedir_void'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 4453,4459 ---- fi echo $ac_n "checking whether closedir returns void""... $ac_c" 1>&6 ! echo "configure:4457: checking whether closedir returns void" >&5 if eval "test \"`echo '$''{'ac_cv_func_closedir_void'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 4441,4453 **** ac_cv_func_closedir_void=yes else cat > conftest.$ac_ext < #include <$ac_header_dirent> int closedir(); main() { exit(closedir(opendir(".")) != 0); } EOF ! if { (eval echo configure:4451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_closedir_void=no else --- 4461,4473 ---- ac_cv_func_closedir_void=yes else cat > conftest.$ac_ext < #include <$ac_header_dirent> int closedir(); main() { exit(closedir(opendir(".")) != 0); } EOF ! if { (eval echo configure:4471: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_closedir_void=no else *************** *** 4471,4482 **** echo $ac_n "checking for gr_passwd in struct group""... $ac_c" 1>&6 ! echo "configure:4475: checking for gr_passwd in struct group" >&5 if eval "test \"`echo '$''{'octave_cv_struct_gr_passwd'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 4491,4502 ---- echo $ac_n "checking for gr_passwd in struct group""... $ac_c" 1>&6 ! echo "configure:4495: checking for gr_passwd in struct group" >&5 if eval "test \"`echo '$''{'octave_cv_struct_gr_passwd'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 4484,4490 **** struct group s; s.gr_passwd; ; return 0; } EOF ! if { (eval echo configure:4488: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* octave_cv_struct_gr_passwd=yes else --- 4504,4510 ---- struct group s; s.gr_passwd; ; return 0; } EOF ! if { (eval echo configure:4508: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* octave_cv_struct_gr_passwd=yes else *************** *** 4506,4514 **** TERMLIBS="" ! for termlib in termcap terminfo ncurses curses termlib; do echo $ac_n "checking for tputs in -l${termlib}""... $ac_c" 1>&6 ! echo "configure:4512: checking for tputs in -l${termlib}" >&5 ac_lib_var=`echo ${termlib}'_'tputs | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 4526,4534 ---- TERMLIBS="" ! for termlib in ncurses curses termcap terminfo termlib; do echo $ac_n "checking for tputs in -l${termlib}""... $ac_c" 1>&6 ! echo "configure:4532: checking for tputs in -l${termlib}" >&5 ac_lib_var=`echo ${termlib}'_'tputs | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 4516,4522 **** ac_save_LIBS="$LIBS" LIBS="-l${termlib} $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 4547,4553 ---- tputs() ; return 0; } EOF ! if { (eval echo configure:4551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 4567,4582 **** fi echo $ac_n "checking for struct exception in math.h""... $ac_c" 1>&6 ! echo "configure:4571: checking for struct exception in math.h" >&5 cat > conftest.$ac_ext < int main() { struct exception *x; x->type; x->name; ; return 0; } EOF ! if { (eval echo configure:4580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF --- 4587,4602 ---- fi echo $ac_n "checking for struct exception in math.h""... $ac_c" 1>&6 ! echo "configure:4591: checking for struct exception in math.h" >&5 cat > conftest.$ac_ext < int main() { struct exception *x; x->type; x->name; ; return 0; } EOF ! if { (eval echo configure:4600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF *************** *** 4594,4605 **** ### Signal stuff. echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 ! echo "configure:4598: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 4614,4625 ---- ### Signal stuff. echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 ! echo "configure:4618: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 4616,4622 **** int i; ; return 0; } EOF ! if { (eval echo configure:4620: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else --- 4636,4642 ---- int i; ; return 0; } EOF ! if { (eval echo configure:4640: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else *************** *** 4635,4646 **** echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 ! echo "configure:4639: checking for sys_siglist declaration in signal.h or unistd.h" >&5 if eval "test \"`echo '$''{'ac_cv_decl_sys_siglist'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include --- 4655,4666 ---- echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 ! echo "configure:4659: checking for sys_siglist declaration in signal.h or unistd.h" >&5 if eval "test \"`echo '$''{'ac_cv_decl_sys_siglist'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include *************** *** 4652,4658 **** char *msg = *(sys_siglist + 1); ; return 0; } EOF ! if { (eval echo configure:4656: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else --- 4672,4678 ---- char *msg = *(sys_siglist + 1); ; return 0; } EOF ! if { (eval echo configure:4676: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else *************** *** 4673,4688 **** fi echo $ac_n "checking for sys_siglist variable""... $ac_c" 1>&6 ! echo "configure:4677: checking for sys_siglist variable" >&5 cat > conftest.$ac_ext < int main() { extern char *sys_siglist[]; printf ("%s\n", sys_siglist[1]); ; return 0; } EOF ! if { (eval echo configure:4686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF --- 4693,4708 ---- fi echo $ac_n "checking for sys_siglist variable""... $ac_c" 1>&6 ! echo "configure:4697: checking for sys_siglist variable" >&5 cat > conftest.$ac_ext < int main() { extern char *sys_siglist[]; printf ("%s\n", sys_siglist[1]); ; return 0; } EOF ! if { (eval echo configure:4706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF *************** *** 4698,4710 **** rm -f conftest* echo $ac_n "checking for type of signal functions""... $ac_c" 1>&6 ! echo "configure:4702: checking for type of signal functions" >&5 if eval "test \"`echo '$''{'octave_cv_signal_vintage'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { --- 4718,4730 ---- rm -f conftest* echo $ac_n "checking for type of signal functions""... $ac_c" 1>&6 ! echo "configure:4722: checking for type of signal functions" >&5 if eval "test \"`echo '$''{'octave_cv_signal_vintage'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { *************** *** 4717,4723 **** ; return 0; } EOF ! if { (eval echo configure:4721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* octave_cv_signal_vintage=posix else --- 4737,4743 ---- ; return 0; } EOF ! if { (eval echo configure:4741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* octave_cv_signal_vintage=posix else *************** *** 4726,4732 **** rm -rf conftest* cat > conftest.$ac_ext < int main() { --- 4746,4752 ---- rm -rf conftest* cat > conftest.$ac_ext < int main() { *************** *** 4736,4742 **** ; return 0; } EOF ! if { (eval echo configure:4740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* octave_cv_signal_vintage=4.2bsd else --- 4756,4762 ---- ; return 0; } EOF ! if { (eval echo configure:4760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* octave_cv_signal_vintage=4.2bsd else *************** *** 4745,4751 **** rm -rf conftest* cat > conftest.$ac_ext < --- 4765,4771 ---- rm -rf conftest* cat > conftest.$ac_ext < *************** *** 4758,4764 **** ; return 0; } EOF ! if { (eval echo configure:4762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* octave_cv_signal_vintage=svr3 else --- 4778,4784 ---- ; return 0; } EOF ! if { (eval echo configure:4782: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* octave_cv_signal_vintage=svr3 else *************** *** 4799,4805 **** echo $ac_n "checking if signal handlers must be reinstalled when invoked""... $ac_c" 1>&6 ! echo "configure:4803: checking if signal handlers must be reinstalled when invoked" >&5 if eval "test \"`echo '$''{'octave_cv_must_reinstall_sighandlers'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 4819,4825 ---- echo $ac_n "checking if signal handlers must be reinstalled when invoked""... $ac_c" 1>&6 ! echo "configure:4823: checking if signal handlers must be reinstalled when invoked" >&5 if eval "test \"`echo '$''{'octave_cv_must_reinstall_sighandlers'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 4807,4813 **** { echo "configure: error: cannot check signal handling if cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < --- 4827,4833 ---- { echo "configure: error: cannot check signal handling if cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < *************** *** 4849,4855 **** } EOF ! if { (eval echo configure:4853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then octave_cv_must_reinstall_sighandlers=no else --- 4869,4875 ---- } EOF ! if { (eval echo configure:4873: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then octave_cv_must_reinstall_sighandlers=no else *************** *** 4875,4886 **** ### Type stuff. echo $ac_n "checking for mode_t""... $ac_c" 1>&6 ! echo "configure:4879: checking for mode_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS --- 4895,4906 ---- ### Type stuff. echo $ac_n "checking for mode_t""... $ac_c" 1>&6 ! echo "configure:4899: checking for mode_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS *************** *** 4908,4919 **** fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 ! echo "configure:4912: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS --- 4928,4939 ---- fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 ! echo "configure:4932: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS *************** *** 4941,4952 **** fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 ! echo "configure:4945: checking for pid_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS --- 4961,4972 ---- fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 ! echo "configure:4965: checking for pid_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS *************** *** 4974,4985 **** fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 ! echo "configure:4978: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS --- 4994,5005 ---- fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 ! echo "configure:4998: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS *************** *** 5007,5018 **** fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 ! echo "configure:5011: checking for uid_t in sys/types.h" >&5 if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF --- 5027,5038 ---- fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 ! echo "configure:5031: checking for uid_t in sys/types.h" >&5 if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF *************** *** 5041,5052 **** fi echo $ac_n "checking for dev_t""... $ac_c" 1>&6 ! echo "configure:5045: checking for dev_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_dev_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS --- 5061,5072 ---- fi echo $ac_n "checking for dev_t""... $ac_c" 1>&6 ! echo "configure:5065: checking for dev_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_dev_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS *************** *** 5074,5085 **** fi echo $ac_n "checking for ino_t""... $ac_c" 1>&6 ! echo "configure:5078: checking for ino_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_ino_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS --- 5094,5105 ---- fi echo $ac_n "checking for ino_t""... $ac_c" 1>&6 ! echo "configure:5098: checking for ino_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_ino_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS *************** *** 5107,5118 **** fi echo $ac_n "checking for nlink_t""... $ac_c" 1>&6 ! echo "configure:5111: checking for nlink_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_nlink_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS --- 5127,5138 ---- fi echo $ac_n "checking for nlink_t""... $ac_c" 1>&6 ! echo "configure:5131: checking for nlink_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_nlink_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS *************** *** 5155,5166 **** for ac_func in getrusage times do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 ! echo "configure:5159: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 ! echo "configure:5179: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else --- 5203,5209 ---- ; return 0; } EOF ! if { (eval echo configure:5207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else *************** *** 5229,5235 **** # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:5233: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 5249,5255 ---- # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:5253: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 5262,5268 **** *) ac_lib=l ;; esac echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 ! echo "configure:5266: checking for yywrap in -l$ac_lib" >&5 ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 5282,5288 ---- *) ac_lib=l ;; esac echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 ! echo "configure:5286: checking for yywrap in -l$ac_lib" >&5 ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 5270,5276 **** ac_save_LIBS="$LIBS" LIBS="-l$ac_lib $LIBS" cat > conftest.$ac_ext < conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else --- 5301,5307 ---- yywrap() ; return 0; } EOF ! if { (eval echo configure:5305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else *************** *** 5323,5329 **** # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:5327: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 5343,5349 ---- # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:5347: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 5362,5368 **** esac echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 ! echo "configure:5366: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 5382,5388 ---- esac echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 ! echo "configure:5386: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 5405,5411 **** # Extract the first word of "runtest", so it can be a program name with args. set dummy runtest; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:5409: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RUNTEST'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 5425,5431 ---- # Extract the first word of "runtest", so it can be a program name with args. set dummy runtest; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:5429: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RUNTEST'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 5433,5439 **** # Extract the first word of "expect", so it can be a program name with args. set dummy expect; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:5437: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_EXPECT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 5453,5459 ---- # Extract the first word of "expect", so it can be a program name with args. set dummy expect; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:5457: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_EXPECT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 5474,5480 **** # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 ! echo "configure:5478: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 --- 5494,5500 ---- # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 ! echo "configure:5498: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 *************** *** 5535,5541 **** # Extract the first word of "gnuplot", so it can be a program name with args. set dummy gnuplot; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:5539: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_GNUPLOT_BINARY'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 5555,5561 ---- # Extract the first word of "gnuplot", so it can be a program name with args. set dummy gnuplot; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:5559: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_GNUPLOT_BINARY'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else *************** *** 5562,5568 **** if test -n "$GNUPLOT_BINARY"; then echo $ac_n "checking to see if your gnuplot supports multiplot""... $ac_c" 1>&6 ! echo "configure:5566: checking to see if your gnuplot supports multiplot" >&5 if test -z "`echo 'set term unknown; set multiplot' | \ $GNUPLOT_BINARY 2>&1`"; then echo "$ac_t""yes" 1>&6 --- 5582,5588 ---- if test -n "$GNUPLOT_BINARY"; then echo $ac_n "checking to see if your gnuplot supports multiplot""... $ac_c" 1>&6 ! echo "configure:5586: checking to see if your gnuplot supports multiplot" >&5 if test -z "`echo 'set term unknown; set multiplot' | \ $GNUPLOT_BINARY 2>&1`"; then echo "$ac_t""yes" 1>&6 *************** *** 5574,5580 **** echo "$ac_t""no" 1>&6 fi echo $ac_n "checking to see if your gnuplot supports multiple plot windows""... $ac_c" 1>&6 ! echo "configure:5578: checking to see if your gnuplot supports multiple plot windows" >&5 if test -z "`echo 'set term x11 2' | $GNUPLOT_BINARY 2>&1`"; then echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF --- 5594,5600 ---- echo "$ac_t""no" 1>&6 fi echo $ac_n "checking to see if your gnuplot supports multiple plot windows""... $ac_c" 1>&6 ! echo "configure:5598: checking to see if your gnuplot supports multiple plot windows" >&5 if test -z "`echo 'set term x11 2' | $GNUPLOT_BINARY 2>&1`"; then echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF *************** *** 5602,5608 **** # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:5606: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_DEFAULT_PAGER'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else --- 5622,5628 ---- # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 ! echo "configure:5626: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_DEFAULT_PAGER'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else diff -cNr octave-2.0/configure.in octave-2.0.1/configure.in *** octave-2.0/configure.in Mon Dec 9 14:40:47 1996 --- octave-2.0.1/configure.in Fri Dec 13 22:39:00 1996 *************** *** 21,27 **** ### Software Foundation, 59 Temple Place - Suite 330, Boston, MA ### 02111-1307, USA. ! AC_REVISION($Revision: 1.242 $) AC_PREREQ(2.9) AC_INIT(src/octave.cc) AC_CONFIG_HEADER(config.h) --- 21,27 ---- ### Software Foundation, 59 Temple Place - Suite 330, Boston, MA ### 02111-1307, USA. ! AC_REVISION($Revision: 1.243 $) AC_PREREQ(2.9) AC_INIT(src/octave.cc) AC_CONFIG_HEADER(config.h) *************** *** 400,406 **** DLFCN_DIR=dlfcn ;; hppa*-hp-hpux*) ! FPICFLAG=+Z SHLEXT=sl RLD_FLAG='-Xlinker +b -Xlinker $(libdir)' ;; --- 400,410 ---- DLFCN_DIR=dlfcn ;; hppa*-hp-hpux*) ! if $use_g77; then ! FPICFLAG=-fPIC ! else ! FPICFLAG=+Z ! fi SHLEXT=sl RLD_FLAG='-Xlinker +b -Xlinker $(libdir)' ;; *************** *** 876,882 **** OCTAVE_STRUCT_GR_PASSWD TERMLIBS="" ! for termlib in termcap terminfo ncurses curses termlib; do AC_CHECK_LIB(${termlib}, tputs, [TERMLIBS="${TERMLIBS} -l${termlib}"]) case "${TERMLIBS}" in *-l${termlib}*) --- 880,886 ---- OCTAVE_STRUCT_GR_PASSWD TERMLIBS="" ! for termlib in ncurses curses termcap terminfo termlib; do AC_CHECK_LIB(${termlib}, tputs, [TERMLIBS="${TERMLIBS} -l${termlib}"]) case "${TERMLIBS}" in *-l${termlib}*) diff -cNr octave-2.0/dlfcn/Makefile.in octave-2.0.1/dlfcn/Makefile.in *** octave-2.0/dlfcn/Makefile.in Sun Apr 7 17:11:45 1996 --- octave-2.0.1/dlfcn/Makefile.in Thu Dec 12 02:23:41 1996 *************** *** 66,75 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../`cat ../.fname`/dlfcn - .PHONY: local-dist - dist: ln $(DISTFILES) ../`cat ../.fname`/dlfcn .PHONY: dist --- 66,71 ---- diff -cNr octave-2.0/doc/ChangeLog octave-2.0.1/doc/ChangeLog *** octave-2.0/doc/ChangeLog Tue Dec 10 01:43:14 1996 --- octave-2.0.1/doc/ChangeLog Tue Jan 7 00:17:25 1997 *************** *** 1,3 **** --- 1,7 ---- + Tue Jan 7 00:17:24 1997 John W. Eaton + + * Version 2.0.1 released. + Tue Dec 10 01:43:13 1996 John W. Eaton * Version 2.0 released. diff -cNr octave-2.0/doc/Makefile.in octave-2.0.1/doc/Makefile.in *** octave-2.0/doc/Makefile.in Wed Oct 30 18:28:32 1996 --- octave-2.0.1/doc/Makefile.in Thu Dec 12 02:23:35 1996 *************** *** 59,69 **** maintainer-clean:: rm -f tags TAGS Makefile - local-dist: - ln $(DISTFILES) ../`cat ../.fname`/doc - for dir in $(DISTSUBDIRS); do mkdir ../`cat ../.fname`/doc/$$dir; cd $$dir; $(MAKE) $@; cd ..; done - .PHONY: local-dist - dist: ln $(DISTFILES) ../`cat ../.fname`/doc for dir in $(DISTSUBDIRS); do mkdir ../`cat ../.fname`/doc/$$dir; cd $$dir; $(MAKE) $@; cd ..; done --- 59,64 ---- diff -cNr octave-2.0/doc/faq/FAQ.texi octave-2.0.1/doc/faq/FAQ.texi *** octave-2.0/doc/faq/FAQ.texi Thu Jul 18 21:20:16 1996 --- octave-2.0.1/doc/faq/FAQ.texi Sat Dec 14 11:02:04 1996 *************** *** 18,24 **** @titlepage @title Octave FAQ @subtitle Frequently asked questions about Octave ! @subtitle December 1, 1994 @sp 1 @author John W. Eaton @page --- 18,24 ---- @titlepage @title Octave FAQ @subtitle Frequently asked questions about Octave ! @subtitle December 14, 1996 @sp 1 @author John W. Eaton @page *************** *** 33,54 **** This is a list of frequently asked questions (FAQ) for Octave users. ! Some information in this FAQ was developed for earlier versions of Octave and may now be obsolete. I'm looking for new questions (@emph{with} answers), better answers, or both. Please send suggestions to bug-octave@@bevo.che.wisc.edu. If you have general questions about Octave, or need help for something ! that is not covered by the FAQ, please use the help-octave@@bevo.che.wisc.edu mailing list. This FAQ is intended to supplement, not replace, the Octave manual. ! Before posting a question to the hlpe-octave mailing list, you should first check to see if the topic is covered in the manual. @menu * What is Octave?:: ! * Version 1.1.0:: * Octave Features:: * Documentation:: * Getting Octave:: --- 33,54 ---- This is a list of frequently asked questions (FAQ) for Octave users. ! Some information in this FAQ was written for earlier versions of Octave and may now be obsolete. I'm looking for new questions (@emph{with} answers), better answers, or both. Please send suggestions to bug-octave@@bevo.che.wisc.edu. If you have general questions about Octave, or need help for something ! that is not covered by the Octave manual or the FAQ, please use the help-octave@@bevo.che.wisc.edu mailing list. This FAQ is intended to supplement, not replace, the Octave manual. ! Before posting a question to the help-octave mailing list, you should first check to see if the topic is covered in the manual. @menu * What is Octave?:: ! * Version 2.0:: * Octave Features:: * Documentation:: * Getting Octave:: *************** *** 60,66 **** * Index:: @end menu ! @node What is Octave?, Version 1.1.0, Top, Top @chapter What is Octave? Octave is a high-level interactive language, primarily intended for --- 60,66 ---- * Index:: @end menu ! @node What is Octave?, Version 2.0, Top, Top @chapter What is Octave? Octave is a high-level interactive language, primarily intended for *************** *** 97,119 **** under the terms of the GNU General Public License as published by the Free Software Foundation. ! @node Version 1.1.0, Octave Features, What is Octave?, Top ! @chapter What's new in version 1.1.0 of Octave ! The long-awaited version 1.1.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 1.1.0 fixes many bugs, but as with any ``x.y.0'' release there ! will be a few glitches. You can expect a 1.1.1 shortly. You can help ! contribute to the quality of Octave by trying it out and submitting bug ! reports where you find them. 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 Octave. ! @node Octave Features, Documentation, Version 1.1.0, Top @chapter What features are unique to Octave? @menu --- 97,120 ---- under the terms of the GNU General Public License as published by the Free Software Foundation. ! @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. 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 Octave. ! @node Octave Features, Documentation, Version 2.0, Top @chapter What features are unique to Octave? @menu *************** *** 181,186 **** --- 182,188 ---- @item Elements of structures can be of any value type. @example + @group octave:1> x.a = 1; x.b = [1, 2; 3, 4]; x.c = "string"; octave:2> x.a x.a = 1 *************** *** 192,225 **** octave:4> x.c x.c = string @end example @item Structures may be copied. @example octave:1> y = x y = ! @end example @item Structure elements may reference other structures. @example octave:1> x.b.d = 3 x.b.d = 3 octave:2> x.b ! x.b = ! ! ! octave:3> x.b.d ! x.b.d = 3 @end example @item Functions can return structures. @example octave:1> function y = f (x) > y.re = real (x); > y.im = imag (x); --- 194,255 ---- octave:4> x.c x.c = string + @end group @end example @item Structures may be copied. @example + @group octave:1> y = x y = + @{ + a = 1 + b = + + 1 2 + 3 4 + + c = string + s = + + 0.00000 0.00000 0.00000 + 0.00000 5.46499 0.00000 + 0.00000 0.00000 0.36597 ! u = ! ! -0.40455 -0.91451 ! -0.91451 0.40455 ! ! v = ! ! -0.57605 0.81742 ! -0.81742 -0.57605 ! @} ! @end group @end example @item Structure elements may reference other structures. @example + @group octave:1> x.b.d = 3 x.b.d = 3 octave:2> x.b ! ans = ! @{ ! d = 3 ! @} octave:3> x.b.d ! ans = 3 ! @end group @end example @item Functions can return structures. @example + @group octave:1> function y = f (x) > y.re = real (x); > y.im = imag (x); *************** *** 227,265 **** octave:2> f (rand + rand*I); ans = ! ! ! ! octave:3> ans.im, ans.re ! ans.im = 0.93411 ! ans.re = 0.56234 @end example @item Function return lists can include structure elements, and they may be indexed like any other variable. @example ! octave:1> [x.u, x.s(2:3,2:3), x.v] = svd ([1, 2; 3, 4]) ! x.u = ! ! -0.40455 -0.91451 ! -0.91451 0.40455 ! ! x.s = ! 0.00000 0.00000 0.00000 ! 0.00000 5.46499 0.00000 ! 0.00000 0.00000 0.36597 ! x.v = ! -0.57605 0.81742 ! -0.81742 -0.57605 ! octave:8> x ! x = ! @end example @item You can also use the function @code{is_struct} to determine --- 257,295 ---- octave:2> f (rand + rand*I); ans = ! @{ ! im = 0.18033 ! re = 0.19069 ! @} ! @end group @end example @item Function return lists can include structure elements, and they may be indexed like any other variable. @example ! @group ! octave:1> [x.u, x.s(2:3,2:3), x.v] = svd ([1, 2; 3, 4]); ! octave:2> x ! x = ! @{ ! s = ! 0.00000 0.00000 0.00000 ! 0.00000 5.46499 0.00000 ! 0.00000 0.00000 0.36597 ! u = ! -0.40455 -0.91451 ! -0.91451 0.40455 ! v = ! -0.57605 0.81742 ! -0.81742 -0.57605 ! @} ! @end group @end example @item You can also use the function @code{is_struct} to determine *************** *** 362,367 **** --- 392,398 ---- header followed by an unspecified number of values: @example + @group function foo (heading, ...) disp (heading); va_start (); *************** *** 369,374 **** --- 400,406 ---- disp (va_arg ()); endwhile endfunction + @end group @end example Calling @code{va_start()} positions an internal pointer to the first *************** *** 398,408 **** --- 430,442 ---- @samp{N} values: @example + @group function [...] = foo (n) for i = 1:n vr_val (i); endfor endfunction + @end group @end example @node Built-in ODE and DAE solvers, , Variable-length return lists, Octave Features *************** *** 411,417 **** @cindex DASSL @cindex LSODE ! Octave includes LSODE and DASSL for solving systems of stiff differential and differential-algebraic equations. These functions are built in to the interpreter. --- 445,451 ---- @cindex DASSL @cindex LSODE ! Octave includes LSODE and DASSL for solving systems of stiff ordinary differential and differential-algebraic equations. These functions are built in to the interpreter. *************** *** 433,443 **** via the GNU Emacs, info, or xinfo programs, or by using the @samp{help -i} command to start the GNU info browser directly from the Octave prompt. ! It is also possible to use WWW browsers such as Mosaic 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 via anonymous ftp from ftp.che.wisc.edu in the directory ! @file{/pub/www}. @node Getting Octave, Installation, Documentation, Top @chapter Obtaining Source Code --- 467,476 ---- via the GNU Emacs, info, or xinfo programs, or by using the @samp{help -i} 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}. @node Getting Octave, Installation, Documentation, Top @chapter Obtaining Source Code *************** *** 522,528 **** @cindex Octave, version date ! The latest version of Octave is 1.1.0, released January 1995. @node Installation, Common problems, Getting Octave, Top @chapter Installation Issues and Problems --- 555,561 ---- @cindex Octave, version date ! The latest version of Octave is 2.0, released December 1996. @node Installation, Common problems, Getting Octave, Top @chapter Installation Issues and Problems *************** *** 611,618 **** --- 644,653 ---- to the list, please send a short note to @example + @group help-octave-request@@bevo.che.wisc.edu ^^^^^^^ + @end group @end example @strong{Please do not} send requests to be added or removed from the the *************** *** 679,744 **** @end enumerate The first category, irrelevant differences, do not affect computations ! and most likely do not affect the execution of function files. Some ! examples are: ! ! When typing @samp{help function}, Octave displays the first set of ! comment lines @emph{after} the function declaration, but @sc{Matlab} ! the first set of comment lines starting from the beginning of the file. The differences of the second category are usually because the authors of Octave decided on a better (subjective) implementation that the way @sc{Matlab} does it, and so introduced ``user preference variables'' so that you can customize Octave's behavior to be either @sc{Matlab}-compatible or to use Octave's new features. To make Octave more @sc{Matlab}-compatible, ! put the following statements in your @file{~/.octaverc} file. This is a ! partial list of the user preference variables that should be changed to ! get @sc{Matlab}-compatible behavior. (It is partial because not all the ! differences are currently known, and when they become known, this ! document lags behind.) ! ! @example ! PS1 = '>> '; ! PS2 = ''; ! default_save_format = 'mat-binary'; ! define_all_return_values = 'true'; ! do_fortran_indexing = 'true'; ! empty_list_elements_ok = 'true'; ! implicit_str_to_num_ok = 'true'; ! ok_to_lose_imaginary_part = 'true'; ! page_screen_output = 'false'; ! prefer_column_vectors = 'false'; ! prefer_zero_one_indexing = 'true'; ! print_empty_dimensions = 'false'; ! treat_neg_dim_as_zero = 'true'; ! warn_function_name_clash = 'false'; ! whitespace_in_literal_matrix = 'traditional'; ! @end example ! ! Some other known differences are: ! ! @itemize @bullet ! @item ! String subscripting is not yet implemented in Octave. For example, @example ! a = 'reknob'; ! a([6,1,5,3,2,4]) @end example ! @noindent ! returns the string @samp{broken} in @sc{Matlab}, but generates an error in ! Octave. A future release of Octave will fix this along with providing ! a much more complete and powerful set of functions for manipulating strings. @item The Octave plotting functions are mostly compatible with the ones from @sc{Matlab} 3.x, but not from @sc{Matlab} 4.x. - - @item - The C-style I/O functions are not completely compatible. It would be - useful for someone to explore the differences so that they might be - fixed, or at least noted in the manual. @end itemize The third category of differences is (hopefully) shrinking. If you find --- 714,758 ---- @end enumerate The first category, irrelevant differences, do not affect computations ! and most likely do not affect the execution of function files. The differences of the second category are usually because the authors of Octave decided on a better (subjective) implementation that the way @sc{Matlab} does it, and so introduced ``user preference variables'' so that you can customize Octave's behavior to be either @sc{Matlab}-compatible or to use Octave's new features. To make Octave more @sc{Matlab}-compatible, ! put the following statements in your @file{~/.octaverc} file, or use the ! command line option @samp{--traditional}, which implies all of these ! settings. Note that this list may not be complete, because some new ! variables may have been introduced since this document was last updated. @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"; ! @end group @end example ! Some other known differences are: + @itemize @bullet @item The Octave plotting functions are mostly compatible with the ones from @sc{Matlab} 3.x, but not from @sc{Matlab} 4.x. @end itemize The third category of differences is (hopefully) shrinking. If you find diff -cNr octave-2.0/doc/faq/Makefile.in octave-2.0.1/doc/faq/Makefile.in *** octave-2.0/doc/faq/Makefile.in Thu Nov 14 14:38:46 1996 --- octave-2.0.1/doc/faq/Makefile.in Thu Dec 12 02:24:15 1996 *************** *** 67,80 **** rm -f tags TAGS FAQ.info FAQ.info-* FAQ.dvi FAQ.ps .PHONY: maintainer-clean - local-dist: all - ln $(DISTFILES) ../../`cat ../../.fname`/doc/faq - .PHONY: local-dist - dist: all ln $(DISTFILES) ../../`cat ../../.fname`/doc/faq .PHONY: dist - - doc-dist: all - ln $(FORMATTED) ../../`cat ../../.fname`/doc/faq - .PHONY: doc-dist --- 67,72 ---- diff -cNr octave-2.0/doc/interpreter/Makefile.in octave-2.0.1/doc/interpreter/Makefile.in *** octave-2.0/doc/interpreter/Makefile.in Thu Nov 14 14:39:19 1996 --- octave-2.0.1/doc/interpreter/Makefile.in Thu Dec 12 02:24:12 1996 *************** *** 159,172 **** rm -f tags TAGS octave.info octave.info-* octave.dvi octave.ps \ .PHONY: maintainer-clean - local-dist: all - ln $(DISTFILES) ../../`cat ../../.fname`/doc/interpreter - .PHONY: local-dist - dist: all ln $(DISTFILES) ../../`cat ../../.fname`/doc/interpreter .PHONY: dist - - doc-dist: all - ln $(FORMATTED) ../../`cat ../../.fname`/doc/interpreter - .PHONY: doc-dist --- 159,164 ---- diff -cNr octave-2.0/doc/interpreter/conf.texi octave-2.0.1/doc/interpreter/conf.texi *** octave-2.0/doc/interpreter/conf.texi Tue Dec 10 01:47:29 1996 --- octave-2.0.1/doc/interpreter/conf.texi Tue Jan 7 00:30:59 1997 *************** *** 2,6 **** @c This is part of the Octave manual. @c For copying conditions, see the file gpl.texi. ! @set VERSION 2.0 @set OCTAVEHOME /usr/local --- 2,6 ---- @c This is part of the Octave manual. @c For copying conditions, see the file gpl.texi. ! @set VERSION 2.0.1 @set OCTAVEHOME /usr/local diff -cNr octave-2.0/doc/liboctave/Makefile.in octave-2.0.1/doc/liboctave/Makefile.in *** octave-2.0/doc/liboctave/Makefile.in Thu Nov 14 14:39:37 1996 --- octave-2.0.1/doc/liboctave/Makefile.in Thu Dec 12 02:24:06 1996 *************** *** 105,118 **** liboctave.dvi liboctave.ps .PHONY: maintainer-clean - local-dist: all - ln $(DISTFILES) ../../`cat ../../.fname`/doc/liboctave - .PHONY: local-dist - dist: all ln $(DISTFILES) ../../`cat ../../.fname`/doc/liboctave .PHONY: dist - - doc-dist: all - ln $(FORMATTED) ../../`cat ../../.fname`/doc/liboctave - .PHONY: doc-dist --- 105,110 ---- diff -cNr octave-2.0/doc/liboctave/conf.texi octave-2.0.1/doc/liboctave/conf.texi *** octave-2.0/doc/liboctave/conf.texi Tue Dec 10 01:48:12 1996 --- octave-2.0.1/doc/liboctave/conf.texi Tue Jan 7 00:35:20 1997 *************** *** 2,6 **** @c This is part of the Octave manual. @c For copying conditions, see the file gpl.texi. ! @set VERSION 2.0 @set OCTAVEHOME /usr/local --- 2,6 ---- @c This is part of the Octave manual. @c For copying conditions, see the file gpl.texi. ! @set VERSION 2.0.1 @set OCTAVEHOME /usr/local diff -cNr octave-2.0/doc/refcard/Makefile.in octave-2.0.1/doc/refcard/Makefile.in *** octave-2.0/doc/refcard/Makefile.in Sat Mar 23 05:02:07 1996 --- octave-2.0.1/doc/refcard/Makefile.in Thu Dec 12 02:24:09 1996 *************** *** 66,79 **** rm -f tags TAGS refcard-*.dvi refcard-*.ps .PHONY: maintainer-clean - local-dist: all - ln $(DISTFILES) ../../`cat ../../.fname`/doc/refcard - .PHONY: local-dist - dist: all ln $(DISTFILES) ../../`cat ../../.fname`/doc/refcard .PHONY: dist - - doc-dist: all - ln $(FORMATTED) ../../`cat ../../.fname`/doc/refcard - .PHONY: doc-dist --- 66,71 ---- diff -cNr octave-2.0/examples/Makefile.in octave-2.0.1/examples/Makefile.in *** octave-2.0/examples/Makefile.in Wed Oct 16 12:01:36 1996 --- octave-2.0.1/examples/Makefile.in Thu Dec 12 02:23:22 1996 *************** *** 49,58 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../`cat ../.fname`/examples - .PHONY: local-dist - dist: ln $(DISTFILES) ../`cat ../.fname`/examples .PHONY: dist --- 49,54 ---- diff -cNr octave-2.0/info/ChangeLog octave-2.0.1/info/ChangeLog *** octave-2.0/info/ChangeLog Mon Dec 9 14:26:51 1996 --- octave-2.0.1/info/ChangeLog Mon Jan 6 19:15:09 1997 *************** *** 1,3 **** --- 1,8 ---- + Mon Jan 6 19:14:49 1997 John W. Eaton + + * terminal.c (terminal_prep_terminal): Only delete OCRNL from + ttybuff.c_oflag if it is defined. + Mon Dec 9 14:20:01 1996 John W. Eaton * Makefile.in (install): Use $(EXE) suffix so that install will diff -cNr octave-2.0/info/Makefile.in octave-2.0.1/info/Makefile.in *** octave-2.0/info/Makefile.in Mon Dec 9 14:28:14 1996 --- octave-2.0.1/info/Makefile.in Thu Dec 12 02:26:56 1996 *************** *** 1,5 **** # Makefile for texinfo/info. -*- Indented-Text -*- ! # $Id: Makefile.in,v 1.34 1996/12/09 20:28:14 jwe Exp $ # # Copyright (C) 1993,96 Free Software Foundation, Inc. --- 1,5 ---- # Makefile for texinfo/info. -*- Indented-Text -*- ! # $Id: Makefile.in,v 1.35 1996/12/12 08:26:56 jwe Exp $ # # Copyright (C) 1993,96 Free Software Foundation, Inc. *************** *** 152,161 **** realclean: distclean $(RM) info.info info-stnd.info - - local-dist: all-info all-dvi - ln $(DISTFILES) ../`cat ../.fname`/info - .PHONY: local-dist dist: all-info all-dvi ln $(DISTFILES) ../`cat ../.fname`/info --- 152,157 ---- diff -cNr octave-2.0/info/terminal.c octave-2.0.1/info/terminal.c *** octave-2.0/info/terminal.c Tue Nov 12 21:40:20 1996 --- octave-2.0.1/info/terminal.c Mon Jan 6 19:13:33 1997 *************** *** 637,643 **** #if defined (HAVE_TERMIOS_H) || defined (HAVE_TERMIO_H) ttybuff.c_iflag &= (~ISTRIP & ~INLCR & ~IGNCR & ~ICRNL & ~IXON); ! ttybuff.c_oflag &= (~ONLCR & ~OCRNL); ttybuff.c_lflag &= (~ICANON & ~ECHO); ttybuff.c_cc[VMIN] = 1; --- 637,647 ---- #if defined (HAVE_TERMIOS_H) || defined (HAVE_TERMIO_H) ttybuff.c_iflag &= (~ISTRIP & ~INLCR & ~IGNCR & ~ICRNL & ~IXON); ! #ifdef OCRNL ! ttybuff.c_oflag &= ~OCRNL; ! #endif ! ttybuff.c_oflag &= ~ONLCR; ! ttybuff.c_lflag &= (~ICANON & ~ECHO); ttybuff.c_cc[VMIN] = 1; diff -cNr octave-2.0/libcruft/ChangeLog octave-2.0.1/libcruft/ChangeLog *** octave-2.0/libcruft/ChangeLog Tue Dec 10 01:43:12 1996 --- octave-2.0.1/libcruft/ChangeLog Tue Jan 7 00:17:22 1997 *************** *** 1,3 **** --- 1,15 ---- + Tue Jan 7 00:17:17 1997 John W. Eaton + + * Version 2.0.1 released. + + Tue Dec 17 11:02:02 1996 John W. Eaton + + * misc/lo-error.c: Convert C++-style comments to C-style comments. + + Wed Dec 11 01:50:31 1996 John W. Eaton + + * misc/Makefile.in (SPECIAL_DEPEND): Delete d1mach.o from the list. + Tue Dec 10 01:43:10 1996 John W. Eaton * Version 2.0 released. diff -cNr octave-2.0/libcruft/Makefile.in octave-2.0.1/libcruft/Makefile.in *** octave-2.0/libcruft/Makefile.in Wed Nov 20 17:06:38 1996 --- octave-2.0.1/libcruft/Makefile.in Thu Dec 12 02:23:15 1996 *************** *** 113,123 **** rm -f *.a *.o Makefile Makerules so_locations tags TAGS if $(SHARED_LIBS); then rm -f *.$(SHLEXT); fi - local-dist: - for dir in $(SUBDIRS); do mkdir ../`cat ../.fname`/libcruft/$$dir; cd $$dir; $(MAKE) $@; cd ..; done - ln $(DISTFILES) ../`cat ../.fname`/libcruft - .PHONY: local-dist - dist: for dir in $(SUBDIRS); do mkdir ../`cat ../.fname`/libcruft/$$dir; cd $$dir; $(MAKE) $@; cd ..; done ln $(DISTFILES) ../`cat ../.fname`/libcruft --- 113,118 ---- diff -cNr octave-2.0/libcruft/Makerules.in octave-2.0.1/libcruft/Makerules.in *** octave-2.0/libcruft/Makerules.in Tue Nov 19 23:11:30 1996 --- octave-2.0.1/libcruft/Makerules.in Thu Dec 12 02:18:48 1996 *************** *** 97,106 **** -rmdir pic .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/libcruft/$(THISDIR) - .PHONY: local-dist - dist: ln $(EXTERNAL_DISTFILES) ../../`cat ../../.fname`/libcruft/$(THISDIR) .PHONY: dist --- 97,102 ---- diff -cNr octave-2.0/libcruft/misc/Makefile.in octave-2.0.1/libcruft/misc/Makefile.in *** octave-2.0/libcruft/misc/Makefile.in Wed Nov 20 17:07:40 1996 --- octave-2.0.1/libcruft/misc/Makefile.in Wed Dec 11 01:50:17 1996 *************** *** 15,22 **** SPECIAL := machar.c d1mach-tst.for dostop.c f77-extern.cc \ f77-fcn.c f77-fcn.h lo-error.c lo-error.h ! SPECIAL_DEPEND := d1mach.o machar.o dostop.o f77-extern.o \ ! f77-fcn.o lo-error.o EXTERNAL_DISTFILES = $(DISTFILES) --- 15,21 ---- SPECIAL := machar.c d1mach-tst.for dostop.c f77-extern.cc \ f77-fcn.c f77-fcn.h lo-error.c lo-error.h ! SPECIAL_DEPEND := machar.o dostop.o f77-extern.o f77-fcn.o lo-error.o EXTERNAL_DISTFILES = $(DISTFILES) diff -cNr octave-2.0/libcruft/misc/lo-error.c octave-2.0.1/libcruft/misc/lo-error.c *** octave-2.0/libcruft/misc/lo-error.c Wed Nov 20 17:05:03 1996 --- octave-2.0.1/libcruft/misc/lo-error.c Tue Dec 17 11:02:01 1996 *************** *** 30,39 **** #include "lo-error.h" ! // Having this file in this directory is a kluge to avoid unresolved ! // symbol errors when creating shared versions of libcruft. ! // Pointer to the current error handling function. liboctave_error_handler current_liboctave_error_handler = liboctave_fatal; static void --- 30,39 ---- #include "lo-error.h" ! /* Having this file in this directory is a kluge to avoid unresolved ! symbol errors when creating shared versions of libcruft. */ ! /* Pointer to the current error handling function. */ liboctave_error_handler current_liboctave_error_handler = liboctave_fatal; static void diff -cNr octave-2.0/liboctave/Array2-idx.h octave-2.0.1/liboctave/Array2-idx.h *** octave-2.0/liboctave/Array2-idx.h Fri Dec 6 23:42:23 1996 --- octave-2.0.1/liboctave/Array2-idx.h Fri Dec 13 02:01:24 1996 *************** *** 334,339 **** --- 334,355 ---- } } + #define MAYBE_RESIZE_LHS \ + do \ + { \ + if (liboctave_rre_flag) \ + { \ + int max_row_idx = idx_i_is_colon ? rhs_nr : idx_i.max () + 1; \ + int max_col_idx = idx_j_is_colon ? rhs_nc : idx_j.max () + 1; \ + \ + int new_nr = max_row_idx > lhs_nr ? max_row_idx : lhs_nr; \ + int new_nc = max_col_idx > lhs_nc ? max_col_idx : lhs_nc; \ + \ + lhs.resize (new_nr, new_nc, 0.0); \ + } \ + } \ + while (0) + template int assign (Array2& lhs, const Array2& rhs) *************** *** 378,396 **** } else { - if (liboctave_rre_flag) - { - int max_row_idx = idx_i_is_colon ? rhs_nr : idx_i.max () + 1; - int max_col_idx = idx_j_is_colon ? rhs_nc : idx_j.max () + 1; - - int new_nr = max_row_idx > lhs_nr ? max_row_idx : lhs_nr; - int new_nc = max_col_idx > lhs_nc ? max_col_idx : lhs_nc; - - lhs.resize (new_nr, new_nc, 0.0); - } - if (rhs_nr == 1 && rhs_nc == 1 && n > 0 && m > 0) { RT scalar = rhs.elem (0, 0); for (int j = 0; j < m; j++) --- 394,403 ---- } else { if (rhs_nr == 1 && rhs_nc == 1 && n > 0 && m > 0) { + MAYBE_RESIZE_LHS; + RT scalar = rhs.elem (0, 0); for (int j = 0; j < m; j++) *************** *** 405,410 **** --- 412,419 ---- } else if (n == rhs_nr && m == rhs_nc) { + MAYBE_RESIZE_LHS; + for (int j = 0; j < m; j++) { int jj = idx_j.elem (j); diff -cNr octave-2.0/liboctave/ChangeLog octave-2.0.1/liboctave/ChangeLog *** octave-2.0/liboctave/ChangeLog Tue Dec 10 01:43:09 1996 --- octave-2.0.1/liboctave/ChangeLog Tue Jan 7 00:17:16 1997 *************** *** 1,3 **** --- 1,24 ---- + Tue Jan 7 00:16:57 1997 John W. Eaton + + * Version 2.0.1 released. + + Sun Jan 5 12:07:45 1997 John W. Eaton + + * dMatrix.cc (Matrix::read): Correctly compute the number of + columns for resizing when the number of rows is specified but the + number of columns is not. + + Wed Dec 18 16:18:58 1996 John W. Eaton + + * Range.cc (operator -): New function. + + * lo-ieee.cc: Include on all systems that have it. + + Fri Dec 13 02:01:32 1996 John W. Eaton + + * Array2-idx.h (assign): Delay resizing left hand side until we + know if the assignment conforms. + Tue Dec 10 01:43:09 1996 John W. Eaton * Version 2.0 released. diff -cNr octave-2.0/liboctave/Makefile.in octave-2.0.1/liboctave/Makefile.in *** octave-2.0/liboctave/Makefile.in Thu Dec 5 18:33:40 1996 --- octave-2.0.1/liboctave/Makefile.in Thu Dec 12 02:23:12 1996 *************** *** 218,227 **** -rmdir pic .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../`cat ../.fname`/liboctave - .PHONY: local-dist - dist: ln $(DISTFILES) ../`cat ../.fname`/liboctave .PHONY: dist --- 218,223 ---- diff -cNr octave-2.0/liboctave/Range.cc octave-2.0.1/liboctave/Range.cc *** octave-2.0/liboctave/Range.cc Sat Oct 12 12:52:55 1996 --- octave-2.0.1/liboctave/Range.cc Wed Dec 18 21:33:05 1996 *************** *** 150,155 **** --- 150,161 ---- return is; } + Range + operator - (const Range& r) + { + return Range (-r.base (), -r.limit (), -r.inc ()); + } + // C See Knuth, Art Of Computer Programming, Vol. 1, Problem 1.2.4-5. // C // C===Tolerant FLOOR function. diff -cNr octave-2.0/liboctave/Range.h octave-2.0.1/liboctave/Range.h *** octave-2.0/liboctave/Range.h Sat Oct 12 12:52:55 1996 --- octave-2.0.1/liboctave/Range.h Wed Dec 18 21:31:37 1996 *************** *** 85,90 **** --- 85,92 ---- int nelem_internal (void) const; }; + extern Range operator - (const Range& r); + #endif /* diff -cNr octave-2.0/liboctave/dMatrix.cc octave-2.0.1/liboctave/dMatrix.cc *** octave-2.0/liboctave/dMatrix.cc Wed Dec 4 12:21:01 1996 --- octave-2.0.1/liboctave/dMatrix.cc Sun Jan 5 12:02:52 1997 *************** *** 2888,2894 **** max_size *= 2; if (nr > 0) ! resize (nr, max_size / 2, 0.0); else resize (max_size, 1, 0.0); --- 2888,2894 ---- max_size *= 2; if (nr > 0) ! resize (nr, max_size / nr, 0.0); else resize (max_size, 1, 0.0); diff -cNr octave-2.0/liboctave/lo-ieee.cc octave-2.0.1/liboctave/lo-ieee.cc *** octave-2.0/liboctave/lo-ieee.cc Mon Dec 2 13:46:24 1996 --- octave-2.0.1/liboctave/lo-ieee.cc Wed Dec 18 16:18:57 1996 *************** *** 31,40 **** #include #endif ! #if defined (HAVE_NAN_H) && defined (SCO) #define _IEEE 1 #include #undef _IEEE #endif #include "lo-ieee.h" --- 31,44 ---- #include #endif ! #if defined (HAVE_NAN_H) ! #if defined (SCO) #define _IEEE 1 + #endif #include + #if defined (SCO) #undef _IEEE + #endif #endif #include "lo-ieee.h" diff -cNr octave-2.0/octMakefile.in octave-2.0.1/octMakefile.in *** octave-2.0/octMakefile.in Tue Dec 10 01:38:10 1996 --- octave-2.0.1/octMakefile.in Sat Dec 14 09:46:29 1996 *************** *** 24,33 **** DISTFILES = $(CONF_DISTFILES) \ BUGS COPYING INSTALL INSTALL.OCTAVE NEWS NEWS.[0-9] PROJECTS \ ! README README.NLP README.WINDOWS ROADMAP SENDING-PATCHES \ ! THANKS move-if-change octave.sh octave-bug.in doinstall.sh \ ! mkinstalldirs mkoctfile.in texi2dvi INFO.PATCH MAKEINFO.PATCH \ ! ChangeLog ChangeLog.[0-9] # Complete directory trees to distribute. DISTDIRS = emacs glob kpathsea make # plplot --- 24,33 ---- DISTFILES = $(CONF_DISTFILES) \ BUGS COPYING INSTALL INSTALL.OCTAVE NEWS NEWS.[0-9] PROJECTS \ ! README README.Linux README.NLP README.Windows ROADMAP \ ! SENDING-PATCHES THANKS move-if-change octave.sh octave-bug.in \ ! doinstall.sh mkinstalldirs mkoctfile.in texi2dvi INFO.PATCH \ ! MAKEINFO.PATCH ChangeLog ChangeLog.[0-9] # Complete directory trees to distribute. DISTDIRS = emacs glob kpathsea make # plplot *************** *** 41,47 **** # Subdirectories in which to run `make dist'. DISTSUBDIRS = libcruft liboctave info readline dlfcn src scripts \ ! test doc examples BINDISTFILES = COPYING ChangeLog NEWS README THANKS INSTALL.OCTAVE \ BUGS PROJECTS octave-bug octave.sh doinstall.sh \ --- 41,47 ---- # Subdirectories in which to run `make dist'. DISTSUBDIRS = libcruft liboctave info readline dlfcn src scripts \ ! test doc examples BINDISTFILES = COPYING ChangeLog NEWS README THANKS INSTALL.OCTAVE \ BUGS PROJECTS octave-bug octave.sh doinstall.sh \ *************** *** 214,269 **** @echo "**********************************************************" @echo "" .PHONY: binary-dist - - # Rules for making a distribution of the docs. - - doc-dist-tar: - echo octave-$(version) > .fname - echo octave-doc-$(version).tar > .tarfname - rm -rf `cat .fname` - mkdir `cat .fname` - ln README.doc COPYING `cat .fname` - mkdir `cat .fname`/doc; cd doc; $(MAKE) doc-dist - tar chf `cat .tarfname` `cat .fname` - rm -rf `cat .fname` - .PHONY: doc-dist-tar - - doc-dist: doc-dist-tar - .PHONY: doc-dist - - # Rules for making a distribution for local use. - - local-dist-tar: dist-info-files - echo octave-local-$(version) > .fname - rm -rf `cat .fname` - mkdir `cat .fname` - ln $(DISTFILES) `cat .fname` - for dir in $(DISTDIRS); do ln -s ../$$dir `cat .fname`; done - for dir in $(DISTSUBDIRS); do mkdir `cat .fname`/$$dir; cd $$dir; $(MAKE) $@; cd ..; done - tar chf `cat .fname`.tar `cat .fname` - rm -rf `cat .fname` - .PHONY: local-dist-tar - - clean-local-dist-tar: local-dist-tar - $(MAKE) clean-tar - .PHONY: clean-local-dist-tar - - local-dist: clean-local-dist-tar - .PHONY: local-dist - - # Rules for splitting a distribution. - - split-dist: - echo octave-$(version) > .fname - split -b 1350k `cat .fname`.tar.gz `cat .fname`.tar.gz- - rm -f .fname - .PHONY: split-dist - - split-local-dist: - echo octave-local-$(version) > .fname - split -b 1350k `cat .fname`.tar.gz `cat .fname`.tar.gz- - rm -f .fname - .PHONY: split-local-dist # Rules for making a dist of just the stuff needed to run configure. --- 214,219 ---- diff -cNr octave-2.0/readline/Makefile.in octave-2.0.1/readline/Makefile.in *** octave-2.0/readline/Makefile.in Mon Oct 14 11:08:04 1996 --- octave-2.0.1/readline/Makefile.in Thu Dec 12 02:23:06 1996 *************** *** 219,229 **** rm -f Makefile config.log config.status stamp-picdir -rmdir pic - local-dist: - for dir in $(SUBDIRS); do mkdir ../`cat ../.fname`/readline/$$dir; cd $$dir; $(MAKE) $@; cd ..; done - ln $(DISTFILES) ../`cat ../.fname`/readline - .PHONY: local-dist - dist: for dir in $(SUBDIRS); do mkdir ../`cat ../.fname`/readline/$$dir; cd $$dir; $(MAKE) $@; cd ..; done ln $(DISTFILES) ../`cat ../.fname`/readline --- 219,224 ---- diff -cNr octave-2.0/readline/doc/Makefile.in octave-2.0.1/readline/doc/Makefile.in *** octave-2.0/readline/doc/Makefile.in Wed Sep 20 01:04:13 1995 --- octave-2.0.1/readline/doc/Makefile.in Thu Dec 12 02:23:09 1996 *************** *** 56,65 **** maintainer-clean realclean: clean rm -f *.dvi *.info *.info-* *.ps Makefile - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/readline/doc - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/readline/doc .PHONY: dist --- 56,61 ---- diff -cNr octave-2.0/readline/examples/Makefile.in octave-2.0.1/readline/examples/Makefile.in *** octave-2.0/readline/examples/Makefile.in Sat Oct 12 23:29:04 1996 --- octave-2.0.1/readline/examples/Makefile.in Thu Dec 12 02:23:02 1996 *************** *** 12,21 **** fileman.o: fileman.c - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/readline/examples - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/readline/examples .PHONY: dist --- 12,17 ---- diff -cNr octave-2.0/scripts/ChangeLog octave-2.0.1/scripts/ChangeLog *** octave-2.0/scripts/ChangeLog Tue Dec 10 01:43:07 1996 --- octave-2.0.1/scripts/ChangeLog Tue Jan 7 00:16:56 1997 *************** *** 1,3 **** --- 1,19 ---- + Tue Jan 7 00:16:52 1997 John W. Eaton + + * Version 2.0.1 released. + + Thu Dec 19 22:16:46 1996 John W. Eaton + + * elfun/lcm.m: Replace missing if statement. + + * elfun/gcd.m: Report error if no input args. + * elfun/lcm.m: Likewise. + + Mon Dec 16 15:23:04 1996 John W. Eaton + + * Makefile.in (install): Use ls -LR to create ls-R database. + Also list contents of $libexecdir/octave in ls-R database. + Tue Dec 10 01:43:07 1996 John W. Eaton * Version 2.0 released. diff -cNr octave-2.0/scripts/Makefile.in octave-2.0.1/scripts/Makefile.in *** octave-2.0/scripts/Makefile.in Wed Oct 30 18:26:21 1996 --- octave-2.0.1/scripts/Makefile.in Mon Dec 16 15:21:31 1996 *************** *** 47,53 **** .PHONY: install uninstall clean mostlyclean distclean maintainer-clean install:: ! ls -R $(datadir)/octave > $(datadir)/octave/ls-R uninstall:: rm -f $(datadir)/octave/ls-R --- 47,53 ---- .PHONY: install uninstall clean mostlyclean distclean maintainer-clean install:: ! ls -LR $(datadir)/octave $(libexecdir)/octave > $(datadir)/octave/ls-R uninstall:: rm -f $(datadir)/octave/ls-R *************** *** 66,76 **** maintainer-clean:: rm -f tags TAGS Makefile config.log config.status - - local-dist: - ln $(DISTFILES) ../`cat ../.fname`/scripts - for dir in $(DISTSUBDIRS); do mkdir ../`cat ../.fname`/scripts/$$dir; cd $$dir; $(MAKE) $@; cd ..; done - .PHONY: local-dist dist: ln $(DISTFILES) ../`cat ../.fname`/scripts --- 66,71 ---- diff -cNr octave-2.0/scripts/audio/Makefile.in octave-2.0.1/scripts/audio/Makefile.in *** octave-2.0/scripts/audio/Makefile.in Thu Nov 16 13:16:11 1995 --- octave-2.0.1/scripts/audio/Makefile.in Thu Dec 12 02:22:58 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/audio - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/audio .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/scripts/control/Makefile.in octave-2.0.1/scripts/control/Makefile.in *** octave-2.0/scripts/control/Makefile.in Tue Sep 19 23:23:34 1995 --- octave-2.0.1/scripts/control/Makefile.in Thu Dec 12 02:22:48 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/control - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/control .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/scripts/elfun/Makefile.in octave-2.0.1/scripts/elfun/Makefile.in *** octave-2.0/scripts/elfun/Makefile.in Tue Sep 19 23:23:34 1995 --- octave-2.0.1/scripts/elfun/Makefile.in Thu Dec 12 02:22:45 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/elfun - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/elfun .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/scripts/elfun/gcd.m octave-2.0.1/scripts/elfun/gcd.m *** octave-2.0/scripts/elfun/gcd.m Mon Jul 15 17:20:21 1996 --- octave-2.0.1/scripts/elfun/gcd.m Thu Dec 19 22:16:45 1996 *************** *** 31,36 **** --- 31,40 ---- function [g, v] = gcd (a, ...) + if (nargin == 0) + usage ("[g, v] = gcd (a, ...)"); + endif + if (nargin > 1) va_start; for k = 2:nargin; diff -cNr octave-2.0/scripts/elfun/lcm.m octave-2.0.1/scripts/elfun/lcm.m *** octave-2.0/scripts/elfun/lcm.m Mon Jul 15 17:20:21 1996 --- octave-2.0.1/scripts/elfun/lcm.m Thu Dec 19 22:15:53 1996 *************** *** 29,34 **** --- 29,39 ---- function l = lcm (a, ...) + if (nargin == 0) + usage ("lcm (a, ...)"); + endif + + if (nargin > 1) va_start; for k = 2:nargin; a = [a, (va_arg ())]; diff -cNr octave-2.0/scripts/general/Makefile.in octave-2.0.1/scripts/general/Makefile.in *** octave-2.0/scripts/general/Makefile.in Tue Sep 19 23:23:34 1995 --- octave-2.0.1/scripts/general/Makefile.in Thu Dec 12 02:22:42 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/general - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/general .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/scripts/image/Makefile.in octave-2.0.1/scripts/image/Makefile.in *** octave-2.0/scripts/image/Makefile.in Thu Nov 7 20:50:06 1996 --- octave-2.0.1/scripts/image/Makefile.in Thu Dec 12 02:22:39 1996 *************** *** 77,86 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/image - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/image .PHONY: dist --- 77,82 ---- diff -cNr octave-2.0/scripts/io/Makefile.in octave-2.0.1/scripts/io/Makefile.in *** octave-2.0/scripts/io/Makefile.in Wed Apr 17 20:10:25 1996 --- octave-2.0.1/scripts/io/Makefile.in Thu Dec 12 02:22:36 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/io - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/io .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/scripts/linear-algebra/Makefile.in octave-2.0.1/scripts/linear-algebra/Makefile.in *** octave-2.0/scripts/linear-algebra/Makefile.in Tue Sep 19 23:23:34 1995 --- octave-2.0.1/scripts/linear-algebra/Makefile.in Thu Dec 12 02:22:33 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/linear-algebra - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/linear-algebra .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/scripts/miscellaneous/Makefile.in octave-2.0.1/scripts/miscellaneous/Makefile.in *** octave-2.0/scripts/miscellaneous/Makefile.in Tue Sep 19 23:23:34 1995 --- octave-2.0.1/scripts/miscellaneous/Makefile.in Thu Dec 12 02:22:30 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/miscellaneous - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/miscellaneous .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/scripts/plot/Makefile.in octave-2.0.1/scripts/plot/Makefile.in *** octave-2.0/scripts/plot/Makefile.in Sun Jan 7 20:23:16 1996 --- octave-2.0.1/scripts/plot/Makefile.in Thu Dec 12 02:22:27 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/plot - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/plot .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/scripts/polynomial/Makefile.in octave-2.0.1/scripts/polynomial/Makefile.in *** octave-2.0/scripts/polynomial/Makefile.in Tue Sep 19 23:23:34 1995 --- octave-2.0.1/scripts/polynomial/Makefile.in Thu Dec 12 02:22:19 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/polynomial - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/polynomial .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/scripts/set/Makefile.in octave-2.0.1/scripts/set/Makefile.in *** octave-2.0/scripts/set/Makefile.in Tue Sep 19 23:23:34 1995 --- octave-2.0.1/scripts/set/Makefile.in Thu Dec 12 02:22:16 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/set - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/set .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/scripts/signal/Makefile.in octave-2.0.1/scripts/signal/Makefile.in *** octave-2.0/scripts/signal/Makefile.in Tue Sep 19 23:23:34 1995 --- octave-2.0.1/scripts/signal/Makefile.in Thu Dec 12 02:22:13 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/signal - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/signal .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/scripts/specfun/Makefile.in octave-2.0.1/scripts/specfun/Makefile.in *** octave-2.0/scripts/specfun/Makefile.in Tue Sep 19 23:23:34 1995 --- octave-2.0.1/scripts/specfun/Makefile.in Thu Dec 12 02:22:10 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/specfun - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/specfun .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/scripts/special-matrix/Makefile.in octave-2.0.1/scripts/special-matrix/Makefile.in *** octave-2.0/scripts/special-matrix/Makefile.in Thu Sep 14 04:09:18 1995 --- octave-2.0.1/scripts/special-matrix/Makefile.in Thu Dec 12 02:22:07 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/special-matrix - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/special-matrix .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/scripts/startup/Makefile.in octave-2.0.1/scripts/startup/Makefile.in *** octave-2.0/scripts/startup/Makefile.in Tue Sep 26 00:05:20 1995 --- octave-2.0.1/scripts/startup/Makefile.in Thu Dec 12 02:22:04 1996 *************** *** 76,85 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/startup - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/startup .PHONY: dist --- 76,81 ---- diff -cNr octave-2.0/scripts/statistics/Makefile.in octave-2.0.1/scripts/statistics/Makefile.in *** octave-2.0/scripts/statistics/Makefile.in Tue Sep 19 23:23:34 1995 --- octave-2.0.1/scripts/statistics/Makefile.in Thu Dec 12 02:22:02 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/statistics - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/statistics .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/scripts/strings/Makefile.in octave-2.0.1/scripts/strings/Makefile.in *** octave-2.0/scripts/strings/Makefile.in Tue Sep 19 23:23:34 1995 --- octave-2.0.1/scripts/strings/Makefile.in Thu Dec 12 02:21:59 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/strings - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/strings .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/scripts/time/Makefile.in octave-2.0.1/scripts/time/Makefile.in *** octave-2.0/scripts/time/Makefile.in Tue Sep 19 23:23:34 1995 --- octave-2.0.1/scripts/time/Makefile.in Thu Dec 12 02:21:56 1996 *************** *** 64,73 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../../`cat ../../.fname`/scripts/time - .PHONY: local-dist - dist: ln $(DISTFILES) ../../`cat ../../.fname`/scripts/time .PHONY: dist --- 64,69 ---- diff -cNr octave-2.0/src/BaseSLList.cc octave-2.0.1/src/BaseSLList.cc *** octave-2.0/src/BaseSLList.cc Fri Dec 6 10:59:13 1996 --- octave-2.0.1/src/BaseSLList.cc Wed Dec 18 20:17:22 1996 *************** *** 29,37 **** #include #include "BaseSLList.h" void BaseSLList::error(const char* msg) const { ! (*lib_error_handler)("SLList", msg); } int BaseSLList::length() const --- 29,39 ---- #include #include "BaseSLList.h" + #include "error.h" + void BaseSLList::error(const char* msg) const { ! ::error ("SLList: %s", msg); } int BaseSLList::length() const diff -cNr octave-2.0/src/ChangeLog octave-2.0.1/src/ChangeLog *** octave-2.0/src/ChangeLog Tue Dec 10 03:18:30 1996 --- octave-2.0.1/src/ChangeLog Tue Jan 7 00:16:42 1997 *************** *** 1,3 **** --- 1,70 ---- + Tue Jan 7 00:16:41 1997 John W. Eaton + + * Version 2.0.1 released. + + Mon Jan 6 00:00:07 1997 John W. Eaton + + * pt-mat.cc (tm_row_const_rep::all_mt): New variable. + (tm_row_const::all_empty): New function. + (tm_row_const::tm_row_const_rep::init): Set all_mt here. + (tm_const::all_mt): New variable. + (tm_const::all_emtpy): New function. + (tm_const::init): Set all_mt here. + (tree_matrix::eval): Return an empty matrix if the list contains + only empty elements. If it contains only empty strings, return an + empty string. + + Sun Jan 5 12:50:25 1997 John W. Eaton + + * ops.h (SC_MX_BOOL_OP, MX_SC_BOOL_OP): New arg, empty_result. + * op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, op-cm-s.cc, op-cs-cm.cc, + op-cs-m.cc, op-m-cm.cc, op-m-cs.cc, op-m-m.cc, op-m-s.cc, + op-s-cm.cc, op-s-m.cc, op-str-str.cc: Change all uses of + SC_MX_BOOL_OP and MX_SC_BOOL_OP macros. Return correct results + for empty matrix cases. + + * pt-fcn.cc (tree_function::eval): If Vdefine_all_return_values is + true, initialize return values before evaluating function, for + compatibility with Matlab. + + * oct-stream.cc (get_size): Correctly set size when arg is scalar. + + Thu Jan 2 12:40:10 1997 John W. Eaton + + * Makefile.in (install-oct): Quote $(OCT_FILES) in for loop to + avoid syntax error from ksh. + + * pr-output.cc (octave_print_internal): Avoid unused parameter + warning from gcc. + + Thu Dec 19 12:13:42 1996 John W. Eaton + + * oct-stream.cc (octave_base_stream::do_scanf): + Don't treat %l{e,f,g} differently from %{e,f,g}. + (octave_base_stream::do_oscanf): Likewise. + + * sighandlers.cc (sigchld_handler): Fix typos. + + Wed Dec 18 20:17:23 1996 John W. Eaton + + * file-io.cc (Ffgetl, Ffgets): Also return number of characters read. + + * ov-range.cc (octave_range::not): New function. + * ov-range.h (octave_range::uminus): New function. + + * BaseSLList.cc: Include error.h. + (BaseSLList::error): Call ::error() to process error message. + + Fri Dec 13 02:38:19 1996 John W. Eaton + + * ov.cc (octave_value::convert_and_assign): Preserve lhs value if + assignment fails. + + Wed Dec 11 12:33:16 1996 John W. Eaton + + * pt-plot.cc (GPLOT_CMD_END): Don't put semicolons at the end of + each plot command; it causes trouble with gnuplot 3.5. + Tue Dec 10 00:31:13 1996 John W. Eaton * Version 2.0 released. diff -cNr octave-2.0/src/Makefile.in octave-2.0.1/src/Makefile.in *** octave-2.0/src/Makefile.in Mon Dec 9 23:53:53 1996 --- octave-2.0.1/src/Makefile.in Thu Jan 2 12:43:40 1997 *************** *** 261,267 **** if [ -n "$(OCT_FILES)" ]; then \ $(top_srcdir)/mkinstalldirs $(octfiledir) ; \ chmod a+rx mk-oct-links ; \ ! for f in $(OCT_FILES); do \ $(INSTALL_PROGRAM) $$f $(octfiledir)/$$f; \ done ; \ ./mk-oct-links $(octfiledir) $(addprefix $(srcdir)/, $(DLD_SRC)) ; \ --- 261,268 ---- if [ -n "$(OCT_FILES)" ]; then \ $(top_srcdir)/mkinstalldirs $(octfiledir) ; \ chmod a+rx mk-oct-links ; \ ! xfiles="$(OCT_FILES)" ; \ ! for f in $$xfiles ; do \ $(INSTALL_PROGRAM) $$f $(octfiledir)/$$f; \ done ; \ ./mk-oct-links $(octfiledir) $(addprefix $(srcdir)/, $(DLD_SRC)) ; \ *************** *** 331,342 **** rm -f oct-gperf.h stamp-picdir stamp-tinst stamp-interp stamp-prereq -rmdir pic .PHONY: maintainer-clean - - local-dist: parse.cc lex.cc oct-gperf.h - ln $(DISTFILES) ../`cat ../.fname`/src - rm -f parse.cc lex.cc y.tab.h y.output yy.lex.c - rm -f oct-gperf.h defaults.h oct-conf.h *.d *.df - .PHONY: local-dist dist: parse.cc lex.cc oct-gperf.h ln $(DISTFILES) ../`cat ../.fname`/src --- 332,337 ---- diff -cNr octave-2.0/src/file-io.cc octave-2.0.1/src/file-io.cc *** octave-2.0/src/file-io.cc Sat Nov 2 21:02:17 1996 --- octave-2.0.1/src/file-io.cc Wed Dec 18 22:46:58 1996 *************** *** 182,192 **** } DEFUN (fgetl, args, , ! "STRING = fgetl (FILENUM [, LENGTH])\n\ \n\ read a string from a file") { ! octave_value retval = -1.0; int nargin = args.length (); --- 182,195 ---- } DEFUN (fgetl, args, , ! "[STRING, LENGTH] = fgetl (FILENUM [, LENGTH])\n\ \n\ read a string from a file") { ! octave_value_list retval; ! ! retval(1) = 0.0; ! retval(0) = -1.0; int nargin = args.length (); *************** *** 204,210 **** string tmp = os->getl (len_arg, err); if (! err) ! retval = tmp; } else gripe_invalid_file_id ("fgetl"); --- 207,216 ---- string tmp = os->getl (len_arg, err); if (! err) ! { ! retval(1) = (double) tmp.length (); ! retval(0) = tmp; ! } } else gripe_invalid_file_id ("fgetl"); *************** *** 216,226 **** } DEFUN (fgets, args, , ! "STRING = fgets (FILENUM [, LENGTH])\n\ \n\ read a string from a file") { ! octave_value retval = -1.0; int nargin = args.length (); --- 222,235 ---- } DEFUN (fgets, args, , ! "[STRING, LENGTH] = fgets (FILENUM [, LENGTH])\n\ \n\ read a string from a file") { ! octave_value_list retval; ! ! retval(1) = 0.0; ! retval(0) = -1.0; int nargin = args.length (); *************** *** 238,244 **** string tmp = os->gets (len_arg, err); if (! err) ! retval = tmp; } else gripe_invalid_file_id ("fgets"); --- 247,256 ---- string tmp = os->gets (len_arg, err); if (! err) ! { ! retval(1) = (double) tmp.length (); ! retval(0) = tmp; ! } } else gripe_invalid_file_id ("fgets"); *************** *** 338,344 **** If fopen fails, FILENUM is set to -1 and ERRMSG contains a\n\ system-dependent error message") { ! octave_value_list retval = -1.0; int nargin = args.length (); --- 350,358 ---- If fopen fails, FILENUM is set to -1 and ERRMSG contains a\n\ system-dependent error message") { ! octave_value_list retval; ! ! retval(0) = -1.0; int nargin = args.length (); diff -cNr octave-2.0/src/oct-stream.cc octave-2.0.1/src/oct-stream.cc *** octave-2.0/src/oct-stream.cc Sat Dec 7 21:57:02 1996 --- octave-2.0.1/src/oct-stream.cc Sun Jan 5 12:47:14 1997 *************** *** 112,133 **** double dnr = -1.0; double dnc = -1.0; ! if (size.rows () == 1 && size.cols () > 0) { dnr = size (0, 0); ! if (size.cols () == 2) dnc = size (0, 1); ! else if (size.cols () > 2) ::error ("%s: invalid size specification", warn_for); } ! else if (size.cols () == 1 && size.rows () > 0) { dnr = size (0, 0); ! if (size.rows () == 2) dnc = size (1, 0); ! else if (size.rows () > 2) ::error ("%s: invalid size specification", warn_for); } else --- 112,141 ---- double dnr = -1.0; double dnc = -1.0; ! int sz_nr = size.rows (); ! int sz_nc = size.cols (); ! ! if (sz_nr == 1 && sz_nc == 1) ! { ! dnr = size (0, 0); ! dnc = 1.0; ! } ! else if (sz_nr == 1 && sz_nc > 0) { dnr = size (0, 0); ! if (sz_nc == 2) dnc = size (0, 1); ! else if (sz_nc > 2) ::error ("%s: invalid size specification", warn_for); } ! else if (sz_nc == 1 && sz_nr > 0) { dnr = size (0, 0); ! if (sz_nr == 2) dnc = size (1, 0); ! else if (sz_nr > 2) ::error ("%s: invalid size specification", warn_for); } else *************** *** 887,895 **** --- 895,905 ---- do_scanf_conv (istream&, const char*, int*, Matrix&, double*, int&, int, int, bool); + #if 0 template void do_scanf_conv (istream&, const char*, float*, Matrix&, double*, int&, int, int, bool); + #endif template void do_scanf_conv (istream&, const char*, double*, Matrix&, double*, int&, *************** *** 982,1001 **** case 'e': case 'f': case 'g': { ! if (elt->modifier == 'l') ! { ! double tmp; ! ! do_scanf_conv (is, fmt, &tmp, mval, data, ! count, nr, max_size, discard); ! } ! else ! { ! float tmp; ! do_scanf_conv (is, fmt, &tmp, mval, data, ! count, nr, max_size, discard); ! } } break; --- 992,1001 ---- case 'e': case 'f': case 'g': { ! double tmp; ! do_scanf_conv (is, fmt, &tmp, mval, data, count, ! nr, max_size, discard); } break; *************** *** 1231,1238 **** --- 1231,1240 ---- template octave_value do_oscanf_num_conv (istream&, const char*, int*, bool); + #if 0 template octave_value do_oscanf_num_conv (istream&, const char*, float*, bool); + #endif template octave_value do_oscanf_num_conv (istream&, const char*, double*, bool); *************** *** 1298,1315 **** case 'e': case 'f': case 'g': { ! if (elt->modifier == 'l') ! { ! double tmp; ! retval = do_oscanf_num_conv (is, fmt, &tmp, discard); ! } ! else ! { ! float tmp; ! ! retval = do_oscanf_num_conv (is, fmt, &tmp, discard); ! } } break; --- 1300,1308 ---- case 'e': case 'f': case 'g': { ! double tmp; ! retval = do_oscanf_num_conv (is, fmt, &tmp, discard); } break; diff -cNr octave-2.0/src/op-cm-cm.cc octave-2.0.1/src/op-cm-cm.cc *** octave-2.0/src/op-cm-cm.cc Thu Dec 5 13:05:54 1996 --- octave-2.0.1/src/op-cm-cm.cc Sun Jan 5 23:14:26 1997 *************** *** 99,105 **** { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex_matrix&); ! BOOL_OP (<, 0.0); } static octave_value --- 99,105 ---- { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex_matrix&); ! BOOL_OP (<, Matrix ()); } static octave_value *************** *** 107,113 **** { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex_matrix&); ! BOOL_OP (<=, 0.0); } static octave_value --- 107,113 ---- { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex_matrix&); ! BOOL_OP (<=, Matrix ()); } static octave_value *************** *** 117,123 **** MX_MX_BOOL_OP (ComplexMatrix, m1, v1.complex_matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) == m2 (i, j), "==", 1.0); } static octave_value --- 117,123 ---- MX_MX_BOOL_OP (ComplexMatrix, m1, v1.complex_matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) == m2 (i, j), "==", 0.0); } static octave_value *************** *** 125,131 **** { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex_matrix&); ! BOOL_OP (>=, 0.0); } static octave_value --- 125,131 ---- { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex_matrix&); ! BOOL_OP (>=, Matrix ()); } static octave_value *************** *** 133,139 **** { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex_matrix&); ! BOOL_OP (>, 0.0); } static octave_value --- 133,139 ---- { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex_matrix&); ! BOOL_OP (>, Matrix ()); } static octave_value *************** *** 143,149 **** MX_MX_BOOL_OP (ComplexMatrix, m1, v1.complex_matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) != m2 (i, j), "!=", 0.0); } static octave_value --- 143,149 ---- MX_MX_BOOL_OP (ComplexMatrix, m1, v1.complex_matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) != m2 (i, j), "!=", 1.0); } static octave_value *************** *** 188,194 **** MX_MX_BOOL_OP (ComplexMatrix, m1, v1.complex_matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) != 0.0 && m2 (i, j) != 0.0, "&", 0.0); } static octave_value --- 188,194 ---- MX_MX_BOOL_OP (ComplexMatrix, m1, v1.complex_matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) != 0.0 && m2 (i, j) != 0.0, "&", Matrix ()); } static octave_value *************** *** 198,204 **** MX_MX_BOOL_OP (ComplexMatrix, m1, v1.complex_matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) != 0.0 || m2 (i, j) != 0.0, "|", 0.0); } static octave_value --- 198,204 ---- MX_MX_BOOL_OP (ComplexMatrix, m1, v1.complex_matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) != 0.0 || m2 (i, j) != 0.0, "|", Matrix ()); } static octave_value diff -cNr octave-2.0/src/op-cm-cs.cc octave-2.0.1/src/op-cm-cs.cc *** octave-2.0/src/op-cm-cs.cc Fri Oct 11 20:39:07 1996 --- octave-2.0.1/src/op-cm-cs.cc Sun Jan 5 23:13:40 1997 *************** *** 92,108 **** return octave_value (); } ! #define BOOL_OP(OP) \ MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ Complex, s, v2.complex_value (), \ ! real (m (i, j)) OP real (s)) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex&); ! BOOL_OP (<); } static octave_value --- 92,108 ---- return octave_value (); } ! #define BOOL_OP(OP, EMPTY_RESULT) \ MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ Complex, s, v2.complex_value (), \ ! real (m (i, j)) OP real (s), EMPTY_RESULT) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex&); ! BOOL_OP (<, Matrix ()); } static octave_value *************** *** 110,116 **** { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex&); ! BOOL_OP (<=); } static octave_value --- 110,116 ---- { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex&); ! BOOL_OP (<=, Matrix ()); } static octave_value *************** *** 120,126 **** MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) == s); } static octave_value --- 120,126 ---- MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) == s, 0.0); } static octave_value *************** *** 128,134 **** { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex&); ! BOOL_OP (>=); } static octave_value --- 128,134 ---- { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex&); ! BOOL_OP (>=, Matrix ()); } static octave_value *************** *** 136,142 **** { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex&); ! BOOL_OP (>); } static octave_value --- 136,142 ---- { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_complex&); ! BOOL_OP (>, Matrix ()); } static octave_value *************** *** 146,152 **** MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) != s); } static octave_value --- 146,152 ---- MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) != s, 1.0); } static octave_value *************** *** 193,199 **** MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) != 0.0 && s != 0.0); } static octave_value --- 193,199 ---- MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) != 0.0 && s != 0.0, Matrix ()); } static octave_value *************** *** 203,209 **** MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) != 0.0 || s != 0.0); } static octave_value --- 203,209 ---- MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) != 0.0 || s != 0.0, Matrix ()); } static octave_value diff -cNr octave-2.0/src/op-cm-m.cc octave-2.0.1/src/op-cm-m.cc *** octave-2.0/src/op-cm-m.cc Fri Oct 11 20:39:07 1996 --- octave-2.0.1/src/op-cm-m.cc Sun Jan 5 23:13:14 1997 *************** *** 97,103 **** { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_matrix&); ! BOOL_OP (<, 0.0); } static octave_value --- 97,103 ---- { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_matrix&); ! BOOL_OP (<, Matrix ()); } static octave_value *************** *** 105,111 **** { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_matrix&); ! BOOL_OP (<=, 0.0); } static octave_value --- 105,111 ---- { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_matrix&); ! BOOL_OP (<=, Matrix ()); } static octave_value *************** *** 115,121 **** MX_MX_BOOL_OP (ComplexMatrix, m1, v1.complex_matrix_value (), \ Matrix, m2, v2.matrix_value (), \ ! m1 (i, j) == m2 (i, j), "==", 1.0); } static octave_value --- 115,121 ---- MX_MX_BOOL_OP (ComplexMatrix, m1, v1.complex_matrix_value (), \ Matrix, m2, v2.matrix_value (), \ ! m1 (i, j) == m2 (i, j), "==", 0.0); } static octave_value *************** *** 123,129 **** { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_matrix&); ! BOOL_OP (>=, 0.0); } static octave_value --- 123,129 ---- { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_matrix&); ! BOOL_OP (>=, Matrix ()); } static octave_value *************** *** 131,137 **** { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_matrix&); ! BOOL_OP (>, 0.0); } static octave_value --- 131,137 ---- { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_matrix&); ! BOOL_OP (>, Matrix ()); } static octave_value *************** *** 183,189 **** MX_MX_BOOL_OP (ComplexMatrix, m1, v1.complex_matrix_value (), \ Matrix, m2, v2.matrix_value (), \ ! m1 (i, j) != 0.0 && m2 (i, j), "&", 0.0); } static octave_value --- 183,189 ---- MX_MX_BOOL_OP (ComplexMatrix, m1, v1.complex_matrix_value (), \ Matrix, m2, v2.matrix_value (), \ ! m1 (i, j) != 0.0 && m2 (i, j), "&", Matrix ()); } static octave_value *************** *** 193,199 **** MX_MX_BOOL_OP (ComplexMatrix, m1, v1.complex_matrix_value (), \ Matrix, m2, v2.matrix_value (), \ ! m1 (i, j) != 0.0 || m2 (i, j), "|", 0.0); } static octave_value --- 193,199 ---- MX_MX_BOOL_OP (ComplexMatrix, m1, v1.complex_matrix_value (), \ Matrix, m2, v2.matrix_value (), \ ! m1 (i, j) != 0.0 || m2 (i, j), "|", Matrix ()); } static octave_value diff -cNr octave-2.0/src/op-cm-s.cc octave-2.0.1/src/op-cm-s.cc *** octave-2.0/src/op-cm-s.cc Fri Oct 11 20:39:08 1996 --- octave-2.0.1/src/op-cm-s.cc Sun Jan 5 23:12:35 1997 *************** *** 92,108 **** return octave_value (); } ! #define BOOL_OP(OP) \ MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ double, s, v2.double_value (), \ ! real (m (i, j)) OP s) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_scalar&); ! BOOL_OP (<); } static octave_value --- 92,108 ---- return octave_value (); } ! #define BOOL_OP(OP, EMPTY_RESULT) \ MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ double, s, v2.double_value (), \ ! real (m (i, j)) OP s, EMPTY_RESULT) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_scalar&); ! BOOL_OP (<, Matrix ()); } static octave_value *************** *** 110,116 **** { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_scalar&); ! BOOL_OP (<=); } static octave_value --- 110,116 ---- { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_scalar&); ! BOOL_OP (<=, Matrix ()); } static octave_value *************** *** 120,126 **** MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ double, s, v2.double_value (), \ ! m (i, j) == s); } static octave_value --- 120,126 ---- MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ double, s, v2.double_value (), \ ! m (i, j) == s, 0.0); } static octave_value *************** *** 128,134 **** { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_scalar&); ! BOOL_OP (>=); } static octave_value --- 128,134 ---- { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_scalar&); ! BOOL_OP (>=, Matrix ()); } static octave_value *************** *** 136,142 **** { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_scalar&); ! BOOL_OP (>); } static octave_value --- 136,142 ---- { CAST_BINOP_ARGS (const octave_complex_matrix&, const octave_scalar&); ! BOOL_OP (>, Matrix ()); } static octave_value *************** *** 146,152 **** MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ double, s, v2.double_value (), \ ! m (i, j) != s); } static octave_value --- 146,152 ---- MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ double, s, v2.double_value (), \ ! m (i, j) != s, 1.0); } static octave_value *************** *** 193,199 **** MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ double, s, v2.double_value (), \ ! m (i, j) != 0.0 && s); } static octave_value --- 193,199 ---- MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ double, s, v2.double_value (), \ ! m (i, j) != 0.0 && s, Matrix ()); } static octave_value *************** *** 203,209 **** MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ double, s, v2.double_value (), \ ! m (i, j) != 0.0 || s); } static octave_value --- 203,209 ---- MX_SC_BOOL_OP (ComplexMatrix, m, v1.complex_matrix_value (), \ double, s, v2.double_value (), \ ! m (i, j) != 0.0 || s, Matrix ()); } static octave_value diff -cNr octave-2.0/src/op-cs-cm.cc octave-2.0.1/src/op-cs-cm.cc *** octave-2.0/src/op-cs-cm.cc Mon Oct 14 23:20:26 1996 --- octave-2.0.1/src/op-cs-cm.cc Sun Jan 5 23:12:07 1997 *************** *** 92,108 **** return octave_value (v2.complex_matrix_value () / d); } ! #define BOOL_OP(OP) \ SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! real (s) OP real (m (i, j))) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_complex&, const octave_complex_matrix&); ! BOOL_OP (<); } static octave_value --- 92,108 ---- return octave_value (v2.complex_matrix_value () / d); } ! #define BOOL_OP(OP, EMPTY_RESULT) \ SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! real (s) OP real (m (i, j)), EMPTY_RESULT) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_complex&, const octave_complex_matrix&); ! BOOL_OP (<, Matrix ()); } static octave_value *************** *** 110,116 **** { CAST_BINOP_ARGS (const octave_complex&, const octave_complex_matrix&); ! BOOL_OP (<=); } static octave_value --- 110,116 ---- { CAST_BINOP_ARGS (const octave_complex&, const octave_complex_matrix&); ! BOOL_OP (<=, Matrix ()); } static octave_value *************** *** 120,126 **** SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s == m (i, j)); } static octave_value --- 120,126 ---- SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s == m (i, j), 0.0); } static octave_value *************** *** 128,134 **** { CAST_BINOP_ARGS (const octave_complex&, const octave_complex_matrix&); ! BOOL_OP (>=); } static octave_value --- 128,134 ---- { CAST_BINOP_ARGS (const octave_complex&, const octave_complex_matrix&); ! BOOL_OP (>=, Matrix ()); } static octave_value *************** *** 136,142 **** { CAST_BINOP_ARGS (const octave_complex&, const octave_complex_matrix&); ! BOOL_OP (>); } static octave_value --- 136,142 ---- { CAST_BINOP_ARGS (const octave_complex&, const octave_complex_matrix&); ! BOOL_OP (>, Matrix ()); } static octave_value *************** *** 146,152 **** SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s != m (i, j)); } static octave_value --- 146,152 ---- SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s != m (i, j), 1.0); } static octave_value *************** *** 193,199 **** SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s != 0.0 && m (i, j) != 0.0); } static octave_value --- 193,199 ---- SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s != 0.0 && m (i, j) != 0.0, Matrix ()); } static octave_value *************** *** 203,209 **** SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s != 0.0 || m (i, j) != 0.0); } static octave_value * --- 203,209 ---- SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s != 0.0 || m (i, j) != 0.0, Matrix ()); } static octave_value * diff -cNr octave-2.0/src/op-cs-m.cc octave-2.0.1/src/op-cs-m.cc *** octave-2.0/src/op-cs-m.cc Mon Oct 14 23:34:18 1996 --- octave-2.0.1/src/op-cs-m.cc Sun Jan 5 23:11:33 1997 *************** *** 93,109 **** return octave_value (v2.matrix_value () / d); } ! #define BOOL_OP(OP) \ SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ Matrix, m, v2.matrix_value (), \ ! real (s) OP m (i, j)) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_complex&, const octave_matrix&); ! BOOL_OP (<); } static octave_value --- 93,109 ---- return octave_value (v2.matrix_value () / d); } ! #define BOOL_OP(OP, EMPTY_RESULT) \ SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ Matrix, m, v2.matrix_value (), \ ! real (s) OP m (i, j), EMPTY_RESULT) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_complex&, const octave_matrix&); ! BOOL_OP (<, Matrix ()); } static octave_value *************** *** 111,117 **** { CAST_BINOP_ARGS (const octave_complex&, const octave_matrix&); ! BOOL_OP (<=); } static octave_value --- 111,117 ---- { CAST_BINOP_ARGS (const octave_complex&, const octave_matrix&); ! BOOL_OP (<=, Matrix ()); } static octave_value *************** *** 121,127 **** SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ Matrix, m, v2.matrix_value (), \ ! s == m (i, j)); } static octave_value --- 121,127 ---- SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ Matrix, m, v2.matrix_value (), \ ! s == m (i, j), 0.0); } static octave_value *************** *** 129,135 **** { CAST_BINOP_ARGS (const octave_complex&, const octave_matrix&); ! BOOL_OP (>=); } static octave_value --- 129,135 ---- { CAST_BINOP_ARGS (const octave_complex&, const octave_matrix&); ! BOOL_OP (>=, Matrix ()); } static octave_value *************** *** 137,143 **** { CAST_BINOP_ARGS (const octave_complex&, const octave_matrix&); ! BOOL_OP (>); } static octave_value --- 137,143 ---- { CAST_BINOP_ARGS (const octave_complex&, const octave_matrix&); ! BOOL_OP (>, Matrix ()); } static octave_value *************** *** 147,153 **** SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ Matrix, m, v2.matrix_value (), \ ! s != m (i, j)); } static octave_value --- 147,153 ---- SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ Matrix, m, v2.matrix_value (), \ ! s != m (i, j), 1.0); } static octave_value *************** *** 194,200 **** SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ Matrix, m, v2.matrix_value (), \ ! s != 0.0 && m (i, j)); } static octave_value --- 194,200 ---- SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ Matrix, m, v2.matrix_value (), \ ! s != 0.0 && m (i, j), Matrix ()); } static octave_value *************** *** 204,210 **** SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ Matrix, m, v2.matrix_value (), \ ! s != 0.0 || m (i, j)); } static octave_value * --- 204,210 ---- SC_MX_BOOL_OP (Complex, s, v1.complex_value (), \ Matrix, m, v2.matrix_value (), \ ! s != 0.0 || m (i, j), Matrix ()); } static octave_value * diff -cNr octave-2.0/src/op-m-cm.cc octave-2.0.1/src/op-m-cm.cc *** octave-2.0/src/op-m-cm.cc Fri Oct 11 20:39:10 1996 --- octave-2.0.1/src/op-m-cm.cc Sun Jan 5 23:11:00 1997 *************** *** 97,103 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex_matrix&); ! BOOL_OP (<, 0.0); } static octave_value --- 97,103 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex_matrix&); ! BOOL_OP (<, Matrix ()); } static octave_value *************** *** 105,111 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex_matrix&); ! BOOL_OP (<=, 0.0); } static octave_value --- 105,111 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex_matrix&); ! BOOL_OP (<=, Matrix ()); } static octave_value *************** *** 115,121 **** MX_MX_BOOL_OP (Matrix, m1, v1.matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) == m2 (i, j), "==", 1.0); } static octave_value --- 115,121 ---- MX_MX_BOOL_OP (Matrix, m1, v1.matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) == m2 (i, j), "==", 0.0); } static octave_value *************** *** 123,129 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex_matrix&); ! BOOL_OP (>=, 0.0); } static octave_value --- 123,129 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex_matrix&); ! BOOL_OP (>=, Matrix ()); } static octave_value *************** *** 131,137 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex_matrix&); ! BOOL_OP (>, 0.0); } static octave_value --- 131,137 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex_matrix&); ! BOOL_OP (>, Matrix ()); } static octave_value *************** *** 141,147 **** MX_MX_BOOL_OP (Matrix, m1, v1.matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) != m2 (i, j), "!=", 0.0); } static octave_value --- 141,147 ---- MX_MX_BOOL_OP (Matrix, m1, v1.matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) != m2 (i, j), "!=", 1.0); } static octave_value *************** *** 183,189 **** MX_MX_BOOL_OP (Matrix, m1, v1.matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) && m2 (i, j) != 0.0, "&", 0.0); } static octave_value --- 183,189 ---- MX_MX_BOOL_OP (Matrix, m1, v1.matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) && m2 (i, j) != 0.0, "&", Matrix ()); } static octave_value *************** *** 193,199 **** MX_MX_BOOL_OP (Matrix, m1, v1.matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) || m2 (i, j) != 0.0, "|", 0.0); } static octave_value * --- 193,199 ---- MX_MX_BOOL_OP (Matrix, m1, v1.matrix_value (), \ ComplexMatrix, m2, v2.complex_matrix_value (), \ ! m1 (i, j) || m2 (i, j) != 0.0, "|", Matrix ()); } static octave_value * diff -cNr octave-2.0/src/op-m-cs.cc octave-2.0.1/src/op-m-cs.cc *** octave-2.0/src/op-m-cs.cc Fri Oct 11 20:39:10 1996 --- octave-2.0.1/src/op-m-cs.cc Sun Jan 5 23:10:11 1997 *************** *** 93,109 **** return octave_value (); } ! #define BOOL_OP(OP) \ MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) OP real (s)) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex&); ! BOOL_OP (<); } static octave_value --- 93,109 ---- return octave_value (); } ! #define BOOL_OP(OP, EMPTY_RESULT) \ MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) OP real (s), EMPTY_RESULT) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex&); ! BOOL_OP (<, Matrix ()); } static octave_value *************** *** 111,117 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex&); ! BOOL_OP (<=); } static octave_value --- 111,117 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex&); ! BOOL_OP (<=, Matrix ()); } static octave_value *************** *** 121,127 **** MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) == s); } static octave_value --- 121,127 ---- MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) == s, 0.0); } static octave_value *************** *** 129,135 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex&); ! BOOL_OP (>=); } static octave_value --- 129,135 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex&); ! BOOL_OP (>=, Matrix ()); } static octave_value *************** *** 137,143 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex&); ! BOOL_OP (>); } static octave_value --- 137,143 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_complex&); ! BOOL_OP (>, Matrix ()); } static octave_value *************** *** 147,153 **** MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) != s); } static octave_value --- 147,153 ---- MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) != s, 1.0); } static octave_value *************** *** 194,200 **** MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) && s != 0.0); } static octave_value --- 194,200 ---- MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) && s != 0.0, Matrix ()); } static octave_value *************** *** 204,210 **** MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) || s != 0.0); } static octave_value * --- 204,210 ---- MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ Complex, s, v2.complex_value (), \ ! m (i, j) || s != 0.0, Matrix ()); } static octave_value * diff -cNr octave-2.0/src/op-m-m.cc octave-2.0.1/src/op-m-m.cc *** octave-2.0/src/op-m-m.cc Fri Oct 11 20:39:11 1996 --- octave-2.0.1/src/op-m-m.cc Sun Jan 5 23:09:25 1997 *************** *** 96,102 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_matrix&); ! BOOL_OP (<, 0.0); } static octave_value --- 96,102 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_matrix&); ! BOOL_OP (<, Matrix ()); } static octave_value *************** *** 104,110 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_matrix&); ! BOOL_OP (<=, 0.0); } static octave_value --- 104,110 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_matrix&); ! BOOL_OP (<=, Matrix ()); } static octave_value *************** *** 120,126 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_matrix&); ! BOOL_OP (>=, 0.0); } static octave_value --- 120,126 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_matrix&); ! BOOL_OP (>=, Matrix ()); } static octave_value *************** *** 128,134 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_matrix&); ! BOOL_OP (>, 0.0); } static octave_value --- 128,134 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_matrix&); ! BOOL_OP (>, Matrix ()); } static octave_value *************** *** 178,184 **** MX_MX_BOOL_OP (Matrix, m1, v1.matrix_value (), \ Matrix, m2, v2.matrix_value (), \ ! m1 (i, j) && m2 (i, j), "&", 0.0); } static octave_value --- 178,184 ---- MX_MX_BOOL_OP (Matrix, m1, v1.matrix_value (), \ Matrix, m2, v2.matrix_value (), \ ! m1 (i, j) && m2 (i, j), "&", Matrix ()); } static octave_value *************** *** 188,194 **** MX_MX_BOOL_OP (Matrix, m1, v1.matrix_value (), \ Matrix, m2, v2.matrix_value (), \ ! m1 (i, j) || m2 (i, j), "|", 0.0); } static octave_value --- 188,194 ---- MX_MX_BOOL_OP (Matrix, m1, v1.matrix_value (), \ Matrix, m2, v2.matrix_value (), \ ! m1 (i, j) || m2 (i, j), "|", Matrix ()); } static octave_value diff -cNr octave-2.0/src/op-m-s.cc octave-2.0.1/src/op-m-s.cc *** octave-2.0/src/op-m-s.cc Tue Oct 15 00:50:52 1996 --- octave-2.0.1/src/op-m-s.cc Sun Jan 5 23:08:36 1997 *************** *** 92,108 **** return octave_value (); } ! #define BOOL_OP(OP) \ MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ double, s, v2.double_value (), \ ! m (i, j) OP s) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_matrix&, const octave_scalar&); ! BOOL_OP (<); } static octave_value --- 92,108 ---- return octave_value (); } ! #define BOOL_OP(OP, EMPTY_RESULT) \ MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ double, s, v2.double_value (), \ ! m (i, j) OP s, EMPTY_RESULT) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_matrix&, const octave_scalar&); ! BOOL_OP (<, Matrix ()); } static octave_value *************** *** 110,116 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_scalar&); ! BOOL_OP (<=); } static octave_value --- 110,116 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_scalar&); ! BOOL_OP (<=, Matrix ()); } static octave_value *************** *** 118,124 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_scalar&); ! BOOL_OP (==); } static octave_value --- 118,124 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_scalar&); ! BOOL_OP (==, 0.0); } static octave_value *************** *** 126,132 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_scalar&); ! BOOL_OP (>=); } static octave_value --- 126,132 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_scalar&); ! BOOL_OP (>=, Matrix ()); } static octave_value *************** *** 134,140 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_scalar&); ! BOOL_OP (>); } static octave_value --- 134,140 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_scalar&); ! BOOL_OP (>, Matrix ()); } static octave_value *************** *** 142,148 **** { CAST_BINOP_ARGS (const octave_matrix&, const octave_scalar&); ! BOOL_OP (!=); } static octave_value --- 142,148 ---- { CAST_BINOP_ARGS (const octave_matrix&, const octave_scalar&); ! BOOL_OP (!=, 1.0); } static octave_value *************** *** 189,195 **** MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ double, s, v2.double_value (), \ ! m (i, j) && s); } static octave_value --- 189,195 ---- MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ double, s, v2.double_value (), \ ! m (i, j) && s, Matrix ()); } static octave_value *************** *** 199,205 **** MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ double, s, v2.double_value (), \ ! m (i, j) || s); } static octave_value --- 199,205 ---- MX_SC_BOOL_OP (Matrix, m, v1.matrix_value (), \ double, s, v2.double_value (), \ ! m (i, j) || s, Matrix ()); } static octave_value diff -cNr octave-2.0/src/op-s-cm.cc octave-2.0.1/src/op-s-cm.cc *** octave-2.0/src/op-s-cm.cc Mon Oct 14 23:23:32 1996 --- octave-2.0.1/src/op-s-cm.cc Sun Jan 5 23:07:27 1997 *************** *** 92,108 **** return octave_value (v2.complex_matrix_value () / d); } ! #define BOOL_OP(OP) \ SC_MX_BOOL_OP (double, s, v1.double_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s OP real (m (i, j))) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_scalar&, const octave_complex_matrix&); ! BOOL_OP (<); } static octave_value --- 92,108 ---- return octave_value (v2.complex_matrix_value () / d); } ! #define BOOL_OP(OP, EMPTY_RESULT) \ SC_MX_BOOL_OP (double, s, v1.double_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s OP real (m (i, j)), EMPTY_RESULT) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_scalar&, const octave_complex_matrix&); ! BOOL_OP (<, Matrix ()); } static octave_value *************** *** 110,116 **** { CAST_BINOP_ARGS (const octave_scalar&, const octave_complex_matrix&); ! BOOL_OP (<=); } static octave_value --- 110,116 ---- { CAST_BINOP_ARGS (const octave_scalar&, const octave_complex_matrix&); ! BOOL_OP (<=, Matrix ()); } static octave_value *************** *** 120,126 **** SC_MX_BOOL_OP (double, s, v1.double_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s == m (i, j)); } static octave_value --- 120,126 ---- SC_MX_BOOL_OP (double, s, v1.double_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s == m (i, j), 0.0); } static octave_value *************** *** 128,134 **** { CAST_BINOP_ARGS (const octave_scalar&, const octave_complex_matrix&); ! BOOL_OP (>=); } static octave_value --- 128,134 ---- { CAST_BINOP_ARGS (const octave_scalar&, const octave_complex_matrix&); ! BOOL_OP (>=, Matrix ()); } static octave_value *************** *** 136,142 **** { CAST_BINOP_ARGS (const octave_scalar&, const octave_complex_matrix&); ! BOOL_OP (>); } static octave_value --- 136,142 ---- { CAST_BINOP_ARGS (const octave_scalar&, const octave_complex_matrix&); ! BOOL_OP (>, Matrix ()); } static octave_value *************** *** 146,152 **** SC_MX_BOOL_OP (double, s, v1.double_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s != m (i, j)); } static octave_value --- 146,152 ---- SC_MX_BOOL_OP (double, s, v1.double_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s != m (i, j), 1.0); } static octave_value *************** *** 193,199 **** SC_MX_BOOL_OP (double, s, v1.double_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s && m (i, j) != 0.0); } static octave_value --- 193,199 ---- SC_MX_BOOL_OP (double, s, v1.double_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s && m (i, j) != 0.0, Matrix ()); } static octave_value *************** *** 203,209 **** SC_MX_BOOL_OP (double, s, v1.double_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s || m (i, j) != 0.0); } static octave_value * --- 203,209 ---- SC_MX_BOOL_OP (double, s, v1.double_value (), \ ComplexMatrix, m, v2.complex_matrix_value (), \ ! s || m (i, j) != 0.0, Matrix ()); } static octave_value * diff -cNr octave-2.0/src/op-s-m.cc octave-2.0.1/src/op-s-m.cc *** octave-2.0/src/op-s-m.cc Mon Oct 14 23:22:57 1996 --- octave-2.0.1/src/op-s-m.cc Sun Jan 5 23:08:05 1997 *************** *** 92,108 **** return octave_value (v2.matrix_value () / d); } ! #define BOOL_OP(OP) \ SC_MX_BOOL_OP (double, s, v1.double_value (), \ Matrix, m, v2.matrix_value (), \ ! s OP m (i, j)) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_scalar&, const octave_matrix&); ! BOOL_OP (<); } static octave_value --- 92,108 ---- return octave_value (v2.matrix_value () / d); } ! #define BOOL_OP(OP, EMPTY_RESULT) \ SC_MX_BOOL_OP (double, s, v1.double_value (), \ Matrix, m, v2.matrix_value (), \ ! s OP m (i, j), EMPTY_RESULT) static octave_value lt (const octave_value& a1, const octave_value& a2) { CAST_BINOP_ARGS (const octave_scalar&, const octave_matrix&); ! BOOL_OP (<, Matrix ()); } static octave_value *************** *** 110,116 **** { CAST_BINOP_ARGS (const octave_scalar&, const octave_matrix&); ! BOOL_OP (<=); } static octave_value --- 110,116 ---- { CAST_BINOP_ARGS (const octave_scalar&, const octave_matrix&); ! BOOL_OP (<=, Matrix ()); } static octave_value *************** *** 118,124 **** { CAST_BINOP_ARGS (const octave_scalar&, const octave_matrix&); ! BOOL_OP (==); } static octave_value --- 118,124 ---- { CAST_BINOP_ARGS (const octave_scalar&, const octave_matrix&); ! BOOL_OP (==, 0.0); } static octave_value *************** *** 126,132 **** { CAST_BINOP_ARGS (const octave_scalar&, const octave_matrix&); ! BOOL_OP (>=); } static octave_value --- 126,132 ---- { CAST_BINOP_ARGS (const octave_scalar&, const octave_matrix&); ! BOOL_OP (>=, Matrix ()); } static octave_value *************** *** 134,140 **** { CAST_BINOP_ARGS (const octave_scalar&, const octave_matrix&); ! BOOL_OP (>); } static octave_value --- 134,140 ---- { CAST_BINOP_ARGS (const octave_scalar&, const octave_matrix&); ! BOOL_OP (>, Matrix ()); } static octave_value *************** *** 142,148 **** { CAST_BINOP_ARGS (const octave_scalar&, const octave_matrix&); ! BOOL_OP (!=); } static octave_value --- 142,148 ---- { CAST_BINOP_ARGS (const octave_scalar&, const octave_matrix&); ! BOOL_OP (!=, 1.0); } static octave_value *************** *** 189,195 **** SC_MX_BOOL_OP (double, s, v1.double_value (), \ Matrix, m, v2.matrix_value (), \ ! s && m (i, j)); } static octave_value --- 189,195 ---- SC_MX_BOOL_OP (double, s, v1.double_value (), \ Matrix, m, v2.matrix_value (), \ ! s && m (i, j), Matrix ()); } static octave_value *************** *** 199,205 **** SC_MX_BOOL_OP (double, s, v1.double_value (), \ Matrix, m, v2.matrix_value (), \ ! s || m (i, j)); } static octave_value * --- 199,205 ---- SC_MX_BOOL_OP (double, s, v1.double_value (), \ Matrix, m, v2.matrix_value (), \ ! s || m (i, j), Matrix ()); } static octave_value * diff -cNr octave-2.0/src/op-str-str.cc octave-2.0.1/src/op-str-str.cc *** octave-2.0/src/op-str-str.cc Tue Dec 3 23:45:01 1996 --- octave-2.0.1/src/op-str-str.cc Sun Jan 5 23:02:07 1997 *************** *** 52,70 **** else SC_MX_BOOL_OP (char, c, cm1 (0, 0), \ charMatrix, m, cm2, \ ! c == m (i, j)); } else { if (cm2.rows () == 1 && cm2.columns () == 1) MX_SC_BOOL_OP (charMatrix, m, cm1, \ char, c, cm2 (0, 0), \ ! c == m (i, j)); else MX_MX_BOOL_OP (charMatrix, m1, cm1, \ charMatrix, m2, cm2, \ m1 (i, j) == m2 (i, j), \ ! "==", 1.0); } } --- 52,70 ---- else SC_MX_BOOL_OP (char, c, cm1 (0, 0), \ charMatrix, m, cm2, \ ! c == m (i, j), 0.0); } else { if (cm2.rows () == 1 && cm2.columns () == 1) MX_SC_BOOL_OP (charMatrix, m, cm1, \ char, c, cm2 (0, 0), \ ! c == m (i, j), 0.0); else MX_MX_BOOL_OP (charMatrix, m1, cm1, \ charMatrix, m2, cm2, \ m1 (i, j) == m2 (i, j), \ ! "==", 0.0); } } *************** *** 84,97 **** else SC_MX_BOOL_OP (char, c, cm1 (0, 0), \ charMatrix, m, cm2, \ ! c != m (i, j)); } else { if (cm2.rows () == 1 && cm2.columns () == 1) MX_SC_BOOL_OP (charMatrix, m, cm1, \ char, c, cm2 (0, 0), \ ! c != m (i, j)); else MX_MX_BOOL_OP (charMatrix, m1, cm1, \ charMatrix, m2, cm2, \ --- 84,97 ---- else SC_MX_BOOL_OP (char, c, cm1 (0, 0), \ charMatrix, m, cm2, \ ! c != m (i, j), 1.0); } else { if (cm2.rows () == 1 && cm2.columns () == 1) MX_SC_BOOL_OP (charMatrix, m, cm1, \ char, c, cm2 (0, 0), \ ! c != m (i, j), 1.0); else MX_MX_BOOL_OP (charMatrix, m1, cm1, \ charMatrix, m2, cm2, \ diff -cNr octave-2.0/src/ops.h octave-2.0.1/src/ops.h *** octave-2.0/src/ops.h Fri Oct 11 20:39:15 1996 --- octave-2.0.1/src/ops.h Sun Jan 5 22:58:18 1997 *************** *** 60,79 **** retval (i, j) = test; \ return retval; ! #define SC_MX_BOOL_OP(st, sn, get_s, mt, mn, get_m, test) \ do \ { \ BOOL_OP1 (st, sn, get_s, mt, mn, get_m) \ BOOL_OP2 (mn) \ BOOL_OP3 (test) \ } \ while (0) ! #define MX_SC_BOOL_OP(mt, mn, get_m, st, sn, get_s, test) \ do \ { \ BOOL_OP1 (mt, mn, get_m, st, sn, get_s) \ BOOL_OP2 (mn) \ BOOL_OP3 (test) \ } \ while (0) --- 60,83 ---- retval (i, j) = test; \ return retval; ! #define SC_MX_BOOL_OP(st, sn, get_s, mt, mn, get_m, test, empty_result) \ do \ { \ BOOL_OP1 (st, sn, get_s, mt, mn, get_m) \ BOOL_OP2 (mn) \ + if (nr == 0|| nc == 0) \ + return empty_result; \ BOOL_OP3 (test) \ } \ while (0) ! #define MX_SC_BOOL_OP(mt, mn, get_m, st, sn, get_s, test, empty_result) \ do \ { \ BOOL_OP1 (mt, mn, get_m, st, sn, get_s) \ BOOL_OP2 (mn) \ + if (nr == 0|| nc == 0) \ + return empty_result; \ BOOL_OP3 (test) \ } \ while (0) *************** *** 83,92 **** do \ { \ BOOL_OP1 (m1t, m1n, get_m1, m2t, m2n, get_m2) \ ! int m1_nr = m1.rows (); \ ! int m1_nc = m1.cols (); \ ! int m2_nr = m2.rows (); \ ! int m2_nc = m2.cols (); \ if (m1_nr != m2_nr || m1_nc != m2_nc) \ { \ gripe_nonconformant ("operator " op, m1_nr, m1_nc, m2_nr, m2_nc); \ --- 87,96 ---- do \ { \ BOOL_OP1 (m1t, m1n, get_m1, m2t, m2n, get_m2) \ ! int m1_nr = m1n.rows (); \ ! int m1_nc = m1n.cols (); \ ! int m2_nr = m2n.rows (); \ ! int m2_nc = m2n.cols (); \ if (m1_nr != m2_nr || m1_nc != m2_nc) \ { \ gripe_nonconformant ("operator " op, m1_nr, m1_nc, m2_nr, m2_nc); \ diff -cNr octave-2.0/src/ov-range.cc octave-2.0.1/src/ov-range.cc *** octave-2.0/src/ov-range.cc Thu Nov 7 08:16:44 1996 --- octave-2.0.1/src/ov-range.cc Wed Dec 18 21:05:37 1996 *************** *** 174,179 **** --- 174,186 ---- } octave_value + octave_range::not (void) const + { + Matrix tmp (range.matrix_value ()); + return (! tmp); + } + + octave_value octave_range::transpose (void) const { Matrix tmp (range.matrix_value ()); diff -cNr octave-2.0/src/ov-range.h octave-2.0.1/src/ov-range.h *** octave-2.0/src/ov-range.h Thu Nov 7 10:15:30 1996 --- octave-2.0.1/src/ov-range.h Wed Dec 18 20:31:43 1996 *************** *** 137,142 **** --- 137,146 ---- Range range_value (void) const { return range; } + octave_value not (void) const; + + octave_value uminus (void) const { return octave_value (- range); } + octave_value transpose (void) const; octave_value hermitian (void) const; diff -cNr octave-2.0/src/ov.cc octave-2.0.1/src/ov.cc *** octave-2.0/src/ov.cc Thu Nov 7 08:20:33 1996 --- octave-2.0.1/src/ov.cc Fri Dec 13 02:34:36 1996 *************** *** 590,607 **** if (tmp) { ! if (tmp != rep) { if (--rep->count == 0) delete rep; ! rep = tmp; ! rep->count = 1; } - else - delete tmp; ! assignment_ok = try_assignment (idx, rhs); } else gripe_conversion_failed (type_name (), rhs.type_name ()); --- 590,612 ---- if (tmp) { ! octave_value *old_rep = rep; ! rep = tmp; ! rep->count = 1; ! ! assignment_ok = try_assignment (idx, rhs); ! ! if (! assignment_ok && old_rep) { if (--rep->count == 0) delete rep; ! rep = old_rep; ! old_rep = 0; } ! if (old_rep && --old_rep->count == 0) ! delete old_rep; } else gripe_conversion_failed (type_name (), rhs.type_name ()); diff -cNr octave-2.0/src/pr-output.cc octave-2.0.1/src/pr-output.cc *** octave-2.0/src/pr-output.cc Tue Dec 10 03:18:25 1996 --- octave-2.0.1/src/pr-output.cc Thu Jan 2 12:34:59 1997 *************** *** 1480,1486 **** void octave_print_internal (ostream& os, const charMatrix& chm, bool pr_as_read_syntax, bool pr_as_string, ! int extra_indent) { if (pr_as_string) { --- 1480,1486 ---- void octave_print_internal (ostream& os, const charMatrix& chm, bool pr_as_read_syntax, bool pr_as_string, ! int /* extra_indent XXX FIXME XXX */) { if (pr_as_string) { diff -cNr octave-2.0/src/pt-fcn.cc octave-2.0.1/src/pt-fcn.cc *** octave-2.0/src/pt-fcn.cc Mon Nov 18 22:03:52 1996 --- octave-2.0.1/src/pt-fcn.cc Sun Jan 5 23:30:14 1997 *************** *** 315,320 **** --- 315,328 ---- goto abort; } + if (ret_list && Vdefine_all_return_values) + { + octave_value tmp = builtin_any_variable ("default_return_value"); + + if (tmp.is_defined ()) + ret_list->initialize_undefined_elements (tmp); + } + // The following code is in a separate scope to avoid warnings from // G++ about `goto abort' crossing the initialization of some // variables. *************** *** 350,365 **** // Copy return values out. if (ret_list) ! { ! if (nargout > 0 && Vdefine_all_return_values) ! { ! octave_value tmp = builtin_any_variable ("default_return_value"); ! if (tmp.is_defined ()) ! ret_list->initialize_undefined_elements (tmp); ! } ! ! retval = ret_list->convert_to_const_vector (vr_list); ! } else if (Vreturn_last_computed_value) retval(0) = last_computed_value; } --- 358,364 ---- // Copy return values out. if (ret_list) ! retval = ret_list->convert_to_const_vector (vr_list); else if (Vreturn_last_computed_value) retval(0) = last_computed_value; } diff -cNr octave-2.0/src/pt-mat.cc octave-2.0.1/src/pt-mat.cc *** octave-2.0/src/pt-mat.cc Tue Dec 10 00:03:43 1996 --- octave-2.0.1/src/pt-mat.cc Mon Jan 6 00:13:42 1997 *************** *** 71,81 **** tm_row_const_rep (void) : SLList (), count (1), nr (0), nc (0), ! all_str (false), is_cmplx (false), ok (false) { } tm_row_const_rep (const tree_matrix_row& mr) : SLList (), count (1), nr (0), nc (0), ! all_str (false), is_cmplx (false), ok (false) { init (mr); } ~tm_row_const_rep (void) { } --- 71,81 ---- tm_row_const_rep (void) : SLList (), count (1), nr (0), nc (0), ! all_str (false), is_cmplx (false), all_mt (true), ok (false) { } tm_row_const_rep (const tree_matrix_row& mr) : SLList (), count (1), nr (0), nc (0), ! all_str (false), is_cmplx (false), all_mt (true), ok (false) { init (mr); } ~tm_row_const_rep (void) { } *************** *** 87,92 **** --- 87,93 ---- bool all_str; bool is_cmplx; + bool all_mt; bool ok; *************** *** 145,150 **** --- 146,152 ---- bool all_strings (void) const { return rep->all_str; } bool is_complex (void) const { return rep->is_cmplx; } + bool all_empty (void) const { return rep->all_mt; } octave_value& operator () (Pix p) { return rep->operator () (p); } *************** *** 198,203 **** --- 200,207 ---- } else { + all_mt = false; + if (first_elem) { first_elem = false; *************** *** 260,266 **** tm_const (const tree_matrix& tm) : SLList (), nr (0), nc (0), all_str (false), ! is_cmplx (false), ok (false) { init (tm); } ~tm_const (void) { } --- 264,270 ---- tm_const (const tree_matrix& tm) : SLList (), nr (0), nc (0), all_str (false), ! is_cmplx (false), all_mt (true), ok (false) { init (tm); } ~tm_const (void) { } *************** *** 270,275 **** --- 274,280 ---- bool all_strings (void) const { return all_str; } bool is_complex (void) const { return is_cmplx; } + bool all_empty (void) const { return all_mt; } operator void* () const { return ok ? (void *) -1 : (void *) 0; } *************** *** 280,285 **** --- 285,291 ---- bool all_str; bool is_cmplx; + bool all_mt; bool ok; *************** *** 318,323 **** --- 324,332 ---- if (! is_cmplx && tmp.is_complex ()) is_cmplx = true; + if (all_mt && ! tmp.all_empty ()) + all_mt = false; + append (tmp); } else *************** *** 345,350 **** --- 354,361 ---- } else { + all_mt = false; + if (first_elem) { first_elem = false; *************** *** 462,467 **** --- 473,481 ---- tm_const tmp (*this); + bool all_strings = false; + bool all_empty = false; + if (tmp) { int nr = tmp.rows (); *************** *** 474,482 **** // Now, extract the values from the individual elements and // insert them in the result matrix. - bool all_strings = tmp.all_strings (); bool found_complex = tmp.is_complex (); if (all_strings) chm.resize (nr, nc, Vstring_fill_char); else if (found_complex) --- 488,498 ---- // Now, extract the values from the individual elements and // insert them in the result matrix. bool found_complex = tmp.is_complex (); + all_strings = tmp.all_strings (); + all_empty = tmp.all_empty (); + if (all_strings) chm.resize (nr, nc, Vstring_fill_char); else if (found_complex) *************** *** 553,558 **** --- 569,582 ---- } done: + + if (! error_state && retval.is_undefined () && all_empty) + { + if (all_strings) + retval = ""; + else + retval = Matrix (); + } return retval; } diff -cNr octave-2.0/src/pt-plot.cc octave-2.0.1/src/pt-plot.cc *** octave-2.0/src/pt-plot.cc Thu Dec 5 22:03:39 1996 --- octave-2.0.1/src/pt-plot.cc Wed Dec 11 12:29:12 1996 *************** *** 127,133 **** #endif #ifndef GPLOT_CMD_END ! #define GPLOT_CMD_END ";\n" #endif static void --- 127,133 ---- #endif #ifndef GPLOT_CMD_END ! #define GPLOT_CMD_END "\n" #endif static void diff -cNr octave-2.0/src/sighandlers.cc octave-2.0.1/src/sighandlers.cc *** octave-2.0/src/sighandlers.cc Wed Nov 20 18:37:45 1996 --- octave-2.0.1/src/sighandlers.cc Thu Dec 19 12:13:38 1996 *************** *** 194,200 **** = octave_ignore_interrupts (); volatile sig_handler *saved_sigchld_handler ! = octave_set_sighanlder (SIGCHLD, SIG_IGN); #endif int n = octave_child_list::length (); --- 194,200 ---- = octave_ignore_interrupts (); volatile sig_handler *saved_sigchld_handler ! = octave_set_signal_hanlder (SIGCHLD, SIG_IGN); #endif int n = octave_child_list::length (); *************** *** 231,237 **** } #if defined (__EMX__) ! octave_set_inerrupt_handler (saved_interrupt_handler); octave_set_signal_handler (SIGCHLD, saved_sigchld_handler); #endif --- 231,237 ---- } #if defined (__EMX__) ! octave_set_interrupt_handler (saved_interrupt_handler); octave_set_signal_handler (SIGCHLD, saved_sigchld_handler); #endif diff -cNr octave-2.0/src/version.h octave-2.0.1/src/version.h *** octave-2.0/src/version.h Tue Dec 10 01:30:04 1996 --- octave-2.0.1/src/version.h Tue Jan 7 00:30:50 1997 *************** *** 20,26 **** */ ! #define OCTAVE_VERSION "2.0" #define OCTAVE_COPYRIGHT \ "Copyright (C) 1996 John W. Eaton." --- 20,26 ---- */ ! #define OCTAVE_VERSION "2.0.1" #define OCTAVE_COPYRIGHT \ "Copyright (C) 1996 John W. Eaton." diff -cNr octave-2.0/test/ChangeLog octave-2.0.1/test/ChangeLog *** octave-2.0/test/ChangeLog Tue Dec 10 01:43:06 1996 --- octave-2.0.1/test/ChangeLog Tue Jan 7 00:16:34 1997 *************** *** 1,3 **** --- 1,7 ---- + Tue Jan 7 00:16:23 1997 John W. Eaton + + * Version 2.0.1 released. + Tue Dec 10 01:43:05 1996 John W. Eaton * Version 2.0 released. diff -cNr octave-2.0/test/Makefile.in octave-2.0.1/test/Makefile.in *** octave-2.0/test/Makefile.in Wed Oct 30 18:25:26 1996 --- octave-2.0.1/test/Makefile.in Thu Dec 12 02:21:53 1996 *************** *** 71,81 **** rm -f tags TAGS .PHONY: maintainer-clean - local-dist: - ln $(DISTFILES) ../`cat ../.fname`/test - for dir in $(DISTDIRS); do ln -s ../../test/$$dir ../`cat ../.fname`/test; done - .PHONY: local-dist - dist: ln $(DISTFILES) ../`cat ../.fname`/test for dir in $(DISTDIRS); do ln -s ../../test/$$dir ../`cat ../.fname`/test; done --- 71,76 ---- PATCH_EOF