Minha abordagem para esse problema seria religar C-x C-s para astropanic-save-buffer
, que seria uma função elisp que executaria o conteúdo do buffer atual por meio de qualquer processo de compilação / compilação. Se ele passasse, ele executaria save-buffer
e, se houvesse um erro, criaria uma nova divisão de buffer / janela com a mensagem de erro para que você pudesse corrigi-lo.
Considere também usar o write-file-functions
( mais informações ) gancho para anexar o fluxo de trabalho a save-buffer
, mas desconfio disso com base no fato de que, embora eu possa pensar que eu gostaria disso em alguns modos, não o faria em todos os modos.