]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve Lua support in etags
authorEli Zaretskii <eliz@gnu.org>
Fri, 11 Dec 2015 10:07:26 +0000 (12:07 +0200)
committerEli Zaretskii <eliz@gnu.org>
Fri, 11 Dec 2015 10:07:26 +0000 (12:07 +0200)
* lib-src/etags.c (Lua_functions): Skip spaces before looking for
"function".

* etc/NEWS: Mention improved Lua support by 'etags'.

* test/etags/lua-src/test.lua (test): Add tests for indented
function 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 the modified Lua tests.

etc/NEWS
lib-src/etags.c
test/etags/CTAGS.good
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/lua-src/test.lua

index 0c9296acab4b3a7cc230b131a311d0d4d3dc3e57..c6b3374ded8361dca482695596e1c2b9072342cf 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1466,6 +1466,11 @@ qualified names by hand.
 Names of modules, classes, methods, and functions are tagged.
 Overloaded operators are also tagged.
 
+*** Improved support for Lua
+
+Etags now tags functions even if the "function" keyword follows some
+whitespace at line beginning.
+
 \f
 * Changes in Emacs 25.1 on Non-Free Operating Systems
 
index cd49f7199baca7013d0de79c10987fbdbb2739a6..3cb39689b8dfd751fedce31d40bfc140b50791f4 100644 (file)
@@ -4985,6 +4985,7 @@ Lua_functions (FILE *inf)
 
   LOOP_ON_INPUT_LINES (inf, lb, bp)
     {
+      bp = skip_spaces (bp);
       if (bp[0] != 'f' && bp[0] != 'l')
        continue;
 
index 3186ff667e22fad0be822f41af0299d3040acd10..245f6703adface8311177bf183523589fa0b70ee 100644 (file)
@@ -3425,6 +3425,8 @@ mcCSC     cp-src/c.C      6
 mcheck c-src/emacs/src/gmalloc.c       /^mcheck (void (*func) (enum mcheck_status))$/
 mcheck_status  c-src/emacs/src/gmalloc.c       283
 mcheck_used    c-src/emacs/src/gmalloc.c       2012
+me22b  lua-src/test.lua        /^   local function test.me22b (one)$/
+me_22a lua-src/test.lua        /^   function test.me_22a(one, two)$/
 memalign       c-src/emacs/src/gmalloc.c       /^memalign (size_t alignment, size_t size)$/
 member prol-src/natded.prolog  /^member(X,[X|_]).$/
 memclear       c-src/emacs/src/lisp.h  /^memclear (void *p, ptrdiff_t nbytes)$/
@@ -4209,6 +4211,8 @@ test      c-src/emacs/src/lisp.h  1871
 test   cp-src/c.C      86
 test   erl-src/gs_dialog.erl   /^test() ->$/
 test   php-src/ptest.php       /^test $/
+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([]).$/
 this   c-src/a/b/b.c   1
index 1c4664d47a86da59676eb4b40d5abba5f145f636..2ae4ec412561dc9f760093d476e6cf29c47dfcfb 100644 (file)
@@ -2336,7 +2336,7 @@ function MoveLayerBottom \7f223,5079
 function MoveLayerBefore \7f236,5457
 function MoveLayerAfter \7f258,6090
 \f
-lua-src/test.lua,291
+lua-src/test.lua,442
 function Rectangle.getPos \7f2,15
 function Rectangle.getPos \7fgetPos\ 12,15
 function Circle.getPos \7f6,61
@@ -2345,6 +2345,10 @@ function Cube.data.getFoo \7f10,102
 function Cube.data.getFoo \7fgetFoo\ 110,102
 function Square.something:Bar \7f14,148
 function Square.something:Bar \7fBar\ 114,148
+   function test.me_22a(\7f22,241
+   function test.me_22a(\7fme_22a\ 122,241
+   local function test.me22b \7f25,297
+   local function test.me22b \7fme22b\ 125,297
 \f
 make-src/Makefile,1133
 LATEST=\7f1,0
index 5f82e8c6b1c61c74a721dc7d2c71dbfcf677583e..3ec5b21d384cdf6a7e522a37f1f0923f046edc98 100644 (file)
@@ -2905,7 +2905,7 @@ function MoveLayerBottom \7f223,5079
 function MoveLayerBefore \7f236,5457
 function MoveLayerAfter \7f258,6090
 \f
-lua-src/test.lua,291
+lua-src/test.lua,442
 function Rectangle.getPos \7f2,15
 function Rectangle.getPos \7fgetPos\ 12,15
 function Circle.getPos \7f6,61
@@ -2914,6 +2914,10 @@ function Cube.data.getFoo \7f10,102
 function Cube.data.getFoo \7fgetFoo\ 110,102
 function Square.something:Bar \7f14,148
 function Square.something:Bar \7fBar\ 114,148
+   function test.me_22a(\7f22,241
+   function test.me_22a(\7fme_22a\ 122,241
+   local function test.me22b \7f25,297
+   local function test.me22b \7fme22b\ 125,297
 \f
 make-src/Makefile,1156
 LATEST=\7f1,0
index 8ab9dc374827fff11bdf1aaf35fcc7412396c1f6..43b84eed5d290e3811e32d519b2b75d70c81357d 100644 (file)
@@ -2653,7 +2653,7 @@ function MoveLayerBottom \7f223,5079
 function MoveLayerBefore \7f236,5457
 function MoveLayerAfter \7f258,6090
 \f
-lua-src/test.lua,291
+lua-src/test.lua,442
 function Rectangle.getPos \7f2,15
 function Rectangle.getPos \7fgetPos\ 12,15
 function Circle.getPos \7f6,61
@@ -2662,6 +2662,10 @@ function Cube.data.getFoo \7f10,102
 function Cube.data.getFoo \7fgetFoo\ 110,102
 function Square.something:Bar \7f14,148
 function Square.something:Bar \7fBar\ 114,148
+   function test.me_22a(\7f22,241
+   function test.me_22a(\7fme_22a\ 122,241
+   local function test.me22b \7f25,297
+   local function test.me22b \7fme22b\ 125,297
 \f
 make-src/Makefile,1133
 LATEST=\7f1,0
index 39a2f6efe7467af7182839a962f1c231957de7fd..434fe13cbd49c4eae035ace0d0aa0f74e021d51a 100644 (file)
@@ -2500,7 +2500,7 @@ function MoveLayerBottom \7f223,5079
 function MoveLayerBefore \7f236,5457
 function MoveLayerAfter \7f258,6090
 \f
-lua-src/test.lua,291
+lua-src/test.lua,442
 function Rectangle.getPos \7f2,15
 function Rectangle.getPos \7fgetPos\ 12,15
 function Circle.getPos \7f6,61
@@ -2509,6 +2509,10 @@ function Cube.data.getFoo \7f10,102
 function Cube.data.getFoo \7fgetFoo\ 110,102
 function Square.something:Bar \7f14,148
 function Square.something:Bar \7fBar\ 114,148
+   function test.me_22a(\7f22,241
+   function test.me_22a(\7fme_22a\ 122,241
+   local function test.me22b \7f25,297
+   local function test.me22b \7fme22b\ 125,297
 \f
 make-src/Makefile,1133
 LATEST=\7f1,0
index a820d81208aa5ca98a245dc5c7cd494391fc3a6e..425e2526f3525c46214114acdc5da21d26247f18 100644 (file)
@@ -3386,7 +3386,7 @@ function MoveLayerBottom \7f223,5079
 function MoveLayerBefore \7f236,5457
 function MoveLayerAfter \7f258,6090
 \f
-lua-src/test.lua,291
+lua-src/test.lua,442
 function Rectangle.getPos \7f2,15
 function Rectangle.getPos \7fgetPos\ 12,15
 function Circle.getPos \7f6,61
@@ -3395,6 +3395,10 @@ function Cube.data.getFoo \7f10,102
 function Cube.data.getFoo \7fgetFoo\ 110,102
 function Square.something:Bar \7f14,148
 function Square.something:Bar \7fBar\ 114,148
+   function test.me_22a(\7f22,241
+   function test.me_22a(\7fme_22a\ 122,241
+   local function test.me22b \7f25,297
+   local function test.me22b \7fme22b\ 125,297
 \f
 make-src/Makefile,1156
 LATEST=\7f1,0
index c305147044129d115678c9fa90cd57786741bea2..39522dbdb9b406981e10dcc394113cb1684512ad 100644 (file)
@@ -3386,7 +3386,7 @@ function MoveLayerBottom \7f223,5079
 function MoveLayerBefore \7f236,5457
 function MoveLayerAfter \7f258,6090
 \f
-lua-src/test.lua,291
+lua-src/test.lua,442
 function Rectangle.getPos \7f2,15
 function Rectangle.getPos \7fgetPos\ 12,15
 function Circle.getPos \7f6,61
@@ -3395,6 +3395,10 @@ function Cube.data.getFoo \7f10,102
 function Cube.data.getFoo \7fgetFoo\ 110,102
 function Square.something:Bar \7f14,148
 function Square.something:Bar \7fBar\ 114,148
+   function test.me_22a(\7f22,241
+   function test.me_22a(\7fme_22a\ 122,241
+   local function test.me22b \7f25,297
+   local function test.me22b \7fme22b\ 125,297
 \f
 make-src/Makefile,1156
 LATEST=\7f1,0
index 3bfa49c4f5d058b9a5b5acaf44a34fe54dee982f..405eb5f1de055544dc1a097903170e76900e9c0b 100644 (file)
@@ -13,3 +13,24 @@ end
 Square = {}
 function Square.something:Bar ()
 end
+
+-- Comment line
+  -- Indented comment line
+
+test = {}
+
+   function test.me_22a(one, two)
+       print"me_22a"
+   end
+   local function test.me22b (one)
+       print"me_22b"
+   end
+
+
+ test.i_123 = function  (x)
+       print"i_123"
+end
+
+
+test.me_12a(1,2)
+test.i_123(1)