From unknown Mon Jun 23 02:21:35 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#5055 <5055@debbugs.gnu.org> To: bug#5055 <5055@debbugs.gnu.org> Subject: Status: 23.1; etags of perl "use constant" Reply-To: bug#5055 <5055@debbugs.gnu.org> Date: Mon, 23 Jun 2025 09:21:35 +0000 retitle 5055 23.1; etags of perl "use constant" reassign 5055 emacs submitter 5055 Kevin Ryde severity 5055 normal tag 5055 patch thanks From gg@zip.com.au Thu Nov 26 16:18:04 2009 Received: (at submit) by emacsbugs.donarmstrong.com; 27 Nov 2009 00:18:04 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-0.8 required=4.0 tests=AWL,FOURLA autolearn=no version=3.2.5-bugs.debian.org_2005_01_02 Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id nAR0I2cg018672 for ; Thu, 26 Nov 2009 16:18:04 -0800 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NDoXC-0003VE-3q for bug-gnu-emacs@gnu.org; Thu, 26 Nov 2009 19:18:02 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NDoX6-0003Sf-TL for bug-gnu-emacs@gnu.org; Thu, 26 Nov 2009 19:18:01 -0500 Received: from [199.232.76.173] (port=41538 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NDoX6-0003Sa-PY for bug-gnu-emacs@gnu.org; Thu, 26 Nov 2009 19:17:56 -0500 Received: from mailout2-5.pacific.net.au ([61.8.2.228]:51262 helo=mailout2.pacific.net.au) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NDoX6-0007sp-0l for bug-gnu-emacs@gnu.org; Thu, 26 Nov 2009 19:17:56 -0500 Received: from mailproxy1.pacific.net.au (mailproxy1.pacific.net.au [61.8.2.162]) by mailout2.pacific.net.au (Postfix) with ESMTP id EC47019F1F6 for ; Fri, 27 Nov 2009 11:17:51 +1100 (EST) Received: from blah.blah (ppp2F4D.dyn.pacific.net.au [61.8.47.77]) by mailproxy1.pacific.net.au (Postfix) with ESMTP id 55B568C5D for ; Fri, 27 Nov 2009 11:17:50 +1100 (EST) Received: from gg by blah.blah with local (Exim 4.69) (envelope-from ) id 1NDoWX-0002Uj-2M for bug-gnu-emacs@gnu.org; Fri, 27 Nov 2009 11:17:21 +1100 From: Kevin Ryde To: bug-gnu-emacs@gnu.org Subject: 23.1; etags of perl "use constant" Date: Fri, 27 Nov 2009 11:17:20 +1100 Message-ID: <87ocmo4y9b.fsf@blah.blah> User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) --=-=-= It'd be good if etags recognised perl constants like use constant FOO => 123; which defines a subroutine called FOO, basically the same as if you wrote sub FOO () { return 123 } "constant::defer" in the diff below is one of my things. Is it too cheeky to slip that in? It's on cpan, but probably used only by me as yet :-). 2009-11-27 Kevin Ryde * etags.c (Perl_functions): Tag "use constant" subs too. * maintaining.texi (Tag Syntax): Add Perl "use constant". --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=etags-perl-constant.diff Index: lib-src/etags.c =================================================================== RCS file: /sources/emacs/emacs/lib-src/etags.c,v retrieving revision 3.93 diff -u -r3.93 etags.c --- lib-src/etags.c 23 Nov 2009 09:51:06 -0000 3.93 +++ lib-src/etags.c 27 Nov 2009 00:05:52 -0000 @@ -4388,6 +4388,7 @@ /* * Perl support * Perl sub names: /^sub[ \t\n]+[^ \t\n{]+/ + * /^use constant[ \t\n]+[^ \t\n{=,;]+/ * Perl variable names: /^(my|local).../ * Original code by Bart Robinson (1995) * Additions by Michael Ernst (1997) @@ -4411,9 +4412,9 @@ } else if (LOOKING_AT (cp, "sub")) { - char *pos; - char *sp = cp; - + char *pos, *sp; + subr: + sp = cp; while (!notinname (*cp)) cp++; if (cp == sp) @@ -4436,6 +4437,21 @@ lb.buffer, cp - lb.buffer + 1, lineno, linecharno); free (name); } + } + else if (LOOKING_AT (cp, "use constant") + || LOOKING_AT (cp, "use constant::defer")) + { + /* For hash style multi-constant like + * use constant { FOO => 123, + * BAR => 456 }; + * only the first FOO is picked up. Parsing across the value + * expressions would be difficult in general, due to possible nested + * hashes, here-documents, etc. Maybe simple values could be + * handled. + */ + if (*cp == '{') + cp = skip_spaces (cp+1); + goto subr; } else if (globals) /* only if we are tagging global vars */ { Index: doc/emacs/maintaining.texi =================================================================== RCS file: /sources/emacs/emacs/doc/emacs/maintaining.texi,v retrieving revision 1.22 diff -u -r1.22 maintaining.texi --- doc/emacs/maintaining.texi 11 Jul 2009 02:49:07 -0000 1.22 +++ doc/emacs/maintaining.texi 27 Nov 2009 00:06:02 -0000 @@ -1681,7 +1681,8 @@ @item In Perl code, the tags are the packages, subroutines and variables -defined by the @code{package}, @code{sub}, @code{my} and @code{local} +defined by the @code{package}, @code{sub}, @code{use constant}, +@code{my} and @code{local} keywords. Use @samp{--globals} if you want to tag global variables. Tags for subroutines are named @samp{@var{package}::@var{sub}}. The name for subroutines defined in the default package is --=-=-= In GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.16.5) of 2009-09-14 on raven, modified by Debian configured using `configure '--build=i486-linux-gnu' '--host=i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.1/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.1/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS='' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_AU value of $XMODIFIERS: nil locale-coding-system: iso-latin-1-unix default-enable-multibyte-characters: t --=-=-=-- From rgm@gnu.org Sun Nov 29 22:58:37 2009 Received: (at control) by emacsbugs.donarmstrong.com; 30 Nov 2009 06:58:37 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-5.2 required=4.0 tests=AWL,MURPHY_DRUGS_REL8,ONEWORD, VALID_BTS_CONTROL,X_DEBBUGS_NO_ACK autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id nAU6waJ5006507 for ; Sun, 29 Nov 2009 22:58:37 -0800 Received: from rgm by fencepost.gnu.org with local (Exim 4.67) (envelope-from ) id 1NF0DT-0005PI-E2; Mon, 30 Nov 2009 01:58:35 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <19219.27931.358249.789265@fencepost.gnu.org> Date: Mon, 30 Nov 2009 01:58:35 -0500 From: Glenn Morris To: control Subject: control X-Attribution: GM X-Mailer: VM (www.wonderworks.com/vm), GNU Emacs (www.gnu.org/software/emacs) X-Hue: cyan X-Ran: VL]'*R)c=$t~c-8qTG1VR#jSJ6Ti3os:"[0M<=6/G~Z4_:e{5yj'u.4laVU+liw:@R[2{^ X-Debbugs-No-Ack: yes reassign 5041 spam reassign 5044 spam reassign 5045 spam reassign 5048 spam reassign 5053 spam reassign 5057 spam reassign 5063 spam reassign 5065 spam reassign 5066 spam reassign 5073 spam reassign 5075 spam merge 5052 5043 severity 5052 wishlist tags 5052 patch reassign 5070 emacs,rmail reassign 5051 emacs,ns reassign 5055 emacs,etags From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 19 20:40:54 2010 Received: (at control) by debbugs.gnu.org; 20 Jan 2010 01:40:54 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NXPYz-0007Wd-5s for submit@debbugs.gnu.org; Tue, 19 Jan 2010 20:40:53 -0500 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NXPYl-0007WW-Uj for control@debbugs.gnu.org; Tue, 19 Jan 2010 20:40:52 -0500 Received: from rgm by fencepost.gnu.org with local (Exim 4.69) (envelope-from ) id 1NXPYi-0007Sl-Bs; Tue, 19 Jan 2010 20:40:36 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <19286.24340.350706.582414@gargle.gargle.HOWL> Date: Tue, 19 Jan 2010 20:40:36 -0500 From: Glenn Morris To: control Subject: control X-Attribution: GM X-Mailer: VM (www.wonderworks.com/vm), GNU Emacs (www.gnu.org/software/emacs) X-Hue: cyan X-Ran: 8WU:4P)DBN*0i&7=5k?sw9O_ List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.0 (-----) close 2951 tags 4206 moreinfo tags 3098 patch tags 2499 patch tags 5297 patch tags 5290 patch tags 1975 patch tags 4470 patch tags 5055 patch tags 3541 patch tags 2527 patch tags 5119 patch tags 2404 patch From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 30 20:25:31 2012 Received: (at 5055-done) by debbugs.gnu.org; 1 Dec 2012 01:25:31 +0000 Received: from localhost ([127.0.0.1]:47656 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Tebpj-0006LD-2y for submit@debbugs.gnu.org; Fri, 30 Nov 2012 20:25:31 -0500 Received: from mail-pb0-f44.google.com ([209.85.160.44]:49677) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Tebpg-0006L4-81 for 5055-done@debbugs.gnu.org; Fri, 30 Nov 2012 20:25:29 -0500 Received: by mail-pb0-f44.google.com with SMTP id uo1so762735pbc.3 for <5055-done@debbugs.gnu.org>; Fri, 30 Nov 2012 17:23:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=ZvOO0qe5UEfams82wYeokYERwIenAopQ7LkQjEFgFmU=; b=xb2xacqohc+Nky1IR/Z63mWB6usuEms+LGQN3M2HdUTgoChKn66vPEpigfefkp7hNB EtDK6JCEp5LPgIpkPb3buJ0g75upPVAen5edKX3+yp6DWcK0Pg3N0vowqaOXG0jWZsj1 QrnlAsH0sqWlUHqGuI6tJusg03C0mOhgAe5iED1ENkrmYSzikQZkc6a9t93k7HYtez+7 YGlhQXKRL0g+yZYZ3p2nt+F/wDb3GVmK6N/BVpculYf4HBn5W9NVRZd/d35AA+rMI9w+ /xbvo0BifacblW8DQyk+/wmYetKGuvK/YWO3mLKrf2AFmrTDKoO7AkoLgtGTrZy48ssZ AmXA== Received: by 10.68.237.167 with SMTP id vd7mr10203913pbc.161.1354324998234; Fri, 30 Nov 2012 17:23:18 -0800 (PST) Received: from ulysses (cm198.gamma83.maxonline.com.sg. [202.156.83.198]) by mx.google.com with ESMTPS id m7sm3767902paz.3.2012.11.30.17.23.15 (version=SSLv3 cipher=OTHER); Fri, 30 Nov 2012 17:23:16 -0800 (PST) From: Chong Yidong To: Kevin Ryde Subject: Re: bug#5055: 23.1; etags of perl "use constant" References: <87ocmo4y9b.fsf@blah.blah> Date: Sat, 01 Dec 2012 09:23:12 +0800 In-Reply-To: <87ocmo4y9b.fsf@blah.blah> (Kevin Ryde's message of "Fri, 27 Nov 2009 11:17:20 +1100") Message-ID: <8738zqin0f.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 5055-done Cc: 5055-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) Kevin Ryde writes: > 2009-11-27 Kevin Ryde > > * etags.c (Perl_functions): Tag "use constant" subs too. > > * maintaining.texi (Tag Syntax): Add Perl "use constant". Sorry for the long delay. Since no one else has commented on this, and the patch looks reasonable, I've just now added it to trunk. From unknown Mon Jun 23 02:21:35 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 29 Dec 2012 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator