[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] fix/bootstrap-build-minimize-squash ad07fe2 2/3: Remove co
From: |
Phillip Lord |
Subject: |
[Emacs-diffs] fix/bootstrap-build-minimize-squash ad07fe2 2/3: Remove conditional includes from bootstrap |
Date: |
Sun, 29 Jan 2017 16:37:30 +0000 (UTC) |
branch: fix/bootstrap-build-minimize-squash
commit ad07fe2ca8e3e1e8685248e9ebc144a12bae3a55
Author: Phillip Lord <address@hidden>
Commit: Phillip Lord <address@hidden>
Remove conditional includes from bootstrap
Previously, bootstrap-emacs includes optional functionality, depending
on the platform which is not needed for bootstrap function. As a
result, bootstrap-emacs contains different functions in different
circumstances. If ldefs-boot-auto.el is generated, then loaded
functions will not be added to ldefs-boot-auto.el, although they may be
required during some builds. With this change, bootstrap-emacs should
always behave the same way and, therefore, require the same autoloads.
* lisp/loadup.el: No longer load optional includes during bootstrap
dumping.
* lisp/ldefs-boot-auto.el: Regenerate.
* lisp/ldefs-boot-manual.el: Add two autoloads.
---
lisp/ldefs-boot-auto.el | 8 +++
lisp/ldefs-boot-manual.el | 6 +++
lisp/loadup.el | 122 ++++++++++++++++++++++++---------------------
3 files changed, 78 insertions(+), 58 deletions(-)
diff --git a/lisp/ldefs-boot-auto.el b/lisp/ldefs-boot-auto.el
index 020c670..6614717 100644
--- a/lisp/ldefs-boot-auto.el
+++ b/lisp/ldefs-boot-auto.el
@@ -87,7 +87,14 @@
(autoload 'help-xref-button "help-mode" nil nil nil)
(autoload 'hi-lock-face-buffer "hi-lock" nil nil nil)
(autoload 'html-mode "sgml-mode" nil nil nil)
+(autoload 'image-type "image" nil nil nil)
+(autoload 'image-type-auto-detected-p "image" nil nil nil)
(autoload 'image-type-available-p "image" nil nil nil)
+(autoload 'image-type-from-buffer "image" nil nil nil)
+(autoload 'image-type-from-data "image" nil nil nil)
+(autoload 'image-type-from-file-header "image" nil nil nil)
+(autoload 'image-type-from-file-name "image" nil nil nil)
+(autoload 'imagemagick-register-types "image" nil nil nil)
(autoload 'info "info" nil nil nil)
(autoload 'info-complete-symbol "info-look" nil nil nil)
(autoload 'info-emacs-manual "info" nil nil nil)
@@ -132,6 +139,7 @@
(autoload 'time-to-days "time-date" nil nil nil)
(autoload 'timezone-make-date-arpa-standard "timezone" nil nil nil)
(autoload 'tmm-menubar "tmm" nil nil nil)
+(autoload 'tool-bar-add-item-from-menu "tool-bar" nil nil nil)
(autoload 'truncate-string-to-width "mule-util" nil nil nil)
(autoload 'ucs-normalize-HFS-NFC-region "ucs-normalize" nil nil nil)
(autoload 'ucs-normalize-HFS-NFD-region "ucs-normalize" nil nil nil)
diff --git a/lisp/ldefs-boot-manual.el b/lisp/ldefs-boot-manual.el
index 183703d..2f6e3fd 100644
--- a/lisp/ldefs-boot-manual.el
+++ b/lisp/ldefs-boot-manual.el
@@ -10,6 +10,12 @@
;; during the byte-compile phase
(defvar electric-pair-text-pairs '((34 . 34)))
+;; These two autoloads are needed for files.el. They are only used on
+;; their respective platforms so do not get added to
+;; ldefs-boot-auto.el when it is generated on a different platform.
+(autoload 'dos-convert-standard-filename "dos-fns.el" nil nil nil)
+(autoload 'w32-convert-standard-filename "w32-fns.el" nil nil nil)
+
(load "ldefs-boot-auto.el")
diff --git a/lisp/loadup.el b/lisp/loadup.el
index ecb7284..9fe52fb 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -230,8 +230,11 @@
(load "jit-lock")
(load "mouse")
-(if (boundp 'x-toolkit-scroll-bars)
- (load "scroll-bar"))
+
+(unless (equal (member "bootstrap" command-line-args) '("bootstrap"))
+ (if (boundp 'x-toolkit-scroll-bars)
+ (load "scroll-bar")))
+
(load "select")
(load "emacs-lisp/timer")
(load "isearch")
@@ -253,61 +256,62 @@
(load "emacs-lisp/tabulated-list")
(load "buff-menu")
-(if (fboundp 'x-create-frame)
- (progn
- (load "fringe")
- ;; Needed by `imagemagick-register-types'
- (load "emacs-lisp/regexp-opt")
- (load "image")
- (load "international/fontset")
- (load "dnd")
- (load "tool-bar")))
-
-(if (featurep 'dynamic-setting)
- (load "dynamic-setting"))
-
-(if (featurep 'x)
- (progn
- (load "x-dnd")
- (load "term/common-win")
- (load "term/x-win")))
-
-(if (or (eq system-type 'windows-nt)
- (featurep 'w32))
- (progn
- (load "term/common-win")
- (load "w32-vars")
- (load "term/w32-win")
- (load "disp-table")
- (when (eq system-type 'windows-nt)
- (load "w32-fns")
+(unless (equal (member "bootstrap" command-line-args) '("bootstrap"))
+ (if (fboundp 'x-create-frame)
+ (progn
+ (load "fringe")
+ ;; Needed by `imagemagick-register-types'
+ (load "emacs-lisp/regexp-opt")
+ (load "image")
+ (load "international/fontset")
+ (load "dnd")
+ (load "tool-bar")))
+
+ (if (featurep 'dynamic-setting)
+ (load "dynamic-setting"))
+
+ (if (featurep 'x)
+ (progn
+ (load "x-dnd")
+ (load "term/common-win")
+ (load "term/x-win")))
+
+ (if (or (eq system-type 'windows-nt)
+ (featurep 'w32))
+ (progn
+ (load "term/common-win")
+ (load "w32-vars")
+ (load "term/w32-win")
+ (load "disp-table")
+ (when (eq system-type 'windows-nt)
+ (load "w32-fns")
+ (load "ls-lisp")
+ (load "dos-w32"))))
+ (if (eq system-type 'ms-dos)
+ (progn
+ (load "dos-w32")
+ (load "dos-fns")
+ (load "dos-vars")
+ ;; Don't load term/common-win: it isn't appropriate for the `pc'
+ ;; ``window system'', which generally behaves like a terminal.
+ (load "term/internal")
+ (load "term/pc-win")
(load "ls-lisp")
- (load "dos-w32"))))
-(if (eq system-type 'ms-dos)
- (progn
- (load "dos-w32")
- (load "dos-fns")
- (load "dos-vars")
- ;; Don't load term/common-win: it isn't appropriate for the `pc'
- ;; ``window system'', which generally behaves like a terminal.
- (load "term/internal")
- (load "term/pc-win")
- (load "ls-lisp")
- (load "disp-table"))) ; needed to setup ibm-pc char set, see internal.el
-(if (featurep 'ns)
- (progn
- (load "term/common-win")
- ;; Don't load ucs-normalize.el unless uni-*.el files were
- ;; already produced, because it needs uni-*.el files that might
- ;; not be built early enough during bootstrap.
- (when (load-history-filename-element "charprop\\.el")
- (load "international/mule-util")
- (load "international/ucs-normalize")
- (load "term/ns-win"))))
-(if (fboundp 'x-create-frame)
- ;; Do it after loading term/foo-win.el since the value of the
- ;; mouse-wheel-*-event vars depends on those files being loaded or not.
- (load "mwheel"))
+ (load "disp-table"))) ; needed to setup ibm-pc char set, see
internal.el
+ (if (featurep 'ns)
+ (progn
+ (load "term/common-win")
+ ;; Don't load ucs-normalize.el unless uni-*.el files were
+ ;; already produced, because it needs uni-*.el files that might
+ ;; not be built early enough during bootstrap.
+ (when (load-history-filename-element "charprop\\.el")
+ (load "international/mule-util")
+ (load "international/ucs-normalize")
+ (load "term/ns-win"))))
+ (if (fboundp 'x-create-frame)
+ ;; Do it after loading term/foo-win.el since the value of the
+ ;; mouse-wheel-*-event vars depends on those files being loaded or not.
+ (load "mwheel")))
;; Preload some constants and floating point functions.
(load "emacs-lisp/float-sup")
@@ -317,8 +321,10 @@
(load "electric")
(load "emacs-lisp/eldoc")
(load "cus-start") ;Late to reduce customize-rogue (needs loaddefs.el anyway)
-(if (not (eq system-type 'ms-dos))
- (load "tooltip"))
+
+(unless (equal (member "bootstrap" command-line-args) '("bootstrap"))
+ (if (not (eq system-type 'ms-dos))
+ (load "tooltip")))
;; This file doesn't exist when building a development version of Emacs
;; from the repository. It is generated just after temacs is built.