From dea9949d4ba0d6d641a84597e14e1867659c8a97 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Tue, 22 Sep 2015 22:43:20 +0200 Subject: Directly include the preparation chapter --- emacs/.emacs.d/init.org | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) (limited to 'emacs/.emacs.d/init.org') diff --git a/emacs/.emacs.d/init.org b/emacs/.emacs.d/init.org index 5b56d39..f8b213d 100644 --- a/emacs/.emacs.d/init.org +++ b/emacs/.emacs.d/init.org @@ -22,7 +22,7 @@ org-mode file, but here are the make targets I use to tangle and subsequently byte-compile my init file: - #+BEGIN_SRC makefile + #+BEGIN_SRC makefile :tangle no %.elc: %.el emacs -Q -batch -eval "(byte-compile-file \"$<\")" @@ -79,7 +79,48 @@ * Preparation -#+INCLUDE: "org/preparation.org" :minlevel 2 + Some things have to be done to make sure that everything works as it + should. This includes enabling lexical binding, loading Cask and + keeping some comments. + +** Use lexical binding + + For some of my functions, and general coolness, lexical binding is + a must. Without it, closures cannot be made for example. + + #+BEGIN_SRC emacs-lisp :padline no + ;; -*- lexical-binding: t -*- + #+END_SRC + + This line needs to appear at the beginning of the file to work. + Just to keep things looking nice I put it at the beginning of the + file. + +** Keep package.el from changing my init + + Some time ago my init file was changed by Emacs. It added a single + line of code and some explanatory comments. Apparently I need to + keep this comment in my initialization file so that Emacs doesn't + try to add the code again. I actually use [[http://cask.readthedocs.org/en/latest/][Cask]] to manage and load + my packages so I don't need this. + + #+BEGIN_SRC emacs-lisp + ;; (package-initialize) + #+END_SRC + +** Load Cask + + I use Cask to manage my installed packages and for that to work I + need to load Cask at the start of the initialization file. This + should be executed both when byte-compiling and loading at run-time + so that other bits and pieces can byte-compile without warnings or + errors. + + #+BEGIN_SRC emacs-lisp + (eval-and-compile + (require 'cask "~/projects/ext/cask/cask.el") + (cask-initialize)) + #+END_SRC * Some general-purpose functions and macros -- cgit v1.2.3-54-g00ecf