aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/loadup.el22
-rw-r--r--lisp/startup.el19
3 files changed, 32 insertions, 15 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 6f5519e8803..fd41ed84d64 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
12013-11-26 Glenn Morris <rgm@gnu.org>
2
3 Preload leim-list.el. (Bug#4789)
4 * loadup.el: Load leim-list.el when found.
5 * startup.el (normal-top-level): Skip re-loading leim/leim-list.el.
6
12013-11-25 Bozhidar Batsov <bozhidar@batsov.com> 72013-11-25 Bozhidar Batsov <bozhidar@batsov.com>
2 8
3 * emacs-lisp/bytecomp.el (byte-compile-form): Fix a typo. 9 * emacs-lisp/bytecomp.el (byte-compile-form): Fix a typo.
diff --git a/lisp/loadup.el b/lisp/loadup.el
index 98e3b877144..fe4fe1fe571 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -1,7 +1,7 @@
1;;; loadup.el --- load up standardly loaded Lisp files for Emacs 1;;; loadup.el --- load up standardly loaded Lisp files for Emacs
2 2
3;; Copyright (C) 1985-1986, 1992, 1994, 2001-2013 Free Software 3;; Copyright (C) 1985-1986, 1992, 1994, 2001-2013
4;; Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Maintainer: FSF 6;; Maintainer: FSF
7;; Keywords: internal 7;; Keywords: internal
@@ -98,6 +98,8 @@
98(load "env") 98(load "env")
99(load "format") 99(load "format")
100(load "bindings") 100(load "bindings")
101;; This sets temporary-file-directory, used by eg
102;; auto-save-file-name-transforms in files.el.
101(load "cus-start") 103(load "cus-start")
102(load "window") ; Needed here for `replace-buffer-in-windows'. 104(load "window") ; Needed here for `replace-buffer-in-windows'.
103(setq load-source-file-function 'load-with-code-conversion) 105(setq load-source-file-function 'load-with-code-conversion)
@@ -278,12 +280,16 @@
278(load "vc/ediff-hook") 280(load "vc/ediff-hook")
279(if (not (eq system-type 'ms-dos)) (load "tooltip")) 281(if (not (eq system-type 'ms-dos)) (load "tooltip"))
280 282
281;If you want additional libraries to be preloaded and their 283;; This file doesn't exist when building a development version of Emacs
282;doc strings kept in the DOC file rather than in core, 284;; from the repository. It is generated just after temacs is built.
283;you may load them with a "site-load.el" file. 285(load "leim-list.el" t)
284;But you must also cause them to be scanned when the DOC file 286
285;is generated. 287;; If you want additional libraries to be preloaded and their
286;For other systems, you must edit ../src/Makefile.in. 288;; doc strings kept in the DOC file rather than in core,
289;; you may load them with a "site-load.el" file.
290;; But you must also cause them to be scanned when the DOC file
291;; is generated.
292;; For other systems, you must edit ../src/Makefile.in.
287(load "site-load" t) 293(load "site-load" t)
288 294
289;; Make sure default-directory is unibyte when dumping. This is 295;; Make sure default-directory is unibyte when dumping. This is
diff --git a/lisp/startup.el b/lisp/startup.el
index 88ec1f359eb..0b1c55b36a0 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -499,18 +499,23 @@ It is the default value of the variable `top-level'."
499 ;; available input methods. 499 ;; available input methods.
500 (let ((tail load-path) 500 (let ((tail load-path)
501 (lispdir (expand-file-name "../lisp" data-directory)) 501 (lispdir (expand-file-name "../lisp" data-directory))
502 ;; For out-of-tree builds, leim-list is generated in the build dir. 502 ;; For out-of-tree builds, leim-list is generated in the build dir.
503;;; (leimdir (expand-file-name "../leim" doc-directory)) 503 (leimdir (expand-file-name "../leim" doc-directory))
504 dir) 504 dir)
505 (while tail 505 (while tail
506 (setq dir (car tail)) 506 (setq dir (car tail))
507 (let ((default-directory dir)) 507 (let ((default-directory dir))
508 (load (expand-file-name "subdirs.el") t t t)) 508 (load (expand-file-name "subdirs.el") t t t))
509 ;; Do not scan standard directories that won't contain a leim-list.el. 509 ;; Do not scan standard directories that won't contain a leim-list.el.
510 ;; http://lists.gnu.org/archive/html/emacs-devel/2009-10/msg00502.html 510 ;; http://lists.gnu.org/archive/html/emacs-devel/2009-10/msg00502.html
511 (or (string-match (concat "\\`" lispdir) dir) 511 ;; Also skip leim/leim-list.el, since we preloaded that one.
512 (let ((default-directory dir)) 512 (or (string-prefix-p lispdir dir)
513 (load (expand-file-name "leim-list.el") t t t))) 513 ;; Not supposed to be subdirs.el in leim, but someone
514 ;; might have added one and be keeping their own leim-list
515 ;; files in subdirs of leim.
516 (string-equal leimdir dir)
517 (let ((default-directory dir))
518 (load (expand-file-name "leim-list.el") t t t)))
514 ;; We don't use a dolist loop and we put this "setq-cdr" command at 519 ;; We don't use a dolist loop and we put this "setq-cdr" command at
515 ;; the end, because the subdirs.el files may add elements to the end 520 ;; the end, because the subdirs.el files may add elements to the end
516 ;; of load-path and we want to take it into account. 521 ;; of load-path and we want to take it into account.