`encode' instead of `decode'. Use save-window-excursion around
shell-command-on-region as in format-decode-run-method because
shell-command-on-region can display a buffer with error output.
(format-decode): Don't record undo information for the decoding.
(format-annotate-function): Add parameter FORMAT-COUNT. Make
that number part of the temporary buffer name so that more than
one decoding using a temporary buffer can happen safely.
(format-encode-run-method): Have things happen in the right
buffer. Deal with errors from method. Set
coding-system-for-write.
(format-decode-run-method): Have things happen in the right
buffer. Deal with errors from method. Set
coding-system-for-read.
(format-alist): Use nil instead of unmatchable regexps.
(format-property-increment-region): New function.
(format-deannotate-region): When multiple annotations
go into a single text property, split the outer annotations (with
format-subtract-regions) instead of resetting them; use lists of
regions instead of a single number for the text property start.
(format-deannotate-region): Don't change extents of
enclosing annotations of the same kind.
(format-deannotate-region): Use
property-increment-region to add to numeric properties.