2

I have problems with correct alignment of the closing parenthesis in cperl-mode. For example consider the following Perl code:

my $a = func1(
    Module::test()
  );

my $b = func2(
    test()
);

my $c = func3(
    Module::test(),
);

We see that the closing parenthesis is not correctly indented for func1, but for func2 and func3 it is correct.

In cperl-mode-hook I have

(setq cperl-indent-level 4)
(setq cperl-indent-parens-as-block t)
(setq cperl-close-paren-offset -4)

What is the reason for this behavior, and how can I get correct indentation for the closing parenthesis also for func1?

Håkon Hægland
  • 3,608
  • 1
  • 20
  • 51

1 Answers1

1

It seems like this behavior is related to the newest version of cperl-mode. I am using Emacs 24.4 on Ubuntu 14.04, and the cperl-mode that came with the installation (/opt/emacs24.4/share/emacs/24.4/lisp/progmodes/cperl-mode.el.gz) is version 6.1 of cperl-mode.

I then tried to install cperl-mode from ELPA using Emacs 24.4 package manager (list-packages), and it turned out that it gave me version 5.23 of cperl-mode which also indented the closing parenthesis correctly..

Håkon Hægland
  • 3,608
  • 1
  • 20
  • 51