diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2025-05-12 11:42:45 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2025-05-12 11:42:45 -0300 |
| commit | 7dc6aae29057c9dc4588f780c7abd72a62ff4c8e (patch) | |
| tree | 8ebcbfb45b7f477162bf52854936f35200b72321 | |
| parent | 5b1ab8efdcb7b48cab8148a407266c467d57114c (diff) | |
| download | lua-7dc6aae29057c9dc4588f780c7abd72a62ff4c8e.tar.gz lua-7dc6aae29057c9dc4588f780c7abd72a62ff4c8e.tar.bz2 lua-7dc6aae29057c9dc4588f780c7abd72a62ff4c8e.zip | |
Correct line in error message for constant function
| -rw-r--r-- | lparser.c | 2 | ||||
| -rw-r--r-- | testes/goto.lua | 7 |
2 files changed, 8 insertions, 1 deletions
| @@ -1858,8 +1858,8 @@ static void funcstat (LexState *ls, int line) { | |||
| 1858 | expdesc v, b; | 1858 | expdesc v, b; |
| 1859 | luaX_next(ls); /* skip FUNCTION */ | 1859 | luaX_next(ls); /* skip FUNCTION */ |
| 1860 | ismethod = funcname(ls, &v); | 1860 | ismethod = funcname(ls, &v); |
| 1861 | body(ls, &b, ismethod, line); | ||
| 1862 | check_readonly(ls, &v); | 1861 | check_readonly(ls, &v); |
| 1862 | body(ls, &b, ismethod, line); | ||
| 1863 | luaK_storevar(ls->fs, &v, &b); | 1863 | luaK_storevar(ls->fs, &v, &b); |
| 1864 | luaK_fixline(ls->fs, line); /* definition "happens" in the first line */ | 1864 | luaK_fixline(ls->fs, line); /* definition "happens" in the first line */ |
| 1865 | } | 1865 | } |
diff --git a/testes/goto.lua b/testes/goto.lua index b41399ff..59713dd7 100644 --- a/testes/goto.lua +++ b/testes/goto.lua | |||
| @@ -342,6 +342,13 @@ do | |||
| 342 | global foo <const>; | 342 | global foo <const>; |
| 343 | function foo (x) return end -- ERROR: foo is read-only | 343 | function foo (x) return end -- ERROR: foo is read-only |
| 344 | ]], "assign to const variable 'foo'") | 344 | ]], "assign to const variable 'foo'") |
| 345 | |||
| 346 | checkerr([[ | ||
| 347 | global foo <const>; | ||
| 348 | function foo (x) -- ERROR: foo is read-only | ||
| 349 | return | ||
| 350 | end | ||
| 351 | ]], "%:2%:") -- correct line in error message | ||
| 345 | 352 | ||
| 346 | end | 353 | end |
| 347 | 354 | ||
