test cache
diff --git a/Demo/sgi/flp/tcache.fd b/Demo/sgi/flp/tcache.fd
new file mode 100755
index 0000000..2ae91fa
--- /dev/null
+++ b/Demo/sgi/flp/tcache.fd
@@ -0,0 +1,51 @@
+Magic: 12321
+
+Internal Form Definition File
+    (do not change)
+
+Number of forms: 2
+
+=============== FORM ===============
+Name: first
+Width: 340.000000
+Height: 160.000000
+Number of Objects: 1
+
+--------------------
+class: 1
+type: 1
+box: 0.000000 0.000000 340.000000 160.000000
+boxtype: 1
+colors: 47 47
+alignment: 4
+style: 0
+size: 10.000000
+lcol: 0
+label: 
+name: 
+callback: 
+argument: 
+
+=============== FORM ===============
+Name: second
+Width: 150.000000
+Height: 400.000000
+Number of Objects: 1
+
+--------------------
+class: 1
+type: 1
+box: 0.000000 0.000000 150.000000 400.000000
+boxtype: 1
+colors: 47 47
+alignment: 4
+style: 0
+size: 10.000000
+lcol: 0
+label: 
+name: 
+callback: 
+argument: 
+
+==============================
+create_the_forms
diff --git a/Demo/sgi/flp/tcache.py b/Demo/sgi/flp/tcache.py
new file mode 100755
index 0000000..cf713fc
--- /dev/null
+++ b/Demo/sgi/flp/tcache.py
@@ -0,0 +1,32 @@
+# Test bug in caching of forms
+
+import sys
+import os
+import flp
+
+filename = 'tcache.fd'
+cachename = filename + 's'
+
+def first():
+	try:
+		os.unlink(cachename)
+	except os.error:
+		pass
+	first = flp.parse_form(filename, 'first')
+
+def second():
+	forms = flp.parse_forms(filename)
+	k = forms.keys()
+	if 'first' in k and 'second' in k:
+		print 'OK'
+	else:
+		print 'BAD!', k
+
+def main():
+	if sys.argv[1:]:
+		second()
+	else:
+		first()
+		print 'Now run the script again with an argument'
+
+main()