* 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
+2013-11-26 Glenn Morris <rgm@gnu.org>
+
+ Preload leim-list.el.
+ * Makefile.in (abs_builddir): New, set by configure.
+ (buildlisppath): Add leim/.
+ (epaths-force-w32): Set BLD.
+
2013-11-21 Paul Eggert <eggert@cs.ucla.edu>
Fix some dependency problems that cause unnecessary recompiles.
# We use $(srcdir) explicitly in dependencies so as not to depend on VPATH.
srcdir=@srcdir@
abs_srcdir=@abs_srcdir@
+abs_builddir=@abs_builddir@
# MinGW CPPFLAGS may use this.
abs_top_srcdir=@abs_top_srcdir@
# The default is ${locallisppath}:${standardlisppath}.
lisppath=@lisppath@
-# Where Emacs will search for its lisp files while
-# building. This is only used during the process of
-# compiling Emacs, to help Emacs find its lisp files
-# before they've been installed in their final location.
+# Where Emacs will search for its lisp files while building.
+# This is only used during the process of compiling Emacs,
+# to help Emacs find its lisp files before they've been installed
+# in their final location.
# This should be a colon-separated list of directories.
-# Normally it points to the lisp/ directory in the sources.
-buildlisppath=${abs_srcdir}/lisp
+# Normally it points to the lisp/ directory in the sources and
+# the leim/ directory in the build tree.
+# NB lread.c relies on lisp/ being first here.
+# TODO generate leim in srcdir also, prebuild in tarfiles.
+buildlisppath=${abs_srcdir}/lisp:${abs_builddir}/leim
# Where to install the other architecture-independent
# data files distributed with Emacs (like the tutorial,
# '/foo/bar').
epaths-force-w32: FRC
@(w32srcdir=`${srcdir}/build-aux/msys-to-w32 "${srcdir}"`; \
+ w32blddir=`${srcdir}/build-aux/msys-to-w32 .`; \
w32prefix=`${srcdir}/build-aux/msys-to-w32 "${prefix}" N`; \
w32prefixpattern=`echo "${w32prefix}" | ${msys_sed_sh_escape}` ; \
w32locallisppath=`${srcdir}/build-aux/msys-to-w32 "${locallisppath}" N ":" "\\;" | ${msys_w32prefix_subst}` ; \
-e 's;\(#.*PATH_SITELOADSEARCH\).*$$;\1 "'"$${w32locallisppath}"'";' \
-e '/^.*#/s/@VER@/${version}/g' \
-e '/^.*#/s/@CFG@/${configuration}/g' \
+ -e '/^.*#/s|@BLD@|$${w32blddir}|g' \
-e "/^.*#/s|@SRC@|$${w32srcdir}|g") && \
${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h
+2013-11-26 Glenn Morris <rgm@gnu.org>
+
+ Preload leim-list.el. (Bug#4789)
+ * loadup.el: Load leim-list.el when found.
+ * startup.el (normal-top-level): Skip re-loading leim/leim-list.el.
+
2013-11-25 Bozhidar Batsov <bozhidar@batsov.com>
* emacs-lisp/bytecomp.el (byte-compile-form): Fix a typo.
;;; loadup.el --- load up standardly loaded Lisp files for Emacs
-;; Copyright (C) 1985-1986, 1992, 1994, 2001-2013 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985-1986, 1992, 1994, 2001-2013
+;; Free Software Foundation, Inc.
;; Maintainer: FSF
;; Keywords: internal
(load "env")
(load "format")
(load "bindings")
+;; This sets temporary-file-directory, used by eg
+;; auto-save-file-name-transforms in files.el.
(load "cus-start")
(load "window") ; Needed here for `replace-buffer-in-windows'.
(setq load-source-file-function 'load-with-code-conversion)
(load "vc/ediff-hook")
(if (not (eq system-type 'ms-dos)) (load "tooltip"))
-;If you want additional libraries to be preloaded and their
-;doc strings kept in the DOC file rather than in core,
-;you may load them with a "site-load.el" file.
-;But you must also cause them to be scanned when the DOC file
-;is generated.
-;For other systems, you must edit ../src/Makefile.in.
+;; This file doesn't exist when building a development version of Emacs
+;; from the repository. It is generated just after temacs is built.
+(load "leim-list.el" t)
+
+;; If you want additional libraries to be preloaded and their
+;; doc strings kept in the DOC file rather than in core,
+;; you may load them with a "site-load.el" file.
+;; But you must also cause them to be scanned when the DOC file
+;; is generated.
+;; For other systems, you must edit ../src/Makefile.in.
(load "site-load" t)
;; Make sure default-directory is unibyte when dumping. This is
;; available input methods.
(let ((tail load-path)
(lispdir (expand-file-name "../lisp" data-directory))
- ;; For out-of-tree builds, leim-list is generated in the build dir.
-;;; (leimdir (expand-file-name "../leim" doc-directory))
+ ;; For out-of-tree builds, leim-list is generated in the build dir.
+ (leimdir (expand-file-name "../leim" doc-directory))
dir)
(while tail
(setq dir (car tail))
(let ((default-directory dir))
(load (expand-file-name "subdirs.el") t t t))
- ;; Do not scan standard directories that won't contain a leim-list.el.
- ;; http://lists.gnu.org/archive/html/emacs-devel/2009-10/msg00502.html
- (or (string-match (concat "\\`" lispdir) dir)
- (let ((default-directory dir))
- (load (expand-file-name "leim-list.el") t t t)))
+ ;; Do not scan standard directories that won't contain a leim-list.el.
+ ;; http://lists.gnu.org/archive/html/emacs-devel/2009-10/msg00502.html
+ ;; Also skip leim/leim-list.el, since we preloaded that one.
+ (or (string-prefix-p lispdir dir)
+ ;; Not supposed to be subdirs.el in leim, but someone
+ ;; might have added one and be keeping their own leim-list
+ ;; files in subdirs of leim.
+ (string-equal leimdir dir)
+ (let ((default-directory dir))
+ (load (expand-file-name "leim-list.el") t t t)))
;; We don't use a dolist loop and we put this "setq-cdr" command at
;; the end, because the subdirs.el files may add elements to the end
;; of load-path and we want to take it into account.
+2013-11-26 Glenn Morris <rgm@gnu.org>
+
+ * epaths.nt (PATH_DUMPLOADSEARCH): Add leim/.
+
2013-11-12 Dani Moncayo <dmoncayo@gmail.com>
* msysconfig.sh: Remove.
the host system (e.g., i686-pc-mingw32), and @SRC@ by the root of
the Emacs source tree used to build Emacs. */
/*
-Copyright (C) 1993, 1995, 1997, 1999, 2001-2013 Free Software
-Foundation, Inc.
+Copyright (C) 1993, 1995, 1997, 1999, 2001-2013 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#define PATH_SITELOADSEARCH "%emacs_dir%/share/emacs/@VER@/site-lisp;%emacs_dir%/share/emacs/site-lisp"
/* Like PATH_LOADSEARCH, but used only during the build process
- when Emacs is dumping. Configure (using "make epaths-force") sets
- this to $buildlisppath, which normally has the value: <srcdir>/lisp.
+ when Emacs is dumping. Configure (using "make epaths-force-w32") sets
+ this to $buildlisppath, which normally has the value:
+ <srcdir>/lisp;<builddir>/leim.
*/
-#define PATH_DUMPLOADSEARCH "@SRC@/lisp"
+#define PATH_DUMPLOADSEARCH "@SRC@/lisp;@BLD@/leim"
/* The extra search path for programs to invoke. This is appended to
whatever the PATH environment variable says to set the Lisp
+2013-11-26 Glenn Morris <rgm@gnu.org>
+
+ Preload leim-list.el.
+ * epaths.in (PATH_DUMPLOADSEARCH): Add leim/.
+ * callproc.c (init_callproc): Don't assume PATH_DUMPLOADSEARCH
+ is a single directory.
+
2013-11-25 Paul Eggert <eggert@cs.ucla.edu>
bool-vector-subsetp is now the normal direction (Bug#15912).
if (data_dir == 0)
{
Lisp_Object tem, tem1, srcdir;
+ Lisp_Object lispdir = Fcar (decode_env_path (0, PATH_DUMPLOADSEARCH, 0));
+
+ srcdir = Fexpand_file_name (build_string ("../src/"), lispdir);
- srcdir = Fexpand_file_name (build_string ("../src/"),
- build_unibyte_string (PATH_DUMPLOADSEARCH));
tem = Fexpand_file_name (build_string ("GNU"), Vdata_directory);
tem1 = Ffile_exists_p (tem);
if (!NILP (Fequal (srcdir, Vinvocation_directory)) || NILP (tem1))
{
Lisp_Object newdir;
- newdir = Fexpand_file_name (build_string ("../etc/"),
- build_unibyte_string (PATH_DUMPLOADSEARCH));
+ newdir = Fexpand_file_name (build_string ("../etc/"), lispdir);
tem = Fexpand_file_name (build_string ("GNU"), newdir);
tem1 = Ffile_exists_p (tem);
if (!NILP (tem1))
/* Hey Emacs, this is -*- C -*- code! */
/*
-Copyright (C) 1993, 1995, 1997, 1999, 2001-2013 Free Software
-Foundation, Inc.
+Copyright (C) 1993, 1995, 1997, 1999, 2001-2013 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Like PATH_LOADSEARCH, but used only during the build process
when Emacs is dumping. Configure (using "make epaths-force") sets
- this to $buildlisppath, which normally has the value: <srcdir>/lisp.
+ this to $buildlisppath, which normally has the value:
+ <srcdir>/lisp:<builddir>/leim.
*/
-#define PATH_DUMPLOADSEARCH "../lisp"
+#define PATH_DUMPLOADSEARCH "../lisp:../leim"
/* The extra search path for programs to invoke. This is appended to
whatever the PATH environment variable says to set the Lisp