]> git.eshelyaron.com Git - emacs.git/commitdiff
Support '=' in Scheme and Lisp tags in 'etags'
authorAlexander Gramiak <agrambot@gmail.com>
Sat, 8 Jul 2017 08:25:53 +0000 (11:25 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 8 Jul 2017 08:25:53 +0000 (11:25 +0300)
* lib-src/etags.c (get_lispy_tag): New function.
(L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
* test/manual/etags/CTAGS.good:
* test/manual/etags/ETAGS.good_1:
* test/manual/etags/ETAGS.good_2:
* test/manual/etags/ETAGS.good_3:
* test/manual/etags/ETAGS.good_4:
* test/manual/etags/ETAGS.good_5:
* test/manual/etags/ETAGS.good_6:
* test/manual/etags/Makefile:
* test/manual/etags/el-src/TAGTEST.EL: Update tests.
* test/manual/etags/scm-src/test.scm: New tests for Scheme.

lib-src/etags.c
test/manual/etags/CTAGS.good
test/manual/etags/ETAGS.good_1
test/manual/etags/ETAGS.good_2
test/manual/etags/ETAGS.good_3
test/manual/etags/ETAGS.good_4
test/manual/etags/ETAGS.good_5
test/manual/etags/ETAGS.good_6
test/manual/etags/Makefile
test/manual/etags/el-src/TAGTEST.EL
test/manual/etags/scm-src/test.scm [new file with mode: 0644]

index e5ff7bd10fc55c1756dc5e8e0cb3cc55361cce3d..7b1a7fc18514dde42948e38963f4c64c5b727691 100644 (file)
@@ -373,6 +373,7 @@ static void readline (linebuffer *, FILE *);
 static long readline_internal (linebuffer *, FILE *, char const *);
 static bool nocase_tail (const char *);
 static void get_tag (char *, char **);
+static void get_lispy_tag (char *);
 
 static void analyze_regex (char *);
 static void free_regexps (void);
@@ -5347,7 +5348,7 @@ L_getit (void)
       /* Ok, then skip "(" before name in (defstruct (foo)) */
       dbp = skip_spaces (dbp);
   }
-  get_tag (dbp, NULL);
+  get_lispy_tag (dbp);
 }
 
 static void
@@ -5549,14 +5550,14 @@ Scheme_functions (FILE *inf)
       if (strneq (bp, "(def", 4) || strneq (bp, "(DEF", 4))
        {
          bp = skip_non_spaces (bp+4);
-         /* Skip over open parens and white space.  Don't continue past
-            '\0'. */
-         while (*bp && notinname (*bp))
+         /* Skip over open parens and white space.
+            Don't continue past '\0' or '='. */
+         while (*bp && notinname (*bp) && *bp != '=')
            bp++;
-         get_tag (bp, NULL);
+         get_lispy_tag (bp);
        }
       if (LOOKING_AT (bp, "(SET!") || LOOKING_AT (bp, "(set!"))
-       get_tag (bp, NULL);
+       get_lispy_tag (bp);
     }
 }
 
@@ -6591,6 +6592,22 @@ get_tag (register char *bp, char **namepp)
     *namepp = savenstr (bp, cp - bp);
 }
 
