From 1f0d3e5ed0e3b1f0a21a7d64e5b9c7e27bba4f5a Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 6 Nov 2002 13:29:00 +0000 Subject: [PATCH] * Merge from stable: cvs update -jlilypond_1_6_6 -jlilypond_1_6_6_1 --- ChangeLog | 59 ++++++++++++++++++++++++++ Documentation/topdocs/INSTALL.texi | 4 +- Documentation/user/music-glossary.tely | 4 +- Documentation/user/refman.itely | 20 +++++---- Documentation/windows/installing.texi | 12 +++--- GNUmakefile.in | 8 ++++ THANKS | 1 + aclocal.m4 | 28 ++++++------ lily/main.cc | 19 +++------ lily/rest-collision.cc | 7 ++- ps/music-drawing-routines.ps | 3 -- python/lilylib.py | 1 + scripts/midi2ly.py | 13 +++--- scripts/mup2ly.py | 3 +- scripts/update-lily.py | 4 +- stepmake/aclocal.m4 | 26 ++++++------ tex/lily-ps-defs.tex | 42 ++++++++++++------ 17 files changed, 170 insertions(+), 84 deletions(-) diff --git a/ChangeLog b/ChangeLog index 14305d368a..60ad34f219 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2002-11-06 Jan Nieuwenhuizen + * Merge from stable: + + cvs update -jlilypond_1_6_6 -jlilypond_1_6_6_1 + * ly/paper16-init.ly (paperSixteen): Bugfix: set fonts instead of stylesheet. @@ -465,6 +469,61 @@ (schedule_lilypond_block): Implement `noquote' option for LaTeX mode. +2002-11-03 Jan Nieuwenhuizen + + * ChangeLog: Add 1.6.6 release marker. See below. + + * stepmake/stepmake/po-targets.make: Remove --c++ option. + + * scripts/midi2ly.py: Fix global syntax warnings. + + * GNUmakefile.in: Generate builddir locale tree too. + + * scripts/ly2dvi.py: + * scripts/midi2ly.py: + * scripts/mup2ly.py: + * scripts/update-lily.py: + * lily/main.cc (setup_paths): Fix for locales setup. + +2002-10-29 Jan Nieuwenhuizen + + * Documentation/windows/installing.texi: Soften wording about + necessity of becoming Administrator. tommie@iae.nl reports this + does not seem to be necessary for his flavour of Windows 2000. + Explicitely discourage text mode mounts. + +2002-10-27 Han-Wen Nienhuys + + * lily/rest.cc (after_line_breaking): backport dot position fix. + + * lily/rest-collision.cc (do_shift): also remove dots for suicided + rests. Thanks to Klaus Zimmermann for finding this bug. + +2002-10-24 Jan Nieuwenhuizen + + * Documentation/topdocs/INSTALL.texi: Correction for broken /bin/sh. + +2002-10-24 Han-Wen Nienhuys + + * Documentation/user/music-glossary.tely: fix links. + +2002-10-21 Werner Lemberg + + * tex/lily-ps-defs.tex (\lilypondsetdimen): Define ID macro. + (\lilypondpostscript): Define PS macros `lyscaleXXX' (`XXX' is the + scaling factor) only once and use them in the definition of + \embeddedps. + * ps/music-drawing-routines.ps (skeel): Removed. + +2002-10-21 Jan Nieuwenhuizen + + * stepmake/aclocal.m4: Changed 6 instances of $( ) to ` `, for + Solaris7, as we don't use nested $( ) constructs. + +2002-10-21 Han-Wen Nienhuys + + * VERSION: Release 1.6.6. + 2002-10-21 Jan Nieuwenhuizen * Documentation/topdocs/INSTALL.texi: Add note about using ksh for diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi index c96536c400..2ff60036d3 100644 --- a/Documentation/topdocs/INSTALL.texi +++ b/Documentation/topdocs/INSTALL.texi @@ -730,11 +730,11 @@ CFLAGS='-I /usr/pkg/include' LDFLAGS='-L/usr/pkg/lib' ./configure @file{/bin/sh} is not yet POSIX compliant, but @file{/bin/ksh} or bash is. Please run configure like: @example - /bin/ksh -c ./configure + CONFIG_SHELL=/bin/ksh ksh -c ./configure @end example or @example - bash -c ./configure + CONFIG_SHELL=/bin/bash bash -c ./configure @end example @item Sparc64/Solaris 2.6, GNU make-3.77 diff --git a/Documentation/user/music-glossary.tely b/Documentation/user/music-glossary.tely index 9f24f0b04b..5a3baae926 100644 --- a/Documentation/user/music-glossary.tely +++ b/Documentation/user/music-glossary.tely @@ -7,8 +7,8 @@ @end html @ifhtml -This document is also available in @uref{glossary.ps.gz,gzipped -PostScript} and @uref{glossary.pdf,PDF}. +This document is also available in @uref{music-glossary.ps.gz,gzipped +PostScript} and @uref{music-glossary.pdf,PDF}. @end ifhtml @titlepage diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index 970ab92817..23b02e40cb 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -752,23 +752,27 @@ emacsclient --no-wait +%l %f If you use xemacs instead of emacs, you use @code{(gnuserve-start)} in your @file{.emacs}, and set @code{XEDITOR} to @code{gnuclient -q +%l %f} -For using Vim, set @code{XEDITOR} to @code{gvim --remote +%l %f}, or use this -argument with xdvi's @code{-editor} option. +For using Vim, set @code{XEDITOR} to @code{gvim --remote +%l %f}, or +use this argument with xdvi's @code{-editor} option. + @cindex NEdit For using NEdit, set @code{XEDITOR} to @code{nc -noask +%l %f}, or use this argument with xdvi's @code{-editor} option. If can also make your editor jump to the exact location of the note -you clicked. This is only supported on Emacs. Users of version 20 must -apply the patch @file{emacsclient.patch}. Users of version 21 must -apply @file{server.el.patch} (version 21.2 and earlier). At the top -of the @code{ly} file, replace the @code{set!} line with the following -line, +you clicked. This is only supported on Emacs and VIM. Users of Emacs version +20 must apply the patch @file{emacsclient.patch}. Users of version 21 +must apply @file{server.el.patch} (version 21.2 and earlier). At the +top of the @code{ly} file, replace the @code{set-point-and-click} line +with the following line, @example #(ly:set-point-and-click 'line-column) @end example @cindex line-colomn-location -and set @code{XEDITOR} to @code{emacsclient --no-wait +%l:%c %f}. +and set @code{XEDITOR} to @code{emacsclient --no-wait +%l:%c %f}. Vim +users can set @var{XEDITOR} to @code{gvim --remote +:%l:norm%c| %f}. + + @refbugs diff --git a/Documentation/windows/installing.texi b/Documentation/windows/installing.texi index 9f7c4c9b08..40bdc9ac96 100644 --- a/Documentation/windows/installing.texi +++ b/Documentation/windows/installing.texi @@ -31,11 +31,13 @@ The binary LilyPond setup for Windows is in fact a @uref{http://cygwin.com, Cygwin} installation, including the LilyPond package for Cygwin. -If you run Windows NT, 2000 or XP, please become administrator first -(currently, installing as an ordinary user will not work). Download -and run @uref{http://cygwin.com/setup.exe, setup.exe}. You will be -asked some questions. If you are unsure just click "Next". Do not -change the default install directory @file{c:/cygwin}. +If you run Windows NT, 2000 or XP, please become administrator first; +installing as an ordinary user does not seem to work on certain +Windows-NT variants. Download and run +@uref{http://cygwin.com/setup.exe, setup.exe}. You will be asked some +questions. If you are unsure just click "Next". Do not change the +default install directory @file{c:/cygwin}. Do not change the default +text type @samp{UNIX}, i.e., do not use @samp{DOS} mounts. In the Package View dialogue window, click on the Publishing section to view the available publishing software for Cygwin. Make sure that diff --git a/GNUmakefile.in b/GNUmakefile.in index 275b232952..fd2292d8aa 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -126,6 +126,10 @@ default: $(config_h) builddir-setup builddir-setup: $(builddir)/share/lilypond-force +PO_FILES = $(wildcard $(srcdir)/po/*.po) +HELP_CATALOGS = $(PO_FILES:$(srcdir)/po/%.po=%) +CATALOGS = $(HELP_CATALOGS:lilypond=) + $(builddir)/share/lilypond-force: # Preparing LilyPond tree for builddir exec cd $(builddir) && rm -rf share @@ -149,6 +153,10 @@ $(builddir)/share/lilypond-force: ln -s ../../../mf/$(outconfbase) afm && \ ln -s ../../../mf/$(outconfbase) tfm && \ ln -s ../../../mf/$(outconfbase) type1 + $(foreach i,$(CATALOGS), \ + mkdir -p $(builddir)/share/locale/$i/LC_MESSAGES && \ + cd $(builddir)/share/locale/$i/LC_MESSAGES && \ + ln -fs ../../../../po/$(outconfbase)/$i.mo lilypond.mo &&) true touch $@ local-clean: builddir-setup-clean diff --git a/THANKS b/THANKS index 505ed74f14..6a90e7a25d 100644 --- a/THANKS +++ b/THANKS @@ -17,3 +17,4 @@ Karl-Johan Karlsson Karl Berry Werner Lemberg Thomas Rijniers +Klaus Zimmermann diff --git a/aclocal.m4 b/aclocal.m4 index 19c2947aab..e448f2e47a 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,6 +1,6 @@ dnl aclocal.m4 -*-shell-script-*- dnl WARNING WARNING WARNING -dnl do not edit! this is aclocal.m4, generated from /users/hanwen/usr/src/lilypond/stepmake/aclocal.m4 +dnl do not edit! this is aclocal.m4, generated from /home/fred/lily/stepmake/aclocal.m4 dnl aclocal.m4 -*-shell-script-*- dnl StepMake subroutines for configure.in @@ -250,10 +250,10 @@ AC_DEFUN(STEPMAKE_DATADIR, [ local_package_datadir=$package_datadir/$FULL_VERSION build_package_datadir=$builddir/share/$package - DATADIR=$(echo ${datadir} | sed "s!\\\${prefix}!$presome!") - PACKAGE_DATADIR=$(echo ${package_datadir} | sed "s!\\\${prefix}!$presome!") - LOCAL_PACKAGE_DATADIR=$(echo ${local_package_datadir} | sed "s!\\\${prefix}!$presome!") - BUILD_PACKAGE_DATADIR=$(echo ${build_package_datadir} | sed "s!\\\${prefix}!$presome!") + DATADIR=`echo ${datadir} | sed "s!\\\${prefix}!$presome!"` + PACKAGE_DATADIR=`echo ${package_datadir} | sed "s!\\\${prefix}!$presome!"` + LOCAL_PACKAGE_DATADIR=`echo ${local_package_datadir} | sed "s!\\\${prefix}!$presome!"` + BUILD_PACKAGE_DATADIR=`echo ${build_package_datadir} | sed "s!\\\${prefix}!$presome!"` AC_SUBST(datadir) AC_SUBST(package_datadir) @@ -344,7 +344,7 @@ AC_DEFUN(STEPMAKE_GETTEXT, [ if test "$prefix" = "NONE"; then presome=${ac_default_prefix} fi - LOCALEDIR=$(echo ${localedir} | sed "s!\\\${prefix}!$presome!") + LOCALEDIR=`echo ${localedir} | sed "s!\\\${prefix}!$presome!"` AC_SUBST(localedir) AC_DEFINE_UNQUOTED(LOCALEDIR, "${LOCALEDIR}") @@ -565,16 +565,18 @@ AC_DEFUN(STEPMAKE_INIT, [ STEPMAKE_PROGS(TAR, tar, REQUIRED) - if test "x`uname`" = "xHP-UX"; then - AC_PATH_PROG(BASH, bash, /bin/sh) + if test "$(echo 2)" != "2" || + test "x`uname`" = "xHP-UX"; then + AC_PATH_PROG(KSH, ksh, /bin/ksh) + AC_PATH_PROG(BASH, bash, $KSH) STEPMAKE_WARN(avoiding buggy /bin/sh) - AC_PATH_PROG(SHELL, bash, /bin/ksh) + AC_PATH_PROG(SHELL, bash, $KSH) else - AC_PATH_PROG(BASH, bash, /bin/sh) SHELL=/bin/sh - AC_SUBST(SHELL) + AC_PATH_PROG(BASH, bash, $SHELL) fi - + AC_SUBST(SHELL) + STEPMAKE_PATH_PROG(PYTHON, python, REQUIRED) if expr "$MAKE" : '.*\(echo\)' >/dev/null; then @@ -693,7 +695,7 @@ AC_DEFUN(STEPMAKE_LIBTOOL, [ REVISION=$PATCH_LEVEL # CURRENT=$MINOR_VERSION CURRENT=`expr $MINOR_VERSION + 1` - # AGE=$(expr $MAJOR_VERSION + 1) + # AGE=`expr $MAJOR_VERSION + 1` AGE=$MAJOR_VERSION AC_SUBST(CURRENT) AC_SUBST(REVISION) diff --git a/lily/main.cc b/lily/main.cc index 20ecf61532..16446cc8b3 100644 --- a/lily/main.cc +++ b/lily/main.cc @@ -231,23 +231,14 @@ setup_paths () prefix_directory[1] = lilypond_prefix; #if HAVE_GETTEXT - setlocale (LC_ALL, ""); /* enable locales */ - setlocale (LC_NUMERIC, "C"); /* musn't have comma's in TeX output... */ + /* Enable locales */ + setlocale (LC_ALL, ""); + /* Mustn't have commas in TeX output... */ + setlocale (LC_NUMERIC, "C"); String lily_locale_dir; String name (PACKAGE); name.to_lower (); - - /* - urg; what *do* we want with $LILYPONDPREFIX, DIR_DATADIR and $prefix/share - handy for multiple source-dir runs, though... - */ - if (!String (prefix_directory[0]).empty_b ()) - { - lily_locale_dir = String (prefix_directory[0]) + "/share/locale"; - bindtextdomain (name.to_str0 (), lily_locale_dir.to_str0 ()); - } - else - bindtextdomain (name.to_str0 (), LOCALEDIR); + bindtextdomain (name.to_str0 (), LOCALEDIR); textdomain (name.to_str0 ()); #endif diff --git a/lily/rest-collision.cc b/lily/rest-collision.cc index 3950585da3..47c8d51f08 100644 --- a/lily/rest-collision.cc +++ b/lily/rest-collision.cc @@ -140,7 +140,12 @@ Rest_collision::do_shift (Grob *me) Grob* r = unsmob_grob (rests[i-1]->get_grob_property ("rest")); #if 1 if (r) - r->suicide (); + { + Grob * d = unsmob_grob (r->get_grob_property ("dot")); + if (d) + d->suicide(); + r->suicide (); + } rests[i-1]->suicide (); #else if (r) diff --git a/ps/music-drawing-routines.ps b/ps/music-drawing-routines.ps index b5796e11d2..114669bbb6 100644 --- a/ps/music-drawing-routines.ps +++ b/ps/music-drawing-routines.ps @@ -4,9 +4,6 @@ /blot-diameter { lilypondpaperblotdiameter } bind def -% fucking redhat xdvi patch. -/skeel { scale } bind def - /set_tex_dimen { cvr def } bind def diff --git a/python/lilylib.py b/python/lilylib.py index d9250f0807..683585d0a8 100644 --- a/python/lilylib.py +++ b/python/lilylib.py @@ -86,6 +86,7 @@ try: except: pass +localedir = '@localedir@' try: import gettext gettext.bindtextdomain ('lilypond', localedir) diff --git a/scripts/midi2ly.py b/scripts/midi2ly.py index ea47e15835..a6c3acd926 100644 --- a/scripts/midi2ly.py +++ b/scripts/midi2ly.py @@ -4,8 +4,8 @@ # # source file of the GNU LilyPond music typesetter # -# convert MIDI to LilyPond source -# +# (c) 1998--2002 Han-Wen Nienhuys +# Jan Nieuwenhuizen ''' @@ -430,6 +430,7 @@ class Note: return (o, n, a) def dump (self): + global reference_note s = chr ((self.notename + 2) % 7 + ord ('a')) s = s + self.alteration_names[self.alteration + 2] if absolute_p: @@ -450,10 +451,10 @@ class Note: s = s + "," * -commas if explicit_durations_p \ - or Duration.compare (self.duration, reference_note.duration): + or Duration.compare (self.duration, + reference_note.duration): s = s + self.duration.dump () - global reference_note reference_note = self # TODO: move space @@ -1051,13 +1052,10 @@ for opt in options: elif o == '--absolute-pitches' or o == '-a': - global absolute_p absolute_p = 1 elif o == '--duration-quant' or o == '-d': - global duration_quant duration_quant = string.atoi (a) elif o == '--explicit-durations' or o == '-e': - global explicit_durations_p explicit_durations_p = 1 elif o == '--key' or o == '-k': (alterations, minor) = map (string.atoi, string.split (a + ':0', ':'))[0:2] @@ -1067,7 +1065,6 @@ for opt in options: sharps = alterations else: flats = - alterations - global key key = Key (sharps, flats, minor) elif o == '--start-quant' or o == '-s': start_quant = string.atoi (a) diff --git a/scripts/mup2ly.py b/scripts/mup2ly.py index da3a43be25..88868a8e03 100644 --- a/scripts/mup2ly.py +++ b/scripts/mup2ly.py @@ -55,9 +55,10 @@ errorport = sys.stderr keep_temp_dir_p = 0 verbose_p = 0 +localedir = '@localedir@' try: import gettext - gettext.bindtextdomain ('lilypond', '@localedir@') + gettext.bindtextdomain ('lilypond', localedir) gettext.textdomain ('lilypond') _ = gettext.gettext except: diff --git a/scripts/update-lily.py b/scripts/update-lily.py index 8c3ab757a5..224601e3ed 100644 --- a/scripts/update-lily.py +++ b/scripts/update-lily.py @@ -54,10 +54,10 @@ release_dir = build_root + '/releases' patch_dir = build_root + '/patches' symlink_name = '' - +localedir = '@localedir@' try: import gettext - gettext.bindtextdomain ('lilypond', '@localedir@') + gettext.bindtextdomain ('lilypond', localedir) gettext.textdomain ('lilypond') _ = gettext.gettext except: diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index 3a3257072d..603ea8b49d 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -247,10 +247,10 @@ AC_DEFUN(STEPMAKE_DATADIR, [ local_package_datadir=$package_datadir/$FULL_VERSION build_package_datadir=$builddir/share/$package - DATADIR=$(echo ${datadir} | sed "s!\\\${prefix}!$presome!") - PACKAGE_DATADIR=$(echo ${package_datadir} | sed "s!\\\${prefix}!$presome!") - LOCAL_PACKAGE_DATADIR=$(echo ${local_package_datadir} | sed "s!\\\${prefix}!$presome!") - BUILD_PACKAGE_DATADIR=$(echo ${build_package_datadir} | sed "s!\\\${prefix}!$presome!") + DATADIR=`echo ${datadir} | sed "s!\\\${prefix}!$presome!"` + PACKAGE_DATADIR=`echo ${package_datadir} | sed "s!\\\${prefix}!$presome!"` + LOCAL_PACKAGE_DATADIR=`echo ${local_package_datadir} | sed "s!\\\${prefix}!$presome!"` + BUILD_PACKAGE_DATADIR=`echo ${build_package_datadir} | sed "s!\\\${prefix}!$presome!"` AC_SUBST(datadir) AC_SUBST(package_datadir) @@ -341,7 +341,7 @@ AC_DEFUN(STEPMAKE_GETTEXT, [ if test "$prefix" = "NONE"; then presome=${ac_default_prefix} fi - LOCALEDIR=$(echo ${localedir} | sed "s!\\\${prefix}!$presome!") + LOCALEDIR=`echo ${localedir} | sed "s!\\\${prefix}!$presome!"` AC_SUBST(localedir) AC_DEFINE_UNQUOTED(LOCALEDIR, "${LOCALEDIR}") @@ -562,16 +562,18 @@ AC_DEFUN(STEPMAKE_INIT, [ STEPMAKE_PROGS(TAR, tar, REQUIRED) - if test "x`uname`" = "xHP-UX"; then - AC_PATH_PROG(BASH, bash, /bin/sh) + if test "$(echo 2)" != "2" || + test "x`uname`" = "xHP-UX"; then + AC_PATH_PROG(KSH, ksh, /bin/ksh) + AC_PATH_PROG(BASH, bash, $KSH) STEPMAKE_WARN(avoiding buggy /bin/sh) - AC_PATH_PROG(SHELL, bash, /bin/ksh) + AC_PATH_PROG(SHELL, bash, $KSH) else - AC_PATH_PROG(BASH, bash, /bin/sh) SHELL=/bin/sh - AC_SUBST(SHELL) + AC_PATH_PROG(BASH, bash, $SHELL) fi - + AC_SUBST(SHELL) + STEPMAKE_PATH_PROG(PYTHON, python, REQUIRED) if expr "$MAKE" : '.*\(echo\)' >/dev/null; then @@ -690,7 +692,7 @@ AC_DEFUN(STEPMAKE_LIBTOOL, [ REVISION=$PATCH_LEVEL # CURRENT=$MINOR_VERSION CURRENT=`expr $MINOR_VERSION + 1` - # AGE=$(expr $MAJOR_VERSION + 1) + # AGE=`expr $MAJOR_VERSION + 1` AGE=$MAJOR_VERSION AC_SUBST(CURRENT) AC_SUBST(REVISION) diff --git a/tex/lily-ps-defs.tex b/tex/lily-ps-defs.tex index 71e31e8aab..8a4522a2e7 100644 --- a/tex/lily-ps-defs.tex +++ b/tex/lily-ps-defs.tex @@ -6,30 +6,46 @@ % Header info (macros/defs, etc) should go into a \special{! ... }; % note the ! sign. See dvips.info for details. % -% Escape the colon with \string to avoid problems with French while using -% the Babel package. +% We protect punctuation characters with \string to avoid problems with +% language specific shorthands (e.g. `:' for French, `"' for German, etc.). \gdef\lilypondsetdimen#1{ - \expandafter\special{ - ! /#1 (\csname #1\endcsname) set_tex_dimen + \expandafter\gdef\csname #1ps\endcsname{} + \special{ + \string! + /#1 (\csname #1\endcsname) set_tex_dimen } } \gdef\lilypondspace{ } \gdef\lilypondpostscript{ - % This sets CTM so that you get to the currentpoint - % by executing a 0 0 moveto + % A document processed with lilypond-book can contain music fragments in + % different sizes. To reduce overhead, we define `lyscaleXXX' PS macros + % only once. + \lilypondifundefined{lyscale\lilypondpaperoutputscale} + { + \expandafter\gdef\csname lyscale\lilypondpaperoutputscale\endcsname{} + % This sets CTM so that you get to the currentpoint + % by executing a 0 0 moveto + \special{ + \string! + /lyscale\lilypondpaperoutputscale + {\lilypondpaperoutputscale\lilypondspace\scaletounit % + dup scale} def + } + } + {} + \def\embeddedps##1{ \special{ - ps\string: @beginspecial @setspecial % - \lilypondpaperoutputscale\lilypondspace\scaletounit % - \lilypondpaperoutputscale\lilypondspace\scaletounit % - % FUCKING REDHAT XDVI -- ARG! - skeel ##1 @endspecial - } + \string" + lyscale\lilypondpaperoutputscale\lilypondspace ##1} } - \lilypondsetdimen{lilypondpaperblotdiameter} + + \lilypondifundefined{lilypondpaperblotdiameterps} + {\lilypondsetdimen{lilypondpaperblotdiameter}} + {} } \gdef\lilypondexperimentalfeatures{} -- 2.39.2