From f23c120ec572fe7c44757d8ec8d8a7c53463dc32 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Tue, 24 Apr 2012 23:30:46 +0200 Subject: emacs.d/lisp: added self-compile-mode self written script for byte-compiling lisp files on save --- emacs.d/lisp/self-compile-mode.el | 61 +++++++++++++++++++++++++++++++++++++ emacs.d/lisp/self-compile-mode.elc | Bin 0 -> 2030 bytes 2 files changed, 61 insertions(+) create mode 100644 emacs.d/lisp/self-compile-mode.el create mode 100644 emacs.d/lisp/self-compile-mode.elc (limited to 'emacs.d') diff --git a/emacs.d/lisp/self-compile-mode.el b/emacs.d/lisp/self-compile-mode.el new file mode 100644 index 0000000..637f3f1 --- /dev/null +++ b/emacs.d/lisp/self-compile-mode.el @@ -0,0 +1,61 @@ +;;; 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 + diff --git a/emacs.d/lisp/self-compile-mode.elc b/emacs.d/lisp/self-compile-mode.elc new file mode 100644 index 0000000..5f3be8d Binary files /dev/null and b/emacs.d/lisp/self-compile-mode.elc differ -- cgit v1.2.3