aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ldblib.c3
-rw-r--r--ldebug.c5
-rw-r--r--ldump.c5
-rw-r--r--lfunc.c5
-rw-r--r--lobject.h5
-rw-r--r--lparser.c9
-rw-r--r--lua.h3
-rw-r--r--lundump.c5
8 files changed, 24 insertions, 16 deletions
diff --git a/ldblib.c b/ldblib.c
index 92ab8e63..80c49ea5 100644
--- a/ldblib.c
+++ b/ldblib.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ldblib.c,v 1.93 2005/02/18 12:40:02 roberto Exp roberto $ 2** $Id: ldblib.c,v 1.94 2005/03/08 20:10:05 roberto Exp roberto $
3** Interface from Lua to its debug API 3** Interface from Lua to its debug API
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -105,6 +105,7 @@ static int db_getinfo (lua_State *L) {
105 settabss(L, "source", ar.source); 105 settabss(L, "source", ar.source);
106 settabss(L, "short_src", ar.short_src); 106 settabss(L, "short_src", ar.short_src);
107 settabsi(L, "linedefined", ar.linedefined); 107 settabsi(L, "linedefined", ar.linedefined);
108 settabsi(L, "lastlinedefined", ar.lastlinedefined);
108 settabss(L, "what", ar.what); 109 settabss(L, "what", ar.what);
109 break; 110 break;
110 case 'l': 111 case 'l':
diff --git a/ldebug.c b/ldebug.c
index 23441062..4108aaae 100644
--- a/ldebug.c
+++ b/ldebug.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ldebug.c,v 2.15 2005/04/14 13:30:47 roberto Exp roberto $ 2** $Id: ldebug.c,v 2.16 2005/05/04 20:42:28 roberto Exp roberto $
3** Debug Interface 3** Debug Interface
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -157,7 +157,8 @@ static void funcinfo (lua_Debug *ar, StkId func) {
157 } 157 }
158 else { 158 else {
159 ar->source = getstr(cl->l.p->source); 159 ar->source = getstr(cl->l.p->source);
160 ar->linedefined = cl->l.p->lineDefined; 160 ar->linedefined = cl->l.p->linedefined;
161 ar->lastlinedefined = cl->l.p->lastlinedefined;
161 ar->what = (ar->linedefined == 0) ? "main" : "Lua"; 162 ar->what = (ar->linedefined == 0) ? "main" : "Lua";
162 } 163 }
163 luaO_chunkid(ar->short_src, ar->source, LUA_IDSIZE); 164 luaO_chunkid(ar->short_src, ar->source, LUA_IDSIZE);
diff --git a/ldump.c b/ldump.c
index c1220ffd..e3823a0d 100644
--- a/ldump.c
+++ b/ldump.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ldump.c,v 2.3 2004/07/09 18:24:41 roberto Exp $ 2** $Id: ldump.c,v 2.4 2004/10/04 19:01:12 roberto Exp roberto $
3** save pre-compiled Lua chunks 3** save pre-compiled Lua chunks
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -136,7 +136,8 @@ static void DumpConstants(const Proto* f, DumpState* D)
136static void DumpFunction(const Proto* f, const TString* p, DumpState* D) 136static void DumpFunction(const Proto* f, const TString* p, DumpState* D)
137{ 137{
138 DumpString((f->source==p) ? NULL : f->source,D); 138 DumpString((f->source==p) ? NULL : f->source,D);
139 DumpInt(f->lineDefined,D); 139 DumpInt(f->linedefined,D);
140 DumpInt(f->lastlinedefined,D);
140 DumpByte(f->nups,D); 141 DumpByte(f->nups,D);
141 DumpByte(f->numparams,D); 142 DumpByte(f->numparams,D);
142 DumpByte(f->is_vararg,D); 143 DumpByte(f->is_vararg,D);
diff --git a/lfunc.c b/lfunc.c
index bb69e306..cfdfe7f5 100644
--- a/lfunc.c
+++ b/lfunc.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lfunc.c,v 2.9 2005/02/18 12:40:02 roberto Exp roberto $ 2** $Id: lfunc.c,v 2.10 2005/04/29 13:54:05 roberto Exp roberto $
3** Auxiliary functions to manipulate prototypes and closures 3** Auxiliary functions to manipulate prototypes and closures
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -131,7 +131,8 @@ Proto *luaF_newproto (lua_State *L) {
131 f->lineinfo = NULL; 131 f->lineinfo = NULL;
132 f->sizelocvars = 0; 132 f->sizelocvars = 0;
133 f->locvars = NULL; 133 f->locvars = NULL;
134 f->lineDefined = 0; 134 f->linedefined = 0;
135 f->lastlinedefined = 0;
135 f->source = NULL; 136 f->source = NULL;
136 return f; 137 return f;
137} 138}
diff --git a/lobject.h b/lobject.h
index 25ce9705..0d41e935 100644
--- a/lobject.h
+++ b/lobject.h
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lobject.h,v 2.11 2005/02/18 12:40:02 roberto Exp roberto $ 2** $Id: lobject.h,v 2.12 2005/04/25 19:24:10 roberto Exp roberto $
3** Type definitions for Lua objects 3** Type definitions for Lua objects
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -244,7 +244,8 @@ typedef struct Proto {
244 int sizelineinfo; 244 int sizelineinfo;
245 int sizep; /* size of `p' */ 245 int sizep; /* size of `p' */
246 int sizelocvars; 246 int sizelocvars;
247 int lineDefined; 247 int linedefined;
248 int lastlinedefined;
248 GCObject *gclist; 249 GCObject *gclist;
249 lu_byte nups; /* number of upvalues */ 250 lu_byte nups; /* number of upvalues */
250 lu_byte numparams; 251 lu_byte numparams;
diff --git a/lparser.c b/lparser.c
index afb07061..e27c669f 100644
--- a/lparser.c
+++ b/lparser.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lparser.c,v 2.23 2005/05/04 16:36:23 roberto Exp roberto $ 2** $Id: lparser.c,v 2.24 2005/05/04 20:42:28 roberto Exp roberto $
3** Lua Parser 3** Lua Parser
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -87,10 +87,10 @@ static void error_expected (LexState *ls, int token) {
87 87
88 88
89static void errorlimit (FuncState *fs, int limit, const char *what) { 89static void errorlimit (FuncState *fs, int limit, const char *what) {
90 const char *msg = (fs->f->lineDefined == 0) ? 90 const char *msg = (fs->f->linedefined == 0) ?
91 luaO_pushfstring(fs->L, "main function has more than %d %s", limit, what) : 91 luaO_pushfstring(fs->L, "main function has more than %d %s", limit, what) :
92 luaO_pushfstring(fs->L, "function at line %d has more than %d %s", 92 luaO_pushfstring(fs->L, "function at line %d has more than %d %s",
93 fs->f->lineDefined, limit, what); 93 fs->f->linedefined, limit, what);
94 luaX_lexerror(fs->ls, msg, 0); 94 luaX_lexerror(fs->ls, msg, 0);
95} 95}
96 96
@@ -591,7 +591,7 @@ static void body (LexState *ls, expdesc *e, int needself, int line) {
591 /* body -> `(' parlist `)' chunk END */ 591 /* body -> `(' parlist `)' chunk END */
592 FuncState new_fs; 592 FuncState new_fs;
593 open_func(ls, &new_fs); 593 open_func(ls, &new_fs);
594 new_fs.f->lineDefined = line; 594 new_fs.f->linedefined = line;
595 checknext(ls, '('); 595 checknext(ls, '(');
596 if (needself) { 596 if (needself) {
597 new_localvarliteral(ls, "self", 0); 597 new_localvarliteral(ls, "self", 0);
@@ -600,6 +600,7 @@ static void body (LexState *ls, expdesc *e, int needself, int line) {
600 parlist(ls); 600 parlist(ls);
601 checknext(ls, ')'); 601 checknext(ls, ')');
602 chunk(ls); 602 chunk(ls);
603 new_fs.f->lastlinedefined = ls->linenumber;
603 check_match(ls, TK_END, TK_FUNCTION, line); 604 check_match(ls, TK_END, TK_FUNCTION, line);
604 close_func(ls); 605 close_func(ls);
605 pushclosure(ls, &new_fs, e); 606 pushclosure(ls, &new_fs, e);
diff --git a/lua.h b/lua.h
index c7c17f49..7bf8d33f 100644
--- a/lua.h
+++ b/lua.h
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lua.h,v 1.204 2005/03/23 17:51:11 roberto Exp roberto $ 2** $Id: lua.h,v 1.205 2005/03/28 17:17:53 roberto Exp roberto $
3** Lua - An Extensible Extension Language 3** Lua - An Extensible Extension Language
4** Tecgraf: Computer Graphics Technology Group, PUC-Rio, Brazil 4** Tecgraf: Computer Graphics Technology Group, PUC-Rio, Brazil
5** http://www.lua.org mailto:info@lua.org 5** http://www.lua.org mailto:info@lua.org
@@ -345,6 +345,7 @@ struct lua_Debug {
345 int currentline; /* (l) */ 345 int currentline; /* (l) */
346 int nups; /* (u) number of upvalues */ 346 int nups; /* (u) number of upvalues */
347 int linedefined; /* (S) */ 347 int linedefined; /* (S) */
348 int lastlinedefined; /* (S) */
348 char short_src[LUA_IDSIZE]; /* (S) */ 349 char short_src[LUA_IDSIZE]; /* (S) */
349 /* private part */ 350 /* private part */
350 int i_ci; /* active function */ 351 int i_ci; /* active function */
diff --git a/lundump.c b/lundump.c
index 74fcf4e0..7b44c425 100644
--- a/lundump.c
+++ b/lundump.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lundump.c,v 2.2 2004/04/30 20:13:38 roberto Exp $ 2** $Id: lundump.c,v 2.3 2004/10/04 19:01:12 roberto Exp roberto $
3** load pre-compiled Lua chunks 3** load pre-compiled Lua chunks
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -201,7 +201,8 @@ static Proto* LoadFunction (LoadState* S, TString* p)
201 setptvalue2s(L, L->top, f); 201 setptvalue2s(L, L->top, f);
202 incr_top(L); 202 incr_top(L);
203 f->source=LoadString(S); if (f->source==NULL) f->source=p; 203 f->source=LoadString(S); if (f->source==NULL) f->source=p;
204 f->lineDefined=LoadInt(S); 204 f->linedefined=LoadInt(S);
205 f->lastlinedefined=LoadInt(S);
205 f->nups=LoadByte(S); 206 f->nups=LoadByte(S);
206 f->numparams=LoadByte(S); 207 f->numparams=LoadByte(S);
207 f->is_vararg=LoadByte(S); 208 f->is_vararg=LoadByte(S);