Hello community,

here is the log from the commit of package schily for openSUSE:Factory checked 
in at 2020-10-12 13:46:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/schily (Old)
 and      /work/SRC/openSUSE:Factory/.schily.new.3486 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "schily"

Mon Oct 12 13:46:27 2020 rev:36 rq:840751 version:unknown

Changes:
--------
--- /work/SRC/openSUSE:Factory/schily/schily.changes    2020-09-25 
16:23:29.939463462 +0200
+++ /work/SRC/openSUSE:Factory/.schily.new.3486/schily.changes  2020-10-12 
13:46:38.577904950 +0200
@@ -1,0 +2,12 @@
+Fri Oct  9 22:54:57 UTC 2020 - Jan Engelhardt <[email protected]>
+
+- Update to release 2020.10.09
+  * Bourne Shell: The "wait" builtin is now POSIX compliant and
+    returns 127 in $? in case that a process id to be waited for
+    does not exist.
+  * Bourne Shell: The exit code retrieved by $/ no longer is
+    masked by 0xFF when this code originates from a wait(1) call.
+  * Bourne Shell: The exit code from background jobs is now kept
+    until the builtin wait(1) is called.
+
+-------------------------------------------------------------------

Old:
----
  schily-2020-09-22.tar.bz2

New:
----
  schily-2020-10-09.tar.bz2

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

Other differences:
------------------
++++++ schily.spec ++++++
--- /var/tmp/diff_new_pack.9ZsJkP/_old  2020-10-12 13:46:40.269905638 +0200
+++ /var/tmp/diff_new_pack.9ZsJkP/_new  2020-10-12 13:46:40.273905640 +0200
@@ -17,14 +17,14 @@
 
 
 # grep -Pir 'define\s+VERSION|strvers'
-%global box_version    2020.09.22
+%global box_version    2020.10.09
 %global cdr_version    3.02~a10
 %global sccs_version   5.09
 %global smake_version  1.3
 %global star_version   1.6.1
 %global libfind_version 1.8
 %global ved_version     1.7
-%define rver   2020-09-22
+%define rver   2020-10-09
 
 Name:           schily
 Version:        %box_version

