GNU bug report logs - #76851
29.4; cperl-mode builtin fcn indent bug and fix

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: John Ciolfi <ciolfi@HIDDEN>; Keywords: patch; dated Sat, 8 Mar 2025 06:10:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 76851 <at> debbugs.gnu.org:


Received: (at 76851) by debbugs.gnu.org; 8 Mar 2025 09:51:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 08 04:51:47 2025
Received: from localhost ([127.0.0.1]:52897 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tqqqR-0005I9-5X
	for submit <at> debbugs.gnu.org; Sat, 08 Mar 2025 04:51:47 -0500
Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]:47236)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>)
 id 1tqqqO-0005Ht-Dg
 for 76851 <at> debbugs.gnu.org; Sat, 08 Mar 2025 04:51:45 -0500
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5e60cfef9cfso1568037a12.2
 for <76851 <at> debbugs.gnu.org>; Sat, 08 Mar 2025 01:51:44 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1741427498; x=1742032298; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=HYiyK9VNwAsNuPY3ZuY2TE4zMqKN6RCOTuX5if3y3oY=;
 b=BvBdPzknSX8biid9NByQkBSLoOigoFI6mVFhuD88MT5lqZ2tbFw9xNSDqOisxUC1kx
 y0ZDzaoXGObUR4Yjo4G8mFISWF4iSf+4uLy1ljfg3SwDg2a3Oe4vB2JJ7QkLMcH4EzGz
 ZSvjULMVa6OQV0mehbNXrKsdDIlSYaQ9DxdiuG3VPU9hBht76dY4Z+cSOxeN1ibaeKfm
 vTXgseB6fQYnQfB3A1ihAk9wvsFX3Yg1VQvUuH8BYIaFb8by3ZXjZ3zTxOZACBWsd/Go
 uWW2GHYHiBLt8Z7knbysXqbSauPblmU4ZzT8tgq0gCyPx2gYvIpG8MkEevk4rz0XNa5c
 A6UA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1741427498; x=1742032298;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:x-gm-message-state:from:to
 :cc:subject:date:message-id:reply-to;
 bh=HYiyK9VNwAsNuPY3ZuY2TE4zMqKN6RCOTuX5if3y3oY=;
 b=Yjtjx07bzxmJPekBd+S27JW3QxrcocBWXZs3lYV71qaPbHM1z8bKBGxuQ3vKKCPuhB
 V7SuRo4xRlMYB6+jMX++C1F41PhyZsNbluRBLVxhdDg120DkwuhRDVxO7xJIQHcy8yXH
 mw7ob42gujMsUHKO1Utdg8Gkx+44Gc5mC3a6OuNrLrktgVvo59X5eKyDb8GtXi7lXzq0
 vpjzQdcOYAto/ehN2/ClTEgWjyHBy2fsMTp9h2VoCy8C/aFnns2dOvRR47Ha/yhCwsqK
 MmyYVA6odumxCCEVTF/k2SEN58GHy6C9lZEbnv2qVtxmmXX79addRzvNaWEZLN1apt7Z
 1fWg==
X-Forwarded-Encrypted: i=1;
 AJvYcCWPDGyMupiiuaRBDMuDW7serkEEg82IV+1narGv3tzTEvARfcEAvFOMuUL7KDB7ZZwBUQEp2Q==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yz/4gtWnMNx0jzhd7AbrGwRNQl+0tzv4D1cyg4dujDFf6JHn44D
 ZJEE5FLQ89RyLp9iITpCmE5Iu4FMtBJF8wRixIm+vdS1JlnlbTd6XDav9RdnYaqUzKd8CG1cvlK
 zEDRrTDcxTlaH9lJc5Yf/IbVutSI=
X-Gm-Gg: ASbGnct3exB1XYI87sa42B9lCZWwC2xCR/cz/Ug2ntZ1XpnMl2ETfSI4j6AIm/apFR1
 i3au0tGg5fq4Yb8Yxo5MPQVSTwSd2FE+5sQf67BHKOKmHMd/5mZA03lAxjYDes32urCupEtBBKM
 7zNyR5toGjJagrbc3OSqvbK6D3vg==
X-Google-Smtp-Source: AGHT+IH+MvUtfdwx+ROI2Zr9P6L6yzMDm3nDWrj6UHHcfVSP7H8PASu6/y6uy74WwDwVWAK+RSQYvI54huwPPbzkbdk=
X-Received: by 2002:a05:6402:2546:b0:5e5:c637:b69 with SMTP id
 4fb4d7f45d1cf-5e5e22a929bmr6348606a12.6.1741427498035; Sat, 08 Mar 2025
 01:51:38 -0800 (PST)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sat, 8 Mar 2025 09:51:37 +0000
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <87zfhvetu4.fsf@HIDDEN>
References: <r9y0xgys0z.fsf@HIDDEN>
 <CADwFkm=vdaX1iJxv5ODw-GuhQ5YFpCbYfkm++W5e==bw3v9X1A@HIDDEN>
 <87zfhvetu4.fsf@HIDDEN>
MIME-Version: 1.0
Date: Sat, 8 Mar 2025 09:51:37 +0000
X-Gm-Features: AQ5f1JpU6oJbPn6d5gG8wapwXiPUUPpH58dN45dyvB9r3VmfiwCQE6HX2E_uG1Q
Message-ID: <CADwFkmnCoeOX2kiJXNg++WfGOdjpv+4BPD1Gt-etLD50CZYh+g@HIDDEN>
Subject: Re: bug#76851: 29.4; cperl-mode builtin fcn indent bug and fix
To: =?UTF-8?B?SGFyYWxkIErDtnJn?= <haj@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 76851
Cc: John Ciolfi <ciolfi@HIDDEN>, 76851 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Harald J=C3=B6rg <haj@HIDDEN> writes:

