GNU bug report logs - #5064
23.1.50; perl mode coloring gone if subroutine name is one letter long

Previous Next

Package: emacs;

Reported by: jidanni <at> jidanni.org

Date: Sat, 28 Nov 2009 02:50:03 UTC

Severity: normal

Fixed in version perl-doc/5.10.1-8

Done: jidanni <at> jidanni.org

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (Emacs bug Tracking System)
To: jidanni <at> jidanni.org, 558428 <at> bugs.debian.org
Subject: bug#5064: marked as done (23.1.50; perl mode coloring gone if
 subroutine name is one letter long)
Date: Sat, 28 Nov 2009 20:40:05 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sun, 29 Nov 2009 04:23:07 +0800
with message-id <873a3ytn4k.fsf_-_ <at> jidanni.org>
and subject line Bug#558428: mention that perl can't deal with certain one letter subroutines
has caused the Emacs bug report #5064,
regarding 23.1.50; perl mode coloring gone if subroutine name is one letter long
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact help-debbugs <at> gnu.org
immediately.)


-- 
5064: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=5064
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: jidanni <at> jidanni.org
To: emacs-pretest-bug <at> gnu.org
Subject: 23.1.50; perl mode coloring gone if subroutine name is one letter long
Date: Sat, 28 Nov 2009 09:41:40 +0800
Gentlemen, consider the following perl subroutines.
Notice how the latter has all its coloring gone, just because it starts
with one letter. (perl-mode)^X^E

sub max {
    my $max = shift(@_);
    foreach $foo (@_) {
        $max = $foo if $max < $foo;
    }
    return $max;
}
sub m {
    my $max = shift(@_);
    foreach $foo (@_) {
        $max = $foo if $max < $foo;
    }
    return $max;
}

[Message part 3 (message/rfc822, inline)]
From: jidanni <at> jidanni.org
To: submit <at> bugs.debian.org
Subject: Bug#558428: mention that perl can't deal with certain one letter subroutines
Date: Sun, 29 Nov 2009 04:23:07 +0800
X-debbugs-cc: 5064-close <at> debbugs.gnu.org, monnier <at> iro.umontreal.ca
Package: perl-doc
Version: 5.10.1-8
Severity: wishlist
File: /usr/share/man/man1/perlsub.1.gz
Tags: upstream

Dear Perl guys: On the perlsub man page, please mention near:

       Subroutines whose names are in all upper case are reserved to the
       Perl core, as are modules whose names are in all lower case.

that sub m {...}
won't work too.

SM> Actually, the problem is not really that it's only one letter, but that
SM> it's the "keyword" m, used for matching (as in "m/regexp/").  Of course
SM> the same can happen with other keywords like "s", "tr", "y", "q", "qx",
SM> and various others.



This bug report was last modified 15 years and 183 days ago.

Previous Next


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