ConvertUsfmVersificationHandler does not move headings immediately before re-versified verses to the new chapter
Maintainers usually reply within 1 day
@Enkidu93 is already working on this.
Since Sep 24, 2026.
Assessment
This issue has not been assessed yet.
Description
When changing versification moves verses to a new chapter (i.e. from English Joel 2:28-32 to Hebrew Joel 3:1-5, the headings and other non-verse text content should be moved to the start of the new chapter, for example:
[Test]
public void GetUsfm_PreceedingHeadingsNotMoved()
{
// English vs. Original
// JOL 2:27-28 = JOL 2:27-3:1
string usfm =
@"\id JOL
\c 2
\v 27 Then you will know that I am present in Israel
\q2 and that I am the LORD your God,
\q2 and there is no other.
\q1 My people will never again
\q2 be put to shame.
\s1 I Will Pour Out My Spirit
\r (Acts 2:14–36)
\q1
\v 28 And afterward, I will pour out My Spirit on all people.
\q2 Your sons and daughters will prophesy,
\q1 your old men will dream dreams,
\q2 your young men will see visions.
";
string target = UpdateUsfm(usfm, sourceVersification: ScrVers.English, targetVersification: ScrVers.Original);
string result =
@"\id JOL
\c 2
\v 27 Then you will know that I am present in Israel
\q2 and that I am the LORD your God,
\q2 and there is no other.
\q1 My people will never again
\q2 be put to shame.
\c 3
\s1 I Will Pour Out My Spirit
\r (Acts 2:14–36)
\q1
\v 28 And afterward, I will pour out My Spirit on all people.
\q2 Your sons and daughters will prophesy,
\q1 your old men will dream dreams,
\q2 your young men will see visions.
";
AssertUsfmEquals(target, result);
}
Instead, the following USFM is generated:
\id JOL
\c 2
\v 27 Then you will know that I am present in Israel
\q2 and that I am the LORD your God,
\q2 and there is no other.
\q1 My people will never again
\q2 be put to shame.
\s1 I Will Pour Out My Spirit
\r (Acts 2:14–36)
\q1
\c 3
\nb
\v 1 And afterward, I will pour out My Spirit on all people.
\q2 Your sons and daughters will prophesy,
\q1 your old men will dream dreams,
\q2 your young men will see visions.
- Dominant language
- C#
- Stars
- 29
- Forks
- 17
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 7
Getting set up
We have not checked this project's setup files yet. Start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from sillsdev/machine
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Maintainers usually reply within 1 day
-
ConvertUsfmVersificationHandler doesn't merge verses correctlyPossibly taken @Enkidu93 claimed this 3 days ago. Open
sillsdev/machine#517 · 1 assignee ·
Maintainers usually reply within 1 day
-
Environment matchers pay for captures they never read; key the traversal on what the caller consumesOpen
Difficulty 5/5 Over a week Newbie friendliness 45/100
sillsdev/machine#515 · 1 comment ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
Maintainers usually reply within 1 day
-
HermitCrab: Word.ExpandAlternatives discards Unify's success flag and can null the realizational FSOpen
Difficulty 5/5 Over a week Newbie friendliness 38/100
Maintainers usually reply within 1 day
All issues in sillsdev/machine
Similar issues
-
0 - Backlog Bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
BrighterCommand/Brighter#4444 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
area:frontend bug FE P3
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
klasolsson81/jobbliggaren#1915 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
triage
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
microsoft/vscode-copilotstudio#431 ·
Maintainers usually reply within 2 days