From: Mattias EngdegÄrd Date: Wed, 29 Jun 2022 09:01:16 +0000 (+0200) Subject: * lisp/emacs-lisp/rx.el: Indent some rx constructs correctly. X-Git-Tag: emacs-29.0.90~1447^2~1375 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3447e79f2493580864962db69859bda1afd4643b;p=emacs.git * lisp/emacs-lisp/rx.el: Indent some rx constructs correctly. This includes group-n, submatch-n, =, >=, ** and repeat, whose first 1 or 2 arguments are special. --- diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el index aa2486b47ec..07ede57d393 100644 --- a/lisp/emacs-lisp/rx.el +++ b/lisp/emacs-lisp/rx.el @@ -1110,6 +1110,14 @@ can expand to any number of values." (append rx--builtin-forms rx--builtin-symbols) "List of built-in rx names. These cannot be redefined by the user.") +;; Declare Lisp indentation rules for constructs that take 1 or 2 +;; parameters before a body of RX forms. +(dolist (sym '( group-n submatch-n = >=)) + (put sym 'lisp-indent-function 1)) +(dolist (sym '( ** repeat)) + (put sym 'lisp-indent-function 2)) + + (defun rx--translate (item) "Translate the rx-expression ITEM. Return (REGEXP . PRECEDENCE)." (cond