Index: gtk2_ardour/editor_ops.cc
===================================================================
--- gtk2_ardour/editor_ops.cc	(revision 4277)
+++ gtk2_ardour/editor_ops.cc	(working copy)
@@ -2002,10 +2002,22 @@
 		return;
 	}
 
-	RegionView* rv = *(rs.begin());
-	boost::shared_ptr<Region> region = rv->region();
-	
-	Location *location = new Location (region->position(), region->last_frame(), region->name(), Location::IsRangeMarker);
+	string markername;
+
+	if (rs.size() > 1) {		// more than one region selected
+		session->locations()->next_available_name(markername, "selection");
+	} else {
+		RegionView* rv = *(rs.begin());
+		boost::shared_ptr<Region> region = rv->region();
+		markername = region->name();
+	}
+		
+	if (!choose_new_marker_name(markername)) {
+		return;
+	}
+
+	// single range spanning all selected 
+	Location *location = new Location (rs.start(), rs.end_frame(), markername, Location::IsRangeMarker);
 	session->begin_reversible_command (_("add marker"));
         XMLNode &before = session->locations()->get_state();
 	session->locations()->add (location, true);
