auctex-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/auctex 997bff87d2 23/43: Retain compatibility for direc


From: Tassilo Horn
Subject: [elpa] externals/auctex 997bff87d2 23/43: Retain compatibility for directory local variables
Date: Wed, 7 Feb 2024 06:07:11 -0500 (EST)

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

    Retain compatibility for directory local variables
    
    Incorporate new facility implemented in Emacs 30.
    
    * tex.el (TeX-derived-mode-add-parents): Copy of new function in Emacs
    30.
    (TeX--compat-derived-mode-p): New function to complement
    `derived-mode-p' before Emacs 30.
    * context.el:
    * latex.el:
    * plain-tex.el:
    * tex-jp.el:
    Use `TeX-derived-mode-add-parents'.
---
 context.el   |  5 +++++
 latex.el     | 10 ++++++++++
 plain-tex.el | 11 +++++++++++
 tex-jp.el    | 12 ++++++++++++
 tex.el       | 25 +++++++++++++++++++++++++
 5 files changed, 63 insertions(+)

diff --git a/context.el b/context.el
index df3ed2b953..fe1e02c146 100644
--- a/context.el
+++ b/context.el
@@ -1956,6 +1956,11 @@ of `ConTeXt-mode-hook'."
   ;; set mode line
   (setq TeX-base-mode-name mode-name))
 
+;; Compatibility for former mode name.  Directory local variables
+;; prepared for `context-mode' continue to be valid for
+;; `ConTeXt-mode'.
+(TeX-derived-mode-add-parents 'ConTeXt-mode '(context-mode))
+
 (provide 'context)
 
 ;;; context.el ends here
diff --git a/latex.el b/latex.el
index e9b08cc1b8..92ecdac2e8 100644
--- a/latex.el
+++ b/latex.el
@@ -8087,6 +8087,10 @@ Run after mode hooks and file local variables 
application."
 ;;;###autoload
 (put 'LaTeX-mode 'auctex-function-definition (symbol-function 'LaTeX-mode))
 
+;; Compatibility for former mode name.  Directory local variables
+;; prepared for `latex-mode' continue to be valid for `LaTeX-mode'.
+(TeX-derived-mode-add-parents 'LaTeX-mode '(latex-mode))
+
 (with-eval-after-load 'semantic/symref/grep
   (push '(docTeX-mode "*.dtx") semantic-symref-filepattern-alist))
 
@@ -8118,6 +8122,12 @@ runs the hooks in `docTeX-mode-hook'."
   (setq font-lock-set-defaults nil)
   (funcall TeX-install-font-lock))
 
+;; Compatibility for former mode name.  Directory local variables
+;; prepared for `doctex-mode' continue to be valid for `docTeX-mode'.
+;; In addition, dir local vars for `latex-mode' are now valid for
+;; `docTeX-mode' as well.
+(TeX-derived-mode-add-parents 'docTeX-mode '(doctex-mode latex-mode))
+
 (defcustom docTeX-clean-intermediate-suffixes
   TeX-clean-default-intermediate-suffixes
   "List of regexps matching suffixes of files to be deleted.
diff --git a/plain-tex.el b/plain-tex.el
index 6e4ddf7c03..779c30a0d9 100644
--- a/plain-tex.el
+++ b/plain-tex.el
@@ -148,6 +148,11 @@ Run after mode hooks and file local variables application."
 ;;;###autoload
 (put 'plain-TeX-mode 'auctex-function-definition (symbol-function 
'plain-TeX-mode))
 
+;; Compatibility for former mode name.  Directory local variables
+;; prepared for `plain-tex-mode' continue to be valid for
+;; `plain-TeX-mode'.
+(TeX-derived-mode-add-parents 'plain-TeX-mode '(plain-tex-mode))
+
 (defun plain-TeX-common-initialization ()
   "Common initialization for plain TeX like modes."
   (set (make-local-variable 'TeX-style-hook-dialect) plain-TeX-dialect)
@@ -321,6 +326,12 @@ value of `AmSTeX-mode-hook'."
 ;;;###autoload
 (defalias 'ams-tex-mode #'AmSTeX-mode)
 
+;; Compatibility for former mode name.  Directory local variables
+;; prepared for `ams-tex-mode' continue to be valid for `AmSTeX-mode'.
+;; In addition, dir local vars for `plain-tex-mode' are now valid for
+;; `AmSTeX-mode' as well.
+(TeX-derived-mode-add-parents 'AmSTeX-mode '(ams-tex-mode plain-tex-mode))
+
 (defcustom AmSTeX-clean-intermediate-suffixes
   TeX-clean-default-intermediate-suffixes
   "List of regexps matching suffixes of intermediate files to be deleted.
diff --git a/tex-jp.el b/tex-jp.el
index ff562e225c..a9de222622 100644
--- a/tex-jp.el
+++ b/tex-jp.el
@@ -425,6 +425,12 @@ Now `japanese-plain-tex-mode-initialization' is no-op.  
Don't use it."))
 ;;;###autoload
 (defalias 'japanese-plain-tex-mode #'japanese-plain-TeX-mode)
 
+;; Compatibility for former mode name.  Directory local variables
+;; prepared for `japanese-plain-tex-mode' and `plain-tex-mode'
+;; continue to be valid for `japanese-plain-TeX-mode'.
+(TeX-derived-mode-add-parents 'japanese-plain-TeX-mode
+                              '(japanese-plain-tex-mode plain-tex-mode))
+
 ;;;###autoload
 (define-derived-mode japanese-LaTeX-mode LaTeX-mode "LaTeX"
   "Major mode in AUCTeX for editing Japanese LaTeX files."
@@ -471,6 +477,12 @@ Now `japanese-latex-mode-initialization' is no-op.  Don't 
use it."))
 ;;;###autoload
 (defalias 'japanese-latex-mode #'japanese-LaTeX-mode)
 
+;; Compatibility for former mode name.  Directory local variables
+;; prepared for `japanese-latex-mode' and `latex-mode' continue to be
+;; valid for `japanese-LaTeX-mode'.
+(TeX-derived-mode-add-parents 'japanese-LaTeX-mode
+                              '(japanese-latex-mode latex-mode))
+
 (defun japanese-LaTeX-guess-engine ()
   "Guess Japanese TeX engine and set it to `TeX-engine'.
 Document class and its option are taken into account.  Do not
diff --git a/tex.el b/tex.el
index d4fded7323..10bdf838ff 100644
--- a/tex.el
+++ b/tex.el
@@ -3875,6 +3875,21 @@ Run after mode hooks and file local variables 
application."
 ;;;###autoload
 (put 'TeX-mode 'auctex-function-definition (symbol-function 'TeX-mode))
 
+;; COMPATIBILITY for Emacs<30
+(unless (fboundp 'derived-mode-add-parents)
+  (advice-add 'derived-mode-p :after-until
+              ;; Don't quote by #'-style to avoid compiler warning.
+              'TeX--compat-derived-mode-p)
+  (defun TeX--compat-derived-mode-p (&rest modes)
+    "Add pseudo-parents facility to `derived-mode-p' like Emacs 30.
+Modes registered in `derived-mode-extra-parents' property of the
+current major mode name symbol are regarded as parent modes as
+long as `derived-mode-p' is concerned."
+    (let ((extra-parents (get major-mode 'derived-mode-extra-parents)))
+      (and extra-parents
+           (cl-loop for parent in extra-parents
+                    thereis (memq parent modes))))))
+
 ;;; Hilighting
 
 ;; FIXME: It's likely that `hilit-patterns-alist' is much obsolete.
@@ -4828,6 +4843,16 @@ Also see `ignore'.
 This is a compatibility function for Emacs versions prior to v.28."
     t))
 
+;; COMPATIBILITY for Emacs<30
+(if (fboundp 'derived-mode-add-parents)
+    (defalias 'TeX-derived-mode-add-parents #'derived-mode-add-parents)
+  ;; Adapted copy of `derived-mode-add-parents'.
+  (defun TeX-derived-mode-add-parents (mode extra-parents)
+    "Add EXTRA-PARENTS to the parents of MODE.
+Declares the parents of MODE to be its main parent (as defined
+in `define-derived-mode') plus EXTRA-PARENTS."
+    (put mode 'derived-mode-extra-parents extra-parents)))
+
 (defun TeX-match-buffer (n)
   "Return the substring corresponding to the N'th match.
 See `match-data' for details."




reply via email to

[Prev in Thread] Current Thread [Next in Thread]