Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package octave-forge-parallel for 
openSUSE:Factory checked in at 2021-03-29 18:22:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/octave-forge-parallel (Old)
 and      /work/SRC/openSUSE:Factory/.octave-forge-parallel.new.2401 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "octave-forge-parallel"

Mon Mar 29 18:22:04 2021 rev:10 rq:881737 version:4.0.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/octave-forge-parallel/octave-forge-parallel.changes  
    2020-06-11 14:49:02.522152251 +0200
+++ 
/work/SRC/openSUSE:Factory/.octave-forge-parallel.new.2401/octave-forge-parallel.changes
    2021-03-29 18:22:06.114282164 +0200
@@ -1,0 +2,17 @@
+Mon Mar 22 16:44:59 UTC 2021 - Atri Bhattacharya <[email protected]>
+
+- Update to version 4.0.1:
+  * The current search path is now set in the Octave sessions used
+    by parcellfun and pararrayfun.
+  * In starting parallel Octave sessions by parcellfun,
+    pararrayfun, or the remote server, the executable
+    'octave-cli-<current_version>' is prefered over 'octave-cli'.
+  * Fixed bug that produced an error for not enough output
+    arguments.
+  * Fixed handling of execution errors by parcellfun and
+    pararrayfun.
+  * The documentation now mentions the limitation that
+    command-line functions can't be used by parcellfun or
+    pararrayfun.
+
+-------------------------------------------------------------------

Old:
----
  parallel-4.0.0.tar.gz

New:
----
  parallel-4.0.1.tar.gz

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

Other differences:
------------------
++++++ octave-forge-parallel.spec ++++++
--- /var/tmp/diff_new_pack.9X8OWN/_old  2021-03-29 18:22:06.726282791 +0200
+++ /var/tmp/diff_new_pack.9X8OWN/_new  2021-03-29 18:22:06.726282791 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package octave-forge-parallel
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %define octpkg  parallel
 Name:           octave-forge-%{octpkg}
-Version:        4.0.0
+Version:        4.0.1
 Release:        0
 Summary:        Parallel Computing for Octave
 License:        GPL-3.0-or-later

++++++ parallel-4.0.0.tar.gz -> parallel-4.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/DESCRIPTION 
new/parallel-4.0.1/DESCRIPTION
--- old/parallel-4.0.0/DESCRIPTION      2020-04-20 21:02:40.000000000 +0200
+++ new/parallel-4.0.1/DESCRIPTION      2021-03-16 19:03:09.000000000 +0100
@@ -1,6 +1,6 @@
 Name: parallel
-Version: 4.0.0
-Date: 2020-04-11
+Version: 4.0.1
+Date: 2021-03-16
 Author: Hayato Fujiwara, Jaroslav Hajek, Olaf Till
 Maintainer: Olaf Till <[email protected]>
 Title: Parallel Computing.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/NEWS new/parallel-4.0.1/NEWS
--- old/parallel-4.0.0/NEWS     2020-04-20 21:02:40.000000000 +0200
+++ new/parallel-4.0.1/NEWS     2021-03-16 19:03:09.000000000 +0100
@@ -1,3 +1,22 @@
+parallel 4.0.1
+--------------
+
+ ** The current search path is now set in the Octave sessions used by
+    parcellfun and pararrayfun.
+
+ ** In starting parallel Octave sessions by parcellfun, pararrayfun,
+    or the remote server, the executable
+    'octave-cli-<current_version>' is prefered over 'octave-cli'.
+
+ ** Fixed bug that produced an error for not enough output arguments.
+
+ ** Fixed handling of execution errors by parcellfun and pararrayfun.
+
+ ** Build fix for mac os.
+
+ ** The documentation now mentions the limitation that command-line
+    functions can't be used by parcellfun or pararrayfun.
+
 parallel 4.0.0
 --------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/doc/html/Limitations.html 
new/parallel-4.0.1/doc/html/Limitations.html
--- old/parallel-4.0.0/doc/html/Limitations.html        2020-04-20 
21:06:20.517871308 +0200
+++ new/parallel-4.0.1/doc/html/Limitations.html        2021-03-16 
19:08:37.556997326 +0100
@@ -81,9 +81,13 @@
 <li> In Octave versions before 5.1, anonymous functions may only be
 passed if they don&rsquo;t use <code>varargin</code> and don&rsquo;t contain 
