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.