* lisp/progmodes/compile.el: Use non-nil values for *-function

(compilation-parse-errors-filename-function,compilation-exit-message-function)
(compilation-process-setup-function, compilation-buffer-name-function):
Give them non-nil default values.
(compilation-buffer-name): Restructure slightly.
(compilation--default-buffer-name): New function, extracted from it.
Use `name-of-mode` instead of `mode-command` to check if the current
buffer is already in the appropriate mode.
1 job for master in 44 minutes and 44 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Test
failed #1208
test-all

00:44:44

 
Name Stage Failure
failed
test-all Test
Makefile:313: recipe for target 'check-doit' failed
make[2]: *** [check-doit] Error 2
make[2]: Leaving directory '/builds/emacs/emacs/test'
Makefile:288: recipe for target 'check-expensive' failed
make[1]: Leaving directory '/builds/emacs/emacs/test'
make[1]: *** [check-expensive] Error 2
Makefile:962: recipe for target 'check-expensive' failed
make: *** [check-expensive] Error 2
ERROR: Job failed: exit code 1