branch: master
commit bf7ceef14fbe8e9c3deb8d285de33147977ef0ed
Author: Arash Esbati <ar...@gnu.org>
Commit: Arash Esbati <ar...@gnu.org>

    ; * NEWS.org: Update the file.
---
 NEWS.org | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 137 insertions(+)

diff --git a/NEWS.org b/NEWS.org
index f0649d6f..09e98daa 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -67,3 +67,140 @@
 
 - Revert usage of ~:local~ tag inside ~defcustom~.  This tag isn't
   handled correctly in Emacs 27.1 and breaks AUCTeX.
+
+* [14.0.3] - 2024-02-20
+
+** Fixed
+
+- Cater for former mode name in customized ~TeX-command-list~.
+- Fix and enhance pseudo-parent mode facility.
+
+* [14.0.2] - 2024-02-09
+
+** Fixed
+
+- Fix ELPA releases.
+
+* [14.0.1] - 2024-02-08
+
+** Added
+
+- AUCTeX changes major mode names.  Its primary purpose is to avoid
+  conflicts with Emacs built-in TeX major modes.  It also improves
+  consistency of the source code.
+  - The overview of the former names and new names are:
+    | Former name               | New name                  |
+    |---------------------------+---------------------------|
+    | ~plain-tex-mode~          | ~plain-TeX-mode~          |
+    | ~latex-mode~              | ~LaTeX-mode~              |
+    | ~doctex-mode~             | ~docTeX-mode~             |
+    | ~texinfo-mode~            | ~Texinfo-mode~            |
+    | ~ams-tex-mode~            | ~AmSTeX-mode~             |
+    | ~japanese-plain-tex-mode~ | ~japanese-plain-TeX-mode~ |
+    | ~japanese-latex-mode~     | ~japanese-LaTeX-mode~     |
+
+    The undocumented modes ~context-en-mode~ and ~context-nl-mode~ were
+    deleted.
+  - We paid much attention to the compatibility and expect that almost
+    no particular treatment on the user side is needed.  For example,
+    the names of the keymaps and mode hooks remain unchanged, and the
+    =mode:= tag in the file local variables in the existing files works
+    with old mode names.  See below for more details
+  - If your Emacs is 29 or newer and you use =desktop.el= to save and
+    restore Emacs sessions, be careful before you update AUCTeX; You
+    should attempt to update only after
+    1. you kill all buffer under former AUCTeX modes which have
+       overlapped name with Emacs built-in TeX modes, and
+    2. you terminate the current Emacs session.
+    The modes with such overlapped name are ~plain-tex-mode~,
+    ~latex-mode~, ~doctex-mode~ and ~texinfo-mode~.  (The above
+    prescription ensures no buffer of such modes is recorded in the
+    desktop file.  Otherwise those buffers would be restored in the
+    built-in modes, not AUCTeX modes, after the update of AUCTeX.)
+  - New mode names are chosen to match the existing variables, so most
+    user customizations as well as the third party libraries would
+    continue to work without modification.  For example, names of
+    keymaps and hooks don't change as stated above.
+    (~AmS-TeX-mode-hook~ is renamed to ~AmSTeX-mode-hook~, but
+    compatibility alias is provided.)
+  - Now ~TeX-add-local-master~ adds entry of new mode names such as
+    #+begin_example
+      %%% Local Variables:
+      %%% mode: LaTeX      <-- not `latex'
+      %%% End:
+    #+end_example
+  - The compatibility with the former mode names with respect to
+    invoking the major mode are retained.
+    1. Former modes which overlap with built-in modes, namely
+       ~plain-tex-mode~, ~latex-mode~, ~doctex-mode~, ~texinfo-mode~ and
+       ~tex-mode~ are handled by redirections; the same override advices
+       as before are continued to used for Emacs<29 while
+       ~major-mode-remap-alist~ is used for Emacs 29 and later.
+       (Therefore, if there are user codes which call ~latex-mode~
+       directly, built-in ~latex-mode~ runs instead of AUCTeX
+       ~LaTeX-mode~ in Emacs 29 and later.)
+
+       These redirections still honor your customization to ~TeX-modes~
+       option.  Thus you are served by built-in ~plain-tex-mode~ and
+       AUCTeX ~LaTeX-mode~ if you exclude ~plain-tex-mode~ from
+       ~TeX-modes~.
+    2. Other former names, e.g. ~context-mode~ and
+       ~japanese-latex-mode~, are handled by aliases such as
+       #+begin_src emacs-lisp
+         (defalias 'context-mode #'ConTeXt-mode)
+       #+end_src
+  - New modes recognize directory local variables prepaired for the
+    former mode name.  For example, directory local variables for
+    ~latex-mode~ are valid in ~LaTeX-mode~ as well.  So you don~t have
+    to rewrite every former mode name to the new one in
+    =.dir-locals.el=.
+  - Your abbrevs are preserved.  For example, ~latex-mode-abbrev-table~,
+    if exists, is automatically included as a parent of
+    ~LaTeX-mode-abbrev-table~.
+  - Now all major modes are defined by ~define-derived-mode~, so
+    standard inheritance of keymaps, syntax tables etc. takes place.
+    The inheritance relations are:
+    #+begin_example
+      text-mode      --+-- TeX-mode
+                       +-- Texinfo-mode
+
+      TeX-mode       --+-- plain-TeX-mode
+                       +-- LaTeX-mode
+                       +-- ConTeXt-mode
+
+      plain-TeX-mode --+-- AmSTeX-mode
+                       +-- japanese-plain-TeX-mode
+
+      LaTeX-mode     --+-- docTeX-mode
+                       +-- japanese-LaTeX-mode
+    #+end_example
+
+    These inheritance relations are taken into account for directory
+    local variables in the standard way.  For example, directory local
+    variables for ~LaTeX-mode~ are applied to ~docTeX-mode~ now.
+
+    Note that ~TeX-mode~ isn't meant for use for end users.  It is only
+    meant for the base mode for other major modes.  Its role is to
+    provide base keymap, hook and syntax table under the same name with
+    the former AUCTeX and run the common initialization code.
+
+    Now that all modes have ~text-mode~ as their ancestor, they inherit
+    its keymap and syntax table.  In addition, dir local vars for
+    ~text-mode~ are applied to all AUCTeX major mode.
+
+    However, ~Texinfo-mode~ is exceptional in the following two aspects:
+    1. It doesn't inherit ~text-mode-syntax-table~ because it simply
+       uses built-in mode~s ~texinfo-mode-syntax-table~, which is
+       independent of ~text-mode-syntax-table~.  This situation is the
+       same with the former AUCTeX Texinfo mode.
+    2. ~Texinfo-mode-map~ has ~TeX-mode-map~ as its direct parent.  This
+       is the same with the former AUCTeX Texinfo mode.  Now it inherits
+       ~text-mode-map~ indirectly through ~TeX-mode-map~.
+
+  - There are new keymaps, hooks and abbrev tables:
+    ~Texinfo-mode-abbrev-table~, ~japanese-plain-TeX-mode-map~,
+    ~japanese-LaTeX-mode-map~, ~japanese-plain-TeX-mode-hook~,
+    ~japanese-LaTeX-mode-hook~, ~japanese-plain-TeX-mode-abbrev-table~,
+    ~japanese-LaTeX-mode-abbrev-table~.
+
+- AUCTeX now requires GNU Emacs 27.1 or higher.

Reply via email to