Index: trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java	(revision 8780)
+++ trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java	(revision 8781)
@@ -362,4 +362,9 @@
                 return ret;
         }
+
+        @Override
+        public String toString() {
+            return key + "?";
+        }
     }
 
@@ -625,4 +630,9 @@
             }
             return compareMode < 0 ? compareResult < 0 : compareMode > 0 ? compareResult > 0 : compareResult == 0;
+        }
+
+        @Override
+        public String toString() {
+            return key + (compareMode == -1 ? "<" : compareMode == +1 ? ">" : "") + referenceValue;
         }
     }
@@ -1348,4 +1358,9 @@
                     ? null : new Bounds(Main.main.getCurrentDataSet().getDataSourceArea().getBounds2D());
         }
+
+        @Override
+        public String toString() {
+            return all ? "allindownloadedarea" : "indownloadedarea";
+        }
     }
 
@@ -1365,4 +1380,9 @@
             }
             return Main.map.mapView.getRealBounds();
+        }
+
+        @Override
+        public String toString() {
+            return all ? "allinview" : "inview";
         }
     }
@@ -1400,5 +1420,6 @@
             throw new ParseError(tr("Unexpected token: {0}", tokenizer.nextToken()));
         if (m == null)
-            return new Always();
+            m = new Always();
+        Main.debug("Parsed search expression is {0}", m);
         return m;
     }