nested
 anonymous functions.
-</li><li> If a handle to a named function is passed, this function must
-exist on the server machine. This is usually no problem for
-<a href="parcellfun.html#parcellfun">parcellfun</a> and <a 
href="pararrayfun.html#pararrayfun">pararrayfun</a>.
+</li><li> If a handle to a named function, written in a function file,
+is passed, this function must exist on the server machine. This is
+usually no problem for <a href="parcellfun.html#parcellfun">parcellfun</a> and 
<a href="pararrayfun.html#pararrayfun">pararrayfun</a>.
+</li><li> Named functions defined in the command line interface or by
+scripts are not exported to the working sessions used by
+<a href="parcellfun.html#parcellfun">parcellfun</a> or <a 
href="pararrayfun.html#pararrayfun">pararrayfun</a>, and not automatically to 
the
+server for remote parallel execution.
 </li><li> For handles to subfunctions or to private functions limitations
 depending on the used Octave version may apply.
 </li></ul>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/doc/html/index.html 
new/parallel-4.0.1/doc/html/index.html
--- old/parallel-4.0.0/doc/html/index.html      2020-04-20 21:06:20.337868569 
+0200
+++ new/parallel-4.0.1/doc/html/index.html      2021-03-16 19:08:37.284991482 
+0100
@@ -92,7 +92,7 @@
 <p>The info version of this document is accessible, after package
 installation, from the Octave commandline with <code>parallel_doc()</code>.
 </p>
-<p>This documentation applies to version 4.0.0 of the parallel
+<p>This documentation applies to version 4.0.1 of the parallel
 package.
 </p>
 <p>The package contains functions for explicit local parallel execution
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/doc/html/pconnect.html 
new/parallel-4.0.1/doc/html/pconnect.html
--- old/parallel-4.0.0/doc/html/pconnect.html   2020-04-20 21:06:20.409869665 
+0200
+++ new/parallel-4.0.1/doc/html/pconnect.html   2021-03-16 19:08:37.448995005 
+0100
@@ -108,7 +108,7 @@
 (except if <var>hosts</var> was given in the above mentioned deprecated
 way). You can display the variable of network connections to see what
 is in it. The variable of network connections, or subsets of it, is
-passed to the other functions for parallel cluster excecution
+passed to the other functions for parallel cluster execution
 (<code>reval</code>, <code>psend</code>, <code>precv</code>, 
<code>sclose</code>,
 <code>select_sockets</code> among others &ndash; see documentation of these
 functions).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/doc/parallel.info 
new/parallel-4.0.1/doc/parallel.info
--- old/parallel-4.0.0/doc/parallel.info        2020-04-20 21:06:19.953862725 
+0200
+++ new/parallel-4.0.1/doc/parallel.info        2021-03-16 19:08:36.464973866 
+0100
@@ -25,7 +25,7 @@
 General documentation for the parallel package for Octave
 *********************************************************
 
-This documentation applies to version 4.0.0 of the parallel package.
+This documentation applies to version 4.0.1 of the parallel package.
 
    The package contains functions for explicit local parallel execution
 and functions for parallel execution over a cluster of machines,
@@ -484,7 +484,7 @@
      mentioned deprecated way).  You can display the variable of network
      connections to see what is in it.  The variable of network
      connections, or subsets of it, is passed to the other functions for