++++++ schily-2020-09-22.tar.bz2 -> schily-2020-10-09.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/AN-2020-10-09 
new/schily-2020-10-09/AN-2020-10-09
--- old/schily-2020-09-22/AN-2020-10-09 1970-01-01 01:00:00.000000000 +0100
+++ new/schily-2020-10-09/AN-2020-10-09 2020-10-09 12:27:55.000000000 +0200
@@ -0,0 +1,389 @@
+New features with AN-2020-10-09:
+
+This is the first localization step for the schily source consolidation. Many
+programs now (hopefully) call gettext() for all strings that need localization.
+
+-      The next step will include dgettext() calls for the libraries and the
+       missing programs
+
+-      The following step will include the extracted strings
+
+-      The last step will include German translations and install support
+       for the resulting binary message object files.
+
+----------> Please test and report compilation problems! <---------
+
+***** NOTE: As mentioned since 2004, frontends to the tools should *****
+*****          call all programs in the "C" locale                *****
+*****          by e.g. calling: LC_ALL=C cdrecord ....            *****
+*****          unless these frontends support localized strings   *****
+*****          used by the cdrtools with NLS support.             *****
+
+               *** WARNING        ***
+               *** Need new smake ***
+
+       *** Due to the fact that schily-tools 2014-04-03 introduced to use new 
macro
+       *** expansions and a related bug fix in smake, you need a newer smake
+       *** to compile this source. If your smake is too old and aborts, ensure 
to
+       *** use the recent smake by calling:
+
+       cd ./psmake
+       ./MAKE-all
+       cd ..
+       psmake/smake
+       psmake/smake install
+
+       The new smake version mentioned above is smake-1.2.4
+       The recent smake version is smake-1.3
+
+       *** Due to the fact that schily-tools 2018-01-26 introduced
+       *** optimizations for the Schily version of SunPro Make, you
+       *** need at least the dmake version from 2018/01/11 with support
+       *** for the "export" directive to compile with this makefile system.
+
+
+       WARNING: the new version of the isoinfo program makes use of the 
+               *at() series of functions that have been introduced by Sun
+               in August 2001 and added to POSIX.1-2008. For older platforms,
+               libschily now includes emulations for these functions but
+               these emulations have not yet been tested thoroughly.
+               Please report problems!
+
+       BUG WARNING: Please never report bugs only to Linux distributions as
+               they usually do not forward these bug reports upstream and as
+               the Linux distributions typically do not let skilled people
+               check the bugs. We did not hear about a FIFO problem in star
+               for a long time. Then a problem on Linux occurred once
+               every 6000-10000 tries but it did not happen on Solaris after
+               even 10 million tries, so it was not known besides Linux.
+
+       BUG WARNING: *** GNU make *** starts too early with parallel
+               execution (when reading Makefiles and evaluating rules for
+               "include" statements already). Since GNU make does not
+               support a concept for a correct ordering of such actions,
+               you need to be prepared to see gmake fail in parallel
+               mode. If you are interested in reliable parallel execution,
+               it is recommended to use the included "dmake" program with
+               a command line like:
+
+                       dmake -j10 -f SMakefile
+
+               from the top level directory. Note that if you are on Linux,
+               you need a halfway recent kernel or the compile time will not
+               go down because of the low POSIX semaphore performance in
+               older Linux kernels.
+
+               The "dmake" program included in the schilytools tarball is the
+               current version of the "new" SunOS make program that has been
+               introduced in January 1986 by Sun Microsystems. It also
+               introduced new features like the "include" directive that
+               3 years later have been copied by gmake in a partially buggy
+               way. As gmake does not fix showstopper bugs, it cannot be
+               supported. Current showstoppers are: 1) gmake executes
+               "include" related rules in the inverse order, causing rules
+               to fail if they depend on files created by an "earlier" action
+               2) gmake caches an outdated state of the directory and aborts
+               with a wrong complain about allegedly missing files that in
+               fact exist already.
+
+-      autoconf: Added support for newer HP-UX versions on Itanium.
+
+       Thanks to Rudi Blom for reporting and making a change proposal.
+
+-      libschily: getdelim() now always allocates a new line buffer if
+       line_size is 0 at entry of getdelim().
+
+-      udiff: replaced a call to mmap() by an assignment to "" in case that
+       the the file size is 0. This avoids the need to call seek()/getdelim()
+       for zero sized files, which is documented to fai.
+
+-      udiff: reset a common line buffer to NULL if it's size is listed as 0
+       before fcalling getdelim().
+
+       On FreeBSD 12 and 13, udiff dumped core when calling "udiff file empty"
+       and getdelim() from the new FreeBSD libc triggers the core dump, because
+       a previous getgelim() emulation in udiff.c from a mmap()d file did set 
+       the line buffer to a value != NULL without allocating space and without
+       setting the size because that was set to a pointer from the mmap()d
+       area.
+
+       Thanks to Nico Sonack for reporting
+
+-      udiff: no longer calls mmap() if the file is not a regular file
+       because in that case, statbuf.st_size may not be correct if the object
+       is not a plain file. Named pipes e.g. list statbuf.st_size as 0 but
+       read() returns data.
+
+-      SCCS: libcomobj: sethome.c: If sethome was called from the project home
+       directory and not from a subdirectory inside the project home directory,
+       sethome() did try to access buf[strlen(buf)]. This did not yet cause
+       any problems on Solaris or Linux and this still did not cause problems
+       on FreeBSD older than FreeBSD-13. On FreeBSD-13, the buffer (which is
+       on the stack) seems to have non-nul content past the end of the string
+       and thus bulkprepare() fails. We now introduced a special condition that
+       handles this case and that sets cwdprefixlen to 0 and cwdprefix to ""
+       in such a case.
+
+       Thanks to Nico Sonack for reporting
+
+-      SCCS: a new version date has been created.
+
+-      Bourne Shell: The "wait" builtin is now POSIX compliant and returns 127
+       in $? in case that a process id to be waited for does not exist.
+
+-      Bourne Shell: The exit code retrieved by $/ no longer is masked by 0xFF
+       when this code originates from a wait(1) call.
+
+       Thanks to Koichi Nakashima for reporting
+
+-      Bourne Shell: The man page has been enhanced for a better description
+       of the exit code constraitns.
+
+       Thanks to Koichi Nakashima for reporting
+
+-      Bourne Shell: The exit code from background jobs is now kept until
+       the builtin wait(1) is called.
+
+       Note that this introduces the need to call "wait" from time to time
+       in order to free shell job management resources.
+
+       Thanks to Koichi Nakashima for reporting
+
+-      Bourne Shell: The changes to keep exit codes for background jobs
+       caused problems that triggered a SIGSEGV in the shell with jobs like:
+
+               (sleep 10; exit 17)&
+
+       This needed a restructuring in the job management implementation.
+
+-      Bourne Shell: Since the next POSIX standard will make it optional
+       whether sig2str() and str2sig() deal with entries for "EXIT" / 0,
+       we enhanced the trap2str() and str2trap() interfaces to handle
+       "EXIT" / 0 and now call these functions before sig2str() and 
+       str2sig().
+
+-      Bourne Shell: trap2str() is only needed with DO_POSIX_TRAP, so 
+       make it #ifdefd to avoid a warning when compiling obosh.
+
+-      Bourne Shell: a new version date has been created.
+
+-      SunPro Make: The man pages now include a "SOURCE DOWNLOAD"
+       section.
+
+
+
+-      SCCS: The current idea for converting a historic SCCS project into
+       a project oriented SCCS history bundle is the following:
+
+       -       Create a user map file for "sccslog" by calling:
+
+               mkdir $HOME/.sccs
+               $EDITOR $HOME/.sccs/usermap
+
+               Enter the UNIX login names followed by a TAB, followed
+               by an E-mail notation. Use one line per user, e.g.
+
+                       joerg   J. Schilling <[email protected]>
+
+       -       Create a copy of the whole project to work on for this test.
+               Do not do this conversion on the original project until
+               sccs-6.0 is ready.
+
+       -       chdir to the project home directory of the just created copy.
+
+       -       Call "sccs init -i ." to make the project using an in-tree
+               project oriented repository.
+
+       -       Call:
+
+               find * -path '*SCCS/s.*' | /opt/schily/ccs/bin/sccscvt 
-NSCCS/s. -k -ooo -V6 -
+
+               for the CSRG BSD project use:
+
+               find * -path '*SCCS/s.*' | TZ=US/Pacific 
/opt/schily/ccs/bin/sccscvt -NSCCS/s. -k -ooo -V6 -
+
+               to convert all history files into SCCSv6 history files. The
+               TZ=US/Pacific is important for the UCB conversion since SCCSv6
+               uses timezones but SCCSv4 does not and we need to have the 
+               correct timezone entries in the SCCSv6 history files.
+
+               For the complete "schilytools" project with 4200 SCCS history
+               files in 55 Mbytes, this takes 12 seconds for the SCCS history
+               from 1984 .. 2020, but note that most of the edits from the
+               1980s are lost, so there are few entries from the time
+               before 1989.
+
+               An alternate example: the SCCS history from the BSD-4.4 project
+               from December 1979 up to June 1995 is in 12600 SCCS history
+               files that take up 125 MB.
+               The conversion time to the SCCSv6 history file format is
+               18 seconds.
+
+       -       Call:
+
+               find * -path '*SCCS/s.*' | /opt/schily/ccs/bin/sccslog 
-changeset -
+
+               to populate the changeset file from the existing deltas.
+
+               For the complete "schilytools" project with 19600 commits,
+               this takes 8 minutes. The resulting file .sccs/SCCS/s.changeset
+               has a size of approx. 7 MBytes.
+
+               An alternate example: the SCCS history from the BSD-4.4 project
+               from December 1979 up to June 1995 has approx. 47000 commits.
+               The conversion time is approx. 40 minutes.
+               The size of the resulting changeset file is approx. 14 MBytes.
+
+       -       convert the in-tree repository into an off-tree repository.
+               This final step is not yet needed and there is currently no
+               code to do that automatically.
+
+       -       If you like to check the resulting changeset file, there is
+               currently only one way to look at it, by calling:
+
+               sccs -O get -p -A -m .sccs/SCCS/s.changeset | more
+
+               This prints an annotated version of the changeset file.
+               The next task is to develop an enhancement to "sccs log"
+               that prints the changeset in a way similar to what "hg log -v"
+               prints.
+
+       -       NOTE: Normal filesystems on Linux are slow, it is advised to
+               make the conversions on tmpfs for performance reasons in case
+               you are using Linux.
+
+       Please however keep in mind that this is still experimental and there is
+       absolutely no grant that a changelog created with current experimental
+       software will work correctly with the final SCCS version. The procedure
+       is just an example to check how it may look like.
+
+       The final conversion method will be more automated... most likely
+       by a command similar to "sccs import ..."
+
+       IMPORTANT: This is not yet the time to finally convert a project into
+       the project mode, because the project would be stuck in the current 
+       state. What we need to continue work in that repository state in the
+       project mode is at least a working "sccs commit". Be prepared to remove
+       the changeset history file once "sccs commit" works and to re-create
+       the changeset file for that time.
+
+ 
+
+-      SCCS TODO:
+
+       -       Activate "fsdiff" as a "bdiff" replacement in delta(1)
+               to speed up delta(1) and to reduce the size of the SCCS
+               history files.
+
+       -       Implement something that outputs similar information from
+               the changeset file as printed with "hg log -v".
+
+               This would be the next key feature.
+
+       -       verify whether sccs.c uses -NSCCS in the back end programs
+               correctly, instead of converting g-file names from the command
+               line into s.file names in the frontend in order to forward 
+               s.file names to the backend programs. This is needed for an
+               off-tree repository.
+
+               The related unit tests are already passed.
+
+       -       Add code to to sccs(1) to send a list of files to admin(1) and
+               delta(1) with new or modified files in order to have all
+               important code for a "sccs commit" in a single program that
+               does not need to deal with ARG_MAX limitations.
+
+       -       Add code to admin(1), delta(1), sccs-log(1) and get(1) to 
+               maintain/understand the changeset file.
+
+               This is mainly writing out the sccschangeset(4) entries to an
+               intermediate store if a single file has been treated
+               successfully. For sccs-log(1), see below.
+
+       -       Finish the work to allow normal line based diffs in SCCS even
+               for binary files. This are files that include nul bytes and
+               this needs to completely avoid fputs() and this needs an 
+               initialized member p_line_length in struct packet even for 
+               all content that does not result from a previous getline() call.
+
+       -       sccs -R tell (and probably other subcommands?) does not yet
+               work in NewMode
+
+       -       Add code to libcomobj to understand the changeset file.
+               This is needed in order to e.g. know the file names and file
+               specific SIDs/state that corresponds to a project global SID.
+
+       -       Find/verify a complete transactional model that allows to repair
+               complex changes to the set of files for a project that have
+               been aborted in the middle. The current idea is to create the
+               file $PROJECTHOME/.sccs/changeset with the deltas to the
+               changeset during a complex update operation.
+
+       -       Find a decision on how to deal with the admin flags that are
+               currently implemented as global flags and thus do not depend on
+               the SID (version) if the history file.
+
+       -       Aborting a transaction via ^C currently requires a manual
+               removal of the global lock file. Find a way to avoid this in
+               case that a commit has been aborted while being prompted for
+               a commit message (which is before any real action happened).
+
+       -       Implement a fully automated method to convert a SCCSv4 based
+               history with unrelated history files into a new SCCSv6 based
+               project mode history with a populated changeset history file.
+
+               This will most likely be done as a variant of the to be defined
+               new command "sccs sccsimport" that imports a whole existing old
+               SCCS project.
+
+       -       Implement this "sccs sccsimport" based conversion in a way where
+               sccs(1) holds the global changeset lock for the whole time
+               of the conversion.
+
+
+
+
+-      Bourne Shell Missing features for POSIX compliance:
+
+       - Support for $'...' quoting (this is not needed for the current
+                                       version of POSIX but for the next POSIX
+                                       version that will be named SUSv8).
+                                       The development of SUSv8 will start in
+                                       late 2016.
+
+       We are now expecting the Bourne Shell to be fully POSIX compliant.
+
+-      Bourne Shell further TODO list:
+
+       -       Finish loadable builtin support.
+
+       -       POSIX does not allow us to implement ". -h", so we will
+               add a "source" builtin to be able to implement "source -h"
+
+-      The following builtins (that are available in bsh) are still missing in
+       the Bourne Shell:
+
+       err                     echo with output going to stderr
+       glob                    echo with '\0' instead of ' ' between args
+       env                     a builtin version of /usr/bin/env
+
+       The following bsh intrinsics are still missing in the Bourne Shell:
+
+       -                       the restricted bsh has restriction features that
+                               are missing in the Bourne shell.
+
+       -       source -h       read file into history but do not execute
+
+       and probably more features not yet identified to be bsh unique.
+
+
+
+Author:
+
+Joerg Schilling
+D-13353 Berlin
+Germany
+
+Email:         [email protected], [email protected]
+
+Please mail bugs and suggestions to me.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/autoconf/config.guess 
new/schily-2020-10-09/autoconf/config.guess
--- old/schily-2020-09-22/autoconf/config.guess 2020-08-23 13:12:06.000000000 
+0200
+++ new/schily-2020-10-09/autoconf/config.guess 2020-10-07 20:04:44.000000000 
+0200
@@ -1,5 +1,5 @@
 #! /bin/sh
-# @(#)config.guess     1.21 20/08/23 Copyright 1999-2014 J. Schilling
+# @(#)config.guess     1.22 20/10/07 Copyright 1999-2020 J. Schilling
 #
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
@@ -55,6 +55,7 @@
 #
 # This command helps to debug the script via "sh -x"
 #
+#      uname -m        uname -s        uname -r        uname -v
 : "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}"
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -379,6 +380,14 @@
     DPX/2?00:B.O.S.:*:*)
        echo m68k-bull-sysv3
        exit 0 ;;
+    ia64:HP-UX:B.11.23:*)
+       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+       echo ia64-hp-hpux${HPUX_REV}
+       exit 0 ;;
+    ia64:HP-UX:B.11.31:*)
+       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+       echo ia64-hp-hpux${HPUX_REV}
+       exit 0 ;;
     9000/[34]??:4.3bsd:1.*:*)
        echo m68k-hp-bsd
        exit 0 ;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/libschily/stdio/getdelim.c 
new/schily-2020-10-09/libschily/stdio/getdelim.c
--- old/schily-2020-09-22/libschily/stdio/getdelim.c    2018-10-10 
22:19:27.000000000 +0200
+++ new/schily-2020-10-09/libschily/stdio/getdelim.c    2020-09-22 
22:47:28.000000000 +0200
@@ -1,6 +1,6 @@
-/* @(#)getdelim.c      1.4 18/10/10 Copyright 2015-2018 J. Schilling */
+/* @(#)getdelim.c      1.5 20/09/22 Copyright 2015-2020 J. Schilling */
 /*
- *     Copyright (c) 2015-2018 J. Schilling
+ *     Copyright (c) 2015-2020 J. Schilling
  *
  */
 /*
@@ -54,8 +54,7 @@
        if (line == NULL || line_size == 0) {
                if (line_size == 0)
                        line_size = DEF_LINE_SIZE;
-               if (line == NULL)
-                       line = (char *) malloc(line_size);
+               line = (char *) malloc(line_size);
                if (line == NULL)
                        return (-1);
                *bufp = line;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/obosh/Makefile 
new/schily-2020-10-09/obosh/Makefile
--- old/schily-2020-09-22/obosh/Makefile        2020-07-08 21:01:19.000000000 
+0200
+++ new/schily-2020-10-09/obosh/Makefile        2020-09-28 21:20:39.000000000 
+0200
@@ -1,4 +1,4 @@
-#ident "@(#)Makefile   1.107 20/07/08  Copyright (c) 2006-2020 J. Schilling"
+#ident "@(#)Makefile   1.108 20/09/28  Copyright (c) 2006-2020 J. Schilling"
 ###########################################################################
 SRCROOT=       ..
 RULESDIR=      RULES
@@ -85,6 +85,7 @@
 #CPPOPTS +=    -DDO_EXPAND_LONG        # expand() support more than PATH_MAX
 #CPPOPTS +=    -DDO_POSIX_RETURN       # Allow "return" inside "dot" scripts
 #CPPOPTS +=    -DDO_POSIX_EXIT         # Use POSIX exit codes 126/127
+#CPPOPTS +=    -DDO_POSIX_WAIT         # Use POSIX exit code 127 for 
non-existent pid
 #CPPOPTS +=    -DDO_POSIX_E            # Use POSIX rules for set -e, e.g. cmd 
subst
 #CPPOPTS +=    -DDO_POSIX_EXPORT       # Support export/readonly -p name=value
                                        # and export prefix vars to "exec"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/pbosh/Makefile 
new/schily-2020-10-09/pbosh/Makefile
--- old/schily-2020-09-22/pbosh/Makefile        2020-07-08 21:01:19.000000000 
+0200
+++ new/schily-2020-10-09/pbosh/Makefile        2020-09-28 00:01:21.000000000 
+0200
@@ -1,4 +1,4 @@
-#ident "@(#)Makefile   1.164 20/07/08  Copyright (c) 2006-2020 J. Schilling"
+#ident "@(#)Makefile   1.165 20/09/28  Copyright (c) 2006-2020 J. Schilling"
 ###########################################################################
 SRCROOT=       ..
 RULESDIR=      RULES
@@ -86,6 +86,7 @@
 #CPPOPTS +=    -DDO_EXPAND_LONG        # expand() support more than PATH_MAX
 CPPOPTS +=     -DDO_POSIX_RETURN       # Allow "return" inside "dot" scripts
 CPPOPTS +=     -DDO_POSIX_EXIT         # Use POSIX exit codes 126/127
+CPPOPTS +=     -DDO_POSIX_WAIT         # Use POSIX exit code 127 for 
non-existent pid
 CPPOPTS +=     -DDO_POSIX_E            # Use POSIX rules for set -e, e.g. cmd 
subst
 CPPOPTS +=     -DDO_POSIX_EXPORT       # Support export/readonly -p name=value
                                        # and export prefix vars to "exec"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/sccs/sccs/hdr/version.h 
new/schily-2020-10-09/sccs/sccs/hdr/version.h
--- old/schily-2020-09-22/sccs/sccs/hdr/version.h       2020-09-16 
22:01:24.000000000 +0200
+++ new/schily-2020-10-09/sccs/sccs/hdr/version.h       2020-10-07 
22:42:01.000000000 +0200
@@ -1,4 +1,4 @@
-/* @(#)version.h       1.44 20/09/16 Copyright 2007-2019 J. Schilling */
+/* @(#)version.h       1.45 20/10/07 Copyright 2007-2019 J. Schilling */
 
 /*
  * The version for sccs programs
@@ -13,7 +13,7 @@
 #endif
 
 #ifndef        VDATE
-#define        VDATE   "2020/09/16"
+#define        VDATE   "2020/10/07"
 #endif
 
 #ifdef SCHILY_BUILD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/sccs/sccs/lib/comobj/src/sethome.c 
new/schily-2020-10-09/sccs/sccs/lib/comobj/src/sethome.c
--- old/schily-2020-09-22/sccs/sccs/lib/comobj/src/sethome.c    2020-06-25 
20:56:12.000000000 +0200
+++ new/schily-2020-10-09/sccs/sccs/lib/comobj/src/sethome.c    2020-09-25 
19:44:24.000000000 +0200
@@ -14,10 +14,10 @@
  *
  *     Search for $SET_HOME/.sccs
  *
- * @(#)sethome.c       1.17 20/06/25 Copyright 2011-2020 J. Schilling
+ * @(#)sethome.c       1.18 20/09/25 Copyright 2011-2020 J. Schilling
  */
 #if defined(sun)
-#pragma ident "@(#)sethome.c   1.17 20/06/25 Copyright 2011-2020 J. Schilling"
+#pragma ident "@(#)sethome.c   1.18 20/09/25 Copyright 2011-2020 J. Schilling"
 #endif
 
 #if defined(sun)
@@ -127,6 +127,7 @@
 {
        char    buf[max(8192, PATH_MAX+1)];
        int     len;
+       int     blen;
 
        if (shinit != 0)
                return (sethomestat & SETHOME_OK);
@@ -154,6 +155,7 @@
         * $SET_HOME/.sccs was found and len is the offset
         * in buf where we may append "/.sccs".
         */
+       blen = strlen(buf);
        buf[len] = '\0';
        if (len == 0) {
                setahome = strdup("/");
@@ -162,8 +164,13 @@
                setahome = strdup(buf);
                setahomelen = len;
        }
-       cwdprefix = strdup(&buf[len+1]);
-       cwdprefixlen = strlen(&buf[len+1]);
+       if (len >= blen) {                              /* in project home */
+               cwdprefix = strdup("");
+               cwdprefixlen = 0;
+       } else {                                        /* deeper in tree */
+               cwdprefix = strdup(&buf[len+1]);
+               cwdprefixlen = strlen(&buf[len+1]);
+       }
        if (setahome == NULL || cwdprefix == NULL) {    /* no mem */
                setahomelen = 0;
                cwdprefixlen = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/sh/Makefile 
new/schily-2020-10-09/sh/Makefile
--- old/schily-2020-09-22/sh/Makefile   2020-08-14 20:40:01.000000000 +0200
+++ new/schily-2020-10-09/sh/Makefile   2020-09-28 21:23:46.000000000 +0200
@@ -1,4 +1,4 @@
-#ident "@(#)Makefile   1.165 20/08/14  Copyright (c) 2006-2020 J. Schilling"
+#ident "@(#)Makefile   1.166 20/09/28  Copyright (c) 2006-2020 J. Schilling"
 ###########################################################################
 SRCROOT=       ..
 RULESDIR=      RULES
@@ -86,6 +86,7 @@
 CPPOPTS +=     -DDO_EXPAND_LONG        # expand() support more than PATH_MAX
 CPPOPTS +=     -DDO_POSIX_RETURN       # Allow "return" inside "dot" scripts
 CPPOPTS +=     -DDO_POSIX_EXIT         # Use POSIX exit codes 126/127
+CPPOPTS +=     -DDO_POSIX_WAIT         # Use POSIX exit code 127 for 
non-existent pid
 CPPOPTS +=     -DDO_POSIX_E            # Use POSIX rules for set -e, e.g. cmd 
subst
 CPPOPTS +=     -DDO_POSIX_EXPORT       # Support export/readonly -p name=value
                                        # and export prefix vars to "exec"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/sh/bltin.c 
new/schily-2020-10-09/sh/bltin.c
--- old/schily-2020-09-22/sh/bltin.c    2020-05-17 23:35:35.000000000 +0200
+++ new/schily-2020-10-09/sh/bltin.c    2020-09-27 23:46:47.000000000 +0200
@@ -38,11 +38,11 @@
 /*
  * Copyright 2008-2020 J. Schilling
  *
- * @(#)bltin.c 1.147 20/05/17 2008-2020 J. Schilling
+ * @(#)bltin.c 1.148 20/09/27 2008-2020 J. Schilling
  */
 #ifndef lint
 static UConst char sccsid[] =
-       "@(#)bltin.c    1.147 20/05/17 2008-2020 J. Schilling";
+       "@(#)bltin.c    1.148 20/09/27 2008-2020 J. Schilling";
 #endif
 
 /*
@@ -1249,15 +1249,16 @@
        defined(DO_POSIX_CD) || defined(DO_POSIX_FAILURE)
 out:
 #endif
-       flushb();               /* Flush print buffer */
-       restore(fdindex);       /* Restore file descriptors */
-       exval_set(exitval);     /* Prepare ${.sh.*} parameters */
+       flushb();                       /* Flush print buffer */
+       restore(fdindex);               /* Restore file descriptors */
+       if (type != SYSWAIT)            /* Do not clobber $/ from wait */
+               exval_set(exitval);     /* Prepare ${.sh.*} parameters */
 #ifdef DO_ERR_TRAP
        if ((trapnote & TRAPSET) ||
            (exitval &&
            (xflags & XEC_NOSTOP) == 0))
 #endif
-               chktrap();      /* Run installed traps */
+               chktrap();              /* Run installed traps */
 }
 
 #ifdef DO_POSIX_CD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/sh/defs.h 
new/schily-2020-10-09/sh/defs.h
--- old/schily-2020-09-22/sh/defs.h     2020-04-21 22:39:40.000000000 +0200
+++ new/schily-2020-10-09/sh/defs.h     2020-10-08 23:17:08.000000000 +0200
@@ -39,7 +39,7 @@
 /*
  * Copyright 2008-2020 J. Schilling
  *
- * @(#)defs.h  1.209 20/04/21 2008-2020 J. Schilling
+ * @(#)defs.h  1.212 20/10/08 2008-2020 J. Schilling
  */
 
 /*
@@ -630,6 +630,7 @@
 extern struct job *
                postjob         __PR((pid_t pid, int fg, int blt));
 extern void    deallocjob      __PR((struct job *jp));
+extern void    clearcurjob     __PR((void));
 extern void    *curjob         __PR((void));
 extern pid_t   curpgid         __PR((void));
 extern void    setjobpgid      __PR((pid_t pgid));
@@ -1252,6 +1253,7 @@
 /* fault handling */
 extern unsigned                        brkincr;
 #define                MINTRAP         0
+#define                EXITTRAP        0               /* trap 0 == trap EXIT  
*/
 #ifdef DO_ERR_TRAP
 #define                MAXTRAP         (NSIG+1)
 #define                ERRTRAP         (MAXTRAP-1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/sh/fault.c 
new/schily-2020-10-09/sh/fault.c
--- old/schily-2020-09-22/sh/fault.c    2020-04-15 21:14:57.000000000 +0200
+++ new/schily-2020-10-09/sh/fault.c    2020-10-08 23:25:36.000000000 +0200
@@ -38,11 +38,11 @@
 /*
  * Copyright 2008-2020 J. Schilling
  *
- * @(#)fault.c 1.50 20/04/15 2008-2020 J. Schilling
+ * @(#)fault.c 1.52 20/10/08 2008-2020 J. Schilling
  */
 #ifndef lint
 static UConst char sccsid[] =
-       "@(#)fault.c    1.50 20/04/15 2008-2020 J. Schilling";
+       "@(#)fault.c    1.52 20/10/08 2008-2020 J. Schilling";
 #endif
 
 /*
@@ -122,7 +122,9 @@
 #endif
        void    chktrap         __PR((void));
 static int     str2trap        __PR((char *s, int *sig));
+#ifdef DO_POSIX_TRAP
 static int     trap2str        __PR((int sig, char *buf));
+#endif
 static void    prtrap          __PR((int sig));
        void    systrap         __PR((int argc, char **argv));
        void    sh_sleep        __PR((unsigned int ticks));
@@ -581,8 +583,12 @@
        char    *s;
        int     *sig;
 {
+       if (strcmp("EXIT", s) == 0) {
+               *sig = EXITTRAP;
+               return (0);
+       }
 #ifdef DO_ERR_TRAP
-       if (strcmp("ERR", s) == 0) {
+       else if (strcmp("ERR", s) == 0) {
                *sig = ERRTRAP;
                return (0);
        }
@@ -590,19 +596,25 @@
        return (-1);
 }
 
+#ifdef DO_POSIX_TRAP
 static int
 trap2str(sig, buf)
        int     sig;
        char    *buf;
 {
+       if (sig == EXITTRAP) {
+               strcpy(buf, "EXIT");
+               return (0);
+       }
 #ifdef DO_ERR_TRAP
-       if (sig == ERRTRAP) {
+       else if (sig == ERRTRAP) {
                strcpy(buf, "ERR");
                return (0);
        }
 #endif
        return (-1);
 }
+#endif
 
 static void
 prtrap(sig)
@@ -617,7 +629,7 @@
        else if (!ignoring(sig))
                prs_buff(UC "-");
        prs_buff(UC "' ");
-       if (sig2str(sig, buf) < 0 && trap2str(sig, buf) < 0)
+       if (trap2str(sig, buf) < 0 && sig2str(sig, buf) < 0)
                prn_buff(sig);
        else
                prs_buff(UC buf);
@@ -679,14 +691,14 @@
                } else
 #endif
                {
-                       noa1 = (str2sig(a1, &sig) == 0 ||
-                               str2trap(a1, &sig) == 0);
+                       noa1 = (str2trap(a1, &sig) == 0 ||
+                               str2sig(a1, &sig) == 0);
                        if (noa1 == 0)
                                ++argv;
                }
                while (*++argv) {
-                       if ((str2sig(*argv, &sig) < 0 &&
-                           str2trap(*argv, &sig) < 0) ||
+                       if ((str2trap(*argv, &sig) < 0 &&
+                           str2sig(*argv, &sig) < 0) ||
                            sig >= MAXTRAP || sig < MINTRAP ||
 #ifndef        DO_POSIX_TRAP
                            sig == SIGSEGV) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/sh/jobs.c 
new/schily-2020-10-09/sh/jobs.c
--- old/schily-2020-09-22/sh/jobs.c     2020-07-25 13:35:49.000000000 +0200
+++ new/schily-2020-10-09/sh/jobs.c     2020-10-07 23:24:05.000000000 +0200
@@ -39,11 +39,11 @@
 /*
  * Copyright 2008-2020 J. Schilling
  *
- * @(#)jobs.c  1.116 20/07/25 2008-2020 J. Schilling
+ * @(#)jobs.c  1.119 20/10/07 2008-2020 J. Schilling
  */
 #ifndef lint
 static UConst char sccsid[] =
-       "@(#)jobs.c     1.116 20/07/25 2008-2020 J. Schilling";
+       "@(#)jobs.c     1.119 20/10/07 2008-2020 J. Schilling";
 #endif
 
 /*
@@ -392,11 +392,11 @@
        struct job **njp;
        struct job **cjp;
 
-       for (njp = &joblst; *njp != jp; njp = &(*njp)->j_nxtp)
+       for (njp = &joblst; *njp && *njp != jp; njp = &(*njp)->j_nxtp)
                /* LINTED */
                ;
 
-       for (cjp = &jobcur; *cjp != jp; cjp = &(*cjp)->j_curp)
+       for (cjp = &jobcur; *cjp && *cjp != jp; cjp = &(*cjp)->j_curp)
                /* LINTED */
                ;
 
@@ -577,6 +577,8 @@
 #else
                ex.ex_signo = 1000;     /* Need to distinct this from builtin */
 #endif
+               jp->j_xsig = ex.ex_signo;
+
                if ((flags2 & fullexitcodeflg) == 0)
                        exitval &= 0xFF; /* As dumb as with historic wait */
                if (jp->j_flag & J_SIGNALED)
@@ -660,8 +662,14 @@
 
                for (jp = joblst; jp; jp = sjp) {
                        sjp = jp->j_nxtp;
+#ifdef DO_POSIX_WAIT
+                       if ((jp->j_flag & (J_DONE|J_REPORTED)) ==
+                           (J_DONE|J_REPORTED))
+                               freejob(jp);
+#else
                        if (jp->j_flag & J_DONE)
                                freejob(jp);
+#endif
                }
        }
 }
@@ -1086,6 +1094,14 @@
        jobcnt--;
 }
 
+void
+clearcurjob()
+{
+#ifdef DO_POSIX_WAIT
+       thisjob = NULL;
+#endif
+}
+
 #ifdef DO_PIPE_PARENT
 void *
 curjob()
@@ -1172,6 +1188,9 @@
        jp->j_nxtp = jp->j_curp = NULL;
        jp->j_flag = 0;
        jp->j_pid = jp->j_pgid = jp->j_tgid = 0;
+       jp->j_xval = 0;
+       jp->j_xcode = 0;
+       jp->j_xsig = 0;
 
        jpp = &joblst;
 
@@ -1205,7 +1224,11 @@
 
        for (jp = joblst; jp; jp = sjp) {
                sjp = jp->j_nxtp;
-               free(jp);
+#ifdef DO_POSIX_WAIT
+               if ((jp->j_flag & (J_DONE|J_REPORTED)) ==
+                   (J_DONE|J_REPORTED))
+#endif
+                       free(jp);
        }
        joblst = NULL;
        jobcnt = 0;
@@ -1477,19 +1500,59 @@
                wflags = 0;
        wflags |= (WEXITED|WTRAPPED);   /* Needed for waitid() */
 
-       if (argc == 1)
+       if (argc == 1) {
+               struct job *sjp;
+
                collectjobs(0);
-       else while (--argc) {
-               if ((jp = str2job(cmdp, *++argv, 0)) == 0)
+
+               for (jp = joblst; jp; jp = sjp) {
+                       sjp = jp->j_nxtp;
+
+                       if (jp->j_flag & J_DONE)
+                               jp->j_flag |= J_REPORTED;
+               }
+       } else while (--argc) {
+               if ((jp = str2job(cmdp, *++argv, 0)) == 0) {
+#ifdef DO_POSIX_WAIT
+                       exitval =
+                       ex.ex_status =
+                       ex.ex_code = ERR_NOTFOUND;
+                       exitset();      /* Set retval from exitval for $? */
+#endif
+                       continue;
+               }
+#ifdef DO_POSIX_WAIT
+               if ((jp->j_flag & J_REPORTED))
                        continue;
+               if ((jp->j_flag & J_DONE)) {
+                       ex.ex_status = exitval = jp->j_xval;
+                       ex.ex_code = jp->j_xcode;
+                       ex.ex_pid = jp->j_pid;
+                       ex.ex_signo = jp->j_xsig;
+
+                       if ((flags2 & fullexitcodeflg) == 0)
+                               exitval &= 0xFF; /* As dumb as historic wait */
+                       if (jp->j_flag & J_SIGNALED)
+                               exitval |= SIGFLG;
+#ifdef DO_EXIT_MODFIX
+                       else if (ex.ex_status != 0 && exitval == 0)
+                               exitval = SIGFLG; /* Use special value 128 */
+#endif
+                       exitset();      /* Set retval from exitval for $? */
+
+                       jp->j_flag |= J_REPORTED;
+                       continue;
+               }
+#endif
                if (!(jp->j_flag & J_RUNNING))
                        continue;
                if (waitid(P_PID, jp->j_pid, &si, wflags) < 0)
                        break;
 #ifdef DO_TRAP_FROM_WAITID
-               checksigs(&si);                 /* fault() with jobcontrol */
+               checksigs(&si);         /* fault() with jobcontrol */
 #endif
                (void) statjob(jp, &si, 0, 1);
+               jp->j_flag |= J_REPORTED;
        }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/sh/jobs.h 
new/schily-2020-10-09/sh/jobs.h
--- old/schily-2020-09-22/sh/jobs.h     2015-12-23 21:39:48.000000000 +0100
+++ new/schily-2020-10-09/sh/jobs.h     2020-10-06 00:14:58.000000000 +0200
@@ -37,9 +37,9 @@
 #define        _JOBS_H
 
 /*
- * Copyright 2008-2015 J. Schilling
+ * Copyright 2008-2020 J. Schilling
  *
- * @(#)jobs.h  1.1 15/12/23 2008-2015 J. Schilling
+ * @(#)jobs.h  1.2 20/10/06 2008-2020 J. Schilling
  */
 
 /*
@@ -81,6 +81,7 @@
        UInt32_t j_jid;         /* job ID */
        Int32_t j_xval;         /* exit code, or exit or stop signal */
        Int16_t j_xcode;        /* exit or stop reason */
+       Int16_t j_xsig;         /* exit signal, typicalle SIGCHLD */
        UInt16_t j_flag;        /* various status flags defined below */
        char    *j_pwd;         /* job's working directory */
        char    *j_cmd;         /* cmd used to invoke this job */
@@ -99,6 +100,7 @@
 #define        J_RUNNING       0100    /* job is currently running */
 #define        J_FOREGND       0200    /* job was put in foreground by shell */
 #define        J_BLTIN         0400    /* job was a shell builtin */
+#define        J_REPORTED      01000   /* job was "reported" via wait(1) */
 
 /*
  * From jobs.c:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/sh/main.c 
new/schily-2020-10-09/sh/main.c
--- old/schily-2020-09-22/sh/main.c     2019-10-05 16:20:16.000000000 +0200
+++ new/schily-2020-10-09/sh/main.c     2020-10-07 23:24:05.000000000 +0200
@@ -36,13 +36,13 @@
 #include "defs.h"
 
 /*
- * Copyright 2008-2019 J. Schilling
+ * Copyright 2008-2020 J. Schilling
  *
- * @(#)main.c  1.79 19/10/05 2008-2019 J. Schilling
+ * @(#)main.c  1.80 20/10/07 2008-2020 J. Schilling
  */
 #ifndef lint
 static UConst char sccsid[] =
-       "@(#)main.c     1.79 19/10/05 2008-2019 J. Schilling";
+       "@(#)main.c     1.80 20/10/07 2008-2020 J. Schilling";
 #endif
 
 /*
@@ -686,6 +686,7 @@
                bosh.intrcnt = 0; /* Reset interrupt counter */
                tdystak(0, 0);
                stakchk();      /* may reduce sbrk */
+               clearcurjob();  /* clear thisjob */
                exitset();
 
                if ((flags & prompt) && standin->fstak == 0 && !eof) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/sh/sh.1 
new/schily-2020-10-09/sh/sh.1
--- old/schily-2020-09-22/sh/sh.1       2020-04-15 21:20:57.000000000 +0200
+++ new/schily-2020-10-09/sh/sh.1       2020-09-28 21:00:37.000000000 +0200
@@ -1,5 +1,5 @@
 '\" te
-.\" @(#)sh.1   1.254 20/04/15 Copyright 2012-2020 J. Schilling
+.\" @(#)sh.1   1.256 20/09/28 Copyright 2012-2020 J. Schilling
 .\" Copyright 1989 AT&T
 .\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved.
 .\" Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved
@@ -59,7 +59,7 @@
 .if n .ds o oe
 .if n .ds u ue
 .if n .ds s sz
-.TH sh 1 "2020/04/15" "Schily Bourne Shell" "User Commands"
+.TH sh 1 "2020/09/28" "Schily Bourne Shell" "User Commands"
 .SH NAME
 sh, bosh, jsh \- standard and job control shell and command interpreter
 .SH SYNOPSIS
@@ -1755,18 +1755,22 @@
 .ne 3
 .TP
 .B ?
-The decimal value returned by the last synchronously executed command.
+The decimal value returned by the last synchronously executed command or
+a decimal number derived from the signal number that killed the process.
+.sp
 Only the low 8 bits of the exit code from the command are visible
 unless exit code masking is switched off by
 .RB `` "set\ \-o\ fullexitcode" ''.
-The ability to see all 32 bits from the exit code requires a
-modern operating system with support for
-.BR waitid (2)
-in addition.
+The ability to see all 32 bits from the exit code requires a modern
+.B UNIX
+compliant operating system with working support for
+.BR waitid (2).
+.sp
 If the executable file could not be found, the returned value is
 .BR 127 .
 If the file exists but could not be executed, the returned value is
 .BR 126 .
+.sp
 If
 .B bosh
 has been compiled with
@@ -1774,11 +1778,19 @@
 (which is not the default and not recommended by POSIX) and
 if a command's exit code modulo 256 is zero and
 .RB `` "set\ \-o\ fullexitcode" ''
-is not in effect, the returned value is 128 except when the operating
+is not in effect, the returned value is 128, except when the operating
 system does not support
-.BR waitid (2).
+.BR waitid (2),
+as the exit code then is masked by the kernel.
+.sp
 If the command was killed by a signal, the returned value is 128 +
 the signal number.
+As a result, apparent exit code values in the range 129..200
+may also have been caused by a signal.
+.sp
+If the shell itself or a sub shell catches a signal while preparing a job,
+the exit code is 2000, or (when exit codes are masked to only the low
+8 bits) 208.
 .br
 .ne 3
 .TP
@@ -1797,7 +1809,9 @@
 .BR "decimal number" ,
 this is (on a POSIX system) the 32 bit
 exit code from the last command that did normally exit. Older non-POSIX
-systems like Linux return only the low 8 bits from the exit code.
+systems like Linux or UNIX systems from before SVr4 return only the
+low 8 bits from the exit code.
+In any case, the number was a result from a normal program exit.
 .sp
 If
 .B $/
@@ -7488,15 +7502,42 @@
 .br
 .ne 3
 .TP
-\fBwait\fR [ \fIn\fR ]
+\fBwait\fR [ \fIn .\|.\|.\fR ]
 .sp .6
 Wait for your background process whose process id is
 .I n
 and report its
-termination status. If
+termination status.
+The process identifier
+.I n
+may either be a UNIX process id or a shell job id. See
+.B "Job Control (jsh)"
+section below for information on shell job ids. 
+.sp
+The return code of
+.B wait
+is the exit code of the last process from the argument list that has
+successfully been waited for, or
+.BR 127 " / " NOTFOUND
+in case that
+the argument refers to a nonexisting process.
+.sp
+If
 .I n
 is omitted, all your shell's currently active
 background processes are waited for and the return code is zero.
+.sp
+See the shell variables
+.BR $? ,
+.BR $/ ,
+.BR ${.sh.code} ,
+.BR ${.sh.codename} ,
+.BR ${.sh.pid} ,
+.BR ${.sh.status} ,
+.BR ${.sh.termsig}
+in the section
+.B Parameter Substitution
+above.
 
 .SS "Job Control (jsh)"
 .sp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/sh/version.h 
new/schily-2020-10-09/sh/version.h
--- old/schily-2020-09-22/sh/version.h  2020-09-03 20:39:19.000000000 +0200
+++ new/schily-2020-10-09/sh/version.h  2020-10-07 22:12:44.000000000 +0200
@@ -1,4 +1,4 @@
-/* @(#)version.h       1.92 20/09/03 Copyright 2012-2020 J. Schilling */
+/* @(#)version.h       1.93 20/10/07 Copyright 2012-2020 J. Schilling */
 
 /*
  * The version for the Bourne Shell
@@ -17,5 +17,5 @@
  * file and include the License file CDDL.Schily.txt from this distribution.
  */
 
-#define        VERSION_DATE    "2020/09/03"
+#define        VERSION_DATE    "2020/10/07"
 #define        VERSION_STR     "a+"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/sh/xec.c 
new/schily-2020-10-09/sh/xec.c
--- old/schily-2020-09-22/sh/xec.c      2020-04-26 12:46:14.000000000 +0200
+++ new/schily-2020-10-09/sh/xec.c      2020-10-07 23:24:05.000000000 +0200
@@ -38,11 +38,11 @@
 /*
  * Copyright 2008-2020 J. Schilling
  *
- * @(#)xec.c   1.122 20/04/26 2008-2020 J. Schilling
+ * @(#)xec.c   1.123 20/10/07 2008-2020 J. Schilling
  */
 #ifndef lint
 static UConst char sccsid[] =
-       "@(#)xec.c      1.122 20/04/26 2008-2020 J. Schilling";
+       "@(#)xec.c      1.123 20/10/07 2008-2020 J. Schilling";
 #endif
 
 /*
@@ -571,12 +571,13 @@
                                         * returns NULL.
                                         */
 #ifdef DO_PIPE_PARENT
-                                       if (!curjob())
+                                       if (!curjob()) {
                                                xflags &= ~XEC_ALLOCJOB;
 #endif
-                                       monitor = exallocjob(t, xflags);
+                                               monitor = exallocjob(t, xflags);
 #ifdef DO_PIPE_PARENT
-                                       xflags |= XEC_ALLOCJOB;
+                                               xflags |= XEC_ALLOCJOB;
+                                       }
 #endif
                                }
 #ifdef DO_PIPE_PARENT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/schily-2020-09-22/sunpro/Make/bin/make/common/dmake.1 
new/schily-2020-10-09/sunpro/Make/bin/make/common/dmake.1
--- old/schily-2020-09-22/sunpro/Make/bin/make/common/dmake.1   2019-07-20 
14:22:08.000000000 +0200
+++ new/schily-2020-10-09/sunpro/Make/bin/make/common/dmake.1   2020-10-08 
20:41:57.000000000 +0200
@@ -1,4 +1,4 @@
-. \" @(#)dmake.1       1.7 19/07/20 Copyr 2017-2019 J. Schilling
+. \" @(#)dmake.1       1.8 20/10/08 Copyr 2017-2020 J. Schilling
 . \"  Manual Seite fuer dmake
 .\"
 .\" CDDL HEADER START
@@ -35,7 +35,7 @@
 .if n .ds U Ue
 .if n .ds s sz
 .ds S SS
-.TH DMAKE 1 "2019/07/20" "SunOS 5.11" "SunOS Specific Commands"
+.TH DMAKE 1 "2020/10/08" "SunOS 5.11" "SunOS Specific Commands"
 .SH NAME
 dmake \- parallel make from Distributed Make
 .SH SYNOPSIS
@@ -298,3 +298,30 @@
 .BR dmake (1)
 was originally written by Sun Microsystems in 1993.
 Since 2016, it is maintained by J\*org Schilling.
+.br
+.ne 8
+.SH "SOURCE DOWNLOAD"
+The source code for the
+.B SunPro Make
+is included in the
+.B schilytools
+project and may be retrieved from the
+.B schilytools
+project at Sourceforge at:
+.LP
+.B
+    http://sourceforge.net/projects/schilytools/
+.LP
+The download directory is:
+.LP
+.B
+    http://sourceforge.net/projects/schilytools/files/
+.LP
+Check for the
+.B schily\-*.tar.bz2
+archives.
+.LP
+Separate project informations for the Schily SunPro Make project may be 
retrieved from:
+.LP
+.B
+    http://schilytools.sourceforge.net/sunpromake.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/schily-2020-09-22/sunpro/Make/bin/make/common/make.1s 
new/schily-2020-10-09/sunpro/Make/bin/make/common/make.1s
--- old/schily-2020-09-22/sunpro/Make/bin/make/common/make.1s   2020-04-26 
19:19:19.000000000 +0200
+++ new/schily-2020-10-09/sunpro/Make/bin/make/common/make.1s   2020-10-08 
20:41:57.000000000 +0200
@@ -1,5 +1,5 @@
 '\" te
-. \" @(#)make.1s       1.32 20/04/26 Copyr 2012-2020 J. Schilling
+. \" @(#)make.1s       1.33 20/10/08 Copyr 2012-2020 J. Schilling
 .\" Copyright 1989 AT&T
 .\" Portions Copyright (c) 1992, X/Open Company Limited  All Rights Reserved
 .\" Copyright (c) 2008, Sun Microsystems, Inc.  All Rights Reserved