> Stefan Kangas <stefankangas@HIDDEN> writes:
>
>> John Ciolfi via "Bug reports for GNU Emacs, the Swiss army knife of text
>> editors" <bug-gnu-emacs@HIDDEN> writes:
>>
>>> Hi
>>>
>>> Given this perl file:
>>>
>>>     sub test {
>>>         exec '/bin/echo',
>>>             'Your arguments are: ', @ARGV;
>>>     }
>>>
>>>     sub exec_fcn {
>>>     }
>>>
>>>         sub other {
>>>         }
>>>
>>> The 'sub other' is indented incorrectly (and all code following it).
>>>
>>> The fix is in cperl-after-block-and-statement-beg to not match exec_, i=
.e. we should
>>> not treat exec_fcn as a builtin. Attached is the fix.
>>
>> Harald, any comments on this patch?
>
> Yes :)
>
> I confirm this is a bug, and one of those nasty ones which affect all
> following code.
>
> I suggest a slightly improved patch.  Instead of replacing \> (end of
> word) by [[:space:]] it should be replaced by \_> (end of symbol).
> A space is not required after the keywords in the list.  In the case of
> exec, this is handled elsewhere, but there are keywords in the list
> where it matters.
>
> With [[:space:]], the following indentation happens:
>
>     my %h =3D map{$_=3D>1}
>     @ARGV;
>
> With \_>, @ARGV is correctly indented as a continuation line:
>
>     my %h =3D map{$_=3D>1}
>         @ARGV;
>
> This is less severe than the bug reported because it does not affect
> following code, but still should not happen.

I recommend adding tests for the above.  I think we already have good
erts tests in cperl-indents.erts, that could easily be expanded.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#76851; Package emacs. Full text available.

Message received at 76851 <at> debbugs.gnu.org:


Received: (at 76851) by debbugs.gnu.org; 8 Mar 2025 09:48:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 08 04:48:50 2025
Received: from localhost ([127.0.0.1]:52885 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tqqna-00056W-5H
	for submit <at> debbugs.gnu.org; Sat, 08 Mar 2025 04:48:50 -0500
Received: from mout01.posteo.de ([185.67.36.65]:35827)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <haj@HIDDEN>) id 1tqqnU-00056C-7c
 for 76851 <at> debbugs.gnu.org; Sat, 08 Mar 2025 04:48:47 -0500
Received: from submission (posteo.de [185.67.36.169]) 
 by mout01.posteo.de (Postfix) with ESMTPS id 73307240027
 for <76851 <at> debbugs.gnu.org>; Sat,  8 Mar 2025 10:48:36 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017;
 t=1741427316; bh=pFl7xJg3dHdqqw/TBkqkz1HJES2jLeL7iXwySFu78ek=;
 h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type:
 From;
 b=S3Ma5KUewZvT+I4gZ8Irun8X7LuJmdg1i1sgvsB1E/Nw+d5fKw/AznYGrY6kMnpdU
 d00bNsVb3xTCXoII/ckDb59L/WCmjC6AtWRKCNXSu384aK4/Wr2b1bg2EaGCu7L5Wh
 SGI4W6UCOSAmsSZvi4jkrVNoR8ybsJL/bdMHwdY7+UsFo9ZDp8yRlPxBH0mByySQ8R
 Kv/sqWgJC2Xm5uOCFQrboTKxQdeHna68wSdH07Qd527uEg/UCJcqZBjXNKtC4RZaAY
 4tPrQMAIRoQvGQfUMLXiyeOj6kEYZtRiS8ppBEyLMHScURXeCr86uyR4d8VCtRZMcs
 GAWD0enJ1PqfA==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4Z8yyq4qPFz6typ;
 Sat,  8 Mar 2025 10:48:35 +0100 (CET)
From: =?utf-8?Q?Harald_J=C3=B6rg?= <haj@HIDDEN>
To: Stefan Kangas <stefankangas@HIDDEN>
Subject: Re: bug#76851: 29.4; cperl-mode builtin fcn indent bug and fix
In-Reply-To: <CADwFkm=vdaX1iJxv5ODw-GuhQ5YFpCbYfkm++W5e==bw3v9X1A@HIDDEN>
 (Stefan Kangas's message of "Sat, 8 Mar 2025 08:01:36 +0000")
References: <r9y0xgys0z.fsf@HIDDEN>
 <CADwFkm=vdaX1iJxv5ODw-GuhQ5YFpCbYfkm++W5e==bw3v9X1A@HIDDEN>
Date: Sat, 08 Mar 2025 09:48:35 +0000
Message-ID: <87zfhvetu4.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 76851
Cc: John Ciolfi <ciolfi@HIDDEN>, 76851 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Stefan Kangas <stefankangas@HIDDEN> writes:

> John Ciolfi via "Bug reports for GNU Emacs, the Swiss army knife of text
> editors" <bug-gnu-emacs@HIDDEN> writes:
>
>> Hi
>>
>> Given this perl file:
>>
>>     sub test {
>>         exec '/bin/echo',
>>             'Your arguments are: ', @ARGV;
>>     }
>>
>>     sub exec_fcn {
>>     }
>>
>>         sub other {
>>         }
>>
>> The 'sub other' is indented incorrectly (and all code following it).
>>
>> The fix is in cperl-after-block-and-statement-beg to not match exec_, i.e. we should
>> not treat exec_fcn as a builtin. Attached is the fix.
>
> Harald, any comments on this patch?

Yes :)

I confirm this is a bug, and one of those nasty ones which affect all
following code.

