From: Jan Nieuwenhuizen Date: Sat, 1 Sep 2001 08:27:19 +0000 (+0200) Subject: patch::: 1.5.8.jcn1 X-Git-Tag: release/1.5.9~1 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=59fa5811ada76ef5b17e1666457e0b63766b598f;p=lilypond.git patch::: 1.5.8.jcn1 1.5.8.jcn1 ========== * Add mktextfm wrapper for windows (thanks Mats). 1.5.8 ===== --- diff --git a/CHANGES b/CHANGES index 7ce58318f5..3110684ed7 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,11 @@ +1.5.8.jcn1 +========== + +* Add mktextfm wrapper for windows (thanks Mats). + +1.5.8 +===== + 1.5.7.hwn1 ========== diff --git a/Documentation/topdocs/AUTHORS.texi b/Documentation/topdocs/AUTHORS.texi index bd444931a4..ae8064175e 100644 --- a/Documentation/topdocs/AUTHORS.texi +++ b/Documentation/topdocs/AUTHORS.texi @@ -36,7 +36,7 @@ list is alphabetically ordered. @item @email{nj104@@cus.cam.ac.uk, Neil Jerram}. parts of Documentation/Vocab* @item @email{heikki.junes@@hut.fi, Heikki Junes}. - Finnish note names + Finnish note names, updates to Emacs-mode @item Donald Ervin Knuth, @uref{http://www-cs-staff.stanford.edu/~knuth/} mf/ital-*.mf (these were taken from the CM fonts) @item @email{m.krause@@tu-harburg.de, Michael Krause}, diff --git a/Documentation/windows/GNUmakefile b/Documentation/windows/GNUmakefile index 6ad23e453c..5806e4d922 100644 --- a/Documentation/windows/GNUmakefile +++ b/Documentation/windows/GNUmakefile @@ -37,7 +37,7 @@ PYTHON_WRAPPERS=\ OUT_PYTHON_WRAPPERS=$(PYTHON_WRAPPERS:%=$(outdir)/%) -TEX_WRAPPERS=dvips latex tex yap +TEX_WRAPPERS=dvips latex mktextfm tex yap OUT_TEX_WRAPPERS=$(TEX_WRAPPERS:%=$(outdir)/%) # profiles @@ -55,6 +55,8 @@ $(outdir)/%: python-wrapper.sh cat $< | sed $(sed-atvariables) -e "s!@name@!$(*F)!g" > $@ chmod 755 $@ +ATVARIABLES += OPTIONS + # tex wrappers #$(outdir)/%: %-wrapper.sh # cat $< | sed $(sed-atvariables) -e "s!@name@!$(*F)!g" > $@ @@ -68,6 +70,11 @@ $(outdir)/dvips: tex-wrapper.sh cat $< | sed $(sed-atvariables) -e "s!@name@!dvips!g" > $@ chmod 755 $@ +MKTEXFTM_OPTIONS=--dest-dir \"$$(cygpath -w \"\"/usr/lilypond/share/lilypond/tfm\"\")\" +$(outdir)/mktextfm: tex-wrapper.sh + cat $< | sed -e 's!@OPTIONS@!$(MKTEXFTM_OPTIONS)!' $(sed-atvariables) -e "s!@name@!maketfm!g" > $@ + chmod 755 $@ + $(outdir)/tex: tex-wrapper.sh cat $< | sed $(sed-atvariables) -e "s!@name@!tex!g" > $@ chmod 755 $@ diff --git a/Documentation/windows/tex-wrapper.sh b/Documentation/windows/tex-wrapper.sh index 5fc16a42ee..64fed9a157 100644 --- a/Documentation/windows/tex-wrapper.sh +++ b/Documentation/windows/tex-wrapper.sh @@ -7,5 +7,5 @@ TFMFONTS="$WINDOWS_TFMFONTS" export MFINPUTS TEXINPUTS TFMFONTS -@name@.exe $* +@name@.exe @OPTIONS@ $* diff --git a/VERSION b/VERSION index fcf5101fb3..95f1602188 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=5 PATCH_LEVEL=8 -MY_PATCH_LEVEL= +MY_PATCH_LEVEL=jcn1 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/lilypond-font-lock.el b/lilypond-font-lock.el index 04bfce5864..1646ad001b 100644 --- a/lilypond-font-lock.el +++ b/lilypond-font-lock.el @@ -2,12 +2,15 @@ ;; Copyright (C) 1992,1993,1994 Tim Peters +;; Author: 2001: Heikki Junes +;; * Emacs-mode: new keywords, reserved words, notenames and brackets are +;; font-lock-keywords; implementation encourages spacing/indenting. ;; Author: 1997: Han-Wen Nienhuys ;; Author: 1995-1996 Barry A. Warsaw ;; 1992-1994 Tim Peters ;; Created: Feb 1992 ;; Version: 0.0 -;; Last Modified: 12SEP97 +;; Last Modified: 1SEP2001 ;; Keywords: lilypond languages music notation ;; This software is provided as-is, without express or implied @@ -19,35 +22,91 @@ ;; This started out as a cannabalised version of python-mode.el, by hwn ;; For changes see the LilyPond ChangeLog ;; + ;; TODO: ;; - should handle block comments too. ;; - handle lexer modes (\header, \melodic, \lyric) etc. ;; - indentation -;; - notenames? -;; - fontlock: \melodic \melodic (defconst LilyPond-font-lock-keywords - (let* ((keywords '( - -"apply" "arpeggio" "autochange" "spanrequest" "commandspanrequest" -"simultaneous" "sequential" "accepts" "alternative" "bar" "breathe" -"char" "chordmodifiers" "chords" "clef" "cm" "consists" "consistsend" -"context" "denies" "duration" "dynamicscript" "elementdescriptions" -"font" "grace" "header" "in" "lyrics" "key" "mark" "musicalpitch" -"time" "times" "midi" "mm" "name" "notenames" "notes" "outputproperty" -"override" "set" "revert" "partial" "paper" "penalty" "property" "pt" -"relative" "remove" "repeat" "addlyrics" "partcombine" "score" -"script" "stylesheet" "skip" "textscript" "tempo" "translator" -"transpose" "type" "unset" + (let* ((keywords '( ; need special order due to over[lapping] of words + +"accepts" "addlyrics" "alternative" "apply" "arpeggio" "autoBeamOff" +"autoBeamOn" "autochange" "bar" "BarNumberingStaffContext" "break" +"breathe" "breve" "cadenzaOn" "cadenzaOff" "char" "chord" "chordmodifiers" +"ChordNamesContext" "chordstest" "chords" "clef" "cm" "commandspanrequest" +"consistsend" "consists" "context" "default" "denies" "different" +"dotsBoth" "dotsDown" "dotsUp" "duration" "dynamicscript" "dynamicUp" +"dynamicDown" "dynamicBoth" "EasyNotation" "elementdescriptions" +"emptyText" "extreme" "ex" "fatText" "fermata" "fff" "ff" "f" "font" "foo" +"glissando" "gliss" "grace" "grstaff" "hairyChord" "HaraKiriStaffContext" +"header" "hideStaffSwitch" "include" "in" "key" "linebreak" "longa" +"lyrics" "LyricsContext" "LyricsVoiceContext" "major" "mark" "melismaEnd" +"melisma" "midi" "minor" "mm" "musicalpitch" "m" "name" "newpage" +"noBreak" "noisebeat" "noise" "normalkey" "normalsize" "notenames" "notes" +"n" "onestaff" "oneVoice" "one" "OrchestralScoreContext" "outputproperty" +"override" "paperTwentysix" "paper" "partcombine" "partial" "penalty" +"PianoStaffContext" "pp" "property" "pt" "p" "relative" "remove" "repeat" +"restsII" "rests" "revert" "rhythm" "right" "scales" "scale" "scheme" +"score" "ScoreContext" "scpaper" "scriptBoth" "scriptDown" "scriptUp" +"script" "scscore" "sd" "sequential" "settings" "set" "sfz" "shitfOnnn" +"shitfOnn" "shitfOn" "shitfOff" "showStaffSwitch" "simultaneous" "skip" +"slurBoth" "slurDown" "slurUp" "slurDotted" "slurSolid" "small" +"spanrequest" "specialKey" "staccato" "StaffContext" "staffspace" +"stemBoth" "stemDown" "stemUp" "stpaper" "stscore" "stylesheet" "su" +"tempo" "tenuto" "textII" "textI" "textscript" "thenotes" "ThreadContext" +"threevoice" "tieBoth" "tieDown" "tieDotted" "tieSolid" "tieUp" "times" +"time" "tiny" "touch" "translator" "transpose" "tupletBoth" "tupletDown" +"tupletUp" "twovoicesteminvert" "twovoice" "two" "turnOff" "type" "t" +"unset" "version" "voiceB" "VoiceContext" "voiceC" "voiceD" "voiceE" +"voiceOne" "voiceTwo" "voiceThree" "voiceFour" "zagers" "zager" "zoger" + + )) + + (reservedwords '( + +"bass" "treble" "PianoStaff" + )) - (kwregex (mapconcat (lambda (x) (concat "\\\\" x)) keywords "\\|"))) + + (kwregex (mapconcat (lambda (x) (concat "\\\\" x)) keywords "\\|")) + (rwregex (mapconcat (lambda (x) (concat "" x)) reservedwords "\\|")) +) (list - (concat ".\\(" kwregex "\\)[^a-zA-Z]") - (concat "^\\(" kwregex "\\)[^a-zA-Z]") - '(".\\(\\\\[a-zA-Z][a-zA-Z]*\\)" 1 font-lock-variable-name-face) - '("^[\t ]*\\([a-zA-Z][_a-zA-Z]*\\) *=" 1 font-lock-variable-name-face) - )) +;; Fonts in use (from GNU Emacs Lisp Reference Manual, elisp.ps): +;; font-lock- comment / string / keyword / builtin / function-name / +;; variable-name / type / constant / warning -face + +;; Using extra spaces was both easier to parse and looks better! +;; highlight note grouping brackets; space around these { [ < brackets > ] } +;; make the text look {less[]erronous} + '("\\([<{[]\\)[ \t]" 1 font-lock-warning-face) + '("\\([\]}>]\\)[ \t]" 1 font-lock-warning-face) + '("^\\([<{[]\\)[ \t]" 1 font-lock-warning-face) + '("^\\([\]}>]\\)[ \t]" 1 font-lock-warning-face) + '("\\([<{[]\\)$" 1 font-lock-warning-face) + '("\\([\]}>]\\)$" 1 font-lock-warning-face) + +;; highlight keywords; space after[ ]these commands /increases/readability + (concat "\\([_^]?\\(" kwregex "\\)\\)[ \t(]") + (concat "\\([_^]?\\(" kwregex "\\)\\)$") + '("\\([_^]?\\\\[a-zA-Z][a-zA-Z]*\\)" 1 font-lock-constant-face) + '("\\([a-zA-Z][_a-zA-Z]*\\)[ \t]*=[ \t]*" 1 font-lock-variable-name-face) + '("[ \t]*=[ \t]*\\([a-zA-Z][_a-zA-Z]*\\)[ \t(]" 1 font-lock-variable-name-face) + '("[ \t]*=[ \t]*\\([a-zA-Z][_a-zA-Z]*\\)$" 1 font-lock-variable-name-face) + +;; other reserved words + (cons (concat "\\(" rwregex "\\) ") 'font-lock-variable-name-face) + (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\\)\\(b\\|bb\\|d\\|dd\\|s\\|ss\\)?\\)\\|\\([a-hsr]\\(f\\|ff\\|s\\|ss\\|flat\\|flatflat\\|sharp\\|sharpsharp\\|is[s]?\\|is[s]?is[s]?\\|es[s]?\\|es[s]?es[s]?\\)?\\)\\|\\(as\\(as\\|es\\)?\\)\\|\\(es\\(ses\\)?\\)\\|\\(bb\\)\\)[,']*\\(64\\|32\\|16\\|8\\|4\\|2\\|1\\)?[.]*\\)" 1 font-lock-type-face) + + '("\\([(~)]\\)" 1 font-lock-builtin-face) + + ) + ) "Additional expressions to highlight in LilyPond mode.") ;; define a mode-specific abbrev table for those who use such things