+/* Similar to get_tag, but include '=' as part of the tag. */
+static void
+get_lispy_tag (register char *bp)
+{
+  register char *cp = bp;
+
+  if (*bp != '\0')
+    {
+      /* Go till you get to white space or a syntactic break */
+      for (cp = bp + 1; !notinname (*cp) || *cp == '='; cp++)
+       continue;
+      make_tag (bp, cp - bp, true,
+               lb.buffer, cp - lb.buffer + 1, lineno, linecharno);
+    }
+}
+
 /*
  * Read a line of text from `stream' into `lbp', excluding the
  * newline or CR-NL, if any.  Return the number of characters read from
index 13bb37c2e6a98dbe1437551e7b6de1b35e9eb47a..519315c6fdd796a1014e127f2b33fb878cc1fc46 100644 (file)
@@ -202,6 +202,7 @@ ${CHECKOBJS}        make-src/Makefile       /^${CHECKOBJS}: CFLAGS=-g3 -DNULLFREECHECK=0$/
 =\relax        tex-src/texinfo.tex     /^\\let\\subsubsection=\\relax$/
 =\relax        tex-src/texinfo.tex     /^\\let\\appendix=\\relax$/
 =\smartitalic  tex-src/texinfo.tex     /^\\let\\cite=\\smartitalic$/
+=starts-with-equals!   scm-src/test.scm        /^(define =starts-with-equals! #t)$/
 >      tex-src/texinfo.tex     /^\\def>{{\\tt \\gtr}}$/
 >field1        forth-src/test-forth.fth        /^   9   field   >field1$/
 >field2        forth-src/test-forth.fth        /^   5   field   >field2$/
@@ -2750,6 +2751,7 @@ current-idle-time c-src/emacs/src/keyboard.c      /^DEFUN ("current-idle-time", Fcurr
 current-input-mode     c-src/emacs/src/keyboard.c      /^DEFUN ("current-input-mode", Fcurrent_input_mode, /
 current_kboard c-src/emacs/src/keyboard.c      85
 current_lb_is_new      c-src/etags.c   2926
+curry-test     scm-src/test.scm        /^(define (((((curry-test a) b) c) d) e)$/
 cursor_position        cp-src/screen.cpp       /^void cursor_position(void)$/
 cursor_x       cp-src/screen.cpp       15
 cursor_y       cp-src/screen.cpp       15
@@ -3037,6 +3039,7 @@ foo       ruby-src/test1.ru       /^    attr_reader :foo$/
 foo!   ruby-src/test1.ru       /^    def foo!$/
 foo1   ruby-src/test1.ru       /^    attr_reader(:foo1, :bar1, # comment$/
 foo2   ruby-src/test1.ru       /^    alias_method ( :foo2, #cmmt$/
+foo==bar       el-src/TAGTEST.EL       /^(defun foo==bar () (message "hi"))  ; Bug#5624$/
 foobar c-src/c.c       /^int foobar() {;}$/
 foobar c.c     /^extern void foobar (void) __attribute__ ((section /
 foobar2        c-src/h.h       20
@@ -3161,6 +3164,9 @@ header    c-src/emacs/src/lisp.h  1672
 header c-src/emacs/src/lisp.h  1826
 header_size    c-src/emacs/src/lisp.h  1471
 heapsize       c-src/emacs/src/gmalloc.c       361
+hello  scm-src/test.scm        /^(define hello "Hello, Emacs!")$/
+hello  scm-src/test.scm        /^(set! hello "Hello, world!")$/
+hello-world    scm-src/test.scm        /^(define (hello-world)$/
 help   c-src/etags.c   193
 helpPanel      objcpp-src/SimpleCalc.M /^- helpPanel:sender$/
 help_char_p    c-src/emacs/src/keyboard.c      /^help_char_p (Lisp_Object c)$/
@@ -4317,10 +4323,12 @@ test    erl-src/gs_dialog.erl   /^test() ->$/
 test   go-src/test1.go /^func test(p plus) {$/
 test   make-src/Makefile       /^test:$/
 test   php-src/ptest.php       /^test $/
+test-begin     scm-src/test.scm        /^(define-syntax test-begin$/
 test.me22b     lua-src/test.lua        /^   local function test.me22b (one)$/
 test.me_22a    lua-src/test.lua        /^   function test.me_22a(one, two)$/
 test_undefined c-src/emacs/src/keyboard.c      /^test_undefined (Lisp_Object binding)$/
 texttreelist   prol-src/natded.prolog  /^texttreelist([]).$/
+there-is-a-=-in-the-middle!    scm-src/test.scm        /^(define (there-is-a-=-in-the-middle!) #t)$/
 this   c-src/a/b/b.c   1
 this-command-keys      c-src/emacs/src/keyboard.c      /^DEFUN ("this-command-keys", Fthis_command_keys, St/
 this-command-keys-vector       c-src/emacs/src/keyboard.c      /^DEFUN ("this-command-keys-vector", Fthis_command_k/
index 6c4a02ae1c1900b6b2d149f91d78327bc70010eb..cd9cd4a8450be7df6883aa7242a1a91cf077444d 100644 (file)
@@ -2143,10 +2143,11 @@ main(\7f37,571
        class D \7f41,622
                D(\7f43,659
 \f
-el-src/TAGTEST.EL,148
+el-src/TAGTEST.EL,179
 (foo::defmumble bletch \7f1,0
-(defalias 'pending-delete-mode \7fpending-delete-mode\ 15,102
-(defalias (quote explicitly-quoted-pending-delete-mode)\7f8,175
+(defun foo==bar \7ffoo==bar\ 12,33
+(defalias 'pending-delete-mode \7fpending-delete-mode\ 16,149
+(defalias (quote explicitly-quoted-pending-delete-mode)\7f9,222
 \f
 el-src/emacs/lisp/progmodes/etags.el,5069
 (defvar tags-file-name \7f34,1034
@@ -3135,6 +3136,15 @@ module A\7f9,57
     alias_method ( :foo2,\7ffoo2\ 137,586
 A::Constant \7fConstant\ 142,655
 \f
+scm-src/test.scm,260
+(define hello \7f1,0
+(set! hello \7f3,32
+(define (hello-world)\7f5,62
+(define (there-is-a-=-in-the-middle!)\7fthere-is-a-=-in-the-middle!\ 110,128
+(define =starts-with-equals! \7f=starts-with-equals!\ 112,171
+(define (((((curry-test \7f14,205
+(define-syntax test-begin\7f17,265
+\f
 tex-src/testenv.tex,52
 \newcommand{\nm}\7f\nm\ 14,77
 \section{blah}\7fblah\ 18,139
@@ -3145,11 +3155,11 @@ tex-src/gzip.texi,303
 @node Overview,\7f83,2705
 @node Sample,\7f166,7272
 @node Invoking gzip,\7fInvoking gzip\ 1210,8828
-@node Advanced usage,\7fAdvanced usage\ 1357,13495
-@node Environment,\7f420,15207
-@node Tapes,\7f437,15768
-@node Problems,\7f460,16767
-@node Concept Index,\7fConcept Index\ 1473,17287
+@node Advanced usage,\7fAdvanced usage\ 1357,13496
+@node Environment,\7f420,15208
+@node Tapes,\7f437,15769
+@node Problems,\7f460,16768
+@node Concept Index,\7fConcept Index\ 1473,17288
 \f
 tex-src/texinfo.tex,30627
 \def\texinfoversion{\7f\texinfoversion\ 126,1032
index fa784d2e7b5e1899cd8917c2bde18f9a0e761e1d..54fd00e95dadb205b369365d2787c295daac97ff 100644 (file)
@@ -2712,10 +2712,11 @@ main(\7f37,571
        class D \7f41,622
                D(\7f43,659
 \f
-el-src/TAGTEST.EL,148
+el-src/TAGTEST.EL,179
 (foo::defmumble bletch \7f1,0
-(defalias 'pending-delete-mode \7fpending-delete-mode\ 15,102
-(defalias (quote explicitly-quoted-pending-delete-mode)\7f8,175
+(defun foo==bar \7ffoo==bar\ 12,33
+(defalias 'pending-delete-mode \7fpending-delete-mode\ 16,149
+(defalias (quote explicitly-quoted-pending-delete-mode)\7f9,222
 \f
 el-src/emacs/lisp/progmodes/etags.el,5188
 (defvar tags-file-name \7f34,1034
@@ -3708,6 +3709,15 @@ module A\7f9,57
     alias_method ( :foo2,\7ffoo2\ 137,586
 A::Constant \7fConstant\ 142,655
 \f
+scm-src/test.scm,260
+(define hello \7f1,0
+(set! hello \7f3,32
+(define (hello-world)\7f5,62
+(define (there-is-a-=-in-the-middle!)\7fthere-is-a-=-in-the-middle!\ 110,128
+(define =starts-with-equals! \7f=starts-with-equals!\ 112,171
+(define (((((curry-test \7f14,205
+(define-syntax test-begin\7f17,265
+\f
 tex-src/testenv.tex,52
 \newcommand{\nm}\7f\nm\ 14,77
 \section{blah}\7fblah\ 18,139
@@ -3718,11 +3728,11 @@ tex-src/gzip.texi,303
 @node Overview,\7f83,2705
 @node Sample,\7f166,7272
 @node Invoking gzip,\7fInvoking gzip\ 1210,8828
-@node Advanced usage,\7fAdvanced usage\ 1357,13495
-@node Environment,\7f420,15207
-@node Tapes,\7f437,15768
-@node Problems,\7f460,16767
-@node Concept Index,\7fConcept Index\ 1473,17287
+@node Advanced usage,\7fAdvanced usage\ 1357,13496
+@node Environment,\7f420,15208
+@node Tapes,\7f437,15769
+@node Problems,\7f460,16768
+@node Concept Index,\7fConcept Index\ 1473,17288
 \f
 tex-src/texinfo.tex,30627
 \def\texinfoversion{\7f\texinfoversion\ 126,1032
index 547dee2d43c0b0a4dd88ee2227cab2474ce264c9..508427c501cb20c12a67f7a93586166a9063fb70 100644 (file)
@@ -2520,10 +2520,11 @@ main(\7f37,571
                D(\7f43,659
                int x;\7f44,694
 \f
-el-src/TAGTEST.EL,148
+el-src/TAGTEST.EL,179
 (foo::defmumble bletch \7f1,0
-(defalias 'pending-delete-mode \7fpending-delete-mode\ 15,102
-(defalias (quote explicitly-quoted-pending-delete-mode)\7f8,175
+(defun foo==bar \7ffoo==bar\ 12,33
+(defalias 'pending-delete-mode \7fpending-delete-mode\ 16,149
+(defalias (quote explicitly-quoted-pending-delete-mode)\7f9,222
 \f
 el-src/emacs/lisp/progmodes/etags.el,5069
 (defvar tags-file-name \7f34,1034
@@ -3542,6 +3543,15 @@ module A\7f9,57
     alias_method ( :foo2,\7ffoo2\ 137,586
 A::Constant \7fConstant\ 142,655
 \f
+scm-src/test.scm,260
+(define hello \7f1,0
+(set! hello \7f3,32
+(define (hello-world)\7f5,62
+(define (there-is-a-=-in-the-middle!)\7fthere-is-a-=-in-the-middle!\ 110,128
+(define =starts-with-equals! \7f=starts-with-equals!\ 112,171
+(define (((((curry-test \7f14,205
+(define-syntax test-begin\7f17,265
+\f
 tex-src/testenv.tex,52
 \newcommand{\nm}\7f\nm\ 14,77
 \section{blah}\7fblah\ 18,139
@@ -3552,11 +3562,11 @@ tex-src/gzip.texi,303
 @node Overview,\7f83,2705
 @node Sample,\7f166,7272
 @node Invoking gzip,\7fInvoking gzip\ 1210,8828
-@node Advanced usage,\7fAdvanced usage\ 1357,13495
-@node Environment,\7f420,15207
-@node Tapes,\7f437,15768
-@node Problems,\7f460,16767
-@node Concept Index,\7fConcept Index\ 1473,17287
+@node Advanced usage,\7fAdvanced usage\ 1357,13496
+@node Environment,\7f420,15208
+@node Tapes,\7f437,15769
+@node Problems,\7f460,16768
+@node Concept Index,\7fConcept Index\ 1473,17288
 \f
 tex-src/texinfo.tex,30627
 \def\texinfoversion{\7f\texinfoversion\ 126,1032
index 2c50ec1a742fc33c235192e6fb7a52cdab4d6e4a..460e31b5d960a5da932a5a472780acab72c51f56 100644 (file)
@@ -2307,10 +2307,11 @@ main(\7f37,571
        class D \7f41,622
                D(\7f43,659
 \f
-el-src/TAGTEST.EL,148
+el-src/TAGTEST.EL,179
 (foo::defmumble bletch \7f1,0
-(defalias 'pending-delete-mode \7fpending-delete-mode\ 15,102
-(defalias (quote explicitly-quoted-pending-delete-mode)\7f8,175
+(defun foo==bar \7ffoo==bar\ 12,33
+(defalias 'pending-delete-mode \7fpending-delete-mode\ 16,149
+(defalias (quote explicitly-quoted-pending-delete-mode)\7f9,222
 \f
 el-src/emacs/lisp/progmodes/etags.el,5069
 (defvar tags-file-name \7f34,1034
@@ -3299,6 +3300,15 @@ module A\7f9,57
     alias_method ( :foo2,\7ffoo2\ 137,586
 A::Constant \7fConstant\ 142,655
 \f
+scm-src/test.scm,260
+(define hello \7f1,0
+(set! hello \7f3,32
+(define (hello-world)\7f5,62
+(define (there-is-a-=-in-the-middle!)\7fthere-is-a-=-in-the-middle!\ 110,128
+(define =starts-with-equals! \7f=starts-with-equals!\ 112,171
+(define (((((curry-test \7f14,205
+(define-syntax test-begin\7f17,265
+\f
 tex-src/testenv.tex,52
 \newcommand{\nm}\7f\nm\ 14,77
 \section{blah}\7fblah\ 18,139
@@ -3309,11 +3319,11 @@ tex-src/gzip.texi,303
 @node Overview,\7f83,2705
 @node Sample,\7f166,7272
 @node Invoking gzip,\7fInvoking gzip\ 1210,8828
-@node Advanced usage,\7fAdvanced usage\ 1357,13495
-@node Environment,\7f420,15207
-@node Tapes,\7f437,15768
-@node Problems,\7f460,16767
-@node Concept Index,\7fConcept Index\ 1473,17287
+@node Advanced usage,\7fAdvanced usage\ 1357,13496
+@node Environment,\7f420,15208
+@node Tapes,\7f437,15769
+@node Problems,\7f460,16768
+@node Concept Index,\7fConcept Index\ 1473,17288
 \f
 tex-src/texinfo.tex,30627
 \def\texinfoversion{\7f\texinfoversion\ 126,1032
index 2b431034f44f8606ed2f8f172ba61db05480dd5e..b7a31602f516f74eed2516f5c8edaaf615cdd523 100644 (file)
@@ -3253,10 +3253,11 @@ main(\7f37,571
                D(\7f43,659
                int x;\7f44,694
 \f
-el-src/TAGTEST.EL,148
+el-src/TAGTEST.EL,179
 (foo::defmumble bletch \7f1,0
-(defalias 'pending-delete-mode \7fpending-delete-mode\ 15,102
-(defalias (quote explicitly-quoted-pending-delete-mode)\7f8,175
+(defun foo==bar \7ffoo==bar\ 12,33
+(defalias 'pending-delete-mode \7fpending-delete-mode\ 16,149
+(defalias (quote explicitly-quoted-pending-delete-mode)\7f9,222
 \f
 el-src/emacs/lisp/progmodes/etags.el,5188
 (defvar tags-file-name \7f34,1034
@@ -4279,6 +4280,15 @@ module A\7f9,57
     alias_method ( :foo2,\7ffoo2\ 137,586
 A::Constant \7fConstant\ 142,655
 \f
+scm-src/test.scm,260
+(define hello \7f1,0
+(set! hello \7f3,32
+(define (hello-world)\7f5,62
+(define (there-is-a-=-in-the-middle!)\7fthere-is-a-=-in-the-middle!\ 110,128
+(define =starts-with-equals! \7f=starts-with-equals!\ 112,171
+(define (((((curry-test \7f14,205
+(define-syntax test-begin\7f17,265
+\f
 tex-src/testenv.tex,52
 \newcommand{\nm}\7f\nm\ 14,77
 \section{blah}\7fblah\ 18,139
@@ -4289,11 +4299,11 @@ tex-src/gzip.texi,303
 @node Overview,\7f83,2705
 @node Sample,\7f166,7272
 @node Invoking gzip,\7fInvoking gzip\ 1210,8828
-@node Advanced usage,\7fAdvanced usage\ 1357,13495
-@node Environment,\7f420,15207
-@node Tapes,\7f437,15768
-@node Problems,\7f460,16767
-@node Concept Index,\7fConcept Index\ 1473,17287
+@node Advanced usage,\7fAdvanced usage\ 1357,13496
+@node Environment,\7f420,15208
+@node Tapes,\7f437,15769
+@node Problems,\7f460,16768
+@node Concept Index,\7fConcept Index\ 1473,17288
 \f
 tex-src/texinfo.tex,30627
 \def\texinfoversion{\7f\texinfoversion\ 126,1032
index 2cb0d05e72a27922954d768113f5279eebe218d6..a75fd806968a53b65a8744d49bf951abffe686c4 100644 (file)
@@ -3253,10 +3253,11 @@ main(\7f37,571
                D(\7fD::D\ 143,659
                int x;\7fD::x\ 144,694
 \f
-el-src/TAGTEST.EL,148
+el-src/TAGTEST.EL,179
 (foo::defmumble bletch \7f1,0
-(defalias 'pending-delete-mode \7fpending-delete-mode\ 15,102
-(defalias (quote explicitly-quoted-pending-delete-mode)\7f8,175
+(defun foo==bar \7ffoo==bar\ 12,33
+(defalias 'pending-delete-mode \7fpending-delete-mode\ 16,149
+(defalias (quote explicitly-quoted-pending-delete-mode)\7f9,222
 \f
 el-src/emacs/lisp/progmodes/etags.el,5188
 (defvar tags-file-name \7f34,1034
@@ -4279,6 +4280,15 @@ module A\7f9,57
     alias_method ( :foo2,\7ffoo2\ 137,586
 A::Constant \7fConstant\ 142,655
 \f
+scm-src/test.scm,260
+(define hello \7f1,0
+(set! hello \7f3,32
+(define (hello-world)\7f5,62
+(define (there-is-a-=-in-the-middle!)\7fthere-is-a-=-in-the-middle!\ 110,128
+(define =starts-with-equals! \7f=starts-with-equals!\ 112,171
+(define (((((curry-test \7f14,205
+(define-syntax test-begin\7f17,265
+\f
 tex-src/testenv.tex,52
 \newcommand{\nm}\7f\nm\ 14,77
 \section{blah}\7fblah\ 18,139
@@ -4289,11 +4299,11 @@ tex-src/gzip.texi,303
 @node Overview,\7f83,2705
 @node Sample,\7f166,7272
 @node Invoking gzip,\7fInvoking gzip\ 1210,8828
-@node Advanced usage,\7fAdvanced usage\ 1357,13495
-@node Environment,\7f420,15207
-@node Tapes,\7f437,15768
-@node Problems,\7f460,16767
-@node Concept Index,\7fConcept Index\ 1473,17287
+@node Advanced usage,\7fAdvanced usage\ 1357,13496
+@node Environment,\7f420,15208
+@node Tapes,\7f437,15769
+@node Problems,\7f460,16768
+@node Concept Index,\7fConcept Index\ 1473,17288
 \f
 tex-src/texinfo.tex,30627
 \def\texinfoversion{\7f\texinfoversion\ 126,1032
index 07ad0f46416ed937820564e0bd49d691eff20856..c1df703905e91bde06c791c1963c6873fdc9a64b 100644 (file)
@@ -25,12 +25,13 @@ PSSRC=$(addprefix ./ps-src/,rfc1245.ps)
 PROLSRC=$(addprefix ./prol-src/,ordsets.prolog natded.prolog)
 PYTSRC=$(addprefix ./pyt-src/,server.py)
 RBSRC=$(addprefix ./ruby-src/,test.rb test1.ru)
+SCMSRC=$(addprefix ./scm-src/,test.scm)
 TEXSRC=$(addprefix ./tex-src/,testenv.tex gzip.texi texinfo.tex nonewline.tex)
 YSRC=$(addprefix ./y-src/,parse.y parse.c atest.y cccp.c cccp.y)
 SRCS=${ADASRC} ${ASRC} ${CSRC} ${CPSRC} ${ELSRC} ${ERLSRC} ${FSRC}\
      ${FORTHSRC} ${GOSRC} ${HTMLSRC} ${JAVASRC} ${LUASRC} ${MAKESRC}\
      ${OBJCSRC} ${OBJCPPSRC} ${PASSRC} ${PHPSRC} ${PERLSRC} ${PSSRC}\
-     ${PROLSRC} ${PYTSRC} ${RBSRC} ${TEXSRC} ${YSRC}
+     ${PROLSRC} ${PYTSRC} ${RBSRC} ${SCMSRC} ${TEXSRC} ${YSRC}
 NONSRCS=./f-src/entry.strange ./erl-src/lists.erl ./cp-src/clheir.hpp.gz
 
 ETAGS_PROG=../../../lib-src/etags
index acf0baf82f085081fade5fa89689c9d1439f5dbb..89a679137715af329876cb7d577c7a7ff1db1832 100644 (file)
@@ -1,4 +1,5 @@
 (foo::defmumble bletch beuarghh)
+(defun foo==bar () (message "hi"))  ; Bug#5624
 ;;; Ctags test file for lisp mode.
 
 ;; from emacs/lisp/delsel.el:76:
diff --git a/test/manual/etags/scm-src/test.scm b/test/manual/etags/scm-src/test.scm
new file mode 100644 (file)
index 0000000..e3921e7
--- /dev/null
@@ -0,0 +1,20 @@
+(define hello "Hello, Emacs!")
+
+(set! hello "Hello, world!")
+
+(define (hello-world)
+  (display hello)
+  (newline))
+
+;; Bug 5624
+(define (there-is-a-=-in-the-middle!) #t)
+
+(define =starts-with-equals! #t)
+
+(define (((((curry-test a) b) c) d) e)
+  (list a b c d e))
+
+(define-syntax test-begin
+  (syntax-rules ()
+    ((test-begin exp ...)
+     ((lambda () exp ...)))))