• Stefan Monnier's avatar
    (major-mode-remap(-defaults)): New var and function (bug#69191) · 2b5d4308
    Stefan Monnier authored
    While `major-mode-remap-alist` provides a way for users to indicate the
    major mode of their choice, we need a similar variable for the
    use of packages.
    
    This patch adds a new `major-mode-remap-defaults` and changes various
    packages to obey it or make use of it.
    I think it nicely cleans the regexp duplication between CC-mode and
    `c-ts-mode.el` and also makes it easier/cleaner for users to override
    the changes made by `*-ts-mode.el`.
    
    * lisp/files.el (major-mode-remap-defaults): New variable.
    (major-mode-remap): New function.
    (set-auto-mode-0): Use it.
    * doc/lispref/modes.texi (Auto Major Mode): Document them.
    
    * lisp/textmodes/tex-mode.el (tex--redirect-to-submode):
    Use `major-mode-remap`.
    (major-mode-remap-defaults): Set it to remap AUCTeX modes by default.
    * lisp/progmodes/ruby-ts-mode.el (auto-mode-alist): Leave it alone.
    (major-mode-remap-defaults): Set this one instead.
    * lisp/progmodes/c-ts-mode.el (c-or-c++-ts-mode): Use `major-mode-remap`.
    (auto-mode-alist): Leave it alone.
    (major-mode-remap-defaults): Set this one instead.
    * lisp/org/ox.el (org-export-to-buffer): Modernize docstring accordingly.
    * lisp/progmodes/cc-mode.el (c-or-c++-mode):
    * lisp/org/ox-latex.el (org-latex-export-as-latex):
    * lisp/org/ox-koma-letter.el (org-koma-letter-export-as-latex):
    * lisp/org/ox-beamer.el (org-beamer-export-as-latex):
    Use `major-mode-remap` when available.
    2b5d4308