Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package abcm2ps for openSUSE:Factory checked in at 2022-02-01 16:59:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/abcm2ps (Old) and /work/SRC/openSUSE:Factory/.abcm2ps.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "abcm2ps" Tue Feb 1 16:59:49 2022 rev:15 rq:950445 version:8.14.13 Changes: -------- --- /work/SRC/openSUSE:Factory/abcm2ps/abcm2ps.changes 2021-07-16 00:02:23.516705356 +0200 +++ /work/SRC/openSUSE:Factory/.abcm2ps.new.1898/abcm2ps.changes 2022-02-01 16:59:58.704882002 +0100 @@ -1,0 +2,14 @@ +Tue Feb 1 13:32:43 UTC 2022 - Michael Vetter <mvet...@suse.com> + +- Update to 8.14.13: + * fix: don't start/stop slurs above/below decorations + * fix: crash when too many notes in a grace note sequence (#102) + * fix: crash when too big value in M: (#103) + * fix: loop or crash when too big width of y (space) (#104) + * fix: bad font definition with SVG output when spaces in font name + * fix: bad check of note length again (#106) + * fix: handle %%staffscale at the global level (#108) + * fix: bad vertical offset of lyrics when mysic line starts with + empty staves + +------------------------------------------------------------------- Old: ---- abcm2ps-8.14.12.tar.gz New: ---- abcm2ps-8.14.13.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ abcm2ps.spec ++++++ --- /var/tmp/diff_new_pack.YKk5mJ/_old 2022-02-01 16:59:59.280877951 +0100 +++ /var/tmp/diff_new_pack.YKk5mJ/_new 2022-02-01 16:59:59.284877923 +0100 @@ -1,7 +1,7 @@ # # spec file for package abcm2ps # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # Copyright (c) 2007 by Edgar Aichinger # # All modifications and additions to the file contributed by third parties @@ -18,7 +18,7 @@ Name: abcm2ps -Version: 8.14.12 +Version: 8.14.13 Release: 0 Summary: A program to typeset abc tunes into Postscript License: LGPL-3.0-or-later ++++++ abcm2ps-8.14.12.tar.gz -> abcm2ps-8.14.13.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abcm2ps-8.14.12/abcm2ps.h new/abcm2ps-8.14.13/abcm2ps.h --- old/abcm2ps-8.14.12/abcm2ps.h 2021-07-14 16:15:45.000000000 +0200 +++ new/abcm2ps-8.14.13/abcm2ps.h 2022-01-29 10:43:54.000000000 +0100 @@ -526,6 +526,7 @@ float breaklimit, maxshrink, lineskipfac, parskipfac, stemheight; float gutter, indent, infospace, slurheight, tieheight, notespacingfactor, scale; float staffsep, sysstaffsep, maxstaffsep, maxsysstaffsep, stretchlast; + float staffscale; // (treated in parse.c) int abc2pscompat, alignbars, aligncomposer, autoclef; int barsperstaff, breakoneoln, bstemdown, cancelkey, capo; int combinevoices, contbarnb, continueall, custos; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abcm2ps-8.14.12/abcparse.c new/abcm2ps-8.14.13/abcparse.c --- old/abcm2ps-8.14.12/abcparse.c 2021-07-14 16:15:45.000000000 +0200 +++ new/abcm2ps-8.14.13/abcparse.c 2022-01-29 10:43:54.000000000 +0100 @@ -1006,6 +1006,8 @@ wmeasure = m1 * BASE_LEN / m2; s->u.meter.expdur = 1; } + if (wmeasure > BASE_LEN * 16 || wmeasure < 0) + return "Too big meter value"; s->u.meter.wmeasure = wmeasure; s->u.meter.nmeter = nm; @@ -1804,16 +1806,9 @@ len = dur_u; if (isdigit((unsigned char) *p)) { len *= strtol(p, &q, 10); - if (len <= 0 || len > 10000) { - syntax("Bad length", p); - len = dur_u; - } p = q; } - if (*p != '/') { - *p_len = len; - return p; - } + if (*p == '/') { if (isdigit((unsigned char) p[1])) { fac = strtol(p + 1, &q, 10); p = q; @@ -1833,6 +1828,11 @@ syntax("Bad length divisor", p - 1); len = dur_u; } + } + if (len <= 0 || len > 10000) { + syntax("Bad length", p); + len = dur_u; + } *p_len = len; return p; } @@ -2360,11 +2360,16 @@ p++; if (isdigit((unsigned char) *p) /* number of points */ || *p == '-') { /* accept negative offset... */ - s->u.note.notes[0].shhd = strtol(p, &q, 10); + len = strtol(p, &q, 10); + if (len < -100 || len > 100) { + syntax("Bad width of y (space)", p); + len = 10; + } p = q; } else { - s->u.note.notes[0].shhd = 10; // default + len = 10; // default } + s->u.note.notes[0].shhd = len; goto add_deco; case 'x': /* invisible rest */ s->flags |= ABC_F_INVIS; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abcm2ps-8.14.12/configure new/abcm2ps-8.14.13/configure --- old/abcm2ps-8.14.12/configure 2021-07-14 16:15:45.000000000 +0200 +++ new/abcm2ps-8.14.13/configure 2022-01-29 10:43:54.000000000 +0100 @@ -1,8 +1,8 @@ #! /bin/sh # (automatic update) -VERSION=8.14.12 -VDATE=2021-07-14 +VERSION=8.14.13 +VDATE=2022-01-29 : "${CC:=gcc}" : "${PKG_CONFIG:=pkg-config}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abcm2ps-8.14.12/draw.c new/abcm2ps-8.14.13/draw.c --- old/abcm2ps-8.14.12/draw.c 2021-07-14 16:15:45.000000000 +0200 +++ new/abcm2ps-8.14.13/draw.c 2022-01-29 10:43:54.000000000 +0100 @@ -2097,12 +2097,11 @@ } else { y1 = k1->ys - 6; } -// don't clash with decorations -// } else { -// y1 = k1->ys + 3; + } else { + y1 = k1->ys + 3; } -// } else { -// y1 = k1->y + 8; + } else { + y1 = k1->y + 8; } } else { if (k1->stem < 0) { @@ -2117,11 +2116,11 @@ } else { y1 = k1->ys + 6; } -// } else { -// y1 = k1->ys - 3; + } else { + y1 = k1->ys - 3; } -// } else { -// y1 = k1->y - 8; + } else { + y1 = k1->y - 8; } } } @@ -2139,10 +2138,10 @@ && (!(k2->sflags & S_IN_TUPLET))) // || k2->ys > y2 - 3)) y2 = k2->ys - 6; -// else -// y2 = k2->ys + 3; -// } else { -// y2 = k2->y + 8; + else + y2 = k2->ys + 3; + } else { + y2 = k2->y + 8; } } else { if (k2->stem < 0) { @@ -2152,10 +2151,10 @@ && (!(k2->sflags & S_IN_TUPLET))) // || k2->ys < y2 + 3)) y2 = k2->ys + 6; -// else -// y2 = k2->ys - 3; -// } else { -// y2 = k2->y - 8; + else + y2 = k2->ys - 3; + } else { + y2 = k2->y - 8; } } } @@ -4387,10 +4386,10 @@ staff_tb[staff].empty = 1; } y = 0; - if (staff > nstaff) { + if (staff > nstaff) staff--; /* one staff, empty */ -// } else { - } { + + { for (i = 0; i < YSTEP; i++) { v = staff_tb[staff].top[i]; if (y < v) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abcm2ps-8.14.12/music.c new/abcm2ps-8.14.13/music.c --- old/abcm2ps-8.14.12/music.c 2021-07-14 16:15:45.000000000 +0200 +++ new/abcm2ps-8.14.13/music.c 2022-01-29 10:43:54.000000000 +0100 @@ -2139,8 +2139,10 @@ s2 = s3; if (s2) s = s2; - while (s->x == 0 || s->x + s->shrink * 2 >= xmax) + while (s && (s->x == 0 || s->x + s->shrink * 2 >= xmax)) s = s->ts_prev; + if (!s) + break; cut_here: if (s->sflags & S_NL) { /* already set here - advance */ error(0, s, "Line split problem - " @@ -3202,9 +3204,10 @@ /* move the voice to a non empty staff */ staff = cursys->voice[voice].staff; - while (staff < nstaff && cursys->staff[staff].empty) + while (staff <= nstaff && cursys->staff[staff].empty) staff++; - p_voice->staff = staff; + if (staff <= nstaff) + p_voice->staff = staff; } /* add a clef at start of the main voices */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abcm2ps-8.14.12/parse.c new/abcm2ps-8.14.13/parse.c --- old/abcm2ps-8.14.12/parse.c 2021-07-14 16:15:45.000000000 +0200 +++ new/abcm2ps-8.14.13/parse.c 2022-01-29 10:43:54.000000000 +0100 @@ -2805,6 +2805,8 @@ p_voice->s_clef->u.clef.type = TREBLE; p_voice->s_clef->sflags &= ~S_CLEF_AUTO; } + if (cfmt.staffscale) + p_voice->staffscale = cfmt.staffscale; } /* switch to the 1st voice */ @@ -5698,8 +5700,7 @@ return s; } if (s->state != ABC_S_TUNE) { - for (voice = 0; voice < MAXVOICE; voice++) - voice_tb[voice].staffscale = scale; + cfmt.staffscale = scale; } else { curvoice->staffscale = scale; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/abcm2ps-8.14.12/svg.c new/abcm2ps-8.14.13/svg.c --- old/abcm2ps-8.14.12/svg.c 2021-07-14 16:15:45.000000000 +0200 +++ new/abcm2ps-8.14.13/svg.c 2022-01-29 10:43:54.000000000 +0100 @@ -1322,7 +1322,10 @@ if (imin > i) imin = i; } - fprintf(fout, "%.2fpx %.*s\"", gcur.font_s, imin, fn); + if (strchr(fn, ' ')) + fprintf(fout, "%.2fpx '%.*s'\"", gcur.font_s, imin, fn); + else + fprintf(fout, "%.2fpx %.*s\"", gcur.font_s, imin, fn); } static float strw(char *s)