texlive[44732] Build/source/utils: autosp 2017-06-21

commits+kakuto at tug.org commits+kakuto at tug.org
Sat Jul 1 10:43:32 CEST 2017


Revision: 44732
          http://tug.org/svn/texlive?view=revision&revision=44732
Author:   kakuto
Date:     2017-07-01 10:43:32 +0200 (Sat, 01 Jul 2017)
Log Message:
-----------
autosp 2017-06-21

Modified Paths:
--------------
    trunk/Build/source/utils/README
    trunk/Build/source/utils/autosp/ChangeLog
    trunk/Build/source/utils/autosp/autosp-src/ChangeLog
    trunk/Build/source/utils/autosp/autosp-src/INSTALL
    trunk/Build/source/utils/autosp/autosp-src/Makefile.am
    trunk/Build/source/utils/autosp/autosp-src/Makefile.in
    trunk/Build/source/utils/autosp/autosp-src/README
    trunk/Build/source/utils/autosp/autosp-src/aclocal.m4
    trunk/Build/source/utils/autosp/autosp-src/autosp.1
    trunk/Build/source/utils/autosp/autosp-src/autosp.c
    trunk/Build/source/utils/autosp/autosp-src/compile
    trunk/Build/source/utils/autosp/autosp-src/configure
    trunk/Build/source/utils/autosp/autosp-src/configure.ac
    trunk/Build/source/utils/autosp/autosp-src/depcomp
    trunk/Build/source/utils/autosp/autosp-src/install-sh
    trunk/Build/source/utils/autosp/autosp-src/missing
    trunk/Build/source/utils/autosp/autosp-src/rebar.c
    trunk/Build/source/utils/autosp/autosp-src/tests/quod2.aspc
    trunk/Build/source/utils/autosp/autosp-src/tests/quod2.tex
    trunk/Build/source/utils/autosp/autosp-src/tests/quod3.aspc
    trunk/Build/source/utils/autosp/configure
    trunk/Build/source/utils/autosp/configure.ac

Added Paths:
-----------
    trunk/Build/source/utils/autosp/autosp-src/test-driver

Modified: trunk/Build/source/utils/README
===================================================================
--- trunk/Build/source/utils/README	2017-07-01 00:17:44 UTC (rev 44731)
+++ trunk/Build/source/utils/README	2017-07-01 08:43:32 UTC (rev 44732)
@@ -10,7 +10,7 @@
   see http://tug.org/texlive/build.html#asymptote
   and tlpkg/bin/tl-update-asy
 
-autosp 2016-11-02 - checked 28feb17
+autosp 2017-06-21 - checked 01jul17
   http://ctan.org/pkg/autosp
 
 devnag - from devanagari package installed in texmf-dist.

Modified: trunk/Build/source/utils/autosp/ChangeLog
===================================================================
--- trunk/Build/source/utils/autosp/ChangeLog	2017-07-01 00:17:44 UTC (rev 44731)
+++ trunk/Build/source/utils/autosp/ChangeLog	2017-07-01 08:43:32 UTC (rev 44732)
@@ -1,3 +1,8 @@
+2017-07-01  Akira Kakuto  <kakuto at fuk.kindai.ac.jp>
+
+	* Import autosp-2017-06-21
+	configure.ac: Adapted.
+
 2017-04-07  Norbert Preining  <norbert at preining.info>
 
 	* Import autosp-2017-04-06

Modified: trunk/Build/source/utils/autosp/autosp-src/ChangeLog
===================================================================
--- trunk/Build/source/utils/autosp/autosp-src/ChangeLog	2017-07-01 00:17:44 UTC (rev 44731)
+++ trunk/Build/source/utils/autosp/autosp-src/ChangeLog	2017-07-01 08:43:32 UTC (rev 44732)
@@ -1,6 +1,16 @@
 AUTOSP
 
+  Support for global skips within collective-coding
+    sequences by using commas between notes.
+  Automatic added spacing for accidentals on beamed sixteenth notes 
+    and smaller.
+
+2017-06-14
+
   \hl distinguished from \hloff
+  \TransformNotes implemented in the pre-processor
+  Output file-name extension changed to .ltx if \documentclass encountered
+  Support for global skips \QQsk, \HQsk, \TQsk, \Qsk
 
 2016-11-02
 

Modified: trunk/Build/source/utils/autosp/autosp-src/INSTALL
===================================================================
--- trunk/Build/source/utils/autosp/autosp-src/INSTALL	2017-07-01 00:17:44 UTC (rev 44731)
+++ trunk/Build/source/utils/autosp/autosp-src/INSTALL	2017-07-01 08:43:32 UTC (rev 44732)
@@ -1,8 +1,8 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
+Inc.
 
    Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -226,6 +226,11 @@
 
 and if that doesn't work, install pre-built binaries of GCC for HP-UX.
 
+   HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved.  Use GNU `make'
+instead.
+
    On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
 parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
 a workaround.  If GNU CC is not installed, it is therefore recommended
@@ -304,9 +309,10 @@
 overridden in the site shell script).
 
 Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf bug.  Until the bug is fixed you can use this workaround:
+an Autoconf limitation.  Until the limitation is lifted, you can use
+this workaround:
 
-     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
 
 `configure' Invocation
 ======================
@@ -362,4 +368,3 @@
 
 `configure' also accepts some other, not widely useful, options.  Run
 `configure --help' for more details.
-

Modified: trunk/Build/source/utils/autosp/autosp-src/Makefile.am
===================================================================
--- trunk/Build/source/utils/autosp/autosp-src/Makefile.am	2017-07-01 00:17:44 UTC (rev 44731)
+++ trunk/Build/source/utils/autosp/autosp-src/Makefile.am	2017-07-01 08:43:32 UTC (rev 44732)
@@ -1,16 +1,16 @@
-bin_PROGRAMS = autosp rebar
+bin_PROGRAMS = autosp rebar 
 autosp_SOURCES = utils.h utils.c autosp.c 
 rebar_SOURCES = utils.h utils.c rebar.c
 AM_CFLAGS = -O4 -ansi -Wall -Wextra -pedantic-errors
-dist_man_MANS = autosp.1 rebar.1
+dist_man_MANS = autosp.1 rebar.1 
 ## Tests
 ##
-TESTS =  autosp.test rebar.test
+TESTS =  autosp.test rebar.test 
 
 EXTRA_DIST =
 EXTRA_DIST += $(TESTS)
 DISTCLEANFILES =
 
-EXTRA_DIST += tests/quod2.aspc tests/quod2.tex  tests/quod3.aspc
+EXTRA_DIST += tests/quod2.aspc tests/quod2.tex  tests/quod3.aspc 
 DISTCLEANFILES += quod2.* quod3.*
 

Modified: trunk/Build/source/utils/autosp/autosp-src/Makefile.in
===================================================================
(Binary files differ)

Modified: trunk/Build/source/utils/autosp/autosp-src/README
===================================================================
--- trunk/Build/source/utils/autosp/autosp-src/README	2017-07-01 00:17:44 UTC (rev 44731)
+++ trunk/Build/source/utils/autosp/autosp-src/README	2017-07-01 08:43:32 UTC (rev 44732)
@@ -1,5 +1,5 @@
 This is the README for the autosp package, 
-version 2017-04-06.
+version 2017-06-21.
 
 autosp is a preprocessor that generates note-spacing
 commands for MusiXTeX scores. It simplifies the creation
@@ -39,8 +39,8 @@
 
 Spacing commands \sk and \hsk in the source are discarded,
 but not \qsk, \hqsk or \qqsk; moreover non-standard commands
-\Qsk, \HQsk and \QQsk generate "global" skips; i.e., the
-effect of \qsk, \hqsk or \qqsk in *every* staff.
+\Qsk, \TQsk, \HQsk and \QQsk generate "global" skips; i.e., the
+effect of \qsk, \tqsk, \hqsk or \qqsk in *every* staff.
 
 A note segment can be completely empty, but if a note
 segment should start with or contain a "space," the
@@ -47,6 +47,11 @@
 note-value of that space must be made explicit with a
 command of the form \ha{*}, \qa{.*}, \qa{*}, \ca{*}, etc.
 
+From version 2017-06-14, the effects of \TransformNotes calls are
+implemented by the pre-processor. This enables use of autosp with
+musixlyr.tex, which is incompatible with the musixtnt.tex implementation
+of \TransformNotes.
+
 All other conventional MusiXTeX commands are output exactly
 as given in the input.
 

