mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* parse.y (yylex): __END__ should not be effective within
string literals. * parse.y (here_document): should be aware of __END__ within here documents. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									9020b60483
								
							
						
					
					
						commit
						05b4ec8683
					
				
					 4 changed files with 23 additions and 9 deletions
				
			
		
							
								
								
									
										14
									
								
								ChangeLog
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								ChangeLog
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -23,6 +23,11 @@ Sun Jun 23 00:19:10 2002  Tadayoshi Funaba  <tadf@dotrb.org>
 | 
			
		|||
	* lib/date.rb, lib/date/format.rb, sample/cal.rb, sample/goodfriday.rb:
 | 
			
		||||
	  updated to the new version (based on date2 3.3).
 | 
			
		||||
 | 
			
		||||
Fri Jun 21 18:49:58 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
 | 
			
		||||
 | 
			
		||||
	* parse.y (yylex): __END__ should not be effective within
 | 
			
		||||
	  string literals.
 | 
			
		||||
 | 
			
		||||
Thu Jun 20 21:09:37 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
 | 
			
		||||
 | 
			
		||||
	* ext/readline/readline.c (readline_readline): get rid of
 | 
			
		||||
| 
						 | 
				
			
			@ -42,6 +47,11 @@ Wed Jun 19 14:46:18 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
 | 
			
		|||
	* ext/extmk.rb, lib/mkmf.rb (xsystem): open the log file if xsystem
 | 
			
		||||
	  is called.
 | 
			
		||||
 | 
			
		||||
Wed Jun 19 01:01:13 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
 | 
			
		||||
 | 
			
		||||
	* parse.y (here_document): should be aware of __END__ within here
 | 
			
		||||
	  documents.
 | 
			
		||||
 | 
			
		||||
Wed Jun 19 00:50:50 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
 | 
			
		||||
 | 
			
		||||
	* parse.y (yylex): ? followed by successive word charaters is
 | 
			
		||||
| 
						 | 
				
			
			@ -64,6 +74,10 @@ Tue Jun 18 12:50:17 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
 | 
			
		|||
 | 
			
		||||
	* parse.y (logop): ditto.
 | 
			
		||||
 | 
			
		||||
Mon Jun 17 11:11:34 2002  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
 | 
			
		||||
 | 
			
		||||
	* string.c (rb_str_crypt): result need not be tainted always.
 | 
			
		||||
 | 
			
		||||
Mon Jun 17 10:51:37 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
 | 
			
		||||
 | 
			
		||||
	* dln.c (dln_load): need to preserve dln_strerror() result,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								lex.c
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								lex.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -65,7 +65,6 @@ hash (str, len)
 | 
			
		|||
  return hval + asso_values[(unsigned char)str[len - 1]];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static
 | 
			
		||||
#ifdef __GNUC__
 | 
			
		||||
__inline
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -95,8 +95,7 @@ class PStore
 | 
			
		|||
      file.flock(read_only ? File::LOCK_SH : File::LOCK_EX)
 | 
			
		||||
      if read_only
 | 
			
		||||
	@table = Marshal::load(file)
 | 
			
		||||
      elsif orig
 | 
			
		||||
	content = file.read
 | 
			
		||||
      elsif orig and (content = file.read) != nil
 | 
			
		||||
	@table = Marshal::load(content)
 | 
			
		||||
	size = content.size
 | 
			
		||||
	md5 = Digest::MD5.digest(content)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										14
									
								
								parse.y
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								parse.y
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1778,6 +1778,7 @@ strings		: string
 | 
			
		|||
			}
 | 
			
		||||
			$$ = node;
 | 
			
		||||
		    }
 | 
			
		||||
		;
 | 
			
		||||
 | 
			
		||||
string		: string1
 | 
			
		||||
		| string string1
 | 
			
		||||
| 
						 | 
				
			
			@ -2445,12 +2446,6 @@ nextc()
 | 
			
		|||
	    ruby_sourceline++;
 | 
			
		||||
	    lex_pbeg = lex_p = RSTRING(v)->ptr;
 | 
			
		||||
	    lex_pend = lex_p + RSTRING(v)->len;
 | 
			
		||||
	    if (!lex_strterm && strncmp(lex_pbeg, "__END__", 7) == 0 &&
 | 
			
		||||
		(RSTRING(v)->len == 7 || lex_pbeg[7] == '\n' || lex_pbeg[7] == '\r')) {
 | 
			
		||||
		ruby__end__seen = 1;
 | 
			
		||||
		lex_lastline = 0;
 | 
			
		||||
		return -1;
 | 
			
		||||
	    }
 | 
			
		||||
	    lex_lastline = v;
 | 
			
		||||
	}
 | 
			
		||||
	else {
 | 
			
		||||
| 
						 | 
				
			
			@ -4182,6 +4177,13 @@ yylex()
 | 
			
		|||
	    }
 | 
			
		||||
	}
 | 
			
		||||
	tokfix();
 | 
			
		||||
	if (strcmp(tok(), "__END__") == 0 &&
 | 
			
		||||
	    lex_p - lex_pbeg == 7 &&
 | 
			
		||||
	    (lex_pend == lex_p || *lex_p == '\n' || *lex_p == '\r')) {
 | 
			
		||||
	    ruby__end__seen = 1;
 | 
			
		||||
	    lex_lastline = 0;
 | 
			
		||||
	    return -1;
 | 
			
		||||
	}
 | 
			
		||||
	last_id = yylval.id = rb_intern(tok());
 | 
			
		||||
	return result;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue