pike.git/
src/
language.yacc
Branch:
Tag:
Non-build tags
All tags
No tags
2001-11-29
2001-11-29 17:02:34 by Henrik Grubbström (Grubba) <grubba@grubba.org>
164d6b475b18024765e9129d5fc578acaaf7555c (
14
lines) (+
12
/-
2
)
[
Show
|
Annotate
]
Branch:
7.9
Improved behaviour for [bug
2571 (#2571)
].
Rev: src/language.yacc:1.264
112:
/* This is the grammar definition of Pike. */ #include "global.h"
-
RCSID("$Id: language.yacc,v 1.
263
2001/
10
/
05
22
:
55
:
33
hubbe
Exp $");
+
RCSID("$Id: language.yacc,v 1.
264
2001/
11
/
29
17
:
02
:
34
grubba
Exp $");
#ifdef HAVE_MEMORY_H #include <memory.h> #endif
1872:
type, ID_STATIC | ID_PRIVATE | ID_INLINE);
+
#ifdef LAMBDA_DEBUG
+
fprintf(stderr, "%d: lexical_scope: 0x%08x\n",
+
Pike_compiler->compiler_pass,
+
Pike_compiler->compiler_frame->lexical_scope);
+
#endif /* LAMBDA_DEBUG */
+
if(Pike_compiler->compiler_frame->lexical_scope & SCOPE_SCOPED) { $$ = mktrampolinenode(f, Pike_compiler->compiler_frame->previous); } else {
3842:
if(f->variable[e].name==str) { struct compiler_frame *q=Pike_compiler->compiler_frame;
-
if(f->variable[e].def)
+
if(f
== q && f
->variable[e].def)
{
+
/*fprintf(stderr, "Found prior definition of \"%s\"\n", str->str); */
return copy_node(f->variable[e].def);
-
+
}
+
while(q!=f) { q->lexical_scope|=SCOPE_SCOPED;