1
Thu Aug 30 13:49:25 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
3
* lib/mkmf.rb: initialize $top_srcdir always. [ruby-dev:31682]
5
* lib/mkmf.rb (try_const, have_const): check for a const is defined.
8
Thu Aug 30 08:00:12 2007 Tanaka Akira <akr@fsij.org>
10
* include/ruby/intern.h: declare rb_hash_tbl.
12
* include/ruby/ruby.h (RHash): delay st_table allocation.
13
rename tbl field to ntbl to detect direct reference to the st_table
15
(RHASH_TBL): abstract accessor defined.
16
(RHASH_ITER_LEV): ditto.
17
(RHASH_IFNONE): ditto.
19
(RHASH_EMPTY_P): ditto.
20
(hash_alloc0, hash_alloc): unified because hash_alloc doesn't
21
allocate st_table now.
23
* hash.c: delay st_table allocation.
25
* gc.c: replace tbl by ntbl.
27
* array.c: replace direct field accessor by abstract field accessor
28
such as RHASH(hash)->tbl to RHASH_TBL(hash).
34
* ext/iconv/iconv.c: ditto.
36
* ext/json/ext/generator/generator.c: ditto.
38
* ext/json/ext/parser/parser.c: ditto.
40
* ext/json/ext/parser/parser.rl: ditto.
42
* ext/syck/rubyext.c: ditto.
44
* ext/tk/tkutil/tkutil.c: ditto.
46
Wed Aug 29 18:36:06 2007 Tanaka Akira <akr@fsij.org>
48
* lib/open-uri.rb: add :ftp_active_mode option.
50
Wed Aug 29 14:55:28 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
52
* string.c (str_gsub): should not use mbclen2() which has broken API.
54
* re.c: remove rb_reg_mbclen2().
56
Wed Aug 29 12:48:17 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
58
* parse.y (aref_args): args may not be a list. [ruby-dev:31592]
60
Wed Aug 29 11:30:10 2007 Tanaka Akira <akr@fsij.org>
62
* include/ruby/st.h (struct st_table): add entries_packed 1-bit
63
bitfield. decrease num_bins 1-bit.
65
* st.c: pack numhash which have 5 or less entries in bins.
66
(st_init_table_with_size): setup entries_packed flag.
67
(st_clear): support packed mode.
70
(st_add_direct): ditto.
74
(st_reverse_foreach): ditto.
75
(unpack_entries): new function for converting to unpacked mode.
77
Wed Aug 29 10:46:37 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
79
* include/ruby/defines.h (flush_register_windows): call "ta 0x03"
80
even on Linux/Sparc. [ruby-dev:31674]
82
Tue Aug 28 19:16:00 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
84
* ext/win32ole/win32ole.c (ole_type_progid): progid getted by
85
ProgIDFromCLSID should be freed by CoTaskMemFree. Thanks, arton.
87
* test/win32ole/test_win32ole.rb (test_raise_message): set negative
88
compareMode value to raise WIN32OLERuntimeError.
90
* test/win32ole/test_win32ole_type.rb (test_implemented_ole_types):
91
support some environment which returns IShellDispatch5 instead
94
Tue Aug 28 15:42:09 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
96
* string.c (rb_str_subseq): retrieve substring based on byte offset.
98
* string.c (rb_str_rindex_m): was confusing character offset and
101
Tue Aug 28 14:23:31 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
103
* string.c (rb_str_splice_0): should check to modify. [ruby-dev:31665]
105
Tue Aug 28 14:21:46 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
107
* parse.y (parser_prepare): set parser encode too when BOM exists.
109
Tue Aug 28 00:51:22 2007 Koichi Sasada <ko1@atdot.net>
111
* thread.c: fix Mutex to be interruptable lock.
113
* thread_win32.ci, thread_win32.h, thread_pthread.ci, thread_pthread.h:
114
prepare native_cond_*() which are based on pthread_cond_*() spec.
116
* prelude.rb: fix Mutex#synchronize method.
118
* vm_core.h, include/ruby/intern.h: change unblock function interface
119
(to pass some user data).
121
* file.c, process.c: ditto.
123
* benchmark/bm_vm2_mutex.rb: add a benchmark for mutex.
125
* benchmark/bm_vm3_thread_mutex.rb: add a benchmark for mutex
128
* benchmark/run.rb: fix to remove ENV['RUBYLIB'] for matzruby.
130
* test/ruby/test_thread.rb: add a test.
132
* common.mk: fix benchmark options.
134
Mon Aug 27 23:14:02 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
136
* string.c (rb_str_rstrip_bang): wrong strip point. [ruby-dev:31652]
138
* string.c (rb_str_each_line): should swallow sequence of newlines
139
if rs (optional argument) is an empty string. [ruby-dev:31652]
141
Mon Aug 27 22:39:08 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
143
* encoding.c (rb_enc_codelen): raises invalid sequence exception
144
if ONIGENC_CODE_TO_MBCLEN() returns zero. [ruby-dev:31661]
146
* encoding.c (rb_enc_mbclen): check invalid sequence.
148
Mon Aug 27 20:27:59 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
150
* ext/win32ole/win32ole.c (ole_type_progid): fix the bug.
153
* test/win32ole/test_win32ole_type.rb (test_initialize):
154
remove duplicate assertions.
156
Mon Aug 27 19:10:50 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
158
* ext/etc/etc.c (etc_getlogin): update documentation to note
159
security issue. [ruby-Bugs-11821]
161
Mon Aug 27 15:56:48 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
163
* string.c (sym_encoding): return the encoding of a Symbol.
165
Mon Aug 27 15:33:10 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
167
* util.c (IEEE_BIG_ENDIAN): use configured value. [ruby-dev:31623]
169
* util.c (Llong): set to LONG_LONG if available.
171
Mon Aug 27 13:11:56 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
173
* string.c (tr_trans): wrong condition for mbmaxlen==1 strings.
176
Mon Aug 27 00:41:13 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
178
* io.c (rb_io_each_byte): caused infinite loop. [ruby-dev:31652]
180
* io.c (rb_io_getc): should return nil at EOF, not EOFError.
182
* lib/delegate.rb (SimpleDelegator::__setobj__): use raise
183
argument to specify backtrace.
185
* test/ruby/test_fnmatch.rb (TestFnmatch::bracket_test):
186
String#include? no longer works for Fixnum. use #chr.
189
Sun Aug 26 12:27:14 2007 Koichi Sasada <ko1@atdot.net>
191
* cont.c: fix to remove Fiber.new until fiber.so is not loaded.
193
* test/ruby/test_continuation.rb: fix to use resume.
195
Sun Aug 26 06:51:46 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
197
* ext/win32ole/win32ole.c (ole_wc2mb, reg_enum_key): allocate
198
buffer should be NULL terminated.
200
Sun Aug 26 06:04:13 2007 Koichi Sasada <ko1@atdot.net>
202
* insnhelper.ci (vm_setup_method): reorder code for branch prediction.
204
Sun Aug 26 05:54:49 2007 Koichi Sasada <ko1@atdot.net>
206
* insnhelper.ci (vm_call_method): fix to relaxant safe level check
207
($SAFE > 2). [ruby-core:11998]
209
* bootstraptest/test_method.rb: add tests for above.
211
Sun Aug 26 05:52:08 2007 Koichi Sasada <ko1@atdot.net>
213
* test/ruby/test_fiber.rb: fix to require 'continuation'.
215
Sat Aug 25 23:52:14 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
217
* enumerator.c (enumerator_next): message changed.
219
Sat Aug 25 23:22:14 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
221
* include/ruby/encoding.h: remove unused rb_enc_ismbchar().
223
Sat Aug 25 22:50:14 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
225
* ext/win32ole/win32ole.c (ole_event_free, EVENTSINK_Destructor,
226
fev_initialize): remove the connection ole_event_free and
227
EVENTSINK_Destructor.
229
Sat Aug 25 17:52:06 2007 Koichi Sasada <ko1@atdot.net>
231
* string.c, include/ruby/intern.h: export rb_str_length().
233
* insns.def: use rb_str_lengt() in opt_length.
235
Sat Aug 25 17:48:51 2007 Koichi Sasada <ko1@atdot.net>
237
* cont.c: rename FIBER_STACK_SIZE to FIBER_VM_STACK_SIZE.
239
Sat Aug 25 17:05:05 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
241
* io.c (swallow): removed condition using an unset variable.
243
* parse.y, re.c: re-applied revision 13092.
245
* string.c (rb_str_splice): return from void funtion.
247
* include/ruby/encoding.h (rb_enc_str_new): prototype added.
249
Sat Aug 25 11:45:37 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
251
* encoding.c: provide basic features for M17N.
253
* parse.y: encoding aware parsing.
255
* parse.y (pragma_encoding): encoding specification pragma.
257
* parse.y (rb_intern3): encoding specified symbols.
259
* string.c (rb_str_length): length based on characters.
260
for older behavior, bytesize method added.
262
* string.c (rb_str_index_m): index based on characters. rindex as
265
* string.c (succ_char): encoding aware succeeding string.
267
* string.c (rb_str_reverse): reverse based on characters.
269
* string.c (rb_str_inspect): encoding aware string description.
271
* string.c (rb_str_upcase_bang): encoding aware case conversion.
272
downcase, capitalize, swapcase as well.
274
* string.c (rb_str_tr_bang): tr based on characters. delete,
275
squeeze, tr_s, count as well.
277
* string.c (rb_str_split_m): split based on characters.
279
* string.c (rb_str_each_line): encoding aware each_line.
281
* string.c (rb_str_each_char): added. iteration based on
284
* string.c (rb_str_strip_bang): encoding aware whitespace
285
stripping. lstrip, rstrip as well.
287
* string.c (rb_str_justify): encoding aware justifying (ljust,
290
* string.c (str_encoding): get encoding attribute from a string.
292
* re.c (rb_reg_initialize): encoding aware regular expression
294
* sprintf.c (rb_str_format): formatting (i.e. length count) based
297
* io.c (rb_io_getc): getc to return one-character string.
298
for older behavior, getbyte method added.
300
* ext/stringio/stringio.c (strio_getc): ditto.
302
* io.c (rb_io_ungetc): allow pushing arbitrary string at the
303
current reading point.
305
* ext/stringio/stringio.c (strio_ungetc): ditto.
307
* ext/strscan/strscan.c: encoding support.
309
Sat Aug 25 10:59:19 2007 Koichi Sasada <ko1@atdot.net>
311
* cont.c: separate Continuation and Fiber from core.
313
* ext/continuation/*, ext/fiber/*: ditto.
315
* include/ruby/ruby.h: remove rb_cFiber.
317
* include/ruby/intern.h: add the rb_fiber_new() declaration.
319
* enumerator.c (next_init): fix to use rb_fiber_new().
321
* test/ruby/test_enumerator.rb: remove next? tests.
323
* test/ruby/test_continuation.rb: add a require 'continuation'.
325
* test/ruby/test_fiber.rb: add a require 'fiber'.
327
Sat Aug 25 10:20:28 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
329
* common.mk (prelude.o): depends on vm_core.h now.
331
* common.mk (prelude.c): depends on tool/compile_prelude.rb too.
333
* common.mk (prereq): updates all auto-generated sources.
335
* tool/compile_prelude.rb: separated dynamic and static portions.
337
Sat Aug 25 10:05:17 2007 Koichi Sasada <ko1@atdot.net>
339
* prelude.rb: add Thread.exclusive. This class method
340
is different from 1.8's. Thread.exclusive only does
341
synchronize with VM global mutex.
343
Sat Aug 25 09:39:50 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
345
* array.c (rb_ary_s_try_convert): more document description.
347
* re.c (rb_reg_s_try_convert): typo fixed.
349
Sat Aug 25 08:54:12 2007 Koichi Sasada <ko1@atdot.net>
351
* id.h, id.c: remove idFuncall.
353
* compile.c (iseq_specialized_instruction): ditto.
355
Sat Aug 25 08:47:28 2007 Koichi Sasada <ko1@atdot.net>
357
* tool/compile_prelude.rb: fix to include "vm_core.h".
359
Sat Aug 25 03:49:14 2007 Tanaka Akira <akr@fsij.org>
361
* test/ruby/sentence.rb (Sentence): include Enumerable.
362
(Sentence#each): defined.
364
* test/ruby/test_assignment.rb: use Sentence#expand.
366
Sat Aug 25 03:08:57 2007 Koichi Sasada <ko1@atdot.net>
368
* prelude.rb: fix Mutex#synchronize definition.
370
Sat Aug 25 02:08:45 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
372
* array.c (rb_ary_s_try_convert): a new class method to convert
373
object or nil if it's not target-type. this mechanism is used
374
to convert types in the C implemented methods.
376
* hash.c (rb_hash_s_try_convert): ditto.
378
* io.c (rb_io_s_try_convert): ditto.
380
* re.c (rb_reg_s_try_convert): ditto.
382
* string.c (rb_str_s_try_convert): ditto.
384
Sat Aug 25 00:49:44 2007 Koichi Sasada <ko1@atdot.net>
386
* benchmark/bm_loop_generator.rb: added.
388
Sat Aug 25 00:22:31 2007 Koichi Sasada <ko1@atdot.net>
390
* prelude.rb: added. run this script on startup.
392
* tool/compile_prelude.rb: compile prelude.rb to C string.
393
(prelude.rb -> prelude.c)
395
* common.mk: fix to build with prelude.c.
397
* inits.c (rb_call_inits): ditto.
399
* thread.c (Init_Thread): move definition of Mutex#synchronize
402
Sat Aug 25 00:08:43 2007 Koichi Sasada <ko1@atdot.net>
404
* compile.c (compile_massign_opt): fix to skip massign optimization
405
with global variables.
407
* bootstraptest/test_massign.rb: add some tests for above.
409
Fri Aug 24 18:42:03 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
411
* test/ruby/test_dir.rb (TestDir::setup): ?c now makes a string.
413
* lib/test/unit/autorunner.rb (Test::Unit::AutoRunner::initialize):
414
initialize @workdir to stop warning.
416
Fri Aug 24 18:30:50 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
418
* lib/drb/drb.rb (DRb::DRbServer::InvokeMethod::perform_without_block):
419
replace funcall by send!. other files in the distribution as well.
421
Fri Aug 24 17:06:56 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
423
* eval.c (rb_f_send_bang): abandon the name funcall for private
426
Fri Aug 24 15:27:12 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
428
* enumerator.c (enumerator_next): stop pre-fetching.
430
* enumerator.c (Init_Enumerator): remove next? method.
432
Fri Aug 24 15:14:57 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
434
* eval.c (rb_f_loop): now handles StopIteration exception.
436
Thu Aug 23 20:31:31 2007 Koichi Sasada <ko1@atdot.net>
438
* compile.c: optimize simple massign.
440
Thu Aug 23 20:02:25 2007 Masaki Suketa <masaki.suketa@nifty.ne.jp>
442
* ext/win32ole/win32ole.c (reg_get_value): use RegQueryValueEx instead
445
* ext/win32ole/win32ole.c (typelib_file_from_clsid): fix the bug
446
that the function always returns Qnil.
448
* test/win32ole/test_win32ole_type.rb (test_initialize): add some test.
450
Thu Aug 23 17:25:05 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
452
* configure.in (group_member): check if presents.
454
* configure.in (XCFLAGS): add _GNU_SOURCE on linux.
456
* file.c (group_member): use system routine if available.
458
* process.c: moved _GNU_SOURCE macro to Makefile.
460
Thu Aug 23 16:59:40 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
462
* compile.c (compile_massign), insnhelper.ci (vm_throw): not use C99
465
* cont.c (rb_cont_call, fiber_switch, rb_fiber_resume, rb_fiber_yield):
468
* cont.c (rb_fiber_start): change on non-volatile variable between
469
setjmp and longjmp may not has an effect.
471
* enumerator.c (sym_call): initialize first.
473
* enumerator.c (enum_iter): typedefed.
475
* enumerator.c (next_i): suppress a warning.
477
Thu Aug 23 16:04:11 2007 Koichi Sasada <ko1@atdot.net>
479
* compile.c, insns.def, parse.y: fix massign order. This change
480
causes performance problem. Try vm1_swap benchmark.
483
* insns.def, insnhelper.ci: move process body of expandarray insn to
486
* bootstraptest/test_knownbug.rb, bootstraptest/test_massign.rb:
489
Thu Aug 23 15:51:19 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
491
* parse.y (f_norm_arg): ripper has no shadowing check.
493
* parse.y (f_block_arg): dispatch blkarg_mark.
495
Thu Aug 23 15:48:26 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
497
* compile.c (make_masgn_lhs, iseq_compile_each): fixed indent.
499
* compile.c (iseq_translate_threaded_code),
500
vm_evalbody.ci (get_insns_address_table),
501
template/vmtc.inc.tmpl (insns_address_table): constified.
503
* vm_evalbody.ci (vm_eval),
504
template/insns_info.inc.tmpl (insn_stack_increase, insn_ret_num):
507
Thu Aug 23 13:19:43 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
509
* parse.y (f_norm_arg): check also nested arguments. [ruby-dev:31502]
511
Thu Aug 23 00:06:48 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
513
* util.c: updated for ANSI C only. applied a patch from
514
<snakagawa AT infoteria.co.jp>. [ruby-dev:31591]
516
Thu Aug 23 00:04:45 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
518
* missing/strtod.c: removed. [ruby-dev:31588]
522
Wed Aug 22 15:59:44 2007 Koichi Sasada <ko1@atdot.net>
524
* bootstraptest/test_knownbug.rb:
525
fix typo of filename (test_knwonbug.rb).
527
Wed Aug 22 14:04:53 2007 Koichi Sasada <ko1@atdot.net>
529
* bootstraptest/test_knwonbug.rb: added. This file will contain
530
test cases which point out known bug. If bug is fixed, tests
531
should move to the suitable place.
533
* bootstraptest/test_massign.rb: move a test which show known bug
536
Wed Aug 22 13:02:26 2007 Tanaka Akira <akr@fsij.org>
538
* bootstraptest/runner.rb (in_temporary_working_directory):
539
don't remove the directory specified by --dir.
541
Wed Aug 22 05:51:23 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
543
* util.c (ruby_strtod): replaced by the implementation by David
544
M. Gay inspired by William D. Clinger's paper "How to Read Floating
545
Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101].
546
a patch from Satoshi Nakagawa <snakagawa AT infoteria.co.jp>.
549
* test/ruby/test_float.rb (TestFloat::test_float): add test for
552
Wed Aug 22 03:51:07 2007 Koichi Sasada <ko1@atdot.net>
554
* cont.c: add Fiber#resume and Fiber.yield.
555
and Fiber::Core class to realize Coroutine.
557
* include/ruby/intern.h: declare rb_fiber_yield(), rb_fiber_resume().
559
* enumerator.c: use above api.
561
* test/ruby/test_fiber.rb: fix and add tests for above changes.
563
Tue Aug 21 21:09:48 2007 Tanaka Akira <akr@fsij.org>
565
* lib/tmpdir.rb (Dir.mktmpdir): make directory suffix specifiable.
567
Tue Aug 21 15:00:23 2007 Koichi Sasada <ko1@atdot.net>
569
* st.c (st_clear): reset num_entries too.
571
Tue Aug 21 13:57:04 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
573
* hash.c (st_foreach_func, rb_foreach_func): typedefed.
575
* hash.c (rb_hash_clear): use st_clear() unless iterating.
577
* st.c (struct st_table_entry): add new members, fore and back, to
578
iterate in inserted order.
580
* include/ruby/st.h (struct st_table): ditto.
582
Tue Aug 21 04:09:06 2007 Koichi Sasada <ko1@atdot.net>
584
* benchmark/bm_vm2_case.rb: add a new benchmark.
585
YARV optimize case/when syntax. If every conditions
586
are literal (such as Symbol, Fixnum, String), dispatch
587
calc order will be O(1).
589
Tue Aug 21 04:08:07 2007 Koichi Sasada <ko1@atdot.net>
591
* test/ruby/test_enumerator.rb: fix last commit.
593
Tue Aug 21 03:59:32 2007 Koichi Sasada <ko1@atdot.net>
595
* test_enumerator.rb (enum_test): fix to return sorted
596
array (for Hash test).
598
Tue Aug 21 03:55:20 2007 Koichi Sasada <ko1@atdot.net>
600
* enumerator.c (next_i): fix to return with Fiber#yield at
601
the end of each block. [ruby-dev:31470]
603
* enumerator.c (enumerator_next_p): call init_next if not
604
initialized. [ruby-dev:31514]
606
* test/ruby/test_enumerator.rb: add tests for Enumerator.
608
Mon Aug 20 23:28:39 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
610
* string.c (Init_String): remove Symbol.intern and Symbol#dump.
613
* dir.c (dir_foreach): return Enumerator if no block given.
616
* io.c (rb_io_s_foreach): argument count check before making
617
Enumerator. [ruby-dev:31525]
619
Mon Aug 20 23:17:14 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
621
* vm_core.h (struct rb_thread_struct): removed first_func_arg and
622
reuse first_args instead.
624
Sun Aug 19 13:31:40 2007 Tanaka Akira <akr@fsij.org>
626
* gc.c: use VALGRIND_MAKE_MEM_UNDEFINED to detect use of collected
627
objects if valgrind is available. It cannot detect first 2 words
628
because they are used as the free list.
630
Sun Aug 19 13:13:52 2007 Koichi Sasada <ko1@atdot.net>
632
* compile.c (iseq_compile_each/NODE_RESBODY): fix to add
633
additional nop to prevent tailcall optimization.
635
* vm_opts.h: clean up comments.
637
Sun Aug 19 12:58:39 2007 Koichi Sasada <ko1@atdot.net>
639
* insnhelper.ci (vm_call_bmethod): fix to propagate information
640
that this proc is "from Method". [ruby-dev:31490]
642
* proc.c (method_proc, rb_mod_define_method): ditto.
644
* vm.c (vm_invoke_proc_core): removed.
648
Sun Aug 19 12:36:11 2007 Tanaka Akira <akr@fsij.org>
650
* test/ruby/sentence.rb: new method Sentence().
652
Sun Aug 19 12:32:39 2007 Koichi Sasada <ko1@atdot.net>
654
* insnhelper.ci (vm_callee_setup_arg): fix to mark enough VM stack.
657
Sat Aug 18 19:02:34 2007 Tanaka Akira <akr@fsij.org>
659
* test/ruby/test_yield.rb (TestYieldGen): relax array size check
660
in nested parameters.
663
Sat Aug 18 17:44:42 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
665
* ext/tk/tcltklib.c (Init_tcltklib): use rb_set_end_proc().
667
Sat Aug 18 17:40:11 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
669
* thread.c (is_ruby_native_thread): check properly. [ruby-dev:31166]
671
Sat Aug 18 16:44:15 2007 Koichi Sasada <ko1@atdot.net>
673
* insnhelper.ci (vm_call_bmethod),
674
vm.c (vm_invoke_proc_core): fix to do not restore
675
$SAFE when proc invoked by bmethod.
679
Sat Aug 18 16:44:49 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
681
* eval_error.ci (ruby_error_print): call error_print.
683
* eval_jump.ci, process.c (rb_exit, rb_f_exit, rb_f_abort): moved.
685
Sat Aug 18 15:59:52 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
687
* process.c (detach_process_watcher): should not pass the pointer
688
to an auto variable to the thread to be created. pointed and
689
fix by KUBO Takehiro <kubo at jiubao.org> [ruby-dev:30618]
691
Sat Aug 18 15:52:50 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
693
* insnhelper.ci (vm_send_optimize): use MEMMOVE to shift values inside
696
Sat Aug 18 15:45:34 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
698
* insnhelper.ci (vm_yield_setup_args): rsize and psize should not be
701
Sat Aug 18 14:35:00 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
703
* insnhelper.ci (vm_callee_setup_arg, vm_send_optimize,
704
vm_yield_setup_args): bulk copy for arguments.
706
Sat Aug 18 13:55:58 2007 Koichi Sasada <ko1@atdot.net>
708
* compile.c (iseq_compile_each): fix to allow self.x=
711
* bootstraptest/test_method.rb: add a test for above.
713
Sat Aug 18 14:05:34 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
715
* parse.y (reg_compile_gen): obtain error info from errinfo.
717
* re.c (rb_reg_error_desc): make RegexpError for initialization error.
719
* re.c (rb_reg_compile): return nil and set errinfo if error.
721
Sat Aug 18 13:23:01 2007 Koichi Sasada <ko1@atdot.net>
723
* eval.c: $! should not be writable.
725
* eval.c (rb_rubylevel_errinfo): added. rb_errinfo() returns
726
rb_threa_t#errinfo. rb_rubylevel_errinfo() returns $! value.
728
Sat Aug 18 13:14:40 2007 Koichi Sasada <ko1@atdot.net>
730
* insnhelper.ci (vm_callee_setup_arg): fix to check arguments
731
correctly. [ruby-dev:31472]
733
Sat Aug 18 13:13:06 2007 Koichi Sasada <ko1@atdot.net>
735
* bootstraptest/test_exception.rb: add escape character ("\") for
738
Sat Aug 18 12:42:50 2007 Tanaka Akira <akr@fsij.org>
740
* test/ruby/test_yield.rb (TestYieldGen): add test for yielding to
741
lambda using lambda parameter passing emulator.
743
Sat Aug 18 12:24:30 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
745
* sample/test.rb, test/ruby/test_system.rb(valid_syntax?): keep
748
Sat Aug 18 11:44:59 2007 Koichi Sasada <ko1@atdot.net>
750
* compile.c (iseq_set_arguments), insnhelper.ci
751
(vm_callee_setup_arg, vm_yield_setup_args):
752
fix to cause raise on "lambda{|a|}.call(1, 2)".
755
* bootstraptest/test_block.rb: add tests for above.
757
Sat Aug 18 01:12:01 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
759
* eval.c (frame_func_id): return proper method ID.
761
Fri Aug 17 22:43:11 2007 Koichi Sasada <ko1@atdot.net>
763
* compile.c (iseq_compile_each): massign should return rvalue(s).
765
Fri Aug 17 22:10:19 2007 Koichi Sasada <ko1@atdot.net>
767
* test/ruby/test_basicinstructions.rb: fix old tests.
768
class variables should be inherited.
770
Fri Aug 17 21:20:44 2007 Koichi Sasada <ko1@atdot.net>
772
* eval.c (rb_call), eval_method.ci (rb_add_method, rb_alias),
773
insnhelper.ci (vm_call_method): fix to save safelevel for
776
* include/ruby/node.h: ditto.
778
* bootstraptest/test_method.rb: add a test for above.
780
Fri Aug 17 16:02:50 2007 Koichi Sasada <ko1@atdot.net>
782
* thread.c (rb_thread_terminate_all): fix to ignore
785
* thread.c (thread_start_func_2): fix
786
abort_on_exception process. [ruby-dev:31394]
788
Fri Aug 17 14:38:36 2007 Tanaka Akira <akr@fsij.org>
790
* bootstraptest/runner.rb (in_temporary_working_directory): use
791
Dir.mktmpdir to create and remove temporary directory.
792
(Dir.mktmpdir): define if not available.
795
Fri Aug 17 03:07:37 2007 Koichi Sasada <ko1@atdot.net>
797
* compile.c (iseq_compile_each): fix thorw insn option of next.
799
Fri Aug 17 01:25:23 2007 Koichi Sasada <ko1@atdot.net>
801
* compile.c (iseq_set_arguments), insnhelper.ci
802
(vm_callee_setup_arg, vm_yield_setup_args): fix
803
block parameter problems. [ruby-dev:31437], [ruby-dev:31440]
805
* bootstraptest/test_block.rb: add a test of [ruby-dev:31440].
807
Fri Aug 17 01:24:12 2007 Koichi Sasada <ko1@atdot.net>
809
* iseq.c (ruby_iseq_disasm): fix to show arg_simple value.
811
Fri Aug 17 01:21:29 2007 Koichi Sasada <ko1@atdot.net>
813
* insns.def (throw): insert a RUBY_VM_CHECK_INTS(). [ruby-dev:31361]
815
Thu Aug 16 20:40:50 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
817
* bignum.c (bigtrunc): RBIGNUM(x)->len may be zero. out of bound
818
access. [ruby-dev:31404]
820
* sprintf.c (rb_str_format): small float should not call
823
Thu Aug 16 22:10:06 2007 Koichi Sasada <ko1@atdot.net>
825
* compile.c (iseq_compile_each): fix next/redo stack consistency.
828
* bootstraptest/test_syntax.rb: add tests for above.
830
* sample/test.rb: fix to use __FILE__ instead of $0 to know basedir.
832
Thu Aug 16 21:14:06 2007 WATANABE Hirofumi <eban@ruby-lang.org>
834
* configure.in (BASERUBY): need AC_SUBST. [ruby-dev:31438]
836
Thu Aug 16 19:18:26 2007 Tanaka Akira <akr@fsij.org>
838
* test/ruby/sentence.rb: Sentence class implemented
841
* test/ruby/sentgen.rb: removed.
843
* test/ruby/test_assignment.rb: use sentence.rb.
845
* test/ruby/test_yield.rb: block parameter passing emulator
848
Thu Aug 16 16:48:47 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
850
* configure.in (BASERUBY): check if base ruby is runnable first.
853
Thu Aug 16 16:46:07 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
855
* configure.in (aix): enable shared by default.
857
* configure.in (aix): for 64bit-mode AIX. [ruby-dev:31401]
858
+ use CC for LDSHARED if non-gcc,
859
+ moved -G option from *LDFLAGS to LDSHARED,
860
+ set -brtl only in XLDFLAGS.
862
Thu Aug 16 13:06:08 2007 Tanaka Akira <akr@fsij.org>
864
* bignum.c (big_lshift): make shift offset long type.
866
(rb_big_lshift): ditto.
870
Thu Aug 16 06:29:08 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
872
* io.c (argf_readpartial): argf_forward needs argc and argv.
874
Thu Aug 16 02:47:39 2007 Koichi Sasada <ko1@atdot.net>
876
* cont.c (rb_fiber_m_yield): added. use this function
877
for Fiber#yield instead of rb_fiber_yield.
879
Thu Aug 16 00:36:52 2007 Tanaka Akira <akr@fsij.org>
881
* lib/tmpdir.rb (Dir.mktmpdir): new method. [ruby-dev:31416]
883
Wed Aug 15 18:57:30 2007 Koichi Sasada <ko1@atdot.net>
885
* gc.c (os_live_obj): fix to skip T_VALUES.
887
* sample/test.rb: add an ObjectSpace test.
889
Wed Aug 15 16:49:04 2007 Koichi Sasada <ko1@atdot.net>
891
* inits.c (rb_call_inits): change initializing order.
894
Wed Aug 15 16:44:15 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
896
* io.c (ARGF_FORWARD): wrongly compares with current_file with
897
rb_stdout. should be rb_stdin. [ruby-cvs:20177]
899
Wed Aug 15 14:59:21 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
901
* io.c (rb_io_initialize, argf_each_line, argf_each_byte): suppress
904
Wed Aug 15 14:22:05 2007 Koichi Sasada <ko1@atdot.net>
906
* parse.y: remove "//" type comment.
908
Wed Aug 15 13:42:15 2007 Koichi Sasada <ko1@atdot.net>
910
* parse.y: fix rules around f_margs. "make test" passes all tests.
912
* bootstraptest/test_block.rb: add some tests for above.
914
Wed Aug 15 13:50:10 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
916
* hash.c (rb_hash_delete_key): delete the entry without calling block.
918
* hash.c (rb_hash_shift): should consider iter_lev too.
920
* hash.c (delete_if_i): use rb_hash_delete_key() so that the block
921
isn't called twice. [ruby-core:11556]
923
Wed Aug 15 13:39:25 2007 Koichi Sasada <ko1@atdot.net>
925
* process.c (proc_geteuid): fix strange conversion. [ruby-dev:31417]
927
Wed Aug 15 01:05:55 2007 Tanaka Akira <akr@fsij.org>
929
* bootstraptest/runner.rb (assert_check): don't call newtest.
930
(assert_equal): call newtest.
931
(assert_match): ditto.
933
Tue Aug 14 21:43:39 2007 Tanaka Akira <akr@fsij.org>
935
* bootstraptest/runner.rb (assert_check): new method.
936
(assert_match): new method.
937
(assert_equal): use assert_check.
938
(pretty): give failure description as an argument.
940
* bootstraptest/test_exception.rb: use assert_match to describe the
941
test for [ruby-dev:31407]. [ruby-dev:31412]
943
Tue Aug 14 19:53:15 2007 Koichi Sasada <ko1@atdot.net>
945
* proc.c (Init_Proc), eval.c (Init_eval), eval_intern.h: move
946
init place of exception_error.
950
* eval.c (Init_eval): set exception_error#throwed_state as TAG_FATAL.
953
* bootstraptest/test_exception.rb: add a test for above.
955
Tue Aug 14 19:51:20 2007 Koichi Sasada <ko1@atdot.net>
957
* common.mk: change test order (test -> btest).
959
Tue Aug 14 00:04:27 2007 Kouhei Sutou <kou@cozmixng.org>
961
* lib/rss/rss.rb: 0.1.8 -> 0.1.9.
963
* test/rss/test_version.rb: followed the above change.
965
* lib/rss/parser.rb: fixed a bug that handles unintended elements.
966
Thanks to Takuo Yonezawa. [ruby-list:43841]
968
Mon Aug 13 17:23:10 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
970
* eval.c (rb_clear_trace_func, rb_thread_stop_timer_thread):
971
declarations for forward refernces.
973
* eval.c (rb_longjmp, eval): use local variable.
975
* eval.c (rb_longjmp): string object not to be optimized.
977
Mon Aug 13 13:21:58 2007 Tanaka Akira <akr@fsij.org>
979
* lib/open-uri.rb: make ftp passive mode to avoid NAT problem.
982
Mon Aug 13 09:18:05 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
984
* ext/stringio/stringio.c (strio_getc): should returns
985
one-character string.
987
* ext/stringio/stringio.c: remove unnecessary prototypes.
989
* ext/stringio/stringio.c (strio_getbyte): new method.
991
* ext/stringio/stringio.c (strio_readbyte): new method.
993
* ext/stringio/stringio.c (strio_ungetc): should take a string as
996
Mon Aug 13 08:19:43 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
998
* io.c (argf_close): always close via method.
1000
* io.c (Init_IO): remove obsolete Kernel#getc.
1002
Mon Aug 13 05:03:53 2007 Koichi Sasada <ko1@atdot.net>
1004
* thread.c (rb_thread_raise): check if target thread is
1005
thrown by another thread or not. [ruby-dev:31371]
1007
* bootstraptest/test_thread.rb: add a test for above.
1009
Mon Aug 13 04:35:30 2007 Koichi Sasada <ko1@atdot.net>
1011
* compile.c (iseq_peephole_optimize): fix peephole optimization
1012
bug. [ruby-dev:31360]
1014
* bootstraptest/test_syntax.rb: add a test for above.
1016
Mon Aug 13 04:02:29 2007 Koichi Sasada <ko1@atdot.net>
1018
* vm_dump.c (debug_print_pre): fix to show control frame count.
1020
* insns.def (opt_call_c_function): fix operand type.
1022
* lib/vm/instruction.rb: ditto.
1024
* insnhelper.ci (vm_push_frame, vm_pop_frame): fix to show
1025
control stack status on if VMDEBUG == 2.
1027
* vm.h: add a comment about VMDEBUG.
1029
* iseq.c (find_prev_line_no): fix to skip bug report if
1032
* lib/vm/instruction.rb: fix to use build_string() on
1033
source code generators.
1035
Mon Aug 13 03:57:32 2007 Koichi Sasada <ko1@atdot.net>
1037
* template/yasmdata.rb.tmpl: fix type and name.
1039
Sat Aug 11 23:27:37 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1041
* io.c (argf_each_line): should use #each_line, not #each.
1043
* io.c (argf_each_line): simplified.
1045
* io.c (argf_getline): should handle non T_FILE object in ARGV.
1047
* io.c (argf_each_byte): each_byte should yield bytes not
1048
one-character strings. [ruby-dev:31374]
1050
Sat Aug 11 07:24:55 2007 Tadayoshi Funaba <tadf@dotrb.org>
1052
* lib/date/format.rb: reverted some wrongly erased "o" options
1053
(pointed out by nobu).
1055
Sat Aug 11 00:01:12 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1057
* thread.c (thread_start_func_2): not re-raise to main thread if it is
1058
joining the current thread.
1060
Fri Aug 10 23:54:46 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1062
* thread.c (thread_create_core): inherit the priority of creating
1063
thread. submitted at [ruby-core:11873] by David Flanagan <david AT
1064
davidflanagan.com>. [ruby-core:11876]
1066
Fri Aug 10 05:12:19 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1068
* thread.c (thread_start_func_2): let abort_on_exception work.
1071
Fri Aug 10 04:47:09 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1073
* parse.y (internal_id_gen): internal ID must be bigger than
1076
Thu Aug 9 16:04:55 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1078
* parse.y (stmt): check if rhs has value before assignment instead
1079
inside node_assign_gen(). [ruby-dev:31293]
1081
* parse.y (call_bin_op_gen, call_uni_op_gen): split call_op_gen.
1083
Thu Aug 9 14:01:36 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1085
* parse.y (f_marg_list): renamed from f_marg_head.
1087
* parse.y (f_margs): allow multiple mandatory arguments after a splat.
1090
Thu Aug 9 02:02:02 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1092
* enum.c (enum_cycle): typo fixed. a patch from Kazuhiro
1093
NISHIYAMA <zn AT mbf.nifty.com>. [ruby-dev:31362]
1095
Wed Aug 8 19:17:40 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1097
* ext/dl/cptr.c (rb_dlptr_s_to_ptr): no longer check
1098
HAVE_RB_IO_STDIO_FILE.
1100
Wed Aug 8 15:52:01 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1102
* enumerator.c (enumerator_next_p): should check correctly even when
1103
e.next has not been called before.
1105
* enumerator.c (enumerator_next): raise StopIteration (name taken
1106
from Python) instead of IndexError.
1108
* enum.c (enum_zip): catch StopIteration exception.
1110
* enumerator.c (enumerator_with_index): return Enumerator if no
1113
* test/ruby/test_iterator.rb (TestIterator::test_enumerator): add
1114
test for enumerators.
1116
Wed Aug 8 11:48:37 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1118
* bignum.c (rb_big2str0): should not use RTEST for non-VALUE.
1120
Wed Aug 8 11:25:25 2007 NAKAMURA Usaku <usa@ruby-lang.org>
1122
* bignum.c (rb_big2str0): should preserve sign mark.
1124
Wed Aug 8 11:02:43 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1126
* common.mk (btest-miniruby, test-sample): split the test target
1127
so that -k option works.
1129
Tue Aug 7 14:58:39 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1131
* ext/pty/pty.c (establishShell): handshaking before close slave
1132
device. [ruby-talk:263410]
1134
* ext/pty/pty.c (MasterDevice, SlaveDevice, deviceNo): constified.
1136
* ext/pty/pty.c (SlaveName): removed static buffer.
1138
* ext/pty/expect_sample.rb: support for autologin.
1140
Tue Aug 7 13:58:03 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1142
* include/ruby/ruby.h (ruby_special_consts): added RUBY_SPECIAL_SHIFT.
1144
* .gdbinit: some improvements.
1146
Tue Aug 7 13:28:32 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1148
* common.mk (node_name.inc): use $? instead of $< for nmake.
1151
Tue Aug 7 12:45:13 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1153
* configure.in (ac_cv_func_isinf): set yes also on OpenSolaris.
1156
Tue Aug 7 12:31:51 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1158
* io.c (pipe_open): fix for win32 platforms.
1160
Tue Aug 7 02:58:33 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1162
* bignum.c (rb_big2str0): make Bignum#to_s even faster. a patch
1163
from Kenta Murata <muraken AT gmail.com>. [ruby-dev:31354]
1165
Tue Aug 7 01:42:05 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1167
* enum.c (enum_zip): zip no longer converts arguments into
1168
arrays, uses enumerators.
1170
Tue Aug 7 01:27:47 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1172
* cont.c (rb_fiber_yield): change argument ordering. export.
1174
* cont.c (rb_fiber_current): export
1176
* include/ruby/intern.h: export several functions from cont.c.
1178
* enumerator.c (enumerator_next): new method to implement external
1179
iterator (generator) using fiber.
1181
* enumerator.c (enumerator_next_p): new method to check whether
1182
any element is left in the generator sequence.
1184
* enumerator.c (enumerator_rewind): a new method to rewind the
1187
Tue Aug 7 01:15:24 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1189
* enum.c (enum_cycle): new method to cycle enumerable forever.
1191
Tue Aug 7 00:05:38 2007 Keiju Ishitsuka <keiju@ruby-lang.org>
1193
* irb/ruby-lex.rb: support for '\c'. [ruby-talk:263508]
1195
Mon Aug 6 20:29:22 2007 Koichi Sasada <ko1@atdot.net>
1197
* insnhelper.ci, insns.def: move some statements to functions.
1199
* vm.c, vm.h, vm_evalbody.ci: fix include/typedef places.
1201
Mon Aug 6 18:41:12 2007 Koichi Sasada <ko1@atdot.net>
1203
* lib/vm/instruction.rb (make_header_analysys): fix last commit.
1205
Mon Aug 6 18:33:22 2007 Koichi Sasada <ko1@atdot.net>
1207
* lib/vm/instruction.rb (make_header_analysys): add to separate
1208
header addition process.
1210
Mon Aug 6 17:36:29 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1212
* lib/rexml/encodings/{ISO-8859-15,CP-1252}.rb: fixed invalid syntax.
1214
Mon Aug 6 16:57:08 2007 Koichi Sasada <ko1@atdot.net>
1216
* sample/test.rb: fix to output file name if it contains
1219
Mon Aug 6 16:41:22 2007 Koichi Sasada <ko1@atdot.net>
1221
* parse.y (value_expr_gen): fix to cause "void value expression"
1222
when jump expression such as "next" are shown on value_expr().
1225
* bootstraptest/test_syntax.rb: fix to above change.
1227
Mon Aug 6 14:36:30 2007 Koichi Sasada <ko1@atdot.net>
1229
* parse.y: fix a f_marg rule. [ruby-dev:31160]
1231
Mon Aug 6 14:29:30 2007 Koichi Sasada <ko1@atdot.net>
1233
* bootstraptest/runner.rb (assert_equal): add additional
1236
Mon Aug 6 13:34:09 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1238
* common.mk (INSNS): not chdir to srcdir.
1240
* common.mk (node_name.inc): auto-generate node name list.
1242
* iseq.c (ruby_node_name): ditto.
1244
* iseq.c (iseq_s_compile_option_get, Init_ISeq): added a new
1245
method VM::InstructionSequence::compile_option.
1247
* lib/vm/instruction.rb (RubyVM::SourceCodeGenerator): --destdir
1250
* tool/node_name.rb: to auto-generate node name list.
1252
Sun Aug 5 11:51:39 2007 Kouhei Sutou <kou@cozmixng.org>
1254
* lib/rss, sample/rss, test/rss:
1256
- supported <itunes:XXX>.
1257
- reverted backward incompatibility API changes introduced 0.1.7.
1259
Sun Aug 5 04:56:25 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1261
* io.c (pipe_open_v, pipe_open_s): separate array and string
1262
cases. [ruby-dev:31344]
1264
Fri Aug 3 11:05:54 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1266
* ext/extmk.rb (extmake): save all CONFIG values.
1268
* ext/extmk.rb (extmake): remove mkmf.log at clean, and extconf.h at
1269
distclean, respectively.
1271
* ext/extmk.rb: remove rdoc at clean, and installed list file at
1272
distclean, respectively.
1274
Fri Aug 3 07:09:05 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1276
* lib/mkmf.rb: more verbose message. [ruby-Bugs-12766]
1278
* lib/mkmf.rb (have_type): suppress a warning with -Wall.
1280
* lib/mkmf.rb (find_type): new method.
1282
Fri Aug 3 00:00:20 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1284
* bignum.c (big2str_table): base cannot be 0 or 1.
1286
Thu Aug 2 23:42:57 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1288
* parse.y (reg_compile_gen): set error if failed to compile regexp
1289
literal. [ruby-dev:31336]
1291
* re.c (option_to_str, arg_kcode, opt_kcode): options conversion
1292
between int and string.
1294
* re.c (rb_reg_compile): should not use regexp which could not get
1295
initialized. [ruby-dev:31333]
1296
return error message to let the parser know it.
1298
* re.c (rb_reg_compile): append regexp options to error message.
1301
Thu Aug 2 22:05:32 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1303
* bignum.c (rb_big2str0): faster Bugnum#to_s using Karatsuba
1304
algorithm. a patch from Yusuke ENDOH <mame AT tsg.ne.jp>
1305
in [ruby-dev:31312], slightly modified by Kenta Murata
1306
<muraken AT gmail.com> in [ruby-dev:31339].
1308
Thu Aug 2 13:46:39 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1310
* sprintf.c (rb_f_sprintf): should not check positional number as
1311
width. [ruby-core:11838]
1313
Wed Aug 1 12:40:05 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1315
* generic.rb (URI::Generic::merge_path): behave as RFC 3986.
1318
Tue Jul 31 23:38:09 2007 Tadayoshi Funaba <tadf@dotrb.org>
1320
* lib/date/format.rb (_parse): now interprets slashed numerical
1321
dates as a big endian (except dd/mm/yyyy). [experimental]
1323
Mon Jul 30 11:16:40 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1325
* bignum.c (rb_big_aref): check for Bignum index range.
1328
Sat Jul 28 09:35:41 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1330
* ext/digest/lib/digest.rb (Digest::self.const_missing): avoid
1331
infinite recursive const_missing call. [ruby-talk:262193]
1333
Thu Jul 26 20:40:25 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1335
* range.c (range_eqq): call_super() in === does not work well
1336
since Enumerable#=== has different behavior. [ruby-dev:31296]
1338
Thu Jul 26 13:57:45 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1340
* dln.c (load_1, dln_find_1): constified.
1342
* dln.c (conv_to_posix_path): removed.
1344
* ruby.c (usage): constified.
1346
* ruby.c (rubylib_mangled_path, rubylib_mangled_path2): return
1347
VALUE instead of a pointer to static buffer.
1349
* ruby.c (push_include_cygwin): fixed buffer overflow.
1352
* ruby.c (ruby_init_loadpath): not convert built-in paths.
1354
Tue Jul 24 10:37:04 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1356
* io.c (rb_f_p): return nil if no argument. [ruby-dev:31285]
1358
Tue Jul 24 01:05:07 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1360
* regint.h (USE_MATCH_RANGE_IS_COMPLETE_RANGE): undef to achieve old
1361
rindex behavior. [ruby-dev:31265]
1363
Mon Jul 23 18:37:14 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1365
* include/ruby/oniguruma.h: upgrade to Oniguruma 5.9.0. fixes
1366
some memory violation. [ruby-dev:31070]
1368
Sun Jul 22 20:09:49 2007 Tadayoshi Funaba <tadf@dotrb.org>
1370
* lib/date/format.rb (Date._parse): now accepts some new
1371
hints. [experimental]
1373
* lib/parsedate.rb: followed the changes on
1374
lib/date/format.rb. [experimental]
1376
Sun Jul 22 16:06:56 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1378
* thread.c (is_ruby_native_thread): made an int function as
1379
well as version 1.8.
1381
* include/ruby/ruby.h (is_ruby_native_thread): moved prototype
1382
from intern.h as well as version 1.8.
1384
Sun Jul 22 14:33:46 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1386
* file.c (rb_file_s_rename): deleted code to get rid of a bug of
1389
* file.c (rb_file_truncate): added prototype of GetLastError()
1390
on cygwin. [ruby-dev:31239]
1392
* include/ruby/intern.h (is_ruby_native_thread): prototype.
1394
* missing/strftime.c (strftime): fix printf format and actual
1397
* ext/Win32API/Win32API.c (Win32API_initialize): ditto.
1399
* ext/tk/tcltklib.c (ip_finalize): ditto.
1401
* ext/win32ole/win32ole.c (lcid_installed): ditto.
1403
* ext/socket/getnameinfo.c: include stdio.h always.
1405
Sat Jul 21 21:39:12 2007 Tadayoshi Funaba <tadf@dotrb.org>
1407
* lib/date.rb, lib/date/format.rb (Date._parse): now can take some
1408
hints (its aim must be mainly determination of endianness of
1409
date). [experimental]
1411
* lib/date.rb, lib/date/format.rb (Date._parse): now completes
1412
truncated year as default action. [experimental]
1414
* lib/date.rb, lib/date/format.rb: added ::iso8601, ::rfc3339,
1415
::xmlschema, ::rfc2822, ::httpdate, ::jisx0301, #xmlschema,
1416
#httpdate. [experimental]
1418
Sat Jul 21 17:48:26 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1420
* common.mk: inverted rules order.
1422
* thread_win32.ci (w32_create_thread): bcc does not have
1425
* lib/mkmf.rb (create_makefile): make OBJS depend on RUBY_EXTCONF_H
1426
only if extconf.h is created.
1428
* bcc32/Makefile.sub: headers have moved.
1430
* bcc32/{Makefile.sub,configure.bat,setup.mak: configure_args
1433
* bcc32/setup.mak: check runtime version.
1435
* win32/win32.c (rb_w32_open_osfhandle): prototype has changed
1438
* {win32,wince,bcc32}/setup.mak (-version-): no RUBY_EXTERN magic.
1440
* win32/resource.rb: include patchlevel number.
1442
Sat Jul 21 12:06:48 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1444
* lib/mkmf.rb (init_mkmf): should remove mkmf.log too.
1446
Sat Jul 21 01:45:03 2007 Tadayoshi Funaba <tadf@dotrb.org>
1448
* lib/date/format.rb (Date._parse): completes calendar week based year.
1450
* lib/date/format.rb (Date._parse): detects year of ordinal date in
1453
Fri Jul 20 16:30:31 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1455
* compile.c (iseq_set_sequence): raise SyntaxError instead of rb_bug
1456
since this function can be called from VM::InstructionSequence.load.
1458
* compile.c (insn_set_sc_state, iseq_set_sequence_stackcaching): ditto.
1460
Fri Jul 20 16:11:33 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1462
* compile.c, compile.h (DECL_ANCHOR, INIT_ANCHOR): split not to
1463
initialize aggregations with dynamic values. [ruby-talk:259306]
1465
* eval.c (rb_protect): not to initialize aggregations with dynamic
1466
values. [ruby-talk:259306]
1468
* gc.c (mark_current_machine_context): ditto.
1470
* thread.c (thgroup_list, call_trace_func): ditto.
1472
* vm.c (vm_init_redefined_flag): ditto.
1474
Fri Jul 20 15:22:51 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1476
* ext/openssl/ossl_config.c (ossl_config_set_section): do not
1477
initialize aggregations with dynamic values. [ruby-talk:259306]
1479
Fri Jul 20 10:39:28 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1481
* parse.y (stmt, mlhs_node, lhs, arg, var_ref): return dummy
1482
NODE_BEGIN after errors. [ruby-dev:31100], [ruby-dev:31118]
1484
* parse.y (remove_begin): keep empty NODE_BEGIN, instead of null.
1485
[ruby-dev:31252], [ruby-dev:31263]
1487
Fri Jul 20 09:50:40 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1489
* bootstraptest/runner.rb (get_result_string): check $?.coredump?
1492
* bootstraptest/runner.rb (cleanup_coredump, check_coredump): see
1495
Thu Jul 19 20:39:30 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1497
* parse.y (value_expr_gen): warn for empty expression ().
1500
Thu Jul 19 19:24:14 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1502
* eval_error.ci (get_backtrace): check the result more.
1503
[ruby-dev:31261] [ruby-bugs-12398]
1505
Thu Jul 19 14:38:45 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1507
* bignum.c (rb_big_lshift, rb_big_rshift): separated functions
1508
to get rid of infinite recursion. fixed calculation in edge
1509
cases. [ruby-dev:31244]
1511
* numeric.c (rb_fix_lshift, rb_fix_rshift): ditto.
1513
Wed Jul 18 16:57:41 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1515
* bignum.c (rb_big_pow): refine overflow check. [ruby-dev:31242]
1517
Wed Jul 18 09:19:07 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1519
* parse.y (rb_parser_append_print, rb_parser_while_loop): moved check
1520
for node to the head.
1522
* ruby.c (proc_options): do nothing for -p/-n options if tree is null.
1523
submitted by Yusuke ENDOH <mame AT tsg.ne.jp> at [ruby-dev:31243].
1525
Wed Jul 18 08:47:09 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1527
* time.c (time_succ): Time#succ should return a time object in the
1528
same timezone mode to the original. [ruby-talk:260256]
1530
Mon Jul 16 23:07:51 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1532
* lib/base64.rb (Base64::b64encode): should not specify /o option
1533
for regular expression. [ruby-dev:31221]
1535
Mon Jul 16 22:57:53 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1537
* sprintf.c (rb_str_format): make %u behave like %d for negative
1538
values, since decimal format does not work with preceding dots.
1541
Mon Jul 16 18:29:33 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1543
* string.c (rb_str_rindex_m): accept string-like object convertible
1544
with #to_str method, as well as rb_str_index_m. [ruby-core:11692]
1546
Mon Jul 16 07:17:28 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1548
* insns.def (getspecial): lfp_svar_get() requires int for special
1551
Mon Jul 16 05:45:53 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1553
* sprintf.c (rb_f_sprintf): more checks for format argument.
1554
[ruby-core:11569], [ruby-core:11570], [ruby-core:11571],
1557
Mon Jul 16 00:26:10 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1559
* bignum.c (rb_big_pow): removed invariant variable. [ruby-dev:31236]
1561
Sun Jul 15 22:24:37 2007 pegacorn <subscriber.jp AT gmail.com>
1563
* ext/dl/cfunc.c (rb_dlcfunc_call): adjust format. [ruby-dev:31222]
1565
* ext/digest/digest.c (rb_digest_instance_update,
1566
rb_digest_instance_finish, rb_digest_instance_reset,
1567
rb_digest_instance_block_length): %s in rb_raise() expects char*.
1570
* ext/openssl/ossl.h: include ossl_pkcs5.h. [ruby-dev:31231]
1572
* ext/openssl/ossl_pkcs5.h: new file for PKCS5. [ruby-dev:31231]
1574
* ext/openssl/ossl_x509name.c (ossl_x509name_to_s): use ossl_raise()
1575
instead of rb_raise(). [ruby-dev:31222]
1577
* ext/sdbm/_sdbm.c: DOSISH platforms need io.h. [ruby-dev:31232]
1579
* ext/syck/syck.h: include stdlib.h for malloc() and free().
1582
* ext/syck/syck.h (syck_parser_set_input_type): prototype added.
1585
* win32/win32.c: include mbstring.h for _mbspbrk(). [ruby-dev:31232]
1587
* include/ruby/win32.h (rb_w32_getcwd): prototype added.
1590
Sun Jul 15 21:07:43 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1592
* bignum.c (bigtrunc): do not empty Bignum. [ruby-dev:31229]
1594
Sun Jul 15 19:05:28 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1596
* bignum.c (rb_cstr_to_inum): check leading non-digits.
1599
Sun Jul 15 04:42:20 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1601
* bignum.c (get2comp): do nothing for empty Bignum. [ruby-dev:31225]
1603
Sat Jul 14 22:49:30 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1605
* numeric.c (fix_pow): integer power calculation: 0**n => 0,
1606
1**n => 1, -1**n => 1 (n: even) / -1 (n: odd).
1608
* test/ruby/test_fixnum.rb (TestFixnum::test_pow): update test
1609
suite. pow(-3, 2^64) gives NaN when pow(3, 2^64) gives Inf.
1611
Sat Jul 14 18:46:35 2007 Tanaka Akira <akr@fsij.org>
1613
* configure.in: add --with-valgrind.
1615
* gc.h (SET_MACHINE_STACK_END): new macro to replace
1616
rb_gc_set_stack_end. it find out accurate stack boundary by
1617
asm using gcc on x86.
1619
* thread.c (rb_gc_set_stack_end): don't define if asm-version
1620
SET_MACHINE_STACK_END is available.
1622
* gc.c (mark_current_machine_context): extracted from garbage_collect.
1623
it use SET_MACHINE_STACK_END to not scan out of stack area.
1624
it notify conservative GC information to valgrind if
1627
Sat Jul 14 14:04:06 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1629
* enum.c (sort_by_cmp): check if reentered. [ruby-dev:24291]
1631
Sat Jul 14 11:08:28 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1633
* ext/json/ext/generator/generator.c (check_max_nesting): wrong
1634
format specifier. a patch from pegacorn <subscriber.jp AT gmail.com>.
1637
Sat Jul 14 02:27:43 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1639
* numeric.c (int_pow): overflow detection using FIT_SQRT_LONG().
1642
Sat Jul 14 02:05:53 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1644
* insns.def (opt_div): LONG2FIX() may not work for corner cases,
1645
use LONG2NUM() instead. [ruby-dev:31210]
1647
Sat Jul 14 00:34:01 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1649
* numeric.c (int_round): should not return false, but self.
1652
Fri Jul 13 18:31:27 2007 Koichi Sasada <ko1@atdot.net>
1654
* include/ruby/intern.h: remove unused function declarations.
1656
* include/ruby/ruby.h: ditto.
1658
Fri Jul 13 17:32:37 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1660
* vm.c (vm_free): clear free'ed living_threads field.
1663
* insns.def (opt_succ): use cast to shut a warning up.
1665
Fri Jul 13 16:10:00 2007 Tanaka Akira <akr@fsij.org>
1667
* lib/open-uri.rb (URI::Generic#find_proxy): use ENV.to_hash to access
1668
http_proxy environment variable to avoid case insensitive
1671
Fri Jul 13 15:02:15 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1673
* win32/win32.c (CreateChild): enclose command line except for
1674
command.com which can not handle quotes. [ruby-talk:258939]
1676
Fri Jul 13 11:33:09 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1678
* range.c (range_max, range_min): return nil for empty set as well as
1679
1.8 and Enumerable. [ruby-dev:31198]
1681
Fri Jul 13 11:28:37 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
1683
* parse.y (bvar): semicolon was lost for ripper description.
1686
Fri Jul 13 11:25:10 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1688
* parse.y (program, stmt, primary): reduced duplicated code.
1690
* parse.y (dsym): convert also literals containing NUL to
1693
* parse.y (debug_lines): use rb_hash_lookup() to get rid of
1694
call of Hash#default.
1696
* parse.y (ripper_warningS): unused in ripper right now.
1698
Fri Jul 13 10:33:29 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1700
* array.c (rb_ary_flatten_bang): check argument if valid
1701
integer. [ruby-dev:31197]
1703
Fri Jul 13 10:10:46 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1705
* lib/mkmf.rb (link_command, cc_command, cpp_command): do not expand
1706
::CONFIG which is an alias of MAKEFILE_CONFIG.
1708
Thu Jul 12 21:38:02 2007 NAKAMURA Usaku <usa@ruby-lang.org>
1710
* insns.def (opt_succ): use LONG_MAX as maximum Fixnum VALUE.
1713
Thu Jul 12 18:42:18 2007 Tanaka Akira <akr@fsij.org>
1715
* range.c (range_max): use FIX2LONG instead of FIX2INT to avoid
1716
RangeError by ((-0x80000001)...(-0x80000001)).max on LP64.
1718
* insns.def (opt_plus): use FIX2LONG instead of FIX2INT to avoid
1719
RangeError by 0x3fffffffffffffff+1 on LP64.
1721
* insns.def (opt_succ): don't use 0x80000000 which assumes 32bit VALUE.
1722
use FIX2LONG instead of FIX2INT.
1725
Thu Jul 12 17:03:15 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1727
* struct.c (rb_struct_init_copy): disallow changing the size.
1730
Thu Jul 12 12:58:21 2007 Koichi Sasada <ko1@atdot.net>
1732
* blockinlining.c: remove "yarv" prefix.
1734
* array.c, numeric.c: ditto.
1736
* insnhelper.ci, insns.def, vm_evalbody.ci: ditto.
1738
* yarvcore.c: removed.
1740
* yarvcore.h: renamed to core.h.
1742
* cont.c, debug.c, error.c, process.c, signal.c : ditto.
1744
* ext/probeprofiler/probeprofiler.c: ditto.
1746
* id.c, id.h: added.
1750
* compile.c: rename internal functions.
1752
* compile.h: fix debug flag.
1754
* eval.c, object.c, vm.c: remove ruby_top_self.
1755
use rb_vm_top_self() instead.
1757
* eval_intern.h, eval_load: ditto.
1759
* gc.c: rename yarv_machine_stack_mark() to
1760
rb_gc_mark_machine_stack().
1762
* insnhelper.h: remove unused macros.
1764
* iseq.c: add iseq_compile() to create iseq object
1767
* proc.c: rename a internal function.
1769
* template/insns.inc.tmpl: remove YARV prefix.
1771
* thread.c: use rb_iseq_eval() and rb_str_new2().
1773
* vm.c (rb_iseq_eval): added.
1775
* vm.c: move some functions from yarvcore.c.
1777
* vm_dump.c: fix to remove compiler warning.
1779
Thu Jul 12 12:24:29 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1781
* insns.def (opt_succ): fixed typo. [ruby-dev:31189]
1783
Thu Jul 12 10:30:46 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1785
* thread.c (thread_start_func_2): moved prototye from thread_*.ci.
1787
* thread_pthread.ci (thread_start_func_2): not use a directive
1788
inside a macro argument. [ruby-talk:258763]
1790
* thread.c (thread_join): pthread_t may not be pointer.
1792
* thread_pthread.ci (ubf_select_each): ditto.
1794
Thu Jul 12 05:32:28 2007 NAKAMURA Usaku <usa@ruby-lang.org>
1796
* include/ruby/ruby.h (FIX2ULONG): drop sign bit for LLP64 platform.
1798
Tue Jul 10 19:34:45 2007 Koichi Sasada <ko1@atdot.net>
1800
* hash.c (rb_hash_lookup): added. this function is similar to
1801
rb_hash_aref(), but doesn't call Hash#default when no entry
1804
* include/ruby/intern.h: ditto.
1806
* insnhelper.ci (lfp_svar_get): use rb_hash_lookup().
1808
Tue Jul 10 19:16:28 2007 Koichi Sasada <ko1@atdot.net>
1810
* eval.c, insnhelper.ci, vm.c: change cref index (-1 -> 2).
1812
Tue Jul 10 18:49:56 2007 Koichi Sasada <ko1@atdot.net>
1814
* eval.c (exec_under): add proper casts.
1816
Tue Jul 10 16:58:16 2007 Koichi Sasada <ko1@atdot.net>
1818
* vm.c, insnhelper.ci: fix svar interface.
1820
* compile.c (iseq_compile_each), yarvcore.h: fix to use new
1821
svar interface for flip flop.
1827
* include/ruby/intern.h: remove "rb_svar()" declaration.
1829
Tue Jul 10 16:52:01 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1831
* compile.c (rb_iseq_compile): formatted if/else to switch statement.
1833
Tue Jul 10 15:57:53 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1835
* bootstraptest/test_flip.rb: new test for flip-flop operator.
1837
Tue Jul 10 14:50:01 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1839
* bcc32/{Makefile.sub,setup.mak}: remove surplus slash from srcdir.
1841
Mon Jul 9 02:17:36 2007 NAKAMURA Usaku <usa@ruby-lang.org>
1843
* cont.c (cont_restore_1): workaround for x64-mswin64's SEH.
1845
Sun Jul 8 02:08:53 2007 NARUSE, Yui <naruse@ruby-lang.org>
1847
* lib/json.rb, lib/json/, ext/json/: import JSON 1.1.1
1849
Sat Jul 7 21:59:29 2007 Tanaka Akira <akr@fsij.org>
1851
* lib/pp.rb (PP::PPMethods#pp_hash): sort condition changed:
1852
all keys have a same class which is kind of Comparable.
1854
Sat Jul 7 17:12:37 2007 Koichi Sasada <ko1@atdot.net>
1856
* compile.c: use rb_bug() instead of rb_compile_error().
1858
Sat Jul 7 16:12:48 2007 Koichi Sasada <ko1@atdot.net>
1860
* parse.y: fix node construction (around f_margs).
1863
* bootstraptest/test_block.rb: add a test for above.
1865
* insnhelper.ci: fix indent.
1867
Sat Jul 7 15:36:50 2007 Tanaka Akira <akr@fsij.org>
1869
* lib/pp.rb (PP::PPMethods#pp_hash): sort if
1870
all keys are strings, symbols or integers.
1872
Sat Jul 7 15:30:05 2007 Koichi Sasada <ko1@atdot.net>
1874
* insnhelper.ci (vm_yield_setup_args), vm.c, insns.def:
1875
fix to pass nil as block parameter to yielded block.
1878
* bootstraptest/test_block.rb: add a test for above.
1880
Fri Jul 6 19:55:10 2007 Keiju Ishitsuka <keiju@ruby-lang.org>
1882
* lib/irb.rb: typo. Thanks, Giles Bowkett.
1884
* lib/irb/completion.rb: support Ruby1.9 changing return value
1885
String to Symbol for Object#methods, etc. [ruby-dev:31148].
1887
Fri Jul 6 18:20:50 2007 Koichi Sasada <ko1@atdot.net>
1889
* bootstraptest/runner.rb: fix load path.
1891
* common.mk: fix "test" rule to run with "btest".
1893
* rubytest.rb, sample/test.rb: fix to show tests progress.
1895
Fri Jul 6 15:37:48 2007 Koichi Sasada <ko1@atdot.net>
1897
* test/ruby/test_iterator.rb: fix test to 1.9 spec.
1899
Fri Jul 6 15:21:25 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1901
* eval.c (rb_interrupt): suppress a gcc's officious warning.
1903
Fri Jul 6 14:57:12 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1905
* parse.y (keyword_to_name): constified.
1907
* ext/ripper/eventids2.c (token_to_eventid): ditto.
1909
Fri Jul 6 14:50:40 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1911
* bootstraptest/runner.rb: added --quiet option.
1913
Fri Jul 6 14:35:25 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1915
* parse.y (f_marg): wrap f_norm_arg assignment node with NODE_LIST.
1918
Fri Jul 6 12:15:01 2007 Tanaka Akira <akr@fsij.org>
1920
* test/ruby/sentgen.rb: new file.
1922
* test/ruby/test_assignment.rb: tests implemeneted using assignment
1923
generator and emulator.
1925
Fri Jul 6 03:06:58 2007 Koichi Sasada <ko1@atdot.net>
1927
* insns.def: remove unused code.
1929
* compile.c (compile_massign): fix to invoke to_splat on
1930
splat rhs (example: *a = *nil). [ruby-dev:31136]
1932
* bootstraptest/test_massign.rb: add tests for above.
1934
* compile.c (iseq_compile_each): disable excess optimization.
1937
Fri Jul 6 02:08:25 2007 Koichi Sasada <ko1@atdot.net>
1939
* insns.def: fix to invoke nil.to_splat on NODE_ARGSCAT.
1942
* bootstraptest/test_literal.rb: add tests for above.
1944
Thu Jul 5 19:45:55 2007 Koichi Sasada <ko1@atdot.net>
1946
* yarvcore.h: rename rb_control_frame_t#magic to flag.
1948
* vm.h: add VM_FRAME_TYPE() and VM_FRAME_FLAG().
1950
* cont.c, insnhelper.ci, insns.def, vm.c, vm_dump.c,
1951
vm_evalbody.ci, yarvcore.c: apply above changes.
1953
Thu Jul 5 19:16:14 2007 Koichi Sasada <ko1@atdot.net>
1955
* test/ruby/test_basicinstructions.rb: remove an assertion using
1956
unsupported hash literal (such as {1, 2}).
1958
* test/ruby/test_hash.rb: ditto.
1960
Thu Jul 5 19:12:22 2007 NAKAMURA Usaku <usa@ruby-lang.org>
1962
* ruby.c: Qfalse is VALUE, not pointer.
1964
Thu Jul 5 18:42:01 2007 Koichi Sasada <ko1@atdot.net>
1966
* compile.c (iseq_compile_each): add break catch point.
1968
* insns.def (throw): support correct "break" and "return".
1969
this commit achieve that "make test" passes all tests.
1973
Thu Jul 5 18:44:12 2007 Tanaka Akira <akr@fsij.org>
1975
* parse.y (mlhs_basic): use mlhs_post after tSTAR.
1978
Thu Jul 5 18:27:58 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1980
* include/ruby/{intern,ruby}.h, compile.[ch], error.c, eval.c,
1981
eval_load.c, gc.c, iseq.c, main.c, parse.y, re.c, ruby.c,
1982
yarvcore.[ch] (ruby_eval_tree, ruby_sourcefile, ruby_sourceline,
1983
ruby_nerrs): purge global variables.
1985
* ruby.c (proc_options): moved do_print and do_loop options
1986
handling from ruby_process_options().
1988
Thu Jul 5 16:37:34 2007 NAKAMURA Usaku <usa@ruby-lang.org>
1990
* numeric.c (int_pow): fix previous nubu's commit.
1992
* test/ruby/test_fixnum.rb: new test.
1994
Thu Jul 5 15:56:06 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
1996
* numeric.c (int_pow): even number multiplication never be negative.
1998
Thu Jul 5 10:42:07 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2000
* include/ruby/{node,ruby}.h, ruby.c: added enum constants for gdb
2001
support. [ruby-dev:31066]
2003
* .gdbinit: some improvements.
2005
Thu Jul 5 10:13:08 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2007
* parse.y (global_symbols.last_id): reduce unused ID numbers.
2009
* include/ruby/st.h, st.c (st_init_table, st_init_table_with_size):
2012
Wed Jul 4 23:36:27 2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
2014
* lib/webrick/httpauth/authenticator.rb
2015
(WEBrick::HTTPAuth::Authenticator#check_scheme): auth-scheme must be
2016
treated as a case-insensitive token according to RFC 2617 section 1.2.
2018
Wed Jul 4 18:30:04 2007 Tanaka Akira <akr@fsij.org>
2020
* parse.y (mlhs_inner): new rule. [ruby-dev:31132]
2022
Wed Jul 4 05:11:57 2007 Koichi Sasada <ko1@atdot.net>
2024
* iseq.c (set_relation): added.
2026
Wed Jul 4 04:58:30 2007 Koichi Sasada <ko1@atdot.net>
2028
* insnhelper.ci (caller_setup_args): fix to show correct class
2029
on an error message (ex: m(&1)). [ruby-dev:31101]
2031
Wed Jul 4 04:30:32 2007 Koichi Sasada <ko1@atdot.net>
2033
* compile.c (compile_array, iseq_compile_each): fix about array
2034
generation in void context. [ruby-dev:31102]
2036
* bootstraptest/test_literal.rb: add a test for above.
2038
Wed Jul 4 04:07:00 2007 Koichi Sasada <ko1@atdot.net>
2040
* compile.c (compile_array): ignore NODE_ZARRAY.
2043
* bootstraptest/test_method.rb: add a test for above.
2045
Wed Jul 4 04:04:02 2007 Koichi Sasada <ko1@atdot.net>
2047
* compile.h: fix debug print level.
2049
Wed Jul 4 03:52:55 2007 Koichi Sasada <ko1@atdot.net>
2051
* compile.c (iseq_compile_each): support v[&b]= type method call.
2054
* bootstraptest/test_method.rb: add a test for above.
2056
Wed Jul 4 03:43:29 2007 Koichi Sasada <ko1@atdot.net>
2058
* compile.c (compile_massign): fix massign compilation
2059
(example: a, *v, (*x) = ...). [ruby-dev:31107]
2061
* bootstraptest/test_massign.rb: add tests for above.
2063
Tue Jul 3 23:12:29 2007 NAKAMURA Usaku <usa@ruby-lang.org>
2065
* include/ruby/onigiruma.h (ONIG_EXTERN): use RUBY_EXTERN if defined.
2067
* regenc.h: include ruby/defines.h.
2069
* regint.h: x64-mswin64 support.
2071
Tue Jul 3 13:47:44 2007 Koichi Sasada <ko1@atdot.net>
2073
* cont.c (cont_save_machine_stack): clear saved_thread.machine_stack*.
2075
Mon Jul 2 21:45:53 2007 Koichi Sasada <ko1@atdot.net>
2077
* compile.c: rename iseq_translate_direct_threaded_code()
2078
to iseq_translate_threaded_code().
2080
* eval_intern.h, yarvcore.h: mv EXEC_EVENT_HOOK() and
2081
exec_event_hooks() to yarvcore.h.
2083
* insnhelper.ci, vm.c: mv yarv_finish_insn_seq to vm.c.
2085
* insns.def (opt_call_c_function): fix to use RESTORE_REGS().
2087
* iseq.c (rb_iseq_build_for_ruby2cext): fix to allocate iseq.
2089
Mon Jul 2 11:59:34 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2091
* insns.def (defineclass): suppress a warning.
2093
* insns.def (opt_call_c_function): should raise the thrown exception
2094
instead of returning it.
2096
Mon Jul 2 08:53:47 2007 Koichi Sasada <ko1@atdot.net>
2098
* eval_intern.h, yarvcore.h: move declaration of sysstack_error
2101
* iseq.c: fix symbol name (:toplevel -> :top).
2103
* lib/vm/instruction.rb, template/vm.inc.tmpl: replacable
2106
Mon Jul 2 05:29:07 2007 Koichi Sasada <ko1@atdot.net>
2108
* compile.c, iseq.c: fix iseq some of load/store process.
2110
Mon Jul 2 03:09:36 2007 Koichi Sasada <ko1@atdot.net>
2112
* yarvcore.h, compile.c, insnhelper.ci, iseq.c, vm.c:
2113
rename structure names and field names.
2115
* insnhelper.h, insns.def: add GET_CONST_INLINE_CACHE().
2117
* iseq.c: add rb_iseq_build_for_ruby2cext().
2119
* yarvcore.h, vm.h: move declaration of rb_insn_func_t
2122
Sun Jul 1 03:25:53 2007 Koichi Sasada <ko1@atdot.net>
2124
* insnhelper.h, vm.h: some refactoring.
2125
remove useless comments, etc.
2127
Sun Jul 1 03:02:29 2007 Koichi Sasada <ko1@atdot.net>
2129
* yarvcore.h: some refactoring on rb_iseq_t.
2130
rename some variable names, add comments, etc.
2132
* compile.c, iseq.c, proc.c, vm.c: ditto.
2134
Sun Jul 1 02:57:57 2007 Koichi Sasada <ko1@atdot.net>
2136
* vm.h: rename insn_func_type to rb_insn_func_type.
2138
* vm_evalbody.ci: ditt.
2140
* insns.def: add opt_call_native_compiled instruction
2141
instead of opt_call_native_compiled.
2143
Sat Jun 30 00:17:00 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2145
* parse.y (parser_yylex): return non-valid token for an invalid
2146
instance/class variable name. a patch from Yusuke ENDOH
2147
<mame AT tsg.ne.jp>. [ruby-dev:31095]
2149
Fri Jun 29 23:38:06 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2151
* parse.y (stmts): fix for ripper.
2153
Fri Jun 29 21:55:48 2007 Koichi Sasada <ko1@atdot.net>
2155
* parse.y: fix to show line number of blank block.
2158
Fri Jun 29 20:51:04 2007 Tanaka Akira <akr@fsij.org>
2160
* lib/cgi/session.rb (create_new_id): don't cut off md5.hexdigest to
2163
Fri Jun 29 17:10:14 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2165
* debug.h: constified.
2167
* debug.c (ruby_set_debug_option): separated from main.c.
2169
* gc.c (ruby_gc_stress), signal.c (ruby_enable_coredump): prefixed.
2171
Fri Jun 29 16:39:06 2007 Koichi Sasada <ko1@atdot.net>
2173
* proc.c (proc_new): fix to return a proc object
2174
which block is contained ([ruby-dev:31056]).
2176
Fri Jun 29 15:43:59 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2178
* numeric.c (fix_pow): get rid of division by zero. reported by
2179
Yusuke ENDOH <mame AT tsg.ne.jp> [ruby-dev:31040]
2181
* numeric.c (int_round): do nothing when rounding by zeroth digit.
2182
check underflow. [ruby-dev:31043]
2184
Fri Jun 29 15:32:00 2007 Koichi Sasada <ko1@atdot.net>
2186
* configure.in: add fastcall attribute check.
2188
Fri Jun 29 14:51:24 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
2190
* parse.y (assoc_list): remove expanded hash literal (no splat).
2192
* lib/webrick/httpstatus.rb (WEBrick::HTTPStatus::EOFError): adapt
2195
Fri Jun 29 14:48:18 2007 Koichi Sasada <ko1@atdot.net>
2197
* tool/insns2vm.rb, lib/vm/instruction.rb: move process body
2198
to lib/vm/instruction.rb.
2200
* common.mk: fix aotc rule.
2201
experimental. bin/ruby2cext is not added yet.
2203
Fri Jun 29 11:23:09 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2205
* parse.y (dsym): return non-null NODE even if yyerror(). based on a
2206
patch from Yusuke ENDOH <mame AT tsg.ne.jp>. [ruby-dev:31085]
2208
Thu Jun 28 23:29:30 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
2210
* parse.y (assoc_list): odd number check only for NODE_ARRAY.
2213
Thu Jun 28 22:24:33 2007 Koichi Sasada <ko1@atdot.net>
2215
* win32/Makefile.sub: define FUNC_FASTCALL macro.
2217
* vm.h: fix to use FUNC_FASTCALL macro.
2218
TODO: add FUNC_FASTCALL macro by configure.
2220
Thu Jun 28 19:38:53 2007 Koichi Sasada <ko1@atdot.net>
2222
* compile.c: fix to remove -Wall warnings on gcc.
2224
* compile.c (make_name_with_str): removed. use rb_sprintf() instead.
2226
Thu Jun 28 18:53:01 2007 Tanaka Akira <akr@fsij.org>
2228
* bignum.c (rb_big_hash): fix hash area.
2230
Thu Jun 28 15:00:06 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2232
* ext/stringio/stringio.c (strio_getline): local variable to be
2233
initialized. [ruby-dev:31077]
2235
Thu Jun 28 11:30:39 2007 NAKAMURA Usaku <usa@ruby-lang.org>
2237
* gc.c (rb_obj_id): use SIGNED_VALUE instead of long.
2239
Thu Jun 28 05:01:56 2007 Koichi Sasada <ko1@atdot.net>
2241
* common.mk (run.gdb): fix to load $(srcdir)/.gdbinit
2243
* vm.c (rb_vm_set_finish_env): add a cast.
2245
* vm.h: support __fastcall for MSVC.
2247
Thu Jun 28 02:12:08 2007 Koichi Sasada <ko1@atdot.net>
2249
* bootstraptest/runner.rb: fix to untouch $:.
2251
Thu Jun 28 02:03:07 2007 Koichi Sasada <ko1@atdot.net>
2253
* compile.c (setup_args): change parameter type.
2255
Thu Jun 28 02:03:39 2007 NAKAMURA Usaku <usa@ruby-lang.org>
2257
* parse.y (rb_intern2): unconstify cast.
2259
Thu Jun 28 01:44:31 2007 Tanaka Akira <akr@fsij.org>
2261
* parse.y (rb_intern2): don't allocate a string object at first.
2264
Thu Jun 28 01:24:02 2007 Koichi Sasada <ko1@atdot.net>
2266
* bootstraptest/runner.rb: fix to show file name.
2268
* bootstraptest/test_*.rb: add bootstarp tests.
2270
Thu Jun 28 01:22:15 2007 Koichi Sasada <ko1@atdot.net>
2272
* include/ruby/node.h, parse.y, gc.c, iseq.c: remove NODE_CREF.
2274
Thu Jun 28 01:19:43 2007 Koichi Sasada <ko1@atdot.net>
2276
* compile.c (iseq_compile_each): fix popped backref and others.
2279
* compile.c (iseq_compile_each): remove needless statements.
2281
Wed Jun 27 23:51:33 2007 NAKAMURA Usaku <usa@ruby-lang.org>
2283
* win32/win32.c: remove unused functions.
2285
Wed Jun 27 20:46:05 2007 NAKAMURA Usaku <usa@ruby-lang.org>
2287
* include/ruby/win32.h, win32/Makefile.sub, win32/configure.bat,
2288
win32/mkexports.rb, win32/setup.mak, win32/win32.c: import
2291
Wed Jun 27 20:31:07 2007 Koichi Sasada <ko1@atdot.net>
2293
* compile.c (iseq_translate_direct_threaded_code): fix prototype
2296
* vm.h: add correct cast.
2298
Wed Jun 27 17:08:42 2007 Koichi Sasada <ko1@atdot.net>
2300
* vm_evalbody.ci: support OPT_CALL_THREADED_CODE.
2302
* insns.def, vm.c, vm.h: ditto.
2304
* vm.h: add VM_CFP_CNT() and VM_SP_CNT().
2306
Wed Jun 27 04:23:47 2007 Koichi Sasada <ko1@atdot.net>
2308
* compile.c (iseq_compile_each): fix type error.
2310
Wed Jun 27 03:26:15 2007 Koichi Sasada <ko1@atdot.net>
2312
* compile.c (compile_massign), insns.def (expandarray): support
2313
postarg with massign (a, *b, c = ...).
2315
* bootstraptest/test_massign.rb: add tests for above.
2317
* compile.h: fix debug macro names.
2319
Wed Jun 27 00:18:41 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
2321
* string.c (rb_str_clear): need to check STR_EMBED_P() before
2322
free()ing memory. a patch from Yusuke ENDOH <mame AT tsg.ne.jp>.
2325
Tue Jun 26 16:39:01 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2327
* process.c (proc_getgroups): use GIDT2NUM for rb_gid_t.
2329
Tue Jun 26 16:28:24 2007 Koichi Sasada <ko1@atdot.net>
2331
* thread.c (rb_thread_wait_fd_rw): terminate fdset.
2333
Tue Jun 26 16:26:58 2007 NAKAMURA Usaku <usa@ruby-lang.org>
2335
* regint.h: IL32LLP64 support.
2337
Tue Jun 26 16:22:45 2007 Koichi Sasada <ko1@atdot.net>
2339
* iseq.c (ruby_node_name): update node names.
2341
Tue Jun 26 15:21:20 2007 NAKAMURA Usaku <usa@ruby-lang.org>
2343
* include/ruby/ruby.h: IL32LLP64 support.
2345
* bignum.c (bigfixize, rb_cstr_to_inum): ditto.
2347
* insns.def (opt_plus, opt_minus, opt_mult): ditto.
2349
Tue Jun 26 15:04:06 2007 Koichi Sasada <ko1@atdot.net>
2351
* cont.c (rb_fiber_s_new): revert initializing VM stack.
2353
* yarvcore.c (th_init2): ditto.
2355
* vm.c, vm.h: fix to stop using Qundef on VM stack. According to
2356
this change, VM stack should not include Qundef value.
2358
* insns.def (putundef): removed.
2360
* compile.c (iseq_compile_each): ditto.
2362
* eval.c (eval): fix spacing.
2364
Tue Jun 26 04:03:50 2007 Koichi Sasada <ko1@atdot.net>
2366
* insnhelper.ci (vm_yield_with_cfunc), proc.c: fix Method#to_proc
2367
to return lamba Proc ([ruby-dev:31021], [ruby-dev:31037]).
2369
Tue Jun 26 03:46:08 2007 Koichi Sasada <ko1@atdot.net>
2371
* cont.c (rb_fiber_s_new): fix to clear rb_thread_t#tag.
2374
Tue Jun 26 03:38:31 2007 Koichi Sasada <ko1@atdot.net>
2376
* cont.c (rb_fiber_s_new), yarvcore.c (th_init2): fix to clear
2377
VM stack ([ruby-dev:31046]).
2379
Tue Jun 26 03:15:27 2007 Koichi Sasada <ko1@atdot.net>
2381
* compile.c: rename setup_arg() to setup_args().
2382
fix to use setup_args() at processing NODE_YIELD.
2384
Tue Jun 26 02:50:24 2007 Koichi Sasada <ko1@atdot.net>
2386
* compile.c (setup_arg): support kind of "m(*ary, x)" method call.
2389
Tue Jun 26 00:28:44 2007 Koichi Sasada <ko1@atdot.net>
2391
* insnhelper.ci, vm.c: complete block parameter support.
2392
post arguments, optional arguments, block argument.
2394
* compile.c, parse.y: fix {|a|} parameter.
2396
* insnshelper.ci, insns.def: revert caller_setup_args() option
2397
(need_block_check) parameter.
2399
Mon Jun 25 20:18:44 2007 NAKAMURA Usaku <usa@ruby-lang.org>
2401
* gc.c (RVALUE): in RVALUE and RBasic, flags must be the same type.
2403
Mon Jun 25 18:02:55 2007 NAKAMURA Usaku <usa@ruby-lang.org>
2405
* ext/pty/extconf.rb: skip wince and win64.
2407
Mon Jun 25 17:59:32 2007 NAKAMURA Usaku <usa@ruby-lang.org>
2409
* include/ruby/node.h (NODE_LMASK, nd_line): shouldn't use int and/or
2412
Mon Jun 25 11:36:35 2007 Koichi Sasada <ko1@atdot.net>
2414
* gc.h: add RUBY_ prefix to debug macros.
2416
* cont.c, proc.c, yarvcore.c,
2418
* gc.c: define ruby_gc_debug_indent variable to debug mark/free.
2420
* vm.c, insnhelper.ci: rename some functions to vm_* or rb_vm_*.
2421
move some functions, definitions, declarations to suitable files.
2423
* eval.c, yarvcore.h, eval_error.ci, insnhelper.ci: ditto.
2425
Mon Jun 25 09:45:46 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2427
* eval_error.ci, eval_jump.ci, eval_method.ci, eval_safe.ci: c-mode.
2429
Mon Jun 25 05:27:54 2007 Koichi Sasada <ko1@atdot.net>
2431
* eval.c: remove ruby_current_node and change eval() prototype.
2432
fix to use rb_sourcefile/line() instead of ruby_sourcefile/line.
2434
* error.c, eval_error.ci, eval_load.c, eval_safe.ci, gc.c,
2435
include/ruby/intern.h, parse.y, process.c, ruby.c: ditto.
2439
Mon Jun 25 04:20:14 2007 Koichi Sasada <ko1@atdot.net>
2441
* eval_*.h: rename to eval_*.ci.
2445
* eval_error.ci: remove ruby_set_current_source().
2447
* error.c, eval.c, ruby.c: ditto.
2449
* eval_safe.c, proc.c: remove unused macros.
2451
Mon Jun 25 03:37:20 2007 Koichi Sasada <ko1@atdot.net>
2453
* insnhelper.ci (caller_setup_args): add need_block_check option.
2457
* yarvcore.h: add GetCoreDataFromValue().
2459
Mon Jun 25 02:14:30 2007 Koichi Sasada <ko1@atdot.net>
2461
* call_cfunc.ci: removed.
2463
* insnhelper.ci: added. this function includes all functions that
2468
* insnhelper.h, vm.h, vm.c: move some declaration.
2470
* gc.h: remove GC_CHECK() macro because GC.stress is more useful.
2472
* compile.c, iseq.c, vm_dump: ditto.
2474
* gc.h, thread.c: move a prototype decalaration.
2476
* debug.c, debug.h: rename some functions.
2480
Mon Jun 25 00:45:02 2007 Koichi Sasada <ko1@atdot.net>
2482
* insns.def (invokesuper): fix error message.
2484
Mon Jun 25 00:14:13 2007 Koichi Sasada <ko1@atdot.net>
2486
* vm.c: some refactoring.
2487
* rename th_* to vm_*.
2488
* remove unused variables functions.
2491
* blockinlining.c, compile.c, cont.c, eval.c, eval_intern.h,
2492
eval_jump.h, eval_load.c, inits.c, insns.def, iseq.c, parse.y,
2493
proc.c, process.c, signal.c, thread.c, vm.c, vm_dump.c,
2494
vm_evalbody.ci, yarvcore.c, yarvcore.h: ditto.
2496
Sun Jun 24 22:32:00 2007 Koichi Sasada <ko1@atdot.net>
2498
* eval_method.h (rb_add_method): fix to check 0.
2500
Sun Jun 24 22:00:17 2007 Koichi Sasada <ko1@atdot.net>
2502
* insn_send.ci: removed.
2506
* vm.c (vm_call_bmethod), isnsn.def: added. fix to use this
2507
function instead of using goto.
2509
* vm.c (vm_call_bmethod): renamed from th_invoke_bmethod().
2511
* vm.c (vm_method_missing): renamed from eval_methdo_missing().
2513
* vm_evalbody.ci: remove tmp_* variables.
2515
* insnhelper.h: add some macros.
2517
* insns.def: forbid zsuper from method defined by define_method().
2519
* test/ruby/test_super.rb: ditto.
2521
Sun Jun 24 20:01:08 2007 Koichi Sasada <ko1@atdot.net>
2523
* vm_macro.def: removed.
2525
* insn_send.ci: added. this file includes send instruction body.
2531
* tool/insns2vm.rb: ditto.
2535
Sun Jun 24 19:30:37 2007 Koichi Sasada <ko1@atdot.net>
2537
* insnhelper.h (RESTORE_REGS): add do/while(0) around macro.
2539
* vm.c, vm_macro.def: remove macro_eval_invoke_func() and
2540
add vm_setup_method(). use it instead.
2542
Sun Jun 24 19:02:33 2007 Koichi Sasada <ko1@atdot.net>
2544
* vm.c, vm_macro.def : remove macro_eval_invoke_cfunc() and
2545
add vm_call_cfunc().
2547
Sun Jun 24 17:54:13 2007 Koichi Sasada <ko1@atdot.net>
2549
* insns.def, vm.c: add/fix stack overflow check.
2551
Sun Jun 24 17:28:52 2007 Koichi Sasada <ko1@atdot.net>
2553
* insnhelper.h: change CHECK_STACK_OVERFLOW() to throw exception.
2555
* vm.c (caller_setup_arg), vm_macro.def: remove
2556
macro_eval_setup_send_arguments and add caller_setup_arg().
2560
* bootstraptest/test_method.rb: add splat arg tests.
2562
Sun Jun 24 16:35:46 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2564
* proc.c (proc_to_s): used a variable before initialized.
2566
Sun Jun 24 16:05:45 2007 Koichi Sasada <ko1@atdot.net>
2568
* vm.c (callee_setup_arg): added. support correct post arg.
2570
* vm_macro.def (macro_eval_invoke_func): fix to use
2573
* compile.c (set_arguments): adjust for above changes.
2575
* compile.c (iseq_compile_each): ditto.
2577
* iseq.c (ruby_iseq_disasm): ditto.
2579
* yarvcore.h: add rb_iseq_t#post_arg_start and arg_size.
2581
* bootstraptest/test_method.rb: add post arg tests.
2583
Sun Jun 24 16:10:43 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2585
* proc.c (proc_to_s): suppress warning, and reduced duplicated code.
2587
Sun Jun 24 15:33:47 2007 Koichi Sasada <ko1@atdot.net>
2589
* bootstraptest/runner.rb: set default directory to
2590
'/tmp/bootstraptest.tmpwd' and add --dir option.
2591
fix to output driver and target information.
2593
* common.mk: fix to run btest on BASERUBY and
2594
add OPTS to pass option ("make btest OPTS=...").
2596
Sun Jun 24 03:05:00 2007 Tanaka Akira <akr@fsij.org>
2598
* enum.c (enum_minmax): fix SEGV by [].minmax.
2600
Sat Jun 23 17:18:19 2007 Tanaka Akira <akr@fsij.org>
2602
* re.c (match_inspect): MatchData#inspect implemented.
2604
Sat Jun 23 15:00:16 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
2606
* enum.c (enum_minmax): new method to get the minimum and maximum
2607
values from the enumerable at once.
2609
* enum.c (enum_minmax_by): ditto.
2611
Sat Jun 23 01:25:40 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
2613
* hash.c (rb_hash_assoc): new method.
2615
* hash.c (rb_hash_rassoc): ditto.
2617
* hash.c (rb_hash_flatten): ditto.
2619
Fri Jun 22 23:55:59 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
2621
* string.c (rb_str_upto): add optional argument to specify
2624
* range.c (range_step): use String#upto with optional argument.
2626
* range.c (range_each): ditto.
2628
Fri Jun 22 19:55:51 2007 Tanaka Akira <akr@fsij.org>
2630
* proc.c (proc_to_s): revert the change from %p to %lx at YARV
2633
Fri Jun 22 19:33:49 2007 Tanaka Akira <akr@fsij.org>
2635
* proc.c (proc_to_s): show is_lambda.
2637
Thu Jun 21 20:36:12 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
2639
* hash.c (rb_hash_sort): remove hash specific implementation.
2641
Thu Jun 21 20:28:05 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
2643
* hash.c (rb_hash_select): returns new hash, not assoc array.
2646
* hash.c (env_select): ditto.
2648
Thu Jun 21 23:08:19 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
2650
* parse.y (rb_intern2): ID_JUNK test based on len, not by NUL.
2652
Thu Jun 21 19:42:07 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2654
* yarvcore.c (rb_thread_mark): mark also thrown_errinfo.
2656
Thu Jun 21 17:13:44 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2658
* parse.y (rb_intern2): name may not be NUL-terminated.
2660
Wed Jun 20 08:27:57 2007 Tanaka Akira <akr@fsij.org>
2662
* eval_error.h (error_print): show full stacktrace on
2663
non-SystemStackError.
2665
Wed Jun 20 04:45:39 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2667
* parse.y (rb_intern2): use rb_intern2 to intern without trailing
2670
* parse.y (rb_intern2, ripper_id2sym): fixed indent.
2672
Tue Jun 19 10:55:05 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2674
* eval_load.c (load_ext, rb_require_safe): pass VALUE instead of
2675
pointer. [ruby-Bugs-11659]
2677
Mon Jun 18 08:47:54 2007 Technorama Ltd. <oss-ruby@technorama.net>
2679
* ext/openssl/{extconf.rb,ossl_ssl_session.c}:
2680
Fix ruby-Bugs-11513.
2682
* ext/openssl/ossl_pkey_ec.c
2683
New methods EC::Point.[eql,make_affine!,invert!,on_curve?,infinity?]
2684
By default output the same key form as the openssl command.
2686
* ext/openssl/ossl_rand.c
2687
New method Random.status?
2689
* test/openssl/test_ec.rb
2692
Mon Jun 18 17:04:07 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2694
* eval_load.c (rb_require_safe, ruby_init_ext): load with ruby level
2695
cfp. [ruby-core:10779]
2697
* eval_intern.h, vm.c (rb_vm_call_cfunc): new function to call a
2698
function with ruby level cfp.
2700
Mon Jun 18 16:57:24 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2702
* parse.y (yycompile): disable trace while creating ruby_debug_lines.
2705
* thread.c (ruby_suppress_tracing): new function to call a function
2706
with suppressing trace.
2708
* lib/debug.rb, lib/tracer.rb: for YARV.
2710
Mon Jun 18 13:54:36 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2712
* eval.c (ruby_cleanup): return EXIT_FAILURE if any exceptions occured
2713
in at_exit blocks. [ruby-core:11263]
2715
Mon Jun 18 02:49:16 2007 Koichi Sasada <ko1@atdot.net>
2717
* vm.c (env_mark): fix to mark block.proc.
2719
* vm.c (th_make_proc_from_block): set created proc to block->proc.
2721
Mon Jun 18 02:48:12 2007 Koichi Sasada <ko1@atdot.net>
2723
* vm_dump.c (vm_stack_dump_raw): hide VM stack trace.
2725
Mon Jun 18 02:43:53 2007 Koichi Sasada <ko1@atdot.net>
2727
* signal.c (sigsegv): clear gc_stress flag on SEGV.
2729
Mon Jun 18 01:14:10 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2731
* variable.c (rb_path2class): get rid of dangling pointer caused by
2732
optimized out value.
2734
* variable.c (rb_global_entry, rb_f_untrace_var, rb_alias_variable,
2735
rb_generic_ivar_table, generic_ivar_get, generic_ivar_set,
2736
generic_ivar_defined, generic_ivar_remove, rb_mark_generic_ivar,
2737
rb_free_generic_ivar, rb_copy_generic_ivar,
2738
rb_obj_instance_variables): suppress warnings.
2740
Sun Jun 17 11:11:07 2007 Tanaka Akira <akr@fsij.org>
2742
* eval.c (rb_method_missing): avoid a warning "too many arguments
2743
for format string" on "./ruby -ve 'def m() super end; m'".
2745
Sat Jun 16 22:24:17 2007 Tanaka Akira <akr@fsij.org>
2747
* gc.c (garbage_collect): re-introduce ruby_current_node marking code.
2750
Sat Jun 16 21:37:43 2007 Tanaka Akira <akr@fsij.org>
2752
* gc.c (gc_sweep): re-introduce heap extension strategy change.
2755
Fri Jun 15 22:59:37 2007 Tanaka Akira <akr@fsij.org>
2757
* .gdbinit: new file to ease debugging using gdb.
2759
Fri Jun 15 22:33:55 2007 Tanaka Akira <akr@fsij.org>
2761
* signal.c (default_handler): func argument removed.
2762
(trap_handler): support SYSTEM_DEFAULT. call default_handler
2764
(sig_trap): don't call default_handler.
2767
Fri Jun 15 22:33:29 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2769
* common.mk (realclean): separate local and ext.
2771
* ext/extmk.rb: not remove unrelated directories.
2773
Fri Jun 15 20:50:02 2007 Tanaka Akira <akr@fsij.org>
2775
* keywords: enclose C code in declaration section by %{ and %} to
2776
avoid extra semicolon after #ifdef RIPPER.
2779
Fri Jun 15 18:56:52 2007 Tanaka Akira <akr@fsij.org>
2781
* signal.c (trap_handler): trap("SIGSEGV", "DEFAULT") may cause wrong
2782
trap error because SIG_DFL may be zero.
2784
Fri Jun 15 15:55:55 2007 Koichi Sasada <ko1@atdot.net>
2786
* insns.def (setconstant, toregexp): fix to mark object correctly.
2788
Fri Jun 15 13:24:18 2007 Koichi Sasada <ko1@atdot.net>
2790
* hash.c: exchange semantics of Hash#each and Hash#each_pair.
2791
pointed out by [ruby-dev:30997].
2793
* test/ruby/test_iterator.rb: ditto.
2795
* test/ruby/test_yield.rb: ditto.
2797
Fri Jun 15 12:38:29 2007 Koichi Sasada <ko1@atdot.net>
2799
* test/ruby/test_iterator.rb: remove debug code (GC.stress=true).
2801
Fri Jun 15 12:25:33 2007 Koichi Sasada <ko1@atdot.net>
2803
* vm.c (th_yield_setup_args): |v| should work as |v,|.
2804
ex) def m;yield 1, 2; end; m{|v| p v} #=> 1
2806
* parse.y: apply above change for "for" statement.
2808
* test/ruby/test_assignment.rb: ditto
2810
* test/ruby/test_basicinstructions.rb: ditto.
2812
* test/ruby/test_iterator.rb: ditto.
2814
* test/ruby/test_yield.rb: ditto.
2816
* compile.c (iseq_compile_each): fix debug.
2818
Fri Jun 15 12:22:10 2007 Koichi Sasada <ko1@atdot.net>
2820
* eval.c (ruby_finalize_1): rb_thread_t#errinfo should be clear with
2823
Fri Jun 15 12:20:11 2007 Koichi Sasada <ko1@atdot.net>
2825
* cont.c (rb_cont_call): forbid cross fiber continuation call.
2827
* test/ruby/test_fiber.rb: ditto.
2829
Fri Jun 15 12:14:07 2007 Koichi Sasada <ko1@atdot.net>
2831
* sample/test.rb: fix to show line information whether test succeeds.
2833
Thu Jun 14 17:16:05 2007 Tanaka Akira <akr@fsij.org>
2835
* eval_load.c (Init_load): delay allocating an array for rb_load_path
2836
to avoid GC problem in very early stage.
2837
(RUBY_GC_STRESS causes GC in such stage.)
2839
* variable.c (rb_gc_mark_global_tbl): rb_global_tbl may be 0 in
2842
* thread.c (thread_cleanup_func) [IA64]: clear register stack position.
2843
(thread_start_func_2) [IA64]: record the beginning of register
2844
stack using extra argument.
2845
(rb_gc_save_machine_context) [IA64]: record the end of register
2848
* gc.c [IA64] (SET_STACK_END): record the end of register stack.
2849
(garbage_collect) [IA64]: use recorded register stack area for
2851
(yarv_machine_stack_mark) [IA64]: GC mark from the register stack
2854
* yarvcore.c [IA64] (rb_gc_register_stack_start): defined.
2855
(Init_VM): store th->self on stack to fix GC problem.
2856
(Init_yarv) [IA64]: initialize the beginning of register stack.
2858
* yarvcore.h (struct rb_thread_struct) [IA64]: new members for
2859
register stack area.
2861
* thread_pthread.ci (thread_start_func_1) [IA64]: call
2862
thread_start_func_2 with the end of register stack.
2864
* cont.c (struct rb_context_struct) [IA64]: new members for register
2866
(cont_mark) [IA64]: GC mark from register stack area.
2867
(cont_free) [IA64]: free saved register stack.
2868
(cont_save_machine_stack) [IA64]: record the position and contents
2869
of the register stack.
2870
(cont_capture): store cont->self on stack to fix GC problem.
2871
(cont_restore_1) [IA64]: restore the register stack.
2872
[IA64] (register_stack_extend): new function.
2873
(cont_restore_0) [IA64]: call register_stack_extend instead of
2878
Thu Jun 14 17:09:48 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2880
* lib/rdoc/parsers/parse_c.rb (RDoc::C_Parser): handle more
2881
extensions. [ruby-dev:30972]
2883
Thu Jun 14 14:40:42 2007 Tanaka Akira <akr@fsij.org>
2885
* lib/securerandom.rb: document updated.
2886
suggested by NaHi. [ruby-dev:30966]
2888
Wed Jun 13 22:42:06 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
2890
* gc.c (garbage_collect): update IA64 register stack code.
2893
Wed Jun 13 06:05:12 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2895
* configure.in (darwin): prohibit loading extension libraries to
2898
Tue Jun 12 21:50:51 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
2900
* parse.y (call_args): no allow splat after assocs. takes
2901
consistency over compatibility.
2903
* parse.y (call_args2): ditto
2905
Tue Jun 12 14:53:51 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2907
* lib/mkmf.rb (Logging.quiet, Logging.message): added quiet flag and
2908
use it. [ruby-core:10909]
2910
* lib/mkmf.rb (find_header): use header names in the message.
2912
Sun Jun 10 18:37:13 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2914
* ext/probeprofiler/probeprofiler.c: clean warnings.
2916
Sun Jun 10 18:32:24 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2918
* missing/isinf.c, missing/dup2.c, missing/strtod.c, missing/x68.c,
2919
missing/alloca.c: use "ruby/config.h".
2921
Sun Jun 10 17:49:20 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2923
* instruby.rb (install_recursive): should check parent directories of
2924
the destination. [ruby-dev:30947]
2926
Sun Jun 10 16:59:39 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2928
* parse.y (do_block, brace_block): fix line numbers. [ruby-dev:30831]
2930
Sun Jun 10 16:57:20 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2932
* instruby.rb (install_recursive): add :glob option rather than
2935
* instruby.rb (ext-comm): make header directory first.
2937
Sun Jun 10 16:10:58 2007 NAKAMURA Usaku <usa@ruby-lang.org>
2939
* test/ruby/test_beginendblock.rb: typo.
2941
Sun Jun 10 16:07:10 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2943
* instruby.rb (install_recursive): skip .svn directories.
2945
Sun Jun 10 15:44:43 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2947
* win32/Makefile.sub (config.status): rubyhdrdir was missing.
2949
Sun Jun 10 15:26:36 2007 Tanaka Akira <akr@fsij.org>
2951
* Makefile.in: use --output-file for gperf to not leave lex.c.tmp.
2953
Sun Jun 10 15:11:07 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2955
* Makefile.in, win32/Makefile.sub (XCFLAGS): -I. is needed for *.inc.
2957
* ext/extmk.rb: prepend also topdir to mflags at last.
2959
Sun Jun 10 13:47:36 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2961
* test/ruby/test_beginendblock.rb (test_should_propagate_signaled):
2962
get rid of invoking shell. [ruby-dev:30942]
2964
Sun Jun 10 12:56:46 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
2966
* include/ruby: moved public headers.
2968
* instruby.rb (install_recursive): skip backup files.
2970
* instruby.rb (ext-comm): install only current platform headers.
2972
Sun Jun 10 10:42:04 2007 Tanaka Akira <akr@fsij.org>
2974
* lib/securerandom.rb: renamed from lib/secrand.rb.
2975
suggested by NaHi. [ruby-dev:30934]
2977
Sat Jun 9 06:40:05 2007 Tanaka Akira <akr@fsij.org>
2979
* lib/secrand.rb: rename SecRand() to SecRand.random_number.
2980
suggested by NaHi. [ruby-dev:30934]
2982
Fri Jun 8 16:34:20 2007 Tanaka Akira <akr@fsij.org>
2984
* ext/zlib/zlib.c (gzfile_s_open): use FilePathValue to support
2987
Fri Jun 8 16:11:00 2007 Koichi Sasada <ko1@atdot.net>
2989
* eval_jump.h: th->errinfo should clear with nil.
2991
Fri Jun 8 14:53:28 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
2993
* parse.y (call_args): allow splat argument after unpacked
2994
assocs like 1.8 does.
2996
* parse.y (call_args): ditto.
2998
Fri Jun 8 14:26:18 2007 Tanaka Akira <akr@fsij.org>
3000
* lib/secrand.rb: new file for secure random interface.
3002
* lib/cgi/session.rb: use secrand for generating cookies.
3004
Fri Jun 8 12:44:37 2007 NAKAMURA Usaku <usa@ruby-lang.org>
3006
* {win32,wince}/Makefile.sub: add lex.c rule.
3008
Fri Jun 8 11:54:18 2007 Tanaka Akira <akr@fsij.org>
3010
* lex.c.blt: moved from lex.c.
3012
* Makefile.in: use lex.c.blt if gperf is not available.
3013
[ruby-list:8212], [ruby-list:8214], [ruby-list:24667],
3014
[ruby-talk:120857], [ruby-dev:28102]
3016
Thu Jun 7 21:38:39 2007 Koichi Sasada <ko1@atdot.net>
3018
* thread.c (rb_thread_execute_interrupts): invoke ensure when
3021
Thu Jun 7 19:02:48 2007 Tanaka Akira <akr@fsij.org>
3023
* lib/pp.rb: call original "method" method instead of redefined one.
3025
Thu Jun 7 17:20:57 2007 Koichi Sasada <ko1@atdot.net>
3027
* iseq.c (prepare_iseq_build): freeze filename and name string.
3029
* variable.c: freeze class name string.
3031
Thu Jun 7 12:48:33 2007 Koichi Sasada <ko1@atdot.net>
3033
* cont.c (cont_restore_1): fix to check root fiber [ruby-dev:30911].
3035
* test/ruby/test_fiber.rb: add a test.
3037
Thu Jun 07 07:24:36 2007 NARUSE, Yui <naruse@ruby-lang.org>
3039
* lib/json/common.rb: Ponder offering parse! method.
3041
* lib/json/editor.rb: be a bit more robust while loading data.
3043
* ext/json/ext/{generator,parser}/extconf.rb:
3044
add a have_header directive for st.h
3046
* test/json: fix some tests.
3048
Thu Jun 7 03:29:18 2007 Koichi Sasada <ko1@atdot.net>
3050
* test_fiber.rb: add a test (Continuation and Fiber).
3052
Thu Jun 7 03:17:24 2007 Koichi Sasada <ko1@atdot.net>
3054
* cont.c (cont_new): add debug message.
3056
* cont.c (cont_restore_1): copy stack information from fiber.
3058
* cont.c (rb_fiber_s_new): fix to mark created fiber.
3060
* test/ruby/test_fiber.rb: add some tests around Thread and Fiber.
3062
* yarvcore.c (thread_free): fix to skip freeing stack if root fiber
3065
Thu Jun 7 01:03:20 2007 Koichi Sasada <ko1@atdot.net>
3067
* eval_intern.h, eval.c (ruby_init): remove POP_TAG_INIT().
3069
* cont.c (rb_fiber_start): remove zero-clearing tag.
3071
Wed Jun 6 20:23:46 2007 Koichi Sasada <ko1@atdot.net>
3073
* insns.def (invokeblock): fix of splat argument.
3074
(splat same as normal method dispatch)
3076
Wed Jun 6 16:27:25 2007 NAKAMURA Usaku <usa@ruby-lang.org>
3078
* insns.def: fixed indentation.
1
3080
Wed Jun 6 10:58:23 2007 Koichi Sasada <ko1@atdot.net>
3
3082
* eval.c (rb_yield): fix to check Qundef.