Hello community,

here is the log from the commit of package octave-forge-struct for 
openSUSE:Factory checked in at 2019-07-21 11:34:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/octave-forge-struct (Old)
 and      /work/SRC/openSUSE:Factory/.octave-forge-struct.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "octave-forge-struct"

Sun Jul 21 11:34:47 2019 rev:6 rq:717104 version:1.0.16

Changes:
--------
--- /work/SRC/openSUSE:Factory/octave-forge-struct/octave-forge-struct.changes  
2019-03-26 15:41:10.364282797 +0100
+++ 
/work/SRC/openSUSE:Factory/.octave-forge-struct.new.4126/octave-forge-struct.changes
        2019-07-21 11:34:48.396772613 +0200
@@ -1,0 +2,9 @@
+Tue Jul 16 11:50:39 UTC 2019 - Atri Bhattacharya <badshah...@gmail.com>
+
+- Update to version 1.0.16:
+  * Build fixes. Builds with Octave 5.1
+- Drop release-current-tip.diff, incorporated into upstream
+  sources; also drop automake and autoconf BuildRequires which
+  were only needed because of the patch.
+
+-------------------------------------------------------------------

Old:
----
  release-current-tip.diff
  struct-1.0.15.tar.gz

New:
----
  struct-1.0.16.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ octave-forge-struct.spec ++++++
--- /var/tmp/diff_new_pack.eJ5480/_old  2019-07-21 11:34:48.932772516 +0200
+++ /var/tmp/diff_new_pack.eJ5480/_new  2019-07-21 11:34:48.932772516 +0200
@@ -18,17 +18,13 @@
 
 %define octpkg  struct
 Name:           octave-forge-%{octpkg}
-Version:        1.0.15
+Version:        1.0.16
 Release:        0
 Summary:        Additional Structure manipulations functions for Octave
 License:        GPL-3.0-or-later
 Group:          Productivity/Scientific/Math
 Url:            http://octave.sourceforge.net
 Source0:        
http://downloads.sourceforge.net/octave/%{octpkg}-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM - Fix building with current octave
-Patch0:         release-current-tip.diff
-BuildRequires:  autoconf
-BuildRequires:  automake
 BuildRequires:  gcc-c++
 BuildRequires:  hdf5-devel
 BuildRequires:  octave-devel
@@ -40,10 +36,6 @@
 
 %prep
 %setup -q -c %{name}-%{version}
-pushd %{octpkg}-%{version}
-%patch0 -p1
-cd src && ./bootstrap
-popd
 %octave_pkg_src
 
 %build

++++++ struct-1.0.15.tar.gz -> struct-1.0.16.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/DESCRIPTION 
new/struct-1.0.16/DESCRIPTION
--- old/struct-1.0.15/DESCRIPTION       2018-05-11 10:42:06.436266669 +0200
+++ new/struct-1.0.16/DESCRIPTION       2019-03-12 16:27:04.334828863 +0100
@@ -1,11 +1,11 @@
 Name: struct
-Version: 1.0.15
-Date: 2018-05-11
+Version: 1.0.16
+Date: 2019-03-12
 Author: Etienne Grossmann <etie...@egdn.net>, Olaf Till <i7t...@t-online.de>
 Maintainer: Olaf Till <i7t...@t-online.de>
 Title: Structure Handling.
 Description: Additional structure manipulation functions.
 Categories: Structs
-Depends: octave (>= 2.9.7)
+Depends: octave (>= 4.0.0)
 Autoload: no
 License: GPLv3+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/Makefile new/struct-1.0.16/Makefile
--- old/struct-1.0.15/Makefile  2018-05-11 10:42:06.436266669 +0200
+++ new/struct-1.0.16/Makefile  2019-03-12 16:27:04.334828863 +0100
@@ -212,14 +212,10 @@
 
 ## Test package.
 octave_test_commands = \
-' dirs = {"inst", "src"}; \
-  dirs(cellfun (@ (x) ! isdir (x), dirs)) = []; \
-  if (isempty (dirs)) error ("no \"inst\" or \"src\" directory"); exit (1); \
-    else __run_test_suite__ (dirs, {}); endif '
-## the following works, too, but provides no overall summary output as
-## __run_test_suite__ does:
-##
-##    else cellfun (@runtests, horzcat (cellfun (@ (dir) ostrsplit (([~, dirs] 
= system (sprintf ("find %s -type d", dir))), "\n\r", true), dirs, 
"UniformOutput", false){:})); endif '
+' args = {"inst", "src"}; \
+  args(cellfun (@ (x) isempty (a = stat (x)) || ! S_ISDIR (a.mode), args)) = 
[]; \
+  if (isempty (args)) error ("no \"inst\" or \"src\" directory"); exit (1); \
+    else cellfun(@runtests, args); endif '
 check: $(install_stamp)
        $(run_in_place) --eval $(octave_test_commands)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/NEWS new/struct-1.0.16/NEWS
--- old/struct-1.0.15/NEWS      2018-05-11 10:42:06.436266669 +0200
+++ new/struct-1.0.16/NEWS      2019-03-12 16:27:04.334828863 +0100
@@ -1,3 +1,8 @@
+Summary of important user-visible changes for struct 1.0.16:
+-------------------------------------------------------------------
+
+ ** Build fixes. Builds with Octave 5.1.
+
 Summary of important user-visible changes for struct 1.0.15:
 -------------------------------------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/inst/getfields.m 
new/struct-1.0.16/inst/getfields.m
--- old/struct-1.0.15/inst/getfields.m  2018-05-11 10:42:06.436266669 +0200
+++ new/struct-1.0.16/inst/getfields.m  2019-03-12 16:27:04.334828863 +0100
@@ -1,5 +1,5 @@
 ## Copyright (C) 2000 Etienne Grossmann <etie...@egdn.net>
-## Copyright (C) 2012-2018 Olaf Till <i7t...@t-online.de>
+## Copyright (C) 2012-2019 Olaf Till <i7t...@t-online.de>
 ##
 ## 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 the Free 
Software
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/inst/setfields.m 
new/struct-1.0.16/inst/setfields.m
--- old/struct-1.0.15/inst/setfields.m  2018-05-11 10:42:06.436266669 +0200
+++ new/struct-1.0.16/inst/setfields.m  2019-03-12 16:27:04.334828863 +0100
@@ -1,6 +1,6 @@
 ## Copyright (C) 2000 Etienne Grossmann <etie...@egdn.net>
 ## Copyright (C) 2000 Paul Kienzle <pkien...@users.sf.net>
-## Copyright (C) 2012-2016 Olaf Till <i7t...@t-online.de>
+## Copyright (C) 2012-2019 Olaf Till <i7t...@t-online.de>
 ##
 ## 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 the Free 
Software
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/inst/tars.m 
new/struct-1.0.16/inst/tars.m
--- old/struct-1.0.15/inst/tars.m       2018-05-11 10:42:06.440266748 +0200
+++ new/struct-1.0.16/inst/tars.m       2019-03-12 16:27:04.334828863 +0100
@@ -1,5 +1,5 @@
 ## Copyright (C) 2000 Etienne Grossmann <etie...@egdn.net>
-## Copyright (C) 2012-2016 Olaf Till <i7t...@t-online.de>
+## Copyright (C) 2012-2019 Olaf Till <i7t...@t-online.de>
 ##
 ## 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 the Free 
Software
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/src/Makefile.in 
new/struct-1.0.16/src/Makefile.in
--- old/struct-1.0.15/src/Makefile.in   2018-05-11 10:42:06.440266748 +0200
+++ new/struct-1.0.16/src/Makefile.in   2019-03-12 16:27:04.334828863 +0100
@@ -1,6 +1,6 @@
 # Makefile for struct package for Octave
 #
-# Copyright (C) 2016 Olaf Till <i7t...@t-online.de>
+# Copyright (C) 2016-2019 Olaf Till <i7t...@t-online.de>
 #
 # 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
@@ -17,18 +17,15 @@
 
 
 # Uncomment this for a release.
-RELEASE := yes
+# RELEASE := yes
 ifdef RELEASE
-# Currently this avoids warnings due to introduction of Octave
-# namespaces in Octave-4.1.0+. If the deprecated versions will be
-# available long enough, we could get away with just suppressing the
-# warnings.
-RELEASE_CXXFLAGS = -Wno-deprecated-declarations
+# Currently this does nothing.
+RELEASE_CXXFLAGS =
 endif
 
 MKOCTFILE ?= @MKOCTFILE@
 ifndef CXXFLAGS
