mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1b2d3f81ee
commit
4098e5861e
9 changed files with 57 additions and 33 deletions
|
@ -1,7 +1,15 @@
|
||||||
|
Fri Oct 20 07:56:23 2000 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
|
* eval.c (rb_eval): ARGSPUSH should not modify args array.
|
||||||
|
|
||||||
Wed Oct 18 03:10:20 2000 Yukihiro Matsumoto <matz@ruby-lang.org>
|
Wed Oct 18 03:10:20 2000 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
* stable version 1.6.2 released.
|
* stable version 1.6.2 released.
|
||||||
|
|
||||||
|
Thu Oct 19 16:51:46 2000 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
|
* pack.c (NUM2U32): should use NUM2ULONG().
|
||||||
|
|
||||||
Tue Oct 17 17:30:34 2000 WATANABE Hirofumi <eban@ruby-lang.org>
|
Tue Oct 17 17:30:34 2000 WATANABE Hirofumi <eban@ruby-lang.org>
|
||||||
|
|
||||||
* eval.c (error_print): ruby_sourcefile may be NULL.
|
* eval.c (error_print): ruby_sourcefile may be NULL.
|
||||||
|
|
6
config.guess
vendored
6
config.guess
vendored
|
@ -682,11 +682,11 @@ EOF
|
||||||
if test "$?" = 0 ; then
|
if test "$?" = 0 ; then
|
||||||
./$dummy | grep 1\.99 > /dev/null
|
./$dummy | grep 1\.99 > /dev/null
|
||||||
if test "$?" = 0 ; then
|
if test "$?" = 0 ; then
|
||||||
LIBC="libc1"
|
LIBC="-libc1"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
rm -f $dummy.c $dummy
|
rm -f $dummy.c $dummy
|
||||||
echo powerpc-unknown-linux-${LIBC} ; exit 0 ;;
|
echo powerpc-unknown-linux${LIBC} ; exit 0 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if test "${UNAME_MACHINE}" = "alpha" ; then
|
if test "${UNAME_MACHINE}" = "alpha" ; then
|
||||||
|
@ -736,7 +736,7 @@ EOF
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
rm -f $dummy.s $dummy
|
rm -f $dummy.s $dummy
|
||||||
echo ${UNAME_MACHINE}-unknown-linux{LIBC} ; exit 0
|
echo ${UNAME_MACHINE}-unknown-linux${LIBC} ; exit 0
|
||||||
elif test "${UNAME_MACHINE}" = "mips" ; then
|
elif test "${UNAME_MACHINE}" = "mips" ; then
|
||||||
cat >$dummy.c <<EOF
|
cat >$dummy.c <<EOF
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
2
eval.c
2
eval.c
|
@ -2386,7 +2386,7 @@ rb_eval(self, n)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NODE_ARGSPUSH:
|
case NODE_ARGSPUSH:
|
||||||
result = rb_ary_push(rb_eval(self, node->nd_head),
|
result = rb_ary_push(rb_obj_dup(rb_eval(self, node->nd_head)),
|
||||||
rb_eval(self, node->nd_body));
|
rb_eval(self, node->nd_body));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
29
lib/debug.rb
29
lib/debug.rb
|
@ -456,14 +456,14 @@ class DEBUGGER__
|
||||||
end
|
end
|
||||||
|
|
||||||
when /^\s*p\s+/
|
when /^\s*p\s+/
|
||||||
stdout.printf "%s\n", debug_eval($', binding)
|
stdout.printf "%s\n", debug_eval($', binding).inspect
|
||||||
|
|
||||||
when /^\s*h(?:elp)?$/
|
when /^\s*h(?:elp)?$/
|
||||||
debug_print_help()
|
debug_print_help()
|
||||||
|
|
||||||
else
|
else
|
||||||
v = debug_eval(input, binding)
|
v = debug_eval(input, binding)
|
||||||
stdout.printf "%s\n", v unless (v == nil)
|
stdout.printf "%s\n", v.inspect unless (v == nil)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -474,7 +474,7 @@ class DEBUGGER__
|
||||||
Debugger help v.-0.002b
|
Debugger help v.-0.002b
|
||||||
Commands
|
Commands
|
||||||
b[reak] [file|method:]<line|method>
|
b[reak] [file|method:]<line|method>
|
||||||
set breakpoint to some position
|
set breakpoint to some position
|
||||||
wat[ch] <expression> set watchpoint to some expression
|
wat[ch] <expression> set watchpoint to some expression
|
||||||
cat[ch] <an Exception> set catchpoint to an exception
|
cat[ch] <an Exception> set catchpoint to an exception
|
||||||
b[reak] list breakpoints
|
b[reak] list breakpoints
|
||||||
|
@ -587,8 +587,7 @@ EOHELP
|
||||||
end
|
end
|
||||||
|
|
||||||
def check_break_points(file, pos, binding, id)
|
def check_break_points(file, pos, binding, id)
|
||||||
return false if break_points.empty?
|
MUTEX.lock # Stop all threads before 'line' and 'call'.
|
||||||
MUTEX.lock
|
|
||||||
file = File.basename(file)
|
file = File.basename(file)
|
||||||
n = 1
|
n = 1
|
||||||
for b in break_points
|
for b in break_points
|
||||||
|
@ -610,24 +609,22 @@ EOHELP
|
||||||
end
|
end
|
||||||
|
|
||||||
def excn_handle(file, line, id, binding)
|
def excn_handle(file, line, id, binding)
|
||||||
stdout.printf "Exception `%s': %s\n", $!.type, $!
|
stdout.printf "%s:%d: `%s' (%s)\n", file, line, $!, $!.type
|
||||||
if $!.type <= SystemExit
|
if $!.type <= SystemExit
|
||||||
set_trace_func nil
|
set_trace_func nil
|
||||||
exit
|
exit
|
||||||
end
|
end
|
||||||
|
|
||||||
MUTEX.lock
|
|
||||||
fs = @frames.size
|
|
||||||
tb = caller(0)[-fs..-1]
|
|
||||||
if tb
|
|
||||||
for i in tb
|
|
||||||
stdout.printf "\tfrom %s\n", i
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if @catch and ($!.type.ancestors.find { |e| e.to_s == @catch })
|
if @catch and ($!.type.ancestors.find { |e| e.to_s == @catch })
|
||||||
|
MUTEX.lock
|
||||||
|
fs = @frames.size
|
||||||
|
tb = caller(0)[-fs..-1]
|
||||||
|
if tb
|
||||||
|
for i in tb
|
||||||
|
stdout.printf "\tfrom %s\n", i
|
||||||
|
end
|
||||||
|
end
|
||||||
debug_command(file, line, id, binding)
|
debug_command(file, line, id, binding)
|
||||||
else
|
|
||||||
MUTEX.unlock
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
24
lib/open3.rb
24
lib/open3.rb
|
@ -14,8 +14,8 @@ module Open3
|
||||||
pr = IO::pipe
|
pr = IO::pipe
|
||||||
pe = IO::pipe
|
pe = IO::pipe
|
||||||
|
|
||||||
pid = fork
|
pid = fork{
|
||||||
if pid == nil then # child
|
# child
|
||||||
pw[1].close
|
pw[1].close
|
||||||
STDIN.reopen(pw[0])
|
STDIN.reopen(pw[0])
|
||||||
pw[0].close
|
pw[0].close
|
||||||
|
@ -29,13 +29,21 @@ module Open3
|
||||||
pe[1].close
|
pe[1].close
|
||||||
|
|
||||||
exec(cmd)
|
exec(cmd)
|
||||||
exit
|
_exit 127
|
||||||
else
|
}
|
||||||
pw[0].close
|
|
||||||
pr[1].close
|
pw[0].close
|
||||||
pe[1].close
|
pr[1].close
|
||||||
pi = [ pw[1], pr[0], pe[0] ]
|
pe[1].close
|
||||||
|
Thread.start do
|
||||||
|
sleep 1
|
||||||
|
Process.waitpid(pid)
|
||||||
end
|
end
|
||||||
|
pi = [ pw[1], pr[0], pe[0] ]
|
||||||
|
if defined? yield
|
||||||
|
return yield *pi
|
||||||
|
end
|
||||||
|
pi
|
||||||
end
|
end
|
||||||
module_function :popen3
|
module_function :popen3
|
||||||
end
|
end
|
||||||
|
|
2
pack.c
2
pack.c
|
@ -308,7 +308,7 @@ endian()
|
||||||
typedef long I32;
|
typedef long I32;
|
||||||
typedef unsigned long U32;
|
typedef unsigned long U32;
|
||||||
#define NUM2I32(x) NUM2LONG(x)
|
#define NUM2I32(x) NUM2LONG(x)
|
||||||
#define NUM2U32(x) NUM2LONG(x)
|
#define NUM2U32(x) NUM2ULONG(x)
|
||||||
#elif SIZEOF_INT == SIZE32
|
#elif SIZEOF_INT == SIZE32
|
||||||
typedef int I32;
|
typedef int I32;
|
||||||
typedef unsigned int U32;
|
typedef unsigned int U32;
|
||||||
|
|
13
parse.y
13
parse.y
|
@ -1820,7 +1820,18 @@ none : /* none */
|
||||||
#include "regex.h"
|
#include "regex.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
#define is_identchar(c) (((int)(c))!=-1&&(ISALNUM(c) || (c) == '_' || ismbchar(c)))
|
/* We remove any previous definition of `SIGN_EXTEND_CHAR',
|
||||||
|
since ours (we hope) works properly with all combinations of
|
||||||
|
machines, compilers, `char' and `unsigned char' argument types.
|
||||||
|
(Per Bothner suggested the basic approach.) */
|
||||||
|
#undef SIGN_EXTEND_CHAR
|
||||||
|
#if __STDC__
|
||||||
|
# define SIGN_EXTEND_CHAR(c) ((signed char)(c))
|
||||||
|
#else /* not __STDC__ */
|
||||||
|
/* As in Harbison and Steele. */
|
||||||
|
# define SIGN_EXTEND_CHAR(c) ((((unsigned char)(c)) ^ 128) - 128)
|
||||||
|
#endif
|
||||||
|
#define is_identchar(c) (SIGN_EXTEND_CHAR(c)!=-1&&(ISALNUM(c) || (c) == '_' || ismbchar(c)))
|
||||||
|
|
||||||
static char *tokenbuf = NULL;
|
static char *tokenbuf = NULL;
|
||||||
static int tokidx, toksiz = 0;
|
static int tokidx, toksiz = 0;
|
||||||
|
|
|
@ -177,7 +177,7 @@ proc_wait()
|
||||||
while (1) {
|
while (1) {
|
||||||
TRAP_BEG;
|
TRAP_BEG;
|
||||||
pid = wait(&state);
|
pid = wait(&state);
|
||||||
TRA_END;
|
TRAP_END;
|
||||||
if (pid >= 0) break;
|
if (pid >= 0) break;
|
||||||
if (errno == EINTR) {
|
if (errno == EINTR) {
|
||||||
rb_thread_schedule();
|
rb_thread_schedule();
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#define RUBY_VERSION "1.6.2"
|
#define RUBY_VERSION "1.6.2"
|
||||||
#define RUBY_RELEASE_DATE "2000-10-18"
|
#define RUBY_RELEASE_DATE "2000-10-21"
|
||||||
#define RUBY_VERSION_CODE 162
|
#define RUBY_VERSION_CODE 162
|
||||||
#define RUBY_RELEASE_CODE 20001018
|
#define RUBY_RELEASE_CODE 20001021
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue