;;; self-compile-mode.el --- A simple minor mode for byte compiling files. ;; Copyright (C) 2012 Alexander Sulfrian ;; Author: Alexander Sulfrian ;; Created: 2012-03-14 ;; Keywords: minor-mode compile lisp ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ;;; Commentary: ;; Simply activate this minor mode and the file in the buffer should ;; get byte-compiled after you safe it. ;; ;; Tip: Enable this mode wiht local file variables in the header or ;; footer of an elisp file, to byte compile it every time. You could ;; try for example the following code in the header of the file: ;; ;; -*- self-compile-mode: t -*- ;;; Code: (provide 'self-compile-mode) (defun autocompile nil "compile itself if ~/.emacs" (interactive) (require 'bytecomp) (if self-compile-mode (byte-compile-file (buffer-file-name)))) (define-minor-mode self-compile-mode "Toggle Self Compile mode. With no argument, this command toggles the mode. Non-null prefix argument turns on the mode. Null prefix argument turns off the mode. When Self Compile mode is enabled, the file gets byte compiled after saving." :init-value nil :lighter " Compile") (add-hook 'after-save-hook 'autocompile) ;; Local variables: ;; self-compile-mode: t ;; end: ;;; self-compile-mode.el ends here