diff --git a/.gitignore b/.gitignore
index 6bac1a138..1a4fc8e38 100644
--- a/.gitignore
+++ b/.gitignore
@@ -123,3 +123,4 @@ res.txt
*.rc
gregorio-*
ctan
+*.pyg
diff --git a/.gregorio-version b/.gregorio-version
index 365a3c734..e1eb41352 100644
--- a/.gregorio-version
+++ b/.gregorio-version
@@ -1,4 +1,4 @@
-4.2.0-rc3
+4.2.0
*** Do not modify this file. ***
Use VersionManager.py to change the version.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8e828383c..76c4b0130 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,65 +2,31 @@
All notable changes to this project will be documented in this file.
As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/). It follows [some conventions](http://keepachangelog.com/).
-[Unreleased][unreleased]
-
-
-## [4.2.0-rc3] - 2016-08-22
+## [4.2.0] - 2016-09-23
### Fixed
- When the note after an oriscus is at the same pitch, the oriscus will now point downwards by default (see [#1177](https://github.com/gregorio-project/gregorio/issues/1177)).
- When the last note in a score is not in the last syllable, it no longer merges into the (no-note) syllable(s) that follow (see [#1205](https://github.com/gregorio-project/gregorio/issues/1205)).
-
-### Changed
-- In order to facilitate installation alongside TeX Live, the version number is now appended to the gregorio executable file name. If you are running the executable directly in your custom scripts, you will need to change them to include the version number. If you are not using the TeX-Live-packaged version of Gregorio, you will probably need to use the `--shell-escape` option when compiling your `.tex` files. Note that in TeX Live 2016, which includes Gregorio 4.1.1, the executable filename does not include the version number, though that will change starting with TeX Live 2017. See UPGRADE.md and [#1197](https://github.com/gregorio-project/gregorio/issues/1197) for more information.
-
-
-## [4.2.0-rc2] - 2016-07-05
-### Fixed
- A two-line initial on a two-line score no longer generates an error (see [#1139](https://github.com/gregorio-project/gregorio/issues/1139)).
- Staff lines after a two-line initial should now be sized correctly in a more consistent way (see [#1141](https://github.com/gregorio-project/gregorio/issues/1141)).
- Space at the end of line was not always correct when a line is cut in the middle of a word (see [#1155](https://github.com/gregorio-project/gregorio/issues/1155)).
- In rare cases, the very last bar or glyph of a score could appear alone at the beginning of the final line (see [#1152](https://github.com/gregorio-project/gregorio/issues/1152)).
- In cases of a syllable without note, the space between notes of the previous and next syllables was sometimes not enough (see [#1137](https://github.com/gregorio-project/gregorio/issues/1137)).
- `moraadjustment` and `moraadjustmentbar` did not scale when changing factor, they do now.
-
-### Added
-- Some vertical spaces can now be adjusted for a particular line in a score. Use `\grechangenextscorelinedim` prior to including the score to set the desired values. `spaceabovelines`, `spacebeneathtext`, and `spacelinestext` may be changed with this command. See GregorioRef and [#1156](https://github.com/gregorio-project/gregorio/issues/1156) for details.
-
-### Changed
-- When the clef and the first note are at a reasonable vertical distance, `shortspaceafterlineclef` is used instead of `spaceafterlineclef` (make them equal if you don't want this feature). This is used only on the first line, when there is an initial on one line. See [#1138](https://github.com/gregorio-project/gregorio/issues/1138).
-- When an alteration follows a bar, it is not completely taken into consideration in the new bar spacing algorithm (similarly to the punctum mora), this behavior can be tuned with the newly introduced space `alterationadjustmentbar`. See [#1146](https://github.com/gregorio-project/gregorio/issues/1146).
-- Very small improvement in the design of the porrectus auctus and torculus resupinus auctus (see [#1169](https://github.com/gregorio-project/gregorio/issues/1169)).
-- When the notes around a virgula or divisio minima are lower than two spaces below the top staff line, the spaces used are new shorter spaces with a `@short` suffix. To cancel this feature, make them the same as their normal version. See [#1144](https://github.com/gregorio-project/gregorio/issues/1144).
-
-## [4.2.0-rc1] - 2016-05-31
-### Fixed
- The `900_gregorio.xml` file for Scribus now matches `main-lualatex.tex` again (see [#1087](https://github.com/gregorio-project/gregorio/issues/1087)).
- Multiple subsequent lines in gabc no longer cause TeX to fail (see [#1111](https://github.com/gregorio-project/gregorio/issues/1111)).
- Old bar spacing algorithm will no longer separate the text and bar when the bar is preceeded by a puncutm mora (see [#1078](https://github.com/gregorio-project/gregorio/issues/1078)).
- Scores which end with a no-note syllable under the new bar spacing algorithm will no longer have their text pushed out into the right hand margin. See [#1110](https://github.com/gregorio-project/gregorio/issues/1110).
- PlainTeX will now respect underline requests in gabc.
- PlainTeX will now raise a warning when small caps are requested but `\sc` has not been defined.
+- A manual custos at the end of the score will now be spaced like regular end of line custos [#1034](https://github.com/gregorio-project/gregorio/issues/1034).
+- Custos glyphs heights are now counted when adjusting line heights (see [#961](https://github.com/gregorio-project/gregorio/issues/961)).
### Added
+- Some vertical spaces can now be adjusted for a particular line in a score. Use `\grechangenextscorelinedim` prior to including the score to set the desired values. `spaceabovelines`, `spacebeneathtext`, and `spacelinestext` may be changed with this command. See GregorioRef and [#1156](https://github.com/gregorio-project/gregorio/issues/1156) for details.
- Nabc now supports pitches `hn` and `hp` in addition to previously supported `ha` through `hm`.
- 32 new St. Gall neume glyphs have been added to the `gregall` font and glyphs for nabc `po-1pp2su1sux1` and `po-1su1sux1` have been changed.
- 31 new St. Gall neume glyphs have been added to the `gresgmodern` font and glyph for nabc `tr-1` has been changed.
- It is now possible to set `\parskip`, `\lineskip`, `\baselineskip`, and `\lineskiplimit` to have different values within a score using `\grechangedim`. See [#1038](https://github.com/gregorio-project/gregorio/issues/1038).
-
-### Changed
-- Different glyphs are now used for puncta inclinata in an ascent versus in a descent. A heuristic algorithm is used to ensure that the glyphs match when grouped together. If the algorithm chooses the wrong shape, use `0` (for descending) or `1` (for ascending) to force an orientation. See [UPGRADE.md](UPGRADE.md) and [#856](https://github.com/gregorio-project/gregorio/issues/856) for details.
-- The shape of the fused oriscus at ambitus one in the greciliae font has been tweaked to form a nicer connection (see [#1079](https://github.com/gregorio-project/gregorio/issues/1079)).
-- Syllables are now rewritten to improve ligature rendering. This may be disabled by issuing `\gresetsyllablerewriting{off}`. See GregorioRef for details (for the change request, see [#1098](https://github.com/gregorio-project/gregorio/issues/1098)).
-- Default mode style for PlainTeX no longer tries to invoke small caps since they are not defined by default.
-- Italic, bold, underlined, small capital, teletype, and colored styles now span multiple syllables. Gregorio will also more consistently raise errors when styles are improperly started or ended. See [UPGRADE.md](UPGRADE.md) and [#1121](https://github.com/gregorio-project/gregorio/issues/1121) for details.
-
-
-## [4.2.0-beta1] - 2016-04-27
-### Fixed
-- A manual custos at the end of the score will now be spaced like regular end of line custos [#1034](https://github.com/gregorio-project/gregorio/issues/1034).
-- Custos glyphs heights are now counted when adjusting line heights (see [#961](https://github.com/gregorio-project/gregorio/issues/961)).
-
-### Added
- It is now possible to invert the oriscus orientation on pes quassus and oriscus flexus shapes. Use `o0` or `o1` to force the oriscus into the orientation you desire. It is also possible to fuse the oriscus from either direction in either orientation. See [#898](https://github.com/gregorio-project/gregorio/issues/898) and [#972](https://github.com/gregorio-project/gregorio/issues/972).
- Formerly missing torculus figures starting with an oriscus are now rendered using neume fusion (see [#1013](https://github.com/gregorio-project/gregorio/issues/1013)).
- Gregorio will keep together (prevent line breaks between) a user-configurable number of notes (by default, 4) at the start and end of the syllable. Further, Gregorio will prevent line breaks in a syllable with fewer than a user-configurable number of notes (by default, 10). These values may be changed by using the `\gresetunbreakablesyllablenotes` command. See GregorioRef for details (for the change request, see [#1044](https://github.com/gregorio-project/gregorio/issues/1044)).
@@ -69,6 +35,16 @@ As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/).
- `gregoriosyms.sty` and `gregoriotex.tex` now contain definitions for `gregoriocolor` and `grebackgroundcolor` and the appropriate score commands dealing with color now work under PlainTeX
### Changed
+- In order to facilitate installation alongside TeX Live, the version number is now appended to the gregorio executable file name. If you are running the executable directly in your custom scripts, you will need to change them to include the version number. If you are not using the TeX-Live-packaged version of Gregorio, you will probably need to use the `--shell-escape` option when compiling your `.tex` files. Note that in TeX Live 2016, which includes Gregorio 4.1.1, the executable filename does not include the version number, though that will change starting with TeX Live 2017. See UPGRADE.md and [#1197](https://github.com/gregorio-project/gregorio/issues/1197) for more information.
+- When the clef and the first note are at a reasonable vertical distance, `shortspaceafterlineclef` is used instead of `spaceafterlineclef` (make them equal if you don't want this feature). This is used only on the first line, when there is an initial on one line. See [#1138](https://github.com/gregorio-project/gregorio/issues/1138).
+- When an alteration follows a bar, it is not completely taken into consideration in the new bar spacing algorithm (similarly to the punctum mora), this behavior can be tuned with the newly introduced space `alterationadjustmentbar`. See [#1146](https://github.com/gregorio-project/gregorio/issues/1146).
+- Very small improvement in the design of the porrectus auctus and torculus resupinus auctus (see [#1169](https://github.com/gregorio-project/gregorio/issues/1169)).
+- When the notes around a virgula or divisio minima are lower than two spaces below the top staff line, the spaces used are new shorter spaces with a `@short` suffix. To cancel this feature, make them the same as their normal version. See [#1144](https://github.com/gregorio-project/gregorio/issues/1144).
+- Different glyphs are now used for puncta inclinata in an ascent versus in a descent. A heuristic algorithm is used to ensure that the glyphs match when grouped together. If the algorithm chooses the wrong shape, use `0` (for descending) or `1` (for ascending) to force an orientation. See [UPGRADE.md](UPGRADE.md) and [#856](https://github.com/gregorio-project/gregorio/issues/856) for details.
+- The shape of the fused oriscus at ambitus one in the greciliae font has been tweaked to form a nicer connection (see [#1079](https://github.com/gregorio-project/gregorio/issues/1079)).
+- Syllables are now rewritten to improve ligature rendering. This may be disabled by issuing `\gresetsyllablerewriting{off}`. See GregorioRef for details (for the change request, see [#1098](https://github.com/gregorio-project/gregorio/issues/1098)).
+- Default mode style for PlainTeX no longer tries to invoke small caps since they are not defined by default.
+- Italic, bold, underlined, small capital, teletype, and colored styles now span multiple syllables. Gregorio will also more consistently raise errors when styles are improperly started or ended. See [UPGRADE.md](UPGRADE.md) and [#1121](https://github.com/gregorio-project/gregorio/issues/1121) for details.
- The stemmed oriscus flexus `(gOe)` is now consistent with the unstemmed oriscus flexus `(goe)` in that the oriscus points downward at the note that follows. If you prefer to have the oriscus point upward, use `(gO1e)` for force upward orientation.
- Space before a custos appearing in the middle of a line is now set by `spacebeforeinlinecustos`.
- The space between two puncta inclinata at the unison may be tuned by changing `punctuminclinatumunisonshift` (see [#1042](https://github.com/gregorio-project/gregorio/issues/1042)).
diff --git a/README.md b/README.md
index f59a0be3b..8c817f8e1 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,12 @@ You can also try it online [here](http://dev.illuminarepublications.com/gregorio
You need a recent and working [TeXLive](https://www.tug.org/texlive/), on top of which you just need to install latest [Gregorio release](https://github.com/gregorio-project/gregorio/releases). See [the website](http://gregorio-project.github.io/installation.html) for more details.
+**Note:** Due to a bug in the current release (v2.7-fix-3) of `luaotfload` the documentation cannot be built against TeXLive 2016 (see [#1188](https://github.com/gregorio-project/gregorio/issues/1188)). As a result, building from a clone of the repository will fail against that version. A work around for this bug exists ([9fe9139](https://github.com/henryso/gregorio/commit/9fe9139178dce6adebffbae65016800748450b61), but using it breaks compilation under TeXLive 2015 and the bug has been fixed in the latest master for `luaotfload`. The result is that users should do one of the following:
+
+- Install from the distribution tar ball (recommended for those installing a stable release).
+- Switch to TeXLive 2015 to build the docs.
+- Upgrade your `luaotfload` to a more recent version (v2.8-rc1 or later).
+
## Documentation
You can find documentation and useful links in the [documentation](doc/), on [the main website](http://gregorio-project.github.io/) and on [a wiki](http://gregoriochant.org).
diff --git a/UPGRADE.md b/UPGRADE.md
index e4ae2a9f1..b6add43d1 100644
--- a/UPGRADE.md
+++ b/UPGRADE.md
@@ -10,7 +10,7 @@ In order to facilitate installation alongside TeX Live, the version number is no
If you auto-compile or force-compile your GABC files and are *not* using the Gregorio packaged with TeX Live, you will probably need to use the `--shell-escape` option when compiling your `.tex` files. Alternately, you can add the new filename to your system's `shell_escape_commands` TeX option.
-Unforunately, there appears to be no easier way to let a user-installed Gregorio coexist with the TeX-Live-packaged Gregorio. Please note: in TeX Live 2016, which includes Gregorio 4.1.1, the executable filename does not include the version number, though that will change starting with TeX Live 2017.
+Unfortunately, there appears to be no easier way to let a user-installed Gregorio coexist with the TeX-Live-packaged Gregorio. Please note: in TeX Live 2016, which includes Gregorio 4.1.1, the executable filename does not include the version number, though that will change starting with TeX Live 2017.
### Stemmed oriscus flexus orientation
diff --git a/configure.ac b/configure.ac
index 6e4911afb..81aaa70b9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -16,8 +16,8 @@ dnl
dnl You should have received a copy of the GNU General Public License
dnl along with Gregorio. If not, see .
-AC_INIT([gregorio],[4.2.0-rc3],[https://github.com/gregorio-project/gregorio/issues],[gregorio],[http://gregorio-project.github.io/])
-FILENAME_VERSION="4_2_0-rc3"
+AC_INIT([gregorio],[4.2.0],[https://github.com/gregorio-project/gregorio/issues],[gregorio],[http://gregorio-project.github.io/])
+FILENAME_VERSION="4_2_0"
AC_SUBST(FILENAME_VERSION)
AC_DEFINE_UNQUOTED(FILENAME_VERSION, "$FILENAME_VERSION", [version suitable for file names])
MK=""
diff --git a/contrib/gregorio-scribus.lua b/contrib/gregorio-scribus.lua
index c8a4c3f6f..540a40e40 100644
--- a/contrib/gregorio-scribus.lua
+++ b/contrib/gregorio-scribus.lua
@@ -22,7 +22,7 @@ This program allows gregorio to be integrated in Scribus.
require"lfs"
-local gregoriobin = 'gregorio-4_2_0-rc3' -- FILENAME_VERSION
+local gregoriobin = 'gregorio-4_2_0' -- FILENAME_VERSION
local lualatexbin = "lualatex"
local function basename(name)
diff --git a/doc/Command_Index_User.tex b/doc/Command_Index_User.tex
index 911482f62..150b22158 100644
--- a/doc/Command_Index_User.tex
+++ b/doc/Command_Index_User.tex
@@ -1040,8 +1040,8 @@ \subsubsection{Bar spacing}
Macro to activate the new bar spacing algorithm. The new algorithm attempts to place the bar line exactly midway between its surrounding notes. Any text associated with the bar is placed midway between its surrounding text. Since this might result in the bar line and the text being widely separated, there are also a limits to the distance between their respective centers: \texttt{maxbaroffsettextleft} and \texttt{maxbaroffsettextright} (when text center is respectively on the left or on the right of bar center).
\begin{argtable}
- \#1 & \texttt{new} & Activates the new spacing algorithm\\
- & \texttt{old} & Activates the old behavior (Default)\\
+ \#1 & \texttt{new} & Activates the new spacing algorithm (Default)\\
+ & \texttt{old} & Activates the old behavior\\
\end{argtable}
\subsubsection{Sign printing}
@@ -1673,6 +1673,9 @@ \subsection{Distances}\label{distances}
The effective \verb=\lineskiplimit= inside of a score.
\end{gdimension}
+\begin{gdimension}{shortspaceafterlineclef}
+Space after a clef at the beginning of a line, when the clef and first note are vertically distant.
+\end{gdimension}
\subsubsection{Bar distances}
diff --git a/doc/Command_Index_gregorio.tex b/doc/Command_Index_gregorio.tex
index f82379407..65ada4878 100644
--- a/doc/Command_Index_gregorio.tex
+++ b/doc/Command_Index_gregorio.tex
@@ -683,7 +683,7 @@ \section{Gregorio Controls}
& \texttt{1} & There is a line break between this syllable and the beginning of the EUOUAE block.\\
\end{argtable}
-\macroname{\textbackslash GreAscendensOriscus}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
+\macroname{\textbackslash GreAscendensOriscusCavum}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
Macro to typeset an ascending oriscus cavum (the oriscus points at a higher note).
\begin{argtable}
diff --git a/doc/Command_Index_internal.tex b/doc/Command_Index_internal.tex
index 31f0f5f53..67b4f0c4b 100644
--- a/doc/Command_Index_internal.tex
+++ b/doc/Command_Index_internal.tex
@@ -599,6 +599,9 @@ \section{Gregorio\TeX{} Controls}
& \texttt{0} & otherwise\\
\end{argtable}
+\macroname{\textbackslash gre@endofglyphcommon}{}{gregoriotex-syllable.tex}
+Macro called at the end of every glyph. Checks to see if glyph being ended is the last of the score and does some clean-up if it is.
+
\macroname{\textbackslash gre@setfirstsyllabletext}{\#1\#2\#3\#4\#5\#6}{gregoriotex-syllable.tex}
Internal macro to set the first syllable text after all parts are known.
@@ -1336,6 +1339,12 @@ \section{Gregorio\TeX{} Controls}
& 0 & other cases\\
\end{argtable}
+\macroname{\textbackslash gre@alterationadjustment}{\#1}{gregoriotex-spaces.tex}
+Macro to make adjustments to \verb=nextbegindifference= in order to account for an alteration at the begining of the next syllable.
+
+\macroname{\textbackslash gre@punctummoraadjustment}{}{gregoriotex-spaces.tex}
+Macro to make adjustments to cursor position and \verb=previousenddifference= based on the presence of a punctum mora at the end of the last syllable.
+
\subsection{Auxiliary File}
Gregorio\TeX\ creates its own auxiliary file (extension \texttt{gaux}) which it uses to store information between successive typesetting runs. This allows for such features as the dynamic interline spacing. The following functions are used to interact with that auxiliary file.
@@ -1498,6 +1507,14 @@ \subsection{Character Reference Aliases}
\macroname{\textbackslash gre@char@he@...}{\#1}{gregoriotex-chars.tex}
A class of macros for the horizontal episema which populates the \verb=\gre@box@hep= box.
+\macroname{\textbackslash gre@nabccharno}{\#1\#2\#3}{gregoriotex-nabc.tex}
+Prints the nabc glyphs for the given nabc string.
+
+\begin{argtable}
+ \#1 & string & nabc code representing the character\\
+ \#2 & string & name of nabc font to use\\
+ \#3 & integer & scaling factor\\
+\end{argtable}
\subsection{Flags}
@@ -1775,6 +1792,11 @@ \subsection{Flags}
\macroname{\textbackslash ifgre@showlyrics}{}{gregoriotex-syllable.tex}
Boolean indicating whether the lyrics should be shown.
+\macroname{\textbackslash gre@initiallines}{}{gregoriotex-syllable.tex}
+Number of lines the initial takes up. Currently limited to 0, 1, or 2. Not currently a count, but will be changed to one in 5.0.
+
+\macroname{\textbackslash ifgre@rewritethissyllable}{}{gregoriotex-syllable.tex}
+Boolean indicating that a syllable should be rewritten to improve ligature rendering.
\subsection{Boxes}
@@ -1867,6 +1889,9 @@ \subsection{Distances}
\macroname{\textbackslash gre@dimen@additionaltopspacealt}{}{gregoriotex-spaces.tex}
Dimension representing extra space above the staff needed for above lines text.
+\macroname{\textbackslash gre@dimen@additionaltopspacenabc}{}{gregoriotex-spaces.tex}
+Dimension representing extra space above the staff needed for nabc notation.
+
\macroname{\textbackslash gre@dimen@textlower}{}{gregoriotex-spaces.tex}
Dimension representing the height of the separation between the 0th
line (which is invisible except for notes in the a or b position) and
@@ -2007,7 +2032,22 @@ \subsection{Distances}
Skip after the most recent bar.
\macroname{\textbackslash gre@skip@punctummorashift}{}{gregoriotex-spaces.tex}
-Displacement of whole syllable to account for the presence of a punctum mora at the end of the previous syllable
+Displacement of whole syllable to account for the presence of a punctum mora at the end of the previous syllable.
+
+\macroname{\textbackslash gre@skip@alterationshift}{}{gregoriotex-spaces.tex}
+Displacement of whole syllable to account for the presence of an alteration at the beginning of the next syllable.
+
+\macroname{\textbackslash gre@skip@baselineskip@save}{}{gregoriotex-spaces.tex}
+Saved value of \verb=\baselineskip= from before a score so that it can be restored when the score ends.
+
+\macroname{\textbackslash gre@skip@lineskip@save}{}{gregoriotex-spaces.tex}
+Saved value of \verb=\lineskip= from before a score so that it can be restored when the score ends.
+
+\macroname{\textbackslash gre@skip@lineskiplimit@save}{}{gregoriotex-spaces.tex}
+Saved value of \verb=\lineskiplimit= from before a score so that it can be restored when the score ends.
+
+\macroname{\textbackslash gre@skip@parskip@save}{}{gregoriotex-spaces.tex}
+Saved value of \verb=\parskip= from before a score so that it can be restored when the score ends.
\subsection{Penalties}
@@ -2092,6 +2132,38 @@ \subsection{Penalties}
A place to save the current value of the pretolerance so that we can change it temporarily and then restore it later.
+\subsection{Backwards compatibility}
+Depending on version of Lua\TeX / \LaTeX, some primitives have different names
+We define the following local aliases to account for this eventuality.
+
+\macroname{\textbackslash gre@localleftbox}{}{gregoriotex-main.tex}
+Current primitive: \verb=\localleftbox=
+Legacy primitive: \verb=\luatexlocalleftbox=
+
+\macroname{\textbackslash gre@localrightbox}{}{gregoriotex-main.tex}
+Current primitive: \verb=\localrightbox=
+Legacy primitive: \verb=\luatexlocalrightbox=
+
+\macroname{\textbackslash gre@startlink}{}{gregoriotex-main.tex}
+Current primitive: \verb=\pdfextension startlink=
+Legacy primitive: \verb=\pdfstartlink=
+
+\macroname{\textbackslash gre@endlink}{}{gregoriotex-main.tex}
+Current primitive: \verb=\pdfextension endlink=
+Legacy primitive: \verb=\pdfendlink=
+
+\macroname{\textbackslash gre@savepos}{}{gregoriotex-main.tex}
+Current primitive: \verb=\savepos=
+Legacy primitive: \verb=\pdfsavepos=
+
+\macroname{\textbackslash gre@lastxpos}{}{gregoriotex-main.tex}
+Current primitive: \verb=\lastxpos=
+Legacy primitive: \verb=\pdflastxpos=
+
+\macroname{\textbackslash gre@lastypos}{}{gregoriotex-main.tex}
+Current primitive: \verb=\lastypos=
+Legacy primitive: \verb=\pdflastypos=
+
\subsection{\LaTeX/Plain \TeX\ compatibility}
While every effort has been made to use only primitives which are compatible with both \LaTeX\ and Plain \TeX, it is sometimes necessary to use primitives which are defined for one but not the other (usually its \LaTeX\ that has what we need built in). In these cases we have to provide an equivalent macro to the \TeX\ version which is lacking.
diff --git a/doc/GregorioRef.tex b/doc/GregorioRef.tex
index 383acae7a..7e0fae377 100644
--- a/doc/GregorioRef.tex
+++ b/doc/GregorioRef.tex
@@ -179,7 +179,7 @@
\vspace{1cm}
- \large Version \textbf{4.2.0-rc3}, 22 August 2016 %% PARSE_VERSION_DATE
+ \large Version \textbf{4.2.0}, 23 September 2016 %% PARSE_VERSION_DATE
\vspace{1.5cm}
\end{center}
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 035fdb16c..2f2425e79 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -65,4 +65,5 @@ maintainer-clean-local: clean-doc
EXTRA_DIST = $(SRCFILES) $(NABCSRCFILES) \
GregorioRef.pdf \
- GregorioNabcRef.pdf
+ GregorioNabcRef.pdf \
+ README.md
diff --git a/fonts/squarize.py b/fonts/squarize.py
index 544f7117a..1f2dca1e7 100644
--- a/fonts/squarize.py
+++ b/fonts/squarize.py
@@ -78,7 +78,7 @@
5: 'Five',
}
-GREGORIO_VERSION = '4.2.0-rc3'
+GREGORIO_VERSION = '4.2.0'
# The unicode character at which we start our numbering:
# U+E000 is the start of the BMP Private Use Area
diff --git a/macosx/Gregorio.pkgproj b/macosx/Gregorio.pkgproj
index 8395a4046..46b08ffa7 100755
--- a/macosx/Gregorio.pkgproj
+++ b/macosx/Gregorio.pkgproj
@@ -564,7 +564,7 @@
OVERWRITE_PERMISSIONS
VERSION
- 4.2.0-rc3
+ 4.2.0
UUID
74692645-8112-42EB-8FFC-2CBE2CEDE9FB
diff --git a/macosx/create_package.sh b/macosx/create_package.sh
index c5293423f..108bc51e9 100755
--- a/macosx/create_package.sh
+++ b/macosx/create_package.sh
@@ -121,7 +121,7 @@ packagesbuild Uninstall-Gregorio.pkgproj
# care about the version of gregorio.
VERSION=`echo $VERSION | sed s:[.]:_:g`
mv $BUILDDIR/Gregorio.pkg ../Gregorio-$VERSION.pkg
-mv $BUILDDIR/Uninstall-Gregorio-$VERSION.pkg ../
+mv $BUILDDIR/Uninstall-Gregorio.pkg ../Uninstall-Gregorio-$VERSION.pkg
# Now we clean up
if $clean; then
diff --git a/macosx/douninstall.sh b/macosx/douninstall.sh
index 296a5c519..6f6ba0739 100755
--- a/macosx/douninstall.sh
+++ b/macosx/douninstall.sh
@@ -20,7 +20,7 @@ GREFONTDIR="$TEXMFLOCAL/fonts/truetype/public/gregoriotex"
GREFONTSOURCE="$TEXMFLOCAL/fonts/source/gregoriotex"
GREDOCDIR="$TEXMFLOCAL/doc/luatex/gregoriotex"
-rm "$BINDIR/gregorio-4_2_0-rc3" # FILENAME_VERSION
+rm "$BINDIR/gregorio-4_2_0" # FILENAME_VERSION
rm "$PKGCONFIGDIR/gregorio.pc"
rm -rf "$GREINCLUDEDIR"
rm -rf "$GRETEXDIR"
diff --git a/tex/gregoriosyms.sty b/tex/gregoriosyms.sty
index f08cee0b6..2301b9b42 100644
--- a/tex/gregoriosyms.sty
+++ b/tex/gregoriosyms.sty
@@ -19,7 +19,7 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{gregoriosyms}
- [2016/08/22 v4.2.0-rc3 GregorioTeX symbols only.]% PARSE_VERSION_DATE_LTX
+ [2016/09/23 v4.2.0 GregorioTeX symbols only.]% PARSE_VERSION_DATE_LTX
% If gregoriotex has been loaded, then we need to abort the loading process of this package here in order to avoid some conflicts.
\ifcsname gregoriotex@symbols@loaded\endcsname\endinput\fi%
@@ -39,7 +39,7 @@
% The version of gregorio. All gregoriotex*.tex files must have the same.
% All gtex files must also have the same version.
-\xdef\gre@gregoriotexversion{4.2.0-rc3}% GREGORIO_VERSION - VersionManager.py
+\xdef\gre@gregoriotexversion{4.2.0}% GREGORIO_VERSION - VersionManager.py
\providecommand{\gre@declarefileversion}[2]{\relax}
diff --git a/tex/gregoriotex-chars.tex b/tex/gregoriotex-chars.tex
index e48cddbb0..cf2676e7c 100644
--- a/tex/gregoriotex-chars.tex
+++ b/tex/gregoriotex-chars.tex
@@ -18,7 +18,7 @@
% along with Gregorio. If not, see .
\gre@debugmsg{general}{Loading gregoriotex-chars.tex}%
-\gre@declarefileversion{gregoriotex-chars.tex}{4.2.0-rc3}% GREGORIO_VERSION
+\gre@declarefileversion{gregoriotex-chars.tex}{4.2.0}% GREGORIO_VERSION
\def\gre@char@fuse@punctum@one{\GreFuseTwo{\GreCPLeadingPunctumOne}{\GreCPPunctum}}%
\def\gre@char@fuse@quilisma@one{\GreFuseTwo{\GreCPLeadingQuilismaOne}{\GreCPPunctum}}%
diff --git a/tex/gregoriotex-main.tex b/tex/gregoriotex-main.tex
index 1a8b0ffaf..335d435ac 100644
--- a/tex/gregoriotex-main.tex
+++ b/tex/gregoriotex-main.tex
@@ -159,7 +159,7 @@
% The version of gregorio. All gregoriotex*.tex files must have the same.
% All gtex files must also have the same version.
-\xdef\gre@gregoriotexversion{4.2.0-rc3}% GREGORIO_VERSION - VersionManager.py
+\xdef\gre@gregoriotexversion{4.2.0}% GREGORIO_VERSION - VersionManager.py
% first some macros to allow checks for version:
% Tests that all gregoriotex files are of the same version.
diff --git a/tex/gregoriotex-nabc.lua b/tex/gregoriotex-nabc.lua
index 8952746dd..848e73ebc 100644
--- a/tex/gregoriotex-nabc.lua
+++ b/tex/gregoriotex-nabc.lua
@@ -20,7 +20,7 @@
-- this file contains lua functions used by GregorioTeX St. Gall ancient
-- neume support when called with LuaTeX.
--- GREGORIO_VERSION 4.2.0-rc3
+-- GREGORIO_VERSION 4.2.0
local catcode_at_letter = luatexbase.catcodetables['gre@atletter']
diff --git a/tex/gregoriotex-nabc.tex b/tex/gregoriotex-nabc.tex
index fe87b77dd..610becc4a 100644
--- a/tex/gregoriotex-nabc.tex
+++ b/tex/gregoriotex-nabc.tex
@@ -20,7 +20,7 @@
% this file contains macros for St. Gall ancient neume support
\gre@debugmsg{general}{Loading gregoriotex-nabc.tex}%
-\gre@declarefileversion{gregoriotex-nabc.tex}{4.2.0-rc3}% GREGORIO_VERSION
+\gre@declarefileversion{gregoriotex-nabc.tex}{4.2.0}% GREGORIO_VERSION
\xdef\gre@nabcfontname{gregall}%
@@ -37,7 +37,7 @@
\gre@nabcfontloadedtrue%
}
-\def\grenabccharno#1#2#3{{\directlua{
+\def\gre@nabccharno#1#2#3{{\directlua{
gregoriotex.print_nabc(gregoriotex.parse_nabc("#1", "\luatexluaescapestring{#2}", #3))
}}}
@@ -46,7 +46,7 @@
%\catcode`\@=11{}%
\gre@font@nabc %
\gre@style@nabc %
- \grenabccharno{#1}{\gre@nabcfontname}{1}%
+ \gre@nabccharno{#1}{\gre@nabcfontname}{1}%
\endgre@style@nabc%
}}
diff --git a/tex/gregoriotex-signs.lua b/tex/gregoriotex-signs.lua
index ccebb655d..5e64bd67e 100644
--- a/tex/gregoriotex-signs.lua
+++ b/tex/gregoriotex-signs.lua
@@ -19,7 +19,7 @@
-- this file contains lua functions to support signs used by GregorioTeX.
--- GREGORIO_VERSION 4.2.0-rc3
+-- GREGORIO_VERSION 4.2.0
local err = gregoriotex.module.err
local warn = gregoriotex.module.warn
diff --git a/tex/gregoriotex-signs.tex b/tex/gregoriotex-signs.tex
index 22e1025f6..fa30f66b1 100644
--- a/tex/gregoriotex-signs.tex
+++ b/tex/gregoriotex-signs.tex
@@ -23,7 +23,7 @@
\def\grebarbracewidth{.58879}%
\gre@debugmsg{general}{Loading gregoriotex-signs.tex}%
-\gre@declarefileversion{gregoriotex-signs.tex}{4.2.0-rc3}% GREGORIO_VERSION
+\gre@declarefileversion{gregoriotex-signs.tex}{4.2.0}% GREGORIO_VERSION
\def\gre@usestylecommon{%
\ifgre@usestylefont\else %
diff --git a/tex/gregoriotex-spaces.tex b/tex/gregoriotex-spaces.tex
index 603c6f666..f9b9b8f1d 100644
--- a/tex/gregoriotex-spaces.tex
+++ b/tex/gregoriotex-spaces.tex
@@ -20,7 +20,7 @@
% this file contains definitions of spaces
\gre@debugmsg{general}{Loading gregoriotex-spaces.tex}%
-\gre@declarefileversion{gregoriotex-spaces.tex}{4.2.0-rc3}% GREGORIO_VERSION
+\gre@declarefileversion{gregoriotex-spaces.tex}{4.2.0}% GREGORIO_VERSION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% macros for tuning penalties
diff --git a/tex/gregoriotex-syllable.tex b/tex/gregoriotex-syllable.tex
index f79d87ee6..f55fe3f71 100644
--- a/tex/gregoriotex-syllable.tex
+++ b/tex/gregoriotex-syllable.tex
@@ -20,7 +20,7 @@
% this file contains definitions of the glyphs and the syllables
\gre@debugmsg{general}{Loading gregoriotex-syllable.tex}%
-\gre@declarefileversion{gregoriotex-syllable.tex}{4.2.0-rc3}% GREGORIO_VERSION
+\gre@declarefileversion{gregoriotex-syllable.tex}{4.2.0}% GREGORIO_VERSION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% macros for the typesetting of the different glyphs
@@ -1432,6 +1432,7 @@
}%
}%
+% TODO: Change \gre@initiallines to \gre@count@initiallines in 5.0
\def\gresetinitiallines#1{%
\IfInteger{#1}%
{%
diff --git a/tex/gregoriotex-symbols.lua b/tex/gregoriotex-symbols.lua
index 7517e92d9..2b8e251c1 100644
--- a/tex/gregoriotex-symbols.lua
+++ b/tex/gregoriotex-symbols.lua
@@ -19,7 +19,7 @@
-- this file contains lua functions to support signs used by GregorioTeX.
--- GREGORIO_VERSION 4.2.0-rc3
+-- GREGORIO_VERSION 4.2.0
local err = gregoriotex.module.err
local warn = gregoriotex.module.warn
diff --git a/tex/gregoriotex-symbols.tex b/tex/gregoriotex-symbols.tex
index 6853f9dfc..987ef3e74 100644
--- a/tex/gregoriotex-symbols.tex
+++ b/tex/gregoriotex-symbols.tex
@@ -23,7 +23,7 @@
\def\gregoriotex@symbols@loaded{}%
\gre@debugmsg{general}{Loading gregoriotex-symbols.tex}%
-\gre@declarefileversion{gregoriotex-symbols.tex}{4.2.0-rc3}% GREGORIO_VERSION
+\gre@declarefileversion{gregoriotex-symbols.tex}{4.2.0}% GREGORIO_VERSION
\RequireLuaModule{gregoriotex}%
diff --git a/tex/gregoriotex.lua b/tex/gregoriotex.lua
index d071d4abc..cbfd7cf04 100644
--- a/tex/gregoriotex.lua
+++ b/tex/gregoriotex.lua
@@ -24,20 +24,20 @@ local hpack, traverse, traverse_id, has_attribute, count, remove, insert_after,
gregoriotex = gregoriotex or {}
local gregoriotex = gregoriotex
-local internalversion = '4.2.0-rc3' -- GREGORIO_VERSION (comment used by VersionManager.py)
+local internalversion = '4.2.0' -- GREGORIO_VERSION (comment used by VersionManager.py)
local err, warn, info, log = luatexbase.provides_module({
name = "gregoriotex",
- version = '4.2.0-rc3', -- GREGORIO_VERSION
+ version = '4.2.0', -- GREGORIO_VERSION
greinternalversion = internalversion,
- date = "2016/08/22", -- GREGORIO_DATE_LTX
+ date = "2016/09/23", -- GREGORIO_DATE_LTX
description = "GregorioTeX module.",
author = "The Gregorio Project (see CONTRIBUTORS.md)",
copyright = "2008-2016 - The Gregorio Project",
license = "GPLv3+",
})
-local gregorio_exe = 'gregorio-4_2_0-rc3' -- FILENAME_VERSION
+local gregorio_exe = 'gregorio-4_2_0' -- FILENAME_VERSION
gregoriotex.module = { err = err, warn = warn, info = info, log = log }
diff --git a/tex/gregoriotex.sty b/tex/gregoriotex.sty
index b57f22f9a..fdd395381 100644
--- a/tex/gregoriotex.sty
+++ b/tex/gregoriotex.sty
@@ -19,7 +19,7 @@
\NeedsTeXFormat{LaTeX2e}%
\ProvidesPackage{gregoriotex}%
- [2016/08/22 v4.2.0-rc3 GregorioTeX system.]% PARSE_VERSION_DATE_LTX
+ [2016/09/23 v4.2.0 GregorioTeX system.]% PARSE_VERSION_DATE_LTX
% If gregoriosyms has been loaded then there are going to be some conflicts in the definitions made in that package and this one. In order to provide for a more informative error message, we check for that conflict right away
\ifcsname gregoriotex@symbols@loaded\endcsname\gre@error{Loading gregoriotex after\MessageBreak gregoriosyms is not supported. Please remove the\MessageBreak loading of gregoriosyms (its contents are loaded\MessageBreak by gregoriotex)}\fi%
diff --git a/tex/gregoriotex.tex b/tex/gregoriotex.tex
index 450040274..d21401f3f 100644
--- a/tex/gregoriotex.tex
+++ b/tex/gregoriotex.tex
@@ -21,7 +21,7 @@
% This file needs to be marked with the version number. For now I've done this with the following comment, but we should check to see if PlainTeX has something similar to the version declaration of LaTeX and use that if it does.
-% [2016/08/22 v4.2.0-rc3 GregorioTeX system.]% PARSE_VERSION_DATE_LTX
+% [2016/09/23 v4.2.0 GregorioTeX system.]% PARSE_VERSION_DATE_LTX
\edef\greoldcatcode{\the\catcode`@}
diff --git a/windows/gregorio-resources.rc b/windows/gregorio-resources.rc
index 547651a0b..9ce686a53 100644
--- a/windows/gregorio-resources.rc
+++ b/windows/gregorio-resources.rc
@@ -1,7 +1,7 @@
IDI_ICON1 ICON DISCARDABLE "gregorio.ico"
1 VERSIONINFO
-FILEVERSION 4,2,0,23
-PRODUCTVERSION 4,2,0,23
+FILEVERSION 4,2,0,30
+PRODUCTVERSION 4,2,0,30
BEGIN
BLOCK "StringFileInfo"
BEGIN
@@ -9,12 +9,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Gregorio project"
VALUE "FileDescription", "Gregorio"
- VALUE "FileVersion", "4.2.0-rc3"
+ VALUE "FileVersion", "4.2.0"
VALUE "InternalName", "gregorio"
VALUE "LegalCopyright", "See COPYING in the installation directory."
VALUE "OriginalFilename", "gregorio.exe"
VALUE "ProductName", "Gregorio"
- VALUE "ProductVersion", "4.2.0-rc3"
+ VALUE "ProductVersion", "4.2.0"
END
END
diff --git a/windows/gregorio.iss b/windows/gregorio.iss
index a9f1e551f..6d1c2ed06 100644
--- a/windows/gregorio.iss
+++ b/windows/gregorio.iss
@@ -1,6 +1,6 @@
[Setup]
AppName=gregorio
-AppVersion=4.2.0-rc3
+AppVersion=4.2.0
DefaultDirName={pf}\gregorio
DefaultGroupName=gregorio
SetupIconFile=gregorio.ico
@@ -49,7 +49,7 @@ Name: "{app}\texmf\doc\luatex\gregoriotex\examples"
[Files]
; PARSE_VERSION_FILE_NEXTLINE
-Source: "../src/gregorio-4_2_0-rc3.exe"; DestDir: "{app}\bin";
+Source: "../src/gregorio-4_2_0.exe"; DestDir: "{app}\bin";
Source: "gregorio.ico"; DestDir: "{app}";
Source: "install.lua"; DestDir: "{app}";
Source: "uninstall.lua"; DestDir: "{app}";