Steve
Steve

Reputation: 8293

can I change emacs' default compile command?

Emacs defaults to the command make -k when I run compile. However, I pretty much never think it's useful to have make continue after errors, so I always remove the -k flag. Is there a way to change the default in my .emacs so that it's just make?

Upvotes: 15

Views: 6626

Answers (2)

cristobalito
cristobalito

Reputation: 4282

(setq compile-command "make") 

or similar in your .emacs should suffice.

For more info, type

C-h f compile

which describes what variables are used when M-x compile is called.

In there, you should see it calls compile-command and a

C-h v compile-command

tells you this defaults to "make -k". All above is a simplification, but all the info should be in those commands should you need to dig further.

Upvotes: 15

Stefan van der Walt
Stefan van der Walt

Reputation: 7253

Since I need different compilers for different modes, I make use of the following snippet (here shown for javascript):

(require 'compile)
(add-hook 'js-mode-hook
          (lambda ()
            (set (make-local-variable 'compile-command)
                 (format "jshint %s" (file-name-nondirectory buffer-file-name)))))

This runs "jshint " as my compile command. I can then add hooks to other languages as well, and customize each according to my needs.

Upvotes: 8

Related Questions