Subject: bug#33939: 26.1; Avoid loading libs eagerly or unnecessarily in mhtml-mode/sgml-mode

From: Leo Liu <[email-masked]>
Date: Sun, 06 Jan 2019 12:34:26 +0800

On 2019-01-05 11:47 +0200, Eli Zaretskii wrote:
> I cannot establish whether these changes are safe for Emacs 26.2,
> since they are not really trivial.  Perhaps if you told more about
> each change, I could make up my mind.

Fair.

> Some of the questions I would like to be able to answer in order to
> make the decision:
>
>   . which of the 'require's you want to remove take the lion's share
>     of the load time?

flyspell which saves ~7000 line of code.

>   . why was seq-mapcat used originally instead of mapcan, and what is
>     the semantics of replacing the former by the latter?

I am not entirely sure why it was used in the first place. Maybe people
now learns about seq.el first.

seq-mapcat doesn't mutate its args but in both cases fresh lists are
created using split-string so mapcan is safe as well i.e. the semantics
of html-current-buffer-ids and html-current-buffer-classes are intact.

I have also tested them before and after in a large HTML buffer.

>   . why did you switch the order of eval-when-compile in sgml-mode.el?

Totally cosmetic. We could keep the original order.

Thanks,
Leo