Я хочу, чтобы эта функция компилировала содержимое текущего буфера (файл C) и показывала вывод (a.out), если компиляция прошла успешно
(defun c-shell-compile ()
(interactive)
(save-buffer)
(if (equal (shell-command (concat "gcc " (buffer-file-name)))
"(Shell command succeeded with no output)")
(shell-command "./a.out")
;;Else show the errors
))
(add-hook 'c-mode-hook
(lambda () (local-set-key (kbd "\C-c\C-c") 'c-shell-compile)))
Но, похоже, он не работает, если компиляция завершается успешно, он просто говорит "(команда оболочки завершилась без вывода)", не показывая вывод.
Ответы или указания очень ценятся.