Hi all,

Here is (re)newenvironment input support in latex.el:
,----
|    '("newenvironment" TeX-arg-define-environment
|      [ "Number of arguments"] t t)
|    '("renewenvironment" TeX-arg-environment
|      [ "Number of arguments"] t t)
`----
Note the two `t's in each entry. This leaves two empty "{}"s when the
user types C-c C-m newenvironment RET some-env-name RET RET, but the
point is left inside the second "{}" then. It doesn't make much sense
for me. I'd say most users expect that the point is in the first "{}".

I'd propose to apply the attached fix, which also includes removal of
duplication of code. (The deleted portion is inside "else" clause of
`(if (string-equal LaTeX-version "2")', but it wouldn't fail for LaTeX
2.09 document because `TeX-arg-define-macro-arguments' takes care of
it.)

Any comments?

Regards,
Ikumi Keita
#StandWithUkraine #StopWarInUkraine

diff --git a/latex.el b/latex.el
index 744257e3..b81fa424 100644
--- a/latex.el
+++ b/latex.el
@@ -2403,9 +2403,9 @@ string."
    optional))
 
 (defun TeX-arg-define-macro-arguments (optional &optional prompt)
-  "Prompt for the number of arguments for a LaTeX macro.  If this
-is non-zero, also prompt for the default value for the first
-argument.
+  "Prompt for the number of arguments for a LaTeX macro.
+If this is non-zero, also prompt for the default value for the
+first argument.
 
 If OPTIONAL is non-nil, insert the resulting value as an optional
 argument, otherwise as a mandatory one.  Use PROMPT as the prompt
@@ -8092,17 +8092,17 @@ function would return non-nil and `(match-string 1)' would return
    '("newcommand" TeX-arg-define-macro [ TeX-arg-define-macro-arguments ] t)
    '("renewcommand" TeX-arg-macro [ TeX-arg-define-macro-arguments ] t)
    '("newenvironment" TeX-arg-define-environment
-     [ "Number of arguments"] t t)
+     [ TeX-arg-define-macro-arguments ] 2)
    '("renewenvironment" TeX-arg-environment
-     [ "Number of arguments"] t t)
+     [ TeX-arg-define-macro-arguments ] 2)
    '("providecommand" TeX-arg-define-macro [ TeX-arg-define-macro-arguments ] t)
    '("providecommand*" TeX-arg-define-macro [ TeX-arg-define-macro-arguments ] t)
    '("newcommand*" TeX-arg-define-macro [ TeX-arg-define-macro-arguments ] t)
    '("renewcommand*" TeX-arg-macro [ TeX-arg-define-macro-arguments ] t)
    '("newenvironment*" TeX-arg-define-environment
-     [ "Number of arguments"] t t)
+     [ TeX-arg-define-macro-arguments ] 2)
    '("renewenvironment*" TeX-arg-environment
-     [ "Number of arguments"] t t)
+     [ TeX-arg-define-macro-arguments ] 2)
    '("newtheorem" TeX-arg-define-environment
      [ TeX-arg-environment "Numbered like" ]
      t [ (TeX-arg-eval progn (if (eq (save-excursion
@@ -8543,22 +8543,6 @@ function would return non-nil and `(match-string 1)' would return
     (setq TeX-font-list LaTeX-font-list)
     (setq TeX-font-replace-function #'TeX-font-replace-macro)
     (TeX-add-symbols
-     '("newcommand" TeX-arg-define-macro
-       [ TeX-arg-define-macro-arguments ] t)
-     '("renewcommand" TeX-arg-macro
-       [ TeX-arg-define-macro-arguments ] t)
-     '("providecommand" TeX-arg-define-macro
-       [ TeX-arg-define-macro-arguments ] t)
-     '("providecommand*" TeX-arg-define-macro
-       [ TeX-arg-define-macro-arguments ] t)
-     '("newcommand*" TeX-arg-define-macro
-       [ TeX-arg-define-macro-arguments ] t)
-     '("renewcommand*" TeX-arg-macro
-       [ TeX-arg-define-macro-arguments ] t)
-     '("newenvironment" TeX-arg-define-environment
-       [ TeX-arg-define-macro-arguments ]  t t)
-     '("renewenvironment" TeX-arg-environment
-       [ TeX-arg-define-macro-arguments ] t t)
      '("usepackage" LaTeX-arg-usepackage)
      '("RequirePackage" LaTeX-arg-usepackage)
      '("ProvidesPackage" (TeX-arg-file-name-sans-extension "Package name")

Reply via email to