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

From: Eli Zaretskii <[email-masked]>
Date: Sun, 06 Jan 2019 17:25:41 +0200

> From:  Leo Liu <[email-masked]>
> Cc: [email-masked]
> Date: Sun, 06 Jan 2019 12:34:26 +0800
> 
> >   . 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.

Using declare-function instead of that is a no-brainer, which is good.

> >   . 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.

OK.  Would you be okay with doing only the first of these,
i.e. avoiding to load flyspell, on the emacs-26 branch?  Or is the use
of seq.el still slowing down the load significantly?

Thanks.