From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Harald =?UTF-8?Q?J=C3=B6rg?= Newsgroups: gmane.emacs.bugs Subject: bug#66050: Making perl-mode.el obsolete Date: Mon, 25 Sep 2023 08:33:02 +0000 Message-ID: <87ttrir6td.fsf@oook.m.uunet.de> References: <4963b74f-7723-c473-afe3-2c3f84324217@gmail.com> <87jzsfw6t8.fsf@oook.m.uunet.de> <9915f301-1808-8548-df5e-040e3c028714@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20332"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Corwin Brust , 66050@debbugs.gnu.org, Stefan Kangas , rms@gnu.org, monnier@iro.umontreal.ca To: Mauro Aranda Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Sep 25 10:34:11 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qkh2h-00052G-HH for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 25 Sep 2023 10:34:11 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkh2O-0003hB-Jq; Mon, 25 Sep 2023 04:33:52 -0400 Original-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 ) id 1qkh2M-0003gu-FQ for bug-gnu-emacs@gnu.org; Mon, 25 Sep 2023 04:33:50 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkh2L-0006XM-NE for bug-gnu-emacs@gnu.org; Mon, 25 Sep 2023 04:33:50 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qkh2X-000727-Uf for bug-gnu-emacs@gnu.org; Mon, 25 Sep 2023 04:34:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Harald =?UTF-8?Q?J=C3=B6rg?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 25 Sep 2023 08:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66050 X-GNU-PR-Package: emacs Original-Received: via spool by 66050-submit@debbugs.gnu.org id=B66050.169563080626983 (code B ref 66050); Mon, 25 Sep 2023 08:34:01 +0000 Original-Received: (at 66050) by debbugs.gnu.org; 25 Sep 2023 08:33:26 +0000 Original-Received: from localhost ([127.0.0.1]:44100 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qkh1y-000718-48 for submit@debbugs.gnu.org; Mon, 25 Sep 2023 04:33:26 -0400 Original-Received: from mout02.posteo.de ([185.67.36.66]:50377) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qkh1v-00070v-Bm for 66050@debbugs.gnu.org; Mon, 25 Sep 2023 04:33:25 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 25001240106 for <66050@debbugs.gnu.org>; Mon, 25 Sep 2023 10:33:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1695630785; bh=2nka5rVILeG7ljGgkvcnEEj0rscfEa7efaCb/5OZ6BQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version: Content-Transfer-Encoding:From; b=M7+09vGd6j6K9hKXfE+viaOO/BPhBv6A45TrOi31Pr2kSnMBOqDoOBIccg92v+lbs c1g3GfpYc5UI0LdTvnqgelmFZJn5ixOKBn2dBCa7PNZCclH+FLKV/ou3P82EOYby21 BvoZYGJdB5Zm1j5Zjzv6aS66Jwtb4vyPMf193Wjwdjtk/AEsYRVukd25tZz3eZ7XkU zHe8ZUd2TjSXK+gOX1sTNEiO21L9ldCEAsClZ6eDK2ETpBNai7cVJ7LBLDqVQATFIZ QoYRp/3pIgWDR2liLMmIeD5KMGEUqWVHyWGtes6j5GqqfMihXzn6Qb/z9V22fsPUo4 DAmNnbVBFaMJg== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4RvGNH48j3z9rxR; Mon, 25 Sep 2023 10:33:03 +0200 (CEST) In-Reply-To: <9915f301-1808-8548-df5e-040e3c028714@gmail.com> (Mauro Aranda's message of "Sun, 24 Sep 2023 19:40:10 -0300") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:271305 Archived-At: Mauro Aranda writes: > On 24/9/23 19:21, Harald J=C3=B6rg wrote: >> Mauro Aranda writes: >> >>> In addition to what Jens Schmidt said, I can add that: >>> >>> 1. If I have something like: >>> my $some_code =3D ""; >>> $some_code.=3D q( >>> my $counter =3D 0; >>> ); >>> >>> If I put point at column 0 of the line "my $counter", and hit TAB, I get >>> indentation in perl-mode. I don't in cperl-mode. I tried to look into >>> options for making this work but I couldn't find anything. >> >> I consider the behavior of perl-mode to be a bug. >> >> Whatever is within the parens of q(...) is a string, and will be >> assigned to the variable $some_code. By "indenting", perl-mode changes >> the value of $some_code by adding spaces. In my opinion, indenting >> should change the optical layout, but not the code! > > I might be completely wrong about this, but I have the feeling that > TAB behaves differently because in perl-mode I see TAB is bound to > indent-for-tab-command (this is not in emacs -Q, just in case it has > something to do with that). > > So, TAB is not really indenting (as I said originally, sorry), but > adding a TAB character upon request. And yes, in this case I want to > change the code, so TAB is not doing anything incorrect here, I think. I apologize! I made a mistake here: I am so addicted to cperl-tab-always-indent (t by default) that it didn't occur to me to even *try* to insert a tab character! And indeed, cperl-mode does not insert a tab character. Even if cperl-tab-always-indent is nil, it doesn't insert a character if point is in the left margin. This is documented in the docstring of cperl-indent-command. This behavior of cperl-mode is weird and it makes sense to find a way to make insert a tab character. (A workaround is , but that isn't convincing) >>> 2. While I'm typing the above string, I get messages about string/RE not >>> found: >>> End of =E2=80=98q( ... )=E2=80=99 string/RE not found: (scan-error Unba= lanced >>> parentheses 1092 1874) >>> End of =E2=80=98q( ... )=E2=80=99 string/RE not found: (scan-error Unba= lanced >>> parentheses 1092 1918) [2 times] >>> End of =E2=80=98q( ... )=E2=80=99 string/RE not found: (scan-error Unba= lanced >>> parentheses 1092 1962) [2 times] >>> >>> That's annoying. >> >> The message is technically correct, and generally I consider the ability >> of cperl-mode to locate syntax errors useful. But I understand that it >> can be annoying while you're typing (I myself don't see these messages >> because I use paredit-mode, but I understand that not everyone wants >> this electricity). I guess that a way to optionally suppress these >> messages can be found. > > Sure is correct, but I'm used to see messages like those when I have > really screwed up (typically editing an elisp file and making > forward-sexp fail). Not while I'm typing. To me, it feels better to > have kind of a visual indication, like when you are entering a string > and everything fontifies as a string so you are reminded you better > close it. I agree. Stefan Monnier has suggested how this could be handled in his reply, and I think this would be an improvement to cperl-mode in general (independent of using it as a replacement for perl-mode). >>> So far, my settings for getting a perl-mode experience in cperl-mode, >>> with emacs -Q: (taken from a custom file): >>> '(cperl-highlight-variables-indiscriminately t) >>> '(cperl-indent-level 4) >>> '(cperl-indent-parens-as-block t) >>> '(cperl-invalid-face 'default) >> ,> >>> '(cperl-array-face ((t (:inherit cperl-hash-face)))) >>> '(cperl-hash-face ((t (:underline t :inherit >>> font-lock-variable-name-face)))) >>> '(cperl-nonoverridable-face ((t (:inherit default)))) >> >> Thanks for collecting this! > > You're welcome. I'm still trying to figure out if there are more > settings to tweak. Together with the settings that need to be added for > a smooth perl-mode -> cperl-mode transition, they could be placed in a > cperl-perl-mode-users-asylum-theme ;-) Yes, a custom theme seems to be the way to go. --=20 Cheers, haj