matz
f433be6d9c
* io.c (rb_io_s_sysopen): preserve path in the buffer allocated by
...
ALLOCA_N() to prevent modification. [ruby-dev:24438]
* io.c (rb_io_mode_flags): preserve append mode flag.
[ruby-dev:24436]
* io.c (rb_io_modenum_mode): do not use external output buffer.
* string.c (rb_str_justify): differ pointer retrieval to prevent
padding string modification. [ruby-dev:24434]
* range.c (range_each_func): allow func to terminate loop by
returning RANGE_EACH_BREAK.
* range.c (member_i): use RANGE_EACH_BREAK. [ruby-talk:114959]
* marshal.c (r_byte): retrieve pointer from string value for each
time. [ruby-dev:24404]
* marshal.c (r_bytes0): ditto.
* enum.c (sort_by_i): re-entrance check added. [ruby-dev:24399]
* io.c (io_read): should freeze all reading buffer.
[ruby-dev:24400]
* string.c (rb_str_sum): should use bignums when bits is greater
than or equals to sizeof(long)*CHAR_BITS. [ruby-dev:24395]
* eval.c (specific_eval): defer pointer retrieval to prevent
unsafe sourcefile string modification. [ruby-dev:24382]
* eval.c (specific_eval): defer pointer retrieval to prevent
unsafe sourcefile string modification. [ruby-dev:24382]
* string.c (rb_str_sum): wrong cast caused wrong result.
[ruby-dev:24385]
* enum.c (enum_sort_by): hide temporary array from
ObjectSpace.each_object. [ruby-dev:24386]
* string.c (rb_str_sum): check was done with false pointer.
[ruby-dev:24383]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-06 15:15:12 +00:00
matz
6f9dcadf6e
* string.c (rb_str_sum): check was done with false pointer.
...
[ruby-dev:24383]
* string.c (rb_str_sum): string may be altered. [ruby-dev:24381]
* eval.c (rb_f_eval): defer pointer retrieval to prevent unsafe
sourcefile string modification. [ruby-dev:24373]
* io.c (io_read): block string buffer modification during
rb_io_fread() by freezing it temporarily. [ruby-dev:24366]
* io.c (rb_io_s_popen): mode argument may be altered.
[ruby-dev:24375]
* file.c (rb_file_s_basename): ext argument may be altered.
[ruby-dev:24377]
* enum.c (enum_sort_by): use NODE instead of 2 element arrays.
[ruby-dev:24378]
* string.c (rb_str_chomp_bang): StringValue() may change the
receiver. [ruby-dev:24371]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-10-02 03:50:53 +00:00
eban
dc5ea1179a
* eval.c (blk_copy_prev): need frame_dup(). [ruby-dev:24103]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-13 10:29:43 +00:00
matz
0c246b5c2e
* eval.c (cvar_cbase): singletons should refer outer cvar scope.
...
[ruby-dev:24223]
* eval.c (rb_load): should preserve previous ruby_wrapper value.
[ruby-dev:24226]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-06 01:02:10 +00:00
matz
2088be1dac
* eval.c (cvar_cbase): class variables cause SEGV in
...
instance_eval() for fixnums and symbols. [ruby-dev:24213]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-03 17:41:27 +00:00
matz
01e181146a
* struct.c (make_struct): remove redefining constant when
...
conflict. [ruby-dev:24210]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-03 09:00:52 +00:00
eban
9c7dc7a00a
* eval.c (rb_obj_instance_eval): backported from HEAD.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-09-02 02:37:48 +00:00
matz
a9191c44ca
* bignum.c (rb_big_and): protect parameters from GC.
...
[ruby-talk:110664]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-28 14:20:44 +00:00
dave
0779c3f960
*** empty log message ***
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-25 19:39:18 +00:00
nobu
36cf9e9dbd
* eval.c (rb_obj_instance_eval): evaluates under special singleton
...
classes as for special constants.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-18 03:53:50 +00:00
matz
ecf157699d
* io.c (rb_io_reopen): should clear allocated OpenFile. pointed
...
out by Guy Decoux. [ruby-core:03288]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-08-17 08:31:02 +00:00
matz
a99ce7f39c
* eval.c: backout argv copy on write changes.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-28 04:31:20 +00:00
matz
ddc68cfb71
* eval.c (rb_eval): copy on write for argument local variable
...
assignment.
* eval.c (assign): ditto.
* eval.c (rb_call0): update ruby_frame->argv with the default
value used for the optional arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-27 08:36:00 +00:00
matz
23341b7a4c
* lib/cgi/session.rb (CGI::Session::FileStore#update): sets the
...
permission of the session data file to 0600.
* lib/cgi/session/pstore.rb (CGI::Session::Pstore#initialize):
ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-23 00:11:34 +00:00
matz
b74286e423
* 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
2004-07-22 03:50:33 +00:00
matz
e98d5d4f66
* eval.c (THREAD_ALLOC): th->thread should be initialized to NULL.
...
[ruby-talk:106657] The solution was found by Guy Decoux.
* file.c (rb_stat_dev_major): new methods File::Stat#dev_major and
#dev_minor. [ruby-core:03195]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-17 02:23:52 +00:00
nobu
e1ae794e73
* eval.c (return_jump, break_jump): raise unexpceted local jump
...
exception directly. [ruby-dev:23740]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-16 06:21:39 +00:00
ocean
99a04c1adf
* class.c, error.c, eval.c, intern.h, object.c, variable.c:
...
do not set path if it is a singleton class. [ruby-dev:22588]
(backport from 1.9)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-15 11:42:51 +00:00
nobu
7808175f0f
* eval.c (rb_thread_raise): accept third argument as well as
...
Kernel#raise, and evaluate the arguments to create an exception in
the caller's context. [ruby-talk:105507]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-09 05:29:45 +00:00
nobu
1ae90f48b7
* eval.c (rb_thread_yield, rb_f_catch): 4th argument to rb_yield_0()
...
is a set of bit flags. [ruby-dev:23859]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-05 00:03:50 +00:00
nobu
4c20725d55
* eval.c (rb_eval_cmd, rb_thread_trap_eval): restore safe level.
...
* gc.c (define_final, run_final): preserve and restore safe level for
finalizers. [ruby-core:03058]
* signal.c (signal_exec, rb_trap_exit, trap): preserve and restore
safe level for signal handlers. [ruby-dev:23829]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-29 01:31:37 +00:00
matz
68a117d8e2
* eval.c (rb_thread_atfork): remove "fork terminates thread"
...
warning. [ruby-dev:
* object.c (rb_obj_clone): backport FL_FINALIZE patch from 1.9.
[ruby-core:02786][ruby-core:03067]
* ext/socket/socket.c (sock_sockaddr): Socket#gethostbyname()
should give us packed address, not struct sockaddr.
[ruby-core:03053]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-24 23:31:29 +00:00
nobu
6b7e83a4c8
* eval.c (method_call): allow changing $SAFE. [ruby-dev:23713]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-19 04:24:34 +00:00
nobu
37d443fd54
* eval.c (eval): adjust indent.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-18 14:52:07 +00:00
nobu
5d14e8c830
* eval.c (proc_save_safe_level, rb_set_safe_level, safe_setter): limit
...
safe level.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-18 14:12:42 +00:00
matz
36eb460780
* eval.c (rb_mod_freeze): prepare string representation before
...
freezing. [ruby-talk:103646]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-16 14:21:34 +00:00
matz
0ed9758454
* eval.c (rb_eval): bad influence on frame node.
...
* eval.c (eval): reverted wrongly removed condition. [ruby-dev:23638]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-06 08:43:56 +00:00
nobu
40289c4de0
* eval.c (rb_eval, eval): make line number consistent on eval with
...
Proc. [ruby-talk:101253]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-26 05:19:50 +00:00
matz
40afc4a565
* eval.c (eval): forgot to restore $SAFE value before evaluating
...
compiled node. [ruby-core:02872]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-14 16:45:40 +00:00
matz
0cf6e773be
* eval.c (eval): warning during eval should not cause deadlock.
...
[ruby-talk:98651]
* eval.c (rb_eval): raise TypeError exception for superclass
mismatch. [ruby-dev:39567]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-14 12:26:22 +00:00
matz
2b5a14bf7c
* eval.c (rb_eval): too many line trace call. (ruby-bugs PR#1320)
...
* numeric.c (flo_to_s): tweak output string based to preserve
decimal point and to remove trailing zeros. [ruby-talk:97891]
* string.c (rb_str_index_m): use unsigned comparison for T_FIXNUM
search. [ruby-talk:97342]
* hash.c (rb_hash_equal): returns true if two hashes have same set
of key-value set. [ruby-talk:97559]
* hash.c (rb_hash_eql): returns true if two hashes are equal and
have same default values.
* string.c (rb_str_equal): always returns true or false, never
returns nil. [ruby-dev:23404]
* io.c (rb_io_reopen): should use rb_io_check_io().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-07 08:48:30 +00:00
nobu
da011c8311
* array.c, enum.c, eval.c, file.c, io.c, numeric.c, object.c, prec.c,
...
process.c, re.c, string.c: typos in RDoc comments. [ruby-core:02783]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-14 04:06:52 +00:00
matz
849bc0234a
* eval.c (top_include): include in the wrapped load is done for
...
the wrapper, not for a singleton class for wrapped main.
[ruby-dev:23305]
* bignum.c (rb_big_eq): use temporary double variable to save the
result (internal float register may be bigger than 64 bits, for
example, 80 bits on x86). [ruby-dev:23311]
* eval.c (block_pass): should generate unique identifier of the
pushing block. [ruby-talk:96363]
* ext/socket/socket.c (make_hostent): fix memory leak, based on
the patch from HORIKAWA Hisashi <vzw00011@nifty.ne.jp>.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-05 07:45:32 +00:00
aamine
ad07498d94
* eval.c (Init_load): make $LOADED_FEATURES built-in. [ruby-dev:23299]
...
* ruby.c (ruby_prog_init): make $PROGRAM_NAME built-in.
* lib/English.rb: remove $LOADED_FEATURES and $PROGRAM_NAME.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-04 11:34:24 +00:00
matz
a8646bdce1
* io.c (rb_io_sync): need not to check writable. [ruby-core:02674]
...
* eval.c (proc_eq): avoid false positive by using scope and
dyna_vars. no longer use frame.uniq.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-19 07:14:56 +00:00
matz
525aa2dab6
* eval.c (rb_yield_0): should not re-submit TAG_BREAK if this
...
yield is not break destination. [ruby-dev:23197]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-15 02:33:03 +00:00
nobu
af5c7ec2db
*** empty log message ***
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-14 13:09:47 +00:00
matz
9603e28844
* eval.c (return_jump): set return value to the return
...
destination. separated from localjump_destination().
* eval.c (break_jump): break innermost loop (or thread or proc).
* eval.c (rb_yield_0): set exit_value for block break.
* eval.c (eval): Only print backtrace if generating the backtrace
doesn't generate an exception. [ruby-core:02621]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-10 08:21:07 +00:00
usa
22b898fe83
* error.c (NameError::Message): new class for lazy evaluation of
...
message to ensure replaced before marshalling. merge from HEAD.
(ruby-bugs-ja:PR#588)
* eval.c (rb_method_missing): use NameError::Message. merge from
HEAD. (ruby-bugs-ja:PR#588)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-25 00:38:35 +00:00
akr
1ce8c1378b
* eval.c (rb_eval): care that another thread replace NODE_DREGX_ONCE
...
to NODE_LIT. [ruby-dev:22920]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-16 16:40:50 +00:00
nobu
157fa66eaa
* eval.c (umethod_bind): perge unused check. [ruby-dev:22850]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-10 07:44:00 +00:00
matz
bdd9d8d503
* backport proc equality patch [ruby-dev:22809]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-06 09:32:24 +00:00
matz
09c8c7b889
* parse.y (block_append): update nd_end for "real" head node.
...
[ruby-list:39058]
* eval.c (proc_eq): Proc with empty body may not be equal.
[ruby-dev:22590]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-26 05:41:11 +00:00
eban
180de1b3f8
* eval.c, object.c, process.c, re.c: don't use C++ style comments.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-08 02:30:19 +00:00
matz
c96f53e1aa
* eval.c (rb_mod_modfunc): should break if m has no super class.
...
[ruby-dev:22498]
* backport changes from 1.9
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-06 14:00:54 +00:00
dave
62cbbfb24b
Finish documenting internal stuff. See Changelog for other details
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-02 06:01:12 +00:00
dave
e8c8800740
Add RDoc for kernel functions, and tidy up
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-30 16:38:32 +00:00
dave
d50547c22c
Add RDoc for Kernel global functions, tidy array and error
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-29 03:56:22 +00:00
dave
9f5554aa5c
RDoc Proc, Method, UnboundMethod
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-28 17:23:45 +00:00
dave
67f1d099d4
Thread/ThradGroup RDoc
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-28 00:02:59 +00:00