Hello community,

here is the log from the commit of package schily for openSUSE:Factory checked 
in at 2020-03-19 19:45:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/schily (Old)
 and      /work/SRC/openSUSE:Factory/.schily.new.3160 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "schily"

Thu Mar 19 19:45:59 2020 rev:24 rq:785530 version:unknown

Changes:
--------
--- /work/SRC/openSUSE:Factory/schily/schily.changes    2020-02-22 
18:56:23.453168939 +0100
+++ /work/SRC/openSUSE:Factory/.schily.new.3160/schily.changes  2020-03-19 
19:49:38.280161207 +0100
@@ -1,0 +2,12 @@
+Mon Mar 16 09:09:05 UTC 2020 - Jan Engelhardt <[email protected]>
+
+- Update to release 2020.03.11
+  * Bourne Shell: set -m now works in scripts as well. Before,
+    bosh did never call startjobs() when the shell startup was
+    done with a shell script.
+  * Bourne Shell: The shell now supports the alternate ;& switch
+    command limiter in addition to ;; where ;& implements a
+    fallthrough to the next command list regardless on thether
+    there is a match or not.
+
+-------------------------------------------------------------------

Old:
----
  schily-2020-02-11.tar.bz2

New:
----
  schily-2020-03-11.tar.bz2

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

Other differences:
------------------
++++++ schily.spec ++++++
--- /var/tmp/diff_new_pack.NCuStZ/_old  2020-03-19 19:49:38.976161608 +0100
+++ /var/tmp/diff_new_pack.NCuStZ/_new  2020-03-19 19:49:38.984161613 +0100
@@ -17,14 +17,14 @@
 
 
 # grep -Pir 'define\s+VERSION|strvers'
-%global box_version    2020.02.11
+%global box_version    2020.03.11
 %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.7
 %global ved_version     1.7
-%define rver   2020-02-11
+%define rver   2020-03-11
 
 Name:           schily
 Version:        %box_version

++++++ schily-2020-02-11.tar.bz2 -> schily-2020-03-11.tar.bz2 ++++++
++++ 6908 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/AN-2020-03-11 new/schily-2020-03-11/AN-2020-03-11
--- old/schily-2020-02-11/AN-2020-03-11 1970-01-01 01:00:00.000000000 +0100
+++ new/schily-2020-03-11/AN-2020-03-11 2020-03-11 21:55:11.000000000 +0100
@@ -0,0 +1,210 @@
+New features with AN-2020-03-11:
+
+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.
+
+-      configure: The autoconfiguration now has an enhanced test for waitid()
+       that was needed since Mac OS is still not POSIX compliant and returns 0
+       instead of the signal number for a process that has been killed by a
+       signal. MacOS did pass the POSIX certification as a result of a missing
+       test for that problem.
+
+       Since every vertified OS needs to run an annual refresh the
+       certification with recent versions of the test, I guess that 
+       Mac OS (Catalina updates) may become more compliant witin a year.
+
+-      psmake: The portable bootstrap compile environment for smake missed
+       a symlink for unsetenv.c to libschily since the related code has been
+       moved to libschily in 2018. This prevented compilation on IRIX.
+
+       Thanks to Kazuo Kuroi for reporting
+
+-      librmt: the code has been modified to allow librmt to be finally
+       compiled without a need to link against libschily. This makes it
+       easier to link ufsdump/ufsrestore from OpenSolaris against librmt.
+
+       A call to errmsg() was replaced by a call to errmsgno() that has
+       a private implementation in librmt already.
+
+-      librmt: the man pages have been modified to make sure that man2html
+       is able to correctly create links to referenced other man pages.
+
+-      libstreamar: streamarchive.4 now mentions that the POSIX.1-2001
+       tar extensions are based on a Sun Microsystems proposal from 1997.
+
+-      libshedit: mystdio.h now calls #undef sprintf and #undef snprintf
+       before redefining the names. This avoids clang warnings on MacOS.
+
+-      Bourne Shell: set -m now works in scripts as well. Before, bosh did
+       never call startjobs() when the shell startup was done with a shell
+       script.
+
+-      Bourne Shell: The shell now supports the alternate ;& switch
+       command limiter in addition to ;; where ;& implements a fallthrough
+       to the next command list regardless on thether there is a match or not.
+
+-      Bourne Shell: The file xec.c has been reindented for the "case" support
+       code in the interpreter. The indentation is now one tab less so code
+       becomes more readable.
+
+-      patch: the declaration for the variable p_repl_lines has been moved
+       from common.h to pch.h to avoid double common declarations.
+
+       Thanks to Jan Engelhardt for reporting
+
+-      cdda2wav: changed some macros in toc.c to avoid clang warnings.
+
+-      cdrtools: the version date has been updated to 2020
+
+-      star: the man page now mentions that it is preferred to use the
+       source from the schilytools instead of a star specific release.
+
+-      ved/bsh/bosh: map.c now includes better command for the routines that
+       implement fallback to some basic mapping when no user defined mapping
+       has been set up.
+
+
+-      SCCS TODO:
+
+       -       Convert sccs.c to use -NSCCS in the back end programs 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. Doing it this way allows us to have the SCCS
+               history files "off tree" in a separate directory tree starting
+               with ".sccs/" at the "project root" directory, as the related
+               code to convert path names is in libcomobj::bulkprepare().
+
+       -       Add code to admin(1) and delta(1) to retrieve the list of
+               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) and get(1) to maintain/understand
+               the changeset file.
+
+       -       Add code to libcomobj to understand the changeset file,
+               which is needed in order to e.g. know the file names and file
+               specific SIDs/state that correspond to a project global SID.
+
+       -       Add code to all programs to maintain a lock (for the file
+               $PROJECTHOME/.sccs/SCCS/s.changeset, that would be in the file
+               $PROJECTHOME/.sccs/SCCS/z.changeset) to maintain a project
+               global lock.
+
+       -       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 way to decide when to use SCCS v6 type history files.
+
+               For the project mode, this is needed in order to prevent 
+               historic SCCS implementations to believe they could modify
+               files without knowing about project global locks.
+
+               Currently, SCCS V67 needs to be anebale manually for every
+               history file using "admin".
+
+
+
+
+
+-      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' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/bsh/map.c new/schily-2020-03-11/bsh/map.c
--- old/schily-2020-02-11/bsh/map.c     2019-11-23 23:22:21.000000000 +0100
+++ new/schily-2020-03-11/bsh/map.c     2020-02-27 22:45:43.000000000 +0100
@@ -1,13 +1,13 @@
-/* @(#)map.c   1.40 19/11/23 Copyright 1986-2018 J. Schilling */
+/* @(#)map.c   1.41 20/02/27 Copyright 1986-2020 J. Schilling */
 #include <schily/mconfig.h>
 #ifndef lint
 static UConst char sccsid[] =
-       "@(#)map.c      1.40 19/11/23 Copyright 1986-2018 J. Schilling";
+       "@(#)map.c      1.41 20/02/27 Copyright 1986-2020 J. Schilling";
 #endif
 /*
  *     The map package for BSH & VED
  *
- *     Copyright (c) 1986-2018 J. Schilling
+ *     Copyright (c) 1986-2020 J. Schilling
  */
 /*
  * The contents of this file are subject to the terms of the
@@ -671,6 +671,9 @@
        return (NULL); /* XXX NOTREACHED ??? */
 }
 
+/*
+ * Check whether a mapping for "nm" already exists in out current map tables.
+ */
 LOCAL BOOL
 _has_map(mn)
        Uchar   *mn;
@@ -687,6 +690,13 @@
        return (FALSE);
 }
 
+/*
+ * Install a fallback mapping in case no other mapping for the "from" string
+ * has been been set up yet.
+ *
+ * This allows ved/bsh/bosh to work nicely even when the user did not yet
+ * install own rc files with mappings in his $HOME.
+ */
 LOCAL BOOL
 fallback_map(from, to, comment)
        char    *from;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/cdda2wav/cdda2wav.c 
new/schily-2020-03-11/cdda2wav/cdda2wav.c
--- old/schily-2020-02-11/cdda2wav/cdda2wav.c   2019-04-26 00:33:48.000000000 
+0200
+++ new/schily-2020-03-11/cdda2wav/cdda2wav.c   2020-02-26 22:47:08.000000000 
+0100
@@ -1,8 +1,8 @@
-/* @(#)cdda2wav.c      1.173 19/04/26 Copyright 1993-2004,2015,2017 Heiko 
Eissfeldt, Copyright 2004-2019 J. Schilling */
+/* @(#)cdda2wav.c      1.174 20/02/26 Copyright 1993-2004,2015,2017 Heiko 
Eissfeldt, Copyright 2004-2020 J. Schilling */
 #include "config.h"
 #ifndef lint
 static UConst char sccsid[] =
