emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/auctex 5eac6b0800 29/39: Improve query for \newtheorem


From: Tassilo Horn
Subject: [elpa] externals/auctex 5eac6b0800 29/39: Improve query for \newtheorem macro
Date: Thu, 20 Jul 2023 04:21:50 -0400 (EDT)

branch: externals/auctex
commit 5eac6b0800662c326bff41f6ce5e9dccdb4dd849
Author: Arash Esbati <arash@gnu.org>
Commit: Arash Esbati <arash@gnu.org>

    Improve query for \newtheorem macro
    
    * latex.el (LaTeX-completion-function-map-alist-cr): Add mapping
    entry for `TeX-arg-environment'.
    (LaTeX-common-initialization): Replace `TeX-arg-eval' with
    alternative code for the "newtheorem" entry.  Also query for the
    title of the new environment.
---
 latex.el | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/latex.el b/latex.el
index c7042a0726..3746c982fa 100644
--- a/latex.el
+++ b/latex.el
@@ -7794,7 +7794,7 @@ or `LaTeX-environment-list' and returns it."
           (t nil))
     result))
 
-(defvar LaTeX-completion-function-map-alist-keyval '()
+(defvar LaTeX-completion-function-map-alist-keyval nil
   "Alist mapping style funcs to completion-candidates counterparts.
 Each element is a cons with the name of the function used in an
 AUCTeX style file which queries and inserts something in the
@@ -7806,6 +7806,7 @@ key=val completions.  See also
 (defvar LaTeX-completion-function-map-alist-cr
   `((TeX-arg-counter . LaTeX-counter-list)
     (TeX-arg-pagestyle . LaTeX-pagestyle-list)
+    (TeX-arg-environment . LaTeX-environment-list)
     (TeX-arg-length . ,(lambda () (mapcar (lambda (x)
                                             (concat TeX-esc (car x)))
                                           (LaTeX-length-list)))))
@@ -8275,14 +8276,20 @@ function would return non-nil and `(match-string 1)' 
would return
      [ TeX-arg-define-macro-arguments ] 2)
    '("renewenvironment*" TeX-arg-environment
      [ TeX-arg-define-macro-arguments ] 2)
+   ;; \newtheorem comes in 3 flavors:
+   ;; \newtheorem{name}{title} or
+   ;; \newtheorem{name}[numbered_like]{title} or
+   ;; \newtheorem{name}{title}[numbered_within]
+   ;; Both optional args are not allowed
    '("newtheorem" TeX-arg-define-environment
      [ TeX-arg-environment "Numbered like" ]
-     t [ (TeX-arg-eval progn (if (eq (save-excursion
-                                       (backward-char 2)
-                                       (preceding-char)) ?\])
-                                 ()
-                               (TeX-arg-counter t "Within counter"))
-                       "") ])
+     "Title"
+     (TeX-arg-conditional (save-excursion
+                            (skip-chars-backward (concat "^" TeX-grcl))
+                            (backward-list)
+                            (= (preceding-char) ?\]))
+         ()
+       ([TeX-arg-counter "Within counter"])))
    '("newfont" TeX-arg-define-macro t)
    '("circle" "Diameter")
    '("circle*" "Diameter")



reply via email to

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