branch: externals/auctex commit 83622003aa2bd9a8402f7f4edfc9abd0d0d05031 Author: Arash Esbati <ar...@gnu.org> Commit: Arash Esbati <ar...@gnu.org>
* style/enumitem.el ("enumitem"): Replace `TeX-arg-eval'. --- style/enumitem.el | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/style/enumitem.el b/style/enumitem.el index f8e8737beb..6363a244da 100644 --- a/style/enumitem.el +++ b/style/enumitem.el @@ -343,25 +343,30 @@ macro. Insert the value in brackets if OPTIONAL is non-nil." ;; But we go the extra mile to improve the user experience and add ;; the arguments directly to appropriate lists. ;; \newlist{<name>}{<type>}{<max-depth>} - '("newlist" - (TeX-arg-eval - (lambda () - (let ((name (TeX-read-string "Name: ")) - (type (completing-read - "Type: " - (mapcar #'cadr (LaTeX-enumitem-newlist-list)))) - (depth (TeX-read-string "Max-depth: "))) - (when (or (string-equal type "description") - (string-equal type "description*")) - (add-to-list 'LaTeX-item-list `(,name . LaTeX-item-argument))) + `("newlist" + ,(lambda (optional) + (let ((name (TeX-read-string + (TeX-argument-prompt optional nil "Name")))) (LaTeX-add-environments `(,name LaTeX-env-item-args [TeX-arg-key-val (LaTeX-enumitem-key-val-options)])) - (LaTeX-add-enumitem-newlists (list name type)) (TeX-ispell-skip-setcdr `((,name ispell-tex-arg-end 0))) - (TeX-argument-insert name nil) - (TeX-argument-insert type nil) - (format "%s" depth))))) + (TeX-argument-insert name optional))) + (TeX-arg-completing-read ,(lambda () + (mapcar #'cadr + (LaTeX-enumitem-newlist-list))) + "Type") + (TeX-arg-string "Max-depth") + ,(lambda (_optional) + (save-excursion + (re-search-backward "\\\\newlist{\\([^}]+\\)}{\\([^}]+\\)}" + (line-beginning-position) t)) + (let ((name (match-string-no-properties 1)) + (type (match-string-no-properties 2))) + (when (or (string-equal type "description") + (string-equal type "description*")) + (add-to-list 'LaTeX-item-list `(,name . LaTeX-item-argument))) + (LaTeX-add-enumitem-newlists (list name type))))) ;; \renewlist{<name>}{<type>}{<max-depth>} `("renewlist"