From: Eli Zaretskii <eliz@gnu.org>
Date: Sat, 28 Nov 2015 11:11:05 +0000 (+0200)
Subject: Add etags tests for the recent Lua-related bugfix
X-Git-Tag: emacs-25.0.90~620
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=40b794bf004032e6f9a01047562c6504bcf7cf4e;p=emacs.git

Add etags tests for the recent Lua-related bugfix

* test/etags/lua-src/test.lua: New file, tests the issues raised
by bug#21934.
* test/etags/Makefile (LUASRC): Add test.lua.
* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/ETAGS.good_6:
* test/etags/CTAGS.good: Adapt to the new Lua test.  Also, an old
regression fix, resolved around 25 May 2015, required changes to
the "good" ETAGS files.
---

diff --git a/test/etags/CTAGS.good b/test/etags/CTAGS.good
index 9291d346769..c98e1388d3f 100644
--- a/test/etags/CTAGS.good
+++ b/test/etags/CTAGS.good
@@ -306,6 +306,7 @@ BUFFERP	c-src/emacs/src/lisp.h	/^BUFFERP (Lisp_Object a)$/
 BUFFERSIZE	objc-src/Subprocess.h	43
 BUFFER_OBJFWDP	c-src/emacs/src/lisp.h	/^BUFFER_OBJFWDP (union Lisp_Fwd *a)$/
 BYTE_MARK_STACK	c-src/emacs/src/lisp.h	3181
