GNU bug report logs - #30549
25.2; perl-mode: font lock improvement

Previous Next

Package: emacs;

Reported by: Evgeni Kolev <evgeni.d.kolev <at> gmail.com>

Date: Tue, 20 Feb 2018 16:21:02 UTC

Severity: minor

Tags: patch

Found in version 25.2

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Evgeni Kolev <evgeni.d.kolev <at> gmail.com>
Subject: bug#30549: closed (Re: bug#30549: 25.2; perl-mode: font lock
 improvement)
Date: Sat, 03 Mar 2018 11:10:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#30549: 25.2; perl-mode: font lock improvement

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 30549 <at> debbugs.gnu.org.

-- 
30549: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30549
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Evgeni Kolev <evgeni.d.kolev <at> gmail.com>
Cc: 30549-done <at> debbugs.gnu.org
Subject: Re: bug#30549: 25.2; perl-mode: font lock improvement
Date: Sat, 03 Mar 2018 13:09:11 +0200
> From: Evgeni Kolev <evgeni.d.kolev <at> gmail.com>
> Date: Tue, 20 Feb 2018 18:19:55 +0200
> 
> I'm reporting an issue with perl-mode's font lock for perl keywords, and
> suggesting a fix.
> 
> To reproduce:
> 
> - emacs -Q
> - clear the scratch buffer
> - M-x perl-mode
> - enter the following text:
> 
>     use Fake;
>     my $use = 123;
>     my $var = 123;
> 
> - observe the issue: `$use` is incorrectly highlighted - it should be
> highlighted with the same color as `$var`, but it's highlighted with the
> same color as `use` (on the first line).
> 
> The fix I suggest is borrowed from cperl-mode - extend the font lock regex
> to *not* match keywords if they start with a perl sigil.

Thanks, pushed to the master branch.

In the future, please accompany your contributions with a Git log
message formatted like ChangeLog, see CONTRIBUTE for the details.

[Message part 3 (message/rfc822, inline)]
From: Evgeni Kolev <evgeni.d.kolev <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 25.2; perl-mode: font lock improvement
Date: Tue, 20 Feb 2018 18:19:55 +0200
[Message part 4 (text/plain, inline)]
I'm reporting an issue with perl-mode's font lock for perl keywords, and
suggesting a fix.

To reproduce:

- emacs -Q
- clear the scratch buffer
- M-x perl-mode
- enter the following text:

    use Fake;
    my $use = 123;
    my $var = 123;

- observe the issue: `$use` is incorrectly highlighted - it should be
highlighted with the same color as `$var`, but it's highlighted with the
same color as `use` (on the first line).

The fix I suggest is borrowed from cperl-mode - extend the font lock regex
to *not* match keywords if they start with a perl sigil.

The diff is below, please let me know if it can be improved. I've signed
the copyright assignment.

From 8d1977cfc6c4884b231270c33c3bdabbd16b14aa Mon Sep 17 00:00:00 2001
From: Evgeni Kolev <evgenysw <at> gmail.com>
Date: Tue, 20 Feb 2018 18:14:29 +0200
Subject: [PATCH] lisp/progmodes/perl-mode.el: keyword regex must not match
 sigils

---
 lisp/progmodes/perl-mode.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el
index 9948078..c1d94ac 100644
--- a/lisp/progmodes/perl-mode.el
+++ b/lisp/progmodes/perl-mode.el
@@ -165,7 +165,7 @@ perl-font-lock-keywords-1
     ;; Fontify function and package names in declarations.
     ("\\<\\(package\\|sub\\)\\>[ \t]*\\(\\sw+\\)?"
      (1 font-lock-keyword-face) (2 font-lock-function-name-face nil t))
-    ("\\<\\(import\\|no\\|require\\|use\\)\\>[ \t]*\\(\\sw+\\)?"
+    ("\\(^\\|[^$@%&\\]\\)\\<\\(import\\|no\\|require\\|use\\)\\>[
\t]*\\(\\sw+\\)?"
      (1 font-lock-keyword-face) (2 font-lock-constant-face nil t)))
   "Subdued level highlighting for Perl mode.")

--
2.9.0
[Message part 5 (text/html, inline)]

This bug report was last modified 7 years and 83 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.