|
@@ -178,44 +178,69 @@ 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 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)
|
|
|
+ ("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)
|
|
|
+ ("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)
|
|
|
+ ("I Peter" . 5) ("II Peter" . 3) ("I John" . 5) ("II John" . 1)
|
|
|
("III John" . 1) ("Jude" . 1) ("Revelation of John" . 22))
|
|
|
"A-list of name / chapter count for Bible books.")
|
|
|
|
|
|
-(defvar bible-mode-book-name-abbreviations-alist
|
|
|
+
|
|
|
+(defvar bible-mode-book-name-abbreviations-alist ;; XXX not currently used.
|
|
|
'(;; 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")
|
|
|
+ ("De" . "Deuteronomy") ("Js" . "Joshua") ("Jg" . "Judges") ("Judg" . "Judges")
|
|
|
+ ("Ru" . "Ruth") ("1 Samuel" . "I Samuel") ("I Sa" . "I Samuel") ("1 Sa" . "I Samuel")
|
|
|
+ ("2 Samuel" . "II Samuel") ("II Sa" . "II Samuel") ("2 Sa" . "II Samuel") ("1 Kings" . "I Kings")
|
|
|
+ ("I Ki" . "I Kings") ("1 Ki" . "I Kings") ("2 Kings" . "II Kings") ("II Ki" . "II Kings")
|
|
|
+ ("2 Ki" . "II Kings") ("1 Chronicles" . "I Chronicles") ("I Ch" . "I Chronicles") ("1 Ch" . "I Chronicles")
|
|
|
+ ("2 Chronicles" . "II 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"))
|
|
|
+ ;; Added AbbottSmith lexicon abbreviations to allow proper following of cross references in lexicon buffers.
|
|
|
+ ("Mt" . "Matthew") ("Matt" . "Matthew")
|
|
|
+ ("Mk" . "Mark") ("Lk" . "Luke") ("Jo" . "John") ("Ac" . "Acts")
|
|
|
+ ("Ro" . "Romans") ("Rom" . "Romans")
|
|
|
+ ("1 Corintihans" . "I Corinthians") ("I Co" . "I Corinthians") ("1 Co" . "I Corinthians") ("ICor" . "I Corinthians")
|
|
|
+ ("2 Corinthians" . "II Corinthians") ("II Co" . "II Corinthians") ("2 Co" . "II Corinthians") ("IICor" . "II Corinthians")
|
|
|
+ ("Ga" . "Galatians") ("Gal" . "Galatians")
|
|
|
+ ("Eph" . "Ephesians")
|
|
|
+ ("Phl" . "Philippians") ("Phil" . "Philippians")
|
|
|
+ ("Col" . "Colossians")
|
|
|
+ ("1 Thessalonians" . "I Thessalonians") ("I Th" . "I Thessalonians") ("1 Th" . "I Thessalonians") ("IThess" . "I Thessalonians")
|
|
|
+ ("2 Thessalonians" . "II Thessalonians") ("II Th" . "II Thessalonians") ("2 Th" . "II Thessalonians") ("IIThess" . "II Thessalonians")
|
|
|
+ ("1 Timothy" . "I Timothy") ("I Ti" . "I Timothy") ("1 Ti" . "I Timothy") ("ITim" . "I Timothy")
|
|
|
+ ("2 Timothy" . "II Timothy") ("II Ti" . "II Timothy") ("2 Ti" . "II Timothy") ("IITim" . "II Timothy")
|
|
|
+ ("Tit" . "Titus")
|
|
|
+ ("Phm" . "Philemon") ("Phlm" . "Philemon")
|
|
|
+ ("He" . "Hebrews") ("Heb" . "Hebrews")
|
|
|
+ ("Ja" . "James") ("Jas" . "James")
|
|
|
+ ("1 Peter" . "I Peter") ("I Pe" . "I Peter") ("1 Pe" . "I Peter")
|
|
|
+ ("2 Peter" . "II Peter") ("II Pe" . "II Peter") ("2 Pe" . "II Peter") ("IIPet" . "II Peter")
|
|
|
+ ("1 John" . "I John") ("I Jo" . "I John") ("1 Jo" . "I John") ("IJohn" . "I John")
|
|
|
+ ("2 John" . "II John") ("II Jo" . "II John") ("2 Jo" . "II John") ("IIJohn" . "II John")
|
|
|
+ ("3 John" . "III John") ("III Jo" . "III John") ("3 Jo" . "III John") ("IIIJohn" . "III John")
|
|
|
+ ("Ju" . "Jude")
|
|
|
+ ("Re" . "Revelation of John") ("Rev" . "Revelation of John"))
|
|
|
+
|
|
|
"A-list of abbreviations for Bible books.")
|
|
|
|
|
|
;;;; Book / chapter
|
|
@@ -378,6 +403,9 @@ which are of the form
|
|
|
(defvar-local bible-mode-debugme nil
|
|
|
"Make text show up as XML when set.")
|
|
|
|
|
|
+(defvar-local bible-mode-search-query nil
|
|
|
+ "Query used in toggles (word study and red letter).")
|
|
|
+
|
|
|
(defvar use-tooltips t)
|
|
|
|
|
|
(defun bible-mode-toggle-tooltips ()
|
|
@@ -649,7 +677,8 @@ Create a new `bible-mode' buffer positioned at the selected verse."
|
|
|
"Follow the hovered verse in a bible term buffer.
|
|
|
Create a new `bible-mode' buffer positioned at the specified verse.
|
|
|
XXX We use the current module to avoid opening cans of worms regarding
|
|
|
-OT/NT etc. If that module doesn't have that verse...???"
|
|
|
+OT/NT etc. If that module doesn't have that verse...???
|
|
|
+Handle abbreviations from lexicon module (AbbottSmith)."
|
|
|
(interactive)
|
|
|
(let* ((xref (get-text-property (point) 'xref))
|
|
|
(verse-ref (string-split xref))
|
|
@@ -658,17 +687,18 @@ OT/NT etc. If that module doesn't have that verse...???"
|
|
|
chapter-verse
|
|
|
chapter
|
|
|
verse)
|
|
|
+
|
|
|
(if (= (length verse-ref) 3) ; II Cor 3:17 or the like
|
|
|
- (progn
|
|
|
- (setq book-abbrev (concat (car verse-ref) " " (cadr verse-ref)))
|
|
|
- (setq chapter-verse (split-string (caddr verse-ref) ":")))
|
|
|
- (progn ; Mat 5 or the like
|
|
|
- (setq book-abbrev (car verse-ref))
|
|
|
- (setq chapter-verse (split-string (cadr verse-ref) ":"))))
|
|
|
-
|
|
|
- (setq book (car verse-ref))
|
|
|
+ (setq book-abbrev (concat (car verse-ref) (cadr verse-ref))
|
|
|
+ chapter-verse (split-string (caddr verse-ref) ":"))
|
|
|
+ ;; Mat 5 or the like
|
|
|
+ (setq book-abbrev (car verse-ref)
|
|
|
+ chapter-verse (split-string (cadr verse-ref) ":")))
|
|
|
+
|
|
|
+ (setq book (cdr (assoc book-abbrev bible-mode-book-name-abbreviations-alist)))
|
|
|
+ (unless book (setq book (car verse-ref))) ; Didn't find abbreviation
|
|
|
(setq chapter (car chapter-verse)
|
|
|
- verse (cadr chapter-verse))
|
|
|
+ verse (cadr chapter-verse))
|
|
|
(bible-open (string-trim book) (string-to-number chapter) (string-to-number verse))))
|
|
|
|
|
|
;;;###autoload
|
|
@@ -880,21 +910,19 @@ lexical definition is set for a particular lexicon."
|
|
|
(bible-mode--lookup-greek-def key))
|
|
|
greek-hash)))
|
|
|
|
|
|
-(defun bible-mode--lookup-strongs-greek (window object pos)
|
|
|
+(defun bible-mode--lookup-strongs-greek (_window object pos)
|
|
|
"Look up Greek lexical entry of OBJECT clicked on in WINDOW at POS.
|
|
|
If not found in hash table, get it from sword database. stash in hash
|
|
|
-table, and return string.
|
|
|
-Note: compiler warns about unused `WINDOW' argument."
|
|
|
+table, and return string."
|
|
|
(let ((query (get-text-property pos 'strong object))) ; Get Strong's number from text property
|
|
|
(when (string-match "[0-9]+" query)
|
|
|
(bible-mode--lookup-lex-greek (match-string 0 query)))))
|
|
|
|
|
|
|
|
|
-(defun bible-mode--lookup-strongs-greek-short (window object pos)
|
|
|
+(defun bible-mode--lookup-strongs-greek-short (_window object pos)
|
|
|
"Look up shorter Greek lexical entry of OBJECT clicked on in WINDOW at POS.
|
|
|
If not found in hash table, get it from sword database, stash in hash table,
|
|
|
-and return string.
|
|
|
-Note: compiler warns about unused `window' argument."
|
|
|
+and return string."
|
|
|
(let ((query (get-text-property pos 'strong object))) ; Get Strong's number from text property
|
|
|
(when (string-match "[0-9]+" query)
|
|
|
(let ((lookup-key (match-string 0 query)))
|
|
@@ -903,11 +931,10 @@ Note: compiler warns about unused `window' argument."
|
|
|
(puthash lookup-key raw-text greek-hash-short)))))))
|
|
|
|
|
|
|
|
|
-(defun bible-mode--lookup-strongs-hebrew (window object pos)
|
|
|
+(defun bible-mode--lookup-strongs-hebrew (_window object pos)
|
|
|
"Look up Hebrew lexical string for object at point.
|
|
|
If not found in hash table, get it from sword database,
|
|
|
-stash in hash table, and return string.
|
|
|
-Note: compiler warns about unused `window' argument."
|
|
|
+stash in hash table, and return string."
|
|
|
(let ((query (get-text-property pos 'strong object)))
|
|
|
(when (string-match "[0-9]+" query)
|
|
|
(let ((lookup-key (concat "H" (match-string 0 query))))
|
|
@@ -915,7 +942,7 @@ Note: compiler warns about unused `window' argument."
|
|
|
(let ((raw-text (bible-mode--lex-query lookup-key bible-mode-hebrew-lexicon)))
|
|
|
(puthash lookup-key raw-text hebrew-hash)))))))
|
|
|
|
|
|
-(defun bible-mode--lookup-strongs-hebrew-short (window object pos)
|
|
|
+(defun bible-mode--lookup-strongs-hebrew-short (_window object pos)
|
|
|
"Look up Hebrew lexical string from short Hebrew lexicon for object
|
|
|
at point. If not found in hash table, get it from sword database,
|
|
|
stash in hash table, and return string.
|