I suggest a slightly improved patch.  Instead of replacing \> (end of
word) by [[:space:]] it should be replaced by \_> (end of symbol).
A space is not required after the keywords in the list.  In the case of
exec, this is handled elsewhere, but there are keywords in the list
where it matters.

With [[:space:]], the following indentation happens:

    my %h = map{$_=>1}
    @ARGV;

With \_>, @ARGV is correctly indented as a continuation line:

    my %h = map{$_=>1}
        @ARGV;

This is less severe than the bug reported because it does not affect
following code, but still should not happen.

>
>>
>> Thanks,
>> John
>>
>> --- a/cperl-mode.el
>> +++ b/cperl-mode.el
>> @@ -5606,8 +5606,16 @@ Do not look before LIM."
>>  	 (progn
>>  	   (forward-sexp -1)
>>  	   (not
>> +            ;; Used to indent functions like:
>> +            ;;    exec 'prog',
>> +            ;;        @ARGS;
>> +            ;; [[:space:]] means we will not match exec_fcn and 'sub other' is indented correctly:
>> +            ;;    sub exec_fcn {
>> +            ;;    }
>> +            ;;    sub other {
>> +            ;;    }
>>  	    (looking-at
>> -	     "\\(map\\|grep\\|say\\|printf?\\|system\\|exec\\|tr\\|s\\)\\>")))))))
>> +	     "\\(map\\|grep\\|say\\|printf?\\|system\\|exec\\|tr\\|s\\)[[:space:]]")))))))
>>
>>  
>>  (defun cperl-indent-exp ()
>>
>> In GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38,
>>  cairo version 1.16.0) of 2024-07-22, modified by Debian built on
>>  x86-ubc-01
>> Windowing system distributor 'The X.Org Foundation', version 11.0.12101006
>> System Description: Debian GNU/Linux 12 (bookworm)
>>
>> Configured using:
>>  'configure --build x86_64-linux-gnu --prefix=/usr
>>  --sharedstatedir=/var/lib --libexecdir=/usr/libexec
>>  --localstatedir=/var/lib --infodir=/usr/share/info
>>  --mandir=/usr/share/man --with-libsystemd --with-pop=yes
>>  --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/29.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.4/site-lisp:/usr/share/emacs/site-lisp
>>  --with-sound=alsa --without-gconf --with-mailutils
>>  --with-native-compilation --build x86_64-linux-gnu --prefix=/usr
>>  --sharedstatedir=/var/lib --libexecdir=/usr/libexec
>>  --localstatedir=/var/lib --infodir=/usr/share/info
>>  --mandir=/usr/share/man --with-libsystemd --with-pop=yes
>>  --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/29.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.4/site-lisp:/usr/share/emacs/site-lisp
>>  --with-sound=alsa --without-gconf --with-mailutils
>>  --with-native-compilation --with-cairo --with-x=yes
>>  --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2
>>  -ffile-prefix-map=/build/reproducible-path/emacs-29.4+1=. -fstack-protector-strong
>>  -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
>>  -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'
>>
>> Configured features:
>> ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
>> JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES
>> NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3
>> THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2
>> XPM GTK3 ZLIB
>>
>> Important settings:
>>   value of $LANG: en_US.UTF-8
>>   locale-coding-system: utf-8-unix
>>
>> Major mode: Fundamental
>>
>> Minor modes in effect:
>>   tooltip-mode: t
>>   global-eldoc-mode: t
>>   show-paren-mode: t
>>   electric-indent-mode: t
>>   mouse-wheel-mode: t
>>   tool-bar-mode: t
>>   menu-bar-mode: t
>>   file-name-shadow-mode: t
>>   global-font-lock-mode: t
>>   blink-cursor-mode: t
>>   buffer-read-only: t
>>   line-number-mode: t
>>   indent-tabs-mode: t
>>   transient-mark-mode: t
>>   auto-composition-mode: t
>>   auto-encryption-mode: t
>>   auto-compression-mode: t
>>
>> Load-path shadows:
>> None found.
>>
>> Features:
>> (shadow sort mail-extr emacsbug message mailcap yank-media puny dired
>> dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
>> epg-config gnus-util text-property-search time-date mm-decode mm-bodies
>> mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
>> rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils comp comp-cstr
>> warnings subr-x rx cl-seq cl-macs gv cl-extra help-mode bytecomp
>> byte-compile cus-edit pp cus-start cus-load icons wid-edit cl-loaddefs
>> cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify
>> ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
>> term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
>> tabulated-list replace newcomment text-mode lisp-mode prog-mode register
>> page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
>> scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
>> frame minibuffer nadvice seq simple cl-generic indonesian philippine
>> cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
>> korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
>> european ethiopic indian cyrillic chinese composite emoji-zwj charscript
>> charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
>> cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
>> files window text-properties overlay sha1 md5 base64 format env
>> code-pages mule custom widget keymap hashtable-print-readable backquote
>> threads dbusbind inotify lcms2 dynamic-setting system-font-setting
>> font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty
>> make-network-process native-compile emacs)
>>
>> Memory information:
>> ((conses 16 105675 8530)
>>  (symbols 48 8853 7)
>>  (strings 32 23487 2243)
>>  (string-bytes 1 691014)
>>  (vectors 16 17555)
>>  (vector-slots 8 353713 18074)
>>  (floats 8 39 42)
>>  (intervals 56 579 2)
>>  (buffers 984 14))

-- 
Cheers,
haj





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#76851; Package emacs. Full text available.

Message received at 76851 <at> debbugs.gnu.org:


