Don't explode if we can't read this.
Deal with new workspace URLs.
Merge commit '95366d9ba5a37e124f2cfbfa2ba3e55bad1097fa' into abstraction
More progress
Send whole patch result to apply_patch, not just offsets, lengths, and text