mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/irb/ruby-lex.rb (RubyLex::identify_string): %s string do not
process expression interpolation. [ruby-talk:106691] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
7958edbcdc
commit
b74286e423
6 changed files with 21 additions and 5 deletions
|
|
@ -51,6 +51,11 @@ Sat Jul 17 18:29:07 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* parse.y (stmt): not to show same error messages twice.
|
* parse.y (stmt): not to show same error messages twice.
|
||||||
|
|
||||||
|
Sat Jul 17 13:13:32 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
|
* lib/irb/ruby-lex.rb (RubyLex::identify_string): %s string do not
|
||||||
|
process expression interpolation. [ruby-talk:106691]
|
||||||
|
|
||||||
Sat Jul 17 05:26:27 2004 Dave Thomas <dave@pragprog.com>
|
Sat Jul 17 05:26:27 2004 Dave Thomas <dave@pragprog.com>
|
||||||
|
|
||||||
* lib/rdoc/diagram.rb: Incorporate Micheal Neuman's
|
* lib/rdoc/diagram.rb: Incorporate Micheal Neuman's
|
||||||
|
|
|
||||||
3
eval.c
3
eval.c
|
|
@ -10372,13 +10372,16 @@ rb_thread_wait_for(time)
|
||||||
curr_thread == curr_thread->next ||
|
curr_thread == curr_thread->next ||
|
||||||
curr_thread->status == THREAD_TO_KILL) {
|
curr_thread->status == THREAD_TO_KILL) {
|
||||||
int n;
|
int n;
|
||||||
|
int thr_critical = rb_thread_critical;
|
||||||
#ifndef linux
|
#ifndef linux
|
||||||
double d, limit;
|
double d, limit;
|
||||||
limit = timeofday()+(double)time.tv_sec+(double)time.tv_usec*1e-6;
|
limit = timeofday()+(double)time.tv_sec+(double)time.tv_usec*1e-6;
|
||||||
#endif
|
#endif
|
||||||
for (;;) {
|
for (;;) {
|
||||||
|
rb_thread_critical = Qtrue;
|
||||||
TRAP_BEG;
|
TRAP_BEG;
|
||||||
n = select(0, 0, 0, 0, &time);
|
n = select(0, 0, 0, 0, &time);
|
||||||
|
rb_thread_critical = thr_critical;
|
||||||
TRAP_END;
|
TRAP_END;
|
||||||
if (n == 0) return;
|
if (n == 0) return;
|
||||||
if (n < 0) {
|
if (n < 0) {
|
||||||
|
|
|
||||||
|
|
@ -189,10 +189,10 @@ class Context
|
||||||
|
|
||||||
def debug_variable_info(input, binding)
|
def debug_variable_info(input, binding)
|
||||||
case input
|
case input
|
||||||
when /^\s*g(?:lobal)?$/
|
when /^\s*g(?:lobal)?\s*$/
|
||||||
var_list(global_variables, binding)
|
var_list(global_variables, binding)
|
||||||
|
|
||||||
when /^\s*l(?:ocal)?$/
|
when /^\s*l(?:ocal)?\s*$/
|
||||||
var_list(eval("local_variables", binding), binding)
|
var_list(eval("local_variables", binding), binding)
|
||||||
|
|
||||||
when /^\s*i(?:nstance)?\s+/
|
when /^\s*i(?:nstance)?\s+/
|
||||||
|
|
|
||||||
|
|
@ -973,7 +973,7 @@ class RubyLex
|
||||||
while ch = getc
|
while ch = getc
|
||||||
if @quoted == ch and nest == 0
|
if @quoted == ch and nest == 0
|
||||||
break
|
break
|
||||||
elsif @ltype != "'" && @ltype != "]" and ch == "#"
|
elsif @ltype != "'" && @ltype != "]" && @ltype != ":" and ch == "#"
|
||||||
subtype = true
|
subtype = true
|
||||||
elsif ch == '\\' #'
|
elsif ch == '\\' #'
|
||||||
read_escape
|
read_escape
|
||||||
|
|
|
||||||
|
|
@ -1315,6 +1315,10 @@ rb_f_exit_bang(argc, argv, obj)
|
||||||
return Qnil; /* not reached */
|
return Qnil; /* not reached */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(sun)
|
||||||
|
#define signal(a,b) sigset(a,b)
|
||||||
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
rb_syswait(pid)
|
rb_syswait(pid)
|
||||||
int pid;
|
int pid;
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@
|
||||||
|
|
||||||
#ifndef SIG_H
|
#ifndef SIG_H
|
||||||
#define SIG_H
|
#define SIG_H
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
typedef LONG rb_atomic_t;
|
typedef LONG rb_atomic_t;
|
||||||
|
|
@ -23,10 +24,13 @@ typedef LONG rb_atomic_t;
|
||||||
|
|
||||||
/* Windows doesn't allow interrupt while system calls */
|
/* Windows doesn't allow interrupt while system calls */
|
||||||
# define TRAP_BEG do {\
|
# define TRAP_BEG do {\
|
||||||
|
int saved_errno = 0;\
|
||||||
rb_atomic_t trap_immediate = ATOMIC_SET(rb_trap_immediate, 1)
|
rb_atomic_t trap_immediate = ATOMIC_SET(rb_trap_immediate, 1)
|
||||||
# define TRAP_END\
|
# define TRAP_END\
|
||||||
ATOMIC_SET(rb_trap_immediate, trap_immediate);\
|
ATOMIC_SET(rb_trap_immediate, trap_immediate);\
|
||||||
CHECK_INTS;\
|
saved_errno = errno;\
|
||||||
|
CHECK_INTS;\
|
||||||
|
errno = saved_errno;\
|
||||||
} while (0)
|
} while (0)
|
||||||
# define RUBY_CRITICAL(statements) do {\
|
# define RUBY_CRITICAL(statements) do {\
|
||||||
rb_w32_enter_critical();\
|
rb_w32_enter_critical();\
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue