]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/rx.el: Indent some rx constructs correctly.
authorMattias Engdegård <mattiase@acm.org>
Wed, 29 Jun 2022 09:01:16 +0000 (11:01 +0200)
committerMattias Engdegård <mattiase@acm.org>
Wed, 29 Jun 2022 15:27:30 +0000 (17:27 +0200)
This includes group-n, submatch-n, =, >=, ** and repeat, whose first 1
or 2 arguments are special.

lisp/emacs-lisp/rx.el

index aa2486b47ec9a0706577ce03e4906ae1501ad18d..07ede57d393ddcef0dc920b0b2db9c9ec37fa155 100644 (file)
@@ -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