[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#35286: 26.2; indent-sexp broken
From: |
Leo Liu |
Subject: |
bug#35286: 26.2; indent-sexp broken |
Date: |
Mon, 15 Apr 2019 20:14:58 +0800 |
I am only using the following ruby code to demonstrate the issue. I
noticed this issue while editing other programming text.
def sum_eq_n?(arr, n)
return true if arr.empty? && n == 0
arr.product(arr).reject { |a,b| a == b }.any? !{ |a,b| a + b == n } #
def sum_eq_n?(arr, n)
return true if arr.empty? && n == 0
arr.product(arr).reject { |a,b| a == b }.any? { |a,b| a + b == n }
end
Put the above ruby code in a ruby-mode buffer. ! is used to indicate
where point is and is not part of the code.
M-x indent-sexp and see indentation of every line after the point
changed.
The bug is caused by the following unsafe part of indent-sexp introduced
in 26.2:
(save-excursion
(let ((eol (line-end-position)))
(forward-sexp 1)
(condition-case ()
(while (and (< (point) eol) (not (eobp)))
(forward-sexp 1))
(scan-error nil)))
(point))
which can easily include two or more sexps after point. This looks like
a major breakage.
- bug#35286: 26.2; indent-sexp broken,
Leo Liu <=
- bug#35286: 26.2; indent-sexp broken, Noam Postavsky, 2019/04/15
- bug#35286: 26.2; indent-sexp broken, Leo Liu, 2019/04/15
- bug#35286: 26.2; indent-sexp broken, Noam Postavsky, 2019/04/15
- bug#35286: 26.2; indent-sexp broken, Leo Liu, 2019/04/15
- bug#35286: 26.2; indent-sexp broken, Noam Postavsky, 2019/04/16
- bug#35286: 26.2; indent-sexp broken, Leo Liu, 2019/04/16
- bug#35286: 26.2; indent-sexp broken, Leo Liu, 2019/04/16
- bug#35286: 26.2; indent-sexp broken, Leo Liu, 2019/04/21
- bug#35286: 26.2; indent-sexp broken, Noam Postavsky, 2019/04/22