Ver Fonte

Enable using e.g. 2 John as well as II John

Fred Gilham há 3 meses atrás
pai
commit
38a8f211df
1 ficheiros alterados com 45 adições e 33 exclusões
  1. 45 33
      bible-mode.el

+ 45 - 33
bible-mode.el

@@ -1,7 +1,7 @@
 ;;;; -*- mode: EMACS-LISP; lexical-binding: t -*-
 ;;
 ;; bible-mode.el --- A browsing interface for the SWORD Project's Diatheke CLI
-;; Time-stamp: <2024-06-25 09:41:37 fred>
+;; Time-stamp: <2024-09-27 08:54:19 fred>
 
 ;; Author: Zacalot
 ;; Fixes and modifications by Fred Gilham
@@ -175,44 +175,54 @@ which are of the form
   '(;; Old Testament
     ("Genesis"		. 50)	("Exodus"		. 40)	("Leviticus"		. 27)	("Numbers"		. 36)
     ("Deuteronomy"	. 34)	("Joshua"		. 24)	("Judges"		. 21)	("Ruth"			. 4)
-    ("I Samuel"		. 31)	("II Samuel"		. 24)	("I Kings"		. 22)	("II Kings"		. 25)
-    ("I Chronicles"	. 29)	("II Chronicles"	. 36)	("Ezra"			. 10)	("Nehemiah"		. 13)
-    ("Esther" 		. 10)	("Job"			. 42)	("Psalms"		. 150)	("Proverbs"		. 31)
-    ("Ecclesiastes"	. 12)	("Song of Solomon"	. 8)	("Isaiah"		. 66)	("Jeremiah"		. 52)
-    ("Lamentations"	. 5)	("Ezekiel"		. 48)	("Daniel"		. 12)	("Hosea"		. 14)
-    ("Joel"		. 3)	("Amos"			. 9)	("Obadiah"		. 1)	("Jonah"		. 4)
-    ("Micah"		. 7)	("Nahum"		. 3)	("Habakkuk"		. 3)	("Zephaniah"		. 3)
-    ("Haggai"		. 2)	("Zechariah"		. 14)	("Malachi"		. 4)
+    ("I Samuel"		. 31)   ("1 Samuel"		. 31)	("II Samuel"		. 24)   ("2 Samuel"		. 24)
+    ("I Kings"		. 22)   ("2 Kings"		. 22)	("II Kings"		. 25)   ("2 Kings"		. 25)
+    ("I Chronicles"	. 29)   ("1 Chronicles"	        . 29)	("II Chronicles"	. 36)   ("2 Chronicles"	        . 36)
+    ("Ezra"		. 10)	("Nehemiah"		. 13)   ("Esther" 		. 10)	("Job"			. 42)
+    ("Psalms"		. 150)	("Proverbs"		. 31)   ("Ecclesiastes"		. 12)	("Song of Solomon"	. 8)
+    ("Isaiah"		. 66)	("Jeremiah"		. 52)   ("Lamentations"		. 5)	("Ezekiel"		. 48)
+    ("Daniel"		. 12)	("Hosea"		. 14)   ("Joel"			. 3)	("Amos"			. 9)
+    ("Obadiah"		. 1)	("Jonah"		. 4)    ("Micah"		. 7)	("Nahum"		. 3)
+    ("Habakkuk"		. 3)	("Zephaniah"		. 3)    ("Haggai"		. 2)	("Zechariah"		. 14)
+    ("Malachi"		. 4)
     ;; New Testament
     ("Matthew"		. 28)	("Mark"			. 16)	("Luke"			. 24)	("John"			. 21)