Received: (at 76851) by debbugs.gnu.org; 8 Mar 2025 08:01:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 08 03:01:49 2025
Received: from localhost ([127.0.0.1]:52627 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tqp80-0007Ml-Hc
	for submit <at> debbugs.gnu.org; Sat, 08 Mar 2025 03:01:49 -0500
Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]:53612)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>)
 id 1tqp7v-0007MA-JG
 for 76851 <at> debbugs.gnu.org; Sat, 08 Mar 2025 03:01:47 -0500
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5e033c2f106so2647984a12.3
 for <76851 <at> debbugs.gnu.org>; Sat, 08 Mar 2025 00:01:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1741420897; x=1742025697; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=ElMbwrLA06vAefUbnhWRA9gXnYF7Az/ZsBiBVHzc8gA=;
 b=UyFlZfDeKa5BQ7WK1tow6HMFc2fOfP21bH7vlM13vXohSfiMr4jM6w+vWMWsn5YZuo
 rdjOS4qiHgwznQ7RdpvkXJMSROWr/7qEJ//3rB8oLjnX7uOyqPrrV1uUa8/LSJnjosur
 +hkB+1+uF0R07ZS8gtGqObs+lZh7q4d8qKV+Q5Ns8OIR6R+3WBvFh2/D+uvIK9gIaY0t
 mHp69yZ3jhldlEGdZxdup8D0OEO+NkBa6OWRmCr9hEI9A4BZvwKgA6wCHU8V+aJERokU
 5qQg63vPd5h65o4eZxX+wfujiuQOAE7t0rHXxQrwSTF0mBtftG/SAkOtRzYCBEeMUMUO
 H6ig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1741420897; x=1742025697;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:x-gm-message-state:from:to
 :cc:subject:date:message-id:reply-to;
 bh=ElMbwrLA06vAefUbnhWRA9gXnYF7Az/ZsBiBVHzc8gA=;
 b=R/ridfolYn2thHBX1rNBbi8rEtnQA7526drzxzgr7M6itpFaGY1yASxC4jyEYmSMQV
 QO3U99NQ/CcOdZKF6ImhUeggEM/Zf2F12jpeom8ZYYyEYNzKeeztQ5ZTcKhJ+0Rk3hPe
 8VBIZ96fXn9pygt59A02q12MWUMgPOs6nhs+uyvo6sWwnJylgbQ5GlgxIgveA2RqChgE
 07yzmxvV6UrBIV+ubMIS2EcsW1IEcTn2DcBUC9laZihtJ2+gu56wnkfrsfx4RiVmLRbX
 9oPzf5zpPRgkUOufxcE4Djh08M+MsXXP2hzXyFuq3av2oWpK5SsofzHoqlP1OPRzvvf4
 Ww3A==
X-Forwarded-Encrypted: i=1;
 AJvYcCUvo7L7p9CiQcfjaerWh8p/6WCrMleyDwX7wkdKXvB3h5vFEBxy3IlcgB4XJWs+Az/MyTyxlQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxwzorQ+TBn3HR6Hr1wZf7UGyVueo7XqeiR/7NFp+KtHVj56JmY
 mOWcBy+E5qV8EURxEtvc9/b+Xlnh5GziqdLYA0aobXe2KwuEhhB3mnNv4tEXHPipFlaRHciE+XM
 y4/h6pG4ECw3zmATia8t8TynMf24=
X-Gm-Gg: ASbGncuysRBsnSDI2xa62IW6zxnWKAKr/YeQD3gYWYnsgHEXKuX9/RnQA4Aq2KGaA7Z
 b6kUPpmq5xZ0XB/Ed/IfViEbjcXVdkmb2JGPOSEu2w6v6JlOgRSkr73NrM38ffhET7Om+HGJCdi
 8pPvkRh0GyZ0Ft6+L5avwM17P2eQ==
X-Google-Smtp-Source: AGHT+IHAjEX029sC7PzeFwg4f+3hETrKzNZ/6ZOxDxQXv4o5W+MdIdFAXdFh8rQzim9yQ2q7SfNsTKhgsdhh6yUDsmU=
X-Received: by 2002:a05:6402:1d4c:b0:5e5:b53:fd49 with SMTP id
 4fb4d7f45d1cf-5e5e229e46emr13958549a12.3.1741420897021; Sat, 08 Mar 2025
 00:01:37 -0800 (PST)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sat, 8 Mar 2025 08:01:36 +0000
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <r9y0xgys0z.fsf@HIDDEN>
References: <r9y0xgys0z.fsf@HIDDEN>
MIME-Version: 1.0
Date: Sat, 8 Mar 2025 08:01:36 +0000
X-Gm-Features: AQ5f1JpoZassyD0uKvI1s4HryawebF460jUnkyHCkRYYsTvE4FHzmFRhZSwL_2Q
Message-ID: <CADwFkm=vdaX1iJxv5ODw-GuhQ5YFpCbYfkm++W5e==bw3v9X1A@HIDDEN>
Subject: Re: bug#76851: 29.4; cperl-mode builtin fcn indent bug and fix
To: John Ciolfi <ciolfi@HIDDEN>, 76851 <at> debbugs.gnu.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 76851
Cc: =?UTF-8?B?SGFyYWxkIErDtnJn?= <haj@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

John Ciolfi via "Bug reports for GNU Emacs, the Swiss army knife of text
editors" <bug-gnu-emacs@HIDDEN> writes:

> Hi
>
> Given this perl file:
>
>     sub test {
>         exec '/bin/echo',
>             'Your arguments are: ', @ARGV;
>     }
>
>     sub exec_fcn {
>     }
>
>         sub other {
>         }
>
> The 'sub other' is indented incorrectly (and all code following it).
>
> The fix is in cperl-after-block-and-statement-beg to not match exec_, i.e=
. we should
> not treat exec_fcn as a builtin. Attached is the fix.

