--- link.module	2009-03-13 10:48:16.000000000 -0700
+++ link.module	2009-03-13 10:48:16.000000000 -0700
@@ -672,8 +672,8 @@ function link_validate_url($text) {
   // Pattern specific to internal links.
   $internal_pattern = "/^([a-z0-9_\-+\[\]]+)";
 
-  $directories = "(\/[a-z0-9_\-\.~+%=&,$'():;*@\[\]]*)*";
-   // Yes, four backslashes == a single backslash.
+  $directories = "(\/[a-z0-9_\-\.~+%=&,$'!():;*@\[\]]*)*";
+  // Yes, four backslashes == a single backslash.
   $query = "(\/?\?([?a-z0-9+_|\-\.\/\\\\%=&,$'():;*@\[\]]*))";
   $anchor = "(#[a-z0-9_\-\.~+%=&,$'():;*@\[\]]*)";
 