From ba6552aa8b943d3bb69c4a848640880d42183aec Mon Sep 17 00:00:00 2001 From: hanwen Date: Fri, 12 Apr 2002 09:45:39 +0000 Subject: [PATCH] heikki pats. --- ChangeLog | 11 +++++++++ Documentation/regression-test.tely | 2 +- Documentation/topdocs/INSTALL.texi | 14 +++++++++++- VERSION | 2 +- input/bugs/hjbugs.ly | 36 ++++++++++++++++++++++++++++++ lilypond-font-lock.el | 34 ++++++++++++++++------------ mf/feta-nummer-code.mf | 4 ++++ scripts/ly2dvi.py | 3 +++ 8 files changed, 89 insertions(+), 17 deletions(-) create mode 100644 input/bugs/hjbugs.ly diff --git a/ChangeLog b/ChangeLog index de0b82e50f..7e15defe40 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2002-04-12 Heikki Junes + + * lilypond-font-lock.el: Handle slurs \( and \), numbers, + multi-measure rests like "R1 *4" and scheme (typically has '#' + in the beginning). Small fixes. Add few reserved words. + 2002-04-12 Jan Nieuwenhuizen * Documentation/topdocs/INSTALL.texi: Updates for MacOS X and @@ -12,6 +18,11 @@ windows viewing commands, remove silly comment about Yap. 2002-04-10 Mats Bengtsson + + * Documentation/topdocs/INSTALL.texi: Describe how to learn + configure to find kpathsea on for example Slackware 8.0. + + * scripts/ly2dvi.py (non_path_environment): Set $TEXMF correctly. * scm/grob-description.scm (MultiMeasureRest): number-threshold=1 by default: avoid "1" over single bar rests. diff --git a/Documentation/regression-test.tely b/Documentation/regression-test.tely index ce34b012e7..dfb26c99f1 100644 --- a/Documentation/regression-test.tely +++ b/Documentation/regression-test.tely @@ -362,7 +362,7 @@ Grace note do weird things with timing. Fragile. @lilypondfile[printfilename]{between-systems.ly} -@lilypondfile{molecule-hacking.ly} +@lilypondfile[printfilename]{molecule-hacking.ly} @bye diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi index 26ff4234d6..c050addd46 100644 --- a/Documentation/topdocs/INSTALL.texi +++ b/Documentation/topdocs/INSTALL.texi @@ -158,7 +158,9 @@ with the @TeX{} distribution. @item kpathsea, a library for searching (@TeX{}) files. @code{kpathsea} is usually included with your installation of @TeX{}. You may need to install -a tetex-devel or tetex-dev package too. +a tetex-devel or tetex-dev package too. If kpathsea is not installed in +a directory where the compiler normaly looks, read the hints for +Slackware below. In the very unlikely case that kpathsea is not available for your platform (ie, you're not running GNU/Linux, Windows, or any recent @@ -375,6 +377,16 @@ Problems have been reported with Slackware 7.0; apparently, it ships with a faulty compiler. Do not compile LilyPond with -O2 on this platform. +At least on Slackware 8.0, you have to manually specify the paths to the +Kpathsea library, using +@itemize +@item @code{rm config.cache} +@item @code{export LDFLAGS=-L/usr/share/texmf/lib} +@item @code{export CPPFLAGS=-I/usr/share/texmf/include} +@item @code{./configure} +@end itemize + + @subsection Mandrake Some binaries are available at rpmfind.net. Refer to diff --git a/VERSION b/VERSION index a94c8d5d61..038f0d61bb 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=5 PATCH_LEVEL=51 -MY_PATCH_LEVEL=uu1 +MY_PATCH_LEVEL=hjj4 # use the above to send patches: MY_PATCH_LEVEL is always empty for a diff --git a/input/bugs/hjbugs.ly b/input/bugs/hjbugs.ly new file mode 100644 index 0000000000..6f2e93c889 --- /dev/null +++ b/input/bugs/hjbugs.ly @@ -0,0 +1,36 @@ +%{ + +2) Grace-output broken: \grace a8 ~ a2 \grace a8 ~ a2 + +Expected : a8( )a2 a8( )a2 +BUG-here : a8( )a2( a8 )a2 + +3) Vertical aligns of lines, i.e., line height incorrect: + +c^#'(lines (finger "1" "")) % upper 1, lower 1 +c^#'(lines (finger "1" "1")) % upper 1, lower 1 +\stemDown +c_#'(lines (finger "" "1")) % upper 1/2 ?!?, lower 1 <- BUG IN UPPER LINE +c_#'(lines (finger "1" "1")) % upper 1, lower 1 + +%} + + +\score { + \notes \transpose c'' + \context Voice { + ~~~ % paper & midi broken + ~~~ % here both are ok. + c^#'(lines (finger "1" "")) + c^#'(lines (finger "1" "1")) + \stemDown + c_#'(lines (finger "" "1")) % wrong line height of an empty line + c_#'(lines (finger "1" "1")) + + \grace a8 ~ a2 \grace a8 ~ a2 a8 + % produces: a8( )a2( a8 )a2 and midi: a1 (a2 \grace a a -> a2) + % should be: a8( )a2 a8( )a2 should be: a2 a2 + } + \midi{} + \paper{} + } diff --git a/lilypond-font-lock.el b/lilypond-font-lock.el index 1cae4a47bc..d67bc28a0e 100644 --- a/lilypond-font-lock.el +++ b/lilypond-font-lock.el @@ -9,8 +9,8 @@ ;; Author: 1995-1996 Barry A. Warsaw ;; 1992-1994 Tim Peters ;; Created: Feb 1992 -;; Version: 1.5.50 -;; Last Modified: 6APR2002 +;; Version: 1.5.51 +;; Last Modified: 12APR2002 ;; Keywords: lilypond languages music notation ;; This software is provided as-is, without express or implied @@ -72,7 +72,7 @@ (identifiers '( ;; in principle, have one or more uppercase letters -"\\(\\(BarNumbering\\|Choir\\|Grand\\|HaraKiri\\|OrchestralPart\\|Piano\\|Rhythmic\\)?Staff\\|\\(Cue\\|Lyrics\\)?Voice\\|\\(Orchestral\\)?Score\\|ChordNames\\|Grace\\|Lyrics\\|Staff\\(Group\\)?\\|Thread\\)Context" ; *Context +"\\(\\(BarNumbering\\|\\(Inner\\)?Choir\\|Grand\\|HaraKiri\\|OrchestralPart\\|Piano\\|Rhythmic\\)?Staff\\|\\(Cue\\|Lyrics\\)?Voice\\|\\(Orchestral\\)?Score\\|ChordNames\\|FiguredBass\\|Grace\\|Lyrics\\|NoteNames\\|\\(Inner\\)?Staff\\(Group\\|Container\\)?\\|Thread\\)Context" ; *Context "\\(script\\|dots\\|dynamic\\|slur\\|stem\\|sustain\\|sostenuto\\|unaCorda\\|treCorde\\|tie\\|tuplet\\)\\(Both\\|Down\\|Up\\)" ; *(Both/Down/Up) "\\(slur\\|tie\\)\\(Dotted\\|Solid\\)" ; *(Dotted/Solid) "\\(autoBeam\\|cadenza\\|impro\\|turn\\)\\(Off\\|On\\)" ; *(On/Off) @@ -98,8 +98,8 @@ ;; Other words which look nicer when colored "Accidentals" "autoBeamSettings" "BarLine" "Beam" -"ChordName\\([s]?\\|s.[a-zA-Z]*\\)" "DynamicText" -"FiguredBass" "Hairpin" "\\(Grand\\|Piano\\)Staff" +"ChordName\\([s]?\\|s.[a-zA-Z]*\\)" "Dots" "DynamicText" +"FiguredBass" "Hairpin" "\\(\\(Inner\\)?Choir\\|Grand\\|Piano\\|Tab\\)Staff" "Slur" "Stem" "SpacingSpanner" "System\\(StartDelimiter\\)?" "\\(Grace\\|Lyrics\\|Note\\(Head\\|Names\\)\\|Score\\|\\(Rhythmic\\)?Staff\\(Symbol\\)?\\|Thread\\|Voice\\)\\(.[a-zA-Z]*\\)?" ; combine below, if possible "\\(Grace\\|Lyrics\\|Note\\(Head\\|Names\\)\\|Score\\|\\(Rhythmic\\)?Staff\\(Symbol\\)?\\|Thread\\|Voice\\)[ \t]*\\(.[ \t]*[a-zA-Z]*\\)?" @@ -118,22 +118,22 @@ ;; variable-name / type / constant / warning -face '("\\([_^-]?\\\\[a-zA-Z][a-zA-Z]*\\)" 1 font-lock-constant-face) - '("\\(\\(#'\\)?[a-zA-Z][_a-zA-Z.\-]*[ \t]*=[ \t]*#\\(#f\\|#t\\)\\)" 1 font-lock-variable-name-face) - '("\\([a-zA-Z][_a-zA-Z.\-]*\\)[ \t]*=[ \t]*" 1 font-lock-variable-name-face) - '("[ \t]*=[ \t]*\\([a-zA-Z][_a-zA-Z]*\\)" 1 font-lock-variable-name-face) + '("\\([_a-zA-Z.0-9-]+\\)[ \t]*=[ \t]*" 1 font-lock-variable-name-face) + '("[ \t]*=[ \t]*\\([_a-zA-Z.0-9-]+\\)" 1 font-lock-variable-name-face) ;; other reserved words (cons (concat "\\(" rwregex "\\)") 'font-lock-variable-name-face) ;; highlight note names; separate notes from (other than ')'-type) brackets - '("[ <\{[~()\t]\\(\\(\\(\\(do\\|re\\|mi\\|fa\\|sol\\|la\\|si\\)\\(bb?\\|dd?\\|ss?\\)?\\)\\|\\([a-hsrR]\\(flat\\(flat\\)?\\|sharp\\(sharp\\)?\\|ff?\\|ss?\\|is\\(siss\\|s\\|is\\)?\\|es\\(sess\\|s\\|es\\)?\\)?\\)\\|\\(as\\(as\\|es\\)?\\)\\|\\(es\\(es\\)?\\)\\|\\(bb\\)\\)[,']*[?!]?\\(128\\|64\\|32\\|16\\|8\\|4\\|2\\|1\\)?[.]*\\)" 1 font-lock-type-face) + '("\\([sR]\\(128\\|64\\|32\\|16\\|8\\|4\\|2\\|1\\)?[ ]*[*][0-9]+\\)"1 font-lock-type-face) + '("[ <\{[~()\t\\\|]\\(\\(\\(\\(do\\|re\\|mi\\|fa\\|sol\\|la\\|si\\)\\(bb?\\|dd?\\|ss?\\)?\\)\\|\\([a-hsrR]\\(flat\\(flat\\)?\\|sharp\\(sharp\\)?\\|ff?\\|ss?\\|is\\(siss\\|s\\|is\\)?\\|es\\(sess\\|s\\|es\\)?\\)?\\)\\|\\(as\\(as\\|es\\)?\\)\\|\\(es\\(es\\)?\\)\\|\\(bb\\)\\)[,']*[?!]?\\(128\\|64\\|32\\|16\\|8\\|4\\|2\\|1\\)?[.]*\\)" 1 font-lock-type-face) ;; highlight identifiers - (cons (concat "\\([_^-]?\\(" iregex "\\)\\)+\\($\\|[] \t(~{}>\\\\]\\)") '(0 font-lock-function-name-face t)) + (cons (concat "\\([_^-]?\\(" iregex "\\)\\)+\\($\\|[] \t(~{}>\\\\_-()^]\\)") '(0 font-lock-function-name-face t)) ;; highlight keywords - (cons (concat "\\([_^-]?\\(" kwregex "\\)\\)+\\($\\|[] \t(~{}>\\\\]\\)") '(0 font-lock-keyword-face t)) + (cons (concat "\\([_^-]?\\(" kwregex "\\)\\)+\\($\\|[] \t(~{}>\\\\_-()^]\\)") '(0 font-lock-keyword-face t)) ;; highlight bracketing constructs '("\\([][}{]\\)" 0 font-lock-warning-face t) @@ -144,10 +144,16 @@ '("[_^-]\\s-*[-^]\\s-*\\(>\\)" 1 font-lock-warning-face t) ;; but leave a b c-> (accent) alone, accounting for whitespace '("\\([^\\t\\n _^-]\\|^\\)\\s-*\\(>\\)" 2 font-lock-warning-face t) - ;; ties ~, slurs (), hairpins \<, \>, end-of-hairpin \!, - '("\\([(~)]\\|\\\\<\\|\\\\!\\|\\\\>\\)" 0 font-lock-builtin-face t) + ;; ties ~, slurs \( () \), hairpins \<, \>, end-of-hairpin \!, + '("\\(\\\\[()]\\|[(~)]\\)" 0 font-lock-builtin-face t) -;; highlight comments (again) +;; highlight scheme; Urgh. should count '(':s, then continue up to last ')' + '("[_^-]?#\\(#[ft]\\|['`](lines[^)]*))\\|['`][a-zA-Z-:]+\\|['`]?([^)]*)\\|-?[0-9.]+\\|\"[^\"]*\"\\)" 0 font-lock-string-face t) + +;; (re)highlight strings + '("[_^-]?\"[^\"]*\"" 0 font-lock-string-face t) + +;; (re)highlight comments '("\\(%.*\\)" 0 font-lock-comment-face t) ) diff --git a/mf/feta-nummer-code.mf b/mf/feta-nummer-code.mf index 5bd364002f..167c2e48b7 100644 --- a/mf/feta-nummer-code.mf +++ b/mf/feta-nummer-code.mf @@ -6,6 +6,10 @@ % % (c) 1997--2002 Jan Nieuwenhuizen +% +% These numbers were taken from a part that that the EJE violas played +% 1997 -- Probably Mendelssohn's ouverture Heimkehr aus der Fremde. +% % % TODO all the invocation of flare_path are weird -- diff --git a/scripts/ly2dvi.py b/scripts/ly2dvi.py index 75d80b0657..2f36d98200 100644 --- a/scripts/ly2dvi.py +++ b/scripts/ly2dvi.py @@ -371,6 +371,9 @@ non_path_environment = { } def setup_environment (): + # $TEXMF is special, previous value is already taken care of + del os.environ['TEXMF'] + for key in environment.keys (): val = environment[key] if os.environ.has_key (key): -- 2.39.5