Harald, any comments on this patch?

>
> Thanks,
> John
>
> --- a/cperl-mode.el
> +++ b/cperl-mode.el
> @@ -5606,8 +5606,16 @@ Do not look before LIM."
>  	 (progn
>  	   (forward-sexp -1)
>  	   (not
> +            ;; Used to indent functions like:
> +            ;;    exec 'prog',
> +            ;;        @ARGS;
> +            ;; [[:space:]] means we will not match exec_fcn and 'sub oth=
er' is indented correctly:
> +            ;;    sub exec_fcn {
> +            ;;    }
> +            ;;    sub other {
> +            ;;    }
>  	    (looking-at
> -	     "\\(map\\|grep\\|say\\|printf?\\|system\\|exec\\|tr\\|s\\)\\>"))))=
)))
> +	     "\\(map\\|grep\\|say\\|printf?\\|system\\|exec\\|tr\\|s\\)[[:space=
:]]")))))))
>
>  =0C
>  (defun cperl-indent-exp ()
>
> In GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38,
>  cairo version 1.16.0) of 2024-07-22, modified by Debian built on
>  x86-ubc-01
> Windowing system distributor 'The X.Org Foundation', version 11.0.1210100=
6
> System Description: Debian GNU/Linux 12 (bookworm)
>
> Configured using:
>  'configure --build x86_64-linux-gnu --prefix=3D/usr
>  --sharedstatedir=3D/var/lib --libexecdir=3D/usr/libexec
>  --localstatedir=3D/var/lib --infodir=3D/usr/share/info
>  --mandir=3D/usr/share/man --with-libsystemd --with-pop=3Dyes
>  --enable-locallisppath=3D/etc/emacs:/usr/local/share/emacs/29.4/site-lis=
p:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.4/site-lisp:/usr/sha=
re/emacs/site-lisp
>  --with-sound=3Dalsa --without-gconf --with-mailutils
>  --with-native-compilation --build x86_64-linux-gnu --prefix=3D/usr
>  --sharedstatedir=3D/var/lib --libexecdir=3D/usr/libexec
>  --localstatedir=3D/var/lib --infodir=3D/usr/share/info
>  --mandir=3D/usr/share/man --with-libsystemd --with-pop=3Dyes
>  --enable-locallisppath=3D/etc/emacs:/usr/local/share/emacs/29.4/site-lis=
p:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.4/site-lisp:/usr/sha=
re/emacs/site-lisp
>  --with-sound=3Dalsa --without-gconf --with-mailutils
>  --with-native-compilation --with-cairo --with-x=3Dyes
>  --with-x-toolkit=3Dgtk3 --with-toolkit-scroll-bars 'CFLAGS=3D-g -O2
>  -ffile-prefix-map=3D/build/reproducible-path/emacs-29.4+1=3D. -fstack-pr=
otector-strong
>  -Wformat -Werror=3Dformat-security -Wall' 'CPPFLAGS=3D-Wdate-time
>  -D_FORTIFY_SOURCE=3D2' LDFLAGS=3D-Wl,-z,relro'
>
> Configured features:
> ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
> JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES
> NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3
> THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2
> XPM GTK3 ZLIB
>
> Important settings:
>   value of $LANG: en_US.UTF-8
>   locale-coding-system: utf-8-unix
>
> Major mode: Fundamental
>
> Minor modes in effect:
>   tooltip-mode: t
>   global-eldoc-mode: t
>   show-paren-mode: t
>   electric-indent-mode: t
>   mouse-wheel-mode: t
>   tool-bar-mode: t
>   menu-bar-mode: t
>   file-name-shadow-mode: t
>   global-font-lock-mode: t
>   blink-cursor-mode: t
>   buffer-read-only: t
>   line-number-mode: t
>   indent-tabs-mode: t
>   transient-mark-mode: t
>   auto-composition-mode: t
>   auto-encryption-mode: t
>   auto-compression-mode: t
>
> Load-path shadows:
> None found.
>
> Features:
> (shadow sort mail-extr emacsbug message mailcap yank-media puny dired
> dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
> epg-config gnus-util text-property-search time-date mm-decode mm-bodies
> mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
> rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils comp comp-cstr
> warnings subr-x rx cl-seq cl-macs gv cl-extra help-mode bytecomp
> byte-compile cus-edit pp cus-start cus-load icons wid-edit cl-loaddefs
> cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify
> ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
> term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
> tabulated-list replace newcomment text-mode lisp-mode prog-mode register
> page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
> scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
> frame minibuffer nadvice seq simple cl-generic indonesian philippine
> cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
> korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
> european ethiopic indian cyrillic chinese composite emoji-zwj charscript
> charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
> cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
> files window text-properties overlay sha1 md5 base64 format env
> code-pages mule custom widget keymap hashtable-print-readable backquote
> threads dbusbind inotify lcms2 dynamic-setting system-font-setting
> font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty
> make-network-process native-compile emacs)
>
> Memory information:
> ((conses 16 105675 8530)
>  (symbols 48 8853 7)
>  (strings 32 23487 2243)
>  (string-bytes 1 691014)
>  (vectors 16 17555)
>  (vector-slots 8 353713 18074)
>  (floats 8 39 42)
>  (intervals 56 579 2)
>  (buffers 984 14))




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#76851; Package emacs. Full text available.
Added tag(s) patch. Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 8 Mar 2025 06:09:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Mar 08 01:09:35 2025
Received: from localhost ([127.0.0.1]:52301 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tqnNO-0001Im-Pk
	for submit <at> debbugs.gnu.org; Sat, 08 Mar 2025 01:09:35 -0500
Received: from lists.gnu.org ([2001:470:142::17]:35502)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <ciolfi@HIDDEN>)
 id 1tqnNL-0001IT-Nu
 for submit <at> debbugs.gnu.org; Sat, 08 Mar 2025 01:09:32 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ciolfi@HIDDEN>)
 id 1tqnNC-0001CF-CV
 for bug-gnu-emacs@HIDDEN; Sat, 08 Mar 2025 01:09:23 -0500
