From 01bf37db07b668d1e19185e7ef404d51340770d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Thu, 9 Mar 2000 16:02:27 +0100
Subject: [PATCH] Moved handling of this_program from language.yacc to
 find_module_identifier().

Rev: src/language.yacc:1.169
Rev: src/program.c:1.210
---
 src/language.yacc | 10 ++--------
 src/program.c     | 10 +++++++++-
 2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/src/language.yacc b/src/language.yacc
index 73506a45d6..4aedcebed5 100644
--- a/src/language.yacc
+++ b/src/language.yacc
@@ -188,7 +188,7 @@
 /* This is the grammar definition of Pike. */
 
 #include "global.h"
-RCSID("$Id: language.yacc,v 1.168 2000/03/07 21:22:34 hubbe Exp $");
+RCSID("$Id: language.yacc,v 1.169 2000/03/09 15:02:26 grubba Exp $");
 #ifdef HAVE_MEMORY_H
 #include <memory.h>
 #endif
@@ -2352,13 +2352,7 @@ low_idents: F_IDENTIFIER
     if(last_identifier) free_string(last_identifier);
     copy_shared_string(last_identifier, $1->u.sval.u.string);
 
-    if(last_identifier == this_program_string) {
-      struct svalue s;
-      s.type=T_PROGRAM;
-      s.u.program=new_program;
-      $$=mkconstantsvaluenode(&s);
-    }
-    else if(($$=lexical_islocal(last_identifier)))
+    if(($$=lexical_islocal(last_identifier)))
     {
       /* done, nothing to do here */
     }else if((i=isidentifier(last_identifier))>=0){
diff --git a/src/program.c b/src/program.c
index c9d596ef07..4c6fb042b3 100644
--- a/src/program.c
+++ b/src/program.c
@@ -5,7 +5,7 @@
 \*/
 /**/
 #include "global.h"
-RCSID("$Id: program.c,v 1.209 2000/03/07 08:13:18 hubbe Exp $");
+RCSID("$Id: program.c,v 1.210 2000/03/09 15:02:27 grubba Exp $");
 #include "program.h"
 #include "object.h"
 #include "dynamic_buffer.h"
@@ -437,6 +437,14 @@ struct node_s *find_module_identifier(struct pike_string *ident)
     if(ret) return ret;
   }
 
+  /* Handle this_program */
+  if (ident == this_program_string) {
+    struct svalue s;
+    s.type=T_PROGRAM;
+    s.u.program=new_program;
+    return mkconstantsvaluenode(&s);
+  }
+
   return 0;
 }
 
-- 
GitLab