record: catch PatchErrors from internalpatch and display error message
This resulted in big ugly tracebacks in
issue1282, for example.
record: take diff lines for lack of trailing newlines into account (
issue1282)
The record extension incorrectly re-calculated the size lines for unified
diff hunks. It counted a '\\ No newline at end of file\n' line towards the
number of lines of trailing context, while it's not actually part of the
context (and certainly isn't added as a line to the resulting output).
Use the local name of a variable that was access through the nonlocal scope
while we're at it. Seeing the variable was a little bewildering.