Subject: Re: bug#39546: 28.0.50; Do not require subr-x at run time

From: Michael Albinus <[email-masked]>
Date: Mon, 10 Feb 2020 15:54:56 +0100

Tino Calancha <[email-masked]> writes:

Hi Tino,

> diff --git a/lisp/net/tramp-compat.el b/lisp/net/tramp-compat.el
> index 87bcd08b85..8f74683dee 100644
> --- a/lisp/net/tramp-compat.el
> +++ b/lisp/net/tramp-compat.el
> @@ -39,7 +39,7 @@ tramp-unload-file-name-handlers
>  (require 'ls-lisp)  ;; Due to `tramp-handle-insert-directory'.
>  (require 'parse-time)
>  (require 'shell)
> -(require 'subr-x)
> +(eval-when-compile (require 'subr-x))
>
>  ;; `temporary-file-directory' as function is introduced with Emacs 26.1.
>  (declare-function tramp-handle-temporary-file-directory "tramp")

Tramp needs `string-join' and `string-empty-p' from subr-x.el. If we
don't load it here, we must eval-when-compile it in almost all Tramp
files, I believe.

Hmm, what's so bad requiring it? (I know the general answer because both
are defsubst'es, but I don't see the point here).