-"@(#)cdda2wav.c        1.173 19/04/26 Copyright 1993-2004,2015,2017 Heiko 
Eissfeldt, Copyright 2004-2019 J. Schilling";
+"@(#)cdda2wav.c        1.174 20/02/26 Copyright 1993-2004,2015,2017 Heiko 
Eissfeldt, Copyright 2004-2020 J. Schilling";
 
 #endif
 #undef DEBUG_BUFFER_ADDRESSES
@@ -28,7 +28,7 @@
  */
 /*
  * Copright 1993-2004,2015,2017        (C) Heiko Eissfeldt
- * Copright 2004-2019          (C) J. Schilling
+ * Copright 2004-2020          (C) J. Schilling
  *
  * last changes:
  *   18.12.93 - first version, OK
@@ -4068,7 +4068,7 @@
                /*
                 * Make the version string similar for all cdrtools programs.
                 */
-               printf(_("cdda2wav %s %s (%s-%s-%s) Copyright (C) 
1993-2004,2015,2017,2019 %s (C) 2004-2019 %s\n"),
+               printf(_("cdda2wav %s %s (%s-%s-%s) Copyright (C) 
1993-2004,2015,2017,2019 %s (C) 2004-2020 %s\n"),
                                        VERSION,
                                        VERSION_DATE,
                                        HOST_CPU, HOST_VENDOR, HOST_OS,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/cdda2wav/toc.c new/schily-2020-03-11/cdda2wav/toc.c
--- old/schily-2020-02-11/cdda2wav/toc.c        2019-04-04 00:54:43.000000000 
+0200
+++ new/schily-2020-03-11/cdda2wav/toc.c        2020-02-26 22:46:51.000000000 
+0100
@@ -1,12 +1,12 @@
-/* @(#)toc.c   1.105 19/04/04 Copyright 1998-2003,2017 Heiko Eissfeldt, 
Copyright 2004-2017 J. Schilling */
+/* @(#)toc.c   1.106 20/02/26 Copyright 1998-2003,2017 Heiko Eissfeldt, 
Copyright 2004-2020 J. Schilling */
 #include "config.h"
 #ifndef lint
 static UConst char sccsid[] =
-"@(#)toc.c     1.105 19/04/04 Copyright 1998-2003,2017 Heiko Eissfeldt, 
Copyright 2004-2017 J. Schilling";
+"@(#)toc.c     1.106 20/02/26 Copyright 1998-2003,2017 Heiko Eissfeldt, 
Copyright 2004-2020 J. Schilling";
 #endif
 /*
  * CDDA2WAV (C) Heiko Eissfeldt [email protected]
- * Copyright (c) 2004-2017 J. Schilling, Heiko Eissfeldt
+ * Copyright (c) 2004-2020 J. Schilling, Heiko Eissfeldt
  *
  * The CDDB routines are compatible to cddbd (C) Ti Kan and Steve Scherf
  */
@@ -475,10 +475,10 @@
 
 #define        IS__PREEMPHASIZED(p)    ((GETFLAGS(p) & 0x10) != 0)
 #define        IS__INCREMENTAL(p)      ((GETFLAGS(p) & 0x10) != 0)
-#define        IS__COPYRESTRICTED(p)   (!(GETFLAGS(p) & 0x20) != 0)
-#define        IS__COPYRIGHTED(p)      (!(GETFLAGS(p) & 0x20) != 0)
+#define        IS__COPYRESTRICTED(p)   ((GETFLAGS(p) & 0x20) == 0)
+#define        IS__COPYRIGHTED(p)      ((GETFLAGS(p) & 0x20) == 0)
 #define        IS__DATA(p)             ((GETFLAGS(p) & 0x40) != 0)
-#define        IS__AUDIO(p)            (!(GETFLAGS(p) & 0x40) != 0)
+#define        IS__AUDIO(p)            ((GETFLAGS(p) & 0x40) == 0)
 #define        IS__QUADRO(p)           ((GETFLAGS(p) & 0x80) != 0)
 
 /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/cdrecord/version.h 
new/schily-2020-03-11/cdrecord/version.h
--- old/schily-2020-02-11/cdrecord/version.h    2019-01-08 01:31:35.000000000 
+0100
+++ new/schily-2020-03-11/cdrecord/version.h    2020-02-26 22:48:20.000000000 
+0100
@@ -1,7 +1,7 @@
-/* @(#)version.h       1.98 19/01/08 Copyright 2007-2019 J. Schilling */
+/* @(#)version.h       1.99 20/02/26 Copyright 2007-20120 J. Schilling */
 
 /*
  * The version for cdrtools programs
  */
 #define        VERSION         "3.02a10"
-#define        VERSION_DATE    "2019/01/08"
+#define        VERSION_DATE    "2020/02/26"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/librmt/librmt.3 new/schily-2020-03-11/librmt/librmt.3
--- old/schily-2020-02-11/librmt/librmt.3       2018-06-09 21:07:04.000000000 
+0200
+++ new/schily-2020-03-11/librmt/librmt.3       2020-02-13 02:05:36.000000000 
+0100
@@ -1,4 +1,4 @@
-. \" @(#)librmt.3      1.7 18/06/09 Copyr 2002-2018 J. Schilling
+. \" @(#)librmt.3      1.9 20/02/13 Copyr 2002-2020 J. Schilling
 . \" Manual page for librmt
 . \"
 .if t .ds a \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'a
@@ -13,7 +13,7 @@
 .if n .ds o oe
 .if n .ds u ue
 .if n .ds s sz
-.TH LIBRMT 3L "2018/06/09" "J\*org Schilling" "Schily\'s LIBRARY FUNCTIONS"
+.TH LIBRMT 3L "2020/02/13" "J\*org Schilling" "Schily\'s LIBRARY FUNCTIONS"
 .SH NAME
 librmt \- remote magtape protocol client interface library
 .SH SYNOPSIS
@@ -61,9 +61,9 @@
 If the environment
 .B RSH
 is empty, then the default
-.B rcmd()
+.BR rcmd (3)
 is used even in case
-.B rmtrsh()
+.BR rmtrsh (3)
 has been called.
 .TP
 .B RMT
@@ -79,7 +79,7 @@
 is empty, then the default
 .B /etc/rmt
 is used even in case
-.B rmtrmt()
+.BR rmtrmt (3)
 has been called.
 .sp
 Note that the remote tape server program name will be ignored if you log in
@@ -87,23 +87,23 @@
 login shell.
 .SH INTERFACES
 
-.BR rmtinit (),
-.BR rmtdebug (),
+.BR rmtinit (3),
+.BR rmtdebug (3),
 .BR rmtrmt (3),
 .BR rmtrsh (3),
-.BR rmthostname (),
-.BR rmtfilename (),
-.BR rmtgetconn (),
-.BR rmtopen (),
-.BR rmtioctl (),
-.BR rmtclose (),
-.BR rmtread (),
-.BR rmtwrite (),
-.BR rmtseek (),
-.BR rmtxstatus (),
-.BR rmtstatus (),
-.BR _mtg2rmtg (),
-.BR _rmtg2mtg ()
+.BR rmthostname (3),\%
+.BR rmtfilename (3),
+.BR rmtgetconn (3),
+.BR rmtopen (3),
+.BR rmtioctl (3),
+.BR rmtclose (3),
+.BR rmtread (3),
+.BR rmtwrite (3),
+.BR rmtseek (3),
+.BR rmtxstatus (3),
+.BR rmtstatus (3),
+.BR _mtg2rmtg (3),
+.BR _rmtg2mtg (3)
 
 .SH FILES
 .SH "SEE ALSO"
@@ -126,7 +126,6 @@
 .LP
 .nf
 J\*org Schilling
-Seestr. 110
 D\-13353 Berlin
 Germany
 .fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/librmt/remote.c new/schily-2020-03-11/librmt/remote.c
--- old/schily-2020-02-11/librmt/remote.c       2018-06-09 11:38:51.000000000 
+0200
+++ new/schily-2020-03-11/librmt/remote.c       2020-02-13 01:40:45.000000000 
+0100
@@ -1,14 +1,14 @@
 /*#define      NO_LIBSCHILY*/
-/* @(#)remote.c        1.78 18/06/09 Copyright 1990-2018 J. Schilling */
+/* @(#)remote.c        1.80 20/02/13 Copyright 1990-2020 J. Schilling */
 #include <schily/mconfig.h>
 #ifndef lint
 static UConst char sccsid[] =
-       "@(#)remote.c   1.78 18/06/09 Copyright 1990-2018 J. Schilling";
+       "@(#)remote.c   1.80 20/02/13 Copyright 1990-2020 J. Schilling";
 #endif
 /*
  *     Remote tape client interface code
  *
- *     Copyright (c) 1990-2018 J. Schilling
+ *     Copyright (c) 1990-2020 J. Schilling
  *
  *     TOTO:
  *             Signal handler for SIGPIPE
@@ -1564,7 +1564,7 @@
                    setuid(pw->pw_uid) == -1) {
 #endif
 #endif
-                       errmsg("seteuid(%lld) failed.\n",
+                       errmsgno(geterrno(), "seteuid(%lld) failed.\n",
                                                        (Llong)pw->pw_uid);
                        _exit(EX_BAD);
                        /* NOTREACHED */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/librmt/rmtgetconn.3 
new/schily-2020-03-11/librmt/rmtgetconn.3
--- old/schily-2020-02-11/librmt/rmtgetconn.3   2018-06-09 11:40:58.000000000 
+0200
+++ new/schily-2020-03-11/librmt/rmtgetconn.3   2020-02-13 01:33:23.000000000 
+0100
@@ -1,4 +1,4 @@
-. \" @(#)rmtgetconn.3  1.4 18/06/09 Copyr 2002-2018 J. Schilling
+. \" @(#)rmtgetconn.3  1.5 20/02/13 Copyr 2002-2020 J. Schilling
 . \" Manual page for rmtgetconn
 . \"
 .if t .ds a \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'a
@@ -13,7 +13,7 @@
 .if n .ds o oe
 .if n .ds u ue
 .if n .ds s sz
-.TH RMTGETCONN 3L "2018/06/09" "J\*org Schilling" "Schily\'s LIBRARY FUNCTIONS"
+.TH RMTGETCONN 3L "2020/02/13" "J\*org Schilling" "Schily\'s LIBRARY FUNCTIONS"
 .SH NAME
 rmtinit, rmtdebug, rmthostname, rmtfilename, rmtgetconn \- initiate a 
connection to a remote tape server
 .SH SYNOPSIS
@@ -80,7 +80,7 @@
 Is an optional function that allows to set up a function for 
 error printing and a function to be called to exit the program.
 If 
-.B rmtinit()
+.BR rmtinit (3)
 is not called or any of the function pointers is 
 .SM NULL,
 the appropriate default function is used instead.
@@ -101,7 +101,7 @@
 The 
 .B RMT
 environment still overwrites the default set up by
-.BR rmtrmt() .
+.BR rmtrmt (3).
 .TP
 .B rmtrsh()
 allows to set up a different remote login program to the remote
@@ -111,7 +111,7 @@
 The 
 .B RSH
 environment still overwrites the default set up by
-.BR rmtrsh() .
+.BR rmtrsh (3).
 .TP
 .B rmtfilename()
 is given a filename that may be either in remote file syntax (
@@ -136,16 +136,16 @@
 This function establishes a connection to the remote tape server process.
 The first parameter is the usr/host part of a string in remote file syntax
 and should be created via
-.BR rmthostname().
+.BR rmthostname (3).
 The second parameter is the expected maximum transfer size. It is used to set 
up
 kernel buffering via 
-.B setsockopt()
+.BR setsockopt (3)
 to increase performance.
 The third parameter is an alternate exit code to be used instead of the 
library 
 default if 
-.B rmtgetconn()
+.BR rmtgetconn (3)
 decides to call
-.BR exit().
+.BR exit (3).
 This allows commands like 
 .B ufsdump
 to use the documented exit codes for startup errors.
@@ -183,26 +183,26 @@
 .B rmtgetconn()
 return a file descriptor which is suitable to be used as first argument
 for functions like
-.B rmtopen()
+.BR rmtopen (3)
 or
-.BR rmtwrite() .
+.BR rmtwrite (3).
 If 
-.B rmtgetconn()
+.BR rmtgetconn (3)
 fails to set up a connection, -1 is returned.
 If
-.B rmtgetconn()
+.BR rmtgetconn (3)
 is unable to find the port number for shell/tcp, the current uid has no
 entry in the passwd file or the user name includes illegal characters,
 .B exit()
 is called.
 If you do not like 
-.B rmtgetconn()
+.BR rmtgetconn (3)
 to exit in this case, call
-.B rmtinit()
+.BR rmtinit (3)
 before and install a non exiting function as 
-.B exit() 
+.BR exit (3)
 handler; 
-.B rmtgetconn()
+.BR rmtgetconn (3)
 then will return -2 after this function did return.
 . \" .SH ERRORS
 
@@ -248,9 +248,9 @@
 If the environment
 .B RSH
 is empty, then the default
-.B rcmd()
+.BR rcmd (3)
 is used even in case
-.B rmtrsh()
+.BR rmtrsh (3)
 has been called.
 .TP
 .B RMT
@@ -266,7 +266,7 @@
 is empty, then the default
 .B /etc/rmt
 is used even in case
-.B rmtrmt()
+.BR rmtrmt (3)
 has been called.
 .sp
 Note that the remote tape server program name will be ignored if you log in
@@ -320,7 +320,7 @@
 .BR ssh (1).
 .LP
 If you use 
-.B rmtgetconn()
+.BR rmtgetconn (3)
 to create a remote connection via an unfixed
 .BR rsh (1)
 or 
@@ -339,7 +339,6 @@
 .LP
 .nf
 J\*org Schilling
-Seestr. 110
 D\-13353 Berlin
 Germany
 .fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/librmt/rmtopen.3 new/schily-2020-03-11/librmt/rmtopen.3
--- old/schily-2020-02-11/librmt/rmtopen.3      2018-06-09 20:26:18.000000000 
+0200
+++ new/schily-2020-03-11/librmt/rmtopen.3      2020-02-13 01:37:33.000000000 
+0100
@@ -1,4 +1,4 @@
-. \" @(#)rmtopen.3     1.6 18/06/09 Copyr 2002-2018 J. Schilling
+. \" @(#)rmtopen.3     1.7 20/02/13 Copyr 2002-2020 J. Schilling
 . \" Manual page for rmtopen
 . \"
 .if t .ds a \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'a
@@ -13,7 +13,7 @@
 .if n .ds o oe
 .if n .ds u ue
 .if n .ds s sz
-.TH RMTOPEN 3L "2018/06/09" "J\*org Schilling" "Schily\'s LIBRARY FUNCTIONS"
+.TH RMTOPEN 3L "2020/02/13" "J\*org Schilling" "Schily\'s LIBRARY FUNCTIONS"
 .SH NAME
 rmtopen, rmtclose, rmtread, rmtwrite, rmtseek, rmtioctl \- operate on a 
connection to a remote tape server
 .SH SYNOPSIS
@@ -55,7 +55,7 @@
 sends an open request to the remote server,
 .I remfd
 is a file descriptor previously obtained from a call to 
-.BR rmtgetconn() ,
+.BR rmtgetconn (3),
 .I pathname
 is a path to be opened on the server side and
 .I fmode
@@ -66,7 +66,7 @@
 in the open flags can be send to the remote server.
 .sp
 If the open requests succeeds, 
-.B rmtopen()
+.BR rmtopen (3)
 takes care of telling the remote side to switch to 
 .B RMT protocol VERSION 1 
 .TP
@@ -74,45 +74,45 @@
 sends a close request to the remote server,
 .I remfd
 is a file descriptor previously obtained from a call to 
-.BR rmtgetconn() .
+.BR rmtgetconn (3).
 .TP
 .B rmtread()
 sends a read request to the remote server, 
 .I remfd
 is a file descriptor previously obtained from a call to 
-.BR rmtgetconn() .
+.BR rmtgetconn (3).
 The other parameters are the same as for a local
-.B read(2)
+.BR read (2)
 call.
-.B rmtread()
+.BR rmtread (3)
 will fail if there was no previous successful 
-.B rmtopen()
+.BR rmtopen (3)
 before.
 .TP
 .B rmtwrite()
 sends a write request to the remote server, 
 .I remfd
 is a file descriptor previously obtained from a call to 
-.BR rmtgetconn() .
+.BR rmtgetconn (3).
 The other parameters are the same as for a local
 .B write(2)
 call.
-.B rmtwrite()
+.BR rmtwrite (3)
 will fail if there was no previous successful 
-.B rmtopen()
+.BR rmtopen (3)
 before.
 .TP
 .B rmtseek()
 sends a seek request to the remote server, 
 .I remfd
 is a file descriptor previously obtained from a call to 
-.BR rmtgetconn() .
+.BR rmtgetconn (3).
 The other parameters are the same as for a local
-.B lseek(2)
+.BR lseek (2)
 call.
-.B rmtseek()
+.BR rmtseek (3)
 will fail if there was no previous successful 
-.B rmtopen()
+.BR rmtopen (3)
 before.
 .TP
 .B rmtioctl()
@@ -137,17 +137,17 @@
 .TP
 .B rmtread()
 returns the return value obtained the remote 
-.B read(2)
+.BR read (2)
 request.
 .TP
 .B rmtwrite()
 returns the return value obtained the remote 
-.B write(2)
+.BR write (2)
 request.
 .TP
 .B rmtseek()
 returns the return value obtained the remote 
-.B lseek(2)
+.BR lseek (2)
 request.
 .TP
 .B rmtioctl()
@@ -258,7 +258,6 @@
 .LP
 .nf
 J\*org Schilling
-Seestr. 110
 D\-13353 Berlin
 Germany
 .fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/librmt/rmtstatus.3 
new/schily-2020-03-11/librmt/rmtstatus.3
--- old/schily-2020-02-11/librmt/rmtstatus.3    2018-06-09 20:26:18.000000000 
+0200
+++ new/schily-2020-03-11/librmt/rmtstatus.3    2020-02-13 01:39:34.000000000 
+0100
@@ -1,4 +1,4 @@
-. \" @(#)rmtstatus.3   1.5 18/06/09 Copyr 2002-2018 J. Schilling
+. \" @(#)rmtstatus.3   1.6 20/02/13 Copyr 2002-2020 J. Schilling
 . \" Manual page for rmtstatus
 . \"
 .if t .ds a \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'a
@@ -13,7 +13,7 @@
 .if n .ds o oe
 .if n .ds u ue
 .if n .ds s sz
-.TH RMTSTATUS 3L "2018/06/09" "J\*org Schilling" "Schily\'s LIBRARY FUNCTIONS"
+.TH RMTSTATUS 3L "2020/02/13" "J\*org Schilling" "Schily\'s LIBRARY FUNCTIONS"
 .SH NAME
 rmtstatus, rmtxstatus, _mtg2rmtg, _rmtg2mtg \- request MTIOCGET on a 
connection to a remote tape server
 .SH SYNOPSIS
@@ -50,32 +50,32 @@
 request to the remote server, 
 .I remfd
 is a file descriptor previously obtained from a call to 
-.BR rmtgetconn() ,
+.BR rmtgetconn (3),
 .B "struct mtget
 is the local magnetic tape status structure,
 .B "struct rmtget
 is the enhanced magnetic tape status structure from
 .BR librmt .
-.B rmtstatus()
+.BR rmtstatus (3)
 and
-.B rmtxstatus()
+.BR rmtxstatus (3)
 will fail if there was no previous successful 
-.B rmtopen()
+.BR rmtopen (3)
 before.
-.B rmtstatus()
+.BR rmtstatus (3)
 and
-.B rmtxstatus()
+.BR rmtxstatus (3)
 take care of using
 .B RMT protocol VERSION 1 
 if the remote side implements support for protocol version 1.
 The function
-.B rmtstatus()
+.BR rmtstatus (3)
 is outdated and should be avoided as the results in
 .B "struct mtget
 will be the least common denominator of the local and remote variants
 of the structure.
 Use
-.B rmtxstatus()
+.BR rmtxstatus (3)
 instead.
 The member
 .B mt_xflags
@@ -197,7 +197,6 @@
 .LP
 .nf
 J\*org Schilling
-Seestr. 110
 D\-13353 Berlin
 Germany
 .fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/libshedit/mystdio.h 
new/schily-2020-03-11/libshedit/mystdio.h
--- old/schily-2020-02-11/libshedit/mystdio.h   2017-11-02 22:17:02.000000000 
+0100
+++ new/schily-2020-03-11/libshedit/mystdio.h   2020-02-26 21:19:23.000000000 
+0100
@@ -1,9 +1,9 @@
-/* @(#)mystdio.h       1.20 17/11/02 Copyright 2006-2017 J. Schilling */
+/* @(#)mystdio.h       1.21 20/02/26 Copyright 2006-2020 J. Schilling */
 /*
  *     Defines to make FILE * -> int *, used to allow
  *     the Bourne shell to use functions that expect stdio.
  *
- *     Copyright (c) 2006-2017 J. Schilling
+ *     Copyright (c) 2006-2020 J. Schilling
  */
 /*
  * The contents of this file are subject to the terms of the
@@ -59,10 +59,15 @@
 /*
  * shell_* names are internal
  */
+#undef printf
 #define        printf          shell_printf
+#undef fprintf
 #define        fprintf         shell_fprintf
+#undef sprintf
 #define        sprintf         shell_sprintf
+#undef snprintf
 #define        snprintf        shell_snprintf
+#undef error
 #define        error           shell_error
 
 #define        js_printf       shell_printf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/libstreamar/streamarchive.4 
new/schily-2020-03-11/libstreamar/streamarchive.4
--- old/schily-2020-02-11/libstreamar/streamarchive.4   2019-10-13 
13:43:54.000000000 +0200
+++ new/schily-2020-03-11/libstreamar/streamarchive.4   2020-02-07 
11:27:11.000000000 +0100
@@ -1,5 +1,5 @@
 '\" t
-. \" @(#)streamarchive.4       1.5 19/10/13 Copyr 2017-2018 J. Schilling
+. \" @(#)streamarchive.4       1.6 20/02/07 Copyr 2017-2020 J. Schilling
 . \" StreamArchive formats
 . \"
 .if t .ds a \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'a
@@ -17,7 +17,7 @@
 .if n .ds U Ue
 .if n .ds s sz
 .ds S SS
-.TH STREAMARCHIVE 4L "2019/10/13" "J\*org Schilling" "Schily\'s USER COMMANDS"
+.TH STREAMARCHIVE 4L "2020/02/07" "J\*org Schilling" "Schily\'s USER COMMANDS"
 .SH NAME
 streamarchive \- StreamArchive file format
 .SH DESCRIPTION
@@ -29,7 +29,10 @@
 .B value
 records that are similar to content of the 
 POSIX.1-2001 extended headers called
-.BR "TAR (PAX) HEADERs" .
+.BR "TAR (PAX) HEADERs" ,
+based on a proposal from
+.B Sun Microsystems
+from 1997.
 .LP
 A new file always begins with the
 .B path
@@ -397,6 +400,18 @@
 by the standard.
 
 .SH "SEE ALSO"
+.BR star (4).
+
 .SH NOTES
 .SH BUGS
 .SH AUTHOR
+.nf
+J\*org Schilling
+D\-13353 Berlin
+Germany
+.fi
+.PP
+Mail bugs and suggestions to:
+.PP
+.B
[email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/obosh/Makefile new/schily-2020-03-11/obosh/Makefile
--- old/schily-2020-02-11/obosh/Makefile        2019-10-25 00:29:54.000000000 
+0200
+++ new/schily-2020-03-11/obosh/Makefile        2020-03-05 20:59:40.000000000 
+0100
@@ -1,4 +1,4 @@
-#ident "@(#)Makefile   1.103 19/10/25  Copyright (c) 2006-2019 J. Schilling"
+#ident "@(#)Makefile   1.105 20/03/05  Copyright (c) 2006-2020 J. Schilling"
 ###########################################################################
 SRCROOT=       ..
 RULESDIR=      RULES
@@ -49,6 +49,7 @@
 #CPPOPTS +=    -DDO_READ_R             # Include support for read -r
 #CPPOPTS +=    -DDO_SET_O              # Include support for set -o
 #CPPOPTS +=    -DDO_MULTI_OPT          # Include support for sh -v -x / set -v 
-x
+#CPPOPTS +=    -DDO_MONITOR_SCRIPT     # Allow to set jobconrol in shell 
scripts
 #CPPOPTS +=    -DDO_UMASK_S            # Include support for umask -S
 #CPPOPTS +=    -DDO_CHECKBINARY        # Check scripts for binary (\0 before 
\n)
 #CPPOPTS +=    -DDO_GETOPT_LONGONLY    # Include support for getopts 
"?900?(lo)"
@@ -57,6 +58,7 @@
 #CPPOPTS +=    -DDO_GETOPT_UTILS       # Include support for -- in all builtins
 #CPPOPTS +=    -DDO_POSIX_FOR          # Support for i; do .... with semicolon
 #CPPOPTS +=    -DDO_POSIX_CASE         # Support for POSIX case with _(_ pat )
+#CPPOPTS +=    -DDO_FALLTHR_CASE       # Support for fallthrough case with ;&
 #CPPOPTS +=    -DDO_POSIX_GMATCH       # Support for POSIX [:alpha:] ...
 #CPPOPTS +=    -DGMATCH_CLERR_NORM     # Handle glob class error as normal char
 #CPPOPTS +=    -DDO_POSIX_TYPE         # Report keywords as well
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/patch/common.h new/schily-2020-03-11/patch/common.h
--- old/schily-2020-02-11/patch/common.h        2018-04-10 00:22:32.000000000 
+0200
+++ new/schily-2020-03-11/patch/common.h        2020-02-13 00:42:22.000000000 
+0100
@@ -1,7 +1,7 @@
-/* @(#)common.h        1.29 18/04/10 2011-2018 J. Schilling */
+/* @(#)common.h        1.30 20/02/13 2011-2020 J. Schilling */
 /*
  *     Copyright (c) 1986, 1988 Larry Wall
- *     Copyright (c) 2011-2018 J. Schilling
+ *     Copyright (c) 2011-2020 J. Schilling
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following condition is met:
@@ -189,8 +189,6 @@
 
 EXT char *revision;                    /* prerequisite revision, if any */
 
-EXT LINENUM p_repl_lines;              /* From pch.c # of replacement lines */
-
 extern void    my_exit __PR((int status));
 
 #ifdef HAVE_GETDELIM
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/patch/patch.c new/schily-2020-03-11/patch/patch.c
--- old/schily-2020-02-11/patch/patch.c 2019-05-15 00:32:10.000000000 +0200
+++ new/schily-2020-03-11/patch/patch.c 2020-02-18 21:56:59.000000000 +0100
@@ -1,12 +1,12 @@
-/* @(#)patch.c 1.49 19/05/15 2011-2019 J. Schilling */
+/* @(#)patch.c 1.50 20/02/18 2011-2020 J. Schilling */
 #include <schily/mconfig.h>
 #ifndef lint
 static UConst char sccsid[] =
-       "@(#)patch.c    1.49 19/05/15 2011-2019 J. Schilling";
+       "@(#)patch.c    1.50 20/02/18 2011-2020 J. Schilling";
 #endif
 /*
  *     Copyright (c) 1984-1988 Larry Wall
- *     Copyright (c) 2011-2019 J. Schilling
+ *     Copyright (c) 2011-2020 J. Schilling
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following condition is met:
@@ -692,7 +692,7 @@
                                        wall_plus ? "Wall+":"");
                                printf(
                                _("Copyright (C) 1984 - 1988 Larry Wall\n"));
-                               printf(_("Copyright (C) 2011 - 2019 %s\n"),
+                               printf(_("Copyright (C) 2011 - 2020 %s\n"),
                                        _("Joerg Schilling"));
                                printf(_(
 "This is free software; see the source for copying conditions.  There is NO\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/patch/pch.h new/schily-2020-03-11/patch/pch.h
--- old/schily-2020-02-11/patch/pch.h   2016-12-18 16:22:32.000000000 +0100
+++ new/schily-2020-03-11/patch/pch.h   2020-02-13 00:42:27.000000000 +0100
@@ -1,7 +1,7 @@
-/* @(#)pch.h   1.11 16/12/18 2011-2016 J. Schilling */
+/* @(#)pch.h   1.12 20/02/13 2011-2020 J. Schilling */
 /*
  *     Copyright (c) 1986, 1987 Larry Wall
- *     Copyright (c) 2011-2016 J. Schilling
+ *     Copyright (c) 2011-2020 J. Schilling
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following condition is met:
@@ -22,6 +22,8 @@
  * SUCH DAMAGE.
  */
 
+EXT LINENUM p_repl_lines;              /* From pch.c # of replacement lines */
+
 extern void    re_patch __PR((void));
 extern void    open_patch_file __PR((char *filename));
 extern void    set_hunkmax __PR((void));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/pbosh/Makefile new/schily-2020-03-11/pbosh/Makefile
--- old/schily-2020-02-11/pbosh/Makefile        2019-10-25 00:29:54.000000000 
+0200
+++ new/schily-2020-03-11/pbosh/Makefile        2020-03-05 21:00:04.000000000 
+0100
@@ -1,4 +1,4 @@
-#ident "@(#)Makefile   1.160 19/10/25  Copyright (c) 2006-2019 J. Schilling"
+#ident "@(#)Makefile   1.162 20/03/05  Copyright (c) 2006-2020 J. Schilling"
 ###########################################################################
 SRCROOT=       ..
 RULESDIR=      RULES
@@ -50,6 +50,7 @@
 CPPOPTS +=     -DDO_READ_R             # Include support for read -r
 CPPOPTS +=     -DDO_SET_O              # Include support for set -o
 CPPOPTS +=     -DDO_MULTI_OPT          # Include support for sh -v -x / set -v 
-x
+CPPOPTS +=     -DDO_MONITOR_SCRIPT     # Allow to set jobconrol in shell 
scripts
 CPPOPTS +=     -DDO_UMASK_S            # Include support for umask -S
 CPPOPTS +=     -DDO_CHECKBINARY        # Check scripts for binary (\0 before 
\n)
 #CPPOPTS +=    -DDO_GETOPT_LONGONLY    # Include support for getopts 
"?900?(lo)"
@@ -58,6 +59,7 @@
 CPPOPTS +=     -DDO_GETOPT_UTILS       # Include support for -- in all builtins
 CPPOPTS +=     -DDO_POSIX_FOR          # Support for i; do .... with semicolon
 CPPOPTS +=     -DDO_POSIX_CASE         # Support for POSIX case with _(_ pat )
+CPPOPTS +=     -DDO_FALLTHR_CASE       # Support for fallthrough case with ;&
 CPPOPTS +=     -DDO_POSIX_GMATCH       # Support for POSIX [:alpha:] ...
 #CPPOPTS +=    -DGMATCH_CLERR_NORM     # Handle glob class error as normal char
 CPPOPTS +=     -DDO_POSIX_TYPE         # Report keywords as well
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/psmake/MAKE-sh new/schily-2020-03-11/psmake/MAKE-sh
--- old/schily-2020-02-11/psmake/MAKE-sh        2019-09-07 21:08:49.000000000 
+0200
+++ new/schily-2020-03-11/psmake/MAKE-sh        2020-02-26 22:10:08.000000000 
+0100
@@ -1,5 +1,5 @@
 #!/bin/sh
-#ident "@(#)MAKE-sh    1.27 19/09/07 "
+#ident "@(#)MAKE-sh    1.28 20/02/26 "
 ###############################################################################
 #
 # The shell variables CFLAGS & LDFLAGS may be used to pass additional flags
@@ -213,7 +213,7 @@
        echo "Removing old configure run results..."
        rm -f config.cache xconfig.h
 fi
-if [ -r config.cache ]; then
+if [ -r config.cache ] && [ -r xconfig.h ]; then
        echo "Using old configure run results..."
 else
        if [ ."$CF" != . ]; then
@@ -271,6 +271,7 @@
 $CC $OPT $CF $CFLAGS -c $INCLUDE $DEFINES   rename.c
 $CC $OPT $CF $CFLAGS -c $INCLUDE $DEFINES   searchinpath.c
 $CC $OPT $CF $CFLAGS -c $INCLUDE $DEFINES   uname.c
+$CC $OPT $CF $CFLAGS -c $INCLUDE $DEFINES   unsetenv.c
 $CC $OPT $CF $CFLAGS -c $INCLUDE $DEFINES   file_raise.c
 $CC $OPT $CF $CFLAGS -c $INCLUDE $DEFINES   fileopen.c
 $CC $OPT $CF $CFLAGS -c $INCLUDE $DEFINES   fcons.c
@@ -283,4 +284,4 @@
 $CC $OPT $CF $CFLAGS -c $INCLUDE $DEFINES   fileseek.c
 $CC $OPT $CF $CFLAGS -c $INCLUDE $DEFINES   niread.c
 $CC $OPT $CF $CFLAGS -c $INCLUDE $DEFINES   niwrite.c
-$CC $LF $LDFLAGS -o smake make.$o readfile.$o parse.$o update.$o rules.$o 
archconf.$o job.$o memory.$o  astoi.$o astoll.$o comerr.$o error.$o eaccess.$o 
format.$o getexecpath.$o getnstimeofday.$o jsprintf.$o jssnprintf.$o 
saveargs.$o seterrno.$o strcatl.$o strlcpy.$o strncpy.$o strnlen.$o streql.$o 
getargs.$o geterrno.$o movebytes.$o fillbytes.$o ovstrcpy.$o raisecond.$o 
rename.$o searchinpath.$o uname.$o file_raise.$o fileopen.$o fcons.$o cvmod.$o 
flag.$o flush.$o dat.$o filewrite.$o fileread.$o fileseek.$o niread.$o 
niwrite.$o
+$CC $LF $LDFLAGS -o smake make.$o readfile.$o parse.$o update.$o rules.$o 
archconf.$o job.$o memory.$o  astoi.$o astoll.$o comerr.$o error.$o eaccess.$o 
format.$o getexecpath.$o getnstimeofday.$o jsprintf.$o jssnprintf.$o 
saveargs.$o seterrno.$o strcatl.$o strlcpy.$o strncpy.$o strnlen.$o streql.$o 
getargs.$o geterrno.$o movebytes.$o fillbytes.$o ovstrcpy.$o raisecond.$o 
rename.$o searchinpath.$o uname.$o unsetenv.$o file_raise.$o fileopen.$o 
fcons.$o cvmod.$o flag.$o flush.$o dat.$o filewrite.$o fileread.$o fileseek.$o 
niread.$o niwrite.$o
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/psmake/cpfiles new/schily-2020-03-11/psmake/cpfiles
--- old/schily-2020-02-11/psmake/cpfiles        2019-02-28 00:52:45.000000000 
+0100
+++ new/schily-2020-03-11/psmake/cpfiles        2020-02-26 22:09:11.000000000 
+0100
@@ -1,5 +1,5 @@
 #!/bin/sh
-# @(#)cpfiles  1.34 19/02/28 Copyright 1999-2019 J. Schilling
+# @(#)cpfiles  1.35 20/02/26 Copyright 1999-2019 J. Schilling
 
 cp='cp -p'
 smake=smake
@@ -136,6 +136,7 @@
 $cp ${incsrc}/${lib}/jsprintf.c                jsprintf.c
 $cp ${incsrc}/${lib}/jssnprintf.c              jssnprintf.c
 $cp ${incsrc}/${lib}/uname.c           uname.c
+$cp ${incsrc}/${lib}/unsetenv.c                unsetenv.c
 $cp ${incsrc}/${lib}/stdio/cvmod.c     cvmod.c
 $cp ${incsrc}/${lib}/stdio/fcons.c     fcons.c
 $cp ${incsrc}/${lib}/stdio/file_raise.c        file_raise.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/psmake/lnfiles new/schily-2020-03-11/psmake/lnfiles
--- old/schily-2020-02-11/psmake/lnfiles        2019-02-28 00:52:27.000000000 
+0100
+++ new/schily-2020-03-11/psmake/lnfiles        2020-02-26 22:09:17.000000000 
+0100
@@ -1,5 +1,5 @@
 #!/bin/sh
-# @(#)lnfiles  1.34 19/02/28 Copyright 1999-2019 J. Schilling
+# @(#)lnfiles  1.35 20/02/26 Copyright 1999-2019 J. Schilling
 
 cp='ln -s'
 smake=smake
@@ -136,6 +136,7 @@
 $cp ${incsrc}/${lib}/jsprintf.c        jsprintf.c
 $cp ${incsrc}/${lib}/jssnprintf.c      jssnprintf.c
 $cp ${incsrc}/${lib}/uname.c           uname.c
+$cp ${incsrc}/${lib}/unsetenv.c                unsetenv.c
 $cp ${incsrc}/${lib}/stdio/cvmod.c     cvmod.c
 $cp ${incsrc}/${lib}/stdio/fcons.c     fcons.c
 $cp ${incsrc}/${lib}/stdio/file_raise.c        file_raise.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/psmake/rmlinks new/schily-2020-03-11/psmake/rmlinks
--- old/schily-2020-02-11/psmake/rmlinks        2019-02-28 00:53:03.000000000 
+0100
+++ new/schily-2020-03-11/psmake/rmlinks        2020-02-26 22:09:32.000000000 
+0100
@@ -1,5 +1,5 @@
 #!/bin/sh
-# @(#)rmlinks  1.31 19/02/28 Copyright 1999-2019 J. Schilling
+# @(#)rmlinks  1.32 20/02/26 Copyright 1999-2019 J. Schilling
 
 rm -f archconf.c
 rm -f job.c
@@ -110,6 +110,7 @@
 rm -f rename.c
 rm -f searchinpath.c
 rm -f uname.c
+rm -f unsetenv.c
 rm -f cvmod.c
 rm -f fcons.c
 rm -f file_raise.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/sh/Makefile new/schily-2020-03-11/sh/Makefile
--- old/schily-2020-02-11/sh/Makefile   2019-11-12 23:58:39.000000000 +0100
+++ new/schily-2020-03-11/sh/Makefile   2020-03-05 20:59:26.000000000 +0100
@@ -1,4 +1,4 @@
-#ident "@(#)Makefile   1.159 19/11/12  Copyright (c) 2006-2019 J. Schilling"
+#ident "@(#)Makefile   1.161 20/03/05  Copyright (c) 2006-2020 J. Schilling"
 ###########################################################################
 SRCROOT=       ..
 RULESDIR=      RULES
@@ -50,6 +50,7 @@
 CPPOPTS +=     -DDO_READ_R             # Include support for read -r
 CPPOPTS +=     -DDO_SET_O              # Include support for set -o
 CPPOPTS +=     -DDO_MULTI_OPT          # Include support for sh -v -x / set -v 
-x
+CPPOPTS +=     -DDO_MONITOR_SCRIPT     # Allow to set jobconrol in shell 
scripts
 CPPOPTS +=     -DDO_UMASK_S            # Include support for umask -S
 CPPOPTS +=     -DDO_CHECKBINARY        # Check scripts for binary (\0 before 
\n)
 CPPOPTS +=     -DDO_GETOPT_LONGONLY    # Include support for getopts 
"?900?(lo)"
@@ -58,6 +59,7 @@
 CPPOPTS +=     -DDO_GETOPT_UTILS       # Include support for -- in all builtins
 CPPOPTS +=     -DDO_POSIX_FOR          # Support for i; do .... with semicolon
 CPPOPTS +=     -DDO_POSIX_CASE         # Support for POSIX case with _(_ pat )
+CPPOPTS +=     -DDO_FALLTHR_CASE       # Support for fallthrough case with ;&
 CPPOPTS +=     -DDO_POSIX_GMATCH       # Support for POSIX [:alpha:] ...
 #CPPOPTS +=    -DGMATCH_CLERR_NORM     # Handle glob class error as normal char
 CPPOPTS +=     -DDO_POSIX_TYPE         # Report keywords as well
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/sh/args.c new/schily-2020-03-11/sh/args.c
--- old/schily-2020-02-11/sh/args.c     2020-01-29 20:45:09.000000000 +0100
+++ new/schily-2020-03-11/sh/args.c     2020-02-18 20:54:13.000000000 +0100
@@ -41,11 +41,11 @@
 /*
  * Copyright 2008-2020 J. Schilling
  *
- * @(#)args.c  1.93 20/01/29 2008-2020 J. Schilling
+ * @(#)args.c  1.94 20/02/18 2008-2020 J. Schilling
  */
 #ifndef lint
 static UConst char sccsid[] =
-       "@(#)args.c     1.93 20/01/29 2008-2020 J. Schilling";
+       "@(#)args.c     1.94 20/02/18 2008-2020 J. Schilling";
 #endif
 
 /*
@@ -531,7 +531,15 @@
 #endif
                                        if (fv == errflg)
                                                eflag = errflg;
-#ifdef EXECATTR_FILENAME
+
+#ifdef DO_MONITOR_SCRIPT
+                                       if (fv == monitorflg &&
+                                           (flags & jcflg) == 0) {
+                                               startjobs();
+                                       }
+#endif
+
+#ifdef EXECATTR_FILENAME               /* from <exec_attr.h> */
                                        if (fv == pfshflg)
                                                secpolicy_init();
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/sh/cmd.c new/schily-2020-03-11/sh/cmd.c
--- old/schily-2020-02-11/sh/cmd.c      2020-01-28 23:40:29.000000000 +0100
+++ new/schily-2020-03-11/sh/cmd.c      2020-03-05 21:02:28.000000000 +0100
@@ -38,11 +38,11 @@
 /*
  * Copyright 2008-2020 J. Schilling
  *
- * @(#)cmd.c   1.51 20/01/28 2008-2020 J. Schilling
+ * @(#)cmd.c   1.52 20/03/05 2008-2020 J. Schilling
  */
 #ifndef lint
 static UConst char sccsid[] =
-       "@(#)cmd.c      1.51 20/01/28 2008-2020 J. Schilling";
+       "@(#)cmd.c      1.52 20/03/05 2008-2020 J. Schilling";
 #endif
 
 /*
@@ -313,6 +313,7 @@
                struct argnod *argp;
 
                r->regptr = 0;
+               r->regflag = 0;
 #ifdef DO_POSIX_CASE
                if (wdval == '(')
                        skipnl(0);
@@ -349,9 +350,14 @@
                }
                wdset &= ~IN_CASE;
                r->regcom = cmd(0, NLFLG | MTFLG);
-               if (wdval == ECSYM)
+               if (wdval == ECSYM) {
                        r->regnxt = syncase(esym);
-               else {
+#ifdef DO_FALLTHR_CASE 
+               } else if (wdval == ECASYM) {
+                       r->regnxt = syncase(esym);
+                       r->regflag++;
+#endif
+               } else {
                        chksym(esym);
                        r->regnxt = 0;
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/sh/func.c new/schily-2020-03-11/sh/func.c
--- old/schily-2020-02-11/sh/func.c     2019-01-13 18:48:57.000000000 +0100
+++ new/schily-2020-03-11/sh/func.c     2020-03-05 20:54:09.000000000 +0100
@@ -35,13 +35,13 @@
 #include "defs.h"
 
 /*
- * Copyright 2008-2019 J. Schilling
+ * Copyright 2008-2020 J. Schilling
  *
- * @(#)func.c  1.36 19/01/13 2008-2019 J. Schilling
+ * @(#)func.c  1.37 20/03/05 2008-2020 J. Schilling
  */
 #ifndef lint
 static UConst char sccsid[] =
-       "@(#)func.c     1.36 19/01/13 2008-2019 J. Schilling";
+       "@(#)func.c     1.37 20/03/05 2008-2020 J. Schilling";
 #endif
 
 /*
@@ -642,7 +642,10 @@
 
                                prs_buff(UC ")");
                                prf(swl->regcom);
-                               prs_buff(UC ";;");
+                               if (swl->regflag)
+                                       prs_buff(UC ";&");
+                               else
+                                       prs_buff(UC ";;");
                                swl = swl->regnxt;
                        }
                        prs_buff(UC " esac");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/sh/mode.h new/schily-2020-03-11/sh/mode.h
--- old/schily-2020-02-11/sh/mode.h     2018-10-07 23:48:30.000000000 +0200
+++ new/schily-2020-03-11/sh/mode.h     2020-03-05 20:55:18.000000000 +0100
@@ -35,9 +35,9 @@
 #define        _MODE_H
 
 /*
- * Copyright 2008-2018 J. Schilling
+ * Copyright 2008-2020 J. Schilling
  *
- * @(#)mode.h  1.28 18/10/07 2008-2018 J. Schilling
+ * @(#)mode.h  1.29 20/03/05 2008-2020 J. Schilling
  */
 
 /*
@@ -292,6 +292,7 @@
        struct argnod   *regptr;
        struct trenod   *regcom;
        struct regnod   *regnxt;
+       char            regflag;
 };
 
 /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/sh/sh.1 new/schily-2020-03-11/sh/sh.1
--- old/schily-2020-02-11/sh/sh.1       2020-01-24 00:32:04.000000000 +0100
+++ new/schily-2020-03-11/sh/sh.1       2020-03-05 21:06:31.000000000 +0100
@@ -1,5 +1,5 @@
 '\" te
-.\" @(#)sh.1   1.249 20/01/24 Copyright 2012-2020 J. Schilling
+.\" @(#)sh.1   1.250 20/03/05 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/01/24" "Schily Bourne Shell" "User Commands"
+.TH sh 1 "2020/03/05" "Schily Bourne Shell" "User Commands"
 .SH NAME
 sh, bosh, jsh \- standard and job control shell and command interpreter
 .SH SYNOPSIS
@@ -534,6 +534,16 @@
 section), except that a slash, a leading dot, or a dot immediately following
 a slash need not be matched explicitly.
 .sp
+The
+.B ;;
+operator causes execution of case to terminate.
+If
+.B ;& 
+is used in place of
+.B ;;
+the next subsequent list, if any, is executed.
+This causes a fall through to the next command list.
+.sp
 When not in 
 .B POSIX
 mode,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/sh/sym.h new/schily-2020-03-11/sh/sym.h
--- old/schily-2020-02-11/sh/sym.h      2017-08-01 00:52:31.000000000 +0200
+++ new/schily-2020-03-11/sh/sym.h      2020-03-05 20:52:10.000000000 +0100
@@ -27,8 +27,8 @@
 #pragma ident  "@(#)sym.h      1.8     05/06/08 SMI"   /* SVr4.0 1.6   */
 #endif
 /*
- * Copyright 2009-2017 J. Schilling
- * @(#)sym.h   1.11 17/08/01 2009-2017 J. Schilling
+ * Copyright 2009-2020 J. Schilling
+ * @(#)sym.h   1.12 20/03/05 2009-2020 J. Schilling
  */
 /*
  *     UNIX shell
@@ -61,6 +61,8 @@
 #define        ORFSYM  (SYMREP|'|')    /* "||"         */
 #define        APPSYM  (SYMREP|'>')    /* ">>"         */
 #define        DOCSYM  (SYMREP|'<')    /* "<<"         */
+#define        SYMALT  01000           /* additional symbols */
+#define        ECASYM  (SYMALT|'&')    /* ";&"         */
 #define        EOFSYM  02000
 #define        SYMFLG  0400            /* reserved symbols (see above) */
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/sh/word.c new/schily-2020-03-11/sh/word.c
--- old/schily-2020-02-11/sh/word.c     2019-10-04 22:14:53.000000000 +0200
+++ new/schily-2020-03-11/sh/word.c     2020-03-05 21:01:19.000000000 +0100
@@ -36,13 +36,13 @@
 #include "defs.h"
 
 /*
- * Copyright 2008-2019 J. Schilling
+ * Copyright 2008-2020 J. Schilling
  *
- * @(#)word.c  1.102 19/10/04 2008-2019 J. Schilling
+ * @(#)word.c  1.103 20/03/05 2008-2020 J. Schilling
  */
 #ifndef lint
 static UConst char sccsid[] =
-       "@(#)word.c     1.102 19/10/04 2008-2019 J. Schilling";
+       "@(#)word.c     1.103 20/03/05 2008-2020 J. Schilling";
 #endif
 
 /*
@@ -213,6 +213,10 @@
                                else
                                        peekn = d | MARK;
                        }
+#ifdef DO_FALLTHR_CASE 
+               } else if (c == ';' && d == '&') {
+                       wdval = ECASYM;
+#endif
                } else {
                        peekn = d | MARK;
                        wdval = c;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/sh/xec.c new/schily-2020-03-11/sh/xec.c
--- old/schily-2020-02-11/sh/xec.c      2019-10-05 16:20:16.000000000 +0200
+++ new/schily-2020-03-11/sh/xec.c      2020-03-06 01:20:02.000000000 +0100
@@ -36,13 +36,13 @@
 #include "defs.h"
 
 /*
- * Copyright 2008-2019 J. Schilling
+ * Copyright 2008-2020 J. Schilling
  *
- * @(#)xec.c   1.112 19/10/05 2008-2019 J. Schilling
+ * @(#)xec.c   1.114 20/03/06 2008-2020 J. Schilling
  */
 #ifndef lint
 static UConst char sccsid[] =
-       "@(#)xec.c      1.112 19/10/05 2008-2019 J. Schilling";
+       "@(#)xec.c      1.114 20/03/06 2008-2020 J. Schilling";
 #endif
 
 /*
@@ -1168,56 +1168,60 @@
 
                case TSW:               /* "case command */
                        {
-                               unsigned char   *r = mactrim(swptr(t)->swarg);
-                               struct regnod *regp;
+                       unsigned char   *r = mactrim(swptr(t)->swarg);
+                       struct regnod *regp;
 
 #ifdef DO_POSIX_CASE
-                               exitval = 0;
-                               exval_clear();
+                       exitval = 0;
+                       exval_clear();
 #endif
 #ifdef CASE_XPRINT
-                               if (flags & execpr)
-                                       cprint(UC "case", r, UC "in");
+                       if (flags & execpr)
+                               cprint(UC "case", r, UC "in");
 #endif
-                               regp = swptr(t)->swlst;
-                               while (regp) {
-                                       struct argnod *rex = regp->regptr;
+                       regp = swptr(t)->swlst;
+                       while (regp) {
+                               struct argnod *rex = regp->regptr;
 
-                                       while (rex) {
-                                               unsigned char   *s;
+                               while (rex) {
+                                       unsigned char   *s;
 
-                                               s = macro(rex->argval);
-                                               /*
-                                                * Make 'case "" in "")' work.
-                                                * See AT&T hack in _macro() and
-                                                * quoted nul removal in trims()
-                                                */
-                                               if (s[0] == '\\' &&
-                                                   s[1] == '\0')
-                                                       s++;
+                                       s = macro(rex->argval);
+                                       /*
+                                        * Make 'case "" in "")' work.
+                                        * See AT&T hack in _macro() and
+                                        * quoted nul removal in trims()
+                                        */
+                                       if (s[0] == '\\' &&
+                                           s[1] == '\0')
+                                               s++;
 #ifdef CASE_XPRINT
-                                               if (flags & execpr)
-                                                       cprint(s, UC ")",
-                                                               UC "...");
-#endif
-                                               if (gmatch((char *)r,
-                                                               (char *)s) ||
-                                                   ((flags2 & posixflg) == 0 &&
-                                                   (trim(s), eq(r, s)))) {
-                                                       execute(regp->regcom,
-                                                               XEC_NOSTOP,
-                                                               errorflg,
-                                                               no_pipe,
-                                                               no_pipe);
-                                                       regp = 0;
-                                                       break;
-                                               }
-                                               else
-                                                       rex = rex->argnxt;
+                                       if (flags & execpr)
+                                               cprint(s, UC ")",
+                                                       UC "...");
+#endif
+                                       if (gmatch((char *)r,
+                                                       (char *)s) ||
+                                           ((flags2 & posixflg) == 0 &&
+                                           (trim(s), eq(r, s)))) {
+                                               do {
+                                                   execute(regp->regcom,
+                                                       XEC_NOSTOP,
+                                                       errorflg,
+                                                       no_pipe,
+                                                       no_pipe);
+                                               } while (regp->regflag &&
+                                                   (regp =
+                                                   regp->regnxt));
+                                               regp = 0;
+                                               break;
+                                       } else {
+                                               rex = rex->argnxt;
                                        }
-                                       if (regp)
-                                               regp = regp->regnxt;
                                }
+                               if (regp)
+                                       regp = regp->regnxt;
+                       }
                        }
                        break;
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/star/star.1 new/schily-2020-03-11/star/star.1
--- old/schily-2020-02-11/star/star.1   2020-02-04 21:42:48.000000000 +0100
+++ new/schily-2020-03-11/star/star.1   2020-02-14 01:23:18.000000000 +0100
@@ -1,4 +1,4 @@
-. \" @(#)star.1        1.229 20/02/04 Copyr 1982-2020 J. Schilling
+. \" @(#)star.1        1.230 20/02/14 Copyr 1982-2020 J. Schilling
 . \"  Manual Seite fuer star
 . \"
 .if t .ds a \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'a
@@ -16,7 +16,7 @@
 .if n .ds U Ue
 .if n .ds s sz
 .ds S SS
-.TH STAR 1 "2020/02/04" "J\*org Schilling" "Schily\'s USER COMMANDS"
+.TH STAR 1 "2020/02/14" "J\*org Schilling" "Schily\'s USER COMMANDS"
 .SH NAME
 star \- unique standard tape archiver
 .SH SYNOPSIS
@@ -6044,7 +6044,6 @@
 .SH AUTHOR
 .nf
 J\*org Schilling
-Seestr. 110
 D\-13353 Berlin
 Germany
 .fi
@@ -6070,7 +6069,7 @@
 .B
     http://sourceforge.net/projects/s-tar/files/
 .LP
-Frequent development snapshots of the
+The preferred frequent development snapshots of the
 .B star
 source are also included in the
 .B schilytools
@@ -6088,4 +6087,5 @@
 .LP
 Check for the
 .B schily\-*.tar.bz2
-archives.
+archives and please use the latter download in favor of old so called stable
+star releases in separate tarballs.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/strar/strar.1 new/schily-2020-03-11/strar/strar.1
--- old/schily-2020-02-11/strar/strar.1 2018-08-14 22:29:29.000000000 +0200
+++ new/schily-2020-03-11/strar/strar.1 2020-02-07 11:29:51.000000000 +0100
@@ -1,4 +1,4 @@
-. \" @(#)strar.1       1.4 18/08/14 Copyr 2017-2018 J. Schilling
+. \" @(#)strar.1       1.5 20/02/07 Copyr 2017-2020 J. Schilling
 . \"  Manual Seite fuer strar
 . \"
 .if t .ds a \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'a
@@ -16,7 +16,7 @@
 .if n .ds U Ue
 .if n .ds s sz
 .ds S SS
-.TH STRAR 1 "2018/08/14" "J\*org Schilling" "Schily\'s USER COMMANDS"
+.TH STRAR 1 "2020/02/07" "J\*org Schilling" "Schily\'s USER COMMANDS"
 .SH NAME
 strar \- StreamArchive handler
 .SH SYNOPSIS
@@ -177,7 +177,6 @@
 .SH AUTHOR
 .nf
 J\*org Schilling
-Seestr. 110
 D\-13353 Berlin
 Germany
 .fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/schily-2020-02-11/ved/map.c new/schily-2020-03-11/ved/map.c
--- old/schily-2020-02-11/ved/map.c     2019-11-23 23:22:21.000000000 +0100
+++ new/schily-2020-03-11/ved/map.c     2020-02-27 22:48:27.000000000 +0100
@@ -1,13 +1,13 @@
-/* @(#)map.c   1.41 19/11/23 Copyright 1986-2018 J. Schilling */
+/* @(#)map.c   1.42 20/02/27 Copyright 1986-2020 J. Schilling */
 #include <schily/mconfig.h>
 #ifndef lint
 static UConst char sccsid[] =
-       "@(#)map.c      1.41 19/11/23 Copyright 1986-2018 J. Schilling";
+       "@(#)map.c      1.42 20/02/27 Copyright 1986-2020 J. Schilling";
 #endif
 /*
  *     The map package for BSH & VED
  *
- *     Copyright (c) 1986-2018 J. Schilling
+ *     Copyright (c) 1986-2020 J. Schilling
  */
 /*
  * The contents of this file are subject to the terms of the
@@ -671,6 +671,9 @@
        return (NULL); /* XXX NOTREACHED ??? */
 }
 
+/*
+ * Check whether a mapping for "nm" already exists in out current map tables.
+ */
 LOCAL BOOL
 _has_map(mn)
        Uchar   *mn;
@@ -687,6 +690,13 @@
        return (FALSE);
 }
 
+/*
+ * Install a fallback mapping in case no other mapping for the "from" string
+ * has been been set up yet.
+ *
+ * This allows ved/bsh/bosh to work nicely even when the user did not yet
+ * install own rc files with mappings in his $HOME.
+ */
 LOCAL BOOL
 fallback_map(from, to, comment)
        char    *from;


Reply via email to