@@ -61,7 +61,7 @@
 .if n .ds o oe
 .if n .ds u ue
 .if n .ds s sz
-.TH make 1S "2020/04/26" "SunOS 5.11" "SunOS Specific Commands"
+.TH make 1S "2020/10/08" "SunOS 5.11" "SunOS Specific Commands"
 .SH NAME
 make \- maintain, update, and regenerate related programs and files
 .SH SYNOPSIS
@@ -4529,3 +4529,30 @@
 .BR make (1)
 was originally written by Sun Microsystems in 1986.
 Since 2016, it is maintained by J\*org Schilling.
+.br
+.ne 8
+.SH "SOURCE DOWNLOAD"
+The source code for the
+.B SunPro Make
+is included in the
+.B schilytools
+project and may be retrieved from the
+.B schilytools
+project at Sourceforge at:
+.LP
+.B
+    http://sourceforge.net/projects/schilytools/
+.LP
+The download directory is:
+.LP
+.B
+    http://sourceforge.net/projects/schilytools/files/
+.LP
+Check for the
+.B schily\-*.tar.bz2
+archives.
+.LP
+Separate project informations for the Schily SunPro Make project may be 
retrieved from:
+.LP
+.B
+    http://schilytools.sourceforge.net/sunpromake.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/schily-2020-09-22/sunpro/Make/bin/make/common/sysV-make.1 
new/schily-2020-10-09/sunpro/Make/bin/make/common/sysV-make.1
--- old/schily-2020-09-22/sunpro/Make/bin/make/common/sysV-make.1       
2018-03-15 20:33:11.000000000 +0100
+++ new/schily-2020-10-09/sunpro/Make/bin/make/common/sysV-make.1       
2020-10-08 20:43:45.000000000 +0200
@@ -1,5 +1,5 @@
 '\" te
-. \" @(#)sysV-make.1   1.4 18/03/15 Copyr 2012-2017 J. Schilling
+. \" @(#)sysV-make.1   1.6 20/10/08 Copyr 2012-2020 J. Schilling
 .\" Copyright 1989 AT&T  Copyright (c) 2009, Sun Microsystems, Inc.  All 
Rights Reserved
 .\" Copyright (c) 2012-2017, J. Schilling
 .\" Copyright (c) 2013, Andreas Roehler
@@ -21,7 +21,22 @@
 .\" information: Portions Copyright [yyyy] [name of copyright owner]
 .\"
 .\" CDDL HEADER END
-.TH sysV-make 1 "2018/03/15" "SunOS 5.11" "User Commands"
+.if t .ds a \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'a
+.if t .ds o \v'-0.55m'\h'0.00n'\z.\h'0.45n'\z.\v'0.55m'\h'-0.45n'o
+.if t .ds u \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'u
+.if t .ds A \v'-0.77m'\h'0.25n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.70n'A
+.if t .ds O \v'-0.77m'\h'0.25n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.70n'O
+.if t .ds U \v'-0.77m'\h'0.30n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.75n'U
+.if t .ds s \(*b
+.if n .ds a ae
+.if n .ds o oe
+.if n .ds u ue
+.if n .ds A Ae
+.if n .ds O Oe
+.if n .ds U Ue
+.if n .ds s sz
+.ds S SS
+.TH sysV-make 1 "2020/10/08" "SunOS 5.11" "User Commands"
 .SH NAME
 sysV-make \- maintain, update, and regenerate groups of programs
 .SH SYNOPSIS
@@ -935,3 +950,36 @@
 .B lib(file.o)
 from
 .BR file.o .
+
+.SH AUTHORS
+This version of
+.BR sysV-make (1)
+was originally written by Sun Microsystems in 1993.
+Since 2016, it is maintained by J\*org Schilling.
+.br
+.ne 8
+.SH "SOURCE DOWNLOAD"
+The source code for the
+.B SunPro Make
+is included in the
+.B schilytools
+project and may be retrieved from the
+.B schilytools
+project at Sourceforge at:
+.LP
+.B
+    http://sourceforge.net/projects/schilytools/
+.LP
+The download directory is:
+.LP
+.B
+    http://sourceforge.net/projects/schilytools/files/
+.LP
+Check for the
+.B schily\-*.tar.bz2
+archives.
+.LP
+Separate project informations for the Schily SunPro Make project may be 
retrieved from:
+.LP
+.B
+    http://schilytools.sourceforge.net/sunpromake.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/schily-2020-09-22/udiff/udiff.c 
new/schily-2020-10-09/udiff/udiff.c
--- old/schily-2020-09-22/udiff/udiff.c 2020-09-19 17:48:26.000000000 +0200
+++ new/schily-2020-10-09/udiff/udiff.c 2020-09-25 19:56:35.000000000 +0200
@@ -1,8 +1,8 @@
-/* @(#)udiff.c 1.34 20/09/19 Copyright 1985-2020 J. Schilling */
+/* @(#)udiff.c 1.38 20/09/25 Copyright 1985-2020 J. Schilling */
 #include <schily/mconfig.h>
 #ifndef lint
 static UConst char sccsid[] =
-       "@(#)udiff.c    1.34 20/09/19 Copyright 1985-2020 J. Schilling";
+       "@(#)udiff.c    1.38 20/09/25 Copyright 1985-2020 J. Schilling";
 #endif
 /*
  *     line by line diff for two files
@@ -162,7 +162,7 @@
        }
        if (prversion) {
                printf("Udiff release %s %s (%s-%s-%s) Copyright (C) 1985-2020 
J�rg Schilling\n",
-                               "1.34", "2020/09/19",
+                               "1.38", "2020/09/25",
                                HOST_CPU, HOST_VENDOR, HOST_OS);
                exit(0);
        }
@@ -328,6 +328,8 @@
         * This allows to correctly deal with files that do not end in a newline
         * and this allows to handle nul bytes in the line.
         */
+       if (olsz == 0)          /* If first file is mmap()d and 2nd is not */
+               olbf = NULL;    /* could be != NULL from mmap() space */
        for (;;) {
                if ((len = xgetdelim(&olbf, &olsz, '\n', f == of ? 0:1)) < 0) {
                        if (ferror(f))
@@ -775,7 +777,13 @@
        if (sb.st_size > (64*1024*1024))
                return (f);
 
-       mmbase[idx] = mmap((void *)0, mmsize[idx],
+       if (!S_ISREG(sb.st_mode))       /* FIFO has st_size == 0 */
+               return (f);             /* so cannot use mmap()  */
+
+       if (sb.st_size == 0)
+               mmbase[idx] = "";
+       else
+               mmbase[idx] = mmap((void *)0, mmsize[idx],
                        PROT_READ, MAP_PRIVATE, fileno(f), (off_t)0);
 
        if (mmbase[idx] == MAP_FAILED) {


Reply via email to