Use with-current-buffer instead of save-current-buffer + set-buffer
Add an option to modify the path of clickable filenames (warnings or errors) in the compilation buffer
Stop compilation scrolling at the first error