Index: media.php
===================================================================
--- media.php	(revision 18444)
+++ media.php	(working copy)
@@ -850,12 +850,27 @@
 
 	$i = 0;
 	foreach ( $attachments as $id => $attachment ) {
-		$link = isset($attr['link']) && 'file' == $attr['link'] ? wp_get_attachment_link($id, $size, false, false) : wp_get_attachment_link($id, $size, true, false);
+		/*
+		 * Output image link. By default, image links to
+		 * attachment page. If link="file" is passed to
+		 * the shortcode, the image links directly to 
+		 * the file.
+		 */ 
+		$image_link = isset( $attr['link'] ) && 'file' == $attr['link'] ? wp_get_attachment_link( $id, $size, false, false ) : wp_get_attachment_link( $id, $size, true, false );
+		/*
+		 * Output flat image. By default, image links to
+		 * attachment page. If link="none" is passed to
+		 * the shortcode, a flat (unlinked) image is
+		 * output.
+		 */
+		$flat_image = ( isset( $attr['link'] ) && 'none' == $attr['link'] ? wp_get_attachment_image( $id, $size, false ) : false );
+		// Determine whether to output a linked or flat image
+		$image_output = ( $flat_image ? $flat_image : $image_link );
 
 		$output .= "<{$itemtag} class='gallery-item'>";
 		$output .= "
 			<{$icontag} class='gallery-icon'>
-				$link
+				$image_output
 			</{$icontag}>";
 		if ( $captiontag && trim($attachment->post_excerpt) ) {
 			$output .= "
