Please forgive the tab-indentation in that patch. I prepared it with a clean Emacs config, which I expected would use spaces, and the indentation appeared correct in the buffer. I used whitespace-cleanup to replace the tabs with spaces and updated the patch.