-     parallel cluster excecution ('reval', 'psend', 'precv', 'sclose',
+     parallel cluster execution ('reval', 'psend', 'precv', 'sclose',
      'select_sockets' among others - see documentation of these
      functions).
 
@@ -996,9 +996,13 @@
    * In Octave versions before 5.1, anonymous functions may only be
      passed if they don't use 'varargin' and don't contain nested
      anonymous functions.
-   * If a handle to a named function is passed, this function must exist
-     on the server machine.  This is usually no problem for *note
-     parcellfun:: and *note pararrayfun::.
+   * If a handle to a named function, written in a function file, is
+     passed, this function must exist on the server machine.  This is
+     usually no problem for *note parcellfun:: and *note pararrayfun::.
+   * Named functions defined in the command line interface or by scripts
+     are not exported to the working sessions used by *note parcellfun::
+     or *note pararrayfun::, and not automatically to the server for
+     remote parallel execution.
    * For handles to subfunctions or to private functions limitations
      depending on the used Octave version may apply.
 
@@ -1098,39 +1102,39 @@
 Ref: XREFpserver16011
 Node: pconnect20492
 Ref: XREFpconnect20662
-Node: sclose25320
-Ref: XREFsclose25489
-Node: network_get_info26067
-Ref: XREFnetwork_get_info26231
-Node: network_set27563
-Ref: XREFnetwork_set27729
-Node: netcellfun28662
-Ref: XREFnetcellfun28817
-Node: netarrayfun31125
-Ref: XREFnetarrayfun31283
-Node: install_vars32256
-Ref: XREFinstall_vars32426
-Node: rfeval33664
-Ref: XREFrfeval33840
-Node: psend36187
-Ref: XREFpsend36338
-Node: precv37732
-Ref: XREFprecv37886
-Node: reval39208
-Ref: XREFreval39369
-Node: select_sockets40283
-Ref: XREFselect_sockets40474
-Node: Example41827
-Node: Further functions43116
-Node: fsave fload43570
-Ref: XREFfsave43791
-Ref: XREFfload43923
-Node: select44075
-Ref: XREFselect44322
-Node: Limitations44996
-Node: Documentation46388
-Ref: XREFparallel_doc46579
-Node: Function index46996
-Node: Concept index48714
+Node: sclose25319
+Ref: XREFsclose25488
+Node: network_get_info26066
+Ref: XREFnetwork_get_info26230
+Node: network_set27562
+Ref: XREFnetwork_set27728
+Node: netcellfun28661
+Ref: XREFnetcellfun28816
+Node: netarrayfun31124
+Ref: XREFnetarrayfun31282
+Node: install_vars32255
+Ref: XREFinstall_vars32425
+Node: rfeval33663
+Ref: XREFrfeval33839
+Node: psend36186
+Ref: XREFpsend36337
+Node: precv37731
+Ref: XREFprecv37885
+Node: reval39207
+Ref: XREFreval39368
+Node: select_sockets40282
+Ref: XREFselect_sockets40473
+Node: Example41826
+Node: Further functions43115
+Node: fsave fload43569
+Ref: XREFfsave43790
+Ref: XREFfload43922
+Node: select44074
+Ref: XREFselect44321
+Node: Limitations44995
+Node: Documentation46663
+Ref: XREFparallel_doc46854
+Node: Function index47271
+Node: Concept index48989
 
 End Tag Table
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/doc/parallel.texi 
new/parallel-4.0.1/doc/parallel.texi
--- old/parallel-4.0.0/doc/parallel.texi        2020-04-20 21:06:19.561856759 
+0200
+++ new/parallel-4.0.1/doc/parallel.texi        2021-03-16 19:08:35.876961235 
+0100
@@ -60,7 +60,7 @@
 installation, from the Octave commandline with @code{parallel_doc()}.
 @end ifhtml
 
-This documentation applies to version 4.0.0 of the parallel
+This documentation applies to version 4.0.1 of the parallel
 package.
 
 The package contains functions for explicit local parallel execution
@@ -547,7 +547,7 @@
 (except if @var{hosts} was given in the above mentioned deprecated
 way). You can display the variable of network connections to see what
 is in it. The variable of network connections, or subsets of it, is
-passed to the other functions for parallel cluster excecution
+passed to the other functions for parallel cluster execution
 (@code{reval}, @code{psend}, @code{precv}, @code{sclose},
 @code{select_sockets} among others -- see documentation of these
 functions).
@@ -1118,9 +1118,13 @@
 @item In Octave versions before 5.1, anonymous functions may only be
 passed if they don't use @code{varargin} and don't contain nested
 anonymous functions.
-@item If a handle to a named function is passed, this function must
-exist on the server machine. This is usually no problem for
-@ref{parcellfun} and @ref{pararrayfun}.
+@item If a handle to a named function, written in a function file,
+is passed, this function must exist on the server machine. This is
+usually no problem for @ref{parcellfun} and @ref{pararrayfun}.
+@item Named functions defined in the command line interface or by
+scripts are not exported to the working sessions used by
+@ref{parcellfun} or @ref{pararrayfun}, and not automatically to the
+server for remote parallel execution.
 @item For handles to subfunctions or to private functions limitations
 depending on the used Octave version may apply.
 @end itemize
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/doc/parallel.txi 
new/parallel-4.0.1/doc/parallel.txi
--- old/parallel-4.0.0/doc/parallel.txi 2020-04-20 21:02:40.000000000 +0200
+++ new/parallel-4.0.1/doc/parallel.txi 2021-03-16 19:03:09.000000000 +0100
@@ -472,9 +472,13 @@
 @item In Octave versions before 5.1, anonymous functions may only be
 passed if they don't use @code{varargin} and don't contain nested
 anonymous functions.
-@item If a handle to a named function is passed, this function must
-exist on the server machine. This is usually no problem for
-@ref{parcellfun} and @ref{pararrayfun}.
+@item If a handle to a named function, written in a function file,
+is passed, this function must exist on the server machine. This is
+usually no problem for @ref{parcellfun} and @ref{pararrayfun}.
+@item Named functions defined in the command line interface or by
+scripts are not exported to the working sessions used by
+@ref{parcellfun} or @ref{pararrayfun}, and not automatically to the
+server for remote parallel execution.
 @item For handles to subfunctions or to private functions limitations
 depending on the used Octave version may apply.
 @end itemize
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/inst/parcellfun.m 
new/parallel-4.0.1/inst/parcellfun.m
--- old/parallel-4.0.0/inst/parcellfun.m        2020-04-20 21:02:40.000000000 
+0200
+++ new/parallel-4.0.1/inst/parcellfun.m        2021-03-16 19:03:09.000000000 
+0100
@@ -160,9 +160,10 @@
   try
 
     if (isempty (error_handler))
-      __parcellfun_initialize_job__ (fun, pwd (), nargout);
+      __parcellfun_initialize_job__ (fun, pwd (), path (), nargout);
     else
-      __parcellfun_initialize_job__ (fun, pwd (), nargout, error_handler);
+      __parcellfun_initialize_job__ (fun, pwd (), path (), nargout,
+                                     error_handler);
     endif
 
   catch
@@ -178,9 +179,10 @@
     endif
 
     if (isempty (error_handler))
-      __parcellfun_initialize_job__ (fun, pwd (), nargout);
+      __parcellfun_initialize_job__ (fun, pwd (), path (), nargout);
     else
-      __parcellfun_initialize_job__ (fun, pwd (), nargout, error_handler);
+      __parcellfun_initialize_job__ (fun, pwd (), path (), nargout,
+                                     error_handler);
     endif
 
   end_try_catch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/inst/pserver.m 
new/parallel-4.0.1/inst/pserver.m
--- old/parallel-4.0.0/inst/pserver.m   2020-04-20 21:02:40.000000000 +0200
+++ new/parallel-4.0.1/inst/pserver.m   2021-03-16 19:03:09.000000000 +0100
@@ -121,6 +121,14 @@
 
     octave_binary = fullfile (OCTAVE_HOME, "/bin/octave-cli");
 
+    tp_octave_binary = cstrcat (octave_binary, "-", OCTAVE_VERSION ());
+
+    if (! isempty (stat (tp_octave_binary)))
+
+      octave_binary = tp_octave_binary;
+
+    endif
+
     optstr = sprintf ("--octave-binary='%s'", octave_binary);
 
     if (nargs == 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/src/Makefile.in 
new/parallel-4.0.1/src/Makefile.in
--- old/parallel-4.0.0/src/Makefile.in  2020-04-20 21:02:40.000000000 +0200
+++ new/parallel-4.0.1/src/Makefile.in  2021-03-16 19:03:09.000000000 +0100
@@ -23,8 +23,7 @@
 # Uncomment this for a release.
 RELEASE := yes
 ifdef RELEASE
-# Currently this does nothing.
-RELEASE_CXXFLAGS = -Wno-deprecated
+RELEASE_CXXFLAGS = -Wno-deprecated-declarations
 endif
 
 # This is set by configure to the default used by mkoctfile, possibly
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/src/__parcellfun_initialize_job__.cc 
new/parallel-4.0.1/src/__parcellfun_initialize_job__.cc
--- old/parallel-4.0.0/src/__parcellfun_initialize_job__.cc     2020-04-20 
21:02:40.000000000 +0200
+++ new/parallel-4.0.1/src/__parcellfun_initialize_job__.cc     2021-03-16 
19:03:09.000000000 +0100
@@ -29,7 +29,7 @@
 
 DEFUN_DLD (__parcellfun_initialize_job__, args, nargout,
            "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} __parcellfun_initialize_job__ (@var{fcn}, 
@var{dir}, @var{nargout}[, @var{eh}])\n\
+@deftypefn {Loadable Function} {} __parcellfun_initialize_job__ (@var{fcn}, 
@var{dir}, @var{path}, @var{nargout}[, @var{eh}])\n\
 Undocumented internal function.\n\
 \n\
 @end deftypefn")
@@ -38,12 +38,13 @@
 
   octave_value retval;
 
-  if (args.length () < 3 || args.length () > 4
+  if (args.length () < 4 || args.length () > 5
       || ! args(0).is_function_handle ()
       || ! args(1).is_string ()
-      || ! args(2).OV_ISREAL ()
-      || ! args(2).is_scalar_type ()
-      || (args.length () == 4 && ! args(3).is_function_handle ())
+      || ! args(2).is_string ()
+      || ! args(3).OV_ISREAL ()
+      || ! args(3).is_scalar_type ()
+      || (args.length () == 5 && ! args(4).is_function_handle ())
       )
     {
       print_usage ();
@@ -53,15 +54,16 @@
 
   octave_value eh;
 
-  if (args.length () == 4)
+  if (args.length () == 5)
     {
-      eh = args(3);
+      eh = args(4);
     }
 
   octave_parallel::control &sched = octave_parallel::get_scheduler ();
 
-  if (sched.initialize_job (args(0), args(1).string_value (), eh,
-                            args(2).int_value())
+  if (sched.initialize_job (args(0), args(1).string_value (),
+                            args(2).string_value (), eh,
+                            args(3).int_value())
       || ! sched.good ())
     {
       error ("%s: could not initialize job", fname.c_str ());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/src/__rfeval_slave__.cc 
new/parallel-4.0.1/src/__rfeval_slave__.cc
--- old/parallel-4.0.0/src/__rfeval_slave__.cc  2020-04-20 21:02:40.000000000 
+0200
+++ new/parallel-4.0.1/src/__rfeval_slave__.cc  2021-03-16 19:03:09.000000000 
+0100
@@ -29,6 +29,33 @@
 
 #endif
 
+static
+void check_n_results (octave_idx_type narg_requested, octave_value_list& res)
+{
+  octave_idx_type narg_provided = res.length ();
+
+  if (narg_provided < narg_requested)
+    error ("function returned fewer than nargout values");
+
+  // In some Octave versions (tested with 5.2.0) feval returns all
+  // output values of the funcition. (In 6.0.90, not more than nargout
+  // are returned.)
+  //
+  // Permitting (narg_requested == 0 && narg_provided == 1), to be
+  // able to print a result even if no output variable was given to
+  // parcellfun (this is usually done by other functions than
+  // parcellfun), would be problematic, since for some arguments the
+  // user function might return no value; this would require some
+  // checks for each user function call to decide whether parcellfun
+  // should return anything, and for speed such checks should be done
+  // by compiled code, whereas currently the cell-array of results is
+  // handled by 'parcellfun's m-code.
+  if (narg_provided > narg_requested)
+    {
+      res = res.slice (0, narg_requested);
+    }
+}
+
 DEFUN_DLD (__rfeval_slave__, args, ,
            "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {} __rfeval_slave__ ()\n\
@@ -145,6 +172,17 @@
 
           if (cd_ok)
             {
+              // Read the next value, it is the path, set it.
+              if (minimal_read_data (is, in_val))
+                {
+                  error ("%s: could not read path", fname.c_str ());
+                  return retval;
+                }
+              octave_value_list ovl_path (1);
+              ovl_path(0) = in_val;
+              std::string feval_name ("path");
+              OCTAVE__FEVAL (feval_name, ovl_path, 0);
+
               // Read the next value --- it may be an error handler
               // function or nargout. If it is a function (error
               // handler), read a further value, which will be
@@ -205,6 +243,18 @@
                   error_state = false;
                 }
 #endif
+              if (! execution_error)
+                {
+                  check_n_results (nargout, out_val);
+
+#ifdef HAVE_OCTAVE_ERROR_STATE
+                  if (error_state)
+                    {
+                      execution_error = true;
+                      error_state = false;
+                    }
+#endif
+                }
             }
           catch (const OCTAVE__EXECUTION_EXCEPTION&)
             {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/src/configure 
new/parallel-4.0.1/src/configure
--- old/parallel-4.0.0/src/configure    2020-04-20 21:03:04.270899598 +0200
+++ new/parallel-4.0.1/src/configure    2021-03-16 19:03:44.766737817 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for parallel 4.0.0.
+# Generated by GNU Autoconf 2.69 for parallel 4.0.1.
 #
 # Report bugs to <[email protected]>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='parallel'
 PACKAGE_TARNAME='parallel'
-PACKAGE_VERSION='4.0.0'
-PACKAGE_STRING='parallel 4.0.0'
+PACKAGE_VERSION='4.0.1'
+PACKAGE_STRING='parallel 4.0.1'
 PACKAGE_BUGREPORT='[email protected]'
 PACKAGE_URL=''
 
@@ -2101,7 +2101,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 parallel 4.0.0 to adapt to many kinds of systems.
+\`configure' configures parallel 4.0.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2172,7 +2172,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of parallel 4.0.0:";;
+     short | recursive ) echo "Configuration of parallel 4.0.1:";;
    esac
   cat <<\_ACEOF
 
@@ -2272,7 +2272,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-parallel configure 4.0.0
+parallel configure 4.0.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3323,7 +3323,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by parallel $as_me 4.0.0, which was
+It was created by parallel $as_me 4.0.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -4237,7 +4237,7 @@
 
 # Define the identity of the package.
  PACKAGE='parallel'
- VERSION='4.0.0'
+ VERSION='4.0.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -25168,7 +25168,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by parallel $as_me 4.0.0, which was
+This file was extended by parallel $as_me 4.0.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -25234,7 +25234,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-parallel config.status 4.0.0
+parallel config.status 4.0.1
 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/parallel-4.0.0/src/configure.ac 
new/parallel-4.0.1/src/configure.ac
--- old/parallel-4.0.0/src/configure.ac 2020-04-20 21:02:40.000000000 +0200
+++ new/parallel-4.0.1/src/configure.ac 2021-03-16 19:03:09.000000000 +0100
@@ -19,7 +19,7 @@
 
 
 AC_PREREQ(2.63)
-AC_INIT(parallel, 4.0.0, [email protected])
+AC_INIT(parallel, 4.0.1, [email protected])
 AC_CONFIG_SRCDIR([pconnect.cc])
 AC_CONFIG_HEADERS([config.h])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/src/gnutls-callbacks.cc 
new/parallel-4.0.1/src/gnutls-callbacks.cc
--- old/parallel-4.0.0/src/gnutls-callbacks.cc  2020-04-20 21:02:40.000000000 
+0200
+++ new/parallel-4.0.1/src/gnutls-callbacks.cc  2021-03-16 19:03:09.000000000 
+0100
@@ -30,6 +30,16 @@
   return _msize (ptr);
 }
 
+#elif defined __APPLE__
+
+#include <malloc/malloc.h>
+
+static inline
+size_t malloc_usable_size_wrapper (void *ptr)
+{
+  return malloc_size (ptr);
+}
+
 #else
 
 #ifdef HAVE_MALLOC_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/src/oct-alt-includes.h 
new/parallel-4.0.1/src/oct-alt-includes.h
--- old/parallel-4.0.0/src/oct-alt-includes.h   2020-04-20 21:06:02.757601124 
+0200
+++ new/parallel-4.0.1/src/oct-alt-includes.h   2021-03-16 19:08:09.216388759 
+0100
@@ -33,6 +33,7 @@
 
 
 
+
 #include <octave/oct-stream.h>
 
 #include <octave/oct-refcount.h>
@@ -45,7 +46,6 @@
 
 
 
-
 
 #include <octave/cmd-edit.h>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/src/octave-pserver.cc 
new/parallel-4.0.1/src/octave-pserver.cc
--- old/parallel-4.0.0/src/octave-pserver.cc    2020-04-20 21:02:40.000000000 
+0200
+++ new/parallel-4.0.1/src/octave-pserver.cc    2021-03-16 19:03:09.000000000 
+0100
@@ -293,7 +293,7 @@
                 << "Copyright (C) 2002 Hayato Fujiwara." << std::endl
                 << "Copyright (C) 2010-2019 Olaf Till." << std::endl
                 << "This is free software; see the source code for copying 
conditions." << std::endl
-                << "There is ABSOLUTLY NO WARRANTY; not even for 
MERCHANTABILITY or" << std::endl 
+                << "There is ABSOLUTELY NO WARRANTY; not even for 
MERCHANTABILITY or" << std::endl 
                 << "FITNESS FOR A PARTICULAR PURPOSE." << std::endl
                 << std::endl
                 << "Usage:" << std::endl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/src/p-control.cc 
new/parallel-4.0.1/src/p-control.cc
--- old/parallel-4.0.0/src/p-control.cc 2020-04-20 21:02:40.000000000 +0200
+++ new/parallel-4.0.1/src/p-control.cc 2021-03-16 19:03:09.000000000 +0100
@@ -47,7 +47,7 @@
       pid (0),
 #endif
       inbuf (NULL), outbuf (NULL),
-      is (NULL), os (NULL), cdir (".")
+      is (NULL), os (NULL)
   {
     if (! pps.good ())
       {
@@ -219,7 +219,8 @@
   }
 
   int instance::initialize_new_function_handle
-  (octave_value& fcn, std::string& dir, octave_value& eh, octave_value& 
nargout)
+  (octave_value& fcn, std::string& dir, std::string& search_path,
+   octave_value& eh, octave_value& nargout)
   {
     if (send_octave_value (fcn))
       return -1;
@@ -248,7 +249,9 @@
         return -1;
       }
 
-    cdir = dir;
+    octave_value ov_search_path = search_path;
+    if (send_octave_value (ov_search_path))
+      return -1;
 
     octave_value nout = octave_value (octave_int32 (nargout.int_value ()));
 
@@ -316,7 +319,7 @@
 
               if (fcn.is_defined ()
                   && tp_instc->initialize_new_function_handle
-                  (fcn, dir, eh, nargout))
+                  (fcn, dir, search_path, eh, nargout))
                 {
                   delete tp_instc;
 
@@ -392,6 +395,7 @@
       return -1;
 
     std::string tp_octave_binary;
+    std::string tp_octave_binary_no_ver;
 
     if (path.empty ())
       {
@@ -399,13 +403,38 @@
 
         std::string octave_bindir = cbindir ? cbindir : 
OCTAVE__CONFIG__BIN_DIR;
 
-        tp_octave_binary = octave_bindir + OCTAVE__SYS__FILE_OPS::dir_sep_str 
()
+        tp_octave_binary_no_ver = octave_bindir
+          + OCTAVE__SYS__FILE_OPS::dir_sep_str ()
           + "octave-cli";
 
+        tp_octave_binary = tp_octave_binary_no_ver + "-" + OCTAVE_VERSION;
+
 #if defined _WIN32 && ! defined __CYGWIN__
-        tp_octave_binary = tp_octave_binary + ".exe";
+        tp_octave_binary = tp_octave_binary_no_ver + ".exe";
+#else
+        int tp_fd;
+
+        if ((tp_fd = ::open (tp_octave_binary.c_str (), O_RDONLY)) == -1)
+          {
+            if ((tp_fd = ::open (tp_octave_binary_no_ver.c_str (), O_RDONLY))
+                == -1)
+              {
+
+                _p_error ("neither %s nor %s found",
+                          tp_octave_binary.c_str (),
+                          tp_octave_binary_no_ver.c_str ());
+
+                return -1;
+              }
+            else
+              {
+                tp_octave_binary = tp_octave_binary_no_ver;
+              }
+          }
+
+        ::close (tp_fd);
 #endif
-     }
+      }
     else
       {
         tp_octave_binary = path;
@@ -458,13 +487,15 @@
 
   int control::initialize_job
   (const octave_value& a_fcn, const std::string& a_dir,
-   const octave_value& a_eh, const octave_value& a_nargout)
+   const std::string& a_path, const octave_value& a_eh,
+   const octave_value& a_nargout)
   {
     if (unrecoverable_error)
       return -1;
 
     fcn = a_fcn;
     dir = a_dir;
+    search_path = a_path;
     eh = a_eh;
     nargout = a_nargout;
 
@@ -472,7 +503,7 @@
       {
         if (states[id] > 0
             || instances[id]->initialize_new_function_handle
-            (fcn, dir, eh, nargout))
+            (fcn, dir, search_path, eh, nargout))
           {
             unrecoverable_error = 1;
 
@@ -534,12 +565,22 @@
         return retval;
       }
 
-    if (res.isinteger ()
-        && res.int_value () == -2)
+    if (res.OV_ISINTEGER ())
       {
         unrecoverable_error = 1;
 
-        _p_error ("error in error handler");
+        switch (res.int_value ())
+          {
+          case -1:
+            _p_error ("execution error");
+            break;
+          case -2:
+            _p_error ("error in error handler");
+            break;
+          default:
+            // we should not get here
+            _p_error ("undefined error");
+          }
 
         return retval;
       }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/src/p-control.h 
new/parallel-4.0.1/src/p-control.h
--- old/parallel-4.0.0/src/p-control.h  2020-04-20 21:02:40.000000000 +0200
+++ new/parallel-4.0.1/src/p-control.h  2021-03-16 19:03:09.000000000 +0100
@@ -74,6 +74,7 @@
 
     int initialize_new_function_handle (octave_value& fcn,
                                         std::string& dir,
+                                        std::string& path,
                                         octave_value& eh,
                                         octave_value& nargout);
 
@@ -99,15 +100,6 @@
     std::istream *is;
 
     std::ostream *os;
-
-    // The current directory when the last function handle was
-    // sent. This directory will be set as current again for the
-    // __exit__ function to be executed at the slave. The rationale is
-    // that for sending the function handle the functions of the
-    // 'parallel' package must have been in the search path, so by
-    // returning to this directory __exit__ also must be in the search
-    // path.
-    std::string cdir;
   };
 
   class
@@ -177,6 +169,7 @@
 
     int initialize_job (const octave_value& fcn,
                         const std::string& dir,
+                        const std::string& path,
                         const octave_value& eh,
                         const octave_value& nargout);
 
@@ -223,6 +216,8 @@
 
     std::string dir;
 
+    std::string search_path;
+
     octave_value nargout;
   };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/src/p-pipes.h 
new/parallel-4.0.1/src/p-pipes.h
--- old/parallel-4.0.0/src/p-pipes.h    2020-04-20 21:02:40.000000000 +0200
+++ new/parallel-4.0.1/src/p-pipes.h    2021-03-16 19:03:09.000000000 +0100
@@ -103,7 +103,9 @@
 
             ret = ::close (pd);
 
-            if (! ret)
+            if (ret)
+              gnulib_perror ("close");
+            else
               set_pd_invalid ();
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/src/parallel-gnutls.h 
new/parallel-4.0.1/src/parallel-gnutls.h
--- old/parallel-4.0.0/src/parallel-gnutls.h    2020-04-20 21:02:40.000000000 
+0200
+++ new/parallel-4.0.1/src/parallel-gnutls.h    2021-03-16 19:03:09.000000000 
+0100
@@ -74,6 +74,8 @@
 
 #include <octave/ov-struct.h>
 
+#include <octave/version.h>
+
 
 #define N_CONNECT_RETRIES 10
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parallel-4.0.0/src/pconnect.cc 
new/parallel-4.0.1/src/pconnect.cc
--- old/parallel-4.0.0/src/pconnect.cc  2020-04-20 21:02:40.000000000 +0200
+++ new/parallel-4.0.1/src/pconnect.cc  2021-03-16 19:03:09.000000000 +0100
@@ -71,7 +71,7 @@
 (except if @var{hosts} was given in the above mentioned deprecated\n\
 way). You can display the variable of network connections to see what\n\
 is in it. The variable of network connections, or subsets of it, is\n\
-passed to the other functions for parallel cluster excecution\n\
+passed to the other functions for parallel cluster execution\n\
 (@code{reval}, @code{psend}, @code{precv}, @code{sclose},\n\
 @code{select_sockets} among others -- see documentation of these\n\
 functions).\n\

Reply via email to