Modified: trunk/Build/source/utils/autosp/autosp-src/aclocal.m4
===================================================================
--- trunk/Build/source/utils/autosp/autosp-src/aclocal.m4	2017-07-01 00:17:44 UTC (rev 44731)
+++ trunk/Build/source/utils/autosp/autosp-src/aclocal.m4	2017-07-01 08:43:32 UTC (rev 44732)
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.13.4 -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -11,6 +11,7 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
@@ -17,9 +18,9 @@
 [m4_warning([this file was generated for autoconf 2.69.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2002-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -31,10 +32,10 @@
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
+[am__api_version='1.13'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.1], [],
+m4_if([$1], [1.13.4], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -50,7 +51,7 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
+[AM_AUTOMAKE_VERSION([1.13.4])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -57,7 +58,7 @@
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -64,8 +65,8 @@
 # with or without modifications, as long as this notice is preserved.
 
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
 #
 # Of course, Automake must honor this variable whenever it calls a
 # tool from the auxiliary directory.  The problem is that $srcdir (and
@@ -84,7 +85,7 @@
 #
 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
 # are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
 # start a VPATH build or use an absolute $srcdir.
 #
 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -110,22 +111,19 @@
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
-
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -144,16 +142,14 @@
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 10
 
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
 # will think it sees a *use*, and therefore will trigger all it's
 # C support machinery.  Also note that it means that autoscan, seeing
@@ -163,7 +159,7 @@
 # _AM_DEPENDENCIES(NAME)
 # ----------------------
 # See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
 # We try a few techniques and use that to set a single cache variable.
 #
 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -176,12 +172,13 @@
 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
 AC_REQUIRE([AM_DEP_TRACK])dnl
 
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
+m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
+      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
+      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
+      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                    [depcc="$$1"   am_compiler_list=])
 
 AC_CACHE_CHECK([dependency style of $depcc],
                [am_cv_$1_dependencies_compiler_type],
@@ -189,8 +186,9 @@
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -229,16 +227,16 @@
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -247,8 +245,8 @@
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
@@ -255,8 +253,8 @@
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -304,7 +302,7 @@
 # AM_SET_DEPDIR
 # -------------
 # Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
 AC_DEFUN([AM_SET_DEPDIR],
 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -314,34 +312,39 @@
 # AM_DEP_TRACK
 # ------------
 AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+  [--enable-dependency-tracking],
+  [do not reject slow dependency extractors])
+AS_HELP_STRING(
+  [--disable-dependency-tracking],
+  [speeds up one-time build])])
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
+  am__nodep='_no'
 fi
 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
 AC_SUBST([AMDEPBACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
 ])
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-#serial 5
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 [{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # Older Autoconf quotes --file arguments for eval, but not when files
   # are listed without --file.  Let's play safe and only enable the eval
   # if we detect the quoting.
   case $CONFIG_FILES in
@@ -354,7 +357,7 @@
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -366,14 +369,12 @@
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
+    test -z "$am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
@@ -380,7 +381,7 @@
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`AS_DIRNAME(["$file"])`
@@ -398,7 +399,7 @@
 # This macro should only be invoked once -- use via AC_REQUIRE.
 #
 # This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
+# is enabled.  FIXME.  This creates each '.P' file that we will
 # need in order to bootstrap the dependency handling code.
 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 [AC_CONFIG_COMMANDS([depfiles],
@@ -408,15 +409,12 @@
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 16
-
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
 
@@ -432,7 +430,7 @@
 # arguments mandatory, and then we can depend on a new Autoconf
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
+[AC_PREREQ([2.65])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -461,31 +459,40 @@
 # Define the identity of the package.
 dnl Distinguish between old-style and new-style calls.
 m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+             [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
  AC_SUBST([PACKAGE], [$1])dnl
  AC_SUBST([VERSION], [$2])],
 [_AM_SET_OPTIONS([$1])dnl
 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+m4_if(
+  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+  [ok:ok],,
   [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
 
 _AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
 
 # Some tools Automake needs.
 AC_REQUIRE([AM_SANITY_CHECK])dnl
 AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
@@ -496,28 +503,32 @@
 			     [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-		  [_AM_DEPENDENCIES(CC)],
-		  [define([AC_PROG_CC],
-			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+		  [_AM_DEPENDENCIES([CC])],
+		  [m4_define([AC_PROG_CC],
+			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-		  [_AM_DEPENDENCIES(CXX)],
-		  [define([AC_PROG_CXX],
-			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+		  [_AM_DEPENDENCIES([CXX])],
+		  [m4_define([AC_PROG_CXX],
+			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-		  [_AM_DEPENDENCIES(OBJC)],
-		  [define([AC_PROG_OBJC],
-			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+		  [_AM_DEPENDENCIES([OBJC])],
+		  [m4_define([AC_PROG_OBJC],
+			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+		  [_AM_DEPENDENCIES([OBJCXX])],
+		  [m4_define([AC_PROG_OBJCXX],
+			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
 ])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
 ])
 
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
 dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
@@ -545,7 +556,7 @@
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -564,16 +575,14 @@
     install_sh="\${SHELL} $am_aux_dir/install-sh"
   esac
 fi
-AC_SUBST(install_sh)])
+AC_SUBST([install_sh])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # Check whether the underlying file-system supports filenames
 # with a leading dot.  For instance MS-DOS doesn't.
 AC_DEFUN([AM_SET_LEADING_DOT],
@@ -589,14 +598,12 @@
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
-
 # AM_MAKE_INCLUDE()
 # -----------------
 # Check to see how make treats includes.
@@ -614,7 +621,7 @@
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -639,15 +646,12 @@
 rm -f confinc confmf
 ])
 
-# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
-
 # AM_PROG_CC_C_O
 # --------------
 # Like AC_PROG_CC_C_O, but changed for automake.
@@ -676,15 +680,12 @@
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
-
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
 AC_DEFUN([AM_MISSING_PROG],
@@ -692,11 +693,10 @@
 $1=${$1-"${am_missing_run}$2"}
 AC_SUBST($1)])
 
-
 # AM_MISSING_HAS_RUN
 # ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
 AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
@@ -709,50 +709,22 @@
   esac
 fi
 # Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
+if eval "$MISSING --is-lightweight"; then
+  am_missing_run="$MISSING "
 else
   am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
+  AC_MSG_WARN(['missing' script is too old or missing])
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
-
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
 AC_DEFUN([_AM_MANGLE_OPTION],
@@ -759,13 +731,13 @@
 [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
 
 # _AM_SET_OPTION(NAME)
-# ------------------------------
+# --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
 
 # _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
+# ------------------------
 # OPTIONS is a space-separated list of Automake options.
 AC_DEFUN([_AM_SET_OPTIONS],
 [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
@@ -778,22 +750,16 @@
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
-
 # AM_SANITY_CHECK
 # ---------------
 AC_DEFUN([AM_SANITY_CHECK],
 [AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -804,32 +770,40 @@
 esac
 case $srcdir in
   *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$[*]" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$[*]" != "X $srcdir/configure conftest.file" \
+	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
 
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment])
+     fi
+     if test "$[2]" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$[2]" = conftest.file
    )
 then
@@ -839,29 +813,78 @@
    AC_MSG_ERROR([newly created file is older than distributed files!
 Check your system clock])
 fi
-AC_MSG_RESULT(yes)])
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+  [AC_MSG_CHECKING([that generated files are newer than configure])
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
 
-# Copyright (C) 2009  Free Software Foundation, Inc.
+# Copyright (C) 2009-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
-
 # AM_SILENT_RULES([DEFAULT])
 # --------------------------
 # Enable less verbose build rules; with the default set to DEFAULT
-# (`yes' being less verbose, `no' or empty being verbose).
+# ("yes" being less verbose, "no" or empty being verbose).
 AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules],
-[  --enable-silent-rules          less verbose build output (undo: `make V=1')
-  --disable-silent-rules         verbose build output (undo: `make V=0')])
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no)  AM_DEFAULT_VERBOSITY=1;;
-*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+  [--enable-silent-rules],
+  [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+  [--disable-silent-rules],
+  [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+  yes) AM_DEFAULT_VERBOSITY=0;;
+   no) AM_DEFAULT_VERBOSITY=1;;
+    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
 esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+   [am_cv_make_support_nested_variables],
+   [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+  dnl Using '$V' instead of '$(V)' breaks IRIX make.
+  AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
 AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
 AM_BACKSLASH='\'
 AC_SUBST([AM_BACKSLASH])dnl
@@ -868,7 +891,7 @@
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -876,20 +899,20 @@
 
 # AM_PROG_INSTALL_STRIP
 # ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
 # is unlikely to handle the host's binaries.
 # Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
@@ -896,14 +919,12 @@
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@@ -911,24 +932,22 @@
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2004-2013 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
-
 # _AM_PROG_TAR(FORMAT)
 # --------------------
 # Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
 #
 # Substitute a variable $(am__tar) that is a command
 # writing to stdout a FORMAT-tarball containing the directory
@@ -938,75 +957,114 @@
 # Substitute a variable $(am__untar) that extract such
 # a tarball read from stdin.
 #     $(am__untar) < result.tar
+#
 AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+[# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+
+# We'll loop over all known methods to create a tar archive until one works.
 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
 
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
 
-  # tar/untar a dummy directory, and stop if the command works
+  [m4_case([$1],
+    [ustar],
+     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+      # There is notably a 21 bits limit for the UID and the GID.  In fact,
+      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+      # and bug#13588).
+      am_max_uid=2097151 # 2^21 - 1
+      am_max_gid=$am_max_uid
+      # The $UID and $GID variables are not portable, so we need to resort
+      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
+      # below are definitely unexpected, so allow the users to see them
+      # (that is, avoid stderr redirection).
+      am_uid=`id -u || echo unknown`
+      am_gid=`id -g || echo unknown`
+      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+      if test $am_uid -le $am_max_uid; then
+         AC_MSG_RESULT([yes])
+      else
+         AC_MSG_RESULT([no])
+         _am_tools=none
+      fi
+      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+      if test $am_gid -le $am_max_gid; then
+         AC_MSG_RESULT([yes])
+      else
+        AC_MSG_RESULT([no])
+        _am_tools=none
+      fi],
+
+  [pax],
+    [],
+
+  [m4_fatal([Unknown tar format])])
+
+  AC_MSG_CHECKING([how to create a $1 tar archive])
+
+  # Go ahead even if we have the value already cached.  We do so because we
+  # need to set the values for the 'am__tar' and 'am__untar' variables.
+  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+  for _am_tool in $_am_tools; do
+    case $_am_tool in
+    gnutar)
+      for _am_tar in tar gnutar gtar; do
+        AM_RUN_LOG([$_am_tar --version]) && break
+      done
+      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+      am__untar="$_am_tar -xf -"
+      ;;
+    plaintar)
+      # Must skip GNU tar: if it does not support --format= it doesn't create
+      # ustar tarball either.
+      (tar --version) >/dev/null 2>&1 && continue
+      am__tar='tar chf - "$$tardir"'
+      am__tar_='tar chf - "$tardir"'
+      am__untar='tar xf -'
+      ;;
+    pax)
+      am__tar='pax -L -x $1 -w "$$tardir"'
+      am__tar_='pax -L -x $1 -w "$tardir"'
+      am__untar='pax -r'
+      ;;
+    cpio)
+      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+      am__untar='cpio -i -H $1 -d'
+      ;;
+    none)
+      am__tar=false
+      am__tar_=false
+      am__untar=false
+      ;;
+    esac
+
+    # If the value was cached, stop now.  We just wanted to have am__tar
+    # and am__untar set.
+    test -n "${am_cv_prog_tar_$1}" && break
+
+    # tar/untar a dummy directory, and stop if the command works.
+    rm -rf conftest.dir
+    mkdir conftest.dir
+    echo GrepMe > conftest.dir/file
+    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+    rm -rf conftest.dir
+    if test -s conftest.tar; then
+      AM_RUN_LOG([$am__untar <conftest.tar])
+      AM_RUN_LOG([cat conftest.dir/file])
+      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+    fi
+  done
   rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-  rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
 
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
 AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR

Modified: trunk/Build/source/utils/autosp/autosp-src/autosp.1
===================================================================
--- trunk/Build/source/utils/autosp/autosp-src/autosp.1	2017-07-01 00:17:44 UTC (rev 44731)
+++ trunk/Build/source/utils/autosp/autosp-src/autosp.1	2017-07-01 08:43:32 UTC (rev 44732)
@@ -1,5 +1,5 @@
 .\" This manpage is licensed under the GNU Public License
-.TH AUTOSP 1 2017-04-06  "" ""
+.TH AUTOSP 1 2017-06-21  "" ""
 
 .SH NAME
 autosp \- preprocessor to generate note-spacing commands for MusiXTeX scores
@@ -39,7 +39,7 @@
 .fi
 Typically,
 an
-\\anotes command is expanded into several conventional
+\\anotes command generates several conventional
 note-spacing commands.
 
 If the
@@ -62,6 +62,21 @@
 if that file exists, or from 
 .IR infile .tex 
 otherwise.
+If the
+input is from a file
+.IR infile .aspc
+and no 
+.I outfile 
+argument is provided, output will go to
+.IR infile .tex
+(or to
+.IR infile .ltx
+if a \\documentclass declaration is encountered).
+If the input is from a file
+.IR infile .tex,
+an 
+.I outfile
+argument must be provided.
 
 For
 \\anotes commands (and, for a .tex file, all conventional note-spacing commands), 
@@ -87,20 +102,9 @@
 .fi
 
 
-If
-no 
-.IR outfile
-argument is provided, 
-output goes to
-.IR infile .tex 
-if the 
-.I infile 
-name
-has extension .aspc, or to standard output otherwise.
-
 If the 
 .B \-l 
-( \fB\-\-log\fP ) option is used, a log 
+( \fB\-\-log\fP ) option is used, a very detailed log 
 .IR infile .alog
 is generated.
 
@@ -127,18 +131,35 @@
 bar-centered rest.
 
 Spacing commands \\sk and \\hsk in the source are discarded,
-but not \\qsk, \\hqsk or \\qqsk;
+but not \\qsk, \\tqsk, \\hqsk or \\qqsk;
 moreover
 non-standard commands
-\\Qsk, \\HQsk and \\QQsk generate "global" skips; i.e., the effect of \\qsk, \\hqsk or \\qqsk in 
+\\QQsk, \\HQsk \\TQsk and \\Qsk in the source generate "global" skips; i.e., the effect of \\qqsk, \\hqsk, \\tqsk or \\qsk, respectively,  in 
 .I every 
-staff.
+staff. These ensure that staffs remain synchronized if additional spacing is needed in one staff. 
 
+Global skips may also be obtained within collective-coding sequences by using
+one, two, three or four successive commas 
+to get the effects of \\QQsk, \\HQsk, \\TQsk or \\Qsk, respectively.
+Global skips (equivalent to one, two or three commas, depending on the beaming and the accidental)  are 
+automatically inserted before accidentals ('^', '_', '=', '<', '>') on beamed collective-coding notes. 
+The spacing can be increased by adding sufficient commas or locally re-defining 
+the relevant skip commands (\\qqsk, \\hqsk, \\tqsk, \\qsk).
+
+
 A note segment can be completely empty, but if a note segment should start
 with or contain a "space," the note-value
 of that space must be made explicit with a command of the
 form \\ha{*}, \\qa{.*}, \\qa{*}, \\ca{*}, etc. 
 
+From version 2017-06-14, the effects of \\TransformNotes calls are implemented by the pre-processor. This
+enables use of 
+.B autosp 
+scores
+with musixlyr.tex, which is incompatible with the
+musixtnt.tex 
+implementation of \\TransformNotes.
+
 All other conventional MusiXTeX commands are output exactly as given in the input.
 
 
@@ -167,6 +188,7 @@
 by expanding the sequence
 into a sequence of individual note commands.
 
+ 
 .SH LIMITATIONS
 
 .B autosp
@@ -214,12 +236,16 @@
 64ths.
 .B autosp
 cannot deal with simultaneous x-tuplets in multiple staffs unless the x values and
-note durations are identical. Global skips (\\QQsk, \\HQsk and \\Qsk) are
-ineffective if a staff has an x-tuplet; however, "local" skips (\\qqsk, \\hqsk, \\qsk)
-are effective.
+note durations are identical. 
 
-User-defined macros are not processed or expanded.
+User-defined macros are generally not processed or expanded; however, definitions of the form
+.nf
 
+    \\def\\atnextbar{\\znotes ... \\en}
+
+.fi
+generate definitions that take account of \\TransformNotes.
+
 All staffs are assumed to have the same meter; see kinder2.aspc for
 an example of how to work around this.
 

Modified: trunk/Build/source/utils/autosp/autosp-src/autosp.c
===================================================================
--- trunk/Build/source/utils/autosp/autosp-src/autosp.c	2017-07-01 00:17:44 UTC (rev 44731)
+++ trunk/Build/source/utils/autosp/autosp-src/autosp.c	2017-07-01 08:43:32 UTC (rev 44732)
@@ -1,4 +1,4 @@
-char version[12] = "2017-04-06";
+char version[12] = "2017-06-21";
 
 /*  Copyright (C) 2014-17 R. D. Tennent School of Computing,
  *  Queen's University, rdt at cs.queensu.ca
@@ -24,7 +24,7 @@
 /*  autosp - preprocessor to generate note-spacing commands for MusiXTeX scores */
 
 /*  Usage: autosp [-v | --version | -h | --help]
- *         autosp [-d | --dotted] [-l | --log] infile[.aspc] [outfile[.tex]]
+ *         autosp [-d | --dotted] [-l | --log] infile[.aspc | .tex] [outfile[.tex]]
  *
  *  Options 
  *    --dotted (-d) suppresses extra spacing for dotted beam notes.
@@ -111,7 +111,7 @@
 # define NOTEsp  "\\vnotes9.52\\elemskip"
 # define APPOGG_NOTES "\\vnotes1.45\\elemskip"
 
-PRIVATE bool debug = true;
+PRIVATE bool debug = false;
 PRIVATE char infilename[SHORT_LEN];
 PRIVATE char *infilename_n = infilename;
 PRIVATE char outfilename[SHORT_LEN];
@@ -127,8 +127,7 @@
 PRIVATE int ninstr = 1;                 /* number of instruments              */
 PRIVATE int staffs[MAX_STAFFS] = {0,1}; /* number of staffs for ith instrument*/
 PRIVATE int nstaffs = 1;                /* number of staffs                   */
-PRIVATE int nastaffs = 0;               /* number of active staffs; 
-                                           0 means all are active             */
+PRIVATE int nastaffs = 1;               /* number of active staffs;           */
 PRIVATE char terminator[MAX_STAFFS];    /* one of '&' "|', '$'                */
 PRIVATE bool active[MAX_STAFFS];        /* is staff i active?                 */
 
@@ -141,11 +140,11 @@
 
 PRIVATE int vspacing[MAX_STAFFS];       /* virtual-note (skip) spacing        */
 PRIVATE bool nonvirtual_notes;          
-  /* used to preclude output of *only* virtual notes */
+                           /* used to preclude output of *only* virtual notes */
 
 PRIVATE int cspacing[MAX_STAFFS];       /* nominal collective-note spacing    */
 PRIVATE char collective[MAX_STAFFS][SHORT_LEN];
-                            /* prefixes for collective note sequences */
+                                    /* prefixes for collective note sequences */
 PRIVATE bool first_collective[MAX_STAFFS];
 
 PRIVATE int restbars = 0;
@@ -167,25 +166,29 @@
 PRIVATE int xtuplet[MAX_STAFFS];        /* x for xtuplet in staff i          */
 
 PRIVATE bool appoggiatura;
-PRIVATE bool fixnotes = false;          /* process \Notes etc. like \anotes?  */
-PRIVATE bool dottedbeamnotes = false;   /* dotted beam notes ignored?         */
+PRIVATE bool fixnotes = false;          /* process \Notes etc. like \anotes? */
+PRIVATE bool dottedbeamnotes = false;   /* dotted beam notes ignored?        */
 
 PRIVATE bool bar_rest[MAX_STAFFS];
 
 PRIVATE char outstrings[MAX_STAFFS][LINE_LEN];  
-                               /* accumulate commands to be output    */
+                                     /* accumulate commands to be output    */
 PRIVATE char *n_outstrings[MAX_STAFFS];
 
 PRIVATE int global_skip;  
-   /* = 1, 2 or 4, for (non-standard) commands \QQsk \HQsk \Qsk */
-PRIVATE char global_skip_str[8];
-PRIVATE char *n_global_skip_str = global_skip_str;
+       /* = 1, 2, 3 or 4, for (non-standard) commands \QQsk \HQsk TQsk \Qsk */
+PRIVATE char global_skip_str[5][8] = 
+  { "", "\\qqsk", "\\hqsk", "\\tqsk", "\\qsk"}; 
 
+PRIVATE char TransformNotes2[SHORT_LEN] = {'\0'};      
+                                      /* 2nd argument of \TransformNotes    */
+PRIVATE bool TransformNotesDefined = false;
+
 PRIVATE void
-usage (FILE *f)
+usage ()
 {
-  fprintf (f, "Usage: autosp [-v | --version | -h | --help]\n");
-  fprintf (f, "       autosp [-d | --dotted] [-l | --log] infile[.aspc] [outfile[.tex]]\n");
+  printf ("Usage: autosp [-v | --version | -h | --help]\n");
+  printf ("       autosp [-d | --dotted] [-l | --log] infile[.aspc | .tex] [outfile[.tex]]\n");
 }
 
 
@@ -283,11 +286,8 @@
 {
   int i; char *s; char *t;  
   int newlines = 0;
-  s = strpbrk (*ln+1, "|&\\\n"); /* skip initial command      */
-  if (s == NULL) 
-  {
-    error ("Can''t find end of command");
-  }
+  s = *ln+1;  /* skip "/"  */
+  while (isalpha(*s)) {s++;}  /* skip rest of the initial command  */
   while (true)
   { /* look for \en */
     t = strstr(s, "\\en");
@@ -327,6 +327,12 @@
     if (*s != '$') s++;
   }
   lineno = lineno + newlines;
+
+  /* initialize: */
+  spacing = MAX_SPACING;
+  old_spacing = MAX_SPACING;
+  appoggiatura = false;
+  global_skip = 0;
   for (i=1; i <= nstaffs; i++)
   {
     if (active[i])
@@ -336,14 +342,9 @@
       collective[i][0] = '\0'; 
       cspacing[i] = MAX_SPACING; 
       first_collective[i] = false;
+      xtuplet[i] = 1;
     }
   }
-  spacing = MAX_SPACING;
-  old_spacing = MAX_SPACING;
-  for (i=1; i <= nstaffs; i++)
-    xtuplet[i] = 1;
-  appoggiatura = false;
-  global_skip = 0;
   if (debug) 
   { fprintf (logfile, "\nAfter analyze_notes:\n");
     status_all ();
@@ -354,7 +355,7 @@
 void checkc (char *s, char c)
 { if (*s != c) 
   {
-    fprintf (stderr, "Error on line %d: Expected %c but found %d:\n%s\n", lineno, c, *s, line);
+    printf ("Error on line %d: Expected %c but found %d:\n%s\n", lineno, c, *s, line);
     exit (EXIT_FAILURE);
   }
 }
@@ -363,7 +364,7 @@
 void checkn (char *s)
 { if (strpbrk (s, "0123456789") != s) 
   {
-    fprintf (stderr, "Error on line %d: Expected digit but found %c:\n%s\n", lineno, *s, line);
+    printf ("Error on line %d: Expected digit but found %c:\n%s\n", lineno, *s, line);
     exit (EXIT_FAILURE);
   }
 }
@@ -370,10 +371,11 @@
 
 PRIVATE
 void output_filtered (int i)
-{ /* discard \sk \hsk \Qsk \HQsk \QQsk and \Cpause */
+{ /* discard , \sk \hsk \Qsk \TQsk \HQsk \QQsk and \Cpause */
   char *s = notes[i];
   while (s < current[i])
-  { char *t = strpbrk (s+1, "\\&|$");
+  { char *t;
+    t = strpbrk (s+1, "\\&|$");
     if (t == NULL || t > current[i]) t = current[i];
     if (!prefix ("\\sk", s)
      && !prefix ("\\hsk", s)
@@ -380,10 +382,12 @@
      && !prefix ("\\Cpause", s) 
      && !prefix ("\\Qsk", s) 
      && !prefix ("\\HQsk", s) 
+     && !prefix ("\\TQsk", s) 
      && !prefix ("\\QQsk", s) )
     {
       while (s < t) 
-      { *n_outstrings[i] = *s; 
+      { while (*s == ',') s++; /* global skips */
+        *n_outstrings[i] = *s; 
         n_outstrings[i]++; s++; 
       }
       *(n_outstrings[i]) = '\0';
@@ -457,6 +461,11 @@
 }
 
 PRIVATE
+void update_global_skip (int n)
+/* global skips may be used in more than one staff */
+{  if (global_skip < n) global_skip = n; }
+
+PRIVATE
 int collective_note (int i)
 { char *s = current[i];
   int spacing = cspacing[i];
@@ -466,13 +475,37 @@
     status_collective (i);
   }
   while (true) /* search for alphabetic or numeric note (or asterisk) */
-  {
+  { int n = 0;
+    while (*s == ',') 
+    { n++; s++; } /* global skips */
+    update_global_skip (n);
+      /* commas will be discarded by output_filtered (i) */
     if (*s == '.' && new_beaming == 0 && !dottedbeamnotes) 
       spacing = spacing * 1.50; 
+    else if ( beaming[i] > 0 && (*s == '^' || *s == '_' || *s == '=' || *s == '>'))
+    /* leave space for accidentals */
+    { if (debug)
+      { fprintf (logfile, "\nLeave space for accidental\n");
+        status (i);
+        status_beam (i);
+        status_collective (i);
+      }
+      if (spacings[i] <= SP(16) )  /* spacing for the preceding note */
+        update_global_skip (2); 
+      else if (spacings[i] <= SP(8)+SP(16) )  /* allow for dotted eighth */
+       update_global_skip (1) ;
+    }
+    else if ( beaming[i] > 0 && (*s == '<'))  /* double flat */
+    { if (spacings[i] <= SP(16) )
+        update_global_skip (3);
+      else if (spacings[i] <= SP(8)+SP(16) )
+        update_global_skip (2) ;
+    }
     else if (isalnum (*s) || *s == '*')
     {  
       s++; 
-      while (*s == '\'' || *s == '`' || *s == '!') /* transposition character */
+      while (*s == '\'' || *s == '`' || *s == '!') 
+      /* transposition characters */
         s++;
       current[i] = s;
       if (debug)
@@ -711,18 +744,6 @@
       break;
     }
 
-    if ( prefix("\\tq", s) 
-      && !prefix("\\tqq", s))
-    { spacing = beaming[i];
-      new_beaming = 0;
-      if (debug)
-      { fprintf (logfile, "\nAfter beam completion:\n");
-        status (i); 
-        status_beam (i);
-      }
-      break; 
-    }
-
     if (prefix("\\tqqq", s) )
     { if (beaming[i] > SP(32)) 
         beaming[i] = SP(32);
@@ -750,7 +771,19 @@
       }
       break;
     }
+    if ( prefix("\\tq", s) 
+      && !prefix("\\tqsk", s) )
+    { spacing = beaming[i];
+      new_beaming = 0;
+      if (debug)
+      { fprintf (logfile, "\nAfter beam completion:\n");
+        status (i); 
+        status_beam (i);
+      }
+      break; 
+    }
 
+
 /*  non-spacing commands:  */
 
     if ( prefix ("\\ib", s) 
@@ -802,11 +835,13 @@
 
     else if (prefix("\\ppt", s) 
        || prefix("\\pppt", s) )
+    { 
       doubledotted = true;  /* triple-dotted spaced as double-dotted */
-
+    }
     else if (prefix("\\pt", s) && !prefix("\\ptr", s)) 
+    {
       dotted = true;
-
+    }
     else if ( prefix ("\\Dqbb", s) )
     { semiauto_beam_notes[i] = 1;
       beaming[i] = SP(16);
@@ -863,11 +898,13 @@
     }
     else if (prefix ("\\Qsk", s) )
     /* may have global skips in more than one staff */
-    {  if (global_skip < 4) global_skip = 4; }
+      update_global_skip (4); 
+    else if (prefix ("\\TQsk", s) )
+      update_global_skip (3); 
     else if (prefix ("\\HQsk", s) )
-    {  if (global_skip < 2) global_skip = 2; }
+      update_global_skip (2); 
     else if (prefix ("\\QQsk", s) )
-    {  if (global_skip < 1) global_skip = 1; }
+      update_global_skip (1);
 
     /* Command is non-spacing.         */
     /* Skip ahead to the next command. */
@@ -893,6 +930,7 @@
    || prefix ("\\hpausepp", s)
    || prefix ("\\qupp", s)
    || prefix ("\\qlpp", s)
+   || prefix ("\\qapp", s)
    || prefix ("\\qspp", s)
    || prefix ("\\qppp", s)
    || prefix ("\\qqspp", s)
@@ -915,6 +953,7 @@
    || prefix ("\\hpausep", s)
    || prefix ("\\qup", s)
    || prefix ("\\qlp", s)
+   || prefix ("\\qap", s)
    || prefix ("\\qsp", s)
    || prefix ("\\qqsp", s)
    || prefix ("\\qpp", s)
@@ -926,7 +965,7 @@
    || prefix ("\\ccclp", s)
    || prefix ("\\qbp", s) 
    || prefix ("\\dsp", s) 
-    || dotted  )
+    || dotted  ) 
   { spacing *= 1.5; dotted = false; }
 
   t = strpbrk (s+1, "{\\&|$"); /* collective coding?  */
@@ -957,88 +996,12 @@
 output_rests (void)
 { /* outputs a multi-bar rest and the deferred_bar command */
   int i;
-  for (i=1; i <= nstaffs; i++)
-  { if (active[i])
-      switch (restbars)
-      { case 0: return; 
-        case 1: case 7: case 9:
-          fprintf ( outfile, "\\NOTEs");
-          break;
-        case 2: 
-          fprintf ( outfile, "\\NOTesp");
-          break;
-        case 3: case 5: case 6: case 8:
-          fprintf ( outfile, "\\NOTes" );
-          break;
-        case 4:
-          fprintf ( outfile, "\\NOtesp" );
-          break;
-        default:  
-          fprintf ( outfile, "\\NOTEs" );
-      }
-  }
-  for (i=1; i <= nstaffs; i++)
-  {
-    if (active[i])
-      switch (restbars)
-      { case 1: 
-          fprintf ( outfile, "\\sk" );
-          break;
-/*
-        case 2: case 4: case 3: case 5: case 6: case 7: case 8: case 9:
-          fprintf ( outfile, "\\hqsk\\sk" );
-          break;
-*/
-        default:  
-          fprintf ( outfile, "\\sk" );
-      }
-    if (terminator[i] == '&' || terminator[i] == '|') 
-     putc (terminator[i], outfile);
-  }
-  fprintf (outfile, "\\en%%\n");
+  fprintf ( outfile, "\\NOTes\\sk\\en%%\n" );
   fprintf (outfile, "\\def\\atnextbar{\\znotes");
-  for (i=1; i <= nstaffs; i++)
-  {
-    if (active[i])
-    {
-      switch (restbars)
-      { case 1: 
-          fprintf ( outfile, "\\centerpause" );
-          break;
-
-/*  These styles of multi-bar rests now considered obsolete:
- 
-        case 2: 
-          fprintf ( outfile, "\\centerbar{\\ccn{9}{\\meterfont2}}\\centerPAuse");
-          break;
-        case 3:
-          fprintf ( outfile, "\\centerbar{\\ccn{9}{\\meterfont3}}\\centerbar{\\cPAuse\\off{2.0\\elemskip}\\cpause}");
-          break;
-        case 4:
-          fprintf ( outfile, "\\centerbar{\\ccn{9}{\\meterfont4}}\\centerPAUSe");
-          break;
-        case 5:
-          fprintf ( outfile, "\\centerbar{\\ccn{9}{\\meterfont5}}\\centerbar{\\cPAUSe\\off{2.0\\elemskip}\\cpause}");
-          break;
-        case 6:
-          fprintf ( outfile, "\\centerbar{\\ccn{9}{\\meterfont6}}\\centerbar{\\cPAUSe\\off{2.0\\elemskip}\\cPAuse}");
-          break;
-        case 7:
-          fprintf ( outfile, "\\centerbar{\\ccn{9}{\\meterfont7}}\\centerbar{\\cPAUSe\\off{2.0\\elemskip}\\cPAuse\\off{2.0\\elemskip}\\cpause}");
-          break;
-        case 8:
-          fprintf ( outfile, "\\centerbar{\\ccn{9}{\\meterfont8}}\\centerbar{\\cPAUSe\\off{2.0\\elemskip}\\cPAUSe}");
-          break;
-        case 9:
-          fprintf ( outfile, "\\centerbar{\\ccn{9}{\\meterfont9}}\\centerbar{\\cPAUSe\\off{2.0\\elemskip}\\cPAUSe\\off{2.0\\elemskip}\\cpause}");
-          break;
-*/
-        default:  
-          fprintf ( outfile, "\\centerHpause{%d}", restbars );
-      }
-    }
-    if (terminator[i] != '$') putc (terminator[i], outfile);
-  }
+  if (restbars == 1)
+     fprintf ( outfile, "\\centerpause" );
+  else  
+     fprintf ( outfile, "\\centerHpause{%d}", restbars );
   fprintf (outfile, "\\en}%%\n");
   if (Changeclefs) /* \Changeclefs has to be output after \def\atnextbar...  */
   {
@@ -1096,14 +1059,17 @@
   else if (spacing == APPOGG_SPACING)
     fprintf (outfile, "%s", APPOGG_NOTES); 
   else 
-  { fprintf (stderr, "Error on line %d: spacing %s not recognized.\n", lineno, ps(spacing));
+  { printf ("Error on line %d: spacing %s not recognized.\n", lineno, ps(spacing));
     exit (EXIT_FAILURE);
   }
-  if (debug) fprintf (logfile, "\noutputting \\Notes command for spacing=%s.\n", ps(spacing));
+  if (debug) 
+  {  fprintf (logfile, "\noutputting \\Notes command for spacing=%s.\n", ps(spacing));
+     status_all();
+  }
   for (i=1; i <= nstaffs; i++) 
   { if (active[i])
     { n_outstrings[i] = outstrings[i];
-      *n_outstrings[i] = '\0';
+    *n_outstrings[i] = '\0';
     }
   }
 }
@@ -1111,37 +1077,41 @@
 PRIVATE
 void terminate_notes ()
 { int i;
+  char *s, *t;
   if (debug)
   { fprintf (logfile, "\nEntering terminate_notes:\n");
     status_all ();
   }
-  for (i=1; i <= nstaffs; i++)
-  { if (active[i])
-    { if (spacing == MAX_SPACING)
-      { /* output any commands left in notes[i] */
-        output_filtered (i);
-      }
-      fprintf (outfile, "%s", outstrings[i]);
-      if (debug) fprintf (logfile, "\noutputting %s from outstrings[%d].\n", outstrings[i], i);
-      outstrings[i][0] = '\0';
-      n_outstrings[i] = outstrings[i];
-      if (spacing < MAX_SPACING && spacing > 2 * old_spacing)
-      { /* add extra space *before* much longer notes */
-        fprintf (outfile, "\\hqsk");
-        if (debug) fprintf (logfile, "\nExtra half-notehead space before longer notes.\n");
-      }
-      else if (spacing == MAX_SPACING && old_spacing < SP(8))
-      { /* add extra space before \en */
-        fprintf (outfile, "\\hqsk");
-        if (debug) fprintf (logfile, "\nExtra half-notehead space before \\en.\n");
-      }
-    }   
-    if ( (terminator[i] == '&') || (terminator[i] == '|') ) 
-    {
-      putc (terminator[i], outfile); if (debug) putc (terminator[i], logfile);
+  t = TransformNotes2;
+  while (true)
+  { s = strchr (t, '#');
+    if (s == NULL) 
+      break;
+    while (t < s)  /* output any initial \transpose etc. */
+    { putc (*t, outfile); t++; }
+    t++; /* skip # */
+    i = atoi (t) -1; t++;
+    if (spacing == MAX_SPACING)
+    { /* output any commands left in notes[i] */
+      output_filtered (i);
     }
-    if (debug) fprintf (logfile, "\n");
+    fprintf (outfile, "%s", outstrings[i]);
+    if (debug) fprintf (logfile, "\noutputting %s from outstrings[%d].\n", outstrings[i], i);
+    outstrings[i][0] = '\0';
+    n_outstrings[i] = outstrings[i];
+    if (spacing < MAX_SPACING && spacing > 2 * old_spacing)
+    { /* add extra space *before* much longer notes */
+      fprintf (outfile, "\\off{0.5\\elemskip}");
+      if (debug) fprintf (logfile, "\nExtra half-notehead space before longer notes.\n");
+    }
+    if (*t != '\0') 
+    { putc (*t, outfile); t++; }  /* terminator */
   }
+  if (spacing == MAX_SPACING && old_spacing < SP(8) )
+  { /* add extra space before \en */
+    fprintf (outfile, "\\off{0.5\\elemskip}");
+    if (debug) fprintf (logfile, "\nExtra half-notehead space before \\en.\n");
+  }
   fprintf (outfile, "\\en"); 
   if (debug)
   { fprintf (logfile, "\noutputting \\en\n"); 
@@ -1159,19 +1129,22 @@
   }
 
   if (old_spacing < MAX_SPACING) 
-  {
+  { char *s, *t;
     if (debug) fprintf (logfile, "Terminate current notes command:\n");
-    for (i=1; i <= nstaffs; i++)
-    { if (active[i])
-      {
-        fprintf (outfile, "%s", outstrings[i]); 
-        if (debug) fprintf (logfile, "%s", outstrings[i]);
-      }
-      if ( (terminator[i] == '&') || (terminator[i] == '|') ) 
-      {
-        putc (terminator[i], outfile);
-        if (debug) putc (terminator[i], logfile);
-      }
+    t = TransformNotes2;
+    while (true)
+    { s = strchr (t, '#');
+      if (s == NULL) break;
+      while (t < s)  /* output any initial \transpose etc. */
+      { putc (*t, outfile); t++; }
+      t++; /* skip # */
+      i = atoi (t) - 1; t++;
+      fprintf (outfile, "%s", outstrings[i]);
+      if (debug) fprintf (logfile, "\noutputting %s from outstrings[%d].\n", outstrings[i], i);
+      outstrings[i][0] = '\0';
+      n_outstrings[i] = outstrings[i];
+      if (*t != '\0') 
+      { putc (*t, outfile); t++; }  /* terminator */
     }
     fprintf (outfile, "\\en");
     if (debug)
@@ -1249,16 +1222,22 @@
   }
 
   if (old_spacing < MAX_SPACING) 
-  {
+  { char *s, *t;
     if (debug) fprintf (logfile, "Terminate current notes command:\n");
-    for (i=1; i <= nstaffs; i++)
-    { if (active[i])
-      {
-        fprintf (outfile, "%s", outstrings[i]); 
-        if (debug) fprintf (logfile, "%s", outstrings[i]);
-      }
-      if ( (terminator[i] == '&') || (terminator[i] == '|') ) 
-        putc (terminator[i], outfile); 
+    t = TransformNotes2;
+    while (true)
+    { s = strchr (t, '#');
+      if (s == NULL) break;
+      while (t < s)  /* output any initial \transpose etc. */
+      { putc (*t, outfile); t++; }
+      t++; /* skip # */
+      i = atoi (t) - 1; t++;
+      fprintf (outfile, "%s", outstrings[i]);
+      if (debug) fprintf (logfile, "\noutputting %s from outstrings[%d].\n", outstrings[i], i);
+      outstrings[i][0] = '\0';
+      n_outstrings[i] = outstrings[i];
+      if (*t != '\0') 
+      { putc (*t, outfile); t++; }  /* terminator */
     }
     fprintf (outfile, "\\en");
     if (debug)
@@ -1321,6 +1300,7 @@
   if (debug) fprintf (logfile, "\nCreate a new notes command for the xtuplet:\n");
   initialize_notes ();
 
+
   if (debug) fprintf (logfile, "\nProcess non-xtuplet staffs:\n");
   for (i=1; i <= nstaffs; i++)
     vspacing[i] = 0;
@@ -1329,7 +1309,10 @@
   {
     for (i=1; i <= nstaffs; i++)
       if (active[i] && xtuplet[i] == 1)
+      {
+        append (outstrings[i], &(n_outstrings[i]), global_skip_str[global_skip], LINE_LEN);
         output_notes (i);
+      }
     xsp += spacing;
     for (i=1; i <= nstaffs; i++)
     {
@@ -1340,6 +1323,7 @@
       } 
     }
     if (xsp >= normalized_xspacing) break;
+    global_skip = 0;
     for (i=1; i <= nstaffs; i++)
       if (active[i] && xtuplet[i] == 1) 
         spacings[i] = spacing_note(i);
@@ -1369,11 +1353,14 @@
     {
       xsp = 0;
       while (true)
-      { output_notes (i);
+      { 
+        append (outstrings[i], &(n_outstrings[i]), global_skip_str[global_skip], LINE_LEN);
+        output_notes (i);
         xsp += spacing;
         if (spacings[i] != spacing && vspacing[i] == 0)
           vspacing[i] = spacings[i] - spacing;
         if (xsp >= xspacing) break;
+        global_skip = 0;
         spacings[i] = spacing_note (i);
       }
     }
@@ -1401,7 +1388,7 @@
 
 PRIVATE
 void generate_notes ()
-/* Repeatedly output one note for each (active) staff 
+/* Repeatedly call output_notes for each (active) staff 
  * and, if necessary, set up for subsequent "virtual" notes (skips).
  * If spacing has changed, terminate an existing notes command
  * and initialize a new one.
@@ -1453,21 +1440,10 @@
       initialize_notes ();
     }
 
-    /*  generate global_skip_str:  */
-    global_skip_str[0] = '\0';
-    n_global_skip_str = global_skip_str;
-    switch (global_skip) 
-    {
-      case 0: break;
-      case 1: append (global_skip_str, &(n_global_skip_str), "\\qqsk", 8); break;  
-      case 2: append (global_skip_str, &(n_global_skip_str), "\\hqsk", 8); break;  
-      case 4: append (global_skip_str, &(n_global_skip_str), "\\qsk", 8); break;  
-    }
-
     for (i=1; i <= nstaffs; i++)  /* append current notes to outstrings */
       if (active[i]) 
       {
-        append (outstrings[i], &(n_outstrings[i]), global_skip_str, LINE_LEN);
+        append (outstrings[i], &(n_outstrings[i]), global_skip_str[global_skip], LINE_LEN);
         output_notes (i);
       }
     for (i=1; i <= nstaffs; i++)
@@ -1524,15 +1500,28 @@
   }
 
   else if ( prefix("\\startpiece", *ln) )
-  { int i, j;
-    nstaffs = 0; 
-    for (i=1; i <= ninstr; i++)
-    { for (j=1; j <= staffs[i]; j++) 
-      { nstaffs++; 
-        if (nastaffs == 0) active[nstaffs] = true;  
+  { 
+    if (!TransformNotesDefined) /* create default TransformNotes2:  */
+    { int i, j;
+      t = TransformNotes2;
+      nstaffs = 1;
+      sprintf (t, "#%1i", nstaffs+1); t = t+2; 
+      for (j=2; j <= staffs[1]; j++)
+      {  nstaffs++; sprintf (t, "|#%1i", nstaffs+1); t = t+3; 
+         active[nstaffs] = true;
       }
+      for (i=2; i <= ninstr; i++) 
+      { nstaffs++; sprintf (t, "&#%1i", nstaffs+1); t = t+3; 
+        for (j=2; j <= staffs[i]; j++)
+        {  nstaffs++; sprintf (t, "|#%1i", nstaffs+1); t = t+3; 
+           active[nstaffs] = true;
+        }
+      }   
     }
+    if (debug)
+      fprintf (logfile, "default TransformNotes2=%s\n", TransformNotes2);
     if (nstaffs == 1) fprintf (outfile, "\\nostartrule\n");
+    nastaffs = nstaffs;
     fprintf (outfile, "\\startpiece");
     t = strpbrk (*ln+1, "\\%\n");
     *ln = t;
@@ -1539,15 +1528,28 @@
   }
 
   else if ( prefix("\\startextract", *ln) )
-  { int i, j;
-    nstaffs = 0; 
-    for (i=1; i <= ninstr; i++)
-    { for (j=1; j <= staffs[i]; j++) 
-      { nstaffs++; 
-        if (nastaffs == 0) active[nstaffs] = true;  
+  { 
+    if (!TransformNotesDefined) /* create default TransformNotes2:  */
+    { int i, j;
+      t = TransformNotes2;
+      nstaffs = 1;
+      sprintf (t, "#%1i", nstaffs+1); t = t+2; 
+      for (j=2; j <= staffs[1]; j++)
+      {  nstaffs++; sprintf (t, "|#%1i", nstaffs+1); t = t+3; 
+         active[nstaffs] = true;
       }
+      for (i=2; i <= ninstr; i++) 
+      { nstaffs++; sprintf (t, "&#%1i", nstaffs+1); t = t+3; 
+        for (j=2; j <= staffs[i]; j++)
+        {  nstaffs++; sprintf (t, "|#%1i", nstaffs+1); t = t+3; 
+           active[nstaffs] = true;
+        }
+      }   
     }
+    if (debug)
+      fprintf (logfile, "default TransformNotes2=%s\n", TransformNotes2);
     if (nstaffs == 1) fprintf (outfile, "\\nostartrule\n");
+    nastaffs = nstaffs;
     fprintf (outfile, "\\startextract");
     t = strpbrk (*ln+1, "\\%\n");
     *ln = t;
@@ -1562,7 +1564,6 @@
     while (true)
     { ninstr++; nstaffs++;
       staffs[ninstr] = 1;
-      active[ninstr] = false;
       checkc (s, '#'); s++;
       checkn (s); s++;
       while (*s == '|')
@@ -1575,64 +1576,43 @@
       s++;
     }
     checkc (s, '}'); s++;
+    s = strchr (s, '{');
+    if (s == NULL) error ("Can't parse \\TransformNotes");
+    s++;
+    /*  determine TransformNotes2:  */
+    t = TransformNotes2;
+    do { *t = *s; t++; s++; }
+    while (*s != '}');
+    *t = '\0';  /* terminate TransformNotes2 */
+    TransformNotesDefined = true;
+    if (debug)
+      fprintf (logfile, "defined TransformNotes2=%s\n", TransformNotes2);
+    
+    /* determine active staffs:  */
     for (i=1; i <= nstaffs; i++) active[i] = false;
     nastaffs = 0;
-    t = strchr (s,'{');
-    if (t == NULL) error ("Can't parse \\TransformNotes.");
-    s = strpbrk (t, "#}"); /* may have \transpose etc. before # */
-    while (*s == '#')
-    { if (sscanf (s, "#%d", &i) != 1) 
+    t = strpbrk (TransformNotes2, "#}"); /* may have \transpose etc. before # */
+    if (t == NULL) error ("Can't parse second argument of \\TransformNotes");
+    while (*t == '#')
+    { if (sscanf (t, "#%d", &i) != 1) 
         error ("sscanf for argument number fails");
       active[i-1] = true;  /* parameters start at 2 */
       nastaffs++;
-      s = strpbrk (s+1, "#}"); 
+      t = strpbrk (t+1, "#}"); 
+      if (t == NULL) break;
     }
-    while (*ln <= s) 
-    { putc (**ln, outfile); (*ln)++;}
-  }
 
-  else if ( prefix("\\def\\vnotes#1\\elemskip", *ln) ) 
-  { /* determine ninstr, nstaffs, nastaffs, staffs[i], and active[i] */
-    int i;
-    ninstr = 0;
-    nstaffs = 0;
-    s = *ln + 22; /* first parameter */
-    while (true)
-    { ninstr++; nstaffs++;
-      staffs[ninstr] = 1;
-      active[ninstr] = false;
-      checkc (s, '#'); s++;
-      checkn (s); s++;
-      while (*s == '|')
-      { staffs[ninstr]++; nstaffs++;
-        s++;
-        checkc (s, '#'); s++;
-        checkn (s); s++; 
-      }
-      if (*s != '&') break;
-      s++;
-    }
-    for (i=1; i <= nstaffs; i++) active[i] = false;
-    nastaffs = 0;
-    t = strstr (s, "@vnotes") + 7;
-    if (t == NULL) error ("Can't parse \\def\\vnotes.");
-    s = strpbrk(t, "#}"); /* may have \transpose etc. before # */
-    while (*s == '#')
-    { if (sscanf (s, "#%d", &i) != 1) 
-        error("sscanf for argument number fails");
-      active[i-1] = true;  /* parameters start at 2 */
-      nastaffs++;
-      s = strpbrk (s+1, "#}"); 
-    }
+    /* output \TransformNotes...  as a comment:  */
+    putc ('%', outfile);  
     while (*ln <= s) 
-    { putc (**ln, outfile); (*ln)++;}
+    { putc (**ln, outfile); (*ln)++; }
   }
 
-  else if (prefix("\\def\\atnextbar{\\znotes", *ln) && nastaffs == 1 )
+  else if (prefix("\\def\\atnextbar{\\znotes", *ln))
   { /*  whole-bar or multi-bar rest? */
     int i;
-    char *saveln = *ln; /* in case there's no centerpause  */
     bool centerpause = false;
+    *ln = *ln + 15;  /*  skip "\def\atnextbar{"  */
     analyze_notes(ln);
     for (i=1; i <= nstaffs; i++)
     { 
@@ -1642,7 +1622,7 @@
         t = strpbrk (notes[i], "&|$");
         if (t == NULL) t = notes[i] + strlen (notes[i]);
         s = strstr (notes[i], "\\centerpause");
-        if (s != NULL && s < t)
+        if (s != NULL && s < t && nastaffs == 1)
         {
           bar_rest[i] = true;
           centerpause = true;
@@ -1650,29 +1630,37 @@
         break;
       }
     }
-    if (centerpause)
-    {
-      t = strchr (*ln, '}');
-      if (t == NULL) error ("Can't find }.");
-      *ln = t+1;
-      t = strpbrk (*ln, "%\\");
-      if (t == NULL ) t = *ln + strlen(*ln);
-      *ln = t;
-    }
-    else
-    { /* treat like other \def commands */
-      *ln = saveln;
-      t = strchr (*ln, '$');
-      *t = '\\';  /* restore "\en[otes]  */
-      t = *ln + strlen(*ln);
-      while (*ln < t)
-      { fputc (**ln, outfile); 
-        (*ln)++;
+    if (!centerpause) /* generate transformed \znotes ... \en */
+    { 
+      fprintf ( outfile, "\\def\\atnextbar{\\znotes");
+      t = TransformNotes2;
+      while (true)
+      {
+        /*  output TransformNotes2 prefix (\transpose etc.):  */
+        s = strchr (t, '#');
+        if (s == NULL) break;
+        while (t < s)  
+        { putc (*t, outfile); t++; }
+        t++;  /* skip '#' */
+        /* output notes: */
+        i = atoi (t) - 1; t++;  
+        s = notes[i];
+        while (*s != '&' && *s != '|' && *s != '$')
+        { putc (*s, outfile); s++; }
+        if (*t != '\0') 
+        { putc (*t, outfile); t++; } /* output terminator */
       }
+      fprintf (outfile, "\\en}%%\n");
     }
+    t = strchr (*ln, '}');
+    if (t == NULL) error ("Can't find }.");
+    *ln = t+1;
+    t = strpbrk (*ln, "%\\");
+    if (t == NULL ) t = *ln + strlen(*ln);
+    *ln = t;
   }
 
-  else if ( prefix("\\def", *ln) )
+  else if ( prefix("\\def", *ln) )  /* copy to output */
   { t = *ln + strlen(*ln);
     while (*ln < t)
     { fputc (**ln, outfile); 
@@ -1709,7 +1697,102 @@
     if (*t == '\n') putc ('%', outfile);
     *ln = t;
   }
+  else if ( prefix("\\nnnotes", *ln) ||
+            prefix("\\nnnotes", *ln) ||
+            prefix("\\nnotes", *ln)  ||
+            prefix("\\notes", *ln)   || 
+            prefix("\\Notes", *ln)   ||
+            prefix("\\NOtes", *ln)   ||
+            prefix("\\NOTes", *ln)   ||
+            prefix("\\NOTEs", *ln)   || 
+            prefix("\\znotes", *ln)  )
+  { 
+    char *s, *t;
+    int nstaff;
+    if (debug)
+    { fprintf (logfile, "\nProcessing %s", *ln);
+      fprintf (logfile, "lineno=%d\n",  lineno);
+      fflush (logfile);
+    }
+    t = *ln+1;
+    while ( isalpha (*t) ) t++;
+    s = *ln;
+    while (s < t) { putc (*s, outfile); s++; }
 
+    analyze_notes (ln);
+
+    t = TransformNotes2;
+    while (true)
+    {
+      /*  output TransformNotes2 prefix (\transpose etc.):  */
+      s = strchr (t, '#');
+      if (s == NULL) break;
+      while (t < s)  
+      { putc (*t, outfile); t++; }
+
+      t++;  /* skip '#' */
+
+      /* output notes: */
+      nstaff = atoi (t) - 1; t++;  
+      s = notes[nstaff];
+      while (*s != '&' && *s != '|' && *s != '$')
+      { putc (*s, outfile); s++; }
+      if (*t != '\0') 
+      { putc (*t, outfile); t++; } /* output terminator */
+    }
+    fprintf (outfile, "\\en\n");
+
+    t = strpbrk (*ln, "%\\\n");
+    if (t == NULL) t = *ln + strlen (*ln);
+    if (*t == '\n') putc ('%', outfile);
+    *ln = t;
+  }
+
+  else if (prefix("\\vnotes", *ln) )
+  {
+    char *s, *t;
+    int nstaff;
+    if (debug)
+    { fprintf (logfile, "\nProcessing %s", *ln);
+      fprintf (logfile, "lineno=%d\n",  lineno);
+      fflush (logfile);
+    }
+    s = *ln;
+    t = strchr (*ln+1, '\\');  /* find \elemskip  */
+    *ln = t;
+    t = t + 9;
+    while (s < t) { putc (*s, outfile); s++; }
+
+    
+    analyze_notes (ln);
+
+    t = TransformNotes2;
+    while (true)
+    {
+      /*  output TransformNotes2 prefix (\transpose etc.):  */
+      s = strchr (t, '#');
+      if (s == NULL) break;
+      while (t < s)  
+      { putc (*t, outfile); t++; }
+
+      t++;  /* skip '#' */
+
+      /* output notes: */
+      nstaff = atoi (t) - 1; t++;  
+      s = notes[nstaff];
+      while (*s != '&' && *s != '|' && *s != '$')
+      { putc (*s, outfile); s++; }
+      if (*t != '\0') 
+      { putc (*t, outfile); t++; } /* output terminator */
+    }
+    fprintf (outfile, "\\en\n");
+
+    t = strpbrk (*ln, "%\\\n");
+    if (t == NULL) t = *ln + strlen (*ln);
+    if (*t == '\n') putc ('%', outfile);
+    *ln = t;
+  }
+
   else if ( prefix ("\\bar", *ln) && !prefix ("\\barno", *ln))
   { int i;
     bool atnextbar = false; 
@@ -1847,7 +1930,29 @@
     *ln = *ln + strlen(*ln);
   }
 
+  else if ( prefix ("\\documentclass", *ln) )
+  {
+    
+    if ( suffix( ".tex", outfilename) )
+    { char newoutfilename[SHORT_LEN];
+      char *newoutfilename_n = newoutfilename;
+      append (newoutfilename, &newoutfilename_n, infilename, sizeof (newoutfilename));
+      newoutfilename_n -= 4;
+      *newoutfilename_n = '\0';
+      append (newoutfilename, &newoutfilename_n, "ltx", sizeof (newoutfilename));
+      if (rename ( outfilename, newoutfilename) > 0)
+      { printf ("Can't rename %s as %s\n", outfilename, newoutfilename);
+        exit (EXIT_FAILURE);
+      }
+      printf ("\\documentclass detected; now writing to %s.", newoutfilename);
+      printf ("\n\n");
 
+    }
+    fputs (*ln, outfile);
+    *ln = *ln + strlen(*ln);
+  }
+
+
   else  /* everything else */
   { 
     fputs (*ln, outfile);
@@ -1885,6 +1990,7 @@
   }
   spacing = MAX_SPACING;
   restbars = 0;
+
   c = getc (infile);
   while ( c != EOF )
   {
@@ -1912,11 +2018,11 @@
   
   time (&mytime);
   strftime (today, 11, "%Y-%m-%d", localtime (&mytime) );
-  fprintf (stdout, "This is autosp, version %s.\n", version);
-  fprintf (stdout, "Copyright (C) 2014-17  R. D. Tennent\n" );
-  fprintf (stdout, "School of Computing, Queen's University, rdt at cs.queensu.ca\n" );
-  fprintf (stdout, "License GNU GPL version 2 or later <http://gnu.org/licences/gpl.html>.\n" );
-  fprintf (stdout, "There is NO WARRANTY, to the extent permitted by law.\n\n" );
+  printf ("This is autosp, version %s.\n", version);
+  printf ("Copyright (C) 2014-17  R. D. Tennent\n" );
+  printf ("School of Computing, Queen's University, rdt at cs.queensu.ca\n" );
+  printf ("License GNU GPL version 2 or later <http://gnu.org/licences/gpl.html>.\n" );
+  printf ("There is NO WARRANTY, to the extent permitted by law.\n\n" );
 
   c = getopt_long (argc, argv, "hvdl", longopts, NULL);
   while (c != -1)
@@ -1924,11 +2030,10 @@
       switch (c)
         {
         case 'h':
-          usage (stdout);
-          fprintf (stdout, "Please report bugs to rdt at cs.queensu.ca.\n" );
+          usage ();
+          printf ("Please report bugs to rdt at cs.queensu.ca.\n" );
           exit (0);
         case 'v':
-          fprintf (stdout, "This is autosp, version %s.\n", version);
           exit (0);
         case 'd':
           dottedbeamnotes = true;
@@ -1939,7 +2044,7 @@
         case '?':
           exit (EXIT_FAILURE);
         default:
-          fprintf (stderr, "Function getopt returned character code 0%o.\n",
+          printf ("Function getopt returned character code 0%o.\n",
                   (unsigned int) c);
           exit (EXIT_FAILURE);
         }
@@ -1954,12 +2059,12 @@
       append (infilename, &infilename_n, ".aspc", sizeof (infilename));
   }
   else 
-  {  usage(stderr);
+  {  usage();
      exit (EXIT_FAILURE);
   }
   infile = fopen (infilename, "r");
   if (infile == NULL && suffix (".tex", infilename) )
-  { fprintf (stderr, "Can't open %s\n", infilename);
+  { printf ("Can't open %s\n", infilename);
     exit (EXIT_FAILURE);
   }
   else if (infile == NULL && suffix (".aspc", infilename) )
@@ -1969,7 +2074,7 @@
     append (infilename, &infilename_n, "tex", sizeof (infilename));
     infile = fopen (infilename, "r");
     if (infile == NULL && suffix (".tex", infilename) )
-    { fprintf (stderr, "Can't open %s\n", infilename);
+    { printf ("Can't open %s\n", infilename);
       exit (EXIT_FAILURE);
     }
   }
@@ -1995,8 +2100,9 @@
   }
 
   if (*outfilename == '\0')
-  { outfile = stdout;
-    printf (" Writing to stdout.");
+  { 
+    printf ("\nPlease provide a filename for the output.\n\n");
+    exit (EXIT_FAILURE);
   }
   else
   {
@@ -2007,7 +2113,7 @@
     }
     outfile = fopen (outfilename, "w");
     if (outfile == NULL)
-    { fprintf (stderr,"Can't open %s\n", outfilename);
+    { printf ("Can't open %s\n", outfilename);
       exit (EXIT_FAILURE);
     }
     printf (" Writing to %s.", outfilename);
@@ -2025,7 +2131,7 @@
   if (debug)  
   { logfile = fopen (logfilename, "w");
     if (logfile == NULL)
-    { fprintf (stderr, "Can't open %s\n", logfilename);
+    { printf ("Can't open %s\n", logfilename);
       exit (EXIT_FAILURE);
     }
     printf (" Log file %s.", logfilename);
@@ -2034,6 +2140,6 @@
 
   fprintf (outfile, "%%  Generated by autosp (%s).\n", version);
   process_score ();
-
+  
   return 0;
 }

Modified: trunk/Build/source/utils/autosp/autosp-src/compile
===================================================================
(Binary files differ)

Modified: trunk/Build/source/utils/autosp/autosp-src/configure
===================================================================
(Binary files differ)

Modified: trunk/Build/source/utils/autosp/autosp-src/configure.ac
===================================================================
--- trunk/Build/source/utils/autosp/autosp-src/configure.ac	2017-07-01 00:17:44 UTC (rev 44731)
+++ trunk/Build/source/utils/autosp/autosp-src/configure.ac	2017-07-01 08:43:32 UTC (rev 44732)
@@ -1,5 +1,5 @@
 AC_PREREQ(2.63)
-AC_INIT([autosp],[2017-04-06],[rdt at cs.queensu.ca])
+AC_INIT([autosp],[2017-06-21],[rdt at cs.queensu.ca])
 AC_CONFIG_AUX_DIR([.])
 AM_INIT_AUTOMAKE
 AC_CONFIG_HEADERS([config.h])

Modified: trunk/Build/source/utils/autosp/autosp-src/depcomp
===================================================================
(Binary files differ)

Modified: trunk/Build/source/utils/autosp/autosp-src/install-sh
===================================================================
(Binary files differ)

Modified: trunk/Build/source/utils/autosp/autosp-src/missing
===================================================================
(Binary files differ)

Modified: trunk/Build/source/utils/autosp/autosp-src/rebar.c
===================================================================
--- trunk/Build/source/utils/autosp/autosp-src/rebar.c	2017-07-01 00:17:44 UTC (rev 44731)
+++ trunk/Build/source/utils/autosp/autosp-src/rebar.c	2017-07-01 08:43:32 UTC (rev 44732)
@@ -102,7 +102,7 @@
   }
   else if ( prefix ("\\advance\\barno", *ln) )
   { 
-    int barno_increment;
+    int barno_increment = 0;
     t = strpbrk (*ln, "-0123456789");
     if ( (*ln == NULL) || (sscanf (t, "%d", &barno_increment) != 1 ) )
       error ("Expected barno increment/decrement");

Added: trunk/Build/source/utils/autosp/autosp-src/test-driver
===================================================================
--- trunk/Build/source/utils/autosp/autosp-src/test-driver	                        (rev 0)
+++ trunk/Build/source/utils/autosp/autosp-src/test-driver	2017-07-01 08:43:32 UTC (rev 44732)
@@ -0,0 +1,127 @@
+#! /bin/sh
+# test-driver - basic testsuite driver script.
+
+scriptversion=2012-06-27.10; # UTC
+
+# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake at gnu.org> or send patches to
+# <automake-patches at gnu.org>.
+
+# Make unconditional expansion of undefined variables an error.  This
+# helps a lot in preventing typo-related bugs.
+set -u
+
+usage_error ()
+{
+  echo "$0: $*" >&2
+  print_usage >&2
+  exit 2
+}
+
+print_usage ()
+{
+  cat <<END
+Usage:
+  test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
+              [--expect-failure={yes|no}] [--color-tests={yes|no}]
+              [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
+The '--test-name', '--log-file' and '--trs-file' options are mandatory.
+END
+}
+
+# TODO: better error handling in option parsing (in particular, ensure
+# TODO: $log_file, $trs_file and $test_name are defined).
+test_name= # Used for reporting.
+log_file=  # Where to save the output of the test script.
+trs_file=  # Where to save the metadata of the test run.
+expect_failure=no
+color_tests=no
+enable_hard_errors=yes
+while test $# -gt 0; do
+  case $1 in
+  --help) print_usage; exit $?;;
+  --version) echo "test-driver $scriptversion"; exit $?;;
+  --test-name) test_name=$2; shift;;
+  --log-file) log_file=$2; shift;;
+  --trs-file) trs_file=$2; shift;;
+  --color-tests) color_tests=$2; shift;;
+  --expect-failure) expect_failure=$2; shift;;
+  --enable-hard-errors) enable_hard_errors=$2; shift;;
+  --) shift; break;;
+  -*) usage_error "invalid option: '$1'";;
+  esac
+  shift
+done
+
+if test $color_tests = yes; then
+  # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
+  red='' # Red.
+  grn='' # Green.
+  lgn='' # Light green.
+  blu='' # Blue.
+  mgn='' # Magenta.
+  std=''     # No color.
+else
+  red= grn= lgn= blu= mgn= std=
+fi
+
+do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
+trap "st=129; $do_exit" 1
+trap "st=130; $do_exit" 2
+trap "st=141; $do_exit" 13
+trap "st=143; $do_exit" 15
+
+# Test script is run here.
+"$@" >$log_file 2>&1
+estatus=$?
+if test $enable_hard_errors = no && test $estatus -eq 99; then
+  estatus=1
+fi
+
+case $estatus:$expect_failure in
+  0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
+  0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
+  77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
+  99:*)  col=$mgn res=ERROR recheck=yes gcopy=yes;;
+  *:yes) col=$lgn res=XFAIL recheck=no  gcopy=yes;;
+  *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
+esac
+
+# Report outcome to console.
+echo "${col}${res}${std}: $test_name"
+
+# Register the test result, and other relevant metadata.
+echo ":test-result: $res" > $trs_file
+echo ":global-test-result: $res" >> $trs_file
+echo ":recheck: $recheck" >> $trs_file
+echo ":copy-in-global-log: $gcopy" >> $trs_file
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:

Modified: trunk/Build/source/utils/autosp/autosp-src/tests/quod2.aspc
===================================================================
--- trunk/Build/source/utils/autosp/autosp-src/tests/quod2.aspc	2017-07-01 00:17:44 UTC (rev 44731)
+++ trunk/Build/source/utils/autosp/autosp-src/tests/quod2.aspc	2017-07-01 08:43:32 UTC (rev 44732)
@@ -81,7 +81,7 @@
 \anotes
   \itieu0a\qa a\ttie0\ibbl0a{-2}\qb0{aNM}\tqb0L&
   \ibl1l{-2}\qb1l\tqb1k\cl{^j}\ds&
-  \qa{.o}\ibbl2i2\qb2i\Qsk\tqb2{^j}&
+  \qa{.o}\ibbl2i2\qb2i\tqb2{^j}&
   \shake{n}\ibl3i0\qb3{^j}\nbbl3\qb3i\tqb3j\cu h\ds\en
 \bar%7
 \anotes\qa{MK}&\ibu1g0\qb1{fgh}\tqh1f&\ibl2k0\qb2{klm}\tqb2k&\qa{hh}\en
@@ -91,7 +91,7 @@
 \anotes
   \qu{.H}\cu{^J}&
   \ibu1c4\qb1{^cde}\itied1h\tqh1h&
-  \ibl2l{-1}\qb2{.l}\itieu2k\tbbl2\tqb2k\ttie2\ibbl2j0\qb2k\HQsk\tbbl2\qb2{^j}\itieu2l\tqb2l&
+  \ibl2l{-1}\qb2{.l}\itieu2k\tbbl2\tqb2k\ttie2\ibbl2j0\qb2k\tbbl2\qb2{,,,^j}\itieu2l\tqb2l&
   \ibu3h{0}\qb3{hih}\tqh3g\en
 \anotes
   \ql K\cl K&
@@ -98,8 +98,8 @@
   \ttie1\ibu1h{-2}\qb1h\tqh1g\cu f&
   \ttie2\ibbl2l{-1}\qb2{lkl}\tqb2j\cl k&
   \ibu3f{-1}\qb3f\tqh3e\cu d\en
-\advance\barno by -1%
 \leftrightrepeat
+\advance\barno-1%
 \anotes\ds&\cl m&\ds&\cl o\en
 \bar%9
 \anotes\qa{dc}&\ibl1k0\qb1{kmk}\tqb1{m}&\qa{oo}&\ibl3m0\qb3{mom}\tqb3o\en
@@ -124,7 +124,7 @@
   \qa b\qa I&
   \ibl1k2\qb1{^k}\nbbl1\qb1l\tqb1m\itied1i\qu i&
   \ibl2o{-1}\qb2p\qb2q\qb2p\tqb2o&
-  \ibl3n{-2}\qb3n\nbbl3\qb3m\tqb3l\Qsk\ibbl3k0\qb3{^kl}\qb3m\tqb3k\en
+  \ibl3n{-2}\qb3n\nbbl3\qb3m\tqb3l\ibbl3k0\qb3{,,,^kl}\qb3m\tqb3k\en
 \anotes
   \qa{.L}\cl{=K}&
   \ttie1\ibu1i0\qb1i\nbbu1\qb1h\tqh1i\ibu1g2\qb1g\nbbu1\qb1h\tqh1i&

Modified: trunk/Build/source/utils/autosp/autosp-src/tests/quod2.tex
===================================================================
--- trunk/Build/source/utils/autosp/autosp-src/tests/quod2.tex	2017-07-01 00:17:44 UTC (rev 44731)
+++ trunk/Build/source/utils/autosp/autosp-src/tests/quod2.tex	2017-07-01 08:43:32 UTC (rev 44732)
@@ -1,4 +1,4 @@
-%  Generated by autosp (2017-04-06).
+%  Generated by autosp (2017-06-21).
 \input musixtex
 \input musixplt
 \input soul.sty
@@ -48,7 +48,7 @@
 \Notes\ha M&\ibl1k{-2}\qb1k&&\qp\en
 \notes\sk\sk&\nbbl1\qb1j\tqb1i&&\sk\sk\en
 \Notes\sk&\ibu1h0\qb1h&&\ds\en
-\notes\sk\sk\hqsk&\nbbu1\qb1g\tqh1h\hqsk&\hqsk&\cu d\sk\hqsk\en%
+\notes\sk\sk&\nbbu1\qb1g\tqh1h&&\cu d\sk\off{0.5\elemskip}\en%
 \def\atnextbar{\znotes&&\centerpause&\en}%
 \bar%2
 \Notes\ha L\sk\sk\sk&\ibu1i{-2}\qb1i\tqh1h\itied1g\qa g\sk&\qa{n}\sk\qa{n}\sk&\ibu3g2\qb3{g}\qb3{h}\qb3{i}\tqh3j\en%
@@ -55,9 +55,9 @@
 \Notes\qa{.K}&\ttie1\qa g&\qa o&\ibl3k{-2}\qb3k\en
 \notes\sk\sk&\sk\sk&\sk\sk&\nbbl3\qb3j\tqb3i\en
 \Notes\sk&\ibu1f0\shake{n}\qb1f&\cl o&\cu h\en
-\notes\cu J\sk\hqsk&\nbbu1\qb1e\tqh1f\hqsk&\ds\sk\hqsk&\ds\sk\hqsk\en%
+\notes\cu J\sk&\nbbu1\qb1e\tqh1f&\ds\sk&\ds\sk\off{0.5\elemskip}\en%
 \bar%3
-\Notes\hu I\sk\sk\sk&\qa g\sk\ds\cl k&\ibl2n{-1}\qb2{n}\qb2{o}\qb2{n}\tqb2{=m}&\qa{k}\sk\qa{k}\sk\en%
+\Notes\hu I\sk\sk\qqsk\sk&\qa g\sk\ds\qqsk\cl k&\ibl2n{-1}\qb2{n}\qb2{o}\qb2{n}\qqsk\tqb2{=m}&\qa{k}\sk\qa{k}\qqsk\sk\en%
 \Notes\hu J\sk\sk\sk&\ibu1j{-2}\qb1{j}\qb1{i}\qb1h\tqh1g&\ibl2j{0}\qb2{l}\qb2{k}\qb2j\tqb2p&\qa{l}\sk\qa{l}\sk\en%
 \bar%4
 \Notes\ha K\sk&\itied1f\shake{n}\qa f\sk&\ibl2o{-1}\qb2{o}\qb2{n}&\ibl3k{-1}\qb3{k}\qb3{l}\en
@@ -64,20 +64,20 @@
 \notes\sk\sk&\ttie1\ibbu1e{-2}\qb1f\tbbu1\qb1e&\qb2{o}\sk&\qb3{k}\sk\en
 \Notes\sk&\itied1d\tqh1d&\tqb2m&\tqb3j\en%
 \Notes\qa G\sk\ds&\ttie1\qa d\sk\qp&\ibl2n{-2}\qb2n\tqb2m\ibl2n{-5}\qb2n&\ibu3h{-2}\shake{p}\qb3i\tqh3h\qa g\en
-\notes\ibbl0b{-1}\qb0b\tqb0a\hqsk&\sk\sk\hqsk&\tqb2k\sk\hqsk&\sk\sk\hqsk\en%
+\notes\ibbl0b{-1}\qb0b\tqb0a&\sk\sk&\tqb2k\sk&\sk\sk\off{0.5\elemskip}\en%
 \bar%5
 \Notes\ibl0M0\qb0N&\qa{n}&\ibl2n2\qb2{n}&\hp\en
 \notes\nbbl0\qb0M\tqb0N&\sk\sk&\qb2{o}\sk&\sk\sk\en
 \Notes\ibl0K0\qb0L&\qa{n}&\qb2{p}&\sk\en
-\notes\nbbl0\qb0K\tqb0L\hqsk&\sk\sk\hqsk&\tqb2q\sk\hqsk&\sk\sk\hqsk\en%
+\notes\nbbl0\qb0K\tqb0L&\sk\sk&\tqb2q\sk&\sk\sk\off{0.5\elemskip}\en%
 \Notes\qa{.M}&\qa{o}&\ibl2r{-2}\qb2r&\qp\en
 \notes\sk\sk&\sk\sk&\nbbl2\qb2q\tqb2p&\sk\sk\en
 \Notes\sk\cu I&\qa{o}\sk&\ibl2o6\qb2o\itieu2r\tqb2r&\ds\cl k\en%
 \bar%6
 \Notes\qa{.L}\sk\sk&\ibl1n{-1}\qb1{n}\qb1{o}\qb1{n}&\ttie2\ibl2r{-2}\qb2r\tqb2q\qa p&\ibl3n{-2}\qb3{n}\qb3{m}\qb3{l}\en
-\notes\ibbl0M2\qb0M\tqb0N\hqsk&\tqb1m\sk\hqsk&\sk\sk\hqsk&\tqb3k\sk\hqsk\en%
+\notes\ibbl0M2\qb0M\tqb0N&\tqb1m\sk&\sk\sk&\tqb3k\sk\off{0.5\elemskip}\en%
 \Notes\itieu0a\qa a&\ibl1l{-2}\qb1l&\qa{.o}&\shake{n}\ibl3i0\qb3{^j}\en
-\notes\sk\sk\ttie0\ibbl0a{-2}\qb0{a}\qb0{N}\qb0{M}\qsk\tqb0L\hqsk&\tqb1k\sk\cl{^j}\sk\ds\qsk\sk\hqsk&\sk\sk\sk\sk\ibbl2i2\qb2i\qsk\tqb2{^j}\hqsk&\nbbl3\qb3i\tqb3j\cu h\sk\ds\qsk\sk\hqsk\en%
+\notes\sk\sk\hqsk\ttie0\ibbl0a{-2}\qb0{a}\qb0{N}\qb0{M}\hqsk\tqb0L&\tqb1k\sk\hqsk\cl{^j}\sk\ds\hqsk\sk&\sk\sk\hqsk\sk\sk\ibbl2i2\qb2i\hqsk\tqb2{^j}&\nbbl3\qb3i\tqb3j\hqsk\cu h\sk\ds\hqsk\sk\off{0.5\elemskip}\en%
 \bar%7
 \Notes\qa{M}\sk\qa{K}\sk&\ibu1g0\qb1{f}\qb1{g}\qb1{h}\tqh1f&\ibl2k0\qb2{k}\qb2{l}\qb2{m}\tqb2k&\qa{h}\sk\qa{h}\sk\en%
 \Notes\qa{N}\sk\qa{G}\sk&\ibu1g{-2}\qb1{g}\qb1{f}\qb1{e}\tqh1d&\ibl2i4\qb2{i}\qb2{k}\qb2{n}\tqb2m&\qa{i}\sk\qa{i}\sk\en%
@@ -84,12 +84,12 @@
 \bar%8
 \nspace
 \Notes\qu{.H}&\ibu1c4\qb1{^c}&\ibl2l{-1}\qb2{.l}&\ibu3h{0}\qb3{h}\en
-\notes\sk\sk\sk\hqsk\sk&\qb1{d}\sk\qb1{e}\hqsk\sk&\sk\itieu2k\tbbl2\tqb2k\ttie2\ibbl2j0\qb2k\hqsk\tbbl2\qb2{^j}&\qb3{i}\sk\qb3{h}\hqsk\sk\en
-\Notes\cu{^J}&\itied1h\tqh1h&\itieu2l\tqb2l&\tqh3g\en%
+\notes\sk\sk\sk\tqsk\sk&\qb1{d}\sk\qb1{e}\tqsk\sk&\sk\itieu2k\tbbl2\tqb2k\ttie2\ibbl2j0\qb2k\tqsk\tbbl2\qb2{^j}&\qb3{i}\sk\qb3{h}\tqsk\sk\en
+\Notes\hqsk\cu{^J}&\hqsk\itied1h\tqh1h&\hqsk\itieu2l\tqb2l&\hqsk\tqh3g\en%
 \notes\ql K\sk\sk\sk&\ttie1\ibu1h{-2}\qb1h\sk\tqh1g\sk&\ttie2\ibbl2l{-1}\qb2{l}\qb2{k}\qb2{l}\tqb2j&\ibu3f{-1}\qb3f\sk\tqh3e\sk\en
 \Notes\cl K&\cu f&\cl k&\cu d\en%
-\advance\barno by -1%
 \leftrightrepeat
+\advance\barno-1%
 \Notes\ds&\cl m&\ds&\cl o\en%
 \bar%9
 \Notes\qa{d}\sk\qa{c}\sk&\ibl1k0\qb1{k}\qb1{m}\qb1{k}\tqb1{m}&\qa{o}\sk\qa{o}\sk&\ibl3m0\qb3{m}\qb3{o}\qb3{m}\tqb3o\en%
@@ -99,21 +99,21 @@
 \bar%10
 \Notes\ibl0b{-1}\qb0{c}\qb0{b}\qb0{c}\tqb0a&\cl l\ds\qp\sk&\ibl2o{-1}\qb2{o}\qb2{p}\qb2{o}\tqb2n&\ibl3o{-2}\qb3{o}\qb3{n}\qb3{m}\tqb3l\en%
 \Notes\qa{.b}&\qa{m}&\ibl2m{-2}\qb2m&\ibl3j0\shake n\qb3{^k}\en
-\notes\sk\sk&\sk\sk&\tqb2l\sk&\nbbl3\qb3{^j}\tqb3k\en
-\Notes\sk\cl{^a}&\qa{m}\sk&\cl{^k}\ds&\ibl3i8\qb3i\tqb3{p}\en%
+\notes\qqsk\sk\sk&\qqsk\sk\sk&\qqsk\tqb2l\sk&\qqsk\nbbl3\qb3{^j}\tqb3k\en
+\Notes\hqsk\sk\qqsk\cl{^a}&\hqsk\qa{m}\qqsk\sk&\hqsk\cl{^k}\qqsk\ds&\hqsk\ibl3i8\qb3i\qqsk\tqb3{p}\en%
 \bar%11
 \Notes\qa{N}\sk\qa{N}\sk&\ibl1l0\qb1{n}\qb1{l}\qb1{n}\tqb1l&\qa{p}\sk\qa{p}\sk&\ibl3m0\qb3{l}\qb3{p}\qb3{l}\tqb3{p}\en%
 \notes\qa{.a}\sk\sk\sk&\ibl1m{-1}\qb1{m}\sk\qb1{n}\sk&\qa{q}\sk\sk\sk&\ibbl3k2\qb3{^k}\qb3{l}\qb3{m}\tqb3n\en
 \Notes\sk&\qb1{m}&\qa{q}&\ibl3o{-2}\qb3o\en
-\notes\cl{^a}\sk\hqsk&\tqb1l\sk\hqsk&\sk\sk\hqsk&\nbbl3\qb3n\tqb3m\hqsk\en%
+\notes\qqsk\cl{^a}\sk&\qqsk\tqb1l\sk&\qqsk\sk\sk&\qqsk\nbbl3\qb3n\tqb3m\off{0.5\elemskip}\en%
 \bar%12
 \nspace
 \Notes\qa b&\ibl1k2\qb1{^k}&\ibl2o{-1}\qb2p&\ibl3n{-2}\qb3n\en
-\notes\sk\sk\qsk\qa I\sk\sk\sk\hqsk&\nbbl1\qb1l\tqb1m\qsk\itied1i\qu i\sk\sk\sk\hqsk&\qb2q\sk\qsk\qb2p\sk\tqb2o\sk\hqsk&\nbbl3\qb3m\tqb3l\qsk\ibbl3k0\qb3{^k}\qb3{l}\qb3m\tqb3k\hqsk\en%
+\notes\sk\sk\tqsk\qa I\sk\sk\sk&\nbbl1\qb1l\tqb1m\tqsk\itied1i\qu i\sk\sk\sk&\qb2q\sk\tqsk\qb2p\sk\tqb2o\sk&\nbbl3\qb3m\tqb3l\tqsk\ibbl3k0\qb3{^k}\qb3{l}\qb3m\tqb3k\off{0.5\elemskip}\en%
 \Notes\qa{.L}&\ttie1\ibu1i0\qb1i&\ibl2n0\qb2n&\itieu3l\ha l\en
 \notes\sk\sk&\nbbu1\qb1h\tqh1i&\nbbl2\qb2m\tqb2n&\sk\sk\en
 \Notes\sk&\ibu1g2\qb1g&\cl l&\sk\en
-\notes\cl{=K}\sk\hqsk&\nbbu1\qb1h\tqh1i\hqsk&\ds\sk\hqsk&\sk\sk\hqsk\en%
+\notes\qqsk\cl{=K}\sk&\qqsk\nbbu1\qb1h\tqh1i&\qqsk\ds\sk&\qqsk\sk\sk\off{0.5\elemskip}\en%
 \bar%13
 \notes\qa{J}\sk\sk\sk\qa{c}\sk&\ibl1j2\qb1{j}\sk\qb1{k}\sk\qb1{l}\sk&\hp\sk\sk\sk\sk\sk&\ttie3\ibbl3k1\slur lku1\qb3{l}\qb3{k}\slur mlu1\qb3m\tqb3l\ibbl3m1\isluru3n\qb3n\tbbl3\tslur3m\qb3m\en
 \Notes\sk&\tqb1m&\sk&\tqb3o\en%
@@ -120,15 +120,15 @@
 \Notes\qa{.b}&\ibl1n{-1}\qb1n&\qa n&\qa{.k}\en
 \notes\sk\sk&\nbbl1\qb1m\tqb1l&\sk\sk&\sk\sk\en
 \Notes\sk&\cl k&\ibl2i{-5}\qb2n&\sk\en
-\notes\ibbu0J{-2}\qb0J\tqh0I\hqsk&\ds\sk\hqsk&\tqb2g\sk\hqsk&\ibbl3j2\qb3j\tqb3k\hqsk\en%
+\notes\ibbu0J{-2}\qb0J\tqh0I&\ds\sk&\tqb2g\sk&\ibbl3j2\qb3j\tqb3k\off{0.5\elemskip}\en%
 \bar%14
 \Notes\qa{.H}&\ds&\ibl2j1\qb2{.j}&\ibl3l2\qb3l\en
 \notes\sk\sk&\cu h\sk&\sk\tbbl2\tqb2k&\nbbl3\qb3m\tqb3n\en
 \Notes\sk&\ibu1e0\qb1e&\ibl2j{-2}\qb2j&\ibl3o{-2}\qb3o\en
-\notes\ibbu0I2\qb0I\tqh0J\hqsk&\nbbu1\qb1d\tqh1e\hqsk&\tqb2i\sk\hqsk&\tqb3n\sk\hqsk\en%
+\notes\ibbu0I2\qb0I\tqh0J&\nbbu1\qb1d\tqh1e&\tqb2i\sk&\tqb3n\sk\off{0.5\elemskip}\en%
 \notes\qa{.K}\sk&\ibu1g1\qb1f\sk&\ibu2h1\qb2h\sk&\ibbl3m{-2}\shake{o}\qb3m\tbbl3\qb3l\en
 \Notes\sk\sk&\itied1g\tqh1g\ttie1\ibu1g{-1}\qb1g&\tqh2i\ibl2j2\qb2j&\tqb3k\ibu3i{-6}\qb3j\en
-\notes\ibbu0J2\qb0J\tqh0K\hqsk&\tqh1f\sk\hqsk&\tqb2k\sk\hqsk&\tqh3d\sk\hqsk\en%
+\notes\ibbu0J2\qb0J\tqh0K&\tqh1f\sk&\tqb2k\sk&\tqh3d\sk\off{0.5\elemskip}\en%
 \bar%15
 \Notes\ibu0I0\qb0{G}&\qa{d}&\ibu2i0\qb2i&\ibl3i0\qb3{i}\en
 \notes\qb0{H}\sk&\sk\sk&\nbbu2\qb2h\tqh2i&\qb3{j}\sk\en
@@ -135,7 +135,7 @@
 \Notes\qb0{I}\tqh0G&\qa{d}\sk&\cu g\ds&\qb3{k}\tqb3i\en%
 \Notes\qa{.J}&\qa{e}&\ds&\ibu3j{-2}\qb3{j}\en
 \notes\sk\sk&\sk\sk&\ibbl2l{-2}\qb2l\tqb2k&\qb3{i}\sk\en
-\Notes\sk\cu{^J}&\qa{e}\sk&\ibl2j4\qb2j\tqb2l&\qb3{h}\tqh3g\en%
+\Notes\sk\qqsk\cu{^J}&\qa{e}\qqsk\sk&\ibl2j4\qb2j\qqsk\tqb2l&\qb3{h}\qqsk\tqh3g\en%
 \bar%16
 \notes\qa{K}\sk\sk\sk\qa{K}\sk&\ibu1g{1}\qb1{d}\sk\qb1{e}\sk\qb1{d}\sk&\ibbl2h1\qb2{h}\qb2{k}\qb2{j}\tqb2i\ibbl2j0\qb2j\tbbl2\qb2h&\ibu3f2\qb3f\sk\tqh3g\sk\ibu3h{-4}\qb3h\sk\en
 \Notes\sk&\tqh1j&\itieu2k\tqb2k&\tqh3f\en%

Modified: trunk/Build/source/utils/autosp/autosp-src/tests/quod3.aspc
===================================================================
--- trunk/Build/source/utils/autosp/autosp-src/tests/quod3.aspc	2017-07-01 00:17:44 UTC (rev 44731)
+++ trunk/Build/source/utils/autosp/autosp-src/tests/quod3.aspc	2017-07-01 08:43:32 UTC (rev 44732)
@@ -28,7 +28,7 @@
 \setname3{A}
 \setname4{S}
 \songtop4\songbottom1
-\fulltitle{\BIgfont \so{Quodlibet}}
+\fulltitle{\sc\so{Quodlibet}}
 \subtitle{\it Variation 30 of the Goldberg Variations for Clavier}
 \title{\it Quodlibet}
 \author{J. S. Bach (1685--1750)}
@@ -82,17 +82,17 @@
 \anotes
   \itieu0a\qa a\ttie0\ibbl0a{-2}\qb0{aNM}\tqb0L&
   \ibl1l{-2}\qb1l\tqb1k\cl{^j}\ds&
-  \qa{.o}\ibbl2i2\qb2i\qsk\tqb2{^j}&
+  \qa{.o}\ibbl2i2\qb2i\tqb2{^j}&
   \shake{n}\ibl3i0\qb3{^j}\nbbl3\qb3i\tqb3j\cu h\ds\en
 \bar%7
 \anotes\qa{MK}&\ibu1g0\qb1{fgh}\tqh1f&\ibl2k0\qb2{klm}\tqb2k&\qa{hh}\en
 \anotes\qa{NG}&\ibu1g{-2}\qb1{gfe}\tqh1d&\ibl2i4\qb2{ikn}\tqb2m&\qa{ii}\en
 \bar%8
-\vnotes0.4\elemskip&&&\en
+\nspace
 \anotes
   \qu{.H}\cu{^J}&
   \ibu1c4\qb1{^cde}\itied1h\tqh1h&
-  \ibl2l{-1}\qb2{.l}\itieu2k\tbbl2\tqb2k\ttie2\ibbl2j0\qb2k\hqsk\tbbl2\qb2{^j}\itieu2l\tqb2l&
+  \ibl2l{-1}\qb2{.l}\itieu2k\tbbl2\tqb2k\ttie2\ibbl2j0\qb2k\tbbl2\qb2{,,,^j}\itieu2l\tqb2l&
   \ibu3h{0}\qb3{hih}\tqh3g\en
 \anotes
   \ql K\cl K&
@@ -99,8 +99,8 @@
   \ttie1\ibu1h{-2}\qb1h\tqh1g\cu f&
   \ttie2\ibbl2l{-1}\qb2{lkl}\tqb2j\cl k&
   \ibu3f{-1}\qb3f\tqh3e\cu d\en
-\advance\barno by -1%
-\leftrightrepeat%8
+\leftrightrepeat%9
+\advance\barno-1%
 \anotes\ds&\cl m&\ds&\cl o\en
 \bar%9
 \anotes\qa{dc}&\ibl1k0\qb1{kmk}\tqb1{m}&\qa{oo}&\ibl3m0\qb3{mom}\tqb3o\en
@@ -118,14 +118,14 @@
   \qa{.a}\cl{^a}&
   \ibl1m{-1}\qb1{mnm}\tqb1l&
   \qa{qq}&
-  \ibbl3k2\qb3{^klm}\tqb3n\ibl3o{-2}\qb3o\nbbl3\qb3n\qsk\tqb3m\en
+  \ibbl3k2\qb3{^klm}\tqb3n\ibl3o{-2}\qb3o\nbbl3\qb3n\tqb3m\en
 \bar%12
-\vnotes0.4\elemskip&&&\en
+\nspace
 \anotes
   \qa b\qa I&
   \ibl1k2\qb1{^k}\nbbl1\qb1l\tqb1m\itied1i\qu i&
   \ibl2o{-1}\qb2p\qb2q\qb2p\tqb2o&
-  \ibl3n{-2}\qb3n\nbbl3\qb3m\tqb3l\qsk\ibbl3k0\qb3{^kl}\qb3m\tqb3k\en
+  \ibl3n{-2}\qb3n\nbbl3\qb3m\tqb3l\ibbl3k0\qb3{,,,^kl}\qb3m\tqb3k\en
 \anotes
   \qa{.L}\cl{=K}&
   \ttie1\ibu1i0\qb1i\nbbu1\qb1h\tqh1i\ibu1g2\qb1g\nbbu1\qb1h\tqh1i&

Modified: trunk/Build/source/utils/autosp/configure
===================================================================
(Binary files differ)

Modified: trunk/Build/source/utils/autosp/configure.ac
===================================================================
--- trunk/Build/source/utils/autosp/configure.ac	2017-07-01 00:17:44 UTC (rev 44731)
+++ trunk/Build/source/utils/autosp/configure.ac	2017-07-01 08:43:32 UTC (rev 44732)
@@ -7,7 +7,7 @@
 dnl   gives unlimited permission to copy and/or distribute it,
 dnl   with or without modifications, as long as this notice is preserved.
 dnl
-m4_define([autosp_version], [2017-04-06])[]dnl using unmodified autosp source
+m4_define([autosp_version], [2017-06-21])[]dnl using unmodified autosp source
 AC_INIT([autosp (TeX Live)], autosp_version, [tex-k at tug.org])
 AC_PREREQ([2.65])
 AC_CONFIG_SRCDIR([autosp-src/autosp.c])



More information about the tex-live-commits mailing list