aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2013-11-25 20:06:23 -0500
committerGlenn Morris2013-11-25 20:06:23 -0500
commit624780f09dd117edbe8b2b71be44622fc7002f91 (patch)
tree268725fa70a8295b1c621646a7ad82eea11176f1
parent3f73284a46437b46bbd79f2594c3bcefde83a2e8 (diff)
downloademacs-624780f09dd117edbe8b2b71be44622fc7002f91.tar.gz
emacs-624780f09dd117edbe8b2b71be44622fc7002f91.zip
Preload leim-list.el
* Makefile.in (abs_builddir): New, set by configure. (buildlisppath): Add leim/. (epaths-force-w32): Set BLD. * lisp/loadup.el: Load leim-list.el when found. * lisp/startup.el (normal-top-level): Skip re-loading leim/leim-list.el. * nt/epaths.nt (PATH_DUMPLOADSEARCH): Add leim/. * src/callproc.c (init_callproc): Don't assume PATH_DUMPLOADSEARCH is a single directory. * src/epaths.in (PATH_DUMPLOADSEARCH): Add leim/. Fixes: debbugs:4789
-rw-r--r--ChangeLog7
-rw-r--r--Makefile.in18
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/loadup.el22
-rw-r--r--lisp/startup.el19
-rw-r--r--nt/ChangeLog4
-rw-r--r--nt/epaths.nt10
-rw-r--r--src/ChangeLog7
-rw-r--r--src/callproc.c8
-rw-r--r--src/epaths.in8
10 files changed, 75 insertions, 34 deletions
diff --git a/ChangeLog b/ChangeLog
index 0c9dedf1b42..9285cc1b376 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
12013-11-26 Glenn Morris <rgm@gnu.org>
2
3 Preload leim-list.el.
4 * Makefile.in (abs_builddir): New, set by configure.
5 (buildlisppath): Add leim/.
6 (epaths-force-w32): Set BLD.
7
12013-11-21 Paul Eggert <eggert@cs.ucla.edu> 82013-11-21 Paul Eggert <eggert@cs.ucla.edu>
2 9
3 Fix some dependency problems that cause unnecessary recompiles. 10 Fix some dependency problems that cause unnecessary recompiles.
diff --git a/Makefile.in b/Makefile.in
index 1848c41a1e3..969a22419a0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -164,6 +164,7 @@ bitmapdir=@bitmapdir@
164# We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. 164# We use $(srcdir) explicitly in dependencies so as not to depend on VPATH.
165srcdir=@srcdir@ 165srcdir=@srcdir@
166abs_srcdir=@abs_srcdir@ 166abs_srcdir=@abs_srcdir@
167abs_builddir=@abs_builddir@
167# MinGW CPPFLAGS may use this. 168# MinGW CPPFLAGS may use this.
168abs_top_srcdir=@abs_top_srcdir@ 169abs_top_srcdir=@abs_top_srcdir@
169 170
@@ -213,13 +214,16 @@ locallisppath=@locallisppath@
213# The default is ${locallisppath}:${standardlisppath}. 214# The default is ${locallisppath}:${standardlisppath}.
214lisppath=@lisppath@ 215lisppath=@lisppath@
215 216
216# Where Emacs will search for its lisp files while 217# Where Emacs will search for its lisp files while building.
217# building. This is only used during the process of 218# This is only used during the process of compiling Emacs,
218# compiling Emacs, to help Emacs find its lisp files 219# to help Emacs find its lisp files before they've been installed
219# before they've been installed in their final location. 220# in their final location.
220# This should be a colon-separated list of directories. 221# This should be a colon-separated list of directories.
221# Normally it points to the lisp/ directory in the sources. 222# Normally it points to the lisp/ directory in the sources and
222buildlisppath=${abs_srcdir}/lisp 223# the leim/ directory in the build tree.
224# NB lread.c relies on lisp/ being first here.
225# TODO generate leim in srcdir also, prebuild in tarfiles.
226buildlisppath=${abs_srcdir}/lisp:${abs_builddir}/leim
223 227
224# Where to install the other architecture-independent 228# Where to install the other architecture-independent
225# data files distributed with Emacs (like the tutorial, 229# data files distributed with Emacs (like the tutorial,
@@ -337,6 +341,7 @@ msys_sed_sh_escape=sed -e 's/[];$$*.^[]/\\\\&/g'
337# '/foo/bar'). 341# '/foo/bar').
338epaths-force-w32: FRC 342epaths-force-w32: FRC
339 @(w32srcdir=`${srcdir}/build-aux/msys-to-w32 "${srcdir}"`; \ 343 @(w32srcdir=`${srcdir}/build-aux/msys-to-w32 "${srcdir}"`; \
344 w32blddir=`${srcdir}/build-aux/msys-to-w32 .`; \
340 w32prefix=`${srcdir}/build-aux/msys-to-w32 "${prefix}" N`; \ 345 w32prefix=`${srcdir}/build-aux/msys-to-w32 "${prefix}" N`; \
341 w32prefixpattern=`echo "${w32prefix}" | ${msys_sed_sh_escape}` ; \ 346 w32prefixpattern=`echo "${w32prefix}" | ${msys_sed_sh_escape}` ; \
342 w32locallisppath=`${srcdir}/build-aux/msys-to-w32 "${locallisppath}" N ":" "\\;" | ${msys_w32prefix_subst}` ; \ 347 w32locallisppath=`${srcdir}/build-aux/msys-to-w32 "${locallisppath}" N ":" "\\;" | ${msys_w32prefix_subst}` ; \
@@ -344,6 +349,7 @@ epaths-force-w32: FRC
344 -e 's;\(#.*PATH_SITELOADSEARCH\).*$$;\1 "'"$${w32locallisppath}"'";' \ 349 -e 's;\(#.*PATH_SITELOADSEARCH\).*$$;\1 "'"$${w32locallisppath}"'";' \
345 -e '/^.*#/s/@VER@/${version}/g' \ 350 -e '/^.*#/s/@VER@/${version}/g' \
346 -e '/^.*#/s/@CFG@/${configuration}/g' \ 351 -e '/^.*#/s/@CFG@/${configuration}/g' \
352 -e '/^.*#/s|@BLD@|$${w32blddir}|g' \
347 -e "/^.*#/s|@SRC@|$${w32srcdir}|g") && \ 353 -e "/^.*#/s|@SRC@|$${w32srcdir}|g") && \
348 ${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h 354 ${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h
349 355
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.
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 1b766f0f349..61a84995bc6 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,7 @@
12013-11-26 Glenn Morris <rgm@gnu.org>
2
3 * epaths.nt (PATH_DUMPLOADSEARCH): Add leim/.
4
12013-11-12 Dani Moncayo <dmoncayo@gmail.com> 52013-11-12 Dani Moncayo <dmoncayo@gmail.com>
2 6
3 * msysconfig.sh: Remove. 7 * msysconfig.sh: Remove.
diff --git a/nt/epaths.nt b/nt/epaths.nt
index 6e297476528..553d80c2e5e 100644
--- a/nt/epaths.nt
+++ b/nt/epaths.nt
@@ -12,8 +12,7 @@
12 the host system (e.g., i686-pc-mingw32), and @SRC@ by the root of 12 the host system (e.g., i686-pc-mingw32), and @SRC@ by the root of
13 the Emacs source tree used to build Emacs. */ 13 the Emacs source tree used to build Emacs. */
14/* 14/*
15Copyright (C) 1993, 1995, 1997, 1999, 2001-2013 Free Software 15Copyright (C) 1993, 1995, 1997, 1999, 2001-2013 Free Software Foundation, Inc.
16Foundation, Inc.
17 16
18This file is part of GNU Emacs. 17This file is part of GNU Emacs.
19 18
@@ -51,10 +50,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
51#define PATH_SITELOADSEARCH "%emacs_dir%/share/emacs/@VER@/site-lisp;%emacs_dir%/share/emacs/site-lisp" 50#define PATH_SITELOADSEARCH "%emacs_dir%/share/emacs/@VER@/site-lisp;%emacs_dir%/share/emacs/site-lisp"
52 51
53/* Like PATH_LOADSEARCH, but used only during the build process 52/* Like PATH_LOADSEARCH, but used only during the build process
54 when Emacs is dumping. Configure (using "make epaths-force") sets 53 when Emacs is dumping. Configure (using "make epaths-force-w32") sets
55 this to $buildlisppath, which normally has the value: <srcdir>/lisp. 54 this to $buildlisppath, which normally has the value:
55 <srcdir>/lisp;<builddir>/leim.
56*/ 56*/
57#define PATH_DUMPLOADSEARCH "@SRC@/lisp" 57#define PATH_DUMPLOADSEARCH "@SRC@/lisp;@BLD@/leim"
58 58
59/* The extra search path for programs to invoke. This is appended to 59/* The extra search path for programs to invoke. This is appended to
60 whatever the PATH environment variable says to set the Lisp 60 whatever the PATH environment variable says to set the Lisp
diff --git a/src/ChangeLog b/src/ChangeLog
index bf4392d519d..9a32c174d8f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
12013-11-26 Glenn Morris <rgm@gnu.org>
2
3 Preload leim-list.el.
4 * epaths.in (PATH_DUMPLOADSEARCH): Add leim/.
5 * callproc.c (init_callproc): Don't assume PATH_DUMPLOADSEARCH
6 is a single directory.
7
12013-11-25 Paul Eggert <eggert@cs.ucla.edu> 82013-11-25 Paul Eggert <eggert@cs.ucla.edu>
2 9
3 bool-vector-subsetp is now the normal direction (Bug#15912). 10 bool-vector-subsetp is now the normal direction (Bug#15912).
diff --git a/src/callproc.c b/src/callproc.c
index dfe315ab8db..b44f680b352 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -1607,16 +1607,16 @@ init_callproc (void)
1607 if (data_dir == 0) 1607 if (data_dir == 0)
1608 { 1608 {
1609 Lisp_Object tem, tem1, srcdir; 1609 Lisp_Object tem, tem1, srcdir;
1610 Lisp_Object lispdir = Fcar (decode_env_path (0, PATH_DUMPLOADSEARCH, 0));
1611
1612 srcdir = Fexpand_file_name (build_string ("../src/"), lispdir);
1610 1613
1611 srcdir = Fexpand_file_name (build_string ("../src/"),
1612 build_unibyte_string (PATH_DUMPLOADSEARCH));
1613 tem = Fexpand_file_name (build_string ("GNU"), Vdata_directory); 1614 tem = Fexpand_file_name (build_string ("GNU"), Vdata_directory);
1614 tem1 = Ffile_exists_p (tem); 1615 tem1 = Ffile_exists_p (tem);
1615 if (!NILP (Fequal (srcdir, Vinvocation_directory)) || NILP (tem1)) 1616 if (!NILP (Fequal (srcdir, Vinvocation_directory)) || NILP (tem1))
1616 { 1617 {
1617 Lisp_Object newdir; 1618 Lisp_Object newdir;
1618 newdir = Fexpand_file_name (build_string ("../etc/"), 1619 newdir = Fexpand_file_name (build_string ("../etc/"), lispdir);
1619 build_unibyte_string (PATH_DUMPLOADSEARCH));
1620 tem = Fexpand_file_name (build_string ("GNU"), newdir); 1620 tem = Fexpand_file_name (build_string ("GNU"), newdir);
1621 tem1 = Ffile_exists_p (tem); 1621 tem1 = Ffile_exists_p (tem);
1622 if (!NILP (tem1)) 1622 if (!NILP (tem1))
diff --git a/src/epaths.in b/src/epaths.in
index 1f5701e5337..02e755935c4 100644
--- a/src/epaths.in
+++ b/src/epaths.in
@@ -1,7 +1,6 @@
1/* Hey Emacs, this is -*- C -*- code! */ 1/* Hey Emacs, this is -*- C -*- code! */
2/* 2/*
3Copyright (C) 1993, 1995, 1997, 1999, 2001-2013 Free Software 3Copyright (C) 1993, 1995, 1997, 1999, 2001-2013 Free Software Foundation, Inc.
4Foundation, Inc.
5 4
6This file is part of GNU Emacs. 5This file is part of GNU Emacs.
7 6
@@ -42,9 +41,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
42 41
43/* Like PATH_LOADSEARCH, but used only during the build process 42/* Like PATH_LOADSEARCH, but used only during the build process
44 when Emacs is dumping. Configure (using "make epaths-force") sets 43 when Emacs is dumping. Configure (using "make epaths-force") sets
45 this to $buildlisppath, which normally has the value: <srcdir>/lisp. 44 this to $buildlisppath, which normally has the value:
45 <srcdir>/lisp:<builddir>/leim.
46*/ 46*/
47#define PATH_DUMPLOADSEARCH "../lisp" 47#define PATH_DUMPLOADSEARCH "../lisp:../leim"
48 48
49/* The extra search path for programs to invoke. This is appended to 49/* The extra search path for programs to invoke. This is appended to
50 whatever the PATH environment variable says to set the Lisp 50 whatever the PATH environment variable says to set the Lisp