diff --git a/emacs/.emacs.d/Makefile b/emacs/.emacs.d/Makefile index 516eb07..0b9d68c 100644 --- a/emacs/.emacs.d/Makefile +++ b/emacs/.emacs.d/Makefile @@ -11,7 +11,7 @@ all: init2.elc init.elc site-lisp/site-autoloads.el snippets @$(EMACS) $(EARGS) -eval "(byte-compile-file \"$<\")" init.el: init2.el -init2.el: init.org org/intro.org +init2.el: init.org @echo "OBT $<" @$(EMACS) $(EARGS) -l "ob-tangle" \ -eval "(org-babel-tangle-file \"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 diff --git a/emacs/.emacs.d/org/preparation.org b/emacs/.emacs.d/org/preparation.org deleted file mode 100644 index 4baffc6..0000000 --- a/emacs/.emacs.d/org/preparation.org +++ /dev/null @@ -1,43 +0,0 @@ -#+STARTUP: showall - -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