Subject: bug#66050: Making perl-mode.el obsolete

From: Corwin Brust <[email-masked]>
Date: Mon, 18 Sep 2023 09:11:55 -0500

On Sun, Sep 17, 2023 at 7:47 AM Stefan Kangas <[email-masked]> wrote:
>
> Severity: wishist
>
> I don't think it makes sense for us to spend our meager resources
> maintaining two major modes for Perl.  I would like to gauge what people
> think about obsoleting perl-mode.el.
>

+1

I've been aliasing perl-mode to cperl-mode for well over a decade.
Every few years I try removing this but I haven't been very happy with
"vanilla" perl-mode: it just isn't as pretty, and I press more keys to
do the same things.  (Probably not enough specificity here to be very
helpful, alas.)

Before I knew any elisp I'd memorized these lines use when creating a
new .emacs file to Emacs on new system:

(defalias 'perl-mode 'cperl-mode "Prefer cperl-mode.")
(setq cperl-hairy t)
(setq cperl-indent-level 2)
(require 'cperl-mode)

IMO, given I already need to (and, in fact, do) configure Emacs to
turn on all the bells and whistles, it would make sense to add
configuration to (probably by default) turn off whatever is needed to
make cperl-mode less intrusive/off putting to those preferring
perl-mode now.  As a route to removing the need for two perl major
modes in core, I think it makes more sense than trying to making
perl-mode do what cperl-mode can while retaining it's more "bland"
defaults: that seems futile.

>
> - Instead of maintaining perl-mode.el, I'd rather see that people worked
>   on a new perl-ts-mode.el.  From a web search, more than one treesitter
>   grammar exist; I have no idea which one is the most promising or how
>   mature any of them are.
>

I believe this project from Paul Evans (author of Corrina, the new OO
system added in Perl 5.38) is the better TS grammar for perl:

https://github.com/tree-sitter-perl/tree-sitter-perl

A fairly current DLL for Windows uses should usually be available from here:

https://corwin.bru.st/emacs-tree-sitter/