When I first found out about TCP URG, I thought it sounded like a great mechanism for lots of latency-sensitive problems over TCP, like cancellation of requests after timeouts and such, without dropping down to UDP. I was excited about it and asked someone who worked at a company that write their own TCP/IP stacks (in an interview, even), and was pretty sad to hear the same conclusion the author comes up with here: URG is useless in practice. (Although if you know the behavior of both systems on either end, you could use it!)
Sounds to me that it’s telling once how many of the next octets are urgent from that point, it doesn’t contain the urgent data as the author implies. The correction RFC seem to confirm that.