Received: from us-smtp-delivery-120.mimecast.com ([170.10.129.120])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ciolfi@HIDDEN>)
 id 1tqnN8-0002Wl-9M
 for bug-gnu-emacs@HIDDEN; Sat, 08 Mar 2025 01:09:21 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mathworks.com;
 s=mimecast20180117; t=1741414156;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:mime-version:mime-version:content-type:content-type;
 bh=6Jsj6DyGcTPtWuMixgR3jn5IqsqLml//LL17u0guPsU=;
 b=QtrEET43dKTomMReNfpPX/eh51Wg0PzZ+fSex9rHUiDCaZTCcmtfPBcewZ0VIhf9sQpSrr
 vyDspJ5b3y9qOqH2BDf4z2nlCCBcVI4qWktaqWLM5jfBQuDJsHqESM6xzeG6oJHp9PMI3i
 pZZFrUIBV7qVjNYKZUqRPhOt0ucD+jk=
Received: from SA9PR02CU001.outbound.protection.outlook.com
 (mail-southcentralusazlp17011024.outbound.protection.outlook.com
 [40.93.14.24]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-315-ZysMknbmN765HFn9Hlb6mQ-2; Sat, 08 Mar 2025 01:07:30 -0500
X-MC-Unique: ZysMknbmN765HFn9Hlb6mQ-2
X-Mimecast-MFC-AGG-ID: ZysMknbmN765HFn9Hlb6mQ_1741414050
Received: from BY3PR10CA0003.namprd10.prod.outlook.com (2603:10b6:a03:255::8)
 by SJ0PR05MB9280.namprd05.prod.outlook.com (2603:10b6:a03:477::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.19; Sat, 8 Mar
 2025 06:07:26 +0000
Received: from MWH0EPF000A672E.namprd04.prod.outlook.com
 (2603:10b6:a03:255:cafe::88) by BY3PR10CA0003.outlook.office365.com
 (2603:10b6:a03:255::8) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.22 via Frontend Transport; Sat,
 8 Mar 2025 06:07:25 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 144.212.100.35)
 smtp.mailfrom=mathworks.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=mathworks.com
Received: from exedge.mathworks.com (144.212.100.35) by
 MWH0EPF000A672E.mail.protection.outlook.com (10.167.249.20) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.8511.15 via Frontend Transport; Sat, 8 Mar 2025 06:07:25 +0000
Received: from EX1901AH.mathworks.com (172.31.53.42) by
 EX19EDGE00AH.mathworks.com (172.31.187.34) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1544.14; Sat, 8 Mar 2025 01:08:47 -0500
Received: from EX1900AH.mathworks.com (172.31.53.33) by EX1901AH.mathworks.com
 (172.31.53.42) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sat, 8 Mar
 2025 01:07:24 -0500
Received: from mail-vif.mathworks.com (144.212.95.101) by
 EX1900AH.mathworks.com (172.31.53.33) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1544.14 via Frontend Transport; Sat, 8 Mar 2025 01:07:24 -0500
Received: from ah-ciolfi-l.dhcp.mathworks.com (ah-ciolfi-l.dhcp.mathworks.com
 [172.21.82.138])
 by mail-vif.mathworks.com (8.14.7/8.14.7) with ESMTP id 52867OKT030422
 for <bug-gnu-emacs@HIDDEN>; Sat, 8 Mar 2025 01:07:24 -0500
Received: from ah-ciolfi-l.dhcp.mathworks.com (localhost [127.0.0.1])
 by ah-ciolfi-l.dhcp.mathworks.com (8.17.1.9/8.17.1.9/Debian-2+deb12u2) with
 ESMTP id 52867OKo3633489
 for <bug-gnu-emacs@HIDDEN>; Sat, 8 Mar 2025 01:07:24 -0500
Received: (from ciolfi@localhost)
 by ah-ciolfi-l.dhcp.mathworks.com (8.17.1.9/8.17.1.9/Submit) id
 52867OAc3633488; Sat, 8 Mar 2025 01:07:24 -0500
X-Authentication-Warning: ah-ciolfi-l.dhcp.mathworks.com: ciolfi set sender to
 ciolfi@HIDDEN using -f
From: John Ciolfi <ciolfi@HIDDEN>
To: <bug-gnu-emacs@HIDDEN>
Subject: 29.4; cperl-mode builtin fcn indent bug and fix
Date: Sat, 8 Mar 2025 01:07:24 -0500
Message-ID: <r9y0xgys0z.fsf@HIDDEN>
MIME-Version: 1.0
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000A672E:EE_|SJ0PR05MB9280:EE_
X-MS-Office365-Filtering-Correlation-Id: 047a7f3d-16e4-4794-e1e9-08dd5e077fc2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
 ARA:13230040|1800799024|36860700013|82310400026|376014|4053099003
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?P6lAMxKFefYbEr0VFMOSMS6KzWxd4LLXYcpZ/lkcQK/1rI7UYZyrSkfq4ywp?=
 =?us-ascii?Q?Rc4AxqoYo0AfPsN+J2BZwY3ve1BbOLWQI9bM3uu+qTPem+wmSC3viZLRL736?=
 =?us-ascii?Q?KiBFnyN3SFAs/hNiw4fi5vYR0F0B7WE8z9wTt0+yIyJ9reyWP38PkvPQwO46?=
 =?us-ascii?Q?aXXKaRTo0GdPGb9I6tKKeEz8R8/JJ7UDH0woSHdHyWl9VejZepLZ7F6nl7RT?=
 =?us-ascii?Q?6rvmI9v9sL26tmigQ4/nh4nAoqZMiKrA3Vvoy5kdz6E+Nrb0WTci42NYUXVk?=
 =?us-ascii?Q?RbYt8nZEGTrGMncV39H4Ve862Esz7r/IvKvV8LEN0XCMqdwS4Z9RAbFR/OGT?=
 =?us-ascii?Q?OPJWN8IZ1gTe+4wl4wOC+Lj/DxnNzMK8Sly0i0msPSb3tgzJpHSDkq+dTIp+?=
 =?us-ascii?Q?D6df0HLNMrJ6cB7GfaMZYW9EypzYtotpM2qEUAc6p+/714nwXR2IDBbWtW14?=
 =?us-ascii?Q?bEoyze3cOfd8U40dhJPFL480R4j6HLe6CAtpEOZSPUnFRv1kHv7pLzC0yyCw?=
 =?us-ascii?Q?y94DcHbo4HJUCaVq6jv+6LuhkJvyneHVtrXWbC3onjTK/YM0uy/UdKql6BNW?=
 =?us-ascii?Q?MzxNuPg0VIjbHqEuGd9cdoCs4Xx2v8uyuHE45gKu2877W8/wGc0HuZX5t6si?=
 =?us-ascii?Q?X7lpQgwM3fpSbDpw89l49pqukpLpKXQJBct/MATzQYPsIsxZNop9DrxjcZr8?=
 =?us-ascii?Q?GAOMhNCIn72fjWfjhqTuKXiD4ReNLNLqUujnEN2Hb2ANpen0iANXe75DKWM4?=
 =?us-ascii?Q?FfGgnsbzAxHply7OI1u75njfpkFDIK1oZ9KJJPBHpOCkrWV0BPYPVhBgK1Wg?=
 =?us-ascii?Q?6w0sCdmoU8hTfPHR4/XLwtoR8vJN0J7X0Q6t/wEIVv3WcUQ+Bon9sBacoiRN?=
 =?us-ascii?Q?AKV0dWslL3bmL4FLetrNLT+xT4ucrAr4B8ZxKMgnjt+S9WLoK58UXhd5vh9f?=
 =?us-ascii?Q?J6n2YAWWiodJPe1nzluXybuo64neyDHe27Yt2EpXX6BXMPe6c3YwY8sU/Jyv?=
 =?us-ascii?Q?LTfpV+IfvslNUz0hCvECGa/RagjRcxxwOrjpK3c5B0IrWc4ppQDLvTsH1idY?=
 =?us-ascii?Q?mFnJZLezMqjGWz757cc+Q9hJyUTtiOzZKt/0KtRrAhOtKehBUfgS2oGg74pb?=
 =?us-ascii?Q?SQxcwpit6Vi1KpaBZZZy6y3XkjmGLuFA0vwCG9JSxHUOFPFmGWO95HUSRXML?=
 =?us-ascii?Q?AttDWy7v++JpE8+kyK3M7Frp8W0+S2ujSR6++BJe0zwlnRTMKnTJB+VvQPzz?=
 =?us-ascii?Q?Ny/4eoSeifHfdajDlYmaEcnRM3Ml0QpAk9JDzbksfl5sJGbUur9zwOX74dvX?=
 =?us-ascii?Q?/m9/y/tHNFEMW4hnNDPVBdwItM2O/Wagq7kgU2gNsZXl60meqzrYtTMgT8GC?=
 =?us-ascii?Q?N/Q5ljFn5k25vjUcsZcbYV59WjjI3ogEiYtLTuSLJlv346P1WM3ijmDOxXGv?=
 =?us-ascii?Q?Wz8v6Guj/3PsKb0xSgQ4anVjgWr3yDqmWjKf9LV4Gpltj9uGiNCWzg=3D=3D?=
X-Forefront-Antispam-Report: CIP:144.212.100.35; CTRY:US; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:exedge.mathworks.com; PTR:mxgw-ah.mathworks.com; CAT:NONE;
 SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014)(4053099003);
 DIR:OUT; SFP:1101
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ZAUrzqk2qmghaoN6P/YPP/+jOIbu7AA5k77kDvyL/zzjGiO2mbnHbpdGprzcsqX8A1bSNAR8njipk7WI9DmlGEI2p+IAX2mjSqNL44eLmvbB6we53ztY3DT3lOX1L3Qopacujo1Nmb9fdTxbgB7zgGJiO/0LScXgacxxaqFBLm57zk2ncBjGbxAPX1GJx5568miMlZkVhoHNUDIBOSFxjRqbsdXkidtSpRs4Rum36xqzWCi7Pt1/RBdh3JrKoFvB4jM0/G/Fj7s36jTCfypWh6UiHyN3/BUtlBsVYZ2xn2+buVtUDTzHfv0aQB6/IJsl+iBiDKKUaL9gMFK2lv6VTRdsf1NKbdCPE3TsEoc/bII8SKyDmGHi0bBAvX9qcv99gWa5L+M9SgTNIpklWLNF/AbPvAXvz0V0I9kWG3p+Bvr61HS1WEarBBpxpHW5wQClb/cT8gr20ty9NYkIzVpd2jFrvJGL1f4tclYwhzmESVWZ4IQKI2u7cVC0rjPleqOPQ2gCef/l5UE5sdni+IknMi3oHd7mXs0V/At+mRV7fgbTMgTSV7vZl3sR6qB/RObwrt3PWvA/P4ZomPAXPATICBRXQbvG9gmvteXsCNTKKHA=
X-OriginatorOrg: mathworks.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2025 06:07:25.5082 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 047a7f3d-16e4-4794-e1e9-08dd5e077fc2
X-MS-Exchange-CrossTenant-Id: 99dd3a11-4348-4468-9bdd-e5072b1dc1e6
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=99dd3a11-4348-4468-9bdd-e5072b1dc1e6; Ip=[144.212.100.35];
 Helo=[exedge.mathworks.com]
X-MS-Exchange-CrossTenant-AuthSource: MWH0EPF000A672E.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR05MB9280
X-Mimecast-Spam-Score: 0
X-Mimecast-MFC-PROC-ID: Ixwls0h0jdVbQ4OZcoM-3jdVH4AH8FvJA8U4AcV0NTU_1741414050
X-Mimecast-Originator: mathworks.com
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=170.10.129.120; envelope-from=ciolfi@HIDDEN;
 helo=us-smtp-delivery-120.mimecast.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

--=-=-=
Content-Type: text/plain; charset=WINDOWS-1252
Content-Transfer-Encoding: quoted-printable


Hi

Given this perl file:

    sub test {
        exec '/bin/echo',
            'Your arguments are: ', @ARGV;
    }
   =20
    sub exec_fcn {
    }
   =20
        sub other {
        }

The 'sub other' is indented incorrectly (and all code following it).

The fix is in cperl-after-block-and-statement-beg to not match exec_, i.e. =
we should
not treat exec_fcn as a builtin. Attached is the fix.

Thanks,
John


--=-=-=
Content-Type: text/x-diff; name=cperl-mode-builtin-fix.patch; 
	charset=WINDOWS-1252
Content-Disposition: inline; filename="cperl-mode-builtin-fix.patch"
Content-Description: cperl-mode-builtin-fix.patch
Content-Transfer-Encoding: quoted-printable

--- a/cperl-mode.el
+++ b/cperl-mode.el
@@ -5606,8 +5606,16 @@ Do not look before LIM."
 =09 (progn
 =09   (forward-sexp -1)
 =09   (not
+            ;; Used to indent functions like:
+            ;;    exec 'prog',
+            ;;        @ARGS;
+            ;; [[:space:]] means we will not match exec_fcn and 'sub other=
' is indented correctly:
+            ;;    sub exec_fcn {
+            ;;    }
+            ;;    sub other {
+            ;;    }
 =09    (looking-at
-=09     "\\(map\\|grep\\|say\\|printf?\\|system\\|exec\\|tr\\|s\\)\\>"))))=
)))
+=09     "\\(map\\|grep\\|say\\|printf?\\|system\\|exec\\|tr\\|s\\)[[:space=
:]]")))))))
=20
 =0C
 (defun cperl-indent-exp ()

--=-=-=
Content-Type: text/plain; name=ATT00001; charset=WINDOWS-1252
Content-Description: ATT00001
Content-Disposition: attachment; filename="ATT00001"
Content-Transfer-Encoding: quoted-printable


In GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38,
 cairo version 1.16.0) of 2024-07-22, modified by Debian built on
 x86-ubc-01
Windowing system distributor 'The X.Org Foundation', version 11.0.12101006
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
 'configure --build x86_64-linux-gnu --prefix=3D/usr
 --sharedstatedir=3D/var/lib --libexecdir=3D/usr/libexec
 --localstatedir=3D/var/lib --infodir=3D/usr/share/info
 --mandir=3D/usr/share/man --with-libsystemd --with-pop=3Dyes
 --enable-locallisppath=3D/etc/emacs:/usr/local/share/emacs/29.4/site-lisp:=
/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.4/site-lisp:/usr/share=
/emacs/site-lisp
 --with-sound=3Dalsa --without-gconf --with-mailutils
 --with-native-compilation --build x86_64-linux-gnu --prefix=3D/usr
 --sharedstatedir=3D/var/lib --libexecdir=3D/usr/libexec
 --localstatedir=3D/var/lib --infodir=3D/usr/share/info
 --mandir=3D/usr/share/man --with-libsystemd --with-pop=3Dyes
 --enable-locallisppath=3D/etc/emacs:/usr/local/share/emacs/29.4/site-lisp:=
/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.4/site-lisp:/usr/share=
/emacs/site-lisp
 --with-sound=3Dalsa --without-gconf --with-mailutils
 --with-native-compilation --with-cairo --with-x=3Dyes
 --with-x-toolkit=3Dgtk3 --with-toolkit-scroll-bars 'CFLAGS=3D-g -O2
 -ffile-prefix-map=3D/build/reproducible-path/emacs-29.4+1=3D. -fstack-prot=
ector-strong
 -Wformat -Werror=3Dformat-security -Wall' 'CPPFLAGS=3D-Wdate-time
 -D_FORTIFY_SOURCE=3D2' LDFLAGS=3D-Wl,-z,relro'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES
NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3
THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2
XPM GTK3 ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils comp comp-cstr
warnings subr-x rx cl-seq cl-macs gv cl-extra help-mode bytecomp
byte-compile cus-edit pp cus-start cus-load icons wid-edit cl-loaddefs
cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 105675 8530)
 (symbols 48 8853 7)
 (strings 32 23487 2243)
 (string-bytes 1 691014)
 (vectors 16 17555)
 (vector-slots 8 353713 18074)
 (floats 8 39 42)
 (intervals 56 579 2)
 (buffers 984 14))

--=-=-=--





Acknowledgement sent to John Ciolfi <ciolfi@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#76851; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sat, 8 Mar 2025 10:00:02 UTC

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