]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.3.121 release/1.3.121
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sun, 7 Jan 2001 00:54:21 +0000 (01:54 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sun, 7 Jan 2001 00:54:21 +0000 (01:54 +0100)
============

* Bugfix Ly2dvi: reset LC_ALL and LC_LANG too.

* Commented out dubious undocumented $(PATHSEP) from lilypond-vars.make

* Replaced some instances of [$(outdir)/].. with $(pwd), these may
break --srcdir builds and texi2dvi.

* Several fixes for --srcdir build, allowing build from read only media.

* Moved make/toplevel.make.in to less unusual GNUmakefile.in

1.3.120.

55 files changed:
CHANGES
Documentation/topdocs/INSTALL.texi
Documentation/user/properties.itely
Documentation/user/refman.itely
INSTALL.txt
VERSION
configure
input/denneboom.ly
input/star-spangled-banner.ly
input/test/ancient-font.ly
input/test/between-systems.ly
input/test/drarn-chords.ly
input/test/font.ly
input/test/font16.ly
input/test/orchestscore.ly
input/test/pedal.ly
input/test/standchen-as5.ly
lily/clef-engraver.cc
lily/clef-item.cc
lily/lyric-extender.cc
lily/piano-pedal-engraver.cc
ly/book-fragment.ly
ly/book-init.ly
ly/center-fragment.ly
ly/center.ly
ly/declarations-as.ly
ly/declarations.ly
ly/engraver.ly
ly/fragment.ly
ly/init-as.ly
ly/paper-as5.ly
ly/paper-as9.ly
ly/paper11.ly
ly/paper13.ly
ly/paper16.ly
ly/paper20.ly
ly/paper23.ly
ly/paper26.ly
ly/spanners.ly
make/out/lilypond.lsm
make/out/lilypond.spec
make/toplevel.make.in [deleted file]
mf/feta-klef.mf
ps/lily.ps
scm/clef.scm
scm/grob-description.scm
scm/grob-property-description.scm
scm/interface-description.scm
scm/ps.scm
scm/tex.scm
scm/translator-description.scm
scm/translator-property-description.scm
scripts/convert-ly.py
stepmake/configure
stepmake/make/toplevel.make.in [deleted file]

diff --git a/CHANGES b/CHANGES
index d31ae1ef52d5b20f1f610d700cb9a3675e5da3e4..e155a1b719a8d7aa3213b62715e2096c1556d1a0 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,7 +1,3 @@
-1.3.120.jcn2
-============
-
-* Bugfix: changed beam thickness to .48 staff-space.
 
 1.3.120.jcn1
 ============
@@ -16,6 +12,22 @@ break --srcdir builds and texi2dvi.
 * Several fixes for --srcdir build, allowing build from read only media.
 
 * Moved make/toplevel.make.in to less unusual GNUmakefile.in
+1.3.120.uu1
+===========
+
+* Ancient font update (Juergen Reuter)
+
+* Syntax change: paper_xxxx -> paperXxxx
+
+* Some documentation updates.
+
+* Doc-string cleanups, and completization.
+
+* Changed Pedal string properties: unify stop/start/stopStart
+properties.  Changed pedal identifier syntax.
+
+* bugfix: do change clefs if full-size-change is *not* set.
 
 1.3.120
 =======
index aea898e5dbf5e9a9221de1e435d094643b9f227b..05dbd6213df4034b4b85313507904f3b67b16e1f 100644 (file)
@@ -60,7 +60,7 @@ Check out
 @uref{ftp://ftp.gnu.org/gnu/make/,ftp://ftp.gnu.org/gnu/make/}.
 
 @item Flex (version 2.5.4a or newer). 
-Check out @uref{ftp://ftp.gnu.org/gnu/flex/,ftp://ftp.gnu.org/gnu/flex/}.
+Check out @uref{ftp://ftp.gnu.org/pub/gnu/non-gnu/flex/,ftp://ftp.gnu.org/pub/gnu/non-gnu/flex/}.
 
 @item Bison (version 1.25 or newer).
 Check out @uref{ftp://ftp.gnu.org/gnu/bison/,ftp://ftp.gnu.org/gnu/bison/}.
index e00b8889c13dd392acf2c06b9dd4a8ac26f49ecd..1594b6eade45ab895a7379bd0d6a21e551997626 100644 (file)
@@ -1,7 +1,6 @@
 @node Properties, , , Reference Manual
 
-Properties are Scheme values, so they have a type.  The type of a
-property is listed in parentheses after the property name.
+Properties are Scheme values. Most of them are in the generated documentation, but some MIDI properties are not. Here is their documentation
 
 @macro propertytype{t}
  (\t\)
@@ -9,7 +8,6 @@ property is listed in parentheses after the property name.
 
 
 @table @samp
-
   @item @code{midiInstrument}@indexcode{midiInstrument} @propertytype{string}
     Sets the instrument for MIDI output.  If this property is not set
     then LilyPond will use the @code{instrument} property.  This must
@@ -17,119 +15,10 @@ property is listed in parentheses after the property name.
     appears in section @ref{midilist}.  If you use a string which
     is not listed, LilyPond will silently substitute piano.
 
-  @item @code{restStyle}@indexcode{restStyle} @propertytype{string}
-    Change the layout of rests shorter than quarter notes. 
-    Currently, the standard layout @code{""} and mensural notation
-    @code{"mensural"} are available. Mensural rests of duration
-    32 or shorter are not available.
-@lilypond[verbatim]
-r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128 
-\property Staff.restStyle = "mensural"
-r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128 
-@end lilypond
-
   @item @code{transposing}@indexcode{transposing} @propertytype{integer}
     Transpose the MIDI output.  Set this property to the number of
     half-steps to transpose by.
 
-
-
-@item @code{tupletSpannerDuration} @indexcode{tupletSpannerDuration}
-@propertytype{moment}
-
 @end table
 
-@subsubheading Staff properties
-
-@cindex properties!Staff
-
-@table @samp
-
-  @item @code{noVoltaBraces}@indexcode{noVoltaBraces} @propertytype{boolean}
-    Set to true to suppress the printing of brackets over alternate
-    endings specified by the command @code{\alternative}. [BROKEN]
-
-
-  @item @code{keyOctaviation}@indexcode{keyOctaviation} @propertytype{boolean}
-    If set to false, then keys are the same in all octaves.  If set
-    to true then the key signature for different octaves can be
-    different and is specified independently:
-
-    @example
-      \keysignature bes fis'
-    @end example
-
-    The default value is @code{#f}.  Can be set to @code{#t} with
-    @code{\specialkey} or reset with @code{\normalkey}. [BROKEN]
-
-  @item @code{timeSignatureStyle}@indexcode{timeSignatureStyle} @propertytype{symbol}
-    Changes the default two-digit layout for time signatures.  The
-    following values are recognized:
-
-    @table @samp
-      @item @code{C}@indexcode{C}  
-        4/4 and 2/2 are typeset as C and struck C, respectively.  All
-        other time signatures are written with two digits.
-
-      @item @code{old}@indexcode{old}  
-        2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are
-        typeset with old-style mensuration marks.  All other time
-        signatures are written with two digits.
-
-      @item @code{1xxx}@indexcode{1xxx}  
-        All time signatures are typeset with a single
-        digit, e.g. 3/2 is written as 3. (Any symbol starting
-       with the digit @code{1} will do.)
-
-      @item @indexcode{CM/N}@code{C}@var{M}@code{/}@var{N}, 
-      @indexcode{oldM/N}@code{old}@var{M}@code{/}@var{N} or
-      @code{old6/8alt}@indexcode{old6/8alt}  
-        Tells LilyPond to use a specific symbol as time signature, 
-       regardless of the actual time signature.
-    @end table
-
-    The different time signature characters are shown below with its
-    names:
-
-@lilypond[center,verbatim]
-
- \score {
-   \notes\relative c'' {
-     \property Voice.TextScript \set #'font-shape = #'upright
-     \property Voice.TextScript \set #'font-family = #'typewriter
-     \property Staff.TimeSignature \set #'style = #'C2/2
-     \time 2/2; a2^"C2/2" a2 
-     \property Staff.TimeSignature \set #'style = #'C4/4
-     \time 2/2; a2^"C4/4" a2 
-     \property Staff.TimeSignature \set #'style = #'old2/2
-     \time 2/2; a2^"old2/2" a2 
-     \property Staff.TimeSignature \set #'style = #'old3/2
-     \time 2/2; a2^"old3/2" a2 
-     \property Staff.TimeSignature \set #'style = #'old2/4
-     \time 2/2; a2^"old2/4" a2 
-     \property Staff.TimeSignature \set #'style = #'old4/4
-     \time 2/2; a2^"old4/4" a2 
-     \property Staff.TimeSignature \set #'style = #'old6/4
-     \time 2/2; a2^"old6/4" a2 
-     \property Staff.TimeSignature \set #'style = #'old9/4
-     \time 2/2; a2^"old9/4" a2 
-     \property Staff.TimeSignature \set #'style = #'old4/8
-     \time 2/2; a2^"old4/8" a2 
-     \property Staff.TimeSignature \set #'style = #'old6/8
-     \time 2/2; a2^"old6/8" a2 
-     \property Staff.TimeSignature \set #'style = #'old6/8alt
-     \time 2/2; a2^"old6/8alt" a2 
-     \property Staff.TimeSignature \set #'style = #'old9/8
-     \time 2/2; a2^"old9/8" a2 
-   }
-   \paper {
-     linewidth = 4.5 \in;
-   }
- }
-    
-@end lilypond
-
-
-@end table
 
index 60018dacba3b9abf9500193a4d700c35d066c6a5..63d75f23dc2190a02986bf8b3d55e6e0cae8b9a5 100644 (file)
@@ -33,9 +33,7 @@
 * lyricprint::                     lyricprint
 * Notation Contexts::              Notation Contexts
 * Properties::                     Changing formatting
-* Notation output definitions::    Notation output definitions
-* paper::                          paper
-* Paper variables::                papervars
+* Page layout::                    Layout
 * contextdefs::                    contextdefs
 * Sound output::                   Sound output
 * midilist::                       midilist
@@ -434,7 +432,7 @@ refer to an identifier, you preceed its name with a backslash:
 `@code{\}@var{name}'.  Identifier assignments must appear at top level
 in the @emph{Lilypond} file.  Semicolons are forbidden after assignments
 appearing at top level but they are obligatory after assignments
-appearing in the @code{\paper} block, see Section @ref{paper}.
+appearing in the @code{\paper} block, see Section @ref{Page layout}.
 
 @var{value} is any valid Scheme value or any of the input-types listed
 above.
@@ -475,12 +473,11 @@ copied.  For this reason, an identifier reference must always be the
 
 Music in @emph{Lilypond} is entered as a music expression.  Notes, rests,
 lyric syllables are music expressions (the atomic
-expressions)
+expressions),
 @cindex atomic music expressions
-, and you can combine
-music expressions to form new ones.  This example forms a compound
-expressions out of the quarter @code{c} note and a @code{d}
-note:
+and you can combine music expressions to form new ones.  This example
+forms a compound expressions out of the quarter @code{c} note and a
+@code{d} note:
 
 @example 
 \sequential @{ c4 d4 @} 
@@ -788,7 +785,6 @@ Commands are music expressions that have no duration.
 
 
 @example
-
   @code{\key}@keyindex{key} @var{pitch} @var{type} @code{;}
 @end example
 
@@ -806,13 +802,6 @@ mode names @code{\ionian}@keyindex{ionian},
 @code{\phrygian}@keyindex{phrygian}, and @code{\dorian}@keyindex{dorian}
 are also defined.
 
-@example
-  @code{\keysignature}@keyindex{keysignature} @var{pitchseq} @code{;}
-@end example
-
-Specify an arbitrary key signature.  The pitches from @var{pitch} will
-be printed in the key signature in the order that they appear on the
-list.
         
 @example
   \mark@keyindex{mark} @var{unsigned};
@@ -834,8 +823,9 @@ This is a short-cut for doing
   \property Score.whichBar = @var{bartype} 
 @end example
 
-You are encouraged to use @code{\repeat} for repetitions.  See 
-@ref{Repeats}, and the documentation of @code{whichBar}.
+You are encouraged to use @code{\repeat} for repetitions.  See
+@ref{Repeats}, and the documentation of @code{whichBar} in
+@ref{(lilypond-internals)LilyPond context properties}.
 
 
 @example
@@ -893,7 +883,6 @@ relocated, so this can also be used to shorten measures.
 
 
 @example
-
   \penalty@keyindex{penalty} @var{int} @code{;}
 @end example
 
@@ -948,7 +937,6 @@ Some more elaborate constructions:
 
 Beaming can be generated automatically; see section @ref{autobeam}.
 
-[OUTDATED, FIXME]
 
 To place tremolo marks between notes, use @code{\repeat} with tremolo
 style.
@@ -1833,31 +1821,33 @@ foo = -6
 
 @node autobeam, , ,  Reference Manual
 
-By default, LilyPond will generate beams automatically.  This feature
-can be disabled by setting the @code{Voice.noAutoBeaming}@indexcode{Voice.noAutoBeaming}
-property to 1.  It can be overridden for specific cases by
-specifying explicit beams.
+[FIXME: UPDATEME]
 
+By default, LilyPond will generate beams automatically.  This feature
+can be disabled by setting the
+@code{Voice.noAutoBeaming}@indexcode{Voice.noAutoBeaming} property to 1.
+It can be overridden for specific cases by specifying explicit beams.
 
 A large number of Voice properties are used to decide how to generate
-beams.  Their default values appear in @file{auto-beam-settings.ly}.
-In general, beams can begin anywhere, but their ending location is
-significant.  Beams can end on a beat, or at durations specified by
-the @code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} property.  To end beams every
-quarter note, for example, you could set
-@code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} equal to `@code{"1/4"}'.  To end beams
-at every three eighth notes you would set it to `@code{"3/8"}'.  The
-same syntax can be used to specify beam starting points using
+beams.  Their default values appear in @file{auto-beam-settings.ly}.  In
+general, beams can begin anywhere, but their ending location is
+significant.  Beams can end on a beat, or at durations specified by the
+@code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} property.  To end
+beams every quarter note, for example, you could set
+@code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} equal to
+`@code{"1/4"}'.  To end beams at every three eighth notes you would set
+it to `@code{"3/8"}'.  The same syntax can be used to specify beam
+starting points using
 @code{Voice.beamAutoBegin}@indexcode{Voice.beamAutoBegin}.
 
 To allow different settings for different time signatures, these
 property names can start with `@code{time}@var{N}@code{_}@var{M}' to
 restrict the definition to `@var{N}@code{/}@var{M}' time.  For example,
-to specify beams ending only for 6/8 time you would use the
-property @code{Voice.time6_8beamAutoEnd}.  To allow different endings
-for notes of different durations, the duration can be tacked onto the
-end of the property.  To specify beam endings for beams that contain
-32nd notes, you would use @code{Voice.beamAutoEnd_32}.
+to specify beams ending only for 6/8 time you would use the property
+@code{Voice.time6_8beamAutoEnd}.  To allow different endings for notes
+of different durations, the duration can be tacked onto the end of the
+property.  To specify beam endings for beams that contain 32nd notes,
+you would use @code{Voice.beamAutoEnd_32}.
 
 
 
@@ -2162,16 +2152,9 @@ called @emph{performers}.
 
 @mbinclude properties.itely
 
-@node Notation output definitions, , ,  Reference Manual
-@section Notation output definitions
-
-@cindex output
+@node Page layout, , ,  Reference Manual
 
-@cindex notation output
-
-@cindex output definition
-
-@node paper, , ,  Reference Manual
+@subsection Paper block
 
 The most important output definition is the @code{\paper} block, for
 music notation.  The syntax is
@@ -2215,7 +2198,6 @@ where each of the items is one of
 @end ignore
 
   @item  \stylesheet  declaration.  Its syntax is
-
        @example
                \stylesheet @var{alist}
        @end example
@@ -2223,36 +2205,9 @@ where each of the items is one of
        See @file{font.scm} for details of @var{alist}.
 @end itemize
 
+@subsection Paper variables 
 
 
-@cindex changing font size and paper size
-
-The Feta font provides musical symbols at six different sizes.  These
-fonts are 11 point, 13 point, 16 point, 20 point,
-23 point, and 26 point.  The point size of a font is the
-height of the five lines in a staff when displayed in the font.
-
-Definitions for these sizes are the files @file{paperSZ.ly}, where
-@code{SZ} is one of 11, 13, 16, 20, 23 and 26.  If you include
-any of these files, the identifiers @code{paper_eleven},
-@code{paper_thirteen}, @code{paper_sixteen}, @code{paper_twenty},
-@code{paper_twentythree}, and @code{paper_twentysix} are defined
-respectively.  The default @code{\paper} block is also set.
-
-To change the paper size, you must first set the
-@code{papersize}@indexcode{papersize} variable at top level.  Set it to the strings
-@code{a4}, @code{letter}, or @code{legal}.  After this specification,
-you must set the font as described above.  If you want the default
-font, then use the 20 point font.  The new paper size will not
-take effect if the font is not loaded and selected afterwards.  Paper
-size selection works by loading a file named after the paper size you
-select.
-
-
-
-@cindex paper variables
-
-@node Paper variables, , ,  Reference Manual
 
 The paper block has some variables you may want to use or change:
 
@@ -2284,13 +2239,90 @@ The paper block has some variables you may want to use or change:
 
   @item @code{stafflinethickness}@indexcode{stafflinethickness}  
     Determines the thickness of staff lines, and also acts as a scaling
-parameter for other line thicknesses.
+    parameter for other line thicknesses.
 @end table
 
 
+@subsection Line breaks
+
+@cindex line breaks
+@cindex breaking lines
+
+Line breaks are normally computed automatically. They are chosen such
+that the resulting spacing has low variation, and looks neither cramped
+nor loose.
+
+Occasionally you might want to override the automatic breaks; you can do
+this by specifying @code{\break} (see also @ref{Pre-defined
+Identifiers}). This will force a line break at this point. Do remember
+that line breaks can only occur at places where there are barlines.  If
+you want to have a line break where there is no barline, you can force a
+barline by entering @code{\bar "";}.
+
+@subsection Page breaks
+
+Page breaks are normally computed by @TeX{}, so they are not under direct
+control.  However, you can insert a commands into the .tex output to
+instruct @TeX{} where to break pages. For more details, see  the
+example file @file{input/test/between-systems.ly}
+
+
+@cindex page breaks
+@cindex breaking pages
+
+
+@subsection Font size
+
+@cindex font size
+@cindex paper size
+
+The Feta font provides musical symbols at six different sizes.  These
+fonts are 11 point, 13 point, 16 point, 20 point,
+23 point, and 26 point.  The point size of a font is the
+height of the five lines in a staff when displayed in the font.
+
+Definitions for these sizes are the files @file{paperSZ.ly}, where
+@code{SZ} is one of 11, 13, 16, 20, 23 and 26.  If you include any of
+these files, the identifiers @code{paperEleven}, @code{paperThirteen},
+@code{paperSixteen}, @code{paperTwenty}, @code{paperTwentythree}, and
+@code{paperTwentysix} are defined respectively.  The default
+@code{\paper} block is also set.
+
+The font definitions are generated using a Scheme function. For more
+details, see the file @file{font.scm}.
+
+@subsection paper size
+
+@cindex paper size
+@cindex page size
+
+To change the paper size, you must first set the
+@code{papersize}@indexcode{papersize} variable at top level.  Set it to
+the strings @code{a4}, @code{letter}, or @code{legal}.  After this
+specification, you must set the font as described above.  If you want
+the default font, then use the 20 point font.  The new paper size will
+not take effect if the font is not loaded and selected afterwards.
+
+@example
+        papersize = "a4"
+        \include "paper16.ly"
+
+        \score @{
+                ...
+                \paper @{ \paperSixteen @}
+        @}
+@end example
+
+The file "paper16.ly" will now include a file named @file{a4.ly}, which
+will set the paper variables @code{hsize} and @code{vsize} (used by
+@code{ly2dvi})
+
 @node contextdefs, , ,  Reference Manual
 
 @cindex context definition
+@cindex translator definition
+@cindex engraver hacking
+
 
 A notation contexts is defined by the following information
 
@@ -2556,7 +2588,7 @@ piano.
 
 Various identifiers are defined in the initialization files to
 provide shorthands for some settings.  Most of them are in
-@file{ly/declarations.ly}.
+@file{ly/declarations.ly} and @file{ly/property.ly}.
 
 @table @samp
   @item @code{\break}@keyindex{break}  
@@ -2567,29 +2599,13 @@ provide shorthands for some settings.  Most of them are in
     Prevent a line break in music by using a large negative argument
     for the keyword @code{\penalty}.
 
-  @item @code{\normalkey}@keyindex{normalkey}  
-    Select normal key signatures where each octave has the same key
-    signature.  This sets the @code{Staff.keyoctaviation} property.
-
-  @item @code{\shiftoff}@keyindex{shiftOff}  
+  @item @code{\shiftOff}@keyindex{shiftOff}  
     Disable horizontal shifting of note heads that collide. 
 
   @item @code{\shiftOn}@keyindex{shiftOn}  
     Enable note heads that collide with other note heads to be
-    shifted horiztonally.
-
-  @item @code{\slurBoth}@keyindex{slurBoth}  
-    Allow slurs to be above or below notes.
-
-  @item @code{\slurDown}@keyindex{slurDown}  
-    Force slurs to be below notes.
-
-  @item @code{\slurUp}@keyindex{slurUp}  
-    Force slurs to be above notes.
-
-  @item @code{\specialkey}@keyindex{specialkey}  
-    Allow key signatures do differ in different octaves.  This sets
-    the @code{Staff.keyoctaviation} property.
+    shifted horiztonally. Also @code{\shiftOnn} and @code{\shiftOnnn}
+set different shift values.
 
   @item @code{\stemBoth}@keyindex{stemBoth}  
     Allow stems, beams, and slurs to point either upwards or
index 0a2e54f06460eee339e5f2c4e400ce171b669031..1f1cd1afc0d87d68cd71d9bcfc3b1e468b229784 100644 (file)
@@ -53,7 +53,8 @@ Prerequisites
      (ftp://ftp.gnu.org/gnu/make/).
 
    * Flex (version 2.5.4a or newer).  Check out
-     ftp://ftp.gnu.org/gnu/flex/ (ftp://ftp.gnu.org/gnu/flex/).
+     ftp://ftp.gnu.org/pub/gnu/non-gnu/flex/
+     (ftp://ftp.gnu.org/pub/gnu/non-gnu/flex/).
 
    * Bison (version 1.25 or newer).  Check out
      ftp://ftp.gnu.org/gnu/bison/ (ftp://ftp.gnu.org/gnu/bison/).
diff --git a/VERSION b/VERSION
index a17c36d67c577a909425fb58094105622fd616ff..1f72a9ba7bff60f9b9ea7fab32fba259004ebc89 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
-PATCH_LEVEL=120
-MY_PATCH_LEVEL=jcn2
+PATCH_LEVEL=121
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index c5be88005ed24eae2591940c206cebfbbdc6d2aa..6096179843e94dced26650286d76ec4e74f6c66b 100755 (executable)
--- a/configure
+++ b/configure
@@ -631,19 +631,17 @@ echo "configure:631: checking Package" >&5
     if test "x$PACKAGE" = "xSTEPMAKE"; then
        echo "$ac_t""Stepmake package!" 1>&6
 
-       #if test "x$builddir" != "x"; then
-       #    builddir="../$builddir"
-       #else
-       #    builddir=..
-       #fi
-       if test "$srcdir" != "."; then
+       echo $ac_n "checking builddir""... $ac_c" 1>&6
+echo "configure:636: checking builddir" >&5
+       if test "$srcdir" = "."; then
+           builddir=.
+       else
            absolute_builddir="`pwd`"
            package_absolute_builddir="`dirname $absolute_builddir`"
            package_srcdir="`dirname  $srcdir`"
            builddir="`dirname $package_srcdir`/`basename $package_absolute_builddir`/`basename $absolute_builddir`"
-       else
-           builddir=.
        fi
+       echo "$ac_t""$builddir" 1>&6
 
        (cd stepmake 2>/dev/null || mkdir stepmake)
        (cd stepmake; rm -f stepmake; ln -s ../$srcdir/stepmake .)
@@ -671,22 +669,40 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
     else
         echo "$ac_t""$PACKAGE" 1>&6
 
-       if test "$srcdir" != "."; then
-           absolute_builddir="`pwd`"
-           builddir="`dirname  $srcdir`/`basename $absolute_builddir`"
-       else
+       echo $ac_n "checking builddir""... $ac_c" 1>&6
+echo "configure:674: checking builddir" >&5
+       if test "$srcdir" = "."; then
            builddir=.
+           srcdir_build=no
+       else
+           absolute_builddir="`pwd`"
+#          builddir="`dirname  $srcdir`/`basename $absolute_builddir`"
+           builddir="`bash $srcdir/buildscripts/walk.sh \"$srcdir\"`"
+           srcdir_build=yes
+       fi
+       echo "$ac_t""$builddir" 1>&6
+       if expr "$srcdir" : '/' > /dev/null 2>&1; then
+           absolute_srcdir=yes
+           
+    echo "configure: warning: Absolute --srcdir specified: $srcdir" 1>&2
+    warn_b=yes
+
        fi
 
        echo $ac_n "checking for stepmake""... $ac_c" 1>&6
-echo "configure:683: checking for stepmake" >&5
+echo "configure:694: checking for stepmake" >&5
        # Check for installed stepmake
        if test -d $stepmake; then
            echo "$ac_t""$stepmake" 1>&6
        else
-           stepmake='$(depth)'/$srcdir/stepmake
+           if test "$absolute_srcdir" != "yes"; then
+               stepmake='$(depth)'/$srcdir/stepmake
+           else
+               stepmake=$srcdir/stepmake
+           fi
            echo "$ac_t""$srcdir/stepmake  ($datadir/stepmake not found)" 1>&6
        fi
+
        ac_aux_dir=
 for ac_dir in \
          $HOME/usr/local/share/stepmake/bin\
@@ -795,7 +811,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:799: checking host system type" >&5
+echo "configure:815: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -820,7 +836,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:824: checking for $ac_word" >&5
+echo "configure:840: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -855,7 +871,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:859: checking for $ac_word" >&5
+echo "configure:875: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -892,7 +908,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:896: checking for $ac_word" >&5
+echo "configure:912: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_TAR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -927,7 +943,7 @@ test -n "$TAR" || TAR="error"
        # Extract the first word of "bash", so it can be a program name with args.
 set dummy bash; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:931: checking for $ac_word" >&5
+echo "configure:947: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -967,7 +983,7 @@ fi
        # Extract the first word of "bash", so it can be a program name with args.
 set dummy bash; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:971: checking for $ac_word" >&5
+echo "configure:987: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_SHELL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1004,7 +1020,7 @@ fi
        # Extract the first word of "bash", so it can be a program name with args.
 set dummy bash; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1008: checking for $ac_word" >&5
+echo "configure:1024: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1045,7 +1061,7 @@ fi
     # Extract the first word of "${PYTHON:-python}", so it can be a program name with args.
 set dummy ${PYTHON:-python}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1049: checking for $ac_word" >&5
+echo "configure:1065: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1270,7 +1286,7 @@ EOF
     # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1274: checking for $ac_word" >&5
+echo "configure:1290: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1300,7 +1316,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1304: checking for $ac_word" >&5
+echo "configure:1320: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1351,7 +1367,7 @@ fi
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1355: checking for $ac_word" >&5
+echo "configure:1371: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1383,7 +1399,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1387: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1403: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1394,12 +1410,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 1398 "configure"
+#line 1414 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:1403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1419: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -1425,12 +1441,12 @@ if test $ac_cv_prog_cc_works = no; then
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1429: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1445: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1434: checking whether we are using GNU C" >&5
+echo "configure:1450: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1439,7 +1455,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1443: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1459: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -1458,7 +1474,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1462: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1478: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1505,7 +1521,7 @@ fi
 
 # AC_HAVE_HEADERS(limits.h malloc.h string.h unistd.h values.h)
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1509: checking how to run the C preprocessor" >&5
+echo "configure:1525: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1520,13 +1536,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1524 "configure"
+#line 1540 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1530: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1546: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1537,13 +1553,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1541 "configure"
+#line 1557 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1547: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1563: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1554,13 +1570,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 1558 "configure"
+#line 1574 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1564: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1580: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1588,17 +1604,17 @@ for ac_hdr in assert.h sys/stat.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1592: checking for $ac_hdr" >&5
+echo "configure:1608: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1597 "configure"
+#line 1613 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1602: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1618: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1625,12 +1641,12 @@ fi
 done
 
 echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6
-echo "configure:1629: checking whether stat file-mode macros are broken" >&5
+echo "configure:1645: checking whether stat file-mode macros are broken" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1634 "configure"
+#line 1650 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -1691,7 +1707,7 @@ fi
 
 
 echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:1695: checking how to run the C++ preprocessor" >&5
+echo "configure:1711: checking how to run the C++ preprocessor" >&5
 if test -z "$CXXCPP"; then
 if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1704,12 +1720,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
   CXXCPP="${CXX-g++} -E"
   cat > conftest.$ac_ext <<EOF
-#line 1708 "configure"
+#line 1724 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1713: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1729: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1746,7 +1762,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1750: checking for $ac_word" >&5
+echo "configure:1766: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1778,7 +1794,7 @@ test -n "$CXX" || CXX="gcc"
 
 
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1782: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:1798: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
 
 ac_ext=C
 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1789,12 +1805,12 @@ cross_compiling=$ac_cv_prog_cxx_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 1793 "configure"
+#line 1809 "configure"
 #include "confdefs.h"
 
 int main(){return(0);}
 EOF
-if { (eval echo configure:1798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1814: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cxx_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -1820,12 +1836,12 @@ if test $ac_cv_prog_cxx_works = no; then
   { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1824: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1840: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
 cross_compiling=$ac_cv_prog_cxx_cross
 
 echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:1829: checking whether we are using GNU C++" >&5
+echo "configure:1845: checking whether we are using GNU C++" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1834,7 +1850,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1838: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1854: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
@@ -1853,7 +1869,7 @@ ac_test_CXXFLAGS="${CXXFLAGS+set}"
 ac_save_CXXFLAGS="$CXXFLAGS"
 CXXFLAGS=
 echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:1857: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:1873: checking whether ${CXX-g++} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1887,17 +1903,17 @@ fi
 
     ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6
-echo "configure:1891: checking for FlexLexer.h" >&5
+echo "configure:1907: checking for FlexLexer.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1896 "configure"
+#line 1912 "configure"
 #include "confdefs.h"
 #include <FlexLexer.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1901: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1917: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1948,12 +1964,12 @@ fi
 
 
     echo $ac_n "checking whether explicit instantiation is needed""... $ac_c" 1>&6
-echo "configure:1952: checking whether explicit instantiation is needed" >&5
+echo "configure:1968: checking whether explicit instantiation is needed" >&5
 if eval "test \"`echo '$''{'lily_cv_need_explicit_instantiation'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1957 "configure"
+#line 1973 "configure"
 #include "confdefs.h"
 
     template <class T> struct foo { static int baz; };
@@ -1963,7 +1979,7 @@ int main() {
  return foo<int>::baz; 
 ; return 0; }
 EOF
-if { (eval echo configure:1967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1983: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   lily_cv_need_explicit_instantiation=no
 else
@@ -1990,7 +2006,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1994: checking for $ac_word" >&5
+echo "configure:2010: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2033,7 +2049,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2037: checking for $ac_word" >&5
+echo "configure:2053: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2068,7 +2084,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2072: checking for $ac_word" >&5
+echo "configure:2088: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2136,7 +2152,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2140: checking for $ac_word" >&5
+echo "configure:2156: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2169,7 +2185,7 @@ test -n "$AR" || AR="error"
     # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2173: checking for $ac_word" >&5
+echo "configure:2189: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2225,7 +2241,7 @@ fi
 
 
     echo $ac_n "checking language""... $ac_c" 1>&6
-echo "configure:2229: checking language" >&5    
+echo "configure:2245: checking language" >&5    
     case "$language" in
       En* | en* | Am* | am* | US* | us*)
            lang=English;;
@@ -2261,7 +2277,7 @@ EOF
 
 
     echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
-echo "configure:2265: checking for gettext in -lintl" >&5
+echo "configure:2281: checking for gettext in -lintl" >&5
 ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2269,7 +2285,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lintl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2273 "configure"
+#line 2289 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -2283,7 +2299,7 @@ int main() {
 gettext()
 ; return 0; }
 EOF
-if { (eval echo configure:2287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2313,12 +2329,12 @@ fi
     for ac_func in gettext
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2317: checking for $ac_func" >&5
+echo "configure:2333: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2322 "configure"
+#line 2338 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2344,7 +2360,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2348: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2376,7 +2392,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2380: checking for $ac_word" >&5
+echo "configure:2396: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2407,7 +2423,7 @@ done
 test -n "$MSGFMT" || MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh "
 
     echo $ac_n "checking whether msgfmt accepts -o""... $ac_c" 1>&6
-echo "configure:2411: checking whether msgfmt accepts -o" >&5
+echo "configure:2427: checking whether msgfmt accepts -o" >&5
     msgfmt_output="`msgfmt -o bla 2>&1 | grep usage`"
     if test "$msgfmt_output" = ""; then
        echo "$ac_t""yes" 1>&6
@@ -2435,7 +2451,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2439: checking for $ac_word" >&5
+echo "configure:2455: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_METAFONT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2471,7 +2487,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2475: checking for $ac_word" >&5
+echo "configure:2491: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MFONT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2509,7 +2525,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2513: checking for $ac_word" >&5
+echo "configure:2529: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_METAPOST'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2545,7 +2561,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2549: checking for $ac_word" >&5
+echo "configure:2565: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MPOST'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2584,7 +2600,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2588: checking for $ac_word" >&5
+echo "configure:2604: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_INIMETAFONT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2620,7 +2636,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2624: checking for $ac_word" >&5
+echo "configure:2640: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_INIMFONT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2658,7 +2674,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2662: checking for $ac_word" >&5
+echo "configure:2678: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_INIMETAPOST'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2694,7 +2710,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2698: checking for $ac_word" >&5
+echo "configure:2714: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_INIMPOST'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2728,7 +2744,7 @@ test -n "$INIMPOST" || INIMPOST="-echo no inimp or inimpost"
     fi
 
     echo $ac_n "checking for working metafont mode""... $ac_c" 1>&6
-echo "configure:2732: checking for working metafont mode" >&5
+echo "configure:2748: checking for working metafont mode" >&5
     modelist='ljfour lj4 lj3 lj2 ljet laserjet'
     for MFMODE in $modelist; do
        $METAFONT "\mode:=$MFMODE; mode_setup; end." > /dev/null 2>&1
@@ -2739,7 +2755,7 @@ echo "configure:2732: checking for working metafont mode" >&5
     echo "$ac_t""$MFMODE" 1>&6
 
     echo $ac_n "checking for mfplain.mp""... $ac_c" 1>&6
-echo "configure:2743: checking for mfplain.mp" >&5
+echo "configure:2759: checking for mfplain.mp" >&5
     #
     # For now let people define these in their environments
     #
@@ -2747,7 +2763,7 @@ echo "configure:2743: checking for mfplain.mp" >&5
     echo "$ac_t""$MFPLAIN_MP" 1>&6
 
     echo $ac_n "checking for inimetapost flags""... $ac_c" 1>&6
-echo "configure:2751: checking for inimetapost flags" >&5
+echo "configure:2767: checking for inimetapost flags" >&5
     if test  ${INIMETAPOST} = "inimp" ; then
        : ${INIMETAPOST_FLAGS=''}
     else
@@ -2780,7 +2796,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2784: checking for $ac_word" >&5
+echo "configure:2800: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_KPSEWHICH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2811,7 +2827,7 @@ done
 test -n "$KPSEWHICH" || KPSEWHICH="no"
 
     echo $ac_n "checking for tfm path""... $ac_c" 1>&6
-echo "configure:2815: checking for tfm path" >&5
+echo "configure:2831: checking for tfm path" >&5
 
     TFM_FONTS="cmr msam"
 
@@ -2839,13 +2855,13 @@ echo "configure:2815: checking for tfm path" >&5
 
     ## First, let's just see if we can find Guile at all.
     echo $ac_n "checking "for guile-config"""... $ac_c" 1>&6
-echo "configure:2843: checking "for guile-config"" >&5
+echo "configure:2859: checking "for guile-config"" >&5
     for guile_config in guile-config $target-guile-config $build-guile-config; do
        echo "$ac_t"""$guile_config"" 1>&6
        if ! $guile_config --version > /dev/null 2>&1 ; then
            echo "configure: warning: "cannot execute $guile_config"" 1>&2
            echo $ac_n "checking "if we are cross compiling"""... $ac_c" 1>&6
-echo "configure:2849: checking "if we are cross compiling"" >&5
+echo "configure:2865: checking "if we are cross compiling"" >&5
            guile_config=error
        else
            break
@@ -2856,7 +2872,7 @@ echo "configure:2849: checking "if we are cross compiling"" >&5
        exit 1
     fi
     echo $ac_n "checking "Guile version"""... $ac_c" 1>&6
-echo "configure:2860: checking "Guile version"" >&5
+echo "configure:2876: checking "Guile version"" >&5
     need_guile_version="1.3.4"
     need_guile_version_numeric=100304
     guile_version=`$guile_config --version 2>&1 | awk '{print $NF}'`
@@ -2875,7 +2891,7 @@ else {last =0}}
     
 ## The GUILE_FLAGS macro.
   echo $ac_n "checking for Guile""... $ac_c" 1>&6
-echo "configure:2879: checking for Guile" >&5
+echo "configure:2895: checking for Guile" >&5
   if ! $guile_config link > /dev/null ; then
       echo "$ac_t"""cannot execute $guile_config"" 1>&6
       { echo "configure: error: "cannot find guile-config; is Guile installed?"" 1>&2; exit 1; }
@@ -2890,7 +2906,7 @@ echo "configure:2879: checking for Guile" >&5
     # Extract the first word of "guile", so it can be a program name with args.
 set dummy guile; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2894: checking for $ac_word" >&5
+echo "configure:2910: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GUILE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2940,17 +2956,17 @@ fi
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2944: checking for $ac_hdr" >&5
+echo "configure:2960: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2949 "configure"
+#line 2965 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2954: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2970: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2977,7 +2993,7 @@ fi
 done
 
        echo $ac_n "checking for kpse_find_file in -lkpathsea""... $ac_c" 1>&6
-echo "configure:2981: checking for kpse_find_file in -lkpathsea" >&5
+echo "configure:2997: checking for kpse_find_file in -lkpathsea" >&5
 ac_lib_var=`echo kpathsea'_'kpse_find_file | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2985,7 +3001,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lkpathsea  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2989 "configure"
+#line 3005 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -2999,7 +3015,7 @@ int main() {
 kpse_find_file()
 ; return 0; }
 EOF
-if { (eval echo configure:3003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3019: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3032,12 +3048,12 @@ fi
        for ac_func in kpse_find_file
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3036: checking for $ac_func" >&5
+echo "configure:3052: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3041 "configure"
+#line 3057 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3063,7 +3079,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3067: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3092,7 +3108,7 @@ done
 
     fi
     echo $ac_n "checking whether to use kpathsea""... $ac_c" 1>&6
-echo "configure:3096: checking whether to use kpathsea" >&5
+echo "configure:3112: checking whether to use kpathsea" >&5
     if test $kpathsea_b = yes; then
         echo "$ac_t""yes" 1>&6
        KPATHSEA=1
@@ -3113,7 +3129,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3117: checking for $ac_word" >&5
+echo "configure:3133: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BIBTEX2HTML'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3154,7 +3170,7 @@ test -n "$BIBTEX2HTML" || BIBTEX2HTML="error"
 
 
 echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:3158: checking for 8-bit clean memcmp" >&5
+echo "configure:3174: checking for 8-bit clean memcmp" >&5
 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3162,7 +3178,7 @@ else
   ac_cv_func_memcmp_clean=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 3166 "configure"
+#line 3182 "configure"
 #include "confdefs.h"
 #ifdef __cplusplus
 extern "C" void exit(int);
@@ -3175,7 +3191,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:3179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_memcmp_clean=yes
 else
@@ -3193,12 +3209,12 @@ echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6
 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}"
 
 echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:3197: checking for vprintf" >&5
+echo "configure:3213: checking for vprintf" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3202 "configure"
+#line 3218 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vprintf(); below.  */
@@ -3224,7 +3240,7 @@ vprintf();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3228: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_vprintf=yes"
 else
@@ -3248,12 +3264,12 @@ fi
 
 if test "$ac_cv_func_vprintf" != yes; then
 echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:3252: checking for _doprnt" >&5
+echo "configure:3268: checking for _doprnt" >&5
 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3257 "configure"
+#line 3273 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char _doprnt(); below.  */
@@ -3279,7 +3295,7 @@ _doprnt();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3283: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func__doprnt=yes"
 else
@@ -3306,12 +3322,12 @@ fi
 for ac_func in memmem snprintf vsnprintf gettext isinf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3310: checking for $ac_func" >&5
+echo "configure:3326: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3315 "configure"
+#line 3331 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3337,7 +3353,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3341: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3376,7 +3392,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3380: checking for $ac_word" >&5
+echo "configure:3396: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3409,7 +3425,7 @@ test -n "$MAKEINFO" || MAKEINFO="error"
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3413: checking for $ac_word" >&5
+echo "configure:3429: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3952,10 +3968,13 @@ if test "$no_recursion" != yes; then
 fi
 
 
-    rm -f $srcdir/GNUmakefile
-    cp $srcdir/make/toplevel.make.in $srcdir/GNUmakefile
-    chmod 444 $srcdir/GNUmakefile
-    if test "$builddir" != "."; then
+    # regular in-place build
+    # test for srcdir_build = yes ?
+    if test "$builddir" = "."; then
+       rm -f $srcdir/GNUmakefile
+       cp $srcdir/GNUmakefile.in $srcdir/GNUmakefile
+       chmod 444 $srcdir/GNUmakefile
+    else # --srcdir build
         rm -f GNUmakefile
        cp $srcdir/make/srcdir.make.in GNUmakefile
        chmod 444 GNUmakefile
index 29a964f31bfd886b814530d5d3067f447580f008..7c2a080e46169f5ab5624c961aec333c534e7dfb 100644 (file)
@@ -7,7 +7,7 @@ copyright =      "public domain";
 
 \include "paper20.ly"
 
-\version "1.3.117";
+\version "1.3.120";
 
 oden =  \lyrics{ 
        O |
@@ -81,7 +81,7 @@ verseTwoStaff =  \context Lyrics = two
 
 
 denneboomShape =  \paper{ 
-       \paper_twenty
+       \paperTwenty
        indent = 20. \mm;
 
        % UGH -- THIS IS HAIRY 
index 80d7ff72dac667a53136b2dc8c350936183ebc10..a4ee1e373dbd64830291e1cb33af88c672b39d94 100644 (file)
@@ -4,7 +4,7 @@ http://www.Arkkra.com/doc/star.html
 http://www.Arkkra.com/doc/star.ps
 %}
 
-\version "1.3.117";
+\version "1.3.120";
 
 % TODO: 
 %
@@ -164,7 +164,7 @@ text =  \lyrics {
                >
        >
        \paper{
-               \paper_sixteen
+               \paperSixteen
                textheight = 230.\mm;
                linewidth= 180.\mm;
                \translator {
index 34a26de84661d393f4218165149576960a7e43ab..37e39a8e3759e739c9bdc113bc4bc4b8d6822e0c 100644 (file)
     date       = "2000";
 }
 
-\version "1.3.117";
+\version "1.3.120";
 
 \include "paper26.ly"
 
 global =  \notes {
-    \property Score.timing = 1
-    \property Staff.TimeSignature \override #'style = #"old"
-    \time 2/2;
+    \property Score.timing = ##f
+%   \property Staff.TimeSignature \override #'style = #'old
 }
 
 upperVoice =  \context Staff = upperVoice <
     \global
-    \property Staff.numberOfStaffLines = 4
+    \property Staff.StaffSymbol \override #'line-count = #4
     \notes \transpose c' {
-       \property Staff.Custos \override #'style = #'"vaticana"
+       \property Voice.NoteHead \override #'style = #'mensural
+       \property Voice.Stem \override #'stem-centered = ##t
+       \property Staff.Custos \override #'style = #'vaticana
        \clef "vaticana_fa2";
-       c1 d e f g
+       c2 d e f g
+
+%      \property Staff.clefGlyph = #"clefs-vaticana_do"
+%      \property Staff.clefPosition = #1
+%      \property Staff.clefOctavation = #0 
        \clef "vaticana_do2";
-       a b c' \bar "|";
+
+       a b c'
        b a g f
        \clef "vaticana_fa1";
-       e d c\breve \bar "|";
+       e d c1 \bar "|";
 
-       \property Staff.Custos \override #'style = #"medicaea"
+       \property Staff.Custos \override #'style = #'medicaea
        \clef "medicaea_fa2";
-       c1 d e f g
+       c2 d e f g
        \clef "medicaea_do2";
-       a b c' \bar "|";
+       a b c'
        b a g f
        \clef "medicaea_fa1";
-       e d c\breve \bar "|";
+       e d c1 \bar "|";
 
-       \property Staff.Custos \override #'style = #'"hufnagel"
+       \property Staff.Custos \override #'style = #'hufnagel
        \clef "hufnagel_fa2";
-       c1 d e f g
+       c2 d e f g
        \clef "hufnagel_do2";
-       a b c' \bar "|";
+       a b c'
        b a g f
        \clef "hufnagel_fa1";
-       e d c\breve \bar "||";
+       e d c1 \bar "||";
     }
 >
 
 lowerVoice =  \context Staff = lowerNotes <
     \global
-    \property Staff.numberOfStaffLines = 5
-    \notes \transpose c'' {
-       \property Staff.Custos \override #'style = #'"mensural"
+    \property Staff.StaffSymbol \override #'line-count = #5
+    \notes \transpose c' {
+        \property Voice.NoteHead \override #'style = #'mensural
+       \property Voice.Stem \override #'stem-centered = ##t
+       \property Staff.Custos \override #'style = #'mensural
        \clef "mensural1_c2";
-       c1 d e f g
+       c2 d e f g
        \clef "mensural1_c2";
-       a b c' \bar "|";
+       a b c'
        b a g f
        \clef "mensural2_c2";
-       e d c\breve \bar "|";
+       e d c1 \bar "|";
 
        \clef "mensural2_c2";
-       c1 d e f g
+       c2 d e f g
        \clef "mensural3_c2";
-       a b c' \bar "|";
+       a b c'
        b a g f
        \clef "mensural3_c2";
-       e d c\breve \bar "|";
+       e d c1 \bar "|";
 
-       \clef "mensural_f";
-       c1 d e f g
-       \clef "mensural_f";
-       a b c' \bar "|";
+       \clef "mensural1_f";
+       c2 d e f g
+       \clef "mensural1_f";
+       a b c'
        b a g f
-       \clef "mensural_f";
-       e d c\breve \bar "|";
+       \clef "mensural2_f";
+       e d c1 \bar "|";
 
-       \clef "hufnagel";
-       c,1 d, e, f, g,
-       \clef "hufnagel";
-       a, b, c \bar "||";
+       \clef "mensural2_f";
+       c2 d e f g
+       \clef "mensural_g";
+       a' b' c''
+       b' a' g' f'
+       \clef "mensural_g";
+       e' d' c'1 \bar "|";
+
+       \clef "mensural_g";
+       c'2 d' e' f' g'
+       \clef "hufnagel_do_fa";
+       a b c'
+       b a g f
+       \clef "hufnagel_do_fa";
+       e d c1 \bar "||";
     }
 >
 
@@ -88,14 +107,16 @@ lowerVoice =  \context Staff = lowerNotes <
        \lowerVoice
     >
     \paper {
-%      \paper_twentysix
+%      \paperTwentysix
        linewidth = 17.25\cm;
        textheight = 26.0\cm;
        indent = 0.0;
        \translator {
            \StaffContext
-           \consists "Custos_engraver";
-%          custosStyle = "mensural";
+           \consists Custos_engraver;
+%          Custos \override #'style = #'mensural;
+           \remove Time_signature_engraver;
+%          StaffSymbol \override #'line-count = #4
        }
     }
 }
index 144cb166a2f1a7fbcb4ce2214f3c97f320107452..e5d3577845f7e95bad4901ab6626a50aa1637658 100644 (file)
@@ -4,6 +4,9 @@ The same mechanism can be  used  to force pagebreaks.
 ";
 }
 
+
+% In reality, you'd use #"\\newpage" instead of "(pagebreak)", of course.
+
 \score {
 \notes { c1
 
index d8eb62b75321b0471cbf69ae171fddbc4130b3aa..6acba0eaaf9c3f98bd03edf7457af293e709ce3c 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.3.117";
+\version "1.3.120";
 
 %{
 Would this be acceptable/good enough/convenient for entry?
@@ -29,7 +29,7 @@ scales =  \notes \transpose c'' \chords{
                \context Staff \scales
        >
        \paper{
-%              \paper_as_nine
+%              \paperAs_nine
                \translator {
                        \ChordNamesContext
                        }
index 7c0843f268607acde6750ee98271c1162ef734e8..513a42b88779bf3772303f0aaf083b2451b6f663 100644 (file)
@@ -7,7 +7,7 @@ description =  "This file tests the Feta music font";
 % "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.3.117";
+\version "1.3.120";
 
 \include "font-body.ly"
 \score{
@@ -18,7 +18,7 @@ description =  "This file tests the Feta music font";
            gourlay_maxmeasures =5.;
        }
        \paper{
-           \paper_twenty
+           \paperTwenty
            linewidth = 17.5 \cm;
            gourlay_maxmeasures =5.;
            output =  "font20.tex";
index 7431a833e949cb76464cc590f4f09937b28b7984..ca8d872dc15434c637dd7c82688291710591d754 100644 (file)
@@ -7,7 +7,7 @@ description =  "This file tests the Feta music font";
 % "(Feta definitively is not an abbreviation of Font-En-TjA)";
 }
 
-\version "1.3.117";
+\version "1.3.120";
 \include "paper16.ly"
 \include "font-body.ly"
 
@@ -16,7 +16,7 @@ description =  "This file tests the Feta music font";
        \paper{ 
            % don't change this.
            % otherwise 16pt and 20pt layouts differ.
-           \paper_sixteen
+           \paperSixteen
            linewidth = 12.5 \cm;
            gourlay_maxmeasures =5.;
        }
index 4c1b4f5f991cb6f7d6024dcffedfc7461c1e6408..99160b7dd148990464765faead1f3fc4393ccec6 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.3.117";
+\version "1.3.120";
 
 m =  \notes \relative c''{
 
@@ -89,7 +89,7 @@ c1 | c2 c | c c | R1*5
   >
 >
  \paper {
-%    \paper_sixteen;
+%    \paperSixteen;
     linewidth = 185.\mm;
     textheight = 260.\mm;
     \translator {
index 12151599438b5444adfd4549526fab4c48587012..840947a5b094d0dbb1d25925618f0f423f729a79 100644 (file)
@@ -1,12 +1,18 @@
+\header{
+texidoc = "Piano pedal symbols merge stop and start.  The strings are configurable. ";
+}
+
+\version "1.3.120";
+
+
 \score{
 \context Staff \notes\relative c'{
-c4\sustaindown d e f\sustainup g\sustaindown b c
-c, [d16 \sustainup \sustaindown c  c c] [e e \sustainup \sustaindown e e ] f4 \sustainup g\sustaindown b c
-\property Staff.stopStartSustain = #"-P"
-\property Staff.startSustain = #"P"
-\property Staff.sustainPedalPadding = #10
-
-c,\sustainup\sustaindown d e f \sustainup g\sustaindown b c
+c4\sustainDown d e f\sustainUp g\sustainDown b c
+c, [d16 \sustainUp \sustainDown c  c c] [e e \sustainUp \sustainDown e e ] f4 \sustainUp g\sustainDown b c
+\property Staff.pedalSustainStrings = #'("-" "-P" "P")
+\property Staff.SustainPedal \override #'padding = #2
+c, \sustainUp\sustainDown d e f
+ \sustainUp g\sustainDown b c
 }
 \paper{
 }
index 8cc60338a0b6abb0e70b240a59c79f5f1291766a..76187250dc59292db98c016dfbaf3e86178d09d9 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "1.3.117";
+\version "1.3.120";
 
 
 \include "paper-as5.ly"
@@ -22,7 +22,7 @@
                }
        >
        \paper {
-%              \paper_as_nine
+%              \paperAs_nine
                indent=4.0\char;
                linewidth=78.0\char;
                \translator { \StaffContext barSize = #4.5 }
index c3a2136f2a0fc278f568118f6b0e78c7d7ed5082..2d6d585d544fa1ea6eec309a763a44ef76672432 100644 (file)
@@ -180,11 +180,14 @@ Clef_engraver::create_grobs ()
   SCM glyph = get_property ("clefGlyph");
   SCM clefpos = get_property ("clefPosition");
   SCM octavation = get_property ("clefOctavation");
-
+  SCM force_clef = get_property ("forceClef");
+  
   if (clefpos == SCM_EOL
       || scm_equal_p (glyph, prev_glyph_) == SCM_BOOL_F
       || scm_equal_p (clefpos, prev_cpos_) == SCM_BOOL_F
-      || scm_equal_p (octavation, prev_octavation_) == SCM_BOOL_F)    
+      || scm_equal_p (octavation, prev_octavation_) == SCM_BOOL_F
+      || to_boolean (force_clef)
+      )
     {
       set_glyph();
       set_central_c (glyph, clefpos, octavation);
@@ -193,6 +196,12 @@ Clef_engraver::create_grobs ()
 
       clef_p_->set_grob_property ("non-default", SCM_BOOL_T);
     }
+
+  if (to_boolean (force_clef))
+    {
+      Translator_group * w = daddy_trans_l_->where_defined (ly_symbol2scm ("forceClef"));
+      w->set_property ("forceClef", SCM_EOL);
+    }
 }
 
 void
index 1cdc84a57aab91cebe006a12603f72f0cbf6e52e..79444fae9c5127e62ec3af9cea2af7fef636e842 100644 (file)
@@ -28,9 +28,9 @@ Clef::before_line_breaking (SCM smob)
     {
       String str = ly_scm2string (glyph);
 
-      if (to_boolean (s->get_grob_property ("non-default")) &&
-         s->break_status_dir() != RIGHT &&
-         to_boolean (s->get_grob_property ("full-size-change")))
+      if (to_boolean (s->get_grob_property ("non-default"))
+         && s->break_status_dir() != RIGHT
+         && !to_boolean (s->get_grob_property ("full-size-change")))
        {
          str += "_change";
          s->set_grob_property ("glyph-name", ly_str02scm (str.ch_C()));          
index 1e5e7555fce7375c2f0bf3e80b723c9f87c051ce..a56bae3fa4689200886674cff0d48d643ffc4674 100644 (file)
@@ -25,7 +25,7 @@ Lyric_extender::brew_molecule (SCM smob)
   // ugh: refp
   Real leftext = sp->get_bound (LEFT)->extent (sp->get_bound (LEFT),
                                               X_AXIS).length ();
-  Real ss = 1.0;
+
   Real sl = sp->paper_l ()->get_var ("stafflinethickness");  
   Real righttrim = 0.5; // default to half a space gap on the right
   SCM righttrim_scm = sp->get_grob_property("right-trim-amount");
@@ -36,9 +36,9 @@ Lyric_extender::brew_molecule (SCM smob)
   SCM space =  sp->get_bound (LEFT)->get_grob_property ("word-space");
   if (gh_number_p (space))
     {
-      leftext -=  gh_scm2double (space)*ss;
+      leftext -=  gh_scm2double (space);
     }
-  Real w = sp->spanner_length () - leftext - righttrim*ss;
+  Real w = sp->spanner_length () - leftext - righttrim;
   
   Real h = sl * gh_scm2double (sp->get_grob_property  ("height"));
   Molecule  mol (Lookup::filledbox ( Box (Interval (0,w), Interval (0,h))));
index 9d76fb4c5df0fb41468475d478823c8d2f5589f2..eefb30b1540bdd6d5d867c1bdbc2def5db30d109 100644 (file)
 #include "staff-symbol-referencer.hh"
 #include "item.hh"
 
-
-
-
-
-/**
-   engrave Piano pedals symbols.
- */
 class Piano_pedal_engraver : public Engraver
 {
 public:
@@ -134,9 +127,14 @@ Piano_pedal_engraver::create_grobs ()
 {
   for (Pedal_info*p = info_list_; p && p->name_; p ++)
     {
-      if (p->item_p_)
+      if (p->item_p_ || ! (p->req_l_drul_[STOP] || p->req_l_drul_[START]))
        continue;
+      
       SCM s = SCM_EOL;
+      SCM strings = get_property( ("pedal" + String (p->name_) + "Strings").ch_C());
+      if( scm_ilength (strings) < 3)
+       continue;
+      
       if (p->req_l_drul_[STOP] && p->req_l_drul_[START])
        {
          if (!p->start_req_l_)
@@ -145,7 +143,7 @@ Piano_pedal_engraver::create_grobs ()
            }
          else
            {
-             s = get_property (("stopStart" + String (p->name_ )).ch_C());
+             s = gh_cadr (strings);
            }
          p->start_req_l_ = p->req_l_drul_[START];
        }
@@ -157,14 +155,14 @@ Piano_pedal_engraver::create_grobs ()
            }
          else
            {
-             s = get_property (("stop" + String (p->name_ )).ch_C());
+             s = gh_car (strings);
            }
          p->start_req_l_ = 0;
        }
       else if (p->req_l_drul_[START])
        {
          p->start_req_l_ = p->req_l_drul_[START];
-         s = get_property (("start" + String (p->name_ )).ch_C());
+         s = gh_caddr (strings);
        }
 
       if (gh_string_p (s))
@@ -198,6 +196,7 @@ Piano_pedal_engraver::stop_translation_timestep ()
       if (p->item_p_)
        {
          Side_position::add_staff_support (p->item_p_);
+         
          /*
            Hmm.
          */
index ce0674f8eb298212c55d2baea01a94604ab96e22..ec8ab984bbb25349479ccc86ba831e48b1c5dcbd 100644 (file)
@@ -1,12 +1,12 @@
 % Toplevel initialisation file. 
        
-\version "1.3.110";
+\version "1.3.120";
 
 
 \include "declarations.ly"
 
 \include "paper16.ly"
-  \paper { \paper_sixteen
+  \paper { \paperSixteen
     linewidth = -1.\cm;
     castingalgorithm = \Wordwrap; 
     "unusedentry" = "}\\def\\nolilyfooter{";
index 994200cfb508de3449ecbd40b34b964e702a02da..7f268f5787cc9c2e46a707a8e5374b7d6a4e5e93 100644 (file)
@@ -1,13 +1,13 @@
 % Toplevel initialisation file. 
        
-\version "1.3.110";
+\version "1.3.120";
 
 
 \include "declarations.ly";
 \include "paper16.ly"
 
  \paper{
-       \paper_sixteen
+       \paperSixteen
 }
 
 
index 64a127cb9cb9bfbf55c2e1c8ddff0265eec0c49e..af0b413a5da5abb13297d3a4aab734049bf8f217 100644 (file)
@@ -1,7 +1,7 @@
 % Toplevel initialisation file. 
        
 
-\version "1.3.110";
+\version "1.3.120";
 
 
 \include "declarations.ly"
@@ -9,7 +9,7 @@
 \include "paper16.ly";
 
  \paper { 
-  \paper_sixteen
+  \paperSixteen
     linewidth = -1.0\cm;
     castingalgorithm = \Wordwrap;
    "unusedentry" = "}\\def\\nolilyfooter{"; 
index a53dc01fd9fbdaf77bdd546eec8d3b06ee9f4efd..53743596ebbb5b44a2a50fd655724084fa2aea98 100644 (file)
@@ -1,13 +1,13 @@
 % Toplevel initialisation file. 
        
-\version "1.3.110";
+\version "1.3.120";
 
 
 \include "declarations.ly"
 \include "paper16.ly"
 
  \paper { 
-  \paper_sixteen
+  \paperSixteen
 %  linewidth = 7.\cm;
   linewidth = 11.\cm;
 }
index c45df5aea2d02545b5ff265cd6a9adf2d750bb98..06acf86c1b606c338390048b28392b904e71d087 100644 (file)
@@ -31,7 +31,7 @@ bigger = 1
 center=0
 
 break =  \penalty  -1000000; 
-nobreak =  \penalty 1000000; 
+noBreak =  \penalty 1000000; 
 \include "scale-definitions.ly"
 
 
index 468fc575290423e17432613a308468a4534b7fb5..407ded53caa2896c6c8d7cb6a45afa3f7efae128 100644 (file)
@@ -18,7 +18,7 @@ bigger = 1
 center=0
 
 break =  \penalty  -1000000; 
-nobreak =  \penalty 1000000; 
+noBreak =  \penalty 1000000; 
 \include "scale-definitions.ly"
 
 melisma = \property Staff.melismaBusy = ##t
index fca9cf88886a11fdc9c7b97243b71ec9033efef0..e3db961ceed47348c7821cfd8df3c81b6302982f 100644 (file)
@@ -386,7 +386,9 @@ ScoreContext = \translator {
          ("clefs-mensural1_c" . 0)
          ("clefs-mensural2_c" . 0)
          ("clefs-mensural3_c" . 0)
-         ("clefs-mensural_f" . 0))
+         ("clefs-mensural1_f" . 4)
+         ("clefs-mensural2_f" . 4)
+         ("clefs-mensural_g" . -4))
 
        clefGlyph = #"clefs-G"
        clefPosition = #-2
@@ -402,19 +404,10 @@ ScoreContext = \translator {
 
        verticalAlignmentChildCallback = #Align_interface::alignment_callback
 
-       startSustain = #"Ped."
-       stopSustain = #"*"
-       stopStartSustain = #"*Ped."
-       startUnaChorda = #"una chorda"
-       stopUnaChorda = #"tre chorde"
-       % should make separate lists for stopsustain and startsustain 
+       pedalSustainStrings = #'("Ped." "*Ped." "*")
+       pedalUnaChordaStrings = #'("una chorda" "" "tre chorde")
+       pedalSostenutoStrings = #'()  % FIXME
 
-
-       %
-       % what order to print accs.  We could compute this, 
-       % but computing is more work than putting it here.
-       %
-       % Flats come first, then sharps.
        keyAccidentalOrder = #'(
          (6 . -1) (2  . -1) (5 . -1 ) (1  . -1) (4  . -1) (0  . -1) (3  . -1)
         (3  . 1) (0 . 1) (4 . 1) (1 . 1) (5 . 1) (2 . 1) (6 . 1)
@@ -434,10 +427,6 @@ ScoreContext = \translator {
 
 
        \elementdescriptions #all-grob-descriptions
-       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-       % TODO: uniform naming.;  
-       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-       
 }
 
 OrchestralScoreContext= \translator {
index 4e3d664877a820b49dcf9f8a748b83d1c9bf35f0..be841ce576ebca0fcd94d5c83450a74ce6dfecd8 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel initialisation file. 
        
-\version "1.3.110";
+\version "1.3.120";
 
 
 \include "declarations.ly"
@@ -8,7 +8,7 @@
 \include "paper16.ly";
 
 \paper { 
-  \paper_sixteen
+  \paperSixteen
     linewidth = -1.0\cm;
     castingalgorithm = \Wordwrap;
     "unusedentry" = "}\\def\\nolilyfooter{";
index 3e727da657d0420cba2d9f513d7b222f2e01cd77..1fe3c67e1426b839c2030858c792d170b5a562fb 100644 (file)
@@ -1,6 +1,6 @@
 % Toplevel AsciiScript initialisation file. 
 
-\version "1.3.110";
+\version "1.3.120";
 
 \include "declarations-as.ly"
 
@@ -27,7 +27,7 @@
 )
 
 \paper {
-    \paper_as_nine
+    \paperAs_nine
     \translator { \StaffContext barSize = \staffheight; }
 
     % no beam-slope
index f4ca1af14cf8a57394b555c00e3dd79588895ad9..44f0842b92b3c92c2c054044213139bbe3aff257 100644 (file)
@@ -1,8 +1,8 @@
 % paper-as5.ly
 
-\version "1.3.110";
+\version "1.3.120";
 
-paper_as_five = \paper {
+paperAsFive = \paper {
        staffheight = 5.\char;
 
        font_large = 1.;
@@ -35,4 +35,4 @@ paper_as_five = \paper {
        \include "params-as.ly";
 }
 
-\paper { \paper_as_five }
+\paper { \paperAs_five }
index c2bfcbec98f02b17235c910e4a44d41a78fd2d5d..eae4c50c16ac4b2b63e3b287e336014b79c83644 100644 (file)
@@ -1,8 +1,8 @@
 % paper-as9.ly
 
-\version "1.3.110";
+\version "1.3.120";
 
-paper_as_nine = \paper {
+paperAsNine = \paper {
        staffheight = 9.\char;
 
 %      font_large = 4.;
@@ -38,4 +38,4 @@ paper_as_nine = \paper {
        \include "params-as.ly";
 }
 
-\paper { \paper_as_nine }
+\paper { \paperAs_nine }
index 3880420dc0025b04586bc139ceff0371c93f455f..6a87d8b2e8978df5dc621b99ea4ae51ca7e18296 100644 (file)
@@ -1,12 +1,12 @@
 % paper11.ly
 
-\version "1.3.110";
+\version "1.3.120";
 
-paper_eleven = \paper {
+paperEleven = \paper {
        staffheight = 11.0\pt;
        \stylesheet #(make-style-sheet 'paper11)
 
        \include "params.ly";
 }
 
-\paper { \paper_eleven }
+\paper { \paperEleven }
index 488165dca6c67b7f7af06320b7ab3feb4f7d8b47..e5d03d652dec442c95178659a6c4ed07af64cdb5 100644 (file)
@@ -1,8 +1,8 @@
 % paper13.ly
 
-\version "1.3.110";
+\version "1.3.120";
 
-paper_thirteen = \paper {
+paperThirteen = \paper {
        staffheight = 13.0\pt;
 
        \stylesheet #(make-style-sheet 'paper13)
@@ -10,4 +10,4 @@ paper_thirteen = \paper {
        \include "params.ly";
 }
 
-\paper { \paper_thirteen }
+\paper { \paperThirteen }
index 779b81067583de38d58a50a1de4df885d7e006e9..507e3ca5de9f21f225b8c0b404ced1f5472fa91e 100644 (file)
@@ -1,12 +1,12 @@
 % paper16.ly
 
-\version "1.3.110";
+\version "1.3.120";
 
-paper_sixteen = \paper {
+paperSixteen = \paper {
        staffheight = 16.0\pt;
        \stylesheet #(make-style-sheet 'paper16)
 
        \include "params.ly";
 }
 
-\paper {\paper_sixteen }
+\paper {\paperSixteen }
index 7b30c4a7d296dc86e82589c3073330cf9a496bc0..d30ec07880892c929522fd971d485b266a16675f 100644 (file)
@@ -1,13 +1,13 @@
 % paper20.ly
 
 
-\version "1.3.110";
+\version "1.3.120";
 
-paper_twenty = \paper {
+paperTwenty = \paper {
        staffheight = 20.0\pt;
        \stylesheet #(make-style-sheet 'paper20)
        
        \include "params.ly";
 }
 
-\paper { \paper_twenty }
+\paper { \paperTwenty }
index 6b6203078cb6c52394373eb168f3978e32d81b7f..6e9ba505464a9d5b106de13958a0be32829f17d8 100644 (file)
@@ -1,12 +1,12 @@
 % paper23.ly
 
 
-\version "1.3.110";
+\version "1.3.120";
 
-paper_twentythree = \paper {
+paperTwentythree = \paper {
        staffheight = 23.0\pt;
        \stylesheet #(make-style-sheet 'paper23)
        \include "params.ly";
 }
 
-\paper { \paper_twentythree }
+\paper { \paperTwentythree }
index 593b6bd33b3b078a63203464e610b28358130a86..db3998533985a483ef5cac49996381269c556310 100644 (file)
@@ -1,12 +1,12 @@
 % paper26.ly
 
-\version "1.3.110";
+\version "1.3.120";
 
-paper_twentysix = \paper {
+paperTwentysix = \paper {
        staffheight = 26.0\pt;
        \stylesheet #(make-style-sheet 'paper26)        
 
        \include "params.ly";
 }
 
-\paper { \paper_twentysix }
+\paper { \paperTwentysix }
index 331f11c75fa8837190a1a6b476ae6363324fa21c..a0e837b8efebc8cd1efc0ae01cbbe8129d1b153a 100644 (file)
@@ -1,6 +1,4 @@
 
-
-% 1st arg dynamic (louder/softer). 2nd arg spantype
 cr = \spanrequest \start "crescendo"
 decr = \spanrequest  \start "decrescendo"
 rc = \spanrequest   \stop "crescendo"
@@ -26,14 +24,14 @@ endcresc = \spanrequest \stop "crescendo"
 %}
 
 % better name sustainstart/stop? 
-sustaindown = \spanrequest \start "Sustain"
-sustainup = \spanrequest \stop "Sustain"
+sustainDown = \spanrequest \start "Sustain"
+sustainUp = \spanrequest \stop "Sustain"
 
-unachorda = \spanrequest \start "UnaChorda"
-trechorde = \spanrequest \stop "UnaChorda"
+unaChorda = \spanrequest \start "UnaChorda"
+treChorde = \spanrequest \stop "UnaChorda"
 
-sostenutodown = \spanrequest \start "Sostenuto"
-sostenutoup = \spanrequest \stop "Sostenuto"
+sostenutoDown = \spanrequest \start "Sostenuto"
+sostenutoUp = \spanrequest \stop "Sostenuto"
 
 %crescpoco = \property Voice.crescendoText = "cresc. poco a poco"
 %decresc = \property Voice.crescendoText = "decr."
index f88ca056f25a7c4d74c283bf2545e38080b813ac..657c12d26b5bf4a09f11ada984a0015b5d49d132 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Title: LilyPond
-Version: 1.3.120
-Entered-date: 03JAN01
+Version: 1.3.121
+Entered-date: 07JAN01
 Description: 
 Keywords: music notation typesetting midi fonts engraving
 Author: hanwen@cs.uu.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       1000k lilypond-1.3.120.tar.gz 
+       1000k lilypond-1.3.121.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       1000k lilypond-1.3.120.tar.gz 
+       1000k lilypond-1.3.121.tar.gz 
 Copying-policy: GPL
 End
index 2f904bb6d22e599d8c7b5f32c084d87b6e30b590..13084511947b34a0c1bd99d141cf5b706210c9d4 100644 (file)
@@ -1,11 +1,11 @@
 %define info yes
 
 Name: lilypond
-Version: 1.3.120
+Version: 1.3.121
 Release: 1
 License: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.120.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.121.tar.gz
 Summary: A program for printing sheet music.
 URL: http://www.cs.uu.nl/~hanwen/lilypond
 # Icon: lilypond-icon.gif
diff --git a/make/toplevel.make.in b/make/toplevel.make.in
deleted file mode 100644 (file)
index e69de29..0000000
index 44c7cff199ba57ceff37fb1492970fbe93f76fd8..d70391ed367ef597b8aece87411a8374774eeeac 100644 (file)
@@ -5,7 +5,8 @@
 % source file of the Feta (not the Font-En-Tja) music font
 % 
 % (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>,
-% Jan Nieuwenhuizen <janneke@gnu.org>
+% Jan Nieuwenhuizen <janneke@gnu.org>,
+% Juergen Reuter <reuterj@ira.uka.de>
 
 
 fet_begingroup("clefs");
@@ -629,7 +630,7 @@ fet_endchar;
 
 
 def draw_mensural_ii_c_clef(expr exact_center, reduction) = 
-       draw_brevis(exact_center, reduction, false, true);
+       draw_brevis(exact_center, reduction, true, true);
 
        save reduced_il, reduced_slt;
        save stem_width, interline;
@@ -727,7 +728,7 @@ def draw_diamond(expr exact_center, reduction) =
                cycle;
 enddef;
 
-def draw_mensural_f_clef(expr exact_center, reduction) =
+def draw_mensural_i_f_clef(expr exact_center, reduction) =
        %
        % inspired by Gaspar van Weerbeke, "Virgo Maria" (1502), in:
        % MGG, volume 9, col. 653 ("Motette"), fig. 3.; also by
@@ -782,17 +783,158 @@ def draw_mensural_f_clef(expr exact_center, reduction) =
 enddef;
 
 
-fet_beginchar("mensural f clef", "mensural_f", "mensfclef")
+fet_beginchar("mensural f clef", "mensural1_f", "mens1fclef")
        if test = 1:
                draw_staff(-1,3, 0.0);
        fi;
-       draw_mensural_f_clef((0,0), 1.0);
+       draw_mensural_i_f_clef((0,0), 1.0);
 fet_endchar;
-fet_beginchar("mensural f clef", "mensural_f_change", "cmensfclef")
-       draw_mensural_f_clef((0,0), .8);
+fet_beginchar("mensural f clef", "mensural1_f_change", "cmens1fclef")
+       draw_mensural_i_f_clef((0,0), .8);
 fet_endchar;
 
 
+def draw_mensural_ii_f_clef(expr exact_center, reduction) =
+       %
+       % inspired by Philippe le Duc, "Dite Signori" (1590), in: MGG,
+       % volume 3, col. 848 ("Duc"); also by John Dowland, "The First
+       % Booke of Songes" (1597), in: MGG, volume 3, col. 721
+       % ("Dowland"), fig. 3.
+
+       save reduced_slt, stem_width, reduced_nht, holeheight, beamheight;
+
+       reduced_slt# = stafflinethickness# * reduction;
+       stem_width# = 1.4 reduced_slt#;
+       reduced_nht# = noteheight# * reduction;
+       holeheight# = 3 reduced_slt#;
+       beamheight# = 0.4(reduced_nht# - holeheight#);
+
+       define_pixels(beamheight, stem_width, staff_space);
+
+       pickup pencircle
+               xscaled beamheight
+               yscaled stem_width
+               rotated 45;
+
+       draw
+               exact_center + (1.0 staff_space, 0.6 staff_space) --
+               exact_center + (1.25 staff_space, 0.4 staff_space);
+
+       draw
+               exact_center + (1.0 staff_space, -0.4 staff_space) --
+               exact_center + (1.25 staff_space, -0.6 staff_space);
+
+       draw    halfcircle scaled 1.2 staff_space rotated -90
+               shifted (-exact_center + (+0.1 staff_space, 0));
+
+       set_char_box(0, 3staff_space#, 3staff_space#, 0);
+enddef;
+
+fet_beginchar("mensural f clef", "mensural2_f", "mens2fclef")
+       if test = 1:
+               draw_staff(-1,3, 0.0);
+       fi;
+       draw_mensural_ii_f_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("mensural f clef", "mensural2_f_change", "cmens2fclef")
+       draw_mensural_ii_f_clef((0,0), .8);
+fet_endchar;
+
+
+def draw_mensural_g_clef(expr exact_center, reduction) =
+       %
+       % inspired by Francisco Guerrero, "Lib. 1.  Missarum" (1566),
+       % in: MGG, volume 3, col. 858 ("Ducis"); also by Stefano
+       % Fabri, "Quam speciosa veteranis" (1611), in: MGG, volume 3,
+       % col. 1698 ("Fabri"); also by Philippus Dulichius,
+       % "Fasciculus novus ..." (1598), in: MGG, volume 3, col. 919
+       % ("Dulichius"), fig. 1; also by Noe Faignient, "Ic sal de
+       % Heer myn God gebenedye" (1568), in: MGG, volume 3, col. 1735
+       % ("Faignient").
+       %
+       % Metafont code partially inspired by Schwabacher 'G' of yswab
+       % font.
+
+       save reduced_il, stem_width, height, width, apex_o, hair;
+
+       reduced_il#=staff_space#*reduction;
+
+       set_char_box(0.5reduced_il#, 1.5reduced_il#,
+                    1.5reduced_il#, 1.5reduced_il#);
+
+       stem_width# = 0.17 reduced_il#;
+       height# = 1.5 reduced_il#;
+       width# = 1.13 reduced_il#;
+       apex_o# = 0.02 reduced_il#;
+       hair# =  3 stafflinethickness#;
+       define_pixels(reduced_il, stem_width, height, width, apex_o, hair);
+
+       penpos1(2 stem_width, -142);
+       z1l = (0.715 width, 0.742 height);
+       penpos1'(hair, -90);
+       z1'l = z1r;
+       penpos2(1.179 stem_width, -142);
+       z2l = (width, 0.466 height);
+       penpos3(hair, 77);
+       z3 = (0.764 width, 0.067 height); 
+       z4 = (0.59 width, -apex_o);
+       penpos5(1.179 stem_width, 32);
+       z5l=(0, 0.457 height);
+       penpos6(hair, -56.5);
+       z7 = (x4 - 0.843 stem_width, height + apex_o);
+       z7 - z6l = whatever * dir33.5;
+       penpos8(1.286 stem_width, -130);
+       z8r = (0.715 width, 0.742 height) + (-apex_o, apex_o);
+       z6r - z8r = whatever * (z7 - z8l);
+       filldraw
+               z1'r{dir45} .. z2r{down} .. z3r{dir207} .. z5r{up} ..
+               z6r{z7-z6l} & z6r -- z8r -- z8l -- z7 --- z6l ...
+               z5l{down} .. z4{right} .. z3l{dir27} .. z2l{up} ..
+               z1l{1/3[z6l,z7]-z1l} & z1l -- z1r -- z1'r & cycle
+               shifted (-exact_center + (0, -0.75reduced_il));
+
+       penpos9(stem_width, 0);
+       x9r = x4; y9 = 0.3 height;
+
+       pickup pencircle
+               scaled stem_width
+               rotated 45;
+       draw    z9 -- (z9 + (0, -0.4reduced_il))
+               shifted (-exact_center + (0, -0.75reduced_il));
+
+       pickup pencircle
+               xscaled stem_width
+               yscaled hair
+               rotated 30;
+
+       draw halfcircle
+               scaled 0.5 reduced_il
+               rotated -90
+               shifted z8
+               shifted (0, 0.25reduced_il)
+               shifted (-exact_center + (0, -0.75reduced_il));
+
+       draw halfcircle
+               scaled 0.4 reduced_il
+               rotated 90
+               shifted (z8 + (0, 0.45 reduced_il))
+               shifted (0, 0.25reduced_il)
+               shifted (-exact_center + (0, -0.75reduced_il));
+enddef;
+
+
+fet_beginchar("mensural g clef", "mensural_g", "mensgclef")
+       if test = 1:
+               draw_staff(-1,3, 0.0);
+       fi;
+       draw_mensural_g_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("mensural g clef", "mensural_g_change", "cmensgclef")
+       draw_mensural_g_clef((0,0), .8);
+fet_endchar;
+
+
+
 %%%%%%%%
 %
 %
index b4a324105ef6e8a78b029fae5017b2e175395460..c94a3706f7ae80f3dbfd2b99574bb5e61540f80d 100644 (file)
        grestore 
 } bind def 
 
-/draw_bracket % arch_angle arch_width arch_height bracket_width bracket_height arch_thick bracket_thick
+/draw_bracket % arch_angle arch_width arch_height bracket_height arch_thick bracket_thick
 { 
        % urg
 
        /bracket_thick exch def
        /arch_thick exch def
        /bracket_height exch def
-       /bracket_width exch def
        /arch_height exch def
        /arch_width exch def
        /arch_angle exch def
index 666b5bae6efaa3abf17d018b494579338e9bdd15..1f90908b2eac1f5935daefc27fd288bab6bf0bd2 100644 (file)
@@ -37,7 +37,7 @@
          ("hufnagel_do3" . ("clefs-hufnagel_do" 3 0))
          ("hufnagel_fa1" . ("clefs-hufnagel_fa" -1 0))
          ("hufnagel_fa2" . ("clefs-hufnagel_fa" 1 0))
-         ("hufnagel" . ("clefs-hufnagel_do_fa" 4 0))
+         ("hufnagel_do_fa" . ("clefs-hufnagel_do_fa" 4 0))
          ("mensural1_c1" . ("clefs-mensural1_c" -4 0))
          ("mensural1_c2" . ("clefs-mensural1_c" -2 0))
          ("mensural1_c3" . ("clefs-mensural1_c" 0 0))
@@ -51,7 +51,9 @@
          ("mensural3_c2" . ("clefs-mensural3_c" 0 0))
          ("mensural3_c3" . ("clefs-mensural3_c" 2 0))
          ("mensural3_c4" . ("clefs-mensural3_c" 4 0))
-         ("mensural_f" . ("clefs-mensural_f" 2 0))
+         ("mensural1_f" . ("clefs-mensural1_f" 2 0))
+         ("mensural2_f" . ("clefs-mensural2_f" 2 0))
+         ("mensural_g" . ("clefs-mensural_g" -2 0))
        )
 )
 
           (iterator-ctor . ,Property_iterator::constructor)
           (value . ,(cadr e))
           )
+         
+;        ((symbol . forceClef)
+;         (iterator-ctor . ,Property_iterator::constructor)
+;         (value . #t)
+;         )
+
          ((symbol . clefPosition)
           (iterator-ctor . ,Property_iterator::constructor)
           (value . ,(caddr e))
index 07068dbbcdca6303aa33253ea1cdb2ccfd9bff43..2f3a0d5f003620ec92c835d5f6edb06998e7d74f 100644 (file)
@@ -57,7 +57,7 @@
                 ;; todo: clean this up a bit: the list is getting
                 ;; rather long.
                 (molecule-callback . ,Beam::brew_molecule)
-                (thickness . 0.48) ; in staff-space
+                (thickness . 0.42) ; in staff-space, should use stafflinethick?
                 (before-line-breaking-callback . ,Beam::before_line_breaking)
                 (after-line-breaking-callback . ,Beam::after_line_breaking)
                 (default-neutral-direction . 1)
index 6d0cd6bcb40ab1e71ad4075e5386ed0ac1b7e5f6..9d760daae4b12a7316223b25d6938a17000fb3ef 100644 (file)
@@ -29,19 +29,25 @@ This procedure is called (using dependency resolution) after line breaking. Retu
 (grob-property-description 'align-dir dir? "Which side to align? -1: left side, 0: around center of width, 1: right side")
 (grob-property-description 'alignment-done boolean? "boolean to administrate whether we've done the alignment already (to ensure that the process is done only once)")
 (grob-property-description 'all-elements list? "list of all grobs in this line. Needed for protecting grobs from GC.")
-(grob-property-description 'arch-angle number? "")
-(grob-property-description 'arch-height number? "")
-(grob-property-description 'arch-thick number? "")
-(grob-property-description 'arch-width number? "")
-(grob-property-description 'arithmetic-basicspace number? "")
-(grob-property-description 'arithmetic-multiplier number? "see arithmetic-basicspace")
+(grob-property-description 'arch-angle number? "turning angle of the hook of a system brace" )
+(grob-property-description 'arch-height number? "height of the hook of a system brace")
+(grob-property-description 'arch-thick number? "thickness of the hook of system brace")
+(grob-property-description 'arch-width number? "width of the hook of a system brace")
+(grob-property-description 'arithmetic-basicspace number? "see @ref{spacing-spanner-interface}")
+(grob-property-description 'arithmetic-multiplier number? "see @ref{spacing-spanner-interface}")
 (grob-property-description 'attachment pair? "cons of symbols, '(LEFT-TYPE . RIGHT-TYPE), where both types may be alongside-stem, stem, head or loose-end")
-(grob-property-description 'attachment-offset pair? "cons of offsets, '(LEFT-offset . RIGHT-offset).  This offset is added to the attachments to prevent ugly slurs.")
-(grob-property-description 'axes list? "list of axis numbers. Should contain only one number.")
-(grob-property-description 'axes list? "list of axis (number) in which this group works")
-(grob-property-description 'bar-size number? "")
-(grob-property-description 'bars list? "list of barline ptrs.")
-(grob-property-description 'barsize-procedure procedure? "how to compute the size of a bar line")
+
+(grob-property-description 'attachment-offset pair? "cons of offsets,
+'(LEFT-offset . RIGHT-offset).  This offset is added to the
+attachments to prevent ugly slurs.  [fixme: we need more documentation here].
+")
+
+(grob-property-description 'axes list? "list of axis numbers.
+
+In the case of alignment grobs, this should contain only one number.")
+(grob-property-description 'bar-size number? "size of a bar line")
+(grob-property-description 'bars list? "list of barline pointers.")
+(grob-property-description 'barsize-procedure procedure? "Procedure that computes the size of a bar line.")
 (grob-property-description 'bass list? " musical-pitch, optional")
 (grob-property-description 'beam ly-grob? "pointer to the beam, if applicable")
 (grob-property-description 'beam-space-function procedure? "function returning space given multiplicity")
@@ -49,7 +55,6 @@ This procedure is called (using dependency resolution) after line breaking. Retu
 (grob-property-description 'beam-thickness number? "thickness, measured in staffspace")
 (grob-property-description 'beam-thickness number? "thickness, measured in staffspace")
 (grob-property-description 'beam-width number? "width of the tremolo sign")
-(grob-property-description 'beam-width number? "width of the tremolo sign")
 (grob-property-description 'beamed-lengths list? "list of stem lengths given beam multiplicity ")
 (grob-property-description 'beamed-minimum-lengths list? "list of minimum stem lengths given beam multiplicity")
 (grob-property-description 'beamed-stem-shorten number? "shorten beamed stems in forced direction")
@@ -66,8 +71,7 @@ notes.  0.0 means no extra space (accidentals are ignored)")
  to dump between two systems. Useful for forcing pagebreaks")
 (grob-property-description 'bounded-by-me list? "list of spanners that have this
 column as start/begin point. Only columns that have grobs or act as bounds are spaced.")
-(grob-property-description 'bracket-thick number? "")
-(grob-property-description 'bracket-width number? "")
+(grob-property-description 'bracket-thick number? "width of a system start bracket. ")
 (grob-property-description 'break-align-symbol symbol? "the index in the spacing table (symbol) of the to be aligned item.")
 (grob-property-description 'break-glyph-function procedure? "function taking glyph and break-direction, returning the glyph at a line break")
 (grob-property-description 'breakable boolean? "boolean indicating if this is a breakable item (clef, barline, key sig, etc.)")
@@ -77,16 +81,12 @@ column as start/begin point. Only columns that have grobs or act as bounds are s
 be at the center of the group after aligning (when using
 Align_interface::center_on_element). ")
 
-(grob-property-description 'collapse-height number? "")
+(grob-property-description 'collapse-height number? "Minimum height of system start delimiter. If smaller, the delimiter is removed.")
 (grob-property-description 'column-space-strength number? "relative strength of space following breakable columns (eg. prefatory matter)")
-(grob-property-description 'columns list? "list of paper-columns")
-(grob-property-description 'columns list? " list of note-columns.")
-(grob-property-description 'columns list? "list of all paper columns")
+(grob-property-description 'columns list? "list of grobs, typically containing paper-columns, list of note-columns")
 (grob-property-description 'contains-grace boolean? "Used to widen entries for grace notes.")
-(grob-property-description 'control-points list? "List of 4 offsets (number-pairs) controlling the tie shape")
-(grob-property-description 'control-points list? "[internal] control points of bezier curve")
+(grob-property-description 'control-points list? "List of 4 offsets (number-pairs) that form control points for the  tie/slur shape")
 (grob-property-description 'damping integer? "amount of beam slope damping should beam slope be damped? 0: no, 1: yes, 100000: horizontal beams ")
-(grob-property-description 'damping number? "damping factor.")
 (grob-property-description 'dash-length number? "the length of a dash")
 (grob-property-description 'dash-period number? "the length of one dash + white space")
 (grob-property-description 'dashed number? "[FIXME: use dash-period/dash length; see text-spanner] number representing the length of the dashes.")
@@ -107,33 +107,27 @@ Align_interface::center_on_element). ")
 (grob-property-description 'duration-log integer? "log of the duration, ie. 0=whole note, 1 = half note, etc.")
 (grob-property-description 'edge-height pair? "a cons that specifies the heights of the vertical egdes '(LEFT-height . RIGHT-height)")
 (grob-property-description 'edge-text pair? "a cons that specifies the texts to be set at the edges '(LEFT-text . RIGHT-text)")
-(grob-property-description 'elements list? " -- list of items.")
-(grob-property-description 'elements list? "list of grobs (NoteColumn,
-generally) participating in the collision. The
-@code{rest-collision} property in @code{elements} is set
-to a pointer to the collision")
-(grob-property-description 'elements list? "to be aligned grobs ")
+(grob-property-description 'elements list? "list of grobs, type depending on the Grob where this is set in.")
 (grob-property-description 'expand-limit integer? "maximum number of measures expanded in church rests")
 (grob-property-description 'extra-extent-X number-pair? "enlarge in X dimension by this much, measured in staff space")
 (grob-property-description 'extra-extent-Y number-pair? "see @code{extra-extent-Y}")
 (grob-property-description 'extra-offset number-pair? "pair of reals (a cons) forcing an extra offset   before outputting")
-(grob-property-description 'extra-space number-pair? "pair of distances")
-(grob-property-description 'extra-space number-pair? "(cons LEFT RIGHT)")
+(grob-property-description 'extra-space number-pair? "pair of distances (cons LEFT RIGHT)")
 (grob-property-description 'extremity-offset-alist list? "an alist (attachment stem-dir*dir slur-dir*dir) -> offset.  The offset adds to the centre of the notehead, or stem.")
 
 (grob-property-description 'extremity-rules list? "an alist (procedure
 slur dir) -> attachment to determine the attachment (see above).  If
 procedure returns #t, attachment is used.  Otherwise, the next
 procedure is tried.")
-(grob-property-description 'flag-style string? "")
-(grob-property-description 'flag-width-function procedure? "")
+(grob-property-description 'flag-style string? "style for flag (hook of a stem)")
+(grob-property-description 'flag-width-function procedure? "Procedure that computes the width of a half-beam (a non-connecting beam.).")
 (grob-property-description 'font-family symbol? "partial font
 definition: music roman braces dynamic math ...")
 (grob-property-description 'font-name symbol? "partial font definition:
 base name of font file FIXME: should override other partials")
 (grob-property-description 'font-point-size number? "partial font definition: exact font size in points FIXME: should override font-relative-size")
-(grob-property-description 'font-relative-size number? "partial font definition: the relative size, 0 is style-sheet's normal size, -1 is smaller, +1 is bigger")
-(grob-property-description 'font-relative-size integer? "")
+(grob-property-description 'font-relative-size number? "partial font definition: the relative size compared the `normal' size.
+ 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller")
 (grob-property-description 'font-series symbol? "partial font definition: medium, bold")
 (grob-property-description 'font-shape symbol? "partial font definition: upright or italic")
 
@@ -145,19 +139,23 @@ dynamic")
 collision_note_width that overides automatic collision settings. This
 is used by @ref{note-collision-interface}")
 
-(grob-property-description 'fraction number-pair? "")
+(grob-property-description 'fraction number-pair? "fraction of a time signature.")
 (grob-property-description 'full-size-change boolean? "if set, don't make a change clef smaller.")
 
 (grob-property-description 'glyph symbol? "a string determining what (style) of  glyph is typeset. Valid choices depend on the function that is reading this property. ")
-(grob-property-description 'gap number? "Size of a gap in a variable symbol")
 (grob-property-description 'glyph-name string? "a name of character within font")
 
+(grob-property-description 'gap number? "Size of a gap in a variable symbol")
+
 (grob-property-description 'grow-direction dir? "crescendo or decrescendo?")
 (grob-property-description 'hair-thickness number? "thickness, measured in stafflinethickness")
-(grob-property-description 'heads pair? "pair of grob pointers, pointing to the two heads of the  tie. ")
-(grob-property-description 'heads list? "list of note heads")
+(grob-property-description 'heads pair? "list of note heads,
+
+FIXME: in Tie this is a pair of grob pointers, pointing to the two heads of the  tie.
+
+")
 (grob-property-description 'height number? "in staffspace ")
-(grob-property-description 'height-hs number? "in halfspace.  Only used by Beam.")
+(grob-property-description 'height-hs number? "in halfspace.  Only used by Beam.") ; Remove-me 
 (grob-property-description 'height-quants procedure? "function of type (beam staff-line-thickness) -> list of quants.  Default value: default-beam-dy-quants.
 ")
 (grob-property-description 'horizontal-shift integer? "integer that identifies ranking of note-column for horizontal shifting. This is used by @ref{note-collision-interface}")
@@ -166,8 +164,11 @@ is used by @ref{note-collision-interface}")
 (grob-property-description 'interfaces list? "list of symbols indicating the interfaces supported by this object. Is initialized from the @code{meta} field.")
 (grob-property-description 'inversion list? " musical-pitch, optional")
 (grob-property-description 'items-worth-living list? "list of interesting items. If empty in a particular system, clear that system.")
-(grob-property-description 'kern number? "amount of extra white space to add before text.  This is `relative'(?) to the current alignment.")
-(grob-property-description 'kern number? "space after a thick line")
+(grob-property-description 'kern number? "amount of extra white space to add.
+
+For text,  this is `relative'(?) to the current alignment.
+
+For barline, space after a thick line")
 (grob-property-description 'left-padding number? "space left of accs")
 (grob-property-description 'length number? "Stem length for unbeamed stems, only for user override")
 (grob-property-description 'lengths list? "Stem length given multiplicity of flag")
@@ -182,17 +183,15 @@ is used by @ref{note-collision-interface}")
 (grob-property-description 'minimum-distances list? "list of rods (ie. (OBJ . DIST) pairs)")
 (grob-property-description 'minimum-extent-X number-pair? "minimum size in X dimension, measured in staff space")
 (grob-property-description 'minimum-extent-Y number-pair? "see @code{minimum-extent-Y}")
-(grob-property-description 'minimum-length number? "minimum length in staffspace")
-
 (grob-property-description 'minimum-length number? "try to make the
-hyphens at least this long. Also works as a scaling parameter for the
-length")
+Grob at least this long.
+
+Also works as a scaling parameter for the length of hyphen. ")
 
 ;; FIXME.
 (grob-property-description 'minimum-space number-pair? "(cons LEFT RIGHT)")
 (grob-property-description 'minimum-space number? "minimum distance that the victim should move (after padding)")
 
-
 (grob-property-description 'minimum-width number? "minimum-width of rest symbol, in staffspace")
 (grob-property-description 'molecule-callback procedure? "Function taking grob as argument, returning a Scheme encoded Molecule.")
 (grob-property-description 'new-accidentals list? "list of (pitch, accidental) pairs")
@@ -200,7 +199,7 @@ length")
 (grob-property-description 'no-stem-extend boolean? "should stem not be extended to middle staff line?")
 (grob-property-description 'non-default boolean? "not set because of existence of a bar?")
 (grob-property-description 'note-width number? "unit for horizontal translation, measured in staff-space.")
-(grob-property-description 'number-gap number? "")
+(grob-property-description 'number-gap number? "size of the gap for the number in a tuplet.")
 (grob-property-description 'old-accidentals list? "list of (pitch, accidental) pairs")
 (grob-property-description 'origin ly-input-location? "location in input file of the definition")
 (grob-property-description 'outer-stem-length-limit number? "catch
@@ -208,12 +207,11 @@ suspect beam slopes, set slope to zero if outer stem is lengthened
 more than this (in staffspace)")
 
 (grob-property-description 'padding number? "add this much extra space between objects that are next to each other")
-
 (grob-property-description 'parallel-beam boolean? "internal: true if there is a beam just as wide as the bracket ")
 (grob-property-description 'pitches list? "list of musical-pitch")
 (grob-property-description 'raise number? "height for text to be raised (a negative value lowers the text")
 (grob-property-description 'right-padding number? "space right of accs")
-(grob-property-description 'right-trim-amount number? "")
+(grob-property-description 'right-trim-amount number? "shortening of the lyric extender on the right")
 (grob-property-description 'script-priority number? "A sorting key that determines in what order a script is within a stack of scripts")
 (grob-property-description 'self-alignment-X number? "real number: -1 =
 left aligned, 0 = center, 1 right-aligned in X direction.
@@ -236,7 +234,6 @@ itself.  Return value is ignored")
 (grob-property-description 'stacking-dir dir? "stack contents of grobs in which direction ?")
 (grob-property-description 'staff-space number? "Amount of line leading relative to global staffspace")
 (grob-property-description 'staffline-clearance number? "don't get closer than this to stafflines.")
-(grob-property-description 'stem ly-grob? "pointer to the stem object.")
 (grob-property-description 'stem ly-grob? "pointer to Stem object")
 (grob-property-description 'stem-centered boolean? "Center stems on note heads. Useful for mensural notation")
 (grob-property-description 'stem-end-position number? "Where does the stem end (the end is opposite to the support-head")
@@ -319,4 +316,4 @@ function of type (beam multiplicity dy staff-line-thickness) -> real.  Default v
 (grob-property-description 'x-gap number? "horizontal gap between notehead and tie")
 (grob-property-description 'y-free number? "minimal vertical gap between slur and noteheads or stems")
 (grob-property-description 'y-position number? "position of left edge")
-(grob-property-description 'y-position-hs number? "in half space, position of left edge.  Only used by Beam.")
+(grob-property-description 'y-position-hs number? "in half space, position of left edge.  Only used by Beam.") ;FXIME
index 9b0d034e514fc0fc9ac67a892e02c2a2265d3aa4..e6a034a0606b977bbb5eb280a0bd622a64f94c38 100644 (file)
@@ -305,8 +305,34 @@ object."
 (define time-signature-interface
   (lily-interface
    'time-signature-interface
-   "A time signature, in different styles"
-   '( fraction style )))
+   "A time signature, in different styles.
+  The following values for 'style are are recognized:
+
+    @table @samp
+      @item @code{C}
+        4/4 and 2/2 are typeset as C and struck C, respectively.  All
+        other time signatures are written with two digits.
+
+      @item @code{old}
+        2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are
+        typeset with old-style mensuration marks.  All other time
+        signatures are written with two digits.
+
+      @item @code{1xxx}
+        All time signatures are typeset with a single
+        digit, e.g. 3/2 is written as 3. (Any symbol starting
+       with the digit @code{1} will do.)
+
+      @item @code{C}@var{M}@code{/}@var{N}, 
+@code{old}@var{M}@code{/}@var{N} or
+      @code{old6/8alt}
+        Tells LilyPond to use a specific symbol as time signature, 
+       regardless of the actual time signature.
+    @end table
+
+See also the test-file @file{input/test/time.ly}.
+"
+   '(fraction style )))
 
 (define bar-line-interface
   (lily-interface
@@ -746,7 +772,7 @@ direction = Forced direction for all ties"
 (define span-bar-interface
   (lily-interface
    'span-bar-interface
-   ""
+   "A bar line that spans other barlines (typically used to get cross-staff barlines."
    '(
     )))
 
index be85c4c3734bf6fdde892a8acf28d20112cdb7a1..fee21739834b82cf1c6e73d41aedaf2120d5adc3 100644 (file)
@@ -60,9 +60,9 @@
   (define (comment s)
     (string-append "% " s))
 
-  (define (bracket arch_angle arch_width arch_height width height arch_thick thick)
+  (define (bracket arch_angle arch_width arch_height  height arch_thick thick)
     (string-append
-     (numbers->string (list arch_angle arch_width arch_height width height arch_thick thick)) " draw_bracket" ))
+     (numbers->string (list arch_angle arch_width arch_height height arch_thick thick)) " draw_bracket" ))
 
   (define (char i)
     (invoke-char " show" i))
index fb3212d41230be5f198a53b8b38a3e6bfbdbe95e..0cf48cd80d714e5bf048ab29693a6fe9f51b8858 100644 (file)
@@ -37,8 +37,8 @@
   (define (beam width slope thick)
     (embedded-ps ((ps-scm 'beam) width slope thick)))
 
-  (define (bracket arch_angle arch_width arch_height width height arch_thick thick)
-    (embedded-ps ((ps-scm 'bracket) arch_angle arch_width arch_height width height arch_thick thick)))
+  (define (bracket arch_angle arch_width arch_height height arch_thick thick)
+    (embedded-ps ((ps-scm 'bracket) arch_angle arch_width arch_height height arch_thick thick)))
 
   (define (dashed-slur thick dash l)
     (embedded-ps ((ps-scm 'dashed-slur)  thick dash l)))
index 77a42612e892ddd56a0e0259e7c018c1959ada07..32c66834b7d59bfcfd926523f2cfdc35e8137227 100644 (file)
@@ -455,15 +455,9 @@ to any Graphic objects that satisfies the predicate."
     'Piano_pedal_engraver
     (engraver-description
      "Piano_pedal_engraver"
-     "engrave Piano pedals symbols."
+     "Engrave piano pedal symbols."
      '(SostenutoPedal SustainPedal UnaChordaPedal)
-     '(
-      
-       startSustain
-       stopSustain
-       stopStartSustain
-       startUnaChorda
-       stopUnaChorda
+     '(pedalSostenutoStrings pedalSustainStrings pedalUnaChordaStrings
       )))
 
    (cons 
index 866a237ef7f9dd9c0375256cba4f03aaad629644..4c5b2199ca013bab0c6cb3e69401558a01d3b386 100644 (file)
@@ -29,7 +29,7 @@ than can be plugged into the backend directly. See the init file
 deprecated.
 ")
 (translator-property-description 'aDueText string? "text for begin of a due")
-(translator-property-description 'associatedVoice string? "")
+(translator-property-description 'associatedVoice string? "Name of the Voice that has the melody for this LyricsVoice.")
 (translator-property-description 'autoBeamSettings list? "
 Specifies when automatically generated beams should begin and end.  The elements have the format:
 
@@ -60,6 +60,7 @@ The head of the list:
     )
 
 @end example")
+
 (translator-property-description 'automaticPhrasing boolean? " If set,
 the @ref{Lyric_phrasing_engraver} will match note heads of context
 called Voice X to syllables from LyricsVoice called
@@ -71,6 +72,7 @@ file @file{lyrics-multi-stanza.ly}.
 set, \addlyrics will assume that beams, slurs and ties signal
 melismata, and align lyrics accordingly.
 ")
+
 (translator-property-description 'barAlways boolean? " If set to true a bar line is drawn after each note.
 ")
 (translator-property-description 'barCheckNoSynchronize boolean? "If set, don't reset measurePosition when finding a bbarcheck. This
@@ -82,7 +84,6 @@ makes bar-checks for polyphonic music easier.")
     count if this property is set to zero.
 ")
 (translator-property-description 'beamMelismaBusy boolean? "Signal if a beam is set when automaticMelismata is set")
-(translator-property-description 'beamMelismaBusy boolean? "")
 (translator-property-description 'breakAlignOrder list? "Defines the order in which
 prefatory matter (clefs, key signatures) appears, eg. this puts the
 key signatures after the bar lines:
@@ -113,19 +114,18 @@ this much extra octavation. Values of 7 and -7 are common.")
 set, connect all arpeggios that are found.  In this way, you can make
 arpeggios that cross staffs.
 ")
-(translator-property-description 'createKeyOnClefChange boolean? "")
-(translator-property-description 'currentBarNumber integer? "this is read to determine
- the number to put on the bar ")
+(translator-property-description 'createKeyOnClefChange boolean? "Print a key signature whenever the clef is changed.")
 (translator-property-description 'currentBarNumber integer? "Contains the current barnumber. This property is incremented at
 every barline.
 ")
-(translator-property-description 'currentCommandColumn ly-grob? "")
-(translator-property-description 'currentMusicalColumn ly-grob? "")
+(translator-property-description 'currentCommandColumn ly-grob? "Grob that is X-parent to all current breakable (clef, key signature, etc.) items.")
+(translator-property-description 'currentMusicalColumn ly-grob? "Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).")
 (translator-property-description 'defaultBarType string? "Sets the default type of bar line.  Available bar types: [FIXME]
 ")
 (translator-property-description 'drarnChords boolean? "")
 (translator-property-description 'explicitClefVisibility procedure? "visibility-lambda function for clef changes.")
-(translator-property-description 'explicitKeySignatureVisibility procedure? "")
+(translator-property-description 'explicitKeySignatureVisibility procedure? "visibility-lambda function for explicit Key changes.")
+(translator-property-description 'forceClef boolean? "Show clef symbol, even if it hasn't changed.")
 (translator-property-description 'forgetAccidentals boolean? "do
 not set localKeySignature when a note alterated differently from
 localKeySignature is found.
@@ -144,22 +144,34 @@ remembered for the duration of a measure.
     property is used to label subsequent lines.  If the
     @code{midiInstrument} property is not set, then @code{instrument}
     is used to determine the instrument for MIDI output.")
-(translator-property-description 'keyAccidentalOrder list? "")
+(translator-property-description 'keyAccidentalOrder list? "
+Alist that defines in what order  alterations should be printed.
+The format is (NAME . ALTER), where NAME is from 0 .. 6 and ALTER from  -1, 1.
+")
 (translator-property-description 'keyOctaviation boolean? "")
-(translator-property-description 'keySignature list? "")
-(translator-property-description 'keySignature list? "")
-(translator-property-description 'localKeySignature list? "the key signature at this point  in the measure")
-(translator-property-description 'measureLength moment? "  How long does one measure in the current time signature last?")
-(translator-property-description 'measurePosition moment? "
-  How much of the current measure (measured in whole notes) have we had?
-
-Set this  manually to  create  incomplete measures (anacrusis, upbeat), eg. at the start of 
-the music.
+(translator-property-description 'keySignature list? "The current key signature. This is an alist containing (NAME . ALTER) pairs, where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2 ")
+
+(translator-property-description 'localKeySignature list? "the key
+signature at this point in the measure.  The format is an alist with
+entries of the form (NAME . ALTER) 
+or ((OCTAVE . NAME)  . ALTER), 
+where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2" 
+) 
+
+(translator-property-description 'measureLength moment? "Length of one
+measure in the current time signature last?")
+(translator-property-description 'measurePosition moment? " How much
+of the current measure (measured in whole notes) have we had.  This
+can be set manually to create incomplete measures (anacrusis, upbeat),
+the start of the music.
 ")
-(translator-property-description 'melismaBusy boolean? "")
-(translator-property-description 'melismaEngraverBusy boolean? "")
-(translator-property-description 'midiInstrument string? "")
-(translator-property-description 'noAutoBeaming boolean? "  If set to true then beams are not generated automatically.
+(translator-property-description 'melismaBusy boolean? "Signifies
+whether a melisma is active. This can be used to signal melismas on
+top of those automatically detected. ")
+(translator-property-description 'melismaEngraverBusy boolean? "See @ref{melismaBusy}. This is set automatically.")
+(translator-property-description 'midiInstrument string? "Name of the
+MIDI instrument to use ")
+(translator-property-description 'noAutoBeaming boolean? "If set to true then beams are not generated automatically.
 ")
 (translator-property-description 'noResetKey boolean? "Do not
 reset local key to the value of keySignature at the start of a measure,
@@ -170,76 +182,81 @@ printed only once and are in effect until overridden, possibly many
 measures later.
 ")
 (translator-property-description 'oneBeat moment? "  How long does one beat in the current time signature last?")
+(translator-property-description 'pedalSustainStrings list? "List of   string to print for sustain-pedal. Format is
+ (UP UPDOWN DOWN), where each of the three is the string to print when
+this is done with the pedal.")
+(translator-property-description 'pedalUnaChordaStrings string? "see pedalSustainStrings.")
+(translator-property-description 'pedalSostenutoStrings string? "see pedalSustainStrings.")
+
 (translator-property-description 'phrasingPunctuation string? "")
 (translator-property-description 'rehearsalMark number-or-string? "")
 (translator-property-description 'repeatCommands list? "This property is read to find any command of the form (volta . X), where X is a string or #f")
 (translator-property-description 'repeatCommands list? "")
 (translator-property-description 'scriptDefinitions list? "
-Description of scripts to use.  (fixme) 
+Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See @file{scm/script.scm} for more information
 ")
-(translator-property-description 'scriptHorizontal boolean? "    Put scripts left or right of note heads.  Support for this is
-    limited.  Accidentals will collide with scripts.
-    
+
+(translator-property-description 'scriptHorizontal boolean? "  Put
+scripts left or right of note heads.  Support for this is limited.
+Accidentals will collide with scripts.
 ")
-(translator-property-description 'scriptHorizontal boolean? "    Put scripts left or right of note heads.  Support for this is
-    limited.  Accidentals will collide with scripts.
-    
+(translator-property-description 'scriptHorizontal boolean? "  Put
+scripts left or right of note heads.  Support for this is limited.
+Accidentals will collide with scripts.
 ")
-(translator-property-description 'skipBars boolean? " Set to true to skip the empty bars that are produced by
-    multimeasure notes and rests.  These bars will not appear on the
-    printed output.  If not set (the default)  multimeasure
-    notes and rests expand into their full length, printing the appropriate
-    number of empty bars so that synchronization with other voices is
-    preserved.
-
-@c my @vebatim patch would help...
+
+(translator-property-description 'skipBars boolean? " Set to true to
+skip the empty bars that are produced by multimeasure notes and rests.
+These bars will not appear on the printed output.  If not set (the
+default) multimeasure notes and rests expand into their full length,
+printing the appropriate number of empty bars so that synchronization
+with other voices is preserved.
+
+
 @example
 @@lilypond[fragment,verbatim,center]
-r1 r1*3 R1*3property Score.skipBars=1 r1*3 R1*3
+r1 r1*3 R1*3  \\\\property Score.skipBars= ##t r1*3 R1*3
 
 @@end lilypond
 @end example
 
 ")
-(translator-property-description 'slurBeginAttachment symbol? "translates to the car of grob-property 'attachment.")
-(translator-property-description 'slurEndAttachment symbol? "translates to the cdr of grob-property 'attachment.")
-(translator-property-description 'slurMelismaBusy boolean? "")
+(translator-property-description 'slurBeginAttachment symbol?
+"translates to the car of grob-property 'attachment of NoteColumn. See
+@ref{Grob Slur}.")
+
+(translator-property-description 'slurEndAttachment symbol? "translates to the cdr of grob-property 'attachment of NoteColumn. See @ref{Grob Slur}.")
 (translator-property-description 'slurMelismaBusy boolean? "Signal a slur if automaticMelismata is set")
-(translator-property-description 'solo boolean? "set if solo is detected")
-(translator-property-description 'soloADue boolean? "set Solo/A due texts?")
-(translator-property-description 'soloIIText string? "text for begin of solo for voice ``two''")
-(translator-property-description 'soloText string? "text for begin of solo")
+(translator-property-description 'solo boolean? "set if solo is detected by the part combiner")
+(translator-property-description 'soloADue boolean? "set Solo/A due texts in the part combiner?")
+(translator-property-description 'soloIIText string? "text for begin of solo for voice ``two'' when part-combining")
+(translator-property-description 'soloText string? "text for begin of solo when part-combining")
 (translator-property-description 'sparseTies boolean? "only create one tie per chord.")
-(translator-property-description 'split-interval number-pair? "always split into two voices for contained intervals")
+(translator-property-description 'split-interval number-pair? "always split into two voices for contained intervals when part-combining")
 (translator-property-description 'squashedPosition integer? " Vertical position of
-squashing.")
+squashing for Pitch_squash_engraver.")
 (translator-property-description 'staffsFound list? "list of all staff-symbols found.")
-(translator-property-description 'staffsFound list? "")
-(translator-property-description 'stanza string? "Stanza `number' to print at start of a verse")
-(translator-property-description 'startSustain string? "")
-(translator-property-description 'startUnaChorda string? "")
+(translator-property-description 'stanza string? "Stanza `number' to print at start of a verse. Use in LyricsVoice context.")
+
+
 (translator-property-description 'stemLeftBeamCount integer? "
 Specify the number of beams to draw on the left side of the next note.
 Overrides automatic beaming.  The value is only used once, and then it
 is erased.
 ")
 (translator-property-description 'stemRightBeamCount integer? "idem, for the right side")
-(translator-property-description 'stopStartSustain string? "")
-(translator-property-description 'stopSustain string? "")
-(translator-property-description 'stopUnaChorda string? "")
-(translator-property-description 'stz string? "")
+(translator-property-description 'stz string? "Abbreviated form for a stanza, see also Stanza property.")
 (translator-property-description 'textNonEmpty boolean? " If set
 to true then text placed above or below the staff is not assumed to
-have zero width.  @code{fatText} and @code{emptyText} are predefined
+have zero width.  @code{\fatText} and @code{\emptyText} are predefined
 settings.
 ")
-(translator-property-description 'tieMelismaBusy boolean? "")
 (translator-property-description 'tieMelismaBusy boolean? "Signal ties when automaticMelismata is set")
 (translator-property-description 'timeSignatureFraction number-pair? "
 pair of numbers,  signifying the time signature. For example #'(4 . 4) is a 4/4time signature.")
 (translator-property-description 'timing boolean? " Keep administration of measure length, position, bar number, etc?
 Switch off for cadenzas.")
-(translator-property-description 'tremoloFlags integer? "")
+(translator-property-description 'tremoloFlags integer? "Number of tremolo flags to add if none is specified.")
 (translator-property-description 'tupletInvisible boolean? "
     If set to true, tuplet bracket creation is switched off
 entirely. This has the same effect as setting both
@@ -260,9 +277,9 @@ context Voice       imes 2/3 @{
 @@end lilypond
 @end example
 ")
-(translator-property-description 'unirhythm boolean? "set if unirhythm is detected")
-(translator-property-description 'unisilence boolean? "set if unisilence is detected")
-(translator-property-description 'unison boolean? "set if unisono is detected  ")
+(translator-property-description 'unirhythm boolean? "set if unirhythm is detected by the part combiner.")
+(translator-property-description 'unisilence boolean? "set if unisilence is detected by the part combiner.")
+(translator-property-description 'unison boolean? "set if unisono is detected  by the part combiner. ")
 (translator-property-description 'verticalAlignmentChildCallback
 procedure? "what callback to add to children of a vertical alignment.
 It determines what alignment procedure is used on the alignment
@@ -277,15 +294,21 @@ have odd effects if the specified duration is longer than the music
 given in an @code{\\alternative}.
 ")
 (translator-property-description 'weAreGraceContext boolean? "")
-(translator-property-description 'whichBar string? "This property is read to determine what type of barline to create.
+(translator-property-description 'whichBar string?
+                                "This property is read to determine what type of barline to create.
+
 Example:
 @example
 \\property Staff.whichBar = \"|:\"
 @end example
-will create a start-repeat bar in this staff only 
+
+This will create a start-repeat bar in this staff only.
+
+If not set explicitly (by property or @code{\bar}), this is set
+according to values of @code{defaultBarType}, @code{barAlways},
+@code{barNonAuto} and @code{measurePosition}.
+
+Legal values are described in @ref{(lilypond-internals)bar-line-interface}.
+
 ")
-(translator-property-description 'whichBar string? "")
-(translator-property-description 'whichBar string? "if not set
-explicitly (by property or bar), this is set according to values of
-defaultBarType, barAlways, barNonAuto and measurePosition.
- ")
+
index 01e5b310205987fa9d2536a0d14faa6c3cc9aa4a..045371f4e5687963d26a648c0acbb2b2ce9845c0 100644 (file)
@@ -612,6 +612,22 @@ if 1:
        conversions.append (((1,3,117), conv, 'identifier names: $!foo_bar_123 -> xfooBarABC'))
 
 
+if 1:
+       def conv (str):
+               def regularize_paper (match):
+                       return regularize_id (match.group (1))
+               
+               str = re.sub ('(paper_[a-z]+)', regularize_paper, str)
+               str = re.sub ('sustainup', 'sustainUp', str)
+               str = re.sub ('sustaindown', 'sustainDown', str)
+               str = re.sub ('sostenutoup', 'sostenutoUp', str)
+               str = re.sub ('sostenutodown', 'sostenutoDown', str)
+               str = re.sub ('unachorda', 'unaChorda', str)
+               str = re.sub ('trechorde', 'treChorde', str)
+       
+               return str
+       
+       conversions.append (((1,3,120), conv, 'paper_xxx -> paperXxxx, pedalup -> pedalUp.'))
 
 ############################
        
index 3414e05b34b3a0880476dee23cbd8de135201004..d8d6046c95a90e01ed0326855d75042f63a90ef8 100755 (executable)
@@ -617,19 +617,17 @@ echo "configure:617: checking Package" >&5
     if test "x$PACKAGE" = "xSTEPMAKE"; then
        echo "$ac_t""Stepmake package!" 1>&6
 
-       #if test "x$builddir" != "x"; then
-       #    builddir="../$builddir"
-       #else
-       #    builddir=..
-       #fi
-       if test "$srcdir" != "."; then
+       echo $ac_n "checking builddir""... $ac_c" 1>&6
+echo "configure:622: checking builddir" >&5
+       if test "$srcdir" = "."; then
+           builddir=.
+       else
            absolute_builddir="`pwd`"
            package_absolute_builddir="`dirname $absolute_builddir`"
            package_srcdir="`dirname  $srcdir`"
            builddir="`dirname $package_srcdir`/`basename $package_absolute_builddir`/`basename $absolute_builddir`"
-       else
-           builddir=.
        fi
+       echo "$ac_t""$builddir" 1>&6
 
        (cd stepmake 2>/dev/null || mkdir stepmake)
        (cd stepmake; rm -f stepmake; ln -s ../$srcdir/stepmake .)
@@ -657,22 +655,40 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
     else
         echo "$ac_t""$PACKAGE" 1>&6
 
-       if test "$srcdir" != "."; then
-           absolute_builddir="`pwd`"
-           builddir="`dirname  $srcdir`/`basename $absolute_builddir`"
-       else
+       echo $ac_n "checking builddir""... $ac_c" 1>&6
+echo "configure:660: checking builddir" >&5
+       if test "$srcdir" = "."; then
            builddir=.
+           srcdir_build=no
+       else
+           absolute_builddir="`pwd`"
+#          builddir="`dirname  $srcdir`/`basename $absolute_builddir`"
+           builddir="`bash $srcdir/buildscripts/walk.sh \"$srcdir\"`"
+           srcdir_build=yes
+       fi
+       echo "$ac_t""$builddir" 1>&6
+       if expr "$srcdir" : '/' > /dev/null 2>&1; then
+           absolute_srcdir=yes
+           
+    echo "configure: warning: Absolute --srcdir specified: $srcdir" 1>&2
+    warn_b=yes
+
        fi
 
        echo $ac_n "checking for stepmake""... $ac_c" 1>&6
-echo "configure:669: checking for stepmake" >&5
+echo "configure:680: checking for stepmake" >&5
        # Check for installed stepmake
        if test -d $stepmake; then
            echo "$ac_t""$stepmake" 1>&6
        else
-           stepmake='$(depth)'/$srcdir/stepmake
+           if test "$absolute_srcdir" != "yes"; then
+               stepmake='$(depth)'/$srcdir/stepmake
+           else
+               stepmake=$srcdir/stepmake
+           fi
            echo "$ac_t""$srcdir/stepmake  ($datadir/stepmake not found)" 1>&6
        fi
+
        ac_aux_dir=
 for ac_dir in \
          $HOME/usr/local/share/stepmake/bin\
@@ -781,7 +797,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:785: checking host system type" >&5
+echo "configure:801: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -806,7 +822,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:810: checking for $ac_word" >&5
+echo "configure:826: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -841,7 +857,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:845: checking for $ac_word" >&5
+echo "configure:861: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -878,7 +894,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:882: checking for $ac_word" >&5
+echo "configure:898: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_TAR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -913,7 +929,7 @@ test -n "$TAR" || TAR="error"
        # Extract the first word of "bash", so it can be a program name with args.
 set dummy bash; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:917: checking for $ac_word" >&5
+echo "configure:933: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -953,7 +969,7 @@ fi
        # Extract the first word of "bash", so it can be a program name with args.
 set dummy bash; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:957: checking for $ac_word" >&5
+echo "configure:973: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_SHELL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -990,7 +1006,7 @@ fi
        # Extract the first word of "bash", so it can be a program name with args.
 set dummy bash; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:994: checking for $ac_word" >&5
+echo "configure:1010: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1031,7 +1047,7 @@ fi
     # Extract the first word of "${PYTHON:-python}", so it can be a program name with args.
 set dummy ${PYTHON:-python}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1035: checking for $ac_word" >&5
+echo "configure:1051: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1198,7 +1214,7 @@ fi
 
 
     echo $ac_n "checking language""... $ac_c" 1>&6
-echo "configure:1202: checking language" >&5    
+echo "configure:1218: checking language" >&5    
     case "$language" in
       En* | en* | Am* | am* | US* | us*)
            lang=English;;
@@ -1233,7 +1249,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1237: checking for $ac_word" >&5
+echo "configure:1253: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1640,10 +1656,13 @@ rm -fr confdefs* $ac_clean_files
 test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
 
 
-    rm -f $srcdir/GNUmakefile
-    cp $srcdir/make/toplevel.make.in $srcdir/GNUmakefile
-    chmod 444 $srcdir/GNUmakefile
-    if test "$builddir" != "."; then
+    # regular in-place build
+    # test for srcdir_build = yes ?
+    if test "$builddir" = "."; then
+       rm -f $srcdir/GNUmakefile
+       cp $srcdir/GNUmakefile.in $srcdir/GNUmakefile
+       chmod 444 $srcdir/GNUmakefile
+    else # --srcdir build
         rm -f GNUmakefile
        cp $srcdir/make/srcdir.make.in GNUmakefile
        chmod 444 GNUmakefile
diff --git a/stepmake/make/toplevel.make.in b/stepmake/make/toplevel.make.in
deleted file mode 100644 (file)
index e69de29..0000000