]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' into translation
authorJean-Charles Malahieude <lilyfan@orange.fr>
Sat, 9 Apr 2016 13:23:01 +0000 (15:23 +0200)
committerJean-Charles Malahieude <lilyfan@orange.fr>
Sat, 9 Apr 2016 13:23:01 +0000 (15:23 +0200)
47 files changed:
Documentation/contributor/administration.itexi
Documentation/contributor/doc-work.itexi
Documentation/contributor/issues.itexi
Documentation/contributor/source-code.itexi
Documentation/css/lilypond-manuals.css
Documentation/de/notation/rhythms.itely
Documentation/es/notation/rhythms.itely
Documentation/extending/programming-interface.itely
Documentation/fr/notation/rhythms.itely
Documentation/it/learning/templates.itely
Documentation/it/notation/rhythms.itely
Documentation/ja/notation/rhythms.itely
Documentation/ly-examples/granados.ly
Documentation/notation/rhythms.itely
Documentation/snippets/automatic-beam-subdivisions.ly
Documentation/snippets/beam-endings-in-score-context.ly
Documentation/snippets/conducting-signs,-measure-grouping-signs.ly
Documentation/snippets/new/subdividing-beams.ly
Documentation/snippets/new/user-defined-time-signatures.ly [new file with mode: 0644]
Documentation/snippets/reverting-default-beam-endings.ly
Documentation/snippets/rhythms.snippet-list
Documentation/snippets/score-for-diatonic-accordion.ly
Documentation/snippets/subdividing-beams.ly
Documentation/snippets/user-defined-time-signatures.ly [new file with mode: 0644]
Documentation/web/news-front.itexi
Documentation/web/news.itexi
Documentation/web/server/lilypond.org.htaccess
VERSION
configure.ac
input/regression/autobeam-3-4-rules.ly
input/regression/beam-beat-grouping.ly
input/regression/chord-name-major7.ly
input/regression/display-lily-tests.ly
input/regression/measure-grouping.ly
input/regression/multiple-time-sig-settings.ly
input/regression/time-signature-settings-by-staff.ly
input/regression/tuplet-subdivision.ly
lily/parser.yy
ly/Welcome-to-LilyPond-MacOS.ly
ly/Welcome_to_LilyPond.ly
ly/graphviz-init.ly
po/lilypond.pot
python/convertrules.py
scm/chord-ignatzek-names.scm
scripts/build/website_post.py
scripts/build/xetex-with-options.sh [new file with mode: 0755]
tex/texinfo.tex

index dfd5a72fa452a5fedf0a7086f3a73d6d94039250..9af951ee8e6602429b58974a2f7ad33f4fb51194 100644 (file)
@@ -216,8 +216,7 @@ Currently: Francisco Vila @email{translations@@lilynet.net}
 @section Managing Staging and Master branches with Patchy
 
 @ignore
-The script 'test-patches.py' no longer works with code.google.com since
-Google changed their authentication method.
+The script 'test-patches.py' does not currently work with Allura.
 @end ignore
 
 @menu
@@ -269,7 +268,7 @@ commits.  See @ref{Compiling}.
 
 @item
 Commit access @emph{is} required to test and push new commits, but a
