From 0f8343394675480f18c121520eed2203bbe1d6ec Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 18 Apr 2017 19:07:28 -0400 Subject: [PATCH] Avoid unnecessary loading of subr-x at run-time * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el: * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el: * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el: No need to load subr-x at run-time. * lisp/gnus/nnheader.el: No need to load subr-x. ; * lisp/emacs-lisp/subr-x.el, lisp/gnus/message.el, lisp/net/nsm.el: ; Comments. --- lisp/doc-view.el | 2 +- lisp/emacs-lisp/byte-opt.el | 2 +- lisp/emacs-lisp/subr-x.el | 3 +++ lisp/filenotify.el | 2 +- lisp/gnus/message.el | 2 +- lisp/gnus/nnheader.el | 1 - lisp/info-look.el | 2 +- lisp/net/nsm.el | 2 +- lisp/net/shr.el | 2 +- lisp/svg.el | 2 +- lisp/textmodes/sgml-mode.el | 2 +- test/lisp/dom-tests.el | 2 +- 12 files changed, 13 insertions(+), 11 deletions(-) diff --git a/lisp/doc-view.el b/lisp/doc-view.el index 172ea163c18..2eb555821d9 100644 --- a/lisp/doc-view.el +++ b/lisp/doc-view.el @@ -140,7 +140,7 @@ (require 'dired) (require 'image-mode) (require 'jka-compr) -(require 'subr-x) +(eval-when-compile (require 'subr-x)) ;;;; Customization Options diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el index 004f2e28653..2a240f502c4 100644 --- a/lisp/emacs-lisp/byte-opt.el +++ b/lisp/emacs-lisp/byte-opt.el @@ -185,7 +185,7 @@ (require 'bytecomp) (eval-when-compile (require 'cl-lib)) (require 'macroexp) -(require 'subr-x) +(eval-when-compile (require 'subr-x)) (defun byte-compile-log-lap-1 (format &rest args) ;; Newer byte codes for stack-ref make the slot 0 non-nil again. diff --git a/lisp/emacs-lisp/subr-x.el b/lisp/emacs-lisp/subr-x.el index 5ad482d1eac..c0e5ae5984a 100644 --- a/lisp/emacs-lisp/subr-x.el +++ b/lisp/emacs-lisp/subr-x.el @@ -30,6 +30,9 @@ ;; Do not document these functions in the lispref. ;; http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01006.html +;; NB If you want to use this library, it's almost always correct to use: +;; (eval-when-compile (require 'subr-x)) + ;;; Code: (require 'pcase) diff --git a/lisp/filenotify.el b/lisp/filenotify.el index 8bbe348f332..0a45db82192 100644 --- a/lisp/filenotify.el +++ b/lisp/filenotify.el @@ -28,7 +28,7 @@ ;;; Code: (require 'cl-lib) -(require 'subr-x) +(eval-when-compile (require 'subr-x)) (defconst file-notify--library (cond diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index a8f2b143f21..0f8fdfc9c7f 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -49,7 +49,7 @@ (require 'mm-util) (require 'rfc2047) (require 'puny) -(require 'subr-x) +(require 'subr-x) ; read-multiple-choice (autoload 'mailclient-send-it "mailclient") diff --git a/lisp/gnus/nnheader.el b/lisp/gnus/nnheader.el index cc3dccea25f..4440f17c2bb 100644 --- a/lisp/gnus/nnheader.el +++ b/lisp/gnus/nnheader.el @@ -40,7 +40,6 @@ (require 'mail-utils) (require 'mm-util) (require 'gnus-util) -(require 'subr-x) (autoload 'gnus-range-add "gnus-range") (autoload 'gnus-remove-from-range "gnus-range") ;; FIXME none of these are used explicitly in this file. diff --git a/lisp/info-look.el b/lisp/info-look.el index 694bcb462ce..6963c782704 100644 --- a/lisp/info-look.el +++ b/lisp/info-look.el @@ -43,7 +43,7 @@ ;;; Code: (require 'info) -(require 'subr-x) +(eval-when-compile (require 'subr-x)) (defgroup info-lookup nil "Major mode sensitive help agent." diff --git a/lisp/net/nsm.el b/lisp/net/nsm.el index ccb596f4ddc..8d3463ef0a5 100644 --- a/lisp/net/nsm.el +++ b/lisp/net/nsm.el @@ -25,7 +25,7 @@ ;;; Code: (require 'cl-lib) -(require 'subr-x) +(require 'subr-x) ; read-multiple-choice (defvar nsm-permanent-host-settings nil) (defvar nsm-temporary-host-settings nil) diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 7472c4133ad..6b62a05227c 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -33,7 +33,7 @@ (eval-when-compile (require 'cl)) (eval-when-compile (require 'url)) ;For url-filename's setf handler. (require 'browse-url) -(require 'subr-x) +(eval-when-compile (require 'subr-x)) (require 'dom) (require 'seq) (require 'svg) diff --git a/lisp/svg.el b/lisp/svg.el index 65e031b3875..2295e5f8d49 100644 --- a/lisp/svg.el +++ b/lisp/svg.el @@ -27,7 +27,7 @@ (require 'cl-lib) (require 'xml) (require 'dom) -(require 'subr-x) +(eval-when-compile (require 'subr-x)) (defun svg-create (width height &rest args) "Create a new, empty SVG image with dimensions WIDTHxHEIGHT. diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el index a6965fa32d1..1f99786ae7c 100644 --- a/lisp/textmodes/sgml-mode.el +++ b/lisp/textmodes/sgml-mode.el @@ -34,7 +34,7 @@ (require 'dom) (require 'seq) -(require 'subr-x) +(eval-when-compile (require 'subr-x)) (eval-when-compile (require 'skeleton) (require 'cl-lib)) diff --git a/test/lisp/dom-tests.el b/test/lisp/dom-tests.el index 09114bd794a..32d231a47e5 100644 --- a/test/lisp/dom-tests.el +++ b/test/lisp/dom-tests.el @@ -26,7 +26,7 @@ (require 'dom) (require 'ert) -(require 'subr-x) +(eval-when-compile (require 'subr-x)) (defun dom-tests--tree () "Return a DOM tree for testing." -- 2.39.5