diff src/lex.l @ 4101:ea537559ab07

[project @ 2002-10-11 20:57:21 by jwe]
author jwe
date Fri, 11 Oct 2002 20:57:21 +0000
parents 5a82e874999b
children 597fbc55ea40
line wrap: on
line diff
--- a/src/lex.l	Fri Oct 11 16:37:45 2002 +0000
+++ b/src/lex.l	Fri Oct 11 20:57:21 2002 +0000
@@ -1247,6 +1247,9 @@
 static void
 force_local_variable (const std::string& name)
 {
+  if (! is_variable (name))
+    curr_sym_tab->clear (name);
+
   symbol_record *sr = curr_sym_tab->lookup (name, true);
 
   if (sr)
@@ -2313,7 +2316,6 @@
 
   int c1 = yyinput ();
 
-  bool next_tok_is_dot = (c1 == '.');
   bool next_tok_is_paren = (c1 == '(');
 
   bool next_tok_is_eq = false;
@@ -2356,8 +2358,7 @@
       if (next_tok_is_eq
 	  || lexer_flags.looking_at_return_list
 	  || lexer_flags.looking_at_parameter_list
-	  || lexer_flags.looking_at_matrix_or_assign_lhs
-	  || (next_tok_is_dot && next_token_is_bin_op (spc_gobbled)))
+	  || lexer_flags.looking_at_matrix_or_assign_lhs)
 	{
 	  force_local_variable (tok);
 	}