-valid login to @uref{http://code.google.com/} is @emph{not}.  See
+valid login to @uref{https://sourceforge.net} is @emph{not}.  See
 @ref{Commit access}.
 
 @end itemize
@@ -792,7 +791,7 @@ savannah bug tracker?
 Reitveld is inconvenient in some respects: it requires a google
 account, and there's no way to see all patches relating to
 lilypond. Should we switch to something like gerritt?
-@uref{http://code.google.com/p/lilypond/issues/detail?id=1184}
+@uref{https://sourceforge.net/p/testlilyissues/issues/1184/}
 
 (prep: 5 hours.  discuss: 15 hours)
 
@@ -1749,13 +1748,13 @@ sequential-statement to the score."
 
 @item
 Discussion on
-@uref{http://code.google.com/p/lilypond/issues/detail?id=1322}
+@uref{https://sourceforge.net/p/testlilyissues/issues/1322/}
 about \new vs. \context.
 
 
 @item
 Let users add their own items to the parser?  comment 11 on:
-@uref{http://code.google.com/p/lilypond/issues/detail?id=1322}
+@uref{https://sourceforge.net/p/testlilyissues/issues/1322/}
 
 @item
 should engravers be pluralized (note_heads_engraver) or not
@@ -1763,7 +1762,7 @@ should engravers be pluralized (note_heads_engraver) or not
 
 @item
 should we allow numbers in identifier names?  Issue:
-@uref{http://code.google.com/p/lilypond/issues/detail?id=1670}
+@uref{https://sourceforge.net/p/testlilyissues/issues/1670/}
 
 @item
 should we officially allow accented characters?  in general, how
index 0435b96265dadd300670a75d02989b799c728feb..b9f1c7a77e149b7c4bdb6a648affef6ab77ad731 100644 (file)
@@ -1544,7 +1544,7 @@ build/tempdocs/pitches/out/pitches.html
 @end example
 
 According to
-@uref{http://code.google.com/p/lilypond/issues/detail?id=1236,LilyPond issue 1236},
+@uref{https://sourceforge.net/p/testlilyissues/issues/1236/,LilyPond issue 1236},
 the location of the LilyPond Git tree is taken from @code{$LILYPOND_GIT}
 if specified, otherwise it is auto-detected.
 
index 782d84d155056ec20e54c2a3e5dacec5fb53587f..434ead511a139e1181b417f0cfb7997e4da18ae6 100644 (file)
@@ -69,93 +69,80 @@ If you would like to be part of the Bug Squad, please contact the
 @node Bug Squad setup
 @subsection Bug Squad setup
 
-We highly recommend that you configure your email to use effective
-sorting; this can reduce your workload @emph{immensely}.  The
-email folders names were chosen specifically to make them work if
-you sort your folders alphabetically.
+We highly recommend that you configure your email client to use some
+kind of sorting and filtering as this will significantly reduce and
+simplify your workload.  Suggested email folder names are mentioned
+below to work when sorted alphabetically.
 
 @enumerate
 
 @item
-Read every section of this chapter, @ref{Issues}.
+Read every section of the @ref{Issues} chapter in this guide.
 
 @item
-If you do not have one already, create a gmail account and send
-the email address to the @ref{Meisters, Bug Meister}.
+Subscribe your email account to @code{bug-lilypond}.  See
+@uref{https://lists.gnu.org/mailman/listinfo/bug-lilypond}.
 
 @item
-Subscribe your gmail account to @code{bug-lilypond}.
+Send your email address to the @ref{Meisters, Bug Meister}.
 
 @item
-Configure your google code account:
+Create your own Sourceforge login (required for the Allura issue
+tracker):
 
-@enumerate
+@itemize
 
 @item
-Wait until your gmail account is listed in:
-
-@example
-@uref{http://code.google.com/p/lilypond/people/list}
-@end example
+Go to @uref{https://sourceforge.net/p/testlilyissues/issues/}
 
 @item
-Sign in to google code by clicking in the top-right corner of:
-
-@example
-@uref{http://code.google.com/p/lilypond/issues/list}
-@end example
-
-You cannot log on if you have Google Sharing enabled
-@uref{http://www.googlesharing.net/}.
+Click on 'Join' in the top-right corner.
 
 @item
-Go to your @qq{Profile}, and select @qq{Settings}.
+Fill in your details as required and click the @emph{Register} button to
+complete the registration.
 
-@item
-Scroll down to @qq{Issue change notification}, and make sure that
-you have @emph{selected} @qq{If I starred the issue}.
+@end itemize
 
-@end enumerate
+@item
+Send your Sourceforge @emph{username} (not your email address) to
+@email{bug-lilypond@@gnu.org} asking to be given appropriate permissions
+to either create, edit and comment on tracker issues.
 
 @item
 Configure your email client:
 
-@enumerate
+@itemize
 
 @item
-Any email sent with your gmail address in the @code{To:} or
-@code{CC:} fields should go to a @code{bug-answers} folder.
-
-When setting up your filtering rules, be aware that Google Code
-might use different versions of your email address, such as ones
-ending in @code{@@googlemail.com} or @code{@@gmail.com}.
+Any email sent with your address in the @code{To:} or @code{CC:} fields
+should be configured to go into a @code{bug-answers} folder.
 
 @item
-Any other email either from, or CC'd to,
+Any email either @code{From:} or @code{CC:} to,
 
 @example
-lilypond@@googlecode.com
+testlilyissues-auto@@lists.sourceforge.net
 @end example
 
 @noindent
-should go into a separate @code{bug-ignore} folder.  Alternately,
-you may automatically delete these emails.
-
-You will @strong{not read} these emails as part of your Bug Squad
-duties.  If you are curious, go ahead and read them later, but it
-does @strong{not} count as Bug Squad work.
+should be configured to go into a @code{bug-ignore} folder or,
+alternately, configure your email client to delete these automatically.
+You do @emph{not} need to read mails in the @code{bug-ignore} folder.
+If you are curious (and have time) then read them, but they are not
+necessary for Bug Squad work.
 
 @item
-Any other email sent to (or CC'd to):
+Any email sent @code{To:} or @code{CC:} to,
 
 @example
 bug-lilypond
 @end example
 
 @noindent
-should go into a separate @code{bug-current} folder.
+should be configured to go into a @code{bug-current} folder.
 
-@end enumerate
+@end itemize
 
 @end enumerate
 
@@ -187,7 +174,7 @@ Monday: Federico Bruni
 Tuesday: Simon Albrecht
 Wednesday: Simon Albrecht
 Thursday: Colin Campbell
-Friday:
+Friday: Ralph Palmer
 Saturday: Colin Campbell
 Sunday:
 @end example
@@ -341,21 +328,26 @@ After @strong{every release} (both stable and unstable):
 @item
 Issues to verify: go to
 
-@example
-@uref{http://code.google.com/p/lilypond/issues/list?can=7}
-@end example
+@smallexample
+@uref{https://sourceforge.net/p/testlilyissues/issues/search/?q=status%3AFixed}
+@end smallexample
 
-(You can also generate this list by selecting
-@qq{Issues to verify} from the drop-down list next to the search
-box.)
+(You can also generate this list by selecting the @qq{Open (Fixed)}
+button down the left-hand frame)
 
-You should see a list of Issues that have been claimed fixed by a
+You should see a list of Issues that have been marked as 'Fixed' by a
 developer.  If the developer has done their job properly, the
-Issue should have a tag @qq{Fixed_mm_MM_ss}, where mm is
-the major version, MM the minor version and ss the current
-release.  This will help you work out which you can verify - do
-not verify any Issues where the claimed fixed build is not yet
-released.  Work your way through these as follows:
+Issue should have the @qq{Labels} field filled in with @qq{Fixed_x_y_z},
+where X is the major version, y the minor version and z the current
+release.
+
+@example
+Fixed_2_19_39
+@end example
+
+This will help you work out which you can verify - do not verify any
+Issues where the claimed fixed build is not yet released.  Work your
+way through these as follows:
 
 If the Issue refers to a bug, try to reproduce the bug with the latest
 officially released version (not one you've built yourself from
@@ -839,10 +831,10 @@ available to do this task if required).
 
 @subsubheading Project overview
 
-Grid view provides the best overview:
+Project activity
 
 @smallexample
-@uref{http://code.google.com/p/lilypond/issues/list?mode=grid&y=Priority&x=Type&cells=ids}
+@uref{https://sourceforge.net/projects/testlilyissues/}
 @end smallexample
 
 @subsubheading Hindering development
@@ -850,28 +842,61 @@ Grid view provides the best overview:
 These issues stop or slow development work:
 
 @smallexample
-@uref{http://code.google.com/p/lilypond/issues/list?can=2&q=label:Maintainability}
+@uref{https://sourceforge.net/p/testlilyissues/issues/search/?q=status:Accepted%20AND%20_type:Maintainability}
 @end smallexample
 
 @subsubheading Easy tasks
 
 Issues tagged with @code{Frog} indicates a task suitable for a
-relatively new contributor.  The time given is a quick
-(inaccurate) estimate of the time required for somebody who is
-familiar with material in this manual, but does not know anything
-else about LilyPond development.
+relatively new contributor.  The time given is a quick (and probably
+inaccurate) estimate of the time required for somebody who is familiar
+with material in this manual, but does not know anything else about
+LilyPond development.
 
 @smallexample
-@uref{http://code.google.com/p/lilypond/issues/list?can=2&q=label:Frog}
+@uref{https://sourceforge.net/p/testlilyissues/issues/search/?q=status:Accepted%20AND%20labels:Frog}
 @end smallexample
 
-@subsubheading Patches to review
+@subsubheading Patches currently in the Patch Review cycle
+
+Overview
 
-Patches which have no @qq{obvious} problems:
+@c The following URL is provided by one of the Developers giving a much
+@c easier way to see all patches at all stages of the Review cycle in a
+@c single place.
 
 @example
-@uref{http://code.google.com/p/lilypond/issues/list?can=2&q=label:patch-review}
+http://philholmes.net/lilypond/allura/
 @end example
 
 
+@noindent
+New patches
 
+@smallexample
+@uref{https://sourceforge.net/p/testlilyissues/issues/search/?q=status%3AStarted+AND+_patch%3Anew}
+@end smallexample
+
+
+@noindent
+Patches under Review
+
+@smallexample
+@uref{https://sourceforge.net/p/testlilyissues/issues/search/?q=status%3AStarted+AND+_patch%3Areview}
+@end smallexample
+
+
+@noindent
+Patches on final Countdown
+
+@smallexample
+@uref{https://sourceforge.net/p/testlilyissues/issues/search/?q=status%3AStarted+AND+_patch%3Acountdown}
+@end smallexample
+
+
+@noindent
+Patches that can be pushed
+
+@smallexample
+@uref{https://sourceforge.net/p/testlilyissues/issues/search/?q=status%3AStarted+AND+_patch%3Apush}
+@end smallexample
index b43b3f348261813f30f0240c7667214867cc7ccb..19b835a0ef959caac542cedae29d10b82cfa88cb 100644 (file)
@@ -45,7 +45,7 @@ If you haven't already, download and install Git.
 @qq{Full installer for official Git} from:
 
 @example
-@uref{http://code.google.com/p/msysgit/downloads/list}
+@uref{https://git-for-windows.github.io/}
 @end example
 
 @item Other operating systems: either install @command{git} with
@@ -2356,9 +2356,7 @@ has, either as a complete file or as a @q{diff} or @q{patch}
 @subsection Installing git
 
 Obtain Git from
-@uref{http://code.google.com/p/msysgit/downloads/list} (note, not
-msysGit, which is for Git developers and not PortableGit, which is
-not a full git installation) and install it.
+@uref{https://git-for-windows.github.io/}.
 
 Note that most users will not need to install SSH.  That is not
 required until you have been granted direct push permissions to
index cdbd6b76472ea8eeda00ee477ade4e2c44c69d25..e0e8eca9b6ab68c5dafe5907e3287d8ed1e70abd 100644 (file)
@@ -244,6 +244,11 @@ pre.menu-comment {
   margin-bottom: 1em;
 }
 
+table td {
+    vertical-align: top;
+    padding-bottom: .5em;
+}
+
 /***********************************************************/
 /*                    TOC SIDEBAR                          */
 /***********************************************************/
index c73fae7ef3a95288c3f4801f4aa2a33a4a2315ac..a87acd3a5d04ab6e2c6e0e205f8b8ccad092ba4b 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes.
 @end ignore
 
-@c \version "2.19.22"
+@c \version "2.19.40"
 
 @c Translators: Till Paala
 
@@ -1142,7 +1142,7 @@ werden.
       \overrideTimeSignatureSettings
         4/4        % timeSignatureFraction
         1/4        % baseMomentFraction
-        #'(3 1)    % beatStructure
+        3,1        % beatStructure
         #'()       % beamExceptions
       \time 4/4
       \repeat unfold 8 { c8 } |
@@ -1186,7 +1186,7 @@ Noten in dem Kontext befinen müssen, bevor
     \overrideTimeSignatureSettings
       4/4        % timeSignatureFraction
       1/4        % baseMomentFraction
-      #'(3 1)    % beatStructure
+      3,1        % beatStructure
       #'()       % beamExceptions
     \time 4/4
     c8^\markup {"Beamed (2 2)"}
@@ -1195,7 +1195,7 @@ Noten in dem Kontext befinen müssen, bevor
     \overrideTimeSignatureSettings
       4/4        % timeSignatureFraction
       1/4        % baseMomentFraction
-      #'(3 1)    % beatStructure
+      3,1        % beatStructure
       #'()       % beamExceptions
     \time 4/4
     c8^\markup {"Beamed (3 1)"}
@@ -1221,7 +1221,7 @@ Standard zurückgesetzt werden:
     \overrideTimeSignatureSettings
       4/4        % timeSignatureFraction
       1/4        % baseMomentFraction
-      #'(3 1)    % beatStructure
+      3,1        % beatStructure
       #'()       % beamExceptions
     \time 4/4
     \repeat unfold 8 { c8 } |
@@ -1244,7 +1244,7 @@ Notensysteme können eingerichtet werden, indem man den
         \overrideTimeSignatureSettings
           4/4        % timeSignatureFraction
           1/4        % baseMomentFraction
-          #'(3 1)    % beatStructure
+          3,1        % beatStructure
           #'()       % beamExceptions
         \time 4/4
         \repeat unfold 8 {c''8}
@@ -1253,7 +1253,7 @@ Notensysteme können eingerichtet werden, indem man den
         \overrideTimeSignatureSettings
           4/4        % timeSignatureFraction
           1/4        % baseMomentFraction
-          #'(1 3)    % beatStructure
+          1,3        % beatStructure
           #'()       % beamExceptions
         \time 4/4
         \repeat unfold 8 {c''8}
@@ -2166,9 +2166,9 @@ einzelner Taktschlag.
 @lilypond[quote,relative=2,verbatim]
 \time 5/16
 c16^"default" c c c c |
-\set Timing.beatStructure = #'(2 3)
+\set Timing.beatStructure = 2,3
 c16^"(2+3)" c c c c |
-\set Timing.beatStructure = #'(3 2)
+\set Timing.beatStructure = 3,2
 c16^"(3+2)" c c c c |
 @end lilypond
 
@@ -2182,12 +2182,12 @@ werden, wenn die Bebalkung von @code{beatStructure} bestimmt werden soll.
 a8^"default" a a a a a a a
 
 \set Timing.baseMoment = #(ly:make-moment 1/4)
-\set Timing.beatStructure = #'(1 1 1 1)
+\set Timing.beatStructure = 1,1,1,1
 a8^"no change" a a a a a a a
 
 \set Timing.beamExceptions = #'()
 \set Timing.baseMoment = #(ly:make-moment 1/4)
-\set Timing.beatStructure = #'(1 1 1 1)
+\set Timing.beatStructure = 1,1,1,1
 a8^"changed" a a a a a a a
 @end lilypond
 
@@ -2199,7 +2199,7 @@ niedrigere befindet.
 @lilypond[quote, verbatim,relative=1]
 \new Staff <<
   \time 7/8
-  \set Staff.beatStructure = #'(2 3 2)
+  \set Staff.beatStructure = 2,3,2
   \new Voice = one {
     \relative {
         a'8 a a a a a a
@@ -2208,7 +2208,7 @@ niedrigere befindet.
   \new Voice  = two {
     \relative {
       \voiceTwo
-      \set Voice.beatStructure = #'(1 3 3)
+      \set Voice.beatStructure = 1,3,3
       f'8 f f f f f f
     }
   }
@@ -2225,11 +2225,11 @@ Systems angewendet werden sollen:
 % Context applied to Voice by dafault --  does not work correctly
 % Because of autogenerated voices, all beating will
 % be at baseMoment (1 . 8)
-\set beatStructure = #'(3 1 1 2)
+\set beatStructure = 3,1,1,2
 << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
 
 % Works correctly with context Staff specified
-\set Staff.beatStructure = #'(3 1 1 2)
+\set Staff.beatStructure = 3,1,1,2
 << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
 @end lilypond
 
@@ -2241,7 +2241,7 @@ er kompatibel mit dem neuen Wert von @code{baseMoment} ist.
 @lilypond[quote,verbatim,relative=2]
 \time 5/8
 \set Timing.baseMoment = #(ly:make-moment 1/16)
-\set Timing.beatStructure = #'(7 3)
+\set Timing.beatStructure = 7,3
 \repeat unfold 10 { a16 }
 @end lilypond
 
@@ -2262,7 +2262,7 @@ definiert.
 
 @lilypond[quote,relative=2,verbatim]
 \time 3/16
-\set Timing.beatStructure = #'(2 1)
+\set Timing.beatStructure = 2,1
 \set Timing.beamExceptions =
   #'(                         ;start of alist
      (end .                   ;entry for end of beams
@@ -2314,7 +2314,7 @@ definiert wird, werden die automatischen Bebalkungsregeln für den
   \time 6/8
   \repeat unfold 6 { a8 }
   % group (4 + 2)
-  \set Timing.beatStructure = #'(4 2)
+  \set Timing.beatStructure = 4,2
   \repeat unfold 6 { a8 }
   % go back to default behavior
   \time 6/8
@@ -2336,7 +2336,7 @@ Die @code{beamExceptions}-Regel kann die @code{beatStructure}-Einstellung
 @lilypond[quote,verbatim,fragment]
 \time 4/4
 \set Timing.baseMoment = #(ly:make-moment 1/8)
-\set Timing.beatStructure = #'(3 3 2)
+\set Timing.beatStructure = 3,3,2
 % This won't beam (3 3 2) because of beamExceptions
 \repeat unfold 8 {c''8} |
 % This will beam (3 3 2) because we clear beamExceptions
@@ -2476,7 +2476,7 @@ vermeiden, ist es, die Taktart nur in einem System zu setzen.
   \new Staff {
     \time 3/4
     \set Timing.baseMoment = #(ly:make-moment 1/8)
-    \set Timing.beatStructure = #'(1 5)
+    \set Timing.beatStructure = 1,5
     \repeat unfold 6 { a8 }
   }
   \new Staff {
@@ -2496,7 +2496,7 @@ der automatischen Bebalkungsregeln für eine Taktart sind in
     \overrideTimeSignatureSettings
       3/4               % timeSignatureFraction
       1/8               % baseMomentFraction
-      #'(1 5)           % beatStructure
+      1,5               % beatStructure
       #'()             % beamExceptions
     \time 3/4
     \repeat unfold 6 { a'8 }
index effa27d144c89cf98efc8076db8f95b4b52d36e2..7a2c6a24e2c6276e6271eca796341204fc3de353 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.19.22"
+@c \version "2.19.40"
 
 @node Duraciones
 @section Duraciones
@@ -1177,9 +1177,9 @@ escribiéndolo como primer argumento opcional:
 \score {
   \new Staff {
     \relative {
-      \time #'(2 2 3) 7/8
+      \time 2,2,3 7/8
       \repeat unfold 7 { c'8 } |
-      \time #'(3 2 2) 7/8
+      \time 3,2,2 7/8
       \repeat unfold 7 { c8 } |
     }
   }
@@ -1201,7 +1201,7 @@ con el mismo valor del tipo de compás:
       \overrideTimeSignatureSettings
         4/4        % timeSignatureFraction
         1/4        % baseMomentFraction
-        #'(3 1)    % beatStructure
+        3,1        % beatStructure
         #'()       % beamExceptions
       \time 4/4
       \repeat unfold 8 { c8 } |
@@ -1250,7 +1250,7 @@ tipo de compás se pueden restaurar a los valores originales:
     \overrideTimeSignatureSettings
       4/4        % timeSignatureFraction
       1/4        % baseMomentFraction
-      #'(3 1)    % beatStructure
+      3,1        % beatStructure
       #'()       % beamExceptions
     \time 4/4
     \repeat unfold 8 { c8 } |
@@ -1274,7 +1274,7 @@ contexto @code{Staff}.
         \overrideTimeSignatureSettings
           4/4        % timeSignatureFraction
           1/4        % baseMomentFraction
-          #'(3 1)    % beatStructure
+          3,1        % beatStructure
           #'()       % beamExceptions
         \time 4/4
         \repeat unfold 8 {c''8}
@@ -1283,7 +1283,7 @@ contexto @code{Staff}.
         \overrideTimeSignatureSettings
           4/4        % timeSignatureFraction
           1/4        % baseMomentFraction
-          #'(1 3)    % beatStructure
+          1,3        % beatStructure
           #'()       % beamExceptions
         \time 4/4
         \repeat unfold 8 {c''8}
@@ -2265,9 +2265,9 @@ establecerse.
   % beamExceptions are unlikely to be defined for 5/16 time,
   % but let's disable them anyway to be sure
   \set Timing.beamExceptions = #'()
-  \set Timing.beatStructure = #'(2 3)
+  \set Timing.beatStructure = 2,3
   c16^"(2+3)" c c c c |
-  \set Timing.beatStructure = #'(3 2)
+  \set Timing.beatStructure = 3,2
   c16^"(3+2)" c c c c |
 }
 @end lilypond
@@ -2280,7 +2280,7 @@ establecerse.
   % defined for 4/4 time
   \set Timing.beamExceptions = #'()
   \set Timing.baseMoment = #(ly:make-moment 1/4)
-  \set Timing.beatStructure = #'(1 1 1 1)
+  \set Timing.beatStructure = 1,1,1,1
   a8^"changed" a a a a a a a
 }
 @end lilypond
@@ -2295,7 +2295,7 @@ circundante.
   \time 7/8
   % No need to disable beamExceptions
   % as they are not defined for 7/8 time
-  \set Staff.beatStructure = #'(2 3 2)
+  \set Staff.beatStructure = 2,3,2
   <<
     \new Voice = one {
       \relative {
@@ -2305,7 +2305,7 @@ circundante.
     \new Voice = two {
       \relative {
         \voiceTwo
-        \set Voice.beatStructure = #'(1 3 3)
+        \set Voice.beatStructure = 1,3,3
         f'8 f f f f f f
       }
     }
@@ -2323,11 +2323,11 @@ pentagrama:
 % Change applied to Voice by default --  does not work correctly
 % Because of autogenerated voices, all beating will
 % be at baseMoment (1 . 8)
-\set beatStructure = #'(3 1 1 2)
+\set beatStructure = 3,1,1,2
 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>
 
 % Works correctly with context Staff specified
-\set Staff.beatStructure = #'(3 1 1 2)
+\set Staff.beatStructure = 3,1,1,2
 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>
 @end lilypond
 
@@ -2341,7 +2341,7 @@ compatible con el nuevo valor de @code{baseMoment}.
 % No need to disable beamExceptions
 % as they are not defined for 5/8 time
 \set Timing.baseMoment = #(ly:make-moment 1/16)
-\set Timing.beatStructure = #'(7 3)
+\set Timing.beatStructure = 7,3
 \repeat unfold 10 { a'16 }
 @end lilypond
 
@@ -2373,7 +2373,7 @@ discernir la longitud del compás).  He aquí un ejemplo sencillo:
 @lilypond[quote,verbatim]
 \relative c'' {
   \time 3/16
-  \set Timing.beatStructure = #'(2 1)
+  \set Timing.beatStructure = 2,1
   \set Timing.beamExceptions =
     \beamExceptions { 32[ 32] 32[ 32] 32[ 32] }
   c16 c c |
@@ -2400,7 +2400,7 @@ para el contexto @code{Timing} al comportamiento predeterminado.
   \time 6/8
   \repeat unfold 6 { a8 }
   % group (4 + 2)
-  \set Timing.beatStructure = #'(4 2)
+  \set Timing.beatStructure = 4,2
   \repeat unfold 6 { a8 }
   % go back to default behavior
   \time 6/8
@@ -2424,7 +2424,7 @@ ajuste @code{beatStructure} si no se reinicia
 @lilypond[quote,verbatim,fragment]
 \time 4/4
 \set Timing.baseMoment = #(ly:make-moment 1/8)
-\set Timing.beatStructure = #'(3 3 2)
+\set Timing.beatStructure = 3,3,2
 % This won't beam (3 3 2) because of beamExceptions
 \repeat unfold 8 {c''8} |
 % This will beam (3 3 2) because we clear beamExceptions
@@ -2568,7 +2568,7 @@ solamente.
   \new Staff {
     \time 3/4
     \set Timing.baseMoment = #(ly:make-moment 1/8)
-    \set Timing.beatStructure = #'(1 5)
+    \set Timing.beatStructure = 1,5
     \set Timing.beamExceptions = #'()
     \repeat unfold 6 { a'8 }
   }
@@ -2590,7 +2590,7 @@ barrado automático para una indicación de compás se describe en
     \overrideTimeSignatureSettings
       3/4               % timeSignatureFraction
       1/8               % baseMomentFraction
-      #'(1 5)           % beatStructure
+      1,5               % beatStructure
       #'()             % beamExceptions
     \time 3/4
     \repeat unfold 6 { a'8 }
index e2f3ab73cccf525ab697bc07eb2444bc2cf044da..5e63eabcd4f96598e64c742beca832dadfedf3ca 100644 (file)
@@ -119,10 +119,10 @@ where
 
 @multitable @columnfractions .33 .66
 @item @code{@var{argN}}
-@tab @var{n}th argument
+@tab @var{n}th argument.
 
 @item @code{@var{typeN?}}
-@tab a Scheme @emph{type predicate} for which @code{@var{argN}}
+@tab A Scheme @emph{type predicate} for which @code{@var{argN}}
 must return @code{#t}.  There is also a special form
 @code{(@emph{predicate?} @emph{default})} for specifying optional
 arguments.  If the actual argument is missing when the function is being
index f8d4b13dddf97b492b02d13b041f58bbb52956e5..1c6bc517e25278d48e976d811157b284a05e2f1e 100644 (file)
@@ -8,7 +8,7 @@
    Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.19.22"
+@c \version "2.19.40"
 
 @c Translators: Frédéric Chiasson, Jean-Charles Malahieude
 @c Translation checkers: Valentin Villenave, François Martin, Xavier Scheuer
@@ -1167,9 +1167,9 @@ la commande @code{\time} à l'aide d'un premier argument :
 \score {
   \new Staff {
     \relative {
-      \time #'(2 2 3) 7/8
+      \time 2,2,3 7/8
       \repeat unfold 7 { c'8 } |
-      \time #'(3 2 2) 7/8
+      \time 3,2,2 7/8
       \repeat unfold 7 { c8 } |
     }
   }
@@ -1189,7 +1189,7 @@ de métrique correspondante :
     \overrideTimeSignatureSettings
       4/4        % timeSignatureFraction
       1/4        % baseMomentFraction
-      #'(3 1)    % beatStructure
+      3,1        % beatStructure
       #'()       % beamExceptions
     \time 4/4
     \repeat unfold 8 { c8 } |
@@ -1234,7 +1234,7 @@ métrique :
     \overrideTimeSignatureSettings
       4/4        % timeSignatureFraction
       1/4        % baseMomentFraction
-      #'(3 1)    % beatStructure
+      3,1        % beatStructure
       #'()       % beamExceptions
     \time 4/4
     \repeat unfold 8 { c8 } |
@@ -1257,7 +1257,7 @@ particuliers pour les différentes portées d'un regroupement :
         \overrideTimeSignatureSettings
           4/4        % timeSignatureFraction
           1/4        % baseMomentFraction
-          #'(3 1)    % beatStructure
+          3,1        % beatStructure
           #'()       % beamExceptions
         \time 4/4
         \repeat unfold 8 {c''8}
@@ -1266,7 +1266,7 @@ particuliers pour les différentes portées d'un regroupement :
         \overrideTimeSignatureSettings
           4/4        % timeSignatureFraction
           1/4        % baseMomentFraction
-          #'(1 3)    % beatStructure
+          1,3        % beatStructure
           #'()       % beamExceptions
         \time 4/4
         \repeat unfold 8 {c''8}
@@ -2233,9 +2233,9 @@ vigueur et ré-instaurées si cette métrique réapparaît plus tard.
   % beamExceptions are unlikely to be defined for 5/16 time,
   % but let's disable them anyway to be sure
   \set Timing.beamExceptions = #'()
-  \set Timing.beatStructure = #'(2 3)
+  \set Timing.beatStructure = 2,3
   c16^"(2+3)" c c c c |
-  \set Timing.beatStructure = #'(3 2)
+  \set Timing.beatStructure = 3,2
   c16^"(3+2)" c c c c |
 }
 @end lilypond
@@ -2248,7 +2248,7 @@ vigueur et ré-instaurées si cette métrique réapparaît plus tard.
   % defined for 4/4 time
   \set Timing.beamExceptions = #'()
   \set Timing.baseMoment = #(ly:make-moment 1/4)
-  \set Timing.beatStructure = #'(1 1 1 1)
+  \set Timing.beatStructure = 1,1,1,1
   a8^"changed" a a a a a a a
 }
 @end lilypond
@@ -2263,7 +2263,7 @@ supérieur s'appliqueront.
   \time 7/8
   % No need to disable beamExceptions
   % as they are not defined for 7/8 time
-  \set Staff.beatStructure = #'(2 3 2)
+  \set Staff.beatStructure = 2,3,2
   <<
     \new Voice = one {
       \relative {
@@ -2273,7 +2273,7 @@ supérieur s'appliqueront.
     \new Voice = two {
       \relative {
         \voiceTwo
-        \set Voice.beatStructure = #'(1 3 3)
+        \set Voice.beatStructure = 1,3,3
         f'8 f f f f f f
       }
     }
@@ -2291,11 +2291,11 @@ ces règles affectent le contexte @code{Staff} :
 % Change applied to Voice by default --  does not work correctly
 % Because of autogenerated voices, all beating will
 % be at baseMoment (1 . 8)
-\set beatStructure = #'(3 1 1 2)
+\set beatStructure = 3,1,1,2
 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>
 
 % Works correctly with context Staff specified
-\set Staff.beatStructure = #'(3 1 1 2)
+\set Staff.beatStructure = 3,1,1,2
 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>
 @end lilypond
 
@@ -2309,7 +2309,7 @@ valeur de @code{baseMoment}.
 % No need to disable beamExceptions
 % as they are not defined for 5/8 time
 \set Timing.baseMoment = #(ly:make-moment 1/16)
-\set Timing.beatStructure = #'(7 3)
+\set Timing.beatStructure = 7,3
 \repeat unfold 10 { a'16 }
 @end lilypond
 
@@ -2341,7 +2341,7 @@ ligatures sont gérées par la propriété  @code{beamExceptions}.
 @lilypond[quote,verbatim]
 \relative c'' {
   \time 3/16
-  \set Timing.beatStructure = #'(2 1)
+  \set Timing.beatStructure = 2,1
   \set Timing.beamExceptions =
     \beamExceptions { 32[ 32] 32[ 32] 32[ 32] }
   c16 c c |
@@ -2366,7 +2366,7 @@ de spécifier à nouveau la métrique.
   \time 6/8
   \repeat unfold 6 { a8 }
   % group (4 + 2)
-  \set Timing.beatStructure = #'(4 2)
+  \set Timing.beatStructure = 4,2
   \repeat unfold 6 { a8 }
   % go back to default behavior
   \time 6/8
@@ -2389,7 +2389,7 @@ de cette dérogation.
 @lilypond[quote,verbatim,fragment]
 \time 4/4
 \set Timing.baseMoment = #(ly:make-moment 1/8)
-\set Timing.beatStructure = #'(3 3 2)
+\set Timing.beatStructure = 3,3,2
 % This won't beam (3 3 2) because of beamExceptions
 \repeat unfold 8 {c''8} |
 % This will beam (3 3 2) because we clear beamExceptions
@@ -2530,7 +2530,7 @@ métrique que dans une seule portée.
   \new Staff {
     \time 3/4
     \set Timing.baseMoment = #(ly:make-moment 1/8)
-    \set Timing.beatStructure = #'(1 5)
+    \set Timing.beatStructure = 1,5
     \set Timing.beamExceptions = #'()
     \repeat unfold 6 { a'8 }
   }
@@ -2551,7 +2551,7 @@ ligature automatiques est abordée au chapitre @ref{Métrique}.
     \overrideTimeSignatureSettings
       3/4               % timeSignatureFraction
       1/8               % baseMomentFraction
-      #'(1 5)           % beatStructure
+      1,5               % beatStructure
       #'()             % beamExceptions
     \time 3/4
     \repeat unfold 6 { a'8 }
index 0e7a24c21db5ee3b7fcf3ae4ee900a34fc3bac91..b8e700d79fdba079b9241ab74dd73a747ea2c7f1 100644 (file)
@@ -583,7 +583,7 @@ violin concerto as TchaikovskyPI, whereas perhaps you wish to print
 
 @ The `line-width' is for \header.
 @li lypond[quote,verbatim,ragged-right,line-width]
-\version "2.19.2"
+\version "2.19.25"
 \header {
   dedication = "dedication"
   title = "Title"
index 216dd8e74d277bb5fb95e75bca2f96c9e2c6ba3c..f39751159a055238ca053d5439164bb2559c7a7b 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.19.22"
+@c \version "2.19.40"
 
 @c Translators: Federico Bruni
 @c Translation checkers: Luca Rossetto Casel
@@ -1140,9 +1140,9 @@ Si può sovrascrivere il valore predefinito di @code{beatStructure} nel comando
 \score {
   \new Staff {
     \relative {
-      \time #'(2 2 3) 7/8
+      \time 2,2,3 7/8
       \repeat unfold 7 { c'8 } |
-      \time #'(3 2 2) 7/8
+      \time 3,2,2 7/8
       \repeat unfold 7 { c8 } |
     }
   }
@@ -1163,7 +1163,7 @@ specificata nelle nuove impostazioni:
       \overrideTimeSignatureSettings
         4/4        % timeSignatureFraction
         1/4        % baseMomentFraction
-        #'(3 1)    % beatStructure
+        3,1        % beatStructure
         #'()       % beamExceptions
       \time 4/4
       \repeat unfold 8 { c8 } |
@@ -1209,7 +1209,7 @@ essere ripristinati ai valori originali:
     \overrideTimeSignatureSettings
       4/4        % timeSignatureFraction
       1/4        % baseMomentFraction
-      #'(3 1)    % beatStructure
+      3,1        % beatStructure
       #'()       % beamExceptions
     \time 4/4
     \repeat unfold 8 { c8 } |
@@ -1232,7 +1232,7 @@ di tempo per righi diversi spostando @code{Timing_translator} e
         \overrideTimeSignatureSettings
           4/4        % timeSignatureFraction
           1/4        % baseMomentFraction
-          #'(3 1)    % beatStructure
+          3,1        % beatStructure
           #'()       % beamExceptions
         \time 4/4
         \repeat unfold 8 {c''8}
@@ -1241,7 +1241,7 @@ di tempo per righi diversi spostando @code{Timing_translator} e
         \overrideTimeSignatureSettings
           4/4        % timeSignatureFraction
           1/4        % baseMomentFraction
-          #'(1 3)    % beatStructure
+          1,3        % beatStructure
           #'()       % beamExceptions
         \time 4/4
         \repeat unfold 8 {c''8}
@@ -2198,9 +2198,9 @@ tempo viene ristabilita.
   % È improbabile che per un tempo di 5/16 sia stata definita beamExceptions,
   % ma disabilitiamola lo stesso per sicurezza
   \set Timing.beamExceptions = #'()
-  \set Timing.beatStructure = #'(2 3)
+  \set Timing.beatStructure = 2,3
   c16^"(2+3)" c c c c |
-  \set Timing.beatStructure = #'(3 2)
+  \set Timing.beatStructure = 3,2
   c16^"(3+2)" c c c c |
 }
 @end lilypond
@@ -2214,7 +2214,7 @@ tempo viene ristabilita.
   % per il tempo 4/4
   \set Timing.beamExceptions = #'()
   \set Timing.baseMoment = #(ly:make-moment 1/4)
-  \set Timing.beatStructure = #'(1 1 1 1)
+  \set Timing.beatStructure = 1,1,1,1
   a8^"cambiato" a a a a a a a
 }
 @end lilypond
@@ -2229,7 +2229,7 @@ contiene.
   \time 7/8
   % Nessun bisogno di disabilitare beamExceptions perché non è definita per il tempo 7/8
 
-  \set Staff.beatStructure = #'(2 3 2)
+  \set Staff.beatStructure = 2,3,2
   <<
     \new Voice = one {
       \relative {
@@ -2239,7 +2239,7 @@ contiene.
     \new Voice = two {
       \relative {
         \voiceTwo
-        \set Voice.beatStructure = #'(1 3 3)
+        \set Voice.beatStructure = 1,3,3
         f'8 f f f f f f
       }
     }
@@ -2256,11 +2256,11 @@ rigo:
 % ritmo 3-1-1-2
 % Se non si specifica il contesto, la modifica viene applicata a Voice e quindi non funziona correttamente
 % Dato che le voci sono autogenerate, tutto il ritmo avrà come baseMoment (1 . 8)
-\set beatStructure = #'(3 1 1 2)
+\set beatStructure = 3,1,1,2
 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>
 
 % Funziona correttamente se si specifica il contesto Staff
-\set Staff.beatStructure = #'(3 1 1 2)
+\set Staff.beatStructure = 3,1,1,2
 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>
 @end lilypond
 
@@ -2273,7 +2273,7 @@ compatibile col nuovo valore di @code{baseMoment}.
 \time 5/8
 % Nessun bisogno di disabilitare beamExceptions perché non è definita per il tempo 5/8
 \set Timing.baseMoment = #(ly:make-moment 1/16)
-\set Timing.beatStructure = #'(7 3)
+\set Timing.beatStructure = 7,3
 \repeat unfold 10 { a16 }
 @end lilypond
 
@@ -2302,7 +2302,7 @@ modo per determinare la lunghezza della misura.  Ecco un semplice esempio:
 @lilypond[quote,verbatim]
 \relative c'' {
   \time 3/16
-  \set Timing.beatStructure = #'(2 1)
+  \set Timing.beatStructure = 2,1
   \set Timing.beamExceptions =
     \beamExceptions { 32[ 32] 32[ 32] 32[ 32] }
   c16 c c |
@@ -2328,7 +2328,7 @@ ai valori predefiniti.
   \time 6/8
   \repeat unfold 6 { a8 }
   % raggruppamento (4 + 2)
-  \set Timing.beatStructure = #'(4 2)
+  \set Timing.beatStructure = 4,2
   \repeat unfold 6 { a8 }
   % ritorno al comportamento predefinito
   \time 6/8
@@ -2349,7 +2349,7 @@ se @code{beamExceptions} non viene annullato.
 @lilypond[quote,verbatim,fragment]
 \time 4/4
 \set Timing.baseMoment = #(ly:make-moment 1/8)
-\set Timing.beatStructure = #'(3 3 2)
+\set Timing.beatStructure = 3,3,2
 % Le travature non saranno raggruppate in (3 3 2) a causa di beamExceptions
 \repeat unfold 8 {c8} |
 % Il raggruppamento delle travature è (3 3 2) perché abbiamo tolto le impostazioni predefinite di beamExceptions
@@ -2486,7 +2486,7 @@ un solo rigo.
   \new Staff {
     \time 3/4
     \set Timing.baseMoment = #(ly:make-moment 1/8)
-    \set Timing.beatStructure = #'(1 5)
+    \set Timing.beatStructure = 1,5
     \set Timing.beamExceptions = #'()
     \repeat unfold 6 { a'8 }
   }
@@ -2507,7 +2507,7 @@ descritte in @ref{Time signature}.
     \overrideTimeSignatureSettings
       3/4               % timeSignatureFraction
       1/8               % baseMomentFraction
-      #'(1 5)           % beatStructure
+      1,5               % beatStructure
       #'()             % beamExceptions
     \time 3/4
     \repeat unfold 6 { a'8 }
index 311a31aad64aba209ecc32251eff2c8b96b57cd0..79127b122dfde82206d578832f9844d5206d2ad7 100644 (file)
@@ -6,7 +6,7 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.19.22"
+@c \version "2.19.40"
 
 @c Translators: Yoshiki Sawada
 @c Translation status: post-GDP
@@ -1118,7 +1118,7 @@ R1^"right"
       \overrideTimeSignatureSettings
         4/4        % timeSignatureFraction
         1/4        % baseMomentFraction
-        #'(3 1)    % beatStructure
+        3,1        % beatStructure
         #'()       % beamExceptions
       \time 4/4
       \repeat unfold 8 { c8 } |
@@ -1163,7 +1163,7 @@ R1^"right"
     \overrideTimeSignatureSettings
       4/4        % timeSignatureFraction
       1/4        % baseMomentFraction
-      #'(3 1)    % beatStructure
+      3,1        % beatStructure
       #'()       % beamExceptions
     \time 4/4
     c8^\markup {"Beamed (2 2)"}
@@ -1172,7 +1172,7 @@ R1^"right"
     \overrideTimeSignatureSettings
       4/4        % timeSignatureFraction
       1/4        % baseMomentFraction
-      #'(3 1)    % beatStructure
+      3,1        % beatStructure
       #'()       % beamExceptions
     \time 4/4
     c8^\markup {"Beamed (3 1)"}
@@ -1194,7 +1194,7 @@ R1^"right"
     \overrideTimeSignatureSettings
       4/4        % timeSignatureFraction
       1/4        % baseMomentFraction
-      #'(3 1)    % beatStructure
+      3,1        % beatStructure
       #'()       % beamExceptions
     \time 4/4
     \repeat unfold 8 { c8 } |
@@ -1216,7 +1216,7 @@ R1^"right"
         \overrideTimeSignatureSettings
           4/4        % timeSignatureFraction
           1/4        % baseMomentFraction
-          #'(3 1)    % beatStructure
+          3,1        % beatStructure
           #'()       % beamExceptions
         \time 4/4
         \repeat unfold 8 {c''8}
@@ -1225,7 +1225,7 @@ R1^"right"
         \overrideTimeSignatureSettings
           4/4        % timeSignatureFraction
           1/4        % baseMomentFraction
-          #'(1 3)    % beatStructure
+          1,3        % beatStructure
           #'()       % beamExceptions
         \time 4/4
         \repeat unfold 8 {c''8}
@@ -2107,9 +2107,9 @@ cis4 d cis! d
 @lilypond[quote,relative=2,verbatim]
 \time 5/16
 c16^"default" c c c c |
-\set Timing.beatStructure = #'(2 3)
+\set Timing.beatStructure = 2,3
 c16^"(2+3)" c c c c |
-\set Timing.beatStructure = #'(3 2)
+\set Timing.beatStructure = 3,2
 c16^"(3+2)" c c c c |
 @end lilypond
 
@@ -2120,7 +2120,7 @@ c16^"(3+2)" c c c c |
 @lilypond[quote, verbatim,relative=1]
 \new Staff {
   \time 7/8
-  \set Staff.beatStructure = #'(2 3 2)
+  \set Staff.beatStructure = 2,3,2
   <<
     \new Voice = one {
       \relative {
@@ -2130,7 +2130,7 @@ c16^"(3+2)" c c c c |
     \new Voice = two {
       \relative {
         \voiceTwo
-        \set Voice.beatStructure = #'(1 3 3)
+        \set Voice.beatStructure = 1,3,3
         f'8 f f f f f f
       }
     }
@@ -2148,11 +2148,11 @@ c16^"(3+2)" c c c c |
 % リズム 3-1-1-2
 % デフォルトで連桁設定の変更は Voice に適用され、うまくいきません
 % なぜなら、自動生成されるボイスで、すべての拍は baseMoment (1 . 8) だからです
-\set beatStructure = #'(3 1 1 2)
+\set beatStructure = 3,1,1,2
 << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
 
 % コンテキスト Staff を指定するとうまくいきます
-\set Staff.beatStructure = #'(3 1 1 2)
+\set Staff.beatStructure = 3,1,1,2
 << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
 @end lilypond
 
@@ -2165,7 +2165,7 @@ c16^"(3+2)" c c c c |
 @lilypond[quote,verbatim,relative=2]
 \time 5/8
 \set Timing.baseMoment = #(ly:make-moment 1/16)
-\set Timing.beatStructure = #'(7 3)
+\set Timing.beatStructure = 7,3
 \repeat unfold 10 { a16 }
 @end lilypond
 
@@ -2183,7 +2183,7 @@ Scheme 関数 @code{ly:make-moment} によって作り出されます。@c
 @c 未訳
 @lilypond[quote,relative=2,verbatim]
 \time 3/16
-\set Timing.beatStructure = #'(2 1)
+\set Timing.beatStructure = 2,1
 \set Timing.beamExceptions =
   #'(                         ;start of alist
      (end .                   ;entry for end of beams
@@ -2229,7 +2229,7 @@ c16 c c |
 \time 6/8
 \repeat unfold 6 { a8 }
 % (4 + 2) にグループ化します
-\set Timing.beatStructure = #'(4 2)
+\set Timing.beatStructure = 4,2
 \repeat unfold 6 { a8 }
 % デフォルトの振る舞いに戻ります
 \time 6/8
@@ -2252,7 +2252,7 @@ c16 c c |
 @lilypond[quote,verbatim,relative=2]
 \time 4/4
 \set Timing.baseMoment = #(ly:make-moment 1/8)
-\set Timing.beatStructure = #'(3 3 2)
+\set Timing.beatStructure = 3,3,2
 % 以下は beamExceptions のため、(3 3 2) の連桁にはなりません
 \repeat unfold 8 {c8} |
 % 以下は beamExceptions をクリアするため、(3 3 2) の連桁になります
@@ -2390,7 +2390,7 @@ c16 c c |
   \new Staff {
     \time 3/4
     \set Timing.baseMoment = #(ly:make-moment 1/8)
-    \set Timing.beatStructure = #'(1 5)
+    \set Timing.beatStructure = 1,5
     \repeat unfold 6 { a8 }
   }
   \new Staff {
@@ -2409,7 +2409,7 @@ c16 c c |
     \overrideTimeSignatureSettings
       3/4               % timeSignatureFraction
       1/8               % baseMomentFraction
-      #'(1 5)           % beatStructure
+      1,5               % beatStructure
       #'()             % beamExceptions
     \time 3/4
     \repeat unfold 6 { a'8 }
index 371c63a0227272a0860585032cdec22e43f07af7..9f4cf10301c26714b4160e5500f9851ac127cd35 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.19.21"
+\version "2.19.40"
 \include "example-header.ily"
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -45,7 +45,7 @@ upperVoiceOne = \relative {
   <f aes d f>8\([ \tuplet 5/4{<g g'>32( aes' g f g]) }
   \set subdivideBeams = ##t
   \set baseMoment = #(ly:make-moment 1/8)
-  \set beatStructure = #'(2 2 2)
+  \set beatStructure = 2,2,2
   <aes, aes'>16 <c f> \tuplet 5/4{ bes'32( c bes aes bes]) }
   \set subdivideBeams = ##f
   \ottava #1 <es es'>16 <f f'> <d d'> \appoggiatura f8 <es es'>16\)
@@ -90,7 +90,7 @@ lowerVoiceOne = \relative {
   \csl \stemUp
   \set subdivideBeams = ##t
   \set baseMoment = #(ly:make-moment 1/16)
-  \set beatStructure = #'(4 4 4)
+  \set beatStructure = 4,4,4
   s8 \hideNotes \slurUp \stemDown
     es,,64( bes'' s64 \unHideNotes \stemUp g64[ bes c d c]) s2
   \set subdivideBeams = ##f
index 9f0adb7741f002a7b8371061f08366fc66889d58..27241d8fde0a836ec07292f6c747e5c5980d350a 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.19.22"
+@c \version "2.19.40"
 
 @node Rhythms
 @section Rhythms
@@ -1127,9 +1127,9 @@ argument:
 \score {
   \new Staff {
     \relative {
-      \time #'(2 2 3) 7/8
+      \time 2,2,3 7/8
       \repeat unfold 7 { c'8 } |
-      \time #'(3 2 2) 7/8
+      \time 3,2,2 7/8
       \repeat unfold 7 { c8 } |
     }
   }
@@ -1150,7 +1150,7 @@ signature is executed:
       \overrideTimeSignatureSettings
         4/4        % timeSignatureFraction
         1/4        % baseMomentFraction
-        #'(3 1)    % beatStructure
+        3,1        % beatStructure
         #'()       % beamExceptions
       \time 4/4
       \repeat unfold 8 { c8 } |
@@ -1196,7 +1196,7 @@ to the original values:
     \overrideTimeSignatureSettings
       4/4        % timeSignatureFraction
       1/4        % baseMomentFraction
-      #'(3 1)    % beatStructure
+      3,1        % beatStructure
       #'()       % beamExceptions
     \time 4/4
     \repeat unfold 8 { c8 } |
@@ -1219,7 +1219,7 @@ for different staves by moving the @code{Timing_translator} and the
         \overrideTimeSignatureSettings
           4/4        % timeSignatureFraction
           1/4        % baseMomentFraction
-          #'(3 1)    % beatStructure
+          3,1        % beatStructure
           #'()       % beamExceptions
         \time 4/4
         \repeat unfold 8 {c''8}
@@ -1228,7 +1228,7 @@ for different staves by moving the @code{Timing_translator} and the
         \overrideTimeSignatureSettings
           4/4        % timeSignatureFraction
           1/4        % baseMomentFraction
-          #'(1 3)    % beatStructure
+          1,3        % beatStructure
           #'()       % beamExceptions
         \time 4/4
         \repeat unfold 8 {c''8}
@@ -2174,9 +2174,9 @@ is re-established.
   % beamExceptions are unlikely to be defined for 5/16 time,
   % but let's disable them anyway to be sure
   \set Timing.beamExceptions = #'()
-  \set Timing.beatStructure = #'(2 3)
+  \set Timing.beatStructure = 2,3
   c16^"(2+3)" c c c c |
-  \set Timing.beatStructure = #'(3 2)
+  \set Timing.beatStructure = 3,2
   c16^"(3+2)" c c c c |
 }
 @end lilypond
@@ -2189,7 +2189,7 @@ is re-established.
   % defined for 4/4 time
   \set Timing.beamExceptions = #'()
   \set Timing.baseMoment = #(ly:make-moment 1/4)
-  \set Timing.beatStructure = #'(1 1 1 1)
+  \set Timing.beatStructure = 1,1,1,1
   a8^"changed" a a a a a a a
 }
 @end lilypond
@@ -2203,7 +2203,7 @@ enclosing context will apply.
   \time 7/8
   % No need to disable beamExceptions
   % as they are not defined for 7/8 time
-  \set Staff.beatStructure = #'(2 3 2)
+  \set Staff.beatStructure = 2,3,2
   <<
     \new Voice = one {
       \relative {
@@ -2213,7 +2213,7 @@ enclosing context will apply.
     \new Voice = two {
       \relative {
         \voiceTwo
-        \set Voice.beatStructure = #'(1 3 3)
+        \set Voice.beatStructure = 1,3,3
         f'8 f f f f f f
       }
     }
@@ -2231,11 +2231,11 @@ staff:
 % Change applied to Voice by default --  does not work correctly
 % Because of autogenerated voices, all beating will
 % be at baseMoment (1 . 8)
-\set beatStructure = #'(3 1 1 2)
+\set beatStructure = 3,1,1,2
 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>
 
 % Works correctly with context Staff specified
-\set Staff.beatStructure = #'(3 1 1 2)
+\set Staff.beatStructure = 3,1,1,2
 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>
 @end lilypond
 
@@ -2249,7 +2249,7 @@ compatible with the new value of @code{baseMoment}.
 % No need to disable beamExceptions
 % as they are not defined for 5/8 time
 \set Timing.baseMoment = #(ly:make-moment 1/16)
-\set Timing.beatStructure = #'(7 3)
+\set Timing.beatStructure = 7,3
 \repeat unfold 10 { a'16 }
 @end lilypond
 
@@ -2278,7 +2278,7 @@ a simple example:
 @lilypond[quote,verbatim]
 \relative c'' {
   \time 3/16
-  \set Timing.beatStructure = #'(2 1)
+  \set Timing.beatStructure = 2,1
   \set Timing.beamExceptions =
     \beamExceptions { 32[ 32] 32[ 32] 32[ 32] }
   c16 c c |
@@ -2304,7 +2304,7 @@ context to the default behavior.
   \time 6/8
   \repeat unfold 6 { a8 }
   % group (4 + 2)
-  \set Timing.beatStructure = #'(4 2)
+  \set Timing.beatStructure = 4,2
   \repeat unfold 6 { a8 }
   % go back to default behavior
   \time 6/8
@@ -2326,7 +2326,7 @@ if @code{beamExceptions} is not reset.
 @lilypond[quote,verbatim,fragment]
 \time 4/4
 \set Timing.baseMoment = #(ly:make-moment 1/8)
-\set Timing.beatStructure = #'(3 3 2)
+\set Timing.beatStructure = 3,3,2
 % This won't beam (3 3 2) because of beamExceptions
 \repeat unfold 8 {c''8} |
 % This will beam (3 3 2) because we clear beamExceptions
@@ -2464,7 +2464,7 @@ in only one staff.
   \new Staff {
     \time 3/4
     \set Timing.baseMoment = #(ly:make-moment 1/8)
-    \set Timing.beatStructure = #'(1 5)
+    \set Timing.beatStructure = 1,5
     \set Timing.beamExceptions = #'()
     \repeat unfold 6 { a'8 }
   }
@@ -2485,7 +2485,7 @@ beaming settings for a time signature are described in
     \overrideTimeSignatureSettings
       3/4               % timeSignatureFraction
       1/8               % baseMomentFraction
-      #'(1 5)           % beatStructure
+      1,5               % beatStructure
       #'()             % beamExceptions
     \time 3/4
     \repeat unfold 6 { a'8 }
index ae63f423c28b832141dd1207cc3fd0ccd147b175..926a1729e5a6ec515a48acb43eac42abf3e73393 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.18.0"
+\version "2.19.40"
 
 \header {
   lsrtags = "automatic-notation, connecting-notes, rhythms"
@@ -35,10 +35,10 @@ specified in @code{baseMoment}).
     >>
     \oneVoice
     \set baseMoment = #(ly:make-moment 1/8)
-    \set beatStructure = #'(2 2 2 2)
+    \set beatStructure = 2,2,2,2
     b32^"baseMoment 1 8"[ a g f c' b a g]
     \set baseMoment = #(ly:make-moment 1/16)
-    \set beatStructure = #'(4 4 4 4)
+    \set beatStructure = 4,4,4,4
     b32^"baseMoment 1 16"[ a g f c' b a g]
   }
 }
index be7e458d6363558e049d48004140eafcecdcb0c7..c517b35ecfffff7cdf8ed53a282de121ea1c40e5 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.18.0"
+\version "2.19.40"
 
 \header {
   lsrtags = "rhythms"
@@ -22,14 +22,14 @@ levels:
   \time 5/4
   % Set default beaming for all staves
   \set Score.baseMoment = #(ly:make-moment 1/8)
-  \set Score.beatStructure = #'(3 4 3)
+  \set Score.beatStructure = 3,4,3
   <<
     \new Staff {
       c8 c c c c c c c c c
     }
     \new Staff {
       % Modify beaming for just this staff
-      \set Staff.beatStructure = #'(6 4)
+      \set Staff.beatStructure = 6,4
       c8 c c c c c c c c c
     }
     \new Staff {
@@ -42,7 +42,7 @@ levels:
         % Modify beaming for this voice only
         \new Voice {
           \voiceTwo
-          \set Voice.beatStructure = #'(6 4)
+          \set Voice.beatStructure = 6,4
           a8 a a a a a a a a a
         }
       >>
index 060b3faf2a3fbbf602380ab7a38b7b1d7d83e40c..eea44b0fbc117d0bf6e6fda7b3f15b1704ced300 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.18.0"
+\version "2.19.40"
 
 \header {
   lsrtags = "rhythms"
@@ -38,9 +38,9 @@ setting in @code{scm/time-signature-settings.scm}:
   \new Voice \relative c'' {
     \time 9/8
     g8 g d d g g a( bes g) |
-    \set Timing.beatStructure = #'(2 2 2 3)
+    \set Timing.beatStructure = 2,2,2,3
     g8 g d d g g a( bes g) |
-    \time #'(4 5) 9/8
+    \time 4,5 9/8
     g8 g d d g g a( bes g) |
     \time 5/8
     a4. g4 |
index 0030c5a1cb3f866f1f3348f3943e5d52bbbc9063..bd194133063ba9d663a1a57c33ee6571bab50b17 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.19.34"
+\version "2.19.40"
 
 \header {
   lsrtags = "rhythms"
@@ -33,22 +33,22 @@ changed to match the new @code{baseMoment}:
 
   % Set beam sub-group length to an eighth note
   \set baseMoment = #(ly:make-moment 1/8)
-  \set beatStructure = #'(2 2 2 2)
+  \set beatStructure = 2,2,2,2
   c32[ c c c c c c c]
 
   % Set beam sub-group length to a sixteenth note
   \set baseMoment = #(ly:make-moment 1/16)
-  \set beatStructure = #'(4 4 4 4)
+  \set beatStructure = 4,4,4,4
   c32[ c c c c c c c]
 
   % Shorten beam by 1/32
   \set baseMoment = #(ly:make-moment 1/8)
-  \set beatStructure = #'(2 2 2 2)
+  \set beatStructure = 2,2,2,2
   c32[ c c c c c c] r32
 
   % Shorten beam by 3/32
   \set baseMoment = #(ly:make-moment 1/8)
-  \set beatStructure = #'(2 2 2 2)
+  \set beatStructure = 2,2,2,2
   c32[ c c c c] r16.
   r2
 }
diff --git a/Documentation/snippets/new/user-defined-time-signatures.ly b/Documentation/snippets/new/user-defined-time-signatures.ly
new file mode 100644 (file)
index 0000000..0494666
--- /dev/null
@@ -0,0 +1,27 @@
+\version "2.19.16"
+
+\header {
+  lsrtags = "rhythms"
+
+  texidoc = "
+New time signature styles can be defined.  The time signature in
+the second measure should be upside down in both staves.
+"
+
+  doctitle = "User defined time signatures"
+}
+
+#(add-simple-time-signature-style 'topsy-turvy
+   (lambda (fraction)
+     (make-rotate-markup 180 (make-compound-meter-markup fraction))))
+
+<<
+  \new Staff {
+    \time 3/4 f'2.
+    \override Score.TimeSignature.style = #'topsy-turvy
+    \time 3/4 R2. \bar "|."
+  }
+  \new Staff {
+    R2. e''
+  }
+>>
index bf28390f9f6acf4c29ed9aed86f057b951ff7b2c..b5f90ce2053d92cb9a402b2d2c63d66aff92ba66 100644 (file)
@@ -4,7 +4,7 @@
 %% and then run scripts/auxiliar/makelsr.py
 %%
 %% This file is in the public domain.
-\version "2.18.0"
+\version "2.19.40"
 
 \header {
   lsrtags = "rhythms, version-specific"
@@ -25,6 +25,6 @@ new beaming endings:
   a8 a a a a a a a a a a a
 
   % Set new values for beam endings
-  \set Score.beatStructure = #'(3 4 3 2)
+  \set Score.beatStructure = 3,4,3,2
   a8 a a a a a a a a a a a
 }
index f041143575e9b42216862df5ddf2c1694bcf25af..382302b03f62772a51fd27999ed32efa28edd5a9 100644 (file)
@@ -64,6 +64,7 @@ time-signature-in-parentheses---method-3.ly
 time-signature-in-parentheses.ly
 time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly
 tweaking-grace-layout-within-music.ly
+user-defined-time-signatures.ly
 using-alternative-flag-styles.ly
 using-grace-note-slashes-with-normal-heads.ly
 using-ties-with-arpeggios.ly
index fddf7c230b014720c8a6fbc924b7ae8630775274..9419a6893e7261d72cdc0b75a6b5a08a5e6663a6 100644 (file)
@@ -81,7 +81,7 @@ staffTabLine = \new Staff \with {
   \key c \major
   \relative c''
   {
-    % disable the following line to see the the noteheads while writing the song
+    % disable the following line to see the noteheads while writing the song
     \NoNoteHead
     \override NoteHead.no-ledgers = ##t
 
index e73800041a1c51cefa92f9bbfd3f26e078b66151..05f6b9bc9b942be33adae0fbf81c6bf218fe7f0f 100644 (file)
@@ -4,8 +4,8 @@
 % and then run scripts/auxiliar/makelsr.py
 %
 % This file is in the public domain.
-%% Note: this file works from version 2.19.34
-\version "2.19.34"
+%% Note: this file works from version 2.19.40
+\version "2.19.40"
 
 \header {
   lsrtags = "rhythms"
@@ -41,22 +41,22 @@ changed to match the new @code{baseMoment}:
 
   % Set beam sub-group length to an eighth note
   \set baseMoment = #(ly:make-moment 1/8)
-  \set beatStructure = #'(2 2 2 2)
+  \set beatStructure = 2,2,2,2
   c32[ c c c c c c c]
 
   % Set beam sub-group length to a sixteenth note
   \set baseMoment = #(ly:make-moment 1/16)
-  \set beatStructure = #'(4 4 4 4)
+  \set beatStructure = 4,4,4,4
   c32[ c c c c c c c]
 
   % Shorten beam by 1/32
   \set baseMoment = #(ly:make-moment 1/8)
-  \set beatStructure = #'(2 2 2 2)
+  \set beatStructure = 2,2,2,2
   c32[ c c c c c c] r32
 
   % Shorten beam by 3/32
   \set baseMoment = #(ly:make-moment 1/8)
-  \set beatStructure = #'(2 2 2 2)
+  \set beatStructure = 2,2,2,2
   c32[ c c c c] r16.
   r2
 }
diff --git a/Documentation/snippets/user-defined-time-signatures.ly b/Documentation/snippets/user-defined-time-signatures.ly
new file mode 100644 (file)
index 0000000..3bf7b76
--- /dev/null
@@ -0,0 +1,35 @@
+% DO NOT EDIT this file manually; it is automatically
+% generated from Documentation/snippets/new
+% Make any changes in Documentation/snippets/new/
+% and then run scripts/auxiliar/makelsr.py
+%
+% This file is in the public domain.
+%% Note: this file works from version 2.19.16
+\version "2.19.16"
+
+\header {
+  lsrtags = "rhythms"
+
+  texidoc = "
+New time signature styles can be defined.  The time signature in
+the second measure should be upside down in both staves.
+"
+
+  doctitle = "User defined time signatures"
+} % begin verbatim
+
+
+#(add-simple-time-signature-style 'topsy-turvy
+   (lambda (fraction)
+     (make-rotate-markup 180 (make-compound-meter-markup fraction))))
+
+<<
+  \new Staff {
+    \time 3/4 f'2.
+    \override Score.TimeSignature.style = #'topsy-turvy
+    \time 3/4 R2. \bar "|."
+  }
+  \new Staff {
+    R2. e''
+  }
+>>
index 359699c2e3e8dfd89b890153bf974c6caa712478..dcba99ed2e5a36704c290220377080df6823efbb 100644 (file)
@@ -9,10 +9,10 @@
 @c used for news about the upcoming release; see CG 10.2
 
 @newsItem
-@subheading LilyPond 2.19.38 released  @emph{March 13, 2016}
+@subheading LilyPond 2.19.39 released  @emph{March 27, 2016}
 
 We are happy to announce the release of LilyPond
-2.19.38.  This release includes a number of enhancements, and contains some
+2.19.39.  This release includes a number of enhancements, and contains some
 work in progress.  You will have access to the very latest features, but
 some may be incomplete, and you may encounter bugs and crashes.  If you
 require a stable version of Lilypond, we recommend using the 2.18
index 3bba58437d6a3366d2ba8e3fe57aa650c5e69c6f..6cb92854e7389a98f084043a199663dd053fbaa8 100644 (file)
@@ -26,6 +26,18 @@ NOTE:
   * don't duplicate entries from news-front.itexi
 @end ignore
 
+@newsItem
+@subheading LilyPond 2.19.38 released  @emph{March 13, 2016}
+
+We are happy to announce the release of LilyPond
+2.19.38.  This release includes a number of enhancements, and contains some
+work in progress.  You will have access to the very latest features, but
+some may be incomplete, and you may encounter bugs and crashes.  If you
+require a stable version of Lilypond, we recommend using the 2.18
+version.
+
+@newsEnd
+
 @newsItem
 @subheading LilyPond 2.19.37 released  @emph{February 28, 2016}
 
index c6da26a1bb1ac2d54cd91f32baacc1a6459e1927..29d90284118dd52942e03bcb5d46b69c0ee219b9 100644 (file)
 
 RewriteEngine On
 
+# Permanent redirect from www.lilypond.org to lilypond.org
+RewriteCond "%{HTTP_HOST}" "^www\.(.+)$" [NC]
+RewriteRule "^/?(.*)$"     "http://%1/$1" [R=301,L,NE]
+
 # Deny following of symlinks by robots.
 # HTTrack is a known offender.
 # better yet, to redirect this to page that tells adminstrator
diff --git a/VERSION b/VERSION
index c9956eca56ef21cc7b51d920ffb33ccb54655dcb..4f515550c29f1497fe828f2ac28539e468f73375 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,7 +1,7 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=2
 MINOR_VERSION=19
-PATCH_LEVEL=39
+PATCH_LEVEL=40
 MY_PATCH_LEVEL=
 VERSION_STABLE=2.18.2
-VERSION_DEVEL=2.19.38
+VERSION_DEVEL=2.19.39
index a34bbc580e56ecde5de72021dd6b6a13429b30ee..0a753325d1eec6384b6c0972ae2d8330543bfdb6 100644 (file)
@@ -240,6 +240,10 @@ STEPMAKE_PROGS(BIBTEX, bibtex, $DOCUMENTATION_REQUIRED)
 STEPMAKE_PROGS(PDFLATEX, xelatex pdflatex, $DOCUMENTATION_REQUIRED)
 if test "$PDFLATEX" = "xelatex"; then
     STEPMAKE_PROGS(PDFTEX, xetex, $DOCUMENTATION_REQUIRED)
+    if test "$PDFTEX" = "xetex"; then
+        # For avoiding PDF destination name replacement.
+        PDFTEX=$ugh_ugh_autoconf250_builddir/scripts/build/out$CONFIGSUFFIX/xetex-with-options
+    fi
 else
     STEPMAKE_PROGS(PDFTEX, pdfetex pdftex etex, $DOCUMENTATION_REQUIRED)
 fi
index 79aad6b6bb91700f79b61923097d5fa6736c346f..04fabcb0210f7d2833905c01c445719543165fb4 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.17.11"
+\version "2.19.40"
 
 \header {
 
@@ -28,7 +28,7 @@ is changed, beams should start at the beginning of the measure.
   c c c r r4 \bar "||"
 
   \set Timing.baseMoment = #(ly:make-moment 1/8)
-  \set Timing.beatStructure = #'(3 3)
+  \set Timing.beatStructure = 3,3
   r8^\markup "Override to beam groups of 3 eighth notes" c c c c c
   r4. c8 c c c c c r4.
 }
index 8af2e93ec7bb871e7162e106cbd8d4cc902f671d..8137ffd06ab5f87ed8c28ea82e183364bf8a82ac 100644 (file)
@@ -7,13 +7,13 @@ signature. "
 \layout {
   ragged-right = ##t
   }
-\version "2.19.21"
+\version "2.19.40"
 
 
 \relative {
   \time 5/16
-  \set beatStructure = #'(2 3)
+  \set beatStructure = 2,3
   c''8[^"(2+3)" c16 c8]
-  \set beatStructure = #'(3 2)
+  \set beatStructure = 3,2
   c8[^"(3+2)" c16 c8]
 }
index 285c41ce29f15cd0435624d2d73088951edbbf6e..7a2109cd2276ff49bd1a032e8743427eba5e77b3 100644 (file)
@@ -1,11 +1,16 @@
 \version "2.16.0"
 \header {
     texidoc = "The layout of the major 7 can be tuned with
-@code{majorSevenSymbol}."
+@code{majorSevenSymbol}.  It does not break if @code{majorSevenSymbol} is unset.
+One should see: triangle - j7 - triangle - #7."
 }
 
 \chords {
     c:7+
     \set majorSevenSymbol = \markup { "j7" }
     c:7+
+    \unset majorSevenSymbol
+    c:7+
+    \unset Score.majorSevenSymbol
+    c:7+
 }
index 649309ac6e448c2824577dfe5fe36337c75394b1..1a51c2b12264197c9f3497e46297ca9554d722f3 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.19.24"
+\version "2.19.40"
 #(use-modules (srfi srfi-13)
               (ice-9 format))
 
@@ -172,7 +172,7 @@ stderr of this run."
 \test ##[ \clef "bass^(15)" #]
 \test ##[ \clef "alto_3" #]
 \test ##[ \time 2/4 #]
-\test ##[ \time #'(3 2) 5/8 #]
+\test ##[ \time 3,2 5/8 #]
 \test ##[ \bar "|." #]
 
 %% staff switches
index 270b5bc73d2cf15c899d98a8e459812db54ce04d..5e27084142ec371087fb306731c225f898980092 100644 (file)
@@ -7,7 +7,7 @@ brackets above beats when the beats of a time signature are grouped.  "
 
 }
 
-\version "2.19.21"
+\version "2.19.40"
 
 \layout  {
   ragged-right = ##t
@@ -22,11 +22,11 @@ brackets above beats when the beats of a time signature are grouped.  "
 \relative {
   \time 2/4 
   c'8 a'4 a8~
-  \time #'(3 2) 5/8 
+  \time 3,2 5/8 
   a8 bes4 r8 bes8->
   \time 2/4
   c,8 g'4 g8~
-  \time #'(3 2) 5/8 
+  \time 3,2 5/8 
   g8 a4 g a4.->
 }
 
index 883124d4a632b8ee867332101539951a904977ea..91c53a39280a918a51e3a52bc343acdc0d3d4cd9 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.19.40"
 
 \header {
   texidoc = "
@@ -13,12 +13,12 @@ by the markups.
     \overrideTimeSignatureSettings
       #'(4 . 4)  % time signature fraction
       #'(1 . 4)  % base moment fraction
-      #'(1 1 1 1)    % beatStructure
+      1,1,1,1        % beatStructure
       #'()       % beamExceptions
     \overrideTimeSignatureSettings
       #'(3 . 4)  % time signature fraction
       #'(1 . 4)  % base moment fraction
-      #'(1 1 1)    % beatStructure
+      1,1,1        % beatStructure
       #'()       % beamExceptions
     \time 4/4
     c8^\markup {"Beam by 1/4"} c c c c c c c |
index ad6dec591f587a7431f68f8067681342be0d5953..7daa85333c914a4768416324bc49f0b1e0011718 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.16.0"
+\version "2.19.40"
 
 \header {
   texidoc = "
@@ -15,7 +15,7 @@ should be beamed 3/4, 1/4.  The lower staff should be beamed 1/4, 3/4.
         \overrideTimeSignatureSettings
           4/4        % timeSignatureFraction
           1/4        % baseMomentFraction
-          #'(3 1)    % beatStructure
+          3,1        % beatStructure
           #'()       % beamExceptions
         \time 4/4
         \repeat unfold 8 {c''8}
@@ -24,7 +24,7 @@ should be beamed 3/4, 1/4.  The lower staff should be beamed 1/4, 3/4.
         \overrideTimeSignatureSettings
           4/4        % timeSignatureFraction
           1/4        % baseMomentFraction
-          #'(1 3)    % beatStructure
+          1,3        % beatStructure
           #'()       % beamExceptions
         \time 4/4
         \repeat unfold 8 {c''8}
index 60df2449e273810f7bc5b8a05b582bf2b174ae49..158a6149a2bed23a4a30eb8bea63ebaae57a13c6 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.19.21"
+\version "2.19.40"
 
 \header {
 
@@ -10,7 +10,7 @@ Subdivision works properly for tuplets
 \relative {
   \set subdivideBeams = ##t
   \set baseMoment = #(ly:make-moment 1/8)
-  \set beatStructure = #'(2 2 2 2)
+  \set beatStructure = 2,2,2,2
   \repeat unfold 8 {
     \tuplet 3/2 { c''16 e d }
   }
index 7a11d05fc95f5c09479b693f6527ac216340257a..b8849e8f4acaa79447fe0a81daa4d6e0d8a218d3 100644 (file)
@@ -674,6 +674,14 @@ assignment:
 identifier_init:
        identifier_init_nonumber
        | number_expression
+       | symbol_list_part_bare '.' property_path
+       {
+               $$ = scm_reverse_x ($1, $3);
+       }
+       | symbol_list_part_bare ',' property_path
+       {
+               $$ = scm_reverse_x ($1, $3);
+       }
        | post_event_nofinger post_events
        {
                $$ = scm_reverse_x ($2, SCM_EOL);
@@ -1726,6 +1734,21 @@ symbol_list_element:
        | UNSIGNED
        ;
 
+symbol_list_part_bare:
+       STRING
+       {
+               $$ = try_string_variants (Lily::key_list_p, $1);
+               if (SCM_UNBNDP ($$)) {
+                       parser->parser_error (@1, _("not a key"));
+                       $$ = SCM_EOL;
+               } else
+                       $$ = scm_reverse ($$);
+       }
+       | UNSIGNED
+       {
+               $$ = scm_list_1 ($1);
+       }
+       ;
 
 function_arglist_nonbackup:
        function_arglist_common
@@ -2883,6 +2906,14 @@ scalar:
                $$ = scm_difference ($2, SCM_UNDEFINED);
        }
        | string
+       | symbol_list_part_bare '.' property_path
+       {
+               $$ = scm_reverse_x ($1, $3);
+       }
+       | symbol_list_part_bare ',' property_path
+       {
+               $$ = scm_reverse_x ($1, $3);
+       }
        ;
 
 event_chord:
index ac5ca82133822948d91e07b009b128d18f36dfee..94092984b598dec062cf1c496cff025939597b8e 100644 (file)
@@ -23,7 +23,7 @@ That's it.  For more information, visit http://lilypond.org .
 
 %}
 
-\version "2.19.38"  % necessary for upgrading to future LilyPond versions.
+\version "2.19.39"  % necessary for upgrading to future LilyPond versions.
 
 \header{
   title = "A scale in LilyPond"
index 365abc53dd0c12a79cb848cc4b13e130032ab949..b2984a0833d8e8ed963a2c0a5d7b06b2d5c1f75f 100644 (file)
@@ -32,7 +32,7 @@ Good luck with LilyPond!  Happy engraving.
 
 %}
 
-\version "2.19.38"  % necessary for upgrading to future LilyPond versions.
+\version "2.19.39"  % necessary for upgrading to future LilyPond versions.
 
 \header{
   title = "A scale in LilyPond"
index 470faffa6ac36228222bb077a250e1fdb2e240cb..96f45ded93ccc3f784eeaea6e1ebe8a61764f2b1 100644 (file)
@@ -2,6 +2,8 @@
 
 #(use-modules (scm graphviz))
 
+#(use-modules (ice-9 regex))
+
 #(define last-grob-action '())
 
 #(define sym-blacklist '())
 
 #(define (grob-mod grob file line func prop val)
   (let* ((val-str (truncate-value val))
-         (label (format #f "~a\\n~a:~a\\n~a <- ~a" (grob::name grob) file line prop val-str)))
+         (label (format #f "~a\\n~a:~a\\n~a <- ~a" (grob::name grob) file line prop val-str))
+         ;; to keep escaped "\"" we need to transform it to "\\\""
+         ;; otherwise the final pdf-creation will break
+         (escaped-label
+           (regexp-substitute/global #f "\"" label 'pre "\\\"" 'post)))
    (if (relevant? grob file line prop)
-       (grob-event-node grob label file))))
+       (grob-event-node grob escaped-label file))))
 
 #(define (grob-cache grob prop callback value)
   (let* ((val-str (truncate-value value))
index 311c75e4000da530905138d5cf7d43dfb55daf64..0309639d0cf24f579c0bc4dc8b0d0ed6f9ce5e3b 100644 (file)
@@ -6,10 +6,10 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: lilypond 2.19.38\n"
+"Project-Id-Version: lilypond 2.19.39\n"
 "Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu."
 "lilypond.bugs\n"
-"POT-Creation-Date: 2016-03-13 12:28+0000\n"
+"POT-Creation-Date: 2016-03-27 15:42+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1808,8 +1808,8 @@ msgstr ""
 msgid "cannot find line breaking that satisfies constraints"
 msgstr ""
 
-#: context-property.cc:45
-msgid "need symbol arguments for \\override and \\revert"
+#: context-property.cc:46
+msgid "need symbol argument for \\override and \\revert"
 msgstr ""
 
 #: context.cc:143
@@ -2990,7 +2990,7 @@ msgstr ""
 msgid "already have a text spanner"
 msgstr ""
 
-#: text-spanner-engraver.cc:130
+#: text-spanner-engraver.cc:132
 msgid "unterminated text spanner"
 msgstr ""
 
@@ -3103,119 +3103,119 @@ msgstr ""
 msgid "giving up"
 msgstr ""
 
-#: parser.yy:478 parser.yy:949 parser.yy:1030 parser.yy:1250
+#: parser.yy:480 parser.yy:963 parser.yy:1044 parser.yy:1264
 msgid "bad expression type"
 msgstr ""
 
-#: parser.yy:861 parser.yy:1460 parser.yy:1505
+#: parser.yy:875 parser.yy:1474 parser.yy:1519
 msgid "not a context mod"
 msgstr ""
 
-#: parser.yy:1056
+#: parser.yy:1070
 msgid "Missing music in \\score"
 msgstr ""
 
-#: parser.yy:1093
+#: parser.yy:1107
 msgid "\\paper cannot be used in \\score, use \\layout instead"
 msgstr ""
 
-#: parser.yy:1128
+#: parser.yy:1142
 msgid "Spurious expression in \\score"
 msgstr ""
 
-#: parser.yy:1158
+#: parser.yy:1172
 msgid "need \\paper for paper block"
 msgstr ""
 
-#: parser.yy:1333
+#: parser.yy:1347
 msgid "music expected"
 msgstr ""
 
-#: parser.yy:1343 parser.yy:1377
+#: parser.yy:1357 parser.yy:1391
 msgid "unexpected post-event"
 msgstr ""
 
-#: parser.yy:1385
+#: parser.yy:1399
 msgid "Ignoring non-music expression"
 msgstr ""
 
-#: parser.yy:1693
-msgid "not a symbol"
+#: parser.yy:1715
+msgid "not a key"
 msgstr ""
 
-#: parser.yy:2562 parser.yy:2676 parser.yy:2689 parser.yy:2698
+#: parser.yy:2588 parser.yy:2706 parser.yy:2719 parser.yy:2728
 msgid "bad grob property path"
 msgstr ""
 
-#: parser.yy:2656
+#: parser.yy:2686
 msgid "only \\consists and \\remove take non-string argument."
 msgstr ""
 
-#: parser.yy:2717
+#: parser.yy:2747
 msgid "bad context property path"
 msgstr ""
 
-#: parser.yy:2802
+#: parser.yy:2832
 msgid "markup expected"
 msgstr ""
 
-#: parser.yy:2814
+#: parser.yy:2844
 msgid "simple string expected"
 msgstr ""
 
-#: parser.yy:2831
+#: parser.yy:2861
 msgid "symbol expected"
 msgstr ""
 
-#: parser.yy:2967
+#: parser.yy:2997
 msgid "not a rhythmic event"
 msgstr ""
 
-#: parser.yy:3017
+#: parser.yy:3047
 msgid "post-event expected"
 msgstr ""
 
-#: parser.yy:3026 parser.yy:3031
+#: parser.yy:3056 parser.yy:3061
 msgid "have to be in Lyric mode for lyrics"
 msgstr ""
 
-#: parser.yy:3107
+#: parser.yy:3137
 msgid "expecting string or post-event as script definition"
 msgstr ""
 
-#: parser.yy:3211
+#: parser.yy:3241
 msgid "not an articulation"
 msgstr ""
 
-#: parser.yy:3277 parser.yy:3329
+#: parser.yy:3307 parser.yy:3359
 msgid "not a duration"
 msgstr ""
 
-#: parser.yy:3350
+#: parser.yy:3380
 msgid "bass number expected"
 msgstr ""
 
-#: parser.yy:3442
+#: parser.yy:3472
 msgid "have to be in Note mode for notes"
 msgstr ""
 
-#: parser.yy:3481
+#: parser.yy:3511
 msgid "have to be in Chord mode for chords"
 msgstr ""
 
-#: parser.yy:3524
+#: parser.yy:3554
 msgid "markup outside of text script or \\lyricmode"
 msgstr ""
 
-#: parser.yy:3529
+#: parser.yy:3559
 msgid "unrecognized string, not in text script or \\lyricmode"
 msgstr ""
 
-#: parser.yy:3681 parser.yy:3690
+#: parser.yy:3711 parser.yy:3720
 msgid "not an unsigned integer"
 msgstr ""
 
-#: parser.yy:3777
+#: parser.yy:3807
 msgid "not a markup"
 msgstr ""
 
@@ -3623,37 +3623,37 @@ msgstr ""
 msgid "cannot find: ~A"
 msgstr ""
 
-#: lily.scm:906
+#: lily.scm:910
 msgid "Success: compilation successfully completed"
 msgstr ""
 
-#: lily.scm:907
+#: lily.scm:911
 msgid "Compilation completed with warnings or errors"
 msgstr ""
 
-#: lily.scm:968
+#: lily.scm:972
 #, scheme-format
 msgid "job ~a terminated with signal: ~a"
 msgstr ""
 
-#: lily.scm:971
+#: lily.scm:975
 #, scheme-format
 msgid ""
 "logfile ~a (exit ~a):\n"
 "~a"
 msgstr ""
 
-#: lily.scm:993 lily.scm:1082
+#: lily.scm:997 lily.scm:1086
 #, scheme-format
 msgid "failed files: ~S"
 msgstr ""
 
-#: lily.scm:1073
+#: lily.scm:1077
 #, scheme-format
 msgid "Redirecting output to ~a..."
 msgstr ""
 
-#: lily.scm:1092
+#: lily.scm:1096
 #, scheme-format
 msgid "Invoking `~a'...\n"
 msgstr ""
index 9de12567832817b4babd87e7594c8025dc0b3aff..3e43a281330f089304ed199745d0abf7a8b5598b 100644 (file)
@@ -3871,6 +3871,23 @@ def conv(str):
     str = re.sub (r"#'whiteout-box(?![a-z_-])\b", r"#'whiteout", str)
     return str
 
+@rule ((2, 19, 40), r"\time #'(2 3) ... -> \time 2,3 ...")
+def conv (str):
+    def repl (m):
+        return m.group(1) + re.sub (r"\s+", ",", m.group (2))
+
+    str = re.sub (r"(beatStructure\s*=\s*)#'\(([0-9]+(?:\s+[0-9]+)+)\)",
+                  repl, str)
+
+    str = re.sub (r"(\\time\s*)#'\(([0-9]+(?:\s+[0-9]+)+)\)", repl, str)
+    def repl (m):
+        subst = re.sub (r"\s+", ",", m.group (1))
+        return subst + (4 + len (m.group (1)) - len (subst)) * " " + m.group (2)
+
+    str = re.sub (r"#'\(([0-9]+(?:\s+[0-9]+)+)\)(\s+%\s*beatStructure)",
+                  repl, str)
+    return str
+
 # Guidelines to write rules (please keep this at the end of this file)
 #
 # - keep at most one rule per version; if several conversions should be done,
index f798c0fdf6aa7fc82aba8dceb62691cfeab4f9b5..483b8cac8f18fc6bb20598ae7ef7ccfb120c48ff 100644 (file)
@@ -161,10 +161,12 @@ work than classifying the pitches."
       (let* ((num-markup (make-simple-markup
                           (number->string (pitch-step pitch))))
              (args (list num-markup))
-             (total (if (= (ly:pitch-alteration pitch) 0)
-                        (if (= (pitch-step pitch) 7)
-                            (list (ly:context-property context 'majorSevenSymbol))
-                            args)
+             (major-seven-symbol (ly:context-property context 'majorSevenSymbol))
+             (total
+                    (if (and (= (ly:pitch-alteration pitch) 0)
+                             (= (pitch-step pitch) 7)
+                             (markup? major-seven-symbol))
+                        (list major-seven-symbol)
                         (cons (accidental->markup (step-alteration pitch)) args))))
 
         (make-line-markup total)))
index a6fafdc01251bb38559f84d2dc3c337855881029..9fba75445fd86e0e219fc52a2ba60764972cf495 100644 (file)
@@ -198,12 +198,15 @@ for file in html_files:
         ### add google tracker header
         if (line.find("</head>") >= 0):
             outfile.write("""<!-- Google tracking !-->
-<script src="http://www.google-analytics.com/urchin.js"
-type="text/javascript">
-</script>
-<script type="text/javascript">
-_uacct = "UA-68969-1";
-urchinTracker();
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-68969-1', 'auto');
+  ga('send', 'pageview');
+
 </script>
 """);
         #### add google tracker goals
diff --git a/scripts/build/xetex-with-options.sh b/scripts/build/xetex-with-options.sh
new file mode 100755 (executable)
index 0000000..f53ba0d
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# By the default settings,
+# XeTeX (xdvipdfmx) replaces link destination names with integers.
+# In this case, the replaced destination names of
+# remote PDF cannot be known. In order to avoid replacement,
+# we can use commandline option `-C 0x0010' for xdvipdfmx.
+
+exec xetex --output-driver='xdvipdfmx -C 0x0010' "$@"
index ad32213089149b43d40b13c289ff064a8ce13594..d164d451b89075c9d7670202182e788aa5659f40 100644 (file)
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2016-02-15.14}
+\def\texinfoversion{2016-03-29.15}
 %
 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
 % Margin to add to right of even pages, to left of odd pages.
 \newdimen\bindingoffset
 \newdimen\normaloffset
-\newdimen\pagewidth \newdimen\pageheight
+\newdimen\txipagewidth \newdimen\txipageheight
 
 % Main output routine.
 %
   % Common context changes for both heading and footing.
   % Do this outside of the \shipout so @code etc. will be expanded in
   % the headline as they should be, not taken literally (outputting ''code).
-  \def\commmonheadfootline{\let\hsize=\pagewidth \texinfochars}
+  \def\commmonheadfootline{\let\hsize=\txipagewidth \texinfochars}
   %
   % Retrieve the information for the headings from the marks in the page,
   % and call Plain TeX's \makeheadline and \makefootline, which use the
 \newinsert\margin \dimen\margin=\maxdimen
 
 % Main part of page, including any footnotes
-\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
+\def\pagebody#1{\vbox to\txipageheight{\boxmaxdepth=\maxdepth #1}}
 {\catcode`\@ =11
 \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
 % marginal hacks, juha@viisa.uucp (Juha Takala)
   % \dimen0 is the vertical size of the group's box.
   \dimen0 = \ht\groupbox  \advance\dimen0 by \dp\groupbox
   % \dimen2 is how much space is left on the page (more or less).
-  \dimen2 = \pageheight   \advance\dimen2 by -\pagetotal
+  \dimen2 = \txipageheight   \advance\dimen2 by -\pagetotal
   % if the group doesn't fit on the current page, and it's a big big
   % group, force a page break.
   \ifdim \dimen0 > \dimen2
-    \ifdim \pagetotal < \vfilllimit\pageheight
+    \ifdim \pagetotal < \vfilllimit\txipageheight
       \page
     \fi
   \fi
@@ -1100,6 +1100,64 @@ where each line of input produces a line of output.}
 \newif\ifpdf
 \newif\ifpdfmakepagedest
 
+%
+% For LuaTeX
+%
+
+\ifx\luatexversion\thisisundefined
+\else
+  % Escape PDF strings UTF-8 to UTF-16
+  \begingroup
+    \catcode`\%=12
+    \directlua{
+      function UTF16oct(str)
+        tex.sprint(string.char(0x5c) .. '376' .. string.char(0x5c) .. '377')
+        for c in string.utfvalues(str) do
+          if c < 0x10000 then
+            tex.sprint(
+              string.format(string.char(0x5c) .. string.char(0x25) .. '03o' ..
+                            string.char(0x5c) .. string.char(0x25) .. '03o',
+                            (c / 256), (c % 256)))
+          else
+            c = c - 0x10000
+            local c_hi = c / 1024 + 0xd800
+            local c_lo = c % 1024 + 0xdc00
+            tex.sprint(
+              string.format(string.char(0x5c) .. string.char(0x25) .. '03o' ..
+                            string.char(0x5c) .. string.char(0x25) .. '03o' ..
+                            string.char(0x5c) .. string.char(0x25) .. '03o' ..
+                            string.char(0x5c) .. string.char(0x25) .. '03o',
+                            (c_hi / 256), (c_hi % 256),
+                            (c_lo / 256), (c_lo % 256)))
+          end
+        end
+      end
+    }
+  \endgroup
+  \def\pdfescapestring#1{\directlua{UTF16oct('\luaescapestring{#1}')}}
+  \ifnum\luatexversion>84
+    % For LuaTeX >= 0.85
+    \def\pdfdest{\pdfextension dest}
+    \let\pdfoutput\outputmode
+    \def\pdfliteral{\pdfextension literal}
+    \def\pdfcatalog{\pdfextension catalog}
+    \def\pdftexversion{\numexpr\pdffeedback version\relax}
+    \let\pdfximage\saveimageresource
+    \let\pdfrefximage\useimageresource
+    \let\pdflastximage\lastsavedimageresourceindex
+    \def\pdfendlink{\pdfextension endlink\relax}
+    \def\pdfoutline{\pdfextension outline}
+    \def\pdfstartlink{\pdfextension startlink}
+    \def\pdffontattr{\pdfextension fontattr}
+    \def\pdfobj{\pdfextension obj}
+    \def\pdflastobj{\numexpr\pdffeedback lastobj\relax}
+    \let\pdfpagewidth\pagewidth
+    \let\pdfpageheight\pageheight
+    \edef\pdfhorigin{\pdfvariable horigin}
+    \edef\pdfvorigin{\pdfvariable vorigin}
+  \fi
+\fi
+
 % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
 % can be set).  So we test for \relax and 0 as well as being undefined.
 \ifx\pdfoutput\thisisundefined
@@ -1283,18 +1341,23 @@ output) for that.)}
     % page number.  We could generate a destination for the section
     % text in the case where a section has no node, but it doesn't
     % seem worth the trouble, since most documents are normally structured.
-    \edef\pdfoutlinedest{#3}%
-    \ifx\pdfoutlinedest\empty
-      \def\pdfoutlinedest{#4}%
-    \else
-      \txiescapepdf\pdfoutlinedest
-    \fi
-    %
-    % Also escape PDF chars in the display string.
-    \edef\pdfoutlinetext{#1}%
-    \txiescapepdf\pdfoutlinetext
-    %
-    \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
+    {
+      \ifx\luatexversion\thisisundefined \else
+        \turnoffactive % LuaTeX can use Unicode strings for PDF
+      \fi
+      \edef\pdfoutlinedest{#3}%
+      \ifx\pdfoutlinedest\empty
+        \def\pdfoutlinedest{#4}%
+      \else
+        \txiescapepdf\pdfoutlinedest
+      \fi
+      %
+      % Also escape PDF chars in the display string.
+      \edef\pdfoutlinetext{#1}%
+      \txiescapepdf\pdfoutlinetext
+      %
+      \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
+    }
   }
   %
   \def\pdfmakeoutlines{%
@@ -1450,10 +1513,27 @@ output) for that.)}
 \fi  % \ifx\pdfoutput
 
 %
-% PDF outline support for XeTeX
+% For XeTeX
 %
+\newif\iftxiuseunicodedestname
 \ifx\XeTeXrevision\thisisundefined
 \else
+  %
+  % XeTeX version check
+  %
+  \ifnum\strcmp{\the\XeTeXversion\XeTeXrevision}{0.99995}>-1
+    % XeTeX 0.99995+ contains xdvipdfmx 20160307+.
+    % It can handle Unicode destination name for PDF.
+    \txiuseunicodedestnametrue
+  \else
+    % XeTeX < 0.99995 can not handle Unicode destination name for PDF
+    % because xdvipdfmx 20150315 has UTF-16 convert issue.
+    % It fixed by xdvipdfmx 20160106 (TeX Live SVN r39753).
+    \txiuseunicodedestnamefalse
+  \fi
+  %
+  % PDF outline support
+  %
   \pdfmakepagedesttrue \relax
   % Emulate the primitive of pdfTeX
   \def\pdfdest name#1 xyz{%
@@ -1463,22 +1543,34 @@ output) for that.)}
     % We have to set dummies so commands such as @code, and characters
     % such as \, aren't expanded when present in a section title.
     \indexnofonts
+    \iftxiuseunicodedestname
+      \def\pdfdestname{#1}% Pass through Unicode characters.
+    \else
+      \edef\pdfdestname{#1}% Replace Unicode characters to ASCII.
+    \fi
+    \turnoffactive
     \makevalueexpandable
-    % In the case of XeTeX, xdvipdfmx converts strings to UTF-16.
-    % Therefore \txiescapepdf is not necessary.
-    \safewhatsit{\pdfdest name{#1} xyz}%
+    \txiescapepdf\pdfdestname
+    \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
   }}
   %
   \def\dopdfoutline#1#2#3#4{%
-    \edef\pdfoutlinedest{#3}%
+    \iftxiuseunicodedestname
+      \def\pdfoutlinedest{#3}% Pass through Unicode characters.
+    \else
+      \edef\pdfoutlinedest{#3}% Replace Unicode characters to ASCII.
+    \fi
     \ifx\pdfoutlinedest\empty
       \def\pdfoutlinedest{#4}%
     \fi
     {
       \turnoffactive
-      % In the case of XeTeX, xdvipdfmx converts strings to UTF-16.
-      % Therefore \txiescapepdf is not necessary.
-      \special{pdf:out [-] #2 << /Title (#1) /A << /S /GoTo /D (name\pdfoutlinedest) >> >> }%
+      \txiescapepdf\pdfoutlinedest
+      \edef\pdfoutlinetext{#1}%
+      \txiescapepdf\pdfoutlinetext
+      %
+      \special{pdf:out [-] #2 << /Title (\pdfoutlinetext) /A
+        << /S /GoTo /D (name\pdfoutlinedest) >> >> }%
     }
   }
   %
@@ -1528,24 +1620,76 @@ output) for that.)}
   ]
 
   \special{pdf:docview << /PageMode /UseOutlines >> }
-  \openin 1 uptex.tex % upTeX has UTF8-UTF16 cmap
-  \ifeof 1
-    % upTeX does not exist. To use UTF8-UCS2 cmap.
-    % In this case, non-BMP characters (over U+FFFF) can not be used.
-    \special{pdf:tounicode UTF8-UCS2}
-  \else
-    % upTeX exists. To use UTF8-UTF16 cmap.
-    % Non-BMP characters (over U+FFFF) can be used.
-    \special{pdf:tounicode UTF8-UTF16}
-  \fi
-\fi
-
+  % ``\special{pdf:tounicode ...}'' is not necessary
+  % because xdvipdfmx converts strings from UTF-8 to UTF-16 without it.
+  % However, due to UTF-16 convert issue of xdvipdfmx 20150315,
+  % ``\special{pdf:dest ...}'' can not handle non-ASCII strings.
+  % It fixed by xdvipdfmx 20160106 (TeX Live SVN r39753).
 %
-% @image support for XeTeX
+  \def\skipspaces#1{\def\PP{#1}\def\D{|}%
+    \ifx\PP\D\let\nextsp\relax
+    \else\let\nextsp\skipspaces
+      \addtokens{\filename}{\PP}%
+      \advance\filenamelength by 1
+    \fi
+    \nextsp}
+  \def\getfilename#1{%
+    \filenamelength=0
+    % If we don't expand the argument now, \skipspaces will get
+    % snagged on things like "@value{foo}".
+    \edef\temp{#1}%
+    \expandafter\skipspaces\temp|\relax
+  }
+  % make a live url in pdf output.
+  \def\pdfurl#1{%
+    \begingroup
+      % it seems we really need yet another set of dummies; have not
+      % tried to figure out what each command should do in the context
+      % of @url.  for now, just make @/ a no-op, that's the only one
+      % people have actually reported a problem with.
+      %
+      \normalturnoffactive
+      \def\@{@}%
+      \let\/=\empty
+      \makevalueexpandable
+      % do we want to go so far as to use \indexnofonts instead of just
+      % special-casing \var here?
+      \def\var##1{##1}%
+      %
+      \leavevmode\setcolor{\urlcolor}%
+      \special{pdf:bann << /Border [0 0 0]
+        /Subtype /Link /A << /S /URI /URI (#1) >> >>}%
+    \endgroup}
+  \def\endlink{\setcolor{\maincolor}\special{pdf:eann}}
+  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
+  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
+  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
+  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
+  \def\maketoks{%
+    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
+    \ifx\first0\adn0
+    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
+    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
+    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
+    \else
+      \ifnum0=\countA\else\makelink\fi
+      \ifx\first.\let\next=\done\else
+        \let\next=\maketoks
+        \addtokens{\toksB}{\the\toksD}
+        \ifx\first,\addtokens{\toksB}{\space}\fi
+      \fi
+    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+    \next}
+  \def\makelink{\addtokens{\toksB}%
+    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
+  \def\pdflink#1{%
+    \special{pdf:bann << /Border [0 0 0]
+      /Type /Annot /Subtype /Link /A << /S /GoTo /D (name#1) >> >>}%
+    \setcolor{\linkcolor}#1\endlink}
+  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
 %
-\newif\ifxeteximgpdf
-\ifx\XeTeXrevision\thisisundefined
-\else
+  %
+  % @image support
   %
   % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
   \def\doxeteximage#1#2#3{%
@@ -1557,7 +1701,6 @@ output) for that.)}
     % someone has a scalable image, presumably better to use that than a
     % bitmap.
     \let\xeteximgext=\empty
-    \xeteximgpdffalse
     \begingroup
       \openin 1 #1.pdf \ifeof 1
         \openin 1 #1.PDF \ifeof 1
@@ -1574,17 +1717,23 @@ output) for that.)}
             \fi
           \else \gdef\xeteximgext{png}%
           \fi
-        \else \gdef\xeteximgext{PDF} \global\xeteximgpdftrue%
+        \else \gdef\xeteximgext{PDF}%
         \fi
-      \else \gdef\xeteximgext{pdf} \global\xeteximgpdftrue%
+      \else \gdef\xeteximgext{pdf}%
       \fi
       \closein 1
     \endgroup
     %
-    \ifxeteximgpdf
+    \def\xetexpdfext{pdf}%
+    \ifx\xeteximgext\xetexpdfext
       \XeTeXpdffile "#1".\xeteximgext ""
     \else
-      \XeTeXpicfile "#1".\xeteximgext ""
+      \def\xetexpdfext{PDF}%
+      \ifx\xeteximgext\xetexpdfext
+        \XeTeXpdffile "#1".\xeteximgext ""
+      \else
+        \XeTeXpicfile "#1".\xeteximgext ""
+      \fi
     \fi
     \ifdim \wd0 >0pt width \xeteximagewidth \fi
     \ifdim \wd2 >0pt height \xeteximageheight \fi \relax
@@ -2750,6 +2899,7 @@ end
     \setbox0 = \hbox{\ignorespaces #2}% look for second arg
     \ifdim\wd0 > 0pt
       \ifpdf
+        % For pdfTeX and LuaTeX
         \ifurefurlonlylink
           % PDF plus option to not display url, show just arg
           \unhbox0             
@@ -2759,7 +2909,19 @@ end
           \unhbox0\ (\urefcode{#1})%
         \fi
       \else
-        \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
+        \ifx\XeTeXrevision\thisisundefined
+          \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
+        \else
+          % For XeTeX
+          \ifurefurlonlylink
+            % PDF plus option to not display url, show just arg
+            \unhbox0             
+          \else
+            % PDF, normally display both arg and url for consistency,
+            % visibility, if the pdf is eventually used to print, etc.
+            \unhbox0\ (\urefcode{#1})%
+          \fi
+        \fi
       \fi
     \else
       \urefcode{#1}% only url given, so show it
@@ -2860,7 +3022,18 @@ end
     \endlink
   \endgroup}
 \else
-  \let\email=\uref
+  \ifx\XeTeXrevision\thisisundefined
+    \let\email=\uref
+  \else
+    \def\email#1{\doemail#1,,\finish}
+    \def\doemail#1,#2,#3\finish{\begingroup
+      \unsepspaces
+      \pdfurl{mailto:#1}%
+      \setbox0 = \hbox{\ignorespaces #2}%
+      \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
+      \endlink
+    \endgroup}
+  \fi
 \fi
 
 % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
@@ -3414,13 +3587,16 @@ end
 \newif\ifseenauthor
 \newif\iffinishedtitlepage
 
-% Do an implicit @contents or @shortcontents after @end titlepage if the
-% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.
-%
-\newif\ifsetcontentsaftertitlepage
- \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
-\newif\ifsetshortcontentsaftertitlepage
- \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
+% @setcontentsaftertitlepage used to do an implicit @contents or
+% @shortcontents after @end titlepage, but it is now obsolete.
+\def\setcontentsaftertitlepage{%
+  \errmessage{@setcontentsaftertitlepage has been removed as a Texinfo
+              command; move your @contents command if you want the contents
+              after the title page.}}%
+\def\setshortcontentsaftertitlepage{%
+  \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo
+              command; move your @shortcontents and @contents commands if you 
+              want the contents after the title page.}}%
 
 \parseargdef\shorttitlepage{%
   \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}%
@@ -3462,20 +3638,6 @@ end
   % Need this before the \...aftertitlepage checks so that if they are
   % in effect the toc pages will come out with page numbers.
   \HEADINGSon
-  %
-  % If they want short, they certainly want long too.
-  \ifsetshortcontentsaftertitlepage
-    \shortcontents
-    \contents
-    \global\let\shortcontents = \relax
-    \global\let\contents = \relax
-  \fi
-  %
-  \ifsetcontentsaftertitlepage
-    \contents
-    \global\let\contents = \relax
-    \global\let\shortcontents = \relax
-  \fi
 }
 
 \def\finishtitlepage{%
@@ -3579,7 +3741,7 @@ end
   %
   % Leave some space for the footline.  Hopefully ok to assume
   % @evenfooting will not be used by itself.
-  \global\advance\pageheight by -12pt
+  \global\advance\txipageheight by -12pt
   \global\advance\vsize by -12pt
 }
 
@@ -3604,9 +3766,9 @@ end
 \def\oddheadingmarks{\headingmarks{odd}{heading}}
 \def\evenfootingmarks{\headingmarks{even}{footing}}
 \def\oddfootingmarks{\headingmarks{odd}{footing}}
-\def\everyheadingmarks#1 {\headingmarks{even}{heading}{#1}
+\parseargdef\everyheadingmarks{\headingmarks{even}{heading}{#1}
                           \headingmarks{odd}{heading}{#1} }
-\def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1}
+\parseargdef\everyfootingmarks{\headingmarks{even}{footing}{#1}
                           \headingmarks{odd}{footing}{#1} }
 % #1 = even/odd, #2 = heading/footing, #3 = top/bottom.
 \def\headingmarks#1#2#3 {%
@@ -3627,7 +3789,7 @@ end
 % By default, they are off at the start of a document,
 % and turned `on' after @end titlepage.
 
-\def\headings #1 {\csname HEADINGS#1\endcsname}
+\parseargdef\headings{\csname HEADINGS#1\endcsname}
 
 \def\headingsoff{% non-global headings elimination
   \evenheadline={\hfil}\evenfootline={\hfil}%
@@ -5383,7 +5545,14 @@ end
         % preserve coloured links across page boundaries.  Otherwise the marks
         % would get in the way of \lastbox in \insertindexentrybox.
       \else
-        \hskip\skip\thinshrinkable #1%
+        \ifx\XeTeXrevision\thisisundefined
+          \hskip\skip\thinshrinkable #1%
+        \else
+          \pdfgettoks#1.%
+          \bgroup\let\domark\relax
+            \hskip\skip\thinshrinkable\the\toksA
+          \egroup
+        \fi
       \fi
     \fi
     \egroup % end \boxA
@@ -5518,7 +5687,11 @@ end
   \ifpdf
     \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
   \else
-    #2
+    \ifx\XeTeXrevision\thisisundefined
+      #2
+    \else
+      \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
+    \fi
   \fi
   \par
 }}
@@ -5651,7 +5824,7 @@ end
   \wd0=\hsize \wd2=\hsize
   \vbox{%
     \vskip\doublecolumntopgap
-    \hbox to\pagewidth{\box0\hfil\box2}}%
+    \hbox to\txipagewidth{\box0\hfil\box2}}%
 }
 
 
@@ -5678,7 +5851,7 @@ end
   % goal.  When TeX sees \eject from below which follows the final
   % section, it invokes the new output routine that we've set after
   % \balancecolumns below; \onepageout will try to fit the two columns
-  % and the final section into the vbox of \pageheight (see
+  % and the final section into the vbox of \txipageheight (see
   % \pagebody), causing an overfull box.
   %
   % Note that glue won't work here, because glue does not exercise the
@@ -6162,7 +6335,7 @@ end
   \fi
 }
 
-\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
+\parseargdef\setchapternewpage{\csname CHAPPAG#1\endcsname}
 
 \def\CHAPPAGoff{%
 \global\let\contentsalignmacro = \chappager
@@ -6308,30 +6481,6 @@ end
 }
 
 
-% I don't think this chapter style is supported any more, so I'm not
-% updating it with the new noderef stuff.  We'll see.  --karl, 11aug03.
-%
-\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
-%
-\def\unnchfopen #1{%
-  \chapoddpage
-  \vbox{\chapfonts \raggedtitlesettings #1\par}%
-  \nobreak\bigskip\nobreak
-}
-\def\chfopen #1#2{\chapoddpage {\chapfonts
-\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
-\par\penalty 5000 %
-}
-\def\centerchfopen #1{%
-  \chapoddpage
-  \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}%
-  \nobreak\bigskip \nobreak
-}
-\def\CHAPFopen{%
-  \global\let\chapmacro=\chfopen
-  \global\let\centerchapmacro=\centerchfopen}
-
-
 % Section titles.  These macros combine the section number parts and
 % call the generic \sectionheading to do the printing.
 %
@@ -7776,12 +7925,12 @@ end
 % Argument is macro body with arguments substituted
 \def\scanmacro#1{%
   \newlinechar`\^^M
-  \def\xprocessmacroarg{\eatspaces}%
+  \def\xeatspaces{\eatspaces}%
   %
   % Process the macro body under the current catcode regime.
   \scantokens{#1\texinfoc}\aftermacro%
   %
-  % The \c is to remove the \newlinechar added by \scantokens, and
+  % The \texinfoc is to remove the \newlinechar added by \scantokens, and
   % can be noticed by \parsearg.
   %   The \aftermacro allows a \comment at the end of the macro definition
   % to duplicate itself past the final \newlinechar added by \scantokens:
@@ -7794,15 +7943,7 @@ end
 
 % Used for copying and captions
 \def\scanexp#1{%
-  \bgroup
-  % Undo catcode changes of \startcontents and \printindex
-  % When called from @insertcopying or (short)caption, we need active
-  % backslash to get it printed correctly.
-  % FIXME: This may not be needed.
-  %\catcode`\@=0 \catcode`\\=\active \escapechar=`\@
-  \edef\temp{\noexpand\scanmacro{#1}}%
-  \temp
-  \egroup
+  \expandafter\scanmacro\expandafter{#1}%
 }
 
 \newcount\paramno   % Count of parameters
@@ -7872,7 +8013,7 @@ end
   \catcode`\_=\other
   \catcode`\|=\other
   \catcode`\~=\other
-  \ifx\declaredencoding\ascii \else \setcharscatcodeothernonglobal \fi
+  \passthroughcharstrue
 }
 
 \def\scanargctxt{% used for copying and captions, not macros.
@@ -8006,7 +8147,7 @@ end
   \paramno=0\def\paramlist{}%
   \let\hash\relax
   % \hash is redefined to `#' later to get it into definitions
-  \let\processmacroarg\relax
+  \let\xeatspaces\relax
   \parsemargdefxxx#1,;,%
   \ifnum\paramno<10\relax\else
     \paramno0\relax
@@ -8018,7 +8159,7 @@ end
   \else \let\next=\parsemargdefxxx
     \advance\paramno by 1
     \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
-        {\processmacroarg{\hash\the\paramno}}%
+        {\xeatspaces{\hash\the\paramno}}%
     \edef\paramlist{\paramlist\hash\the\paramno,}%
   \fi\next}
 
@@ -8244,16 +8385,9 @@ end
 %%%%%%%%%%%%%% End of code for > 10 arguments %%%%%%%%%%%%%%%%%%
 
 
-
-% Remove following spaces at the expansion stage.
-% This works because spaces are discarded before each argument when TeX is 
-% getting the arguments for a macro.
-% This must not be immediately followed by a }.
-\long\def\gobblespaces#1{#1}
-
 % This defines a Texinfo @macro or @rmacro, called by \parsemacbody.
 %    \macrobody has the body of the macro in it, with placeholders for
-% its parameters, looking like "\processmacroarg{\hash 1}".
+% its parameters, looking like "\xeatspaces{\hash 1}".
 %    \paramno is the number of parameters
 %    \paramlist is a TeX parameter text, e.g. "#1,#2,#3,"
 % There are eight cases: recursive and nonrecursive macros of zero, one,
@@ -8264,14 +8398,13 @@ end
 \def\defmacro{%
   \let\hash=##% convert placeholders to macro parameter chars
   \ifnum\paramno=1
-    \def\processmacroarg{\gobblespaces}%
+    \def\xeatspaces##1{##1}%
     % This removes the pair of braces around the argument.  We don't
     % use \eatspaces, because this can cause ends of lines to be lost
     % when the argument to \eatspaces is read, leading to line-based
     % commands like "@itemize" not being read correctly.
   \else
-    \def\processmacroarg{\xprocessmacroarg}%
-    \let\xprocessmacroarg\relax
+    \let\xeatspaces\relax % suppress expansion
   \fi
   \ifrecursive   %%%%%%%%%%%%%% Recursive %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     \ifcase\paramno
@@ -8284,12 +8417,9 @@ end
          \noexpand\braceorline
          \expandafter\noexpand\csname\the\macname @@@\endcsname}%
       \expandafter\xdef\csname\the\macname @@@\endcsname##1{%
-         \expandafter\noexpand\csname\the\macname @@@@\endcsname{%
-           \noexpand\gobblespaces##1\empty}%
-           % The \empty is for \gobblespaces in case #1 is empty
-         }%
-      \expandafter\xdef\csname\the\macname @@@@\endcsname##1{%
-         \egroup\noexpand\scanmacro{\macrobody}}%
+        \egroup
+        \noexpand\scanmacro{\macrobody}%
+        }%
     \else
       \ifnum\paramno<10\relax % at most 9
         % See non-recursive section below for comments
@@ -8328,11 +8458,6 @@ end
          \noexpand\braceorline
          \expandafter\noexpand\csname\the\macname @@@\endcsname}%
       \expandafter\xdef\csname\the\macname @@@\endcsname##1{%
-         \expandafter\noexpand\csname\the\macname @@@@\endcsname{%
-           \noexpand\gobblespaces##1\empty}%
-           % The \empty is for \gobblespaces in case #1 is empty
-         }%
-      \expandafter\xdef\csname\the\macname @@@@\endcsname##1{%
         \egroup
         \noexpand\scanmacro{\macrobody}%
         }%
@@ -8651,6 +8776,7 @@ end
   %
   % Make link in pdf output.
   \ifpdf
+    % For pdfTeX and LuaTeX
     {\indexnofonts
      \turnoffactive
      \makevalueexpandable
@@ -8677,6 +8803,47 @@ end
      \fi
     }%
     \setcolor{\linkcolor}%
+  \else
+    \ifx\XeTeXrevision\thisisundefined
+    \else
+      % For XeTeX
+      {\indexnofonts
+       \turnoffactive
+       \makevalueexpandable
+       % This expands tokens, so do it after making catcode changes, so _
+       % etc. don't get their TeX definitions.  This ignores all spaces in
+       % #4, including (wrongly) those in the middle of the filename.
+       \getfilename{#4}%
+       %
+       % This (wrongly) does not take account of leading or trailing
+       % spaces in #1, which should be ignored.
+       \iftxiuseunicodedestname
+         \def\pdfxrefdest{#1}% Pass through Unicode characters.
+       \else
+         \edef\pdfxrefdest{#1}% Replace Unicode characters to ASCII.
+       \fi
+       \ifx\pdfxrefdest\empty
+         \def\pdfxrefdest{Top}% no empty targets
+       \else
+         \txiescapepdf\pdfxrefdest  % escape PDF special chars
+       \fi
+       %
+       \leavevmode
+       \ifnum\filenamelength>0
+         % By the default settings,
+         % XeTeX (xdvipdfmx) replaces link destination names with integers.
+         % In this case, the replaced destination names of
+         % remote PDF cannot be known. In order to avoid replacement,
+         % you can use commandline option `-C 0x0010' for xdvipdfmx.
+         \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A
+           << /S /GoToR /F (\the\filename.pdf) /D (name\pdfxrefdest) >> >>}%
+       \else
+         \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A
+           << /S /GoTo /D (name\pdfxrefdest) >> >>}%
+       \fi
+      }%
+      \setcolor{\linkcolor}%
+    \fi
   \fi
   {%
     % Have to otherify everything special to allow the \csname to
@@ -8986,9 +9153,6 @@ end
   % now.  --karl, 15jan04.
   \catcode`\\=\other
   %
-  % Make the characters 128-255 be printing characters.
-  {\setcharscatcodeothernonglobal}%
-  %
   % @ is our escape character in .aux files, and we need braces.
   \catcode`\{=1
   \catcode`\}=2
@@ -9052,7 +9216,7 @@ end
   % We want to typeset this text as a normal paragraph, even if the
   % footnote reference occurs in (for example) a display environment.
   % So reset some parameters.
-  \hsize=\pagewidth
+  \hsize=\txipagewidth
   \interlinepenalty\interfootnotelinepenalty
   \splittopskip\ht\strutbox % top baseline for broken footnotes
   \splitmaxdepth\dp\strutbox
@@ -9367,7 +9531,7 @@ end
     %
     \ifx\thiscaption\empty \else
       \ifx\floatident\empty \else
-       \appendtomacro\captionline{: }% had ident, so need a colon between
+        \appendtomacro\captionline{: }% had ident, so need a colon between
       \fi
       %
       % caption text.
@@ -9394,30 +9558,17 @@ end
         \requireauxfile
         \atdummies
         %
-        % since we read the caption text in the macro world, where ^^M
-        % is turned into a normal character, we have to scan it back, so
-        % we don't write the literal three characters "^^M" into the aux file.
-       \scanexp{%
-         \xdef\noexpand\gtemp{%
-           \ifx\thisshortcaption\empty
-             \thiscaption
-           \else
-             \thisshortcaption
-           \fi
-         }%
-       }%
+        \ifx\thisshortcaption\empty
+          \def\gtemp{\thiscaption}%
+        \else
+          \def\gtemp{\thisshortcaption}%
+        \fi
         \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
-         \ifx\gtemp\empty \else : \gtemp \fi}}%
+          \ifx\gtemp\empty \else : \gtemp \fi}}%
       }%
     \fi
   \egroup  % end of \vtop
   %
-  % place the captured inserts
-  %
-  % BEWARE: when the floats start floating, we have to issue warning
-  % whenever an insert appears inside a float which could possibly
-  % float. --kasal, 26may04
-  %
   \checkinserts
 }
 
@@ -9752,109 +9903,119 @@ directory should work if nowhere else does.}
 % macros containing the character definitions.
 \setnonasciicharscatcode\active
 %
+
+\def\gdefchar#1#2{%
+\gdef#1{%
+   \ifpassthroughchars
+     \string#1%
+   \else
+     #2%
+   \fi
+}}
+
 % Latin1 (ISO-8859-1) character definitions.
 \def\latonechardefs{%
-  \gdef^^a0{\tie}
-  \gdef^^a1{\exclamdown}
-  \gdef^^a2{{\tcfont \char162}} % cent
-  \gdef^^a3{\pounds}
-  \gdef^^a4{{\tcfont \char164}} % currency
-  \gdef^^a5{{\tcfont \char165}} % yen
-  \gdef^^a6{{\tcfont \char166}} % broken bar
-  \gdef^^a7{\S}
-  \gdef^^a8{\"{}}
-  \gdef^^a9{\copyright}
-  \gdef^^aa{\ordf}
-  \gdef^^ab{\guillemetleft}
-  \gdef^^ac{\ensuremath\lnot}
-  \gdef^^ad{\-}
-  \gdef^^ae{\registeredsymbol}
-  \gdef^^af{\={}}
-  %
-  \gdef^^b0{\textdegree}
-  \gdef^^b1{$\pm$}
-  \gdef^^b2{$^2$}
-  \gdef^^b3{$^3$}
-  \gdef^^b4{\'{}}
-  \gdef^^b5{$\mu$}
-  \gdef^^b6{\P}
-  \gdef^^b7{\ensuremath\cdot}
-  \gdef^^b8{\cedilla\ }
-  \gdef^^b9{$^1$}
-  \gdef^^ba{\ordm}
-  \gdef^^bb{\guillemetright}
-  \gdef^^bc{$1\over4$}
-  \gdef^^bd{$1\over2$}
-  \gdef^^be{$3\over4$}
-  \gdef^^bf{\questiondown}
-  %
-  \gdef^^c0{\`A}
-  \gdef^^c1{\'A}
-  \gdef^^c2{\^A}
-  \gdef^^c3{\~A}
-  \gdef^^c4{\"A}
-  \gdef^^c5{\ringaccent A}
-  \gdef^^c6{\AE}
-  \gdef^^c7{\cedilla C}
-  \gdef^^c8{\`E}
-  \gdef^^c9{\'E}
-  \gdef^^ca{\^E}
-  \gdef^^cb{\"E}
-  \gdef^^cc{\`I}
-  \gdef^^cd{\'I}
-  \gdef^^ce{\^I}
-  \gdef^^cf{\"I}
-  %
-  \gdef^^d0{\DH}
-  \gdef^^d1{\~N}
-  \gdef^^d2{\`O}
-  \gdef^^d3{\'O}
-  \gdef^^d4{\^O}
-  \gdef^^d5{\~O}
-  \gdef^^d6{\"O}
-  \gdef^^d7{$\times$}
-  \gdef^^d8{\O}
-  \gdef^^d9{\`U}
-  \gdef^^da{\'U}
-  \gdef^^db{\^U}
-  \gdef^^dc{\"U}
-  \gdef^^dd{\'Y}
-  \gdef^^de{\TH}
-  \gdef^^df{\ss}
-  %
-  \gdef^^e0{\`a}
-  \gdef^^e1{\'a}
-  \gdef^^e2{\^a}
-  \gdef^^e3{\~a}
-  \gdef^^e4{\"a}
-  \gdef^^e5{\ringaccent a}
-  \gdef^^e6{\ae}
-  \gdef^^e7{\cedilla c}
-  \gdef^^e8{\`e}
-  \gdef^^e9{\'e}
-  \gdef^^ea{\^e}
-  \gdef^^eb{\"e}
-  \gdef^^ec{\`{\dotless i}}
-  \gdef^^ed{\'{\dotless i}}
-  \gdef^^ee{\^{\dotless i}}
-  \gdef^^ef{\"{\dotless i}}
-  %
-  \gdef^^f0{\dh}
-  \gdef^^f1{\~n}
-  \gdef^^f2{\`o}
-  \gdef^^f3{\'o}
-  \gdef^^f4{\^o}
-  \gdef^^f5{\~o}
-  \gdef^^f6{\"o}
-  \gdef^^f7{$\div$}
-  \gdef^^f8{\o}
-  \gdef^^f9{\`u}
-  \gdef^^fa{\'u}
-  \gdef^^fb{\^u}
-  \gdef^^fc{\"u}
-  \gdef^^fd{\'y}
-  \gdef^^fe{\th}
-  \gdef^^ff{\"y}
+  \gdefchar^^a0{\tie}
+  \gdefchar^^a1{\exclamdown}
+  \gdefchar^^a2{{\tcfont \char162}} % cent
+  \gdefchar^^a3{\pounds}
+  \gdefchar^^a4{{\tcfont \char164}} % currency
+  \gdefchar^^a5{{\tcfont \char165}} % yen
+  \gdefchar^^a6{{\tcfont \char166}} % broken bar
+  \gdefchar^^a7{\S}
+  \gdefchar^^a8{\"{}}
+  \gdefchar^^a9{\copyright}
+  \gdefchar^^aa{\ordf}
+  \gdefchar^^ab{\guillemetleft}
+  \gdefchar^^ac{\ensuremath\lnot}
+  \gdefchar^^ad{\-}
+  \gdefchar^^ae{\registeredsymbol}
+  \gdefchar^^af{\={}}
+  %
+  \gdefchar^^b0{\textdegree}
+  \gdefchar^^b1{$\pm$}
+  \gdefchar^^b2{$^2$}
+  \gdefchar^^b3{$^3$}
+  \gdefchar^^b4{\'{}}
+  \gdefchar^^b5{$\mu$}
+  \gdefchar^^b6{\P}
+  \gdefchar^^b7{\ensuremath\cdot}
+  \gdefchar^^b8{\cedilla\ }
+  \gdefchar^^b9{$^1$}
+  \gdefchar^^ba{\ordm}
+  \gdefchar^^bb{\guillemetright}
+  \gdefchar^^bc{$1\over4$}
+  \gdefchar^^bd{$1\over2$}
+  \gdefchar^^be{$3\over4$}
+  \gdefchar^^bf{\questiondown}
+  %
+  \gdefchar^^c0{\`A}
+  \gdefchar^^c1{\'A}
+  \gdefchar^^c2{\^A}
+  \gdefchar^^c3{\~A}
+  \gdefchar^^c4{\"A}
+  \gdefchar^^c5{\ringaccent A}
+  \gdefchar^^c6{\AE}
+  \gdefchar^^c7{\cedilla C}
+  \gdefchar^^c8{\`E}
+  \gdefchar^^c9{\'E}
+  \gdefchar^^ca{\^E}
+  \gdefchar^^cb{\"E}
+  \gdefchar^^cc{\`I}
+  \gdefchar^^cd{\'I}
+  \gdefchar^^ce{\^I}
+  \gdefchar^^cf{\"I}
+  %
+  \gdefchar^^d0{\DH}
+  \gdefchar^^d1{\~N}
+  \gdefchar^^d2{\`O}
+  \gdefchar^^d3{\'O}
+  \gdefchar^^d4{\^O}
+  \gdefchar^^d5{\~O}
+  \gdefchar^^d6{\"O}
+  \gdefchar^^d7{$\times$}
+  \gdefchar^^d8{\O}
+  \gdefchar^^d9{\`U}
+  \gdefchar^^da{\'U}
+  \gdefchar^^db{\^U}
+  \gdefchar^^dc{\"U}
+  \gdefchar^^dd{\'Y}
+  \gdefchar^^de{\TH}
+  \gdefchar^^df{\ss}
+  %
+  \gdefchar^^e0{\`a}
+  \gdefchar^^e1{\'a}
+  \gdefchar^^e2{\^a}
+  \gdefchar^^e3{\~a}
+  \gdefchar^^e4{\"a}
+  \gdefchar^^e5{\ringaccent a}
+  \gdefchar^^e6{\ae}
+  \gdefchar^^e7{\cedilla c}
+  \gdefchar^^e8{\`e}
+  \gdefchar^^e9{\'e}
+  \gdefchar^^ea{\^e}
+  \gdefchar^^eb{\"e}
+  \gdefchar^^ec{\`{\dotless i}}
+  \gdefchar^^ed{\'{\dotless i}}
+  \gdefchar^^ee{\^{\dotless i}}
+  \gdefchar^^ef{\"{\dotless i}}
+  %
+  \gdefchar^^f0{\dh}
+  \gdefchar^^f1{\~n}
+  \gdefchar^^f2{\`o}
+  \gdefchar^^f3{\'o}
+  \gdefchar^^f4{\^o}
+  \gdefchar^^f5{\~o}
+  \gdefchar^^f6{\"o}
+  \gdefchar^^f7{$\div$}
+  \gdefchar^^f8{\o}
+  \gdefchar^^f9{\`u}
+  \gdefchar^^fa{\'u}
+  \gdefchar^^fb{\^u}
+  \gdefchar^^fc{\"u}
+  \gdefchar^^fd{\'y}
+  \gdefchar^^fe{\th}
+  \gdefchar^^ff{\"y}
 }
 
 % Latin9 (ISO-8859-15) encoding character definitions.
@@ -9862,119 +10023,119 @@ directory should work if nowhere else does.}
   % Encoding is almost identical to Latin1.
   \latonechardefs
   %
-  \gdef^^a4{\euro}
-  \gdef^^a6{\v S}
-  \gdef^^a8{\v s}
-  \gdef^^b4{\v Z}
-  \gdef^^b8{\v z}
-  \gdef^^bc{\OE}
-  \gdef^^bd{\oe}
-  \gdef^^be{\"Y}
+  \gdefchar^^a4{\euro}
+  \gdefchar^^a6{\v S}
+  \gdefchar^^a8{\v s}
+  \gdefchar^^b4{\v Z}
+  \gdefchar^^b8{\v z}
+  \gdefchar^^bc{\OE}
+  \gdefchar^^bd{\oe}
+  \gdefchar^^be{\"Y}
 }
 
 % Latin2 (ISO-8859-2) character definitions.
 \def\lattwochardefs{%
-  \gdef^^a0{\tie}
-  \gdef^^a1{\ogonek{A}}
-  \gdef^^a2{\u{}}
-  \gdef^^a3{\L}
-  \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
-  \gdef^^a5{\v L}
-  \gdef^^a6{\'S}
-  \gdef^^a7{\S}
-  \gdef^^a8{\"{}}
-  \gdef^^a9{\v S}
-  \gdef^^aa{\cedilla S}
-  \gdef^^ab{\v T}
-  \gdef^^ac{\'Z}
-  \gdef^^ad{\-}
-  \gdef^^ae{\v Z}
-  \gdef^^af{\dotaccent Z}
-  %
-  \gdef^^b0{\textdegree}
-  \gdef^^b1{\ogonek{a}}
-  \gdef^^b2{\ogonek{ }}
-  \gdef^^b3{\l}
-  \gdef^^b4{\'{}}
-  \gdef^^b5{\v l}
-  \gdef^^b6{\'s}
-  \gdef^^b7{\v{}}
-  \gdef^^b8{\cedilla\ }
-  \gdef^^b9{\v s}
-  \gdef^^ba{\cedilla s}
-  \gdef^^bb{\v t}
-  \gdef^^bc{\'z}
-  \gdef^^bd{\H{}}
-  \gdef^^be{\v z}
-  \gdef^^bf{\dotaccent z}
-  %
-  \gdef^^c0{\'R}
-  \gdef^^c1{\'A}
-  \gdef^^c2{\^A}
-  \gdef^^c3{\u A}
-  \gdef^^c4{\"A}
-  \gdef^^c5{\'L}
-  \gdef^^c6{\'C}
-  \gdef^^c7{\cedilla C}
-  \gdef^^c8{\v C}
-  \gdef^^c9{\'E}
-  \gdef^^ca{\ogonek{E}}
-  \gdef^^cb{\"E}
-  \gdef^^cc{\v E}
-  \gdef^^cd{\'I}
-  \gdef^^ce{\^I}
-  \gdef^^cf{\v D}
-  %
-  \gdef^^d0{\DH}
-  \gdef^^d1{\'N}
-  \gdef^^d2{\v N}
-  \gdef^^d3{\'O}
-  \gdef^^d4{\^O}
-  \gdef^^d5{\H O}
-  \gdef^^d6{\"O}
-  \gdef^^d7{$\times$}
-  \gdef^^d8{\v R}
-  \gdef^^d9{\ringaccent U}
-  \gdef^^da{\'U}
-  \gdef^^db{\H U}
-  \gdef^^dc{\"U}
-  \gdef^^dd{\'Y}
-  \gdef^^de{\cedilla T}
-  \gdef^^df{\ss}
-  %
-  \gdef^^e0{\'r}
-  \gdef^^e1{\'a}
-  \gdef^^e2{\^a}
-  \gdef^^e3{\u a}
-  \gdef^^e4{\"a}
-  \gdef^^e5{\'l}
-  \gdef^^e6{\'c}
-  \gdef^^e7{\cedilla c}
-  \gdef^^e8{\v c}
-  \gdef^^e9{\'e}
-  \gdef^^ea{\ogonek{e}}
-  \gdef^^eb{\"e}
-  \gdef^^ec{\v e}
-  \gdef^^ed{\'{\dotless{i}}}
-  \gdef^^ee{\^{\dotless{i}}}
-  \gdef^^ef{\v d}
-  %
-  \gdef^^f0{\dh}
-  \gdef^^f1{\'n}
-  \gdef^^f2{\v n}
-  \gdef^^f3{\'o}
-  \gdef^^f4{\^o}
-  \gdef^^f5{\H o}
-  \gdef^^f6{\"o}
-  \gdef^^f7{$\div$}
-  \gdef^^f8{\v r}
-  \gdef^^f9{\ringaccent u}
-  \gdef^^fa{\'u}
-  \gdef^^fb{\H u}
-  \gdef^^fc{\"u}
-  \gdef^^fd{\'y}
-  \gdef^^fe{\cedilla t}
-  \gdef^^ff{\dotaccent{}}
+  \gdefchar^^a0{\tie}
+  \gdefchar^^a1{\ogonek{A}}
+  \gdefchar^^a2{\u{}}
+  \gdefchar^^a3{\L}
+  \gdefchar^^a4{\missingcharmsg{CURRENCY SIGN}}
+  \gdefchar^^a5{\v L}
+  \gdefchar^^a6{\'S}
+  \gdefchar^^a7{\S}
+  \gdefchar^^a8{\"{}}
+  \gdefchar^^a9{\v S}
+  \gdefchar^^aa{\cedilla S}
+  \gdefchar^^ab{\v T}
+  \gdefchar^^ac{\'Z}
+  \gdefchar^^ad{\-}
+  \gdefchar^^ae{\v Z}
+  \gdefchar^^af{\dotaccent Z}
+  %
+  \gdefchar^^b0{\textdegree}
+  \gdefchar^^b1{\ogonek{a}}
+  \gdefchar^^b2{\ogonek{ }}
+  \gdefchar^^b3{\l}
+  \gdefchar^^b4{\'{}}
+  \gdefchar^^b5{\v l}
+  \gdefchar^^b6{\'s}
+  \gdefchar^^b7{\v{}}
+  \gdefchar^^b8{\cedilla\ }
+  \gdefchar^^b9{\v s}
+  \gdefchar^^ba{\cedilla s}
+  \gdefchar^^bb{\v t}
+  \gdefchar^^bc{\'z}
+  \gdefchar^^bd{\H{}}
+  \gdefchar^^be{\v z}
+  \gdefchar^^bf{\dotaccent z}
+  %
+  \gdefchar^^c0{\'R}
+  \gdefchar^^c1{\'A}
+  \gdefchar^^c2{\^A}
+  \gdefchar^^c3{\u A}
+  \gdefchar^^c4{\"A}
+  \gdefchar^^c5{\'L}
+  \gdefchar^^c6{\'C}
+  \gdefchar^^c7{\cedilla C}
+  \gdefchar^^c8{\v C}
+  \gdefchar^^c9{\'E}
+  \gdefchar^^ca{\ogonek{E}}
+  \gdefchar^^cb{\"E}
+  \gdefchar^^cc{\v E}
+  \gdefchar^^cd{\'I}
+  \gdefchar^^ce{\^I}
+  \gdefchar^^cf{\v D}
+  %
+  \gdefchar^^d0{\DH}
+  \gdefchar^^d1{\'N}
+  \gdefchar^^d2{\v N}
+  \gdefchar^^d3{\'O}
+  \gdefchar^^d4{\^O}
+  \gdefchar^^d5{\H O}
+  \gdefchar^^d6{\"O}
+  \gdefchar^^d7{$\times$}
+  \gdefchar^^d8{\v R}
+  \gdefchar^^d9{\ringaccent U}
+  \gdefchar^^da{\'U}
+  \gdefchar^^db{\H U}
+  \gdefchar^^dc{\"U}
+  \gdefchar^^dd{\'Y}
+  \gdefchar^^de{\cedilla T}
+  \gdefchar^^df{\ss}
+  %
+  \gdefchar^^e0{\'r}
+  \gdefchar^^e1{\'a}
+  \gdefchar^^e2{\^a}
+  \gdefchar^^e3{\u a}
+  \gdefchar^^e4{\"a}
+  \gdefchar^^e5{\'l}
+  \gdefchar^^e6{\'c}
+  \gdefchar^^e7{\cedilla c}
+  \gdefchar^^e8{\v c}
+  \gdefchar^^e9{\'e}
+  \gdefchar^^ea{\ogonek{e}}
+  \gdefchar^^eb{\"e}
+  \gdefchar^^ec{\v e}
+  \gdefchar^^ed{\'{\dotless{i}}}
+  \gdefchar^^ee{\^{\dotless{i}}}
+  \gdefchar^^ef{\v d}
+  %
+  \gdefchar^^f0{\dh}
+  \gdefchar^^f1{\'n}
+  \gdefchar^^f2{\v n}
+  \gdefchar^^f3{\'o}
+  \gdefchar^^f4{\^o}
+  \gdefchar^^f5{\H o}
+  \gdefchar^^f6{\"o}
+  \gdefchar^^f7{$\div$}
+  \gdefchar^^f8{\v r}
+  \gdefchar^^f9{\ringaccent u}
+  \gdefchar^^fa{\'u}
+  \gdefchar^^fb{\H u}
+  \gdefchar^^fc{\"u}
+  \gdefchar^^fd{\'y}
+  \gdefchar^^fe{\cedilla t}
+  \gdefchar^^ff{\dotaccent{}}
 }
 
 % UTF-8 character definitions.
@@ -10004,35 +10165,56 @@ directory should work if nowhere else does.}
   \fi
 }
 
+% Give non-ASCII bytes the active definitions for processing UTF-8 sequences
 \begingroup
   \catcode`\~13
+  \catcode`\$12
   \catcode`\"12
 
+  % Loop from \countUTFx to \countUTFy, performing \UTFviiiTmp
+  % substituting ~ and $ with a character token of that value.
   \def\UTFviiiLoop{%
     \global\catcode\countUTFx\active
     \uccode`\~\countUTFx
+    \uccode`\$\countUTFx
     \uppercase\expandafter{\UTFviiiTmp}%
     \advance\countUTFx by 1
     \ifnum\countUTFx < \countUTFy
       \expandafter\UTFviiiLoop
     \fi}
 
+  % For bytes other than the first in a UTF-8 sequence.  Not expected to
+  % be expanded except when writing to auxiliary files.
+  \countUTFx = "80
+  \countUTFy = "C2
+  \def\UTFviiiTmp{%
+    \gdef~{
+        \ifpassthroughchars $\fi}}%
+  \UTFviiiLoop
+
   \countUTFx = "C2
   \countUTFy = "E0
   \def\UTFviiiTmp{%
-    \xdef~{\noexpand\UTFviiiTwoOctets\string~}}
+    \gdef~{%
+        \ifpassthroughchars $%
+        \else\expandafter\UTFviiiTwoOctets\expandafter$\fi}}%
   \UTFviiiLoop
 
   \countUTFx = "E0
   \countUTFy = "F0
   \def\UTFviiiTmp{%
-    \xdef~{\noexpand\UTFviiiThreeOctets\string~}}
+    \gdef~{%
+        \ifpassthroughchars $%
+        \else\expandafter\UTFviiiThreeOctets\expandafter$\fi}}%
   \UTFviiiLoop
 
   \countUTFx = "F0
   \countUTFy = "F4
   \def\UTFviiiTmp{%
-    \xdef~{\noexpand\UTFviiiFourOctets\string~}}
+    \gdef~{%
+        \ifpassthroughchars $%
+        \else\expandafter\UTFviiiFourOctets\expandafter$\fi
+        }}%
   \UTFviiiLoop
 \endgroup
 
@@ -10071,9 +10253,10 @@ directory should work if nowhere else does.}
   \catcode`\~=13
   \gdef\DeclareUnicodeCharacterUTFviii#1#2{%
     \countUTFz = "#1\relax
-    %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
     \begingroup
       \parseXMLCharref
+      %
+      % Access definitions of characters given UTF-8 sequences
       \def\UTFviiiTwoOctets##1##2{%
         \csname u8:##1\string ##2\endcsname}%
       \def\UTFviiiThreeOctets##1##2##3{%
@@ -10091,7 +10274,8 @@ directory should work if nowhere else does.}
       % define an additional control sequence for this code point.
       \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp
     \endgroup}
-
+  %
+  % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp.
   \gdef\parseXMLCharref{%
     \ifnum\countUTFz < "A0\relax
       \errhelp = \EMsimple
@@ -10121,6 +10305,7 @@ directory should work if nowhere else does.}
     \uccode `#1\countUTFx
     \countUTFz = \countUTFy}
 
+  % Used to set \UTFviiiTmp to a UTF-8 byte sequence
   \gdef\parseUTFviiiB#1#2#3#4{%
     \advance\countUTFz by "#10\relax
     \uccode `#3\countUTFz
@@ -10827,6 +11012,10 @@ directory should work if nowhere else does.}
   \unicodechardefs
 }
 
+% Whether the active definitions of non-ASCII characters expand to
+% non-active tokens with the same character code.  This is used to
+% write characters literally, instead of using active definitions for
+% printing the correct glyphs.
 \newif\ifpassthroughchars
 \passthroughcharsfalse
 
@@ -10874,85 +11063,11 @@ directory should work if nowhere else does.}
   \unicodechardefs
 }
 
-% Native Unicode (XeTeX and LuaTeX) catcode other non global definitions
-\def\nativeunicodecharscatcodeothernonglobal{%
-  \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNativeOther
-  \unicodechardefs
-}
-
-% Catcode (non-ASCII or native Unicode) are set to \other (non-global
-% assignments).
-\def\setcharscatcodeothernonglobal{%
-  \iftxiusebytewiseio
-    \setnonasciicharscatcodenonglobal\other
-  \else
-    \nativeunicodecharscatcodeothernonglobal
-  \fi
-}
-
 % US-ASCII character definitions.
 \def\asciichardefs{% nothing need be done
    \relax
 }
 
-% Redefine the active definitions of non-ASCII characters to expand to
-% non-active tokens with the same character code.
-\def\nonasciistringdefs{%
-  \setnonasciicharscatcode\active
-  \def\defstringchar##1{\def##1{\string##1}}%
-  %
-  \defstringchar^^80\defstringchar^^81\defstringchar^^82\defstringchar^^83%
-  \defstringchar^^84\defstringchar^^85\defstringchar^^86\defstringchar^^87%
-  \defstringchar^^88\defstringchar^^89\defstringchar^^8a\defstringchar^^8b%
-  \defstringchar^^8c\defstringchar^^8d\defstringchar^^8e\defstringchar^^8f%
-  %
-  \defstringchar^^90\defstringchar^^91\defstringchar^^92\defstringchar^^93%
-  \defstringchar^^94\defstringchar^^95\defstringchar^^96\defstringchar^^97%
-  \defstringchar^^98\defstringchar^^99\defstringchar^^9a\defstringchar^^9b%
-  \defstringchar^^9c\defstringchar^^9d\defstringchar^^9e\defstringchar^^9f%
-  %
-  \defstringchar^^a0\defstringchar^^a1\defstringchar^^a2\defstringchar^^a3%
-  \defstringchar^^a4\defstringchar^^a5\defstringchar^^a6\defstringchar^^a7%
-  \defstringchar^^a8\defstringchar^^a9\defstringchar^^aa\defstringchar^^ab%
-  \defstringchar^^ac\defstringchar^^ad\defstringchar^^ae\defstringchar^^af%
-  %
-  \defstringchar^^b0\defstringchar^^b1\defstringchar^^b2\defstringchar^^b3%
-  \defstringchar^^b4\defstringchar^^b5\defstringchar^^b6\defstringchar^^b7%
-  \defstringchar^^b8\defstringchar^^b9\defstringchar^^ba\defstringchar^^bb%
-  \defstringchar^^bc\defstringchar^^bd\defstringchar^^be\defstringchar^^bf%
-  %
-  \defstringchar^^c0\defstringchar^^c1\defstringchar^^c2\defstringchar^^c3%
-  \defstringchar^^c4\defstringchar^^c5\defstringchar^^c6\defstringchar^^c7%
-  \defstringchar^^c8\defstringchar^^c9\defstringchar^^ca\defstringchar^^cb%
-  \defstringchar^^cc\defstringchar^^cd\defstringchar^^ce\defstringchar^^cf%
-  %
-  \defstringchar^^d0\defstringchar^^d1\defstringchar^^d2\defstringchar^^d3%
-  \defstringchar^^d4\defstringchar^^d5\defstringchar^^d6\defstringchar^^d7%
-  \defstringchar^^d8\defstringchar^^d9\defstringchar^^da\defstringchar^^db%
-  \defstringchar^^dc\defstringchar^^dd\defstringchar^^de\defstringchar^^df%
-  %
-  \defstringchar^^e0\defstringchar^^e1\defstringchar^^e2\defstringchar^^e3%
-  \defstringchar^^e4\defstringchar^^e5\defstringchar^^e6\defstringchar^^e7%
-  \defstringchar^^e8\defstringchar^^e9\defstringchar^^ea\defstringchar^^eb%
-  \defstringchar^^ec\defstringchar^^ed\defstringchar^^ee\defstringchar^^ef%
-  %
-  \defstringchar^^f0\defstringchar^^f1\defstringchar^^f2\defstringchar^^f3%
-  \defstringchar^^f4\defstringchar^^f5\defstringchar^^f6\defstringchar^^f7%
-  \defstringchar^^f8\defstringchar^^f9\defstringchar^^fa\defstringchar^^fb%
-  \defstringchar^^fc\defstringchar^^fd\defstringchar^^fe\defstringchar^^ff%
-}
-
-% Write characters literally, instead of using active definitions for
-% printing the correct glyphs.
-\def\passthroughcharacters{%
-  \iftxiusebytewiseio
-    \nonasciistringdefs
-  \else
-    \passthroughcharstrue
-  \fi
-}
-
-
 % define all the unicode characters we know about, for the sake of @U.
 \iftxinativeunicodecapable
   \nativeunicodechardefsatu
@@ -11016,12 +11131,12 @@ directory should work if nowhere else does.}
   \advance\vsize by \topskip
   \outervsize = \vsize
   \advance\outervsize by 2\topandbottommargin
-  \pageheight = \vsize
+  \txipageheight = \vsize
   %
   \hsize = #2\relax
   \outerhsize = \hsize
   \advance\outerhsize by 0.5in
-  \pagewidth = \hsize
+  \txipagewidth = \hsize
   %
   \normaloffset = #4\relax
   \bindingoffset = #5\relax
@@ -11033,6 +11148,13 @@ directory should work if nowhere else does.}
     % whatever layout pdftex was dumped with.
     \pdfhorigin = 1 true in
     \pdfvorigin = 1 true in
+  \else
+    \ifx\XeTeXrevision\thisisundefined
+    \else
+      \pdfpageheight #7\relax
+      \pdfpagewidth #8\relax
+      % XeTeX does not have \pdfhorigin and \pdfvorigin.
+    \fi
   \fi
   %
   \setleading{\textleading}
@@ -11307,7 +11429,7 @@ directory should work if nowhere else does.}
 %
 {@catcode`- = @active
  @gdef@normalturnoffactive{%
-   @passthroughcharacters
+   @passthroughcharstrue
    @let-=@normaldash
    @let"=@normaldoublequote
    @let$=@normaldollar %$ font-lock fix
@@ -11345,9 +11467,10 @@ directory should work if nowhere else does.}
   @global@let\ = @eatinput%
   @catcode`@^^M=13%
   @def@c{@fixbackslash@c}%
+  % Definition for the newline at the end of this file.
   @def ^^M{@let^^M@secondlinenl}%
-  @gdef @secondlinenl{@let^^M@thirdlinenl}%
-  @gdef @thirdlinenl{@fixbackslash}%
+  % Definition for a newline in the main Texinfo file.
+  @gdef @secondlinenl{@fixbackslash}%
 }}
 
 {@catcode`@^=7 @catcode`@^^M=13%