From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.help Subject: Re: config problems and bisecting an org-mode configuration file Date: Wed, 07 Jun 2017 02:22:52 +0200 Message-ID: References: <874lvx8bum.fsf@skimble.plus.com> <87y3t75z7t.fsf@skimble.plus.com> <87d1aiz3n3.fsf@skimble.plus.com> <87a85ls1xm.fsf@skimble.plus.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1496795016 27470 195.159.176.226 (7 Jun 2017 00:23:36 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 7 Jun 2017 00:23:36 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Jun 07 02:23:32 2017 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIOl0-0006qw-Pu for geh-help-gnu-emacs@m.gmane.org; Wed, 07 Jun 2017 02:23:30 +0200 Original-Received: from localhost ([::1]:40539 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dIOl6-0007bP-3y for geh-help-gnu-emacs@m.gmane.org; Tue, 06 Jun 2017 20:23:36 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59791) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dIOkc-0007aF-8Q for help-gnu-emacs@gnu.org; Tue, 06 Jun 2017 20:23:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dIOkY-0006Mn-W5 for help-gnu-emacs@gnu.org; Tue, 06 Jun 2017 20:23:06 -0400 Original-Received: from [195.159.176.226] (port=51748 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dIOkY-0006JC-PD for help-gnu-emacs@gnu.org; Tue, 06 Jun 2017 20:23:02 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1dIOkP-0004wn-NL for help-gnu-emacs@gnu.org; Wed, 07 Jun 2017 02:22:53 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Original-Lines: 66 Original-X-Complaints-To: usenet@blaine.gmane.org Mail-Copies-To: never Cancel-Lock: sha1:YVRKjqP4tDJ6p4FNoFr4zJPq1QY= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 195.159.176.226 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:113377 Archived-At: 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