summaryrefslogtreecommitdiffstats
path: root/emacs.d
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2012-04-24 23:30:46 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2012-04-24 23:57:10 +0200
commitf23c120ec572fe7c44757d8ec8d8a7c53463dc32 (patch)
tree3632561ca18add3500b63ec9672874837e9c340d /emacs.d
parentef3ed40bb9662aab91c663e3432a7e42c5f03d5d (diff)
downloaddotfiles-f23c120ec572fe7c44757d8ec8d8a7c53463dc32.tar.gz
dotfiles-f23c120ec572fe7c44757d8ec8d8a7c53463dc32.tar.xz
dotfiles-f23c120ec572fe7c44757d8ec8d8a7c53463dc32.zip
emacs.d/lisp: added self-compile-mode
self written script for byte-compiling lisp files on save
Diffstat (limited to 'emacs.d')
-rw-r--r--emacs.d/lisp/self-compile-mode.el61
-rw-r--r--emacs.d/lisp/self-compile-mode.elcbin0 -> 2030 bytes
2 files changed, 61 insertions, 0 deletions
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 <alexander@sulfrian.net>
+;; 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
--- /dev/null
+++ b/emacs.d/lisp/self-compile-mode.elc
Binary files differ