What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 130 Stack Exchange communities.

See my answer to a question on programmers.stackexchange.com. I used the markup to link to a website. Is there a reason why this isn't working? The text is not hyperlinked properly.

share|improve this question

3 Answers 3

up vote 1 down vote accepted

The problem has to do with the carets in the URLs. I removed the carets and the text became a link immediately. It's a bug alright, +1.

EDIT:
Turns out this is not a bug in the strictest sense of the term; see what Jeff and Nick have to say.

Your source:

Have you considered using [LoadRunner][1]? When I worked on Government projects,  
we used [LoadRunner][2] to baseline builds and determine their performance.  
It works really well.


  [1]: http://[snip].jsp?zn=bto&cp=1-11-126-17^8_4000_100
  [2]: https://[snip].jsp?zn=bto&cp=1-11-126-17^8_4000_100

Deleting the carets produces this (which doesn't link to the right places, obviously):

Have you considered using LoadRunner? When I worked on Government projects, we used LoadRunner to baseline builds and determine their performance. It works really well.

share|improve this answer
    
I have to disagree that it's a bug, this it's not a URL, and not linkified as a result. –  Nick Craver Nov 3 '10 at 23:54
    
@Nick: I agree its not a bug. Everything seems to be operating properly but @Popular's solution was the answer - though if you look at Jeff's answer the unsafe URL elements can be encoded to allow carets in the URL so it is more a feature request. One which I don't expect to happen. –  staticx Nov 3 '10 at 23:56

http://drupal.org/node/353579

The caret ("^") is NOT a valid URL character and must be percent encoded if you follow the recommendations of the IETF. This is one of the "unsafe" characters defined in RFC1738 (which was updated by RFC3986).

RFC1738: 2.2 URL Character Encoding Issues ... Unsafe:

Characters can be unsafe for a number of reasons. The space character is unsafe because significant spaces may disappear and insignificant spaces may be introduced when URLs are transcribed or typeset or subjected to the treatment of word-processing programs. The characters "<" and ">" are unsafe because they are used as the delimiters around URLs in free text; the quote mark (""") is used to delimit URLs in some systems. The character "#" is unsafe and should always be encoded because it is used in World Wide Web and in other systems to delimit a URL from a fragment/anchor identifier that might follow it. The character "%" is unsafe because it is used for encodings of other characters. Other characters are unsafe because gateways and other transport agents are known to sometimes modify such characters. These characters are "{", "}", "|", "\", "^", "~", "[", "]", and "`".

All unsafe characters must always be encoded within a URL. ...

RFC3986 updated RFC1738 to allow the tilde character ("~") to be used, (and the "#" character is the reserved delimiter for the fragment portion of the URI), but the "^" char is still a no-no to use unencoded if you wish to adhere to the IETF recommendations. That said, yes, some people do not follow the recommended procedures and use the caret, unencoded (in the query portion of the URI), but this is still a mangling of the standard and certainly should not be encouraged IMHO.

Caret ^ is not a valid URL character.

share|improve this answer
    
Are there plans to % encode it as the quoted source recommends? –  staticx Nov 3 '10 at 23:51
1  
@Changeling - Making the URL regex account for invalid characters as well (that's a long list) would lead to some very nasty regex, and some real potential to lock up the process doing it...I would hope this won't be done. –  Nick Craver Nov 3 '10 at 23:55
    
@Nick: I have no knowledge of that so I will take your word for it. I would imagine it would not be that bad but what do I know! –  staticx Nov 3 '10 at 23:57
    
Wow. I remember thinking "caret, that's rare" when I first saw this question, but I had no idea there was a rule about them. Plus one, sir. –  Pops Nov 4 '10 at 0:18

As of recently, when entering a link via the button (or Ctrl-L), these "evil" characters will automatically be escaped.

share|improve this answer
    
so would that make it status-accepted? –  staticx Mar 11 '11 at 15:04
    
@Changeling: Assuming you mean status-completed -- I guess I leave that up to you. The markup you created will continue not to work, but (assuming you use the link button), correct markup will be created. So say if you want [status-completed] (because of the escaping functioanlity) or [status-declined] (because the original markdown still doesn't work) -- your choice :) –  balpha Mar 11 '11 at 15:14
    
@balpha: I just re-edited the question adding in the links and it didn't escape it. It accepted the URL with the caret so I am not sure what to think other than status-completed I guess :) –  staticx Mar 11 '11 at 16:17
    
@Changeling: Um what? I don't understand. Looks escaped to me. –  balpha Mar 11 '11 at 16:33
    
@balpha: Ah I see it now. Firefox does not show it escaped in the status bar, but when you go look at the source it is escaped. –  staticx Mar 11 '11 at 17:19
    
@Changeling: Now you've got me even more confused. I have absolutely no idea what you're telling me. Did the "enter link" box escape your caret or is it broken and you did it by hand? –  balpha Mar 11 '11 at 17:20
1  
@balpha: I went to edit the link and re-copied/pasted the link over the existing (caret and all..). It now shows up as a link whereas before it didn't. As far as the FireFox comment, if a link has escape characters in it, FireFox will show the link when you hover over it unescaped so %5E shows up as caret, even though in the HTML Source it is %5E. Follow me? –  staticx Mar 11 '11 at 19:08
    
@Changeling: Ah, gotcha. So everything worked as expected. status-completed coming up then :) –  balpha Mar 11 '11 at 19:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .