From: Dmitry Gutov Date: Wed, 25 Jan 2023 15:21:49 +0000 (+0200) Subject: ruby-ts-mode: Don't reindent when "class" or "def" is under "ERROR" X-Git-Tag: emacs-29.0.90~598 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=cfb180329b5;p=emacs.git ruby-ts-mode: Don't reindent when "class" or "def" is under "ERROR" * lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules): Don't reindent when "class" or "def" is under "ERROR" (bug#61017). --- diff --git a/lisp/progmodes/ruby-ts-mode.el b/lisp/progmodes/ruby-ts-mode.el index eff846f8585..60215978176 100644 --- a/lisp/progmodes/ruby-ts-mode.el +++ b/lisp/progmodes/ruby-ts-mode.el @@ -566,6 +566,12 @@ a statement container is a node that matches ((n-p-gp nil nil "regex") no-indent 0) ((parent-is "regex") no-indent 0) + ;; Incomplete buffer state, better not reindent (bug#61017). + ((and (parent-is "ERROR") + (or (node-is ,ruby-ts--class-or-module-regex) + (node-is "\\`def\\'"))) + no-indent 0) + ;; if then else elseif notes: ;; ;; 1. The "then" starts at the end of the line that ends