Subject: Is there a way to quit loading of ~/.emacs please?

From: "Yiyi Hu" <[email-masked]>
Date: Tue, 9 Sep 2008 14:50:15 +0800

Hi, all. For now, I got a problem on how to do this.

Here is the sample ~/.emacs

(defun byte-compile-file-if-newer (src)
  (let ((result (concat src ".elc")))
    (when (file-newer-than-file-p src result)
      (byte-compile-file src)
      (load-file result))))

(byte-compile-file-if-newer "~/.emacs")

(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(auto-compression-mode t)
 '(column-number-mode t)
 '(cperl-indent-level 4)
 '(delete-selection-mode t)
 '(display-battery-mode t)
 '(display-time-24hr-format t)
 '(display-time-day-and-date t)
 '(display-time-mode t)
 '(encoded-kbd-mode t)
 '(gnus-nntp-server "news.readfreenews.net")
 '(indent-tabs-mode nil)
 '(inferior-lisp-program "sbcl")
 '(inhibit-eol-conversion t)
 '(inhibit-startup-screen t)
 '(initial-scratch-message nil)
 '(menu-bar-mode nil)
 '(mouse-avoidance-mode (quote exile) nil (avoid)))

Is there a way to quit the loading after we compile the ~/.emacs and
load the ~/.emacs.elc file?

Ok, please don't bother talking about It's worthy or not for compiling
~/.emacs, I am talking a feature which *should* be supported by elisp
IMHO.

Yes, we can have a big condition around the rest of the ~/.emacs, But
that's not good practise. And If I do this, It will also confuse
things in M-x customize-group.

It's a bit like 'if' statements in emacs, 'if' is enough, but 'when'
and 'cond' statements is still there for supporting programming more
practically.

Also, I've ever done considering split ~/.emacs. To me, It's not a
good journey. There will be other problem when manage multiple start
up file.

I've tried add (return) to ~/.emacs, But there will be error as It's
not in a defun.

So, other possibility to quit the load of lib? Or enhance elisp by
adding a new 'keyword' or 'statement' to do this kind of job.

I also tried with (signal 'error nil) and (keyboard-quit), This worked
when you invoke emacs without any args. But when there is no
~/.emacs.elc file, and you invoke emacs with args, The passing args
won't be process by emacs.

I am using the newest emacs-cvs BTW.

Thanks.