Index: lemon/arg_parser.h
===================================================================
--- lemon/arg_parser.h	(revision 108)
+++ lemon/arg_parser.h	(revision 204)
@@ -119,11 +119,17 @@
   public:
 
-    ///\e
+    ///Constructor
     ArgParser(int argc, const char **argv);
 
     ~ArgParser();
 
+    ///\name Options
+    ///
+
+    ///@{
+
     ///Add a new integer type option
 
+    ///Add a new integer type option.
     ///\param name The name of the option. The leading '-' must be omitted.
     ///\param help A help string.
@@ -136,4 +142,5 @@
     ///Add a new floating point type option
 
+    ///Add a new floating point type option.
     ///\param name The name of the option. The leading '-' must be omitted.
     ///\param help A help string.
@@ -146,4 +153,5 @@
     ///Add a new bool type option
 
+    ///Add a new bool type option.
     ///\param name The name of the option. The leading '-' must be omitted.
     ///\param help A help string.
@@ -157,4 +165,5 @@
     ///Add a new string type option
 
+    ///Add a new string type option.
     ///\param name The name of the option. The leading '-' must be omitted.
     ///\param help A help string.
@@ -165,5 +174,15 @@
 		      std::string value="", bool obl=false);
 
-    ///\name Options with external storage
+    ///Give help string for non-parsed arguments.
+
+    ///With this function you can give help string for non-parsed arguments.
+    ///The parameter \c name will be printed in the short usage line, while
+    ///\c help gives a more detailed description.
+    ArgParser &other(const std::string &name,
+		     const std::string &help="");
+    
+    ///@}
+
+    ///\name Options with External Storage
     ///Using this functions, the value of the option will be directly written
     ///into a variable once the option appears in the command line.
@@ -173,4 +192,5 @@
     ///Add a new integer type option with a storage reference
 
+    ///Add a new integer type option with a storage reference.
     ///\param name The name of the option. The leading '-' must be omitted.
     ///\param help A help string.
@@ -183,4 +203,5 @@
     ///Add a new floating type option with a storage reference
 
+    ///Add a new floating type option with a storage reference.
     ///\param name The name of the option. The leading '-' must be omitted.
     ///\param help A help string.
@@ -193,4 +214,5 @@
     ///Add a new bool type option with a storage reference
 
+    ///Add a new bool type option with a storage reference.
     ///\param name The name of the option. The leading '-' must be omitted.
     ///\param help A help string.
@@ -204,4 +226,5 @@
     ///Add a new string type option with a storage reference
 
+    ///Add a new string type option with a storage reference.
     ///\param name The name of the option. The leading '-' must be omitted.
     ///\param help A help string.
@@ -219,5 +242,5 @@
     ///@{
 
-    ///Boundle some options into a group
+    ///Bundle some options into a group
 
     /// You can group some option by calling this function repeatedly for each
@@ -231,5 +254,5 @@
 
     ///If you call this function for a group, than at most one of them can be
-    ///given at the same time
+    ///given at the same time.
     ArgParser &onlyOneGroup(const std::string &group);
   
@@ -248,21 +271,4 @@
     
     ///@}
-
-    ///Give help string for non-parsed arguments.
-
-    ///With this function you can give help string for non-parsed arguments.
-    ///The parameter \c name will be printed in the short usage line, while
-    ///\c help gives a more detailed description.
-    ArgParser &other(const std::string &name,
-		     const std::string &help="");
-    
-    ///Give back the non-option type arguments.
-
-    ///Give back a reference to a vector consisting of the program arguments
-    ///not starting with a '-' character.
-    std::vector<std::string> &files() { return _file_args; }
-
-    ///Give back the command name (the 0th argument)
-    const std::string &commandName() { return _command_name; }
 
     void show(std::ostream &os,Opts::iterator i);
@@ -287,4 +293,7 @@
     }
     
+    ///Give back the command name (the 0th argument)
+    const std::string &commandName() { return _command_name; }
+
     ///Check if an opion has been given to the command.
     bool given(std::string op) 
@@ -361,9 +370,13 @@
       return RefType(*this, n);
     }    
+
+    ///Give back the non-option type arguments.
+
+    ///Give back a reference to a vector consisting of the program arguments
+    ///not starting with a '-' character.
+    std::vector<std::string> &files() { return _file_args; }
  
   };
 }
 
-    
-
-#endif // LEMON_MAIN_PARAMS
+#endif // LEMON_ARG_PARSER
Index: lemon/concepts/heap.h
===================================================================
--- lemon/concepts/heap.h	(revision 203)
+++ lemon/concepts/heap.h	(revision 113)
@@ -182,8 +182,10 @@
 	  Item item;
 	  Prio prio;
+	  State state;
 	  item=Item();
 	  prio=Prio();
 	  ignore_unused_variable_warning(item);
 	  ignore_unused_variable_warning(prio);
+	  ignore_unused_variable_warning(state);
 
 	  OwnItem own_item;
@@ -202,7 +204,5 @@
 	  
 	  int s = heap.size();
-	  ignore_unused_variable_warning(s);
 	  bool e = heap.empty();
-	  ignore_unused_variable_warning(e);
 
 	  prio = heap.prio();
@@ -228,7 +228,12 @@
 	  heap.clear();
 
-	  own_state = heap.state(own_item);
+	  state = heap.state(item);
+	  heap.state(item, state);
+	  state = heap.state(own_item);
 	  heap.state(own_item, own_state);
 
+	  state = _Heap::PRE_HEAP;
+	  state = _Heap::IN_HEAP;
+	  state = _Heap::POST_HEAP;
 	  own_state = _Heap::PRE_HEAP;
 	  own_state = _Heap::IN_HEAP;
