Index: trunk/data/defaultpresets.xml
===================================================================
--- trunk/data/defaultpresets.xml	(revision 8707)
+++ trunk/data/defaultpresets.xml	(revision 8725)
@@ -1277,4 +1277,10 @@
             <key key="highway" value="traffic_mirror" />
         </item> <!-- Traffic Mirror -->
+        <item name="Highway milestone" icon="styles/standard/vehicle/milestone.svg" type="node" preset_name_label="true">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:highway=milestone" />
+            <key key="highway" value="milestone" />
+            <text key="distance" text="Distance (kilometers)" />
+            <text key="ref" text="Reference" />
+        </item> <!-- Highway Milestone -->
         <item name="Named Junction" name_context="junction=yes" type="node,closedway" preset_name_label="true">
             <link href="http://wiki.openstreetmap.org/wiki/Tag:junction=yes"
@@ -2353,4 +2359,10 @@
             <text key="ref" text="Reference" />
         </item> <!-- Railway Switch -->
+        <item name="Railway milestone" icon="styles/standard/vehicle/milestone.svg" type="node" preset_name_label="true">
+            <link href="http://wiki.openstreetmap.org/wiki/Tag:railway=milestone" />
+            <key key="railway" value="milestone" />
+            <text key="distance" text="Distance (kilometers)" />
+            <text key="ref" text="Reference" />
+        </item> <!-- Railway Milestone -->
     </group> <!-- Railway -->
     <group name="Aerialway" icon="presets/aerialway.png">
Index: trunk/data/validator/deprecated.mapcss
===================================================================
--- trunk/data/validator/deprecated.mapcss	(revision 8707)
+++ trunk/data/validator/deprecated.mapcss	(revision 8725)
@@ -513,2 +513,18 @@
   suggestAlternative: "...";
 }
+
+/* see #8717 */
+*[kp][highway=milestone],
+*[kp][railway=milestone],
+*[kp][waterway=milestone] {
+  throwWarning: tr("{0} is deprecated", "{0.key}");
+  suggestAlternative: "distance";
+  fixChangeKey: "kp => distance";
+}
+*[pk][highway=milestone],
+*[pk][railway=milestone],
+*[pk][waterway=milestone] {
+  throwWarning: tr("{0} is deprecated", "{0.key}");
+  suggestAlternative: "distance";
+  fixChangeKey: "pk => distance";
+}
Index: trunk/data/validator/numeric.mapcss
===================================================================
--- trunk/data/validator/numeric.mapcss	(revision 8707)
+++ trunk/data/validator/numeric.mapcss	(revision 8725)
@@ -82,5 +82,5 @@
 }
 *[maxweight][maxweight !~ /^(([0-9]+\.?[0-9]*( (t|kg|lbs))?)|([0-9]+\'[0-9]+\.?[0-9]*\"))$/] {
-  throwWarning: tr("{0}: meters is default; period is separator; if units, put space then unit", "maxweight");
+  throwWarning: tr("{0}: tonne is default; period is separator; if units, put space then unit", "maxweight");
   assertMatch: "way maxweight=something";
   assertMatch: "way maxweight=-5";
@@ -106,4 +106,13 @@
   assertNoMatch: "way maxspeed=none";
   assertNoMatch: "way maxspeed=variable";
+}
+
+*[distance][distance !~ /^(([0-9]+\.?[0-9]*( (km|mi|nmi))?)|([0-9]+\'[0-9]+\.?[0-9]*\"))$/] {
+  throwWarning: tr("{0}: kilometers is default; period is separator; if units, put space then unit", "distance");
+  assertMatch: "way distance=something";
+  assertMatch: "way distance=-5";
+  assertNoMatch: "way distance=2";
+  assertNoMatch: "way distance=2.5";
+  assertNoMatch: "way distance=7 mi";
 }
 
