help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: config problems and bisecting an org-mode configuration file


From: Emanuel Berg
Subject: Re: config problems and bisecting an org-mode configuration file
Date: Wed, 07 Jun 2017 02:22:52 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux)

Sharon Kimble wrote:

> Every change to my config.org and the file is
> auto-compiled so that when I restart emacs
> I don't have to wait for config.el to be
> generated. Sometimes its a bit tiresome
> waiting for it to be generated but overall it
> works very well.

auto-compile, what exactly is that? Is is
compilation whenever you save?

It sounds a bit overkill since compilation is
mostly an optimization thing (and a way to get
suggestions how to improve the code), and
because changes to the code are most often
small, it would seem to be enough to have the
big body compiled after the change but put into
effect only upon restart, and what has changed
and needs to be changed for the session just
re-evaluated to immediate gain (e.g., the defun
that has been modified).

Use `C-x C-e' which is `eval-last-sexp' or, if
you feel the need to re-evaluate the entire
file

    (defun load-this-file ()
      (interactive)
      (load-file (buffer-file-name)) )

You can also do

    M-x load-file RET RET

to load the current file.

That said, even auto-compile on save should not
take a lot of time! Some of my Elisp files are
moderately long (the longest is 376 lines), and
when I do byte-compile in the zhell after
changing this and only this file, it takes only
2.581 seconds!

Because most of my other files are much shorter,
byte-compile is virtually instantaneous.

Even if we make room for a small overhead when
it is done with auto-compile, it should be
*fast*. So again, keep your code in different
files not exceeding say 100 lines, and it
should be fast enough. (There are exceptions of
course when the file includes tons of
documentation or if the code is of a "list"
nature, e.g. an all but endless list of keys or
faces or ...)

Try this in your config dir

   for f in *.el; do wc -l $f; done | sort -n -r

What are your top results?

-- 
underground experts united
http://user.it.uu.se/~embe8573




reply via email to

[Prev in Thread] Current Thread [Next in Thread]