From: hanwen Date: Sat, 2 Oct 2004 00:12:24 +0000 (+0000) Subject: * make/lilypond.fedora.spec.in: rename file. X-Git-Tag: release/2.3.24^2~99 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=e3de1c4686dd5cfb32d583c0ec9b080eb5e04cdd;p=lilypond.git * make/lilypond.fedora.spec.in: rename file. * lily/lily-lexer.cc (mark_smob): don't use ly_cdr() for getting to-be-marked objects. Use SCM_CELL_WORD_1 instead. * Documentation/user/changing-defaults.itely (Changing context properties on the fly): typo. * lily/slur.cc (outside_slur_callback): try three sample points for determining collisions. This fixes: slur-script.ly. --- diff --git a/ChangeLog b/ChangeLog index 092d579c69..1136bf0850 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2004-10-02 Han-Wen Nienhuys + * make/lilypond.fedora.spec.in: rename file. + + * lily/lily-lexer.cc (mark_smob): don't use ly_cdr() for getting + to-be-marked objects. Use SCM_CELL_WORD_1 instead. + + * Documentation/user/changing-defaults.itely (Changing context + properties on the fly): typo. + * lily/slur.cc (outside_slur_callback): try three sample points for determining collisions. This fixes: slur-script.ly. diff --git a/Documentation/user/changing-defaults.itely b/Documentation/user/changing-defaults.itely index 6e78b9baeb..04e17f7dff 100644 --- a/Documentation/user/changing-defaults.itely +++ b/Documentation/user/changing-defaults.itely @@ -330,7 +330,7 @@ specified for a bottom context, so the two statements are equivalent. -@cindex @\once +@cindex \once Settings that should only apply to a single time-step can be entered with @code{\once}, for example in diff --git a/VERSION b/VERSION index b4cd143e6a..65a21c169c 100644 --- a/VERSION +++ b/VERSION @@ -1,6 +1,6 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=2 MINOR_VERSION=3 -PATCH_LEVEL=19 +PATCH_LEVEL=20 MY_PATCH_LEVEL= diff --git a/lily/include/lily-guile.hh b/lily/include/lily-guile.hh index 29d57fb45e..055b81a167 100644 --- a/lily/include/lily-guile.hh +++ b/lily/include/lily-guile.hh @@ -162,8 +162,16 @@ inline bool ly_c_procedure_p (SCM x) { return SCM_NFALSEP (scm_procedure_p (x)); inline bool ly_c_equal_p (SCM x, SCM y) { return SCM_NFALSEP (scm_equal_p (x, y)); } -inline SCM ly_cdr (SCM x) { return SCM_CDR (x); } -inline SCM ly_car (SCM x) { return SCM_CAR (x); } +inline SCM ly_cdr (SCM x) { + if (SCM_NCONSP(x)) + abort(); + return SCM_CDR (x); +} +inline SCM ly_car (SCM x) { + if (SCM_NCONSP(x)) + abort(); + return SCM_CAR (x); +} inline SCM ly_caar (SCM x) { return SCM_CAAR (x); } inline SCM ly_cdar (SCM x) { return SCM_CDAR (x); } inline SCM ly_cadr (SCM x) { return SCM_CADR (x); } diff --git a/lily/input-smob.cc b/lily/input-smob.cc index f5786d5c3f..b5b5097b62 100644 --- a/lily/input-smob.cc +++ b/lily/input-smob.cc @@ -65,7 +65,7 @@ unsmob_input (SCM s) if (SCM_IMP (s)) return 0; if (SCM_CAR (s) == (SCM)input_tag) // ugh. - return (Input*) ly_cdr (s); + return (Input*) SCM_CDR (s); else return 0; } diff --git a/lily/lily-lexer.cc b/lily/lily-lexer.cc index 790ef1bbbd..919c5d89de 100644 --- a/lily/lily-lexer.cc +++ b/lily/lily-lexer.cc @@ -295,7 +295,7 @@ IMPLEMENT_DEFAULT_EQUAL_P (Lily_lexer); SCM Lily_lexer::mark_smob (SCM s) { - Lily_lexer *lexer = (Lily_lexer*) ly_cdr (s); + Lily_lexer *lexer = (Lily_lexer*) SCM_CELL_WORD_1 (s); scm_gc_mark (lexer->chordmodifier_tab_); scm_gc_mark (lexer->pitchname_tab_stack_); diff --git a/lily/lily-parser.cc b/lily/lily-parser.cc index 6f3c510906..157a765165 100644 --- a/lily/lily-parser.cc +++ b/lily/lily-parser.cc @@ -66,7 +66,7 @@ IMPLEMENT_DEFAULT_EQUAL_P (Lily_parser); SCM Lily_parser::mark_smob (SCM s) { - Lily_parser *parser = (Lily_parser*) ly_cdr (s); + Lily_parser *parser = (Lily_parser*) SCM_CELL_WORD_1 (s); return (parser->lexer_) ? parser->lexer_->self_scm () : SCM_EOL; } diff --git a/lily/paper-system.cc b/lily/paper-system.cc index 885296a3ec..455bb9a667 100644 --- a/lily/paper-system.cc +++ b/lily/paper-system.cc @@ -36,7 +36,7 @@ Paper_system::~Paper_system () SCM Paper_system::mark_smob (SCM smob) { - Paper_system *system = (Paper_system*) ly_cdr (smob); + Paper_system *system = (Paper_system*) SCM_CELL_WORD_1 (smob); return system-> stencil_.expr (); } diff --git a/lily/slur.cc b/lily/slur.cc index a115f5303c..807a8c7c89 100644 --- a/lily/slur.cc +++ b/lily/slur.cc @@ -154,6 +154,7 @@ Slur::outside_slur_callback (SCM grob, SCM axis) Real slur_padding = robust_scm2double (script->get_property ("slur-padding"), 0.0); // todo: slur property, script property? yext.widen (slur_padding); + Real EPS = 1e-3; Interval bezext (curve.control_[0][X_AXIS], curve.control_[3][X_AXIS]); @@ -170,7 +171,12 @@ Slur::outside_slur_callback (SCM grob, SCM axis) if (consider[k]) { - ys[k] = curve.get_other_coordinate (X_AXIS, x); + ys[k] = + (fabs(bezext[LEFT] - x) < EPS) + ? curve.control_[0][Y_AXIS] + : ((fabs(bezext[RIGHT] - x) < EPS) + ? curve.control_[3][Y_AXIS] + : curve.get_other_coordinate (X_AXIS, x)); consider[k] = true; if (yext.contains (ys[k])) diff --git a/lily/stencil.cc b/lily/stencil.cc index 4bae8827b5..d1ff20d0e1 100644 --- a/lily/stencil.cc +++ b/lily/stencil.cc @@ -42,7 +42,7 @@ Stencil::print_smob (SCM, SCM port, scm_print_state *) SCM Stencil::mark_smob (SCM smob) { - Stencil *s = (Stencil*) ly_cdr (smob); + Stencil *s = (Stencil*) SCM_CELL_WORD_1 (smob); return s->expr_; } diff --git a/make/lilypond.fedora.spec.in b/make/lilypond.fedora.spec.in new file mode 100644 index 0000000000..b843977b2b --- /dev/null +++ b/make/lilypond.fedora.spec.in @@ -0,0 +1,195 @@ +# -*-rpm-spec-mode-*- + +%define info yes +%define docdir %{_docdir}/lilypond/ + +Name: lilypond +Version: @TOPLEVEL_VERSION@ +Release: 1 +License: GPL +Group: Applications/Publishing +Source0: ftp.lilypond.org:/pub/LilyPond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz +Summary: Create and print music notation +URL: http://www.lilypond.org/ +BuildRoot: %{_tmppath}/%{name}-%{version}-root + + +Buildrequires: t1utils bison flex mftrace ImageMagick +Buildrequires: texinfo >= 4.6 +Buildrequires: guile-devel >= 1.6.4-8 +Requires: tetex tetex-latex libstdc++ python tetex-dvips tetex-latex +Requires: guile >= 1.6.4-8 ec-fonts-mftraced >= 1.0.4 + +%description +LilyPond lets you create music notation. It produces +beautiful sheet music from a high-level description file. + +%package documentation +Summary: All LilyPond documentation, in HTML +Group: Applications/Publishing +# BuildArchitectures: noarch + +%description documentation +Documentation and example files of LilyPond. An index is available at +%{docdir}/web/Documentation/out-www/index.html + +%prep +%setup + +%build + +# DO NOT use % { configure } , it hardcodes all paths, runs libtool, +# so we can't do make prefixix=/tmp/ install. + +# In fact, do not take out the spaces between % and { in the above comment, +# because RPM will gladly do a substitution anyway. + +./configure --disable-checking --prefix=%{_prefix} --enable-optimising + + +make all +make web +make -C Documentation/user local_package_docdir=%{docdir} omf + +%install + + +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc + +make prefix="$RPM_BUILD_ROOT%{_prefix}" \ + infodir="$RPM_BUILD_ROOT%{_infodir}" \ + mandir="$RPM_BUILD_ROOT%{_mandir}" install + +#emacs +mkdir -p $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d +install -m 644 elisp/lilypond-init.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d + +#manual pages +gzip -9fn $RPM_BUILD_ROOT%{_mandir}/man1/* + + +# profile scripts. +mkdir -p $RPM_BUILD_ROOT/etc/profile.d +cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT/etc/profile.d/lilypond.sh +cp buildscripts/out/lilypond-login $RPM_BUILD_ROOT/etc/profile.d/lilypond.csh + +# web doc +make prefix="$RPM_BUILD_ROOT%{_prefix}" \ + infodir="$RPM_BUILD_ROOT%{_infodir}" \ + webdir="$RPM_BUILD_ROOT%{_prefix}/share/doc/lilypond/" web-install + +ln -sf ../../doc/lilypond/Documentation/user/out-www/*png $RPM_BUILD_ROOT%{_infodir}/lilypond/ + +# info +%if %{info} +rm -f $RPM_BUILD_ROOT/%{_infodir}/dir +gzip -9fn `find $RPM_BUILD_ROOT%{_infodir}/ -name '*.info'` +%endif + + + +%post + +touch /tmp/.lilypond-install +rm `find /var/lib/texmf -name 'feta*pk' -or -name 'feta*tfm' -or -name 'parmesan*pk' -or -name 'parmesan*tfm' -print` /tmp/.lilypond-install + +%if %{info} +/sbin/install-info %{_infodir}/lilypond/lilypond.info.gz %{_infodir}/dir +/sbin/install-info %{_infodir}/lilypond/music-glossary.info.gz %{_infodir}/dir +%endif + +export PACKAGEDIR=%{_datadir}/lilypond/@TOPLEVEL_VERSION@ +if [ -d /usr/share/vim ]; then + VIMDIR=`find /usr/share/vim -name bugreport.vim` + VIMDIR=`dirname $VIMDIR` + for a in `cd $PACKAGEDIR/vim/ ; find -type d -name '*' ` ; do + mkdir -p $VIMDIR/$a + ln -s $PACKAGEDIR/vim/$a/*.vim $VIMDIR/$a/ + done +fi + + +# chkfontpath --add=%{_datadir}/lilypond/@TOPLEVEL_VERSION@/fonts/type1/ + +echo 'Logout first before using LilyPond.' + +%preun +if [ -f /usr/share/lilypond/%{version}/ls-R ]; then + rm -f /usr/share/lilypond/%{version}/ls-R +fi + + +if [ -d /usr/share/vim ]; then + rm `find /usr/share/vim -name 'lilypond*.vim'` +fi + + +%if %{info} + /sbin/install-info --delete %{_infodir}/lilypond/lilypond.info.gz %{_infodir}/dir + /sbin/install-info --delete %{_infodir}/lilypond/music-glossary.info.gz %{_infodir}/dir +%endif + +# chkfontpath --remove=%{_datadir}/share/lilypond/@TOPLEVEL_VERSION@/fonts/type1n/ + +%postun + +%post documentation +scrollkeeper-update + +%postun documentation +scrollkeeper-update + + + +%files +%defattr(-, root, root) +%{_datadir}/emacs/site-lisp/lilypond* +%{_datadir}/emacs/site-lisp/site-start.d/lilypond* + +%{_bindir}/abc2ly +%{_bindir}/convert-ly +%{_bindir}/etf2ly +%{_bindir}/lilypond +%{_bindir}/lilypond-latex +%{_bindir}/midi2ly +%{_bindir}/lilypond-book +%{_bindir}/mup2ly + +%doc THANKS +%doc COPYING +%doc DEDICATION +%doc README.txt +%doc AUTHORS.txt +%doc INSTALL.txt +%doc NEWS.txt + +%if %{info} +%{_infodir}/lilypond/ +%endif + +%{_mandir}/man1/abc2ly.1.gz +%{_mandir}/man1/convert-ly.1.gz +%{_mandir}/man1/etf2ly.1.gz +%{_mandir}/man1/lilypond-latex.1.gz +%{_mandir}/man1/lilypond.1.gz +%{_mandir}/man1/midi2ly.1.gz +%{_mandir}/man1/lilypond-book.1.gz +%{_mandir}/man1/mup2ly.1.gz + +%{_datadir}/lilypond/@TOPLEVEL_VERSION@/ +%{_datadir}/locale/*/LC_MESSAGES/lilypond.mo + +%{_libdir}/lilypond/ + +/etc/profile.d/lilypond.* + + +%files documentation + +%defattr(-, root, root) + +%{docdir} +%{_datadir}/omf/lilypond/@TOPLEVEL_VERSION@ + + diff --git a/make/lilypond.redhat.spec.in b/make/lilypond.redhat.spec.in deleted file mode 100644 index b843977b2b..0000000000 --- a/make/lilypond.redhat.spec.in +++ /dev/null @@ -1,195 +0,0 @@ -# -*-rpm-spec-mode-*- - -%define info yes -%define docdir %{_docdir}/lilypond/ - -Name: lilypond -Version: @TOPLEVEL_VERSION@ -Release: 1 -License: GPL -Group: Applications/Publishing -Source0: ftp.lilypond.org:/pub/LilyPond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz -Summary: Create and print music notation -URL: http://www.lilypond.org/ -BuildRoot: %{_tmppath}/%{name}-%{version}-root - - -Buildrequires: t1utils bison flex mftrace ImageMagick -Buildrequires: texinfo >= 4.6 -Buildrequires: guile-devel >= 1.6.4-8 -Requires: tetex tetex-latex libstdc++ python tetex-dvips tetex-latex -Requires: guile >= 1.6.4-8 ec-fonts-mftraced >= 1.0.4 - -%description -LilyPond lets you create music notation. It produces -beautiful sheet music from a high-level description file. - -%package documentation -Summary: All LilyPond documentation, in HTML -Group: Applications/Publishing -# BuildArchitectures: noarch - -%description documentation -Documentation and example files of LilyPond. An index is available at -%{docdir}/web/Documentation/out-www/index.html - -%prep -%setup - -%build - -# DO NOT use % { configure } , it hardcodes all paths, runs libtool, -# so we can't do make prefixix=/tmp/ install. - -# In fact, do not take out the spaces between % and { in the above comment, -# because RPM will gladly do a substitution anyway. - -./configure --disable-checking --prefix=%{_prefix} --enable-optimising - - -make all -make web -make -C Documentation/user local_package_docdir=%{docdir} omf - -%install - - -rm -rf $RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc - -make prefix="$RPM_BUILD_ROOT%{_prefix}" \ - infodir="$RPM_BUILD_ROOT%{_infodir}" \ - mandir="$RPM_BUILD_ROOT%{_mandir}" install - -#emacs -mkdir -p $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d -install -m 644 elisp/lilypond-init.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d - -#manual pages -gzip -9fn $RPM_BUILD_ROOT%{_mandir}/man1/* - - -# profile scripts. -mkdir -p $RPM_BUILD_ROOT/etc/profile.d -cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT/etc/profile.d/lilypond.sh -cp buildscripts/out/lilypond-login $RPM_BUILD_ROOT/etc/profile.d/lilypond.csh - -# web doc -make prefix="$RPM_BUILD_ROOT%{_prefix}" \ - infodir="$RPM_BUILD_ROOT%{_infodir}" \ - webdir="$RPM_BUILD_ROOT%{_prefix}/share/doc/lilypond/" web-install - -ln -sf ../../doc/lilypond/Documentation/user/out-www/*png $RPM_BUILD_ROOT%{_infodir}/lilypond/ - -# info -%if %{info} -rm -f $RPM_BUILD_ROOT/%{_infodir}/dir -gzip -9fn `find $RPM_BUILD_ROOT%{_infodir}/ -name '*.info'` -%endif - - - -%post - -touch /tmp/.lilypond-install -rm `find /var/lib/texmf -name 'feta*pk' -or -name 'feta*tfm' -or -name 'parmesan*pk' -or -name 'parmesan*tfm' -print` /tmp/.lilypond-install - -%if %{info} -/sbin/install-info %{_infodir}/lilypond/lilypond.info.gz %{_infodir}/dir -/sbin/install-info %{_infodir}/lilypond/music-glossary.info.gz %{_infodir}/dir -%endif - -export PACKAGEDIR=%{_datadir}/lilypond/@TOPLEVEL_VERSION@ -if [ -d /usr/share/vim ]; then - VIMDIR=`find /usr/share/vim -name bugreport.vim` - VIMDIR=`dirname $VIMDIR` - for a in `cd $PACKAGEDIR/vim/ ; find -type d -name '*' ` ; do - mkdir -p $VIMDIR/$a - ln -s $PACKAGEDIR/vim/$a/*.vim $VIMDIR/$a/ - done -fi - - -# chkfontpath --add=%{_datadir}/lilypond/@TOPLEVEL_VERSION@/fonts/type1/ - -echo 'Logout first before using LilyPond.' - -%preun -if [ -f /usr/share/lilypond/%{version}/ls-R ]; then - rm -f /usr/share/lilypond/%{version}/ls-R -fi - - -if [ -d /usr/share/vim ]; then - rm `find /usr/share/vim -name 'lilypond*.vim'` -fi - - -%if %{info} - /sbin/install-info --delete %{_infodir}/lilypond/lilypond.info.gz %{_infodir}/dir - /sbin/install-info --delete %{_infodir}/lilypond/music-glossary.info.gz %{_infodir}/dir -%endif - -# chkfontpath --remove=%{_datadir}/share/lilypond/@TOPLEVEL_VERSION@/fonts/type1n/ - -%postun - -%post documentation -scrollkeeper-update - -%postun documentation -scrollkeeper-update - - - -%files -%defattr(-, root, root) -%{_datadir}/emacs/site-lisp/lilypond* -%{_datadir}/emacs/site-lisp/site-start.d/lilypond* - -%{_bindir}/abc2ly -%{_bindir}/convert-ly -%{_bindir}/etf2ly -%{_bindir}/lilypond -%{_bindir}/lilypond-latex -%{_bindir}/midi2ly -%{_bindir}/lilypond-book -%{_bindir}/mup2ly - -%doc THANKS -%doc COPYING -%doc DEDICATION -%doc README.txt -%doc AUTHORS.txt -%doc INSTALL.txt -%doc NEWS.txt - -%if %{info} -%{_infodir}/lilypond/ -%endif - -%{_mandir}/man1/abc2ly.1.gz -%{_mandir}/man1/convert-ly.1.gz -%{_mandir}/man1/etf2ly.1.gz -%{_mandir}/man1/lilypond-latex.1.gz -%{_mandir}/man1/lilypond.1.gz -%{_mandir}/man1/midi2ly.1.gz -%{_mandir}/man1/lilypond-book.1.gz -%{_mandir}/man1/mup2ly.1.gz - -%{_datadir}/lilypond/@TOPLEVEL_VERSION@/ -%{_datadir}/locale/*/LC_MESSAGES/lilypond.mo - -%{_libdir}/lilypond/ - -/etc/profile.d/lilypond.* - - -%files documentation - -%defattr(-, root, root) - -%{docdir} -%{_datadir}/omf/lilypond/@TOPLEVEL_VERSION@ - -