]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't load in esh-util if it's already loaded. Also, added a comment
authorJohn Wiegley <johnw@newartisans.com>
Tue, 19 Jun 2001 20:25:18 +0000 (20:25 +0000)
committerJohn Wiegley <johnw@newartisans.com>
Tue, 19 Jun 2001 20:25:18 +0000 (20:25 +0000)
describing how to greatly speedup Eshell loadup time, by concatenating
together all of Eshell's .elc files.

lisp/eshell/eshell.el

index 8e30d5de48dbc4163239263d43810dc1703a918e..f21af4569739ec0b0a453b3cf27570feff8ef84b 100644 (file)
@@ -210,11 +210,63 @@ the tasks accomplished by such tools."
 ;; @ 4nt
 ;; @ csh
 
+;;;_* Speeding up load time
+;;
+;; If you find that Eshell loads too slowly, there is something you
+;; can do to speed it up.
+;;
+;; Create a file, named /tmp/elc, containing this filelist:
+;;
+;;   esh-util.elc
+;;   eshell.elc
+;;   esh-module.elc
+;;   esh-var.elc
+;;   esh-proc.elc
+;;   esh-arg.elc
+;;   esh-io.elc
+;;   esh-ext.elc
+;;   esh-cmd.elc
+;;   esh-mode.elc
+;;   esh-opt.elc
+;;   em-alias.elc
+;;   em-banner.elc
+;;   em-basic.elc
+;;   em-cmpl.elc
+;;   em-dirs.elc
+;;   em-pred.elc
+;;   em-glob.elc
+;;   em-hist.elc
+;;   em-ls.elc
+;;   em-prompt.elc
+;;   em-rebind.elc
+;;   em-script.elc
+;;   em-smart.elc
+;;   em-term.elc
+;;   em-unix.elc
+;;   em-xtra.elc
+;;
+;; The order is very important.  Remove from the filelist any features
+;; you don't use.  These all begin with "em-".  If you don't use
+;; Eshell's key rebinding module, you can remove "em-rebind.elc" from
+;; the filelist.  The modules you are currently using are listed in
+;; `eshell-modules-list'.
+;;
+;; Now, concatenating all of the above mentioned .elc files, in that
+;; order, to another file.  Here is how to do this on UNIX:
+;;
+;;   cat `cat /tmp/elc` > tmp.elc ; mv tmp.elc eshell.elc
+;;
+;; Now your eshell.elc file contains all of the .elc files that make
+;; up Eshell, in the right load order.  When you next load Eshell, it
+;; will only have to read in this one file, which will greatly speed
+;; things up.
+
 ;;;_* User Options
 ;;
 ;; The following user options modify the behavior of Eshell overall.
 
-(load "esh-util" nil t)
+(unless (featurep 'esh-util)
+  (load "esh-util" nil t))
 
 (defsubst eshell-add-to-window-buffer-names ()
   "Add `eshell-buffer-name' to `same-window-buffer-names'."