Add "eval-and-compile" post
This commit is contained in:
parent
f5a9267835
commit
ceb6fdaf4c
1 changed files with 38 additions and 0 deletions
38
blog/blog-2012-07-27-2119.org
Normal file
38
blog/blog-2012-07-27-2119.org
Normal file
|
@ -0,0 +1,38 @@
|
|||
#+TITLE: eval-and-compile
|
||||
|
||||
I'm reading up a little on byte-compilation in [[emacs][GNU Emacs]] and I read
|
||||
about just exactly a feature that I needed.
|
||||
|
||||
A while ago, I was working on my
|
||||
init[fn:init:[[http://ryuslash.org/dotfiles/emacs/init.html]]] file,
|
||||
adding some ~auto-complete~ code since I wanted to try it again. I
|
||||
noticed that, because ~auto-complete~ is installed through ~package~, it
|
||||
couldn't load the appropriate files at compile time.
|
||||
|
||||
I know that =package-initialize= should be called before calling or
|
||||
using any ~package~-installed functions and I have it in my
|
||||
init[fn:init] file, but this doesn't help at compile time. So, ugly
|
||||
as I thought it was, I added
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(eval-when-compile (package-initialize))
|
||||
#+end_src
|
||||
|
||||
just above the call to the ~auto-complete~ functions. I hated having to
|
||||
do that, I know it's just one line, but its not at all DRY[fn::Don't
|
||||
Repeat Yourself].
|
||||
|
||||
Just now, though, I read about =eval-and-compile=, and according to the
|
||||
documentation in the elisp reference manual, it should do exactly what
|
||||
I want, eval both when running and when compiling.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(eval-and-compile (package-initialize))
|
||||
#+end_src
|
||||
|
||||
I'm currently trying it out, I just tested it once and it seems to
|
||||
work like a charm.
|
||||
|
||||
/Of course/, this might never have been an issue if I didn't use ~emacs
|
||||
-Q~ to compile my init[fn:init] file, just to speed up loading during
|
||||
compilation a little bit.
|
Loading…
Reference in a new issue