Subject: Re: bug#61210: 28.2; Request to modify code which can accidentally overwrite AUCTeX function

From: Ikumi Keita <[email-masked]>
Date: Mon, 20 Mar 2023 21:25:12 +0900

Hi Stefan,

>>>>> Stefan Monnier <[email-masked]> writes:
> In Emacs-29 (see commit 18d75b4ab91fef6e344e612580088b714acfdb6e), the
> above `defalias` are now predefined once and for all:

>     ;;;###autoload (defalias 'TeX-mode #'tex-mode)
>     ;;;###autoload (defalias 'plain-TeX-mode #'plain-tex-mode)
>     ;;;###autoload (defalias 'LaTeX-mode #'latex-mode)

> It's still not ideal, but at least  loading `tex-mode` won't override
> any other definition such as AUCTeX's.

Thanks, then AUCTeX can use LaTeX-mode etc. for names of its own major
modes for emacs 29 and later. (I assume that it isn't problematic that
AUCTeX overrides unconditionally them by `autoload' for them in the init
code and
(define-derived-mode LaTeX-mode text-mode "LaTeX" ...)
or
(defun LaTeX-mode () ...)
later.)

> I'd like to hear what you think about this "solution", both in the
> short term and what we could try to do in the longer term (e.g. I'd
> like to aim to get rid of those defaliases, but I'm not sure how to
> get there progressively.

I see that `major-mode-remap-alist' was also incorporated into emacs-29.
So in short term, the conflicts between built-in modes and AUCTeX modes
will reduce, and disappear when the least supported emacs version is
raised to emacs-29.
In the longer term, I think there's no practical problem regardless
of existence of those aliases.
1. If they persist, AUCTeX changes the doc string for LaTeX-mode etc.
   in a brutal manner, but most ordinary users won't mind it. (Maybe it
   increases difficulty a bit in debug process? But I expect that
   drawback is small enough.)
2. The only reason that built-in tex-mode.el needs those aliases is, as
   you wrote in tex-mode.el, "for those users who may have files
   annotated with -*- LaTeX -*- (e.g. because they received them from
   someone using AUCTeX)." They can install AUCTeX even when those
   aliases are erased.

Best regards,
Ikumi Keita
#StandWithUkraine #StopWarInUkraine