aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2016-02-03 18:24:20 +0200
committerEli Zaretskii2016-02-03 18:24:20 +0200
commit504696d75dbd9b8159490ec4cd9da2b5578f2934 (patch)
tree7ee9b67365486af65f179e62860d4c2fcb2d3155
parent8784ebf3a9f94c64cd09149c4906a3f494a1251d (diff)
downloademacs-504696d75dbd9b8159490ec4cd9da2b5578f2934.tar.gz
emacs-504696d75dbd9b8159490ec4cd9da2b5578f2934.zip
Etags: yet another improvement in Ruby tags
* lib-src/etags.c (Ruby_functions): Handle continuation lines in Ruby accessor definitions. (Bug#22241) * test/etags/ruby-src/test1.ru (A::B#X): Add some more tests for accessors and multiline definitions. * 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 tags.
-rw-r--r--lib-src/etags.c77
-rw-r--r--test/etags/CTAGS.good18
-rw-r--r--test/etags/ETAGS.good_124
-rw-r--r--test/etags/ETAGS.good_224
-rw-r--r--test/etags/ETAGS.good_324
-rw-r--r--test/etags/ETAGS.good_424
-rw-r--r--test/etags/ETAGS.good_524
-rw-r--r--test/etags/ETAGS.good_624
-rw-r--r--test/etags/ruby-src/test1.ru10
9 files changed, 155 insertions, 94 deletions
diff --git a/lib-src/etags.c b/lib-src/etags.c
index ca6fe51bdb6..bb2758941a4 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -4630,6 +4630,7 @@ static void
4630Ruby_functions (FILE *inf) 4630Ruby_functions (FILE *inf)
4631{ 4631{
4632 char *cp = NULL; 4632 char *cp = NULL;
4633 bool reader = false, writer = false, alias = false, continuation = false;
4633 4634
4634 LOOP_ON_INPUT_LINES (inf, lb, cp) 4635 LOOP_ON_INPUT_LINES (inf, lb, cp)
4635 { 4636 {
@@ -4638,7 +4639,9 @@ Ruby_functions (FILE *inf)
4638 char *name; 4639 char *name;
4639 4640
4640 cp = skip_spaces (cp); 4641 cp = skip_spaces (cp);
4641 if (c_isalpha (*cp) && c_isupper (*cp)) /* constants */ 4642 if (!continuation
4643 /* Constants. */
4644 && c_isalpha (*cp) && c_isupper (*cp))
4642 { 4645 {
4643 char *bp, *colon = NULL; 4646 char *bp, *colon = NULL;
4644 4647
@@ -4661,9 +4664,11 @@ Ruby_functions (FILE *inf)
4661 } 4664 }
4662 } 4665 }
4663 } 4666 }
4664 else if ((is_method = LOOKING_AT (cp, "def")) /* module/class/method */ 4667 else if (!continuation
4665 || (is_class = LOOKING_AT (cp, "class")) 4668 /* Modules, classes, methods. */
4666 || LOOKING_AT (cp, "module")) 4669 && ((is_method = LOOKING_AT (cp, "def"))
4670 || (is_class = LOOKING_AT (cp, "class"))
4671 || LOOKING_AT (cp, "module")))
4667 { 4672 {
4668 const char self_name[] = "self."; 4673 const char self_name[] = "self.";
4669 const size_t self_size1 = sizeof (self_name) - 1; 4674 const size_t self_size1 = sizeof (self_name) - 1;
@@ -4701,21 +4706,27 @@ Ruby_functions (FILE *inf)
4701 else 4706 else
4702 { 4707 {
4703 /* Tag accessors and aliases. */ 4708 /* Tag accessors and aliases. */
4709
4710 if (!continuation)
4711 reader = writer = alias = false;
4712
4704 while (*cp && *cp != '#') 4713 while (*cp && *cp != '#')
4705 { 4714 {
4706 bool reader = false, writer = false, alias = false; 4715 if (!continuation)
4707
4708 if (LOOKING_AT (cp, "attr_reader"))
4709 reader = true;
4710 else if (LOOKING_AT (cp, "attr_writer"))
4711 writer = true;
4712 else if (LOOKING_AT (cp, "attr_accessor"))
4713 { 4716 {
4714 reader = true; 4717 reader = writer = alias = false;
4715 writer = true; 4718 if (LOOKING_AT (cp, "attr_reader"))
4719 reader = true;
4720 else if (LOOKING_AT (cp, "attr_writer"))
4721 writer = true;
4722 else if (LOOKING_AT (cp, "attr_accessor"))
4723 {
4724 reader = true;
4725 writer = true;
4726 }
4727 else if (LOOKING_AT (cp, "alias_method"))
4728 alias = true;
4716 } 4729 }
4717 else if (LOOKING_AT (cp, "alias_method"))
4718 alias = true;
4719 if (reader || writer || alias) 4730 if (reader || writer || alias)
4720 { 4731 {
4721 do { 4732 do {
@@ -4725,9 +4736,12 @@ Ruby_functions (FILE *inf)
4725 np++; 4736 np++;
4726 cp = skip_name (cp); 4737 cp = skip_name (cp);
4727 if (reader) 4738 if (reader)
4728 make_tag (np, cp - np, true, 4739 {
4729 lb.buffer, cp - lb.buffer + 1, 4740 make_tag (np, cp - np, true,
4730 lineno, linecharno); 4741 lb.buffer, cp - lb.buffer + 1,
4742 lineno, linecharno);
4743 continuation = false;
4744 }
4731 if (writer) 4745 if (writer)
4732 { 4746 {
4733 size_t name_len = cp - np + 1; 4747 size_t name_len = cp - np + 1;
@@ -4737,19 +4751,34 @@ Ruby_functions (FILE *inf)
4737 memcpy (wr_name + name_len - 1, "=", 2); 4751 memcpy (wr_name + name_len - 1, "=", 2);
4738 pfnote (wr_name, true, lb.buffer, cp - lb.buffer + 1, 4752 pfnote (wr_name, true, lb.buffer, cp - lb.buffer + 1,
4739 lineno, linecharno); 4753 lineno, linecharno);
4754 continuation = false;
4740 } 4755 }
4741 if (alias) 4756 if (alias)
4742 { 4757 {
4743 make_tag (np, cp - np, true, 4758 if (!continuation)
4744 lb.buffer, cp - lb.buffer + 1, 4759 make_tag (np, cp - np, true,
4745 lineno, linecharno); 4760 lb.buffer, cp - lb.buffer + 1,
4761 lineno, linecharno);
4762 continuation = false;
4746 while (*cp && *cp != '#' && *cp != ';') 4763 while (*cp && *cp != '#' && *cp != ';')
4747 cp++; 4764 {
4765 if (*cp == ',')
4766 continuation = true;
4767 else if (!c_isspace (*cp))
4768 continuation = false;
4769 cp++;
4770 }
4771 if (*cp == ';')
4772 continuation = false;
4748 } 4773 }
4749 } while (*cp == ',' 4774 cp = skip_spaces (cp);
4775 } while ((alias
4776 ? (*cp == ',')
4777 : (continuation = (*cp == ',')))
4750 && (cp = skip_spaces (cp + 1), *cp && *cp != '#')); 4778 && (cp = skip_spaces (cp + 1), *cp && *cp != '#'));
4751 } 4779 }
4752 cp = skip_name (cp); 4780 if (*cp != '#')
4781 cp = skip_name (cp);
4753 while (*cp && *cp != '#' && notinname (*cp)) 4782 while (*cp && *cp != '#' && notinname (*cp))
4754 cp++; 4783 cp++;
4755 } 4784 }
diff --git a/test/etags/CTAGS.good b/test/etags/CTAGS.good
index afb1096b084..b78c194ac44 100644
--- a/test/etags/CTAGS.good
+++ b/test/etags/CTAGS.good
@@ -454,7 +454,7 @@ Condition_Variable/t ada-src/2ataspri.ads /^ type Condition_Variable is privat
454Condition_Variable/t ada-src/2ataspri.ads /^ type Condition_Variable is$/ 454Condition_Variable/t ada-src/2ataspri.ads /^ type Condition_Variable is$/
455Configure pyt-src/server.py /^class Configure(Frame, ControlEdit):$/ 455Configure pyt-src/server.py /^class Configure(Frame, ControlEdit):$/
456ConfirmQuit pyt-src/server.py /^def ConfirmQuit(frame, context):$/ 456ConfirmQuit pyt-src/server.py /^def ConfirmQuit(frame, context):$/
457Constant ruby-src/test1.ru 35 457Constant ruby-src/test1.ru 39
458ControlEdit pyt-src/server.py /^class ControlEdit(Frame):$/ 458ControlEdit pyt-src/server.py /^class ControlEdit(Frame):$/
459Controls pyt-src/server.py /^class Controls:$/ 459Controls pyt-src/server.py /^class Controls:$/
460CopyTextString pas-src/common.pas /^function CopyTextString;(*($/ 460CopyTextString pas-src/common.pas /^function CopyTextString;(*($/
@@ -2556,11 +2556,12 @@ bar c-src/c.c /^void bar() {while(0) {}}$/
2556bar c.c 143 2556bar c.c 143
2557bar c-src/h.h 19 2557bar c-src/h.h 19
2558bar cp-src/x.cc /^XX::bar()$/ 2558bar cp-src/x.cc /^XX::bar()$/
2559bar= ruby-src/test1.ru /^ attr_writer :bar$/ 2559bar= ruby-src/test1.ru /^ attr_writer :bar,$/
2560bas_syn prol-src/natded.prolog /^bas_syn(n(_)).$/ 2560bas_syn prol-src/natded.prolog /^bas_syn(n(_)).$/
2561base c-src/emacs/src/lisp.h 2188 2561base c-src/emacs/src/lisp.h 2188
2562base cp-src/c.C /^double base (void) const { return rng_base; }$/ 2562base cp-src/c.C /^double base (void) const { return rng_base; }$/
2563base cp-src/Range.h /^ double base (void) const { return rng_base; }$/ 2563base cp-src/Range.h /^ double base (void) const { return rng_base; }$/
2564baz= ruby-src/test1.ru /^ :baz,$/
2564bb c.c 275 2565bb c.c 275
2565bbb c.c 251 2566bbb c.c 251
2566bbbbbb c-src/h.h 113 2567bbbbbb c-src/h.h 113
@@ -3514,6 +3515,7 @@ modifier_symbols c-src/emacs/src/keyboard.c 6327
3514modify_event_symbol c-src/emacs/src/keyboard.c /^modify_event_symbol (ptrdiff_t symbol_num, int mod/ 3515modify_event_symbol c-src/emacs/src/keyboard.c /^modify_event_symbol (ptrdiff_t symbol_num, int mod/
3515module_class_method ruby-src/test.rb /^ def ModuleExample.module_class_method$/ 3516module_class_method ruby-src/test.rb /^ def ModuleExample.module_class_method$/
3516module_instance_method ruby-src/test.rb /^ def module_instance_method$/ 3517module_instance_method ruby-src/test.rb /^ def module_instance_method$/
3518more= ruby-src/test1.ru /^ :more$/
3517more_aligned_int c.c 165 3519more_aligned_int c.c 165
3518morecore_nolock c-src/emacs/src/gmalloc.c /^morecore_nolock (size_t size)$/ 3520morecore_nolock c-src/emacs/src/gmalloc.c /^morecore_nolock (size_t size)$/
3519morecore_recursing c-src/emacs/src/gmalloc.c 604 3521morecore_recursing c-src/emacs/src/gmalloc.c 604
@@ -3879,7 +3881,7 @@ questo ../c/c.web 34
3879quiettest make-src/Makefile /^quiettest:$/ 3881quiettest make-src/Makefile /^quiettest:$/
3880quit_char c-src/emacs/src/keyboard.c 192 3882quit_char c-src/emacs/src/keyboard.c 192
3881quit_throw_to_read_char c-src/emacs/src/keyboard.c /^quit_throw_to_read_char (bool from_signal)$/ 3883quit_throw_to_read_char c-src/emacs/src/keyboard.c /^quit_throw_to_read_char (bool from_signal)$/
3882qux ruby-src/test1.ru /^ alias_method :qux, :tee$/ 3884qux ruby-src/test1.ru /^ alias_method :qux, :tee, attr_accessor :bogu/
3883qux= ruby-src/test1.ru /^ def qux=(tee)$/ 3885qux= ruby-src/test1.ru /^ def qux=(tee)$/
3884r0 c-src/sysdep.h 54 3886r0 c-src/sysdep.h 54
3885r1 c-src/sysdep.h 55 3887r1 c-src/sysdep.h 55
@@ -3904,8 +3906,8 @@ read cp-src/conway.hpp /^ char read() { return alive; }$/
3904read php-src/lce_functions.php /^ function read()$/ 3906read php-src/lce_functions.php /^ function read()$/
3905read-key-sequence c-src/emacs/src/keyboard.c /^DEFUN ("read-key-sequence", Fread_key_sequence, Sr/ 3907read-key-sequence c-src/emacs/src/keyboard.c /^DEFUN ("read-key-sequence", Fread_key_sequence, Sr/
3906read-key-sequence-vector c-src/emacs/src/keyboard.c /^DEFUN ("read-key-sequence-vector", Fread_key_seque/ 3908read-key-sequence-vector c-src/emacs/src/keyboard.c /^DEFUN ("read-key-sequence-vector", Fread_key_seque/
3907read1 ruby-src/test1.ru /^ attr_reader :read1, :read2; attr_writer :wri/ 3909read1 ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :wr/
3908read2 ruby-src/test1.ru /^ attr_reader :read1, :read2; attr_writer :wri/ 3910read2 ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :wr/
3909read_char c-src/emacs/src/keyboard.c /^read_char (int commandflag, Lisp_Object map,$/ 3911read_char c-src/emacs/src/keyboard.c /^read_char (int commandflag, Lisp_Object map,$/
3910read_char_help_form_unwind c-src/emacs/src/keyboard.c /^read_char_help_form_unwind (void)$/ 3912read_char_help_form_unwind c-src/emacs/src/keyboard.c /^read_char_help_form_unwind (void)$/
3911read_char_minibuf_menu_prompt c-src/emacs/src/keyboard.c /^read_char_minibuf_menu_prompt (int commandflag,$/ 3913read_char_minibuf_menu_prompt c-src/emacs/src/keyboard.c /^read_char_minibuf_menu_prompt (int commandflag,$/
@@ -4164,6 +4166,7 @@ substitute c-src/etags.c /^substitute (char *in, char *out, struct re_registe/
4164subsubsec=\relax tex-src/texinfo.tex /^\\let\\appendixsubsubsec=\\relax$/ 4166subsubsec=\relax tex-src/texinfo.tex /^\\let\\appendixsubsubsec=\\relax$/
4165subsubsection perl-src/htlmify-cystic 27 4167subsubsection perl-src/htlmify-cystic 27
4166subsubsection=\relax tex-src/texinfo.tex /^\\let\\appendixsubsubsection=\\relax$/ 4168subsubsection=\relax tex-src/texinfo.tex /^\\let\\appendixsubsubsection=\\relax$/
4169subtle ruby-src/test1.ru /^ :tee ; attr_reader :subtle$/
4167subtree prol-src/natded.prolog /^subtree(T,T).$/ 4170subtree prol-src/natded.prolog /^subtree(T,T).$/
4168suffix c-src/etags.c 186 4171suffix c-src/etags.c 186
4169suffixes c-src/etags.c 195 4172suffixes c-src/etags.c 195
@@ -4450,8 +4453,8 @@ womboid c-src/h.h 75
4450word_size c-src/emacs/src/lisp.h 1473 4453word_size c-src/emacs/src/lisp.h 1473
4451write php-src/lce_functions.php /^ function write()$/ 4454write php-src/lce_functions.php /^ function write()$/
4452write php-src/lce_functions.php /^ function write($save="yes")$/ 4455write php-src/lce_functions.php /^ function write($save="yes")$/
4453write1= ruby-src/test1.ru /^ attr_reader :read1, :read2; attr_writer :wri/ 4456write1= ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :wr/
4454write2= ruby-src/test1.ru /^ attr_reader :read1, :read2; attr_writer :wri/ 4457write2= ruby-src/test1.ru /^ attr_reader :read1 , :read2; attr_writer :wr/
4455write_abbrev c-src/abbrev.c /^write_abbrev (sym, stream)$/ 4458write_abbrev c-src/abbrev.c /^write_abbrev (sym, stream)$/
4456write_classname c-src/etags.c /^write_classname (linebuffer *cn, const char *quali/ 4459write_classname c-src/etags.c /^write_classname (linebuffer *cn, const char *quali/
4457write_lex prol-src/natded.prolog /^write_lex(File):-$/ 4460write_lex prol-src/natded.prolog /^write_lex(File):-$/
@@ -4492,6 +4495,7 @@ xref-location-marker el-src/emacs/lisp/progmodes/etags.el /^(cl-defmethod xref-l
4492xref-make-etags-location el-src/emacs/lisp/progmodes/etags.el /^(defun xref-make-etags-location (tag-info file)$/ 4495xref-make-etags-location el-src/emacs/lisp/progmodes/etags.el /^(defun xref-make-etags-location (tag-info file)$/
4493xrnew c-src/etags.c /^#define xrnew(op, n, Type) ((op) = (Type *) xreall/ 4496xrnew c-src/etags.c /^#define xrnew(op, n, Type) ((op) = (Type *) xreall/
4494xx make-src/Makefile /^xx="this line is here because of a fontlock bug$/ 4497xx make-src/Makefile /^xx="this line is here because of a fontlock bug$/
4498xyz ruby-src/test1.ru /^ alias_method :xyz,$/
4495y cp-src/conway.hpp 7 4499y cp-src/conway.hpp 7
4496y cp-src/clheir.hpp 49 4500y cp-src/clheir.hpp 49
4497y cp-src/clheir.hpp 58 4501y cp-src/clheir.hpp 58
diff --git a/test/etags/ETAGS.good_1 b/test/etags/ETAGS.good_1
index 87ab88fd6c2..1390187863f 100644
--- a/test/etags/ETAGS.good_1
+++ b/test/etags/ETAGS.good_1
@@ -3061,7 +3061,7 @@ module ModuleExample1,0
3061 def module_instance_method46,1051 3061 def module_instance_method46,1051
3062 def ModuleExample.module_class_methodmodule_class_method49,1131 3062 def ModuleExample.module_class_methodmodule_class_method49,1131
3063 3063
3064ruby-src/test1.ru,655 3064ruby-src/test1.ru,828
3065class A1,0 3065class A1,0
3066 def a(2,8 3066 def a(2,8
3067 def b(5,38 3067 def b(5,38
@@ -3075,15 +3075,19 @@ module A9,57
3075 def qux=(qux=22,194 3075 def qux=(qux=22,194
3076 def X25,232 3076 def X25,232
3077 attr_reader :foofoo26,242 3077 attr_reader :foofoo26,242
3078 attr_reader :read1,read127,265 3078 attr_reader :read1 read127,265
3079 attr_reader :read1, :read2;read227,265 3079 attr_reader :read1 , :read2;read227,265
3080 attr_reader :read1, :read2; attr_writer :write1,write1=27,265 3080 attr_reader :read1 , :read2; attr_writer :write1,write1=27,265
3081 attr_reader :read1, :read2; attr_writer :write1, :write2write2=27,265 3081 attr_reader :read1 , :read2; attr_writer :write1, :write2write2=27,265
3082 attr_writer :barbar=28,328 3082 attr_writer :bar,bar=28,329
3083 attr_accessor :teetee29,351 3083 :baz,baz=29,353
3084 attr_accessor :teetee=29,351 3084 :moremore=30,377
3085 alias_method :qux,qux30,376 3085 attr_accessor :teetee31,401
3086A::Constant Constant35,425 3086 attr_accessor :teetee=31,401
3087 alias_method :qux,qux32,426
3088 alias_method :xyz,xyz33,478
3089 :tee ; attr_reader :subtlesubtle34,503
3090A::Constant Constant39,568
3087 3091
3088tex-src/testenv.tex,52 3092tex-src/testenv.tex,52
3089\newcommand{\nm}\nm4,77 3093\newcommand{\nm}\nm4,77
diff --git a/test/etags/ETAGS.good_2 b/test/etags/ETAGS.good_2
index 861598232a9..f8b1546ef48 100644
--- a/test/etags/ETAGS.good_2
+++ b/test/etags/ETAGS.good_2
@@ -3631,7 +3631,7 @@ module ModuleExample1,0
3631 def module_instance_method46,1051 3631 def module_instance_method46,1051
3632 def ModuleExample.module_class_methodmodule_class_method49,1131 3632 def ModuleExample.module_class_methodmodule_class_method49,1131
3633 3633
3634ruby-src/test1.ru,655 3634ruby-src/test1.ru,828
3635class A1,0 3635class A1,0
3636 def a(2,8 3636 def a(2,8
3637 def b(5,38 3637 def b(5,38
@@ -3645,15 +3645,19 @@ module A9,57
3645 def qux=(qux=22,194 3645 def qux=(qux=22,194
3646 def X25,232 3646 def X25,232
3647 attr_reader :foofoo26,242 3647 attr_reader :foofoo26,242
3648 attr_reader :read1,read127,265 3648 attr_reader :read1 read127,265
3649 attr_reader :read1, :read2;read227,265 3649 attr_reader :read1 , :read2;read227,265
3650 attr_reader :read1, :read2; attr_writer :write1,write1=27,265 3650 attr_reader :read1 , :read2; attr_writer :write1,write1=27,265
3651 attr_reader :read1, :read2; attr_writer :write1, :write2write2=27,265 3651 attr_reader :read1 , :read2; attr_writer :write1, :write2write2=27,265
3652 attr_writer :barbar=28,328 3652 attr_writer :bar,bar=28,329
3653 attr_accessor :teetee29,351 3653 :baz,baz=29,353
3654 attr_accessor :teetee=29,351 3654 :moremore=30,377
3655 alias_method :qux,qux30,376 3655 attr_accessor :teetee31,401
3656A::Constant Constant35,425 3656 attr_accessor :teetee=31,401
3657 alias_method :qux,qux32,426
3658 alias_method :xyz,xyz33,478
3659 :tee ; attr_reader :subtlesubtle34,503
3660A::Constant Constant39,568
3657 3661
3658tex-src/testenv.tex,52 3662tex-src/testenv.tex,52
3659\newcommand{\nm}\nm4,77 3663\newcommand{\nm}\nm4,77
diff --git a/test/etags/ETAGS.good_3 b/test/etags/ETAGS.good_3
index 52d5a613b61..a1e895af7f6 100644
--- a/test/etags/ETAGS.good_3
+++ b/test/etags/ETAGS.good_3
@@ -3408,7 +3408,7 @@ module ModuleExample1,0
3408 def module_instance_method46,1051 3408 def module_instance_method46,1051
3409 def ModuleExample.module_class_methodmodule_class_method49,1131 3409 def ModuleExample.module_class_methodmodule_class_method49,1131
3410 3410
3411ruby-src/test1.ru,655 3411ruby-src/test1.ru,828
3412class A1,0 3412class A1,0
3413 def a(2,8 3413 def a(2,8
3414 def b(5,38 3414 def b(5,38
@@ -3422,15 +3422,19 @@ module A9,57
3422 def qux=(qux=22,194 3422 def qux=(qux=22,194
3423 def X25,232 3423 def X25,232
3424 attr_reader :foofoo26,242 3424 attr_reader :foofoo26,242
3425 attr_reader :read1,read127,265 3425 attr_reader :read1 read127,265
3426 attr_reader :read1, :read2;read227,265 3426 attr_reader :read1 , :read2;read227,265
3427 attr_reader :read1, :read2; attr_writer :write1,write1=27,265 3427 attr_reader :read1 , :read2; attr_writer :write1,write1=27,265
3428 attr_reader :read1, :read2; attr_writer :write1, :write2write2=27,265 3428 attr_reader :read1 , :read2; attr_writer :write1, :write2write2=27,265
3429 attr_writer :barbar=28,328 3429 attr_writer :bar,bar=28,329
3430 attr_accessor :teetee29,351 3430 :baz,baz=29,353
3431 attr_accessor :teetee=29,351 3431 :moremore=30,377
3432 alias_method :qux,qux30,376 3432 attr_accessor :teetee31,401
3433A::Constant Constant35,425 3433 attr_accessor :teetee=31,401
3434 alias_method :qux,qux32,426
3435 alias_method :xyz,xyz33,478
3436 :tee ; attr_reader :subtlesubtle34,503
3437A::Constant Constant39,568
3434 3438
3435tex-src/testenv.tex,52 3439tex-src/testenv.tex,52
3436\newcommand{\nm}\nm4,77 3440\newcommand{\nm}\nm4,77
diff --git a/test/etags/ETAGS.good_4 b/test/etags/ETAGS.good_4
index 333274cb253..32390fab324 100644
--- a/test/etags/ETAGS.good_4
+++ b/test/etags/ETAGS.good_4
@@ -3225,7 +3225,7 @@ module ModuleExample1,0
3225 def module_instance_method46,1051 3225 def module_instance_method46,1051
3226 def ModuleExample.module_class_methodmodule_class_method49,1131 3226 def ModuleExample.module_class_methodmodule_class_method49,1131
3227 3227
3228ruby-src/test1.ru,655 3228ruby-src/test1.ru,828
3229class A1,0 3229class A1,0
3230 def a(2,8 3230 def a(2,8
3231 def b(5,38 3231 def b(5,38
@@ -3239,15 +3239,19 @@ module A9,57
3239 def qux=(qux=22,194 3239 def qux=(qux=22,194
3240 def X25,232 3240 def X25,232
3241 attr_reader :foofoo26,242 3241 attr_reader :foofoo26,242
3242 attr_reader :read1,read127,265 3242 attr_reader :read1 read127,265
3243 attr_reader :read1, :read2;read227,265 3243 attr_reader :read1 , :read2;read227,265
3244 attr_reader :read1, :read2; attr_writer :write1,write1=27,265 3244 attr_reader :read1 , :read2; attr_writer :write1,write1=27,265
3245 attr_reader :read1, :read2; attr_writer :write1, :write2write2=27,265 3245 attr_reader :read1 , :read2; attr_writer :write1, :write2write2=27,265
3246 attr_writer :barbar=28,328 3246 attr_writer :bar,bar=28,329
3247 attr_accessor :teetee29,351 3247 :baz,baz=29,353
3248 attr_accessor :teetee=29,351 3248 :moremore=30,377
3249 alias_method :qux,qux30,376 3249 attr_accessor :teetee31,401
3250A::Constant Constant35,425 3250 attr_accessor :teetee=31,401
3251 alias_method :qux,qux32,426
3252 alias_method :xyz,xyz33,478
3253 :tee ; attr_reader :subtlesubtle34,503
3254A::Constant Constant39,568
3251 3255
3252tex-src/testenv.tex,52 3256tex-src/testenv.tex,52
3253\newcommand{\nm}\nm4,77 3257\newcommand{\nm}\nm4,77
diff --git a/test/etags/ETAGS.good_5 b/test/etags/ETAGS.good_5
index fdf2329ee06..ee19bcfc9d2 100644
--- a/test/etags/ETAGS.good_5
+++ b/test/etags/ETAGS.good_5
@@ -4142,7 +4142,7 @@ module ModuleExample1,0
4142 def module_instance_method46,1051 4142 def module_instance_method46,1051
4143 def ModuleExample.module_class_methodmodule_class_method49,1131 4143 def ModuleExample.module_class_methodmodule_class_method49,1131
4144 4144
4145ruby-src/test1.ru,655 4145ruby-src/test1.ru,828
4146class A1,0 4146class A1,0
4147 def a(2,8 4147 def a(2,8
4148 def b(5,38 4148 def b(5,38
@@ -4156,15 +4156,19 @@ module A9,57
4156 def qux=(qux=22,194 4156 def qux=(qux=22,194
4157 def X25,232 4157 def X25,232
4158 attr_reader :foofoo26,242 4158 attr_reader :foofoo26,242
4159 attr_reader :read1,read127,265 4159 attr_reader :read1 read127,265
4160 attr_reader :read1, :read2;read227,265 4160 attr_reader :read1 , :read2;read227,265
4161 attr_reader :read1, :read2; attr_writer :write1,write1=27,265 4161 attr_reader :read1 , :read2; attr_writer :write1,write1=27,265
4162 attr_reader :read1, :read2; attr_writer :write1, :write2write2=27,265 4162 attr_reader :read1 , :read2; attr_writer :write1, :write2write2=27,265
4163 attr_writer :barbar=28,328 4163 attr_writer :bar,bar=28,329
4164 attr_accessor :teetee29,351 4164 :baz,baz=29,353
4165 attr_accessor :teetee=29,351 4165 :moremore=30,377
4166 alias_method :qux,qux30,376 4166 attr_accessor :teetee31,401
4167A::Constant Constant35,425 4167 attr_accessor :teetee=31,401
4168 alias_method :qux,qux32,426
4169 alias_method :xyz,xyz33,478
4170 :tee ; attr_reader :subtlesubtle34,503
4171A::Constant Constant39,568
4168 4172
4169tex-src/testenv.tex,52 4173tex-src/testenv.tex,52
4170\newcommand{\nm}\nm4,77 4174\newcommand{\nm}\nm4,77
diff --git a/test/etags/ETAGS.good_6 b/test/etags/ETAGS.good_6
index 95d59d3db39..f4d9ab8c1a1 100644
--- a/test/etags/ETAGS.good_6
+++ b/test/etags/ETAGS.good_6
@@ -4142,7 +4142,7 @@ module ModuleExample1,0
4142 def module_instance_method46,1051 4142 def module_instance_method46,1051
4143 def ModuleExample.module_class_methodmodule_class_method49,1131 4143 def ModuleExample.module_class_methodmodule_class_method49,1131
4144 4144
4145ruby-src/test1.ru,655 4145ruby-src/test1.ru,828
4146class A1,0 4146class A1,0
4147 def a(2,8 4147 def a(2,8
4148 def b(5,38 4148 def b(5,38
@@ -4156,15 +4156,19 @@ module A9,57
4156 def qux=(qux=22,194 4156 def qux=(qux=22,194
4157 def X25,232 4157 def X25,232
4158 attr_reader :foofoo26,242 4158 attr_reader :foofoo26,242
4159 attr_reader :read1,read127,265 4159 attr_reader :read1 read127,265
4160 attr_reader :read1, :read2;read227,265 4160 attr_reader :read1 , :read2;read227,265
4161 attr_reader :read1, :read2; attr_writer :write1,write1=27,265 4161 attr_reader :read1 , :read2; attr_writer :write1,write1=27,265
4162 attr_reader :read1, :read2; attr_writer :write1, :write2write2=27,265 4162 attr_reader :read1 , :read2; attr_writer :write1, :write2write2=27,265
4163 attr_writer :barbar=28,328 4163 attr_writer :bar,bar=28,329
4164 attr_accessor :teetee29,351 4164 :baz,baz=29,353
4165 attr_accessor :teetee=29,351 4165 :moremore=30,377
4166 alias_method :qux,qux30,376 4166 attr_accessor :teetee31,401
4167A::Constant Constant35,425 4167 attr_accessor :teetee=31,401
4168 alias_method :qux,qux32,426
4169 alias_method :xyz,xyz33,478
4170 :tee ; attr_reader :subtlesubtle34,503
4171A::Constant Constant39,568
4168 4172
4169tex-src/testenv.tex,52 4173tex-src/testenv.tex,52
4170\newcommand{\nm}\nm4,77 4174\newcommand{\nm}\nm4,77
diff --git a/test/etags/ruby-src/test1.ru b/test/etags/ruby-src/test1.ru
index 75dcd51bbe0..bc9dbec36a2 100644
--- a/test/etags/ruby-src/test1.ru
+++ b/test/etags/ruby-src/test1.ru
@@ -24,10 +24,14 @@ module A
24 end 24 end
25 def X 25 def X
26 attr_reader :foo 26 attr_reader :foo
27 attr_reader :read1, :read2; attr_writer :write1, :write2 27 attr_reader :read1 , :read2; attr_writer :write1, :write2
28 attr_writer :bar 28 attr_writer :bar,
29 :baz,
30 :more
29 attr_accessor :tee 31 attr_accessor :tee
30 alias_method :qux, :tee 32 alias_method :qux, :tee, attr_accessor :bogus
33 alias_method :xyz,
34 :tee ; attr_reader :subtle
31 end 35 end
32 end 36 end
33end 37end