+Bar	lua-src/test.lua	/^function Square.something:Bar ()$/
 Bar	perl-src/kai-test.pl	/^package Bar;$/
 Bar::f4	perl-src/kai-test.pl	/^sub Bar::f4 {$/
 Bar::f5	perl-src/kai-test.pl	/^sub f5 {$/
@@ -425,6 +426,7 @@ C_entries	c-src/etags.c	/^C_entries (int c_ext, FILE *inf)$/
 C_stab_entry	c-src/etags.c	2271
 C_symtype	c-src/etags.c	/^C_symtype (char *str, int len, int c_ext)$/
 ChangeFileType	pas-src/common.pas	/^function ChangeFileType; (*(FileName : NameString;/
+Circle.getPos	lua-src/test.lua	/^function Circle.getPos ()$/
 Cjava_entries	c-src/etags.c	/^Cjava_entries (FILE *inf)$/
 Cjava_help	c-src/etags.c	551
 Cjava_suffixes	c-src/etags.c	549
@@ -458,6 +460,7 @@ Create_LL_Task/p	ada-src/2ataspri.adb	/^   procedure Create_LL_Task$/
 Create_LL_Task/p	ada-src/2ataspri.ads	/^   procedure Create_LL_Task$/
 Cstar_entries	c-src/etags.c	/^Cstar_entries (FILE *inf)$/
 Cstar_suffixes	c-src/etags.c	562
+Cube.data.getFoo	lua-src/test.lua	/^function Cube.data.getFoo ()$/
 D	cp-src/fail.C	41
 D	cp-src/fail.C	/^		D() : ::A::T2::T(97), x(1066) {}$/
 DAEMON_RUNNING	c-src/emacs/src/lisp.h	4258
@@ -1193,6 +1196,7 @@ Range	cp-src/Range.h	/^  Range (double b, double l, double i)$/
 ReadVacation	cp-src/functions.cpp	/^void ReadVacation ( char *filename ) {$/
 Read_Lock/p	ada-src/2ataspri.adb	/^   procedure Read_Lock (L : in out Lock; Ceiling_V/
 Read_Lock/p	ada-src/2ataspri.ads	/^   procedure Read_Lock (L : in out Lock; Ceiling_V/
+Rectangle.getPos	lua-src/test.lua	/^function Rectangle.getPos ()$/
 ReleaseNameString	pas-src/common.pas	/^procedure ReleaseNameString; (* (var NSP: NameStri/
 RemoveLayer	lua-src/allegro.lua	/^function RemoveLayer ()$/
 RemoveUnderlineControl	pas-src/common.pas	/^function RemoveUnderlineControl; (*($/
@@ -1309,6 +1313,7 @@ SimpleCalc	objcpp-src/SimpleCalc.H	/^@interface SimpleCalc:Object$/
 SkipBlanks	pas-src/common.pas	/^function SkipBlanks; (*($/
 SkipChars	pas-src/common.pas	/^function SkipChars; (*($/
 SkipSpaces	pas-src/common.pas	/^procedure SkipSpaces; (* (Str : NameString; var I /
+Square.something:Bar	lua-src/test.lua	/^function Square.something:Bar ()$/
 StartDay	cp-src/functions.cpp	/^Date StartDay(Date a,int days){\/\/Function to calcu/
 StripPath	pas-src/common.pas	/^function StripPath; (*($/
 SubString	pas-src/common.pas	/^function SubString; (*($/
@@ -2988,8 +2993,11 @@ generic_object	cp-src/clheir.cpp	/^generic_object::generic_object(void)$/
 generic_object	cp-src/clheir.hpp	13
 getArchs	objc-src/PackInsp.m	/^-(void)getArchs$/
 getDomainNames	php-src/lce_functions.php	/^      function getDomainNames()$/
+getFoo	lua-src/test.lua	/^function Cube.data.getFoo ()$/
 getPOReader	php-src/lce_functions.php	/^      function &getPOReader($domain)$/
 getPath	objc-src/PackInsp.m	/^-(const char *)getPath:(char *)buf forType:(const /
+getPos	lua-src/test.lua	/^function Rectangle.getPos ()$/
+getPos	lua-src/test.lua	/^function Circle.getPos ()$/
 getTextDomains	php-src/lce_functions.php	/^  function getTextDomains($lines)$/
 get_compressor_from_suffix	c-src/etags.c	/^get_compressor_from_suffix (char *file, char **ext/
 get_contiguous_space	c-src/emacs/src/gmalloc.c	/^get_contiguous_space (ptrdiff_t size, void *positi/
diff --git a/test/etags/ETAGS.good_1 b/test/etags/ETAGS.good_1
index e1e0daf4872..5a5e5d2c3c9 100644
--- a/test/etags/ETAGS.good_1
+++ b/test/etags/ETAGS.good_1
@@ -2084,17 +2084,17 @@ void agent::move(move53,1353
 
 cp-src/clheir.hpp,423
 class generic_object13,520
-    virtual void compute_next_state(21,842
-    virtual void step(22,888
-const int max_num_directions 31,1219
-class location:location33,1289
-    location(43,1642
-class irregular_location:irregular_location47,1686
-    irregular_location(51,1762
-class discrete_location:discrete_location56,1889
-    discrete_location(62,2044
-    void assign_neighbor(66,2184
-class agent:agent75,2508
+    virtual void compute_next_state(21,843
+    virtual void step(22,889
+const int max_num_directions 31,1220
+class location:location33,1290
+    location(43,1643
+class irregular_location:irregular_location47,1687
+    irregular_location(51,1763
+class discrete_location:discrete_location56,1890
+    discrete_location(62,2045
+    void assign_neighbor(66,2185
+class agent:agent75,2509
 
 cp-src/fail.C,294
 struct A 7,263
@@ -2218,28 +2218,28 @@ el-src/emacs/lisp/progmodes/etags.el,5069
 (defun next-file 1685,67976
 (defvar tags-loop-operate 1760,70890
 (defvar tags-loop-scan1763,70984
-(defun tags-loop-eval 1771,71314
-(defun tags-loop-continue 1782,71643
-(defun tags-search 1850,73949
-(defun tags-query-replace 1871,74775
-(defun tags-complete-tags-table-file 1896,75999
-(defun list-tags 1906,76378
-(defun tags-apropos 1934,77331
-(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78157
-(defun select-tags-table 1964,78396
-(defvar select-tags-table-mode-map 2019,80523
-(define-derived-mode select-tags-table-mode 2030,80906
-(defun select-tags-table-select 2034,81090
-(defun select-tags-table-quit 2043,81456
-(defun complete-tag 2049,81611
-(defconst etags--xref-limit 2074,82552
-(defvar etags-xref-find-definitions-tag-order 2076,82587
-(defun etags-xref-find 2082,82877
-(defun etags--xref-find-definitions 2096,83406
-(defclass xref-etags-location 2129,85121
-(defun xref-make-etags-location 2135,85344
-(cl-defmethod xref-location-marker 2139,85499
-(cl-defmethod xref-location-line 2146,85743
+(defun tags-loop-eval 1771,71313
+(defun tags-loop-continue 1782,71642
+(defun tags-search 1850,73948
+(defun tags-query-replace 1871,74774
+(defun tags-complete-tags-table-file 1896,75998
+(defun list-tags 1906,76377
+(defun tags-apropos 1934,77330
+(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78156
+(defun select-tags-table 1964,78395
+(defvar select-tags-table-mode-map 2019,80522
+(define-derived-mode select-tags-table-mode 2030,80905
+(defun select-tags-table-select 2034,81089
+(defun select-tags-table-quit 2043,81455
+(defun complete-tag 2049,81610
+(defconst etags--xref-limit 2074,82551
+(defvar etags-xref-find-definitions-tag-order 2076,82586
+(defun etags-xref-find 2082,82876
+(defun etags--xref-find-definitions 2096,83405
+(defclass xref-etags-location 2129,85120
+(defun xref-make-etags-location 2135,85343
+(cl-defmethod xref-location-marker 2139,85498
+(cl-defmethod xref-location-line 2146,85742
 
 erl-src/gs_dialog.erl,98
 -define(VERSION2,32
@@ -2336,49 +2336,59 @@ function MoveLayerBottom 223,5079
 function MoveLayerBefore 236,5457
 function MoveLayerAfter 258,6090
 
+lua-src/test.lua,291
+function Rectangle.getPos 2,15
+function Rectangle.getPos getPos2,15
+function Circle.getPos 6,61
+function Circle.getPos getPos6,61
+function Cube.data.getFoo 10,102
+function Cube.data.getFoo getFoo10,102
+function Square.something:Bar 14,148
+function Square.something:Bar Bar14,148
+
 make-src/Makefile,1133
 LATEST=1,0
-NONSRCS=35,1578
-CPPFLAGS=49,2191
-LDFLAGS=50,2260
-FASTCFLAGS=55,2531
-FILTER=58,2642
-	@-$($72,3064
-	@-$($73,3113
-	@-$($74,3177
-	@-$($75,3223
-	@-$($76,3291
-	@-$($77,3383
-	@$(81,3466
-	@$(82,3514
-	@$(83,3577
-	@$(84,3622
-	@$(85,3689
-	@$(86,3780
-${CHECKOBJS}: CFLAGS=88,3806
-	@env CHECKEROPTS=92,3922
-	@$(98,4094
-	@$(106,4250
-	@$(110,4374
-	@$(114,4500
-	@for i in $(SRCS); do echo $$i;140,5315
-	$(160,6053
-	$(163,6114
-	$(166,6177
-	$(169,6228
-	$(172,6317
-	sdiff --suppress-common-lines --width=width186,6614
-	sdiff --suppress-common-lines --width=width189,6703
-	sdiff --suppress-common-lines --width=width192,6791
-	sdiff --suppress-common-lines --width=width195,6880
-	TEXTAGS=204,7122
-	TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=regex204,7122
-	${RUN} etags12 --members -o $@ --regex=regex207,7239
-	${RUN} ./ctags -o $@ --regex=regex213,7388
-	${RUN} ctags$* -wtTd --globals --members -o $@ --regex=regex216,7464
-	TEXTAGS=219,7583
-	TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex=regex219,7583
-	${RUN} ./extags -e --regex-c=c222,7710
+NONSRCS=35,1577
+CPPFLAGS=49,2190
+LDFLAGS=50,2259
+FASTCFLAGS=55,2530
+FILTER=58,2641
+	@-$($72,3063
+	@-$($73,3112
+	@-$($74,3176
+	@-$($75,3222
+	@-$($76,3290
+	@-$($77,3382
+	@$(81,3465
+	@$(82,3513
+	@$(83,3576
+	@$(84,3621
+	@$(85,3688
+	@$(86,3779
+${CHECKOBJS}: CFLAGS=88,3805
+	@env CHECKEROPTS=92,3921
+	@$(98,4093
+	@$(106,4249
+	@$(110,4373
+	@$(114,4499
+	@for i in $(SRCS); do echo $$i;140,5320
+	$(160,6058
+	$(163,6119
+	$(166,6182
+	$(169,6233
+	$(172,6322
+	sdiff --suppress-common-lines --width=width186,6619
+	sdiff --suppress-common-lines --width=width189,6708
+	sdiff --suppress-common-lines --width=width192,6796
+	sdiff --suppress-common-lines --width=width195,6885
+	TEXTAGS=204,7127
+	TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=regex204,7127
+	${RUN} etags12 --members -o $@ --regex=regex207,7244
+	${RUN} ./ctags -o $@ --regex=regex213,7393
+	${RUN} ctags$* -wtTd --globals --members -o $@ --regex=regex216,7469
+	TEXTAGS=219,7588
+	TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex=regex219,7588
+	${RUN} ./extags -e --regex-c=c222,7715
 
 objc-src/Subprocess.h,98
 #define Subprocess 41,1217
diff --git a/test/etags/ETAGS.good_2 b/test/etags/ETAGS.good_2
index 8b0742241c7..3e5285af1cc 100644
--- a/test/etags/ETAGS.good_2
+++ b/test/etags/ETAGS.good_2
@@ -2642,24 +2642,24 @@ extern void step_everybody(11,485
 class generic_object13,520
     generic_object(17,582
     ~generic_object(19,724
-    virtual void compute_next_state(21,842
-    virtual void step(22,888
-const int max_num_directions 31,1219
-class location:location33,1289
-    location(43,1642
-    ~location(44,1661
-class irregular_location:irregular_location47,1686
-    irregular_location(51,1762
-    ~irregular_location(53,1854
-class discrete_location:discrete_location56,1889
-    void clear_neighbors(60,2004
-    discrete_location(62,2044
-    ~discrete_location(65,2154
-    void assign_neighbor(66,2184
-class agent:agent75,2508
-    agent(79,2578
-    ~agent(80,2591
-    void move(81,2605
+    virtual void compute_next_state(21,843
+    virtual void step(22,889
+const int max_num_directions 31,1220
+class location:location33,1290
+    location(43,1643
+    ~location(44,1662
+class irregular_location:irregular_location47,1687
+    irregular_location(51,1763
+    ~irregular_location(53,1855
+class discrete_location:discrete_location56,1890
+    void clear_neighbors(60,2005
+    discrete_location(62,2045
+    ~discrete_location(65,2155
+    void assign_neighbor(66,2185
+class agent:agent75,2509
+    agent(79,2579
+    ~agent(80,2592
+    void move(81,2606
 
 cp-src/fail.C,315
 struct A 7,263
@@ -2787,28 +2787,28 @@ el-src/emacs/lisp/progmodes/etags.el,5188
 (defun next-file 1685,67976
 (defvar tags-loop-operate 1760,70890
 (defvar tags-loop-scan1763,70984
-(defun tags-loop-eval 1771,71314
-(defun tags-loop-continue 1782,71643
-(defun tags-search 1850,73949
-(defun tags-query-replace 1871,74775
-(defun tags-complete-tags-table-file 1896,75999
-(defun list-tags 1906,76378
-(defun tags-apropos 1934,77331
-(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78157
-(defun select-tags-table 1964,78396
-(defvar select-tags-table-mode-map 2019,80523
-(define-derived-mode select-tags-table-mode 2030,80906
-(defun select-tags-table-select 2034,81090
-(defun select-tags-table-quit 2043,81456
-(defun complete-tag 2049,81611
-(defconst etags--xref-limit 2074,82552
-(defvar etags-xref-find-definitions-tag-order 2076,82587
-(defun etags-xref-find 2082,82877
-(defun etags--xref-find-definitions 2096,83406
-(defclass xref-etags-location 2129,85121
-(defun xref-make-etags-location 2135,85344
-(cl-defmethod xref-location-marker 2139,85499
-(cl-defmethod xref-location-line 2146,85743
+(defun tags-loop-eval 1771,71313
+(defun tags-loop-continue 1782,71642
+(defun tags-search 1850,73948
+(defun tags-query-replace 1871,74774
+(defun tags-complete-tags-table-file 1896,75998
+(defun list-tags 1906,76377
+(defun tags-apropos 1934,77330
+(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78156
+(defun select-tags-table 1964,78395
+(defvar select-tags-table-mode-map 2019,80522
+(define-derived-mode select-tags-table-mode 2030,80905
+(defun select-tags-table-select 2034,81089
+(defun select-tags-table-quit 2043,81455
+(defun complete-tag 2049,81610
+(defconst etags--xref-limit 2074,82551
+(defvar etags-xref-find-definitions-tag-order 2076,82586
+(defun etags-xref-find 2082,82876
+(defun etags--xref-find-definitions 2096,83405
+(defclass xref-etags-location 2129,85120
+(defun xref-make-etags-location 2135,85343
+(cl-defmethod xref-location-marker 2139,85498
+(cl-defmethod xref-location-line 2146,85742
 
 erl-src/gs_dialog.erl,98
 -define(VERSION2,32
@@ -2905,50 +2905,60 @@ function MoveLayerBottom 223,5079
 function MoveLayerBefore 236,5457
 function MoveLayerAfter 258,6090
 
+lua-src/test.lua,291
+function Rectangle.getPos 2,15
+function Rectangle.getPos getPos2,15
+function Circle.getPos 6,61
+function Circle.getPos getPos6,61
+function Cube.data.getFoo 10,102
+function Cube.data.getFoo getFoo10,102
+function Square.something:Bar 14,148
+function Square.something:Bar Bar14,148
+
 make-src/Makefile,1156
 LATEST=1,0
-NONSRCS=35,1578
-CPPFLAGS=49,2191
-LDFLAGS=50,2260
-FASTCFLAGS=55,2531
-FILTER=58,2642
-	@-$($72,3064
-	@-$($73,3113
-	@-$($74,3177
-	@-$($75,3223
-	@-$($76,3291
-	@-$($77,3383
-	@$(81,3466
-	@$(82,3514
-	@$(83,3577
-	@$(84,3622
-	@$(85,3689
-	@$(86,3780
-${CHECKOBJS}: CFLAGS=88,3806
-	@env CHECKEROPTS=92,3922
-	@$(98,4094
-	@$(106,4250
-	@$(110,4374
-	@$(114,4500
-	@for i in $(140,5315
-	@for i in $(SRCS); do echo $$i;140,5315
-	$(160,6053
-	$(163,6114
-	$(166,6177
-	$(169,6228
-	$(172,6317
-	sdiff --suppress-common-lines --width=width186,6614
-	sdiff --suppress-common-lines --width=width189,6703
-	sdiff --suppress-common-lines --width=width192,6791
-	sdiff --suppress-common-lines --width=width195,6880
-	TEXTAGS=204,7122
-	TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=regex204,7122
-	${RUN} etags12 --members -o $@ --regex=regex207,7239
-	${RUN} ./ctags -o $@ --regex=regex213,7388
-	${RUN} ctags$* -wtTd --globals --members -o $@ --regex=regex216,7464
-	TEXTAGS=219,7583
-	TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex=regex219,7583
-	${RUN} ./extags -e --regex-c=c222,7710
+NONSRCS=35,1577
+CPPFLAGS=49,2190
+LDFLAGS=50,2259
+FASTCFLAGS=55,2530
+FILTER=58,2641
+	@-$($72,3063
+	@-$($73,3112
+	@-$($74,3176
+	@-$($75,3222
+	@-$($76,3290
+	@-$($77,3382
+	@$(81,3465
+	@$(82,3513
+	@$(83,3576
+	@$(84,3621
+	@$(85,3688
+	@$(86,3779
+${CHECKOBJS}: CFLAGS=88,3805
+	@env CHECKEROPTS=92,3921
+	@$(98,4093
+	@$(106,4249
+	@$(110,4373
+	@$(114,4499
+	@for i in $(140,5320
+	@for i in $(SRCS); do echo $$i;140,5320
+	$(160,6058
+	$(163,6119
+	$(166,6182
+	$(169,6233
+	$(172,6322
+	sdiff --suppress-common-lines --width=width186,6619
+	sdiff --suppress-common-lines --width=width189,6708
+	sdiff --suppress-common-lines --width=width192,6796
+	sdiff --suppress-common-lines --width=width195,6885
+	TEXTAGS=204,7127
+	TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=regex204,7127
+	${RUN} etags12 --members -o $@ --regex=regex207,7244
+	${RUN} ./ctags -o $@ --regex=regex213,7393
+	${RUN} ctags$* -wtTd --globals --members -o $@ --regex=regex216,7469
+	TEXTAGS=219,7588
+	TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex=regex219,7588
+	${RUN} ./extags -e --regex-c=c222,7715
 
 objc-src/Subprocess.h,98
 #define Subprocess 41,1217
diff --git a/test/etags/ETAGS.good_3 b/test/etags/ETAGS.good_3
index 37eaafbab61..2f91126e1d1 100644
--- a/test/etags/ETAGS.good_3
+++ b/test/etags/ETAGS.good_3
@@ -2391,25 +2391,25 @@ void agent::move(move53,1353
 cp-src/clheir.hpp,682
 class generic_object13,520
     int where_in_registry;15,547
-    virtual void compute_next_state(21,842
-    virtual void step(22,888
-const int max_num_directions 31,1219
-class location:location33,1289
-    location(43,1642
-class irregular_location:irregular_location47,1686
-    double x,49,1734
-    double x, y,49,1734
-    double x, y, z;49,1734
-    irregular_location(51,1762
-class discrete_location:discrete_location56,1889
-    int x,58,1936
-    int x, y,58,1936
-    int x, y, z;58,1936
-    class location *neighbors[neighbors59,1953
-    discrete_location(62,2044
-    void assign_neighbor(66,2184
-class agent:agent75,2508
-    location *where;where77,2549
+    virtual void compute_next_state(21,843
+    virtual void step(22,889
+const int max_num_directions 31,1220
+class location:location33,1290
+    location(43,1643
+class irregular_location:irregular_location47,1687
+    double x,49,1735
+    double x, y,49,1735
+    double x, y, z;49,1735
+    irregular_location(51,1763
+class discrete_location:discrete_location56,1890
+    int x,58,1937
+    int x, y,58,1937
+    int x, y, z;58,1937
+    class location *neighbors[neighbors59,1954
+    discrete_location(62,2045
+    void assign_neighbor(66,2185
+class agent:agent75,2509
+    location *where;where77,2550
 
 cp-src/fail.C,330
 struct A 7,263
@@ -2535,28 +2535,28 @@ el-src/emacs/lisp/progmodes/etags.el,5069
 (defun next-file 1685,67976
 (defvar tags-loop-operate 1760,70890
 (defvar tags-loop-scan1763,70984
-(defun tags-loop-eval 1771,71314
-(defun tags-loop-continue 1782,71643
-(defun tags-search 1850,73949
-(defun tags-query-replace 1871,74775
-(defun tags-complete-tags-table-file 1896,75999
-(defun list-tags 1906,76378
-(defun tags-apropos 1934,77331
-(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78157
-(defun select-tags-table 1964,78396
-(defvar select-tags-table-mode-map 2019,80523
-(define-derived-mode select-tags-table-mode 2030,80906
-(defun select-tags-table-select 2034,81090
-(defun select-tags-table-quit 2043,81456
-(defun complete-tag 2049,81611
-(defconst etags--xref-limit 2074,82552
-(defvar etags-xref-find-definitions-tag-order 2076,82587
-(defun etags-xref-find 2082,82877
-(defun etags--xref-find-definitions 2096,83406
-(defclass xref-etags-location 2129,85121
-(defun xref-make-etags-location 2135,85344
-(cl-defmethod xref-location-marker 2139,85499
-(cl-defmethod xref-location-line 2146,85743
+(defun tags-loop-eval 1771,71313
+(defun tags-loop-continue 1782,71642
+(defun tags-search 1850,73948
+(defun tags-query-replace 1871,74774
+(defun tags-complete-tags-table-file 1896,75998
+(defun list-tags 1906,76377
+(defun tags-apropos 1934,77330
+(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78156
+(defun select-tags-table 1964,78395
+(defvar select-tags-table-mode-map 2019,80522
+(define-derived-mode select-tags-table-mode 2030,80905
+(defun select-tags-table-select 2034,81089
+(defun select-tags-table-quit 2043,81455
+(defun complete-tag 2049,81610
+(defconst etags--xref-limit 2074,82551
+(defvar etags-xref-find-definitions-tag-order 2076,82586
+(defun etags-xref-find 2082,82876
+(defun etags--xref-find-definitions 2096,83405
+(defclass xref-etags-location 2129,85120
+(defun xref-make-etags-location 2135,85343
+(cl-defmethod xref-location-marker 2139,85498
+(cl-defmethod xref-location-line 2146,85742
 
 erl-src/gs_dialog.erl,98
 -define(VERSION2,32
@@ -2653,49 +2653,59 @@ function MoveLayerBottom 223,5079
 function MoveLayerBefore 236,5457
 function MoveLayerAfter 258,6090
 
+lua-src/test.lua,291
+function Rectangle.getPos 2,15
+function Rectangle.getPos getPos2,15
+function Circle.getPos 6,61
+function Circle.getPos getPos6,61
+function Cube.data.getFoo 10,102
+function Cube.data.getFoo getFoo10,102
+function Square.something:Bar 14,148
+function Square.something:Bar Bar14,148
+
 make-src/Makefile,1133
 LATEST=1,0
-NONSRCS=35,1578
-CPPFLAGS=49,2191
-LDFLAGS=50,2260
-FASTCFLAGS=55,2531
-FILTER=58,2642
-	@-$($72,3064
-	@-$($73,3113
-	@-$($74,3177
-	@-$($75,3223
-	@-$($76,3291
-	@-$($77,3383
-	@$(81,3466
-	@$(82,3514
-	@$(83,3577
-	@$(84,3622
-	@$(85,3689
-	@$(86,3780
-${CHECKOBJS}: CFLAGS=88,3806
-	@env CHECKEROPTS=92,3922
-	@$(98,4094
-	@$(106,4250
-	@$(110,4374
-	@$(114,4500
-	@for i in $(SRCS); do echo $$i;140,5315
-	$(160,6053
-	$(163,6114
-	$(166,6177
-	$(169,6228
-	$(172,6317
-	sdiff --suppress-common-lines --width=width186,6614
-	sdiff --suppress-common-lines --width=width189,6703
-	sdiff --suppress-common-lines --width=width192,6791
-	sdiff --suppress-common-lines --width=width195,6880
-	TEXTAGS=204,7122
-	TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=regex204,7122
-	${RUN} etags12 --members -o $@ --regex=regex207,7239
-	${RUN} ./ctags -o $@ --regex=regex213,7388
-	${RUN} ctags$* -wtTd --globals --members -o $@ --regex=regex216,7464
-	TEXTAGS=219,7583
-	TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex=regex219,7583
-	${RUN} ./extags -e --regex-c=c222,7710
+NONSRCS=35,1577
+CPPFLAGS=49,2190
+LDFLAGS=50,2259
+FASTCFLAGS=55,2530
+FILTER=58,2641
+	@-$($72,3063
+	@-$($73,3112
+	@-$($74,3176
+	@-$($75,3222
+	@-$($76,3290
+	@-$($77,3382
+	@$(81,3465
+	@$(82,3513
+	@$(83,3576
+	@$(84,3621
+	@$(85,3688
+	@$(86,3779
+${CHECKOBJS}: CFLAGS=88,3805
+	@env CHECKEROPTS=92,3921
+	@$(98,4093
+	@$(106,4249
+	@$(110,4373
+	@$(114,4499
+	@for i in $(SRCS); do echo $$i;140,5320
+	$(160,6058
+	$(163,6119
+	$(166,6182
+	$(169,6233
+	$(172,6322
+	sdiff --suppress-common-lines --width=width186,6619
+	sdiff --suppress-common-lines --width=width189,6708
+	sdiff --suppress-common-lines --width=width192,6796
+	sdiff --suppress-common-lines --width=width195,6885
+	TEXTAGS=204,7127
+	TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=regex204,7127
+	${RUN} etags12 --members -o $@ --regex=regex207,7244
+	${RUN} ./ctags -o $@ --regex=regex213,7393
+	${RUN} ctags$* -wtTd --globals --members -o $@ --regex=regex216,7469
+	TEXTAGS=219,7588
+	TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex=regex219,7588
+	${RUN} ./extags -e --regex-c=c222,7715
 
 objc-src/Subprocess.h,98
 #define Subprocess 41,1217
diff --git a/test/etags/ETAGS.good_4 b/test/etags/ETAGS.good_4
index 2b631d1a165..71fc2cbda89 100644
--- a/test/etags/ETAGS.good_4
+++ b/test/etags/ETAGS.good_4
@@ -2248,17 +2248,17 @@ void agent::move(move53,1353
 
 cp-src/clheir.hpp,423
 class generic_object13,520
-    virtual void compute_next_state(21,842
-    virtual void step(22,888
-const int max_num_directions 31,1219
-class location:location33,1289
-    location(43,1642
-class irregular_location:irregular_location47,1686
-    irregular_location(51,1762
-class discrete_location:discrete_location56,1889
-    discrete_location(62,2044
-    void assign_neighbor(66,2184
-class agent:agent75,2508
+    virtual void compute_next_state(21,843
+    virtual void step(22,889
+const int max_num_directions 31,1220
+class location:location33,1290
+    location(43,1643
+class irregular_location:irregular_location47,1687
+    irregular_location(51,1763
+class discrete_location:discrete_location56,1890
+    discrete_location(62,2045
+    void assign_neighbor(66,2185
+class agent:agent75,2509
 
 cp-src/fail.C,294
 struct A 7,263
@@ -2382,28 +2382,28 @@ el-src/emacs/lisp/progmodes/etags.el,5069
 (defun next-file 1685,67976
 (defvar tags-loop-operate 1760,70890
 (defvar tags-loop-scan1763,70984
-(defun tags-loop-eval 1771,71314
-(defun tags-loop-continue 1782,71643
-(defun tags-search 1850,73949
-(defun tags-query-replace 1871,74775
-(defun tags-complete-tags-table-file 1896,75999
-(defun list-tags 1906,76378
-(defun tags-apropos 1934,77331
-(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78157
-(defun select-tags-table 1964,78396
-(defvar select-tags-table-mode-map 2019,80523
-(define-derived-mode select-tags-table-mode 2030,80906
-(defun select-tags-table-select 2034,81090
-(defun select-tags-table-quit 2043,81456
-(defun complete-tag 2049,81611
-(defconst etags--xref-limit 2074,82552
-(defvar etags-xref-find-definitions-tag-order 2076,82587
-(defun etags-xref-find 2082,82877
-(defun etags--xref-find-definitions 2096,83406
-(defclass xref-etags-location 2129,85121
-(defun xref-make-etags-location 2135,85344
-(cl-defmethod xref-location-marker 2139,85499
-(cl-defmethod xref-location-line 2146,85743
+(defun tags-loop-eval 1771,71313
+(defun tags-loop-continue 1782,71642
+(defun tags-search 1850,73948
+(defun tags-query-replace 1871,74774
+(defun tags-complete-tags-table-file 1896,75998
+(defun list-tags 1906,76377
+(defun tags-apropos 1934,77330
+(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78156
+(defun select-tags-table 1964,78395
+(defvar select-tags-table-mode-map 2019,80522
+(define-derived-mode select-tags-table-mode 2030,80905
+(defun select-tags-table-select 2034,81089
+(defun select-tags-table-quit 2043,81455
+(defun complete-tag 2049,81610
+(defconst etags--xref-limit 2074,82551
+(defvar etags-xref-find-definitions-tag-order 2076,82586
+(defun etags-xref-find 2082,82876
+(defun etags--xref-find-definitions 2096,83405
+(defclass xref-etags-location 2129,85120
+(defun xref-make-etags-location 2135,85343
+(cl-defmethod xref-location-marker 2139,85498
+(cl-defmethod xref-location-line 2146,85742
 
 erl-src/gs_dialog.erl,98
 -define(VERSION2,32
@@ -2500,49 +2500,59 @@ function MoveLayerBottom 223,5079
 function MoveLayerBefore 236,5457
 function MoveLayerAfter 258,6090
 
+lua-src/test.lua,291
+function Rectangle.getPos 2,15
+function Rectangle.getPos getPos2,15
+function Circle.getPos 6,61
+function Circle.getPos getPos6,61
+function Cube.data.getFoo 10,102
+function Cube.data.getFoo getFoo10,102
+function Square.something:Bar 14,148
+function Square.something:Bar Bar14,148
+
 make-src/Makefile,1133
 LATEST=1,0
-NONSRCS=35,1578
-CPPFLAGS=49,2191
-LDFLAGS=50,2260
-FASTCFLAGS=55,2531
-FILTER=58,2642
-	@-$($72,3064
-	@-$($73,3113
-	@-$($74,3177
-	@-$($75,3223
-	@-$($76,3291
-	@-$($77,3383
-	@$(81,3466
-	@$(82,3514
-	@$(83,3577
-	@$(84,3622
-	@$(85,3689
-	@$(86,3780
-${CHECKOBJS}: CFLAGS=88,3806
-	@env CHECKEROPTS=92,3922
-	@$(98,4094
-	@$(106,4250
-	@$(110,4374
-	@$(114,4500
-	@for i in $(SRCS); do echo $$i;140,5315
-	$(160,6053
-	$(163,6114
-	$(166,6177
-	$(169,6228
-	$(172,6317
-	sdiff --suppress-common-lines --width=width186,6614
-	sdiff --suppress-common-lines --width=width189,6703
-	sdiff --suppress-common-lines --width=width192,6791
-	sdiff --suppress-common-lines --width=width195,6880
-	TEXTAGS=204,7122
-	TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=regex204,7122
-	${RUN} etags12 --members -o $@ --regex=regex207,7239
-	${RUN} ./ctags -o $@ --regex=regex213,7388
-	${RUN} ctags$* -wtTd --globals --members -o $@ --regex=regex216,7464
-	TEXTAGS=219,7583
-	TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex=regex219,7583
-	${RUN} ./extags -e --regex-c=c222,7710
+NONSRCS=35,1577
+CPPFLAGS=49,2190
+LDFLAGS=50,2259
+FASTCFLAGS=55,2530
+FILTER=58,2641
+	@-$($72,3063
+	@-$($73,3112
+	@-$($74,3176
+	@-$($75,3222
+	@-$($76,3290
+	@-$($77,3382
+	@$(81,3465
+	@$(82,3513
+	@$(83,3576
+	@$(84,3621
+	@$(85,3688
+	@$(86,3779
+${CHECKOBJS}: CFLAGS=88,3805
+	@env CHECKEROPTS=92,3921
+	@$(98,4093
+	@$(106,4249
+	@$(110,4373
+	@$(114,4499
+	@for i in $(SRCS); do echo $$i;140,5320
+	$(160,6058
+	$(163,6119
+	$(166,6182
+	$(169,6233
+	$(172,6322
+	sdiff --suppress-common-lines --width=width186,6619
+	sdiff --suppress-common-lines --width=width189,6708
+	sdiff --suppress-common-lines --width=width192,6796
+	sdiff --suppress-common-lines --width=width195,6885
+	TEXTAGS=204,7127
+	TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=regex204,7127
+	${RUN} etags12 --members -o $@ --regex=regex207,7244
+	${RUN} ./ctags -o $@ --regex=regex213,7393
+	${RUN} ctags$* -wtTd --globals --members -o $@ --regex=regex216,7469
+	TEXTAGS=219,7588
+	TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex=regex219,7588
+	${RUN} ./extags -e --regex-c=c222,7715
 
 objc-src/Subprocess.h,98
 #define Subprocess 41,1217
diff --git a/test/etags/ETAGS.good_5 b/test/etags/ETAGS.good_5
index 544a166c6dd..ca55b3b0ad7 100644
--- a/test/etags/ETAGS.good_5
+++ b/test/etags/ETAGS.good_5
@@ -3113,32 +3113,32 @@ class generic_object13,520
     int where_in_registry;15,547
     generic_object(17,582
     ~generic_object(19,724
-    virtual void compute_next_state(21,842
-    virtual void step(22,888
-const int max_num_directions 31,1219
-class location:location33,1289
-    location(43,1642
-    ~location(44,1661
-class irregular_location:irregular_location47,1686
-    double x,49,1734
-    double x, y,49,1734
-    double x, y, z;49,1734
-    irregular_location(51,1762
-    ~irregular_location(53,1854
-class discrete_location:discrete_location56,1889
-    int x,58,1936
-    int x, y,58,1936
-    int x, y, z;58,1936
-    class location *neighbors[neighbors59,1953
-    void clear_neighbors(60,2004
-    discrete_location(62,2044
-    ~discrete_location(65,2154
-    void assign_neighbor(66,2184
-class agent:agent75,2508
-    location *where;where77,2549
-    agent(79,2578
-    ~agent(80,2591
-    void move(81,2605
+    virtual void compute_next_state(21,843
+    virtual void step(22,889
+const int max_num_directions 31,1220
+class location:location33,1290
+    location(43,1643
+    ~location(44,1662
+class irregular_location:irregular_location47,1687
+    double x,49,1735
+    double x, y,49,1735
+    double x, y, z;49,1735
+    irregular_location(51,1763
+    ~irregular_location(53,1855
+class discrete_location:discrete_location56,1890
+    int x,58,1937
+    int x, y,58,1937
+    int x, y, z;58,1937
+    class location *neighbors[neighbors59,1954
+    void clear_neighbors(60,2005
+    discrete_location(62,2045
+    ~discrete_location(65,2155
+    void assign_neighbor(66,2185
+class agent:agent75,2509
+    location *where;where77,2550
+    agent(79,2579
+    ~agent(80,2592
+    void move(81,2606
 
 cp-src/fail.C,351
 struct A 7,263
@@ -3268,28 +3268,28 @@ el-src/emacs/lisp/progmodes/etags.el,5188
 (defun next-file 1685,67976
 (defvar tags-loop-operate 1760,70890
 (defvar tags-loop-scan1763,70984
-(defun tags-loop-eval 1771,71314
-(defun tags-loop-continue 1782,71643
-(defun tags-search 1850,73949
-(defun tags-query-replace 1871,74775
-(defun tags-complete-tags-table-file 1896,75999
-(defun list-tags 1906,76378
-(defun tags-apropos 1934,77331
-(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78157
-(defun select-tags-table 1964,78396
-(defvar select-tags-table-mode-map 2019,80523
-(define-derived-mode select-tags-table-mode 2030,80906
-(defun select-tags-table-select 2034,81090
-(defun select-tags-table-quit 2043,81456
-(defun complete-tag 2049,81611
-(defconst etags--xref-limit 2074,82552
-(defvar etags-xref-find-definitions-tag-order 2076,82587
-(defun etags-xref-find 2082,82877
-(defun etags--xref-find-definitions 2096,83406
-(defclass xref-etags-location 2129,85121
-(defun xref-make-etags-location 2135,85344
-(cl-defmethod xref-location-marker 2139,85499
-(cl-defmethod xref-location-line 2146,85743
+(defun tags-loop-eval 1771,71313
+(defun tags-loop-continue 1782,71642
+(defun tags-search 1850,73948
+(defun tags-query-replace 1871,74774
+(defun tags-complete-tags-table-file 1896,75998
+(defun list-tags 1906,76377
+(defun tags-apropos 1934,77330
+(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78156
+(defun select-tags-table 1964,78395
+(defvar select-tags-table-mode-map 2019,80522
+(define-derived-mode select-tags-table-mode 2030,80905
+(defun select-tags-table-select 2034,81089
+(defun select-tags-table-quit 2043,81455
+(defun complete-tag 2049,81610
+(defconst etags--xref-limit 2074,82551
+(defvar etags-xref-find-definitions-tag-order 2076,82586
+(defun etags-xref-find 2082,82876
+(defun etags--xref-find-definitions 2096,83405
+(defclass xref-etags-location 2129,85120
+(defun xref-make-etags-location 2135,85343
+(cl-defmethod xref-location-marker 2139,85498
+(cl-defmethod xref-location-line 2146,85742
 
 erl-src/gs_dialog.erl,98
 -define(VERSION2,32
@@ -3386,50 +3386,60 @@ function MoveLayerBottom 223,5079
 function MoveLayerBefore 236,5457
 function MoveLayerAfter 258,6090
 
+lua-src/test.lua,291
+function Rectangle.getPos 2,15
+function Rectangle.getPos getPos2,15
+function Circle.getPos 6,61
+function Circle.getPos getPos6,61
+function Cube.data.getFoo 10,102
+function Cube.data.getFoo getFoo10,102
+function Square.something:Bar 14,148
+function Square.something:Bar Bar14,148
+
 make-src/Makefile,1156
 LATEST=1,0
-NONSRCS=35,1578
-CPPFLAGS=49,2191
-LDFLAGS=50,2260
-FASTCFLAGS=55,2531
-FILTER=58,2642
-	@-$($72,3064
-	@-$($73,3113
-	@-$($74,3177
-	@-$($75,3223
-	@-$($76,3291
-	@-$($77,3383
-	@$(81,3466
-	@$(82,3514
-	@$(83,3577
-	@$(84,3622
-	@$(85,3689
-	@$(86,3780
-${CHECKOBJS}: CFLAGS=88,3806
-	@env CHECKEROPTS=92,3922
-	@$(98,4094
-	@$(106,4250
-	@$(110,4374
-	@$(114,4500
-	@for i in $(140,5315
-	@for i in $(SRCS); do echo $$i;140,5315
-	$(160,6053
-	$(163,6114
-	$(166,6177
-	$(169,6228
-	$(172,6317
-	sdiff --suppress-common-lines --width=width186,6614
-	sdiff --suppress-common-lines --width=width189,6703
-	sdiff --suppress-common-lines --width=width192,6791
-	sdiff --suppress-common-lines --width=width195,6880
-	TEXTAGS=204,7122
-	TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=regex204,7122
-	${RUN} etags12 --members -o $@ --regex=regex207,7239
-	${RUN} ./ctags -o $@ --regex=regex213,7388
-	${RUN} ctags$* -wtTd --globals --members -o $@ --regex=regex216,7464
-	TEXTAGS=219,7583
-	TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex=regex219,7583
-	${RUN} ./extags -e --regex-c=c222,7710
+NONSRCS=35,1577
+CPPFLAGS=49,2190
+LDFLAGS=50,2259
+FASTCFLAGS=55,2530
+FILTER=58,2641
+	@-$($72,3063
+	@-$($73,3112
+	@-$($74,3176
+	@-$($75,3222
+	@-$($76,3290
+	@-$($77,3382
+	@$(81,3465
+	@$(82,3513
+	@$(83,3576
+	@$(84,3621
+	@$(85,3688
+	@$(86,3779
+${CHECKOBJS}: CFLAGS=88,3805
+	@env CHECKEROPTS=92,3921
+	@$(98,4093
+	@$(106,4249
+	@$(110,4373
+	@$(114,4499
+	@for i in $(140,5320
+	@for i in $(SRCS); do echo $$i;140,5320
+	$(160,6058
+	$(163,6119
+	$(166,6182
+	$(169,6233
+	$(172,6322
+	sdiff --suppress-common-lines --width=width186,6619
+	sdiff --suppress-common-lines --width=width189,6708
+	sdiff --suppress-common-lines --width=width192,6796
+	sdiff --suppress-common-lines --width=width195,6885
+	TEXTAGS=204,7127
+	TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=regex204,7127
+	${RUN} etags12 --members -o $@ --regex=regex207,7244
+	${RUN} ./ctags -o $@ --regex=regex213,7393
+	${RUN} ctags$* -wtTd --globals --members -o $@ --regex=regex216,7469
+	TEXTAGS=219,7588
+	TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex=regex219,7588
+	${RUN} ./extags -e --regex-c=c222,7715
 
 objc-src/Subprocess.h,98
 #define Subprocess 41,1217
diff --git a/test/etags/ETAGS.good_6 b/test/etags/ETAGS.good_6
index f3d17b10a3e..1ec846334ea 100644
--- a/test/etags/ETAGS.good_6
+++ b/test/etags/ETAGS.good_6
@@ -3113,32 +3113,32 @@ class generic_object13,520
     int where_in_registry;generic_object::where_in_registry15,547
     generic_object(generic_object::generic_object17,582
     ~generic_object(generic_object::~generic_object19,724
-    virtual void compute_next_state(generic_object::compute_next_state21,842
-    virtual void step(generic_object::step22,888
-const int max_num_directions 31,1219
-class location:location33,1289
-    location(location::location43,1642
-    ~location(location::~location44,1661
-class irregular_location:irregular_location47,1686
-    double x,irregular_location::x49,1734
-    double x, y,irregular_location::y49,1734
-    double x, y, z;irregular_location::z49,1734
-    irregular_location(irregular_location::irregular_location51,1762
-    ~irregular_location(irregular_location::~irregular_location53,1854
-class discrete_location:discrete_location56,1889
-    int x,discrete_location::x58,1936
-    int x, y,discrete_location::y58,1936
-    int x, y, z;discrete_location::z58,1936
-    class location *neighbors[discrete_location::neighbors59,1953
-    void clear_neighbors(discrete_location::clear_neighbors60,2004
-    discrete_location(discrete_location::discrete_location62,2044
-    ~discrete_location(discrete_location::~discrete_location65,2154
-    void assign_neighbor(discrete_location::assign_neighbor66,2184
-class agent:agent75,2508
-    location *where;agent::where77,2549
-    agent(agent::agent79,2578
-    ~agent(agent::~agent80,2591
-    void move(agent::move81,2605
+    virtual void compute_next_state(generic_object::compute_next_state21,843
+    virtual void step(generic_object::step22,889
+const int max_num_directions 31,1220
+class location:location33,1290
+    location(location::location43,1643
+    ~location(location::~location44,1662
+class irregular_location:irregular_location47,1687
+    double x,irregular_location::x49,1735
+    double x, y,irregular_location::y49,1735
+    double x, y, z;irregular_location::z49,1735
+    irregular_location(irregular_location::irregular_location51,1763
+    ~irregular_location(irregular_location::~irregular_location53,1855
+class discrete_location:discrete_location56,1890
+    int x,discrete_location::x58,1937
+    int x, y,discrete_location::y58,1937
+    int x, y, z;discrete_location::z58,1937
+    class location *neighbors[discrete_location::neighbors59,1954
+    void clear_neighbors(discrete_location::clear_neighbors60,2005
+    discrete_location(discrete_location::discrete_location62,2045
+    ~discrete_location(discrete_location::~discrete_location65,2155
+    void assign_neighbor(discrete_location::assign_neighbor66,2185
+class agent:agent75,2509
+    location *where;agent::where77,2550
+    agent(agent::agent79,2579
+    ~agent(agent::~agent80,2592
+    void move(agent::move81,2606
 
 cp-src/fail.C,438
 struct A 7,263
@@ -3268,28 +3268,28 @@ el-src/emacs/lisp/progmodes/etags.el,5188
 (defun next-file 1685,67976
 (defvar tags-loop-operate 1760,70890
 (defvar tags-loop-scan1763,70984
-(defun tags-loop-eval 1771,71314
-(defun tags-loop-continue 1782,71643
-(defun tags-search 1850,73949
-(defun tags-query-replace 1871,74775
-(defun tags-complete-tags-table-file 1896,75999
-(defun list-tags 1906,76378
-(defun tags-apropos 1934,77331
-(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78157
-(defun select-tags-table 1964,78396
-(defvar select-tags-table-mode-map 2019,80523
-(define-derived-mode select-tags-table-mode 2030,80906
-(defun select-tags-table-select 2034,81090
-(defun select-tags-table-quit 2043,81456
-(defun complete-tag 2049,81611
-(defconst etags--xref-limit 2074,82552
-(defvar etags-xref-find-definitions-tag-order 2076,82587
-(defun etags-xref-find 2082,82877
-(defun etags--xref-find-definitions 2096,83406
-(defclass xref-etags-location 2129,85121
-(defun xref-make-etags-location 2135,85344
-(cl-defmethod xref-location-marker 2139,85499
-(cl-defmethod xref-location-line 2146,85743
+(defun tags-loop-eval 1771,71313
+(defun tags-loop-continue 1782,71642
+(defun tags-search 1850,73948
+(defun tags-query-replace 1871,74774
+(defun tags-complete-tags-table-file 1896,75998
+(defun list-tags 1906,76377
+(defun tags-apropos 1934,77330
+(define-button-type 'tags-select-tags-tabletags-select-tags-table1957,78156
+(defun select-tags-table 1964,78395
+(defvar select-tags-table-mode-map 2019,80522
+(define-derived-mode select-tags-table-mode 2030,80905
+(defun select-tags-table-select 2034,81089
+(defun select-tags-table-quit 2043,81455
+(defun complete-tag 2049,81610
+(defconst etags--xref-limit 2074,82551
+(defvar etags-xref-find-definitions-tag-order 2076,82586
+(defun etags-xref-find 2082,82876
+(defun etags--xref-find-definitions 2096,83405
+(defclass xref-etags-location 2129,85120
+(defun xref-make-etags-location 2135,85343
+(cl-defmethod xref-location-marker 2139,85498
+(cl-defmethod xref-location-line 2146,85742
 
 erl-src/gs_dialog.erl,98
 -define(VERSION2,32
@@ -3386,50 +3386,60 @@ function MoveLayerBottom 223,5079
 function MoveLayerBefore 236,5457
 function MoveLayerAfter 258,6090
 
+lua-src/test.lua,291
+function Rectangle.getPos 2,15
+function Rectangle.getPos getPos2,15
+function Circle.getPos 6,61
+function Circle.getPos getPos6,61
+function Cube.data.getFoo 10,102
+function Cube.data.getFoo getFoo10,102
+function Square.something:Bar 14,148
+function Square.something:Bar Bar14,148
+
 make-src/Makefile,1156
 LATEST=1,0
-NONSRCS=35,1578
-CPPFLAGS=49,2191
-LDFLAGS=50,2260
-FASTCFLAGS=55,2531
-FILTER=58,2642
-	@-$($72,3064
-	@-$($73,3113
-	@-$($74,3177
-	@-$($75,3223
-	@-$($76,3291
-	@-$($77,3383
-	@$(81,3466
-	@$(82,3514
-	@$(83,3577
-	@$(84,3622
-	@$(85,3689
-	@$(86,3780
-${CHECKOBJS}: CFLAGS=88,3806
-	@env CHECKEROPTS=92,3922
-	@$(98,4094
-	@$(106,4250
-	@$(110,4374
-	@$(114,4500
-	@for i in $(140,5315
-	@for i in $(SRCS); do echo $$i;140,5315
-	$(160,6053
-	$(163,6114
-	$(166,6177
-	$(169,6228
-	$(172,6317
-	sdiff --suppress-common-lines --width=width186,6614
-	sdiff --suppress-common-lines --width=width189,6703
-	sdiff --suppress-common-lines --width=width192,6791
-	sdiff --suppress-common-lines --width=width195,6880
-	TEXTAGS=204,7122
-	TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=regex204,7122
-	${RUN} etags12 --members -o $@ --regex=regex207,7239
-	${RUN} ./ctags -o $@ --regex=regex213,7388
-	${RUN} ctags$* -wtTd --globals --members -o $@ --regex=regex216,7464
-	TEXTAGS=219,7583
-	TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex=regex219,7583
-	${RUN} ./extags -e --regex-c=c222,7710
+NONSRCS=35,1577
+CPPFLAGS=49,2190
+LDFLAGS=50,2259
+FASTCFLAGS=55,2530
+FILTER=58,2641
+	@-$($72,3063
+	@-$($73,3112
+	@-$($74,3176
+	@-$($75,3222
+	@-$($76,3290
+	@-$($77,3382
+	@$(81,3465
+	@$(82,3513
+	@$(83,3576
+	@$(84,3621
+	@$(85,3688
+	@$(86,3779
+${CHECKOBJS}: CFLAGS=88,3805
+	@env CHECKEROPTS=92,3921
+	@$(98,4093
+	@$(106,4249
+	@$(110,4373
+	@$(114,4499
+	@for i in $(140,5320
+	@for i in $(SRCS); do echo $$i;140,5320
+	$(160,6058
+	$(163,6119
+	$(166,6182
+	$(169,6233
+	$(172,6322
+	sdiff --suppress-common-lines --width=width186,6619
+	sdiff --suppress-common-lines --width=width189,6708
+	sdiff --suppress-common-lines --width=width192,6796
+	sdiff --suppress-common-lines --width=width195,6885
+	TEXTAGS=204,7127
+	TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=regex204,7127
+	${RUN} etags12 --members -o $@ --regex=regex207,7244
+	${RUN} ./ctags -o $@ --regex=regex213,7393
+	${RUN} ctags$* -wtTd --globals --members -o $@ --regex=regex216,7469
+	TEXTAGS=219,7588
+	TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex=regex219,7588
+	${RUN} ./extags -e --regex-c=c222,7715
 
 objc-src/Subprocess.h,98
 #define Subprocess 41,1217
diff --git a/test/etags/Makefile b/test/etags/Makefile
index f326c9085cd..1c50f725971 100644
--- a/test/etags/Makefile
+++ b/test/etags/Makefile
@@ -13,7 +13,7 @@ FORTHSRC=$(addprefix ./forth-src/,test-forth.fth)
 FSRC=$(addprefix ./f-src/,entry.for entry.strange_suffix entry.strange)
 HTMLSRC=$(addprefix ./html-src/,softwarelibero.html index.shtml algrthms.html software.html)
 #JAVASRC=$(addprefix ./java-src/, )
-LUASRC=$(addprefix ./lua-src/,allegro.lua)
+LUASRC=$(addprefix ./lua-src/,allegro.lua test.lua)
 MAKESRC=$(addprefix ./make-src/,Makefile)
 OBJCSRC=$(addprefix ./objc-src/,Subprocess.h Subprocess.m PackInsp.h PackInsp.m)
 OBJCPPSRC=$(addprefix ./objcpp-src/,SimpleCalc.H SimpleCalc.M)
diff --git a/test/etags/lua-src/test.lua b/test/etags/lua-src/test.lua
new file mode 100644
index 00000000000..3bfa49c4f5d
--- /dev/null
+++ b/test/etags/lua-src/test.lua
@@ -0,0 +1,15 @@
+Rectangle = {}
+function Rectangle.getPos ()
+end
+
+Circle = {}
+function Circle.getPos ()
+end
+
+Cube = {}
+function Cube.data.getFoo ()
+end
+
+Square = {}
+function Square.something:Bar ()
+end