diff --git a/build.xml b/build.xml
index fd5c368..49ed85a 100644
--- a/build.xml
+++ b/build.xml
@@ -175,6 +175,7 @@
+
+
@@ -1105,9 +1107,45 @@
+
+
+
+
+
+
+
+ ${compilation.time}
+
+
+
+
+
+
diff --git a/source/org/thdl/tib/input/Jskad.java b/source/org/thdl/tib/input/Jskad.java
index c54eb5d..4b75bd2 100644
--- a/source/org/thdl/tib/input/Jskad.java
+++ b/source/org/thdl/tib/input/Jskad.java
@@ -36,6 +36,7 @@ import java.util.Vector;
import org.thdl.tib.text.*;
import org.thdl.util.ThdlDebug;
import org.thdl.util.ThdlOptions;
+import org.thdl.util.ThdlVersion;
import org.thdl.util.StatusBar;
import org.thdl.util.ThdlActionListener;
import org.thdl.util.RTFPane;
@@ -310,13 +311,17 @@ public class Jskad extends JPanel implements DocumentListener {
"Copyright 2001-2002 Tibetan and Himalayan Digital Library\n"+
"Programmed by Edward Garrett\n\n"+
"This software is protected by the terms of the\n"+
- "THDL Open Community License, Version 1.0.\n"+
+ "THDL Open Community License, Version 1.0.\n"+ /* FIXME HARD-CODED VERSION NUMBER */
"It uses Tibetan Computer Company (http://www.tibet.dk/tcc/)\n"+
"fonts created by Tony Duff and made available by the\n"+
"Trace Foundation (http://trace.org/).\n\n"+
"For more information, or to download the source code\n"+
"for Jskad, see our web site:\n"+
- " http://www.thdl.org/",
+ " http://www.thdl.org/\n" +
+ "\n" +
+ "When submitting bug reports, please indicate that the\n" +
+ "time of compilation is "
+ + ThdlVersion.getTimeOfCompilation() + "\n",
"About Jskad 1.0", /* FIXME HARD-CODED VERSION NUMBER */
JOptionPane.PLAIN_MESSAGE);
}
@@ -481,6 +486,8 @@ public class Jskad extends JPanel implements DocumentListener {
JOptionPane pane = new JOptionPane(preferencesPanel);
JDialog dialog = pane.createDialog(this, "Preferences");
+
+ // This returns only when the user has closed the dialog:
dialog.show();
int size;
@@ -561,10 +568,13 @@ public class Jskad extends JPanel implements DocumentListener {
newFrame.setVisible(true);
}
catch (FileNotFoundException fnfe) {
+ ThdlDebug.noteIffyCode();
}
catch (IOException ioe) {
+ ThdlDebug.noteIffyCode();
}
catch (BadLocationException ble) {
+ ThdlDebug.noteIffyCode();
}
}
else {
@@ -598,10 +608,13 @@ public class Jskad extends JPanel implements DocumentListener {
}
}
catch (FileNotFoundException fnfe) {
+ ThdlDebug.noteIffyCode();
}
catch (IOException ioe) {
+ ThdlDebug.noteIffyCode();
}
catch (BadLocationException ble) {
+ ThdlDebug.noteIffyCode();
}
}
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
@@ -792,10 +805,12 @@ public class Jskad extends JPanel implements DocumentListener {
t_doc.writeRTFOutputStream(new FileOutputStream(new File(rtf_fileName)));
}
catch (IOException ioe) {
+ ThdlDebug.noteIffyCode();
System.out.println("problem reading or writing file");
}
}
catch (FileNotFoundException fnfe) {
+ ThdlDebug.noteIffyCode();
System.out.println("problem reading file");
}
}
@@ -965,6 +980,7 @@ public class Jskad extends JPanel implements DocumentListener {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch (Exception e) {
+ ThdlDebug.noteIffyCode();
}
JFrame f = new JFrame("Jskad");
@@ -976,8 +992,10 @@ public class Jskad extends JPanel implements DocumentListener {
f.getContentPane().add(new Jskad(f));
f.setVisible(true);
} catch (ThdlLazyException e) {
+ // FIXME: tell the users how to submit bug reports.
System.err.println("Jskad has a BUG:");
e.getRealException().printStackTrace(System.err);
+ System.exit(1);
}
}
}
diff --git a/source/org/thdl/util/.cvsignore b/source/org/thdl/util/.cvsignore
index b25c15b..d3ce09a 100644
--- a/source/org/thdl/util/.cvsignore
+++ b/source/org/thdl/util/.cvsignore
@@ -1 +1,4 @@
*~
+.#*
+ThdlVersion.java
+