GNU bug report logs - #64190
30.0.50; cperl-mode.el: bad recognition of multiline declarations

Previous Next

Package: emacs;

Reported by: Harald Jörg <haj <at> posteo.de>

Date: Tue, 20 Jun 2023 11:15:01 UTC

Owned by: haj <at> posteo.de

Severity: normal

Found in version 30.0.50

Done: Harald Jörg <haj <at> posteo.de>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 64190 in the body.
You can then email your comments to 64190 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#64190; Package emacs. (Tue, 20 Jun 2023 11:15:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Harald Jörg <haj <at> posteo.de>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 20 Jun 2023 11:15:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Harald Jörg <haj <at> posteo.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.0.50; cperl-mode.el: bad recognition of multiline declarations
Date: Tue, 20 Jun 2023 11:13:37 +0000
Owner: haj <at> posteo.de

In CPerl mode, several constructs aren't recognized when they span
several lines, leading to bad fontification and indentation.  "Modern"
Perl declarations like subroutine signatures and class attributes are
more likely to span more than one line, so this should be fixed.

Example 1 (copy to a buffer and run M-x cperl-mode):
Only the first line is fontified here:
----------------------------------------------------------------------
my ($var1,
    $var2,
    $var3)
----------------------------------------------------------------------

Example 2 (copy to a buffer and run M-x cperl-mode):
The package name isn't fontified.
----------------------------------------------------------------------
package Foo
    0.1;
----------------------------------------------------------------------

Example 3 (this happens only while entering that code): When you type in
a subroutine like this, the subroutine name isn't fontified.
----------------------------------------------------------------------
sub do_stuff
{
    ...;
}
----------------------------------------------------------------------

Example 4 (this happens only while typing):  Put the cursor at the
beginning of the second line and enter a space.  The rest of the buffer
is fontified as string.
----------------------------------------------------------------------
sub do_stuff ($param1,
$param2)
{
   ...;
}

sub oops { ...; }
----------------------------------------------------------------------

Examples 3 and 4 can be recovered from by running M-x cperl-find-pods-heres
or by restarting M-x cperl-mode: They are caused by cperl-mode not
reacting correctly to calls from jit-lock.

-- 
Cheers,
haj




Reply sent to Harald Jörg <haj <at> posteo.de>:
You have taken responsibility. (Sat, 01 Jul 2023 20:21:02 GMT) Full text and rfc822 format available.

Notification sent to Harald Jörg <haj <at> posteo.de>:
bug acknowledged by developer. (Sat, 01 Jul 2023 20:21:02 GMT) Full text and rfc822 format available.

Message #10 received at 64190-done <at> debbugs.gnu.org (full text, mbox):

From: Harald Jörg <haj <at> posteo.de>
To: 64190-done <at> debbugs.gnu.org
Subject: Multiline declarations in cperl-mode are fixed in the repository.
Date: Sat, 01 Jul 2023 20:20:21 +0000
Fontification of multiline signatures has been fixed in the Emacs master
branch.  cperl-mode.el as available in the repository can be used with
Emacs 28 and 27 (and could be backported to Emacs 26 if there is
interest).

-- 
Cheers,
haj




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 30 Jul 2023 11:24:13 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 18 days ago.

Previous Next


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