branch: externals/auctex
commit f06778a7ae828d318767d9795305b5532590c558
Author: Ikumi Keita <ik...@ikumi.que.jp>
Commit: Ikumi Keita <ik...@ikumi.que.jp>

    * doc/changes.texi: Update the last change.
---
 doc/changes.texi | 96 +++++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 68 insertions(+), 28 deletions(-)

diff --git a/doc/changes.texi b/doc/changes.texi
index 5be76c7e07..f806a21619 100644
--- a/doc/changes.texi
+++ b/doc/changes.texi
@@ -12,8 +12,9 @@
 
 @itemize @bullet
 @item
-@AUCTeX{} changes major mode names to avoid conflicts with Emacs built-in
-@TeX{} major modes.
+@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.
 
 @itemize @minus
 @item
@@ -31,13 +32,38 @@ The overview of the former names and new names are:
 @item @code{japanese-latex-mode} @tab @code{japanese-LaTeX-mode}
 @end multitable
 
-The undocumented modes @code{context-en-mode} and @code{context-nl-modes}
+The undocumented modes @code{context-en-mode} and @code{context-nl-mode}
 were deleted.
 
+@item
+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 @samp{mode:} tag
+in the file local variables in the existing files works with old mode
+names.  See below for more details.
+
+@item
+If your Emacs is 29 or newer and you use @file{desktop.el} to save and
+restore Emacs sessions, be careful before you update @AUCTeX{}; You should
+attempt to update only after
+@enumerate
+@item
+you kill all buffer under former @AUCTeX{} modes which have overlapped
+name with Emacs built-in @TeX{} modes, and
+@item
+you terminate the current Emacs session.
+@end enumerate
+The modes with such overlapped name are @code{plain-tex-mode},
+@code{latex-mode}, @code{doctex-mode} and @code{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{}.)
+
 @item
 New mode names are chosen to match the existing variables, so most user
-codes would continue to work without modification.  For example, names of
-keymaps and hooks don't change.  (@code{AmS-TeX-mode-hook} is renamed to
+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.  (@code{AmS-TeX-mode-hook} is renamed to
 @code{AmSTeX-mode-hook}, but compatibility alias is provided.)
 
 @item
@@ -50,40 +76,49 @@ Now @code{TeX-add-local-master} adds entry of new mode 
names such as
 @end example
 
 @item
-The compatibility with the former mode names with respect to function call
-are retained.  This includes @samp{mode:} tag in the file local variables.
+The compatibility with the former mode names with respect to invoking the
+major mode are retained.
 
-Former names which overlap with built-in modes, namely
+@enumerate
+@item
+Former modes which overlap with built-in modes, namely
 @code{plain-tex-mode}, @code{latex-mode}, @code{doctex-mode},
 @code{texinfo-mode} and @code{tex-mode} are handled by redirections; the
-same override advices as before are continued to used for emacs @math{<29}
-while @code{major-mode-remap-alist} is used for emacs 29 and later.
-(Therefore, if there are user code which call @code{latex-mode} 
-directly, built-in @code{latex-mode} runs instead of AUCTeX
-@code{LaTeX-mode} in emacs 29 and later.)
-
-These redirections still honor your customization to @code{TeX-modes}.
-Thus you are served by built-in @code{plain-tex-mode} and @AUCTeX{}
-@code{LaTeX-mode} if you exclude @code{plain-tex-mode} from
+same override advices as before are continued to used for Emacs @math{<29}
+while @code{major-mode-remap-alist} is used for Emacs 29 and later.
+(Therefore, if there are user codes which call @code{latex-mode}
+directly, built-in @code{latex-mode} runs instead of @AUCTeX{}
+@code{LaTeX-mode} in Emacs 29 and later.)
+
+These redirections still honor your customization to @code{TeX-modes}
+option.  Thus you are served by built-in @code{plain-tex-mode} and
+@AUCTeX{} @code{LaTeX-mode} if you exclude @code{plain-tex-mode} from
 @code{TeX-modes}.
 
+@item
 Other former names, e.g.@: @code{context-mode} and
 @code{japanese-latex-mode}, are handled by aliases such as
 
 @lisp
 (defalias 'context-mode #'ConTeXt-mode)
 @end lisp
+@end enumerate
 
 @item
-New modes recognize directory local variables prepaired for former mode
-name.  That is, you don't have to rewrite every former mode name to the
-new one in @file{.dir-locals.el}.
+New modes recognize directory local variables prepaired for the former
+mode name.  For example, directory local variables for @code{latex-mode}
+are valid in @code{LaTeX-mode} as well.  So you don't have to rewrite
+every former mode name to the new one in @file{.dir-locals.el}.
+
+@item
+Your abbrevs are preserved.  For example, @code{latex-mode-abbrev-table},
+if exists, is automatically included as a parent of
+@code{LaTeX-mode-abbrev-table}.
 
 @item
 Now all major modes are defined by @code{define-derived-mode}, so standard
 inheritance of keymaps, syntax tables etc.@: takes place.  The inheritance
 relations are:
-
 @verbatim
 text-mode      --+-- TeX-mode
                  +-- Texinfo-mode
@@ -99,25 +134,30 @@ LaTeX-mode     --+-- docTeX-mode
                  +-- japanese-LaTeX-mode
 @end verbatim
 
+These inheritance relations are taken into account for directory local
+variables in the standard way.  For example, directory local variables for
+@code{LaTeX-mode} are applied to @code{docTeX-mode} now.
+
 Note that @code{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 current
-AUCTeX and run the initialization code.
+base keymap, hook and syntax table under the same name with the former
+@AUCTeX{} and run the common initialization code.
 
-Now that all modes has @code{text-mode} as their ancestor, they inherit
-keymap and syntax table of @code{text-mode}.
+Now that all modes have @code{text-mode} as their ancestor, they inherit
+its keymap and syntax table.  In addition, dir local vars for
+@code{text-mode} are applied to all @AUCTeX{} major mode.
 
-However, @code{Texinfo-mode} is exceptional in the following aspects:
+However, @code{Texinfo-mode} is exceptional in the following two aspects:
 @enumerate
 @item
 It doesn't inherit @code{text-mode-syntax-table} because it simply uses
 built-in mode's @code{texinfo-mode-syntax-table}, which is independent of
 @code{text-mode-syntax-table}.  This situation is the same with the former
-Texinfo mode.
+@AUCTeX{} Texinfo mode.
 
 @item
 @code{Texinfo-mode-map} has @code{TeX-mode-map} as its direct parent.
-This is the same with the former Texinfo mode.  Now it inherits
+This is the same with the former @AUCTeX{} Texinfo mode.  Now it inherits
 @code{text-mode-map} indirectly through @code{TeX-mode-map}.
 @end enumerate
 

Reply via email to