changeset 17745:93b3d03b05e7 classdef

maint: periodic merge of default to classdef
author John W. Eaton <jwe@octave.org>
date Wed, 23 Oct 2013 22:29:06 -0400
parents dc4124992f0c (current diff) d63878346099 (diff)
children c4f5c781c3ca
files libinterp/Makefile.am libinterp/corefcn/load-path.cc libinterp/corefcn/load-path.h libinterp/corefcn/ls-mat5.cc libinterp/corefcn/pt-jit.cc libinterp/corefcn/pt-jit.h libinterp/corefcn/symtab.cc libinterp/corefcn/symtab.h libinterp/octave-value/ov-fcn-handle.cc libinterp/octave-value/ov-fcn.h libinterp/octave-value/ov-usr-fcn.cc libinterp/octave-value/ov-usr-fcn.h libinterp/octave-value/ov.cc libinterp/octave.cc libinterp/parse-tree/lex.h libinterp/parse-tree/lex.ll libinterp/parse-tree/oct-parse.in.yy libinterp/parse-tree/parse.h libinterp/parse-tree/pt-all.h libinterp/parse-tree/pt-bp.cc libinterp/parse-tree/pt-bp.h libinterp/parse-tree/pt-check.cc libinterp/parse-tree/pt-check.h libinterp/parse-tree/pt-eval.cc libinterp/parse-tree/pt-eval.h libinterp/parse-tree/pt-exp.h libinterp/parse-tree/pt-id.cc libinterp/parse-tree/pt-id.h libinterp/parse-tree/pt-pr-code.cc libinterp/parse-tree/pt-pr-code.h libinterp/parse-tree/pt-walk.h libinterp/parse-tree/token.cc libinterp/parse-tree/token.h liboctave/util/base-list.h scripts/deprecated/interp1q.m scripts/general/bincoeff.m scripts/general/colon.m scripts/general/genvarname.m scripts/general/interp1q.m scripts/gui/errordlg.m scripts/gui/helpdlg.m scripts/gui/inputdlg.m scripts/gui/listdlg.m scripts/gui/msgbox.m scripts/gui/private/message_dialog.m scripts/gui/questdlg.m scripts/gui/warndlg.m scripts/miscellaneous/bincoeff.m scripts/miscellaneous/colon.m scripts/miscellaneous/genvarname.m scripts/plot/appearance/datetick.m scripts/time/datetick.m scripts/ui/errordlg.m scripts/ui/helpdlg.m scripts/ui/inputdlg.m scripts/ui/listdlg.m scripts/ui/module.mk scripts/ui/msgbox.m scripts/ui/private/message_dialog.m scripts/ui/questdlg.m scripts/ui/warndlg.m src/Makefile.am test/Makefile.am test/classes/classes.tst
diffstat 2165 files changed, 5715 insertions(+), 4861 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.am	Mon Oct 14 17:16:36 2013 -0400
+++ b/Makefile.am	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 # Makefile for Octave
 #
-# Copyright (C) 1993-2012 John W. Eaton
+# Copyright (C) 1993-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/NEWS	Mon Oct 14 17:16:36 2013 -0400
+++ b/NEWS	Wed Oct 23 22:29:06 2013 -0400
@@ -261,6 +261,11 @@
     "relax" option has been replaced by the "rtest" option.  The numeric
     values of error codes and of some options have also changed.
 
+ ** The kurtosis function has changed definition to be compatible with 
+    Matlab.  It now returns the base kurtosis instead of the "excess kurtosis".
+    The old behavior can be had by changing scripts to normalize with -3.
+               "excess kurtosis" = kurtosis (x) - 3
+
  ** The default name of the Octave crash dump file is now 
     "octave-workspace" instead of "octave-core".
 
@@ -322,14 +327,15 @@
     be removed from Octave 3.12 (or whatever version is the second major
     release after 3.8):
 
-      default_save_options    java_set                  
-      gen_doc_cache           java_unsigned_conversion  
+      default_save_options    java_new            
+      gen_doc_cache           java_set                   
+      interp1q                java_unsigned_conversion
       isequalwithequalnans    javafields                
       java_convert_matrix     javamethods               
       java_debug              re_read_readline_init_file
       java_get                read_readline_init_file   
       java_invoke             saving_history            
-      java_new           
+
 
     The following keywords have been deprecated in Octave 3.8 and will
     be removed from Octave 3.12 (or whatever version is the second major
--- a/README	Mon Oct 14 17:16:36 2013 -0400
+++ b/README	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 GNU Octave -- a high-level language for numerical computations.
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 Overview
 --------
--- a/bootstrap.conf	Mon Oct 14 17:16:36 2013 -0400
+++ b/bootstrap.conf	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,6 @@
 # Bootstrap configuration.
 
+# Copyright (C) 2009-2013 John W. Eaton
 # Copyright (C) 2006-2007, 2009-2012 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
--- a/build-aux/mk-opts.pl	Mon Oct 14 17:16:36 2013 -0400
+++ b/build-aux/mk-opts.pl	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 #! /usr/bin/perl -w
 #
-# Copyright (C) 2002-2012 John W. Eaton
+# Copyright (C) 2002-2013 John W. Eaton
 #
 # This file is part of Octave.
 #
--- a/configure.ac	Mon Oct 14 17:16:36 2013 -0400
+++ b/configure.ac	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 dnl
-dnl Copyright (C) 1993-2012 John W. Eaton
+dnl Copyright (C) 1993-2013 John W. Eaton
 ### 
 ### This file is part of Octave.
 ### 
@@ -295,8 +295,8 @@
 
 GXX_VERSION=
 if test "$GXX" = yes; then
-  gxx_version=`$CXX -v 2>&1 | grep "^.*g.. version" | \
-    sed -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//' -e 's/ .*//'`
+  gxx_version=`$CXX -v 2>&1 | $GREP "^.*g.. version" | \
+    $SED -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//' -e 's/ .*//'`
 
   AX_COMPARE_VERSION([$gxx_version], [lt], [3.5],
     [AC_MSG_ERROR([g++ version $gxx_version will probably fail to compile Octave])])
@@ -342,8 +342,8 @@
 
 GCC_VERSION=
 if test "$GCC" = yes; then
-  gcc_version=`$CC -v 2>&1 | grep "^.*gcc version" | \
-    sed -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//' -e 's/ .*//'`
+  gcc_version=`$CC -v 2>&1 | $GREP "^.*gcc version" | \
+    $SED -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//' -e 's/ .*//'`
 
   AX_COMPARE_VERSION([$gcc_version], [lt], [3],
     [warn_gcc_version="gcc version $gcc_version is likely to cause problems"
@@ -613,7 +613,7 @@
             case $FFLAGS in
               *-fdefault-integer-8*)
                 AC_MSG_NOTICE([setting -fdefault-integer-8 in F77_INTEGER_8_FLAG instead of FFLAGS])
-                FFLAGS=`echo $FFLAGS | sed 's/-fdefault-integer-8//g'`
+                FFLAGS=`echo $FFLAGS | $SED 's/-fdefault-integer-8//g'`
                 F77_INTEGER_8_FLAG="-fdefault-integer-8"
               ;;
               *)
@@ -1154,7 +1154,7 @@
 
     case $host_os in
       mingw*)
-        FLTK_LDFLAGS=`echo $FLTK_LDFLAGS | sed -e 's/-mwindows//g'`
+        FLTK_LDFLAGS=`echo $FLTK_LDFLAGS | $SED -e 's/-mwindows//g'`
       ;;
     esac
 
@@ -1295,7 +1295,7 @@
         BLAS_LIBS="$octave_blaswrap_save_BLAS_LIBS"
       else
         ## wrapper in cruft, remove from BLAS_LIBS
-        BLAS_LIBS=`echo $BLAS_LIBS | sed -e 's/blaswrap.[[^ ]]* //g'`
+        BLAS_LIBS=`echo $BLAS_LIBS | $SED -e 's/blaswrap.[[^ ]]* //g'`
         AC_DEFINE(USE_BLASWRAP, 1,
           [Define to 1 if BLAS functions need to be wrapped (potentially needed for 64-bit OSX only).])
       fi
@@ -1609,7 +1609,7 @@
       SHLLIBPRE=
       SHLBINPRE=
       SH_LDFLAGS="-shared"
-      if test -n "`echo $CFLAGS | grep -e '-g'`" || test -n "`echo $CXXFLAGS | grep -e '-g'`"; then
+      if test -n "`echo $CFLAGS | $GREP -e '-g'`" || test -n "`echo $CXXFLAGS | $GREP -e '-g'`"; then
         DL_LDFLAGS="$DL_LDFLAGS -g"
         SH_LDFLAGS="$SH_LDFLAGS -g"
       fi
@@ -1649,7 +1649,7 @@
     SHLLIBPRE=
     SHLBINPRE=
     SH_LDFLAGS="-shared"
-    if test -n "`echo $CFLAGS | grep -e '-g'`" || test -n "`echo $CXXFLAGS | grep -e '-g'`"; then
+    if test -n "`echo $CFLAGS | $GREP -e '-g'`" || test -n "`echo $CXXFLAGS | $GREP -e '-g'`"; then
       DL_LDFLAGS="$DL_LDFLAGS -g"
       SH_LDFLAGS="$SH_LDFLAGS -g"
     fi
@@ -1904,13 +1904,13 @@
 
 if test "$cross_compiling" = yes && test -n "$ac_tool_prefix"; then
   CROSS_TOOL_PREFIX="$ac_tool_prefix"
-  MKOCTFILE_AR='$(shell echo $(AR) | sed "s,$(CROSS_TOOL_PREFIX),,")'
-  MKOCTFILE_CC='$(shell echo $(CC) | sed "s,$(CROSS_TOOL_PREFIX),,")'
-  MKOCTFILE_CXX='$(shell echo $(CXX) | sed "s,$(CROSS_TOOL_PREFIX),,")'
-  MKOCTFILE_DL_LD='$(shell echo $(DL_LD) | sed "s,$(CROSS_TOOL_PREFIX),,")'
-  MKOCTFILE_F77='$(shell echo $(F77) | sed "s,$(CROSS_TOOL_PREFIX),,")'
-  MKOCTFILE_LD_CXX='$(shell echo $(LD_CXX) | sed "s,$(CROSS_TOOL_PREFIX),,")'
-  MKOCTFILE_RANLIB='$(shell echo $(RANLIB) | sed "s,$(CROSS_TOOL_PREFIX),,")'
+  MKOCTFILE_AR='$(shell echo $(AR) | $SED "s,$(CROSS_TOOL_PREFIX),,")'
+  MKOCTFILE_CC='$(shell echo $(CC) | $SED "s,$(CROSS_TOOL_PREFIX),,")'
+  MKOCTFILE_CXX='$(shell echo $(CXX) | $SED "s,$(CROSS_TOOL_PREFIX),,")'
+  MKOCTFILE_DL_LD='$(shell echo $(DL_LD) | $SED "s,$(CROSS_TOOL_PREFIX),,")'
+  MKOCTFILE_F77='$(shell echo $(F77) | $SED "s,$(CROSS_TOOL_PREFIX),,")'
+  MKOCTFILE_LD_CXX='$(shell echo $(LD_CXX) | $SED "s,$(CROSS_TOOL_PREFIX),,")'
+  MKOCTFILE_RANLIB='$(shell echo $(RANLIB) | $SED "s,$(CROSS_TOOL_PREFIX),,")'
 else
   MKOCTFILE_AR="$AR"
   MKOCTFILE_CC="$CC"
@@ -2402,7 +2402,7 @@
     ## Find JAVA_HOME for JRE by running java and querying properties.
     JAVA_TMP_HOME=`"$JAVA" -classpath ${srcdir}/build-aux OctJavaQry JAVA_HOME`
     ## Strip directory back to top-level installation dir (JAVA_HOME for JDK).
-    JAVA_HOME=`echo $JAVA_TMP_HOME | sed -e 's|[[/\\]]bin[[/\\]]\?$||' | sed -e 's|[[/\\]]jre[[/\\]]\?$||'`
+    JAVA_HOME=`echo $JAVA_TMP_HOME | $SED -e 's|[[/\\]]bin[[/\\]]\?$||' | $SED -e 's|[[/\\]]jre[[/\\]]\?$||'`
   fi
 
   case $host_os in
@@ -2440,10 +2440,10 @@
 
   ## Check Java version is recent enough.
   AC_MSG_CHECKING([for Java version])
-  java_version=[`"$JAVA" -version 2>&1 | sed -n -e 's/^[^ ]* version[^0-9"]*"\([^"]*\)"/\1/p'`]
+  java_version=[`"$JAVA" -version 2>&1 | $SED -n -e 's/^[^ ]* version[^0-9"]*"\([^"]*\)"/\1/p'`]
   AC_MSG_RESULT([$java_version])
-  java_major=[`echo $java_version | sed -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\1/'`]
-  java_minor=[`echo $java_version | sed -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\2/'`]
+  java_major=[`echo $java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\1/'`]
+  java_minor=[`echo $java_version | $SED -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*$/\2/'`]
   if test $java_major -ge 1 && test $java_minor -ge 5; then
     :  # Version is ok.  Do nothing.
   else
@@ -2491,7 +2491,7 @@
   if test -z "$JAVA_LDPATH"; then
     ## Run Java to try and determine library path to libjvm.so.
     JAVA_TMP_LDPATH=`$JAVA -classpath ${srcdir}/build-aux OctJavaQry JAVA_LDPATH`
-    JAVA_TMP_LDPATH=`echo $JAVA_TMP_LDPATH | sed -e "s/${PATH_SEPARATOR}/ /g"`
+    JAVA_TMP_LDPATH=`echo $JAVA_TMP_LDPATH | $SED -e "s/${PATH_SEPARATOR}/ /g"`
     for dir in $JAVA_TMP_LDPATH; do
       if test -f "$dir/$jvmlib"; then
         JAVA_LDPATH=$dir
@@ -2581,7 +2581,7 @@
   esac
 
   ## Verify jni.h include file exists.
-  JNI_PATH=`echo $JAVA_CPPFLAGS | sed -e 's/-I//g'`
+  JNI_PATH=`echo $JAVA_CPPFLAGS | $SED -e 's/-I//g'`
   have_jni=no
   for dir in $JNI_PATH; do 
     if test -f "${dir}/jni.h"; then have_jni=yes; break; fi
--- a/doc/Makefile.am	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/Makefile.am	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 # Makefile for Octave's doc directory
 #
-# Copyright (C) 1993-2012 John W. Eaton
+# Copyright (C) 1993-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/doc/doxyhtml/Makefile.am	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/doxyhtml/Makefile.am	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 # Makefile for Octave's doc/doxyhtml directory
 #
-# Copyright (C) 1993-2012 John W. Eaton
+# Copyright (C) 1993-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/doc/icons/Makefile.am	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/icons/Makefile.am	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 # Makefile for Octave's doc/icons directory
 #
-# Copyright (C) 2012 John W. Eaton
+# Copyright (C) 2012-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/doc/interpreter/Makefile.am	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/Makefile.am	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 # Makefile for Octave's doc/interpreter directory
 #
-# Copyright (C) 1993-2012 John W. Eaton
+# Copyright (C) 1993-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/doc/interpreter/arith.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/arith.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/audio.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/audio.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 Kurt Hornik
+@c Copyright (C) 1996-2013 Kurt Hornik
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/basics.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/basics.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/bugs.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/bugs.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/container.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/container.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/contrib.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/contrib.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 @c Copyright (C) 2012 John W. Eaton
-@c Copyright (C) 2008-2012 Jaroslav Hajek
+@c Copyright (C) 2008-2013 Jaroslav Hajek
 @c
 @c This file is part of Octave.
 @c
@@ -36,13 +36,14 @@
 
 @node How to Contribute
 @section How to Contribute
-The mailing list for Octave development discussion and sending
-contributions is @email{maintainers@@octave.org}.  This concerns the
-development of Octave core, i.e., code that goes to Octave directly.
-You may consider developing and publishing a package instead; a great
-place for this is the allied Octave-Forge project
-(@url{http://octave.sourceforge.net}).  Note that the Octave core project is
-inherently more conservative and follows narrower rules.
+The mailing list for Octave development discussion is
+@email{maintainers@@octave.org}.  Patches should be submitted to
+@url{https://savannah.gnu.org/patch/?func=additem&group=octave, Octave's patch tracker}.
+This concerns the development of Octave core, i.e., code that goes to Octave
+directly.  You may consider developing and publishing a package instead;
+a great place for this is the allied Octave-Forge project
+(@url{http://octave.sourceforge.net}).  Note that the Octave core
+project is inherently more conservative and follows narrower rules.
 
 @node Building the Development Sources
 @section Building the Development Sources
@@ -197,7 +198,7 @@
 comment header (use appropriate year, name and comment marks):
 
 @example
-## Copyright (C) 1996-2012 John W. Eaton <jwe@@octave.org>
+## Copyright (C) 1996-2013 John W. Eaton <jwe@@octave.org>
 ##
 ## This file is part of Octave.
 ##
--- a/doc/interpreter/contributors.in	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/contributors.in	Wed Oct 23 22:29:06 2013 -0400
@@ -151,6 +151,7 @@
 Dirk Laurie
 Maurice LeBrun
 Friedrich Leisch
+Thorsten Liebig
 Jyh-miin Lin
 Timo Lindfors
 Benjamin Lindner
--- a/doc/interpreter/cp-idx.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/cp-idx.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/data.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/data.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/debug.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/debug.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/diagperm.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/diagperm.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 2009-2012 Jaroslav Hajek
+@c Copyright (C) 2009-2013 Jaroslav Hajek
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/diffeq.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/diffeq.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/emacs.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/emacs.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 Kurt Hornik
+@c Copyright (C) 1996-2013 Kurt Hornik
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/errors.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/errors.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/eval.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/eval.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/expr.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/expr.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/external.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/external.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 2007-2012 John W. Eaton and David Bateman
+@c Copyright (C) 2007-2013 John W. Eaton and David Bateman
 @c Copyright (C) 2007 Paul Thomas and Christoph Spiel
 @c
 @c This file is part of Octave.
--- a/doc/interpreter/fn-idx.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/fn-idx.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/func.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/func.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/geometry.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/geometry.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 2007-2012 John W. Eaton and David Bateman
+@c Copyright (C) 2007-2013 John W. Eaton and David Bateman
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/geometryimages.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/geometryimages.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/doc/interpreter/grammar.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/grammar.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/gui.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/gui.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 2012 Rik Wehbring
+@c Copyright (C) 2012-2013 Rik Wehbring
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/image.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/image.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/install.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/install.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/interp.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/interp.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 2007-2012 John W. Eaton
+@c Copyright (C) 2007-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
@@ -82,12 +82,6 @@
 @end float
 @end ifnotinfo
 
-A simplified version of @code{interp1} that performs only linear
-interpolation is available in @code{interp1q}.  This argument is slightly
-faster than @code{interp1} as to performs little error checking.
-
-@DOCSTRING(interp1q)
-
 Fourier interpolation, is a resampling technique where a signal is
 converted to the frequency domain, padded with zeros and then
 reconverted to the time domain.
--- a/doc/interpreter/interpimages.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/interpimages.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/doc/interpreter/intro.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/intro.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/io.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/io.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/java.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/java.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 2010-2012 Martin Hepperle
+@c Copyright (C) 2010-2013 Martin Hepperle
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/linalg.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/linalg.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/macros.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/macros.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 2012 John W. Eaton
+@c Copyright (C) 2012-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/matrix.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/matrix.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/mk_doc_cache.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/mk_doc_cache.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 John W. Eaton
+## Copyright (C) 2009-2013 John W. Eaton
 ##
 ## This program is free software; you can redistribute it and/or modify it
 ## under the terms of the GNU General Public License as published by
--- a/doc/interpreter/mkoctfile.1	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/mkoctfile.1	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-.\" Copyright (C) 2000-2012 Dirk Eddelbuettel
+.\" Copyright (C) 2000-2013 Dirk Eddelbuettel
 .\"
 .\" This file is part of Octave.
 .\"
--- a/doc/interpreter/nonlin.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/nonlin.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/numbers.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/numbers.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/obsolete.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/obsolete.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 2010-2012 John W. Eaton
+@c Copyright (C) 2010-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/octave-config.1	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/octave-config.1	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-.\" Copyright (C) 2003-2012 Dirk Eddelbuettel
+.\" Copyright (C) 2003-2013 Dirk Eddelbuettel
 .\"
 .\" This file is part of Octave.
 .\"
--- a/doc/interpreter/octave.1	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/octave.1	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-.\" Copyright (C) 1996-2012 John W. Eaton
+.\" Copyright (C) 1996-2013 John W. Eaton
 .\"
 .\" This file is part of Octave.
 .\"
--- a/doc/interpreter/octave.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/octave.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-% Copyright (C) 1996-2012 John W. Eaton
+% Copyright (C) 1996-2013 John W. Eaton
 %
 % This file is part of Octave.
 %
@@ -63,8 +63,7 @@
 
 @ifnottex
 
-Copyright @copyright{} 1996, 1997, 1999, 2000, 2001, 2002, 2005, 2006,
-2007, 2011 John W. Eaton.
+Copyright @copyright{} 1996-2013 John W. Eaton.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
--- a/doc/interpreter/oop.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/oop.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 2008-2012 David Bateman
+@c Copyright (C) 2008-2013 David Bateman
 @c Copyright (C) 2009 VZLU Prague
 @c
 @c This file is part of Octave.
--- a/doc/interpreter/op-idx.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/op-idx.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/optim.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/optim.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/package.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/package.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 2007-2012 Søren Hauberg
+@c Copyright (C) 2007-2013 Søren Hauberg
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/plot.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/plot.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/plotimages.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/plotimages.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 John W. Eaton and David Bateman
+## Copyright (C) 2007-2013 John W. Eaton and David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/doc/interpreter/poly.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/poly.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/preface.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/preface.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/quad.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/quad.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/set.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/set.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/signal.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/signal.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/sparse.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/sparse.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 2004-2012 David Bateman
+@c Copyright (C) 2004-2013 David Bateman
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/sparseimages.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/sparseimages.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman
+## Copyright (C) 2006-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/doc/interpreter/splineimages.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/splineimages.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Ben Abbott, Jonas Lundgren
+## Copyright (C) 2012-2013 Ben Abbott, Jonas Lundgren
 ##
 ## This file is part of Octave.
 ##
--- a/doc/interpreter/stats.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/stats.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/stmt.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/stmt.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/strings.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/strings.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/system.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/system.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/testfun.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/testfun.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 2005-2012 David Bateman
+@c Copyright (C) 2005-2013 David Bateman
 @c Copyright (C) 2002-2005 Paul Kienzle
 @c
 @c This file is part of Octave.
--- a/doc/interpreter/tips.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/tips.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/var.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/var.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/interpreter/vectorize.txi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/interpreter/vectorize.txi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 2012 Jordi Gutiérrez Hermoso
+@c Copyright (C) 2012-2013 Jordi Gutiérrez Hermoso
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/Makefile.am	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/Makefile.am	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,6 @@
 # Makefile for Octave's doc/liboctave directory
 #
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-#               2005, 2006, 2007 John W. Eaton
+# Copyright (C) 1996-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/doc/liboctave/array.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/array.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/bugs.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/bugs.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/cp-idx.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/cp-idx.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/dae.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/dae.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/diffeq.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/diffeq.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/error.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/error.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/factor.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/factor.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/fn-idx.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/fn-idx.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/gpl.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/gpl.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/install.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/install.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/intro.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/intro.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/liboctave.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/liboctave.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-% Copyright (C) 1996-2012 John W. Eaton
+% Copyright (C) 1996-2013 John W. Eaton
 %
 % This file is part of Octave.
 %
@@ -56,7 +56,7 @@
 
 @ifnottex
 
-Copyright (C) 1996, 1997 John W. Eaton.
+Copyright (C) 1996-2013 John W. Eaton.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
--- a/doc/liboctave/matvec.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/matvec.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/nleqn.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/nleqn.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/nlfunc.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/nlfunc.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1997-2012 John W. Eaton
+@c Copyright (C) 1997-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/ode.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/ode.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/optim.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/optim.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/preface.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/preface.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/quad.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/quad.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/liboctave/range.texi	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/liboctave/range.texi	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-@c Copyright (C) 1996-2012 John W. Eaton
+@c Copyright (C) 1996-2013 John W. Eaton
 @c
 @c This file is part of Octave.
 @c
--- a/doc/refcard/Makefile.am	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/refcard/Makefile.am	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 # Makefile for Octave's doc/refcard directory
 #
-# Copyright (C) 1996-2012 John W. Eaton
+# Copyright (C) 1996-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/doc/refcard/refcard-a4.tex	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/refcard/refcard-a4.tex	Wed Oct 23 22:29:06 2013 -0400
@@ -2,7 +2,7 @@
 %
 % Make a reference card that will fit on A4 paper.
 %
-% Copyright (C) 1996-2012 John W. Eaton
+% Copyright (C) 1996-2013 John W. Eaton
 %
 % This file is part of Octave.
 %
--- a/doc/refcard/refcard-legal.tex	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/refcard/refcard-legal.tex	Wed Oct 23 22:29:06 2013 -0400
@@ -2,7 +2,7 @@
 %
 % Make a reference card that will fit on US legal paper.
 %
-% Copyright (C) 1996-2012 John W. Eaton
+% Copyright (C) 1996-2013 John W. Eaton
 %
 % This file is part of Octave.
 %
--- a/doc/refcard/refcard-letter.tex	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/refcard/refcard-letter.tex	Wed Oct 23 22:29:06 2013 -0400
@@ -3,7 +3,7 @@
 % Make a reference card that will fit on US letter paper
 % (8-1/2 by 11 inches).
 %
-% Copyright (C) 1996-2012 John W. Eaton
+% Copyright (C) 1996-2013 John W. Eaton
 %
 % This file is part of Octave.
 %
--- a/doc/refcard/refcard.tex	Mon Oct 14 17:16:36 2013 -0400
+++ b/doc/refcard/refcard.tex	Wed Oct 23 22:29:06 2013 -0400
@@ -2,7 +2,7 @@
 %
 % This file is TeX source for a reference card describing Octave.
 %
-% Copyright (C) 1996-2012 John W. Eaton
+% Copyright (C) 1996-2013 John W. Eaton
 %
 % This file is part of Octave.
 %
--- a/etc/HACKING	Mon Oct 14 17:16:36 2013 -0400
+++ b/etc/HACKING	Wed Oct 23 22:29:06 2013 -0400
@@ -333,7 +333,7 @@
 
 ################################################################################
 
-Copyright (C) 2009-2012 John W. Eaton
+Copyright (C) 2009-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/examples/Makefile.am	Mon Oct 14 17:16:36 2013 -0400
+++ b/examples/Makefile.am	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 # Makefile for Octave's examples directory
 #
-# Copyright (C) 1996-2012 John W. Eaton
+# Copyright (C) 1996-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/libgui/Makefile.am	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/Makefile.am	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 # Makefile for Octave's libgui directory
 #
-# Copyright (C) 2012 John W. Eaton
+# Copyright (C) 2012-2013 John W. Eaton
 #
 # This file is part of Octave.
 #
--- a/libgui/languages/fr_FR.ts	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/languages/fr_FR.ts	Wed Oct 23 22:29:06 2013 -0400
@@ -960,7 +960,7 @@
     <message>
         <location line="+739"/>
         <source>Clear Clipboard</source>
-        <translation type="unfinished"></translation>
+        <translation>Effacer le presse-papiers</translation>
     </message>
     <message>
         <location line="+5"/>
@@ -1030,22 +1030,22 @@
     <message>
         <location line="+77"/>
         <source>Octave Packages</source>
-        <translation type="unfinished"></translation>
+        <translation>Paquets d&apos;Octave</translation>
     </message>
     <message>
         <location line="+3"/>
         <source>Share Code</source>
-        <translation type="unfinished"></translation>
+        <translation>Partager Code</translation>
     </message>
     <message>
         <location line="+3"/>
         <source>Contribute to Octave</source>
-        <translation type="unfinished"></translation>
+        <translation>Contribuer à Octave</translation>
     </message>
     <message>
         <location line="+3"/>
         <source>Octave Developer Resources</source>
-        <translation type="unfinished"></translation>
+        <translation>Ressources développeurs d'Octave</translation>
     </message>
     <message>
         <location line="+32"/>
@@ -1580,12 +1580,12 @@
     <message>
         <location line="+20"/>
         <source>You seem to be using the Octave graphical interface for the first  time on this computer.  Click &apos;Finish&apos; to write a configuration file  and launch Octave GUI. </source>
-        <translation type="unfinished"></translation>
+        <translation>Il semble que vous exécutez l&apos;interface graphique d&apos;Octave pour la première fois sur cet ordinateur. Cliquez sur &apos;Fin&apos; pour écrire un fichier de configuration et lancez l&apos;interface graphique d&apos;Octave.</translation>
     </message>
     <message>
         <location line="+10"/>
         <source>The configuration file is stored in __%1__. If that file exists, you will not see this dialog when Octave starts again.</source>
-        <translation type="unfinished"></translation>
+        <translation>Le fichier de configuration est stockée dans __% 1__. Si ce fichier existe, vous ne verrez pas cette boîte de dialogue lorsque d&apos;Octave recommence.</translation>
     </message>
     <message>
         <location line="+10"/>
@@ -1596,7 +1596,13 @@
 &lt;li&gt;open the documentation browser of Octave GUI with the help menu.&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/body&gt;&lt;/html&gt;</source>
-        <translation type="unfinished"></translation>
+        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Pour plus d'information sur d&apos;Octave,lt;/p&gt;
+&lt;ul&gt;
+&lt;li&gt;visiter &lt;a href=&quot;http://octave.org&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://octave.org&lt;/span&gt;&lt;/a&gt;,&lt;/li&gt; 
+&lt;li&gt; obtenir le documentation en ligne comme &lt;a href=&quot;http://www.gnu.org/software/octave/doc/interpreter/index.html&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;html&lt;/span&gt;&lt;/a&gt;- or &lt;a href=&quot;http://www.gnu.org/software/octave/octave.pdf&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;pdf&lt;/span&gt;&lt;/a&gt;-document, ou&lt;/li&gt;
+&lt;li&gt;ouvrir le navigateur de documentation de l'interface graphique d'Octave avec le menu d'aide.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;/body&gt;&lt;/html&gt;</translation>
     </message>
     <message>
         <location line="-27"/>
--- a/libgui/qterminal/libqterminal/QTerminal.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/QTerminal.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
-Copyright (C) 2012 Michael Goffioul.
-Copyright (C) 2012 Jacob Dawid.
+Copyright (C) 2012-2013 Michael Goffioul.
+Copyright (C) 2012-2013 Jacob Dawid.
 
 This file is part of QTerminal.
 
--- a/libgui/qterminal/libqterminal/QTerminal.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/QTerminal.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
-Copyright (C) 2012 Michael Goffioul.
-Copyright (C) 2012 Jacob Dawid.
+Copyright (C) 2012-2013 Michael Goffioul.
+Copyright (C) 2012-2013 Jacob Dawid.
 
 This file is part of QTerminal.
 
--- a/libgui/qterminal/libqterminal/unix/BlockArray.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/BlockArray.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
     This file is part of Konsole, an X terminal.
-    Copyright (C) 2000 by Stephan Kulow <coolo@kde.org>
+    Copyright (C) 2000, 2013 by Stephan Kulow <coolo@kde.org>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/BlockArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/BlockArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
     This file is part of Konsole, an X terminal.
-    Copyright (C) 2000 by Stephan Kulow <coolo@kde.org>
+    Copyright (C) 2000, 2013 by Stephan Kulow <coolo@kde.org>
    
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/Character.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/Character.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
     This file is part of Konsole, KDE's terminal.
     
-    Copyright (C) 2007 by Robert Knight <robertknight@gmail.com>
+    Copyright (C) 2007, 2013 by Robert Knight <robertknight@gmail.com>
     Copyright (C) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
--- a/libgui/qterminal/libqterminal/unix/CharacterColor.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/CharacterColor.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
     This file is part of Konsole, KDE's terminal.
     
-    Copyright (C) 2007 by Robert Knight <robertknight@gmail.com>
+    Copyright (C) 2007, 2013 by Robert Knight <robertknight@gmail.com>
     Copyright (C) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
--- a/libgui/qterminal/libqterminal/unix/Emulation.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/Emulation.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -1,9 +1,9 @@
 /*
     This file is part of Konsole, an X terminal.
 
-    Copyright (C) 2007 Robert Knight <robertknight@gmail.com> 
+    Copyright (C) 2007, 2013 Robert Knight <robertknight@gmail.com> 
     Copyright (C) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
-    Copyright (C) 1996 by Matthias Ettrich <ettrich@kde.org>
+    Copyright (C) 1996, 2013 by Matthias Ettrich <ettrich@kde.org>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/Emulation.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/Emulation.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
     This file is part of Konsole, an X terminal.
     
-    Copyright (C) 2007 by Robert Knight <robertknight@gmail.com>
+    Copyright (C) 2007, 2013 by Robert Knight <robertknight@gmail.com>
     Copyright (C) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
--- a/libgui/qterminal/libqterminal/unix/Filter.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/Filter.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2007 by Robert Knight <robertknight@gmail.com>
+    Copyright (C) 2007, 2013 by Robert Knight <robertknight@gmail.com>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/Filter.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/Filter.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2007 by Robert Knight <robertknight@gmail.com>
+    Copyright (C) 2007, 2013 by Robert Knight <robertknight@gmail.com>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/History.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/History.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
     This file is part of Konsole, an X terminal.
-    Copyright (C) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
+    Copyright (C) 1997-1998, 2013 by Lars Doelle <lars.doelle@on-line.de>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/History.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/History.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
     This file is part of Konsole, an X terminal.
-    Copyright (C) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
+    Copyright (C) 1997-1998, 2013 by Lars Doelle <lars.doelle@on-line.de>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/KeyboardTranslator.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/KeyboardTranslator.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
     This source file was part of Konsole, a terminal emulator.
 
-    Copyright (C) 2007 by Robert Knight <robertknight@gmail.com>
+    Copyright (C) 2007, 2013 by Robert Knight <robertknight@gmail.com>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/KeyboardTranslator.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/KeyboardTranslator.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
     This source file is part of Konsole, a terminal emulator.
 
-    Copyright (C) 2007 by Robert Knight <robertknight@gmail.com>
+    Copyright (C) 2007, 2013 by Robert Knight <robertknight@gmail.com>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 /*  Copyright (C) 2008 e_k (e_k@users.sourceforge.net)
-    Copyright (C) 2012 Jacob Dawid <jacob.dawid@googlemail.com>
+    Copyright (C) 2012-2013 Jacob Dawid <jacob.dawid@googlemail.com>
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Library General Public
--- a/libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 /*  Copyright (C) 2008 e_k (e_k@users.sourceforge.net)
-    Copyright (C) 2012 Jacob Dawid <jacob.dawid@googlemail.com>
+    Copyright (C) 2012-2013 Jacob Dawid <jacob.dawid@googlemail.com>
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Library General Public
--- a/libgui/qterminal/libqterminal/unix/Screen.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/Screen.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
     This file is part of Konsole, an X terminal.
-    Copyright (C) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
+    Copyright (C) 1997-1998, 2013 by Lars Doelle <lars.doelle@on-line.de>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/Screen.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/Screen.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
     This file is part of Konsole, KDE's terminal.
 
-    Copyright (C) 2007 by Robert Knight <robertknight@gmail.com>
+    Copyright (C) 2007, 2013 by Robert Knight <robertknight@gmail.com>
     Copyright (C) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
--- a/libgui/qterminal/libqterminal/unix/ScreenWindow.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/ScreenWindow.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2007 by Robert Knight <robertknight@gmail.com>
+    Copyright (C) 2007, 2013 by Robert Knight <robertknight@gmail.com>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/ScreenWindow.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/ScreenWindow.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2007 by Robert Knight <robertknight@gmail.com>
+    Copyright (C) 2007, 2013 by Robert Knight <robertknight@gmail.com>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/SelfListener.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/SelfListener.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 /* qterminal - a terminal widget for Qt
- * Copyright (C) 2011 Jacob Dawid (jacob.dawid@googlemail.com)
+ * Copyright (C) 2011, 2013 Jacob Dawid (jacob.dawid@googlemail.com)
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as
--- a/libgui/qterminal/libqterminal/unix/SelfListener.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/SelfListener.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 /* qterminal - a terminal widget for Qt
- * Copyright (C) 2011 Jacob Dawid (jacob.dawid@googlemail.com)
+ * Copyright (C) 2011, 2013 Jacob Dawid (jacob.dawid@googlemail.com)
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as
--- a/libgui/qterminal/libqterminal/unix/TerminalCharacterDecoder.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/TerminalCharacterDecoder.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
     This file is part of Konsole, an X terminal.
     
-    Copyright (C) 2006 by Robert Knight <robertknight@gmail.com>
+    Copyright (C) 2006, 2013 by Robert Knight <robertknight@gmail.com>
     
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/TerminalCharacterDecoder.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/TerminalCharacterDecoder.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
     This file is part of Konsole, an X terminal.
     
-    Copyright (C) 2006-7 by Robert Knight <robertknight@gmail.com>
+    Copyright (C) 2006-2007, 2013 by Robert Knight <robertknight@gmail.com>
     
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/TerminalModel.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/TerminalModel.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -5,7 +5,7 @@
     Copyright (C) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
-    Copyright (C) 2012 Jacob Dawid <jacob.dawid@googlemail.com>
+    Copyright (C) 2012-2013 Jacob Dawid <jacob.dawid@googlemail.com>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
--- a/libgui/qterminal/libqterminal/unix/TerminalModel.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/TerminalModel.h	Wed Oct 23 22:29:06 2013 -0400
@@ -5,7 +5,7 @@
     Copyright (C) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
-    Copyright (C) 2012 Jacob Dawid <jacob.dawid@googlemail.com>
+    Copyright (C) 2012-2013 Jacob Dawid <jacob.dawid@googlemail.com>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
--- a/libgui/qterminal/libqterminal/unix/TerminalView.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/TerminalView.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -5,7 +5,7 @@
     Copyright (C) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
-    Copyright (C) 2012 Jacob Dawid <jacob.dawid@googlemail.com>
+    Copyright (C) 2012-2013 Jacob Dawid <jacob.dawid@googlemail.com>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
--- a/libgui/qterminal/libqterminal/unix/TerminalView.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/TerminalView.h	Wed Oct 23 22:29:06 2013 -0400
@@ -3,7 +3,7 @@
     Copyright (C) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
-    Copyright (C) 2012 Jacob Dawid <jacob.dawid@googlemail.com>
+    Copyright (C) 2012-2013 Jacob Dawid <jacob.dawid@googlemail.com>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
--- a/libgui/qterminal/libqterminal/unix/Vt102Emulation.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/Vt102Emulation.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
     This file is part of Konsole, an X terminal.
-    Copyright (C) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
+    Copyright (C) 1997-1998, 2013 by Lars Doelle <lars.doelle@on-line.de>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/Vt102Emulation.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/Vt102Emulation.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
     This file is part of Konsole, an X terminal.
     
-    Copyright (C) 2007 by Robert Knight <robertknight@gmail.com>
+    Copyright (C) 2007, 2013 by Robert Knight <robertknight@gmail.com>
     Copyright (C) 1997,1998 by Lars Doelle <lars.doelle@on-line.de>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
--- a/libgui/qterminal/libqterminal/unix/kpty.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/kpty.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
    This file is part of the KDE libraries
-   Copyright (C) 2002 Waldo Bastian <bastian@kde.org>
+   Copyright (C) 2002, 2013 Waldo Bastian <bastian@kde.org>
    Copyright (C) 2002-2003,2007 Oswald Buddenhagen <ossi@kde.org>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
--- a/libgui/qterminal/libqterminal/unix/kpty.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/kpty.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /* This file is part of the KDE libraries
 
-    Copyright (C) 2003,2007 Oswald Buddenhagen <ossi@kde.org>
+    Copyright (C) 2003, 2007, 2013 Oswald Buddenhagen <ossi@kde.org>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/unix/kpty_p.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/unix/kpty_p.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /* This file is part of the KDE libraries
 
-    Copyright (C) 2003,2007 Oswald Buddenhagen <ossi@kde.org>
+    Copyright (C) 2003, 2007, 2013 Oswald Buddenhagen <ossi@kde.org>
 
     Rewritten for QT4 by e_k <e_k at users.sourceforge.net>, Copyright (C)2008
 
--- a/libgui/qterminal/libqterminal/win32/QTerminalColors.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/win32/QTerminalColors.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011 Michael Goffioul.
+Copyright (C) 2011, 2013 Michael Goffioul.
 
 This file is part of QConsole.
 
--- a/libgui/qterminal/libqterminal/win32/QTerminalColors.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/win32/QTerminalColors.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011 Michael Goffioul.
+Copyright (C) 2011, 2013 Michael Goffioul.
 
 This file is part of QConsole.
 
--- a/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011 Michael Goffioul.
+Copyright (C) 2011, 2013 Michael Goffioul.
 
 This file is part of QConsole.
 
--- a/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011 Michael Goffioul.
+Copyright (C) 2011, 2013 Michael Goffioul.
 
 This file is part of QConsole.
 
--- a/libgui/qterminal/qterminal/main.cpp	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/qterminal/qterminal/main.cpp	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-/*  Copyright (C) 2008 e_k (e_k@users.sourceforge.net)
+/*  Copyright (C) 2008, 2013 e_k (e_k@users.sourceforge.net)
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Library General Public
--- a/libgui/src/documentation-dock-widget.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/documentation-dock-widget.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/documentation-dock-widget.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/documentation-dock-widget.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/files-dock-widget.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/files-dock-widget.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/files-dock-widget.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/files-dock-widget.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/history-dock-widget.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/history-dock-widget.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/history-dock-widget.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/history-dock-widget.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
Binary file libgui/src/icons/arrow_down.png has changed
Binary file libgui/src/icons/arrow_left.png has changed
Binary file libgui/src/icons/arrow_right.png has changed
Binary file libgui/src/icons/arrow_up.png has changed
Binary file libgui/src/icons/bookmark.png has changed
Binary file libgui/src/icons/redled.png has changed
--- a/libgui/src/m-editor/file-editor-interface.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/m-editor/file-editor-interface.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/m-editor/file-editor-tab.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/m-editor/file-editor-tab.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
@@ -69,6 +69,7 @@
     directory.append ("/");
 
   _file_name = directory;
+  _file_system_watcher.setObjectName ("_qt_autotest_force_engine_poller");
 
   _edit_area = new octave_qscintilla (this);
   // Connect signal for command execution to a slot of this tab which in turn
@@ -89,7 +90,7 @@
   _edit_area->markerDefine (QsciScintilla::RightTriangle, bookmark);
   _edit_area->markerDefine (QPixmap (":/actions/icons/redled.png"),
                             breakpoint);
-  _edit_area->markerDefine (QPixmap (":/actions/icons/arrow_right.png"),
+  _edit_area->markerDefine (QPixmap (":/actions/icons/bookmark.png"),
                             debugger_position);
 
   connect (_edit_area, SIGNAL (marginClicked (int, int,
@@ -189,9 +190,10 @@
   update_lexer ();
 
   // update the file editor with current editing directory
-  emit editor_state_changed (_copy_available, QDir::cleanPath (_file_name));
+  emit editor_state_changed (_copy_available, _file_name);
   // add the new file to the mru list
-  emit mru_add_file (QDir::cleanPath (_file_name));
+
+  emit mru_add_file (_file_name);
 }
 
 void
@@ -931,7 +933,14 @@
 QString
 file_editor_tab::load_file (const QString& fileName)
 {
-  QFile file (fileName);
+  // get the absolute path
+  QFileInfo file_info = QFileInfo (fileName);
+  QString file_to_load;
+  if (file_info.exists ())
+    file_to_load = file_info.canonicalFilePath ();
+  else
+    file_to_load = fileName;
+  QFile file (file_to_load);
   if (!file.open (QFile::ReadOnly))
     return file.errorString ();
 
@@ -941,7 +950,7 @@
   QApplication::restoreOverrideCursor ();
 
   _copy_available = false;     // no selection yet available
-  set_file_name (fileName);
+  set_file_name (file_to_load);
   update_window_title (false); // window title (no modification)
   _edit_area->setModified (false); // loaded file is not modified yet
 
@@ -967,27 +976,34 @@
       save_file_as (remove_on_success);
       return;
     }
+  // get the absolute path (if existing)
+  QFileInfo file_info = QFileInfo (saveFileName);
+  QString file_to_save;
+  if (file_info.exists ())
+    file_to_save = file_info.canonicalFilePath ();
+  else
+    file_to_save = saveFileName;
+  QFile file (file_to_save);
 
   // stop watching file
   QStringList trackedFiles = _file_system_watcher.files ();
-  if (!trackedFiles.isEmpty ())
-    _file_system_watcher.removePath (saveFileName);
+  if (trackedFiles.contains (file_to_save))
+    _file_system_watcher.removePath (file_to_save);
 
   // open the file for writing
-  QFile file (saveFileName);
   if (!file.open (QIODevice::WriteOnly))
     {
       // Unsuccessful, begin watching file again if it was being
       // watched previously.
-      if (trackedFiles.contains (saveFileName))
-        _file_system_watcher.addPath (saveFileName);
+      if (trackedFiles.contains (file_to_save))
+        _file_system_watcher.addPath (file_to_save);
 
       // Create a NonModal message about error.
       QMessageBox* msgBox
         = new QMessageBox (QMessageBox::Critical,
                            tr ("Octave Editor"),
                            tr ("Could not open file %1 for write:\n%2.").
-                           arg (saveFileName).arg (file.errorString ()),
+                           arg (file_to_save).arg (file.errorString ()),
                            QMessageBox::Ok, 0);
       msgBox->setWindowModality (Qt::NonModal);
       msgBox->setAttribute (Qt::WA_DeleteOnClose);
@@ -1000,11 +1016,17 @@
   QTextStream out (&file);
   QApplication::setOverrideCursor (Qt::WaitCursor);
   out << _edit_area->text ();
+  out.flush ();
   QApplication::restoreOverrideCursor ();
+  file.flush ();
   file.close ();
 
+  // file exists now
+  file_info = QFileInfo (file);
+  file_to_save = file_info.canonicalFilePath ();
+
   // save file name after closing file as set_file_name starts watching again
-  set_file_name (saveFileName);
+  set_file_name (file_to_save);   // make absolute
 
   // set the window title to actual file name (not modified)
   update_window_title (false);
--- a/libgui/src/m-editor/file-editor-tab.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/m-editor/file-editor-tab.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/m-editor/file-editor.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/m-editor/file-editor.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
@@ -277,7 +277,8 @@
                   add_file_editor_tab (fileEditorTab, "");
                   fileEditorTab->update_window_title (false);
                   // file already loaded, add file to mru list here
-                  handle_mru_add_file (QDir::cleanPath (openFileName));
+                  QFileInfo file_info = QFileInfo (openFileName);
+                  handle_mru_add_file (file_info.canonicalFilePath ());
 
                   if (line > 0)
                     {
@@ -294,17 +295,66 @@
               else
                 {
                   delete fileEditorTab;
-                  // Create a NonModal message about error.
-                  QMessageBox *msgBox
-                    = new QMessageBox (QMessageBox::Critical,
-                                       tr ("Octave Editor"),
-                                       tr ("Could not open file %1 for read:\n%2.").
-                                       arg (openFileName).arg (result),
-                                       QMessageBox::Ok, this);
+
+                  if (QFile::exists (openFileName))
+                    {
+                      // File not readable: create a NonModal message about error.
+                      QMessageBox *msgBox
+                        = new QMessageBox (QMessageBox::Critical,
+                                   tr ("Octave Editor"),
+                                   tr ("Could not open file\n%1\nfor read: %2.").
+                                   arg (openFileName).arg (result),
+                                   QMessageBox::Ok, this);
 
-                  msgBox->setWindowModality (Qt::NonModal);
-                  msgBox->setAttribute (Qt::WA_DeleteOnClose);
-                  msgBox->show ();
+                      msgBox->setWindowModality (Qt::NonModal);
+                      msgBox->setAttribute (Qt::WA_DeleteOnClose);
+                      msgBox->show ();
+                    }
+                  else
+                    {
+                      // File does not exist, should it be crated?
+                      QMessageBox *msgBox;
+                      int answer;
+                      if (settings->value ("editor/create_new_file",false).toBool ())
+                        {
+                          answer = QMessageBox::Yes;
+                        }
+                      else
+                        {
+                           msgBox = new QMessageBox (QMessageBox::Question,
+                               tr ("Octave Editor"),
+                               tr ("File\n%1\ndoes not exist. "
+                                   "Do you want to create it?").arg (openFileName),
+                               QMessageBox::Yes | QMessageBox::No, this);
+
+                          msgBox->setAttribute (Qt::WA_DeleteOnClose);
+                          answer = msgBox->exec ();
+                        }
+
+                      if (answer == QMessageBox::Yes)
+                        {
+                          // create the file and call the editor again
+                          QFile file (openFileName);
+                          if (!file.open (QIODevice::WriteOnly))
+                            {
+                              // error opening the file
+                              msgBox = new QMessageBox (QMessageBox::Critical,
+                                   tr ("Octave Editor"),
+                                   tr ("Could not open file\n%1\nfor write: %2.").
+                                   arg (openFileName).arg (file.errorString ()),
+                                   QMessageBox::Ok, this);
+
+                              msgBox->setWindowModality (Qt::NonModal);
+                              msgBox->setAttribute (Qt::WA_DeleteOnClose);
+                              msgBox->show ();
+                            }
+                          else
+                            {
+                              file.close ();
+                              request_open_file (openFileName);
+                            }
+                        }
+                    }
                 }
             }
 
@@ -751,6 +801,18 @@
 }
 
 void
+file_editor::request_preferences (bool)
+{
+  emit request_settings_dialog ("editor");
+}
+
+void
+file_editor::request_styles_preferences (bool)
+{
+  emit request_settings_dialog ("editor_styles");
+}
+
+void
 file_editor::construct (void)
 {
   QWidget *editor_widget = new QWidget (this);
@@ -940,6 +1002,13 @@
   editMenu->addAction (_remove_bookmark_action);
   editMenu->addSeparator ();
   editMenu->addAction (_goto_line_action);
+  editMenu->addSeparator ();
+  _preferences_action =
+     editMenu->addAction (QIcon (":/actions/icons/configure.png"),
+       tr ("&Preferences"), this, SLOT (request_preferences (bool)));
+  _styles_preferences_action =
+    editMenu->addAction (QIcon (":/actions/icons/configure.png"),
+      tr ("&Styles Preferences"), this, SLOT (request_styles_preferences (bool)));
   _menu_bar->addMenu (editMenu);
 
   _debug_menu = new QMenu (tr ("&Debug"), _menu_bar);
@@ -981,6 +1050,9 @@
   setWidget (editor_widget);
 
   // signals
+  connect (this, SIGNAL (request_settings_dialog (const QString&)),
+           main_win (), SLOT (process_settings_dialog_request (const QString&)));
+
   connect (main_win (), SIGNAL (new_file_signal (const QString&)),
            this, SLOT (request_new_file (const QString&)));
 
--- a/libgui/src/m-editor/file-editor.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/m-editor/file-editor.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
@@ -98,6 +98,7 @@
   void fetab_do_breakpoint_marker (bool insert, const QWidget* ID,
                                    int line = -1);
   void fetab_set_focus (const QWidget* ID);
+  void request_settings_dialog (const QString&);
 
 public slots:
   void focus (void);
@@ -173,6 +174,8 @@
   void request_open_file (const QString& fileName, int line = -1,
                           bool debug_pointer = false,
                           bool breakpoint_marker = false, bool insert = true);
+  void request_preferences (bool);
+  void request_styles_preferences (bool);
 
 private:
 
@@ -222,6 +225,9 @@
   QAction *_redo_action;
   QAction *_undo_action;
 
+  QAction *_preferences_action;
+  QAction *_styles_preferences_action;
+
   QTabWidget *_tab_widget;
 
   int _marker_breakpoint;
--- a/libgui/src/m-editor/octave-qscintilla.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/m-editor/octave-qscintilla.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -176,8 +176,9 @@
 void
 octave_qscintilla::contextmenu_run (bool)
 {
-  QString command = selectedText ();
-  emit execute_command_in_terminal_signal (command);
+  QStringList commands = selectedText ().split (QRegExp("[\r\n]"),QString::SkipEmptyParts);
+  for (int i = 0; i < commands.size (); i++ )
+    emit execute_command_in_terminal_signal (commands.at (i));
 }
 
 #endif
--- a/libgui/src/main-window.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/main-window.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
@@ -251,7 +251,9 @@
 void
 main_window::display_release_notes (void)
 {
-  display_url_in_window (QUrl ("file://" OCTAVE_OCTETCDIR "/NEWS"));
+  std::string news_file = "file://" + Voct_etc_dir + "/NEWS";
+
+  display_url_in_window (QUrl (QString::fromStdString (news_file)));
 }
 
 void
@@ -304,9 +306,9 @@
 }
 
 void
-main_window::process_settings_dialog_request (void)
+main_window::process_settings_dialog_request (const QString& desired_tab)
 {
-  settings_dialog *settingsDialog = new settings_dialog (this);
+  settings_dialog *settingsDialog = new settings_dialog (this, desired_tab);
   int change_settings = settingsDialog->exec ();
   if (change_settings == QDialog::Accepted)
     {
@@ -631,7 +633,7 @@
             widget->make_widget (false); // no docking, just reparent
 
           // restore geometry
-          QVariant val = settings->value (name);
+          QVariant val = settings->value ("DockWidgets/" + name);
           widget->restoreGeometry (val.toByteArray ());
 
           // make widget visible if desired
@@ -1478,7 +1480,7 @@
            this, SLOT (display_release_notes ()));
 
   connect (current_news_action, SIGNAL (triggered ()),
-           news_window, SLOT (show ()));
+           news_window, SLOT (focus ()));
 }
 
 void
--- a/libgui/src/main-window.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/main-window.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
@@ -115,7 +115,7 @@
   void open_agora_page (void);
   void open_contribute_page (void);
   void open_developer_page (void);
-  void process_settings_dialog_request (void);
+  void process_settings_dialog_request (const QString& desired_tab = QString ());
   void show_about_octave (void);
   void notice_settings (const QSettings *settings);
   void prepare_to_exit (void);
--- a/libgui/src/module.mk	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/module.mk	Wed Oct 23 22:29:06 2013 -0400
@@ -6,6 +6,9 @@
 
 octave_gui_ICONS = \
   src/icons/arrow_right.png \
+  src/icons/arrow_left.png \
+  src/icons/arrow_up.png \
+  src/icons/arrow_down.png \
   src/icons/artsbuilderexecute.png \
   src/icons/bookmark.png \
   src/icons/bp_next.png \
--- a/libgui/src/news-dock-widget.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/news-dock-widget.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -113,6 +113,15 @@
 }
 
 void
+news_dock_widget::copyClipboard ()
+{
+  if (browser->hasFocus ())
+    {
+      browser->copy ();
+    }
+}
+
+void
 news_reader::process (void)
 {
   // Run this part in a separate thread so Octave can continue to run
--- a/libgui/src/news-dock-widget.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/news-dock-widget.h	Wed Oct 23 22:29:06 2013 -0400
@@ -41,6 +41,9 @@
 
   void display_news (const QString& news);
 
+  /* from octave_dock_widget */
+  void copyClipboard ();
+
 private:
 
   QTextBrowser *browser;
--- a/libgui/src/octave-dock-widget.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/octave-dock-widget.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -38,7 +38,6 @@
 {
 
   _parent = static_cast<QMainWindow *> (p);     // store main window
-  setFeatures (QDockWidget::DockWidgetMovable); // not floatable or cloasable
 
   connect (this, SIGNAL (visibilityChanged (bool)),
            this, SLOT (handle_visibility_changed (bool)));
@@ -46,6 +45,11 @@
   connect (p, SIGNAL (settings_changed (const QSettings*)),
            this, SLOT (notice_settings (const QSettings*)));
 
+#if defined (Q_OS_WIN32)
+  // windows: add an extra title bar that persists when floating
+
+  setFeatures (QDockWidget::DockWidgetMovable); // not floatable or closeable
+
   // the custom (extra) title bar of the widget
   _dock_action = new QAction
                    (QIcon (":/actions/icons/widget-undock.png"), "", this);
@@ -78,6 +82,18 @@
   title_widget->setLayout (h_layout);
   setTitleBarWidget (title_widget);
 
+#else
+
+  // non windows: qt takes control of floating widgets
+  setFeatures (QDockWidget::DockWidgetMovable |
+               QDockWidget::DockWidgetClosable |
+               QDockWidget::DockWidgetFloatable); // floatable and closeable
+
+  connect (this, SIGNAL (topLevelChanged (bool)),
+           this, SLOT (change_floating (bool)));
+
+#endif
+
   // copy & paste handling
   connect (p, SIGNAL (copyClipboard_signal ()), this, SLOT (copyClipboard ()));
   connect (p, SIGNAL (pasteClipboard_signal()), this, SLOT (pasteClipboard ()));
@@ -94,7 +110,7 @@
   settings->beginGroup ("DockWidgets");
 
   if (!parent ())
-    { // widget is floating, save actual floating geometry
+    { // widget is floating (windows), save actual floating geometry
       floating = true;
       settings->setValue (name+"_floating_geometry", saveGeometry ());
     }
@@ -123,10 +139,12 @@
 void
 octave_dock_widget::set_title (const QString& title)
 {
+#if defined (Q_OS_WIN32)
   QHBoxLayout* h_layout =
       static_cast<QHBoxLayout *> (titleBarWidget ()->layout ());
   QLabel *label = new QLabel (title);
   h_layout->insertWidget (0,label);
+#endif
   setWindowTitle (title);
 }
 
@@ -134,6 +152,10 @@
 void
 octave_dock_widget::make_window ()
 {
+#if defined (Q_OS_WIN32)
+
+  // windows: the widget has to be reparented (parent = 0)
+
   QSettings *settings = resource_manager::get_settings ();
 
   // save the docking area for later redocking
@@ -150,12 +172,24 @@
   // restore the last geometry when floating
   restoreGeometry (settings->value
           ("DockWidgets/" + objectName ()+"_floating_geometry").toByteArray ());
+
+#else
+
+  // non windows: Just set the appripriate window flag
+  setWindowFlags (Qt::Window);
+
+#endif
+
 }
 
 // dock the widget
 void
 octave_dock_widget::make_widget (bool dock)
 {
+#if defined (Q_OS_WIN32)
+
+  // windows: Since floating widget has no parent, we have to readd it
+
   QSettings *settings = resource_manager::get_settings ();
 
   // save last floating geometry
@@ -179,13 +213,24 @@
   // adjust the (un)dock icon
   _dock_action->setIcon (QIcon (":/actions/icons/widget-undock.png"));
   _dock_action->setToolTip (tr ("Undock widget"));
+
+#else
+
+  // non windows: just say we are a docked widget again
+  setWindowFlags (Qt::Widget);
+
+#endif
 }
 
 // slot for (un)dock action
 void
-octave_dock_widget::change_floating (bool)
-{
-  if (parent())
+octave_dock_widget::change_floating (bool floating)
+ {
+#if defined (Q_OS_WIN32)
+   if (parent())
+#else
+  if (floating)
+#endif
     {
       make_window ();
       focus ();
--- a/libgui/src/octave-gui.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/octave-gui.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
@@ -49,6 +49,29 @@
 #include "main-window.h"
 #include "octave-gui.h"
 
+
+// custom message handler for filtering some messages from qt
+void message_handler (QtMsgType type, const char *msg)
+ {
+     switch (type) {
+     case QtDebugMsg:
+         if (strcmp(msg,"QFileSystemWatcher: skipping native engine") > 0)
+           break;
+         fprintf(stderr, "Debug: %s\n", msg);
+         break;
+     case QtWarningMsg:
+         fprintf(stderr, "Warning: %s\n", msg);
+         break;
+     case QtCriticalMsg:
+         fprintf(stderr, "Critical: %s\n", msg);
+         break;
+     case QtFatalMsg:
+         fprintf(stderr, "Fatal: %s\n", msg);
+         abort();
+     }
+ }
+
+
 // Dissociate from the controlling terminal, if any.
 
 static void
@@ -96,6 +119,8 @@
   if (fork)
     dissociate_terminal ();
 
+  qInstallMsgHandler(message_handler);
+
   QApplication application (argc, argv);
 
   // Set the codec for all strings
--- a/libgui/src/octave-gui.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/octave-gui.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 John W. Eaton
+Copyright (C) 2012-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libgui/src/octave-main-thread.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/octave-main-thread.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/octave-main-thread.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/octave-main-thread.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/octave-qt-link.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/octave-qt-link.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,8 +1,8 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
-Copyright (C) 2011-2012 John P. Swensen
+Copyright (C) 2011-2013 Jacob Dawid
+Copyright (C) 2011-2013 John P. Swensen
 
 This file is part of Octave.
 
--- a/libgui/src/octave-qt-link.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/octave-qt-link.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,8 +1,8 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
-Copyright (C) 2011-2012 John P. Swensen
+Copyright (C) 2011-2013 Jacob Dawid
+Copyright (C) 2011-2013 John P. Swensen
 
 This file is part of Octave.
 
--- a/libgui/src/qtinfo/parser.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/qtinfo/parser.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2009 P. L. Lucas
-Copyright (C) 2012 Jacob Dawid
+Copyright (C) 2012-2013 Jacob Dawid
 
 This file is part of Octave.
 
@@ -280,7 +280,14 @@
       QString type     = re.cap (1);
       QString note     = re.cap (3);
       QString url_link = re.cap (4);
-      QString link     = re.cap (4);
+      QString link     = re.cap (4) + re.cap(5);
+      QString spaces = QString("");
+      QRegExp re_linebreak ("\n([ ]*)([^ ]*)([ ]*)");
+      if (re_linebreak.indexIn (link,0) != -1)
+        {
+          link.replace (re_linebreak,"&nbsp;"+re_linebreak.cap (2)+"\n");   // prevent line breaks in links
+          spaces = re_linebreak.cap (1);
+        }
 
       if (url_link.isEmpty ())
         {
@@ -297,13 +304,13 @@
       QString href;
       if (type=="\n*")
         {
-          href="\n<img src=':/actions/icons/bookmark.png'/>";
+          href="\n<img src=':/actions/icons/bookmark.png' width=10/>";
         }
       else
         {
-          href="<img src=':/actions/icons/bookmark.png'/>";
+          href="<img src=':/actions/icons/bookmark.png' width=10/>";
         }
-      href += re.cap (2) + "<a href='" + url_link + "'>" + note + ":" + link + re.cap (5) + "</a>";
+      href += re.cap(2) + "<a href='" + url_link + "'>" + note + ":" + link + "</a>" + spaces;
       f = re.matchedLength ();
       text.replace (i,f,href);
       i += href.size ();
@@ -318,7 +325,7 @@
   while ( (i = re.indexIn (text, i)) != -1)
     {
       QString t = re.cap (1);
-      QString bold = "<b>`" + t + "</b>'";
+      QString bold = "<font style=\"color:Blue;font-weight:bold\">" + t + "</font>";
 
       f = re.matchedLength ();
       text.replace (i,f,bold);
@@ -333,8 +340,8 @@
   text.replace ("<", "&lt;");
   text.replace (">", "&gt;");
 
-  text.replace ("\n* Menu:", "\n<b>Menu:</b>");
-  text.replace ("*See also:*", "<b>See also:</b>");
+  text.replace ("\n* Menu:", "\n<font style=\"text-decoration:underline;font-weight:bold\">Menu:</font>");
+  text.replace ("See also:", "<font style=\"color:DarkRed;font-style:italic;font-weight:bold\">See also:</font>");
   replace_colons (text);
   replace_links (text);
 }
@@ -362,7 +369,7 @@
       info_to_html (text2);
 
       text = text1 + "<a name='" + anchor
-                   + "'/><img src=':/actions/icons/redled.png'><br>&nbsp;"
+                   + "'/><img src=':/actions/icons/arrow_down.png'><br>&nbsp;"
                    + text2;
     }
   else
@@ -373,10 +380,10 @@
     }
 
   QString navigationLinks = QString (
-        "<img src=':/actions/icons/arrow_right.png'/> <b>Section:</b> %1<br>"
-        "<b>Previous Section:</b> <a href='%2'>%3</a><br>"
-        "<b>Next Section:</b> <a href='%4'>%5</a><br>"
-        "<b>Up:</b> <a href='%6'>%7</a><br>\n"
+        "<b>Section:</b> %1<br>"
+        "<img src=':/actions/icons/arrow_left.png'/> <b>Previous Section:</b> <a href='%2'>%3</a><br>"
+        "<img src=':/actions/icons/arrow_right.png'/> <b>Next Section:</b> <a href='%4'>%5</a><br>"
+        "<img src=':/actions/icons/arrow_up.png'/> <b>Up:</b> <a href='%6'>%7</a><br>\n"
         )
       .arg (nodeName)
       .arg (QString (QUrl::toPercentEncoding (nodePrev, "", "'")))
@@ -387,7 +394,7 @@
       .arg (nodeUp);
 
 
-  text.prepend ("<hr>\n<pre>");
+  text.prepend ("<hr>\n<pre style=\"font-family:monospace\">");
   text.append ("</pre>\n<hr><hr>\n");
   text.prepend (navigationLinks);
   text.append (navigationLinks);
@@ -589,11 +596,12 @@
               line_start = node_text.lastIndexOf ("\n", pos);
               line_end = node_text.indexOf ("\n", pos);
               QString line = node_text.mid (line_start, line_end - line_start).trimmed ();
+              pos += re.matchedLength ();
 
               if (founds == 0)
                 {
                   results.append(
-                        "<br>\n<img src=':/actions/icons/bookmark.png'> <a href='"
+                        "<br>\n<img src=':/actions/icons/bookmark.png' width=10> <a href='"
                         + QString(QUrl::toPercentEncoding(node,"","'")) +
                         "'>");
                   results.append (node);
@@ -605,8 +613,6 @@
               results.append ("<br>\n");
 
               founds++;
-
-              pos += re.matchedLength ();
             }
         }
       io->close ();
--- a/libgui/src/qtinfo/parser.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/qtinfo/parser.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2009 P.L. Lucas
-Copyright (C) 2012 Jacob Dawid
+Copyright (C) 2012-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/qtinfo/webinfo.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/qtinfo/webinfo.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2009 P. L. Lucas
-Copyright (C) 2012 Jacob Dawid
+Copyright (C) 2012-2013 Jacob Dawid
 
 This file is part of Octave.
 
@@ -106,10 +106,14 @@
 void
 webinfo::load_node (const QString& node_name)
 {
+  // no XREF in the tabs
+  QString tab_text = node_name;
+  tab_text.replace("XREF","");
+
   //Check if node has been already opened.
   for (int i = 0;i < _tab_bar->count (); i++)
     {
-      if (node_name == _tab_bar->tabText (i))
+      if (tab_text == _tab_bar->tabText (i))
         {
           _tab_bar->setCurrentIndex (i);
           return;
@@ -118,7 +122,7 @@
 
   QString text = _parser.search_node (node_name);
   int i = _parser.is_ref (node_name);
-  _text_browser = addNewTab (node_name);
+  _text_browser = addNewTab (tab_text);
   _text_browser->setHtml (_parser.node_text_to_html (text, i - 1, "anchor"));
 
   if (i != -1)
--- a/libgui/src/qtinfo/webinfo.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/qtinfo/webinfo.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2009 P. L. Lucas
-Copyright (C) 2012 Jacob Dawid
+Copyright (C) 2012-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/resource-manager.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/resource-manager.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/resource-manager.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/resource-manager.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/resource.qrc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/resource.qrc	Wed Oct 23 22:29:06 2013 -0400
@@ -22,6 +22,9 @@
         <file>icons/filesaveas.png</file>
         <file>icons/redled.png</file>
         <file>icons/arrow_right.png</file>
+        <file>icons/arrow_left.png</file>
+        <file>icons/arrow_up.png</file>
+        <file>icons/arrow_down.png</file>
         <file>icons/bookmark.png</file>
         <file>icons/question.png</file>
         <file>icons/star.png</file>
--- a/libgui/src/settings-dialog.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/settings-dialog.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
@@ -31,6 +31,7 @@
 #include <QDir>
 #include <QFileInfo>
 #include <QVector>
+#include <QHash>
 
 #ifdef HAVE_QSCINTILLA
 #include <QScrollArea>
@@ -50,7 +51,7 @@
 #include <Qsci/qscilexerdiff.h>
 #endif
 
-settings_dialog::settings_dialog (QWidget *p):
+settings_dialog::settings_dialog (QWidget *p, const QString& desired_tab):
   QDialog (p), ui (new Ui::settings_dialog)
 {
   ui->setupUi (this);
@@ -118,6 +119,7 @@
   ui->editor_tab_width_spinbox->setValue (settings->value ("editor/tab_width",2).toInt ());
   ui->editor_longWindowTitle->setChecked (settings->value ("editor/longWindowTitle",false).toBool ());
   ui->editor_restoreSession->setChecked (settings->value ("editor/restoreSession",true).toBool ());
+  ui->editor_create_new_file->setChecked (settings->value ("editor/create_new_file",false).toBool ());
   ui->terminal_fontName->setCurrentFont (QFont (settings->value ("terminal/fontName","Courier New").toString()) );
   ui->terminal_fontSize->setValue (settings->value ("terminal/fontSize",10).toInt ());
   ui->showFileSize->setChecked (settings->value ("filesdockwidget/showFileSize",false).toBool());
@@ -194,7 +196,18 @@
   delete lexer;
 #endif
 
-  ui->tabWidget->setCurrentIndex (settings->value("settings/last_tab",0).toInt ());
+  // which tab is the desired one?
+  if (desired_tab.isEmpty ())
+    ui->tabWidget->setCurrentIndex (settings->value("settings/last_tab",0).toInt ());
+  else
+    {
+      QHash <QString, QWidget*> tab_hash;
+      tab_hash["editor"] = ui->tab_editor;
+      tab_hash["editor_styles"] = ui->tab_editor_styles;
+      ui->tabWidget->setCurrentIndex (ui->tabWidget->indexOf (tab_hash.value (desired_tab)));
+    }
+
+
 }
 
 settings_dialog::~settings_dialog ()
@@ -303,9 +316,9 @@
   scroll_area_contents->setObjectName (QString (lexer->language ())+"_styles");
   scroll_area_contents->setLayout (style_grid);
   scroll_area->setWidget (scroll_area_contents);
-  ui->tabs_editor_styles->addTab (scroll_area,lexer->language ());
+  ui->tabs_editor_lexers->addTab (scroll_area,lexer->language ());
 
-  ui->tabs_editor_styles->setCurrentIndex (
+  ui->tabs_editor_lexers->setCurrentIndex (
           settings->value("settings/last_editor_styles_tab",0).toInt ());
 }
 #endif  
@@ -431,6 +444,7 @@
   settings->setValue ("editor/tab_width", ui->editor_tab_width_spinbox->value ());
   settings->setValue ("editor/longWindowTitle", ui->editor_longWindowTitle->isChecked());
   settings->setValue ("editor/restoreSession", ui->editor_restoreSession->isChecked ());
+  settings->setValue ("editor/create_new_file", ui->editor_create_new_file->isChecked ());
   settings->setValue ("terminal/fontSize", ui->terminal_fontSize->value());
   settings->setValue ("terminal/fontName", ui->terminal_fontName->currentFont().family());
   settings->setValue ("filesdockwidget/showFileSize", ui->showFileSize->isChecked ());
@@ -499,7 +513,7 @@
 void
 settings_dialog::write_lexer_settings (QsciLexer *lexer, QSettings *settings)
 {
-  QWidget *tab = ui->tabs_editor_styles->
+  QWidget *tab = ui->tabs_editor_lexers->
             findChild <QWidget *>(QString (lexer->language ())+"_styles");
   int styles[MaxLexerStyles];  // array for saving valid styles (enum is not continuous)
   int max_style = get_valid_lexer_styles (lexer, styles);
@@ -575,7 +589,7 @@
   lexer->writeSettings (*settings);
 
   settings->setValue (
-    "settings/last_editor_styles_tab",ui->tabs_editor_styles->currentIndex ());
+    "settings/last_editor_styles_tab",ui->tabs_editor_lexers->currentIndex ());
 }
 #endif
 
--- a/libgui/src/settings-dialog.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/settings-dialog.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
@@ -40,7 +40,7 @@
 class settings_dialog:public QDialog
 {
   Q_OBJECT public:
-  explicit settings_dialog (QWidget * parent);
+  explicit settings_dialog (QWidget * parent, const QString& desired_tab = QString ());
   ~settings_dialog ();
   void write_changed_settings ();
 
--- a/libgui/src/settings-dialog.ui	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/settings-dialog.ui	Wed Oct 23 22:29:06 2013 -0400
@@ -32,9 +32,9 @@
    <item>
     <widget class="QTabWidget" name="tabWidget">
      <property name="currentIndex">
-      <number>1</number>
+      <number>2</number>
      </property>
-     <widget class="QWidget" name="tab_4">
+     <widget class="QWidget" name="tab_general">
       <property name="enabled">
        <bool>true</bool>
       </property>
@@ -190,7 +190,7 @@
        </layout>
       </widget>
      </widget>
-     <widget class="QWidget" name="tab">
+     <widget class="QWidget" name="tab_editor">
       <attribute name="title">
        <string>Editor</string>
       </attribute>
@@ -203,7 +203,7 @@
          <item>
           <layout class="QGridLayout" name="editor_common_settings_grid">
            <property name="spacing">
-            <number>-1</number>
+            <number>6</number>
            </property>
            <item row="2" column="0">
             <widget class="QCheckBox" name="editor_ws_checkbox">
@@ -710,6 +710,19 @@
              </property>
             </widget>
            </item>
+           <item>
+            <widget class="QCheckBox" name="editor_create_new file">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="text">
+              <string>Create non existing files without prompting</string>
+             </property>
+            </widget>
+           </item>
           </layout>
          </item>
         </layout>
@@ -783,7 +796,7 @@
        </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="tab_6">
+     <widget class="QWidget" name="tab_editor_styles">
       <attribute name="title">
        <string>Editor Styles</string>
       </attribute>
@@ -826,7 +839,7 @@
          </widget>
         </item>
         <item>
-         <widget class="QTabWidget" name="tabs_editor_styles">
+         <widget class="QTabWidget" name="tabs_editor_lexers">
           <property name="maximumSize">
            <size>
             <width>676</width>
@@ -838,7 +851,7 @@
        </layout>
       </widget>
      </widget>
-     <widget class="QWidget" name="tab_5">
+     <widget class="QWidget" name="tab_terminal">
       <attribute name="title">
        <string>Terminal</string>
       </attribute>
@@ -1012,7 +1025,7 @@
        </layout>
       </widget>
      </widget>
-     <widget class="QWidget" name="tab_2">
+     <widget class="QWidget" name="tab_file_browser">
       <attribute name="title">
        <string>File Browser</string>
       </attribute>
@@ -1139,7 +1152,7 @@
        </layout>
       </widget>
      </widget>
-     <widget class="QWidget" name="tab_3">
+     <widget class="QWidget" name="tab_network">
       <attribute name="title">
        <string>Network</string>
       </attribute>
--- a/libgui/src/terminal-dock-widget.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/terminal-dock-widget.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/terminal-dock-widget.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/terminal-dock-widget.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/welcome-wizard.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/welcome-wizard.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/welcome-wizard.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/welcome-wizard.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/workspace-model.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/workspace-model.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/workspace-model.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/workspace-model.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/workspace-view.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/workspace-view.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libgui/src/workspace-view.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libgui/src/workspace-view.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
+Copyright (C) 2011-2013 Jacob Dawid
 
 This file is part of Octave.
 
--- a/libinterp/Makefile.am	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/Makefile.am	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 # Makefile for Octave's libinterp directory
 #
-# Copyright (C) 1993-2012 John W. Eaton
+# Copyright (C) 1993-2013 John W. Eaton
 #
 # This file is part of Octave.
 #
--- a/libinterp/builtins.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/builtins.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/Cell.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/Cell.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1999-2012 John W. Eaton
+Copyright (C) 1999-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/Cell.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/Cell.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1999-2012 John W. Eaton
+Copyright (C) 1999-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/__contourc__.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/__contourc__.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /* Contour lines for function evaluated on a grid.
 
-Copyright (C) 2007-2012 Kai Habel
+Copyright (C) 2007-2013 Kai Habel
 Copyright (C) 2004, 2007 Shai Ayal
 
 Adapted to an oct file from the stand alone contourl by Victro Munoz
--- a/libinterp/corefcn/__dispatch__.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/__dispatch__.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2001-2012 John W. Eaton and Paul Kienzle
+Copyright (C) 2001-2013 John W. Eaton and Paul Kienzle
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/__lin_interpn__.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/__lin_interpn__.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 Alexander Barth
+Copyright (C) 2007-2013 Alexander Barth
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/__pchip_deriv__.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/__pchip_deriv__.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 Kai Habel
+Copyright (C) 2002-2013 Kai Habel
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/libinterp/corefcn/__qp__.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/__qp__.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 Gabriele Pannocchia
+Copyright (C) 2000-2013 Gabriele Pannocchia
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/balance.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/balance.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/libinterp/corefcn/besselj.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/besselj.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1997-2012 John W. Eaton
+Copyright (C) 1997-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/betainc.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/betainc.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1997-2012 John W. Eaton
+Copyright (C) 1997-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/bitfcns.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/bitfcns.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/bsxfun.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/bsxfun.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 David Bateman
+Copyright (C) 2007-2013 David Bateman
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/c-file-ptr-stream.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/c-file-ptr-stream.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 John W. Eaton
+Copyright (C) 2000-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/c-file-ptr-stream.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/c-file-ptr-stream.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 John W. Eaton
+Copyright (C) 2000-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/cellfun.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/cellfun.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
-Copyright (C) 2005-2012 Mohamed Kamoun
-Copyright (C) 2006-2012 Bill Denney
+Copyright (C) 2005-2013 Mohamed Kamoun
+Copyright (C) 2006-2013 Bill Denney
 Copyright (C) 2009 Jaroslav Hajek
 Copyright (C) 2010 VZLU Prague
 
--- a/libinterp/corefcn/colloc.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/colloc.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/comment-list.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/comment-list.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 John W. Eaton
+Copyright (C) 2000-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -25,13 +25,10 @@
 #endif
 
 #include "lo-utils.h"
-#include "singleton-cleanup.h"
 
 #include "comment-list.h"
 #include "error.h"
 
-octave_comment_buffer *octave_comment_buffer::instance = 0;
-
 octave_comment_list *
 octave_comment_list::dup (void) const
 {
@@ -46,61 +43,3 @@
 
   return new_cl;
 }
-
-bool
-octave_comment_buffer::instance_ok (void)
-{
-  bool retval = true;
-
-  if (! instance)
-    {
-      instance = new octave_comment_buffer ();
-
-      if (instance)
-        singleton_cleanup_list::add (cleanup_instance);
-    }
-
-  if (! instance)
-    {
-      ::error ("unable to create comment buffer object");
-
-      retval = false;
-    }
-
-  return retval;
-}
-
-void
-octave_comment_buffer::append (const std::string& s,
-                               octave_comment_elt::comment_type t)
-{
-  if (instance_ok ())
-    instance->do_append (s, t);
-}
-
-octave_comment_list *
-octave_comment_buffer::get_comment (void)
-{
-  return (instance_ok ()) ? instance->do_get_comment () : 0;
-}
-
-void
-octave_comment_buffer::do_append (const std::string& s,
-                                  octave_comment_elt::comment_type t)
-{
-  comment_list->append (s, t);
-}
-
-octave_comment_list *
-octave_comment_buffer::do_get_comment (void)
-{
-  octave_comment_list *retval = 0;
-
-  if (comment_list && comment_list->length () > 0)
-    {
-      retval = comment_list;
-      comment_list = new octave_comment_list ();
-    }
-
-  return retval;
-}
--- a/libinterp/corefcn/comment-list.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/comment-list.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 John W. Eaton
+Copyright (C) 2000-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -98,35 +98,4 @@
   octave_comment_list *dup (void) const;
 };
 
-class
-octave_comment_buffer
-{
-public:
-
-  octave_comment_buffer (void)
-    : comment_list (new octave_comment_list ()) { }
-
-  ~octave_comment_buffer (void) { delete comment_list; }
-
-  static bool instance_ok (void);
-
-  static void append
-    (const std::string& s,
-     octave_comment_elt::comment_type t = octave_comment_elt::unknown);
-
-  static octave_comment_list *get_comment (void);
-
-private:
-
-  void do_append (const std::string& s, octave_comment_elt::comment_type t);
-
-  octave_comment_list *do_get_comment (void);
-
-  octave_comment_list *comment_list;
-
-  static octave_comment_buffer *instance;
-
-  static void cleanup_instance (void) { delete instance; instance = 0; }
-};
-
 #endif
--- a/libinterp/corefcn/conv2.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/conv2.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1999-2012 Andy Adler
+Copyright (C) 1999-2013 Andy Adler
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
@@ -330,6 +330,11 @@
     {
       if (args(2).is_string ())
         shape = args(2).string_value ();
+      else
+        {
+          error ("convn: SHAPE must be a string");
+          return retval;
+        }
     }
 
   if (shape == "full")
@@ -396,5 +401,162 @@
 }
 
 /*
- FIXME: Need tests for convn in addition to conv2.
+## Check for bug #39314
+%!test
+%! v = reshape ([1 2], [1 1 2]);
+%! assert (convn (v, v), reshape ([1 4 4], [1 1 3]));
+%! assert (convn (v, v, "same"), reshape ([4 4], [1 1 2]));
+%! assert (convn (v, v, "valid"), 4);
+
+## The following test may look weird since we are using the output
+## of convn to test itself. However, because calculations are done
+## differently based on the shape option, it will help to catch some
+## bugs. See also bug #39314
+%!shared a, b, c
+%! ## test 3D by 3D
+%! a = rand (10, 10, 10);
+%! b = rand (3, 3, 3);
+%! c = convn (a, b, "full");
+%!assert (convn (a, b, "same"), c(2:11,2:11,2:11));
+%!assert (convn (a, b, "valid"), c(3:10,3:10,3:10));
+%!
+%! ## test 3D by 2D
+%! a = rand (10, 10, 10);
+%! b = rand (3, 3);
+%! c = convn (a, b, "full");
+%!assert (convn (a, b, "same"), c(2:11,2:11,:));
+%!assert (convn (a, b, "valid"), c(3:10,3:10,:));
+%!
+%! ## test 2D by 3D
+%! a = rand (10, 10);
+%! b = rand (3, 3, 3);
+%! c = convn (a, b, "full");
+%!assert (convn (a, b, "same"), c(2:11,2:11,2));
+%!assert (convn (a, b, "valid"), c(3:10,3:10,3:2)); # a 7x7x0 matrix
+%!
+%! ## test multiple different number of dimensions, with odd
+%! ## and even numbers
+%! a = rand (10, 15, 7, 8, 10);
+%! b = rand (4, 3, 2, 3);
+%! c = convn (a, b, "full");
+%!assert (convn (a, b, "same"), c(3:12,2:16,2:8,2:9,:))
+%!assert (convn (a, b, "valid"), c(4:10,3:15,2:7,3:8,:));
+
+%!shared a, b, c
+%! a = reshape (floor (magic (16) /10), [4 8 4 2]);
+%! b = reshape (magic (6), [4 3 3]);
+%! c = zeros (7, 10, 6, 2);
+%! c(:,:,1,1) = [
+%!    875  1415  1215   741   288   264   635  1109   687   171
+%!    110   467  1551  1790  1891  1651  1165   900   659   568
+%!    883  1047  1475  1964  2181  2302  2117  1674   579   234
+%!    940  2330  3099  2573  2306  2207  2442  2918  2272  1004
+%!    161   500  1564  2066  2355  2270  2099  1621  1144   831
+%!    644   622   886  1121  1652  1967  1907  1668   529   228
+%!    160   752  1232   768   360   284   668  1132  1380   864];
+%! c(:,:,2,1) = [
+%!    150  1174  1903  1971  2030  1719  1467  1420  1220   472
+%!    986  2243  2603  2385  2308  2530  2971  3181  2266   768
+%!    914  2443  3750  3782  3976  3821  3723  3709  2599  1178
+%!   1922  3374  5198  5472  5563  5853  5794  5543  3578  1820
+%!   1060  2471  3846  3724  3682  3803  3812  3927  2876  1390
+%!    470  2078  3283  3225  2701  2265  2165  2261  2324  1124
+%!    700  1130  1486  1515  1830  2097  2081  2028  1009   348];
+%! c(:,:,3,1) = [
+%!   1350  2127  2461  2082  1694  1909  2230  2621  1681   683
+%!    877  2473  4362  4556  4543  4314  3879  3703  2863  1497
+%!   1934  4219  5874  6117  5966  6051  5984  5714  3891  1562
+%!   1927  5997  8573  8456  8517  8025  7957  8101  6121  2500
+%!   1558  3533  5595  6064  6453  6491  6275  5743  3794  1832
+%!   1950  2762  3455  3423  4019  4578  4807  4857  2304   907
+%!    525  1860  2731  2392  1872  1724  1961  2312  2315  1141];
+%! c(:,:,4,1) = [
+%!    150  1317  2230  2621  2996  2767  2472  2049  1514   583
+%!   1429  3056  3879  3703  3756  3964  4394  4570  3111  1250
+%!   1833  4037  5984  5714  5846  5788  5883  6129  4157  2011
+%!   3143  5469  7957  8101  8063  8475  8564  8439  5306  2538
+%!   2001  4514  6275  5743  5391  5389  5578  6110  4473  1953
+%!    817  3196  4807  4857  4229  3659  3477  3375  3208  1400
+%!    750  1365  1961  2312  2840  2993  2722  2344  1092   323];
+%! c(:,:,5,1) = [
+%!    475   734  1296  1352  1400  1595  1557  1517   960   490
+%!    751  1977  2831  2746  2607  2665  2733  2833  2186   912
+%!   1065  3142  4344  4150  3768  3734  3876  4086  3366  1327
+%!    976  3712  5530  5921  6158  5802  5481  5071  3821  1491
+%!   1397  2996  3971  4003  4088  4180  4199  4146  2649   985
+%!   1273  2121  2555  2247  2378  2624  2908  3229  1788   705
+%!    365  1108  1530  1652  1550  1407  1274  1127   889   264];
+%! c(:,:,6,1) = [
+%!      0   133   345   683   982  1058   960   623   310   100
+%!    437   806  1313  1332  1383  1391  1397  1370   864   495
+%!    928  1573  2201  1928  1864  1932  2183  2445  1557   855
+%!   1199  2083  2739  2573  2507  2656  2786  2928  1795   736
+%!    912  1997  2404  2028  1692  1591  1803  2159  1603   599
+%!    345  1092  1526  1666  1593  1437  1275  1116   863   253
+%!     50   235   510   811   998   894   615   318    77     0];
+%! c(:,:,1,2) = [
+%!    840  1350  1176   697   293   320   674  1153   717   180
+%!    142   490  1563  1824  1929  1604  1132   857   624   587
+%!    890  1084  1539  1979  2238  2333  2072  1610   509   202
+%!    966  2263  3034  2518  2250  2235  2512  2992  2305  1016
+%!    200   561  1607  2107  2361  2277  2030  1548  1102   818
+%!    652   631   922  1128  1670  1997  1895  1665   467   197
+%!    160   744  1192   692   292   256   708  1208  1448   900];
+%! c(:,:,2,2) = [
+%!    179  1199  1886  1987  1997  1716  1479  1383  1215   485
+%!    988  2213  2552  2358  2304  2615  3011  3210  2246   744
+%!    921  2483  3747  3768  3960  3835  3712  3698  2588  1183
+%!   1903  3416  5254  5490  5572  5826  5761  5505  3502  1814
+%!   1064  2507  3825  3666  3680  3748  3821  3958  2892  1395
+%!    495  2129  3277  3228  2566  2216  2154  2250  2390  1154
+%!    700  1105  1472  1524  1856  2113  2059  2019   975   325];
+%! c(:,:,3,2) = [
+%!   1302  2104  2439  2006  1723  1931  2280  2685  1678   690
+%!    877  2507  4408  4580  4523  4233  3852  3647  2850  1516
+%!   1949  4238  5895  6143  6018  6063  5930  5656  3847  1538
+%!   1953  5975  8547  8433  8407  8060  7955  8069  6170  2506
+%!   1621  3536  5624  6117  6459  6456  6180  5666  3735  1815
+%!   1904  2751  3429  3366  4122  4622  4840  4864  2242   882
+%!    517  1843  2674  2337  1777  1686  2005  2367  2385  1175];
+%! c(:,:,4,2) = [
+%!    198  1346  2280  2685  2980  2759  2396  1982  1497   576
+%!   1413  2994  3852  3647  3756  4035  4418  4595  3109  1231
+%!   1873  4025  5930  5656  5792  5772  5909  6152  4185  2035
+%!   3110  5510  7955  8069  8139  8456  8541  8439  5276  2541
+%!   1964  4462  6180  5666  5315  5409  5631  6178  4536  1998
+%!    869  3215  4840  4864  4121  3579  3420  3386  3271  1430
+%!    725  1361  2005  2367  2925  3006  2667  2297  1054   325];
+%! c(:,:,5,2) = [
+%!    462   754  1285  1359  1441  1605  1556  1488   938   488
+%!    729  1967  2788  2732  2608  2683  2744  2830  2195   912
+%!   1052  3139  4302  4101  3742  3730  3895  4103  3403  1335
+%!   1007  3725  5577  5964  6165  5754  5407  5006  3846  1507
+%!   1375  2969  3951  3990  4144  4183  4200  4150  2661   998
+%!   1258  2090  2495  2188  2403  2664  2954  3279  1814   723
+%!    388  1127  1551  1673  1525  1390  1253  1139   912   275];
+%! c(:,:,6,2) = [
+%!     19   147   384   716  1016  1059   927   570   276    80
+%!    441   791  1298  1320  1401  1396  1409  1367   865   500
+%!    932  1537  2155  1870  1860  1946  2221  2487  1584   874
+%!   1201  2067  2705  2538  2512  2687  2806  2971  1812   756
+%!    925  1976  2363  1971  1636  1600  1844  2239  1664   626
+%!    372  1133  1558  1687  1570  1401  1243  1122   883   264
+%!     60   270   556   857  1024   870   569   282    66     0];
+%!assert (convn(a, b, "full"), c);
+%!assert (convn(a, b, "same"), c(3:6,2:9,2:5,:));
+%!assert (convn(a, b, "valid"), c(4,3:8,3:4,:));
+
+## test correct class
+%!assert (class (convn (rand(5), rand(3))), "double");
+%!assert (class (convn (rand(5, "single"), rand(3))), "single");
+%!assert (class (convn (rand(5), rand(3, "single"))), "single");
+%!assert (class (convn (true (5), rand(3))), "double");
+%!assert (class (convn (true (5), rand(3, "single"))), "single");
+%!assert (class (convn (ones(5, "uint8"), rand(3))), "double");
+%!assert (class (convn (rand (3, "single"), ones(5, "uint8"))), "single");
+
+%!error convn ()
+%!error convn (1)
+%!error <SHAPE type not valid> convn (1,2, "NOT_A_SHAPE")
+%!error convn (rand (3), 1, 1)
 */
--- a/libinterp/corefcn/cutils.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/cutils.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1999-2012 John W. Eaton
+Copyright (C) 1999-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/cutils.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/cutils.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 John W. Eaton
+Copyright (C) 2012-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/daspk.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/daspk.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/dasrt.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/dasrt.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/dassl.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/dassl.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/data.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/data.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 Jaroslav Hajek
 Copyright (C) 2009-2010 VZLU Prague
 Copyright (C) 2012 Carlo de Falco
--- a/libinterp/corefcn/data.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/data.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 John W. Eaton
+Copyright (C) 2012-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/debug.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/debug.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2001-2012 Ben Sapp
+Copyright (C) 2001-2013 Ben Sapp
 Copyright (C) 2007-2009 John Swensen
 
 This file is part of Octave.
--- a/libinterp/corefcn/debug.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/debug.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2001-2012 Ben Sapp
+Copyright (C) 2001-2013 Ben Sapp
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/defaults.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/defaults.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/defaults.in.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/defaults.in.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // %NO_EDIT_WARNING%
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/defun-dld.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/defun-dld.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/defun-int.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/defun-int.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/defun.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/defun.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/defun.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/defun.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/det.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/det.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/dirfns.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/dirfns.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/dirfns.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/dirfns.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/display.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/display.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 John W. Eaton
+Copyright (C) 2009-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/display.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/display.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 John W. Eaton
+Copyright (C) 2009-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/dlmread.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/dlmread.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jonathan Stickel
+Copyright (C) 2008-2013 Jonathan Stickel
 Copyright (C) 2010 Jaroslav Hajek
 
 This file is part of Octave.
--- a/libinterp/corefcn/dot.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/dot.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 VZLU Prague
+Copyright (C) 2009-2013 VZLU Prague
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/dynamic-ld.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/dynamic-ld.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/dynamic-ld.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/dynamic-ld.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/eig.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/eig.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/error.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/error.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/error.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/error.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/event-queue.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/event-queue.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 John W. Eaton
+Copyright (C) 2012-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/fft.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/fft.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1997-2012 David Bateman
+Copyright (C) 1997-2013 David Bateman
 Copyright (C) 1996-1997 John W. Eaton
 
 This file is part of Octave.
--- a/libinterp/corefcn/fft2.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/fft2.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1997-2012 David Bateman
+Copyright (C) 1997-2013 David Bateman
 Copyright (C) 1996-1997 John W. Eaton
 
 This file is part of Octave.
--- a/libinterp/corefcn/fftn.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/fftn.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/file-io.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/file-io.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/file-io.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/file-io.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/filter.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/filter.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/find.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/find.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/gammainc.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/gammainc.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1997-2012 John W. Eaton
+Copyright (C) 1997-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/gcd.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/gcd.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 2010 Jaroslav Hajek, Jordi Gutiérrez Hermoso
 
 This file is part of Octave.
--- a/libinterp/corefcn/getgrent.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/getgrent.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/getpwent.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/getpwent.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/getrusage.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/getrusage.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/givens.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/givens.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/gl-render.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/gl-render.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Michael Goffioul
+Copyright (C) 2008-2013 Michael Goffioul
 
 This file is part of Octave.
 
@@ -1392,6 +1392,8 @@
 void
 opengl_renderer::draw_axes (const axes::properties& props)
 {
+  static double floatmax = std::numeric_limits<float>::max ();
+
   double x_min = props.get_x_min ();
   double x_max = props.get_x_max ();
   double y_min = props.get_y_min ();
@@ -1399,6 +1401,13 @@
   double z_min = props.get_z_min ();
   double z_max = props.get_z_max ();
 
+  if (x_max > floatmax || y_max > floatmax || z_max > floatmax
+      || x_min < -floatmax || y_min < -floatmax || z_min < -floatmax)
+  {
+    warning ("gl-render: data values greater than float capacity.  (1) Scale data, or (2) Use gnuplot");
+    return;
+  }
+
   setup_opengl_transformation (props);
 
   // draw axes object
@@ -2549,6 +2558,12 @@
   const ColumnVector p0 = xform.transform (x(0), y(0), 0);
   const ColumnVector p1 = xform.transform (x(1), y(1), 0);
 
+  if (xisnan (p0(0)) || xisnan (p0(1)) || xisnan (p1(0)) || xisnan (p1(1)))
+    {
+      warning ("gl-render: image x,y data too large to draw");
+      return;
+    }
+
   // image pixel size in screen pixel units
   float pix_dx, pix_dy;
   // image pixel size in normalized units
--- a/libinterp/corefcn/gl-render.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/gl-render.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Michael Goffioul
+Copyright (C) 2008-2013 Michael Goffioul
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/gl2ps-renderer.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/gl2ps-renderer.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Shai Ayal
+Copyright (C) 2009-2013 Shai Ayal
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/gl2ps-renderer.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/gl2ps-renderer.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Shai Ayal
+Copyright (C) 2009-2013 Shai Ayal
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/graphics.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/graphics.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 John W. Eaton
+Copyright (C) 2007-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/graphics.in.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/graphics.in.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 John W. Eaton
+Copyright (C) 2007-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/gripes.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/gripes.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/gripes.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/gripes.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/help.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/help.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/help.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/help.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/hess.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/hess.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/hex2num.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/hex2num.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 David Bateman
+Copyright (C) 2008-2013 David Bateman
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/input.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/input.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -147,7 +147,7 @@
 void
 octave_base_reader::do_input_echo (const std::string& input_string) const
 {
-  int do_echo = (LEXER && LEXER->reading_script_file) ?
+  int do_echo = reading_script_file () ?
     (Vecho_executing_commands & ECHO_SCRIPTS)
       : (Vecho_executing_commands & ECHO_CMD_LINE) && ! forced_interactive;
 
@@ -295,6 +295,24 @@
   return retval;
 }
 
+bool
+octave_base_reader::reading_fcn_file (void) const
+{
+  return lexer ? lexer->reading_fcn_file : false;
+}
+
+bool
+octave_base_reader::reading_classdef_file (void) const
+{
+  return lexer ? lexer->reading_classdef_file : false;
+}
+
+bool
+octave_base_reader::reading_script_file (void) const
+{
+  return lexer ? lexer->reading_script_file : false;
+}
+
 // Fix things up so that input can come from the standard input.  This
 // may need to become much more complicated, which is why it's in a
 // separate function.
@@ -553,19 +571,12 @@
   frame.protect_var (VPS1);
   VPS1 = prompt;
 
-  if (! (interactive || forced_interactive)
-      || (LEXER && (LEXER->reading_fcn_file
-                    || LEXER->reading_classdef_file
-                    || LEXER->reading_script_file
-                    || LEXER->input_from_eval_string ())))
+  if (! (interactive || forced_interactive))
     {
       frame.protect_var (forced_interactive);
       forced_interactive = true;
     }
 
-  // octave_parser constructor sets this for us.
-  frame.protect_var (LEXER);
-
   octave_parser curr_parser;
 
   while (Vdebugging)
--- a/libinterp/corefcn/input.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/input.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -34,6 +34,7 @@
 #include "pager.h"
 
 class octave_value;
+class octave_base_lexer;
 
 extern OCTINTERP_API FILE *get_input_from_stdin (void);
 
@@ -86,9 +87,13 @@
 
   friend class octave_input_reader;
 
-  octave_base_reader (void) : count (1), pflag (0) { }
+  octave_base_reader (octave_base_lexer *lxr)
+    : count (1), pflag (0), lexer (lxr)
+  { }
 
-  octave_base_reader (const octave_base_reader&) : count (1) { }
+  octave_base_reader (const octave_base_reader& x)
+    : count (1), pflag (x.pflag), lexer (x.lexer)
+  { }
 
   virtual ~octave_base_reader (void) { }
 
@@ -113,12 +118,26 @@
 
   std::string octave_gets (bool& eof);
 
+  virtual bool reading_fcn_file (void) const;
+
+  virtual bool reading_classdef_file (void) const;
+
+  virtual bool reading_script_file (void) const;
+
+  virtual bool input_from_terminal (void) const { return false; }
+
+  virtual bool input_from_file (void) const { return false; }
+
+  virtual bool input_from_eval_string (void) const { return false; }
+
 private:
 
   int count;
 
   int pflag;
 
+  octave_base_lexer *lexer;
+
   void do_input_echo (const std::string&) const;
 
   static const std::string in_src;
@@ -129,12 +148,16 @@
 {
 public:
 
-  octave_terminal_reader (void) : octave_base_reader () { }
+  octave_terminal_reader (octave_base_lexer *lxr = 0)
+    : octave_base_reader (lxr)
+  { }
 
   std::string get_input (bool& eof);
 
   std::string input_source (void) const { return in_src; }
 
+  bool input_from_terminal (void) const { return true; }
+
 private:
 
   static const std::string in_src;
@@ -145,13 +168,15 @@
 {
 public:
 
-  octave_file_reader (FILE *f_arg)
-    : octave_base_reader (), file (f_arg) { }
+  octave_file_reader (FILE *f_arg, octave_base_lexer *lxr = 0)
+    : octave_base_reader (lxr), file (f_arg) { }
 
   std::string get_input (bool& eof);
 
   std::string input_source (void) const { return in_src; }
 
+  bool input_from_file (void) const { return true; }
+
 private:
 
   FILE *file;
@@ -164,14 +189,17 @@
 {
 public:
 
-  octave_eval_string_reader (const std::string& str)
-    : octave_base_reader (), eval_string (str)
+  octave_eval_string_reader (const std::string& str,
+                             octave_base_lexer *lxr = 0)
+    : octave_base_reader (lxr), eval_string (str)
   { }
 
   std::string get_input (bool& eof);
 
   std::string input_source (void) const { return in_src; }
 
+  bool input_from_eval_string (void) const { return true; }
+
 private:
 
   std::string eval_string;
@@ -183,16 +211,16 @@
 octave_input_reader
 {
 public:
-  octave_input_reader (void)
-    : rep (new octave_terminal_reader ())
+  octave_input_reader (octave_base_lexer *lxr = 0)
+    : rep (new octave_terminal_reader (lxr))
   { }
 
-  octave_input_reader (FILE *file)
-    : rep (new octave_file_reader (file))
+  octave_input_reader (FILE *file, octave_base_lexer *lxr = 0)
+    : rep (new octave_file_reader (file, lxr))
   { }
 
-  octave_input_reader (const std::string& str)
-    : rep (new octave_eval_string_reader (str))
+  octave_input_reader (const std::string& str, octave_base_lexer *lxr = 0)
+    : rep (new octave_eval_string_reader (str, lxr))
   { }
 
   octave_input_reader (const octave_input_reader& ir)
@@ -238,6 +266,21 @@
     return rep->input_source ();
   }
 
+  bool input_from_terminal (void) const
+  {
+    return rep->input_from_terminal ();
+  }
+
+  bool input_from_file (void) const
+  {
+    return rep->input_from_file ();
+  }
+
+  bool input_from_eval_string (void) const
+  {
+    return rep->input_from_eval_string ();
+  }
+
 private:
 
   octave_base_reader *rep;
--- a/libinterp/corefcn/inv.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/inv.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/jit-ir.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/jit-ir.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 Max Brister
+Copyright (C) 2012-2013 Max Brister
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/jit-ir.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/jit-ir.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 Max Brister
+Copyright (C) 2012-2013 Max Brister
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/jit-typeinfo.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/jit-typeinfo.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 Max Brister
+Copyright (C) 2012-2013 Max Brister
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/jit-typeinfo.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/jit-typeinfo.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 Max Brister
+Copyright (C) 2012-2013 Max Brister
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/jit-util.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/jit-util.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 Max Brister
+Copyright (C) 2012-2013 Max Brister
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/jit-util.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/jit-util.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 Max Brister
+Copyright (C) 2012-2013 Max Brister
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/kron.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/kron.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/load-path.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/load-path.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2006-2012 John W. Eaton
+Copyright (C) 2006-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/load-path.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/load-path.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2006-2012 John W. Eaton
+Copyright (C) 2006-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/load-save.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/load-save.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -380,7 +380,8 @@
 
 #ifdef HAVE_HDF5
         case LS_HDF5:
-          name = read_hdf5_data (stream, orig_fname, global, tc, doc);
+          name = read_hdf5_data (stream, orig_fname, global, tc, doc,
+                                 argv, argv_idx, argc);
           break;
 #endif /* HAVE_HDF5 */
 
--- a/libinterp/corefcn/load-save.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/load-save.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/lookup.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/lookup.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 VZLU Prague a.s., Czech Republic
+Copyright (C) 2008-2013 VZLU Prague a.s., Czech Republic
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/ls-ascii-helper.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-ascii-helper.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Benjamin Lindner
+Copyright (C) 2009-2013 Benjamin Lindner
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/ls-ascii-helper.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-ascii-helper.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Benjamin Lindner
+Copyright (C) 2009-2013 Benjamin Lindner
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/ls-hdf5.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-hdf5.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -580,7 +580,8 @@
 // and error.
 std::string
 read_hdf5_data (std::istream& is, const std::string& /* filename */,
-                bool& global, octave_value& tc, std::string& doc)
+                bool& global, octave_value& tc, std::string& doc, 
+                const string_vector& argv, int argv_idx, int argc)
 {
   std::string retval;
 
@@ -599,6 +600,37 @@
 #endif
   H5Gget_num_objs (group_id, &num_obj);
   H5Gclose (group_id);
+
+  // For large datasets and out-of-core functionality,
+  // check if only parts of the data is requested
+  bool load_named_vars = argv_idx < argc;
+  while (load_named_vars && hs.current_item < static_cast<int> (num_obj))
+    {
+      std::vector<char> var_name;
+      bool found = false;
+      size_t len = 0;
+
+      len = H5Gget_objname_by_idx (hs.file_id, hs.current_item, 0, 0);
+      var_name.resize (len+1);
+      H5Gget_objname_by_idx( hs.file_id, hs.current_item, &var_name[0], len+1);
+
+      for (int i = argv_idx; i < argc; i++)
+        {
+          glob_match pattern (argv[i]);
+          if (pattern.match (std::string (&var_name[0])))
+            {
+              found = true;
+              break;
+            }
+        }
+
+      if (found)
+        break;
+
+      hs.current_item++;
+    }
+
+
   if (hs.current_item < static_cast<int> (num_obj))
     H5Giterate_retval = H5Giterate (hs.file_id, "/", &hs.current_item,
                                     hdf5_read_next_data, &d);
--- a/libinterp/corefcn/ls-hdf5.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-hdf5.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -180,7 +180,8 @@
 
 extern OCTINTERP_API std::string
 read_hdf5_data (std::istream& is,  const std::string& filename, bool& global,
-                octave_value& tc, std::string& doc);
+                octave_value& tc, std::string& doc,								
+                const string_vector& argv, int argv_idx, int argc);
 
 extern OCTINTERP_API bool
 save_hdf5_data (std::ostream& os, const octave_value& tc,
--- a/libinterp/corefcn/ls-mat-ascii.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-mat-ascii.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/ls-mat-ascii.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-mat-ascii.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/ls-mat4.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-mat4.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/ls-mat4.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-mat4.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/ls-mat5.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-mat5.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/ls-mat5.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-mat5.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/ls-oct-ascii.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-oct-ascii.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/ls-oct-ascii.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-oct-ascii.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/ls-oct-binary.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-oct-binary.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/ls-oct-binary.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-oct-binary.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/ls-utils.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-utils.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/ls-utils.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/ls-utils.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/lsode.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/lsode.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/lu.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/lu.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/luinc.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/luinc.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/mappers.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/mappers.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
@@ -1056,8 +1056,9 @@
 %! assert (gamma (x), v, sqrt (eps ("single")));
 
 %!test
-%! x = [-1, 0, 1, Inf];
-%! v = [Inf, Inf, 1, Inf];
+%! ## Test exceptional values
+%! x = [-Inf, -1, -0, 0, 1, Inf, NaN];
+%! v = [NaN, NaN, -Inf, Inf, 1, Inf, NaN];
 %! assert (gamma (x), v);
 %! assert (gamma (single (x)), single (v));
 
--- a/libinterp/corefcn/matherr.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/matherr.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1997-2012 John W. Eaton
+Copyright (C) 1997-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/matrix_type.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/matrix_type.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/max.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/max.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/md5sum.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/md5sum.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 David Bateman
+Copyright (C) 2007-2013 David Bateman
 
 
 This file is part of Octave.
--- a/libinterp/corefcn/mex.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/mex.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2006-2012 John W. Eaton
+Copyright (C) 2006-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/mex.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/mex.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2001-2012 Paul Kienzle
+Copyright (C) 2001-2013 Paul Kienzle
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/mexproto.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/mexproto.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2006-2012 Paul Kienzle
+Copyright (C) 2006-2013 Paul Kienzle
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/mgorth.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/mgorth.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Carlo de Falco
+Copyright (C) 2009-2013 Carlo de Falco
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/mxarray.in.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/mxarray.in.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // %NO_EDIT_WARNING%
 /*
 
-Copyright (C) 2001-2012 Paul Kienzle
+Copyright (C) 2001-2013 Paul Kienzle
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/nproc.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/nproc.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 Iain Murray
+Copyright (C) 2012-2013 Iain Murray
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-errno.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-errno.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // oct-errno.h.in
 /*
 
-Copyright (C) 2005-2012 John W. Eaton
+Copyright (C) 2005-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-errno.in.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-errno.in.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // DO NOT EDIT!  Generated automatically from oct-errno.in.cc by configure
 /*
 
-Copyright (C) 2005-2012 John W. Eaton
+Copyright (C) 2005-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-fstrm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-fstrm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-fstrm.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-fstrm.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-handle.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-handle.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 John W. Eaton
+Copyright (C) 2007-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-hdf5.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-hdf5.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 John W. Eaton
+Copyright (C) 2009-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-hist.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-hist.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-hist.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-hist.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-iostrm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-iostrm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-iostrm.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-iostrm.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-lvalue.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-lvalue.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-lvalue.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-lvalue.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-map.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-map.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/oct-map.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-map.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/oct-obj.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-obj.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/oct-obj.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-obj.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/oct-prcstrm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-prcstrm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-prcstrm.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-prcstrm.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-procbuf.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-procbuf.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-procbuf.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-procbuf.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-stdstrm.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-stdstrm.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-stream.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-stream.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-stream.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-stream.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-strstrm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-strstrm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct-strstrm.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct-strstrm.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/oct.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/oct.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/octave-link.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/octave-link.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,8 +1,8 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
-Copyright (C) 2011-2012 John P. Swensen
+Copyright (C) 2011-2013 Jacob Dawid
+Copyright (C) 2011-2013 John P. Swensen
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/octave-link.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/octave-link.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,8 +1,8 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2011-2012 Jacob Dawid
-Copyright (C) 2011-2012 John P. Swensen
+Copyright (C) 2011-2013 Jacob Dawid
+Copyright (C) 2011-2013 John P. Swensen
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/pager.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/pager.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/pager.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/pager.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/pinv.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/pinv.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/pr-output.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/pr-output.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/pr-output.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/pr-output.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/procstream.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/procstream.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/procstream.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/procstream.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/profiler.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/profiler.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 Daniel Kraft
+Copyright (C) 2012-2013 Daniel Kraft
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/profiler.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/profiler.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 Daniel Kraft
+Copyright (C) 2012-2013 Daniel Kraft
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/pt-jit.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/pt-jit.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 Max Brister
+Copyright (C) 2012-2013 Max Brister
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/pt-jit.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/pt-jit.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 Max Brister
+Copyright (C) 2012-2013 Max Brister
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/quad.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/quad.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/quadcc.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/quadcc.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2012 Pedro Gonnet
+Copyright (C) 2010-2013 Pedro Gonnet
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/qz.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/qz.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1998-2012 A. S. Hodel
+Copyright (C) 1998-2013 A. S. Hodel
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/rand.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/rand.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
@@ -1157,7 +1157,7 @@
 
       // Quick and dirty heuristic to decide if we allocate or not the
       // whole vector for tracking the truncated shuffle.
-      bool short_shuffle = m < n/5 && m < 1e5;
+      bool short_shuffle = m < n/5;
 
       if (! error_state)
         {
@@ -1166,7 +1166,20 @@
           double *rvec = r.fortran_vec ();
 
           octave_idx_type idx_len = short_shuffle ? m : n;
-          Array<octave_idx_type> idx (dim_vector (1, idx_len));
+          Array<octave_idx_type> idx;
+          try
+            {
+              idx = Array<octave_idx_type> (dim_vector (1, idx_len));
+            }
+          catch(std::bad_alloc)
+            {
+              // Looks like n is too big and short_shuffle is false.
+              // Let's try again, but this time with the alternative.
+              idx_len = m;
+              short_shuffle = true;
+              idx = Array<octave_idx_type> (dim_vector (1, idx_len));
+            }
+
           octave_idx_type *ivec = idx.fortran_vec ();
 
           for (octave_idx_type i = 0; i < idx_len; i++)
@@ -1231,6 +1244,9 @@
 %!assert (sort (randperm (20)), 1:20)
 %!assert (length (randperm (20,10)), 10)
 
+## Test biggish N (bug #39378)
+%!assert (length (randperm(30000^2, 100000)), 100000);
+
 %!test
 %! rand ("seed", 0);
 %! for i = 1:100
--- a/libinterp/corefcn/rcond.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/rcond.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 David Bateman
+Copyright (C) 2008-2013 David Bateman
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/regexp.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/regexp.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 Copyright (C) 2002-2005 Paul Kienzle
 
 This file is part of Octave.
--- a/libinterp/corefcn/schur.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/schur.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/sighandlers.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/sighandlers.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/sighandlers.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/sighandlers.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/siglist.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/siglist.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 John W. Eaton
+Copyright (C) 2000-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/siglist.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/siglist.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 John W. Eaton
+Copyright (C) 2000-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/sparse-xdiv.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/sparse-xdiv.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/corefcn/sparse-xdiv.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/sparse-xdiv.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/corefcn/sparse-xpow.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/sparse-xpow.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/corefcn/sparse-xpow.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/sparse-xpow.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/corefcn/sparse.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/sparse.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 Copyright (C) 2010 VZLU Prague
 
--- a/libinterp/corefcn/spparms.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/spparms.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/corefcn/sqrtm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/sqrtm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2001-2012 Ross Lippert and Paul Kienzle
+Copyright (C) 2001-2013 Ross Lippert and Paul Kienzle
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/str2double.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/str2double.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2012 Jaroslav Hajek
+Copyright (C) 2010-2013 Jaroslav Hajek
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/strfind.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/strfind.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Jaroslav Hajek
+Copyright (C) 2009-2013 Jaroslav Hajek
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/strfns.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/strfns.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/sub2ind.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/sub2ind.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 VZLU Prague
+Copyright (C) 2009-2013 VZLU Prague
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/svd.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/svd.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/syl.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/syl.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/symtab.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/symtab.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague, a.s.
 
 This file is part of Octave.
--- a/libinterp/corefcn/symtab.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/symtab.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/syscalls.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/syscalls.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/sysdep.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/sysdep.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/sysdep.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/sysdep.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/time.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/time.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/toplev.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/toplev.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -539,11 +539,6 @@
 
   // The big loop.
 
-  unwind_protect frame;
-
-  // octave_parser constructor sets this for us.
-  frame.protect_var (LEXER);
-
   octave_lexer *lxr = ((interactive || forced_interactive)
                        ? new octave_lexer ()
                        : new octave_lexer (stdin));
@@ -555,8 +550,6 @@
     {
       try
         {
-          unwind_protect inner_frame;
-
           reset_error_handler ();
 
           parser.reset ();
--- a/libinterp/corefcn/toplev.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/toplev.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/tril.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/tril.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/txt-eng-ft.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/txt-eng-ft.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Michael Goffioul
+Copyright (C) 2009-2013 Michael Goffioul
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/txt-eng-ft.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/txt-eng-ft.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Michael Goffioul
+Copyright (C) 2009-2013 Michael Goffioul
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/txt-eng.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/txt-eng.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Michael Goffioul
+Copyright (C) 2009-2013 Michael Goffioul
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/typecast.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/typecast.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 David Bateman
+Copyright (C) 2007-2013 David Bateman
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/urlwrite.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/urlwrite.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // urlwrite and urlread, a curl front-end for octave
 /*
 
-Copyright (C) 2006-2012 Alexander Barth
+Copyright (C) 2006-2013 Alexander Barth
 Copyright (C) 2009 David Bateman
 
 This file is part of Octave.
--- a/libinterp/corefcn/utils.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/utils.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/utils.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/utils.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/variables.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/variables.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/variables.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/variables.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/xdiv.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/xdiv.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2008 Jaroslav Hajek
 Copyright (C) 2009-2010 VZLU Prague
 
--- a/libinterp/corefcn/xdiv.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/xdiv.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2008 Jaroslav Hajek
 
 This file is part of Octave.
--- a/libinterp/corefcn/xgl2ps.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/xgl2ps.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 John W. Eaton
+Copyright (C) 2009-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/xnorm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/xnorm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 VZLU Prague, a.s.
+Copyright (C) 2008-2013 VZLU Prague, a.s.
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/xnorm.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/xnorm.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 VZLU Prague, a.s.
+Copyright (C) 2008-2013 VZLU Prague, a.s.
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/xpow.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/xpow.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/corefcn/xpow.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/xpow.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/corefcn/zfstream.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/zfstream.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 Ludwig Schwardt, Kevin Ruland
+Copyright (C) 2005-2013 Ludwig Schwardt, Kevin Ruland
 
 
 This file is part of Octave.
--- a/libinterp/corefcn/zfstream.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/corefcn/zfstream.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 Ludwig Schwardt, Kevin Ruland
+Copyright (C) 2005-2013 Ludwig Schwardt, Kevin Ruland
 
 This file is part of Octave.
 
--- a/libinterp/dldfcn/__delaunayn__.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/__delaunayn__.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 Kai Habel
+Copyright (C) 2000-2013 Kai Habel
 
 This file is part of Octave.
 
--- a/libinterp/dldfcn/__dsearchn__.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/__dsearchn__.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 David Bateman
+Copyright (C) 2007-2013 David Bateman
 
 This file is part of Octave.
 
--- a/libinterp/dldfcn/__eigs__.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/__eigs__.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 
 This file is part of Octave.
 
--- a/libinterp/dldfcn/__fltk_uigetfile__.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/__fltk_uigetfile__.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2012 Kai Habel
+Copyright (C) 2010-2013 Kai Habel
 
 This file is part of Octave.
 
--- a/libinterp/dldfcn/__glpk__.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/__glpk__.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 Nicolo' Giorgetti
+Copyright (C) 2005-2013 Nicolo' Giorgetti
 Copyright (C) 2013 Sébastien Villemot <sebastien@debian.org>
 
 This file is part of Octave.
--- a/libinterp/dldfcn/__init_fltk__.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/__init_fltk__.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 Shai Ayal
+Copyright (C) 2007-2013 Shai Ayal
 
 This file is part of Octave.
 
--- a/libinterp/dldfcn/__init_gnuplot__.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/__init_gnuplot__.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 John W. Eaton
+Copyright (C) 2007-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/dldfcn/__magick_read__.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/__magick_read__.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2013 Carnë Draug
-Copyright (C) 2002-2012 Andy Adler
+Copyright (C) 2002-2013 Andy Adler
 Copyright (C) 2008 Thomas L. Scofield
 Copyright (C) 2010 David Grundberg
 
@@ -652,8 +652,9 @@
     }
   catch (Magick::ErrorCoder& e)
     {
-      // FIXME: there's a WarningCoder and ErrorCoder. Shouldn't this
-      // exception cause an error?
+      // XXX: why is this error being caught as a warning? It has always
+      //      been like this (function was added the first time to the
+      //      Octave Forge image package with cset d756a7b6d533)
       warning ("Magick++ coder error: %s", e.what ());
     }
   catch (Magick::Exception& e)
@@ -1447,9 +1448,22 @@
     idx = 0;
 
   Magick::Image img;
-  img.subImage (idx);
-  img.subRange (1);
-  img.ping (filename);
+  img.subImage (idx); // start ping from this image (in case of multi-page)
+  img.subRange (1);   // ping only one of them
+  try
+    {
+      img.ping (filename);
+    }
+  catch (Magick::Warning& w)
+    {
+      warning ("Magick++ warning: %s", w.what ());
+    }
+  catch (Magick::Exception& e)
+    {
+      error ("Magick++ exception: %s", e.what ());
+      return retval;
+    }
+
   static const char *fields[] = {"rows", "columns", "format", 0};
   octave_scalar_map ping = octave_scalar_map (string_vector (fields));
   ping.setfield ("rows",    octave_value (img.rows ()));
--- a/libinterp/dldfcn/__voronoi__.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/__voronoi__.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 Kai Habel
+Copyright (C) 2000-2013 Kai Habel
 
 This file is part of Octave.
 
--- a/libinterp/dldfcn/amd.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/amd.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 David Bateman
+Copyright (C) 2008-2013 David Bateman
 
 This file is part of Octave.
 
--- a/libinterp/dldfcn/ccolamd.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/ccolamd.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 
 This file is part of Octave.
 
--- a/libinterp/dldfcn/chol.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/chol.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2008-2009 VZLU Prague
 
--- a/libinterp/dldfcn/colamd.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/colamd.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/dldfcn/convhulln.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/convhulln.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 Kai Habel
+Copyright (C) 2000-2013 Kai Habel
 
 This file is part of Octave.
 
--- a/libinterp/dldfcn/dmperm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/dmperm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 Copyright (C) 1998-2005 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/dldfcn/fftw.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/fftw.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2006-2012 David Bateman
+Copyright (C) 2006-2013 David Bateman
 
 This file is part of Octave.
 
--- a/libinterp/dldfcn/oct-qhull.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/oct-qhull.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 John W. Eaton
+Copyright (C) 2012-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/dldfcn/qr.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/qr.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2008-2009 VZLU Prague
 
--- a/libinterp/dldfcn/symbfact.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/symbfact.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 Copyright (C) 1998-2005 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/dldfcn/symrcm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/symrcm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 Michael Weitzel
+Copyright (C) 2007-2013 Michael Weitzel
 
 This file is part of Octave.
 
--- a/libinterp/dldfcn/tsearch.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/dldfcn/tsearch.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 Andreas Stahel
+Copyright (C) 2002-2013 Andreas Stahel
 
 This file is part of Octave.
 
--- a/libinterp/gendoc.pl	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/gendoc.pl	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 #! /usr/bin/perl -w
 #
-# Copyright (C) 2012 Rik Wehbring
+# Copyright (C) 2012-2013 Rik Wehbring
 #
 # This file is part of Octave.
 #
--- a/libinterp/genprops.awk	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/genprops.awk	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 John W. Eaton
+## Copyright (C) 2007-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ## 
--- a/libinterp/mk-errno-list	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/mk-errno-list	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 #! /bin/sh
 #
-# Copyright (C) 2005-2012 John W. Eaton
+# Copyright (C) 2005-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/libinterp/mk-pkg-add	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/mk-pkg-add	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 #! /bin/sh
 #
-# Copyright (C) 2005-2012 John W. Eaton
+# Copyright (C) 2005-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/libinterp/mkbuiltins	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/mkbuiltins	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 #! /bin/sh
 #
-# Copyright (C) 1996-2012 John W. Eaton
+# Copyright (C) 1996-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/libinterp/mkdefs	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/mkdefs	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 #! /bin/sh
 #
-# Copyright (C) 1996-2012 John W. Eaton
+# Copyright (C) 1996-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/libinterp/mkdocs	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/mkdocs	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 #! /bin/sh
 #
-# Copyright (C) 1999-2012 John W. Eaton
+# Copyright (C) 1999-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/libinterp/mkops	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/mkops	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 #! /bin/sh
 #
-# Copyright (C) 1997-2012 John W. Eaton
+# Copyright (C) 1997-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/libinterp/oct-conf.in.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/oct-conf.in.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // %NO_EDIT_WARNING%
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-base-diag.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-base-diag.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-base-diag.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-base-diag.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-base-int.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-base-int.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-base-int.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-base-int.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-base-mat.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-base-mat.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-base-mat.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-base-mat.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1998-2012 John W. Eaton
+Copyright (C) 1998-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-base-scalar.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-base-scalar.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-base-scalar.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-base-scalar.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-base-sparse.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-base-sparse.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 Copyright (C) 2010 VZLU Prague
 
--- a/libinterp/octave-value/ov-base-sparse.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-base-sparse.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-base.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-base.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-base.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-base.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-bool-mat.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-bool-mat.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-bool-mat.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-bool-mat.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-bool-sparse.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-bool-sparse.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-bool-sparse.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-bool-sparse.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-bool.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-bool.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-bool.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-bool.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-builtin.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-builtin.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-builtin.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-builtin.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-cell.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-cell.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1999-2012 John W. Eaton
+Copyright (C) 1999-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-cell.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-cell.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1999-2012 John W. Eaton
+Copyright (C) 1999-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-ch-mat.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-ch-mat.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-ch-mat.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-ch-mat.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-class.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-class.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 John W. Eaton
+Copyright (C) 2007-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-class.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-class.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 John W. Eaton
+Copyright (C) 2007-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-colon.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-colon.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-colon.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-colon.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-complex.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-complex.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-complex.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-complex.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-cs-list.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-cs-list.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-cs-list.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-cs-list.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-cx-diag.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-cx-diag.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-cx-diag.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-cx-diag.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-cx-mat.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-cx-mat.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-cx-mat.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-cx-mat.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-cx-sparse.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-cx-sparse.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-cx-sparse.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-cx-sparse.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-dld-fcn.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-dld-fcn.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-dld-fcn.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-dld-fcn.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-fcn-handle.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-fcn-handle.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague, a.s.
 Copyright (C) 2010 Jaroslav Hajek
 
--- a/libinterp/octave-value/ov-fcn-handle.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-fcn-handle.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-fcn-inline.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-fcn-inline.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-fcn-inline.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-fcn-inline.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-fcn.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-fcn.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-fcn.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-fcn.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-float.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-float.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-float.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-float.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-flt-complex.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-flt-complex.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-flt-complex.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-flt-complex.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-flt-cx-diag.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-flt-cx-diag.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-flt-cx-diag.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-flt-cx-diag.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-flt-cx-mat.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-flt-cx-mat.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-flt-cx-mat.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-flt-cx-mat.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-flt-re-diag.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-flt-re-diag.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-flt-re-diag.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-flt-re-diag.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-flt-re-mat.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-flt-re-mat.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-flt-re-mat.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-flt-re-mat.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-int-traits.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-int-traits.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-int16.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-int16.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-int16.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-int16.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-int32.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-int32.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-int32.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-int32.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-int64.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-int64.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-int64.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-int64.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-int8.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-int8.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-int8.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-int8.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-intx.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-intx.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-java.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-java.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007 Michael Goffioul
+Copyright (C) 2007, 2013 Michael Goffioul
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-java.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-java.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007 Michael Goffioul
+Copyright (C) 2007, 2013 Michael Goffioul
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-lazy-idx.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-lazy-idx.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2012 VZLU Prague
+Copyright (C) 2010-2013 VZLU Prague
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-lazy-idx.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-lazy-idx.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2012 VZLU Prague
+Copyright (C) 2010-2013 VZLU Prague
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-mex-fcn.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-mex-fcn.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-mex-fcn.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-mex-fcn.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-null-mat.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-null-mat.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-null-mat.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-null-mat.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-oncleanup.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-oncleanup.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2012 VZLU Prague
+Copyright (C) 2010-2013 VZLU Prague
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-oncleanup.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-oncleanup.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2012 VZLU Prague
+Copyright (C) 2010-2013 VZLU Prague
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-perm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-perm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-perm.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-perm.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-range.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-range.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-range.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-range.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-re-diag.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-re-diag.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-re-diag.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-re-diag.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-re-mat.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-re-mat.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-re-mat.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-re-mat.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-re-sparse.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-re-sparse.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-re-sparse.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-re-sparse.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-scalar.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-scalar.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-scalar.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-scalar.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-str-mat.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-str-mat.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-str-mat.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-str-mat.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov-struct.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-struct.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-struct.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-struct.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-type-conv.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-type-conv.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-typeinfo.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-typeinfo.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-typeinfo.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-typeinfo.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-uint16.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-uint16.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-uint16.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-uint16.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-uint32.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-uint32.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-uint32.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-uint32.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-uint64.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-uint64.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-uint64.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-uint64.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-uint8.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-uint8.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-uint8.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-uint8.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-usr-fcn.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-usr-fcn.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov-usr-fcn.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov-usr-fcn.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave-value/ov.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave-value/ov.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave-value/ov.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/libinterp/octave.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/octave.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/octave.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-b-b.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-b-b.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-b-bm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-b-bm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-b-sbm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-b-sbm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-bm-b.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-bm-b.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2001-2012 Cai Jianming
+Copyright (C) 2001-2013 Cai Jianming
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-bm-bm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-bm-bm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-bm-sbm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-bm-sbm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-cdm-cdm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cdm-cdm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cdm-cm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cdm-cm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cdm-cs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cdm-cs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cdm-dm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cdm-dm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cdm-m.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cdm-m.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cdm-s.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cdm-s.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cell.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cell.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-chm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-chm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-class.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-class.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 John W. Eaton
+Copyright (C) 2007-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cm-cdm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cm-cdm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cm-cm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cm-cm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cm-cs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cm-cs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cm-dm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cm-dm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cm-m.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cm-m.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cm-pm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cm-pm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cm-s.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cm-s.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cm-scm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cm-scm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-cm-sm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cm-sm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-cs-cm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cs-cm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cs-cs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cs-cs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cs-m.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cs-m.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cs-s.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cs-s.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-cs-scm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cs-scm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-cs-sm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-cs-sm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-dm-cdm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-dm-cdm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-dm-cm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-dm-cm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-dm-cs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-dm-cs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-dm-dm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-dm-dm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-dm-m.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-dm-m.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-dm-s.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-dm-s.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-dm-scm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-dm-scm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Jason Riedy, Jaroslav Hajek
+Copyright (C) 2009-2013 Jason Riedy, Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-dm-sm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-dm-sm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Jason Riedy, Jaroslav Hajek
+Copyright (C) 2009-2013 Jason Riedy, Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-dm-template.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-dm-template.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-dms-template.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-dms-template.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-double-conv.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-double-conv.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcdm-fcdm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcdm-fcdm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcdm-fcm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcdm-fcm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcdm-fcs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcdm-fcs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcdm-fdm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcdm-fdm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcdm-fm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcdm-fm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcdm-fs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcdm-fs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcm-fcdm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcm-fcdm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcm-fcm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcm-fcm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcm-fcs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcm-fcs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcm-fdm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcm-fdm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcm-fm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcm-fm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcm-fs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcm-fs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcm-pm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcm-pm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcn.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcn.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2012 VZLU Prague
+Copyright (C) 2010-2013 VZLU Prague
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcs-fcm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcs-fcm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcs-fcs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcs-fcs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcs-fm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcs-fm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fcs-fs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fcs-fs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fdm-fcdm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fdm-fcdm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fdm-fcm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fdm-fcm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fdm-fcs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fdm-fcs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fdm-fdm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fdm-fdm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fdm-fm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fdm-fm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fdm-fs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fdm-fs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-float-conv.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-float-conv.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fm-fcdm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fm-fcdm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fm-fcm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fm-fcm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fm-fcs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fm-fcs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fm-fdm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fm-fdm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fm-fm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fm-fm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fm-fs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fm-fs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fm-pm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fm-pm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fs-fcm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fs-fcm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fs-fcs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fs-fcs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fs-fm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fs-fm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-fs-fs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-fs-fs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-i16-i16.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-i16-i16.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-i32-i32.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-i32-i32.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-i64-i64.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-i64-i64.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-i8-i8.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-i8-i8.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-int-concat.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-int-concat.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-int-conv.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-int-conv.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-int.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-int.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-m-cdm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-m-cdm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-m-cm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-m-cm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-m-cs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-m-cs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-m-dm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-m-dm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-m-m.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-m-m.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-m-pm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-m-pm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-m-s.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-m-s.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-m-scm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-m-scm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-m-sm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-m-sm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-pm-cm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-pm-cm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-pm-fcm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-pm-fcm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-pm-fm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-pm-fm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-pm-m.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-pm-m.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-pm-pm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-pm-pm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-pm-scm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-pm-scm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Jason Riedy
+Copyright (C) 2009-2013 Jason Riedy
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-pm-sm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-pm-sm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Jason Riedy
+Copyright (C) 2009-2013 Jason Riedy
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-pm-template.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-pm-template.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-range.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-range.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-s-cm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-s-cm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-s-cs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-s-cs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-s-m.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-s-m.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-s-s.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-s-s.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-s-scm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-s-scm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-s-sm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-s-sm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-sbm-b.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-sbm-b.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-sbm-bm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-sbm-bm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-sbm-sbm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-sbm-sbm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-scm-cm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-scm-cm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-scm-cs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-scm-cs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-scm-m.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-scm-m.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-scm-s.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-scm-s.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-scm-scm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-scm-scm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-scm-sm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-scm-sm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-sm-cm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-sm-cm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-sm-cs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-sm-cs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-sm-m.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-sm-m.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-sm-s.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-sm-s.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-sm-scm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-sm-scm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-sm-sm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-sm-sm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/libinterp/operators/op-str-m.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-str-m.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-str-s.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-str-s.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-str-str.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-str-str.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-struct.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-struct.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-ui16-ui16.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-ui16-ui16.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-ui32-ui32.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-ui32-ui32.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-ui64-ui64.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-ui64-ui64.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/op-ui8-ui8.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/op-ui8-ui8.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/operators/ops.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/operators/ops.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague, a.s.
 
 This file is part of Octave.
--- a/libinterp/parse-tree/lex.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/lex.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -501,8 +501,50 @@
     bool eof;
   };
 
+  // Collect comment text.
+
+  class
+  comment_buffer
+  {
+  public:
+
+    comment_buffer (void) : comment_list (0) { }
+
+    ~comment_buffer (void) { delete comment_list; }
+
+    void append (const std::string& s, octave_comment_elt::comment_type t)
+    {
+      if (! comment_list)
+        comment_list = new octave_comment_list ();
+
+      comment_list->append (s, t);
+    }
+
+    // Caller is expected to delete the returned value.
+
+    octave_comment_list *get_comment (void)
+    {
+      octave_comment_list *retval = comment_list;
+
+      comment_list = 0;
+
+      return retval;
+    }
+
+    void reset (void)
+    {
+      delete comment_list;
+
+      comment_list = 0;
+    }
+
+  private:
+
+    octave_comment_list *comment_list;
+  };
+
   octave_base_lexer (void)
-    : lexical_feedback (), scanner (0), input_buf ()
+    : lexical_feedback (), scanner (0), input_buf (), comment_buf ()
   {
     init ();
   }
@@ -553,6 +595,8 @@
 
   void finish_comment (octave_comment_elt::comment_type typ);
 
+  octave_comment_list *get_comment (void) { return comment_buf.get_comment (); }
+
   int handle_close_bracket (int bracket_type);
 
   bool looks_like_command_arg (void);
@@ -591,6 +635,9 @@
   // Object that reads and buffers input.
   input_buffer input_buf;
 
+  // Object that collects comment text.
+  comment_buffer comment_buf;
+
   virtual void increment_promptflag (void) = 0;
 
   virtual void decrement_promptflag (void) = 0;
@@ -643,9 +690,6 @@
 
   int show_token (int tok);
 
-  // For unwind protect.
-  static void cleanup (octave_base_lexer *lexer) { delete lexer; }
-
 protected:
 
   std::stack<int> start_state_stack;
@@ -663,15 +707,15 @@
 public:
 
   octave_lexer (void)
-    : octave_base_lexer (), input_reader ()
+    : octave_base_lexer (), input_reader (this)
   { }
 
   octave_lexer (FILE *file)
-    : octave_base_lexer (), input_reader (file)
+    : octave_base_lexer (), input_reader (file, this)
   { }
 
   octave_lexer (const std::string& eval_string)
-    : octave_base_lexer (), input_reader (eval_string)
+    : octave_base_lexer (), input_reader (eval_string, this)
   { }
 
   void reset (void)
@@ -696,17 +740,17 @@
 
   bool input_from_terminal (void) const
   {
-    return input_source () == "terminal";
+    return input_reader.input_from_terminal ();
   }
 
   bool input_from_file (void) const
   {
-    return input_source () == "file";
+    return input_reader.input_from_file ();
   }
 
   bool input_from_eval_string (void) const
   {
-    return input_source () == "eval_string";
+    return input_reader.input_from_eval_string ();
   }
 
   int fill_flex_buffer (char *buf, unsigned int max_size);
--- a/libinterp/parse-tree/lex.ll	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/lex.ll	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -649,6 +649,18 @@
   }
 
 %{
+// End of a block of full-line comments.
+%}
+
+<LINE_COMMENT_START><<EOF>> {
+    curr_lexer->lexer_debug ("<LINE_COMMENT_START><<EOF>>");
+
+    curr_lexer->finish_comment (octave_comment_elt::full_line);
+
+    curr_lexer->pop_start_state ();
+  }
+
+%{
 // Double-quoted character strings.
 %}
 
@@ -2039,6 +2051,8 @@
     yyrestart (stdin, scanner);
 
   lexical_feedback::reset ();
+
+  comment_buf.reset ();
 }
 
 void
@@ -2539,7 +2553,7 @@
   if (copyright)
     typ = octave_comment_elt::copyright;
 
-  octave_comment_buffer::append (comment_text, typ);
+  comment_buf.append (comment_text, typ);
 
   comment_text = "";
 
--- a/libinterp/parse-tree/oct-parse.in.yy	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/oct-parse.in.yy	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2009 David Grundberg
 Copyright (C) 2009-2010 VZLU Prague
 
@@ -107,16 +107,6 @@
 
 static void yyerror (octave_base_parser& parser, const char *s);
 
-// Finish building a statement.
-template <class T>
-static tree_statement *
-make_statement (T *arg)
-{
-  octave_comment_list *comment = octave_comment_buffer::get_comment ();
-
-  return new tree_statement (arg, comment);
-}
-
 #define ABORT_PARSE \
   do \
     { \
@@ -136,6 +126,11 @@
 
 // Bison declarations.
 
+// The grammar currently has 14 shift/reduce conflicts.  Ensure that
+// we notice if that number changes.
+
+%expect 14
+
 // Don't add spaces around the = here; it causes some versions of
 // bison to fail to properly recognize the directive.
 
@@ -418,11 +413,11 @@
                 ;
 
 statement       : expression
-                  { $$ = make_statement ($1); }
+                  { $$ = parser.make_statement ($1); }
                 | command
-                  { $$ = make_statement ($1); }
+                  { $$ = parser.make_statement ($1); }
                 | word_list_cmd
-                  { $$ = make_statement ($1); }
+                  { $$ = parser.make_statement ($1); }
                 ;
 
 // =================
@@ -1687,7 +1682,7 @@
                 ;
 
 stash_comment   : // empty
-                  { $$ = octave_comment_buffer::get_comment (); }
+                  { $$ = lexer.get_comment (); }
                 ;
 
 parse_error     : LEXICAL_ERROR
@@ -1762,11 +1757,6 @@
   delete &lexer;
 }
 
-void octave_base_parser::init (void)
-{
-  LEXER = &lexer;
-}
-
 void
 octave_base_parser::reset (void)
 {
@@ -2447,7 +2437,7 @@
 
   if (end_token_ok (end_tok, token::unwind_protect_end))
     {
-      octave_comment_list *tc = octave_comment_buffer::get_comment ();
+      octave_comment_list *tc = lexer.comment_buf.get_comment ();
 
       int l = unwind_tok->line ();
       int c = unwind_tok->column ();
@@ -2479,7 +2469,7 @@
 
   if (end_token_ok (end_tok, token::try_catch_end))
     {
-      octave_comment_list *tc = octave_comment_buffer::get_comment ();
+      octave_comment_list *tc = lexer.comment_buf.get_comment ();
 
       int l = try_tok->line ();
       int c = try_tok->column ();
@@ -2499,6 +2489,9 @@
                   id = dynamic_cast<tree_identifier *> (expr);
 
                   cleanup_stmts->pop_front ();
+
+                  stmt->set_expression (0);
+                  delete stmt;
                 }
             }
         }
@@ -2530,7 +2523,7 @@
 
   if (end_token_ok (end_tok, token::while_end))
     {
-      octave_comment_list *tc = octave_comment_buffer::get_comment ();
+      octave_comment_list *tc = lexer.comment_buf.get_comment ();
 
       lexer.looping--;
 
@@ -2558,7 +2551,7 @@
 {
   maybe_warn_assign_as_truth_value (expr);
 
-  octave_comment_list *tc = octave_comment_buffer::get_comment ();
+  octave_comment_list *tc = lexer.comment_buf.get_comment ();
 
   lexer.looping--;
 
@@ -2585,7 +2578,7 @@
 
   if (end_token_ok (end_tok, parfor ? token::parfor_end : token::for_end))
     {
-      octave_comment_list *tc = octave_comment_buffer::get_comment ();
+      octave_comment_list *tc = lexer.comment_buf.get_comment ();
 
       lexer.looping--;
 
@@ -2679,7 +2672,7 @@
 
   if (end_token_ok (end_tok, token::if_end))
     {
-      octave_comment_list *tc = octave_comment_buffer::get_comment ();
+      octave_comment_list *tc = lexer.comment_buf.get_comment ();
 
       int l = if_tok->line ();
       int c = if_tok->column ();
@@ -2732,7 +2725,7 @@
 
   if (end_token_ok (end_tok, token::switch_end))
     {
-      octave_comment_list *tc = octave_comment_buffer::get_comment ();
+      octave_comment_list *tc = lexer.comment_buf.get_comment ();
 
       int l = switch_tok->line ();
       int c = switch_tok->column ();
@@ -2916,7 +2909,7 @@
 
   if (fcn)
     {
-      octave_comment_list *tc = octave_comment_buffer::get_comment ();
+      octave_comment_list *tc = lexer.comment_buf.get_comment ();
 
       fcn->stash_trailing_comment (tc);
       fcn->stash_fcn_end_location (end_fcn_stmt->line (),
@@ -3187,7 +3180,7 @@
     bison_error ("invalid classdef definition, the class name must match the file name");
   else if (end_token_ok (end_tok, token::classdef_end))
     {
-      octave_comment_list *tc = octave_comment_buffer::get_comment ();
+      octave_comment_list *tc = lexer.comment_buf.get_comment ();
 
       int l = tok_val->line ();
       int c = tok_val->column ();
@@ -3218,7 +3211,7 @@
 
   if (end_token_ok (end_tok, token::properties_end))
     {
-      octave_comment_list *tc = octave_comment_buffer::get_comment ();
+      octave_comment_list *tc = lexer.comment_buf.get_comment ();
 
       int l = tok_val->line ();
       int c = tok_val->column ();
@@ -3245,7 +3238,7 @@
 
   if (end_token_ok (end_tok, token::methods_end))
     {
-      octave_comment_list *tc = octave_comment_buffer::get_comment ();
+      octave_comment_list *tc = lexer.comment_buf.get_comment ();
 
       int l = tok_val->line ();
       int c = tok_val->column ();
@@ -3272,7 +3265,7 @@
 
   if (end_token_ok (end_tok, token::events_end))
     {
-      octave_comment_list *tc = octave_comment_buffer::get_comment ();
+      octave_comment_list *tc = lexer.comment_buf.get_comment ();
 
       int l = tok_val->line ();
       int c = tok_val->column ();
@@ -3299,7 +3292,7 @@
 
   if (end_token_ok (end_tok, token::enumeration_end))
     {
-      octave_comment_list *tc = octave_comment_buffer::get_comment ();
+      octave_comment_list *tc = lexer.comment_buf.get_comment ();
 
       int l = tok_val->line ();
       int c = tok_val->column ();
@@ -3649,6 +3642,16 @@
   return list;
 }
 
+// Finish building a statement.
+template <class T>
+tree_statement *
+octave_base_parser::make_statement (T *arg)
+{
+  octave_comment_list *comment = lexer.get_comment ();
+
+  return new tree_statement (arg, comment);
+}
+
 tree_statement_list *
 octave_base_parser::make_statement_list (tree_statement *stmt)
 {
@@ -3729,8 +3732,6 @@
 octave_push_parser::init (void)
 {
   parser_state = yypstate_new ();
-
-  octave_base_parser::init ();
 }
 
 // Parse input from INPUT.  Pass TRUE for EOF if the end of INPUT should
@@ -3770,15 +3771,6 @@
 static void
 safe_fclose (FILE *f)
 {
-  // FIXME -- comments at the end of an input file are
-  // discarded (otherwise, they would be appended to the next
-  // statement, possibly from the command line or another file, which
-  // can be quite confusing).
-
-  octave_comment_list *tc = octave_comment_buffer::get_comment ();
-
-  delete tc;
-
   if (f)
     fclose (static_cast<FILE *> (f));
 }
@@ -4574,11 +4566,6 @@
 {
   octave_value_list retval;
 
-  unwind_protect frame;
-
-  // octave_base_parser constructor sets this for us.
-  frame.protect_var (LEXER);
-
   octave_parser parser (eval_str);
 
   do
@@ -4587,9 +4574,6 @@
 
       parse_status = parser.run ();
 
-      // Unmark forced variables.
-      frame.run (1);
-
       if (parse_status == 0)
         {
           if (parser.stmt_list)
--- a/libinterp/parse-tree/octave.gperf	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/octave.gperf	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 %{
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/parse.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/parse.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -152,14 +152,10 @@
       curr_class_name (), curr_package_name (), function_scopes (),
       primary_fcn_ptr (0), subfunction_names (), classdef_object (0),
       stmt_list (0), lexer (lxr)
-  {
-    init ();
-  }
+  { }
 
   ~octave_base_parser (void);
 
-  void init (void);
-
   void reset (void);
 
   // Error mesages for mismatched end tokens.
@@ -382,6 +378,10 @@
   tree_statement_list *
   set_stmt_print_flag (tree_statement_list *, char, bool);
 
+  // Finish building a statement.
+  template <class T>
+  tree_statement *make_statement (T *arg);
+
   // Create a statement list.
   tree_statement_list *make_statement_list (tree_statement *stmt);
 
--- a/libinterp/parse-tree/pt-all.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-all.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-arg-list.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-arg-list.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-arg-list.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-arg-list.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-assign.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-assign.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-assign.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-assign.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-binop.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-binop.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-binop.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-binop.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-bp.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-bp.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2001-2012 Ben Sapp
+Copyright (C) 2001-2013 Ben Sapp
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-bp.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-bp.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2001-2012 Ben Sapp
+Copyright (C) 2001-2013 Ben Sapp
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-cbinop.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-cbinop.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-cbinop.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-cbinop.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-cell.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-cell.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1999-2012 John W. Eaton
+Copyright (C) 1999-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-cell.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-cell.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1999-2012 John W. Eaton
+Copyright (C) 1999-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-check.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-check.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-check.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-check.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-cmd.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-cmd.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-cmd.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-cmd.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-colon.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-colon.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-colon.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-colon.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-const.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-const.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-const.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-const.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-decl.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-decl.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-decl.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-decl.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-eval.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-eval.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 John W. Eaton
+Copyright (C) 2009-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-eval.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-eval.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 John W. Eaton
+Copyright (C) 2009-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-except.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-except.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-except.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-except.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-exp.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-exp.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-exp.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-exp.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-fcn-handle.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-fcn-handle.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-fcn-handle.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-fcn-handle.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-id.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-id.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-id.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-id.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-idx.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-idx.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-idx.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-idx.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-jump.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-jump.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-jump.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-jump.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-loop.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-loop.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-loop.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-loop.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-mat.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-mat.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -330,7 +330,8 @@
   if (!any_class && val.is_object ())
     any_class = true;
 
-  all_1x1 = all_1x1 && val.numel () == 1;
+  // Special treatment of sparse matrices to avoid out-of-memory error
+  all_1x1 = all_1x1 && ! val.is_sparse_type () && val.numel () == 1;
 }
 
 void
--- a/libinterp/parse-tree/pt-mat.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-mat.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-misc.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-misc.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-misc.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-misc.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-pr-code.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-pr-code.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-pr-code.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-pr-code.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-select.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-select.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-select.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-select.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-stmt.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-stmt.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-stmt.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-stmt.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-unop.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-unop.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-unop.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-unop.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt-walk.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt-walk.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/pt.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/pt.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/token.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/token.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/parse-tree/token.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/parse-tree/token.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/template-inst/Array-jit.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/template-inst/Array-jit.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 Max Brister
+Copyright (C) 2012-2013 Max Brister
 
 This file is part of Octave.
 
--- a/libinterp/template-inst/Array-os.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/template-inst/Array-os.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/template-inst/Array-sym.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/template-inst/Array-sym.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/template-inst/Array-tc.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/template-inst/Array-tc.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/libinterp/version.in.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/libinterp/version.in.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // %NO_EDIT_WARNING%
 /*
 
-Copyright (C) 1992-2012 John W. Eaton
+Copyright (C) 1992-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -32,6 +32,8 @@
 
 #define OCTAVE_COPYRIGHT %OCTAVE_COPYRIGHT%
 
+#include <string>
+
 extern std::string octave_www_statement (bool html = false);
 
 extern std::string octave_contrib_statement (bool html = false);
--- a/liboctave/Makefile.am	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/Makefile.am	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 # Makefile for Octave's liboctave directory
 #
-# Copyright (C) 1993-2012 John W. Eaton
+# Copyright (C) 1993-2013 John W. Eaton
 #
 # This file is part of Octave.
 #
--- a/liboctave/array/Array-C.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array-C.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/Array-b.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array-b.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/Array-ch.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array-ch.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/Array-d.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array-d.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/Array-f.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array-f.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/Array-fC.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array-fC.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/Array-i.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array-i.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/Array-idx-vec.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array-idx-vec.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/Array-s.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array-s.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/Array-str.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array-str.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/Array-util.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array-util.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/Array-util.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array-util.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 John W. Eaton
+Copyright (C) 2000-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/Array-voidp.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array-voidp.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/Array.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Template array classes
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2009 VZLU Prague
 
--- a/liboctave/array/Array.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Template array classes
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2010 VZLU Prague
 
--- a/liboctave/array/Array2.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array2.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Template array classes
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/Array3.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Array3.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Template array classes
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/ArrayN.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/ArrayN.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Template array classes
 /*
 
-Copyright (C) 2000-2012 John W. Eaton
+Copyright (C) 2000-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/CColVector.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/CColVector.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // ColumnVector manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
@@ -162,7 +162,7 @@
       return *this;
     }
 
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
 
   if (r2 >= r1)
     {
@@ -186,7 +186,7 @@
       return *this;
     }
 
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
 
   if (r2 >= r1)
     {
@@ -250,7 +250,7 @@
 ComplexColumnVector
 ComplexColumnVector::extract (octave_idx_type r1, octave_idx_type r2) const
 {
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
 
   octave_idx_type new_r = r2 - r1 + 1;
 
--- a/liboctave/array/CColVector.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/CColVector.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/CDiagMatrix.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/CDiagMatrix.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // DiagMatrix manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
@@ -250,8 +250,8 @@
 ComplexMatrix
 ComplexDiagMatrix::extract (octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2) const
 {
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   octave_idx_type new_r = r2 - r1 + 1;
   octave_idx_type new_c = c2 - c1 + 1;
--- a/liboctave/array/CDiagMatrix.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/CDiagMatrix.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/CMatrix.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/CMatrix.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Matrix manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2009 VZLU Prague, a.s.
 
@@ -579,8 +579,8 @@
       return *this;
     }
 
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   if (r2 >= r1 && c2 >= c1)
     {
@@ -607,8 +607,8 @@
       return *this;
     }
 
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   if (r2 >= r1 && c2 >=c1)
     {
@@ -929,8 +929,8 @@
 ComplexMatrix
 ComplexMatrix::extract (octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2) const
 {
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   return index (idx_vector (r1, r2+1), idx_vector (c1, c2+1));
 }
--- a/liboctave/array/CMatrix.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/CMatrix.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/CNDArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/CNDArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // N-D Array  manipulations.
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague, a.s.
 
 This file is part of Octave.
--- a/liboctave/array/CNDArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/CNDArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/CRowVector.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/CRowVector.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // RowVector manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -160,7 +160,7 @@
       return *this;
     }
 
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   if (c2 >= c1)
     {
@@ -184,7 +184,7 @@
       return *this;
     }
 
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   if (c2 >= c1)
     {
@@ -242,7 +242,7 @@
 ComplexRowVector
 ComplexRowVector::extract (octave_idx_type c1, octave_idx_type c2) const
 {
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   octave_idx_type new_c = c2 - c1 + 1;
 
--- a/liboctave/array/CRowVector.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/CRowVector.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/CSparse.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/CSparse.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 Copyright (C) 2010 VZLU Prague
 
@@ -258,19 +258,26 @@
 {
   SparseComplexMatrix result;
   dim_vector dv = dims ();
-
-  if (dv.numel () == 0 || dim >= dv.length ())
-    return result;
+  octave_idx_type nr = dv(0);
+  octave_idx_type nc = dv(1);
+
+
+  if (dim >= dv.length ())
+    {
+      idx_arg.resize (dim_vector (nr, nc), 0);
+      return *this;
+    }
 
   if (dim < 0)
     dim = dv.first_non_singleton ();
 
-  octave_idx_type nr = dv(0);
-  octave_idx_type nc = dv(1);
-
   if (dim == 0)
     {
-      idx_arg.clear (1, nc);
+      idx_arg.resize (dim_vector (nr == 0 ? 0 : 1, nc), 0);
+
+      if (nr == 0 || nc == 0 || dim >= dv.length ())
+        return SparseComplexMatrix (nr == 0 ? 0 : 1, nc);
+
       octave_idx_type nel = 0;
       for (octave_idx_type j = 0; j < nc; j++)
         {
@@ -330,28 +337,24 @@
     }
   else
     {
-      idx_arg.resize (dim_vector (nr, 1), 0);
-
-      for (octave_idx_type i = cidx (0); i < cidx (1); i++)
-        idx_arg.elem (ridx (i)) = -1;
+      idx_arg.resize (dim_vector (nr, nc == 0 ? 0 : 1), 0);
+
+      if (nr == 0 || nc == 0 || dim >= dv.length ())
+        return SparseComplexMatrix (nr, nc == 0 ? 0 : 1);
+
+      OCTAVE_LOCAL_BUFFER (octave_idx_type, found, nr);
+
+      for (octave_idx_type i = 0; i < nr; i++)
+        found [i] = 0;
 
       for (octave_idx_type j = 0; j < nc; j++)
-        for (octave_idx_type i = 0; i < nr; i++)
-          {
-            if (idx_arg.elem (i) != -1)
-              continue;
-            bool found = false;
-            for (octave_idx_type k = cidx (j); k < cidx (j+1); k++)
-              if (ridx (k) == i)
-                {
-                  found = true;
-                  break;
-                }
-
-            if (!found)
-              idx_arg.elem (i) = j;
-
-          }
+        for (octave_idx_type i = cidx(j); i < cidx(j+1); i++)
+          if (found [ridx (i)] == -j)
+            found [ridx (i)] = -j - 1;
+      
+      for (octave_idx_type i = 0; i < nr; i++)
+        if (found [i] > -nc && found [i] < 0)
+          idx_arg.elem (i) = -found [i];
 
       for (octave_idx_type j = 0; j < nc; j++)
         {
@@ -413,19 +416,25 @@
 {
   SparseComplexMatrix result;
   dim_vector dv = dims ();
-
-  if (dv.numel () == 0 || dim >= dv.length ())
-    return result;
+  octave_idx_type nr = dv(0);
+  octave_idx_type nc = dv(1);
+
+  if (dim >= dv.length ())
+    {
+      idx_arg.resize (dim_vector (nr, nc), 0);
+      return *this;
+    }
 
   if (dim < 0)
     dim = dv.first_non_singleton ();
 
-  octave_idx_type nr = dv(0);
-  octave_idx_type nc = dv(1);
-
   if (dim == 0)
     {
-      idx_arg.clear (1, nc);
+      idx_arg.resize (dim_vector (nr == 0 ? 0 : 1, nc), 0);
+
+      if (nr == 0 || nc == 0 || dim >= dv.length ())
+        return SparseComplexMatrix (nr == 0 ? 0 : 1, nc);
+
       octave_idx_type nel = 0;
       for (octave_idx_type j = 0; j < nc; j++)
         {
@@ -485,28 +494,24 @@
     }
   else
     {
-      idx_arg.resize (dim_vector (nr, 1), 0);
-
-      for (octave_idx_type i = cidx (0); i < cidx (1); i++)
-        idx_arg.elem (ridx (i)) = -1;
+      idx_arg.resize (dim_vector (nr, nc == 0 ? 0 : 1), 0);
+
+      if (nr == 0 || nc == 0 || dim >= dv.length ())
+        return SparseComplexMatrix (nr, nc == 0 ? 0 : 1);
+
+      OCTAVE_LOCAL_BUFFER (octave_idx_type, found, nr);
+
+      for (octave_idx_type i = 0; i < nr; i++)
+        found [i] = 0;
 
       for (octave_idx_type j = 0; j < nc; j++)
-        for (octave_idx_type i = 0; i < nr; i++)
-          {
-            if (idx_arg.elem (i) != -1)
-              continue;
-            bool found = false;
-            for (octave_idx_type k = cidx (j); k < cidx (j+1); k++)
-              if (ridx (k) == i)
-                {
-                  found = true;
-                  break;
-                }
-
-            if (!found)
-              idx_arg.elem (i) = j;
-
-          }
+        for (octave_idx_type i = cidx(j); i < cidx(j+1); i++)
+          if (found [ridx (i)] == -j)
+            found [ridx (i)] = -j - 1;
+      
+      for (octave_idx_type i = 0; i < nr; i++)
+        if (found [i] > -nc && found [i] < 0)
+          idx_arg.elem (i) = -found [i];
 
       for (octave_idx_type j = 0; j < nc; j++)
         {
@@ -556,6 +561,21 @@
   return result;
 }
 
+/*
+
+%!assert (max (max (speye (65536) * 1i)), sparse (1i)) 
+%!assert (min (min (speye (65536) * 1i)), sparse (0)) 
+%!assert (size (max (sparse (8, 0), [], 1)), [1, 0]) 
+%!assert (size (max (sparse (8, 0), [], 2)), [8, 0]) 
+%!assert (size (max (sparse (0, 8), [], 1)), [0, 8]) 
+%!assert (size (max (sparse (0, 8), [], 2)), [0, 1]) 
+%!assert (size (min (sparse (8, 0), [], 1)), [1, 0]) 
+%!assert (size (min (sparse (8, 0), [], 2)), [8, 0]) 
+%!assert (size (min (sparse (0, 8), [], 1)), [0, 8]) 
+%!assert (size (min (sparse (0, 8), [], 2)), [0, 1]) 
+
+*/
+
 ComplexRowVector
 SparseComplexMatrix::row (octave_idx_type i) const
 {
--- a/liboctave/array/CSparse.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/CSparse.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/array/DiagArray2.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/DiagArray2.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Template array classes
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/DiagArray2.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/DiagArray2.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Template array classes
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2010 VZLU Prague
 
--- a/liboctave/array/MArray-C.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MArray-C.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/MArray-d.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MArray-d.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/MArray-decl.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MArray-decl.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/MArray-defs.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MArray-defs.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague, a.s.
 
 This file is part of Octave.
--- a/liboctave/array/MArray-f.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MArray-f.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/MArray-fC.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MArray-fC.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/MArray-i.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MArray-i.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/MArray-s.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MArray-s.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/MArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/MArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Template array classes with like-type math ops
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/MArray2.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MArray2.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Template array classes with like-type math ops
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/MArrayN.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MArrayN.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Template array classes with like-type math ops
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/MDiagArray2.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MDiagArray2.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/MDiagArray2.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MDiagArray2.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Template array classes with like-type math ops
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/MSparse-C.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MSparse-C.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/array/MSparse-d.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MSparse-d.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/array/MSparse-defs.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MSparse-defs.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/array/MSparse.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MSparse.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/array/MSparse.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MSparse.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/array/Matrix.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Matrix.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Matrix manipulations.
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/MatrixType.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MatrixType.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2006-2012 David Bateman
+Copyright (C) 2006-2013 David Bateman
 Copyright (C) 2006 Andy Adler
 Copyright (C) 2009 VZLU Prague
 
--- a/liboctave/array/MatrixType.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/MatrixType.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2006-2012 David Bateman
+Copyright (C) 2006-2013 David Bateman
 Copyright (C) 2006 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/array/PermMatrix.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/PermMatrix.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/liboctave/array/PermMatrix.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/PermMatrix.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/liboctave/array/Range.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Range.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/Range.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Range.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/Sparse-C.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Sparse-C.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/array/Sparse-b.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Sparse-b.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/array/Sparse-d.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Sparse-d.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/array/Sparse.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Sparse.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Template sparse array class
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 Copyright (C) 2010 VZLU Prague
 
@@ -301,8 +301,6 @@
     (*current_liboctave_error_handler)
       ("sparse: column index %d out of bound %d", r.extent (nc), nc);
 
-  rep = new typename Sparse<T>::SparseRep (nr, nc, (nzm > 0 ? nzm : 0));
-
   dimensions = dim_vector (nr, nc);
 
   octave_idx_type n = a.numel (), rl = r.length (nr), cl = c.length (nc);
@@ -318,6 +316,9 @@
   if ((rl != 1 && rl != n) || (cl != 1 && cl != n))
     (*current_liboctave_error_handler) ("sparse: dimension mismatch");
 
+  // Only create rep after input validation to avoid memory leak.
+  rep = new typename Sparse<T>::SparseRep (nr, nc, (nzm > 0 ? nzm : 0));
+
   if (rl <= 1 && cl <= 1)
     {
       if (n == 1 && a(0) != T ())
--- a/liboctave/array/Sparse.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/Sparse.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Template sparse classes
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 Copyright (C) 2010 VZLU Prague
 
--- a/liboctave/array/boolMatrix.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/boolMatrix.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Matrix manipulations.
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague, a.s.
 
 This file is part of Octave.
--- a/liboctave/array/boolMatrix.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/boolMatrix.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/boolNDArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/boolNDArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // N-D Array  manipulations.
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague, a.s.
 
 This file is part of Octave.
--- a/liboctave/array/boolNDArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/boolNDArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/boolSparse.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/boolSparse.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 Copyright (C) 2010 VZLU Prague
 
--- a/liboctave/array/boolSparse.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/boolSparse.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/array/chMatrix.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/chMatrix.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Matrix manipulations.
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
@@ -169,8 +169,8 @@
 charMatrix
 charMatrix::extract (octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2) const
 {
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   octave_idx_type new_r = r2 - r1 + 1;
   octave_idx_type new_c = c2 - c1 + 1;
--- a/liboctave/array/chMatrix.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/chMatrix.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/chNDArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/chNDArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // N-D Array  manipulations.
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/chNDArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/chNDArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/dColVector.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/dColVector.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // ColumnVector manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
@@ -116,7 +116,7 @@
       return *this;
     }
 
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
 
   if (r2 >= r1)
     {
@@ -169,7 +169,7 @@
 ColumnVector
 ColumnVector::extract (octave_idx_type r1, octave_idx_type r2) const
 {
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
 
   octave_idx_type new_r = r2 - r1 + 1;
 
--- a/liboctave/array/dColVector.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/dColVector.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/dDiagMatrix.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/dDiagMatrix.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // DiagMatrix manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
@@ -159,8 +159,8 @@
 Matrix
 DiagMatrix::extract (octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2) const
 {
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   octave_idx_type new_r = r2 - r1 + 1;
   octave_idx_type new_c = c2 - c1 + 1;
--- a/liboctave/array/dDiagMatrix.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/dDiagMatrix.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/dMatrix.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/dMatrix.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Matrix manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008 Jaroslav Hajek
 Copyright (C) 2009 VZLU Prague, a.s.
 
@@ -425,8 +425,8 @@
       return *this;
     }
 
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   if (r2 >= r1 && c2 >= c1)
     {
@@ -603,8 +603,8 @@
 Matrix
 Matrix::extract (octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2) const
 {
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   return index (idx_vector (r1, r2+1), idx_vector (c1, c2+1));
 }
--- a/liboctave/array/dMatrix.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/dMatrix.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/dNDArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/dNDArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // N-D Array  manipulations.
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague, a.s.
 
 This file is part of Octave.
--- a/liboctave/array/dNDArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/dNDArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/dRowVector.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/dRowVector.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // RowVector manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -119,7 +119,7 @@
       return *this;
     }
 
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   if (c2 >= c1)
     {
@@ -164,7 +164,7 @@
 RowVector
 RowVector::extract (octave_idx_type c1, octave_idx_type c2) const
 {
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   octave_idx_type new_c = c2 - c1 + 1;
 
--- a/liboctave/array/dRowVector.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/dRowVector.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/dSparse.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/dSparse.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 Copyright (C) 2010 VZLU Prague
 
@@ -276,19 +276,25 @@
 {
   SparseMatrix result;
   dim_vector dv = dims ();
-
-  if (dv.numel () == 0 || dim >= dv.length ())
-    return result;
+  octave_idx_type nr = dv(0);
+  octave_idx_type nc = dv(1);
+
+  if (dim >= dv.length ())
+    {
+      idx_arg.resize (dim_vector (nr, nc), 0);
+      return *this;
+    }
 
   if (dim < 0)
     dim = dv.first_non_singleton ();
 
-  octave_idx_type nr = dv(0);
-  octave_idx_type nc = dv(1);
-
   if (dim == 0)
     {
-      idx_arg.clear (1, nc);
+      idx_arg.resize (dim_vector (nr == 0 ? 0 : 1, nc), 0);
+
+      if (nr == 0 || nc == 0 || dim >= dv.length ())
+        return SparseMatrix (nr == 0 ? 0 : 1, nc);
+
       octave_idx_type nel = 0;
       for (octave_idx_type j = 0; j < nc; j++)
         {
@@ -342,28 +348,24 @@
     }
   else
     {
-      idx_arg.resize (dim_vector  (nr, 1), 0);
-
-      for (octave_idx_type i = cidx (0); i < cidx (1); i++)
-        idx_arg.elem (ridx (i)) = -1;
+      idx_arg.resize (dim_vector (nr, nc == 0 ? 0 : 1), 0);
+
+      if (nr == 0 || nc == 0 || dim >= dv.length ())
+        return SparseMatrix (nr, nc == 0 ? 0 : 1);
+
+      OCTAVE_LOCAL_BUFFER (octave_idx_type, found, nr);
+
+      for (octave_idx_type i = 0; i < nr; i++)
+        found [i] = 0;
 
       for (octave_idx_type j = 0; j < nc; j++)
-        for (octave_idx_type i = 0; i < nr; i++)
-          {
-            if (idx_arg.elem (i) != -1)
-              continue;
-            bool found = false;
-            for (octave_idx_type k = cidx (j); k < cidx (j+1); k++)
-              if (ridx (k) == i)
-                {
-                  found = true;
-                  break;
-                }
-
-            if (!found)
-              idx_arg.elem (i) = j;
-
-          }
+        for (octave_idx_type i = cidx(j); i < cidx(j+1); i++)
+          if (found [ridx (i)] == -j)
+            found [ridx (i)] = -j - 1;
+      
+      for (octave_idx_type i = 0; i < nr; i++)
+        if (found [i] > -nc && found [i] < 0)
+          idx_arg.elem (i) = -found [i];
 
       for (octave_idx_type j = 0; j < nc; j++)
         {
@@ -425,19 +427,25 @@
 {
   SparseMatrix result;
   dim_vector dv = dims ();
-
-  if (dv.numel () == 0 || dim >= dv.length ())
-    return result;
+  octave_idx_type nr = dv(0);
+  octave_idx_type nc = dv(1);
+
+  if (dim >= dv.length ())
+    {
+      idx_arg.resize (dim_vector (nr, nc), 0);
+      return *this;
+    }
 
   if (dim < 0)
     dim = dv.first_non_singleton ();
 
-  octave_idx_type nr = dv(0);
-  octave_idx_type nc = dv(1);
-
   if (dim == 0)
     {
-      idx_arg.clear (1, nc);
+      idx_arg.resize (dim_vector (nr == 0 ? 0 : 1, nc), 0);
+
+      if (nr == 0 || nc == 0 || dim >= dv.length ())
+        return SparseMatrix (nr == 0 ? 0 : 1, nc);
+
       octave_idx_type nel = 0;
       for (octave_idx_type j = 0; j < nc; j++)
         {
@@ -491,28 +499,24 @@
     }
   else
     {
-      idx_arg.resize (dim_vector (nr, 1), 0);
-
-      for (octave_idx_type i = cidx (0); i < cidx (1); i++)
-        idx_arg.elem (ridx (i)) = -1;
+      idx_arg.resize (dim_vector (nr, nc == 0 ? 0 : 1), 0);
+
+      if (nr == 0 || nc == 0 || dim >= dv.length ())
+        return SparseMatrix (nr, nc == 0 ? 0 : 1);
+
+      OCTAVE_LOCAL_BUFFER (octave_idx_type, found, nr);
+
+      for (octave_idx_type i = 0; i < nr; i++)
+        found [i] = 0;
 
       for (octave_idx_type j = 0; j < nc; j++)
-        for (octave_idx_type i = 0; i < nr; i++)
-          {
-            if (idx_arg.elem (i) != -1)
-              continue;
-            bool found = false;
-            for (octave_idx_type k = cidx (j); k < cidx (j+1); k++)
-              if (ridx (k) == i)
-                {
-                  found = true;
-                  break;
-                }
-
-            if (!found)
-              idx_arg.elem (i) = j;
-
-          }
+        for (octave_idx_type i = cidx(j); i < cidx(j+1); i++)
+          if (found [ridx (i)] == -j)
+            found [ridx (i)] = -j - 1;
+      
+      for (octave_idx_type i = 0; i < nr; i++)
+        if (found [i] > -nc && found [i] < 0)
+          idx_arg.elem (i) = -found [i];
 
       for (octave_idx_type j = 0; j < nc; j++)
         {
@@ -562,6 +566,21 @@
   return result;
 }
 
+/*
+
+%!assert (max (max (speye (65536))), sparse (1)) 
+%!assert (min (min (speye (65536))), sparse (0)) 
+%!assert (size (max (sparse (8, 0), [], 1)), [1, 0]) 
+%!assert (size (max (sparse (8, 0), [], 2)), [8, 0]) 
+%!assert (size (max (sparse (0, 8), [], 1)), [0, 8]) 
+%!assert (size (max (sparse (0, 8), [], 2)), [0, 1]) 
+%!assert (size (min (sparse (8, 0), [], 1)), [1, 0]) 
+%!assert (size (min (sparse (8, 0), [], 2)), [8, 0]) 
+%!assert (size (min (sparse (0, 8), [], 1)), [0, 8]) 
+%!assert (size (min (sparse (0, 8), [], 2)), [0, 1]) 
+
+*/
+
 RowVector
 SparseMatrix::row (octave_idx_type i) const
 {
@@ -628,6 +647,7 @@
       r.ridx (i) = a.ridx (i);
     }
 
+  r.maybe_compress (true);
   return r;
 }
 
@@ -648,9 +668,17 @@
       r.ridx (i) = a.ridx (i);
     }
 
+  r.maybe_compress (true);
   return r;
 }
 
+/*
+
+%!assert(nnz(real(sparse([1i,1]))),1)
+%!assert(nnz(real(sparse([1i,1]))),1)
+
+*/
+
 SparseMatrix
 atan2 (const double& x, const SparseMatrix& y)
 {
--- a/liboctave/array/dSparse.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/dSparse.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/array/dim-vector.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/dim-vector.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 Copyirght (C) 2009, 2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/dim-vector.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/dim-vector.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 Copyirght (C) 2009, 2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/fCColVector.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fCColVector.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // ColumnVector manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
@@ -162,7 +162,7 @@
       return *this;
     }
 
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
 
   if (r2 >= r1)
     {
@@ -186,7 +186,7 @@
       return *this;
     }
 
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
 
   if (r2 >= r1)
     {
@@ -250,7 +250,7 @@
 FloatComplexColumnVector
 FloatComplexColumnVector::extract (octave_idx_type r1, octave_idx_type r2) const
 {
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
 
   octave_idx_type new_r = r2 - r1 + 1;
 
--- a/liboctave/array/fCColVector.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fCColVector.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/fCDiagMatrix.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fCDiagMatrix.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // DiagMatrix manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
@@ -250,8 +250,8 @@
 FloatComplexMatrix
 FloatComplexDiagMatrix::extract (octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2) const
 {
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   octave_idx_type new_r = r2 - r1 + 1;
   octave_idx_type new_c = c2 - c1 + 1;
--- a/liboctave/array/fCDiagMatrix.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fCDiagMatrix.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/fCMatrix.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fCMatrix.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Matrix manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2009 VZLU Prague, a.s.
 
@@ -581,8 +581,8 @@
       return *this;
     }
 
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   if (r2 >= r1 && c2 >= c1)
     {
@@ -609,8 +609,8 @@
       return *this;
     }
 
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   if (r2 >= r1 && c2 >=c1)
     {
@@ -931,8 +931,8 @@
 FloatComplexMatrix
 FloatComplexMatrix::extract (octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2) const
 {
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   return index (idx_vector (r1, r2+1), idx_vector (c1, c2+1));
 }
--- a/liboctave/array/fCMatrix.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fCMatrix.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/fCNDArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fCNDArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // N-D Array  manipulations.
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague, a.s.
 
 This file is part of Octave.
--- a/liboctave/array/fCNDArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fCNDArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/fCRowVector.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fCRowVector.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // RowVector manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -160,7 +160,7 @@
       return *this;
     }
 
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   if (c2 >= c1)
     {
@@ -184,7 +184,7 @@
       return *this;
     }
 
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   if (c2 >= c1)
     {
@@ -242,7 +242,7 @@
 FloatComplexRowVector
 FloatComplexRowVector::extract (octave_idx_type c1, octave_idx_type c2) const
 {
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   octave_idx_type new_c = c2 - c1 + 1;
 
--- a/liboctave/array/fCRowVector.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fCRowVector.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/fColVector.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fColVector.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // ColumnVector manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
@@ -115,7 +115,7 @@
       return *this;
     }
 
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
 
   if (r2 >= r1)
     {
@@ -168,7 +168,7 @@
 FloatColumnVector
 FloatColumnVector::extract (octave_idx_type r1, octave_idx_type r2) const
 {
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
 
   octave_idx_type new_r = r2 - r1 + 1;
 
--- a/liboctave/array/fColVector.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fColVector.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/array/fDiagMatrix.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fDiagMatrix.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // FloatDiagMatrix manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
@@ -159,8 +159,8 @@
 FloatMatrix
 FloatDiagMatrix::extract (octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2) const
 {
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   octave_idx_type new_r = r2 - r1 + 1;
   octave_idx_type new_c = c2 - c1 + 1;
--- a/liboctave/array/fDiagMatrix.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fDiagMatrix.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/fMatrix.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fMatrix.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // Matrix manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2009 VZLU Prague, a.s.
 
@@ -425,8 +425,8 @@
       return *this;
     }
 
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   if (r2 >= r1 && c2 >= c1)
     {
@@ -603,8 +603,8 @@
 FloatMatrix
 FloatMatrix::extract (octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2) const
 {
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   return index (idx_vector (r1, r2+1), idx_vector (c1, c2+1));
 }
--- a/liboctave/array/fMatrix.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fMatrix.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/fNDArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fNDArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // N-D Array  manipulations.
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague, a.s.
 
 This file is part of Octave.
--- a/liboctave/array/fNDArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fNDArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/fRowVector.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fRowVector.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // RowVector manipulations.
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -119,7 +119,7 @@
       return *this;
     }
 
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   if (c2 >= c1)
     {
@@ -164,7 +164,7 @@
 FloatRowVector
 FloatRowVector::extract (octave_idx_type c1, octave_idx_type c2) const
 {
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   octave_idx_type new_c = c2 - c1 + 1;
 
--- a/liboctave/array/fRowVector.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/fRowVector.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/idx-vector.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/idx-vector.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2009-2010 VZLU Prague
 
--- a/liboctave/array/idx-vector.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/idx-vector.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2009 VZLU Prague
 
--- a/liboctave/array/int16NDArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/int16NDArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // N-D Array  manipulations.
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/int16NDArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/int16NDArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/int32NDArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/int32NDArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // N-D Array  manipulations.
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/int32NDArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/int32NDArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/int64NDArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/int64NDArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // N-D Array  manipulations.
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/int64NDArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/int64NDArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/int8NDArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/int8NDArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // N-D Array  manipulations.
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/int8NDArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/int8NDArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/intNDArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/intNDArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // N-D Array  manipulations.
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague, a.s.
 
 This file is part of Octave.
--- a/liboctave/array/intNDArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/intNDArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/uint16NDArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/uint16NDArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // N-D Array  manipulations.
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/uint16NDArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/uint16NDArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/uint32NDArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/uint32NDArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // N-D Array  manipulations.
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/uint32NDArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/uint32NDArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/uint64NDArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/uint64NDArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // N-D Array  manipulations.
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/uint64NDArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/uint64NDArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/uint8NDArray.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/uint8NDArray.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // N-D Array  manipulations.
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/array/uint8NDArray.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/array/uint8NDArray.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/cruft/Makefile.am	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/Makefile.am	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 # Makefile for Octave's liboctave/cruft directory
 #
-# Copyright (C) 1993-2012 John W. Eaton
+# Copyright (C) 1993-2013 John W. Eaton
 #
 # This file is part of Octave.
 #
--- a/liboctave/cruft/blas-xtra/cconv2.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/blas-xtra/cconv2.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2010-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2010-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/blas-xtra/cdotc3.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/blas-xtra/cdotc3.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2009-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2009-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/blas-xtra/cmatm3.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/blas-xtra/cmatm3.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2009-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2009-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/blas-xtra/csconv2.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/blas-xtra/csconv2.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2010-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2010-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/blas-xtra/dconv2.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/blas-xtra/dconv2.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2010-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2010-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/blas-xtra/ddot3.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/blas-xtra/ddot3.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2009-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2009-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/blas-xtra/dmatm3.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/blas-xtra/dmatm3.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2009-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2009-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/blas-xtra/sconv2.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/blas-xtra/sconv2.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2010-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2010-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/blas-xtra/sdot3.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/blas-xtra/sdot3.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2009-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2009-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/blas-xtra/smatm3.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/blas-xtra/smatm3.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2009-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2009-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/blas-xtra/zconv2.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/blas-xtra/zconv2.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2010-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2010-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/blas-xtra/zdconv2.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/blas-xtra/zdconv2.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2010-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2010-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/blas-xtra/zdotc3.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/blas-xtra/zdotc3.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2009-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2009-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/blas-xtra/zmatm3.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/blas-xtra/zmatm3.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2009-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2009-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/lapack-xtra/crsf2csf.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/lapack-xtra/crsf2csf.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2010-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2010-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/lapack-xtra/zrsf2csf.f	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/lapack-xtra/zrsf2csf.f	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-c Copyright (C) 2010-2012  VZLU Prague, a.s., Czech Republic
+c Copyright (C) 2010-2013  VZLU Prague, a.s., Czech Republic
 c
 c Author: Jaroslav Hajek <highegg@gmail.com>
 c
--- a/liboctave/cruft/misc/blaswrap.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/misc/blaswrap.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 Jarno Rajahalme
+Copyright (C) 2012-2013 Jarno Rajahalme
 
 This file is part of Octave.
 
--- a/liboctave/cruft/misc/cquit.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/misc/cquit.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/cruft/misc/f77-extern.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/misc/f77-extern.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // misc-extern.cc                                     -*- C++ -*-
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/cruft/misc/f77-fcn.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/misc/f77-fcn.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/cruft/misc/f77-fcn.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/misc/f77-fcn.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/cruft/misc/lo-error.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/misc/lo-error.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/cruft/misc/lo-error.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/misc/lo-error.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/cruft/misc/quit.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/misc/quit.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/cruft/misc/quit.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/misc/quit.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/cruft/mkf77def.in	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/cruft/mkf77def.in	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 #! /bin/sh
 #
-# Copyright (C) 2006-2012 John W. Eaton
+# Copyright (C) 2006-2013 John W. Eaton
 #
 # This file is part of Octave.
 #
--- a/liboctave/numeric/CmplxAEPBAL.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxAEPBAL.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/CmplxAEPBAL.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxAEPBAL.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/CmplxCHOL.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxCHOL.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/CmplxCHOL.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxCHOL.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/CmplxGEPBAL.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxGEPBAL.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/CmplxGEPBAL.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxGEPBAL.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/CmplxHESS.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxHESS.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/CmplxHESS.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxHESS.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/CmplxLU.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxLU.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague, a.s.
 
 This file is part of Octave.
--- a/liboctave/numeric/CmplxLU.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxLU.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/CmplxQR.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxQR.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2009 VZLU Prague
 
--- a/liboctave/numeric/CmplxQR.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxQR.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/CmplxQRP.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxQRP.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/numeric/CmplxQRP.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxQRP.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/CmplxSCHUR.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxSCHUR.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/CmplxSCHUR.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxSCHUR.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/CmplxSVD.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxSVD.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/CmplxSVD.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CmplxSVD.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/CollocWt.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CollocWt.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/CollocWt.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/CollocWt.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/DAE.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/DAE.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/DAEFunc.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/DAEFunc.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/DAERT.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/DAERT.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/DAERTFunc.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/DAERTFunc.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/DASPK-opts.in	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/DASPK-opts.in	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2012 John W. Eaton
+# Copyright (C) 2002-2013 John W. Eaton
 #
 # This file is part of Octave.
 #
--- a/liboctave/numeric/DASPK.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/DASPK.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/DASPK.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/DASPK.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/DASRT-opts.in	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/DASRT-opts.in	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2012 John W. Eaton
+# Copyright (C) 2002-2013 John W. Eaton
 #
 # This file is part of Octave.
 #
--- a/liboctave/numeric/DASRT.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/DASRT.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/DASRT.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/DASRT.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/DASSL-opts.in	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/DASSL-opts.in	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2012 John W. Eaton
+# Copyright (C) 2002-2013 John W. Eaton
 #
 # This file is part of Octave.
 #
--- a/liboctave/numeric/DASSL.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/DASSL.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/DASSL.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/DASSL.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/DET.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/DET.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/liboctave/numeric/EIG.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/EIG.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/EIG.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/EIG.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/LSODE-opts.in	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/LSODE-opts.in	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2012 John W. Eaton
+# Copyright (C) 2002-2013 John W. Eaton
 #
 # This file is part of Octave.
 #
--- a/liboctave/numeric/LSODE.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/LSODE.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/LSODE.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/LSODE.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/ODE.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/ODE.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/ODEFunc.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/ODEFunc.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/ODES.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/ODES.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/ODES.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/ODES.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/ODESFunc.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/ODESFunc.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/Quad-opts.in	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/Quad-opts.in	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2012 John W. Eaton
+# Copyright (C) 2002-2013 John W. Eaton
 #
 # This file is part of Octave.
 #
--- a/liboctave/numeric/Quad.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/Quad.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/Quad.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/Quad.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/SparseCmplxCHOL.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/SparseCmplxCHOL.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 Copyright (C) 1998-2005 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/numeric/SparseCmplxCHOL.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/SparseCmplxCHOL.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 Copyright (C) 1998-2005 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/numeric/SparseCmplxLU.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/SparseCmplxLU.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/numeric/SparseCmplxLU.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/SparseCmplxLU.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/numeric/SparseCmplxQR.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/SparseCmplxQR.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 
 This file is part of Octave.
 
--- a/liboctave/numeric/SparseCmplxQR.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/SparseCmplxQR.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 
 This file is part of Octave.
 
--- a/liboctave/numeric/SparseQR.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/SparseQR.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 
 This file is part of Octave.
 
--- a/liboctave/numeric/SparseQR.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/SparseQR.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 
 This file is part of Octave.
 
--- a/liboctave/numeric/SparsedbleCHOL.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/SparsedbleCHOL.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 Copyright (C) 1998-2005 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/numeric/SparsedbleCHOL.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/SparsedbleCHOL.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 Copyright (C) 1998-2005 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/numeric/SparsedbleLU.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/SparsedbleLU.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/numeric/SparsedbleLU.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/SparsedbleLU.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/numeric/base-aepbal.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/base-aepbal.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/liboctave/numeric/base-dae.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/base-dae.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/base-de.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/base-de.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/base-lu.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/base-lu.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/numeric/base-lu.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/base-lu.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/numeric/base-min.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/base-min.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/base-qr.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/base-qr.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Jaroslav Hajek
+Copyright (C) 2009-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/liboctave/numeric/base-qr.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/base-qr.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Jaroslav Hajek
+Copyright (C) 2009-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/liboctave/numeric/bsxfun-decl.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/bsxfun-decl.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Jaroslav Hajek
+Copyright (C) 2009-2013 Jaroslav Hajek
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/numeric/bsxfun-defs.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/bsxfun-defs.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Jaroslav Hajek
+Copyright (C) 2009-2013 Jaroslav Hajek
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/numeric/bsxfun.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/bsxfun.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 Jordi Gutiérrez Hermoso
+Copyright (C) 2012-2013 Jordi Gutiérrez Hermoso
 
 This file is part of Octave.
 
--- a/liboctave/numeric/dbleAEPBAL.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleAEPBAL.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/dbleAEPBAL.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleAEPBAL.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/dbleCHOL.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleCHOL.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/dbleCHOL.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleCHOL.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/dbleGEPBAL.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleGEPBAL.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/dbleGEPBAL.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleGEPBAL.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/dbleHESS.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleHESS.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/dbleHESS.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleHESS.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/dbleLU.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleLU.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague, a.s.
 
 This file is part of Octave.
--- a/liboctave/numeric/dbleLU.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleLU.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/dbleQR.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleQR.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2009 VZLU Prague
 
--- a/liboctave/numeric/dbleQR.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleQR.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/dbleQRP.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleQRP.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/numeric/dbleQRP.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleQRP.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/dbleSCHUR.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleSCHUR.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/dbleSCHUR.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleSCHUR.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/dbleSVD.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleSVD.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/dbleSVD.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/dbleSVD.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/eigs-base.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/eigs-base.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 
 This file is part of Octave.
 
--- a/liboctave/numeric/fCmplxAEPBAL.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxAEPBAL.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/fCmplxAEPBAL.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxAEPBAL.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/fCmplxCHOL.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxCHOL.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/fCmplxCHOL.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxCHOL.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/fCmplxGEPBAL.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxGEPBAL.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/fCmplxGEPBAL.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxGEPBAL.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/fCmplxHESS.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxHESS.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/fCmplxHESS.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxHESS.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/fCmplxLU.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxLU.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague, a.s.
 
 This file is part of Octave.
--- a/liboctave/numeric/fCmplxLU.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxLU.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/fCmplxQR.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxQR.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2009 VZLU Prague
 
--- a/liboctave/numeric/fCmplxQR.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxQR.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/fCmplxQRP.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxQRP.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/numeric/fCmplxQRP.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxQRP.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/fCmplxSCHUR.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxSCHUR.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/fCmplxSCHUR.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxSCHUR.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/fCmplxSVD.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxSVD.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/fCmplxSVD.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fCmplxSVD.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/fEIG.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fEIG.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/fEIG.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/fEIG.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/floatAEPBAL.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatAEPBAL.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/floatAEPBAL.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatAEPBAL.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/floatCHOL.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatCHOL.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/floatCHOL.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatCHOL.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/floatGEPBAL.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatGEPBAL.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/floatGEPBAL.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatGEPBAL.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/floatHESS.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatHESS.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/floatHESS.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatHESS.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/floatLU.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatLU.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague, a.s.
 
 This file is part of Octave.
--- a/liboctave/numeric/floatLU.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatLU.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/floatQR.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatQR.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2009 VZLU Prague
 
--- a/liboctave/numeric/floatQR.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatQR.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/numeric/floatQRP.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatQRP.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/numeric/floatQRP.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatQRP.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/floatSCHUR.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatSCHUR.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/floatSCHUR.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatSCHUR.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/floatSVD.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatSVD.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/floatSVD.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/floatSVD.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/lo-mappers.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/lo-mappers.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/numeric/lo-mappers.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/lo-mappers.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/numeric/lo-specfun.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/lo-specfun.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2010 Jaroslav Hajek
 Copyright (C) 2010 VZLU Prague
 
@@ -366,16 +366,22 @@
 {
   double result;
 
-  if (xisnan (x))
-    result = x;
-  else if ((x <= 0 && D_NINT (x) == x) || xisinf (x))
+  if (xisnan (x) || (x < 0 && (xisinf (x) || D_NINT (x) == x)))
+    result = octave_NaN;
+  else if (x == 0 && xnegative_sign (x))
+    result = -octave_Inf;
+  else if (x == 0 || xisinf (x))
     result = octave_Inf;
   else
+    {
 #if defined (HAVE_TGAMMA)
-    result = tgamma (x);
+      result = tgamma (x);
 #else
-    F77_XFCN (xdgamma, XDGAMMA, (x, result));
+      F77_XFCN (xdgamma, XDGAMMA, (x, result));
 #endif
+      if (xisinf (result) && (static_cast<int> (gnulib::floor (x)) % 2))
+        result = -octave_Inf;
+    }
 
   return result;
 }
@@ -431,16 +437,22 @@
 {
   float result;
 
-  if (xisnan (x))
-    result = x;
-  else if ((x <= 0 && D_NINT (x) == x) || xisinf (x))
+  if (xisnan (x) || (x < 0 && (xisinf (x) || D_NINT (x) == x)))
+    result = octave_Float_NaN;
+  else if (x == 0 && xnegative_sign (x))
+    result = -octave_Float_Inf;
+  else if (x == 0 || xisinf (x))
     result = octave_Float_Inf;
   else
-#if defined (HAVE_TGAMMAF)
-    result = tgammaf (x);
+    {
+#if defined (HAVE_TGAMMA)
+      result = tgammaf (x);
 #else
-    F77_XFCN (xgamma, XGAMMA, (x, result));
+      F77_XFCN (xgamma, XGAMMA, (x, result));
 #endif
+      if (xisinf (result) && (static_cast<int> (gnulib::floor (x)) % 2))
+        result = -octave_Float_Inf;
+    }
 
   return result;
 }
--- a/liboctave/numeric/lo-specfun.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/lo-specfun.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/numeric/oct-convn.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/oct-convn.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2012 VZLU Prague
+Copyright (C) 2010-2013 VZLU Prague
 
 This file is part of Octave.
 
@@ -88,7 +88,7 @@
         {
           for (octave_idx_type ja = 0; ja < na - nb + 1; ja++)
             for (octave_idx_type jb = 0; jb < nb; jb++)
-              convolve_nd<T, R> (a + ma*(ja + jb), ad, acd, b + mb*jb, bd, bcd,
+              convolve_nd<T, R> (a + ma*(ja+jb), ad, acd, b + mb*(nb-jb-1), bd, bcd,
                                  c + ldc*ja, ccd, nd-1, inner);
         }
       else
--- a/liboctave/numeric/oct-convn.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/oct-convn.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 Jaroslav Hajek
+Copyright (C) 2009-2013 Jaroslav Hajek
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/numeric/oct-fftw.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/oct-fftw.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2001-2012 John W. Eaton
+Copyright (C) 2001-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/oct-fftw.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/oct-fftw.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2001-2012 John W. Eaton
+Copyright (C) 2001-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/oct-norm.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/oct-norm.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 VZLU Prague, a.s.
+Copyright (C) 2008-2013 VZLU Prague, a.s.
 
 This file is part of Octave.
 
--- a/liboctave/numeric/oct-norm.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/oct-norm.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 VZLU Prague, a.s.
+Copyright (C) 2008-2013 VZLU Prague, a.s.
 
 This file is part of Octave.
 
--- a/liboctave/numeric/oct-rand.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/oct-rand.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/oct-rand.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/oct-rand.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/oct-spparms.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/oct-spparms.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/numeric/oct-spparms.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/oct-spparms.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/numeric/randgamma.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/randgamma.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2006-2012 John W. Eaton
+Copyright (C) 2006-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/randgamma.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/randgamma.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2006-2012 John W. Eaton
+Copyright (C) 2006-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/randmtzig.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/randmtzig.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2006-2012 John W. Eaton
+Copyright (C) 2006-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/randmtzig.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/randmtzig.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2006-2012 John W. Eaton
+Copyright (C) 2006-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/randpoisson.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/randpoisson.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2006-2012 John W. Eaton
+Copyright (C) 2006-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/randpoisson.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/randpoisson.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2006-2012 John W. Eaton
+Copyright (C) 2006-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/numeric/sparse-base-chol.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/sparse-base-chol.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 Copyright (C) 1998-2005 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/numeric/sparse-base-chol.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/sparse-base-chol.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 Copyright (C) 1998-2005 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/numeric/sparse-base-lu.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/sparse-base-lu.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/numeric/sparse-base-lu.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/sparse-base-lu.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/numeric/sparse-dmsolve.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/numeric/sparse-dmsolve.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2006-2012 David Bateman
+Copyright (C) 2006-2013 David Bateman
 
 This file is part of Octave.
 
@@ -133,8 +133,8 @@
 {
   r2 -= 1;
   c2 -= 1;
-  if (r1 > r2) { octave_idx_type tmp = r1; r1 = r2; r2 = tmp; }
-  if (c1 > c2) { octave_idx_type tmp = c1; c1 = c2; c2 = tmp; }
+  if (r1 > r2) { std::swap (r1, r2); }
+  if (c1 > c2) { std::swap (c1, c2); }
 
   octave_idx_type new_r = r2 - r1 + 1;
   octave_idx_type new_c = c2 - c1 + 1;
--- a/liboctave/operators/Sparse-diag-op-defs.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/operators/Sparse-diag-op-defs.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /* -*- C++ -*-
 
-Copyright (C) 2009-2012 Jason Riedy, Jaroslav Hajek
+Copyright (C) 2009-2013 Jason Riedy, Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/liboctave/operators/Sparse-op-defs.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/operators/Sparse-op-defs.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 Copyright (C) 2008 Jaroslav Hajek
 
--- a/liboctave/operators/Sparse-perm-op-defs.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/operators/Sparse-perm-op-defs.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /* -*- C++ -*-
 
-Copyright (C) 2009-2012 Jason Riedy
+Copyright (C) 2009-2013 Jason Riedy
 
 This file is part of Octave.
 
--- a/liboctave/operators/mk-ops.awk	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/operators/mk-ops.awk	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2012 John W. Eaton
+# Copyright (C) 2003-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/liboctave/operators/mx-base.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/operators/mx-base.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/operators/mx-defs.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/operators/mx-defs.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/operators/mx-ext.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/operators/mx-ext.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1994-2012 John W. Eaton
+Copyright (C) 1994-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/operators/mx-inlines.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/operators/mx-inlines.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2009 Jaroslav Hajek
 Copyright (C) 2009 VZLU Prague
 
--- a/liboctave/operators/mx-op-decl.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/operators/mx-op-decl.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2009 VZLU Prague, a.s.
 
--- a/liboctave/operators/mx-op-defs.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/operators/mx-op-defs.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2009-2010 VZLU Prague, a.s.
 
--- a/liboctave/operators/mx-ops	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/operators/mx-ops	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2012 John W. Eaton
+# Copyright (C) 2003-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/liboctave/operators/sparse-mk-ops.awk	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/operators/sparse-mk-ops.awk	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2012 John W. Eaton
+# Copyright (C) 2004-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/liboctave/operators/sparse-mx-ops	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/operators/sparse-mx-ops	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-# Copyright (C) 2004-2012 John W. Eaton
+# Copyright (C) 2004-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/liboctave/operators/vx-ops	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/operators/vx-ops	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-# Copyright (C) 2003-2012 John W. Eaton
+# Copyright (C) 2003-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/liboctave/system/dir-ops.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/dir-ops.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/dir-ops.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/dir-ops.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/file-ops.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/file-ops.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/file-ops.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/file-ops.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/file-stat.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/file-stat.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/file-stat.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/file-stat.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/lo-sysdep.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/lo-sysdep.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/lo-sysdep.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/lo-sysdep.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/mach-info.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/mach-info.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/mach-info.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/mach-info.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/oct-env.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/oct-env.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/oct-env.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/oct-env.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/oct-group.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/oct-group.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/oct-group.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/oct-group.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/oct-openmp.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/oct-openmp.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2012 David Bateman
+Copyright (C) 2010-2013 David Bateman
 
 This file is part of Octave.
 
--- a/liboctave/system/oct-passwd.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/oct-passwd.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/oct-passwd.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/oct-passwd.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/oct-syscalls.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/oct-syscalls.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/oct-syscalls.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/oct-syscalls.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/oct-time.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/oct-time.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1999-2012 John W. Eaton
+Copyright (C) 1999-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/oct-time.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/oct-time.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1999-2012 John W. Eaton
+Copyright (C) 1999-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/oct-uname.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/oct-uname.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 John W. Eaton
+Copyright (C) 2005-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/oct-uname.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/oct-uname.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 John W. Eaton
+Copyright (C) 2005-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/pathlen.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/pathlen.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/sysdir.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/sysdir.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/system/syswait.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/system/syswait.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/action-container.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/action-container.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/util/base-list.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/base-list.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/byte-swap.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/byte-swap.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/caseless-str.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/caseless-str.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 Shai Ayal
+Copyright (C) 2007-2013 Shai Ayal
 
 This file is part of Octave.
 
--- a/liboctave/util/cmd-edit.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/cmd-edit.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/cmd-edit.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/cmd-edit.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/cmd-hist.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/cmd-hist.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/cmd-hist.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/cmd-hist.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/data-conv.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/data-conv.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/data-conv.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/data-conv.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/f2c-main.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/f2c-main.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/functor.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/functor.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 John W. Eaton
+Copyright (C) 2008-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/glob-match.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/glob-match.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/glob-match.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/glob-match.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/kpse.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/kpse.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -3,6 +3,7 @@
 
 /* Look up a filename in a path.
 
+Copyright (C) 2003-2013 John W. Eaton
 Copyright (C) 1993, 94, 95, 96, 97, 98 Karl Berry.
 Copyright (C) 1993, 94, 95, 96, 97 Karl Berry & O. Weber.
 Copyright (C) 1992, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
--- a/liboctave/util/lo-array-gripes.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/lo-array-gripes.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 John W. Eaton
+Copyright (C) 2003-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/util/lo-array-gripes.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/lo-array-gripes.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 John W. Eaton
+Copyright (C) 2000-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/lo-cieee.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/lo-cieee.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2002-2012 John W. Eaton
+Copyright (C) 2002-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/lo-cutils.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/lo-cutils.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 John W. Eaton
+Copyright (C) 2000-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/lo-cutils.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/lo-cutils.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 John W. Eaton
+Copyright (C) 2012-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/lo-ieee.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/lo-ieee.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/lo-ieee.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/lo-ieee.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/lo-macros.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/lo-macros.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2012 VZLU Prague
+Copyright (C) 2010-2013 VZLU Prague
 
 This file is part of Octave.
 
--- a/liboctave/util/lo-math.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/lo-math.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 John W. Eaton
+Copyright (C) 2007-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/lo-regexp.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/lo-regexp.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2012 John W. Eaton
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 Copyright (C) 2002-2005 Paul Kienzle
 
 This file is part of Octave.
--- a/liboctave/util/lo-regexp.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/lo-regexp.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2012 John W. Eaton
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 
 This file is part of Octave.
 
--- a/liboctave/util/lo-traits.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/lo-traits.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 John W. Eaton
+Copyright (C) 2009-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/lo-utils.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/lo-utils.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 // utils.cc
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/lo-utils.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/lo-utils.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-alloc.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-alloc.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-alloc.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-alloc.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-base64.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-base64.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 John W. Eaton
+Copyright (C) 2012-2013 John W. Eaton
 
 This file is part of Octave.
 
@@ -38,7 +38,7 @@
 
   size_t outlen = base64_encode_alloc (inc, inlen, out);
   
-  if (! *out)
+  if (! out)
     {
       if (outlen == 0 && inlen != 0)
         (*current_liboctave_error_handler)
@@ -74,8 +74,11 @@
   else
     {
       if ((outlen % (sizeof (double) / sizeof (char))) != 0)
-        (*current_liboctave_error_handler)
-          ("base64_decode: incorrect input size");
+        {
+          ::free (out);
+          (*current_liboctave_error_handler)
+            ("base64_decode: incorrect input size");
+        }
       else
         {
           octave_idx_type len = (outlen * sizeof (char)) / sizeof (double);
--- a/liboctave/util/oct-base64.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-base64.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 John W. Eaton
+Copyright (C) 2012-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-binmap.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-binmap.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2012 VZLU Prague
+Copyright (C) 2010-2013 VZLU Prague
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-cmplx.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-cmplx.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1995-2012 John W. Eaton
+Copyright (C) 1995-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague, a.s.
 
 This file is part of Octave.
--- a/liboctave/util/oct-glob.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-glob.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2012 John W. Eaton
+Copyright (C) 2010-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-glob.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-glob.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2012 John W. Eaton
+Copyright (C) 2010-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-inttypes.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-inttypes.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/util/oct-inttypes.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-inttypes.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 John W. Eaton
+Copyright (C) 2004-2013 John W. Eaton
 Copyright (C) 2008-2009 Jaroslav Hajek
 
 This file is part of Octave.
--- a/liboctave/util/oct-locbuf.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-locbuf.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-locbuf.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-locbuf.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Jaroslav Hajek
+Copyright (C) 2008-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-md5.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-md5.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 David Bateman
+Copyright (C) 2007-2013 David Bateman
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-md5.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-md5.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007-2012 David Bateman
+Copyright (C) 2007-2013 David Bateman
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-mem.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-mem.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2009-2012 VZLU Prague
+Copyright (C) 2009-2013 VZLU Prague
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-mutex.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-mutex.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Michael Goffioul
+Copyright (C) 2008-2013 Michael Goffioul
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-mutex.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-mutex.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Michael Goffioul
+Copyright (C) 2008-2013 Michael Goffioul
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-refcount.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-refcount.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 Jaroslav Hajek
+Copyright (C) 2012-2013 Jaroslav Hajek
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-rl-edit.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-rl-edit.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 John W. Eaton
+Copyright (C) 2000-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-rl-edit.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-rl-edit.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 John W. Eaton
+Copyright (C) 2000-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-rl-hist.c	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-rl-hist.c	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 John W. Eaton
+Copyright (C) 2000-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-rl-hist.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-rl-hist.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2000-2012 John W. Eaton
+Copyright (C) 2000-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/oct-shlib.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-shlib.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1999-2012 John W. Eaton
+Copyright (C) 1999-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/util/oct-shlib.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-shlib.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1999-2012 John W. Eaton
+Copyright (C) 1999-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/util/oct-sort.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-sort.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2003-2012 David Bateman
+Copyright (C) 2003-2013 David Bateman
 Copyright (C) 2008-2009 Jaroslav Hajek
 Copyright (C) 2009-2010 VZLU Prague
 
--- a/liboctave/util/oct-sort.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-sort.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 /*
-Copyright (C) 2003-2012 David Bateman
+Copyright (C) 2003-2013 David Bateman
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/util/oct-sparse.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/oct-sparse.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 
 This file is part of Octave.
 
--- a/liboctave/util/pathsearch.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/pathsearch.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/pathsearch.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/pathsearch.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/singleton-cleanup.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/singleton-cleanup.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 John W. Eaton
+Copyright (C) 2012-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/sparse-sort.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/sparse-sort.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/util/sparse-sort.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/sparse-sort.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2004-2012 David Bateman
+Copyright (C) 2004-2013 David Bateman
 Copyright (C) 1998-2004 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/util/sparse-util.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/sparse-util.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 Copyright (C) 1998-2005 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/util/sparse-util.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/sparse-util.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2005-2012 David Bateman
+Copyright (C) 2005-2013 David Bateman
 Copyright (C) 1998-2005 Andy Adler
 
 This file is part of Octave.
--- a/liboctave/util/statdefs.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/statdefs.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/str-vec.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/str-vec.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/str-vec.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/str-vec.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1996-2012 John W. Eaton
+Copyright (C) 1996-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/sun-utils.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/sun-utils.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/liboctave/util/unwind-prot.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/unwind-prot.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2009 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/util/unwind-prot.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/unwind-prot.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 Copyright (C) 2009-2010 VZLU Prague
 
 This file is part of Octave.
--- a/liboctave/util/url-transfer.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/url-transfer.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2006-2012 Alexander Barth
+Copyright (C) 2006-2013 Alexander Barth
 Copyright (C) 2009 David Bateman
 
 This file is part of Octave.
--- a/liboctave/util/url-transfer.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/liboctave/util/url-transfer.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,7 +1,7 @@
 /*
 
 Copyright (C) 2013 John W. Eaton
-Copyright (C) 2006-2012 Alexander Barth
+Copyright (C) 2006-2013 Alexander Barth
 Copyright (C) 2009 David Bateman
 
 This file is part of Octave.
--- a/m4/acinclude.m4	Mon Oct 14 17:16:36 2013 -0400
+++ b/m4/acinclude.m4	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 dnl aclocal.m4 -- extra macros for configuring Octave
 dnl
-dnl Copyright (C) 1995-2012 John W. Eaton
+dnl Copyright (C) 1995-2013 John W. Eaton
 dnl
 dnl This file is part of Octave.
 dnl
@@ -70,7 +70,7 @@
 dnl Otherwise, add FLAG to CFLAGS if the compiler accepts the flag.
 dnl
 AC_DEFUN([OCTAVE_CC_FLAG], [
-  ac_safe=`echo "$1" | sed 'y% ./+-:=%___p___%'`
+  ac_safe=`echo "$1" | $SED 'y% ./+-:=%___p___%'`
   AC_MSG_CHECKING([whether ${CC-cc} accepts $1])
   AC_CACHE_VAL([octave_cv_cc_flag_$ac_safe],
     [AC_LANG_PUSH(C)
@@ -151,7 +151,7 @@
 dnl argument and returning bool/int/real.
 dnl
 AC_DEFUN([OCTAVE_CHECK_FUNC_CMATH], [
-  ac_safe=`echo "$1" | sed 'y% ./+-:=%___p___%'`
+  ac_safe=`echo "$1" | $SED 'y% ./+-:=%___p___%'`
 
   AC_CACHE_CHECK([for std::$1 in <cmath>],
     [octave_cv_func_cmath_$ac_safe],
@@ -1109,7 +1109,7 @@
 dnl Otherwise, add FLAG to CXXFLAGS if the compiler accepts the flag.
 dnl
 AC_DEFUN([OCTAVE_CXX_FLAG], [
-  ac_safe=`echo "$1" | sed 'y%./+-:=%__p___%'`
+  ac_safe=`echo "$1" | $SED 'y%./+-:=%__p___%'`
   AC_MSG_CHECKING([whether ${CXX-g++} accepts $1])
   AC_CACHE_VAL([octave_cv_cxx_flag_$ac_safe],
     [AC_LANG_PUSH(C++)
@@ -1266,7 +1266,7 @@
 dnl the flag.
 dnl
 AC_DEFUN([OCTAVE_F77_FLAG], [
-  ac_safe=`echo "$1" | sed 'y%./+-:=%__p___%'`
+  ac_safe=`echo "$1" | $SED 'y%./+-:=%__p___%'`
   AC_MSG_CHECKING([whether ${F77-g77} accepts $1])
   AC_CACHE_VAL([octave_cv_f77_flag_$ac_safe], [
     AC_LANG_PUSH(Fortran 77)
--- a/oct-conf-post.in.h	Mon Oct 14 17:16:36 2013 -0400
+++ b/oct-conf-post.in.h	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 1993-2012 John W. Eaton
+Copyright (C) 1993-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/run-octave.in	Mon Oct 14 17:16:36 2013 -0400
+++ b/run-octave.in	Wed Oct 23 22:29:06 2013 -0400
@@ -2,7 +2,7 @@
 ##
 ## run-octave -- run Octave in the build tree.
 ## 
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ## 
--- a/scripts/@ftp/ascii.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/@ftp/ascii.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 David Bateman
+## Copyright (C) 2009-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/@ftp/binary.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/@ftp/binary.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 David Bateman
+## Copyright (C) 2009-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/@ftp/cd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/@ftp/cd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 David Bateman
+## Copyright (C) 2009-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/@ftp/close.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/@ftp/close.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 David Bateman
+## Copyright (C) 2009-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/@ftp/delete.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/@ftp/delete.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 David Bateman
+## Copyright (C) 2009-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/@ftp/dir.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/@ftp/dir.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 David Bateman
+## Copyright (C) 2009-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/@ftp/display.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/@ftp/display.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 David Bateman
+## Copyright (C) 2009-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/@ftp/ftp.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/@ftp/ftp.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 David Bateman
+## Copyright (C) 2009-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/@ftp/loadobj.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/@ftp/loadobj.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 David Bateman
+## Copyright (C) 2009-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/@ftp/mget.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/@ftp/mget.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 David Bateman
+## Copyright (C) 2009-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/@ftp/mkdir.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/@ftp/mkdir.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 David Bateman
+## Copyright (C) 2009-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/@ftp/mput.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/@ftp/mput.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 David Bateman
+## Copyright (C) 2009-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/@ftp/rename.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/@ftp/rename.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 David Bateman
+## Copyright (C) 2009-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/@ftp/rmdir.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/@ftp/rmdir.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 David Bateman
+## Copyright (C) 2009-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/@ftp/saveobj.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/@ftp/saveobj.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 David Bateman
+## Copyright (C) 2009-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/Makefile.am	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/Makefile.am	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 # Makefile for Octave's scripts directory
 #
-# Copyright (C) 1993-2012 John W. Eaton
+# Copyright (C) 1993-2013 John W. Eaton
 #
 # This file is part of Octave.
 #
@@ -75,7 +75,6 @@
 include strings/module.mk
 include testfun/module.mk
 include time/module.mk
-include ui/module.mk
 
 nobase_fcnfile_DATA = $(FCN_FILES) $(GEN_FCN_FILES) $(JAR_FILES)
 
--- a/scripts/audio/lin2mu.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/audio/lin2mu.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 John W. Eaton
+## Copyright (C) 1995-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/audio/loadaudio.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/audio/loadaudio.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 John W. Eaton
+## Copyright (C) 1995-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/audio/mu2lin.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/audio/mu2lin.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 John W. Eaton
+## Copyright (C) 1995-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/audio/playaudio.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/audio/playaudio.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 John W. Eaton
+## Copyright (C) 1995-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/audio/record.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/audio/record.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 John W. Eaton
+## Copyright (C) 1995-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/audio/saveaudio.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/audio/saveaudio.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 John W. Eaton
+## Copyright (C) 1995-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/audio/setaudio.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/audio/setaudio.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 John W. Eaton
+## Copyright (C) 1995-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/audio/wavread.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/audio/wavread.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Michael Zeising
+## Copyright (C) 2005-2013 Michael Zeising
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/audio/wavwrite.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/audio/wavwrite.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Michael Zeising
+## Copyright (C) 2005-2013 Michael Zeising
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/__error_text__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/__error_text__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/cor.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/cor.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/corrcoef.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/corrcoef.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/cut.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/cut.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/error_text.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/error_text.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/deprecated/interp1q.m	Wed Oct 23 22:29:06 2013 -0400
@@ -0,0 +1,81 @@
+## Copyright (C) 2008-2013 David Bateman
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn {Function File} {@var{yi} =} interp1q (@var{x}, @var{y}, @var{xi})
+## One-dimensional linear interpolation without error checking.
+## Interpolates @var{y}, defined at the points @var{x}, at the points
+## @var{xi}.  The sample points @var{x} must be a strictly monotonically
+## increasing column vector.  If @var{y} is a matrix or an N-dimensional
+## array, the interpolation is performed on each column of @var{y}.  If
+## @var{y} is a vector, it must be a column vector of the same length as
+## @var{x}.
+##
+## Values of @var{xi} beyond the endpoints of the interpolation result
+## in NA being returned.
+##
+## Note that the error checking is only a significant portion of the
+## execution time of this @code{interp1} if the size of the input arguments
+## is relatively small.  Therefore, the benefit of using @code{interp1q}
+## is relatively small.
+## @seealso{interp1}
+## @end deftypefn
+
+function yi = interp1q (x, y, xi)
+
+  persistent warned = false;
+  if (! warned)
+    warned = true;
+    warning ("Octave:deprecated-function",
+             "interp1q is obsolete and will be removed from a future version of Octave; use interp1 instead");
+  endif
+
+  x = x(:);
+  nx = rows (x);
+  szy = size (y);
+  y = y(:,:);
+  [ny, nc] = size (y);
+  szx = size (xi);
+  xi = xi (:);
+  dy = diff (y);
+  dx = diff (x);
+  idx = lookup (x, xi, "lr");
+  s = (xi - x (idx)) ./ dx (idx);
+  yi = bsxfun (@times, s, dy(idx,:)) + y(idx,:);
+  range = xi < x(1) | !(xi <= x(nx));
+  yi(range,:) = NA;
+  if (length (szx) == 2 && any (szx == 1))
+    yi = reshape (yi, [max(szx), szy(2:end)]);
+  else
+    yi = reshape (yi, [szx, szy(2:end)]);
+  endif
+endfunction
+
+
+%!shared xp, yp, xi, yi
+%! xp = [0:2:10].';   yp = sin (2*pi*xp/5);
+%! xi = [-1; 0; 2.2; 4; 6.6; 10; 11];
+%! yi = interp1 (xp,yp,xi);
+%!assert (interp1q (xp,yp, [min(xp)-1; max(xp)+1]), [NA; NA]);
+%!assert (interp1q (xp,yp,xp), yp, 100*eps);
+%!assert (isempty (interp1q (xp,yp,[])));
+%!assert (interp1q (xp,yp,xi), yi);
+%!assert (interp1q (xp,[yp,yp],xi), [yi, yi]);
+%!assert (interp1q (xp,yp,[xi,xi]), [yi, yi]);
+%!assert (interp1q (xp,[yp,yp],[xi,xi]), cat (3, [yi, yi], [yi, yi]));
+
--- a/scripts/deprecated/isequalwithequalnans.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/isequalwithequalnans.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 William Poetra Yoga Hadisoeseno
+## Copyright (C) 2005-2013 William Poetra Yoga Hadisoeseno
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/isstr.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/isstr.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2003-2012 John W. Eaton
+## Copyright (C) 2003-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/java_convert_matrix.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/java_convert_matrix.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Rik Wehbring
+## Copyright (C) 2012-2013 Rik Wehbring
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/java_debug.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/java_debug.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Rik Wehbring
+## Copyright (C) 2012-2013 Rik Wehbring
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/java_get.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/java_get.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Rik Wehbring
+## Copyright (C) 2012-2013 Rik Wehbring
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/java_invoke.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/java_invoke.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007 Michael Goffioul
+## Copyright (C) 2007, 2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/java_new.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/java_new.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Rik Wehbring
+## Copyright (C) 2012-2013 Rik Wehbring
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/java_set.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/java_set.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Rik Wehbring
+## Copyright (C) 2012-2013 Rik Wehbring
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/java_unsigned_conversion.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/java_unsigned_conversion.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Rik Wehbring
+## Copyright (C) 2012-2013 Rik Wehbring
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/javafields.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/javafields.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007 Michael Goffioul
+## Copyright (C) 2007, 2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/javamethods.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/javamethods.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007 Michael Goffioul
+## Copyright (C) 2007, 2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/module.mk	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/module.mk	Wed Oct 23 22:29:06 2013 -0400
@@ -6,12 +6,13 @@
   deprecated/corrcoef.m \
   deprecated/cut.m \
   deprecated/default_save_options.m \
-  deprecated/java_debug.m \
   deprecated/error_text.m \
   deprecated/gen_doc_cache.m \
+  deprecated/interp1q.m \
   deprecated/isequalwithequalnans.m \
   deprecated/isstr.m \
   deprecated/java_convert_matrix.m \
+  deprecated/java_debug.m \
   deprecated/java_get.m \
   deprecated/java_invoke.m \
   deprecated/java_new.m \
--- a/scripts/deprecated/polyderiv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/polyderiv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/shell_cmd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/shell_cmd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Rik Wehbring
+## Copyright (C) 2012-2013 Rik Wehbring
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/studentize.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/studentize.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/deprecated/sylvester_matrix.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/deprecated/sylvester_matrix.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/acosd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/acosd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman
+## Copyright (C) 2006-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/acot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/acot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/acotd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/acotd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman
+## Copyright (C) 2006-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/acoth.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/acoth.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/acsc.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/acsc.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/acscd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/acscd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman
+## Copyright (C) 2006-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/acsch.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/acsch.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/asec.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/asec.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/asecd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/asecd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman
+## Copyright (C) 2006-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/asech.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/asech.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/asind.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/asind.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman
+## Copyright (C) 2006-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/atand.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/atand.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman
+## Copyright (C) 2006-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/cosd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/cosd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman
+## Copyright (C) 2006-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/cot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/cot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/cotd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/cotd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman
+## Copyright (C) 2006-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/coth.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/coth.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/csc.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/csc.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/cscd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/cscd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman
+## Copyright (C) 2006-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/csch.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/csch.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/sec.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/sec.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/secd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/secd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman
+## Copyright (C) 2006-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/sech.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/sech.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/sind.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/sind.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman
+## Copyright (C) 2006-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/elfun/tand.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/elfun/tand.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman
+## Copyright (C) 2006-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/accumarray.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/accumarray.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ## Copyright (C) 2009-2010 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/general/accumdim.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/accumdim.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 VZLU Prague
+## Copyright (C) 2010-2013 VZLU Prague
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/bicubic.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/bicubic.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Hoxide Ma
+## Copyright (C) 2005-2013 Hoxide Ma
 ##
 ## This file is part of Octave.
 ##
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/general/bincoeff.m	Wed Oct 23 22:29:06 2013 -0400
@@ -0,0 +1,120 @@
+## Copyright (C) 1995-2013 Kurt Hornik
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn {Mapping Function} {} bincoeff (@var{n}, @var{k})
+## Return the binomial coefficient of @var{n} and @var{k}, defined as
+## @tex
+## $$
+##  {n \choose k} = {n (n-1) (n-2) \cdots (n-k+1) \over k!}
+## $$
+## @end tex
+## @ifnottex
+##
+## @example
+## @group
+##  /   \
+##  | n |    n (n-1) (n-2) @dots{} (n-k+1)
+##  |   |  = -------------------------
+##  | k |               k!
+##  \   /
+## @end group
+## @end example
+##
+## @end ifnottex
+## For example:
+##
+## @example
+## @group
+## bincoeff (5, 2)
+##    @result{} 10
+## @end group
+## @end example
+##
+## In most cases, the @code{nchoosek} function is faster for small
+## scalar integer arguments.  It also warns about loss of precision for
+## big arguments.
+##
+## @seealso{nchoosek}
+## @end deftypefn
+
+## Author: KH <Kurt.Hornik@wu-wien.ac.at>
+## Created: 8 October 1994
+## Adapted-By: jwe
+
+function b = bincoeff (n, k)
+
+  if (nargin != 2)
+    print_usage ();
+  endif
+
+  [retval, n, k] = common_size (n, k);
+  if (retval > 0)
+    error ("bincoeff: N and K must be of common size or scalars");
+  endif
+
+  if (iscomplex (n) || iscomplex (k))
+    error ("bincoeff: N and K must not be complex");
+  endif
+
+  b = zeros (size (n));
+
+  ok = (k >= 0) & (k == fix (k)) & (! isnan (n));
+  b(! ok) = NaN;
+
+  n_int = (n == fix (n));
+  idx = n_int & (n < 0) & ok;
+  b(idx) = (-1) .^ k(idx) .* exp (gammaln (abs (n(idx)) + k(idx))
+                                  - gammaln (k(idx) + 1)
+                                  - gammaln (abs (n(idx))));
+
+  idx = (n >= k) & ok;
+  b(idx) = exp (gammaln (n(idx) + 1)
+                - gammaln (k(idx) + 1)
+                - gammaln (n(idx) - k(idx) + 1));
+
+  idx = (! n_int) & (n < k) & ok;
+  b(idx) = (1/pi) * exp (gammaln (n(idx) + 1)
+                         - gammaln (k(idx) + 1)
+                         + gammaln (k(idx) - n(idx))
+                         + log (sin (pi * (n(idx) - k(idx) + 1))));
+
+  ## Clean up rounding errors.
+  b(n_int) = round (b(n_int));
+
+  idx = ! n_int;
+  b(idx) = real (b(idx));
+
+endfunction
+
+
+%!assert (bincoeff (4, 2), 6)
+%!assert (bincoeff (2, 4), 0)
+%!assert (bincoeff (-4, 2), 10)
+%!assert (bincoeff (5, 2), 10)
+%!assert (bincoeff (50, 6), 15890700)
+%!assert (bincoeff (0.4, 2), -.12, 8*eps)
+
+%!assert (bincoeff ([4 NaN 4], [-1, 2, 2.5]), NaN (1, 3))
+
+%% Test input validation
+%!error bincoeff ()
+%!error bincoeff (1, 2, 3)
+%!error bincoeff (ones (3),ones (2))
+%!error bincoeff (ones (2),ones (3))
+
--- a/scripts/general/bitcmp.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/bitcmp.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 David Bateman
+## Copyright (C) 2004-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/bitget.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/bitget.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 David Bateman
+## Copyright (C) 2004-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/bitset.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/bitset.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 David Bateman
+## Copyright (C) 2004-2013 David Bateman
 ## Copyright (C) 2012 Jordi Gutiérrez Hermoso
 ##
 ## This file is part of Octave.
--- a/scripts/general/blkdiag.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/blkdiag.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Daniel Calvelo
+## Copyright (C) 2000-2013 Daniel Calvelo
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/cart2pol.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/cart2pol.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Kai Habel
+## Copyright (C) 2000-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/cart2sph.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/cart2sph.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Kai Habel
+## Copyright (C) 2000-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/cell2mat.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/cell2mat.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Laurent Mazet
+## Copyright (C) 2005-2013 Laurent Mazet
 ## Copyright (C) 2010 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/general/celldisp.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/celldisp.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/chop.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/chop.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 John W. Eaton
+## Copyright (C) 2010-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/circshift.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/circshift.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 David Bateman
+## Copyright (C) 2004-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/colon.m	Mon Oct 14 17:16:36 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-## Copyright (C) 2008-2012 David Bateman
-##
-## This file is part of Octave.
-##
-## Octave is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn  {Function File} {@var{r} =} colon (@var{a}, @var{b})
-## @deftypefnx {Function File} {@var{r} =} colon (@var{a}, @var{b}, @var{c})
-## Method of a class to construct a range with the @code{:} operator.  For
-## example:
-##
-## @example
-## @group
-## a = myclass (@dots{});
-## b = myclass (@dots{});
-## c = a : b
-## @end group
-## @end example
-##
-## @seealso{class, subsref, subsasgn}
-## @end deftypefn
-
-function r = colon (varargin)
-  if (nargin != 0)
-    error ('colon: not defined for class "%s"', class (varargin{1}));
-  endif
-endfunction
-
-
-%!error colon (1)
-
-## FIXME -- what does colon () mean since it doesn't set a return value?
-
--- a/scripts/general/common_size.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/common_size.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ## Copyright (C) 2009 VZLU Prague
 ## Copyright (C) 2009 Jaroslav Hajek
 ##
--- a/scripts/general/cplxpair.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/cplxpair.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/cumtrapz.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/cumtrapz.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Kai Habel
+## Copyright (C) 2000-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/curl.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/curl.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Kai Habel
+## Copyright (C) 2009-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/dblquad.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/dblquad.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/deal.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/deal.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1998-2012 Ariel Tankus
+## Copyright (C) 1998-2013 Ariel Tankus
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/del2.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/del2.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Kai Habel
+## Copyright (C) 2000-2013 Kai Habel
 ## Copyright (C) 2007  David Bateman
 ##
 ## This file is part of Octave.
--- a/scripts/general/display.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/display.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/divergence.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/divergence.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Kai Habel
+## Copyright (C) 2009-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/fieldnames.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/fieldnames.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Rik Wehbring
+## Copyright (C) 2012-2013 Rik Wehbring
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/flipdim.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/flipdim.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 David Bateman
+## Copyright (C) 2004-2013 David Bateman
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/general/fliplr.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/fliplr.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/flipud.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/flipud.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/genvarname.m	Mon Oct 14 17:16:36 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-## Copyright (C) 2008-2012 Bill Denney, Robert Platt
-##
-## This file is part of Octave.
-##
-## Octave is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn  {Function File} {@var{varname} =} genvarname (@var{str})
-## @deftypefnx {Function File} {@var{varname} =} genvarname (@var{str}, @var{exclusions})
-## Create unique variable(s) from @var{str}.  If @var{exclusions} is
-## given, then the variable(s) will be unique to each other and to
-## @var{exclusions} (@var{exclusions} may be either a string or a cellstr).
-##
-## If @var{str} is a cellstr, then a unique variable is created for each
-## cell in @var{str}.
-##
-## @example
-## @group
-## x = 3.141;
-## genvarname ("x", who ())
-##   @result{} x1
-## @end group
-## @end example
-##
-## If @var{wanted} is a cell array, genvarname will make sure the returned
-## strings are distinct:
-##
-## @example
-## @group
-## genvarname (@{"foo", "foo"@})
-##   @result{}
-##      @{
-##        [1,1] = foo
-##        [1,2] = foo1
-##      @}
-## @end group
-## @end example
-##
-## Note that the result is a char array/cell array of strings, not the
-## variables themselves.  To define a variable, @code{eval()} can be
-## used.  The following trivial example sets @code{x} to @code{42}.
-##
-## @example
-## @group
-## name = genvarname ("x");
-## eval ([name " = 42"]);
-##   @result{} x =  42
-## @end group
-## @end example
-##
-## Also, this can be useful for creating unique struct field names.
-##
-## @example
-## @group
-## x = struct ();
-## for i = 1:3
-##   x.(genvarname ("a", fieldnames (x))) = i;
-## endfor
-##   @result{} x =
-##      @{
-##        a =  1
-##        a1 =  2
-##        a2 =  3
-##      @}
-## @end group
-## @end example
-##
-## Since variable names may only contain letters, digits and underscores,
-## genvarname replaces any sequence of disallowed characters with
-## an underscore.  Also, variables may not begin with a digit; in this
-## case an underscore is added before the variable name.
-##
-## Variable names beginning and ending with two underscores @qcode{"__"} are
-## valid but they are used internally by octave and should generally be
-## avoided, therefore genvarname will not generate such names.
-##
-## genvarname will also make sure that returned names do not clash with
-## keywords such as @qcode{"for"} and @qcode{"if"}.  A number will be
-## appended if necessary.  Note, however, that this does @strong{not} include
-## function names, such as @qcode{"sin"}.  Such names should be included in
-## @var{avoid} if necessary.
-## @seealso{isvarname, exist, tmpnam, eval}
-## @end deftypefn
-
-## Authors: Rob Platt <robert.platt@postgrad.manchester.ac.uk>
-##          Bill Denney <bill@denney.ws>
-
-function varname = genvarname (str, exclusions)
-
-  strinput = ischar (str);
-  ## Process the inputs
-  if (nargin < 2)
-    exclusions = {};
-  elseif (ischar (exclusions))
-    if (rows (exclusions) != 1)
-      error ("genvarname: if more than one exclusion is given, it must be a cellstr");
-    endif
-    exclusions = {exclusions};
-  elseif (! iscellstr (exclusions))
-    error ("genvarname: EXCLUSIONS must be a string or a cellstr");
-  endif
-  if (ischar (str))
-    if (rows (str) != 1)
-      error ("genvarname: if more than one STR is given, it must be a cellstr");
-    endif
-    str = {str};
-  elseif (! iscellstr (str))
-    error ("genvarname: STR must be a string or a cellstr");
-  endif
-
-  validchars = ["A":"Z", "a":"z", "0":"9", "_"];
-
-  varname = cell (size (str));
-  for i = 1:numel (str)
-    ## Perform any modifications to the varname to make sure that it is
-    ## a valid variable name.
-
-    ## remove invalid characters
-    str{i}(! ismember (str{i}, validchars)) = "_";
-    ## do not use keywords
-    if (iskeyword (str{i}))
-      str{i} = ["_" str{i}];
-    endif
-    ## double underscores at the beginning and end are reserved variables
-    underscores = (str{i} == "_");
-    if (any (underscores))
-      firstnon = find (!underscores, 1);
-      lastnon = find (!underscores, 1, "last");
-      str{i}([1:firstnon-2, lastnon+2:end]) = [];
-    endif
-    ## The variable cannot be empty
-    if (isempty (str{i}))
-      str{i} = "x";
-    endif
-    ## it cannot start with a number
-    if (ismember (str{i}(1), "0":"9"))
-      str{i} = ["_" str{i}];
-    endif
-
-    ## make sure that the variable is unique relative to other variables
-    ## and the exclusions list
-    excluded = any (strcmp (str{i}, exclusions));
-    if (excluded && ismember (str{i}(end), "0":"9"))
-      ## if it is not unique and ends with a digit, add an underscore to
-      ## make the variable name more readable ("x1_1" instead of "x11")
-      str{i}(end+1) = "_";
-    endif
-    varname(i) = str(i);
-    idx = 0;
-    while (excluded)
-      idx++;
-      varname{i} = sprintf ("%s%d", str{i}, idx);
-      excluded = any (strcmp (varname{i}, exclusions));
-    endwhile
-    exclusions(end+1) = varname(i);
-  endfor
-
-  if (strinput)
-    varname = varname{1};
-  endif
-
-endfunction
-
-
-## a single argument
-%!assert (genvarname ("a"), "a")
-## a single argument with a non-conflicting exception
-%!assert (genvarname ("a", "b"), "a")
-## a single argument with a conflicting exception
-%!assert (genvarname ("a", "a"), "a1")
-## a single argument as a cell
-%!assert (genvarname ({"a"}), {"a"})
-%!assert (genvarname ({"a"}, "b"), {"a"})
-%!assert (genvarname ({"a"}, {"b"}), {"a"})
-%!assert (genvarname ({"a"}, "a"), {"a1"})
-%!assert (genvarname ({"a"}, {"a"}), {"a1"})
-## Test different arguments
-## orientation
-%!assert (genvarname ({"a" "b"}), {"a" "b"})
-%!assert (genvarname ({"a";"b"}), {"a";"b"})
-%!assert (genvarname ({"a" "a"}), {"a" "a1"})
-%!assert (genvarname ({"a" "b";"c" "d"}), {"a" "b";"c" "d"})
-%!assert (genvarname ({"a" "a" "a";"a" "a" "a"}), {"a" "a2" "a4";"a1" "a3" "a5"})
-## more than one repetition
-%!assert (genvarname ({"a" "a" "a"}), {"a" "a1" "a2"})
-%!assert (genvarname ({"a" "a" "a"}, {"a" "a1" "a2"}), {"a3" "a4" "a5"})
-## more than one repetition not in order
-%!assert (genvarname ({"a" "b" "a" "b" "a"}), {"a" "b" "a1" "b1" "a2"})
-## Variable name munging
-%!assert (genvarname ("__x__"), "_x_")
-%!assert (genvarname ("123456789"), "_123456789")
-%!assert (genvarname ("_$1__"), "_1_")
-%!assert (genvarname ("__foo__", "_foo_"), "_foo_1")
-%!assert (genvarname ("1million_and1", "_1million_and1"), "_1million_and1_1")
-%!assert (genvarname ({"", "", ""}), {"x", "x1", "x2"})
-%!assert (genvarname ("if"), "_if")
-%!assert (genvarname ({"if", "if", "if"}), {"_if", "_if1", "_if2"})
-
--- a/scripts/general/gradient.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/gradient.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Kai Habel
+## Copyright (C) 2000-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/idivide.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/idivide.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/int2str.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/int2str.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/interp1.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/interp1.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/general/interp1q.m	Mon Oct 14 17:16:36 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-## Copyright (C) 2008-2012 David Bateman
-##
-## This file is part of Octave.
-##
-## Octave is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn {Function File} {@var{yi} =} interp1q (@var{x}, @var{y}, @var{xi})
-## One-dimensional linear interpolation without error checking.
-## Interpolates @var{y}, defined at the points @var{x}, at the points
-## @var{xi}.  The sample points @var{x} must be a strictly monotonically
-## increasing column vector.  If @var{y} is a matrix or an N-dimensional
-## array, the interpolation is performed on each column of @var{y}.  If
-## @var{y} is a vector, it must be a column vector of the same length as
-## @var{x}.
-##
-## Values of @var{xi} beyond the endpoints of the interpolation result
-## in NA being returned.
-##
-## Note that the error checking is only a significant portion of the
-## execution time of this @code{interp1} if the size of the input arguments
-## is relatively small.  Therefore, the benefit of using @code{interp1q}
-## is relatively small.
-## @seealso{interp1}
-## @end deftypefn
-
-function yi = interp1q (x, y, xi)
-  x = x(:);
-  nx = rows (x);
-  szy = size (y);
-  y = y(:,:);
-  [ny, nc] = size (y);
-  szx = size (xi);
-  xi = xi (:);
-  dy = diff (y);
-  dx = diff (x);
-  idx = lookup (x, xi, "lr");
-  s = (xi - x (idx)) ./ dx (idx);
-  yi = bsxfun (@times, s, dy(idx,:)) + y(idx,:);
-  range = xi < x(1) | !(xi <= x(nx));
-  yi(range,:) = NA;
-  if (length (szx) == 2 && any (szx == 1))
-    yi = reshape (yi, [max(szx), szy(2:end)]);
-  else
-    yi = reshape (yi, [szx, szy(2:end)]);
-  endif
-endfunction
-
-
-%!shared xp, yp, xi, yi
-%! xp = [0:2:10].';   yp = sin (2*pi*xp/5);
-%! xi = [-1; 0; 2.2; 4; 6.6; 10; 11];
-%! yi = interp1 (xp,yp,xi);
-%!assert (interp1q (xp,yp, [min(xp)-1; max(xp)+1]), [NA; NA]);
-%!assert (interp1q (xp,yp,xp), yp, 100*eps);
-%!assert (isempty (interp1q (xp,yp,[])));
-%!assert (interp1q (xp,yp,xi), yi);
-%!assert (interp1q (xp,[yp,yp],xi), [yi, yi]);
-%!assert (interp1q (xp,yp,[xi,xi]), [yi, yi]);
-%!assert (interp1q (xp,[yp,yp],[xi,xi]), cat (3, [yi, yi], [yi, yi]));
-
--- a/scripts/general/interp2.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/interp2.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Kai Habel
+## Copyright (C) 2000-2013 Kai Habel
 ## Copyright (C) 2009 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/general/interp3.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/interp3.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/interpft.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/interpft.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2001-2012 Paul Kienzle
+## Copyright (C) 2001-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/interpn.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/interpn.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/isa.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/isa.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 John W. Eaton
+## Copyright (C) 2004-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/iscolumn.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/iscolumn.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/isdir.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/isdir.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 Alois Schloegl
+## Copyright (C) 2004-2013 Alois Schloegl
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/isequal.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/isequal.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 William Poetra Yoga Hadisoeseno
+## Copyright (C) 2005-2013 William Poetra Yoga Hadisoeseno
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/isequaln.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/isequaln.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 William Poetra Yoga Hadisoeseno
+## Copyright (C) 2005-2013 William Poetra Yoga Hadisoeseno
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/isrow.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/isrow.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/isscalar.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/isscalar.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/issquare.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/issquare.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/isvector.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/isvector.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/loadobj.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/loadobj.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/logspace.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/logspace.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/methods.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/methods.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Rik Wehbring
+## Copyright (C) 2012-2013 Rik Wehbring
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/module.mk	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/module.mk	Wed Oct 23 22:29:06 2013 -0400
@@ -8,6 +8,7 @@
   general/accumarray.m \
   general/accumdim.m \
   general/bicubic.m \
+  general/bincoeff.m \
   general/bitcmp.m \
   general/bitget.m \
   general/bitset.m \
@@ -18,7 +19,6 @@
   general/celldisp.m \
   general/chop.m \
   general/circshift.m \
-  general/colon.m \
   general/common_size.m \
   general/cplxpair.m \
   general/cumtrapz.m \
@@ -32,12 +32,10 @@
   general/flipdim.m \
   general/fliplr.m \
   general/flipud.m \
-  general/genvarname.m \
   general/gradient.m \
   general/idivide.m \
   general/int2str.m \
   general/interp1.m \
-  general/interp1q.m \
   general/interp2.m \
   general/interp3.m \
   general/interpn.m \
--- a/scripts/general/nargchk.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/nargchk.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Bill Denney
+## Copyright (C) 2008-2013 Bill Denney
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/narginchk.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/narginchk.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Carnë Draug
+## Copyright (C) 2012-2013 Carnë Draug
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/nargoutchk.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/nargoutchk.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Bill Denney
+## Copyright (C) 2008-2013 Bill Denney
 ## Copyright (C) 2012 Carnë Draug
 ##
 ## This file is part of Octave.
--- a/scripts/general/nextpow2.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/nextpow2.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/nthargout.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/nthargout.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Jordi Gutiérrez Hermoso
+## Copyright (C) 2012-2013 Jordi Gutiérrez Hermoso
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/num2str.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/num2str.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/pol2cart.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/pol2cart.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Kai Habel
+## Copyright (C) 2000-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/polyarea.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/polyarea.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 David M. Doolin
+## Copyright (C) 1999-2013 David M. Doolin
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/postpad.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/postpad.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/prepad.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/prepad.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/private/__isequal__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/private/__isequal__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/private/__splinen__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/private/__splinen__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/profexplore.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/profexplore.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Daniel Kraft
+## Copyright (C) 2012-2013 Daniel Kraft
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/profile.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/profile.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Daniel Kraft
+## Copyright (C) 2012-2013 Daniel Kraft
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/profshow.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/profshow.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Daniel Kraft
+## Copyright (C) 2012-2013 Daniel Kraft
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/quadgk.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/quadgk.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/quadl.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/quadl.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1998-2012 Walter Gautschi
+## Copyright (C) 1998-2013 Walter Gautschi
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/quadv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/quadv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ## Copyright (C) 2012 Alexander Klein
 ##
 ## This file is part of Octave.
--- a/scripts/general/randi.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/randi.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Rik Wehbring
+## Copyright (C) 2010-2013 Rik Wehbring
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/rat.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/rat.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2001-2012 Paul Kienzle
+## Copyright (C) 2001-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/repmat.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/repmat.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ## Copyright (C) 2008 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/general/rot90.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/rot90.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/rotdim.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/rotdim.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 David Bateman
+## Copyright (C) 2004-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/saveobj.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/saveobj.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/shift.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/shift.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/shiftdim.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/shiftdim.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 John Eaton and David Bateman
+## Copyright (C) 2004-2013 John Eaton and David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/sortrows.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/sortrows.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Daniel Calvelo
+## Copyright (C) 2000-2013 Daniel Calvelo
 ## Copyright (C) 2009 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/general/sph2cart.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/sph2cart.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Kai Habel
+## Copyright (C) 2000-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/structfun.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/structfun.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ## Copyright (C) 2010 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/general/subsindex.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/subsindex.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/trapz.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/trapz.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Kai Habel
+## Copyright (C) 2000-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/general/triplequad.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/general/triplequad.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/geometry/convhull.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/geometry/convhull.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Kai Habel
+## Copyright (C) 2000-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/geometry/delaunay.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/geometry/delaunay.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/geometry/delaunay3.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/geometry/delaunay3.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/geometry/delaunayn.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/geometry/delaunayn.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/geometry/dsearch.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/geometry/dsearch.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/geometry/dsearchn.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/geometry/dsearchn.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/geometry/griddata.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/geometry/griddata.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/geometry/griddata3.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/geometry/griddata3.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/geometry/griddatan.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/geometry/griddatan.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/geometry/inpolygon.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/geometry/inpolygon.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 Frederick (Rick) A Niles
+## Copyright (C) 2006-2013 Frederick (Rick) A Niles
 ##               and Søren Hauberg
 ##
 ## This file is part of Octave.
--- a/scripts/geometry/rectint.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/geometry/rectint.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Bill Denney
+## Copyright (C) 2008-2013 Bill Denney
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/geometry/tsearchn.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/geometry/tsearchn.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/geometry/voronoi.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/geometry/voronoi.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Kai Habel
+## Copyright (C) 2000-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/geometry/voronoin.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/geometry/voronoin.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Kai Habel
+## Copyright (C) 2000-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/gui/errordlg.m	Wed Oct 23 22:29:06 2013 -0400
@@ -0,0 +1,51 @@
+## Copyright (C) 2010, 2013 Martin Hepperle
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn  {Function File} {@var{h} =} errordlg (@var{msg})
+## @deftypefnx {Function File} {@var{h} =} errordlg (@var{msg}, @var{title})
+## Display @var{msg} using an error dialog box.
+##
+## The message may have multiple lines separated by newline characters
+## ("\n"), or it may be a cellstr array with one element for each
+## line.  The optional input @var{title} (character string) can be used to
+## set the dialog caption.  The default title is @qcode{"Error Dialog"}.
+##
+## The return value is always 1.
+## @seealso{helpdlg, inputdlg, listdlg, msgbox, questdlg, warndlg}
+## @end deftypefn
+
+function retval = errordlg (msg, title = "Error Dialog")
+
+  if (nargin < 1 || nargin > 2)
+    print_usage ();
+  endif
+
+  retval = message_dialog ("errdlg", msg, title, "error");
+
+endfunction
+
+
+%!demo
+%! disp ('- test errordlg with prompt only.');
+%! errordlg ('Oops, an expected error occured');
+
+%!demo
+%! disp ('- test errordlg with prompt and caption.');
+%! errordlg ('Oops another error','This is a very long and informative caption');
+
--- a/scripts/gui/guidata.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/guidata.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/guihandles.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/guihandles.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/gui/helpdlg.m	Wed Oct 23 22:29:06 2013 -0400
@@ -0,0 +1,51 @@
+## Copyright (C) 2010, 2013 Martin Hepperle
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn  {Function File} {@var{h} =} helpdlg (@var{msg})
+## @deftypefnx {Function File} {@var{h} =} helpdlg (@var{msg}, @var{title})
+## Display @var{msg} in a help dialog box.
+##
+## The message may have multiple lines separated by newline characters
+## ("\n"), or it may be a cellstr array with one element for each
+## line.  The optional input @var{title} (character string) can be used to
+## set the dialog caption.  The default title is @qcode{"Help Dialog"}.
+##
+## The return value is always 1.
+## @seealso{errordlg, inputdlg, listdlg, msgbox, questdlg, warndlg}
+## @end deftypefn
+
+function retval = helpdlg (msg, title = "Help Dialog")
+
+  if (nargin < 1 || nargin > 2)
+    print_usage ();
+  endif
+
+  retval = message_dialog ("helpdlg", msg, title, "help");
+
+endfunction
+
+
+%!demo
+%! disp ('- test helpdlg with a help message only.');
+%! helpdlg ("Below, you should see 3 lines:\nline #1\nline #2, and\nline #3.");
+
+%!demo
+%! disp ('- test helpdlg with help message and caption.');
+%! helpdlg ('You should see a single line.','A help dialog');
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/gui/inputdlg.m	Wed Oct 23 22:29:06 2013 -0400
@@ -0,0 +1,208 @@
+## Copyright (C) 2010, 2013 Martin Hepperle
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn  {Function File} {@var{cstr} =} inputdlg (@var{prompt})
+## @deftypefnx {Function File} {@var{cstr} =} inputdlg (@var{prompt}, @var{title})
+## @deftypefnx {Function File} {@var{cstr} =} inputdlg (@var{prompt}, @var{title}, @var{rowscols})
+## @deftypefnx {Function File} {@var{cstr} =} inputdlg (@var{prompt}, @var{title}, @var{rowscols}, @var{defaults})
+## Return user input from a multi-textfield dialog box in a cell array
+## of strings, or an empty cell array if the dialog is closed by the
+## Cancel button.
+##
+## Inputs:
+##
+## @table @var
+## @item prompt
+## A cell array with strings labeling each text field.  This input is required. 
+##
+## @item title
+## String to use for the caption of the dialog.  The default is @qcode{"Input
+## Dialog"}.
+##
+## @item rowscols
+## Specifies the size of the text fields and can take three forms:
+##
+## @enumerate
+## @item a scalar value which defines the number of rows used for each
+## text field.
+##
+## @item a vector which defines the individual number of rows
+## used for each text field. 
+##
+## @item a matrix which defines the individual number of rows and
+## columns used for each text field.  In the matrix each row describes
+## a single text field.  The first column specifies the number of input
+## rows to use and the second column specifies the text field width.
+## @end enumerate
+##
+## @item defaults
+## A list of default values to place in each text fields.  It must be
+## a cell array of strings with the same size as @var{prompt}.
+## @end table
+## @seealso{errordlg, helpdlg, listdlg, msgbox, questdlg, warndlg}
+## @end deftypefn
+
+function cstr = inputdlg (prompt, title = "Input Dialog", varargin)
+
+  if (nargin < 1 || nargin > 4)
+    print_usage ();
+  endif
+
+  if (iscell (prompt))
+    ## Silently extract only char elements
+    prompt = prompt(cellfun ("isclass", prompt, "char"));
+  elseif (ischar (prompt))
+    prompt = {prompt};
+  else
+    error ("inputdlg: PROMPT must be a character string or cellstr array");
+  endif
+
+  if (! ischar (title))
+    error ("inputdlg: TITLE must be a character string");
+  endif
+
+  switch (numel (varargin))
+    case 0
+      linespec = 1;
+      defaults = cellstr (cell (size (prompt)));
+
+    case 1
+      linespec = varargin{1};
+      defaults = cellstr (cell (size (prompt)));
+
+    case 2
+      linespec = varargin{1};
+      defaults = varargin{2};
+  endswitch
+
+  ## specification of text field sizes as in Matlab 
+  ## Matlab requires a matrix for linespec, not a cell array...
+  ## rc = [1,10; 2,20; 3,30];
+  ##     c1  c2
+  ## r1  1   10   first  text field is 1x10
+  ## r2  2   20   second text field is 2x20
+  ## r3  3   30   third  text field is 3x30
+  if (isscalar (linespec))
+    ## only scalar value in lineTo, copy from linespec and add defaults
+    rowscols = zeros (columns (prompt), 2);
+    ## cols
+    rowscols(:,2) = 25;
+    rowscols(:,1) = linespec;
+  elseif (isvector (linespec))
+      ## only one column in lineTo, copy from vector linespec and add defaults
+      rowscols = zeros (columns (prompt), 2);
+      ## rows from colum vector linespec, columns are set to default
+      rowscols(:,2) = 25;
+      rowscols(:,1) = linespec(:);
+  elseif (ismatrix (linespec))
+    if (rows (linespec) == columns (prompt) && columns (linespec) == 2)
+      ## (rows x columns) match, copy array linespec
+      rowscols = linespec;
+    else
+      error ("inputdlg: ROWSCOLS matrix does not match size of PROMPT");
+    endif
+  else
+    ## dunno
+    error ("inputdlg: unknown form of ROWSCOLS argument");
+  endif
+  rowscols = ceil (rowscols);
+  
+  ## convert numeric values in defaults cell array to strings
+  defs = cellfun (@num2str, defaults, "UniformOutput", false);
+  rc = arrayfun (@num2str, rowscols, "UniformOutput", false);
+
+  if (__octave_link_enabled__ ())
+    cstr = __octave_link_input_dialog__ (prompt, title, rowscols, defs);
+  elseif (__have_feature__ ("JAVA"))
+    user_inputs = javaMethod ("inputdlg", "org.octave.JDialogBox",
+                              prompt, title, rc, defs);  
+    if (isempty (user_inputs))
+      cstr = {};
+    else
+      cstr = cellstr (user_inputs);
+    endif
+  else
+    error ("inputdlg is not available in this version of Octave");
+  endif
+
+endfunction
+
+
+%!demo
+%! disp ('- test inputdlg with prompt and caption only.');
+%! prompt = {'Width','Height','Depth'};
+%! dims = inputdlg (prompt, 'Enter Box Dimensions');
+%! if (isempty (dims))
+%!   helpdlg ('Canceled by user', 'Information');
+%! else
+%!   volume  = str2num (dims{1}) * str2num (dims{2}) * str2num (dims{3});
+%!   surface = 2 * (str2num (dims{1}) * str2num (dims{2}) + ...
+%!                  str2num (dims{2}) * str2num (dims{3}) + ...
+%!                  str2num (dims{1}) * str2num (dims{3}));
+%!   helpdlg (sprintf ('Results:\nVolume = %.3f\nSurface = %.3f', volume, surface), 'Box Dimensions');
+%! end
+
+%!demo
+%! disp ('- test inputdlg with prescribed scalar (2 lines per text field) and defaults.');
+%! prompt = {'Width','Height','Depth'};
+%! default = {'1.1','2.2','3.3'};
+%! rc = 2;
+%! dims = inputdlg (prompt, 'Enter Box Dimensions',rc,default);
+%! if (isempty (dims))
+%!   helpdlg ('Canceled by user', 'Information');
+%! else
+%!   volume  = str2num (dims{1}) * str2num (dims{2}) * str2num (dims{3});
+%!   surface = 2 * (str2num (dims{1}) * str2num (dims{2}) + ...
+%!                  str2num (dims{2}) * str2num (dims{3}) + ...
+%!                  str2num (dims{1}) * str2num (dims{3}));
+%!    helpdlg (sprintf ('Results:\nVolume = %.3f\nSurface = %.3f', volume, surface), 'Box Dimensions');
+%! end
+
+%!demo
+%! disp ('- test inputdlg with prescribed vector [1,2,3] for # of lines per text field and defaults.');
+%! prompt = {'Width','Height','Depth'};
+%! default = {'1.10', '2.10', '3.10'};
+%! rc = [1,2,3];  % NOTE: must be an array
+%! dims = inputdlg (prompt, 'Enter Box Dimensions',rc,default);
+%! if (isempty (dims))
+%!   helpdlg ('Canceled by user', 'Information');
+%! else
+%!   volume  = str2num (dims{1}) * str2num (dims{2}) * str2num (dims{3});
+%!   surface = 2 * (str2num (dims{1}) * str2num (dims{2}) + ...
+%!                  str2num (dims{2}) * str2num (dims{3}) + ...
+%!                  str2num (dims{1}) * str2num (dims{3}));
+%!   helpdlg (sprintf ('Results:\nVolume = %.3f\nSurface = %.3f', volume, surface), 'Box Dimensions');
+%! end
+
+%!demo
+%! disp ('- test inputdlg with prescribed row by column sizes and defaults.');
+%! prompt = {'Width','Height','Depth'};
+%! default = {'1.10', '2.20', '3.30'};
+%! rc = [1,10; 2,20; 3,30];  % NOTE: must be an array
+%! dims = inputdlg (prompt, 'Enter Box Dimensions',rc,default);
+%! if (isempty (dims))
+%!   helpdlg ('Canceled by user', 'Information');
+%! else
+%!   volume  = str2num (dims{1}) * str2num (dims{2}) * str2num (dims{3});
+%!   surface = 2 * (str2num (dims{1}) * str2num (dims{2}) + ...
+%!                  str2num (dims{2}) * str2num (dims{3}) + ...
+%!                  str2num (dims{1}) * str2num (dims{3}));
+%!   helpdlg (sprintf ('Results:\nVolume = %.3f\nSurface = %.3f', volume, surface), 'Box Dimensions');
+%! end
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/gui/listdlg.m	Wed Oct 23 22:29:06 2013 -0400
@@ -0,0 +1,194 @@
+## Copyright (C) 2010, 2013 Martin Hepperle
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn {Function File} {[@var{sel}, @var{ok}] =} listdlg (@var{key}, @var{value}, @dots{})
+## Return user inputs from a list dialog box in a vector of 
+## selection indices @var{sel} and a flag @var{ok} indicating how the
+## user closed the dialog box.  The value of @var{ok} is 1 if the user
+## closed the box with the OK button, otherwise it is 0 and @var{sel} is
+## empty.
+##
+## The indices in @var{sel} are 1-based.
+##
+## The arguments are specified in form of @var{key}, @var{value} pairs. 
+## The @qcode{"ListString"} argument pair must be specified.
+##
+## Valid @var{key} and @var{value} pairs are:
+##
+## @table @asis
+## @item @qcode{"ListString"}
+## a cell array of strings comprising the content of the list.
+##
+## @item @qcode{"SelectionMode"}
+## can be either @qcode{"Single"} or @qcode{"Multiple"} (default).
+##
+## @item @qcode{"ListSize"}
+## a vector with two elements @var{width} and @var{height} defining
+## the size of the list field in pixels.  Default is [160 300].
+##
+## @item @qcode{"InitialValue"}
+## a vector containing 1-based indices of preselected elements.  Default
+## is 1 (first item).
+##
+## @item @qcode{"Name"}
+## a string to be used as the dialog caption.  Default is "".
+##
+## @item @qcode{"PromptString"}
+## a cell array of strings to be displayed above the list field.  Default
+## is @{@}.
+##
+## @item @qcode{"OKString"}
+## a string used to label the OK button.  Default is @qcode{"OK"}.
+##
+## @item @qcode{"CancelString"}
+## a string used to label the Cancel button.  Default is @qcode{"Cancel"}.
+## @end table
+##
+## Example:
+##
+## @example
+## @group
+## [sel, ok] = listdlg ("ListString", @{"An item", "another", "yet another"@},
+##                      "SelectionMode", "Multiple");
+## if (ok == 1)
+##   for i = 1:numel (sel)
+##     disp (sel(i));
+##   endfor
+## endif
+## @end group
+## @end example
+##
+## @seealso{errordlg, helpdlg, inputdlg, msgbox, questdlg, warndlg}
+## @end deftypefn
+
+function [sel, ok] = listdlg (varargin)
+
+  if (nargin < 2)
+    print_usage ();
+  endif
+
+  listcell = {""};
+  selmode = "Multiple";
+  listsize = [160, 300];
+  initialvalue = 1;
+  name = "";
+  prompt = {};
+  okstring = "OK";
+  cancelstring = "Cancel";
+
+  ## handle key, value pairs
+  for i = 1:2:nargin-1
+    if (strcmp (varargin{i}, "ListString"))
+      listcell = varargin{i+1};
+    elseif (strcmp (varargin{i}, "SelectionMode"))
+      selmode = varargin{i+1};
+    elseif (strcmp (varargin{i}, "ListSize"))
+      listsize = varargin{i+1};
+    elseif (strcmp (varargin{i}, "InitialValue"))
+      initialvalue = varargin{i+1};
+    elseif (strcmp (varargin{i}, "Name"))
+      name = varargin{i+1};
+    elseif (strcmp (varargin{i}, "PromptString"))
+      prompt = varargin{i+1};
+    elseif (strcmp (varargin{i}, "OKString"))
+      okstring = varargin{i+1};
+    elseif (strcmp (varargin{i}, "CancelString"))
+      cancelstring = varargin{i+1};
+    endif
+  endfor
+
+  ## make sure prompt strings are a cell array
+  if (! iscell (prompt))
+    prompt = {prompt};
+  endif
+
+  ## make sure listcell strings are a cell array
+  if (! iscell (listcell))
+    listcell = {listcell};
+  endif
+
+  ## make sure valid selection mode
+  if (! strcmp (selmode, "Multiple") && ! strcmp (selmode, "Single"))
+    error ("invalid SelectionMode");
+  endif
+
+  if (__octave_link_enabled__ ())
+    [sel, ok] = __octave_link_list_dialog__ (listcell, selmode, listsize,
+                                            initialvalue, name, prompt,
+                                            okstring, cancelstring);
+  elseif (__have_feature__ ("JAVA"))
+    ## transform matrices to cell arrays of strings
+    ## swap width and height to correct calling format for JDialogBox
+    listsize = {num2str(listsize(2)), num2str(listsize(1))};
+    initialvalue = arrayfun (@num2str, initialvalue, "UniformOutput", false);
+    if (isempty (prompt))
+      prompt = {""};
+    endif
+
+    ret = javaMethod ("listdlg", "org.octave.JDialogBox", listcell,
+                      selmode, listsize, initialvalue, name, prompt,
+                      okstring, cancelstring);
+
+    if (numel (ret) > 0)
+      sel = ret;
+      ok = 1;
+    else
+      sel = {};
+      ok = 0;
+    endif
+  else
+    error ("listdlg is not available in this version of Octave");
+  endif
+
+endfunction
+
+
+%!demo
+%! disp ('- test listdlg with selectionmode single. No caption, no prompt.');
+%! itemlist = {'An item \\alpha', 'another', 'yet another'};
+%! s = listdlg ('ListString',itemlist, 'SelectionMode','Single');
+%! imax = numel (s);
+%! for i=1:1:imax
+%!   disp (['Selected: ',num2str (i),': ', itemlist{s (i)}]);
+%! end
+
+%!demo
+%! disp ('- test listdlg with selectionmode and preselection. Has caption and two lines prompt.');
+%! itemlist = {'An item \\alpha', 'another', 'yet another'};
+%! s = listdlg ('ListString',itemlist, ...
+%!              'SelectionMode','Multiple', ...
+%!              'Name','Selection Dialog', ...
+%!              'InitialValue',[1,2,3,4],
+%!              'PromptString',{'Select <b>an</b> item...', '...or <b>multiple</b> items'} );
+%! imax = numel (s);
+%! for i=1:1:imax
+%!   disp (['Selected: ',num2str (i),': ', itemlist{s (i)}]);
+%! end
+
+%!demo
+%! disp ('- test listdlg with listsize.');
+%! itemlist = {"Neutron","Electron","Quark","Proton","Neutrino"};
+%! s = listdlg ("ListString",itemlist,
+%!              "Name","Bits and Pieces",
+%!              "ListSize",[200 75] );
+%! imax = numel (s);
+%! for i=1:1:imax
+%!   disp (['Selected: ',num2str (i),': ', itemlist{s (i)}]);
+%! end
+
--- a/scripts/gui/module.mk	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/module.mk	Wed Oct 23 22:29:06 2013 -0400
@@ -7,11 +7,18 @@
   gui/private/__uigetdir_fltk__.m \
   gui/private/__uigetfile_fltk__.m \
   gui/private/__uiobject_split_args__.m \
-  gui/private/__uiputfile_fltk__.m
+  gui/private/__uiputfile_fltk__.m \
+  gui/private/message_dialog.m
 
 gui_FCN_FILES = \
+  gui/errordlg.m \
   gui/guidata.m \
   gui/guihandles.m \
+  gui/helpdlg.m \
+  gui/inputdlg.m \
+  gui/listdlg.m \
+  gui/msgbox.m \
+  gui/questdlg.m \
   gui/uicontextmenu.m \
   gui/uicontrol.m \
   gui/uigetdir.m \
@@ -26,6 +33,7 @@
   gui/uiwait.m \
   gui/waitbar.m \
   gui/waitforbuttonpress.m \
+  gui/warndlg.m \
   $(gui_PRIVATE_FCN_FILES)
 
 FCN_FILES += $(gui_FCN_FILES)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/gui/msgbox.m	Wed Oct 23 22:29:06 2013 -0400
@@ -0,0 +1,56 @@
+## Copyright (C) 2010, 2013 Martin Hepperle
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn  {Function File} {@var{h} =} msgbox (@var{msg})
+## @deftypefnx {Function File} {@var{h} =} msgbox (@var{msg}, @var{title})
+## @deftypefnx {Function File} {@var{h} =} msgbox (@var{msg}, @var{title}, @var{icon})
+## Display @var{msg} using a message dialog box. 
+##
+## The message may have multiple lines separated by newline characters
+## (@qcode{"\n"}), or it may be a cellstr array with one element for each
+## line.  The optional input @var{title} (character string) can be used to
+## decorate the dialog caption.
+##
+## The optional argument @var{icon} selects a dialog icon. 
+## It can be one of @qcode{"none"} (default), @qcode{"error"},
+## @qcode{"help"}, or @qcode{"warn"}.
+##
+## The return value is always 1.
+## @seealso{errordlg, helpdlg, inputdlg, listdlg, questdlg, warndlg}
+## @end deftypefn
+
+function retval = msgbox (msg, title = "", varargin)
+
+  if (nargin < 1 || nargin > 3)
+    print_usage ();
+  endif
+
+  retval = message_dialog ("msgbox", msg, title, varargin{:});
+
+endfunction
+
+
+%!demo
+%! disp('- test msgbox message only.');
+%! msgbox("Below, you should see 3 lines:\nline #1\nline #2, and\nline #3.");
+
+%!demo
+%! disp('- test msgbox message and caption.');
+%! msgbox('You should see a single line.','A msgbox');
+
--- a/scripts/gui/private/__file_filter__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/private/__file_filter__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Kai Habel
+## Copyright (C) 2010-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/private/__fltk_file_filter__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/private/__fltk_file_filter__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/private/__is_function__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/private/__is_function__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/private/__uigetdir_fltk__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/private/__uigetdir_fltk__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/private/__uigetfile_fltk__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/private/__uigetfile_fltk__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/private/__uiobject_split_args__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/private/__uiobject_split_args__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/private/__uiputfile_fltk__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/private/__uiputfile_fltk__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/gui/private/message_dialog.m	Wed Oct 23 22:29:06 2013 -0400
@@ -0,0 +1,66 @@
+## Copyright (C) 2010, 2013 Martin Hepperle
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn {Function File} {@var{h} =} message_dialog (@var{caller}, @var{msg}, @var{title}, @var{icon})
+## Undocumented internal function.
+## @end deftypefn
+
+function retval = message_dialog (caller, msg, title = "", icon)
+
+  if (! ischar (msg))
+    if (iscell (msg))
+      msg = sprintf ("%s\n", msg{:});
+      msg(end) = "";
+    else
+      error ("%s: MSG must be a character string or cellstr array", caller);
+    endif
+  endif
+
+  if (! ischar (title))
+    error ("%s: TITLE must be a character string", caller);
+  endif
+
+  dlg = "emptydlg";
+  if (nargin == 4)
+    switch (icon)
+      case "error"
+        dlg = "errordlg";
+      case "help"
+        dlg = "helpdlg";
+      case "warn"
+        dlg = "warndlg";
+      case "none"
+        dlg = "emptydlg";
+      otherwise
+        error ("%s: ICON is not a valid type", caller);
+    endswitch
+  else
+    icon = "none";
+  endif
+
+  if (__octave_link_enabled__ ())
+    retval = __octave_link_message_dialog__ (icon, msg, title);
+  elseif (__have_feature__ ("JAVA"))
+    retval = javaMethod (dlg, "org.octave.JDialogBox", msg, title);
+  else
+    error ("%s is not available in this version of Octave", dlg);
+  endif
+
+endfunction
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/gui/questdlg.m	Wed Oct 23 22:29:06 2013 -0400
@@ -0,0 +1,176 @@
+## Copyright (C) 2010, 2013 Martin Hepperle
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn  {Function File} {@var{btn} =} questdlg (@var{msg})
+## @deftypefnx {Function File} {@var{btn} =} questdlg (@var{msg}, @var{title})
+## @deftypefnx {Function File} {@var{btn} =} questdlg (@var{msg}, @var{title}, @var{default})
+## @deftypefnx {Function File} {@var{btn} =} questdlg (@var{msg}, @var{title}, @var{btn1}, @var{btn2}, @var{default})
+## @deftypefnx {Function File} {@var{btn} =} questdlg (@var{msg}, @var{title}, @var{btn1}, @var{btn2}, @var{btn3}, @var{default})
+## Display @var{msg} using a question dialog box and return the caption
+## of the activated button.
+##
+## The dialog may contain two or three buttons which will all close the dialog.
+##
+## The message may have multiple lines separated by newline characters
+## ("\n"), or it may be a cellstr array with one element for each
+## line.  The optional @var{title} (character string) can be used to
+## decorate the dialog caption.
+##
+## The string @var{default} identifies the default button, 
+## which is activated by pressing the @key{ENTER} key.
+## It must match one of the strings given in @var{btn1}, @var{btn2}, or
+## @var{btn3}.
+##
+## If only @var{msg} and @var{title} are specified, three buttons with
+## the default captions @qcode{"Yes"}, @qcode{"No"}, and @qcode{"Cancel"} are
+## used.
+##
+## If only two button captions, @var{btn1} and @var{btn2}, are specified 
+## the dialog will have only these two buttons.
+##
+## @seealso{errordlg, helpdlg, inputdlg, listdlg, warndlg}
+## @end deftypefn
+
+function btn = questdlg (msg, title = "Question Dialog", varargin)
+
+  if (nargin < 1 || nargin > 6)
+    print_usage ();
+  endif
+  
+  if (! ischar (msg))
+    if (iscell (msg))
+      msg = sprintf ("%s\n", msg{:});
+      msg(end) = "";
+    else
+      error ("questdlg: MSG must be a character string or cellstr array");
+    endif
+  endif
+
+  if (! ischar (title))
+    error ("questdlg: TITLES must be a character string");
+  endif
+
+  options{1} = "Yes";      # button1
+  options{2} = "No";       # button2
+  options{3} = "Cancel";   # button3
+  options{4} = "Yes";      # default
+
+  defbtn_error_msg = "questdlg: DEFAULT must match one of the button options";
+
+  switch (numel (varargin))
+    case 0
+      ## use default default
+
+    case 1
+      ## default button string
+      options{4} = varargin{1};  # default
+      if (! any (strcmp (options{4}, options(1:3))))
+        error (defbtn_error_msg);
+      endif
+
+    case 3
+      ## two buttons and default button string
+      options{1} = varargin{1};  # button1
+      options{2} = "";           # not used, no middle button
+      options{3} = varargin{2};  # button3
+      options{4} = varargin{3};  # default
+      if (! any (strcmp (options{4}, options([1 3]))))
+        error (defbtn_error_msg);
+      endif
+
+    case 4
+      ## three buttons and default button string
+      options{1} = varargin{1};  # button1
+      options{2} = varargin{2};  # button2
+      options{3} = varargin{3};  # button3
+      options{4} = varargin{4};  # default
+      if (! any (strcmp (options{4}, options(1:3))))
+        error (defbtn_error_msg);
+      endif
+
+    otherwise
+      print_usage ();
+
+  endswitch
+
+  if (__octave_link_enabled__ ())
+    btn = __octave_link_question_dialog__ (msg, title, options{1}, options{2},
+                                           options{3}, options{4});
+  elseif (__have_feature__ ("JAVA"))
+    btn = javaMethod ("questdlg", "org.octave.JDialogBox", msg,
+                      title, options);
+  else
+    error ("questdlg is not available in this version of Octave");
+  endif
+
+endfunction
+
+
+%!demo
+%! disp ('- test questdlg with two buttons');
+%! a = questdlg ('Would you like some free money?',...
+%!               '$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $',...
+%!               'No', 'Cancel', 'Cancel');
+%! if (strcmp (a, 'No'))
+%!   msgbox ('Suit yourself.', 'Message Box');
+%! endif
+
+%!demo
+%! disp ('- test questdlg with message and title only.');
+%! a = 'No';
+%! c = 0;
+%! while (strcmp (a, 'No') || !c)
+%!   a = questdlg ('Close this Question Dialog?', 'Reductio Ad Absurdum');
+%!   if (strcmp (a, 'Yes'))
+%!     q = 'Are you sure?';
+%!     while (strcmp (a, 'Yes') && !c)
+%!       a = questdlg (q, 'Reductio Ad Absurdum');
+%!       word = ' really';
+%!       i = strfind (q, word);
+%!       if (isempty (i))
+%!         i = strfind (q, ' sure');
+%!         q = [q '!'];
+%!       else
+%!         word = [word ','];
+%!       endif
+%!       q = [q(1:i-1) word q(i:end)];
+%!     endwhile
+%!   endif
+%!   if (strcmp (a, 'Cancel'))
+%!     warndlg ('Answer "Yes" or "No".', 'Warning Dialog');
+%!     a = 'No';
+%!     c = 1;
+%!   endif
+%! endwhile
+%! msgbox ('Whew!');
+
+%!demo
+%! disp ('- test questdlg with five inputs');
+%! ans = questdlg ('Are you ready Steve?', 'Brian', 'No', 'Uh huh', 'Uh huh');
+%! if (! strcmp (ans, 'No'))
+%!   ans = questdlg ('Andy?', 'Brian', 'No', 'Yeah', 'Yeah');
+%!   if (! strcmp (ans, 'No'))
+%!     ans = questdlg ('Mick?', 'Brian', 'No', 'Okay', 'Okay');
+%!     if (! strcmp (ans, 'No'))
+%!       ans = msgbox ("Well all right, fellas.    \n\n     Let''s GO!!!!!",...
+%!                     'Ballroom Blitz', 'none');
+%!     endif
+%!   endif
+%! endif
+
--- a/scripts/gui/uicontextmenu.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/uicontextmenu.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/uicontrol.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/uicontrol.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/uigetdir.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/uigetdir.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Kai Habel
+## Copyright (C) 2010-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/uigetfile.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/uigetfile.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Kai Habel
+## Copyright (C) 2010-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/uimenu.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/uimenu.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Kai Habel
+## Copyright (C) 2010-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/uipanel.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/uipanel.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/uipushtool.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/uipushtool.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/uiputfile.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/uiputfile.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Kai Habel
+## Copyright (C) 2010-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/uiresume.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/uiresume.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/uitoggletool.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/uitoggletool.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/uitoolbar.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/uitoolbar.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/uiwait.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/uiwait.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/waitbar.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/waitbar.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/gui/waitforbuttonpress.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/gui/waitforbuttonpress.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 Petr Mikulik
+## Copyright (C) 2004-2013 Petr Mikulik
 ##
 ## This file is part of Octave.
 ##
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/gui/warndlg.m	Wed Oct 23 22:29:06 2013 -0400
@@ -0,0 +1,50 @@
+## Copyright (C) 2010, 2013 Martin Hepperle
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn  {Function File} {@var{h} =} warndlg (@var{msg})
+## @deftypefnx {Function File} {@var{h} =} warndlg (@var{msg}, @var{title})
+## Display @var{msg} using a warning dialog box. 
+##
+## The message may have multiple lines separated by newline characters
+## ("\n"), or it may be a cellstr array with one element for each
+## line.  The optional input @var{title} (character string) can be used to
+## set the dialog caption.  The default title is @qcode{"Warning Dialog"}.
+##
+## @seealso{helpdlg, inputdlg, listdlg, questdlg}
+## @end deftypefn
+
+function retval = warndlg (msg, title = "Warning Dialog")
+
+  if (nargin < 1 || nargin > 2)
+    print_usage ();
+  endif
+
+  retval = message_dialog ("warndlg", msg, title, "warn");
+
+endfunction
+
+
+%!demo
+%! disp ('- test warndlg with prompt only.');
+%! warndlg ('Oh, a warning occured');
+
+%!demo
+%! disp ('- test warndlg with prompt and caption.');
+%! warndlg ('Oh, No...','This is the last Warning');
+
--- a/scripts/help/__makeinfo__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/help/__makeinfo__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Søren Hauberg
+## Copyright (C) 2009-2013 Søren Hauberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/help/__unimplemented__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/help/__unimplemented__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 John W. Eaton
+## Copyright (C) 2010-2013 John W. Eaton
 ## Copyright (C) 2010 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/help/doc.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/help/doc.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/help/doc_cache_create.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/help/doc_cache_create.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Søren Hauberg
+## Copyright (C) 2009-2013 Søren Hauberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/help/get_first_help_sentence.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/help/get_first_help_sentence.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Søren Hauberg
+## Copyright (C) 2009-2013 Søren Hauberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/help/help.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/help/help.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Søren Hauberg
+## Copyright (C) 2009-2013 Søren Hauberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/help/lookfor.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/help/lookfor.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Søren Hauberg
+## Copyright (C) 2009-2013 Søren Hauberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/help/print_usage.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/help/print_usage.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Søren Hauberg
+## Copyright (C) 2009-2013 Søren Hauberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/help/private/__additional_help_message__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/help/private/__additional_help_message__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Søren Hauberg
+## Copyright (C) 2009-2013 Søren Hauberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/help/private/__strip_html_tags__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/help/private/__strip_html_tags__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Søren Hauberg
+## Copyright (C) 2009-2013 Søren Hauberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/help/type.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/help/type.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Søren Hauberg
+## Copyright (C) 2009-2013 Søren Hauberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/help/which.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/help/which.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 John W. Eaton
+## Copyright (C) 2009-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/autumn.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/autumn.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/bone.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/bone.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/brighten.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/brighten.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/cmpermute.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/cmpermute.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2004 Josep Mones i Teixidor
-## Copyright (C) 2012 Rik Wehbring 
+## Copyright (C) 2012-2013 Rik Wehbring 
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/cmunique.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/cmunique.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2004 Josep Mones i Teixidor
-## Copyright (C) 2012 Rik Wehbring 
+## Copyright (C) 2012-2013 Rik Wehbring 
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/colorcube.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/colorcube.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Rik Wehbring
+## Copyright (C) 2012-2013 Rik Wehbring
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/colormap.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/colormap.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ## Copyright (C) 2012 Carnë Draug
 ##
 ## This file is part of Octave.
--- a/scripts/image/contrast.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/contrast.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/cool.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/cool.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/copper.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/copper.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/flag.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/flag.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/gmap40.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/gmap40.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/gray.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/gray.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/gray2ind.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/gray2ind.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
@@ -45,7 +45,7 @@
     error ("gray2ind: I must be a grayscale or binary image");
   elseif (! isscalar (n) || n < 1 || n > 65536)
     error ("gray2ind: N must be a positive integer in the range [1, 65536]");
-  elseif (! ismatrix (I) || ndims (I) != 2)
+  elseif (! ismatrix (I) || ndims (I) < 2)
     error ("gray2ind: I must be a grayscale or binary image");
   endif
 
--- a/scripts/image/hot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/hot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/hsv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/hsv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/hsv2rgb.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/hsv2rgb.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/image.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/image.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
@@ -19,7 +19,8 @@
 ## -*- texinfo -*-
 ## @deftypefn  {Function File} {} image (@var{img})
 ## @deftypefnx {Function File} {} image (@var{x}, @var{y}, @var{img})
-## @deftypefnx {Function File} {} image (@dots{}, "@var{property}", @var{value}, @dots{})
+## @deftypefnx {Function File} {} image (@dots{}, "@var{prop}", @var{val}, @dots{})
+## @deftypefnx {Function File} {} image ("@var{prop1}", @var{val1}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} image (@dots{})
 ## Display a matrix as an indexed color image.
 ##
@@ -33,6 +34,9 @@
 ## @strong{Warning:} @var{x} and @var{y} are ignored when using gnuplot 4.0
 ## or earlier.
 ##
+## Multiple property/value pairs may be specified for the image object, but
+## they must appear in pairs.
+##
 ## The optional return value @var{h} is a graphics handle to the image.
 ##
 ## Implementation Note: The origin (0, 0) for images is located in the
@@ -44,6 +48,12 @@
 ## solution is to display the image and then plot the reversed ydata
 ## using, for example, @code{flipud (ydata)}.
 ##
+## Calling Forms: The @code{image} function can be called in two forms:
+## High-Level and Low-Level.  When invoked with normal options, the High-Level
+## form is used which first calls @code{newplot} to prepare the graphic figure
+## and axes.  When the only inputs to @code{image} are property/value pairs
+## the Low-Level form is used which creates a new instance of an image object
+## and inserts it in the current axes.
 ## @seealso{imshow, imagesc, colormap}
 ## @end deftypefn
 
@@ -55,15 +65,31 @@
 
   [hax, varargin, nargin] = __plt_get_axis_arg__ ("image", varargin{:});
   
-  if (isempty (hax))
-    hax = gca ();
-  endif
-
   chararg = find (cellfun ("isclass", varargin, "char"), 1, "first");
   
-  if (nargin == 0 || chararg == 1)
+  do_new = true;
+  if (nargin == 0)
     img = imread ("default.img");
     x = y = [];
+  elseif (chararg == 1) 
+    ## Low-Level syntax
+    do_new = false;
+    x = y = img = [];
+    idx = find (strcmpi (varargin, "cdata"), 1);
+    if (idx)
+      img = varargin{idx+1};
+      varargin(idx:idx+1) = [];
+    endif
+    idx = find (strcmpi (varargin, "xdata"), 1);
+    if (idx)
+      x = varargin{idx+1};
+      varargin(idx:idx+1) = [];
+    endif
+    idx = find (strcmpi (varargin, "ydata"), 1);
+    if (idx)
+      y = varargin{idx+1};
+      varargin(idx:idx+1) = [];
+    endif
   elseif (nargin == 1 || chararg == 2)
     img = varargin{1};
     x = y = [];
@@ -75,9 +101,25 @@
     img = varargin{3};
     chararg = 4;
   endif
-  
-  htmp = __img__ (hax, x, y, img, varargin{chararg:end});
-  set (hax, "layer", "top");
+
+  oldfig = [];
+  if (! isempty (hax))
+    oldfig = get (0, "currentfigure");
+  endif
+  unwind_protect
+    if (do_new)
+      hax = newplot (hax);
+    elseif (isempty (hax))
+      hax = gca ();
+    endif
+
+    htmp = __img__ (hax, do_new, x, y, img, varargin{chararg:end});
+
+  unwind_protect_cleanup
+    if (! isempty (oldfig))
+      set (0, "currentfigure", oldfig);
+    endif
+  end_unwind_protect
 
   if (nargout > 0)
     h = htmp;
@@ -95,89 +137,89 @@
 ## Created: July 1994
 ## Adapted-By: jwe
 
-function h = __img__ (hax, x, y, img, varargin)
-
-  if (isempty (img))
-    error ("__img__: matrix is empty");
-  endif
+function h = __img__ (hax, do_new, x, y, img, varargin)
 
   ## FIXME: Hack for integer formats which use zero-based indexing
   ##        Hack favors correctness of display over size of image in memory.
-  ##        True fix will be done in C++ code. 
+  ##        True fix must be done in C++ code for renderer. 
   if (ndims (img) == 2 && (isinteger (img) || islogical (img)))
     img = single (img) + 1;
   endif
 
-  if (isempty (x))
-    x = [1, columns(img)];
-  endif
+  if (! isempty (img))
+
+    if (isempty (x))
+      x = [1, columns(img)];
+    endif
 
-  if (isempty (y))
-    y = [1, rows(img)];
-  endif
+    if (isempty (y))
+      y = [1, rows(img)];
+    endif
 
-  xdata = x([1, end]);
-  ydata = y([1, end]);
+    xdata = x([1, end]);
+    ydata = y([1, end]);
 
-  if (numel (x) > 2 && numel (y) > 2)
-    ## Test data for non-linear spacing which is unsupported
-    tol = .01;  # 1% tolerance.  FIXME: this value was chosen without thought.
-    dx = diff (x);
-    dxmean = (max (x) - min (x)) / (numel (x) - 1);
-    dx = abs ((dx - dxmean) / dxmean);
-    dy = diff (y);
-    dymean = (max (y) - min (y)) / (numel (y) - 1);
-    dy = abs ((dy - dymean) / dymean);
-    if (any (dx > tol) || any (dy > tol))
-      warning ("image: non-linear X, Y data is ignored.  IMG will be shown with linear mapping");
+    if (numel (x) > 2 && numel (y) > 2)
+      ## Test data for non-linear spacing which is unsupported
+      tol = .01;  # 1% tolerance.  FIXME: this value was chosen without thought.
+      dx = diff (x);
+      dxmean = (max (x) - min (x)) / (numel (x) - 1);
+      dx = abs ((abs (dx) - dxmean) / dxmean);
+      dy = diff (y);
+      dymean = (max (y) - min (y)) / (numel (y) - 1);
+      dy = abs ((abs (dy) - dymean) / dymean);
+      if (any (dx > tol) || any (dy > tol))
+        warning (["image: non-linear X, Y data is ignored.  " ...
+                  "IMG will be shown with linear mapping"]);
+      endif
     endif
-  endif
+
+  endif  # ! isempty (img)
 
-  htmp = __go_image__ (hax, "cdata", img, "xdata", xdata, "ydata", ydata,
-                       "cdatamapping", "direct", varargin {:});
+  h = __go_image__ (hax, "cdata", img, "xdata", xdata, "ydata", ydata,
+                         "cdatamapping", "direct", varargin{:});
 
-  px = __image_pixel_size__ (htmp);
+  if (do_new && ! ishold (hax))
+    ## Set axis properties for new images
 
-  if (xdata(2) < xdata(1))
-    xdata = fliplr (xdata);
-  elseif (xdata(2) == xdata(1))
-    xdata = xdata(1) + [0, columns(img)-1];
-  endif
-  if (ydata(2) < ydata(1))
-    ydata = fliplr (ydata);
-  elseif (ydata(2) == ydata(1))
-    ydata = ydata(1) + [0, rows(img)-1];
-  endif
-  xlim = xdata + [-px(1), px(1)];
-  ylim = ydata + [-px(2), px(2)];
+    if (! isempty (img))
+      px = __image_pixel_size__ (h);
+
+      if (xdata(2) < xdata(1))
+        xdata = fliplr (xdata);
+      elseif (xdata(2) == xdata(1))
+        xdata = xdata(1) + [0, columns(img)-1];
+      endif
+      if (ydata(2) < ydata(1))
+        ydata = fliplr (ydata);
+      elseif (ydata(2) == ydata(1))
+        ydata = ydata(1) + [0, rows(img)-1];
+      endif
+      xlim = xdata + [-px(1), px(1)];
+      ylim = ydata + [-px(2), px(2)];
 
-  ## FIXME -- how can we do this and also get the {x,y}limmode
-  ## properties to remain "auto"?  I suppose this adjustment should
-  ## happen automatically in axes::update_axis_limits instead of
-  ## explicitly setting the values here.  But then what information is
-  ## available to axes::update_axis_limits to determine that the
-  ## adjustment is necessary?
-  set (hax, "xlim", xlim, "ylim", ylim);
+      ## FIXME -- how can we do this and also get the {x,y}limmode
+      ## properties to remain "auto"?  I suppose this adjustment should
+      ## happen automatically in axes::update_axis_limits instead of
+      ## explicitly setting the values here.  But then what information is
+      ## available to axes::update_axis_limits to determine that the
+      ## adjustment is necessary?
+      set (hax, "xlim", xlim, "ylim", ylim);
 
-  if (ndims (img) == 3)
-    if (isinteger (img))
-      cls = class (img);
-      mn = intmin (cls);
-      mx = intmax (cls);
-      set (hax, "clim", double ([mn, mx]));
-    endif
-  endif
+      if (ndims (img) == 3)
+        if (isinteger (img))
+          cls = class (img);
+          mn = intmin (cls);
+          mx = intmax (cls);
+          set (hax, "clim", double ([mn, mx]));
+        endif
+      endif
 
-  set (hax, "view", [0, 90]);
+    endif  # ! isempty (img)
 
-  if (strcmp (get (hax, "nextplot"), "replace"))
-    ## Always reverse y-axis for images, unless hold is on
-    set (hax, "ydir", "reverse");
-  endif
+    set (hax, "view", [0, 90], "ydir", "reverse", "layer", "bottom");
 
-  if (nargout > 0)
-    h = htmp;
-  endif
+  endif  # do_new
 
 endfunction
 
@@ -202,3 +244,4 @@
 %!  h = image (-x, -y, img);
 %!  title ("image (-x, -y, img)");
 
+## FIXME: Need %!tests for linear
--- a/scripts/image/imagesc.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/imagesc.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
@@ -20,6 +20,8 @@
 ## @deftypefn  {Function File} {} imagesc (@var{img})
 ## @deftypefnx {Function File} {} imagesc (@var{x}, @var{y}, @var{img})
 ## @deftypefnx {Function File} {} imagesc (@dots{}, @var{climits})
+## @deftypefnx {Function File} {} imagesc (@dots{}, "@var{prop}", @var{val}, @dots{})
+## @deftypefnx {Function File} {} imagesc ("@var{prop1}", @var{val1}, @dots{})
 ## @deftypefnx {Function File} {} imagesc (@var{hax}, @dots{})
 ## @deftypefnx {Function File} {@var{h} =} imagesc (@dots{})
 ## Display a scaled version of the matrix @var{img} as a color image.  The
@@ -33,6 +35,14 @@
 ## of the matrix @var{img}.
 ##
 ## The optional return value @var{h} is a graphics handle to the image.
+##
+## Calling Forms: The @code{imagesc} function can be called in two forms:
+## High-Level and Low-Level.  When invoked with normal options, the High-Level
+## form is used which first calls @code{newplot} to prepare the graphic figure
+## and axes.  When the only inputs to @code{image} are property/value pairs
+## the Low-Level form is used which creates a new instance of an image object
+## and inserts it in the current axes.
+##
 ## @seealso{image, imshow, caxis}
 ## @end deftypefn
 
@@ -42,23 +52,66 @@
 
 function h = imagesc (varargin)
 
-  if (nargin < 1 || nargin > 4)
+  [hax, varargin, nargin] = __plt_get_axis_arg__ ("imagesc", varargin{:});
+
+  chararg = find (cellfun ("isclass", varargin, "char"), 1, "first");
+
+  do_new = true;
+  if (nargin == 0)
     print_usage ();
-  elseif (isscalar (varargin{1}) && ishandle (varargin{1}))
-    hax = varargin{1};
-    if (! isaxes (hax))
-      error ("imagesc: HAX argument must be an axes object");
+  elseif (chararg == 1)
+    ## Low-Level syntax
+    do_new = false;
+    img = x = y = climits = [];
+  elseif (nargin == 1 || chararg == 2)
+    img = varargin{1};
+    x = y = climits = [];
+  elseif (nargin == 2 || chararg == 3)
+    img = varargin{1};
+    climits = varargin{2};
+    x = y = [];
+  elseif (nargin == 3 || chararg == 4)
+    x = varargin{1};
+    y = varargin{2};
+    img = varargin{3};
+    climits = [];
+  elseif (nargin == 4 || chararg == 5)
+    x = varargin{1};
+    y = varargin{2};
+    img = varargin{3};
+    climits = varargin{4};
+  endif
+
+  oldfig = [];
+  if (! isempty (hax))
+    oldfig = get (0, "currentfigure");
+  endif
+  unwind_protect
+    if (do_new)
+      hax = newplot (hax);
+    elseif (isempty (hax))
+      hax = gca ();
     endif
-    oldh = gca ();
-    unwind_protect
-      axes (h);
-      htmp = __imagesc__ (hax, varargin{2:end});
-    unwind_protect_cleanup
-      axes (oldh);
-    end_unwind_protect
-  else
-    htmp = __imagesc__ (gca (), varargin{:});
-  endif
+
+    if (do_new)
+      htmp = image (x, y, img, "cdatamapping", "scaled", varargin{chararg:end});
+    else
+      htmp = image ("cdatamapping", "scaled", varargin{:});
+    endif
+
+    if (do_new && ! ishold (hax))
+      ## use given climits or guess them from the matrix
+      if (numel (climits) == 2 && climits(1) <= climits(2))
+        set (hax, "clim", climits);
+      elseif (! isempty (climits))
+        error ("imagesc: CLIMITS must be in form [lo, hi]");
+      endif
+    endif
+  unwind_protect_cleanup
+    if (! isempty (oldfig))
+      set (0, "currentfigure", oldfig);
+    endif
+  end_unwind_protect
 
   if (nargout > 0)
     h = htmp;
@@ -66,31 +119,6 @@
 
 endfunction
 
-function h = __imagesc__ (ax, x, y, img, climits)
-
-  if (nargin == 2)
-    img = x;
-    x = y = climits = [];
-  elseif (nargin == 3)
-    img = x;
-    climits = y;
-    x = y = [];
-  elseif (nargin == 4 && ! isscalar (x) && ! isscalar (y) && ! isscalar (img))
-    climits = [];
-  endif
-
-  h = image (ax, x, y, img);
-  set (h, "cdatamapping", "scaled");
-
-  ## use given climits or guess them from the matrix
-  if (numel (climits) == 2 && climits(1) <= climits(2))
-    set (ax, "clim", climits);
-  elseif (! isempty (climits))
-    error ("imagesc: CLIMITS must be in form [lo, hi]");
-  endif
-
-endfunction
-
 
 %!demo
 %! clf;
--- a/scripts/image/imfinfo.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/imfinfo.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Soren Hauberg
+## Copyright (C) 2008-2013 Soren Hauberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/imread.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/imread.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2013 Carnë Draug
-## Copyright (C) 2008-2012 Thomas L. Scofield
+## Copyright (C) 2008-2013 Thomas L. Scofield
 ## Copyright (C) 2008 Kristian Rumberg
 ## Copyright (C) 2006 Thomas Weber
 ## Copyright (C) 2005 Stefan van der Walt
--- a/scripts/image/imshow.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/imshow.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
@@ -45,6 +45,19 @@
 ## @table @asis
 ## @item @qcode{"displayrange"}
 ## @var{value1} is the display range as described above.
+## 
+## @item "xdata"
+## If @var{value1} is a two element vector, it must contain horizontal axis
+## limits in the form [xmin xmax]; Otherwise @var{value1} must be a
+## vector and only the first and last elements will be used for xmin and
+## xmax respectively.
+## 
+## @item "ydata"
+## If @var{value1} is a two element vector, it must contain vertical axis
+## limits in the form [ymin ymax]; Otherwise @var{value1} must be a
+## vector and only the first and last elements will be used for ymin and
+## ymax respectively.
+##
 ## @end table
 ##
 ## The optional return value @var{h} is a graphics handle to the image.
@@ -64,6 +77,7 @@
   display_range = NA;
   true_color = false;
   indexed = false;
+  xdata = ydata = [];
 
   ## Get the image.
   if (ischar (im))
@@ -105,9 +119,21 @@
         error ("imshow: argument number %d is invalid", narg+1);
       endif
     elseif (ischar (arg))
-      switch (arg)
+      switch (tolower (arg))
         case "displayrange";
           display_range = varargin{narg++};
+        case "xdata";
+          xdata = varargin{narg++};
+          if (! isvector (xdata))
+            error ("imshow: xdata must be a vector")
+          endif
+          xdata = [xdata(1) xdata(end)];
+        case "ydata";
+          ydata = varargin{narg++};
+          if (isvector (xdata))
+            error ("imshow: expect a vector for ydata")
+          endif
+          ydata = [ydata(1) ydata(end)];
         case {"truesize", "initialmagnification"}
           warning ("image: zoom argument ignored -- use GUI features");
         otherwise
@@ -161,9 +187,9 @@
   endif
 
   if (true_color || indexed)
-    tmp = image ([], [], im);
+    tmp = image (xdata, ydata, im);
   else
-    tmp = image (im);
+    tmp = image (xdata, ydata, im);
     set (tmp, "cdatamapping", "scaled");
     ## The backend is responsible for scaling to clim if necessary.
     set (gca (), "clim", display_range);
--- a/scripts/image/imwrite.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/imwrite.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 John W. Eaton
+## Copyright (C) 2008-2013 John W. Eaton
 ## Copyright (C) 2013 Carnë Draug
 ##
 ## This file is part of Octave.
--- a/scripts/image/ind2gray.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/ind2gray.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/ind2rgb.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/ind2rgb.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/iscolormap.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/iscolormap.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Carnë Draug
+## Copyright (C) 2012-2013 Carnë Draug
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/jet.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/jet.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/lines.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/lines.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Rik Wehbring
+## Copyright (C) 2012-2013 Rik Wehbring
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/ntsc2rgb.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/ntsc2rgb.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/ocean.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/ocean.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/pink.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/pink.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Kai Habel
+## Copyright (C) 2000-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/prism.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/prism.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/private/__imfinfo__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/private/__imfinfo__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Soren Hauberg
+## Copyright (C) 2008-2013 Soren Hauberg
 ## Copyright (C) 2013 Carnë Draug
 ##
 ## This file is part of Octave.
--- a/scripts/image/private/__imread__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/private/__imread__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2013 Carnë Draug
-## Copyright (C) 2008-2012 Thomas L. Scofield
+## Copyright (C) 2008-2013 Thomas L. Scofield
 ## Copyright (C) 2008 Kristian Rumberg
 ## Copyright (C) 2006 Thomas Weber
 ## Copyright (C) 2005 Stefan van der Walt
--- a/scripts/image/private/__imwrite__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/private/__imwrite__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 John W. Eaton
+## Copyright (C) 2008-2013 John W. Eaton
 ## Copyright (C) 2013 Carnë Draug
 ##
 ## This file is part of Octave.
--- a/scripts/image/private/ind2x.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/private/ind2x.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ## Copyright (C) 2012 Carnë Draug
 ##
 ## This file is part of Octave.
--- a/scripts/image/rainbow.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/rainbow.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/rgb2hsv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/rgb2hsv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/rgb2ind.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/rgb2ind.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ## Copyright (C) 2012 Carnë Draug
 ## Copyright (C) 2013 Adam H Aitkenhead
 ##
--- a/scripts/image/rgb2ntsc.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/rgb2ntsc.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/rgbplot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/rgbplot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
-## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 2012 Carnë Draug
+## Copyright (C) 2012-2013 Rik Wehbring
+## Copyright (C) 2012-2013 Carnë Draug
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/spinmap.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/spinmap.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Kai Habel
+## Copyright (C) 2007-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/spring.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/spring.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/summer.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/summer.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/white.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/white.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/image/winter.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/image/winter.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Kai Habel
+## Copyright (C) 1999-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/io/beep.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/io/beep.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2003-2012 John W. Eaton
+## Copyright (C) 2003-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/io/csvread.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/io/csvread.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2001-2012 Paul Kienzle
+## Copyright (C) 2001-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/io/csvwrite.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/io/csvwrite.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2001-2012 Paul Kienzle
+## Copyright (C) 2001-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/io/dlmwrite.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/io/dlmwrite.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2002-2012 Paul Kienzle
+## Copyright (C) 2002-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/io/fileread.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/io/fileread.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 VZLU Prague
+## Copyright (C) 2010-2013 VZLU Prague
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/io/is_valid_file_id.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/io/is_valid_file_id.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 John W. Eaton
+## Copyright (C) 2010-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/io/strread.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/io/strread.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Eric Chassande-Mottin, CNRS (France)
+## Copyright (C) 2009-2013 Eric Chassande-Mottin, CNRS (France)
 ## Parts Copyright (C) 2012 Philip Nienhuis
 ##
 ## This file is part of Octave.
--- a/scripts/java/javaArray.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/java/javaArray.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007 Michael Goffioul
+## Copyright (C) 2007, 2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/java/javaaddpath.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/java/javaaddpath.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
-## Copyright (C) 2007 Michael Goffioul
-## Copyright (C) 2010 Martin Hepperle
+## Copyright (C) 2007, 2013 Michael Goffioul
+## Copyright (C) 2010, 2013 Martin Hepperle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/java/javaclasspath.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/java/javaclasspath.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
-## Copyright (C) 2007 Michael Goffioul
-## Copyright (C) 2010 Martin Hepperle
+## Copyright (C) 2007, 2013 Michael Goffioul
+## Copyright (C) 2010, 2013 Martin Hepperle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/java/javamem.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/java/javamem.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010 Philip Nienhuis
+## Copyright (C) 2010, 2013 Philip Nienhuis
 ## 
 ## This file is part of Octave.
 ##
--- a/scripts/java/javarmpath.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/java/javarmpath.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
-## Copyright (C) 2007 Michael Goffioul
-## Copyright (C) 2010 Martin Hepperle
+## Copyright (C) 2007, 2013 Michael Goffioul
+## Copyright (C) 2010, 2013 Martin Hepperle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/java/org/octave/ClassHelper.java	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/java/org/octave/ClassHelper.java	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007 Michael Goffioul
+Copyright (C) 2007, 2013 Michael Goffioul
 
 This file is part of Octave.
 
@@ -623,6 +623,10 @@
           {
             return new Long (((Number) obj).longValue ());
           }
+        else if (expType.equals (Float.TYPE) || expType.equals (Float.class))
+          {
+            return new Float (((Number) obj).floatValue ());
+          }
       }
     else if (isBooleanClass (expType))
       {
--- a/scripts/java/org/octave/DlgListener.java	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/java/org/octave/DlgListener.java	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010 Martin Hepperle
+Copyright (C) 2010, 2013 Martin Hepperle
 
 This file is part of Octave.
 
--- a/scripts/java/org/octave/JDialogBox.java	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/java/org/octave/JDialogBox.java	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010 Martin Hepperle
+Copyright (C) 2010, 2013 Martin Hepperle
 
 This file is part of Octave.
 
--- a/scripts/java/org/octave/Matrix.java	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/java/org/octave/Matrix.java	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007 Michael Goffioul
+Copyright (C) 2007, 2013 Michael Goffioul
 
 This file is part of Octave.
 
--- a/scripts/java/org/octave/OctClassLoader.java	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/java/org/octave/OctClassLoader.java	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007 Michael Goffioul
+Copyright (C) 2007, 2013 Michael Goffioul
 
 This file is part of Octave.
 
--- a/scripts/java/org/octave/Octave.java	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/java/org/octave/Octave.java	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007 Michael Goffioul
+Copyright (C) 2007, 2013 Michael Goffioul
 
 This file is part of Octave.
 
--- a/scripts/java/org/octave/OctaveReference.java	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/java/org/octave/OctaveReference.java	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2007 Michael Goffioul
+Copyright (C) 2007, 2013 Michael Goffioul
 
 This file is part of Octave.
 
--- a/scripts/java/org/octave/TeXcode.java	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/java/org/octave/TeXcode.java	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010 Martin Hepperle
+Copyright (C) 2010, 2013 Martin Hepperle
 
 This file is part of Octave.
 
--- a/scripts/java/org/octave/TeXtranslator.java	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/java/org/octave/TeXtranslator.java	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010 Martin Hepperle
+Copyright (C) 2010, 2013 Martin Hepperle
 
 This file is part of Octave.
 
--- a/scripts/java/usejava.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/java/usejava.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
-## Copyright (C) 2012 Rik Wehbring
-## Parts Copyright (C) 2012 Philip Nienhuis
+## Copyright (C) 2012-2013 Rik Wehbring
+## Parts Copyright (C) 2012-2013 Philip Nienhuis
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/commutation_matrix.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/commutation_matrix.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/cond.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/cond.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/condest.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/condest.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Regents of the University of California
+## Copyright (C) 2007-2013 Regents of the University of California
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/cross.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/cross.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/duplication_matrix.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/duplication_matrix.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/expm.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/expm.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Jaroslav Hajek, Marco Caliari
+## Copyright (C) 2008-2013 Jaroslav Hajek, Marco Caliari
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/housh.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/housh.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 A. Scottedward Hodel
+## Copyright (C) 1995-2013 A. Scottedward Hodel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/isdefinite.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/isdefinite.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2003-2012 Gabriele Pannocchia
+## Copyright (C) 2003-2013 Gabriele Pannocchia
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/ishermitian.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/ishermitian.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/linear-algebra/issymmetric.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/issymmetric.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/linear-algebra/krylov.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/krylov.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 Auburn University.  All rights reserved.
+## Copyright (C) 1993-2013 Auburn University.  All rights reserved.
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/logm.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/logm.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 N. J. Higham
+## Copyright (C) 2008-2013 N. J. Higham
 ## Copyright (C) 2010 Richard T. Guy
 ## Copyright (C) 2010 Marco Caliari
 ##
--- a/scripts/linear-algebra/normest.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/normest.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman and Marco Caliari
+## Copyright (C) 2006-2013 David Bateman and Marco Caliari
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/linear-algebra/null.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/null.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/onenormest.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/onenormest.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Regents of the University of California
+## Copyright (C) 2007-2013 Regents of the University of California
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/orth.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/orth.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/planerot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/planerot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/qzhess.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/qzhess.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/rank.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/rank.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/rref.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/rref.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/subspace.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/subspace.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 VZLU Prague, a.s., Czech Republic
+## Copyright (C) 2008-2013 VZLU Prague, a.s., Czech Republic
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/trace.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/trace.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/linear-algebra/vech.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/linear-algebra/vech.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/miscellaneous/ans.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/ans.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/bincoeff.m	Mon Oct 14 17:16:36 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-## Copyright (C) 1995-2012 Kurt Hornik
-##
-## This file is part of Octave.
-##
-## Octave is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn {Mapping Function} {} bincoeff (@var{n}, @var{k})
-## Return the binomial coefficient of @var{n} and @var{k}, defined as
-## @tex
-## $$
-##  {n \choose k} = {n (n-1) (n-2) \cdots (n-k+1) \over k!}
-## $$
-## @end tex
-## @ifnottex
-##
-## @example
-## @group
-##  /   \
-##  | n |    n (n-1) (n-2) @dots{} (n-k+1)
-##  |   |  = -------------------------
-##  | k |               k!
-##  \   /
-## @end group
-## @end example
-##
-## @end ifnottex
-## For example:
-##
-## @example
-## @group
-## bincoeff (5, 2)
-##    @result{} 10
-## @end group
-## @end example
-##
-## In most cases, the @code{nchoosek} function is faster for small
-## scalar integer arguments.  It also warns about loss of precision for
-## big arguments.
-##
-## @seealso{nchoosek}
-## @end deftypefn
-
-## Author: KH <Kurt.Hornik@wu-wien.ac.at>
-## Created: 8 October 1994
-## Adapted-By: jwe
-
-function b = bincoeff (n, k)
-
-  if (nargin != 2)
-    print_usage ();
-  endif
-
-  [retval, n, k] = common_size (n, k);
-  if (retval > 0)
-    error ("bincoeff: N and K must be of common size or scalars");
-  endif
-
-  if (iscomplex (n) || iscomplex (k))
-    error ("bincoeff: N and K must not be complex");
-  endif
-
-  b = zeros (size (n));
-
-  ok = (k >= 0) & (k == fix (k)) & (! isnan (n));
-  b(! ok) = NaN;
-
-  n_int = (n == fix (n));
-  idx = n_int & (n < 0) & ok;
-  b(idx) = (-1) .^ k(idx) .* exp (gammaln (abs (n(idx)) + k(idx))
-                                  - gammaln (k(idx) + 1)
-                                  - gammaln (abs (n(idx))));
-
-  idx = (n >= k) & ok;
-  b(idx) = exp (gammaln (n(idx) + 1)
-                - gammaln (k(idx) + 1)
-                - gammaln (n(idx) - k(idx) + 1));
-
-  idx = (! n_int) & (n < k) & ok;
-  b(idx) = (1/pi) * exp (gammaln (n(idx) + 1)
-                         - gammaln (k(idx) + 1)
-                         + gammaln (k(idx) - n(idx))
-                         + log (sin (pi * (n(idx) - k(idx) + 1))));
-
-  ## Clean up rounding errors.
-  b(n_int) = round (b(n_int));
-
-  idx = ! n_int;
-  b(idx) = real (b(idx));
-
-endfunction
-
-
-%!assert (bincoeff (4, 2), 6)
-%!assert (bincoeff (2, 4), 0)
-%!assert (bincoeff (-4, 2), 10)
-%!assert (bincoeff (5, 2), 10)
-%!assert (bincoeff (50, 6), 15890700)
-%!assert (bincoeff (0.4, 2), -.12, 8*eps)
-
-%!assert (bincoeff ([4 NaN 4], [-1, 2, 2.5]), NaN (1, 3))
-
-%% Test input validation
-%!error bincoeff ()
-%!error bincoeff (1, 2, 3)
-%!error bincoeff (ones (3),ones (2))
-%!error bincoeff (ones (2),ones (3))
-
--- a/scripts/miscellaneous/bug_report.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/bug_report.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/bunzip2.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/bunzip2.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 Bill Denney
+## Copyright (C) 2006-2013 Bill Denney
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/bzip2.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/bzip2.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Thorsten Meyer
+## Copyright (C) 2008-2013 Thorsten Meyer
 ## (based on gzip.m by David Bateman)
 ##
 ## This file is part of Octave.
--- a/scripts/miscellaneous/cast.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/cast.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 John W. Eaton
+## Copyright (C) 2007-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/miscellaneous/colon.m	Wed Oct 23 22:29:06 2013 -0400
@@ -0,0 +1,46 @@
+## Copyright (C) 2008-2013 David Bateman
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn  {Function File} {@var{r} =} colon (@var{a}, @var{b})
+## @deftypefnx {Function File} {@var{r} =} colon (@var{a}, @var{b}, @var{c})
+## Method of a class to construct a range with the @code{:} operator.  For
+## example:
+##
+## @example
+## @group
+## a = myclass (@dots{});
+## b = myclass (@dots{});
+## c = a : b
+## @end group
+## @end example
+##
+## @seealso{class, subsref, subsasgn}
+## @end deftypefn
+
+function r = colon (varargin)
+  if (nargin != 0)
+    error ('colon: not defined for class "%s"', class (varargin{1}));
+  endif
+endfunction
+
+
+%!error colon (1)
+
+## FIXME -- what does colon () mean since it doesn't set a return value?
+
--- a/scripts/miscellaneous/comma.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/comma.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 John W. Eaton
+## Copyright (C) 1995-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/compare_versions.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/compare_versions.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 Bill Denney
+## Copyright (C) 2006-2013 Bill Denney
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/computer.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/computer.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 John W. Eaton
+## Copyright (C) 2004-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/copyfile.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/copyfile.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/debug.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/debug.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/delete.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/delete.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 John W. Eaton
+## Copyright (C) 2004-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/dir.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/dir.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 John W. Eaton
+## Copyright (C) 2004-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/dos.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/dos.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 John W. Eaton
+## Copyright (C) 2004-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/dump_prefs.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/dump_prefs.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/edit.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/edit.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2001-2012 Paul Kienzle
+## Copyright (C) 2001-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
@@ -44,15 +44,15 @@
 ## @item
 ## If @code{@var{name}.cc} is specified, then it will search for
 ## @code{@var{name}.cc} in the path and try to modify it, otherwise it will
-## create a new @file{.cc} file in @env{HOME}.  If @var{name} happens to be an
-## m-file or interpreter defined function, then the text of that
+## create a new @file{.cc} file in the current directory. If @var{name} happens
+## to be an m-file or interpreter defined function, then the text of that
 ## function will be inserted into the .cc file as a comment.
 ##
 ## @item
 ## If @file{@var{name}.ext} is on your path then it will be edited, otherwise
-## the editor will be started with @file{@env{HOME}/@var{name}.ext} as the
-## filename.  If @file{@var{name}.ext} is not modifiable, it will be copied to
-## @env{HOME} before editing.
+## the editor will be started with @file{@var{name}.ext} in the current
+## directory as the filename. If @file{@var{name}.ext} is not modifiable,
+## it will be copied to @env{HOME} before editing.
 ##
 ## @strong{Warning:} You may need to clear @var{name} before the new definition
 ## is available.  If you are editing a .cc file, you will need
--- a/scripts/miscellaneous/error_ids.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/error_ids.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Juan Pablo Carbajal
+## Copyright (C) 2012-2013 Juan Pablo Carbajal
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/fact.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/fact.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Jordi Gutiérrez Hermoso 
+## Copyright (C) 2007-2013 Jordi Gutiérrez Hermoso 
 ## Copyright (C) 2007 Stallmanfacts.com
 ##
 ## This file is part of Octave.
--- a/scripts/miscellaneous/fileattrib.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/fileattrib.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/fileparts.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/fileparts.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2003-2012 John W. Eaton
+## Copyright (C) 2003-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/fullfile.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/fullfile.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2003-2012 John W. Eaton
+## Copyright (C) 2003-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/miscellaneous/genvarname.m	Wed Oct 23 22:29:06 2013 -0400
@@ -0,0 +1,210 @@
+## Copyright (C) 2008-2013 Bill Denney, Robert Platt
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn  {Function File} {@var{varname} =} genvarname (@var{str})
+## @deftypefnx {Function File} {@var{varname} =} genvarname (@var{str}, @var{exclusions})
+## Create unique variable(s) from @var{str}.  If @var{exclusions} is
+## given, then the variable(s) will be unique to each other and to
+## @var{exclusions} (@var{exclusions} may be either a string or a cellstr).
+##
+## If @var{str} is a cellstr, then a unique variable is created for each
+## cell in @var{str}.
+##
+## @example
+## @group
+## x = 3.141;
+## genvarname ("x", who ())
+##   @result{} x1
+## @end group
+## @end example
+##
+## If @var{wanted} is a cell array, genvarname will make sure the returned
+## strings are distinct:
+##
+## @example
+## @group
+## genvarname (@{"foo", "foo"@})
+##   @result{}
+##      @{
+##        [1,1] = foo
+##        [1,2] = foo1
+##      @}
+## @end group
+## @end example
+##
+## Note that the result is a char array/cell array of strings, not the
+## variables themselves.  To define a variable, @code{eval()} can be
+## used.  The following trivial example sets @code{x} to @code{42}.
+##
+## @example
+## @group
+## name = genvarname ("x");
+## eval ([name " = 42"]);
+##   @result{} x =  42
+## @end group
+## @end example
+##
+## Also, this can be useful for creating unique struct field names.
+##
+## @example
+## @group
+## x = struct ();
+## for i = 1:3
+##   x.(genvarname ("a", fieldnames (x))) = i;
+## endfor
+##   @result{} x =
+##      @{
+##        a =  1
+##        a1 =  2
+##        a2 =  3
+##      @}
+## @end group
+## @end example
+##
+## Since variable names may only contain letters, digits and underscores,
+## genvarname replaces any sequence of disallowed characters with
+## an underscore.  Also, variables may not begin with a digit; in this
+## case an underscore is added before the variable name.
+##
+## Variable names beginning and ending with two underscores @qcode{"__"} are
+## valid but they are used internally by octave and should generally be
+## avoided, therefore genvarname will not generate such names.
+##
+## genvarname will also make sure that returned names do not clash with
+## keywords such as @qcode{"for"} and @qcode{"if"}.  A number will be
+## appended if necessary.  Note, however, that this does @strong{not} include
+## function names, such as @qcode{"sin"}.  Such names should be included in
+## @var{avoid} if necessary.
+## @seealso{isvarname, exist, tmpnam, eval}
+## @end deftypefn
+
+## Authors: Rob Platt <robert.platt@postgrad.manchester.ac.uk>
+##          Bill Denney <bill@denney.ws>
+
+function varname = genvarname (str, exclusions)
+
+  strinput = ischar (str);
+  ## Process the inputs
+  if (nargin < 2)
+    exclusions = {};
+  elseif (ischar (exclusions))
+    if (rows (exclusions) != 1)
+      error ("genvarname: if more than one exclusion is given, it must be a cellstr");
+    endif
+    exclusions = {exclusions};
+  elseif (! iscellstr (exclusions))
+    error ("genvarname: EXCLUSIONS must be a string or a cellstr");
+  endif
+  if (ischar (str))
+    if (rows (str) != 1)
+      error ("genvarname: if more than one STR is given, it must be a cellstr");
+    endif
+    str = {str};
+  elseif (! iscellstr (str))
+    error ("genvarname: STR must be a string or a cellstr");
+  endif
+
+  validchars = ["A":"Z", "a":"z", "0":"9", "_"];
+
+  varname = cell (size (str));
+  for i = 1:numel (str)
+    ## Perform any modifications to the varname to make sure that it is
+    ## a valid variable name.
+
+    ## remove invalid characters
+    str{i}(! ismember (str{i}, validchars)) = "_";
+    ## do not use keywords
+    if (iskeyword (str{i}))
+      str{i} = ["_" str{i}];
+    endif
+    ## double underscores at the beginning and end are reserved variables
+    underscores = (str{i} == "_");
+    if (any (underscores))
+      firstnon = find (!underscores, 1);
+      lastnon = find (!underscores, 1, "last");
+      str{i}([1:firstnon-2, lastnon+2:end]) = [];
+    endif
+    ## The variable cannot be empty
+    if (isempty (str{i}))
+      str{i} = "x";
+    endif
+    ## it cannot start with a number
+    if (ismember (str{i}(1), "0":"9"))
+      str{i} = ["_" str{i}];
+    endif
+
+    ## make sure that the variable is unique relative to other variables
+    ## and the exclusions list
+    excluded = any (strcmp (str{i}, exclusions));
+    if (excluded && ismember (str{i}(end), "0":"9"))
+      ## if it is not unique and ends with a digit, add an underscore to
+      ## make the variable name more readable ("x1_1" instead of "x11")
+      str{i}(end+1) = "_";
+    endif
+    varname(i) = str(i);
+    idx = 0;
+    while (excluded)
+      idx++;
+      varname{i} = sprintf ("%s%d", str{i}, idx);
+      excluded = any (strcmp (varname{i}, exclusions));
+    endwhile
+    exclusions(end+1) = varname(i);
+  endfor
+
+  if (strinput)
+    varname = varname{1};
+  endif
+
+endfunction
+
+
+## a single argument
+%!assert (genvarname ("a"), "a")
+## a single argument with a non-conflicting exception
+%!assert (genvarname ("a", "b"), "a")
+## a single argument with a conflicting exception
+%!assert (genvarname ("a", "a"), "a1")
+## a single argument as a cell
+%!assert (genvarname ({"a"}), {"a"})
+%!assert (genvarname ({"a"}, "b"), {"a"})
+%!assert (genvarname ({"a"}, {"b"}), {"a"})
+%!assert (genvarname ({"a"}, "a"), {"a1"})
+%!assert (genvarname ({"a"}, {"a"}), {"a1"})
+## Test different arguments
+## orientation
+%!assert (genvarname ({"a" "b"}), {"a" "b"})
+%!assert (genvarname ({"a";"b"}), {"a";"b"})
+%!assert (genvarname ({"a" "a"}), {"a" "a1"})
+%!assert (genvarname ({"a" "b";"c" "d"}), {"a" "b";"c" "d"})
+%!assert (genvarname ({"a" "a" "a";"a" "a" "a"}), {"a" "a2" "a4";"a1" "a3" "a5"})
+## more than one repetition
+%!assert (genvarname ({"a" "a" "a"}), {"a" "a1" "a2"})
+%!assert (genvarname ({"a" "a" "a"}, {"a" "a1" "a2"}), {"a3" "a4" "a5"})
+## more than one repetition not in order
+%!assert (genvarname ({"a" "b" "a" "b" "a"}), {"a" "b" "a1" "b1" "a2"})
+## Variable name munging
+%!assert (genvarname ("__x__"), "_x_")
+%!assert (genvarname ("123456789"), "_123456789")
+%!assert (genvarname ("_$1__"), "_1_")
+%!assert (genvarname ("__foo__", "_foo_"), "_foo_1")
+%!assert (genvarname ("1million_and1", "_1million_and1"), "_1million_and1_1")
+%!assert (genvarname ({"", "", ""}), {"x", "x1", "x2"})
+%!assert (genvarname ("if"), "_if")
+%!assert (genvarname ({"if", "if", "if"}), {"_if", "_if1", "_if2"})
+
--- a/scripts/miscellaneous/getappdata.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/getappdata.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Ben Abbott
+## Copyright (C) 2010-2013 Ben Abbott
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
--- a/scripts/miscellaneous/getfield.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/getfield.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Etienne Grossmann
+## Copyright (C) 2000-2013 Etienne Grossmann
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/miscellaneous/gunzip.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/gunzip.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 Bill Denney
+## Copyright (C) 2006-2013 Bill Denney
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/gzip.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/gzip.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/info.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/info.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Julian Schnidder
+## Copyright (C) 2008-2013 Julian Schnidder
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/inputname.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/inputname.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 Paul Kienzle
+## Copyright (C) 2004-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/isappdata.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/isappdata.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Ben Abbott
+## Copyright (C) 2010-2013 Ben Abbott
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
--- a/scripts/miscellaneous/isdeployed.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/isdeployed.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/ismac.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/ismac.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Thomas Treichl
+## Copyright (C) 2007-2013 Thomas Treichl
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/ispc.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/ispc.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 John W. Eaton
+## Copyright (C) 2004-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/isunix.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/isunix.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 John W. Eaton
+## Copyright (C) 2004-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/license.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/license.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 William Poetra Yoga Hadisoeseno
+## Copyright (C) 2005-2013 William Poetra Yoga Hadisoeseno
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/list_primes.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/list_primes.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/ls.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/ls.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/ls_command.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/ls_command.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/menu.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/menu.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/mex.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/mex.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman
+## Copyright (C) 2006-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/mexext.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/mexext.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/mkoctfile.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/mkoctfile.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 Keith Goodman
+## Copyright (C) 2006-2013 Keith Goodman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/module.mk	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/module.mk	Wed Oct 23 22:29:06 2013 -0400
@@ -6,11 +6,11 @@
 
 miscellaneous_FCN_FILES = \
   miscellaneous/ans.m \
-  miscellaneous/bincoeff.m \
   miscellaneous/bug_report.m \
   miscellaneous/bunzip2.m \
   miscellaneous/bzip2.m \
   miscellaneous/cast.m \
+  miscellaneous/colon.m \
   miscellaneous/citation.m \
   miscellaneous/comma.m \
   miscellaneous/compare_versions.m \
@@ -28,6 +28,7 @@
   miscellaneous/fileattrib.m \
   miscellaneous/fileparts.m \
   miscellaneous/fullfile.m \
+  miscellaneous/genvarname.m \
   miscellaneous/getappdata.m \
   miscellaneous/getfield.m \
   miscellaneous/gunzip.m \
--- a/scripts/miscellaneous/movefile.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/movefile.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/namelengthmax.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/namelengthmax.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/news.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/news.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 John W. Eaton
+## Copyright (C) 2007-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/orderfields.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/orderfields.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 Paul Kienzle
+## Copyright (C) 2006-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/pack.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/pack.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 John W. Eaton
+## Copyright (C) 1999-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/paren.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/paren.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/parseparams.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/parseparams.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 Alexander Barth
+## Copyright (C) 2006-2013 Alexander Barth
 ## Copyright (C) 2010 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/miscellaneous/perl.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/perl.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Julian Schnidder
+## Copyright (C) 2008-2013 Julian Schnidder
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/private/__xzip__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/private/__xzip__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Thorsten Meyer
+## Copyright (C) 2008-2013 Thorsten Meyer
 ## based on the original gzip function by David Bateman
 ##
 ## This file is part of Octave.
--- a/scripts/miscellaneous/python.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/python.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Julian Schnidder
+## Copyright (C) 2008-2013 Julian Schnidder
 ## Copyright (C) 2012 Carnë Draug
 ##
 ## This file is part of Octave.
--- a/scripts/miscellaneous/recycle.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/recycle.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/rmappdata.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/rmappdata.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Ben Abbott
+## Copyright (C) 2010-2013 Ben Abbott
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
--- a/scripts/miscellaneous/run.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/run.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
@@ -18,13 +18,23 @@
 
 ## -*- texinfo -*-
 ## @deftypefn  {Command} {} run @var{script}
-## @deftypefnx {Function File} {} run (@var{script})
-## Run scripts in the current workspace that are not necessarily on the
-## path.  If @var{script} is the script to run, including its path, then
-## @code{run} changes the directory to the directory where @var{script} is
-## found.  @code{run} then executes the script, and returns to the original
-## directory.
-## @seealso{system}
+## @deftypefnx {Function File} {} run ("@var{script}")
+## Run @var{script} in the current workspace.
+##
+## Scripts which reside in directories specified in Octave's load
+## path, and which end with the extension @file{".m"}, can be run simply by
+## typing their name.  For scripts not located on the load path, use @code{run}.
+##
+## The file name @var{script} can be a bare, fully qualified, or relative
+## filename and with or without a file extension.  If no extension is specified,
+## Octave will first search for a script with the @file{".m"} extension before
+## falling back to the script name without an extension.
+##
+## Implementation Note: If @var{script} includes a path component, then
+## @code{run} first changes the directory to the directory where @var{script}
+## is found.  @code{run} then executes the script, and returns to the original
+## directory. 
+## @seealso{path, addpath, source}
 ## @end deftypefn
 
 function run (script)
@@ -34,15 +44,25 @@
   endif
 
   [d, f, ext] = fileparts (script);
+  if (! strcmp (ext, ".m"))
+    ## prefer files with .m extension for compatibility with Matlab
+    if (exist ([script ".m"], "file"))
+      f = [f ext];
+      ext = ".m";
+      script = [script ".m"];
+    endif
+  endif
+  
+  if (! exist (script, "file"))
+    error ("run: file SCRIPT must exist and be a valid Octave scriptfile");
+  endif
+  
   if (! isempty (d))
     if (exist (d, "dir"))
       wd = pwd ();
       unwind_protect
         cd (d);
-        if (! exist ([f ext], "file"))
-          error ("run: file SCRIPT must exist and be a valid Octave scriptfile");
-        endif
-        evalin ("caller", sprintf ("source (\"%s%s\");", f, ext),
+        evalin ("caller", sprintf ('source ("%s%s");', f, ext),
                 "rethrow (lasterror ())");
       unwind_protect_cleanup
         cd (wd);
@@ -51,12 +71,20 @@
       error ("run: the path %s doesn't exist", d);
     endif
   else
-    if (exist (script, "file"))
-      evalin ("caller", sprintf ("source (\"%s\");", script),
-              "rethrow (lasterror ())");
+    if (! isempty (ext))
+      script = which (script);
     else
-      error ("run: %s not found", script);
+      ## Search PATH with null extension ('.' will be stripped and ext = "")
+      script = which ([script "."]);
     endif
+    evalin ("caller", sprintf ('source ("%s");', script),
+            "rethrow (lasterror ())");
   endif
 endfunction
 
+
+%% Test input validation
+%!error run ()
+%!error run ("a", "b")
+%!error <SCRIPT must exist> run ("__A_very_#unlikely#_file_name__")
+
--- a/scripts/miscellaneous/semicolon.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/semicolon.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 John W. Eaton
+## Copyright (C) 1995-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/setappdata.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/setappdata.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Ben Abbott
+## Copyright (C) 2010-2013 Ben Abbott
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
--- a/scripts/miscellaneous/setfield.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/setfield.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Etienne Grossmann
+## Copyright (C) 2000-2013 Etienne Grossmann
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/miscellaneous/substruct.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/substruct.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ## Copyright (C) 2010 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/miscellaneous/swapbytes.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/swapbytes.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/symvar.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/symvar.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/tar.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/tar.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/tempdir.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/tempdir.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2003-2012 John W. Eaton
+## Copyright (C) 2003-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/tempname.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/tempname.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2003-2012 John W. Eaton
+## Copyright (C) 2003-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/unix.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/unix.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 John W. Eaton
+## Copyright (C) 2004-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/unpack.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/unpack.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 Bill Denney
+## Copyright (C) 2006-2013 Bill Denney
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/untar.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/untar.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/unzip.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/unzip.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/ver.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/ver.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 William Poetra Yoga Hadisoeseno
+## Copyright (C) 2005-2013 William Poetra Yoga Hadisoeseno
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/version.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/version.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/warning_ids.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/warning_ids.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/what.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/what.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/xor.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/xor.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/miscellaneous/zip.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/miscellaneous/zip.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 Sylvain Pelissier
+## Copyright (C) 2006-2013 Sylvain Pelissier
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/mk-pkg-add	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/mk-pkg-add	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 #! /bin/sh
 #
-# Copyright (C) 2002-2012 John W. Eaton
+# Copyright (C) 2002-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/scripts/mkdoc	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/mkdoc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 #! /bin/sh
 #
-# Copyright (C) 1999-2012 John W. Eaton
+# Copyright (C) 1999-2013 John W. Eaton
 #
 # This file is part of Octave.
 #
--- a/scripts/mkdoc.pl	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/mkdoc.pl	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 #! /usr/bin/perl -w
 #
-# Copyright (C) 2012 Rik Wehbring
+# Copyright (C) 2012-2013 Rik Wehbring
 #
 # This file is part of Octave.
 #
--- a/scripts/optimization/__all_opts__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/optimization/__all_opts__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 VZLU Prague
+## Copyright (C) 2009-2013 VZLU Prague
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/optimization/fminbnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/optimization/fminbnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 VZLU Prague, a.s.
+## Copyright (C) 2008-2013 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/optimization/fminsearch.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/optimization/fminsearch.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2003,2012 Andy Adler
-## Copyright (C) 2002 N.J.Higham
+## Copyright (C) 2002, 2013 N.J.Higham
 ##
 ## This file is part of Octave.
 ##
@@ -116,7 +116,7 @@
 ##    and Applied Mathematics, Philadelphia, PA, 1999.
 
 ## From Matrix Toolbox
-## Copyright (C) 2002 N.J.Higham
+## Copyright (C) 2002, 2013 N.J.Higham
 ## www.maths.man.ac.uk/~higham/mctoolbox
 ##
 ## Modifications for Octave by A.Adler 2003
--- a/scripts/optimization/fminunc.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/optimization/fminunc.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 VZLU Prague, a.s.
+## Copyright (C) 2008-2013 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/optimization/fsolve.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/optimization/fsolve.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 VZLU Prague, a.s.
+## Copyright (C) 2008-2013 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/optimization/fzero.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/optimization/fzero.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 VZLU Prague, a.s.
+## Copyright (C) 2008-2013 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/optimization/glpk.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/optimization/glpk.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Nicolo' Giorgetti
+## Copyright (C) 2005-2013 Nicolo' Giorgetti
 ## Copyright (C) 2013 Sébastien Villemot <sebastien@debian.org>
 ##
 ## This file is part of Octave.
--- a/scripts/optimization/lsqnonneg.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/optimization/lsqnonneg.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Bill Denney
+## Copyright (C) 2008-2013 Bill Denney
 ## Copyright (C) 2008 Jaroslav Hajek
 ## Copyright (C) 2009 VZLU Prague
 ##
--- a/scripts/optimization/optimget.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/optimization/optimget.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Jaroslav Hajek
+## Copyright (C) 2008-2013 Jaroslav Hajek
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/optimization/optimset.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/optimization/optimset.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 John W. Eaton
+## Copyright (C) 2007-2013 John W. Eaton
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/optimization/pqpnonneg.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/optimization/pqpnonneg.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Bill Denney
+## Copyright (C) 2008-2013 Bill Denney
 ## Copyright (C) 2008 Jaroslav Hajek
 ## Copyright (C) 2009 VZLU Prague
 ##
--- a/scripts/optimization/private/__fdjac__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/optimization/private/__fdjac__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Jaroslav Hajek
+## Copyright (C) 2008-2013 Jaroslav Hajek
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/optimization/qp.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/optimization/qp.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Gabriele Pannocchia.
+## Copyright (C) 2000-2013 Gabriele Pannocchia.
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/optimization/sqp.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/optimization/sqp.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/path/matlabroot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/path/matlabroot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Ben Abbott
+## Copyright (C) 2008-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/path/pathdef.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/path/pathdef.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Bill Denney
+## Copyright (C) 2005-2013 Bill Denney
 ## Copyright (C) 2007-2009 Ben Abbott
 ##
 ## This file is part of Octave.
--- a/scripts/path/savepath.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/path/savepath.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Bill Denney
+## Copyright (C) 2005-2013 Bill Denney
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/pkg/pkg.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/pkg.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ## Copyright (C) 2012 Carlo de Falco
 ##
--- a/scripts/pkg/private/build.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/build.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/configure_make.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/configure_make.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/copy_files.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/copy_files.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/create_pkgadddel.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/create_pkgadddel.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/describe.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/describe.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/dirempty.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/dirempty.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/extract_pkg.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/extract_pkg.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/finish_installation.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/finish_installation.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/fix_depends.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/fix_depends.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/fix_version.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/fix_version.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/generate_lookfor_cache.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/generate_lookfor_cache.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/get_description.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/get_description.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/get_forge_download.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/get_forge_download.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/get_forge_pkg.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/get_forge_pkg.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
-## Copyright (C) 2005-2012 Søren Hauberg
-## Copyright (C) 2010-2012 VZLU Prague, a.s.
+## Copyright (C) 2005-2013 Søren Hauberg
+## Copyright (C) 2010-2013 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/pkg/private/get_unsatisfied_deps.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/get_unsatisfied_deps.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/getarch.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/getarch.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/getarchdir.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/getarchdir.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/getarchprefix.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/getarchprefix.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/install.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/install.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
@@ -336,7 +336,7 @@
   ## we are checking if desc exists too because it's possible to ge to this point
   ## without creating it such as giving an invalid filename for the package
   if (exist ("desc", "var") && exist (fullfile (desc.dir, "packinfo", "NEWS"), "file"))
-    printf ("For information about changes from previous versions of the %s package, run 'news (\"%s\")'.\n",
+    printf ("For information about changes from previous versions of the %s package, run 'news %s'.\n",
             desc.name, desc.name);
   endif
 
--- a/scripts/pkg/private/installed_packages.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/installed_packages.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/is_architecture_dependent.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/is_architecture_dependent.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/list_forge_packages.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/list_forge_packages.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/load_package_dirs.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/load_package_dirs.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/load_packages.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/load_packages.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/load_packages_and_dependencies.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/load_packages_and_dependencies.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/packinfo_copy_file.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/packinfo_copy_file.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/parse_pkg_idx.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/parse_pkg_idx.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/prepare_installation.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/prepare_installation.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/print_package_description.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/print_package_description.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/rebuild.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/rebuild.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/repackage.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/repackage.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/save_order.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/save_order.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/shell.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/shell.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/uninstall.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/uninstall.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/unload_packages.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/unload_packages.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/verify_directory.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/verify_directory.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/pkg/private/write_index.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/pkg/private/write_index.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Søren Hauberg
+## Copyright (C) 2005-2013 Søren Hauberg
 ## Copyright (C) 2010 VZLU Prague, a.s.
 ##
 ## This file is part of Octave.
--- a/scripts/plot/appearance/__clabel__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/__clabel__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/__getlegenddata__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/__getlegenddata__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 David Bateman
+## Copyright (C) 2010-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/axis.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/axis.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/box.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/box.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/caxis.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/caxis.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C)  2007-2012 David Bateman
+## Copyright (C)  2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/clabel.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/clabel.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/daspect.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/daspect.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Ben Abbott
+## Copyright (C) 2010-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/plot/appearance/datetick.m	Wed Oct 23 22:29:06 2013 -0400
@@ -0,0 +1,314 @@
+## Copyright (C) 2008-2013 David Bateman
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn  {Function File} {} datetick ()
+## @deftypefnx {Function File} {} datetick (@var{form})
+## @deftypefnx {Function File} {} datetick (@var{axis}, @var{form})
+## @deftypefnx {Function File} {} datetick (@dots{}, "keeplimits")
+## @deftypefnx {Function File} {} datetick (@dots{}, "keepticks")
+## @deftypefnx {Function File} {} datetick (@var{hax}, @dots{})
+## Add date formatted tick labels to an axis.  The axis to apply the
+## ticks to is determined by @var{axis} which can take the values @qcode{"x"},
+## @qcode{"y"}, or @qcode{"z"}.  The default value is @qcode{"x"}.  The
+## formatting of the labels is determined by the variable @var{form}, which
+## can either be a string or positive integer that @code{datestr} accepts.
+## @seealso{datenum, datestr}
+## @end deftypefn
+
+function datetick (varargin)
+
+  [hax, varargin, nargin] = __plt_get_axis_arg__ ("datetick", varargin{:});
+
+  oldfig = [];
+  if (! isempty (hax))
+    oldfig = get (0, "currentfigure");
+  endif
+  if (isempty (hax))
+    hax = gca ();
+  endif 
+
+  unwind_protect
+    ## FIXME: This will bring the axes to the top of the stack.
+    ##        This may not always be desirable if there are multiple axes
+    ##        objects.
+    axes (hax);
+    __datetick__ (varargin{:});
+  unwind_protect_cleanup
+    if (! isempty (oldfig))
+      set (0, "currentfigure", oldfig);
+    endif
+  end_unwind_protect
+
+endfunction
+
+
+%!demo
+%! clf;
+%! yr = 1900:10:2000;
+%! pop = [76.094, 92.407, 106.461, 123.077 131.954, 151.868, 179.979, ...
+%!        203.984, 227.225, 249.623, 282.224];
+%! plot (datenum (yr, 1, 1), pop);
+%! title ("US population (millions)");
+%! xlabel ("Year");
+%! datetick ("x", "YYYY");
+
+%!demo
+%! clf;
+%! yr = 1988:2:2002;
+%! yr = datenum (yr,1,1);
+%! pr = [12.1 13.3 12.6 13.1 13.3 14.1 14.4 15.2];
+%! plot (yr, pr, "-o");
+%! xlabel ("year");
+%! ylabel ("average price");
+%! ax = gca;
+%! set (ax, "xtick", datenum (1990:5:2005,1,1));
+%! datetick (2, "keepticks");
+%! set (ax, "ytick", 12:16);
+
+## Remove from test statistics.  No real tests possible.
+%!assert (1)
+
+function __datetick__ (varargin)
+
+  keeplimits = false;
+  idx = strcmpi (varargin, "keeplimits");
+  if (any (idx))
+    keeplimits = true;
+    varargin = varargin(! idx);
+  endif
+  keepticks = false;
+  idx = strcmpi (varargin, "keepticks");
+  if (any (idx))
+    keepticks = true;
+    varargin = varargin(! idx);
+  endif
+
+  nargin = numel (varargin); 
+  form = [];
+  ax = "x";
+
+  if (nargin != 0)
+    arg = varargin{1};
+    if (ischar (arg) && any (strcmpi (arg, {"x", "y", "z"})))
+      ax = tolower (arg);
+      if (nargin > 1)
+        form = varargin{2};
+        varargin(1:2) = [];
+      else
+        varargin(1) = [];
+      endif
+    else
+      form = arg;
+      varargin(1) = [];
+    endif
+  endif
+
+  ## Don't publish the existence of this variable for use with dateaxis
+  if (length (varargin) > 0)
+    startdate = varargin{1};
+  else
+    startdate = [];
+  endif
+
+  if (! isempty (form))
+    if (isnumeric (form))
+      if (! isscalar (form) || form < 0 || form != fix (form))
+        error ("datetick: expecting FORM argument to be a positive integer");
+      endif
+    elseif (! ischar (form))
+      error ("datetick: expecting valid date format string");
+    endif
+  endif
+
+  if (keepticks)
+    ticks = get (gca (), [ax "tick"]);
+  else
+    ## Need to do our own axis tick position calculation as
+    ## year, etc, don't fallback on nice datenum values.
+    objs = findall (gca ());
+    xmax = NaN;
+    xmin = NaN;
+    for i = 1 : length (objs)
+      fld = get (objs (i));
+      if (isfield (fld, [ax "data"]))
+        xdata = getfield (fld, [ax "data"])(:);
+        xmin = min (xmin, min (xdata));
+        xmax = max (xmax, max (xdata));
+      endif
+    endfor
+
+    if (isnan (xmin) || isnan (xmax))
+      xmin = 0;
+      xmax = 1;
+    elseif (xmin == xmax)
+      xmax = xmin + 1;
+    endif
+
+    N = 3;
+    if (xmax - xmin < N)
+      ## Day scale or less
+      if (xmax - xmin < N / 24 / 60 / 60)
+        scl = 1 / 24 / 60 / 60;
+      elseif (xmax - xmin < N / 24 / 60)
+        scl = 1 / 24 / 60;
+      else
+        scl = 1 / 24;
+      endif
+      sep = __calc_tick_sep__ (xmin / scl , xmax / scl);
+      xmin = sep * floor (xmin / scl / sep);
+      xmax = sep * ceil (xmax / scl / sep);
+      nticks = (xmax - xmin) / sep + 1;
+      xmin *= scl;
+      xmax *= scl;
+    else
+      [ymin, mmin, dmin] = datevec (xmin);
+      [ymax, mmax, dmax] = datevec (xmax);
+      minyear = ymin + (mmin - 1) / 12 + (dmin - 1) / 12 / 30;
+      maxyear = ymax + (mmax - 1) / 12 + (dmax - 1) / 12 / 30;
+      minmonth = mmin + (dmin - 1) / 30;
+      maxmonth = (ymax  - ymin) * 12 + mmax + (dmax - 1) / 30;
+
+      if (maxmonth - minmonth < N)
+        sep = __calc_tick_sep__ (xmin, xmax);
+        xmin = sep * floor (xmin / sep);
+        xmax = sep * ceil (xmax / sep);
+        nticks = (xmax - xmin) / sep + 1;
+      elseif (maxyear - minyear < N)
+        sep = __calc_tick_sep__ (minmonth , maxmonth);
+        xmin = datenum (ymin, sep * floor (minmonth / sep), 1);
+        xmax = datenum (ymax, sep * ceil (maxmonth / sep), 1);
+        nticks = ceil (maxmonth / sep) - floor (minmonth / sep) + 1;
+      else
+        sep = __calc_tick_sep__ (minyear , maxyear);
+        xmin = datenum (sep * floor (minyear / sep), 1, 1);
+        xmax = datenum (sep * ceil (maxyear / sep), 1, 1);
+        nticks = ceil (maxyear / sep) - floor (minyear / sep) + 1;
+      endif
+    endif
+    ticks = xmin + [0 : nticks - 1] / (nticks - 1) * (xmax - xmin);
+  endif
+
+  if (isempty (form))
+    r = max (ticks) - min (ticks);
+    if (r < 10/60/24)
+      ## minutes and seconds
+      form = 13;
+    elseif (r < 2)
+      ## hours
+      form = 15;
+    elseif (r < 15)
+      ## days
+      form = 8;
+    elseif (r < 365)
+      ## FIXME: FORM should be 19 for European users who use dd/mm
+      ## instead of mm/dd.  How can that be determined automatically?
+      ## months
+      form = 6;
+    elseif (r < 90*12)
+      ## quarters
+      form = 27;
+    else
+      ## years
+      form = 10;
+    endif
+  endif
+
+  if (length (ticks) == 6)
+    ## Careful that its not treated as a datevec
+    if (! isempty (startdate))
+      sticks = strvcat (datestr (ticks(1:end-1) - ticks(1) + startdate, form),
+      datestr (ticks(end) - ticks(1) + startdate, form));
+    else
+      sticks = strvcat (datestr (ticks(1:end-1), form),
+      datestr (ticks(end), form));
+    endif
+  else
+    if (! isempty (startdate))
+      sticks = datestr (ticks - ticks(1) + startdate, form);
+    else
+      sticks = datestr (ticks, form);
+    endif
+  endif
+
+  sticks = mat2cell (sticks, ones (rows (sticks), 1), columns (sticks));
+
+  if (keepticks)
+    if (keeplimits)
+      set (gca (), [ax "ticklabel"], sticks);
+    else
+      set (gca (), [ax "ticklabel"], sticks,
+                   [ax "lim"], [min(ticks), max(ticks)]);
+    endif
+  else
+    if (keeplimits)
+      set (gca (), [ax "tick"], ticks, [ax "ticklabel"], sticks);
+    else
+      set (gca (), [ax "tick"], ticks, [ax "ticklabel"], sticks,
+                   [ax "lim"], [min(ticks), max(ticks)]);
+    endif
+  endif
+endfunction
+
+function [a, b] = __magform__ (x)
+  if (x == 0)
+    a = 0;
+    b = 0;
+  else
+    l = log10 (abs (x));
+    r = fmod (l, 1);
+    a = 10 .^ r;
+    b = fix (l - r);
+    if (a < 1)
+      a *= 10;
+      b -= 1;
+    endif
+    if (x < 0)
+      a = -a;
+    endif
+  endif
+endfunction
+
+## A translation from Tom Holoryd's python code at
+## http://kurage.nimh.nih.gov/tomh/tics.py
+function sep = __calc_tick_sep__ (lo, hi)
+  persistent sqrt_2  = sqrt (2.0);
+  persistent sqrt_10 = sqrt (10.0);
+  persistent sqrt_50 = sqrt (50.0);
+
+  ticint = 5;
+
+  ## Reference: Lewart, C. R., "Algorithms SCALE1, SCALE2, and
+  ## SCALE3 for Determination of Scales on Computer Generated
+  ## Plots", Communications of the ACM, 10 (1973), 639-640.
+  ## Also cited as ACM Algorithm 463.
+
+  [a, b] = __magform__ ((hi - lo) / ticint);
+
+  if (a < sqrt_2)
+    x = 1;
+  elseif (a < sqrt_10)
+    x = 2;
+  elseif (a < sqrt_50)
+    x = 5;
+  else
+    x = 10;
+  endif
+  sep = x * 10 .^ b;
+endfunction
+
--- a/scripts/plot/appearance/diffuse.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/diffuse.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Kai Habel
+## Copyright (C) 2009-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/grid.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/grid.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/gtext.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/gtext.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/hidden.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/hidden.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Michael Goffioul
+## Copyright (C) 2007-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/legend.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/legend.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 David Bateman
+## Copyright (C) 2010-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
@@ -160,7 +160,7 @@
     if (isscalar (kids))
       kids = get (kids, "children")(:);
     else
-      kids = flipud ([get(kids, "children"){:}](:));
+      kids = flipud (vertcat (get (kids, "children"){:}));
     endif
   endif
   nargs = numel (varargin);
@@ -879,8 +879,11 @@
                            "facecolor", facecolor, "edgecolor", edgecolor,
                            "cdata", cdata, "userdata", hplots(k));
                 hobjects(end+1) = p1;
+                ## Copy clim from axes so that colors work out.
+                set (hlegend, "clim", get (ca(1), "clim"));
               endif
               ## FIXME: Probably need listeners, as for line objects
+              ##        Changing clim, for example, won't update colors
 
             case "surface"
               facecolor = get (hplots(k), "facecolor");
--- a/scripts/plot/appearance/module.mk	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/module.mk	Wed Oct 23 22:29:06 2013 -0400
@@ -12,6 +12,7 @@
   plot/appearance/caxis.m \
   plot/appearance/clabel.m \
   plot/appearance/daspect.m \
+  plot/appearance/datetick.m \
   plot/appearance/diffuse.m \
   plot/appearance/grid.m \
   plot/appearance/gtext.m \
--- a/scripts/plot/appearance/orient.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/orient.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2001-2012 Paul Kienzle
+## Copyright (C) 2001-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
@@ -21,18 +21,26 @@
 ## @deftypefnx {Function File} {} orient (@var{hfig}, @var{orientation})
 ## @deftypefnx {Function File} {@var{orientation} =} orient ()
 ## @deftypefnx {Function File} {@var{orientation} =} orient (@var{hfig})
-## Query or set the default print orientation.
+## Query or set the print orientation for figure @var{hfig}.
 ##
-## Valid values for @var{orientation} are @qcode{"landscape"},
-## @qcode{"portrait"}, and @qcode{"tall"}.
+## Valid values for @var{orientation} are @qcode{"portrait"},
+## @qcode{"landscape"}, and @qcode{"tall"}.
+##
+## The @qcode{"landscape"} option changes the orientation so the plot width
+## is larger than the plot height.  The @qcode{"paperposition"} is also
+## modified so that the plot fills the page, while leaving a 0.25 inch border.
 ##
-## The @qcode{"tall"} option sets the orientation to portrait and fills
-## the page with the plot, while leaving a 0.25 inch border.
+## The @qcode{"tall"} option sets the orientation to @qcode{"portrait"} and
+## fills the page with the plot, while leaving a 0.25 inch border.
 ##
-## When called with no arguments, return the default print orientation.
+## The @qcode{"portrait"} option (default) changes the orientation so the plot
+## height is larger than the plot width.  It also restores the default
+## @qcode{"paperposition"} property.
 ##
-## If the first argument @var{hfig} is a figure handle, then operate on this
-## figure rather than the current figure returned by @code{gcf}.
+## When called with no arguments, return the current print orientation.
+##
+## If the argument @var{hfig} is omitted, then operate on the current figure
+## returned by @code{gcf}.
 ## @seealso{print, saveas}
 ## @end deftypefn
 
@@ -51,39 +59,68 @@
     cf = gcf ();
   endif
 
-  if (nargs == 0)
-    retval = get (cf, "paperorientation");
-  elseif (nargin == 1)
-    orientation = varargin{1};
-    if (strcmpi (orientation, "landscape") || strcmpi (orientation, "portrait"))
-      if (! strcmpi (get (cf, "paperorientation"), orientation))
-        ## FIXME: with the proper listeners in place there won't be a need to
-        ##        set the papersize and paperpostion here.
+  if (nargs > 1)
+    print_usage ();
+  endif
+
+  paperunits = get (cf, "paperunits");
+  unwind_protect
+    set (cf, "paperunits", "inches");  # All Matlab calculations assume inches.
+
+    if (nargs == 0)
+      retval = get (cf, "paperorientation");
+      if (strcmp (retval, "portrait"))
         papersize = get (cf, "papersize");
         paperposition = get (cf, "paperposition");
-        set (cf, "paperorientation", orientation);
-        set (cf, "papersize", papersize([2, 1]));
-        set (cf, "paperposition", paperposition([2, 1, 4, 3]));
+        if (paperposition == [0.25 0.25 (papersize - 0.5)])
+          retval = "tall";
+        endif
       endif
-    elseif (strcmpi (varargin{1}, 'tall'))
-      orient ("portrait");
-      papersize = get (cf, "papersize");
-      set (cf, "paperposition", [0.25, 0.25, (papersize - 0.5)]);
     else
-      error ("orient: unknown ORIENTATION");
+      orientation = varargin{1};
+      if (strcmpi (orientation, "landscape")
+          || strcmpi (orientation, "portrait"))
+        if (! strcmpi (get (cf, "paperorientation"), orientation))
+          ## FIXME: with the proper listeners in place there won't be a need to
+          ##        set the papersize and paperposition here.
+          papersize = get (cf, "papersize");
+          paperposition = get (cf, "paperposition");
+          set (cf, "paperorientation", orientation);
+          set (cf, "papersize", papersize([2, 1]));
+          set (cf, "paperposition", paperposition([2, 1, 4, 3]));
+        endif
+        if (strcmpi (orientation, "portrait"))
+          ## portrait restores the default
+          ## FIXME: Should use "default" here, but Octave complains
+          ##        that "paperposition" is not a default property.
+          set (cf, "paperposition", "factory");
+        else 
+          ## landscape also sets the plot to occupy the entire page
+          papersize = get (cf, "papersize");
+          set (cf, "paperposition", [0.25, 0.25, (papersize - 0.5)]);
+        endif
+      elseif (strcmpi (varargin{1}, "tall"))
+        orient ("portrait");
+        papersize = get (cf, "papersize");
+        set (cf, "paperposition", [0.25, 0.25, (papersize - 0.5)]);
+      else
+        error ("orient: unknown ORIENTATION");
+      endif
     endif
-  else
-    print_usage ();
-  endif
+
+  unwind_protect_cleanup
+    set (cf, "paperunits", paperunits);
+  end_unwind_protect
 
 endfunction
 
 
-%!shared papersize, paperposition, tallpaperposition, hfig
+%!shared papersize, paperposition, fullpaperposition, hfig
 %! papersize = [8.5, 11];
 %! paperposition = [0.25, 2.5, 8, 6];
-%! tallpaperposition = [0.25, 0.25, (papersize-0.5)];
+%! fullpaperposition = [0.25, 0.25, (papersize-0.5)];
 %! hfig = figure ("visible", "off");
+%! set (hfig, "paperunits", "inches");
 %! set (hfig, "paperorientation", "portrait");
 %! set (hfig, "papersize", papersize);
 %! set (hfig, "paperposition", paperposition);
@@ -98,7 +135,7 @@
 %! orient landscape;
 %! assert (orient,"landscape")   # change to landscape
 %! assert (get (hfig, "papersize"), papersize([2, 1]));
-%! assert (get (hfig, "paperposition"), paperposition([2, 1, 4, 3]));
+%! assert (get (hfig, "paperposition"), fullpaperposition([1, 2, 4, 3]));
 
 %!test
 %! orient portrait   # change back to portrait
@@ -109,17 +146,19 @@
 %!test
 %! orient landscape;
 %! orient tall;
-%! assert (orient, "portrait");
+%! assert (orient, "tall");
 %! assert (get (hfig, "papersize"), papersize);
-%! assert (get (hfig, "paperposition"), tallpaperposition);
-
-%!fail ("orient ('nobody')", "unknown ORIENTATION")
+%! assert (get (hfig, "paperposition"), fullpaperposition);
 
 %!test
 %! orient portrait   # errors don't change the state
 %! assert (orient, "portrait");
 %! assert (get (hfig, "papersize"), papersize);
-%! assert (get (hfig, "paperposition"), tallpaperposition);
+%! assert (get (hfig, "paperposition"), paperposition);
+
+%% Test input validation
+%!error orient (1.73, 2.5)
+%!error <unknown ORIENTATION> orient ("nobody")
 
 %!test
 %! close (hfig);
--- a/scripts/plot/appearance/pbaspect.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/pbaspect.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Ben Abbott
+## Copyright (C) 2010-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/private/__axis_label__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/private/__axis_label__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/private/__axis_limits__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/private/__axis_limits__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/shading.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/shading.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 Kai Habel
+## Copyright (C) 2006-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/specular.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/specular.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Kai Habel
+## Copyright (C) 2009-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/text.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/text.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 John W. Eaton
+## Copyright (C) 2007-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/title.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/title.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/view.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/view.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 John W. Eaton
+## Copyright (C) 2007-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/whitebg.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/whitebg.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 David Bateman
+## Copyright (C) 2010-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/xlabel.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/xlabel.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/xlim.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/xlim.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/ylabel.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/ylabel.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/ylim.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/ylim.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/zlabel.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/zlabel.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 John W. Eaton
+## Copyright (C) 1995-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/appearance/zlim.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/appearance/zlim.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/area.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/area.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Michael Goffioul
+## Copyright (C) 2007-2013 Michael Goffioul
 ## Copyright (C) 2007-2009 David Bateman
 ##
 ## This file is part of Octave.
--- a/scripts/plot/draw/bar.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/bar.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/barh.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/barh.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/colorbar.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/colorbar.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
@@ -201,7 +201,9 @@
     addproperty ("axes", cax, "handle", ax);
 
     if (vertical)
-      hi = image (cax, [0,1], [cmin, cmax], [1 : clen]');
+      ## Use low-level form to avoid calling newplot which changes axes
+      hi = image (cax, "xdata", [0,1], "ydata", [cmin, cmax],
+                       "cdata", [1 : clen]');
       if (mirror)
         set (cax, "xtick", [], "xdir", "normal", "ydir", "normal",
                   "ylim", cext, "ylimmode", "manual",
@@ -212,7 +214,8 @@
                   "yaxislocation", "left", args{:});
       endif
     else
-      hi = image (cax, [cmin, cmax], [0,1], [1 : clen]);
+      hi = image (cax, "xdata", [cmin, cmax], "ydata", [0,1],
+                       "cdata", [1 : clen]);
       if (mirror)
         set (cax, "ytick", [], "xdir", "normal", "ydir", "normal",
                   "xlim", cext, "xlimmode", "manual",
--- a/scripts/plot/draw/comet.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/comet.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Ben Abbott
+## Copyright (C) 2008-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/comet3.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/comet3.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Ben Abbott and John W. Eaton
+## Copyright (C) 2010-2013 Ben Abbott and John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/compass.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/compass.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/contour.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/contour.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 Shai Ayal
+## Copyright (C) 1993-2013 Shai Ayal
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/contour3.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/contour3.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David BAteman
+## Copyright (C) 2007-2013 David BAteman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/contourc.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/contourc.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2003-2012 Shai Ayal
+## Copyright (C) 2003-2013 Shai Ayal
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/contourf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/contourf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Kai Habel
+## Copyright (C) 2007-2013 Kai Habel
 ## Copyright (C) 2003 Shai Ayal
 ##
 ## This file is part of Octave.
--- a/scripts/plot/draw/cylinder.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/cylinder.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Michael Goffioul and Kai Habel
+## Copyright (C) 2007-2013 Michael Goffioul and Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/ellipsoid.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/ellipsoid.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Sylvain Pelissier
+## Copyright (C) 2007-2013 Sylvain Pelissier
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/errorbar.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/errorbar.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Teemu Ikonen
+## Copyright (C) 2000-2013 Teemu Ikonen
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/ezcontour.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/ezcontour.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/ezcontourf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/ezcontourf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/ezmesh.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/ezmesh.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/ezmeshc.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/ezmeshc.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/ezplot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/ezplot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/ezplot3.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/ezplot3.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/ezpolar.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/ezpolar.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/ezsurf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/ezsurf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/ezsurfc.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/ezsurfc.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/feather.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/feather.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/fill.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/fill.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/fplot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/fplot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Paul Kienzle
+## Copyright (C) 2005-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/hist.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/hist.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/isocolors.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/isocolors.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Martin Helm
+## Copyright (C) 2009-2013 Martin Helm
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/isonormals.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/isonormals.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Martin Helm
+## Copyright (C) 2009-2013 Martin Helm
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/isosurface.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/isosurface.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Martin Helm
+## Copyright (C) 2009-2013 Martin Helm
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/line.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/line.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/loglog.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/loglog.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/loglogerr.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/loglogerr.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Teemu Ikonen
+## Copyright (C) 2000-2013 Teemu Ikonen
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/mesh.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/mesh.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/meshc.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/meshc.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/meshz.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/meshz.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/pareto.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/pareto.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ## Copyright (C) 2003 Alberto Terruzzi
 ##
 ## This file is part of Octave.
--- a/scripts/plot/draw/patch.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/patch.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/pcolor.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/pcolor.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Kai Habel
+## Copyright (C) 2007-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/peaks.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/peaks.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Paul Kienzle
+## Copyright (C) 2007-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/pie.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/pie.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/pie3.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/pie3.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ## Copyright (C) 2010 Kai Habel
 ##
 ## This file is part of Octave.
--- a/scripts/plot/draw/plot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/plot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/plot3.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/plot3.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/plotmatrix.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/plotmatrix.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/plotyy.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/plotyy.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/polar.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/polar.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/private/__add_datasource__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/private/__add_datasource__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/private/__bar__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/private/__bar__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/private/__contour__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/private/__contour__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/private/__errcomm__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/private/__errcomm__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2001-2012 Teemu Ikonen
+## Copyright (C) 2001-2013 Teemu Ikonen
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/private/__errplot__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/private/__errplot__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Teemu Ikonen
+## Copyright (C) 2000-2013 Teemu Ikonen
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/private/__ezplot__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/private/__ezplot__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/private/__interp_cube__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/private/__interp_cube__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Martin Helm
+## Copyright (C) 2009-2013 Martin Helm
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/private/__line__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/private/__line__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/private/__marching_cube__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/private/__marching_cube__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Martin Helm
+## Copyright (C) 2009-2013 Martin Helm
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/private/__patch__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/private/__patch__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 John W. Eaton, Shai Ayal, Kai Habel
+## Copyright (C) 2007-2013 John W. Eaton, Shai Ayal, Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/private/__pie__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/private/__pie__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ## Copyright (C) 2010 Kai Habel
 ##
 ## This file is part of Octave.
--- a/scripts/plot/draw/private/__plt__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/private/__plt__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/private/__quiver__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/private/__quiver__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
@@ -27,15 +27,19 @@
   is3d = varargin{2};
 
   autoscale = 0.9;
-  arrowsize = 0.2;
+  ## Matlab uses 0.2, but Octave's algorithm produces equivalent visual
+  ## results if arrowsize=0.33.  Since this is just a non-dimensional
+  ## scaling factor we scale the arrowsize property value by 0.33/0.20
+  ## in order to get equivalent visual results while keeping equivalent
+  ## property values.
+  arrowsize = 0.20;
 
-  firstnonnumeric = Inf;
-  for i = 3:nargin
-    if (! isnumeric (varargin{i}))
-      firstnonnumeric = i;
-      break;
-    endif
-  endfor
+  firstnonnumeric = find (! cellfun ("isnumeric", varargin(3:nargin)), 1);
+  if (isempty (firstnonnumeric))
+    firstnonnumeric = Inf;
+  else
+    firstnonnumeric += 2;
+  endif
 
   ioff = 3;
   if (nargin < (6 + is3d) || firstnonnumeric < (6 + is3d))
@@ -88,34 +92,37 @@
       [linespec, valid] = __pltopt__ ("quiver", arg, false);
       if (valid)
         have_line_spec = true;
-        if (strcmp (linespec.linestyle, "none"))
+        if (isempty (linespec.linestyle) || strcmp (linespec.linestyle, "none"))
           linespec.linestyle = "-";
         endif
       else
-        args {end + 1} = arg;
+        args{end+1} = arg;
         if (ioff <= nargin)
-          args {end + 1} = varargin{ioff++};
+          args{end+1} = varargin{ioff++};
         endif
       endif
     else
-      args {end + 1} = arg;
+      args{end+1} = arg;
       if (ioff <= nargin)
-        args {end + 1} = varargin{ioff++};
+        args{end+1} = varargin{ioff++};
       endif
     endif
   endwhile
 
+  ## Normalize 0.20 to 1/3 for plotting
+  arrowsize /= 0.20 * 3;
+
   if (autoscale && numel (u) > 1)
     ## Scale the arrows to fit in the grid
     if (isvector (x))
-      ny = nx = length (x);
+      nx = ny = sqrt (length (x));
     else
-      [nx, ny] = size (x);
+      [ny, nx] = size (x);  # assume meshgrid fmt, x in columns, y in rows
     endif
-    dx = (max (x(:)) - min (x(:))) ./ nx;
-    dy = (max (y(:)) - min (y(:))) ./ ny;
+    dx = (max (x(:)) - min (x(:))) / nx;
+    dy = (max (y(:)) - min (y(:))) / ny;
     if (is3d)
-      dz = (max (z(:)) - min (z(:))) ./ max (size (z));
+      dz = (max (z(:)) - min (z(:))) / max (nx, ny);
       len = max (sqrt (u(:).^2 + v(:).^2 + w(:).^2));
     else
       dz = 0;
@@ -124,14 +131,14 @@
     if (len > 0)
       sd = sqrt (dx.^2 + dy.^2 + dz.^2) / len;
       if (sd != 0)
-        s = sqrt (2) * autoscale * sd;
-      else # special case of identical points with multiple vectors
+        s = autoscale * sd;
+      else  # special case of identical points with multiple vectors
         s = autoscale;
       endif
       uu = s * u;
       vv = s * v;
       if (is3d)
-        ww = s*w;
+        ww = s * w;
       endif
     endif
   else
@@ -144,6 +151,16 @@
 
   hstate = get (h, "nextplot");
   unwind_protect
+
+    if (have_line_spec)
+      ls = linespec.linestyle;
+      lc = linespec.color;
+    else
+      ls = "-";
+      lc = __next_line_color__ ();
+    endif
+
+    ## Must occur after __next_line_color__ in order to work correctly.
     hg = hggroup ();
     if (is3d)
       args = __add_datasource__ ("quiver3", hg,
@@ -183,105 +200,64 @@
       zend = z + ww(:);
     endif
 
+    ## Draw arrow shaft as one line object
+    if (is3d)
+      h1 = plot3 ([x.'; xend.'; NaN(1, length (x))](:),
+                  [y.'; yend.'; NaN(1, length (y))](:),
+                  [z.'; zend.'; NaN(1, length (z))](:),
+                  "linestyle", ls, "color", lc, "parent", hg);
+    else
+      h1 = plot ([x.'; xend.'; NaN(1, length (x))](:),
+                 [y.'; yend.'; NaN(1, length (y))](:),
+                 "linestyle", ls, "color", lc, "parent", hg);
+    endif
+
+    xtmp = x + uu(:) * (1 - arrowsize);
+    ytmp = y + vv(:) * (1 - arrowsize);
+
+    if (is3d)
+      xydist = sqrt (uu(:).^2 + vv(:).^2 + ww(:).^2) ./ ...
+                 (sqrt (uu(:).^2 + vv(:).^2) + eps);
+      xarrw1 = xtmp + vv(:) .* xydist * arrowsize / 4;
+      xarrw2 = xtmp - vv(:) .* xydist * arrowsize / 4;
+      yarrw1 = ytmp - uu(:) .* xydist * arrowsize / 4;
+      yarrw2 = ytmp + uu(:) .* xydist * arrowsize / 4;
+      zarrw1 = zarrw2 = zend - ww(:) * arrowsize;
+    else
+      xarrw1 = xtmp + vv(:) * arrowsize / 3;
+      xarrw2 = xtmp - vv(:) * arrowsize / 3;
+      yarrw1 = ytmp - uu(:) * arrowsize / 3;
+      yarrw2 = ytmp + uu(:) * arrowsize / 3;
+    endif
+
+    ## Draw arrowhead as one line object
     if (have_line_spec)
-      if (is3d)
-        h1 = plot3 ([x.'; xend.'; NaN(1, length (x))](:),
-                    [y.'; yend.'; NaN(1, length (y))](:),
-                    [z.'; zend.'; NaN(1, length (z))](:),
-                    "linestyle", linespec.linestyle,
-                    "color", linespec.color, "parent", hg);
-      else
-        h1 = plot ([x.'; xend.'; NaN(1, length (x))](:),
-                   [y.'; yend.'; NaN(1, length (y))](:),
-                   "linestyle", linespec.linestyle,
-                    "color", linespec.color, "parent", hg);
-      endif
-    else
-      if (is3d)
-        h1 = plot3 ([x.'; xend.'; NaN(1, length (x))](:),
-                    [y.'; yend.'; NaN(1, length (y))](:),
-                    [z.'; zend.'; NaN(1, length (z))](:),
-                    "color", "black", "parent", hg);
-      else
-        h1 = plot ([x.'; xend.'; NaN(1, length (x))](:),
-                   [y.'; yend.'; NaN(1, length (y))](:),
-                   "parent", hg);
+      if (! isempty (linespec.marker) && ! strcmp (linespec.marker, "none"))
+        ls = "none";  # No arrowhead drawn when marker present
       endif
     endif
 
-    xtmp = x + uu(:) .* (1 - arrowsize);
-    ytmp = y + vv(:) .* (1 - arrowsize);
-
     if (is3d)
-      xarrw1 = xtmp + sqrt((y - yend).^2 + (z - zend).^2) * arrowsize / 3;
-      xarrw2 = xtmp - sqrt((y - yend).^2 + (z - zend).^2) * arrowsize / 3;
-      yarrw1 = ytmp - sqrt((x - xend).^2 + (z - zend).^2) * arrowsize / 3;
-      yarrw2 = ytmp + sqrt((x - xend).^2 + (z - zend).^2) * arrowsize / 3;
-
-      zarrw1 = zarrw2 = zend - ww(:) * arrowsize;
-    else
-      xarrw1 = xtmp + (y - yend) * arrowsize / 3;
-      xarrw2 = xtmp - (y - yend) * arrowsize / 3;
-      yarrw1 = ytmp - (x - xend) * arrowsize / 3;
-      yarrw2 = ytmp + (x - xend) * arrowsize / 3;
-    endif
-
-    if (have_line_spec)
-      if (isfield (linespec, "marker")
-          && ! strcmp (linespec.marker, "none"))
-        if (is3d)
-          h2 = plot3 ([xarrw1.'; xend.'; xarrw2.'; NaN(1, length (x))](:),
-                      [yarrw1.'; yend.'; yarrw2.'; NaN(1, length (y))](:),
-                      [zarrw1.'; zend.'; zarrw2.'; NaN(1, length (z))](:),
-                      "linestyle", "none", "parent", hg);
-        else
-          h2 = plot ([xarrw1.'; xend.'; xarrw2.'; NaN(1, length (x))](:),
-                     [yarrw1.'; yend.'; yarrw2.'; NaN(1, length (y))](:),
-                     "linestyle", "none", "parent", hg);
-        endif
-      else
-        if (is3d)
-          h2 = plot3 ([xarrw1.'; xend.'; xarrw2.'; NaN(1, length (x))](:),
-                      [yarrw1.'; yend.'; yarrw2.'; NaN(1, length (y))](:),
-                      [zarrw1.'; zend.'; zarrw2.'; NaN(1, length (z))](:),
-                      "linestyle", linespec.linestyle,
-                      "color", linespec.color, "parent", hg);
-        else
-          h2 = plot ([xarrw1.'; xend.'; xarrw2.'; NaN(1, length (x))](:),
-                     [yarrw1.'; yend.'; yarrw2.'; NaN(1, length (y))](:),
-                     "linestyle", linespec.linestyle,
-                      "color", linespec.color, "parent", hg);
-        endif
-      endif
-    elseif (is3d)
       h2 = plot3 ([xarrw1.'; xend.'; xarrw2.'; NaN(1, length (x))](:),
                   [yarrw1.'; yend.'; yarrw2.'; NaN(1, length (y))](:),
                   [zarrw1.'; zend.'; zarrw2.'; NaN(1, length (z))](:),
-                  "color", "black", "parent", hg);
+                  "linestyle", ls, "color", lc, "parent", hg);
     else
       h2 = plot ([xarrw1.'; xend.'; xarrw2.'; NaN(1, length (x))](:),
                  [yarrw1.'; yend.'; yarrw2.'; NaN(1, length (y))](:),
-                 "parent", hg);
+                  "linestyle", ls, "color", lc, "parent", hg);
     endif
 
-    if (! have_line_spec
-        || (isfield (linespec, "marker")
-            && strcmp (linespec.marker, "none")))
-      if (is3d)
-        h3 = plot3 (x, y, z, "linestyle", "none", "marker", "none",
-                    "parent", hg);
-      else
-        h3 = plot (x, y, "linestyle", "none", "marker", "none", "parent", hg);
-      endif
+    ## Draw arrow base marker as a third line object
+    if (! have_line_spec || isempty (linespec.marker))
+      mk = "none";
     else
-      if (is3d)
-        h3 = plot3 (x, y, z, "linestyle", "none", "marker", linespec.marker,
-                    "parent", hg);
-      else
-
-        h3 = plot (x, y, "linestyle", "none", "marker", linespec.marker,
-                   "parent", hg);
-      endif
+      mk = linespec.marker;
+    endif
+    if (is3d)
+      h3 = plot3 (x, y, z, "linestyle", "none", "marker", mk, "parent", hg);
+    else
+      h3 = plot (x, y, "linestyle", "none", "marker", mk, "parent", hg);
     endif
     if (have_filled)
       ## FIXME: gnuplot doesn't respect the markerfacecolor field
@@ -299,23 +275,23 @@
     addlistener (hg, "autoscale", @update_data);
     addlistener (hg, "autoscalefactor", @update_data);
 
-    addproperty ("maxheadsize", hg, "data", arrowsize);
+    addproperty ("maxheadsize", hg, "data", arrowsize * .20*3);
     addlistener (hg, "maxheadsize", @update_data);
 
     addproperty ("showarrowhead", hg, "radio", "{on}|off", "on");
     addlistener (hg, "showarrowhead", @update_props);
 
     addproperty ("color", hg, "linecolor", get (h1, "color"));
+    addproperty ("linestyle", hg, "linelinestyle", get (h1, "linestyle"));
     addproperty ("linewidth", hg, "linelinewidth", get (h1, "linewidth"));
-    addproperty ("linestyle", hg, "linelinestyle", get (h1, "linestyle"));
     addproperty ("marker", hg, "linemarker", get (h3, "marker"));
     addproperty ("markerfacecolor", hg, "linemarkerfacecolor",
                  get (h3, "markerfacecolor"));
     addproperty ("markersize", hg, "linemarkersize", get (h3, "markersize"));
 
     addlistener (hg, "color", @update_props);
+    addlistener (hg, "linestyle", @update_props);
     addlistener (hg, "linewidth", @update_props);
-    addlistener (hg, "linestyle", @update_props);
     addlistener (hg, "marker", @update_props);
     addlistener (hg, "markerfacecolor", @update_props);
     addlistener (hg, "markersize", @update_props);
@@ -332,7 +308,8 @@
 
 endfunction
 
-function update_data (h, d)
+function update_data (h, ~)
+
   x = get (h, "xdata");
   y = get (h, "ydata");
   z = get (h, "zdata");
@@ -343,6 +320,7 @@
 
   s = get (h, "autoscalefactor");
   arrowsize = get (h, "maxheadsize");
+  arrowsize /= 0.20 * 3;
 
   kids = get (h, "children");
 
@@ -352,17 +330,17 @@
     is3d = true;
   endif
 
-  if (strcmpi (get (h, "autoscale"), "on") && s != 0)
+  if (strcmp (get (h, "autoscale"), "on") && s != 0)
     ## Scale the arrows to fit in the grid
     if (isvector (x))
-      ny = nx = length (x);
+      nx = ny = sqrt (length (x));
     else
-      [nx, ny] = size (x);
+      [ny, nx] = size (x);
     endif
-    dx = (max (x(:)) - min (x(:))) ./ nx;
-    dy = (max (y(:)) - min (y(:))) ./ ny;
+    dx = (max (x(:)) - min (x(:))) / nx;
+    dy = (max (y(:)) - min (y(:))) / ny;
     if (is3d)
-      dz = (max (z(:)) - min (z(:))) ./ max (size (z));
+      dz = (max (z(:)) - min (z(:))) / max (nx, ny);
       len = max (sqrt (u(:).^2 + v(:).^2 + w(:).^2));
     else
       dz = 0;
@@ -371,12 +349,12 @@
     if (len > 0)
       sd = sqrt (dx.^2 + dy.^2 + dz.^2) / len;
       if (sd != 0)
-        s *= sqrt (2) * sd;
+        s *= sd;
       endif
       u = s * u;
       v = s * v;
       if (is3d)
-        w = s*w;
+        w = s * w;
       endif
     endif
   endif
@@ -390,59 +368,57 @@
     zend = z + w(:);
   endif
 
-  set (kids (3), "xdata", [x.'; xend.'; NaN(1, length (x))](:));
-  set (kids (3), "ydata", [y.'; yend.'; NaN(1, length (y))](:));
+  set (kids(3), "xdata", [x.'; xend.'; NaN(1, length (x))](:));
+  set (kids(3), "ydata", [y.'; yend.'; NaN(1, length (y))](:));
   if (is3d)
-    set (kids (3), "zdata", [z.'; zend.'; NaN(1, length (z))](:));
-  endif
-
-  xtmp = x + u(:) .* (1 - arrowsize);
-  ytmp = y + v(:) .* (1 - arrowsize);
-  xarrw1 = xtmp + (y - yend) * arrowsize / 3;
-  xarrw2 = xtmp - (y - yend) * arrowsize / 3;
-  yarrw1 = ytmp - (x - xend) * arrowsize / 3;
-  yarrw2 = ytmp + (x - xend) * arrowsize / 3;
-  if (is3d)
-    zarrw1 = zarrw2 = zend - w(:) * arrowsize;
+    set (kids(3), "zdata", [z.'; zend.'; NaN(1, length (z))](:));
   endif
 
-  set (kids (2), "xdata", [x.'; xend.'; NaN(1, length (x))](:));
-  set (kids (2), "ydata", [y.'; yend.'; NaN(1, length (y))](:));
+  xtmp = x + u(:) * (1 - arrowsize);
+  ytmp = y + v(:) * (1 - arrowsize);
+
   if (is3d)
-    set (kids (2), "zdata", [z.'; zend.'; NaN(1, length (z))](:));
+    xydist = sqrt (u(:).^2 + v(:).^2 + w(:).^2) ./ ...
+               (sqrt (u(:).^2 + v(:).^2) + eps);
+    xarrw1 = xtmp + v(:) .* xydist * arrowsize / 4;
+    xarrw2 = xtmp - v(:) .* xydist * arrowsize / 4;
+    yarrw1 = ytmp - u(:) .* xydist * arrowsize / 4;
+    yarrw2 = ytmp + u(:) .* xydist * arrowsize / 4;
+    zarrw1 = zarrw2 = zend - w(:) * arrowsize;
+  else
+    xarrw1 = xtmp + v(:) * arrowsize / 3;
+    xarrw2 = xtmp - v(:) * arrowsize / 3;
+    yarrw1 = ytmp - u(:) * arrowsize / 3;
+    yarrw2 = ytmp + u(:) * arrowsize / 3;
   endif
 
-  set (kids (2), "xdata", [xarrw1.'; xend.'; xarrw2.'; NaN(1, length (x))](:));
-  set (kids (2), "ydata", [yarrw1.'; yend.'; yarrw2.'; NaN(1, length (y))](:));
+  set (kids(2), "xdata", [x.'; xend.'; NaN(1, length (x))](:));
+  set (kids(2), "ydata", [y.'; yend.'; NaN(1, length (y))](:));
   if (is3d)
-    set (kids (2), "zdata", [zarrw1.'; zend.'; zarrw2.'; NaN(1, length (z))](:));
+    set (kids(2), "zdata", [z.'; zend.'; NaN(1, length (z))](:));
   endif
 
-  set (kids (1), "xdata", x);
-  set (kids (1), "ydata", y);
+  set (kids(2), "xdata", [xarrw1.'; xend.'; xarrw2.'; NaN(1, length (x))](:));
+  set (kids(2), "ydata", [yarrw1.'; yend.'; yarrw2.'; NaN(1, length (y))](:));
   if (is3d)
-    set (kids (1), "zdata", z);
+    set (kids(2), "zdata", [zarrw1.'; zend.'; zarrw2.'; NaN(1, length (z))](:));
+  endif
+
+  set (kids(1), "xdata", x);
+  set (kids(1), "ydata", y);
+  if (is3d)
+    set (kids(1), "zdata", z);
   endif
 
 endfunction
 
-function update_props (h, d)
+function update_props (h, ~)
   kids = get (h, "children");
 
-  set (kids(3), "color", get (h, "color"),
-       "linewidth", get (h, "linewidth"),
-       "linestyle", get (h, "linestyle"));
-  set (kids(2), "color", get (h, "color"),
-       "linewidth", get (h, "linewidth"),
-       "linestyle", get (h, "linestyle"));
-  if (strcmpi (get (h, "showarrowhead"), "on"))
-    set (kids (2), "visible", "on");
-  else
-    set (kids (2), "visible", "off");
-  endif
-  set (kids(1), "color", get (h, "color"),
-       "marker", get (h, "marker"),
-       "markerfacecolor", get (h, "markerfacecolor"),
-       "markersize", get (h, "markersize"));
+  set (kids([3 2]), {"color", "linestyle", "linewidth"},
+            get (h, {"color", "linestyle", "linewidth"}));
+  set (kids(2), "visible", get (h, "showarrowhead"));
+  set (kids(1), {"color", "marker", "markerfacecolor", "markersize"},
+        get (h, {"color", "marker", "markerfacecolor", "markersize"}));
 endfunction
 
--- a/scripts/plot/draw/private/__scatter__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/private/__scatter__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/private/__stem__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/private/__stem__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 Michel D. Schmid
+## Copyright (C) 2006-2013 Michel D. Schmid
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/quiver.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/quiver.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
@@ -35,13 +35,13 @@
 ##
 ## The variable @var{s} is a scalar defining a scaling factor to use for
 ## the arrows of the field relative to the mesh spacing.  A value of 0
-## disables all scaling.  The default value is 1.
+## disables all scaling.  The default value is 0.9.
 ##
 ## The style to use for the plot can be defined with a line style @var{style}
 ## of the same format as the @code{plot} command.
 ## If a marker is specified then markers at the grid points of the vectors are
-## drawn rather than arrows.  If the argument @qcode{"filled"} is given then the
-## markers are filled.
+## drawn rather than arrows.  If the argument @qcode{"filled"} is given then
+## the markers are filled.
 ##
 ## If the first argument @var{hax} is an axes handle, then plot into this axis,
 ## rather than the current axes returned by @code{gca}.
@@ -50,6 +50,8 @@
 ## A quiver object regroups the components of the quiver plot (body, arrow,
 ## and marker), and allows them to be changed together.
 ##
+## Example:
+##
 ## @example
 ## @group
 ## [x, y] = meshgrid (1:2:20);
@@ -61,29 +63,29 @@
 ## @seealso{quiver3, compass, feather, plot}
 ## @end deftypefn
 
-function retval = quiver (varargin)
+function h = quiver (varargin)
 
   [hax, varargin, nargin] = __plt_get_axis_arg__ ("quiver", varargin{:});
 
   if (nargin < 2)
     print_usage ();
-  else
+  endif
+
   oldfig = [];
   if (! isempty (hax))
     oldfig = get (0, "currentfigure");
   endif
-    unwind_protect
-      hax = newplot (hax);
-      htmp = __quiver__ (hax, false, varargin{:});
-    unwind_protect_cleanup
+  unwind_protect
+    hax = newplot (hax);
+    htmp = __quiver__ (hax, false, varargin{:});
+  unwind_protect_cleanup
     if (! isempty (oldfig))
       set (0, "currentfigure", oldfig);
     endif
-    end_unwind_protect
-  endif
+  end_unwind_protect
 
   if (nargout > 0)
-    retval = htmp;
+    h = htmp;
   endif
 
 endfunction
@@ -93,14 +95,15 @@
 %! clf;
 %! [x,y] = meshgrid (1:2:20);
 %! h = quiver (x,y, sin (2*pi*x/10), sin (2*pi*y/10));
-%! set (h, 'maxheadsize', 0.33);
+%! title ('quiver plot')
 
 %!demo
 %! clf;
-%! axis ('equal');
 %! x = linspace (0, 3, 80);
 %! y = sin (2*pi*x);
 %! theta = 2*pi*x + pi/2;
-%! quiver (x, y, sin (theta)/10, cos (theta)/10);
+%! quiver (x, y, sin (theta)/10, cos (theta)/10, 0.4);
+%! axis equal tight;
 %! hold on; plot (x,y,'r'); hold off;
+%! title ('quiver() with scaled arrows');
 
--- a/scripts/plot/draw/quiver3.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/quiver3.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
@@ -35,7 +35,7 @@
 ##
 ## The variable @var{s} is a scalar defining a scaling factor to use for
 ## the arrows of the field relative to the mesh spacing.  A value of 0
-## disables all scaling.  The default value is 1.
+## disables all scaling.  The default value is 0.9.
 ##
 ## The style to use for the plot can be defined with a line style @var{style}
 ## of the same format as the @code{plot} command.
@@ -64,33 +64,34 @@
 ## @seealso{quiver, compass, feather, plot}
 ## @end deftypefn
 
-function retval = quiver3 (varargin)
+function h = quiver3 (varargin)
 
   [hax, varargin, nargin] = __plt_get_axis_arg__ ("quiver3", varargin{:});
 
   if (nargin < 2)
     print_usage ();
-  else
+  endif
+
   oldfig = [];
   if (! isempty (hax))
     oldfig = get (0, "currentfigure");
   endif
-    unwind_protect
-      hax = newplot (hax);
-      htmp = __quiver__ (hax, true, varargin{:});
+  unwind_protect
+    hax = newplot (hax);
+    htmp = __quiver__ (hax, true, varargin{:});
 
-      if (! ishold (hax))
-        set (hax, "view", [-37.5, 30]);  # 3D view
-      endif
-    unwind_protect_cleanup
-      if (! isempty (oldfig))
-        set (0, "currentfigure", oldfig);
-      endif
-    end_unwind_protect
-  endif
+    if (! ishold (hax))
+      set (hax, "view", [-37.5, 30], "box", "off",
+                "xgrid", "on", "ygrid", "on", "zgrid", "on");
+    endif
+  unwind_protect_cleanup
+    if (! isempty (oldfig))
+      set (0, "currentfigure", oldfig);
+    endif
+  end_unwind_protect
 
   if (nargout > 0)
-    retval = htmp;
+    h = htmp;
   endif
 
 endfunction
@@ -99,24 +100,14 @@
 %!demo
 %! clf;
 %! colormap ('default');
-%! [x,y] = meshgrid (-1:0.1:1);
-%! z = sin (2*pi * sqrt (x.^2 + y.^2));
-%! theta = 2*pi * sqrt (x.^2 + y.^2) + pi/2;
-%! mesh (x, y, z);
-%! hold on;
-%! quiver3 (x, y, z, sin (theta), cos (theta), ones (size (z)));
-%! hold off;
-
-%!demo
-%! clf;
-%! colormap ('default');
 %! [x, y, z] = peaks (25);
 %! surf (x, y, z);
 %! hold on;
 %! [u, v, w] = surfnorm (x, y, z / 10);
 %! h = quiver3 (x, y, z, u, v, w);
-%! set (h, 'maxheadsize', 0.33);
+%! set (h, 'maxheadsize', 0.25);
 %! hold off;
+%! title ('quiver3 of surface normals to peaks() function');
 
 %!demo
 %! clf;
@@ -126,7 +117,9 @@
 %! hold on;
 %! [u, v, w] = surfnorm (x, y, z / 10);
 %! h = quiver3 (x, y, z, u, v, w);
-%! set (h, 'maxheadsize', 0.33);
+%! set (h, 'maxheadsize', 0.25);
 %! hold off;
 %! shading interp;
+%! title ({'quiver3 of surface normals to peaks() function'; ...
+%!         'shading "interp"'});
 
--- a/scripts/plot/draw/rectangle.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/rectangle.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 David Bateman
+## Copyright (C) 2012-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
@@ -59,13 +59,17 @@
 
   [hax, varargin] = __plt_get_axis_arg__ ("rectangle", varargin{:});
 
+  if (isempty (hax))
+    hax = gca ();
+  else
+    hax = hax(1);
+  endif
+
   oldfig = [];
   if (! isempty (hax))
     oldfig = get (0, "currentfigure");
   endif
   unwind_protect
-    hax = newplot (hax);
-
     htmp = __rectangle__ (hax, varargin{:});
   unwind_protect_cleanup
     if (! isempty (oldfig))
@@ -85,6 +89,7 @@
   curv2 = [0, 0];
   ec = [0, 0, 0];
   fc = "none";
+  parent = [];
 
   while (iarg < length (varargin))
     arg = varargin{iarg};
@@ -110,6 +115,9 @@
       elseif (strcmpi (arg, "facecolor"))
         fc = varargin{iarg+1};
         varargin(iarg:iarg+1) = [];
+      elseif (strcmpi (arg, "parent"))
+        parent = varargin{iarg+1};
+        varargin(iarg:iarg+1) = [];
       else
         iarg ++;
       endif
@@ -145,7 +153,11 @@
          pos(2) + pos(4) + cy, pos(2) + c(2)];
   endif
 
-  hg = hggroup ();
+  if (! isempty (parent))
+    hg = hggroup ("parent", parent);
+  else
+    hg = hggroup ("parent", hax);
+  endif
 
   h = patch ("xdata", x(:), "ydata", y(:), "facecolor", fc, "edgecolor", ec,
              "parent", hg, varargin{:});
--- a/scripts/plot/draw/ribbon.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/ribbon.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Kai Habel
+## Copyright (C) 2007-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/rose.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/rose.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/scatter.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/scatter.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/scatter3.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/scatter3.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/semilogx.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/semilogx.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/semilogxerr.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/semilogxerr.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Teemu Ikonen
+## Copyright (C) 2000-2013 Teemu Ikonen
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/semilogy.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/semilogy.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/semilogyerr.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/semilogyerr.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Teemu Ikonen
+## Copyright (C) 2000-2013 Teemu Ikonen
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/shrinkfaces.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/shrinkfaces.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Martin Helm
+## Copyright (C) 2012-2013 Martin Helm
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/slice.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/slice.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Kai Habel, David Bateman
+## Copyright (C) 2007-2013 Kai Habel, David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/sombrero.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/sombrero.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/sphere.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/sphere.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Michael Goffioul
+## Copyright (C) 2007-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/stairs.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/stairs.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/stem.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/stem.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 Michel D. Schmid
+## Copyright (C) 2006-2013 Michel D. Schmid
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/stem3.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/stem3.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/surf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/surf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Kai Habel
+## Copyright (C) 2007-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/surface.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/surface.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
@@ -53,6 +53,8 @@
 
   if (isempty (hax))
     hax = gca ();
+  else
+    hax = hax(1);
   endif
   
   [htmp, bad_usage] = __surface__ (hax, varargin{:});
--- a/scripts/plot/draw/surfc.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/surfc.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/surfl.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/surfl.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Kai Habel
+## Copyright (C) 2009-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/surfnorm.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/surfnorm.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/tetramesh.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/tetramesh.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Martin Helm
+## Copyright (C) 2012-2013 Martin Helm
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/trimesh.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/trimesh.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/triplot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/triplot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/draw/trisurf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/draw/trisurf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/__actual_axis_position__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/__actual_axis_position__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Ben Abbott
+## Copyright (C) 2009-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/__default_plot_options__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/__default_plot_options__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 John W. Eaton
+## Copyright (C) 2007-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/__gnuplot_drawnow__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/__gnuplot_drawnow__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/__next_line_color__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/__next_line_color__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2013 Carl Osterwisch
-## Copyright (C) 2007-2012 John W. Eaton
+## Copyright (C) 2007-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/__next_line_style__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/__next_line_style__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 David Bateman
+## Copyright (C) 2010-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/__plt_get_axis_arg__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/__plt_get_axis_arg__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
@@ -28,7 +28,6 @@
   h = [];
   parent = find (strcmpi (varargin, "parent"), 1);
   
-
   ## Look for a scalar which is a graphics handle but not the
   ## Root Figure (0) or an ordinary figure (integer).
   if (numel (varargin) > 0 && numel (varargin{1}) == 1
@@ -50,7 +49,7 @@
         varargin(parent:parent+1) = [];
       else
         ## 'parent' property for some other type like hggroup
-        h = ancestor (htmp, "axes");
+        h = [ancestor(htmp, "axes"), htmp];
       endif
     else
       error ("%s: expecting parent value to be axes handle", caller);
--- a/scripts/plot/util/__pltopt__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/__pltopt__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/allchild.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/allchild.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Bill Denney
+## Copyright (C) 2008-2013 Bill Denney
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/ancestor.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/ancestor.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Michael Goffioul
+## Copyright (C) 2007-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/axes.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/axes.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/cla.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/cla.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Ben Abbott
+## Copyright (C) 2008-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/clf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/clf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/close.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/close.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2002-2012 John W. Eaton
+## Copyright (C) 2002-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/closereq.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/closereq.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/colstyle.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/colstyle.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 David Bateman
+## Copyright (C) 2012-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/copyobj.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/copyobj.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 pdiribarne
+## Copyright (C) 2012-2013 pdiribarne
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
--- a/scripts/plot/util/figure.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/figure.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/findall.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/findall.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Bill Denney
+## Copyright (C) 2008-2013 Bill Denney
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/findfigs.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/findfigs.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2008 Bill Denney
-## Copyright (C) 2012 Carnë Draug
+## Copyright (C) 2012-2013 Carnë Draug
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/findobj.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/findobj.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Ben Abbott
+## Copyright (C) 2007-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/gca.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/gca.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/gcbf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/gcbf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Michael Goffioul
+## Copyright (C) 2008-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/gcbo.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/gcbo.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Michael Goffioul
+## Copyright (C) 2008-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/gcf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/gcf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/gco.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/gco.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Michael Goffioul
+## Copyright (C) 2012-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/ginput.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/ginput.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/gnuplot_binary.in	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/gnuplot_binary.in	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 John W. Eaton
+## Copyright (C) 2008-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/graphics_toolkit.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/graphics_toolkit.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Michael Goffioul
+## Copyright (C) 2008-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/hdl2struct.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/hdl2struct.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 pdiribarne
+## Copyright (C) 2012-2013 pdiribarne
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
--- a/scripts/plot/util/hggroup.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/hggroup.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Michael Goffioul
+## Copyright (C) 2008-2013 Michael Goffioul
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/hold.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/hold.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/isfigure.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/isfigure.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/ishghandle.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/ishghandle.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/ishold.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/ishold.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/isprop.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/isprop.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Ben Abbott
+## Copyright (C) 2010-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/linkprop.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/linkprop.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/meshgrid.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/meshgrid.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/ndgrid.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/ndgrid.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 Alexander Barth
+## Copyright (C) 2006-2013 Alexander Barth
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/newplot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/newplot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
@@ -91,12 +91,19 @@
   if (! isempty (hsave))
     ## Find the first valid axes 
     ca = ancestor (hsave, "axes", "toplevel"); 
+    if (iscell (ca))
+      ca = [ca{:}];
+    endif
     ca = ca(find (ca, 1));
+    hsave(hsave == ca) = [];
     ## Next, find the figure associated with any axis found
     if (! isempty (ca))
       cf = ancestor (ca, "figure", "toplevel");
     else
       cf = ancestor (hsave, "figure", "toplevel"); 
+      if (iscell (cf))
+        cf = [cf{:}];
+      endif
       cf = cf(find (cf, 1));
     endif
   endif
@@ -138,8 +145,10 @@
 
   if (isempty (ca))
     ca = gca ();
+    deleteall = true;
   else
     set (cf, "currentaxes", ca);
+    deleteall = false;
   endif
 
   ## FIXME: Is this necessary anymore?
@@ -157,10 +166,32 @@
     case "add"
       ## Default case.  Doesn't require action.
     case "replacechildren"
-      delete (get (ca, "children"));
+      if (! deleteall && ca != hsave)
+        ## preserve hsave and its parents, uncles, ...
+        kids = allchild (ca);
+        hkid = hsave;
+        while (! any (hkid == kids))
+          hkid = get (hkid, "parent");
+        endwhile
+        kids(kids == hkid) = [];
+        delete (kids);
+      else
+        delete (get (ca, "children"));
+      endif
     case "replace"
-      __go_axes_init__ (ca, "replace");
-      __request_drawnow__ ();
+      if (! deleteall && ca != hsave)
+        ## preserve hsave and its parents, uncles, ...
+        kids = allchild (ca);
+        hkid = hsave;
+        while (! any (hkid == kids))
+          hkid = get (hkid, "parent");
+        endwhile
+        kids(kids == hkid) = [];
+        delete (kids);
+      else
+        __go_axes_init__ (ca, "replace");
+        __request_drawnow__ ();
+      endif
       ## FIXME: The code above should perform the following:
       ###########################
       ## delete (allchild (ca));
@@ -192,3 +223,34 @@
 %!   close (hf);
 %! end_unwind_protect
 
+%!test
+%! hf = figure ("visible", "off");
+%! unwind_protect
+%!   hax = axes ();
+%!   hold on;
+%!   hg1 = hggroup ();
+%!   hg2 = hggroup ("parent", hg1);
+%!   li0 = line (1:10, 1:10);
+%!   li1 = line (1:10, -1:-1:-10, "parent", hg1);
+%!   li2 = line (1:10, sin (1:10), "parent", hg2);
+%!   hold off;
+%!   newplot (hg2);
+%!   assert (ishandle (li0), false);
+%!   assert (get (hax, "children"), hg1);
+%! 
+%!   ## kids are preserved for hggroups
+%!   kids = get (hg1, "children");
+%!   newplot (hg1); 
+%!   assert (get (hg1, "children"), kids);
+%! 
+%!   ## preserve objects
+%!   newplot (li1);
+%!   assert (ishandle (li1));
+%! 
+%!   ## kids are deleted for axes
+%!   newplot (hax);  
+%!   assert (isempty (get (hax, "children")));
+%! unwind_protect_cleanup
+%!   close (hf);
+%! end_unwind_protect
+
--- a/scripts/plot/util/print.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/print.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
@@ -314,7 +314,7 @@
     props(1).value = {get(opts.figure, "units")};
     set (opts.figure, "units", "pixels");
 
-    ## graphics toolkit tranlates figure position to eps bbox in points
+    ## graphics toolkit translates figure position to eps bbox (points)
     fpos = get (opts.figure, "position");
     props(2).h = opts.figure;
     props(2).name = "position";
@@ -322,9 +322,9 @@
     fpos(3:4) = opts.canvas_size;
     set (opts.figure, "position", fpos);
 
-    ## Set figure background to none. This is done both for
-    ## consistency with Matlab and to elliminate the visible
-    ## box along the figure's perimeter.
+    ## Set figure background to none.
+    ## This is done both for consistency with Matlab and to eliminate
+    ## the visible box along the figure's perimeter.
     props(3).h = opts.figure;
     props(3).name = "color";
     props(3).value{1} = get (props(3).h, props(3).name);
@@ -405,7 +405,12 @@
           ## This is done to work around the bbox being whole numbers.
           fontsize = fontsize * opts.scalefontsize;
         endif
-        set (h(ishandle (h)), "fontsize", fontsize);
+        ## FIXME: legend child objects need to be acted on first.
+        ##        or legend fontsize callback will destroy them.
+        hlist = h(ishandle (h));
+        haxes = strcmp (get (hlist, "type"), "axes");
+        set (hlist(! haxes), "fontsize", fontsize);
+        set (hlist(haxes), "fontsize", fontsize);
       endif
     endif
 
@@ -420,7 +425,7 @@
   unwind_protect_cleanup
     ## restore modified properties
     if (isstruct (props))
-      for n = numel (props):-1:1
+      for n = 1:numel (props)
         if (ishandle (props(n).h))
           set (props(n).h, props(n).name, props(n).value{1});
         endif
--- a/scripts/plot/util/private/__add_default_menu__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/private/__add_default_menu__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Kai Habel
+## Copyright (C) 2010-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/private/__fltk_ginput__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/private/__fltk_ginput__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Shai Ayal
+## Copyright (C) 2010-2013 Shai Ayal
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/private/__fltk_print__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/private/__fltk_print__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Shai Ayal
+## Copyright (C) 2010-2013 Shai Ayal
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/private/__ghostscript__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/private/__ghostscript__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Ben Abbott
+## Copyright (C) 2010-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/private/__gnuplot_get_var__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/private/__gnuplot_get_var__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Ben Abbott
+## Copyright (C) 2009-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/private/__gnuplot_ginput__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/private/__gnuplot_ginput__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 Petr Mikulik
+## Copyright (C) 2004-2013 Petr Mikulik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/private/__gnuplot_has_feature__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/private/__gnuplot_has_feature__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Ben Abbott
+## Copyright (C) 2009-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/private/__gnuplot_has_terminal__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/private/__gnuplot_has_terminal__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Ben Abbott
+## Copyright (C) 2010-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/private/__gnuplot_open_stream__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/private/__gnuplot_open_stream__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Ben Abbott
+## Copyright (C) 2009-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/private/__gnuplot_print__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/private/__gnuplot_print__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Daniel Heiserer
+## Copyright (C) 1999-2013 Daniel Heiserer
 ## Copyright (C) 2001 Laurent Mazet
 ##
 ## This file is part of Octave.
--- a/scripts/plot/util/private/__gnuplot_version__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/private/__gnuplot_version__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 Daniel Sebald
+## Copyright (C) 2006-2013 Daniel Sebald
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/private/__go_draw_axes__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/private/__go_draw_axes__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/private/__go_draw_figure__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/private/__go_draw_figure__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/private/__print_parse_opts__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/private/__print_parse_opts__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Shai Ayal
+## Copyright (C) 2010-2013 Shai Ayal
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/private/__tight_eps_bbox__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/private/__tight_eps_bbox__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Ben Abbott
+## Copyright (C) 2010-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/refresh.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/refresh.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/refreshdata.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/refreshdata.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/saveas.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/saveas.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Kai Habel
+## Copyright (C) 2010-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/shg.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/shg.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/plot/util/struct2hdl.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/struct2hdl.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 pdiribarne
+## Copyright (C) 2012-2013 pdiribarne
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
--- a/scripts/plot/util/subplot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/plot/util/subplot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 John W. Eaton
+## Copyright (C) 1995-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/compan.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/compan.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/conv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/conv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/deconv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/deconv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/mkpp.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/mkpp.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/mpoles.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/mpoles.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 Ben Abbott
+## Copyright (C) 2007-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/pchip.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/pchip.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2001-2012 Kai Habel
+## Copyright (C) 2001-2013 Kai Habel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/poly.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/poly.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/polyaffine.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/polyaffine.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Tony Richardson, Jaroslav Hajek
+## Copyright (C) 2009-2013 Tony Richardson, Jaroslav Hajek
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/polyder.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/polyder.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/polyeig.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/polyeig.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Fotios Kasolis
+## Copyright (C) 2012-2013 Fotios Kasolis
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/polyfit.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/polyfit.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/polygcd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/polygcd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/polyint.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/polyint.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/polyout.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/polyout.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Auburn University.  All rights reserved.
+## Copyright (C) 1995-2013 Auburn University.  All rights reserved.
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/polyreduce.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/polyreduce.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/polyval.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/polyval.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/polyvalm.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/polyvalm.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ## Copyright (C) 2009 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/polynomial/ppder.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/ppder.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 VZLU Prague, a.s., Czech Republic
+## Copyright (C) 2008-2013 VZLU Prague, a.s., Czech Republic
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/ppint.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/ppint.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 VZLU Prague, a.s., Czech Republic
+## Copyright (C) 2008-2013 VZLU Prague, a.s., Czech Republic
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/ppjumps.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/ppjumps.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 VZLU Prague, a.s., Czech Republic
+## Copyright (C) 2008-2013 VZLU Prague, a.s., Czech Republic
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/ppval.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/ppval.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
@@ -74,9 +74,10 @@
   dx = shiftdim (dx, ndv - 1);
 
   ## Use Horner scheme.
-  yi = Pidx;
   if (k > 1)
     yi = shiftdim (reshape (Pidx(1,:), dimvec), ndv - 1);
+  else
+    yi = shiftdim (reshape (Pidx, dimvec), ndv - 1);
   endif
 
   for i = 2 : k;
--- a/scripts/polynomial/residue.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/residue.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ## Copyright (C) 2007 Ben Abbott
 ##
 ## This file is part of Octave.
--- a/scripts/polynomial/roots.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/roots.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/spline.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/spline.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Kai Habel
+## Copyright (C) 2000-2013 Kai Habel
 ## Copyright (C) 2006 David Bateman
 ##
 ## This file is part of Octave.
--- a/scripts/polynomial/splinefit.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/splinefit.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Ben Abbott, Jonas Lundgren
+## Copyright (C) 2012-2013 Ben Abbott, Jonas Lundgren
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/polynomial/unmkpp.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/polynomial/unmkpp.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/prefs/addpref.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/prefs/addpref.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/prefs/getpref.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/prefs/getpref.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/prefs/ispref.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/prefs/ispref.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/prefs/private/loadprefs.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/prefs/private/loadprefs.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/prefs/private/prefsfile.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/prefs/private/prefsfile.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/prefs/private/saveprefs.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/prefs/private/saveprefs.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/prefs/rmpref.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/prefs/rmpref.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/prefs/setpref.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/prefs/setpref.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/set/intersect.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/set/intersect.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ## Copyright (C) 2008-2009 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/set/ismember.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/set/ismember.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ## Copyright (C) 2009 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/set/powerset.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/set/powerset.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Jaroslav Hajek
+## Copyright (C) 2010-2013 Jaroslav Hajek
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/set/private/validargs.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/set/private/validargs.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ## Copyright (C) 2009-2010 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/set/setdiff.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/set/setdiff.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ## Copyright (C) 2008-2009 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/set/setxor.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/set/setxor.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Jaroslav Hajek
+## Copyright (C) 2008-2013 Jaroslav Hajek
 ## Copyright (C) 2000, 2006-2007 Paul Kienzle
 ##
 ## This file is part of Octave.
--- a/scripts/set/union.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/set/union.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ## Copyright (C) 2008-2009 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/set/unique.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/set/unique.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ## Copyright (C) 2008-2009 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/signal/arch_fit.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/arch_fit.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/arch_rnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/arch_rnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/arch_test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/arch_test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/arma_rnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/arma_rnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/autoreg_matrix.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/autoreg_matrix.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/bartlett.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/bartlett.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Andreas Weingessel
+## Copyright (C) 1995-2013 Andreas Weingessel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/blackman.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/blackman.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Andreas Weingessel
+## Copyright (C) 1995-2013 Andreas Weingessel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/detrend.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/detrend.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/diffpara.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/diffpara.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/durbinlevinson.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/durbinlevinson.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/fftconv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/fftconv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/fftfilt.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/fftfilt.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
@@ -17,14 +17,15 @@
 ## <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-## @deftypefn {Function File} {} fftfilt (@var{b}, @var{x}, @var{n})
+## @deftypefn  {Function File} {} fftfilt (@var{b}, @var{x})
+## @deftypefnx {Function File} {} fftfilt (@var{b}, @var{x}, @var{n})
 ##
 ## With two arguments, @code{fftfilt} filters @var{x} with the FIR filter
 ## @var{b} using the FFT.
 ##
 ## Given the optional third argument, @var{n}, @code{fftfilt} uses the
-## overlap-add method to filter @var{x} with @var{b} using an @var{n}-point
-## FFT@.  The FFT size must be an even power of 2 and must be greater than
+## overlap-add method to filter @var{x} with @var{b} using an N-point
+## FFT.  The FFT size must be an even power of 2 and must be greater than
 ## or equal to the length of @var{b}.  If the specified @var{n} does not
 ## meet these criteria, it is automatically adjusted to the nearest value
 ## that does.
--- a/scripts/signal/fftshift.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/fftshift.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1997-2012 Vincent Cautaerts
+## Copyright (C) 1997-2013 Vincent Cautaerts
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/filter2.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/filter2.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2001-2012 Paul Kienzle
+## Copyright (C) 2001-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/fractdiff.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/fractdiff.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/freqz.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/freqz.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/freqz_plot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/freqz_plot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2002-2012 John W. Eaton
+## Copyright (C) 2002-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/hamming.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/hamming.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Andreas Weingessel
+## Copyright (C) 1995-2013 Andreas Weingessel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/hanning.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/hanning.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Andreas Weingessel
+## Copyright (C) 1995-2013 Andreas Weingessel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/hurst.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/hurst.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/ifftshift.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/ifftshift.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1997-2012 Vincent Cautaerts
+## Copyright (C) 1997-2013 Vincent Cautaerts
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/periodogram.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/periodogram.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ## Copyright (C) 2010 Alois Schloegl
 ##
 ## This file is part of Octave.
--- a/scripts/signal/private/rectangle_lw.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/private/rectangle_lw.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/private/rectangle_sw.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/private/rectangle_sw.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/private/triangle_lw.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/private/triangle_lw.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/private/triangle_sw.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/private/triangle_sw.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/sinc.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/sinc.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/sinetone.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/sinetone.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/sinewave.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/sinewave.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Andreas Weingessel
+## Copyright (C) 1995-2013 Andreas Weingessel
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/spectral_adf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/spectral_adf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/spectral_xdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/spectral_xdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/spencer.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/spencer.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/stft.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/stft.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Andreas Weingessel
+## Copyright (C) 1995-2013 Andreas Weingessel
 ##
 ## This file is part of Octave.
 ##
@@ -17,7 +17,12 @@
 ## <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-## @deftypefn {Function File} {[@var{y}, @var{c}] =} stft (@var{x}, @var{win_size}, @var{inc}, @var{num_coef}, @var{win_type})
+## @deftypefn  {Function File} {@var{y} =} stft (@var{x})
+## @deftypefnx {Function File} {@var{y} =} stft (@var{x}, @var{win_size})
+## @deftypefnx {Function File} {@var{y} =} stft (@var{x}, @var{win_size}, @var{inc})
+## @deftypefnx {Function File} {@var{y} =} stft (@var{x}, @var{win_size}, @var{inc}, @var{num_coef})
+## @deftypefnx {Function File} {@var{y} =} stft (@var{x}, @var{win_size}, @var{inc}, @var{num_coef}, @var{win_type})
+## @deftypefnx {Function File} {[@var{y}, @var{c}] =} stft (@dots{})
 ## Compute the short-time Fourier transform of the vector @var{x} with
 ## @var{num_coef} coefficients by applying a window of @var{win_size} data
 ## points and an increment of @var{inc} points.
@@ -26,19 +31,19 @@
 ## is applied:
 ##
 ## @table @asis
-## @item @nospell{hanning}
+## @item @qcode{"hanning"}
 ## win_type = 1
 ##
-## @item @nospell{hamming}
+## @item @qcode{"hamming"}
 ## win_type = 2
 ##
-## @item rectangle
+## @item @qcode{"rectangle"}
 ## win_type = 3
 ## @end table
 ##
 ## The window names can be passed as strings or by the @var{win_type} number.
 ##
-## If not all arguments are specified, the following defaults are used:
+## The following defaults are used for unspecifed arguments:
 ## @var{win_size} = 80, @var{inc} = 24, @var{num_coef} = 64, and
 ## @var{win_type} = 1.
 ##
@@ -49,71 +54,48 @@
 ## @code{[@var{y}, @var{c}] = stft (@code{x}, @dots{})} returns the
 ## entire STFT-matrix @var{y} and a 3-element vector @var{c} containing
 ## the window size, increment, and window type, which is needed by the
-## synthesis function.
+## @code{synthesis} function.
+## @seealso{synthesis}
 ## @end deftypefn
 
 ## Author: AW <Andreas.Weingessel@ci.tuwien.ac.at>
 ## Description: Short-Time Fourier Transform
 
-function [y, c] = stft (x, win_size, inc, num_coef, win_type)
+function [y, c] = stft (x, win_size = 80, inc = 24, num_coef = 64, win_type = 1)
 
-  ## Default values of unspecified arguments.
-  if (nargin < 5)
-    win_type = 1;
-    if (nargin < 4)
-      num_coef = 64;
-      if (nargin < 3)
-        inc = 24;
-        if (nargin < 2)
-          win_size = 80;
-        endif
-      endif
-    endif
-  elseif (nargin == 5)
-    if (ischar (win_type))
-      if (strcmp (win_type, "hanning"))
-        win_type = 1;
-      elseif (strcmp (win_type, "hamming"))
-        win_type = 2;
-      elseif (strcmp (win_type, "rectangle"))
-        win_type = 3;
-      else
-        error ("stft: unknown window type '%s'", win_type);
-      endif
-    endif
-  else
+  if (nargin < 1 || nargin > 5)
     print_usage ();
   endif
 
+  if (ischar (win_type))
+    switch (tolower (win_type))
+      case "hanning"    win_type = 1;
+      case "hamming"    win_type = 2;
+      case "rectangle"  win_type = 3;
+      otherwise
+        error ("stft: unknown window type '%s'", win_type);
+    endswitch
+  endif
+
   ## Check whether X is a vector.
-  [nr, nc] = size (x);
-  if (nc != 1)
-    if (nr == 1)
-      x = x';
-      nr = nc;
-    else
-      error ("stft: X must be a vector");
-    endif
+  if (! isvector (x))
+    error ("stft: X must be a vector");
   endif
+  x = x(:);
 
   ncoef = 2 * num_coef;
   if (win_size > ncoef)
     win_size = ncoef;
     printf ("stft: window size adjusted to %f\n", win_size);
   endif
-  num_win = fix ((nr - win_size) / inc);
+  num_win = fix ((rows (x) - win_size) / inc);
 
   ## compute the window coefficients
-  if (win_type == 3)
-    ## Rectangular window.
-    win_coef = ones (win_size, 1);
-  elseif (win_type == 2)
-    ## Hamming window.
-    win_coef = hamming (win_size);
-  else
-    ## Hanning window.
-    win_coef = hanning (win_size);
-  endif
+  switch (win_type)
+    case 1  win_coef = hanning (win_size);
+    case 2  win_coef = hamming (win_size);
+    case 3  win_coef = ones (win_size, 1);
+  endswitch
 
   ## Create a matrix Z whose columns contain the windowed time-slices.
   z = zeros (ncoef, num_win + 1);
--- a/scripts/signal/synthesis.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/synthesis.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Andreas Weingessel
+## Copyright (C) 1995-2013 Andreas Weingessel
 ##
 ## This file is part of Octave.
 ##
@@ -17,7 +17,7 @@
 ## <http://www.gnu.org/licenses/>.
 
 ## -*- texinfo -*-
-## @deftypefn {Function File} {} synthesis (@var{y}, @var{c})
+## @deftypefn {Function File} {@var{x} =} synthesis (@var{y}, @var{c})
 ## Compute a signal from its short-time Fourier transform @var{y} and a
 ## 3-element vector @var{c} specifying window size, increment, and
 ## window type.
@@ -27,6 +27,7 @@
 ## @example
 ## [@var{y}, @var{c}] = stft (@var{x} , @dots{})
 ## @end example
+## @seealso{stft}
 ## @end deftypefn
 
 ## Author: AW <Andreas.Weingessel@ci.tuwien.ac.at>
@@ -38,8 +39,7 @@
     print_usage ();
   endif
 
-  [nr, nc] = size (c);
-  if (nr * nc != 3)
+  if (numel (c) != 3)
     error ("synthesis: C must contain exactly 3 elements");
   endif
 
@@ -59,12 +59,12 @@
 
   z = real (ifft (y));
   st = fix ((w_size-inc) / 2);
-  z = z(st:st+inc-1, :);
-  w_coeff = w_coeff(st:st+inc-1);
+  z = z(st+1:st+inc, :);
+  w_coeff = w_coeff(st+1:st+inc);
 
   nc = columns (z);
   for i = 1:nc
-    z(:, i) = z(:, i) ./ w_coeff;
+    z(:, i) ./= w_coeff;
   endfor
 
   x = reshape (z, inc * nc, 1);
--- a/scripts/signal/unwrap.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/unwrap.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Bill Lash
+## Copyright (C) 2000-2013 Bill Lash
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/signal/yulewalker.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/signal/yulewalker.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/bicg.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/bicg.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2006 Sylvain Pelissier
-## Copyright (C) 2012 Carlo de Falco
+## Copyright (C) 2012-2013 Carlo de Falco
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
--- a/scripts/sparse/bicgstab.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/bicgstab.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Radek Salac
+## Copyright (C) 2008-2013 Radek Salac
 ## Copyright (C) 2012 Carlo de Falco
 ##
 ## This file is part of Octave.
--- a/scripts/sparse/cgs.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/cgs.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Radek Salac
+## Copyright (C) 2008-2013 Radek Salac
 ## Copyright (C) 2012 Carlo de Falco
 ##
 ## This file is part of Octave.
--- a/scripts/sparse/colperm.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/colperm.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 David Bateman and Andy Adler
+## Copyright (C) 2004-2013 David Bateman and Andy Adler
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/eigs.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/eigs.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 David Bateman
+## Copyright (C) 2005-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/etreeplot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/etreeplot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Ivana Varekova
+## Copyright (C) 2005-2013 Ivana Varekova
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/gmres.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/gmres.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Carlo de Falco
+## Copyright (C) 2009-2013 Carlo de Falco
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/gplot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/gplot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Ivana Varekova
+## Copyright (C) 2005-2013 Ivana Varekova
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/nonzeros.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/nonzeros.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 Paul Kienzle
+## Copyright (C) 2004-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/pcg.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/pcg.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 Piotr Krzyzanowski
+## Copyright (C) 2004-2013 Piotr Krzyzanowski
 ##
 ## This file is part of Octave.
 ##
@@ -20,70 +20,68 @@
 ## @deftypefn  {Function File} {@var{x} =} pcg (@var{A}, @var{b}, @var{tol}, @var{maxit}, @var{m1}, @var{m2}, @var{x0}, @dots{})
 ## @deftypefnx {Function File} {[@var{x}, @var{flag}, @var{relres}, @var{iter}, @var{resvec}, @var{eigest}] =} pcg (@dots{})
 ##
-## Solve the linear system of equations @code{@var{A} * @var{x} = @var{b}}
-## by means of the Preconditioned Conjugate Gradient iterative
-## method.  The input arguments are
+## Solve the linear system of equations @w{@code{@var{A} * @var{x} = @var{b}}}
+## by means of the Preconditioned Conjugate Gradient iterative method.  The
+## input arguments are
 ##
 ## @itemize
 ## @item
-## @var{A} can be either a square (preferably sparse) matrix or a
-## function handle, inline function or string containing the name
-## of a function which computes @code{@var{A} * @var{x}}.  In principle
-## @var{A} should be symmetric and positive definite; if @code{pcg}
-## finds @var{A} to not be positive definite, you will get a warning
-## message and the @var{flag} output parameter will be set.
+## @var{A} can be either a square (preferably sparse) matrix or a function
+## handle, inline function or string containing the name of a function which
+## computes @w{@code{@var{A} * @var{x}}}.  In principle, @var{A} should be
+## symmetric and positive definite; if @code{pcg} finds @var{A} not to be
+## positive definite, a warning is printed and the @var{flag} output will be
+## set.
 ##
 ## @item
-## @var{b} is the right hand side vector.
+## @var{b} is the right-hand side vector.
 ##
 ## @item
 ## @var{tol} is the required relative tolerance for the residual error,
-## @code{@var{b} - @var{A} * @var{x}}.  The iteration stops if
-## @code{norm (@var{b} - @var{A} * @var{x}) <=
-##       @var{tol} * norm (@var{b} - @var{A} * @var{x0})}.
-## If @var{tol} is empty or is omitted, the function sets
-## @code{@var{tol} = 1e-6} by default.
+## @w{@code{@var{b} - @var{A} * @var{x}}}.  The iteration stops if
+## @w{@code{norm (@var{b} - @var{A} * @var{x})} @leq{}
+## @w{@var{tol} * norm (@var{b})}}.
+## If @var{tol} is omitted or empty then a tolerance of 1e-6 is used.
 ##
 ## @item
-## @var{maxit} is the maximum allowable number of iterations; if
-## @code{[]} is supplied for @code{maxit}, or @code{pcg} has less
-## arguments, a default value equal to 20 is used.
+## @var{maxit} is the maximum allowable number of iterations; if @var{maxit}
+## is omitted or empty then a value of 20 is used.
 ##
 ## @item
 ## @var{m} = @var{m1} * @var{m2} is the (left) preconditioning matrix, so that
 ## the iteration is (theoretically) equivalent to solving by @code{pcg}
-## @code{@var{P} *
-## @var{x} = @var{m} \ @var{b}}, with @code{@var{P} = @var{m} \ @var{A}}.
+## @w{@code{@var{P} * @var{x} = @var{m} \ @var{b}}}, with
+## @w{@code{@var{P} = @var{m} \ @var{A}}}.
 ## Note that a proper choice of the preconditioner may dramatically
 ## improve the overall performance of the method.  Instead of matrices
 ## @var{m1} and @var{m2}, the user may pass two functions which return
 ## the results of applying the inverse of @var{m1} and @var{m2} to
 ## a vector (usually this is the preferred way of using the preconditioner).
-## If @code{[]} is supplied for @var{m1}, or @var{m1} is omitted, no
-## preconditioning is applied.  If @var{m2} is omitted, @var{m} = @var{m1}
-## will be used as preconditioner.
+## If @var{m1} is omitted or empty @code{[]} then no preconditioning is
+## applied.  If @var{m2} is omitted, @var{m} = @var{m1} will be used as
+## a preconditioner.
 ##
 ## @item
-## @var{x0} is the initial guess.  If @var{x0} is empty or omitted, the
+## @var{x0} is the initial guess.  If @var{x0} is omitted or empty then the
 ## function sets @var{x0} to a zero vector by default.
 ## @end itemize
 ##
-## The arguments which follow @var{x0} are treated as parameters, and
-## passed in a proper way to any of the functions (@var{A} or @var{m})
-## which are passed to @code{pcg}.  See the examples below for further
-## details.  The output arguments are
+## The arguments which follow @var{x0} are treated as parameters, and passed in
+## a proper way to any of the functions (@var{A} or @var{m}) which are passed
+## to @code{pcg}.  See the examples below for further details.  The output
+## arguments are
 ##
 ## @itemize
 ## @item
 ## @var{x} is the computed approximation to the solution of
-## @code{@var{A} * @var{x} = @var{b}}.
+## @w{@code{@var{A} * @var{x} = @var{b}}}.
 ##
 ## @item
-## @var{flag} reports on the convergence.  @code{@var{flag} = 0} means
-## the solution converged and the tolerance criterion given by @var{tol}
-## is satisfied.  @code{@var{flag} = 1} means that the @var{maxit} limit
-## for the iteration count was reached.  @code{@var{flag} = 3} reports that
-## the (preconditioned) matrix was found not positive definite.
+## @var{flag} reports on the convergence.  A value of 0 means the solution
+## converged and the tolerance criterion given by @var{tol} is satisfied.
+## A value of 1 means that the @var{maxit} limit for the iteration count was
+## reached.  A value of 3 indicates that the (preconditioned) matrix was found
+## not to be positive definite.
 ##
 ## @item
 ## @var{relres} is the ratio of the final residual to its initial value,
@@ -94,29 +92,28 @@
 ##
 ## @item
 ## @var{resvec} describes the convergence history of the method.
-## @code{@var{resvec} (i,1)} is the Euclidean norm of the residual, and
-## @code{@var{resvec} (i,2)} is the preconditioned residual norm,
-## after the (@var{i}-1)-th iteration, @code{@var{i} =
-## 1, 2, @dots{}, @var{iter}+1}.  The preconditioned residual norm
-## is defined as
+## @code{@var{resvec}(i,1)} is the Euclidean norm of the residual, and
+## @code{@var{resvec}(i,2)} is the preconditioned residual norm, after the
+## (@var{i}-1)-th iteration, @code{@var{i} = 1, 2, @dots{}, @var{iter}+1}.
+## The preconditioned residual norm is defined as
 ## @code{norm (@var{r}) ^ 2 = @var{r}' * (@var{m} \ @var{r})} where
 ## @code{@var{r} = @var{b} - @var{A} * @var{x}}, see also the
 ## description of @var{m}.  If @var{eigest} is not required, only
-## @code{@var{resvec} (:,1)} is returned.
+## @code{@var{resvec}(:,1)} is returned.
 ##
 ## @item
-## @var{eigest} returns the estimate for the smallest @code{@var{eigest}
-## (1)} and largest @code{@var{eigest} (2)} eigenvalues of the
-## preconditioned matrix @code{@var{P} = @var{m} \ @var{A}}.  In
-## particular, if no preconditioning is used, the estimates for the
-## extreme eigenvalues of @var{A} are returned.  @code{@var{eigest} (1)}
-## is an overestimate and @code{@var{eigest} (2)} is an underestimate,
-## so that @code{@var{eigest} (2) / @var{eigest} (1)} is a lower bound
-## for @code{cond (@var{P}, 2)}, which nevertheless in the limit should
+## @var{eigest} returns the estimate for the smallest @code{@var{eigest}(1)}
+## and largest @code{@var{eigest}(2)} eigenvalues of the preconditioned matrix
+## @w{@code{@var{P} = @var{m} \ @var{A}}}.  In particular, if no
+## preconditioning is used, the estimates for the extreme eigenvalues of
+## @var{A} are returned.  @code{@var{eigest}(1)} is an overestimate and
+## @code{@var{eigest}(2)} is an underestimate, so that
+## @code{@var{eigest}(2) / @var{eigest}(1)} is a lower bound for
+## @code{cond (@var{P}, 2)}, which nevertheless in the limit should 
 ## theoretically be equal to the actual value of the condition number.
 ## The method which computes @var{eigest} works only for symmetric positive
-## definite @var{A} and @var{m}, and the user is responsible for
-## verifying this assumption.
+## definite @var{A} and @var{m}, and the user is responsible for verifying this
+## assumption.
 ## @end itemize
 ##
 ## Let us consider a trivial problem with a diagonal matrix (we exploit the
@@ -134,7 +131,7 @@
 ## @sc{Example 1:} Simplest use of @code{pcg}
 ##
 ## @example
-## x = pcg (A,b)
+## x = pcg (A, b)
 ## @end example
 ##
 ## @sc{Example 2:} @code{pcg} with a function which computes
@@ -270,11 +267,12 @@
     r = b - feval (A, x, varargin{:});
   endif
 
+  b_norm = norm (b);
   resvec(1,1) = norm (r);
   alpha = 1;
   iter = 2;
 
-  while (resvec (iter-1,1) > tol * resvec (1,1) && iter < maxit)
+  while (resvec(iter-1,1) > tol * b_norm && iter < maxit)
     if (exist_m1)
       if (isnumeric (m1))
         y = m1 \ r;
@@ -294,7 +292,7 @@
       z = y;
     endif
     tau = z' * r;
-    resvec (iter-1,2) = sqrt (tau);
+    resvec(iter-1,2) = sqrt (tau);
     beta = tau / oldtau;
     oldtau = tau;
     p = z + beta * p;
@@ -320,7 +318,7 @@
       ## EVS = eig (T(2:iter-1,2:iter-1));
       ## fprintf (stderr,"PCG condest: %g (iteration: %d)\n", max (EVS)/min (EVS),iter);
     endif
-    resvec (iter,1) = norm (r);
+    resvec(iter,1) = norm (r);
     iter++;
   endwhile
 
@@ -360,13 +358,13 @@
       z = y;
     endif
 
-    resvec (iter-1,2) = sqrt (r' * z);
+    resvec(iter-1,2) = sqrt (r' * z);
   else
     resvec = resvec(:,1);
   endif
 
   flag = 0;
-  relres = resvec (iter-1,1) ./ resvec(1,1);
+  relres = resvec(iter-1,1) ./ resvec(1,1);
   iter -= 2;
   if (iter >= maxit - 2)
     flag = 1;
--- a/scripts/sparse/pcr.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/pcr.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 Piotr Krzyzanowski
+## Copyright (C) 2004-2013 Piotr Krzyzanowski
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/private/__sprand_impl__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/private/__sprand_impl__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 Paul Kienzle
+## Copyright (C) 2004-2013 Paul Kienzle
 ## Copyright (C) 2012 Jordi Gutiérrez Hermoso
 ##
 ## This file is part of Octave.
@@ -70,6 +70,7 @@
     k = min (length (idx), k);
     j = floor ((idx(1:k) - 1) / m);
     i = idx(1:k) - j * m;
+    j++;
   else
     idx = randperm (mn, k);
     [i, j] = ind2sub ([m, n], idx);
--- a/scripts/sparse/spaugment.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/spaugment.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/spconvert.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/spconvert.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 David Bateman and Andy Adler
+## Copyright (C) 2004-2013 David Bateman and Andy Adler
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/spdiags.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/spdiags.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/speye.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/speye.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 David Bateman and Andy Adler
+## Copyright (C) 2004-2013 David Bateman and Andy Adler
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/spfun.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/spfun.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 David Bateman and Andy Adler
+## Copyright (C) 2004-2013 David Bateman and Andy Adler
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/spones.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/spones.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 David Bateman and Andy Adler
+## Copyright (C) 2004-2013 David Bateman and Andy Adler
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/sprand.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/sprand.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 Paul Kienzle
+## Copyright (C) 2004-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/sprandn.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/sprandn.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 Paul Kienzle
+## Copyright (C) 2004-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/sprandsym.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/sprandsym.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 David Bateman and Andy Adler
+## Copyright (C) 2004-2013 David Bateman and Andy Adler
 ## Copyright (C) 2012 Jordi Gutiérrez Hermoso
 ##
 ## This file is part of Octave.
--- a/scripts/sparse/spstats.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/spstats.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 Paul Kienzle
+## Copyright (C) 2004-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/spy.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/spy.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1998-2012 Andy Adler
+## Copyright (C) 1998-2013 Andy Adler
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/svds.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/svds.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 David Bateman
+## Copyright (C) 2006-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/treelayout.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/treelayout.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Ivana Varekova & Radek Salac
+## Copyright (C) 2008-2013 Ivana Varekova & Radek Salac
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/sparse/treeplot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/sparse/treeplot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Ivana Varekova
+## Copyright (C) 2005-2013 Ivana Varekova
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/specfun/bessel.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/bessel.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/specfun/beta.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/beta.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/specfun/betaln.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/betaln.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1998-2012 Nicol N. Schraudolph
+## Copyright (C) 1998-2013 Nicol N. Schraudolph
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/specfun/ellipke.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/ellipke.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
-## Copyright (C) 2001 David Billinghurst
-## Copyright (C) 2001 Paul Kienzle
-## Copyright (C) 2003 Jaakko Ruohio
+## Copyright (C) 2001, 2013 David Billinghurst
+## Copyright (C) 2001, 2013 Paul Kienzle
+## Copyright (C) 2003, 2013 Jaakko Ruohio
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/specfun/expint.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/expint.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006 Sylvain Pelissier
+## Copyright (C) 2006, 2013 Sylvain Pelissier
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/specfun/factor.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/factor.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
@@ -20,14 +20,17 @@
 ## @deftypefn  {Function File} {@var{p} =} factor (@var{q})
 ## @deftypefnx {Function File} {[@var{p}, @var{n}] =} factor (@var{q})
 ##
-## Return prime factorization of @var{q}.  That is,
+## Return the prime factorization of @var{q}.  That is,
 ## @code{prod (@var{p}) == @var{q}} and every element of @var{p} is a prime
 ## number.  If @code{@var{q} == 1}, return 1.
 ##
 ## With two output arguments, return the unique primes @var{p} and
 ## their multiplicities.  That is, @code{prod (@var{p} .^ @var{n}) ==
 ## @var{q}}.
-## @seealso{gcd, lcm}
+## 
+## Implementation Note: The input @var{q} must not be greater than
+## @code{bitmax} (9.0072e+15) in order to factor correctly.
+## @seealso{gcd, lcm, isprime}
 ## @end deftypefn
 
 ## Author: Paul Kienzle
@@ -54,6 +57,8 @@
     return;
   endif
 
+  q = double (q);  # For the time being, calcs rely on double precision var.
+  qorig = q;
   x = [];
   ## There is at most one prime greater than sqrt(q), and if it exists,
   ## it has multiplicity 1, so no need to consider any factors greater
@@ -62,17 +67,25 @@
   p = primes (sqrt (q));
   while (q > 1)
     ## Find prime factors in remaining q.
-    p = p (rem (q, p) == 0);
+    p = p(rem (q, p) == 0);
     if (isempty (p))
       ## Can't be reduced further, so q must itself be a prime.
       p = q;
     endif
     x = [x, p];
     ## Reduce q.
-    q = q / prod (p);
+    q /= prod (p);
   endwhile
   x = sort (x);
 
+  ## Verify algorithm was succesful
+  q = prod (x);
+  if (q != qorig)
+    error ("factor: Input Q too large to factor");
+  elseif (q > bitmax)
+    warning ("factor: Input Q too large.  Answer is unreliable");
+  endif
+
   ## Determine muliplicity.
   if (nargout > 1)
     idx = find ([0, x] != [x, 0]);
@@ -94,3 +107,8 @@
 %!   assert (all ([0,p] != [p,0]));
 %! endfor
 
+%% Test input validation
+%!error factor ()
+%!error <Q must be a scalar integer> factor ([1,2])
+%!error <Q must be a scalar integer> factor (1.5)
+
--- a/scripts/specfun/factorial.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/factorial.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/specfun/isprime.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/isprime.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ## Copyright (C) 2010 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/specfun/lcm.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/lcm.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/specfun/legendre.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/legendre.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Kai Habel
+## Copyright (C) 2000-2013 Kai Habel
 ## Copyright (C) 2008 Marco Caliari
 ##
 ## This file is part of Octave.
--- a/scripts/specfun/nchoosek.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/nchoosek.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2001-2012 Rolf Fabian and Paul Kienzle
+## Copyright (C) 2001-2013 Rolf Fabian and Paul Kienzle
 ## Copyright (C) 2008 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/specfun/nthroot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/nthroot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 Paul Kienzle
+## Copyright (C) 2004-2013 Paul Kienzle
 ## Copyright (C) 2010 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/specfun/perms.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/perms.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2001-2012 Paul Kienzle
+## Copyright (C) 2001-2013 Paul Kienzle
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/specfun/pow2.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/pow2.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/specfun/primes.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/primes.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/specfun/reallog.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/reallog.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/specfun/realpow.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/realpow.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/specfun/realsqrt.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/specfun/realsqrt.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/special-matrix/hadamard.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/special-matrix/hadamard.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 Paul Kienzle
+## Copyright (C) 1993-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/special-matrix/hankel.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/special-matrix/hankel.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/special-matrix/hilb.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/special-matrix/hilb.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/special-matrix/invhilb.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/special-matrix/invhilb.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 Dirk Laurie
+## Copyright (C) 1993-2013 Dirk Laurie
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/special-matrix/magic.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/special-matrix/magic.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Paul Kienzle
+## Copyright (C) 1999-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/special-matrix/pascal.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/special-matrix/pascal.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Peter Ekberg
+## Copyright (C) 1999-2013 Peter Ekberg
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/special-matrix/rosser.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/special-matrix/rosser.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Peter Ekberg
+## Copyright (C) 1999-2013 Peter Ekberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/special-matrix/toeplitz.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/special-matrix/toeplitz.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/special-matrix/vander.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/special-matrix/vander.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1993-2012 John W. Eaton
+## Copyright (C) 1993-2013 John W. Eaton
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/special-matrix/wilkinson.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/special-matrix/wilkinson.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2012 Peter Ekberg
+## Copyright (C) 1999-2013 Peter Ekberg
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/startup/__finish__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/startup/__finish__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Ben Abbott
+## Copyright (C) 2008-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/center.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/center.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/statistics/base/cloglog.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/cloglog.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/corr.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/corr.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/cov.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/cov.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/gls.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/gls.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/histc.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/histc.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Søren Hauberg
+## Copyright (C) 2009-2013 Søren Hauberg
 ## Copyright (C) 2009 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/statistics/base/iqr.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/iqr.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/kendall.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/kendall.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/kurtosis.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/kurtosis.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,5 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 2013 Julien Bect
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
@@ -18,33 +19,59 @@
 
 ## -*- texinfo -*-
 ## @deftypefn  {Function File} {} kurtosis (@var{x})
-## @deftypefnx {Function File} {} kurtosis (@var{x}, @var{dim})
-## Compute the kurtosis of the elements of the vector @var{x}.
+## @deftypefnx {Function File} {} kurtosis (@var{x}, @var{flag})
+## @deftypefnx {Function File} {} kurtosis (@var{x}, @var{flag}, @var{dim})
+## Compute the sample kurtosis of the elements of @var{x}:
 ## @tex
 ## $$
-##  {\rm kurtosis} (x) = {1\over N \sigma^4} \sum_{i=1}^N (x_i-\bar{x})^4 - 3
+## \kappa_1 = {{{1\over N}\,
+##          \sum_{i=1}^N (@var{x}_i - \bar{@var{x}})^4} \over \sigma^4},
 ## $$
-## where $\bar{x}$ is the mean value of $x$.
+## where $N$ is the length of @var{x}, $\bar{@var{x}}$ its mean, and $\sigma$
+## its (uncorrected) standard deviation.
 ## @end tex
 ## @ifnottex
 ##
 ## @example
 ## @group
-##                 1    sum ((x - mean(x)).^4)
-## kurtosis (x) = --- * ----------------------  -  3
-##                 N           std(x)^4
+##      mean ((@var{x} - mean (@var{x})).^4)
+## k1 = ------------------------
+##             std (@var{x}).^4
 ## @end group
 ## @end example
 ##
 ## @end ifnottex
-## If @var{x} is a matrix, return the kurtosis over the
-## first non-singleton dimension of the matrix.  If the optional
+##
+## @noindent
+## The optional argument @var{flag} controls which normalization is used.
+## If @var{flag} is equal to 1 (default value, used when @var{flag} is omitted
+## or empty), return the sample kurtosis as defined above.  If @var{flag} is
+## equal to 0, return the @w{"bias-corrected"} kurtosis coefficient instead:
+## @tex
+## $$
+## \kappa_0 = 3 + {\scriptstyle N - 1 \over \scriptstyle (N - 2)(N - 3)} \,
+##     \left( (N + 1)\, \kappa_1 - 3 (N - 1) \right)
+## $$
+## @end tex
+## @ifnottex
+##
+## @example
+## @group
+##               N - 1
+## k0 = 3 + -------------- * ((N + 1) * k1 - 3 * (N - 1))
+##          (N - 2)(N - 3)
+## @end group
+## @end example
+##
+## @end ifnottex
+## The bias-corrected kurtosis coefficient is obtained by replacing the sample
+## second and fourth central moments by their unbiased versions.  It is an
+## unbiased estimate of the population kurtosis for normal populations.
+##
+## If @var{x} is a matrix, or more generally a multi-dimensional array, return
+## the kurtosis along the first non-singleton dimension.  If the optional
 ## @var{dim} argument is given, operate along this dimension.
 ##
-## Note: The definition of kurtosis above yields a kurtosis of zero for the
-## stdnormal distribution and is sometimes referred to as "excess kurtosis".
-## To calculate kurtosis without the normalization factor of @math{-3} use
-## @code{moment (@var{x}, 4, 'c') / std (@var{x})^4}.
 ## @seealso{var, skewness, moment}
 ## @end deftypefn
 
@@ -52,9 +79,9 @@
 ## Created: 29 July 1994
 ## Adapted-By: jwe
 
-function retval = kurtosis (x, dim)
+function y = kurtosis (x, flag, dim)
 
-  if (nargin != 1 && nargin != 2)
+  if (nargin < 1) || (nargin > 3)
     print_usage ();
   endif
 
@@ -62,26 +89,44 @@
     error ("kurtosis: X must be a numeric vector or matrix");
   endif
 
+  if (nargin < 2 || isempty (flag))
+    flag = 1;  # default: do not use the "bias corrected" version
+  else
+    if ((! isscalar (flag)) || (flag != 0 && flag != 1))
+      error ("kurtosis: FLAG must be 0 or 1");
+    endif
+  endif
+
   nd = ndims (x);
   sz = size (x);
-  if (nargin != 2)
+  if (nargin < 3)
     ## Find the first non-singleton dimension.
     (dim = find (sz > 1, 1)) || (dim = 1);
   else
-    if (!(isscalar (dim) && dim == fix (dim))
-        || !(1 <= dim && dim <= nd))
+    if (! (isscalar (dim) && dim == fix (dim)) || ! (1 <= dim && dim <= nd))
       error ("kurtosis: DIM must be an integer and a valid dimension");
     endif
   endif
 
   n = sz(dim);
   sz(dim) = 1;
-  x = center (x, dim);  # center also promotes integer to double for next line
-  retval = zeros (sz, class (x));
-  s = std (x, [], dim);
-  idx = find (s > 0);
-  x = sum (x.^4, dim);
-  retval(idx) = x(idx) ./ (n * s(idx) .^ 4) - 3;
+
+  x = center (x, dim);   # center also promotes integer, logical to double
+  v = var (x, 1, dim);   # normalize with 1/N
+  y = sum (x .^ 4, dim);
+  idx = (v != 0);
+  y(idx) = y(idx) ./ (n * v(idx) .^ 2);
+  y(! idx) = NaN;
+
+  ## Apply bias correction to the second and fourth central sample moment  
+  if (flag == 0)
+    if (n > 3)
+      C = (n - 1) / ((n - 2) * (n - 3));
+      y = 3 + C * ((n + 1) * y - 3 * (n - 1));
+    else
+      y(:) = NaN;
+    endif
+  endif
 
 endfunction
 
@@ -89,16 +134,38 @@
 %!test
 %! x = [-1; 0; 0; 0; 1];
 %! y = [x, 2*x];
-%! assert (kurtosis (y), [-1.4, -1.4], sqrt (eps));
+%! assert (kurtosis (y), [2.5, 2.5], sqrt (eps));
+
+%!assert (kurtosis ([-3, 0, 1]) == kurtosis ([-1, 0, 3]))
+%!assert (kurtosis (ones (3, 5)), NaN (1, 5))
+
+%!assert (kurtosis ([1:5 10; 1:5 10],  0, 2), 5.4377317925288901 * [1; 1], 8 * eps)
+%!assert (kurtosis ([1:5 10; 1:5 10],  1, 2), 2.9786509002956195 * [1; 1], 8 * eps)
+%!assert (kurtosis ([1:5 10; 1:5 10], [], 2), 2.9786509002956195 * [1; 1], 8 * eps)
 
-%!assert (kurtosis (single (1)), single (0))
+## Test behaviour on single input
+%!assert (kurtosis (single ([1:5 10])), single (2.9786513), eps ("single"))
+%!assert (kurtosis (single ([1 2]), 0), single (NaN))
+
+## Verify no "divide-by-zero" warnings
+%!test
+%! wstate = warning ("query", "Octave:divide-by-zero");
+%! warning ("on", "Octave:divide-by-zero");
+%! unwind_protect
+%!   lastwarn ("");  # clear last warning
+%!   kurtosis (1);
+%!   assert (lastwarn (), "");
+%! unwind_protect_cleanup
+%!   warning (wstate, "Octave:divide-by-zero");
+%! end_unwind_protect
 
 %% Test input validation
 %!error kurtosis ()
 %!error kurtosis (1, 2, 3)
-%!error kurtosis (['A'; 'B'])
-%!error kurtosis (1, ones (2,2))
-%!error kurtosis (1, 1.5)
-%!error kurtosis (1, 0)
-%!error kurtosis (1, 3)
-
+%!error <X must be a numeric vector or matrix> kurtosis (['A'; 'B'])
+%!error <FLAG must be 0 or 1> kurtosis (1, 2)
+%!error <FLAG must be 0 or 1> kurtosis (1, [1 0])
+%!error <DIM must be an integer> kurtosis (1, [], ones (2,2))
+%!error <DIM must be an integer> kurtosis (1, [], 1.5)
+%!error <DIM must be .* a valid dimension> kurtosis (1, [], 0)
+%!error <DIM must be .* a valid dimension> kurtosis (1, [], 3)
--- a/scripts/statistics/base/logit.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/logit.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/mahalanobis.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/mahalanobis.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/mean.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/mean.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/meansq.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/meansq.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ## Copyright (C) 2009 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/statistics/base/median.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/median.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ## Copyright (C) 2009-2010 VZLU Prague
 ##
 ## This file is part of Octave.
--- a/scripts/statistics/base/mode.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/mode.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/moment.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/moment.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/ols.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/ols.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/ppplot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/ppplot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/prctile.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/prctile.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Ben Abbott
+## Copyright (C) 2008-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/probit.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/probit.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/qqplot.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/qqplot.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
@@ -18,8 +18,9 @@
 
 ## -*- texinfo -*-
 ## @deftypefn  {Function File} {[@var{q}, @var{s}] =} qqplot (@var{x})
+## @deftypefnx {Function File} {[@var{q}, @var{s}] =} qqplot (@var{x}, @var{y})
 ## @deftypefnx {Function File} {[@var{q}, @var{s}] =} qqplot (@var{x}, @var{dist})
-## @deftypefnx {Function File} {[@var{q}, @var{s}] =} qqplot (@var{x}, @var{dist}, @var{params})
+## @deftypefnx {Function File} {[@var{q}, @var{s}] =} qqplot (@var{x}, @var{y}, @var{params})
 ## @deftypefnx {Function File} {} qqplot (@dots{})
 ## Perform a QQ-plot (quantile plot).
 ##
@@ -32,6 +33,9 @@
 ## If the sample comes from F, except for a transformation of location
 ## and scale, the pairs will approximately follow a straight line.
 ##
+## If the second argument is a vector @var{y} the empirical CDF of @var{y}
+## is used as @var{dist}.
+##
 ## The default for @var{dist} is the standard normal distribution.  The
 ## optional argument @var{params} contains a list of parameters of
 ## @var{dist}.  For example, for a quantile plot of the uniform
@@ -52,7 +56,7 @@
 ## Author: KH <Kurt.Hornik@wu-wien.ac.at>
 ## Description: Perform a QQ-plot (quantile plot)
 
-function [q, s] = qqplot (x, dist, varargin)
+function [qout, sout] = qqplot (x, dist, varargin)
 
   if (nargin < 1)
     print_usage ();
@@ -65,8 +69,10 @@
   if (nargin == 1)
     f = @stdnormal_inv;
   else
-    if (   exist (invname = sprintf ("%sinv", dist))
-        || exist (invname = sprintf ("%s_inv", dist)))
+    if (isnumeric (dist))
+      f = @(y) empirical_inv (y, dist);
+    elseif (ischar (dist) && (exist (invname = [dist "inv"])
+                              || exist (invname = [dist "%s_inv"])))
       f = str2func (invname);
     else
       error ("qqplot: no inverse CDF found for distribution DIST");
@@ -77,24 +83,32 @@
   n = length (x);
   t = ((1 : n)' - .5) / n;
   if (nargin <= 2)
-    q = feval (f, t);
+    q = f (t);
     q_label = func2str (f);
   else
-    q = feval (f, t, varargin{:});
-    if (nargin > 3)
-      tmp = sprintf (", %g", varargin{2:end});
+    q = f (t, varargin{:});
+    if (nargin == 3)
+      q_label = sprintf ("%s with parameter %g", func2str (f), varargin{1});
     else
-      tmp = "";
+      q_label = sprintf ("%s with parameters %g", func2str (f), varargin{1});
+      param_str = sprintf (", %g", varargin{2:end});
+      q_label = [q_label param_str]; 
     endif
-    q_label = sprintf ("%s with parameter(s) %g%s",
-                        func2str (f),        varargin{1}, tmp);
   endif
 
   if (nargout == 0)
     plot (q, s);
+    q_label = strrep (q_label, '_inv', '\_inv');
+    if (q_label(1) == '@')
+      q_label = q_label(6:end);  # Strip "@(y) " from anon. function
+    endif
     xlabel (q_label);
     ylabel ("sample points");
+  else
+    qout = q;
+    sout = s;
   endif
 
 endfunction
 
+
--- a/scripts/statistics/base/quantile.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/quantile.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Ben Abbott and Jaroslav Hajek
+## Copyright (C) 2008-2013 Ben Abbott and Jaroslav Hajek
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/range.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/range.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ## Copyright (C) 2009 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/statistics/base/ranks.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/ranks.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/run_count.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/run_count.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/runlength.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/runlength.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Paul Kienzle
+## Copyright (C) 2005-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/skewness.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/skewness.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2013 Julien Bect
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
@@ -148,9 +148,10 @@
 %!assert (skewness (single ([1:5 10])), single (1.0513283), eps ("single"))
 %!assert (skewness (single ([1 2]), 0), single (NaN))
 
-## Verify no "division-by-zero" warnings
+## Verify no "divide-by-zero" warnings
 %!test
 %! wstate = warning ("query", "Octave:divide-by-zero");
+%! warning ("on", "Octave:divide-by-zero");
 %! unwind_protect
 %!   lastwarn ("");  # clear last warning
 %!   skewness (1);
--- a/scripts/statistics/base/spearman.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/spearman.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/statistics.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/statistics.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/std.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/std.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/table.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/table.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/var.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/var.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/base/zscore.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/base/zscore.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/betacdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/betacdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/betainv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/betainv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/betapdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/betapdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ## Copyright (C) 2010 Christos Dimitrakakis
 ##
 ## This file is part of Octave.
--- a/scripts/statistics/distributions/betarnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/betarnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/binocdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/binocdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/binoinv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/binoinv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/binopdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/binopdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/binornd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/binornd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/cauchy_cdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/cauchy_cdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/cauchy_inv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/cauchy_inv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/cauchy_pdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/cauchy_pdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/cauchy_rnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/cauchy_rnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/chi2cdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/chi2cdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/chi2inv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/chi2inv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/chi2pdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/chi2pdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/chi2rnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/chi2rnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/discrete_cdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/discrete_cdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 2010-2012 David Bateman
+## Copyright (C) 2010-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/discrete_inv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/discrete_inv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/discrete_pdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/discrete_pdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/discrete_rnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/discrete_rnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/empirical_cdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/empirical_cdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/empirical_inv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/empirical_inv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/empirical_pdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/empirical_pdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/empirical_rnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/empirical_rnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/expcdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/expcdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/expinv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/expinv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/exppdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/exppdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/exprnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/exprnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/fcdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/fcdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/finv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/finv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/fpdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/fpdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/frnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/frnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/gamcdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/gamcdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/gaminv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/gaminv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/gampdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/gampdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/gamrnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/gamrnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/geocdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/geocdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/geoinv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/geoinv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/geopdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/geopdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/geornd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/geornd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/hygecdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/hygecdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1997-2012 Kurt Hornik
+## Copyright (C) 1997-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/hygeinv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/hygeinv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1997-2012 Kurt Hornik
+## Copyright (C) 1997-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/hygepdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/hygepdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/hygernd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/hygernd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1997-2012 Kurt Hornik
+## Copyright (C) 1997-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/kolmogorov_smirnov_cdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/kolmogorov_smirnov_cdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/laplace_cdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/laplace_cdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/laplace_inv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/laplace_inv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/laplace_pdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/laplace_pdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/laplace_rnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/laplace_rnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/logistic_cdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/logistic_cdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/logistic_inv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/logistic_inv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/logistic_pdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/logistic_pdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/logistic_rnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/logistic_rnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/logncdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/logncdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/logninv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/logninv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/lognpdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/lognpdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/lognrnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/lognrnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/nbincdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/nbincdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/nbininv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/nbininv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/nbinpdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/nbinpdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/nbinrnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/nbinrnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/normcdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/normcdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/norminv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/norminv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/normpdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/normpdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/normrnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/normrnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/poisscdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/poisscdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/poissinv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/poissinv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/poisspdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/poisspdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/poissrnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/poissrnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/stdnormal_cdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/stdnormal_cdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/stdnormal_inv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/stdnormal_inv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/stdnormal_pdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/stdnormal_pdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/stdnormal_rnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/stdnormal_rnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/tcdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/tcdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 ## Copyright (C) 2013 Julien Bect
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/tinv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/tinv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/tpdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/tpdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/trnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/trnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/unidcdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/unidcdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/unidinv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/unidinv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/unidpdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/unidpdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 2007-2012 David Bateman
+## Copyright (C) 2007-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/unidrnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/unidrnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 2005-2012 John W. Eaton
+## Copyright (C) 2005-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/unifcdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/unifcdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/unifinv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/unifinv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/unifpdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/unifpdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/unifrnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/unifrnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/wblcdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/wblcdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/wblinv.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/wblinv.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/wblpdf.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/wblpdf.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/wblrnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/wblrnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2012 Rik Wehbring
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/distributions/wienrnd.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/distributions/wienrnd.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/models/logistic_regression.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/models/logistic_regression.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/models/private/logistic_regression_derivatives.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/models/private/logistic_regression_derivatives.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/models/private/logistic_regression_likelihood.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/models/private/logistic_regression_likelihood.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/anova.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/anova.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/bartlett_test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/bartlett_test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/chisquare_test_homogeneity.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/chisquare_test_homogeneity.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/chisquare_test_independence.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/chisquare_test_independence.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/cor_test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/cor_test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/f_test_regression.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/f_test_regression.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/hotelling_test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/hotelling_test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/hotelling_test_2.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/hotelling_test_2.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/kolmogorov_smirnov_test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/kolmogorov_smirnov_test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/kolmogorov_smirnov_test_2.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/kolmogorov_smirnov_test_2.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/kruskal_wallis_test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/kruskal_wallis_test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/manova.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/manova.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/mcnemar_test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/mcnemar_test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/prop_test_2.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/prop_test_2.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/run_test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/run_test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Friedrich Leisch
+## Copyright (C) 1995-2013 Friedrich Leisch
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/sign_test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/sign_test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/t_test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/t_test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/t_test_2.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/t_test_2.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/t_test_regression.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/t_test_regression.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/u_test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/u_test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/var_test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/var_test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/welch_test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/welch_test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/wilcoxon_test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/wilcoxon_test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/z_test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/z_test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/statistics/tests/z_test_2.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/statistics/tests/z_test_2.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 Kurt Hornik
+## Copyright (C) 1995-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/base2dec.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/base2dec.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Daniel Calvelo
+## Copyright (C) 2000-2013 Daniel Calvelo
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/bin2dec.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/bin2dec.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Daniel Calvelo
+## Copyright (C) 1996-2013 Daniel Calvelo
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/blanks.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/blanks.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/cstrcat.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/cstrcat.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/deblank.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/deblank.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/dec2base.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/dec2base.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Daniel Calvelo
+## Copyright (C) 2000-2013 Daniel Calvelo
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/dec2bin.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/dec2bin.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Daniel Calvelo
+## Copyright (C) 1996-2013 Daniel Calvelo
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/dec2hex.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/dec2hex.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Daniel Calvelo
+## Copyright (C) 1996-2013 Daniel Calvelo
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/findstr.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/findstr.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/hex2dec.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/hex2dec.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Daniel Calvelo
+## Copyright (C) 1996-2013 Daniel Calvelo
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/index.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/index.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/isletter.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/isletter.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1998-2012 John W. Eaton
+## Copyright (C) 1998-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/isstrprop.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/isstrprop.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 John W. Eaton
+## Copyright (C) 2008-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/mat2str.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/mat2str.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2002-2012 Rolf Fabian
+## Copyright (C) 2002-2013 Rolf Fabian
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/ostrsplit.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/ostrsplit.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Jaroslav Hajek
+## Copyright (C) 2009-2013 Jaroslav Hajek
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/regexptranslate.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/regexptranslate.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/rindex.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/rindex.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/str2num.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/str2num.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/strcat.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/strcat.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1994-2012 John W. Eaton
+## Copyright (C) 1994-2013 John W. Eaton
 ## Copyright (C) 2009 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/strings/strchr.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/strchr.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Jaroslav Hajek
+## Copyright (C) 2008-2013 Jaroslav Hajek
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/strjust.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/strjust.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ## Copyright (C) 2009 Jaroslav Hajek
 ##
 ## This file is part of Octave.
--- a/scripts/strings/strmatch.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/strmatch.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ## Copyright (C) 2003 Alois Schloegl
 ## Copyright (C) 2010 VZLU Prague
 ##
--- a/scripts/strings/strsplit.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/strsplit.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 Jaroslav Hajek
+## Copyright (C) 2009-2013 Jaroslav Hajek
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/strtok.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/strtok.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/strtrim.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/strtrim.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/strtrunc.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/strtrunc.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 William Poetra Yoga Hadisoeseno
+## Copyright (C) 2006-2013 William Poetra Yoga Hadisoeseno
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/substr.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/substr.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 Kurt Hornik
+## Copyright (C) 1996-2013 Kurt Hornik
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/untabify.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/untabify.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 Ben Abbott
+## Copyright (C) 2010-2013 Ben Abbott
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/strings/validatestring.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/strings/validatestring.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Bill Denney
+## Copyright (C) 2008-2013 Bill Denney
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/testfun/__printf_assert__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/testfun/__printf_assert__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 David Bateman
+## Copyright (C) 2005-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/testfun/__prog_output_assert__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/testfun/__prog_output_assert__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 David Bateman
+## Copyright (C) 2005-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/testfun/__run_test_suite__.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/testfun/__run_test_suite__.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 David Bateman
+## Copyright (C) 2005-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/testfun/assert.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/testfun/assert.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/testfun/demo.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/testfun/demo.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/testfun/example.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/testfun/example.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/testfun/fail.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/testfun/fail.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Paul Kienzle
+## Copyright (C) 2005-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/testfun/rundemos.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/testfun/rundemos.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 John W. Eaton
+## Copyright (C) 2008-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/testfun/runtests.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/testfun/runtests.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 John W. Eaton
+## Copyright (C) 2010-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/testfun/speed.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/testfun/speed.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/testfun/test.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/testfun/test.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 Paul Kienzle
+## Copyright (C) 2005-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/time/addtodate.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/time/addtodate.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Bill Denney
+## Copyright (C) 2008-2013 Bill Denney
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/time/asctime.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/time/asctime.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 John W. Eaton
+## Copyright (C) 1995-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/time/calendar.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/time/calendar.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 Paul Kienzle
+## Copyright (C) 2004-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/time/clock.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/time/clock.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 John W. Eaton
+## Copyright (C) 1995-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/time/ctime.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/time/ctime.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 John W. Eaton
+## Copyright (C) 1995-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/time/date.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/time/date.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1995-2012 John W. Eaton
+## Copyright (C) 1995-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/time/datenum.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/time/datenum.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 Paul Kienzle
+## Copyright (C) 2006-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/time/datestr.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/time/datestr.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/time/datetick.m	Mon Oct 14 17:16:36 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,314 +0,0 @@
-## Copyright (C) 2008-2012 David Bateman
-##
-## This file is part of Octave.
-##
-## Octave is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn  {Function File} {} datetick ()
-## @deftypefnx {Function File} {} datetick (@var{form})
-## @deftypefnx {Function File} {} datetick (@var{axis}, @var{form})
-## @deftypefnx {Function File} {} datetick (@dots{}, "keeplimits")
-## @deftypefnx {Function File} {} datetick (@dots{}, "keepticks")
-## @deftypefnx {Function File} {} datetick (@var{hax}, @dots{})
-## Add date formatted tick labels to an axis.  The axis to apply the
-## ticks to is determined by @var{axis} which can take the values @qcode{"x"},
-## @qcode{"y"}, or @qcode{"z"}.  The default value is @qcode{"x"}.  The
-## formatting of the labels is determined by the variable @var{form}, which
-## can either be a string or positive integer that @code{datestr} accepts.
-## @seealso{datenum, datestr}
-## @end deftypefn
-
-function datetick (varargin)
-
-  [hax, varargin, nargin] = __plt_get_axis_arg__ ("datetick", varargin{:});
-
-  oldfig = [];
-  if (! isempty (hax))
-    oldfig = get (0, "currentfigure");
-  endif
-  if (isempty (hax))
-    hax = gca ();
-  endif 
-
-  unwind_protect
-    ## FIXME: This will bring the axes to the top of the stack.
-    ##        This may not always be desirable if there are multiple axes
-    ##        objects.
-    axes (hax);
-    __datetick__ (varargin{:});
-  unwind_protect_cleanup
-    if (! isempty (oldfig))
-      set (0, "currentfigure", oldfig);
-    endif
-  end_unwind_protect
-
-endfunction
-
-
-%!demo
-%! clf;
-%! yr = 1900:10:2000;
-%! pop = [76.094, 92.407, 106.461, 123.077 131.954, 151.868, 179.979, ...
-%!        203.984, 227.225, 249.623, 282.224];
-%! plot (datenum (yr, 1, 1), pop);
-%! title ("US population (millions)");
-%! xlabel ("Year");
-%! datetick ("x", "YYYY");
-
-%!demo
-%! clf;
-%! yr = 1988:2:2002;
-%! yr = datenum (yr,1,1);
-%! pr = [12.1 13.3 12.6 13.1 13.3 14.1 14.4 15.2];
-%! plot (yr, pr, "-o");
-%! xlabel ("year");
-%! ylabel ("average price");
-%! ax = gca;
-%! set (ax, "xtick", datenum (1990:5:2005,1,1));
-%! datetick (2, "keepticks");
-%! set (ax, "ytick", 12:16);
-
-## Remove from test statistics.  No real tests possible.
-%!assert (1)
-
-function __datetick__ (varargin)
-
-  keeplimits = false;
-  idx = strcmpi (varargin, "keeplimits");
-  if (any (idx))
-    keeplimits = true;
-    varargin = varargin(! idx);
-  endif
-  keepticks = false;
-  idx = strcmpi (varargin, "keepticks");
-  if (any (idx))
-    keepticks = true;
-    varargin = varargin(! idx);
-  endif
-
-  nargin = numel (varargin); 
-  form = [];
-  ax = "x";
-
-  if (nargin != 0)
-    arg = varargin{1};
-    if (ischar (arg) && any (strcmpi (arg, {"x", "y", "z"})))
-      ax = tolower (arg);
-      if (nargin > 1)
-        form = varargin{2};
-        varargin(1:2) = [];
-      else
-        varargin(1) = [];
-      endif
-    else
-      form = arg;
-      varargin(1) = [];
-    endif
-  endif
-
-  ## Don't publish the existence of this variable for use with dateaxis
-  if (length (varargin) > 0)
-    startdate = varargin{1};
-  else
-    startdate = [];
-  endif
-
-  if (! isempty (form))
-    if (isnumeric (form))
-      if (! isscalar (form) || form < 0 || form != fix (form))
-        error ("datetick: expecting FORM argument to be a positive integer");
-      endif
-    elseif (! ischar (form))
-      error ("datetick: expecting valid date format string");
-    endif
-  endif
-
-  if (keepticks)
-    ticks = get (gca (), [ax "tick"]);
-  else
-    ## Need to do our own axis tick position calculation as
-    ## year, etc, don't fallback on nice datenum values.
-    objs = findall (gca ());
-    xmax = NaN;
-    xmin = NaN;
-    for i = 1 : length (objs)
-      fld = get (objs (i));
-      if (isfield (fld, [ax "data"]))
-        xdata = getfield (fld, [ax "data"])(:);
-        xmin = min (xmin, min (xdata));
-        xmax = max (xmax, max (xdata));
-      endif
-    endfor
-
-    if (isnan (xmin) || isnan (xmax))
-      xmin = 0;
-      xmax = 1;
-    elseif (xmin == xmax)
-      xmax = xmin + 1;
-    endif
-
-    N = 3;
-    if (xmax - xmin < N)
-      ## Day scale or less
-      if (xmax - xmin < N / 24 / 60 / 60)
-        scl = 1 / 24 / 60 / 60;
-      elseif (xmax - xmin < N / 24 / 60)
-        scl = 1 / 24 / 60;
-      else
-        scl = 1 / 24;
-      endif
-      sep = __calc_tick_sep__ (xmin / scl , xmax / scl);
-      xmin = sep * floor (xmin / scl / sep);
-      xmax = sep * ceil (xmax / scl / sep);
-      nticks = (xmax - xmin) / sep + 1;
-      xmin *= scl;
-      xmax *= scl;
-    else
-      [ymin, mmin, dmin] = datevec (xmin);
-      [ymax, mmax, dmax] = datevec (xmax);
-      minyear = ymin + (mmin - 1) / 12 + (dmin - 1) / 12 / 30;
-      maxyear = ymax + (mmax - 1) / 12 + (dmax - 1) / 12 / 30;
-      minmonth = mmin + (dmin - 1) / 30;
-      maxmonth = (ymax  - ymin) * 12 + mmax + (dmax - 1) / 30;
-
-      if (maxmonth - minmonth < N)
-        sep = __calc_tick_sep__ (xmin, xmax);
-        xmin = sep * floor (xmin / sep);
-        xmax = sep * ceil (xmax / sep);
-        nticks = (xmax - xmin) / sep + 1;
-      elseif (maxyear - minyear < N)
-        sep = __calc_tick_sep__ (minmonth , maxmonth);
-        xmin = datenum (ymin, sep * floor (minmonth / sep), 1);
-        xmax = datenum (ymax, sep * ceil (maxmonth / sep), 1);
-        nticks = ceil (maxmonth / sep) - floor (minmonth / sep) + 1;
-      else
-        sep = __calc_tick_sep__ (minyear , maxyear);
-        xmin = datenum (sep * floor (minyear / sep), 1, 1);
-        xmax = datenum (sep * ceil (maxyear / sep), 1, 1);
-        nticks = ceil (maxyear / sep) - floor (minyear / sep) + 1;
-      endif
-    endif
-    ticks = xmin + [0 : nticks - 1] / (nticks - 1) * (xmax - xmin);
-  endif
-
-  if (isempty (form))
-    r = max (ticks) - min (ticks);
-    if (r < 10/60/24)
-      ## minutes and seconds
-      form = 13;
-    elseif (r < 2)
-      ## hours
-      form = 15;
-    elseif (r < 15)
-      ## days
-      form = 8;
-    elseif (r < 365)
-      ## FIXME: FORM should be 19 for European users who use dd/mm
-      ## instead of mm/dd.  How can that be determined automatically?
-      ## months
-      form = 6;
-    elseif (r < 90*12)
-      ## quarters
-      form = 27;
-    else
-      ## years
-      form = 10;
-    endif
-  endif
-
-  if (length (ticks) == 6)
-    ## Careful that its not treated as a datevec
-    if (! isempty (startdate))
-      sticks = strvcat (datestr (ticks(1:end-1) - ticks(1) + startdate, form),
-      datestr (ticks(end) - ticks(1) + startdate, form));
-    else
-      sticks = strvcat (datestr (ticks(1:end-1), form),
-      datestr (ticks(end), form));
-    endif
-  else
-    if (! isempty (startdate))
-      sticks = datestr (ticks - ticks(1) + startdate, form);
-    else
-      sticks = datestr (ticks, form);
-    endif
-  endif
-
-  sticks = mat2cell (sticks, ones (rows (sticks), 1), columns (sticks));
-
-  if (keepticks)
-    if (keeplimits)
-      set (gca (), [ax "ticklabel"], sticks);
-    else
-      set (gca (), [ax "ticklabel"], sticks,
-                   [ax "lim"], [min(ticks), max(ticks)]);
-    endif
-  else
-    if (keeplimits)
-      set (gca (), [ax "tick"], ticks, [ax "ticklabel"], sticks);
-    else
-      set (gca (), [ax "tick"], ticks, [ax "ticklabel"], sticks,
-                   [ax "lim"], [min(ticks), max(ticks)]);
-    endif
-  endif
-endfunction
-
-function [a, b] = __magform__ (x)
-  if (x == 0)
-    a = 0;
-    b = 0;
-  else
-    l = log10 (abs (x));
-    r = fmod (l, 1);
-    a = 10 .^ r;
-    b = fix (l - r);
-    if (a < 1)
-      a *= 10;
-      b -= 1;
-    endif
-    if (x < 0)
-      a = -a;
-    endif
-  endif
-endfunction
-
-## A translation from Tom Holoryd's python code at
-## http://kurage.nimh.nih.gov/tomh/tics.py
-function sep = __calc_tick_sep__ (lo, hi)
-  persistent sqrt_2  = sqrt (2.0);
-  persistent sqrt_10 = sqrt (10.0);
-  persistent sqrt_50 = sqrt (50.0);
-
-  ticint = 5;
-
-  ## Reference: Lewart, C. R., "Algorithms SCALE1, SCALE2, and
-  ## SCALE3 for Determination of Scales on Computer Generated
-  ## Plots", Communications of the ACM, 10 (1973), 639-640.
-  ## Also cited as ACM Algorithm 463.
-
-  [a, b] = __magform__ ((hi - lo) / ticint);
-
-  if (a < sqrt_2)
-    x = 1;
-  elseif (a < sqrt_10)
-    x = 2;
-  elseif (a < sqrt_50)
-    x = 5;
-  else
-    x = 10;
-  endif
-  sep = x * 10 .^ b;
-endfunction
-
--- a/scripts/time/datevec.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/time/datevec.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/time/eomday.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/time/eomday.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2012 Paul Kienzle
+## Copyright (C) 2004-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/time/etime.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/time/etime.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/time/is_leap_year.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/time/is_leap_year.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/time/module.mk	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/time/module.mk	Wed Oct 23 22:29:06 2013 -0400
@@ -9,7 +9,6 @@
   time/date.m \
   time/datenum.m \
   time/datestr.m \
-  time/datetick.m \
   time/datevec.m \
   time/eomday.m \
   time/etime.m \
--- a/scripts/time/now.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/time/now.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/time/weekday.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/scripts/time/weekday.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2000-2012 Paul Kienzle
+## Copyright (C) 2000-2013 Paul Kienzle
 ##
 ## This file is part of Octave.
 ##
--- a/scripts/ui/errordlg.m	Mon Oct 14 17:16:36 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-## Copyright (C) 2010 Martin Hepperle
-##
-## This file is part of Octave.
-##
-## Octave is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn  {Function File} {@var{h} =} errordlg (@var{msg})
-## @deftypefnx {Function File} {@var{h} =} errordlg (@var{msg}, @var{title})
-## Display @var{msg} using an error dialog box.
-##
-## The message may have multiple lines separated by newline characters
-## ("\n"), or it may be a cellstr array with one element for each
-## line.  The optional input @var{title} (character string) can be used to
-## set the dialog caption.  The default title is @qcode{"Error Dialog"}.
-##
-## The return value is always 1.
-## @seealso{helpdlg, inputdlg, listdlg, msgbox, questdlg, warndlg}
-## @end deftypefn
-
-function retval = errordlg (msg, title = "Error Dialog")
-
-  if (nargin < 1 || nargin > 2)
-    print_usage ();
-  endif
-
-  retval = message_dialog ("errdlg", msg, title, "error");
-
-endfunction
-
-
-%!demo
-%! disp ('- test errordlg with prompt only.');
-%! errordlg ('Oops, an expected error occured');
-
-%!demo
-%! disp ('- test errordlg with prompt and caption.');
-%! errordlg ('Oops another error','This is a very long and informative caption');
-
--- a/scripts/ui/helpdlg.m	Mon Oct 14 17:16:36 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-## Copyright (C) 2010 Martin Hepperle
-##
-## This file is part of Octave.
-##
-## Octave is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn  {Function File} {@var{h} =} helpdlg (@var{msg})
-## @deftypefnx {Function File} {@var{h} =} helpdlg (@var{msg}, @var{title})
-## Display @var{msg} in a help dialog box.
-##
-## The message may have multiple lines separated by newline characters
-## ("\n"), or it may be a cellstr array with one element for each
-## line.  The optional input @var{title} (character string) can be used to
-## set the dialog caption.  The default title is @qcode{"Help Dialog"}.
-##
-## The return value is always 1.
-## @seealso{errordlg, inputdlg, listdlg, msgbox, questdlg, warndlg}
-## @end deftypefn
-
-function retval = helpdlg (msg, title = "Help Dialog")
-
-  if (nargin < 1 || nargin > 2)
-    print_usage ();
-  endif
-
-  retval = message_dialog ("helpdlg", msg, title, "help");
-
-endfunction
-
-
-%!demo
-%! disp ('- test helpdlg with a help message only.');
-%! helpdlg ("Below, you should see 3 lines:\nline #1\nline #2, and\nline #3.");
-
-%!demo
-%! disp ('- test helpdlg with help message and caption.');
-%! helpdlg ('You should see a single line.','A help dialog');
-
--- a/scripts/ui/inputdlg.m	Mon Oct 14 17:16:36 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,208 +0,0 @@
-## Copyright (C) 2010 Martin Hepperle
-##
-## This file is part of Octave.
-##
-## Octave is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn  {Function File} {@var{cstr} =} inputdlg (@var{prompt})
-## @deftypefnx {Function File} {@var{cstr} =} inputdlg (@var{prompt}, @var{title})
-## @deftypefnx {Function File} {@var{cstr} =} inputdlg (@var{prompt}, @var{title}, @var{rowscols})
-## @deftypefnx {Function File} {@var{cstr} =} inputdlg (@var{prompt}, @var{title}, @var{rowscols}, @var{defaults})
-## Return user input from a multi-textfield dialog box in a cell array
-## of strings, or an empty cell array if the dialog is closed by the
-## Cancel button.
-##
-## Inputs:
-##
-## @table @var
-## @item prompt
-## A cell array with strings labeling each text field.  This input is required. 
-##
-## @item title
-## String to use for the caption of the dialog.  The default is @qcode{"Input
-## Dialog"}.
-##
-## @item rowscols
-## Specifies the size of the text fields and can take three forms:
-##
-## @enumerate
-## @item a scalar value which defines the number of rows used for each
-## text field.
-##
-## @item a vector which defines the individual number of rows
-## used for each text field. 
-##
-## @item a matrix which defines the individual number of rows and
-## columns used for each text field.  In the matrix each row describes
-## a single text field.  The first column specifies the number of input
-## rows to use and the second column specifies the text field width.
-## @end enumerate
-##
-## @item defaults
-## A list of default values to place in each text fields.  It must be
-## a cell array of strings with the same size as @var{prompt}.
-## @end table
-## @seealso{errordlg, helpdlg, listdlg, msgbox, questdlg, warndlg}
-## @end deftypefn
-
-function cstr = inputdlg (prompt, title = "Input Dialog", varargin)
-
-  if (nargin < 1 || nargin > 4)
-    print_usage ();
-  endif
-
-  if (iscell (prompt))
-    ## Silently extract only char elements
-    prompt = prompt(cellfun ("isclass", prompt, "char"));
-  elseif (ischar (prompt))
-    prompt = {prompt};
-  else
-    error ("inputdlg: PROMPT must be a character string or cellstr array");
-  endif
-
-  if (! ischar (title))
-    error ("inputdlg: TITLE must be a character string");
-  endif
-
-  switch (numel (varargin))
-    case 0
-      linespec = 1;
-      defaults = cellstr (cell (size (prompt)));
-
-    case 1
-      linespec = varargin{1};
-      defaults = cellstr (cell (size (prompt)));
-
-    case 2
-      linespec = varargin{1};
-      defaults = varargin{2};
-  endswitch
-
-  ## specification of text field sizes as in Matlab 
-  ## Matlab requires a matrix for linespec, not a cell array...
-  ## rc = [1,10; 2,20; 3,30];
-  ##     c1  c2
-  ## r1  1   10   first  text field is 1x10
-  ## r2  2   20   second text field is 2x20
-  ## r3  3   30   third  text field is 3x30
-  if (isscalar (linespec))
-    ## only scalar value in lineTo, copy from linespec and add defaults
-    rowscols = zeros (columns (prompt), 2);
-    ## cols
-    rowscols(:,2) = 25;
-    rowscols(:,1) = linespec;
-  elseif (isvector (linespec))
-      ## only one column in lineTo, copy from vector linespec and add defaults
-      rowscols = zeros (columns (prompt), 2);
-      ## rows from colum vector linespec, columns are set to default
-      rowscols(:,2) = 25;
-      rowscols(:,1) = linespec(:);
-  elseif (ismatrix (linespec))
-    if (rows (linespec) == columns (prompt) && columns (linespec) == 2)
-      ## (rows x columns) match, copy array linespec
-      rowscols = linespec;
-    else
-      error ("inputdlg: ROWSCOLS matrix does not match size of PROMPT");
-    endif
-  else
-    ## dunno
-    error ("inputdlg: unknown form of ROWSCOLS argument");
-  endif
-  rowscols = ceil (rowscols);
-  
-  ## convert numeric values in defaults cell array to strings
-  defs = cellfun (@num2str, defaults, "UniformOutput", false);
-  rc = arrayfun (@num2str, rowscols, "UniformOutput", false);
-
-  if (__octave_link_enabled__ ())
-    cstr = __octave_link_input_dialog__ (prompt, title, rowscols, defs);
-  elseif (__have_feature__ ("JAVA"))
-    user_inputs = javaMethod ("inputdlg", "org.octave.JDialogBox",
-                              prompt, title, rc, defs);  
-    if (isempty (user_inputs))
-      cstr = {};
-    else
-      cstr = cellstr (user_inputs);
-    endif
-  else
-    error ("inputdlg is not available in this version of Octave");
-  endif
-
-endfunction
-
-
-%!demo
-%! disp ('- test inputdlg with prompt and caption only.');
-%! prompt = {'Width','Height','Depth'};
-%! dims = inputdlg (prompt, 'Enter Box Dimensions');
-%! if (isempty (dims))
-%!   helpdlg ('Canceled by user', 'Information');
-%! else
-%!   volume  = str2num (dims{1}) * str2num (dims{2}) * str2num (dims{3});
-%!   surface = 2 * (str2num (dims{1}) * str2num (dims{2}) + ...
-%!                  str2num (dims{2}) * str2num (dims{3}) + ...
-%!                  str2num (dims{1}) * str2num (dims{3}));
-%!   helpdlg (sprintf ('Results:\nVolume = %.3f\nSurface = %.3f', volume, surface), 'Box Dimensions');
-%! end
-
-%!demo
-%! disp ('- test inputdlg with prescribed scalar (2 lines per text field) and defaults.');
-%! prompt = {'Width','Height','Depth'};
-%! default = {'1.1','2.2','3.3'};
-%! rc = 2;
-%! dims = inputdlg (prompt, 'Enter Box Dimensions',rc,default);
-%! if (isempty (dims))
-%!   helpdlg ('Canceled by user', 'Information');
-%! else
-%!   volume  = str2num (dims{1}) * str2num (dims{2}) * str2num (dims{3});
-%!   surface = 2 * (str2num (dims{1}) * str2num (dims{2}) + ...
-%!                  str2num (dims{2}) * str2num (dims{3}) + ...
-%!                  str2num (dims{1}) * str2num (dims{3}));
-%!    helpdlg (sprintf ('Results:\nVolume = %.3f\nSurface = %.3f', volume, surface), 'Box Dimensions');
-%! end
-
-%!demo
-%! disp ('- test inputdlg with prescribed vector [1,2,3] for # of lines per text field and defaults.');
-%! prompt = {'Width','Height','Depth'};
-%! default = {'1.10', '2.10', '3.10'};
-%! rc = [1,2,3];  % NOTE: must be an array
-%! dims = inputdlg (prompt, 'Enter Box Dimensions',rc,default);
-%! if (isempty (dims))
-%!   helpdlg ('Canceled by user', 'Information');
-%! else
-%!   volume  = str2num (dims{1}) * str2num (dims{2}) * str2num (dims{3});
-%!   surface = 2 * (str2num (dims{1}) * str2num (dims{2}) + ...
-%!                  str2num (dims{2}) * str2num (dims{3}) + ...
-%!                  str2num (dims{1}) * str2num (dims{3}));
-%!   helpdlg (sprintf ('Results:\nVolume = %.3f\nSurface = %.3f', volume, surface), 'Box Dimensions');
-%! end
-
-%!demo
-%! disp ('- test inputdlg with prescribed row by column sizes and defaults.');
-%! prompt = {'Width','Height','Depth'};
-%! default = {'1.10', '2.20', '3.30'};
-%! rc = [1,10; 2,20; 3,30];  % NOTE: must be an array
-%! dims = inputdlg (prompt, 'Enter Box Dimensions',rc,default);
-%! if (isempty (dims))
-%!   helpdlg ('Canceled by user', 'Information');
-%! else
-%!   volume  = str2num (dims{1}) * str2num (dims{2}) * str2num (dims{3});
-%!   surface = 2 * (str2num (dims{1}) * str2num (dims{2}) + ...
-%!                  str2num (dims{2}) * str2num (dims{3}) + ...
-%!                  str2num (dims{1}) * str2num (dims{3}));
-%!   helpdlg (sprintf ('Results:\nVolume = %.3f\nSurface = %.3f', volume, surface), 'Box Dimensions');
-%! end
-
--- a/scripts/ui/listdlg.m	Mon Oct 14 17:16:36 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-## Copyright (C) 2010 Martin Hepperle
-##
-## This file is part of Octave.
-##
-## Octave is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn {Function File} {[@var{sel}, @var{ok}] =} listdlg (@var{key}, @var{value}, @dots{})
-## Return user inputs from a list dialog box in a vector of 
-## selection indices @var{sel} and a flag @var{ok} indicating how the
-## user closed the dialog box.  The value of @var{ok} is 1 if the user
-## closed the box with the OK button, otherwise it is 0 and @var{sel} is
-## empty.
-##
-## The indices in @var{sel} are 1-based.
-##
-## The arguments are specified in form of @var{key}, @var{value} pairs. 
-## The @qcode{"ListString"} argument pair must be specified.
-##
-## Valid @var{key} and @var{value} pairs are:
-##
-## @table @asis
-## @item @qcode{"ListString"}
-## a cell array of strings comprising the content of the list.
-##
-## @item @qcode{"SelectionMode"}
-## can be either @qcode{"Single"} or @qcode{"Multiple"} (default).
-##
-## @item @qcode{"ListSize"}
-## a vector with two elements @var{width} and @var{height} defining
-## the size of the list field in pixels.  Default is [160 300].
-##
-## @item @qcode{"InitialValue"}
-## a vector containing 1-based indices of preselected elements.  Default
-## is 1 (first item).
-##
-## @item @qcode{"Name"}
-## a string to be used as the dialog caption.  Default is "".
-##
-## @item @qcode{"PromptString"}
-## a cell array of strings to be displayed above the list field.  Default
-## is @{@}.
-##
-## @item @qcode{"OKString"}
-## a string used to label the OK button.  Default is @qcode{"OK"}.
-##
-## @item @qcode{"CancelString"}
-## a string used to label the Cancel button.  Default is @qcode{"Cancel"}.
-## @end table
-##
-## Example:
-##
-## @example
-## @group
-## [sel, ok] = listdlg ("ListString", @{"An item", "another", "yet another"@},
-##                      "SelectionMode", "Multiple");
-## if (ok == 1)
-##   for i = 1:numel (sel)
-##     disp (sel(i));
-##   endfor
-## endif
-## @end group
-## @end example
-##
-## @seealso{errordlg, helpdlg, inputdlg, msgbox, questdlg, warndlg}
-## @end deftypefn
-
-function [sel, ok] = listdlg (varargin)
-
-  if (nargin < 2)
-    print_usage ();
-  endif
-
-  listcell = {""};
-  selmode = "Multiple";
-  listsize = [160, 300];
-  initialvalue = 1;
-  name = "";
-  prompt = {};
-  okstring = "OK";
-  cancelstring = "Cancel";
-
-  ## handle key, value pairs
-  for i = 1:2:nargin-1
-    if (strcmp (varargin{i}, "ListString"))
-      listcell = varargin{i+1};
-    elseif (strcmp (varargin{i}, "SelectionMode"))
-      selmode = varargin{i+1};
-    elseif (strcmp (varargin{i}, "ListSize"))
-      listsize = varargin{i+1};
-    elseif (strcmp (varargin{i}, "InitialValue"))
-      initialvalue = varargin{i+1};
-    elseif (strcmp (varargin{i}, "Name"))
-      name = varargin{i+1};
-    elseif (strcmp (varargin{i}, "PromptString"))
-      prompt = varargin{i+1};
-    elseif (strcmp (varargin{i}, "OKString"))
-      okstring = varargin{i+1};
-    elseif (strcmp (varargin{i}, "CancelString"))
-      cancelstring = varargin{i+1};
-    endif
-  endfor
-
-  ## make sure prompt strings are a cell array
-  if (! iscell (prompt))
-    prompt = {prompt};
-  endif
-
-  ## make sure listcell strings are a cell array
-  if (! iscell (listcell))
-    listcell = {listcell};
-  endif
-
-  ## make sure valid selection mode
-  if (! strcmp (selmode, "Multiple") && ! strcmp (selmode, "Single"))
-    error ("invalid SelectionMode");
-  endif
-
-  if (__octave_link_enabled__ ())
-    [sel, ok] = __octave_link_list_dialog__ (listcell, selmode, listsize,
-                                            initialvalue, name, prompt,
-                                            okstring, cancelstring);
-  elseif (__have_feature__ ("JAVA"))
-    ## transform matrices to cell arrays of strings
-    ## swap width and height to correct calling format for JDialogBox
-    listsize = {num2str(listsize(2)), num2str(listsize(1))};
-    initialvalue = arrayfun (@num2str, initialvalue, "UniformOutput", false);
-    if (isempty (prompt))
-      prompt = {""};
-    endif
-
-    ret = javaMethod ("listdlg", "org.octave.JDialogBox", listcell,
-                      selmode, listsize, initialvalue, name, prompt,
-                      okstring, cancelstring);
-
-    if (numel (ret) > 0)
-      sel = ret;
-      ok = 1;
-    else
-      sel = {};
-      ok = 0;
-    endif
-  else
-    error ("listdlg is not available in this version of Octave");
-  endif
-
-endfunction
-
-
-%!demo
-%! disp ('- test listdlg with selectionmode single. No caption, no prompt.');
-%! itemlist = {'An item \\alpha', 'another', 'yet another'};
-%! s = listdlg ('ListString',itemlist, 'SelectionMode','Single');
-%! imax = numel (s);
-%! for i=1:1:imax
-%!   disp (['Selected: ',num2str (i),': ', itemlist{s (i)}]);
-%! end
-
-%!demo
-%! disp ('- test listdlg with selectionmode and preselection. Has caption and two lines prompt.');
-%! itemlist = {'An item \\alpha', 'another', 'yet another'};
-%! s = listdlg ('ListString',itemlist, ...
-%!              'SelectionMode','Multiple', ...
-%!              'Name','Selection Dialog', ...
-%!              'InitialValue',[1,2,3,4],
-%!              'PromptString',{'Select <b>an</b> item...', '...or <b>multiple</b> items'} );
-%! imax = numel (s);
-%! for i=1:1:imax
-%!   disp (['Selected: ',num2str (i),': ', itemlist{s (i)}]);
-%! end
-
-%!demo
-%! disp ('- test listdlg with listsize.');
-%! itemlist = {"Neutron","Electron","Quark","Proton","Neutrino"};
-%! s = listdlg ("ListString",itemlist,
-%!              "Name","Bits and Pieces",
-%!              "ListSize",[200 75] );
-%! imax = numel (s);
-%! for i=1:1:imax
-%!   disp (['Selected: ',num2str (i),': ', itemlist{s (i)}]);
-%! end
-
--- a/scripts/ui/module.mk	Mon Oct 14 17:16:36 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-FCN_FILE_DIRS += ui
-
-ui_PRIVATE_FCN_FILES = \
-  ui/private/message_dialog.m
-
-ui_FCN_FILES = \
-  ui/errordlg.m \
-  ui/helpdlg.m \
-  ui/inputdlg.m \
-  ui/listdlg.m \
-  ui/msgbox.m \
-  ui/questdlg.m \
-  ui/warndlg.m \
-  $(ui_PRIVATE_FCN_FILES)
-
-FCN_FILES += $(ui_FCN_FILES)
-
-PKG_ADD_FILES += ui/PKG_ADD
-
-DIRSTAMP_FILES += ui/$(octave_dirstamp)
--- a/scripts/ui/msgbox.m	Mon Oct 14 17:16:36 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-## Copyright (C) 2010 Martin Hepperle
-##
-## This file is part of Octave.
-##
-## Octave is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn  {Function File} {@var{h} =} msgbox (@var{msg})
-## @deftypefnx {Function File} {@var{h} =} msgbox (@var{msg}, @var{title})
-## @deftypefnx {Function File} {@var{h} =} msgbox (@var{msg}, @var{title}, @var{icon})
-## Display @var{msg} using a message dialog box. 
-##
-## The message may have multiple lines separated by newline characters
-## (@qcode{"\n"}), or it may be a cellstr array with one element for each
-## line.  The optional input @var{title} (character string) can be used to
-## decorate the dialog caption.
-##
-## The optional argument @var{icon} selects a dialog icon. 
-## It can be one of @qcode{"none"} (default), @qcode{"error"},
-## @qcode{"help"}, or @qcode{"warn"}.
-##
-## The return value is always 1.
-## @seealso{errordlg, helpdlg, inputdlg, listdlg, questdlg, warndlg}
-## @end deftypefn
-
-function retval = msgbox (msg, title = "", varargin)
-
-  if (nargin < 1 || nargin > 3)
-    print_usage ();
-  endif
-
-  retval = message_dialog ("msgbox", msg, title, varargin{:});
-
-endfunction
-
-
-%!demo
-%! disp('- test msgbox message only.');
-%! msgbox("Below, you should see 3 lines:\nline #1\nline #2, and\nline #3.");
-
-%!demo
-%! disp('- test msgbox message and caption.');
-%! msgbox('You should see a single line.','A msgbox');
-
--- a/scripts/ui/private/message_dialog.m	Mon Oct 14 17:16:36 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-## Copyright (C) 2010 Martin Hepperle
-##
-## This file is part of Octave.
-##
-## Octave is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn {Function File} {@var{h} =} message_dialog (@var{caller}, @var{msg}, @var{title}, @var{icon})
-## Undocumented internal function.
-## @end deftypefn
-
-function retval = message_dialog (caller, msg, title = "", icon)
-
-  if (! ischar (msg))
-    if (iscell (msg))
-      msg = sprintf ("%s\n", msg{:});
-      msg(end) = "";
-    else
-      error ("%s: MSG must be a character string or cellstr array", caller);
-    endif
-  endif
-
-  if (! ischar (title))
-    error ("%s: TITLE must be a character string", caller);
-  endif
-
-  dlg = "emptydlg";
-  if (nargin == 4)
-    switch (icon)
-      case "error"
-        dlg = "errordlg";
-      case "help"
-        dlg = "helpdlg";
-      case "warn"
-        dlg = "warndlg";
-      case "none"
-        dlg = "emptydlg";
-      otherwise
-        error ("%s: ICON is not a valid type", caller);
-    endswitch
-  else
-    icon = "none";
-  endif
-
-  if (__octave_link_enabled__ ())
-    retval = __octave_link_message_dialog__ (icon, msg, title);
-  elseif (__have_feature__ ("JAVA"))
-    retval = javaMethod (dlg, "org.octave.JDialogBox", msg, title);
-  else
-    error ("%s is not available in this version of Octave", dlg);
-  endif
-
-endfunction
-
--- a/scripts/ui/questdlg.m	Mon Oct 14 17:16:36 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-## Copyright (C) 2010 Martin Hepperle
-##
-## This file is part of Octave.
-##
-## Octave is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn  {Function File} {@var{btn} =} questdlg (@var{msg})
-## @deftypefnx {Function File} {@var{btn} =} questdlg (@var{msg}, @var{title})
-## @deftypefnx {Function File} {@var{btn} =} questdlg (@var{msg}, @var{title}, @var{default})
-## @deftypefnx {Function File} {@var{btn} =} questdlg (@var{msg}, @var{title}, @var{btn1}, @var{btn2}, @var{default})
-## @deftypefnx {Function File} {@var{btn} =} questdlg (@var{msg}, @var{title}, @var{btn1}, @var{btn2}, @var{btn3}, @var{default})
-## Display @var{msg} using a question dialog box and return the caption
-## of the activated button.
-##
-## The dialog may contain two or three buttons which will all close the dialog.
-##
-## The message may have multiple lines separated by newline characters
-## ("\n"), or it may be a cellstr array with one element for each
-## line.  The optional @var{title} (character string) can be used to
-## decorate the dialog caption.
-##
-## The string @var{default} identifies the default button, 
-## which is activated by pressing the @key{ENTER} key.
-## It must match one of the strings given in @var{btn1}, @var{btn2}, or
-## @var{btn3}.
-##
-## If only @var{msg} and @var{title} are specified, three buttons with
-## the default captions @qcode{"Yes"}, @qcode{"No"}, and @qcode{"Cancel"} are
-## used.
-##
-## If only two button captions, @var{btn1} and @var{btn2}, are specified 
-## the dialog will have only these two buttons.
-##
-## @seealso{errordlg, helpdlg, inputdlg, listdlg, warndlg}
-## @end deftypefn
-
-function btn = questdlg (msg, title = "Question Dialog", varargin)
-
-  if (nargin < 1 || nargin > 6)
-    print_usage ();
-  endif
-  
-  if (! ischar (msg))
-    if (iscell (msg))
-      msg = sprintf ("%s\n", msg{:});
-      msg(end) = "";
-    else
-      error ("questdlg: MSG must be a character string or cellstr array");
-    endif
-  endif
-
-  if (! ischar (title))
-    error ("questdlg: TITLES must be a character string");
-  endif
-
-  options{1} = "Yes";      # button1
-  options{2} = "No";       # button2
-  options{3} = "Cancel";   # button3
-  options{4} = "Yes";      # default
-
-  defbtn_error_msg = "questdlg: DEFAULT must match one of the button options";
-
-  switch (numel (varargin))
-    case 0
-      ## use default default
-
-    case 1
-      ## default button string
-      options{4} = varargin{1};  # default
-      if (! any (strcmp (options{4}, options(1:3))))
-        error (defbtn_error_msg);
-      endif
-
-    case 3
-      ## two buttons and default button string
-      options{1} = varargin{1};  # button1
-      options{2} = "";           # not used, no middle button
-      options{3} = varargin{2};  # button3
-      options{4} = varargin{3};  # default
-      if (! any (strcmp (options{4}, options([1 3]))))
-        error (defbtn_error_msg);
-      endif
-
-    case 4
-      ## three buttons and default button string
-      options{1} = varargin{1};  # button1
-      options{2} = varargin{2};  # button2
-      options{3} = varargin{3};  # button3
-      options{4} = varargin{4};  # default
-      if (! any (strcmp (options{4}, options(1:3))))
-        error (defbtn_error_msg);
-      endif
-
-    otherwise
-      print_usage ();
-
-  endswitch
-
-  if (__octave_link_enabled__ ())
-    btn = __octave_link_question_dialog__ (msg, title, options{1}, options{2},
-                                           options{3}, options{4});
-  elseif (__have_feature__ ("JAVA"))
-    btn = javaMethod ("questdlg", "org.octave.JDialogBox", msg,
-                      title, options);
-  else
-    error ("questdlg is not available in this version of Octave");
-  endif
-
-endfunction
-
-
-%!demo
-%! disp ('- test questdlg with two buttons');
-%! a = questdlg ('Would you like some free money?',...
-%!               '$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $',...
-%!               'No', 'Cancel', 'Cancel');
-%! if (strcmp (a, 'No'))
-%!   msgbox ('Suit yourself.', 'Message Box');
-%! endif
-
-%!demo
-%! disp ('- test questdlg with message and title only.');
-%! a = 'No';
-%! c = 0;
-%! while (strcmp (a, 'No') || !c)
-%!   a = questdlg ('Close this Question Dialog?', 'Reductio Ad Absurdum');
-%!   if (strcmp (a, 'Yes'))
-%!     q = 'Are you sure?';
-%!     while (strcmp (a, 'Yes') && !c)
-%!       a = questdlg (q, 'Reductio Ad Absurdum');
-%!       word = ' really';
-%!       i = strfind (q, word);
-%!       if (isempty (i))
-%!         i = strfind (q, ' sure');
-%!         q = [q '!'];
-%!       else
-%!         word = [word ','];
-%!       endif
-%!       q = [q(1:i-1) word q(i:end)];
-%!     endwhile
-%!   endif
-%!   if (strcmp (a, 'Cancel'))
-%!     warndlg ('Answer "Yes" or "No".', 'Warning Dialog');
-%!     a = 'No';
-%!     c = 1;
-%!   endif
-%! endwhile
-%! msgbox ('Whew!');
-
-%!demo
-%! disp ('- test questdlg with five inputs');
-%! ans = questdlg ('Are you ready Steve?', 'Brian', 'No', 'Uh huh', 'Uh huh');
-%! if (! strcmp (ans, 'No'))
-%!   ans = questdlg ('Andy?', 'Brian', 'No', 'Yeah', 'Yeah');
-%!   if (! strcmp (ans, 'No'))
-%!     ans = questdlg ('Mick?', 'Brian', 'No', 'Okay', 'Okay');
-%!     if (! strcmp (ans, 'No'))
-%!       ans = msgbox ("Well all right, fellas.    \n\n     Let''s GO!!!!!",...
-%!                     'Ballroom Blitz', 'none');
-%!     endif
-%!   endif
-%! endif
-
--- a/scripts/ui/warndlg.m	Mon Oct 14 17:16:36 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-## Copyright (C) 2010 Martin Hepperle
-##
-## This file is part of Octave.
-##
-## Octave is free software; you can redistribute it and/or modify it
-## under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or (at
-## your option) any later version.
-##
-## Octave is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with Octave; see the file COPYING.  If not, see
-## <http://www.gnu.org/licenses/>.
-
-## -*- texinfo -*-
-## @deftypefn  {Function File} {@var{h} =} warndlg (@var{msg})
-## @deftypefnx {Function File} {@var{h} =} warndlg (@var{msg}, @var{title})
-## Display @var{msg} using a warning dialog box. 
-##
-## The message may have multiple lines separated by newline characters
-## ("\n"), or it may be a cellstr array with one element for each
-## line.  The optional input @var{title} (character string) can be used to
-## set the dialog caption.  The default title is @qcode{"Warning Dialog"}.
-##
-## @seealso{helpdlg, inputdlg, listdlg, questdlg}
-## @end deftypefn
-
-function retval = warndlg (msg, title = "Warning Dialog")
-
-  if (nargin < 1 || nargin > 2)
-    print_usage ();
-  endif
-
-  retval = message_dialog ("warndlg", msg, title, "warn");
-
-endfunction
-
-
-%!demo
-%! disp ('- test warndlg with prompt only.');
-%! warndlg ('Oh, a warning occured');
-
-%!demo
-%! disp ('- test warndlg with prompt and caption.');
-%! warndlg ('Oh, No...','This is the last Warning');
-
--- a/src/Makefile.am	Mon Oct 14 17:16:36 2013 -0400
+++ b/src/Makefile.am	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 # Makefile for Octave's src directory
 #
-# Copyright (C) 1993-2012 John W. Eaton
+# Copyright (C) 1993-2013 John W. Eaton
 #
 # This file is part of Octave.
 #
--- a/src/main-cli.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/src/main-cli.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 John W. Eaton
+Copyright (C) 2012-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/src/main.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/src/main.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2012 John W. Eaton
+Copyright (C) 2012-2013 John W. Eaton
 
 This file is part of Octave.
 
--- a/src/mkoctfile.in.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/src/mkoctfile.in.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Michael Goffioul
+Copyright (C) 2008-2013 Michael Goffioul
 
 This file is part of Octave.
 
--- a/src/mkoctfile.in.sh	Mon Oct 14 17:16:36 2013 -0400
+++ b/src/mkoctfile.in.sh	Wed Oct 23 22:29:06 2013 -0400
@@ -3,7 +3,7 @@
 ## mkoctfile -- create a .oct file suitable for dynamic linking by
 ## Octave.
 ##
-## Copyright (C) 1996-2012 John W. Eaton
+## Copyright (C) 1996-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/src/octave-config.in.cc	Mon Oct 14 17:16:36 2013 -0400
+++ b/src/octave-config.in.cc	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2008-2012 Michael Goffioul
+Copyright (C) 2008-2013 Michael Goffioul
 
 This file is part of Octave.
 
--- a/src/octave-config.in.sh	Mon Oct 14 17:16:36 2013 -0400
+++ b/src/octave-config.in.sh	Wed Oct 23 22:29:06 2013 -0400
@@ -2,7 +2,7 @@
 ##
 ## octave-config - reports some configuration values for Octave
 ##
-## Copyright (C) 2001-2012 John W. Eaton
+## Copyright (C) 2001-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
@@ -57,36 +57,37 @@
 PREFIX=%OCTAVE_PREFIX%
 STARTUPFILEDIR=%OCTAVE_STARTUPFILEDIR%
 VERSION=%OCTAVE_VERSION%
+SED=%SED%
 
 if [ -n "$OCTAVE_HOME" ]; then
-  ARCHLIBDIR="`echo $ARCHLIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  BINDIR="`echo $BINDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  DATADIR="`echo $DATADIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  DATAROOTDIR="`echo $DATAROOTDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  EXEC_PREFIX="`echo $EXEC_PREFIX | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  FCNFILEDIR="`echo $FCNFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  IMAGEDIR="`echo $IMAGEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  INCLUDEDIR="`echo $INCLUDEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  INFODIR="`echo $INFODIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  INFOFILE="`echo $INFOFILE | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  LIBDIR="`echo $LIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  LIBEXECDIR="`echo $LIBEXECDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  LOCALAPIARCHLIBDIR="`echo $LOCALAPIARCHLIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  LOCALAPIFCNFILEDIR="`echo $LOCALAPIFCNFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  LOCALAPIOCTFILEDIR="`echo $LOCALAPIOCTFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  LOCALARCHLIBDIR="`echo $LOCALARCHLIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  LOCALFCNFILEDIR="`echo $LOCALFCNFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  LOCALOCTFILEDIR="`echo $LOCALOCTFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  LOCALSTARTUPFILEDIR="`echo $LOCALSTARTUPFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  LOCALVERARCHLIBDIR="`echo $LOCALVERARCHLIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  LOCALVERFCNFILEDIR="`echo $LOCALVERFCNFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  LOCALVEROCTFILEDIR="`echo $LOCALVEROCTFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  MAN1DIR="`echo $MAN1DIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  MANDIR="`echo $MANDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  OCTFILEDIR="`echo $OCTFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  OCTINCLUDEDIR="`echo $OCTINCLUDEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  OCTLIBDIR="`echo $OCTLIBDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
-  STARTUPFILEDIR="`echo $STARTUPFILEDIR | sed "s,^$PREFIX,$OCTAVE_HOME,"`"
+  ARCHLIBDIR="`echo $ARCHLIBDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  BINDIR="`echo $BINDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  DATADIR="`echo $DATADIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  DATAROOTDIR="`echo $DATAROOTDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  EXEC_PREFIX="`echo $EXEC_PREFIX | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  FCNFILEDIR="`echo $FCNFILEDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  IMAGEDIR="`echo $IMAGEDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  INCLUDEDIR="`echo $INCLUDEDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  INFODIR="`echo $INFODIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  INFOFILE="`echo $INFOFILE | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  LIBDIR="`echo $LIBDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  LIBEXECDIR="`echo $LIBEXECDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  LOCALAPIARCHLIBDIR="`echo $LOCALAPIARCHLIBDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  LOCALAPIFCNFILEDIR="`echo $LOCALAPIFCNFILEDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  LOCALAPIOCTFILEDIR="`echo $LOCALAPIOCTFILEDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  LOCALARCHLIBDIR="`echo $LOCALARCHLIBDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  LOCALFCNFILEDIR="`echo $LOCALFCNFILEDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  LOCALOCTFILEDIR="`echo $LOCALOCTFILEDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  LOCALSTARTUPFILEDIR="`echo $LOCALSTARTUPFILEDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  LOCALVERARCHLIBDIR="`echo $LOCALVERARCHLIBDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  LOCALVERFCNFILEDIR="`echo $LOCALVERFCNFILEDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  LOCALVEROCTFILEDIR="`echo $LOCALVEROCTFILEDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  MAN1DIR="`echo $MAN1DIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  MANDIR="`echo $MANDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  OCTFILEDIR="`echo $OCTFILEDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  OCTINCLUDEDIR="`echo $OCTINCLUDEDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  OCTLIBDIR="`echo $OCTLIBDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
+  STARTUPFILEDIR="`echo $STARTUPFILEDIR | $SED "s,^$PREFIX,$OCTAVE_HOME,"`"
 
   PREFIX="$OCTAVE_HOME"
 fi
--- a/test/Makefile.am	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/Makefile.am	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 # Makefile for Octave's test directory
 #
-# Copyright (C) 1994-2012 John W. Eaton
+# Copyright (C) 1994-2013 John W. Eaton
 #
 # This file is part of Octave.
 # 
--- a/test/args.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/args.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/build-bc-overload-tests.sh	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/build-bc-overload-tests.sh	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# Copyright (C) 2010-2012 VZLU Prague
+# Copyright (C) 2010-2013 VZLU Prague
 #
 # This file is part of Octave.
 # 
--- a/test/build-sparse-tests.sh	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/build-sparse-tests.sh	Wed Oct 23 22:29:06 2013 -0400
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Copyright (C) 2006-2012 David Bateman
+# Copyright (C) 2006-2013 David Bateman
 #
 # This file is part of Octave.
 # 
--- a/test/classes/classes.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/classes/classes.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,5 +1,5 @@
 ## Copyright (C) 2013 Julien Bect
-## Copyright (C) 2009-2012 Robert T. Short
+## Copyright (C) 2009-2013 Robert T. Short
 ##
 ## This file is part of Octave.
 ##
--- a/test/ctor-vs-method/ctor-vs-method.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/ctor-vs-method/ctor-vs-method.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/diag-perm.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/diag-perm.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2009-2012 E. Jason Riedy
+## Copyright (C) 2009-2013 E. Jason Riedy
 ##
 ## This file is part of Octave.
 ##
--- a/test/error.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/error.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/eval-catch.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/eval-catch.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/fcn-handle-derived-resolution/fcn-handle-derived-resolution.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/fcn-handle-derived-resolution/fcn-handle-derived-resolution.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 John W. Eaton
+## Copyright (C) 2012-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/fntests.m	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/fntests.m	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2005-2012 David Bateman
+## Copyright (C) 2005-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/test/for.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/for.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/func.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/func.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 David Bateman
+## Copyright (C) 2008-2013 David Bateman
 ##
 ## This file is part of Octave.
 ##
--- a/test/global.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/global.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/if.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/if.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/index.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/index.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/io.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/io.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/jit.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/jit.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Max Brister
+## Copyright (C) 2012-2013 Max Brister
 ## 
 ## This file is part of Octave.
 ## 
--- a/test/line-continue.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/line-continue.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
@@ -26,6 +26,9 @@
 %! b];
 %! assert (y, x);
 
+## FIXME: Next 3 tests use '\' continuation outside of a double-quoted string
+##        This behavior is deprecated and will be removed at some point.
+##        When it does these 
 %!test
 %! x = [1;2];
 %! y = [a... # comments here ok
@@ -51,6 +54,10 @@
 %!
 %!assert (f (), 1)
 
+# String continuation using '\'
+%!assert (["abc\
+%! def"], "abc def")
+
 %!test
 %!assert (1 == 1
 %! && 2 == 2
--- a/test/logical-index.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/logical-index.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/nest/nest.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/nest/nest.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/null-assign.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/null-assign.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2008-2012 Jaroslav Hajek
+## Copyright (C) 2008-2013 Jaroslav Hajek
 ##
 ## This file is part of Octave.
 ##
--- a/test/parser.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/parser.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2010-2012 John W. Eaton
+## Copyright (C) 2010-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/prefer.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/prefer.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/range.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/range.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 John W. Eaton
+## Copyright (C) 2007-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/recursion.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/recursion.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/return.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/return.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/slice.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/slice.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2007-2012 John W. Eaton
+## Copyright (C) 2007-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/struct.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/struct.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/switch.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/switch.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/system.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/system.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/transpose.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/transpose.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/try.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/try.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/unwind.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/unwind.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##
--- a/test/while.tst	Mon Oct 14 17:16:36 2013 -0400
+++ b/test/while.tst	Wed Oct 23 22:29:06 2013 -0400
@@ -1,4 +1,4 @@
-## Copyright (C) 2006-2012 John W. Eaton
+## Copyright (C) 2006-2013 John W. Eaton
 ##
 ## This file is part of Octave.
 ##