-CXXFLAGS := $(shell $(MKOCTFILE) -p CXXFLAGS)
+CXXFLAGS := $(shell $(MKOCTFILE) -p CXXFLAGS) -Wall
 endif
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/src/aclocal.m4 
new/struct-1.0.16/src/aclocal.m4
--- old/struct-1.0.15/src/aclocal.m4    1970-01-01 01:00:00.000000000 +0100
+++ new/struct-1.0.16/src/aclocal.m4    2019-03-12 16:27:05.566853087 +0100
@@ -0,0 +1,15 @@
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
+
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], 
[])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+m4_include([m4/octave-forge.m4])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/src/bootstrap 
new/struct-1.0.16/src/bootstrap
--- old/struct-1.0.15/src/bootstrap     2018-05-11 10:42:06.440266748 +0200
+++ new/struct-1.0.16/src/bootstrap     2019-03-12 16:27:04.334828863 +0100
@@ -1,3 +1,7 @@
 #! /bin/sh
 
+aclocal
+
 autoconf
+
+autoheader -f
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/src/cell2fields.cc 
new/struct-1.0.16/src/cell2fields.cc
--- old/struct-1.0.15/src/cell2fields.cc        2018-05-11 10:42:06.440266748 
+0200
+++ new/struct-1.0.16/src/cell2fields.cc        2019-03-12 16:27:04.338828942 
+0100
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2016 Olaf Till
+Copyright (C) 2010-2019 Olaf Till <i7t...@t-online.de>
 
 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
@@ -56,7 +56,7 @@
       return err_retval;
     }
 
-  octave_idx_type dim;
+  octave_idx_type dim = 0;
   CHECK_ERROR (dim = args(2).int_value (), err_retval,
                "%s: third argument must be an integer", fname.c_str ());
 
@@ -148,3 +148,17 @@
 
   return octave_value (retval);
 }
+
+/*
+%!test
+%! a(1, 1).a = 1;
+%! a(2, 1).a = 2;
+%! a(1, 1).b = 3;
+%! b = a;
+%! b(1, 1).b = 5;
+%! b(2, 1).b = 6;
+%! b(1, 1).c = 7;
+%! b(2, 1).c = 8;
+%! c = {5, 7; 6, 8};
+%! assert (cell2fields (c, {"b", "c"}, 2, a), b)
+*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/src/config.h.in 
new/struct-1.0.16/src/config.h.in
--- old/struct-1.0.15/src/config.h.in   2018-05-11 10:42:06.440266748 +0200
+++ new/struct-1.0.16/src/config.h.in   2019-03-12 16:27:06.182865198 +0100
@@ -1,6 +1,72 @@
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+#include "undef-ah-octave.h"
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
 /* Define as 1 if liboctinterp is old enough to provide error_state. */
 #undef HAVE_OCTAVE_ERROR_STATE
 
