branch: externals/auctex
commit d78fc3fa0358dc74eca354985b234310624d5502
Author: Arash Esbati <ar...@gnu.org>
Commit: Arash Esbati <ar...@gnu.org>

    Add new style/figureversions.el
    
    * NEWS.org (Added): Announce the new style.
    
    * style/figureversions.el: New file.
    
    * style/fontaxes.el ("fontaxes"): Adjust provided macros to
    package v2.0.1 and load the new style figureversions.el.
---
 NEWS.org                |   3 +-
 style/figureversions.el | 114 ++++++++++++++++++++++++++++++++++++++++++++++++
 style/fontaxes.el       |  82 ++++++----------------------------
 3 files changed, 130 insertions(+), 69 deletions(-)

diff --git a/NEWS.org b/NEWS.org
index eaca9f38c6..6594cd0ebb 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -15,7 +15,8 @@
   environment at point to inline math and the more general
   ~LaTeX-modify-math~ which converts the mathematical construct at point
   into one with different kind of delimiter or another environment.
-- Add new support files =style/embedfile.el= and =style/needspace.el=.
+- Add new support files =style/embedfile.el=, =style/figureversions.el=
+  and =style/needspace.el=.
 
 ** Changed
 
diff --git a/style/figureversions.el b/style/figureversions.el
new file mode 100644
index 0000000000..6db7966d3b
--- /dev/null
+++ b/style/figureversions.el
@@ -0,0 +1,114 @@
+;;; figureversions.el --- AUCTeX style for `figureversions.sty' v1.0.1  -*- 
lexical-binding: t; -*-
+
+;; Copyright (C) 2025 Free Software Foundation, Inc.
+
+;; Author: Arash Esbati <ar...@gnu.org>
+;; Maintainer: auctex-de...@gnu.org
+;; Created: 2025-04-06
+;; Keywords: tex
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by the
+;; Free Software Foundation; either version 3, or (at your option) any
+;; later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but WITHOUT
+;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+;; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+;; for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file adds support for `figureversions.sty' v1.0.1 from
+;; 2025-04-29.  `figureversions.sty' is part of TeXLive.
+
+;;; Code:
+
+(require 'tex)
+(require 'latex)
+
+;; Silence the compiler:
+(declare-function font-latex-add-keywords "font-latex" (keywords class))
+
+(TeX-add-style-hook
+ "figureversions"
+ (lambda ()
+   (TeX-add-symbols
+    ;; 2.1 High-level document commands
+    '("lnfigures"     -1)  ; style: lining figures
+    '("txfigures"     -1)  ; style: text figures (osf)
+    '("liningfigures" "Text")
+    '("textfigures"   "Text")
+
+    '("prfigures"           -1)  ; alignment: proportional figures
+    '("tbfigures"           -1)  ; alignment: tabular figures
+    '("proportionalfigures" "Text")
+    '("tabularfigures"      "Text")
+
+    ;; Math versions
+    '("boldmath"         -1)  ; math weight
+    '("unboldmath"       -1)
+    '("tabularmath"      -1)  ; math figure alignment
+    '("proportionalmath" -1)
+
+    ;; Figure versions
+    '("figureversion"
+      (TeX-arg-completing-read-multiple ("text"         "osf"
+                                         "lining"       "lf"
+                                         "tabular"      "tab"
+                                         "proportional" "prop")
+                                        "Style, alignment"))
+
+    ;; 2.2 Low-level document commands
+    '("fontfigurestyle"
+      (TeX-arg-completing-read ("text" "lining")
+                               "Style"))
+    '("fontfigurealignment"
+      (TeX-arg-completing-read ("tabular" "proportional")
+                               "Alignment"))
+    '("fontbasefamily" "Font family")
+
+    '("mathweight"
+      (TeX-arg-completing-read ("bold" "normal")
+                               "Math weight"))
+    '("mathfigurealignment"
+      (TeX-arg-completing-read ("tabular" "proportional")
+                               "Math figure alignment")))
+
+   ;; 2.3 Code-level interface
+   ;; Add the macros only in `docTeX-mode':
+   (when (derived-mode-p 'docTeX-mode)
+     (TeX-run-style-hooks "expl3")
+     (TeX-add-symbols
+      '("figureversions_new_figurestyle:nnn"
+        TeX-arg-space "Name"
+        TeX-arg-space "Proportional suffixes"
+        TeX-arg-space "Tabular suffixes")
+      '("figureversions_new_figureversion:nn"
+        TeX-arg-space "Option"
+        TeX-arg-space t)))
+
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+              (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("liningfigures"       "{")
+                                ("textfigures"         "{")
+                                ("proportionalfigures" "{")
+                                ("tabularfigures"      "{"))
+                              'type-command)
+     (font-latex-add-keywords '("lnfigures" "txfigures"
+                                "prfigures" "tbfigures")
+                              'type-declaration)
+     (font-latex-add-keywords '(("figureversion"       "{"))
+                              'variable)))
+ TeX-dialect)
+
+(defvar LaTeX-figureversions-package-options nil
+  "Package options for the figureversions package.")
+
+;;; figureversions.el ends here
diff --git a/style/fontaxes.el b/style/fontaxes.el
index f1e648c786..f2ea39afe0 100644
--- a/style/fontaxes.el
+++ b/style/fontaxes.el
@@ -1,6 +1,6 @@
-;;; fontaxes.el --- AUCTeX style for `fontaxes.sty' version v1.0d  -*- 
lexical-binding: t; -*-
+;;; fontaxes.el --- AUCTeX style for `fontaxes.sty' v2.0.1  -*- 
lexical-binding: t; -*-
 
-;; Copyright (C) 2014--2022 Free Software Foundation, Inc.
+;; Copyright (C) 2014--2025 Free Software Foundation, Inc.
 
 ;; Author: Arash Esbati <ar...@gnu.org>
 ;; Maintainer: auctex-de...@gnu.org
@@ -24,82 +24,28 @@
 
 ;;; Commentary:
 
-;; This file adds support for `fontaxes.sty' version v1.0d from
-;; 2014/03/23.  `fontaxes.sty' is part of TeXLive.
-
-;; Thanks to Mos� Giordano for his perceptive comments on
-;; implementation of "figureversion".
+;; This file adds support for `fontaxes.sty' v2.0.1 from 2025-05-24.
+;; `fontaxes.sty' is deprecated in favor of `figureversions.sty'.  This
+;; style reflects this change and loads `figureversions.el', adding the
+;; remaining compatibility macros to AUCTeX.
 
 ;;; Code:
 
 (require 'tex)
 
-;; Silence the compiler:
-(declare-function font-latex-add-keywords
-                  "font-latex"
-                  (keywords class))
-
 (TeX-add-style-hook
  "fontaxes"
  (lambda ()
+
+   (TeX-run-style-hooks "figureversions")
+
    (TeX-add-symbols
-    ;; Various font shapes:
-    ;; These macros are now part of LaTeX kernel 2020-02-02
-    ;; '("swshape"           -1)  ; swash shape
-    ;; '("sscshape"          -1)  ; spaced small caps
-    ;; '("swdefault"          0)
-    ;; '("sscdefault"         0)
-    ;; '("ulcdefault"         0)
     '("fontprimaryshape"   t)
-    '("fontsecondaryshape" t)
-
-    ;; Figure versions
-    '("figureversion"
-      (TeX-arg-completing-read-multiple ("text"         "osf"
-                                         "lining"       "lf"
-                                         "tabular"      "tab"
-                                         "proportional" "prop")
-                                        "Style, alignment"))
-    '("txfigures" -1)  ; style: text figures (osf)
-    '("lnfigures" -1)  ; style: lining figures
-    '("tbfigures" -1)  ; alignment: tabular figures
-    '("prfigures" -1)  ; alignment: proportional figures
-    '("fontfigurestyle"
-      (TeX-arg-completing-read ("text" "lining") "Style"))
-    '("fontfigurealignment"
-      (TeX-arg-completing-read ("tabular" "proportional") "Alignment"))
-    '("fontbasefamily" t)
-
-    ;; Math versions
-    '("boldmath"         -1)  ; math weight
-    '("unboldmath"       -1)  ;
-    '("tabularmath"      -1)  ; math figure alignment
-    '("proportionalmath" -1)  ;
-    '("mathweight"
-      (TeX-arg-completing-read ("bold" "normal") "Math weight"))
-    '("mathfigurealignment"
-      (TeX-arg-completing-read ("tabular" "proportional") "Math figure 
alignment"))
-
-    ;; Additional commands
-    ;; These macros are now part of LaTeX kernel 2020-02-02
-    ;; '("textsw"              t)
-    ;; '("textssc"             t)
-    ;; '("textulc"             t)
-    '("textfigures"         t)
-    '("liningfigures"       t)
-    '("tabularfigures"      t)
-    '("proportionalfigures" t))
-
-   ;; Fontification
-   (when (and (featurep 'font-latex)
-              (eq TeX-install-font-lock 'font-latex-setup))
-     (font-latex-add-keywords '(("textfigures"         "{")
-                                ("liningfigures"       "{")
-                                ("tabularfigures"      "{")
-                                ("proportionalfigures" "{"))
-                              'type-command)
-     (font-latex-add-keywords '(("figureversion"       "{"))
-                              'variable)))
+    '("fontsecondaryshape" t))
+
+   (when (derived-mode-p 'docTeX-mode)
+     (TeX-add-symbols
+      '("fa@naming@exception" 3))))
  TeX-dialect)
 
 (defvar LaTeX-fontaxes-package-options nil

Reply via email to