]> git.donarmstrong.com Git - lilypond.git/commitdiff
* make/lilypond.fedora.spec.in: rename file.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 2 Oct 2004 00:12:24 +0000 (00:12 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 2 Oct 2004 00:12:24 +0000 (00:12 +0000)
* 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.

12 files changed:
ChangeLog
Documentation/user/changing-defaults.itely
VERSION
lily/include/lily-guile.hh
lily/input-smob.cc
lily/lily-lexer.cc
lily/lily-parser.cc
lily/paper-system.cc
lily/slur.cc
lily/stencil.cc
make/lilypond.fedora.spec.in [new file with mode: 0644]
make/lilypond.redhat.spec.in [deleted file]

index 092d579c69c8c2e5b0249ac307a3414af06de1ee..1136bf08504c7d915c8e8042835cb340939c928e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2004-10-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
 
+       * 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.
 
index 6e78b9baeb49546dbb11bc40ecc9bc1e979dba47..04e17f7dffd0e20d41d92b1ee9c35f6d8b932c1e 100644 (file)
@@ -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 b4cd143e6a9f302af053c8c72a14bc5fa9c75a55..65a21c169cda49883a96598091f8bfef2ceeaf87 100644 (file)
--- 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=
 
index 29d57fb45ed516d94e1c9ee059b9e8c5d9e1f06b..055b81a167d15c2c951157db18d1e9877bf81956 100644 (file)
@@ -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); }
index f5786d5c3f5ed5246719d632bfb4642b77f81761..b5b5097b62c8bc096789adba27a603c26e475d45 100644 (file)
@@ -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;                                  
 }
index 790ef1bbbda0915f78591e15a32c20b9fdea5ee5..919c5d89de28a4696ba3f3b8e744bb9859149ab2 100644 (file)
@@ -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_);
index 6f3c510906d9c8ef8ae15b243a68d9465697c060..157a76516546d9b4c12086c03461e12d12e61426 100644 (file)
@@ -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;
 }
 
index 885296a3ecf759189d6bed7080ef9e259ebce97e..455bb9a667957d1b1e1c479572f621e6139d93cc 100644 (file)
@@ -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 ();
 }
 
index a115f5303c93333c284182fa902dd4bf93ea7650..807a8c7c892cede7ef2aad2cf71b7592ce904265 100644 (file)
@@ -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]))
index 4bae8827b5654716b81fc036eb5c01d9b96b96ed..d1ff20d0e19ff265238d709a44574ec54d152239 100644 (file)
@@ -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 (file)
index 0000000..b843977
--- /dev/null
@@ -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 (file)
index b843977..0000000
+++ /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@
-
-