]> git.eshelyaron.com Git - emacs.git/commitdiff
perl-mode.el: Improve indent after hanging open-paren
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 5 Jul 2024 14:02:39 +0000 (10:02 -0400)
committerEshel Yaron <me@eshelyaron.com>
Sun, 7 Jul 2024 13:16:54 +0000 (15:16 +0200)
Make the indentation of the code right after an open paren/brace
use the same rule as already used to indent the corresponding
matching paren/brace.

* lisp/progmodes/perl-mode.el (perl-calculate-indent):
Use `perl-indent-new-calculate`s "virtual" indentation instead of
approximating it with `current-indentation`.

(cherry picked from commit bd86a6c4fde1aa42ea9e8b5434f0cb63f8d52684)

lisp/progmodes/perl-mode.el
test/manual/indent/perl.perl

index 68685fb662599ac8e846b25978e727a51979d508..ff71970d41b87e1754e8e717aee6cf58964fc811 100644 (file)
@@ -1130,14 +1130,7 @@ Returns (parse-state) if line starts inside a string."
             ;; add the perl-brace-imaginary-offset.
             (progn (skip-chars-backward " \t")
                    (if (bolp) 0 perl-brace-imaginary-offset))
-            ;; If the openbrace is preceded by a parenthesized exp,
-            ;; move to the beginning of that;
-            ;; possibly a different line
-            (progn
-              (if (eq (preceding-char) ?\))
-                  (forward-sexp -1))
-              ;; Get initial indentation of the line we are on.
-              (current-indentation)))))))))
+            (perl-indent-new-calculate 'virtual))))))))
 
 (defun perl-backward-to-noncomment ()
   "Move point backward to after the first non-white-space, skipping comments."
index b44593da028165929b2d358a85f117082c277158..de76fffa26252d1ec9a1511486b306c3d22d6016 100755 (executable)
@@ -5,6 +5,10 @@ sub add_funds($) {
     return 0;
 }
 
+find ({ wanted => sub {
+            return;
+        }, follow => 1 }, '/tmp');
+
 # qw(...) is a quoted list of words, so we can and should indent its content!
 my @tutu = qw[
     tata