Index: taxonews.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/taxonews/Attic/taxonews.install,v
retrieving revision 1.1.2.2
diff -u -r1.1.2.2 taxonews.install
--- taxonews.install	18 Aug 2007 19:36:50 -0000	1.1.2.2
+++ taxonews.install	13 Oct 2007 08:49:24 -0000
@@ -16,16 +16,17 @@
 /**
  * Implement hook_uninstall
  *
+ * By convention, all persistent variables in a module main class are named
+ * VAR_something, so we can find them all safely using reflection.
  */
 function taxonews_uninstall()
   {
-  variable_del(Taxonews::VAR_EMPTY_MESSAGES);
-  variable_del(Taxonews::VAR_FEED);
-  variable_del(Taxonews::VAR_LIFETIME);
-  variable_del(Taxonews::VAR_MAX_ROWS);
-  variable_del(Taxonews::VAR_SHOW_ARCHIVE);
-  variable_del(Taxonews::VAR_SHOW_EMPTY);
-  variable_del(Taxonews::VAR_SHOW_NAME);
-  variable_del(Taxonews::VAR_VOCABULARY);
-  variable_del(Taxonews::VAR_PONDERATED);
+  $class = new ReflectionClass('Taxonews');
+  foreach($class->getConstants() as $varConstantName => $varVariableName)
+    {
+    if (strpos($varConstantName, 'VAR_') === 0)
+      {
+      variable_del($varVariableName);
+      }
+    }
   }
