User:Dispenser/Automatic linking problems


 * Title URL limitations
 * Control character (0x00 - 0x1F) are forbidden
 * Spaces         (, 0x20) are not allowed
 * Double quote   (, 0x22) needs to be percent encoded
 * Number Signs   (, 0x23) are not allowed
 * Percent sign   (, 0x25) needs hexadecimal characters to follow, so cannot end with it
 * Angle brackets (, 0x3C 0x3E) are not allowed
 * Question mark  (, 0x3F) used as query string separator needs to be percent encoded, should have corresponding redirect
 * Square brackets (, 0x5B 0x5D) are not allowed
 * Trailing underscore (, 0x5F) are stripped
 * Braces         (, 0x7B 0x7D) are not allowed
 * Vertical bar/Pipe (, 0x7C) are not allowed
 * Non-ASCII characters (0x80 and higher) are normally percent encoded. Sometimes decode (ruwiki) for ease of use.  We will focus on non-Unicode systems.

Assuming letters, numbers, underscore, and forward slash (A-Z, a-z, 0-9, _) are safe, these are the characters we need to test:

! $ % & ' * +, - . : ; = ? @ \ ^ ` ~


 * 1) [0-9A-Za-z\-.:_] not escaped
 * [;:@$!*,/] are converted back in GlobalFunctions.php (whenever I wrote this)

! $ *, - . : ; @ ~


 * Highlight: Default URL wont end in these characters.


 * Recommendations
 * Extend append implementation from  and   to include   characters
 * Add a new test which removes the last character from greedy linking


 * Previous work
 * T13056 : Closing bracket skipped in emailed links
 * Quiddity's 2014 Thunderbird tests
 * Proposed fix for missing  by User:Dispenser
 * Added the "Did you mean" box to MediaWiki:Newarticletext
 * Template:Did you mean/box


 * Resources
 * WP:ASCII