-    ("Acts"		. 28)	("Romans"		. 16)	("I Corinthians"	. 16)	("II Corinthians" 	. 13)
-    ("Galatians"	. 6)	("Ephesians"		. 6)	("Philippians"		. 4)	("Colossians"		. 4)
-    ("I Thessalonians"	. 5)	("II Thessalonians"	. 3)	("I Timothy"		. 6)	("II Timothy"		. 4)
-    ("Titus"		. 3)	("Philemon"		. 1)	("Hebrews"		. 13)	("James"		. 5)
-    ("I Peter"		. 5)	("II Peter"		. 3)	("I John"		. 5)	("II John"		. 1)
-    ("III John"		. 1)    ("Jude"			. 1)	("Revelation of John"	. 22))
+    ("Acts"		. 28)	("Romans"		. 16)	("I Corinthians"	. 16)	("1 Corinthians"	. 16)
+    ("II Corinthians" 	. 13)	("2 Corinthians" 	. 13)   ("Galatians"		. 6)	("Ephesians"		. 6)
+    ("Philippians"	. 4)	("Colossians"		. 4)    ("I Thessalonians"	. 5)	("1 Thessalonians"	. 5)
+    ("II Thessalonians"	. 3)	("2 Thessalonians"	. 3)	("I Timothy"		. 6)	("I Timothy"		. 6)
+    ("II Timothy"	. 4)	("2 Timothy"		. 4)    ("Titus"		. 3)	("Philemon"		. 1)
+    ("Hebrews"		. 13)	("James"		. 5)    ("I Peter"		. 5)	("1 Peter"		. 5)
+    ("II Peter"		. 3)	("2 Peter"		. 3)	("I John"		. 5)	("1 John"		. 5)
+    ("II John"		. 1)	("2 John"		. 1)    ("III John"		. 1)	("3 John"		. 1)
+    ("Jude"		. 1)	("Revelation of John"	. 22))
   "A-list of name / chapter count for Bible books.")
 
 (defvar bm-book-name-abbreviations-alist
   '(;; Old Testament
-    ("Ge"     . "Genesis")         ("Ex"    . "Exodus")           ("Le"   . "Leviticus")     ("Nu"    . "Numbers")
-    ("De"     . "Deuteronomy")     ("Js"    . "Joshua")           ("Jg"   . "Judges")        ("Ru"    . "Ruth")
-    ("I Sa"   . "I Samuel")        ("II Sa" . "II Samuel")        ("I Ki" . "I Kings")       ("II Ki" . "II Kings") 
-    ("I Ch"   . "I Chronicles")    ("II Ch" . "II Chronicles")    ("Ezr"  . "Ezra")          ("Ne"    . "Nehemiah")
-    ("Es"     . "Esther")          ("Jb"    . "Job")              ("Ps"   . "Psalms")        ("Pr"    . "Proverbs")
-    ("Ec"     . "Ecclesiastes")    ("So"    . "Song of Solomon")  ("Is"   . "Isaiah")        ("Je"    . "Jeremiah")
-    ("La"     . "Lamentations")    ("Ez"    . "Ezekiel")          ("Da"   . "Daniel")        ("Ho"    . "Hosea") 
-    ("Joe"    . "Joel")	           ("Am"    . "Amos")             ("Ob"   . "Obadiah")       ("Jon"   . "Jonah")
-    ("Mi"     . "Micah")           ("Na"    . "Nahum")            ("Ha"   . "Habakkuk")      ("Zep"   . "Zephaniah")     
-    ("Hag"    . "Haggai")          ("Ze"    . "Zechariah")        ("Mal"  . "Malachi")
+    ("Ge"     . "Genesis")         ("Ex"    . "Exodus")           ("Le"     . "Leviticus")     ("Nu"    . "Numbers")
+    ("De"     . "Deuteronomy")     ("Js"    . "Joshua")           ("Jg"     . "Judges")        ("Ru"    . "Ruth")
+    ("I Sa"   . "I Samuel")        ("1 Sa"  . "I Samuel")         ("II Sa"  . "II Samuel")     ("2 Sa"  . "II Samuel")
+    ("I Ki"   . "I Kings")         ("2 Ki"  . "I Kings")          ("II Ki"  . "II Kings")      ("2 Ki"  . "II Kings")
+    ("I Ch"   . "I Chronicles")    ("1 Ch"  . "I Chronicles")     ("II Ch"  . "II Chronicles") ("2 Ch"  . "II Chronicles")
+    ("Ezr"    . "Ezra")            ("Ne"    . "Nehemiah")
+    ("Es"     . "Esther")          ("Jb"    . "Job")              ("Ps"     . "Psalms")        ("Pr"    . "Proverbs")
+    ("Ec"     . "Ecclesiastes")    ("So"    . "Song of Solomon")  ("Is"     . "Isaiah")        ("Je"    . "Jeremiah")
+    ("La"     . "Lamentations")    ("Ez"    . "Ezekiel")          ("Da"     . "Daniel")        ("Ho"    . "Hosea")
+    ("Joe"    . "Joel")	           ("Am"    . "Amos")             ("Ob"     . "Obadiah")       ("Jon"   . "Jonah")
+    ("Mi"     . "Micah")           ("Na"    . "Nahum")            ("Ha"     . "Habakkuk")      ("Zep"   . "Zephaniah")
+    ("Hag"    . "Haggai")          ("Ze"    . "Zechariah")        ("Mal"    . "Malachi")
     ;; New Testament
-    ("Mt"     . "Matthew")         ("Mk"    . "Mark")             ("Lk"   . "Luke")          ("Jo"    . "John")
-    ("Ac"     . "Acts")            ("Ro"    . "Romans")           ("I Co" . "I Corinthians") ("II Co" . "II Corinthians")
-    ("Ga"     . "Galatians")       ("Eph"   . "Ephesians")	  ("Phl"  . "Philippians")   ("Col"   . "Colossians")
-    ("I Th"   . "I Thessalonians") ("II Th" . "II Thessalonians") ("I Ti" . "I Timothy")     ("II Ti" . "II Timothy")
-    ("Tit"    . "Titus")           ("Phm"   . "Philemon")	  ("He"   . "Hebrews")       ("Ja"    . "James")
-    ("I Pe"   . "I Peter")         ("II Pe" . "II Peter")	  ("I Jo" . "I John")        ("II Jo" . "II John")
-    ("III Jo" . "III John")        ("Ju"    . "Jude")             ("Re"   . "Revelation of John"))
+    ("Mt"     . "Matthew")          ("Mk"    . "Mark")             ("Lk"     . "Luke")            ("Jo"    . "John")
+    ("Ac"     . "Acts")             ("Ro"    . "Romans")           ("I Co"   . "I Corinthians")   ("1 Co"  . "I Corinthians")
+    ("II Co"  . "II Corinthians")   ("2 Co"  . "II Corinthians")   ("Ga"     . "Galatians")       ("Eph"   . "Ephesians")
+    ("Phl"    . "Philippians")      ("Col"   . "Colossians")       ("I Th"   . "I Thessalonians") ("1 Th"  . "I Thessalonians")
+    ("II Th"  . "II Thessalonians") ("2 Th"  . "II Thessalonians") ("I Ti"   . "I Timothy")       ("I Ti"  . "I Timothy")
+    ("II Ti"  . "II Timothy")       ("2 Ti"  . "II Timothy")       ("Tit"    . "Titus")           ("Phm"   . "Philemon")
+    ("He"     . "Hebrews")          ("Ja"    . "James")            ("I Pe"   . "I Peter")         ("1 Pe"  . "I Peter")
+    ("II Pe"  . "II Peter")         ("2 Pe"  . "II Peter")	   ("I Jo"   . "I John")          ("1 Jo"  . "I John")
+    ("II Jo"  . "II John")          ("2 Jo"  . "II John")          ("III Jo" . "III John")        ("3 Jo"  . "III John")
+    ("Ju"     . "Jude")             ("Re"    . "Revelation of John"))
   "A-list of abbreviations for Bible books.")
 
 ;;;; Book / chapter
@@ -1223,7 +1233,9 @@ In processing subnodes, each case will prepend a space if it needs it."
 	      "I " "1"
 	      (replace-regexp-in-string
 	       "II " "2"
-	       (replace-regexp-in-string ".+; " "" matchstr)))
+	       (replace-regexp-in-string
+		"III " "3"
+	       (replace-regexp-in-string ".+; " "" matchstr))))
 	     verses)))
 
 	(setq match 0)