diff options
Diffstat (limited to 'Build/source/texk/musixtnt/musixtnt-src')
-rw-r--r-- | Build/source/texk/musixtnt/musixtnt-src/AUTHORS | 5 | ||||
-rw-r--r-- | Build/source/texk/musixtnt/musixtnt-src/ChangeLog | 68 | ||||
-rw-r--r-- | Build/source/texk/musixtnt/musixtnt-src/Makefile.am | 16 | ||||
-rw-r--r-- | Build/source/texk/musixtnt/musixtnt-src/README | 54 | ||||
-rw-r--r-- | Build/source/texk/musixtnt/musixtnt-src/acinclude.m4 | 85 | ||||
-rw-r--r-- | Build/source/texk/musixtnt/musixtnt-src/configure.ac | 24 | ||||
-rw-r--r-- | Build/source/texk/musixtnt/musixtnt-src/msxlint.1 | 36 | ||||
-rw-r--r-- | Build/source/texk/musixtnt/musixtnt-src/msxlint.c | 422 | ||||
-rwxr-xr-x | Build/source/texk/musixtnt/musixtnt-src/msxlint.test | 30 | ||||
-rw-r--r-- | Build/source/texk/musixtnt/musixtnt-src/tests/badtest.tex | 10 | ||||
-rw-r--r-- | Build/source/texk/musixtnt/musixtnt-src/tests/linttest.out | 7 | ||||
-rw-r--r-- | Build/source/texk/musixtnt/musixtnt-src/tests/linttest.tex | 10 | ||||
-rw-r--r-- | Build/source/texk/musixtnt/musixtnt-src/utils.c | 103 | ||||
-rw-r--r-- | Build/source/texk/musixtnt/musixtnt-src/utils.h | 66 |
14 files changed, 0 insertions, 936 deletions
diff --git a/Build/source/texk/musixtnt/musixtnt-src/AUTHORS b/Build/source/texk/musixtnt/musixtnt-src/AUTHORS deleted file mode 100644 index 2684f199c52..00000000000 --- a/Build/source/texk/musixtnt/musixtnt-src/AUTHORS +++ /dev/null @@ -1,5 +0,0 @@ -Bob Tennent -School of Computing -Queen's University -Kingston, Canada -rdt@cs.queensu.ca diff --git a/Build/source/texk/musixtnt/musixtnt-src/ChangeLog b/Build/source/texk/musixtnt/musixtnt-src/ChangeLog deleted file mode 100644 index 4cba0e1cc43..00000000000 --- a/Build/source/texk/musixtnt/musixtnt-src/ChangeLog +++ /dev/null @@ -1,68 +0,0 @@ -2015-05-07 - - Re-implement to deal with autosp output - Replace -d option by a log file - Introduce -a option to allow user choice of \qb{n}{.p} treatment - Don't replace \alaligne and \alapage by \bar - (might change context) - output_rests for \znotes ... - -2015-02-23 - - Allow for \zcn, \lcn, \ccn abbreviations for \zcharnote, etc. - -2015-02-09 RDT - - Check for EOF and missing EOL. - -2015-02-06 RDT - - Minor patches from Peter B. - Added test files and test scripts from Peter B. - -2015-02-04 RDT - - Re-named fixmsxpart to satisfy Karl Berry. - - Initial messages go to stderr if there is only one file - argument but to stdout for -v or -h. - - Moved common utilities from msxlint and fixmsxpart - to utils.c. - -2015-01-29 RDT - - Re-organized beams to allow ovelapping beams. - - General code clean-up. - -2015-01-23 RDT - - Re-organized synthesize_notes. - - Don't assume \vnotes is for an appoggiatura without - \tinynotesize. - - Discard \sk and \hsk commands but keep - \qsk, \hqsk and \off{...}. - - Comment out \eject commands. - - Deal with \{z|c|l}char[note] commands (which may have - embedded commands). - -2015-01-16 RDT - - Added '%' to comment out \mulooseness etc. lines. - -2015-01-06 RDT - - Avoid analyzing \def lines. - -2015-01-03 RDT - - Workaround confusion between \bar and \barno. - -2015-01-02 RDT - - First release. diff --git a/Build/source/texk/musixtnt/musixtnt-src/Makefile.am b/Build/source/texk/musixtnt/musixtnt-src/Makefile.am deleted file mode 100644 index cdc28185321..00000000000 --- a/Build/source/texk/musixtnt/musixtnt-src/Makefile.am +++ /dev/null @@ -1,16 +0,0 @@ -bin_PROGRAMS = msxlint -msxlint_SOURCES = utils.h utils.c msxlint.c -AM_CFLAGS = -O4 -ansi -Wall -Wextra -pedantic-errors -dist_man_MANS = msxlint.1 -## Tests -## -TESTS = msxlint.test - -EXTRA_DIST = -EXTRA_DIST += $(TESTS) -DISTCLEANFILES = - -## msxlint.test -EXTRA_DIST += tests/badtest.tex tests/linttest.tex tests/linttest.out -DISTCLEANFILES += linttest.* - diff --git a/Build/source/texk/musixtnt/musixtnt-src/README b/Build/source/texk/musixtnt/musixtnt-src/README deleted file mode 100644 index 3d29bf8c317..00000000000 --- a/Build/source/texk/musixtnt/musixtnt-src/README +++ /dev/null @@ -1,54 +0,0 @@ -This archive contains a MusiXTeX extension library musixtnt -and C source code, binaries for Windows (32 bit and 64 bit) -and MacOSX, and documentation for two programs: fixmsxpart -and msxlint. - -musixtnt.tex provides a macro \TransformNotes that -enables transformations of the effect of notes -commands such as \notes. In general, the effect of -\TransformNotes{input}{output} is that notes commands in -the source will expect their arguments to match the input -pattern, but the notes will be typeset according to the -output pattern. An example is extracting single-instrument -parts from a multi-instrument score. - -fixmsxpart corrects note spacing in a single-part MusiXTeX -source (possibly derived from a multi-instrument score and -as a result having irregular note spacing). - -msxlint detects incorrectly formatted notes lines in a -MusiXTeX source file. This should be used before using -\TransformNotes. - -To install: - -Create texmf/tex/generic/musixtnt in a local or personal -texmf tree and move musixtnt.tex into it. - -Create texmf/doc/generic/musixtnt and move there the files -in the doc directory. - -Update the file-name database as required by your TeX -installation. - -If your platform is UNIX-like, process the -musixtnt-<version>.tar.gz file as usual (tar zxvf ..., -./configure, make, make install). - -If your platform is Windows, move the executables -msxlint.exe and fixmsxpart.exe in either the 32bit or the -64bit folders to a folder on the executable PATH. - -If your platform is Mac OS-X, install the executables -in the macosx directory. - -musixtnt.tex, fixmsxpart.c, utils.c and msxlint.c are -licensed under the GPL version 2 or (at your option) any -later version. - -Please report bugs and experience (good or bad) using these -programs to me. - -Bob Tennent -rdt(at)cs(dot)queensu(dot)ca -2015-05-07 diff --git a/Build/source/texk/musixtnt/musixtnt-src/acinclude.m4 b/Build/source/texk/musixtnt/musixtnt-src/acinclude.m4 deleted file mode 100644 index 4a581894bc7..00000000000 --- a/Build/source/texk/musixtnt/musixtnt-src/acinclude.m4 +++ /dev/null @@ -1,85 +0,0 @@ - -dnl -dnl read lib version from file (and trim trailing newline) -dnl -define([EL_RELEASE], [patsubst(esyscmd([. src/shlib_version; echo $major.$minor]), [ -])]) - -dnl -dnl read cvsexport timestamp from file (and trim trailing newline) -dnl -define([EL_TIMESTAMP], [patsubst(esyscmd([date +"%Y%m%d"]), [ -])]) - - -dnl -dnl NetBSD use the -mdoc macro package for manpages, but e.g. -dnl AIX and Solaris only support the -man package. -dnl -AC_DEFUN([EL_MANTYPE], -[ - MANTYPE= - TestPath="/usr/bin${PATH_SEPARATOR}/usr/ucb" - AC_PATH_PROGS(NROFF, nroff awf, /bin/false, $TestPath) - if ${NROFF} -mdoc ${srcdir}/doc/editrc.5.roff >/dev/null 2>&1; then - MANTYPE=mdoc - fi - AC_SUBST(MANTYPE) -]) - - -dnl -dnl Check if getpwnam_r and getpwuid_r are POSIX.1 compatible -dnl POSIX draft version returns 'struct passwd *' (used on Solaris) -dnl NOTE: getpwent_r is not POSIX so we always use getpwent -dnl -AC_DEFUN([EL_GETPW_R_POSIX], -[ - AC_MSG_CHECKING([whether getpwnam_r and getpwuid_r are posix like]) - # The prototype for the POSIX version is: - # int getpwnam_r(char *, struct passwd *, char *, size_t, struct passwd **) - # int getpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **); - AC_TRY_LINK([#include <stdlib.h> - #include <sys/types.h> - #include <pwd.h>], - [getpwnam_r(NULL, NULL, NULL, (size_t)0, NULL); - getpwuid_r((uid_t)0, NULL, NULL, (size_t)0, NULL);], - [AC_DEFINE([HAVE_GETPW_R_POSIX], 1, [Define to 1 if you have getpwnam_r and getpwuid_r that are POSIX.1 compatible.]) - AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no)]) -]) - -AC_DEFUN([EL_GETPW_R_DRAFT], -[ - AC_MSG_CHECKING([whether getpwnam_r and getpwuid_r are posix _draft_ like]) - # The prototype for the POSIX draft version is: - # struct passwd *getpwuid_r(uid_t, struct passwd *, char *, int); - # struct passwd *getpwnam_r(char *, struct passwd *, char *, int); - AC_TRY_LINK([#include <stdlib.h> - #include <sys/types.h> - #include <pwd.h>], - [getpwnam_r(NULL, NULL, NULL, (size_t)0); - getpwuid_r((uid_t)0, NULL, NULL, (size_t)0);], - [AC_DEFINE([HAVE_GETPW_R_DRAFT], 1, [Define to 1 if you have getpwnam_r and getpwuid_r that are draft POSIX.1 versions.]) - AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no)]) -]) - - -dnl -dnl use option --enable-widec to turn on use of wide-character support -dnl -AC_DEFUN([EL_ENABLE_WIDEC], -[ - AC_MSG_CHECKING(if you want wide-character code) - AC_ARG_ENABLE(widec, - [ --enable-widec compile with wide-char/UTF-8 code], - [with_widec=$enableval], - [with_widec=no]) - AC_MSG_RESULT($with_widec) - if test "$with_widec" = yes ; then - AC_DEFINE(WIDECHAR, 1, [Define to 1 if you want wide-character code]) - fi - AM_CONDITIONAL([WIDECHAR], [test "$with_widec" = yes]) -]) - diff --git a/Build/source/texk/musixtnt/musixtnt-src/configure.ac b/Build/source/texk/musixtnt/musixtnt-src/configure.ac deleted file mode 100644 index 843a504be18..00000000000 --- a/Build/source/texk/musixtnt/musixtnt-src/configure.ac +++ /dev/null @@ -1,24 +0,0 @@ -AC_PREREQ(2.63) -AC_INIT([musixtnt],[2016-01-30],[rdt@cs.queensu.ca]) -AC_CONFIG_AUX_DIR([.]) -AM_INIT_AUTOMAKE -AC_CONFIG_HEADERS([config.h]) - -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -# Checks for programs. -AC_PROG_CC -AM_PROG_CC_C_O - -# Checks for header files. -AC_CHECK_HEADERS([stdlib.h string.h stdio.h time.h getopt.h]) - -# Checks for typedefs, structures, and compiler characteristics. -AC_HEADER_STDBOOL -AC_TYPE_SIZE_T - -# Checks for library functions. -AC_CHECK_FUNCS([strstr]) - -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT diff --git a/Build/source/texk/musixtnt/musixtnt-src/msxlint.1 b/Build/source/texk/musixtnt/musixtnt-src/msxlint.1 deleted file mode 100644 index d0a3f695ae7..00000000000 --- a/Build/source/texk/musixtnt/musixtnt-src/msxlint.1 +++ /dev/null @@ -1,36 +0,0 @@ -.\" This manpage is licensed under the GNU Public License -.TH MSXLINT 1 2015-02-05 "" "" - -.SH NAME -msxlint \- detects incorrectly formatted notes lines in a MusiXTeX source file. - -.SH SYNOPSIS -.B msxlint -.RB [ \-v\ |\ \-\-version\ |\ \-h\ |\ \-\-help ] - -.B msxlint -.RB [ \-d\ | \ \-\-debug ]... -.RI [ infile [ \fB.tex\fP ]...] - -If no -.IR infiles -are specifed, standard input is used. - -.SH USAGE - -The format that notes commands are expected to match is -determined by \\instrumentnumber and \\setstaffs commands, or -uses of the \\TransformNotes macro defined in musixtnt.tex (see musixdoc.pdf), or re-definitions of the \\vnotes macro. -Output consists of messages about format errors, -with listings of the ill-formatted lines. - -.SH LIMITATIONS -User-defined macros are not processed or expanded. Notes commands (\\notes, \\Notes, etc.) -can have line breaks, but other commands must fit on one line. -.SH SEE ALSO -.BR fixmsxpart (1) -.PP -musixdoc.pdf - -.SH AUTHOR -This program and manual page were written by Bob Tennent <rdt@cs.queensu.ca>. diff --git a/Build/source/texk/musixtnt/musixtnt-src/msxlint.c b/Build/source/texk/musixtnt/musixtnt-src/msxlint.c deleted file mode 100644 index 86a5d1f2317..00000000000 --- a/Build/source/texk/musixtnt/musixtnt-src/msxlint.c +++ /dev/null @@ -1,422 +0,0 @@ -char version[12] = "2016-01-30"; - -/* Copyright (C) 2014-16 R. D. Tennent School of Computing, - * Queen's University, rdt@cs.queensu.ca - * - * 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 of the License, 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, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. - */ - -/* msxlint - detects incorrectly formatted notes lines - * in a MusiXTeX source file. - * - * Usage: msxlint [-v | --version | -h | --help] - * msxlint [-d | --debug] { infile[.tex] } ... - * - */ - - -# include "utils.h" - -PRIVATE int debug = 0; -PRIVATE char infilename[LINE_LEN]; -PRIVATE char *infilename_n = infilename; - -PRIVATE FILE *infile; - -PRIVATE char line[LINE_LEN]; /* line of input */ -PRIVATE int lineno; /* line number */ -PRIVATE int ninstr; /* number of instruments */ -PRIVATE int staffs[12]; /* staffs[i] is the number of staffs - for instrument i */ -PRIVATE char terminator[8]; /* "\en" or "\enotes" or "" (either) */ -PRIVATE int nerrors; /* number of error messages */ -# define NERRORSMAX 10 - -PRIVATE void -checkc (char *s, char c) -{ if (*s != c) - printf ("Expected %c but found %c in line %d:\n%s\n", c, *s, lineno, line); -} - -PRIVATE void -checkn (char *s) -{ if (strpbrk (s, "0123456789") != s) - printf ("Expected digit but found %c in line %d:\n%s\n", *s, lineno, line); -} - -PRIVATE void -usage (void) -{ - puts ("Usage: msxlint [-v | --version | -h | --help]"); - puts (" msxlint [-d | --debug] ... { infile[.tex] } ..."); -} - -PRIVATE void -analyze_notes ( char **ln) { - int i,j; - int newlines = 0; - char *s; char *t; - s = strpbrk (*ln+1, "|&\\\n"); /* skip initial command */ - while (true) - { /* look for \en */ - t = strstr(s, "\\en"); - if (t != NULL) break; - else - /* replace EOL by a blank and append another line of input */ - { char new_line[LINE_LEN]; - if (debug > 2) printf (" Reading additional line of input:\n"); - if ( fgets (new_line, LINE_LEN, infile) == NULL) - error("Unexpected EOF."); - if ( (t = strchr (s, '\n')) == NULL ) - error("Missing EOL."); - *t = ' '; - t++; - *t = '\0'; - if (append (line, &t, new_line, LINE_LEN) >= LINE_LEN) - error ("Line too Long."); - if (debug > 2) printf (" %s\n", t+1); - newlines++; - } - } - for (i=1; i <= ninstr; i++) - { - for (j=1; j < staffs[i]; j++) - { s = strpbrk (s, "|&"); - if (s == NULL || *s == '&' || s > t) - { - printf ("Too few staffs for instrument %d in notes on line %d:\n%s", i, lineno, line); - nerrors++; - *ln = t+3; - return; - } - checkc (s, '|'); s++; - } - if (i == ninstr) break; - s = strpbrk (s, "&|"); - if (s == NULL || s > t) - { - printf ("Too few instruments in notes on line %d:\n%s", lineno, line); - nerrors++; - *ln = t+3; - return; - } - if (*s == '|') - { - printf ("Too many staffs for instrument %d in notes on line %d:\n%s", i, lineno, line); - nerrors++; - *ln = t+3; - return; - } - checkc (s, '&'); s++; - } - s = strpbrk (s, "|&"); - if (s != NULL && s < t) - { - printf ("Too many fields in notes on line %d:\n%s", lineno, line); - nerrors++; - *ln = t+3; - return; - } - s = t; /* \en */ - if (terminator[0] != '\0') - { if (!prefix (terminator, s) ) - { - printf ("Expected %s at end of notes on line %d:\n%s", terminator, lineno, line); - nerrors++; - t = strchr(s, '\\'); - if (t == NULL) t = *ln + strlen (*ln); - *ln = t; - return; - } - if ( terminator[3] == '\0' && prefix ("otes", s+3) ) - { - printf ("Expected %s at end of notes on line %d:\n%s", terminator, lineno, line); - nerrors++; - t = strchr(s, '\\'); - if (t == NULL) t = *ln + strlen (*ln); - *ln = t; - return; - } - } - lineno = lineno + newlines; - t = strchr(s+1, '\\'); - if (t == NULL) t = *ln + strlen (*ln); - *ln = t; - return; -} - -PRIVATE void -process_command (char **ln) -{ char *s, *t; - if ( prefix("\\instrumentnumber", *ln) ) - { - if (debug > 1) printf ("%s\n", " Processing \\instrumentnumber"); - s = strpbrk (*ln, "123456789"); - if ( s == NULL ) error ("\\instrumentnumber command unreadable."); - ninstr = atoi (s); - t = strpbrk (*ln+1, "\\"); - if (t == NULL) - { *ln = *ln + strlen (*ln); return; } - *ln = t; - } - - if ( prefix("\\def\\nbinstrument", *ln) ) - { - if (debug > 1) printf ("%s\n", " Processing \\def\\nbinstrument"); - s = strpbrk (*ln, "123456789"); - if ( s == NULL ) error ("\\def\\nbinstrument command unreadable."); - ninstr = atoi (s); - t = strpbrk (*ln+1, "\\"); - if (t == NULL) - { *ln = *ln + strlen (*ln); return; } - *ln = t; - } - - else if ( prefix("\\setstaffs", *ln) ) - { - int n, p; - if (debug > 1) printf ("%s\n", " Processing \\setstaffs"); - s = strpbrk (*ln, "123456789"); - if ( s == NULL ) error ("\\setstaffs command unreadable."); - n = (int)(*s) - (int)('0'); /* instrument number */ - s = strpbrk (s+1, "123456789"); - if ( s == NULL ) error ("\\setstaffs command unreadable."); - p = (int)(*s) - (int)('0'); /* number of staffs */ - staffs[n] = p; - t = strpbrk (*ln+1, "\\"); - if (t == NULL) - { *ln = *ln + strlen (*ln); return; } - *ln = t; - } - - else if ( prefix("\\def\\vnotes#1\\elemskip", *ln) ) - { - if (debug > 1) printf ("%s\n", " Processing \\def\\vnotes"); - s = *ln + 22; /* first parameter */ - ninstr = 0; - while (true) - { ninstr++; - staffs[ninstr] = 1; - checkc (s, '#'); s++; - checkn (s); s++; - while (*s == '|') - { staffs[ninstr]++; - checkc (s, '|'); s++; - checkc (s, '#'); s++; - checkn (s); s++; - } - if (*s != '&') break; - checkc (s, '&'); s++; - } - t = &terminator[0]; - while (*s != '{') - { *t = *s; s++; t++; } - *t = '\0'; - *ln = strchr (*ln, '}') ; - (*ln)++; - } - - else if ( prefix("\\TransformNotes", *ln) ) - { - if (debug > 1) printf ("%s\n", " Processing \\TransformNotes"); - s = *ln + 16; /* first parameter */ - ninstr = 0; - while (true) - { ninstr++; - staffs[ninstr] = 1; - checkc (s, '#'); s++; - checkn (s); s++; - while (*s == '|') - { staffs[ninstr]++; - checkc (s, '|'); s++; - checkc (s, '#'); s++; - checkn (s); s++; - } - if (*s != '&') break; - checkc (s, '&'); s++; - } - t = &terminator[0]; - terminator[0] = '\0'; - append ( t, &t, "\\en", sizeof (terminator) ); - do s++; while (*s != '{'); - *ln = strchr (s, '}') ; - if (*ln == NULL) error ("Can't find '}' after \\TransformNotes."); - (*ln)++; - } - - else if ( prefix("\\notes", *ln) || - prefix("\\Notes", *ln) || - prefix("\\NOtes", *ln) || - prefix("\\NOTes", *ln) || - prefix("\\NOTEs", *ln) || - prefix("\\nnotes", *ln) || - prefix("\\vnotes", *ln) || - prefix("\\znotes", *ln) - ) - { - if (debug > 1) printf ("%s\n", " Processing notes"); - analyze_notes (ln); - t = strpbrk (*ln, "\\\n"); - if (t == NULL) - { *ln = *ln + strlen (*ln); return; } - *ln = t; - } - - else if ( prefix("\\def\\atnextbar", *ln)) - { - if (debug > 1) printf ("%s\n", " Processing \\def\\atnextbar"); - s = strstr (*ln, "\\znotes"); - if (s != NULL) - { - *ln = s; - analyze_notes (ln); - } - t = strpbrk (*ln, "\\"); - if (t == NULL) - { *ln = *ln + strlen (*ln); return; } - *ln = t; - } - - else if ( prefix("\\def", *ln) ) - *ln = *ln + strlen (*ln); - - else /* anything else */ - { - if (debug > 1) printf (" Processing "); - t = strpbrk (*ln+1, "\\\n"); - if (t == NULL) t = *ln + strlen (*ln); - if (debug > 1) - { char *s = *ln; do {putchar (*s); s++;} while (s != t); puts ("");} - *ln = t; - } -} - -PRIVATE void -process_line (void) -{ - char *ln; - ln = &line[0]; - while ( *ln != '\0') - { - while (*ln == ' ') { ln++;} - if (*ln == '%' || *ln == '\n') return; - process_command (&ln); - } /* *ln == '\0' */ -} - -PRIVATE void -process_score (void) -/* process .tex file */ -{ - int c; int i; - lineno = 0; - ninstr = 1; - nerrors = 0; - staffs[0] = 0; - for (i = 1; i<12; i++) staffs[i] = 1; - terminator[0] = '\0'; /* either \en or \enotes */ - while ( (c = getc (infile)) != EOF ) - { - ungetc (c, infile); - if (fgets(line, LINE_LEN, infile) == NULL) error("IO error"); - if (strlen (line) == LINE_LEN-1) error("Line too long."); - lineno++; - if (debug > 0) printf ("Processing line %d.\n", lineno); - process_line (); - if (nerrors > NERRORSMAX) { - puts ("\nToo many errors; processing of this file aborted."); - return; - } - } /* c == EOF */ -} - - -int -main (int argc, char *argv[]) -{ - int c; - char today[12]; - time_t mytime; -# define NOPTS 4 - struct option longopts[NOPTS] = - { { "help", 0, NULL, 'h'}, - { "version", 0, NULL, 'v'}, - { "debug", 0, NULL, 'd'}, - { NULL, 0, NULL, 0} - }; - - time (&mytime); - strftime (today, 11, "%Y-%m-%d", localtime (&mytime) ); - printf ("This is msxlint, version %s.\n", version); - c = getopt_long (argc, argv, "hvd", longopts, NULL); - while (c != -1) - { - switch (c) - { - case 'h': - usage (); - puts ( "Please report bugs to rdt@cs.queensu.ca." ); - exit (0); - case 'v': - exit (0); - case 'd': - debug++; - break; - case '?': - exit (EXIT_FAILURE); - default: - fprintf (stderr,"Function getopt returned character code 0%o.\n", - (unsigned int) c); - exit (EXIT_FAILURE); - } - c = getopt_long (argc, argv, "hvd", longopts, NULL); - } - puts ( "Copyright (C) 2014-16 R. D. Tennent" ); - puts ( "School of Computing, Queen's University, rdt@cs.queensu.ca" ); - puts ( "License GNU GPL version 2 or later <http://gnu.org/licences/gpl.html>." ); - puts ( "There is NO WARRANTY, to the extent permitted by law." ); - - if (optind == argc) - { - infile = stdin; - printf ("\nProcessing stdin.\n\n"); - process_score (); - } - else - do - { - infilename[0] = '\0'; - infilename_n = infilename; - append (infilename, &infilename_n, argv[optind], sizeof (infilename)); - if (!suffix (".tex", infilename)) - append (infilename, &infilename_n, ".tex", sizeof (infilename)); - infile = fopen (infilename, "r"); - if (infile == NULL) - { - fprintf (stderr,"Can't open %s\n", infilename); - optind++; - continue; - } - printf ("\nProcessing %s.\n\n", infilename); - process_score (); - optind++; - } - while (optind < argc); - - return 0; -} diff --git a/Build/source/texk/musixtnt/musixtnt-src/msxlint.test b/Build/source/texk/musixtnt/musixtnt-src/msxlint.test deleted file mode 100755 index 9cd33d22c8f..00000000000 --- a/Build/source/texk/musixtnt/musixtnt-src/msxlint.test +++ /dev/null @@ -1,30 +0,0 @@ -#! /bin/sh -vx -# Copyright 2017-2018 Karl Berry <tex-live@tug.org> -# Copyright 2015 Peter Breitenlohner <tex-live@tug.org> -# You may freely use, modify and/or distribute this file. - -LC_ALL=C; export LC_ALL; LANGUAGE=C; export LANGUAGE - -echo && echo "*** msxlint --help" -./msxlint --help || exit 1 - -echo && echo "*** msxlint --version" -./msxlint --version || exit 1 - -: ${testsrc:=$srcdir/tests} - -echo && echo "*** msxlint -d tests/badtest" -./msxlint -d $testsrc/badtest && exit 1 - -echo && echo "*** msxlint tests/linttest >linttest.out1" -./msxlint $testsrc/linttest | sed '/^This/,/^Processing/d' >linttest.out1 || exit 1 - -echo && echo "*** diff tests/linttest.out linttest.out1" -diff $testsrc/linttest.out linttest.out1 || exit 1 - -echo && echo "*** cat tests/linttest.tex | msxlint >linttest.out2" -cat $testsrc/linttest.tex | ./msxlint | sed '/^This/,/^Processing/d' >linttest.out2 || exit 1 - -echo && echo "*** diff tests/linttest.out linttest.out2" -diff $testsrc/linttest.out linttest.out2 || exit 1 - diff --git a/Build/source/texk/musixtnt/musixtnt-src/tests/badtest.tex b/Build/source/texk/musixtnt/musixtnt-src/tests/badtest.tex deleted file mode 100644 index ed85d76374e..00000000000 --- a/Build/source/texk/musixtnt/musixtnt-src/tests/badtest.tex +++ /dev/null @@ -1,10 +0,0 @@ -\input musixtex -\instrumentnumber2 -\setclef1{\bass} -\setstaffs12 -\startpiece\addspace\afterruleskip% -\Notes\qa -J|\qa -l&\qa -n\en -\Notes\qa J|\qa l diff --git a/Build/source/texk/musixtnt/musixtnt-src/tests/linttest.out b/Build/source/texk/musixtnt/musixtnt-src/tests/linttest.out deleted file mode 100644 index db86b2d9938..00000000000 --- a/Build/source/texk/musixtnt/musixtnt-src/tests/linttest.out +++ /dev/null @@ -1,7 +0,0 @@ - -Too few instruments in notes on line 7: -\Notes\qa J|\qa l\en -Too few staffs for instrument 1 in notes on line 8: -\Notes\qa J&\qa n\en -Too many fields in notes on line 9: -\Notes\qa J|\qa l&\qa n&\qa q\en diff --git a/Build/source/texk/musixtnt/musixtnt-src/tests/linttest.tex b/Build/source/texk/musixtnt/musixtnt-src/tests/linttest.tex deleted file mode 100644 index 588582b4e89..00000000000 --- a/Build/source/texk/musixtnt/musixtnt-src/tests/linttest.tex +++ /dev/null @@ -1,10 +0,0 @@ -\input musixtex -\instrumentnumber2 -\setclef1{\bass} -\setstaffs12 -\startpiece\addspace\afterruleskip% -\Notes\qa J|\qa l&\qa n\en -\Notes\qa J|\qa l\en -\Notes\qa J&\qa n\en -\Notes\qa J|\qa l&\qa n&\qa q\en -\zstoppiece\end diff --git a/Build/source/texk/musixtnt/musixtnt-src/utils.c b/Build/source/texk/musixtnt/musixtnt-src/utils.c deleted file mode 100644 index 808f43ac3a8..00000000000 --- a/Build/source/texk/musixtnt/musixtnt-src/utils.c +++ /dev/null @@ -1,103 +0,0 @@ -/* Copyright (C) 2014-15 R. D. Tennent School of Computing, - * Queen's University, rdt@cs.queensu.ca - * - * 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 of the License, 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, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. - */ - -/* utils.c - utilities for fixmsxpart.c and msxlint.c - */ - -# include "utils.h" - -void -warning (const char msg[]) /* output warning message msg to stderr */ -{ - fprintf (stderr, "Warning: %s\n", msg); - return; -} - -void -error (const char msg[]) /* abort with stderr message msg */ -{ - fprintf (stderr, "Error: %s\n", msg); - exit (EXIT_FAILURE); -} - -bool -prefix (const char *cs, const char *ct) -/* - is string cs[] a prefix of ct[]? -*/ -{ - const char *pcs = cs; - const char *pct = ct; - while (*pcs != '\0') - { - if (*pcs != *pct) return false; - pcs++; pct++; - } - return true; -} - -bool -suffix (const char *cs, const char *ct) -/* is string cs[] a suffix of ct[]? */ -{ - const char *pcs = cs; - const char *pct = ct + strlen (ct) - strlen (cs); - while (*pcs != '\0') - { - if (*pct != *pcs) return false; - pcs++; pct++; - } - return true; -} - -size_t -append (char *dst, char **offset, const char *src, size_t n) -/* Copies src to *offset and updates *offset accordingly (if possible). - * Assumes *offset is dst if offset == NULL. - * Execution aborts if **offset != '\0'. The src string must be null-terminated. - * Returns (original offset - dst) + strlen(src); if >= n, the string was truncated. - */ -{ - const char *s = src; - char *d; - char *off_orig = ( offset != NULL ? *offset : dst ); - d = off_orig; - if (*d != '\0') - { - char msg[LINE_LEN + 24] = {'\0'}; - char *msg_n = msg; - append (msg, &msg_n, "\nNull character expected at offset specified for string ", sizeof (msg)); - append (msg, &msg_n, src, sizeof (msg)); - error (msg); - } - n = n - 1 - (off_orig - dst); /* number of available slots (leaving room for \0) */ - while (n > 0 && *s != '\0') - { - *d = *s; /* copy non-null character */ - d++; s++; n--; - } - *d = '\0'; /* null-terminate */ - if (offset != NULL) - *offset = d; /* update *offset (if possible) */ - while (*s != '\0') /* traverse rest of src */ - s++; - return (off_orig - dst) + (s - src); /* length of the untruncated string */ -} diff --git a/Build/source/texk/musixtnt/musixtnt-src/utils.h b/Build/source/texk/musixtnt/musixtnt-src/utils.h deleted file mode 100644 index 34fc3a83f82..00000000000 --- a/Build/source/texk/musixtnt/musixtnt-src/utils.h +++ /dev/null @@ -1,66 +0,0 @@ - -/* - utils.h -- header file for msxlint.c - - Copyright (c) 2005-16 R. D. Tennent - School of Computing, Queen's University, rdt@cs.queensu.ca - -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 of the License, 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, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -#ifdef HAVE_CONFIG_H /* for TeXLive */ -#include <config.h> -#endif - -# define PRIVATE static -# include <stdlib.h> -# include <string.h> -# include <stdio.h> -# include <ctype.h> - -# ifdef KPATHSEA -# include <kpathsea/getopt.h> -# else -# include <getopt.h> -# endif -# include <time.h> - -# define LINE_LEN 1024 - -# ifdef HAVE_STDBOOL_H -# include <stdbool.h> -# else -# ifndef HAVE__BOOL -# define _Bool signed char -# endif -# define bool _Bool -# define true 1 -# define false 0 -# endif - - -extern size_t append (char *dst, char **offset, const char *src, size_t n); -/* Copies src to *offset and updates *offset accordingly (if possible). - * Assumes *offset is dst if offset == NULL. - * The src string must be null-terminated. - * Execution aborts unless **offset == '\0'. - * Returns (original offset - dst) + strlen(src); if >= n, the string was truncated. - */ - -extern bool prefix (const char *cs, const char *ct); /* is string cs[] a prefix of ct[]? */ -extern bool suffix (const char *cs, const char *ct); /* is string cs[] a suffix of ct[]? */ - -extern void error (const char msg[]); /* abort with stderr message msg */ -extern void warning (const char msg[]); /* output warning message msg to stderr */ |