Sure, here's the updated patch: From de1c6f786b8366423cca7edce1ecfabe763567d0 Mon Sep 17 00:00:00 2001 From: Evgeni Kolev Date: Mon, 27 Mar 2017 09:30:10 +0300 Subject: [PATCH] Propertize only perl prototype chars `][$%&*;+@\' as punctuation As a result, variables in signatures such as `sub add ($a, $b) are not treated as punctuation. * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function): Strictly match only prototype characters as punctuation. (Bug#26037) Copyright-paperwork-exempt: yes --- lisp/progmodes/perl-mode.el | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el index a516f07..45628e3 100644 --- a/lisp/progmodes/perl-mode.el +++ b/lisp/progmodes/perl-mode.el @@ -255,9 +255,11 @@ ;; format statements ("^[ \t]*format.*=[ \t]*\\(\n\\)" (1 (prog1 "\"" (perl-syntax-propertize-special-constructs end)))) - ;; Funny things in `sub' arg-specs like `sub myfun ($)' or `sub ($)'. - ;; Be careful not to match "sub { (...) ... }". - ("\\