[bt-devel] Judges: Judg or Jud? and the handling of invalid references

Jonathan Marsden jmarsden at fastmail.fm
Fri Mar 27 21:34:07 MST 2009

I think I've found an interesting bug... or maybe more than one?

In ISBE, references to verses in Judges use the abbreviation "Jud" for
the book name.  See the first reference in the output of

  diatheke -b ISBE -k abuse

for an example, or open the ISBE in BT and look up the entry for abuse.

BibleTime apparently treats this abbreviation as being an abbreviation
for Jude, and so clicking on these links (or hovering over them and
looking at the mag window) is... an unexpected adventure :)

Often references are to a chapter and verse of Judges that have no
corresponding chapter and verse in Jude (Jude being so short)... so you
(somehow!) get linked to Revelation instead.


(a) References to books of the Bible should use some standard form for
the names of books.  MHC uses Judg for Judges, which works fine in BT.
ISBE uses Jud for Judges, which does not work correctly in BT.  Where is
the standard defined, and which one is correct (I'd guess ISBE is
correct) according to that standard?

(b) References to "Jud X:Y" should *never* link into Revelation.  Either
Jud is an invalid book abbrevation, in which case BT should probably say
that in the mag window, or else it is a valid book abbreviation for
either Judges (so link there) or Jude (so link there, if the chapter and
verse exist, and display a warning if they don't).  But linking into
Revelation in these circumstances is just plain wrong... surely?

(c) I'd expect that a quick fix would be to change all the references
that start with "Jud " in the ISBE into "Judg " and then compile the
resulting text back into a module again.  That's theoretically a simple
one liner:

  mod2imp ISBE |sed -e 's/>Jud />Judg /g' |imp2ld ISBE ISBE

On my system that takes up 100% of one CPU core... for a long time...!
I'm not sure if I did something wrong in the command above, am just too
impatient to wait for it to run, or if imp2ld is buggy on my system in
some way?

Overall, this whole thing feels so odd that I'm not opening a bug yet.
Can someone confirm that my reasoning above is basically correct, and
offer an opinion on whether this is just a buggy module (ISBE) or a BT
bug or even a SWORD library bug, or some combination thereof?


More information about the bt-devel mailing list