-/* Define as 1 if liboctinterp has
-'verror (octave_execution_exception&, const char *, va_list)'. */
+/* Define as 1 if liboctinterp has 'verror (octave(_|::)execution_exception&,
+   const char *, va_list)'. */
 #undef HAVE_OCTAVE_VERROR_ARG_EXC
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if the system has the type `_Bool'. */
+#undef HAVE__BOOL
+
+/* macro for alternative Octave symbols */
+#undef OCTAVE__EXECUTION_EXCEPTION
+
+/* macro for alternative Octave symbols */
+#undef OCTAVE__VFORMAT
+
+/* macro for alternative Octave symbols */
+#undef OV_ISSTRUCT
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+#include "oct-alt-includes.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/src/configure 
new/struct-1.0.16/src/configure
--- old/struct-1.0.15/src/configure     2018-05-11 10:42:06.780273366 +0200
+++ new/struct-1.0.16/src/configure     2019-03-12 16:27:05.894859535 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for struct 1.0.15.
+# Generated by GNU Autoconf 2.69 for struct 1.0.16.
 #
 # Report bugs to <i7t...@t-online.de>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='struct'
 PACKAGE_TARNAME='struct'
-PACKAGE_VERSION='1.0.15'
-PACKAGE_STRING='struct 1.0.15'
+PACKAGE_VERSION='1.0.16'
+PACKAGE_STRING='struct 1.0.16'
 PACKAGE_BUGREPORT='i7t...@t-online.de'
 PACKAGE_URL=''
 
@@ -1245,7 +1245,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures struct 1.0.15 to adapt to many kinds of systems.
+\`configure' configures struct 1.0.16 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1307,7 +1307,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of struct 1.0.15:";;
+     short | recursive ) echo "Configuration of struct 1.0.16:";;
    esac
   cat <<\_ACEOF
 
@@ -1389,7 +1389,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-struct configure 1.0.15
+struct configure 1.0.16
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1738,7 +1738,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by struct $as_me 1.0.15, which was
+It was created by struct $as_me 1.0.16, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2090,6 +2090,12 @@
 ac_config_headers="$ac_config_headers config.h"
 
 
+# Avoid warnings for redefining AH-generated preprocessor symbols of
+# Octave.
+
+
+
+
 # Checks for programs.
 # Extract the first word of "mkoctfile", so it can be a program name with args.
 set dummy mkoctfile; ac_word=$2
@@ -3858,13 +3864,14 @@
 }
 _ACEOF
 if ac_fn_cxx_try_link "$LINENO"; then :
-  $as_echo "#define HAVE_OCTAVE_ERROR_STATE 1" >>confdefs.h
+
+$as_echo "#define HAVE_OCTAVE_ERROR_STATE 1" >>confdefs.h
 
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 
-## Presence of 'verror (octave_execution_exception&, const char *,
+## Presence of 'verror (octave(_|::)execution_exception&, const char *,
 ## va_list)'
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -3879,12 +3886,151 @@
   return 0;
 }
 _ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  $as_echo "#define HAVE_OCTAVE_VERROR_ARG_EXC 1" >>confdefs.h
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+$as_echo "#define HAVE_OCTAVE_VERROR_ARG_EXC 1" >>confdefs.h
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <octave/oct.h>
+int
+main ()
+{
+octave::execution_exception e;
+                      va_list args;
+                      verror (e, "test", args);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+$as_echo "#define HAVE_OCTAVE_VERROR_ARG_EXC 1" >>confdefs.h
 
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+## Simple symbol alternatives of different Octave versions.
+
+
+echo '/* generated by configure */' > oct-alt-includes.h
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking   is_map or isstruct" >&5
+$as_echo_n "checking   is_map or isstruct... " >&6; }
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <octave/oct.h>
+
+
+int
+main ()
+{
+octave_value ().isstruct ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+$as_echo "#define OV_ISSTRUCT isstruct" >>confdefs.h
+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: isstruct" >&5
+$as_echo "isstruct" >&6; }
+     echo '
+' >> oct-alt-includes.h
+else
+
+$as_echo "#define OV_ISSTRUCT   is_map" >>confdefs.h
+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result:   is_map" >&5
+$as_echo "  is_map" >&6; }
+     echo '' >> oct-alt-includes.h
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking   octave_vformat or 
octave::vformat" >&5
+$as_echo_n "checking   octave_vformat or octave::vformat... " >&6; }
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <octave/oct.h>
+
+
+int
+main ()
+{
+std::ostringstream obuf;
+   va_list args;
+   octave::vformat (obuf, "dummy", args);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+$as_echo "#define OCTAVE__VFORMAT octave::vformat" >>confdefs.h
+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: octave::vformat" >&5
+$as_echo "octave::vformat" >&6; }
+     echo '
+' >> oct-alt-includes.h
+else
+
+$as_echo "#define OCTAVE__VFORMAT   octave_vformat" >>confdefs.h
+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result:   octave_vformat" >&5
+$as_echo "  octave_vformat" >&6; }
+     echo '' >> oct-alt-includes.h
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking   octave_execution_exception 
or octave::execution_exception" >&5
+$as_echo_n "checking   octave_execution_exception or 
octave::execution_exception... " >&6; }
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <octave/oct.h>
+
+
+
+
+int
+main ()
+{
+octave::execution_exception ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+$as_echo "#define OCTAVE__EXECUTION_EXCEPTION octave::execution_exception" 
>>confdefs.h
+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 
octave::execution_exception" >&5
+$as_echo "octave::execution_exception" >&6; }
+     echo '
+
+
+' >> oct-alt-includes.h
+else
+
+$as_echo "#define OCTAVE__EXECUTION_EXCEPTION   octave_execution_exception" 
>>confdefs.h
+
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result:   
octave_execution_exception" >&5
+$as_echo "  octave_execution_exception" >&6; }
+     echo '' >> oct-alt-includes.h
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+
+
+
 
 LIBS=$TLIBS
 LDFLAGS=$TLDFLAGS
@@ -4406,7 +4552,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by struct $as_me 1.0.15, which was
+This file was extended by struct $as_me 1.0.16, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -4468,7 +4614,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-struct config.status 1.0.15
+struct config.status 1.0.16
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/src/configure.ac 
new/struct-1.0.16/src/configure.ac
--- old/struct-1.0.15/src/configure.ac  2018-05-11 10:42:06.440266748 +0200
+++ new/struct-1.0.16/src/configure.ac  2019-03-12 16:27:04.338828942 +0100
@@ -1,7 +1,7 @@
 #                                               -*- Autoconf -*-
 # Process this file with autoconf to produce a configure script.
 #
-### Copyright (C) 2015-2018 Olaf Till <i7t...@t-online.de>
+### Copyright (C) 2015-2019 Olaf Till <i7t...@t-online.de>
 ###
 ### This program is free software; you can redistribute it and/or
 ### modify it under the terms of the GNU General Public License as
@@ -18,10 +18,16 @@
 ### <http://www.gnu.org/licenses/>.
 
 AC_PREREQ([2.62])
-AC_INIT([struct], [1.0.15], [i7t...@t-online.de])
+AC_INIT([struct], [1.0.16], [i7t...@t-online.de])
 AC_CONFIG_SRCDIR([cell2fields.cc])
 AC_CONFIG_HEADERS([config.h])
 
+# Avoid warnings for redefining AH-generated preprocessor symbols of
+# Octave.
+AH_TOP([#include "undef-ah-octave.h"])
+
+AC_CONFIG_MACRO_DIRS([m4])
+
 # Checks for programs.
 AC_CHECK_PROG(MKOCTFILE, mkoctfile, mkoctfile)
 if test -z "$MKOCTFILE"; then
@@ -72,16 +78,59 @@
   [AC_LANG_PROGRAM([[#include <octave/oct.h>]
                     [#include <stdio.h>]],
                    [[printf ("%i", error_state);]])],
-  [AC_DEFINE([HAVE_OCTAVE_ERROR_STATE], 1)])
+  [AC_DEFINE([HAVE_OCTAVE_ERROR_STATE], 1,
+    [Define as 1 if liboctinterp is old enough to provide error_state.])])
 
-## Presence of 'verror (octave_execution_exception&, const char *,
+## Presence of 'verror (octave(_|::)execution_exception&, const char *,
 ## va_list)'
-AC_LINK_IFELSE(
+AC_COMPILE_IFELSE(
   [AC_LANG_PROGRAM([[#include <octave/oct.h>]],
                    [[octave_execution_exception e;]
                     [va_list args;]
                     [verror (e, "test", args);]])],
-  [AC_DEFINE([HAVE_OCTAVE_VERROR_ARG_EXC], 1)])
+  [AC_DEFINE([HAVE_OCTAVE_VERROR_ARG_EXC], 1,
+    [Define as 1 if liboctinterp has 'verror 
(octave(_|::)execution_exception&, const char *, va_list)'.])],
+  [AC_COMPILE_IFELSE(
+    [AC_LANG_PROGRAM([[#include <octave/oct.h>]],
+                     [[octave::execution_exception e;]
+                      [va_list args;]
+                      [verror (e, "test", args);]])],
+    [AC_DEFINE([HAVE_OCTAVE_VERROR_ARG_EXC], 1,
+      [Define as 1 if liboctinterp has 'verror 
(octave(_|::)execution_exception&, const char *, va_list)'.])])])
+
+## Simple symbol alternatives of different Octave versions.
+OF_OCTAVE_LIST_ALT_SYMS([
+[dnl
+  [is_map],
+  [isstruct],
+  [[octave_value ().isstruct ();]],
+  [OV_ISSTRUCT],
+  [],
+  []
+],
+
+[dnl
+  [octave_vformat],
+  [octave::vformat],
+  [[std::ostringstream obuf;]
+   [va_list args;]
+   [octave::vformat (obuf, "dummy", args);]],
+  [OCTAVE__VFORMAT],
+  [],
+  []
+],
+
+[dnl
+  [octave_execution_exception],
+  [octave::execution_exception],
+  [[octave::execution_exception ();]],
+  [OCTAVE__EXECUTION_EXCEPTION],
+  [],
+  []
+]
+
+],
+   [oct-alt-includes.h])
 
 LIBS=$TLIBS
 LDFLAGS=$TLDFLAGS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/src/error-helpers.cc 
new/struct-1.0.16/src/error-helpers.cc
--- old/struct-1.0.15/src/error-helpers.cc      2018-05-11 10:42:06.440266748 
+0200
+++ new/struct-1.0.16/src/error-helpers.cc      2019-03-12 16:27:04.338828942 
+0100
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2016, 2017 Olaf Till <i7t...@t-online.de>
+Copyright (C) 2016-2019 Olaf Till <i7t...@t-online.de>
 
 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
@@ -24,7 +24,7 @@
 // call verror
 #ifdef HAVE_OCTAVE_VERROR_ARG_EXC
 void
-c_verror (octave_execution_exception& e, const char *fmt, ...)
+c_verror (OCTAVE__EXECUTION_EXCEPTION& e, const char *fmt, ...)
 {
   va_list args;
   va_start (args, fmt);
@@ -33,7 +33,7 @@
 }
 #else
 void
-c_verror (const octave_execution_exception&, const char *fmt, ...)
+c_verror (const OCTAVE__EXECUTION_EXCEPTION&, const char *fmt, ...)
 {
   va_list args;
   va_start (args, fmt);
@@ -50,7 +50,7 @@
 
   std::ostringstream output_buf;
 
-  octave_vformat (output_buf, fmt, args);
+  OCTAVE__VFORMAT (output_buf, fmt, args);
 
   std::string msg = output_buf.str ();
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/src/error-helpers.h 
new/struct-1.0.16/src/error-helpers.h
--- old/struct-1.0.15/src/error-helpers.h       2018-05-11 10:42:06.440266748 
+0200
+++ new/struct-1.0.16/src/error-helpers.h       2019-03-12 16:27:04.338828942 
+0100
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2016, 2017 Olaf Till <i7t...@t-online.de>
+Copyright (C) 2016-2019 Olaf Till <i7t...@t-online.de>
 
 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
@@ -19,6 +19,8 @@
 
 #include "config.h"
 
+#include <iostream>
+
 // Octaves non-static verror functions: The elder all set error_state,
 // the newer, present from the time on at which error started to throw
 // an exception, all throw, too.
@@ -26,9 +28,9 @@
 // call verror, for _linking_ also against Octave versions who have no
 // verror() with these arguments
 #ifdef HAVE_OCTAVE_VERROR_ARG_EXC
-void c_verror (octave_execution_exception&, const char *, ...);
+void c_verror (OCTAVE__EXECUTION_EXCEPTION&, const char *, ...);
 #else
-void c_verror (const octave_execution_exception&, const char *, ...);
+void c_verror (const OCTAVE__EXECUTION_EXCEPTION&, const char *, ...);
 #endif
 
 void _p_error (const char *fmt, ...);
@@ -37,7 +39,7 @@
 // both if Octave uses exceptions for errors and if it still uses
 // error_state. In the latter case return 'retval'.
 #ifdef HAVE_OCTAVE_ERROR_STATE
-  // can throw octave_execution_exception despite of this
+  // can throw OCTAVE__EXECUTION_EXCEPTION despite of this
   #define CHECK_ERROR(code, retval, ...)      \
     try \
       { \
@@ -50,7 +52,7 @@
             return retval; \
           } \
       } \
-    catch (octave_execution_exception& e) \
+    catch (OCTAVE__EXECUTION_EXCEPTION& e) \
       { \
         c_verror (e, __VA_ARGS__); \
       }
@@ -60,7 +62,7 @@
       { \
         code ; \
       } \
-    catch (octave_execution_exception& e) \
+    catch (OCTAVE__EXECUTION_EXCEPTION& e) \
       { \
         verror (e, __VA_ARGS__); \
       }
@@ -70,7 +72,7 @@
 // Octave doesn't throw exceptions for errors but still uses
 // error_state.
 #ifdef HAVE_OCTAVE_ERROR_STATE
-  // can throw octave_execution_exception despite of this
+  // can throw OCTAVE__EXECUTION_EXCEPTION despite of this
   #define CHECK_ERROR_EXIT1(code, ...) \
     try \
       { \
@@ -83,7 +85,7 @@
             exit (1); \
           } \
       } \
-    catch (octave_execution_exception&) \
+    catch (OCTAVE__EXECUTION_EXCEPTION&) \
       { \
         _p_error (__VA_ARGS__); \
  \
@@ -95,7 +97,7 @@
       { \
         code ; \
       } \
-    catch (octave_execution_exception&) \
+    catch (OCTAVE__EXECUTION_EXCEPTION&) \
       { \
         _p_error (__VA_ARGS__); \
  \
@@ -107,7 +109,7 @@
 // Octave uses exceptions for errors and if it still uses
 // error_state. In the latter case reset error_state to 0.
 #ifdef HAVE_OCTAVE_ERROR_STATE
-  // can throw octave_execution_exception despite of this
+  // can throw OCTAVE__EXECUTION_EXCEPTION despite of this
   #define SET_ERR(code, err) \
     err = false; \
  \
@@ -120,7 +122,7 @@
             err = true; \
           } \
       } \
-    catch (octave_execution_exception&) \
+    catch (OCTAVE__EXECUTION_EXCEPTION&) \
       { \
         err = true; \
       }
@@ -132,7 +134,7 @@
       { \
         code ; \
       } \
-    catch (octave_execution_exception&) \
+    catch (OCTAVE__EXECUTION_EXCEPTION&) \
       { \
         err = true; \
       }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/src/fieldempty.cc 
new/struct-1.0.16/src/fieldempty.cc
--- old/struct-1.0.15/src/fieldempty.cc 2018-05-11 10:42:06.440266748 +0200
+++ new/struct-1.0.16/src/fieldempty.cc 2019-03-12 16:27:04.338828942 +0100
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2016 Olaf Till
+Copyright (C) 2010-2019 Olaf Till <i7t...@t-online.de>
 
 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
@@ -73,3 +73,7 @@
 
   return octave_value (retval);
 }
+
+/*
+%!assert (fieldempty (cell2struct ({1, []; {}, 4}, "a", 3), "a"), [false, 
true; true, false])
+*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/src/fields2cell.cc 
new/struct-1.0.16/src/fields2cell.cc
--- old/struct-1.0.15/src/fields2cell.cc        2018-05-11 10:42:06.440266748 
+0200
+++ new/struct-1.0.16/src/fields2cell.cc        2019-03-12 16:27:04.338828942 
+0100
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2016 Olaf Till
+Copyright (C) 2010-2019 Olaf Till <i7t...@t-online.de>
 
 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
@@ -95,3 +95,7 @@
 
   return octave_value (retval);
 }
+
+/*
+%!assert (fields2cell (cell2struct ({1, 2; 3, 4}, {"a", "b"}, 1), {"a"}), {1, 
2})
+*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/src/m4/octave-forge.m4 
new/struct-1.0.16/src/m4/octave-forge.m4
--- old/struct-1.0.15/src/m4/octave-forge.m4    1970-01-01 01:00:00.000000000 
+0100
+++ new/struct-1.0.16/src/m4/octave-forge.m4    2019-03-12 16:27:04.338828942 
+0100
@@ -0,0 +1,93 @@
+# Copyright (C) 2017 Olaf Till <i7t...@t-online.de>
+# Modifications to print what is searching for by JohnD
+#
+# 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
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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 this program; if not, see <http://www.gnu.org/licenses/>.
+
+# arguments of OF_OCTAVE_ALT_SYMS (see also description of
+# OF_OCTAVE_LIST_ALT_SYMS below):
+#
+# $1: symbol version 1
+# $2: symbol version 2
+# $3: test for symbol version 2
+# $4: macro name to access alternative symbols
+# $5: include directives for symbol version 1
+# $6: include directives for symbol version 2
+# (a list of lists of args 1--6 is $1 of OF_OCTAVE_LIST_ALT_SYMS)
+# $7: name of generated include file with alternatives of Octave headers
+# (arg7 is $2 of OF_OCTAVE_LIST_ALT_SYMS)
+AC_DEFUN([OF_OCTAVE_ALT_SYMS], [
+AC_MSG_CHECKING([$1 or $2])
+  AC_COMPILE_IFELSE(
+    [AC_LANG_PROGRAM([[#include <octave/oct.h>]
+                      $6],
+                     [$3])],
+    [AC_DEFINE($4,
+               [[$2]],
+               [macro for alternative Octave symbols])
+     AC_MSG_RESULT([$2])
+     echo '$6' >> $7],
+    [AC_DEFINE($4,
+               [[$1]],
+               [macro for alternative Octave symbols])
+     AC_MSG_RESULT([$1])
+     echo '$5' >> $7]
+)
+])
+
+
+# OF_OCTAVE_LIST_ALT_SYMS is called in the following way:
+#
+# OF_OCTAVE_LIST_ALT_SYMS([
+# [dnl
+#   [old_octave_symbol],
+#   [new_octave_symbol],
+#   [[compilation test]
+#    [for new_octave_symbol]],
+#   [NAME_OF_GENERATED_MACRO____WILL_EXPAND_TO_OLD_OR_NEW_SYMBOL],
+#   [[include directives]
+#    [except #include <octave/oct.h>]
+#    [necessary to compile with old_octave_symbol]],
+#   [[include directives]
+#    [except #include <octave/oct.h>]
+#    [nessary to compile with new_octave_symbol]
+#    [and to compile the test]]
+# ],
+#
+# ... further such lists as the above
+#
+# ],
+#
+# [name-of-header-file-for-alternative-octave-iclude-directives.h])
+#
+#
+# This file should be put into src/m4/, and the line
+#
+# AC_CONFIG_MACRO_DIRS([m4])
+#
+# should be put into src/configure.ac. The package should use
+# autoheader to generate config.h.in (src/bootstrap should contain the
+# lines 'aclocal', 'autoconf', and 'autoheader -f'). Package code
+# should include config.h and use the generated macros to access the
+# alternative symbols of Octave. An example of a call to
+# OF_OCTAVE_LIST_ALT_SYMS in src/configure.ac is available together
+# with this file.
+AC_DEFUN([OF_OCTAVE_LIST_ALT_SYMS], [
+
+echo '/* generated by configure */' > $2
+
+m4_foreach([it], [$1], [m4_apply([OF_OCTAVE_ALT_SYMS], [it, $2])])
+
+AH_BOTTOM([#include "$2"])
+
+])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/src/structcat.cc 
new/struct-1.0.16/src/structcat.cc
--- old/struct-1.0.15/src/structcat.cc  2018-05-11 10:42:06.444266825 +0200
+++ new/struct-1.0.16/src/structcat.cc  2019-03-12 16:27:04.338828942 +0100
@@ -1,6 +1,6 @@
 /*
 
-Copyright (C) 2010-2016 Olaf Till
+Copyright (C) 2010-2019 Olaf Till <i7t...@t-online.de>
 
 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
@@ -92,7 +92,7 @@
       return err_retval;
     }
   
-  octave_idx_type dim;
+  octave_idx_type dim = 0;
 
   CHECK_ERROR (dim = args(0).int_value () - 1, err_retval,
                "%s: first argument must be an integer",
@@ -132,7 +132,7 @@
 
   for (octave_idx_type i = m1_id; i < n_args; i++)
     {
-      if (! args(i).is_map ())
+      if (! args(i).OV_ISSTRUCT ())
         {
           error ("%s: some argument not a structure", fname.c_str ());
 
@@ -159,3 +159,7 @@
 
   return octave_value (retval);
 }
+
+/*
+%!assert (structcat (1, struct ("a", 1, "b", 2), struct ("a", 3, "c", 4)), cat 
(1, struct ("a", 1, "b", 2, "c", []), struct ("a", 3, "b", [], "c", 4)))
+*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/struct-1.0.15/src/undef-ah-octave.h 
new/struct-1.0.16/src/undef-ah-octave.h
--- old/struct-1.0.15/src/undef-ah-octave.h     1970-01-01 01:00:00.000000000 
+0100
+++ new/struct-1.0.16/src/undef-ah-octave.h     2019-03-12 16:27:04.338828942 
+0100
@@ -0,0 +1,27 @@
+/* To be included at the top of config.h (by autoheader). Avoid
+   warnings for redefining AH-generated preprocessor symbols of
+   Octave. */
+
+#ifdef PACKAGE_BUGREPORT
+#undef PACKAGE_BUGREPORT
+#endif
+
+#ifdef PACKAGE_NAME
+#undef PACKAGE_NAME
+#endif
+
+#ifdef PACKAGE_STRING
+#undef PACKAGE_STRING
+#endif
+
+#ifdef PACKAGE_TARNAME
+#undef PACKAGE_TARNAME
+#endif
+
+#ifdef PACKAGE_URL
+#undef PACKAGE_URL
+#endif
+
+#ifdef PACKAGE_VERSION
+#undef PACKAGE_VERSION
+#endif


Reply via email to