summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/texlive/tlmgr.pl818
-rwxr-xr-xMaster/bin/alpha-linux/fixmsxpartbin31496 -> 0 bytes
-rwxr-xr-xMaster/bin/alpha-linux/msxlintbin21520 -> 0 bytes
-rwxr-xr-xMaster/bin/amd64-freebsd/fixmsxpartbin26808 -> 0 bytes
-rwxr-xr-xMaster/bin/amd64-freebsd/msxlintbin20120 -> 0 bytes
-rwxr-xr-xMaster/bin/amd64-netbsd/fixmsxpartbin27176 -> 0 bytes
-rwxr-xr-xMaster/bin/amd64-netbsd/msxlintbin19552 -> 0 bytes
-rwxr-xr-xMaster/bin/armel-linux/fixmsxpartbin22360 -> 0 bytes
-rwxr-xr-xMaster/bin/armel-linux/msxlintbin10652 -> 0 bytes
-rwxr-xr-xMaster/bin/armhf-linux/fixmsxpartbin22412 -> 0 bytes
-rwxr-xr-xMaster/bin/armhf-linux/msxlintbin10680 -> 0 bytes
-rwxr-xr-xMaster/bin/i386-cygwin/fixmsxpart.exebin29710 -> 0 bytes
-rwxr-xr-xMaster/bin/i386-cygwin/msxlint.exebin20494 -> 0 bytes
-rwxr-xr-xMaster/bin/i386-freebsd/fixmsxpartbin26604 -> 0 bytes
-rwxr-xr-xMaster/bin/i386-freebsd/msxlintbin15116 -> 0 bytes
-rwxr-xr-xMaster/bin/i386-linux/fixmsxpartbin30532 -> 0 bytes
-rwxr-xr-xMaster/bin/i386-linux/msxlintbin14132 -> 0 bytes
-rwxr-xr-xMaster/bin/i386-netbsd/fixmsxpartbin26652 -> 0 bytes
-rwxr-xr-xMaster/bin/i386-netbsd/msxlintbin15324 -> 0 bytes
-rwxr-xr-xMaster/bin/mipsel-linux/fixmsxpartbin22944 -> 0 bytes
-rwxr-xr-xMaster/bin/mipsel-linux/msxlintbin14608 -> 0 bytes
-rwxr-xr-xMaster/bin/powerpc-linux/fixmsxpartbin22400 -> 0 bytes
-rwxr-xr-xMaster/bin/powerpc-linux/msxlintbin14192 -> 0 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/fixmsxpartbin26872 -> 0 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/msxlintbin17776 -> 0 bytes
-rwxr-xr-xMaster/bin/universal-darwin/fixmsxpartbin70448 -> 0 bytes
-rwxr-xr-xMaster/bin/universal-darwin/msxlintbin53980 -> 0 bytes
-rwxr-xr-xMaster/bin/win32/fixmsxpart.exebin24064 -> 0 bytes
-rwxr-xr-xMaster/bin/win32/msxlint.exebin13312 -> 0 bytes
-rwxr-xr-xMaster/bin/x86_64-cygwin/fixmsxpart.exebin29696 -> 0 bytes
-rwxr-xr-xMaster/bin/x86_64-cygwin/msxlint.exebin20480 -> 0 bytes
-rwxr-xr-xMaster/bin/x86_64-darwin/fixmsxpartbin30556 -> 0 bytes
-rwxr-xr-xMaster/bin/x86_64-darwin/msxlintbin22252 -> 0 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/fixmsxpartbin21528 -> 0 bytes
-rwxr-xr-xMaster/bin/x86_64-linux/msxlintbin15544 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/ChangeLog-116.txt4
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/README5
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/examples/kinder.log397
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/examples/kinder.pdfbin32823 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc.pdfbin1234863 -> 1234987 bytes
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/extensions.tex191
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/fonts.tex4
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex7
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/preparing.tex4
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/summary.tex12
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixdoc/texput.log25
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixlyr/examples/nonmoriar.dvibin1492 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/musixlyr/mxlyrdoc.dvibin97076 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/musixtex/reference/musixre1.pdfbin89340 -> 81604 bytes
-rw-r--r--Master/texmf-dist/tex/generic/musixtex/musixtex.tex11
50 files changed, 646 insertions, 832 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
index 2044e3aca2a..0921eeea637 100755
--- a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
+++ b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
@@ -1,12 +1,12 @@
#!/usr/bin/env perl
-# $Id: tlmgr.pl 36997 2015-04-22 00:21:41Z preining $
+# $Id: tlmgr.pl 37011 2015-04-22 23:10:04Z preining $
#
# Copyright 2008-2015 Norbert Preining
# This file is licensed under the GNU General Public License version 2
# or any later version.
-my $svnrev = '$Revision: 36997 $';
-my $datrev = '$Date: 2015-04-22 02:21:41 +0200 (Wed, 22 Apr 2015) $';
+my $svnrev = '$Revision: 37011 $';
+my $datrev = '$Date: 2015-04-23 01:10:04 +0200 (Thu, 23 Apr 2015) $';
my $tlmgrrevision;
my $prg;
if ($svnrev =~ m/: ([0-9]+) /) {
@@ -26,6 +26,14 @@ our $packagelogged;
our $tlmgr_config_file;
our $pinfile;
our $action; # for the pod2usage -sections call
+our %opts;
+
+END {
+ if ($opts{"pause"}) {
+ print "Press Enter to exit the program.\n";
+ <STDIN>;
+ }
+}
BEGIN {
$^W = 1;
@@ -116,14 +124,223 @@ our $FLAG_REINSTALL = "I";
our $common_fmtutil_args =
"--no-error-if-no-engine=$TeXLive::TLConfig::PartialEngineSupport";
+# return flags for error handling
+#
+# all fine
+our $F_OK = 0;
+#
+# some warnings, but we still try to run post actions
+our $F_WARNING = 1;
+#
+# error, terminating
+our $F_ERROR = 2;
+#
+# all fine, but no need to run post actions
+our $F_NOPOSTACTION = 4;
+
# option variables
$::gui_mode = 0;
$::machinereadable = 0;
-our %opts;
+my %globaloptions = (
+ "gui" => 1,
+ "gui-lang" => "=s",
+ "debug-translation" => 1,
+ "location|repository|repo" => "=s",
+ "machine-readable" => 1,
+ "package-logfile" => "=s",
+ "persistent-downloads" => "!",
+ "no-execute-actions" => 1,
+ "pin-file" => "=s",
+ "pause" => 1,
+ "print-platform|print-arch" => 1,
+ "version" => 1,
+ "help" => 1,
+ "h|?" => 1);
+
+my %action_specification = (
+ '_include_tlpobj' => {
+ "run-post" => 0,
+ "function" => \&action_include_tlpobj
+ },
+ "backup" => {
+ "options" => {
+ "backupdir" => "=s",
+ "clean" => ":-99",
+ "all" => 1,
+ "dry-run|n" => 1
+ },
+ "run-post" => 1,
+ "function" => \&action_backup
+ },
+ "candidates" => {
+ "run-post" => 0,
+ "function" => \&action_candidates
+ },
+ "check" => {
+ "options" => { "use-svn" => 1 },
+ "run-post" => 1,
+ "function" => \&action_check
+ },
+ "conf" => {
+ "options" => {
+ "conffile" => "=s",
+ "delete" => 1,
+ },
+ "run-post" => 0,
+ "function" => \&action_conf
+ },
+ "dump-tlpdb" => {
+ "options" => { "local" => 1, remote => 1 },
+ "run-post" => 0,
+ "function" => \&action_dumptlpdb
+ },
+ "generate" => {
+ "options" => {
+ "localcfg" => "=s",
+ "dest" => "=s",
+ "rebuild-sys" => 1
+ },
+ "run-post" => 1,
+ "function" => \&action_generate
+ },
+ "get-mirror" => {
+ "run-post" => 0,
+ "function" => \&action_get_mirror
+ },
+ "gui" => {
+ "options" => { "load" => 1 },
+ "run-post" => 1,
+ "function" => \&action_gui
+ },
+ "info" => {
+ "options" => { "list" => 1, "only-installed" => 1 },
+ "run-post" => 0,
+ "function" => \&action_info
+ },
+ "init-usertree" => {
+ "run-post" => 0,
+ "function" => \&action_init_usertree
+ },
+ "install" => {
+ "options" => {
+ "no-depends" => 1,
+ "no-depends-at-all" => 1,
+ "file" => 1,
+ "reinstall" => 1,
+ "force" => 1,
+ "dry-run|n" => 1,
+ "with-doc" => 1,
+ "with-src" => 1,
+ },
+ "run-post" => 1,
+ "function" => \&action_install
+ },
+ "option" => {
+ "run-post" => 1,
+ "function" => \&action_option
+ },
+ "paper" => {
+ "options" => { "list" => 1 },
+ "run-post" => 1,
+ "function" => \&action_paper
+ },
+ "path" => {
+ "options" => { "w32mode" => "=s" },
+ "run-post" => 0,
+ "function" => \&action_path
+ },
+ "pinning" => {
+ "options" => { "all" => 1 },
+ "run-post" => 1,
+ "function" => \&action_pinning
+ },
+ "platform" => {
+ "options" => { "dry-run|n" => 1 },
+ "run-post" => 1,
+ "function" => \&action_platform
+ },
+ "postaction" => {
+ "options" => {
+ "w32mode" => "=s",
+ "all" => 1,
+ "fileassocmode" => "=i"
+ },
+ "run-post" => 0,
+ "function" => \&action_postaction
+ },
+ "recreate-tlpdb" => {
+ "options" => { "platform|arch" => "=s" },
+ "run-post" => 0,
+ "function" => \&action_recreate_tlpdb
+ },
+ "remove" => {
+ "options" => {
+ "no-depends" => 1,
+ "no-depends-at-all" => 1,
+ "force" => 1,
+ "dry-run|n" => 1
+ },
+ "run-post" => 1,
+ "function" => \&action_remove
+ },
+ repository => {
+ "options" => { "with-platforms" => 1 },
+ "run-post" => 1,
+ "function" => \&action_repository
+ },
+ "restore" => {
+ "options" => {
+ "backupdir" => "=s",
+ "dry-run|n" => 1,
+ "all" => 1,
+ "force" => 1
+ },
+ "run-post" => 1,
+ "function" => \&action_restore
+ },
+ "search" => {
+ "options" => {
+ "global" => 1,
+ "word" => 1,
+ "file" => 1,
+ "all" => 1,
+ },
+ "run-post" => 1,
+ "function" => \&action_search
+ },
+ "uninstall" => {
+ "options" => { "force" => 1 },
+ "run-post" => 0,
+ "function" => \&action_uninstall
+ },
+ "update" => {
+ "options" => {
+ "no-depends" => 1,
+ "no-depends-at-all" => 1,
+ "all" => 1,
+ "self" => 1,
+ "list" => 1,
+ "no-auto-remove" => 1,
+ "no-auto-install" => 1,
+ "reinstall-forcibly-removed" => 1,
+ "force" => 1,
+ "backupdir" => "=s",
+ "backup" => 1,
+ "exclude" => "=s@",
+ "dry-run|n" => 1
+ },
+ "run-post" => 1,
+ "function" => \&action_update
+ },
+ "version" => { }, # handled separately
+);
main() if $ismain;
+#####################################################################
+
+
sub main {
my %options; # TL options from local tlpdb
@@ -146,75 +363,6 @@ sub main {
"version" => 1,
);
- my %actionoptions = (
- "backup" => { "all" => 1,
- "backupdir" => "=s",
- "clean" => ":-99",
- "dry-run|n" => 1 },
- "candidates" => { },
- "check" => { "use-svn" => 1 },
- "conf" => { "conffile" => "=s",
- "delete" => 1 },
- "dump-tlpdb" => { "local" => 1,
- "remote" => 1 },
- "generate" => { "dest" => "=s",
- "localcfg" => "=s",
- "rebuild-sys" => 1 },
- "get-mirror" => { },
- "gui" => { "load" => 1 },
- "help" => { },
- "info" => { "list" => 1,
- "only-installed" => 1 },
- "init-usertree" => { },
- "install" => { "dry-run|n" => 1,
- "file" => 1,
- "force" => 1,
- "with-doc" => 1,
- "with-src" => 1,
- "no-depends" => 1,
- "no-depends-at-all" => 1,
- "reinstall" => 1},
- "option" => { },
- "paper" => { "list" => 1 },
- "path" => { "w32mode" => "=s" },
- "pinning" => { "all" => 1 },
- "platform" => { "dry-run|n" => 1 },
- "postaction" => { "all" => 1,
- "fileassocmode" => "=i",
- "w32mode" => "=s"},
- "recreate-tlpdb"=> { "platform|arch" => "=s" },
- "remove" => { "dry-run|n" => 1,
- "force" => 1,
- "no-depends" => 1,
- "no-depends-at-all" => 1 },
- "repository" => { "with-platforms" => 1 },
- "restore" => { "all" => 1,
- "backupdir" => "=s",
- "dry-run|n" => 1,
- "force" => 1, },
- "search" => { "all" => 1,
- "file" => 1,
- "global" => 1,
- "word" => 1 },
- "repository" => { },
- "uninstall" => { "force" => 1 },
- "update" => { "all" => 1,
- "backup" => 1,
- "backupdir" => "=s",
- "dry-run|n" => 1,
- "exclude" => "=s@",
- "force" => 1,
- "list" => 1,
- "no-auto-remove" => 1,
- "no-auto-install" => 1,
- "no-depends" => 1,
- "no-depends-at-all" => 1,
- "reinstall-forcibly-removed" => 1,
- "self" => 1 },
- "version" => { },
- "_include_tlpobj" => { },
- );
-
my %optarg;
for my $k (keys %globaloptions) {
if ($globaloptions{$k} eq "1") {
@@ -223,12 +371,15 @@ sub main {
$optarg{"$k" . $globaloptions{$k}} = 1;
}
}
- for my $v (values %actionoptions) {
- for my $k (keys %$v) {
- if ($v->{$k} eq "1") {
- $optarg{$k} = 1;
- } else {
- $optarg{"$k" . $v->{$k}} = 1;
+ for my $v (values %action_specification) {
+ if (defined($v->{'options'})) {
+ my %opts = %{$v->{'options'}};
+ for my $k (keys %opts) {
+ if ($opts{$k} eq "1") {
+ $optarg{$k} = 1;
+ } else {
+ $optarg{"$k" . $opts{$k}} = 1;
+ }
}
}
}
@@ -256,6 +407,7 @@ sub main {
$action = "";
}
}
+ $action = lc($action);
$action = "platform" if ($action eq "arch");
@@ -267,14 +419,14 @@ sub main {
if ($opts{"version"} || (defined $action && $action eq "version")) {
info(give_version());
- finish(0);
+ exit(0);
}
- if (defined($action) && ($action =~ m/^help/i)) {
+ if (defined($action) && $action eq "help") {
$opts{"help"} = 1;
}
- if (defined($action) && ($action =~ m/^print-platform$/i)) {
+ if (defined($action) && $action eq "print-platform") {
print TeXLive::TLUtils::platform(), "\n";
exit 0;
}
@@ -297,7 +449,7 @@ sub main {
# now $action should be part of %actionoptions, otherwise this is
# an error
- if (defined($action) && $action && !exists $actionoptions{$action}) {
+ if (defined($action) && $action && !exists $action_specification{$action}) {
die "$prg: unknown action: $action; try --help if you need it.\n";
}
@@ -357,7 +509,9 @@ sub main {
tlmgr revision $tlmgrrevision
usage: tlmgr OPTION... ACTION ARGUMENT...
where ACTION is one of:\n";
- for my $k (sort keys %actionoptions) {
+ for my $k (sort keys %action_specification) {
+ # don't print internal options
+ next if ($k =~ m/^_/);
print " $k\n";
}
print "\nUse\n tlmgr ACTION --help
@@ -375,11 +529,18 @@ for the full story.\n";
tlwarn("$prg: --machine-readable output not supported for $action\n");
}
+ #
+ # bail out of it is unknown action
+ if (!defined($action_specification{$action})) {
+ tlwarn("$prg: action unknown: $action\n");
+ exit ($F_ERROR);
+ }
+
# check on supported arguments
#
my %suppargs;
- %suppargs = %{$actionoptions{$action}}
- if defined($actionoptions{$action});
+ %suppargs = %{$action_specification{$action}{'options'}}
+ if defined($action_specification{$action}{'options'});
my @notvalidargs;
for my $k (keys %opts) {
my @allargs = keys %suppargs;
@@ -473,9 +634,14 @@ for the full story.\n";
}
}
- execute_action($action, @ARGV);
+ my $ret = execute_action($action, @ARGV);
- # end of main program.
+ if ($ret & $F_ERROR) {
+ tlwarn("tlmgr: an error has occurred. See above messages. Exiting.\n");
+ }
+
+ # end of main program, returns also error codes
+ exit ($ret);
} # end main
@@ -517,112 +683,39 @@ sub execute_action {
# actions which shouldn't have any lasting effects, such as search or
# list, end by calling finish(0), which skips postinstall actions.
- if ($action =~ m/^_include_tlpobj$/) {
- # this is an internal function that should not be used outside
- init_local_db();
- for my $f (@ARGV) {
- my $tlpobj = TeXLive::TLPOBJ->new;
- $tlpobj->from_file($f);
- # we now have to check whether that is a .doc or .src package, so shipping
- # src or doc files from a different package.
- # We should have that package already installed ...
- my $pkg = $tlpobj->name;
- if ($pkg =~ m/^(.*)\.(source|doc)$/) {
- # got a .src or .doc package
- my $type = $2;
- my $mothership = $1;
- my $mothertlp = $localtlpdb->get_package($mothership);
- if (!defined($mothertlp)) {
- tlwarn("We are trying to add ${type} files to a nonexistent package $mothership!\n");
- tlwarn("Trying to continue!\n");
- # the best we can do is rename that package to $mothername and add it!
- $tlpobj->name($mothership);
- # add the src/docfiles tlpobj under the mothership name
- $localtlpdb->add_tlpobj($tlpobj);
- } else {
- if ($type eq "source") {
- $mothertlp->srcfiles($tlpobj->srcfiles);
- $mothertlp->srcsize($tlpobj->srcsize);
- } else {
- # must be "doc"
- $mothertlp->docfiles($tlpobj->docfiles);
- $mothertlp->docsize($tlpobj->docsize);
- }
- # that make sure that the original entry is overwritten
- $localtlpdb->add_tlpobj($mothertlp);
- }
- } else {
- # completely normal package, just add it
- $localtlpdb->add_tlpobj($tlpobj);
- }
- $localtlpdb->save;
+ if (!defined($action_specification{$action})) {
+ tlwarn ("$prg: unknown action: $action; try --help if you need it.\n");
+ return ($F_ERROR);
+ }
+
+ if (!defined($action_specification{$action}{"function"})) {
+ tlwarn ("$prg: action $action defined, but no way to execute it.\n");
+ return ($F_ERROR);
+ }
+
+ my $ret = $F_OK;
+ my $foo = &{$action_specification{$action}{"function"}}();
+ if (defined($foo)) {
+ if ($foo & $F_ERROR) {
+ # warnings etc are given at the highest level, i.e., in main
+ return($foo);
+ }
+ if ($foo & $F_WARNING) {
+ tlwarn("tlmgr: action $action returned a warning.\n");
+ $ret = $foo;
}
- finish(0);
- } elsif ($action =~ m/^get-mirror$/i) {
- my $loc = give_ctan_mirror();
- print "$loc\n";
- finish(0);
- } elsif ($action =~ m/^generate$/i) {
- action_generate();
- } elsif ($action =~ m/^gui$/i) {
- action_gui();
- } elsif ($action =~ m/^platform$/i) {
- action_platform();
- } elsif ($action =~ m/^option$/i) {
- action_option();
- finish(0);
- } elsif ($action =~ m/^repository$/i) {
- action_repository();
- finish(0);
- } elsif ($action =~ m/^pinning$/i) {
- action_pinning();
- finish(0);
- } elsif ($action =~ m/^candidates$/i) {
- action_candidates();
- finish(0);
- } elsif ($action =~ m/^check$/i) {
- action_check();
- } elsif ($action =~ m/^install$/i) {
- action_install();
- } elsif ($action =~ m/^update$/i) {
- action_update();
- } elsif ($action =~ m/^backup$/i) {
- action_backup();
- } elsif ($action =~ m/^restore$/i) {
- action_restore();
- } elsif ($action =~ m/^path$/i) {
- action_path();
- finish(0);
- } elsif ($action =~ m/^search$/i) {
- action_search();
- finish(0);
- } elsif ($action =~ m/^postaction$/i) {
- action_postaction();
- finish(0);
- } elsif ($action =~ m/^conf$/i) {
- action_conf();
- finish(0);
- } elsif ($action =~ m/^dump-tlpdb$/i) {
- action_dumptlpdb();
- finish(0);
- } elsif ($action =~ m/^info$/i) {
- action_info(@ARGV);
- finish(0);
- } elsif ($action =~ m/^init-usertree$/i) {
- action_init_usertree();
- finish(0);
- } elsif ($action =~ m/^remove$/i) {
- action_remove();
- } elsif ($action =~ /^paper$/) {
- action_paper();
- } elsif ($action =~ m/^uninstall$/i) {
- action_uninstall();
- finish(0);
- } elsif ($action =~ m/^recreate-tlpdb$/i) {
- action_recreate_tlpdb();
- finish(0);
} else {
- die "$prg: unknown action $action; try --help if you need it.\n";
+ $ret = $F_OK;
+ tlwarn("tlmgr: didn't get return value from action $action, assuming ok.\n");
+ }
+ my $run_post = 1;
+ if ($ret & $F_NOPOSTACTION) {
+ # clear the postaction bit
+ $ret ^= $F_NOPOSTACTION;
+ $run_post = 0;
+ }
+ if (!$action_specification{$action}{"run-post"}) {
+ $run_post = 0;
}
# close the special log file
@@ -631,13 +724,12 @@ sub execute_action {
close(PACKAGELOG);
}
+ return ($ret) if (!$run_post);
+
# run external programs.
- my $error_count = &handle_execute_actions();
+ $ret |= &handle_execute_actions();
- # done, just in case there are 256 errors.
- # we return here, because finish might return if we are running
- # in the GUI, and we want to pass the error count on to the GUI
- return finish($error_count ? 1 : 0);
+ return $ret;
}
@@ -654,7 +746,7 @@ sub do_cmd_and_check
info("running $cmd ...\n");
my ($out, $ret);
if ($opts{"dry-run"}) {
- $ret = 0;
+ $ret = $F_OK;
$out = "";
} else {
($out, $ret) = TeXLive::TLUtils::run_cmd("$cmd 2>&1");
@@ -662,11 +754,12 @@ sub do_cmd_and_check
if ($ret == 0) {
info("done running $cmd.\n");
log("--output of $cmd:\n$out\n--end of output of $cmd.");
+ return ($F_OK);
} else {
info("\n");
tlwarn("$cmd failed (status $ret), output:\n$out\n");
+ return ($F_ERROR);
}
- return $ret;
}
# run external programs (mktexlsr, updmap-sys, etc.) as specified by the
@@ -848,10 +941,80 @@ sub handle_execute_actions {
$::regenerate_all_formats = 0;
}
- # undefine the global var, otherwise in GUI mode the actions are accumulating
+ # undefine the global var, otherwise in GUI mode the actions
+ # are accumulating
undef %::execute_actions;
- return $errors;
+ if ($errors > 0) {
+ # should we return warning here?
+ return $F_ERROR;
+ } else {
+ return $F_OK;
+ }
+}
+
+
+# GET_MIRROR
+#
+# just return a mirror
+sub action_get_mirror {
+ my $loc = give_ctan_mirror();
+ print "$loc\n";
+ return ($F_OK | $F_NOPOSTACTION);
+}
+
+#
+# includes a .tlpobj in the db, also searchers for sub-tlpobj
+# for doc and source files
+#
+
+# _INCLUDE_TLPOBJ
+#
+# includes a .tlpobj in the db, also searchers for sub-tlpobj
+# for doc and source files
+#
+sub action_include_tlpobj {
+ # this is an internal function that should not be used outside
+ init_local_db();
+ for my $f (@ARGV) {
+ my $tlpobj = TeXLive::TLPOBJ->new;
+ $tlpobj->from_file($f);
+ # we now have to check whether that is a .doc or .src package, so shipping
+ # src or doc files from a different package.
+ # We should have that package already installed ...
+ my $pkg = $tlpobj->name;
+ if ($pkg =~ m/^(.*)\.(source|doc)$/) {
+ # got a .src or .doc package
+ my $type = $2;
+ my $mothership = $1;
+ my $mothertlp = $localtlpdb->get_package($mothership);
+ if (!defined($mothertlp)) {
+ tlwarn("We are trying to add ${type} files to a nonexistent package $mothership!\n");
+ tlwarn("Trying to continue!\n");
+ # the best we can do is rename that package to $mothername and add it!
+ $tlpobj->name($mothership);
+ # add the src/docfiles tlpobj under the mothership name
+ $localtlpdb->add_tlpobj($tlpobj);
+ } else {
+ if ($type eq "source") {
+ $mothertlp->srcfiles($tlpobj->srcfiles);
+ $mothertlp->srcsize($tlpobj->srcsize);
+ } else {
+ # must be "doc"
+ $mothertlp->docfiles($tlpobj->docfiles);
+ $mothertlp->docsize($tlpobj->docsize);
+ }
+ # that make sure that the original entry is overwritten
+ $localtlpdb->add_tlpobj($mothertlp);
+ }
+ } else {
+ # completely normal package, just add it
+ $localtlpdb->add_tlpobj($tlpobj);
+ }
+ $localtlpdb->save;
+ }
+ # no error checking here for now
+ return ($F_OK);
}
@@ -876,6 +1039,7 @@ sub handle_execute_actions {
# account
#
sub action_remove {
+ my $ret = $F_OK;
# we do the following:
# - (not implemented) order collections such that those depending on
# other collections are first removed, and then those which only
@@ -895,7 +1059,7 @@ sub action_remove {
my %already_removed;
my @more_removal;
init_local_db();
- return if !check_on_writable();
+ return($F_ERROR) if !check_on_writable();
info("$prg remove: dry run, no changes will be made\n") if $opts{"dry-run"};
my @packs = @ARGV;
#
@@ -940,6 +1104,7 @@ sub action_remove {
delete($packs{$p});
tlwarn("$prg: not removing $p, needed by " .
join(" ", @needed) . "\n");
+ $ret |= $F_WARNING;
}
} else {
delete($packs{$p});
@@ -951,6 +1116,7 @@ sub action_remove {
next if defined($already_removed{$pkg});
if (!defined($tlp)) {
info("$pkg: package not present, cannot remove\n");
+ $ret |= $F_WARNING;
} else {
# in the first round we only remove collections, nothing else
# but removing collections will remove all dependencies, too
@@ -991,7 +1157,7 @@ sub action_remove {
}
if ($opts{"dry-run"}) {
# stop here, don't do any postinstall actions
- return;
+ return ($ret | $F_NOPOSTACTION);
} else {
$localtlpdb->save;
my @foo = sort keys %already_removed;
@@ -1001,6 +1167,7 @@ sub action_remove {
info("$prg: no packages removed.\n");
}
}
+ return ($ret);
}
@@ -1028,17 +1195,19 @@ sub action_paper {
if $newpaper; # complain if they tried to set, too.
tlwarn("$prg: please specify a program before paper --list, ",
"as in: tlmgr pdftex paper --list\n");
+ return($F_ERROR)
} elsif (!defined($newpaper)) { # tlmgr paper => show all current sizes.
- TeXLive::TLPaper::paper_all($texmfconfig,undef);
+ return TeXLive::TLPaper::paper_all($texmfconfig,undef);
} elsif ($newpaper !~ /^(a4|letter)$/) { # tlmgr paper junk => complain.
$newpaper = "the empty string" if !defined($newpaper);
tlwarn("$prg: expected `a4' or `letter' after paper, not $newpaper\n");
+ return($F_ERROR);
} else { # tlmgr paper {a4|letter} => do it.
- return if !check_on_writable();
- TeXLive::TLPaper::paper_all($texmfconfig,$newpaper);
+ return ($F_ERROR) if !check_on_writable();
+ return (TeXLive::TLPaper::paper_all($texmfconfig,$newpaper));
}
} else { # program-specific paper
@@ -1047,16 +1216,18 @@ sub action_paper {
if (!defined($arg) || $arg ne "paper") {
$arg = "the empty string." if ! $arg;
tlwarn("$prg: expected `paper' after $prog, not $arg\n");
- return;
+ return ($F_ERROR);
}
# the do_paper progs check for the argument --list, so if given
# restore it to the cmd line.
if (@ARGV) {
- return if !check_on_writable();
+ return ($F_ERROR) if !check_on_writable();
}
unshift(@ARGV, "--list") if $opts{"list"};
- TeXLive::TLPaper::do_paper($prog,$texmfconfig,@ARGV);
+ return(TeXLive::TLPaper::do_paper($prog,$texmfconfig,@ARGV));
}
+ # we should not come here anyway
+ return($F_OK);
}
@@ -1071,7 +1242,7 @@ sub action_path {
if (!defined($what) || ($what !~ m/^(add|remove)$/i)) {
$what = "" if ! $what;
tlwarn("$prg: action path requires add or remove, not: $what\n");
- return;
+ return ($F_ERROR);
}
init_local_db();
my $winadminmode = 0;
@@ -1102,7 +1273,7 @@ sub action_path {
if ($winadminmode) {
tlwarn("The TLPDB specifies system wide path adjustments\nbut you don't have admin privileges.\nFor user path adjustment please use\n\t--w32mode user\n");
# and do nothing
- return;
+ return ($F_ERROR);
}
}
} else {
@@ -1116,7 +1287,7 @@ sub action_path {
$winadminmode = 1;
} else {
tlwarn("Unknown --w32admin mode: $opts{w32mode}, should be 'admin' or 'user'\n");
- return;
+ return ($F_ERROR);
}
} else {
# we are non-admin
@@ -1124,22 +1295,23 @@ sub action_path {
$winadminmode = 0;
} elsif ($opts{"w32mode"} eq "admin") {
tlwarn("You don't have the privileges to work in --w32mode admin\n");
- return;
+ return ($F_ERROR);
} else {
tlwarn("Unknown --w32admin mode: $opts{w32mode}, should be 'admin' or 'user'\n");
- return;
+ return ($F_ERROR);
}
}
}
}
+ my $ret = $F_OK;
if ($what =~ m/^add$/i) {
if (win32()) {
- TeXLive::TLUtils::w32_add_to_path(
+ $ret |= TeXLive::TLUtils::w32_add_to_path(
$localtlpdb->root . "/bin/win32",
$winadminmode);
- TeXLive::TLWinGoo::broadcast_env();
+ $ret |= TeXLive::TLWinGoo::broadcast_env();
} else {
- TeXLive::TLUtils::add_symlinks($localtlpdb->root,
+ $ret |= TeXLive::TLUtils::add_symlinks($localtlpdb->root,
$localtlpdb->platform(),
$localtlpdb->option("sys_bin"),
$localtlpdb->option("sys_man"),
@@ -1147,13 +1319,13 @@ sub action_path {
}
} elsif ($what =~ m/^remove$/i) {
if (win32()) {
- TeXLive::TLUtils::w32_remove_from_path(
+ $ret |= TeXLive::TLUtils::w32_remove_from_path(
$localtlpdb->root . "/bin/win32",
$winadminmode);
- TeXLive::TLWinGoo::broadcast_env();
+ $ret |= TeXLive::TLWinGoo::broadcast_env();
} else {
# remove symlinks
- TeXLive::TLUtils::remove_symlinks($localtlpdb->root,
+ $ret |= TeXLive::TLUtils::remove_symlinks($localtlpdb->root,
$localtlpdb->platform(),
$localtlpdb->option("sys_bin"),
$localtlpdb->option("sys_man"),
@@ -1161,9 +1333,12 @@ sub action_path {
}
} else {
tlwarn("\n$prg: Should not happen, action_path what=$what\n");
- exit 1;
+ return ($F_ERROR);
}
- return;
+ # we should not need to run any post actions here, since
+ # that changes only integrations, but no rebuild of formats etc etc
+ # is needed
+ return ($ret | $F_NOPOSTACTION);
}
# DUMP TLPDB
@@ -1187,10 +1362,11 @@ sub action_dumptlpdb {
} else {
tlwarn("tlmgr dump-tlpdb: need exactly one of --local and --remote.\n");
+ return ($F_ERROR);
}
$::machinereadable = $savemr;
- return;
+ return ($F_OK | $F_NOPOSTACTION);
}
# INFO
@@ -1198,6 +1374,7 @@ sub action_dumptlpdb {
sub action_info {
init_local_db();
my ($what,@todo) = @ARGV;
+ my $ret = $F_OK | $F_NOPOSTACTION;
#
# tlmgr info
# tlmgr info collection
@@ -1206,7 +1383,7 @@ sub action_info {
# a short list
if (!defined($what) || ($what =~ m/^(collections|schemes)$/i)) {
show_list_of_packages($what);
- return;
+ return ($F_OK | $F_NOPOSTACTION);
}
# we are still here, so $what is defined and neither collection nor scheme,
# so assume the arguments are package names
@@ -1223,10 +1400,12 @@ sub action_info {
if (defined($tag)) {
if (!$remotetlpdb->is_virtual) {
tlwarn("$prg: specifying implicit tags is not allowed for non-virtual databases!\n");
+ $ret |= $F_WARNING;
next;
} else {
if (!$remotetlpdb->is_repository($tag)) {
tlwarn("$prg: no such repository tag defined: $tag\n");
+ $ret |= $F_WARNING;
next;
}
}
@@ -1237,6 +1416,7 @@ sub action_info {
# we already searched for the package in a specific tag, don't retry
# all candidates!
tlwarn("$prg: Cannot find package $pkg in repository $tag\n");
+ $ret |= $F_WARNING;
next;
}
if ($remotetlpdb->is_virtual) {
@@ -1249,6 +1429,7 @@ sub action_info {
my $first = shift @cand;
if (defined($first)) {
tlwarn("strange, we have a first candidate but no tlp: $pkg\n");
+ $ret |= $F_WARNING;
next;
}
# already shifted away the first element
@@ -1263,7 +1444,7 @@ sub action_info {
my ($t,$r) = split(/\//, $a, 2);
push @aaa, "$pkg" . '@' . $t;
}
- action_info(@aaa);
+ $ret |= action_info(@aaa);
next;
} else {
tlwarn("strange, package listed but no residual candidates: $pkg\n");
@@ -1271,10 +1452,12 @@ sub action_info {
}
} else {
tlwarn("strange, package listed but no candidates: $pkg\n");
+ $ret |= $F_WARNING;
next;
}
}
tlwarn("$prg: cannot find package $pkg\n");
+ $ret |= $F_WARNING;
next;
}
# we want to also show the source if it is known
@@ -1344,6 +1527,7 @@ sub action_info {
my $atlp = $tlpdb->get_package($tlp->name . ".$a");
if (!$atlp) {
tlwarn("$prg: cannot find depending package" . $tlp->name . ".$a\n");
+ $ret |= $F_WARNING;
next;
}
my %abinsz = %{$atlp->binsize};
@@ -1382,6 +1566,7 @@ sub action_info {
my $foo = $tlpdb->get_package($d);
if (!$foo) {
tlwarn ("\nShould not happen, no dependent package $d\n");
+ $ret |= $F_WARNING;
next;
}
if ($d ne $pkg) {
@@ -1417,7 +1602,7 @@ sub action_info {
}
print "\n";
}
- return;
+ return ($ret);
}
@@ -1425,7 +1610,7 @@ sub action_info {
#
sub action_search {
my ($r) = @ARGV;
- my $ret = "";
+ my $ret = $F_OK | $F_NOPOSTACTION;
my $tlpdb;
# check the arguments
my $search_type_nr = 0;
@@ -1433,12 +1618,12 @@ sub action_search {
$search_type_nr++ if $opts{"all"};
if ($search_type_nr > 1) {
tlwarn("$prg: please specify only one thing to search for\n");
- return;
+ return ($F_ERROR);
}
#
if (!defined($r) || !$r) {
tlwarn("$prg: nothing to search for.\n");
- return;
+ return ($F_ERROR);
}
init_local_db();
@@ -1477,7 +1662,7 @@ sub action_search {
}
}
print $ret;
- return;
+ return ($F_OK | $F_NOPOSTACTION);
}
@@ -1538,7 +1723,7 @@ sub restore_one_package {
my $restore_file = "$bd/${pkg}.r${rev}.tar.xz";
if (! -r $restore_file) {
tlwarn("Cannot read $restore_file, no action taken\n");
- return;
+ return ($F_ERROR);
}
$localtlpdb->remove_package($pkg);
TeXLive::TLPDB->_install_package($restore_file , 0, [] ,$localtlpdb);
@@ -1550,6 +1735,9 @@ sub restore_one_package {
TeXLive::TLUtils::announce_execute_actions("enable",
$localtlpdb->get_package($pkg));
$localtlpdb->save;
+ # TODO_ERROCHECKING we should check the return values of the
+ # various calls above
+ return ($F_OK);
}
sub check_backupdir_selection {
@@ -1561,7 +1749,7 @@ sub check_backupdir_selection {
$warntext .= "$prg: backupdir argument\n";
$warntext .= " $opts{'backupdir'}\n";
$warntext .= "is not a directory.\n";
- return (0, $warntext);
+ return ($F_ERROR, $warntext);
}
} else {
# no argument, check for presence in TLPDB
@@ -1577,10 +1765,10 @@ sub check_backupdir_selection {
$warntext = "$prg: backupdir as set in tlpdb\n";
$warntext .= " $opts{'backupdir'}\n";
$warntext .= "is not a directory.\n";
- return (0, $warntext);
+ return ($F_ERROR, $warntext);
}
}
- return 1;
+ return $F_OK;
}
sub action_restore {
@@ -1596,11 +1784,10 @@ sub action_restore {
{
my ($a, $b) = check_backupdir_selection();
- if (!$a) {
+ if ($a & $F_ERROR) {
# in all these cases we want to terminate in the non-gui mode
tlwarn($b);
- tlwarn("$prg: Terminating.\n");
- exit 1;
+ return ($F_ERROR);
}
}
info("$prg restore: dry run, no changes will be made\n") if $opts{"dry-run"};
@@ -1611,17 +1798,17 @@ sub action_restore {
if (defined($pkg) && $opts{"all"}) {
tlwarn("$prg: Specify either --all or individual package(s) ($pkg)\n");
tlwarn("$prg: to restore, not both. Terminating.\n");
- exit 1;
+ return ($F_ERROR);
}
if ($opts{"all"}) {
init_local_db(1);
- return if !check_on_writable();
+ return ($F_ERROR) if !check_on_writable();
if (!$opts{"force"}) {
print "Do you really want to restore all packages to the latest revision found in\n\t$opts{'backupdir'}\n===> (y/N): ";
my $yesno = <STDIN>;
if ($yesno !~ m/^y(es)?$/i) {
print "Ok, cancelling the restore!\n";
- finish(0);
+ return ($F_OK | $F_NOPOSTACTION);
}
}
for my $p (sort keys %backups) {
@@ -1631,11 +1818,12 @@ sub action_restore {
if (!$opts{"dry-run"}) {
# first remove the package, then reinstall it
# this way we get rid of useless files
+ # TODO_ERRORCHECK needs check for return values!!
restore_one_package($p, $rev, $opts{"backupdir"});
}
}
# localtlpdb already saved, so we are finished
- return;
+ return ($F_OK);
}
#
# intermediate sub
@@ -1669,13 +1857,13 @@ sub action_restore {
} else {
print "No backups available in $opts{'backupdir'}\n";
}
- finish(0);
+ return ($F_OK | $F_NOPOSTACTION);
}
if (!defined($rev)) {
print "Available backups for $pkg: ";
report_backup_revdate($pkg, %{$backups{$pkg}});
print "\n";
- finish(0);
+ return ($F_OK | $F_NOPOSTACTION);
}
# we did arrive here, so we try to restore ...
if (defined($backups{$pkg}->{$rev})) {
@@ -1685,7 +1873,7 @@ sub action_restore {
my $yesno = <STDIN>;
if ($yesno !~ m/^y(es)?$/i) {
print "Ok, cancelling the restore!\n";
- finish(0);
+ return ($F_OK | $F_NOPOSTACTION);
}
}
print "Restoring $pkg, $rev from $opts{'backupdir'}/${pkg}.r${rev}.tar.xz\n";
@@ -1695,9 +1883,11 @@ sub action_restore {
# this way we get rid of useless files
restore_one_package($pkg, $rev, $opts{"backupdir"});
}
+ # TODO_ERRORCHECKING check return value of restore_one_package
+ return ($F_OK);
} else {
print "revision $rev for $pkg is not present in $opts{'backupdir'}\n";
- finish(1);
+ return ($F_ERROR);
}
}
@@ -1725,8 +1915,8 @@ sub action_backup {
my $tlpdb_option = $localtlpdb->option("autobackup");
if (!defined($tlpdb_option)) {
tlwarn ("--clean given without an argument, but no default clean\n");
- tlwarn ("mode specified in the tlpdb, terminating.\n");
- exit 1;
+ tlwarn ("mode specified in the tlpdb.\n");
+ return ($F_ERROR);
}
$opts{"clean"} = $tlpdb_option;
}
@@ -1738,17 +1928,16 @@ sub action_backup {
} else {
tlwarn ("clean mode as specified on the command line or as given by default\n");
tlwarn ("must be an integer larger or equal than -1, terminating.\n");
- exit 1;
+ return($F_ERROR);
}
}
# check the backup dir argument
{
my ($a, $b) = check_backupdir_selection();
- if (!$a) {
+ if ($a & $F_ERROR) {
# in all these cases we want to terminate in the non-gui mode
tlwarn($b);
- tlwarn("$prg: Terminating.\n");
- exit 1;
+ return($F_ERROR);
}
}
@@ -1763,7 +1952,7 @@ sub action_backup {
for my $p (sort keys %backups) {
clear_old_backups ($p, $opts{"backupdir"}, $opts{"clean"}, $opts{"dry-run"});
}
- return 1;
+ return ($F_OK | $F_NOPOSTACTION);
}
# in case we are not cleaning or cleaning only specific packages
@@ -1777,6 +1966,7 @@ sub action_backup {
}
if (!@todo) {
printf "tlmgr backup takes either a list of packages or --all\n";
+ return ($F_ERROR);
}
foreach my $pkg (@todo) {
if ($clean_mode) {
@@ -1791,6 +1981,8 @@ sub action_backup {
}
}
}
+ # TODO_ERRORCHECKING neets checking of the above
+ return ($F_OK);
}
# =====================================================================
@@ -2226,6 +2418,8 @@ sub upd_info {
}
sub action_update {
+ my $ret = $F_OK;
+
init_local_db(1);
$opts{"no-depends"} = 1 if $opts{"no-depends-at-all"};
@@ -2237,7 +2431,7 @@ sub action_update {
# other options just change the behaviour
if (!($opts{"list"} || @ARGV || $opts{"all"} || $opts{"self"})) {
tlwarn("tlmgr update: specify --list, --all, --self, or a list of package names.\n");
- return;
+ return ($F_ERROR);
}
init_tlmedia_or_die();
@@ -2249,7 +2443,7 @@ sub action_update {
}
if (!$opts{"list"}) {
- return if !check_on_writable();
+ return ($F_ERROR) if !check_on_writable();
}
# check for updates to tlmgr and die unless either --force or --list or --self
@@ -2266,12 +2460,7 @@ sub action_update {
} elsif ($opts{"list"}) {
# do not warn here
} else {
- if ($::gui_mode) {
- # return here and don't do any updates
- return;
- } else {
- die "$prg: Terminating; please read above warning.\n";
- }
+ return($F_ERROR);
}
}
@@ -2295,6 +2484,7 @@ sub action_update {
tlwarn ("Disabling auto backups.\n");
$localtlpdb->option("autobackup", 0);
$autobackup = 0;
+ $ret |= $F_WARNING;
}
}
}
@@ -2303,11 +2493,10 @@ sub action_update {
# we try to get the default from the tlpdb. If that doesn't work, exit.
if ($opts{"backup"}) {
my ($a, $b) = check_backupdir_selection();
- if (!$a) {
+ if ($a & $F_ERROR) {
# in all these cases we want to terminate in the non-gui mode
tlwarn($b);
- tlwarn("$prg: Terminating.\n");
- exit 1;
+ return ($F_ERROR);
}
}
@@ -2354,6 +2543,7 @@ sub action_update {
info("$prg: no updates for tlmgr present.\n");
} else {
tlwarn("tlmgr update: please specify a list of packages, --all, or --self.\n");
+ return ($F_ERROR);
}
}
@@ -2419,7 +2609,7 @@ sub action_update {
tlwarn("Conflicts have been found:\n");
for (@option_conflict_lines) { tlwarn(" $_"); }
tlwarn("Please resolve these conflicts!\n");
- exit 1;
+ return ($F_ERROR);
}
#
@@ -2476,6 +2666,7 @@ sub action_update {
my $mediatlp = $remotetlpdb->get_package($pkg);
if (!defined($mediatlp)) {
tlwarn("\nShould not happen: $pkg not found in $location\n");
+ $ret |= $F_WARNING;
next;
}
my $mediarev = $mediatlp->revision;
@@ -2583,6 +2774,8 @@ sub action_update {
# first save for each file in the currently installed packages
# to be updated the packages it is contained it (might be more!)
#
+ # TODO WHY WHY is there the next so that all the file move checks
+ # are actually disabled?!?!?!
for my $p (@updated, @removals) {
my $pkg = $localtlpdb->get_package($p);
tlwarn("Should not happen: $p not found in local tlpdb\n") if (!$pkg);
@@ -2781,6 +2974,7 @@ sub action_update {
if (!defined($tlp)) {
tlwarn("$prg: inconsistency on the server:\n");
tlwarn("$prg: tlp for package $pkg cannot be found, please report.\n");
+ $ret |= $F_WARNING;
next;
}
my $unwind_package;
@@ -2897,6 +3091,7 @@ sub action_update {
if ($s <= 0) {
tlwarn("\n$prg: Creation of backup container of $pkg failed.\n");
tlwarn("Continuing to update other packages, please retry...\n");
+ $ret |= $F_WARNING;
# we should try to update other packages at least
next;
}
@@ -2968,11 +3163,17 @@ sub action_update {
$localtlpdb->add_tlpobj($tlpobj);
$localtlpdb->save;
logpackage("restore: $pkg ($rev)");
+ $ret |= $F_WARNING;
tlwarn("Restoring old package state succeeded.\n");
} else {
logpackage("failed restore: $pkg ($rev)");
tlwarn("Restoring of old package did NOT succeed.\n");
tlwarn("Most likely repair: run tlmgr install $pkg and hope.\n");
+ # TODO_ERRORCHECKING
+ # should we return F_ERROR here??? If we would do this, then
+ # no postactions at all would run? Maybe better only to give
+ # a warning
+ $ret |= $F_WARNING;
}
unlink($unwind_package) if $remove_unwind_container;
}
@@ -2996,6 +3197,7 @@ sub action_update {
}
if (!defined($mediatlp)) {
tlwarn("\nShould not happen: $pkg not found in $location\n");
+ $ret |= $F_WARNING;
next;
}
my $mediarev = $mediatlp->revision;
@@ -3102,6 +3304,7 @@ sub action_update {
if ($bad_file) {
tlwarn("$prg: The file $k has disappeared from the critical" .
"package $pkg but is still present in @found_pkgs\n");
+ $ret |= $F_WARNING;
} else {
push @infra_files_to_be_removed, $k;
}
@@ -3151,6 +3354,7 @@ sub action_update {
\@infra_files_to_be_removed, @critical);
if ($ret) {
tlwarn ("$prg: Aborting infrastructure update.\n");
+ $ret |= $F_ERROR;
$restart_tlmgr = 0 if ($opts{"dry-run"});
}
}
@@ -3160,19 +3364,22 @@ sub action_update {
info ("Restarting tlmgr to complete update ...\n");
debug("restarting tlmgr @::SAVEDARGV\n");
exec("tlmgr", @::SAVEDARGV);
- die "cannot restart tlmgr, please retry update";
+ # we need warn here, otherwise perl gives warnings!
+ warn ("$prg: cannot restart tlmgr, please retry update\n");
+ return ($F_ERROR);
}
- # for --dry-run we cannot restart tlmgr (no way to fake successful infra update)
- # instead we call action_update() again and signal this by $opts{"dry-run"} = -1
+ # for --dry-run we cannot restart tlmgr (no way to fake successful
+ # infra update) instead we call action_update() again and signal this
+ # by $opts{"dry-run"} = -1
if ($opts{"dry-run"} && !$opts{"list"} && $restart_tlmgr) {
$opts{"self"} = 0;
$opts{"dry-run"} = -1;
$localtlpdb = undef;
$remotetlpdb = undef;
info ("Restarting tlmgr to complete update ...\n");
- action_update();
- return;
+ $ret |= action_update();
+ return ($ret);
}
# if a real update from default disk location didn't find anything,
@@ -3196,6 +3403,7 @@ To change the default for all future updates, run:
END_DISK_WARN
}
}
+ return ($ret);
}
@@ -3230,11 +3438,16 @@ END_DISK_WARN
#
sub action_install {
init_local_db(1);
- return if !check_on_writable();
+ my $ret = $F_OK;
+ return ($F_ERROR) if !check_on_writable();
# installation from a .tar.xz
if ($opts{"file"}) {
- return $localtlpdb->install_package_files(@ARGV);
+ if ($localtlpdb->install_package_files(@ARGV)) {
+ return ($ret);
+ } else {
+ return ($F_ERROR);
+ }
}
# if we are still here, we are installing from some repository
@@ -3251,7 +3464,7 @@ sub action_install {
} else {
if ($::gui_mode) {
# return here and don't do any updates
- return;
+ return ($F_ERROR);
} else {
die "$prg: Terminating; please see warning above!\n";
}
@@ -3319,6 +3532,7 @@ sub action_install {
($packs{$pkg} ? $packs{$pkg} : undef));
if (!defined($mediatlp)) {
tlwarn("$prg install: package $pkg not present in repository.\n");
+ $ret |= $F_WARNING;
next;
}
if (defined($localtlpdb->get_package($pkg))) {
@@ -3340,7 +3554,7 @@ sub action_install {
}
}
# return if there is nothing to install!
- return if (!@todo);
+ return ($ret) if (!@todo);
my $orig_do_src = $localtlpdb->option("install_srcfiles");
my $orig_do_doc = $localtlpdb->option("install_docfiles");
@@ -3419,13 +3633,14 @@ sub action_install {
if ($opts{"dry-run"}) {
# stop here, don't do any postinstall actions
- return(0);
+ return($ret | $F_NOPOSTACTION);
} else {
# reset option if --with-src argument was given
$localtlpdb->option("install_srcfiles", $orig_do_src) if $opts{'with-src'};
$localtlpdb->option("install_docfiles", $orig_do_doc) if $opts{'with-doc'};
$localtlpdb->save if ($opts{'with-src'} || $opts{'with-doc'});
}
+ return ($ret);
}
sub show_list_of_packages {
@@ -3739,25 +3954,25 @@ sub action_repository {
print "\n";
}
}
- return;
+ return ($F_OK);
}
if ($what eq "add") {
my $p = shift @ARGV;
if (!defined($p)) {
tlwarn("$prg: no repository given (to add)\n");
- return;
+ return ($F_ERROR);
}
# check if it is either url or absolute path
if (($p !~ m!^(http|ftp)://!i) &&
!File::Spec->file_name_is_absolute($p)) {
tlwarn("$prg: neither http/ftp URL nor absolute path, no action: $p\n");
- return;
+ return ($F_ERROR);
}
my $t = shift @ARGV;
$t = $p if (!defined($t));
if (defined($repos{$t})) {
tlwarn("$prg: repository or its tag already defined, no action: $p\n");
- return;
+ return ($F_ERROR);
}
# TODO more checks needed?
# if there was till now only *one* repository and that without
@@ -3780,13 +3995,13 @@ sub action_repository {
} else {
print "$prg: added repository with tag $t: $p\n";
}
- return;
+ return ($F_OK);
}
if ($what eq "remove") {
my $p = shift @ARGV;
if (!defined($p)) {
tlwarn("$prg: no repository given (to remove)\n");
- return;
+ return ($F_ERROR);
}
my $found = 0;
for my $k (keys %repos) {
@@ -3797,12 +4012,15 @@ sub action_repository {
}
if (!$found) {
tlwarn("$prg: repository not defined, cannot remove: $p\n");
+ return ($F_ERROR);
} else {
$localtlpdb->option("location", array_to_repository(%repos));
$localtlpdb->save;
print "$prg: removed repository: $p\n";
+ return ($F_OK);
}
- return;
+ # no reached
+ return ($F_OK);
}
if ($what eq "set") {
# TODO TODO
@@ -3810,18 +4028,18 @@ sub action_repository {
%repos = repository_to_array("@ARGV");
$localtlpdb->option("location", array_to_repository(%repos));
$localtlpdb->save;
- return;
+ return ($F_OK);
}
# we are still here, unknown command to repository
tlwarn("$prg: unknown subaction for tlmgr repository: $what\n");
- return;
+ return ($F_ERROR);
}
sub action_candidates {
my $what = shift @ARGV;
if (!defined($what)) {
tlwarn("$prg: candidates needs a package name as argument\n");
- return;
+ return ($F_ERROR);
}
init_local_db();
init_tlmedia_or_die();
@@ -3844,8 +4062,9 @@ sub action_candidates {
}
} else {
print "Package $what not found.\n";
+ return ($F_WARNING);
}
- return;
+ return ($F_OK);;
}
# OPTION
@@ -3854,6 +4073,7 @@ sub action_option {
my $what = shift @ARGV;
$what = "show" unless defined($what);
init_local_db();
+ my $ret = $F_OK;
if ($what =~ m/^show$/i) {
for my $o (keys %{$localtlpdb->options}) {
# ignore some things which are w32 specific
@@ -3872,6 +4092,7 @@ sub action_option {
}
} else {
tlwarn ("$prg: option $o not supported\n");
+ $ret |= $F_WARNING;
}
}
} elsif ($what =~ m/^showall$/i) {
@@ -3897,7 +4118,7 @@ sub action_option {
# the option argument matches the name
my $val = shift @ARGV;
if (defined($val)) {
- return if !check_on_writable();
+ return ($F_ERROR) if !check_on_writable();
# set new value
# here we have to care for some special cases
if ($what eq $TLPDBOptions{"location"}->[2]) {
@@ -3985,6 +4206,7 @@ sub action_option {
}
} else {
tlwarn ("Unknown type of option $opt: $TLPDBOptions{$opt}->[0]\n");
+ return ($F_ERROR);
}
}
$localtlpdb->save;
@@ -3996,6 +4218,7 @@ sub action_option {
close(TOFD);
} else {
tlwarn("Cannot save 00texlive.installation to $::maintree/tlpkg/tlpobj/00texlive.installation.tlpobj\n");
+ $ret |= $F_WARNING;
}
}
} else {
@@ -4012,9 +4235,10 @@ sub action_option {
}
if (!$found) {
tlwarn("$prg: option $what not supported!\n");
+ return ($F_ERROR);
}
}
- return;
+ return ($ret);
}
@@ -4051,7 +4275,7 @@ sub action_platform {
}
print "Already installed platforms are marked with (i)\n";
print "You can add new platforms with: tlmgr platform add ARCH1 ARCH2...\n";
- finish(0);
+ return ($F_OK | $F_NOPOSTACTION);
} elsif ($what =~ m/^add$/i) {
return if !check_on_writable();
init_tlmedia_or_die();
@@ -4367,7 +4591,7 @@ Error message from creating MainWindow:
sub action_uninstall {
if (win32()) {
printf STDERR "Please use \"Add/Remove Programs\" from the Control Panel to removing TeX Live!\n";
- finish(1);
+ return ($F_ERROR);
}
return if !check_on_writable();
my $force = defined($opts{"force"}) ? $opts{"force"} : 0;
@@ -4377,7 +4601,7 @@ sub action_uninstall {
my $yesno = <STDIN>;
if ($yesno !~ m/^y(es)?$/i) {
print "Ok, cancelling the removal!\n";
- finish(0);
+ return ($F_OK | $F_NOPOSTACTION);
}
}
print ("Ok, removing the whole installation:\n");
@@ -4549,7 +4773,11 @@ sub action_check {
} else {
print "No idea how to check that: $what\n";
}
- finish($ret);
+ if ($ret) {
+ return ($F_ERROR);
+ } else {
+ return ($F_OK);
+ }
}
# check file coverage in both direction.
@@ -5342,9 +5570,10 @@ sub init_local_db {
if (!setup_programs("$Master/tlpkg/installer", $localtlpdb->platform)) {
tlwarn("Couldn't set up the necessary programs.\nInstallation of packages is not supported.\nPlease report to texlive\@tug.org.\n");
if (defined($should_i_die) && $should_i_die) {
- finish(1);
+ return ($F_ERROR);
} else {
tlwarn("Continuing anyway ...\n");
+ return ($F_WARNING);
}
}
# let cmd line options override the settings in localtlpdb
@@ -5677,11 +5906,6 @@ sub finish {
print "$prg: exiting unsuccessfully (status $ret).\n";
}
- if ($opts{"pause"}) {
- print "Press Enter to exit the program.\n";
- <STDIN>;
- }
-
if ($::gui_mode) {
return $ret;
} else {
diff --git a/Master/bin/alpha-linux/fixmsxpart b/Master/bin/alpha-linux/fixmsxpart
deleted file mode 100755
index ecb6171a49c..00000000000
--- a/Master/bin/alpha-linux/fixmsxpart
+++ /dev/null
Binary files differ
diff --git a/Master/bin/alpha-linux/msxlint b/Master/bin/alpha-linux/msxlint
deleted file mode 100755
index 826b527dc8d..00000000000
--- a/Master/bin/alpha-linux/msxlint
+++ /dev/null
Binary files differ
diff --git a/Master/bin/amd64-freebsd/fixmsxpart b/Master/bin/amd64-freebsd/fixmsxpart
deleted file mode 100755
index ef7c268ebdd..00000000000
--- a/Master/bin/amd64-freebsd/fixmsxpart
+++ /dev/null
Binary files differ
diff --git a/Master/bin/amd64-freebsd/msxlint b/Master/bin/amd64-freebsd/msxlint
deleted file mode 100755
index 0433cc0d34d..00000000000
--- a/Master/bin/amd64-freebsd/msxlint
+++ /dev/null
Binary files differ
diff --git a/Master/bin/amd64-netbsd/fixmsxpart b/Master/bin/amd64-netbsd/fixmsxpart
deleted file mode 100755
index c78c8ace55a..00000000000
--- a/Master/bin/amd64-netbsd/fixmsxpart
+++ /dev/null
Binary files differ
diff --git a/Master/bin/amd64-netbsd/msxlint b/Master/bin/amd64-netbsd/msxlint
deleted file mode 100755
index 79af033081e..00000000000
--- a/Master/bin/amd64-netbsd/msxlint
+++ /dev/null
Binary files differ
diff --git a/Master/bin/armel-linux/fixmsxpart b/Master/bin/armel-linux/fixmsxpart
deleted file mode 100755
index 702524070bd..00000000000
--- a/Master/bin/armel-linux/fixmsxpart
+++ /dev/null
Binary files differ
diff --git a/Master/bin/armel-linux/msxlint b/Master/bin/armel-linux/msxlint
deleted file mode 100755
index 6309c5c461a..00000000000
--- a/Master/bin/armel-linux/msxlint
+++ /dev/null
Binary files differ
diff --git a/Master/bin/armhf-linux/fixmsxpart b/Master/bin/armhf-linux/fixmsxpart
deleted file mode 100755
index c4498e7d526..00000000000
--- a/Master/bin/armhf-linux/fixmsxpart
+++ /dev/null
Binary files differ
diff --git a/Master/bin/armhf-linux/msxlint b/Master/bin/armhf-linux/msxlint
deleted file mode 100755
index c9294f9b285..00000000000
--- a/Master/bin/armhf-linux/msxlint
+++ /dev/null
Binary files differ
diff --git a/Master/bin/i386-cygwin/fixmsxpart.exe b/Master/bin/i386-cygwin/fixmsxpart.exe
deleted file mode 100755
index 94ac8c83a33..00000000000
--- a/Master/bin/i386-cygwin/fixmsxpart.exe
+++ /dev/null
Binary files differ
diff --git a/Master/bin/i386-cygwin/msxlint.exe b/Master/bin/i386-cygwin/msxlint.exe
deleted file mode 100755
index 3e9eace7da2..00000000000
--- a/Master/bin/i386-cygwin/msxlint.exe
+++ /dev/null
Binary files differ
diff --git a/Master/bin/i386-freebsd/fixmsxpart b/Master/bin/i386-freebsd/fixmsxpart
deleted file mode 100755
index f802ccf1b1c..00000000000
--- a/Master/bin/i386-freebsd/fixmsxpart
+++ /dev/null
Binary files differ
diff --git a/Master/bin/i386-freebsd/msxlint b/Master/bin/i386-freebsd/msxlint
deleted file mode 100755
index 3b7c879d691..00000000000
--- a/Master/bin/i386-freebsd/msxlint
+++ /dev/null
Binary files differ
diff --git a/Master/bin/i386-linux/fixmsxpart b/Master/bin/i386-linux/fixmsxpart
deleted file mode 100755
index dd7d30e3efb..00000000000
--- a/Master/bin/i386-linux/fixmsxpart
+++ /dev/null
Binary files differ
diff --git a/Master/bin/i386-linux/msxlint b/Master/bin/i386-linux/msxlint
deleted file mode 100755
index b6ed4e23f39..00000000000
--- a/Master/bin/i386-linux/msxlint
+++ /dev/null
Binary files differ
diff --git a/Master/bin/i386-netbsd/fixmsxpart b/Master/bin/i386-netbsd/fixmsxpart
deleted file mode 100755
index daba4bfb9b7..00000000000
--- a/Master/bin/i386-netbsd/fixmsxpart
+++ /dev/null
Binary files differ
diff --git a/Master/bin/i386-netbsd/msxlint b/Master/bin/i386-netbsd/msxlint
deleted file mode 100755
index 2e973809b56..00000000000
--- a/Master/bin/i386-netbsd/msxlint
+++ /dev/null
Binary files differ
diff --git a/Master/bin/mipsel-linux/fixmsxpart b/Master/bin/mipsel-linux/fixmsxpart
deleted file mode 100755
index 863150db973..00000000000
--- a/Master/bin/mipsel-linux/fixmsxpart
+++ /dev/null
Binary files differ
diff --git a/Master/bin/mipsel-linux/msxlint b/Master/bin/mipsel-linux/msxlint
deleted file mode 100755
index cc22eac0eac..00000000000
--- a/Master/bin/mipsel-linux/msxlint
+++ /dev/null
Binary files differ
diff --git a/Master/bin/powerpc-linux/fixmsxpart b/Master/bin/powerpc-linux/fixmsxpart
deleted file mode 100755
index 6aa11241c26..00000000000
--- a/Master/bin/powerpc-linux/fixmsxpart
+++ /dev/null
Binary files differ
diff --git a/Master/bin/powerpc-linux/msxlint b/Master/bin/powerpc-linux/msxlint
deleted file mode 100755
index 37755b84ef2..00000000000
--- a/Master/bin/powerpc-linux/msxlint
+++ /dev/null
Binary files differ
diff --git a/Master/bin/sparc-solaris/fixmsxpart b/Master/bin/sparc-solaris/fixmsxpart
deleted file mode 100755
index 017b8b507b7..00000000000
--- a/Master/bin/sparc-solaris/fixmsxpart
+++ /dev/null
Binary files differ
diff --git a/Master/bin/sparc-solaris/msxlint b/Master/bin/sparc-solaris/msxlint
deleted file mode 100755
index 0c461832514..00000000000
--- a/Master/bin/sparc-solaris/msxlint
+++ /dev/null
Binary files differ
diff --git a/Master/bin/universal-darwin/fixmsxpart b/Master/bin/universal-darwin/fixmsxpart
deleted file mode 100755
index b4f3298193f..00000000000
--- a/Master/bin/universal-darwin/fixmsxpart
+++ /dev/null
Binary files differ
diff --git a/Master/bin/universal-darwin/msxlint b/Master/bin/universal-darwin/msxlint
deleted file mode 100755
index ff82c7d7e4e..00000000000
--- a/Master/bin/universal-darwin/msxlint
+++ /dev/null
Binary files differ
diff --git a/Master/bin/win32/fixmsxpart.exe b/Master/bin/win32/fixmsxpart.exe
deleted file mode 100755
index d0ff255078a..00000000000
--- a/Master/bin/win32/fixmsxpart.exe
+++ /dev/null
Binary files differ
diff --git a/Master/bin/win32/msxlint.exe b/Master/bin/win32/msxlint.exe
deleted file mode 100755
index 0a15ae2a405..00000000000
--- a/Master/bin/win32/msxlint.exe
+++ /dev/null
Binary files differ
diff --git a/Master/bin/x86_64-cygwin/fixmsxpart.exe b/Master/bin/x86_64-cygwin/fixmsxpart.exe
deleted file mode 100755
index e7290ceda8d..00000000000
--- a/Master/bin/x86_64-cygwin/fixmsxpart.exe
+++ /dev/null
Binary files differ
diff --git a/Master/bin/x86_64-cygwin/msxlint.exe b/Master/bin/x86_64-cygwin/msxlint.exe
deleted file mode 100755
index 8dc6453a216..00000000000
--- a/Master/bin/x86_64-cygwin/msxlint.exe
+++ /dev/null
Binary files differ
diff --git a/Master/bin/x86_64-darwin/fixmsxpart b/Master/bin/x86_64-darwin/fixmsxpart
deleted file mode 100755
index e1159effc03..00000000000
--- a/Master/bin/x86_64-darwin/fixmsxpart
+++ /dev/null
Binary files differ
diff --git a/Master/bin/x86_64-darwin/msxlint b/Master/bin/x86_64-darwin/msxlint
deleted file mode 100755
index d3f20241b03..00000000000
--- a/Master/bin/x86_64-darwin/msxlint
+++ /dev/null
Binary files differ
diff --git a/Master/bin/x86_64-linux/fixmsxpart b/Master/bin/x86_64-linux/fixmsxpart
deleted file mode 100755
index 457978c932b..00000000000
--- a/Master/bin/x86_64-linux/fixmsxpart
+++ /dev/null
Binary files differ
diff --git a/Master/bin/x86_64-linux/msxlint b/Master/bin/x86_64-linux/msxlint
deleted file mode 100755
index 8f17c3cdbfe..00000000000
--- a/Master/bin/x86_64-linux/msxlint
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/musixtex/ChangeLog-116.txt b/Master/texmf-dist/doc/generic/musixtex/ChangeLog-116.txt
index e34646d5583..e57225c9868 100644
--- a/Master/texmf-dist/doc/generic/musixtex/ChangeLog-116.txt
+++ b/Master/texmf-dist/doc/generic/musixtex/ChangeLog-116.txt
@@ -1,5 +1,7 @@
Changes from MusiXTeX 115 to 116:
+ (2015-04-21) RDT corrected the definitions of \nnotes and \nnnotes
+
HM corrected the definitions for cautionary small accidentals
RDT added \check@staff ... \fi to \@qa h, \@mca, \hs, \qqs
@@ -23,7 +25,7 @@ Changes from MusiXTeX 115 to 116:
added dynamic-mark macros \sfz \sfzp
Added to the extension library: musixppff.tex (HM), musixadf (HM),
- musixplt (RDT), musixec (RDT)
+ musixplt (RDT), musixec (RDT), musixhv (RDT)
RDT extended musixtmr
diff --git a/Master/texmf-dist/doc/generic/musixtex/README b/Master/texmf-dist/doc/generic/musixtex/README
index f14011e0ddb..8e9897d6a21 100644
--- a/Master/texmf-dist/doc/generic/musixtex/README
+++ b/Master/texmf-dist/doc/generic/musixtex/README
@@ -1,4 +1,4 @@
-This is MusiXTeX, version 1.16 (packaged 2015-02-24).
+This is MusiXTeX, version 1.16-2015-04-21.
MusiXTeX is a TeX-based system for typesetting music.
The main author was Daniel Taupin, who died in a climbing
@@ -18,7 +18,8 @@ The package includes
+ musixcrd support for chord symbols, due to Robert Hennig
- + support for music text in Palatino, Times and EC fonts
+ + support for music text in Palatino, Helvetica, Times
+ and EC fonts
+ several other extension packages
diff --git a/Master/texmf-dist/doc/generic/musixtex/examples/kinder.log b/Master/texmf-dist/doc/generic/musixtex/examples/kinder.log
deleted file mode 100644
index 4251112e0fb..00000000000
--- a/Master/texmf-dist/doc/generic/musixtex/examples/kinder.log
+++ /dev/null
@@ -1,397 +0,0 @@
-This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) (preloaded format=etex 2015.1.13) 23 FEB 2015 16:40
-entering extended mode
- restricted \write18 enabled.
- %&-line parsing enabled.
-**kinder
-(./kinder.tex (/home/rdt/texmf/tex/generic/musixtex/musixtex.tex
-MusiXTeX(c) 1.16 <2015-02-15>
-\n@i=\count27
-\n@ii=\count28
-\n@iii=\count29
-\n@iv=\count30
-\n@v=\count31
-\n@vi=\count32
-\n@vii=\count33
-\n@viii=\count34
-\toks@box=\box16
-\w@rkbox=\box17
-\n@otebox=\box18
-\y@=\dimen16
-\y@i=\dimen17
-\y@ii=\dimen18
-\y@iii=\dimen19
-\y@iv=\dimen20
-\y@v=\dimen21
-\group@no=\count35
-\interinstrument=\dimen22
-\N@s=\count36
-\s@Y=\dimen23
-\lin@pos=\dimen24
-\meet@minus@n@iv=\count37
-\interbeam=\dimen25
-\b@amthick=\dimen26
-\Interligne=\dimen27
-\Internote=\dimen28
-\ch@box=\box19
-\musicsize=\count38
-\qd@skip=\dimen29
-\qn@width=\dimen30
-\wn@width=\dimen31
-\txt@ff=\skip18
-\s@indent=\skip19
-\big@spc=\skip20
-\lthick=\dimen32
-\afterruleskip=\skip21
-\staffbotmarg=\dimen33
-\stafftopmarg=\dimen34
-\line@width=\dimen35
-\interportee=\dimen36
-\noport@@=\count39
-\noinstrum@nt=\count40
-\altportee=\dimen37
-\systemheight=\dimen38
-\altplancher=\dimen39
-\instrum@in@group=\skip22
-\boxitsep=\skip23
-\barsinpi@c@=\count41
-\barno=\count42
-\startbarno=\count43
-\sign@skip=\dimen40
-\maxsign@skip=\dimen41
-\x@skip=\dimen42
-\n@skip=\dimen43
-\beforeruleskip=\skip24
-\widthtyp@=\count44
-\lastbarno=\count45
-\cut@v=\skip25
-\init@volta@pos=\skip26
-\volta@startcor=\skip27
-\volta@endcor=\skip28
-\writ@volta@box=\box20
-\barsinlin@=\count46
-\maxbarsinlin@=\count47
-\lastbarpos=\skip29
-\ut@ref=\count48
-\meterskip=\skip30
-\t@c=\toks13
-\clef@skip=\skip31
-\noteskip=\dimen44
-\transpose=\count49
-\normaltranspose=\count50
-\locx@skip=\dimen45
-\elemskip=\dimen46
-\@l@mskip=\dimen47
-\inh@alt=\count51
-\st@bot=\dimen48
-\st@top=\dimen49
-\stem@skip=\dimen50
-\s@lope=\dimen51
-\y@vi=\dimen52
-\lift@rest=\dimen53
-\accshift=\skip32
-\@icresc=\skip33
-\@itrillei=\skip34
-\@itrilleii=\skip35
-\@itrilleiii=\skip36
-\@itrilleiv=\skip37
-\@itrillev=\skip38
-\@itrillevi=\skip39
-\tr@number=\count52
-\o@swz=\toks14
-\o@number=\count53
-\y@vii=\dimen54
-\y@viii=\dimen55
-\y@ix=\dimen56
-\tuptxtb@x=\box21
-\notes@open=\count54
-\k@ii=\skip40
-\i@ni=\dimen57
-\b@xi=\dimen58
-\b@zi=\dimen59
-\c@xi=\dimen60
-\c@zi=\skip41
-\d@xi=\dimen61
-\d@zi=\skip42
-\e@xi=\dimen62
-\e@zi=\skip43
-\b@pi=\count55
-\b@ni=\count56
-\n@pi=\count57
-\a@si=\count58
-\o@si=\count59
-\a@ci=\toks15
-\o@ci=\toks16
-\m@ti=\toks17
-\k@iii=\skip44
-\i@nii=\dimen63
-\b@xii=\dimen64
-\b@zii=\dimen65
-\c@xii=\dimen66
-\c@zii=\skip45
-\d@xii=\dimen67
-\d@zii=\skip46
-\e@xii=\dimen68
-\e@zii=\skip47
-\b@pii=\count60
-\b@nii=\count61
-\n@pii=\count62
-\a@sii=\count63
-\o@sii=\count64
-\a@cii=\toks18
-\o@cii=\toks19
-\m@tii=\toks20
-\k@iiii=\skip48
-\i@niii=\dimen69
-\b@xiii=\dimen70
-\b@ziii=\dimen71
-\c@xiii=\dimen72
-\c@ziii=\skip49
-\d@xiii=\dimen73
-\d@ziii=\skip50
-\e@xiii=\dimen74
-\e@ziii=\skip51
-\b@piii=\count65
-\b@niii=\count66
-\n@piii=\count67
-\a@siii=\count68
-\o@siii=\count69
-\a@ciii=\toks21
-\o@ciii=\toks22
-\m@tiii=\toks23
-\k@iiv=\skip52
-\i@niv=\dimen75
-\b@xiv=\dimen76
-\b@ziv=\dimen77
-\c@xiv=\dimen78
-\c@ziv=\skip53
-\d@xiv=\dimen79
-\d@ziv=\skip54
-\e@xiv=\dimen80
-\e@ziv=\skip55
-\b@piv=\count70
-\b@niv=\count71
-\n@piv=\count72
-\a@siv=\count73
-\o@siv=\count74
-\a@civ=\toks24
-\o@civ=\toks25
-\m@tiv=\toks26
-\k@iv=\skip56
-\i@nv=\dimen81
-\b@xv=\dimen82
-\b@zv=\dimen83
-\c@xv=\dimen84
-\c@zv=\skip57
-\d@xv=\dimen85
-\d@zv=\skip58
-\e@xv=\dimen86
-\e@zv=\skip59
-\b@pv=\count75
-\b@nv=\count76
-\n@pv=\count77
-\a@sv=\count78
-\o@sv=\count79
-\a@cv=\toks27
-\o@cv=\toks28
-\m@tv=\toks29
-\k@ivi=\skip60
-\i@nvi=\dimen87
-\b@xvi=\dimen88
-\b@zvi=\dimen89
-\c@xvi=\dimen90
-\c@zvi=\skip61
-\d@xvi=\dimen91
-\d@zvi=\skip62
-\e@xvi=\dimen92
-\e@zvi=\skip63
-\b@pvi=\count80
-\b@nvi=\count81
-\n@pvi=\count82
-\a@svi=\count83
-\o@svi=\count84
-\a@cvi=\toks30
-\o@cvi=\toks31
-\m@tvi=\toks32
-maxinstruments=6
-\f@xi=\dimen93
-\f@zi=\skip64
-\f@xii=\dimen94
-\f@zii=\skip65
-\f@xiii=\dimen95
-\f@ziii=\skip66
-\f@xiv=\dimen96
-\f@ziv=\skip67
-\f@xv=\dimen97
-\f@zv=\skip68
-\f@xvi=\dimen98
-\f@zvi=\skip69
- max128beams=6
-\g@bi=\skip70
-\g@hi=\skip71
-\g@bii=\skip72
-\g@hii=\skip73
-\g@biii=\skip74
-\g@hiii=\skip75
- maxgroups=3
-\s@xi=\dimen99
-\s@si=\toks33
-\s@Yi=\dimen100
-\s@ai=\skip76
-\s@yi=\count85
-\s@Ni=\count86
-\s@zi=\count87
-\s@di=\toks34
-\s@xii=\dimen101
-\s@sii=\toks35
-\s@Yii=\dimen102
-\s@aii=\skip77
-\s@yii=\count88
-\s@Nii=\count89
-\s@zii=\count90
-\s@dii=\toks36
-\s@xiii=\dimen103
-\s@siii=\toks37
-\s@Yiii=\dimen104
-\s@aiii=\skip78
-\s@yiii=\count91
-\s@Niii=\count92
-\s@ziii=\count93
-\s@diii=\toks38
-\s@xiv=\dimen105
-\s@siv=\toks39
-\s@Yiv=\dimen106
-\s@aiv=\skip79
-\s@yiv=\count94
-\s@Niv=\count95
-\s@ziv=\count96
-\s@div=\toks40
-\s@xv=\dimen107
-\s@sv=\toks41
-\s@Yv=\dimen108
-\s@av=\skip80
-\s@yv=\count97
-\s@Nv=\count98
-\s@zv=\count99
-\s@dv=\toks42
-\s@xvi=\dimen109
-\s@svi=\toks43
-\s@Yvi=\dimen110
-\s@avi=\skip81
-\s@yvi=\count100
-\s@Nvi=\count101
-\s@zvi=\count102
-\s@dvi=\toks44
- maxslurs=6
-\tr@xi=\skip82
-\tr@swi=\toks45
-\tr@yi=\skip83
-\tr@xii=\skip84
-\tr@swii=\toks46
-\tr@yii=\skip85
-\tr@xiii=\skip86
-\tr@swiii=\toks47
-\tr@yiii=\skip87
-\tr@xiv=\skip88
-\tr@swiv=\toks48
-\tr@yiv=\skip89
-\tr@xv=\skip90
-\tr@swv=\toks49
-\tr@yv=\skip91
-\tr@xvi=\skip92
-\tr@swvi=\toks50
-\tr@yvi=\skip93
- maxtrills=6
-\o@xi=\skip94
-\o@yi=\skip95
-\o@swi=\toks51
-\o@xii=\skip96
-\o@yii=\skip97
-\o@swii=\toks52
-\o@xiii=\skip98
-\o@yiii=\skip99
-\o@swiii=\toks53
-\o@xiv=\skip100
-\o@yiv=\skip101
-\o@swiv=\toks54
-\o@xv=\skip102
-\o@yv=\skip103
-\o@swv=\toks55
-\o@xvi=\skip104
-\o@yvi=\skip105
-\o@swvi=\toks56
-
-maxoctlines=6
-\outmux=\write0
-\mulooseness=\count103
-\linegoal=\count104
-\l@eftrightbox=\box22
-\inmux=\read1
-) (/home/rdt/texmf/tex/generic/musixtex/musixplt.tex
-MusiXplt <2015/02/15>
-) (/usr/local/texlive/2014/texmf-dist/tex/latex/soul/soul.sty
-\SOUL@word=\toks57
-\SOUL@lasttoken=\toks58
-\SOUL@cmds=\toks59
-\SOUL@buffer=\toks60
-\SOUL@token=\toks61
-\SOUL@spaceskip=\skip106
-\SOUL@ttwidth=\dimen111
-\SOUL@uldp=\dimen112
-\SOUL@ulht=\dimen113
-)
-(/home/rdt/texmf/tex/generic/musixtex/musixps.tex
-MusiXPS PostScript slurs, ties and crescendos 0.93 (17.2.2015)
-\slur@hgtii=\dimen114
-\slur@hgtiii=\dimen115
-\slur@hgtiv=\dimen116
-\slur@hgtv=\dimen117
-\slur@hgtvi=\dimen118
-\slur@hgtvii=\dimen119
-\slur@hgtviii=\dimen120
-\slur@hgtix=\dimen121
-\tie@alt=\dimen122
-\tie@hgt=\dimen123
-\tie@alti=\dimen124
-\tie@hgti=\dimen125
-\tie@altii=\dimen126
-\tie@hgtii=\dimen127
-\tie@altiii=\dimen128
-\tie@hgtiii=\dimen129
-\tie@altiv=\dimen130
-\tie@hgtiv=\dimen131
-\tie@altv=\dimen132
-\tie@hgtv=\dimen133
-\tie@altvi=\dimen134
-\tie@hgtvi=\dimen135
-\tie@altvii=\dimen136
-\tie@hgtvii=\dimen137
-\tie@altviii=\dimen138
-\tie@hgtviii=\dimen139
-\tie@altix=\dimen140
-\tie@hgtix=\dimen141
-\cresc@alt=\dimen142
-\cresc@alti=\dimen143
-\cresc@altii=\dimen144
-\cresc@altiii=\dimen145
-\cresc@altiv=\dimen146
-\cresc@altv=\dimen147
-\cresc@altvi=\dimen148
-\cresc@altvii=\dimen149
-\cresc@altviii=\dimen150
-\cresc@altix=\dimen151
-\pss@rega=\count105
-\pss@regb=\count106
-\pst@rega=\count107
-\pst@regb=\count108
-\psc@rega=\count109
-\psc@regb=\count110
-) (/home/rdt/texmf/tex/generic/musixtex/musixsty.tex
-MusiXtextSTYle T.94 <11 May 1999>
-\footmarkcount=\count111
-\theslant=\dimen152
-) (kinder.mx2)
-\startmuflex launched by \startpiece
-< 1> bar 1 bar 2 bar 3 bar 4 bar 5 bar 6 < 2> bar 7 bar 8 bar 9 bar 10 bar 11
-bar 12 bar 13 bar 14 < 3> bar 15 bar 16 bar 17 bar 18 bar 19 bar 20 bar 21
-bar 22 [1] )
-Output written on kinder.dvi (1 page, 18024 bytes).
diff --git a/Master/texmf-dist/doc/generic/musixtex/examples/kinder.pdf b/Master/texmf-dist/doc/generic/musixtex/examples/kinder.pdf
deleted file mode 100644
index 6ffece26547..00000000000
--- a/Master/texmf-dist/doc/generic/musixtex/examples/kinder.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf b/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf
index d4e05e0bd4b..f003b908440 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/extensions.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/extensions.tex
index 9c64ef2c4c2..4447f44617a 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/extensions.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/extensions.tex
@@ -1499,101 +1499,6 @@ If you need greater numbers of these elements, see Sections~\ref{musixmad_setmax
\ref{musixmad_setmaxslurs} and
\ref{musixmad_setmaxtrills}.
-\section{musixtnt}\label{musixtnt}
-This package (tnt = Transform Notes) provides a macro \keyindex{TransformNotes} which makes
-possible several ``transformations'' of the effect of notes commands such as \keyindex{notes}.
-The \verb\musixtnt\ package is distributed separately from \verb\musixtex\.
-
-In general the effect of \verb|\TransformNotes(|\textit{input}\verb|}{|\textit{output}\verb|}|
-is that subsequent notes commands in the source will expect their arguments
-to match the \textit{input} pattern but
-the notes will be typeset according to the \textit{output} pattern.
-
-For example,
-\begin{verbatim}
- \TransformNotes{#2&#3&#4&#5}{#2&#3&#5}
-\end{verbatim}
-would be appropriate for a four-instrument score (arguments \verb|#2|, \verb|#3|, \verb|#4|, and \verb|#5|, separated by three
-\verb\&\s, but the third instrument (\verb|#4|) will be discarded.
-
-The instrument/staff numbers in the first argument must start at $2$ and increase
-consecutively, using \verb|&| (or \| for multi-staff instruments) as a separator.
-The reason that the segment identifiers start at $2$ is that the first argument for \keyindex{vnotes}
-is a spacing parameter.
-
-It is
-essential that every \verb|\znotes|, \verb|\notes|, \verb|\Notes|, \verb|\NOtes|, etc.\@ command in
-the score match the pattern of the first argument to \keyindex{TransformNotes} exactly; for example,
-too few (or too many)
-note segments will result in unintentionally discarded material and possibly compilation failure.
-Similarly, it is not possible to use \keyindex{nextinstrument}, \keyindex{nextstaff}, \keyindex{selectinstrument} or \keyindex{selectstaff}, or to hide the \verb|&| (or \|) tokens inside
-a user-defined macro.
-An auxiliary program \verb|msxlint| distributed in the \verb\musixtnt\ package can be used to detect such incompatibilities.
-
-\keyindex{TransformNotes} may be used anywhere between \keyindex{startpiece}
-and the command that ends the piece.
-
-\subsection{Extracting single-instrument parts from multi-instrument scores}
-
-To extract
-a single-instrument part from a (copy of a) multi-instrument \musixtex\ score:
-\begin{itemize}
-\item Set \verb|\nbinstrument| to 1; for example, with command \verb|\instrumentnumber1|.
-\item Use \keyindex{TransformNotes} to discard all but one of the note segments in notes
-commands.
-For example, the following line placed after
-\verb|\startpiece| (but before any note commands) would be appropriate for a
-four-instrument score and will result in a single-instrument part for the second of
-these:
-\begin{verbatim}
- \TransformNotes{#2&#3&#4&#5}{#3}
-\end{verbatim}
-\end{itemize}
-Caveats:
-\begin{itemize}
-\item
-Some additional revisions to the source for the part might be necessary:
-\begin{itemize}
-\item adjusting \verb|\setname1|, \verb|\setclef1|, \verb|\setsign1|,
-\verb|\setmeter1| and \verb|\setstaffs1| commands, as necessary;
-
-\item ensuring that tempo and roadmap markings (\textbf{D.C.}, \textbf{Fine}, etc.) are in
- the appropriate instrument segment;
-\end{itemize}
-\item
-When the extracted part score is compiled and viewed, it may be seen
-that horizontal-spacing commands designed for \emph{multiple} instruments can produce bad
-spacing when used for a \emph{single} instrument. Bad spacing can be corrected manually but
-this is very tedious; an auxiliary program called \verb\fixprt\
-automates this process (for single-staff instruments only).
-\end{itemize}
-
-\subsection{Other applications}
-
-The \keyindex{TransformNotes} macro may be used for other purposes. Here are some examples:
-\begin{list}{}{}\item
- \verb|\TransformNotes{#2&#3}{#2&\transpose+7#3}|
-\end{list}
-will begin transposing\index{transpose@{\Bslash transpose}} just the second instrument (argument \verb|#3|).
-\begin{list}{}{}\item
- \verb|\TransformNotes{#2|\|\verb|#3&#4}{#2|\|\verb|#3&\tinynotesize#4}|
-\end{list}
-will begin typesetting the notes of the second instrument (\verb|#4|) in tiny size.
-\begin{list}{}{}\item
- \verb|\TransformNotes{#2&#3}{#3&#2}|
-\end{list}
-will switch the order of the two instruments.
-\begin{list}{}{}\item
- \verb|\TransformNotes{#2&#3}{#2&#3}|
-\end{list}
-will restore normal two-instrument processing.
-
-
-The \keyindex{TransformNotes} macro is currently not compatible with the
-\texttt{musixlyr} extension
-package for lyrics described in Section~\ref{musixlyr}. For extracting or omitting parts
-in scores with lyrics, use the techniques described in Chapter~\ref{parts}.
-
\section{musixper}\label{perc}
@@ -1991,6 +1896,7 @@ their meanings are as follows:
\end{description}\end{quote}
}
+
%\check
\section{musixsty}\index{musixsty@{\tt musixsty.tex}}
@@ -2125,6 +2031,101 @@ The default font for typesetting \keyindex{txt} and \keyindex{tuplettxt}
arguments
is \keyindex{eightit} (\verb|8pt| italic).
+\section{musixtnt}\label{musixtnt}
+This package (tnt = Transform Notes) provides a macro \keyindex{TransformNotes} which makes
+possible several ``transformations'' of the effect of notes commands such as \keyindex{notes}.
+The \verb\musixtnt\ package is distributed separately from \verb\musixtex\.
+
+In general the effect of \verb|\TransformNotes(|\textit{input}\verb|}{|\textit{output}\verb|}|
+is that subsequent notes commands in the source will expect their arguments
+to match the \textit{input} pattern but
+the notes will be typeset according to the \textit{output} pattern.
+
+For example,
+\begin{verbatim}
+ \TransformNotes{#2&#3&#4&#5}{#2&#3&#5}
+\end{verbatim}
+would be appropriate for a four-instrument score (arguments \verb|#2|, \verb|#3|, \verb|#4|, and \verb|#5|, separated by three
+\verb\&\s, but the third instrument (\verb|#4|) will be discarded.
+
+The instrument/staff numbers in the first argument must start at $2$ and increase
+consecutively, using \verb|&| (or \| for multi-staff instruments) as a separator.
+The reason that the segment identifiers start at $2$ is that the first argument for \keyindex{vnotes}
+is a spacing parameter.
+
+It is
+essential that every \verb|\znotes|, \verb|\notes|, \verb|\Notes|, \verb|\NOtes|, etc.\@ command in
+the score match the pattern of the first argument to \keyindex{TransformNotes} exactly; for example,
+too few (or too many)
+note segments will result in unintentionally discarded material and possibly compilation failure.
+Similarly, it is not possible to use \keyindex{nextinstrument}, \keyindex{nextstaff}, \keyindex{selectinstrument} or \keyindex{selectstaff}, or to hide the \verb|&| (or \|) tokens inside
+a user-defined macro.
+An auxiliary program \verb|msxlint| distributed in the \verb\musixtnt\ package can be used to detect such incompatibilities.
+
+\keyindex{TransformNotes} may be used anywhere between \keyindex{startpiece}
+and the command that ends the piece.
+
+\subsection{Extracting single-instrument parts from multi-instrument scores}
+
+To extract
+a single-instrument part from a (copy of a) multi-instrument \musixtex\ score:
+\begin{itemize}
+\item Set \verb|\nbinstrument| to 1; for example, with command \verb|\instrumentnumber1|.
+\item Use \keyindex{TransformNotes} to discard all but one of the note segments in notes
+commands.
+For example, the following line placed after
+\verb|\startpiece| (but before any note commands) would be appropriate for a
+four-instrument score and will result in a single-instrument part for the second of
+these:
+\begin{verbatim}
+ \TransformNotes{#2&#3&#4&#5}{#3}
+\end{verbatim}
+\end{itemize}
+Caveats:
+\begin{itemize}
+\item
+Some additional revisions to the source for the part might be necessary:
+\begin{itemize}
+\item adjusting \verb|\setname1|, \verb|\setclef1|, \verb|\setsign1|,
+\verb|\setmeter1| and \verb|\setstaffs1| commands, as necessary;
+
+\item ensuring that tempo and roadmap markings (\textbf{D.C.}, \textbf{Fine}, etc.) are in
+ the appropriate instrument segment;
+\end{itemize}
+\item
+When the extracted part score is compiled and viewed, it may be seen
+that horizontal-spacing commands designed for \emph{multiple} instruments can produce bad
+spacing when used for a \emph{single} instrument. Bad spacing can be corrected manually but
+this is very tedious; an auxiliary program called \verb\fixmsxpart\
+automates this process (for single-staff instruments only).
+\end{itemize}
+
+\subsection{Other applications}
+
+The \keyindex{TransformNotes} macro may be used for other purposes. Here are some examples:
+\begin{list}{}{}\item
+ \verb|\TransformNotes{#2&#3}{#2&\transpose+7#3}|
+\end{list}
+will begin transposing\index{transpose@{\Bslash transpose}} just the second instrument (argument \verb|#3|).
+\begin{list}{}{}\item
+ \verb|\TransformNotes{#2|\|\verb|#3&#4}{#2|\|\verb|#3&\tinynotesize#4}|
+\end{list}
+will begin typesetting the notes of the second instrument (\verb|#4|) in tiny size.
+\begin{list}{}{}\item
+ \verb|\TransformNotes{#2&#3}{#3&#2}|
+\end{list}
+will switch the order of the two instruments.
+\begin{list}{}{}\item
+ \verb|\TransformNotes{#2&#3}{#2&#3}|
+\end{list}
+will restore normal two-instrument processing.
+
+
+The \keyindex{TransformNotes} macro is currently not compatible with the
+\texttt{musixlyr} extension
+package for lyrics described in Section~\ref{musixlyr}. For extracting or omitting parts
+in scores with lyrics, use the techniques described in Chapter~\ref{parts}.
+
\section{musixtri}\index{musixtri@{\tt musixtri.tex}}
Provides triply dotted note symbols.
Available are:
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/fonts.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/fonts.tex
index 2a3a0037cd5..e0c547834b2 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/fonts.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/fonts.tex
@@ -103,9 +103,9 @@ in any \TeX\ document, e.g., by coding \verb|\font blafont=bla10| and then
You might also wish to replace once and for all the typefaces invoked by the
commands described in the previous section. Again, before doing this, you must
-follow steps (a-c) of the previous paragraph for all fonts in questions.
+follow steps (a-c) of the previous paragraph for all fonts in question.
\label{UserFonts}
-You can use the standard bitmapped fonts which are converted to
+You can use bitmapped fonts, which are converted to
Postscript by e.g.,~\verb|dvips|, but you also may replace them
by native Postscript fonts.
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
index c0f52919c24..76439f0ed9a 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/frontmatter.tex
@@ -12,7 +12,7 @@ instrumental music\\\Large\itshape Version 1.16}
% Private Bag No.1, Mordialloc, Victoria 3195,\\ Australia \\\medskip
% \\\Large\rm Andreas \sc Egler\\\large\sl
% (Ruhr--Uni--Bochum)\\ Ursulastr. 32\\ D-44793 Bochum}
-\date{\today}
+\date{Revised \today}
\maketitle
\vfill
\thispagestyle{empty}
@@ -66,9 +66,10 @@ event. You may read tributes to Daniel Taupin that are archived at the
Since then, the only significant update to \musixtex\ has been in version 1.15 (April 2011) which
takes advantage of the greater capacity of the e\TeX\ version of \TeX.
The current version~1.16 (February~2015) incorporates some minor
-corrections in cautionary accidentals and ``hiding'' staffs. The package
+corrections in cautionary accidentals and ``hiding'' staffs, and a major correction
+to a deep bug in the package for Postscript fonts. The \musixtex\ package
includes
-new extension libraries for use of Palatino text fonts, the EC variants
+new extension libraries for use of Palatino and Helvetica text fonts, the EC variants
of Computer Modern fonts, additional accents and improved dynamic marks.
This manual is the definitive reference to all features of
\musixtex\ version~1.16.
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/preparing.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/preparing.tex
index aed7e821fcc..f139c96c56c 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/preparing.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/preparing.tex
@@ -108,8 +108,8 @@ have the expected effect until the notes group is terminated or
\verb|\noteskip| is further redefined.
The following abbreviations may be useful:
\begin{quote}
- \keyindex{nnotes} for \verb|\notes\multnoteskip\smallvalue|\quad (i.e.,~\verb|1.6\elemskip|)\\
- \keyindex{nnnotes} for \verb|\notes\multnoteskip\tinyvalue|\quad (i.e.,~\verb|1.28\elemskip|)
+ \keyindex{nnotes} for \verb|\vnotes1.6\elemskip|\\
+ \keyindex{nnnotes} for \verb|\vnotes1.28\elemskip|
\end{quote}
Finally, by issuing a command like
\keyindex{scale}\verb|{2.4}| outside any notes group, you can scale all subsequent
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/summary.tex b/Master/texmf-dist/doc/generic/musixtex/musixdoc/summary.tex
index 72f754f0e86..0b5675f9ffe 100644
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/summary.tex
+++ b/Master/texmf-dist/doc/generic/musixtex/musixdoc/summary.tex
@@ -1,10 +1,16 @@
\newgeometry{margin=0.5in}
\makeatletter
-\let\chapterheadorig\@makeschapterhead
-\def\@makeschapterhead#1{}
+\def\@makeschapterhead#1{} % omit chapter head to save space
\chapter*{}
\addcontentsline{toc}{chapter}{Summary of Denotations}
-\def\@makeschapterhead#1{\chapterheadorig}
+\def\@makeschapterhead#1{% restore usual definition
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright
+ \normalfont
+ \interlinepenalty\@M
+ \Huge \bfseries #1\par\nobreak
+ \vskip 40\p@
+ }}
\makeatother
\parskip0pt plus 2pt
\parindent0pt
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixdoc/texput.log b/Master/texmf-dist/doc/generic/musixtex/musixdoc/texput.log
deleted file mode 100644
index e219b01db63..00000000000
--- a/Master/texmf-dist/doc/generic/musixtex/musixdoc/texput.log
+++ /dev/null
@@ -1,25 +0,0 @@
-This is XeTeX, Version 3.14159265-2.6-0.99991 (TeX Live 2014) (preloaded format=xelatex 2014.10.14) 25 FEB 2015 09:14
-entering extended mode
- restricted \write18 enabled.
- %&-line parsing enabled.
-**\end
-
-*\end
-! TeX capacity exceeded, sorry [input stack size=5000].
-\end #1->\csname end#1
- \endcsname \@checkend {#1}\expandafter \endgroup \if@e...
-<*> \end
-
-If you really absolutely need more capacity,
-you can ask a wizard to enlarge me.
-
-
-Here is how much of TeX's memory you used:
- 1 string out of 493724
- 10 string characters out of 6145898
- 54450 words of memory out of 5000000
- 3432 multiletter control sequences out of 15000+600000
- 3640 words of font info for 14 fonts, out of 8000000 for 9000
- 1328 hyphenation exceptions out of 8191
- 5000i,0n,5000p,10b,8s stack positions out of 5000i,500n,10000p,200000b,80000s
-No pages of output.
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixlyr/examples/nonmoriar.dvi b/Master/texmf-dist/doc/generic/musixtex/musixlyr/examples/nonmoriar.dvi
deleted file mode 100644
index bafd467dd6f..00000000000
--- a/Master/texmf-dist/doc/generic/musixtex/musixlyr/examples/nonmoriar.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/musixtex/musixlyr/mxlyrdoc.dvi b/Master/texmf-dist/doc/generic/musixtex/musixlyr/mxlyrdoc.dvi
deleted file mode 100644
index 5c6cfc34948..00000000000
--- a/Master/texmf-dist/doc/generic/musixtex/musixlyr/mxlyrdoc.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/musixtex/reference/musixre1.pdf b/Master/texmf-dist/doc/generic/musixtex/reference/musixre1.pdf
index d3b7fa02210..52b23d85812 100644
--- a/Master/texmf-dist/doc/generic/musixtex/reference/musixre1.pdf
+++ b/Master/texmf-dist/doc/generic/musixtex/reference/musixre1.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/generic/musixtex/musixtex.tex b/Master/texmf-dist/tex/generic/musixtex/musixtex.tex
index 2ae5713117f..fedf981ab04 100644
--- a/Master/texmf-dist/tex/generic/musixtex/musixtex.tex
+++ b/Master/texmf-dist/tex/generic/musixtex/musixtex.tex
@@ -29,13 +29,15 @@
\def\mxvernumber{\mxmajorvernumber\mxminorvernumber}% make it possible to compare with \ifnum
\def\mxversuffix{}%
\edef\mxversion{\mxmajorvernumber.\mxminorvernumber\mxversuffix}
-\def\mxdate{2015-02-27}
+\def\mxdate{2015-04-21}
\immediate\write16{MusiXTeX(c) \mxversion\space<\mxdate>}%
\everyjob{\immediate\write16{MusiXTeX(c) \mxversion\space<\mxdate>}}%
% T116:
+% RDT corrected the definitions of \nnotes and \nnnotes
+
% HM corrected the definitions for cautionary small accidentals
% RDT added \check@staff ... \fi to \@qa h, \@mca, \hs, \qqs
@@ -49,8 +51,7 @@
% \tqu and \tql, synonyms for \tqh and \tqb
% \ztqu and \ztql, synonyms for \ztqh and \ztqb
% \hpp, \qpp, \dsp, \qsp, \hsp, \qqsp for pointed rests
-% \nnotes, \nnnotes: abbreviations with \multnoteskip\smallvalue
-% and \multnoteskip\tinyvalue spacing
+% \nnotes, \nnnotes: 1.6 and 1.28 \elemskip spacing
% \zcn, \ccn, \lcn, synomyms for \zcharnote etc.
% RDT incorporated curly.tex (approved by Mthimkhulu Molekwa)
@@ -4493,8 +4494,8 @@
\def\NOTES{\vnotes11.32\elemskip}% 1th
}%
-\def\nnotes{\notes\multnoteskip\smallvalue} % T116 RDT
-\def\nnnotes{\notes\multnoteskip\tinyvalue} % T116 RDT
+\def\nnotes{\vnotes1.6\elemskip} % T116 RDT (corrected 2015-03-31)
+\def\nnnotes{\vnotes1.28\elemskip} % T116 RDT (corrected 2015-03-31)
\arithmeticskipscale