aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorEli Zaretskii2016-02-02 19:16:22 +0200
committerEli Zaretskii2016-02-02 19:16:22 +0200
commit58bfb6a4f597b98f01169f42410df3184c451408 (patch)
tree1a3ca89e5af7fd58aa9ae60b0129e87264faf746 /test
parentc04e91134f256be298d8739d493aa8df7e8d05ec (diff)
downloademacs-58bfb6a4f597b98f01169f42410df3184c451408.tar.gz
emacs-58bfb6a4f597b98f01169f42410df3184c451408.zip
More improvements for Ruby support in 'etags'
* lib-src/etags.c (Ruby_functions): Tag Ruby accessors and alias_method. Identify constants even if the assignment is not followed by whitespace. (Bug#22241) * test/etags/ruby-src/test1.ruby: Add tests for constants, accessors, and alias_method. * 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 changes in Ruby tests.
Diffstat (limited to 'test')
-rw-r--r--test/etags/CTAGS.good14
-rw-r--r--test/etags/ETAGS.good_122
-rw-r--r--test/etags/ETAGS.good_222
-rw-r--r--test/etags/ETAGS.good_322
-rw-r--r--test/etags/ETAGS.good_422
-rw-r--r--test/etags/ETAGS.good_522
-rw-r--r--test/etags/ETAGS.good_622
-rw-r--r--test/etags/ruby-src/test1.ruby9
8 files changed, 124 insertions, 31 deletions
diff --git a/test/etags/CTAGS.good b/test/etags/CTAGS.good
index 846725ef713..c4962a7a207 100644
--- a/test/etags/CTAGS.good
+++ b/test/etags/CTAGS.good
@@ -177,6 +177,15 @@ $user_comment_lc php-src/lce_functions.php 115
177/wh ps-src/rfc1245.ps /^\/wh { $/ 177/wh ps-src/rfc1245.ps /^\/wh { $/
178/yen ps-src/rfc1245.ps /^\/yen \/.notdef \/.notdef \/.notdef \/.notdef \/.notdef / 178/yen ps-src/rfc1245.ps /^\/yen \/.notdef \/.notdef \/.notdef \/.notdef \/.notdef /
179:a-forth-dictionary-entry forth-src/test-forth.fth /^create :a-forth-dictionary-entry$/ 179:a-forth-dictionary-entry forth-src/test-forth.fth /^create :a-forth-dictionary-entry$/
180:bar= ruby-src/test1.ruby /^ attr_writer :bar$/
181:foo ruby-src/test1.ruby /^ attr_reader :foo$/
182:qux ruby-src/test1.ruby /^ alias_method :qux, :tee$/
183:read1 ruby-src/test1.ruby /^ attr_reader :read1, :read2; attr_writer :wri/
184:read2 ruby-src/test1.ruby /^ attr_reader :read1, :read2; attr_writer :wri/
185:tee ruby-src/test1.ruby /^ attr_accessor :tee$/
186:tee= ruby-src/test1.ruby /^ attr_accessor :tee$/
187:write1= ruby-src/test1.ruby /^ attr_reader :read1, :read2; attr_writer :wri/
188:write2= ruby-src/test1.ruby /^ attr_reader :read1, :read2; attr_writer :wri/
180< tex-src/texinfo.tex /^\\def<{{\\tt \\less}}$/ 189< tex-src/texinfo.tex /^\\def<{{\\tt \\less}}$/
181<< ruby-src/test.rb /^ def <<(y)$/ 190<< ruby-src/test.rb /^ def <<(y)$/
182<= ruby-src/test.rb /^ def <=(y)$/ 191<= ruby-src/test.rb /^ def <=(y)$/
@@ -460,7 +469,7 @@ Condition_Variable/t ada-src/2ataspri.ads /^ type Condition_Variable is privat
460Condition_Variable/t ada-src/2ataspri.ads /^ type Condition_Variable is$/ 469Condition_Variable/t ada-src/2ataspri.ads /^ type Condition_Variable is$/
461Configure pyt-src/server.py /^class Configure(Frame, ControlEdit):$/ 470Configure pyt-src/server.py /^class Configure(Frame, ControlEdit):$/
462ConfirmQuit pyt-src/server.py /^def ConfirmQuit(frame, context):$/ 471ConfirmQuit pyt-src/server.py /^def ConfirmQuit(frame, context):$/
463Constant ruby-src/test1.ruby 26 472Constant ruby-src/test1.ruby 35
464ControlEdit pyt-src/server.py /^class ControlEdit(Frame):$/ 473ControlEdit pyt-src/server.py /^class ControlEdit(Frame):$/
465Controls pyt-src/server.py /^class Controls:$/ 474Controls pyt-src/server.py /^class Controls:$/
466CopyTextString pas-src/common.pas /^function CopyTextString;(*($/ 475CopyTextString pas-src/common.pas /^function CopyTextString;(*($/
@@ -522,6 +531,7 @@ DOS_NT c-src/etags.c 117
522DOS_NT c-src/etags.c 118 531DOS_NT c-src/etags.c 118
523DUMPED c-src/emacs/src/gmalloc.c 80 532DUMPED c-src/emacs/src/gmalloc.c 80
524Debug cp-src/functions.cpp /^void Debug ( int lineno, int level, char* func , c/ 533Debug cp-src/functions.cpp /^void Debug ( int lineno, int level, char* func , c/
534Def_ ruby-src/test1.ruby 12
525DisposeANameList pas-src/common.pas /^procedure DisposeANameList( $/ 535DisposeANameList pas-src/common.pas /^procedure DisposeANameList( $/
526DisposeNameList pas-src/common.pas /^procedure DisposeNameList;$/ 536DisposeNameList pas-src/common.pas /^procedure DisposeNameList;$/
527ELEM_I c-src/h.h 3 537ELEM_I c-src/h.h 3
@@ -1457,6 +1467,7 @@ WorkingDays cp-src/functions.cpp /^int WorkingDays(Date a, Date b){$/
1457Write_Lock/p ada-src/2ataspri.adb /^ procedure Write_Lock (L : in out Lock; Ceiling_/ 1467Write_Lock/p ada-src/2ataspri.adb /^ procedure Write_Lock (L : in out Lock; Ceiling_/
1458Write_Lock/p ada-src/2ataspri.ads /^ procedure Write_Lock (L : in out Lock; Ceiling_/ 1468Write_Lock/p ada-src/2ataspri.ads /^ procedure Write_Lock (L : in out Lock; Ceiling_/
1459X c-src/h.h 100 1469X c-src/h.h 100
1470X ruby-src/test1.ruby /^ def X$/
1460XBOOL_VECTOR c-src/emacs/src/lisp.h /^XBOOL_VECTOR (Lisp_Object a)$/ 1471XBOOL_VECTOR c-src/emacs/src/lisp.h /^XBOOL_VECTOR (Lisp_Object a)$/
1461XBUFFER c-src/emacs/src/lisp.h /^XBUFFER (Lisp_Object a)$/ 1472XBUFFER c-src/emacs/src/lisp.h /^XBUFFER (Lisp_Object a)$/
1462XBUFFER_OBJFWD c-src/emacs/src/lisp.h /^XBUFFER_OBJFWD (union Lisp_Fwd *a)$/ 1473XBUFFER_OBJFWD c-src/emacs/src/lisp.h /^XBUFFER_OBJFWD (union Lisp_Fwd *a)$/
@@ -1534,6 +1545,7 @@ XUNTAG c-src/emacs/src/lisp.h /^# define XUNTAG(a, type) lisp_h_XUNTAG (a, type
1534XUNTAG c-src/emacs/src/lisp.h /^XUNTAG (Lisp_Object a, int type)$/ 1545XUNTAG c-src/emacs/src/lisp.h /^XUNTAG (Lisp_Object a, int type)$/
1535XWINDOW c-src/emacs/src/lisp.h /^XWINDOW (Lisp_Object a)$/ 1546XWINDOW c-src/emacs/src/lisp.h /^XWINDOW (Lisp_Object a)$/
1536XX cp-src/x.cc 1 1547XX cp-src/x.cc 1
1548Xyzzy ruby-src/test1.ruby 13
1537Y c-src/h.h 100 1549Y c-src/h.h 100
1538YACC c-src/etags.c 2199 1550YACC c-src/etags.c 2199
1539YELLOW cp-src/screen.hpp 26 1551YELLOW cp-src/screen.hpp 26
diff --git a/test/etags/ETAGS.good_1 b/test/etags/ETAGS.good_1
index c7b122111c4..435cd08da89 100644
--- a/test/etags/ETAGS.good_1
+++ b/test/etags/ETAGS.good_1
@@ -3009,17 +3009,29 @@ module ModuleExample1,0
3009 def module_instance_method46,1051 3009 def module_instance_method46,1051
3010 def ModuleExample.module_class_methodmodule_class_method49,1131 3010 def ModuleExample.module_class_methodmodule_class_method49,1131
3011 3011
3012ruby-src/test1.ruby,191 3012ruby-src/test1.ruby,635
3013class A1,0 3013class A1,0
3014 def a(2,8 3014 def a(2,8
3015 def b(5,38 3015 def b(5,38
3016module A9,57 3016module A9,57
3017 class B10,66 3017 class B10,66
3018 ABC 11,76 3018 ABC 11,76
3019 def foo!13,89 3019 Def_ 12,88
3020 def self._bar?(_bar?16,111 3020 Xyzzy 13,106
3021 def qux=(qux=20,162 3021 def foo!15,121
3022A::Constant Constant26,211 3022 def self._bar?(_bar?18,143
3023 def qux=(qux=22,194
3024 def X25,232
3025 attr_reader :foo26,242
3026 attr_reader :read1,27,265
3027 attr_reader :read1, :read2;27,265
3028 attr_reader :read1, :read2; attr_writer :write1,:write1=27,265
3029 attr_reader :read1, :read2; attr_writer :write1, :write2:write2=27,265
3030 attr_writer :bar:bar=28,328
3031 attr_accessor :tee29,351
3032 attr_accessor :tee:tee=29,351
3033 alias_method :qux,30,376
3034A::Constant Constant35,425
3023 3035
3024tex-src/testenv.tex,52 3036tex-src/testenv.tex,52
3025\newcommand{\nm}\nm4,77 3037\newcommand{\nm}\nm4,77
diff --git a/test/etags/ETAGS.good_2 b/test/etags/ETAGS.good_2
index 8d0f33824a4..4abdc9098af 100644
--- a/test/etags/ETAGS.good_2
+++ b/test/etags/ETAGS.good_2
@@ -3580,17 +3580,29 @@ module ModuleExample1,0
3580 def module_instance_method46,1051 3580 def module_instance_method46,1051
3581 def ModuleExample.module_class_methodmodule_class_method49,1131 3581 def ModuleExample.module_class_methodmodule_class_method49,1131
3582 3582
3583ruby-src/test1.ruby,191 3583ruby-src/test1.ruby,635
3584class A1,0 3584class A1,0
3585 def a(2,8 3585 def a(2,8
3586 def b(5,38 3586 def b(5,38
3587module A9,57 3587module A9,57
3588 class B10,66 3588 class B10,66
3589 ABC 11,76 3589 ABC 11,76
3590 def foo!13,89 3590 Def_ 12,88
3591 def self._bar?(_bar?16,111 3591 Xyzzy 13,106
3592 def qux=(qux=20,162 3592 def foo!15,121
3593A::Constant Constant26,211 3593 def self._bar?(_bar?18,143
3594 def qux=(qux=22,194
3595 def X25,232
3596 attr_reader :foo26,242
3597 attr_reader :read1,27,265
3598 attr_reader :read1, :read2;27,265
3599 attr_reader :read1, :read2; attr_writer :write1,:write1=27,265
3600 attr_reader :read1, :read2; attr_writer :write1, :write2:write2=27,265
3601 attr_writer :bar:bar=28,328
3602 attr_accessor :tee29,351
3603 attr_accessor :tee:tee=29,351
3604 alias_method :qux,30,376
3605A::Constant Constant35,425
3594 3606
3595tex-src/testenv.tex,52 3607tex-src/testenv.tex,52
3596\newcommand{\nm}\nm4,77 3608\newcommand{\nm}\nm4,77
diff --git a/test/etags/ETAGS.good_3 b/test/etags/ETAGS.good_3
index 060389c6232..94815caf489 100644
--- a/test/etags/ETAGS.good_3
+++ b/test/etags/ETAGS.good_3
@@ -3356,17 +3356,29 @@ module ModuleExample1,0
3356 def module_instance_method46,1051 3356 def module_instance_method46,1051
3357 def ModuleExample.module_class_methodmodule_class_method49,1131 3357 def ModuleExample.module_class_methodmodule_class_method49,1131
3358 3358
3359ruby-src/test1.ruby,191 3359ruby-src/test1.ruby,635
3360class A1,0 3360class A1,0
3361 def a(2,8 3361 def a(2,8
3362 def b(5,38 3362 def b(5,38
3363module A9,57 3363module A9,57
3364 class B10,66 3364 class B10,66
3365 ABC 11,76 3365 ABC 11,76
3366 def foo!13,89 3366 Def_ 12,88
3367 def self._bar?(_bar?16,111 3367 Xyzzy 13,106
3368 def qux=(qux=20,162 3368 def foo!15,121
3369A::Constant Constant26,211 3369 def self._bar?(_bar?18,143
3370 def qux=(qux=22,194
3371 def X25,232
3372 attr_reader :foo26,242
3373 attr_reader :read1,27,265
3374 attr_reader :read1, :read2;27,265
3375 attr_reader :read1, :read2; attr_writer :write1,:write1=27,265
3376 attr_reader :read1, :read2; attr_writer :write1, :write2:write2=27,265
3377 attr_writer :bar:bar=28,328
3378 attr_accessor :tee29,351
3379 attr_accessor :tee:tee=29,351
3380 alias_method :qux,30,376
3381A::Constant Constant35,425
3370 3382
3371tex-src/testenv.tex,52 3383tex-src/testenv.tex,52
3372\newcommand{\nm}\nm4,77 3384\newcommand{\nm}\nm4,77
diff --git a/test/etags/ETAGS.good_4 b/test/etags/ETAGS.good_4
index 40404f9fc6e..f71e1b0a432 100644
--- a/test/etags/ETAGS.good_4
+++ b/test/etags/ETAGS.good_4
@@ -3173,17 +3173,29 @@ module ModuleExample1,0
3173 def module_instance_method46,1051 3173 def module_instance_method46,1051
3174 def ModuleExample.module_class_methodmodule_class_method49,1131 3174 def ModuleExample.module_class_methodmodule_class_method49,1131
3175 3175
3176ruby-src/test1.ruby,191 3176ruby-src/test1.ruby,635
3177class A1,0 3177class A1,0
3178 def a(2,8 3178 def a(2,8
3179 def b(5,38 3179 def b(5,38
3180module A9,57 3180module A9,57
3181 class B10,66 3181 class B10,66
3182 ABC 11,76 3182 ABC 11,76
3183 def foo!13,89 3183 Def_ 12,88
3184 def self._bar?(_bar?16,111 3184 Xyzzy 13,106
3185 def qux=(qux=20,162 3185 def foo!15,121
3186A::Constant Constant26,211 3186 def self._bar?(_bar?18,143
3187 def qux=(qux=22,194
3188 def X25,232
3189 attr_reader :foo26,242
3190 attr_reader :read1,27,265
3191 attr_reader :read1, :read2;27,265
3192 attr_reader :read1, :read2; attr_writer :write1,:write1=27,265
3193 attr_reader :read1, :read2; attr_writer :write1, :write2:write2=27,265
3194 attr_writer :bar:bar=28,328
3195 attr_accessor :tee29,351
3196 attr_accessor :tee:tee=29,351
3197 alias_method :qux,30,376
3198A::Constant Constant35,425
3187 3199
3188tex-src/testenv.tex,52 3200tex-src/testenv.tex,52
3189\newcommand{\nm}\nm4,77 3201\newcommand{\nm}\nm4,77
diff --git a/test/etags/ETAGS.good_5 b/test/etags/ETAGS.good_5
index 432819d3b32..d51542c3a93 100644
--- a/test/etags/ETAGS.good_5
+++ b/test/etags/ETAGS.good_5
@@ -4091,17 +4091,29 @@ module ModuleExample1,0
4091 def module_instance_method46,1051 4091 def module_instance_method46,1051
4092 def ModuleExample.module_class_methodmodule_class_method49,1131 4092 def ModuleExample.module_class_methodmodule_class_method49,1131
4093 4093
4094ruby-src/test1.ruby,191 4094ruby-src/test1.ruby,635
4095class A1,0 4095class A1,0
4096 def a(2,8 4096 def a(2,8
4097 def b(5,38 4097 def b(5,38
4098module A9,57 4098module A9,57
4099 class B10,66 4099 class B10,66
4100 ABC 11,76 4100 ABC 11,76
4101 def foo!13,89 4101 Def_ 12,88
4102 def self._bar?(_bar?16,111 4102 Xyzzy 13,106
4103 def qux=(qux=20,162 4103 def foo!15,121
4104A::Constant Constant26,211 4104 def self._bar?(_bar?18,143
4105 def qux=(qux=22,194
4106 def X25,232
4107 attr_reader :foo26,242
4108 attr_reader :read1,27,265
4109 attr_reader :read1, :read2;27,265
4110 attr_reader :read1, :read2; attr_writer :write1,:write1=27,265
4111 attr_reader :read1, :read2; attr_writer :write1, :write2:write2=27,265
4112 attr_writer :bar:bar=28,328
4113 attr_accessor :tee29,351
4114 attr_accessor :tee:tee=29,351
4115 alias_method :qux,30,376
4116A::Constant Constant35,425
4105 4117
4106tex-src/testenv.tex,52 4118tex-src/testenv.tex,52
4107\newcommand{\nm}\nm4,77 4119\newcommand{\nm}\nm4,77
diff --git a/test/etags/ETAGS.good_6 b/test/etags/ETAGS.good_6
index 4ad5d76db27..84b73198a4c 100644
--- a/test/etags/ETAGS.good_6
+++ b/test/etags/ETAGS.good_6
@@ -4091,17 +4091,29 @@ module ModuleExample1,0
4091 def module_instance_method46,1051 4091 def module_instance_method46,1051
4092 def ModuleExample.module_class_methodmodule_class_method49,1131 4092 def ModuleExample.module_class_methodmodule_class_method49,1131
4093 4093
4094ruby-src/test1.ruby,191 4094ruby-src/test1.ruby,635
4095class A1,0 4095class A1,0
4096 def a(2,8 4096 def a(2,8
4097 def b(5,38 4097 def b(5,38
4098module A9,57 4098module A9,57
4099 class B10,66 4099 class B10,66
4100 ABC 11,76 4100 ABC 11,76
4101 def foo!13,89 4101 Def_ 12,88
4102 def self._bar?(_bar?16,111 4102 Xyzzy 13,106
4103 def qux=(qux=20,162 4103 def foo!15,121
4104A::Constant Constant26,211 4104 def self._bar?(_bar?18,143
4105 def qux=(qux=22,194
4106 def X25,232
4107 attr_reader :foo26,242
4108 attr_reader :read1,27,265
4109 attr_reader :read1, :read2;27,265
4110 attr_reader :read1, :read2; attr_writer :write1,:write1=27,265
4111 attr_reader :read1, :read2; attr_writer :write1, :write2:write2=27,265
4112 attr_writer :bar:bar=28,328
4113 attr_accessor :tee29,351
4114 attr_accessor :tee:tee=29,351
4115 alias_method :qux,30,376
4116A::Constant Constant35,425
4105 4117
4106tex-src/testenv.tex,52 4118tex-src/testenv.tex,52
4107\newcommand{\nm}\nm4,77 4119\newcommand{\nm}\nm4,77
diff --git a/test/etags/ruby-src/test1.ruby b/test/etags/ruby-src/test1.ruby
index 26b7d538b64..75dcd51bbe0 100644
--- a/test/etags/ruby-src/test1.ruby
+++ b/test/etags/ruby-src/test1.ruby
@@ -9,6 +9,8 @@ end
9module A 9module A
10 class B 10 class B
11 ABC = 4 11 ABC = 4
12 Def_ = 'blah'
13 Xyzzy =10
12 14
13 def foo! 15 def foo!
14 end 16 end
@@ -20,6 +22,13 @@ module A
20 def qux=(tee) 22 def qux=(tee)
21 end 23 end
22 end 24 end
25 def X
26 attr_reader :foo
27 attr_reader :read1, :read2; attr_writer :write1, :write2
28 attr_writer :bar
29 attr_accessor :tee
30 alias_method :qux, :tee
31 end
23 end 32 end
24end 33end
25 34